Techniques for thread-based memory access by a multithreaded processor
are disclosed. The multithreaded processor determines a thread identifier associated
with a particular processor thread, and utilizes at least a portion of the thread
identifier to select a particular portion of an associated memory to be accessed
by the corresponding processor thread. In an illustrative embodiment, a first portion
of the thread identifier is utilized to select one of a plurality of multiple-bank
memory elements within the memory, and a second portion of the thread identifier
is utilized to select one of a plurality of memory banks within the selected one
of the multiple-bank memory elements. The first portion may comprise one or more
most significant bits of the thread identifier, while the second portion comprises
one or more least significant bits of the thread identifier. Advantageously, the
invention reduces memory access times and power consumption, while preventing the
stalling of any processor threads.