A parallel hardware-based multithreaded processor is described. The
processor includes a general purpose processor that coordinates system
functions and a plurality of microengines that support multiple hardware
threads. The processor-also includes a memory control system that has a
first memory controller that sorts memory references based on whether the
memory references are directed to an even bank or an odd bank of memory
and a second memory controller that optimizes memory references based
upon whether the memory references are read references or write
references.