SDRAM controller for parallel processor architecture
First Claim
Patent Images
1. A controller for a random access memory comprises:
- an address and command queue that holds memory references from a plurality of microcontrol functional units;
a first read/write queue that holds memory references from a computer bus;
a second read/write queue that holds memory references from a core processor; and
control logic including an arbiter that detects the fullness of each of the queues and a status of outstanding memory reference to select a memory reference from one of the queues, wherein the control logic is responsive to an optimized memory bit and a chaining bit, and wherein assertion of the chaining bit will control the arbiter when the optimized memory bit is also set to maintain the memory references from a current queue.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
262 Citations
21 Claims
-
1. A controller for a random access memory comprises:
-
an address and command queue that holds memory references from a plurality of microcontrol functional units; a first read/write queue that holds memory references from a computer bus; a second read/write queue that holds memory references from a core processor; and control logic including an arbiter that detects the fullness of each of the queues and a status of outstanding memory reference to select a memory reference from one of the queues, wherein the control logic is responsive to an optimized memory bit and a chaining bit, and wherein assertion of the chaining bit will control the arbiter when the optimized memory bit is also set to maintain the memory references from a current queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A controller for a random access memory comprises:
-
an address and command queue that holds memory references from a plurality of microcontrol functional units; a first read/write queue that holds memory references from a computer bus; a second read/write queue that holds memory references from a core processor; and
control logic including an arbiter that detects the fullness of each of the queues and a status of outstanding memory reference to select a memory reference from one of the queues, wherein the address and command queue comprises;an even bank queue; an odd bank queue; an order queue; wherein a microengine sorts memory references into odd bank and even bank references; and wherein controller examines an optimized memory reference bit and if set, causes incoming reference requests to be sorted into either the even bank queue or the odd bank queue. - View Dependent Claims (19)
-
-
20. A controller for a random access memory comprises:
-
an address and command queue that holds memory references from a plurality of microcontrol functional units; a first read/write queue that holds memory references from a computer bus; a second read/write queue that holds memory references from a core processor; and
control logic including an arbiter that detects the fullness of each of the queues and a status of outstanding memory reference to select a memory reference from one of the queues, wherein the address and command queue is implemented in a single memory structure and comprises;an order queue for storing memory references; an even bank queue for storing memory references; an odd bank queue for storing memory references; a high priority queue for storing memory references; and with the memory structure being segmented into four different queue regions, each region having its own head and tail pointer. - View Dependent Claims (21)
-
Specification