Pixel reordering for improved texture mapping
First Claim
1. A system for reordering memory references for pixels to improve memory locality in a page-mode memory architecture, comprising:
- an available module for receiving pixel memory references from a client graphics engine; and
a pixel priority heap coupled to the available module for receiving pixel memory references from the available module, for reordering pixel memory references to improve memory locality, and for transmitting reordered pixel memory references to a memory controller;
wherein;
the pixel priority heap comprises a plurality of slots for storage of pixel memory references, each slot having a status selectable from an available status indicating that no reference is stored in the slot and an unavailable status indicating that a reference is stored in the slot; and
the available module further stores indices representing available slots in the pixel priority heap.
5 Assignments
0 Petitions
Accused Products
Abstract
A system and method for reordering memory references for pixels to improved bandwidth and performance in texture mapping systems and other graphics systems by improving memory locality in conventional page-mode memory systems. Pixel memory references are received from a client graphics engine and placed in a pixel priority heap. The pixel priority heap reorders the pixel memory references so that references requiring a currently open page are, in general, processed before references that require page breaks. Reordered pixel memory references are transmitted to a memory controller for accessing memory.
-
Citations
14 Claims
-
1. A system for reordering memory references for pixels to improve memory locality in a page-mode memory architecture, comprising:
-
an available module for receiving pixel memory references from a client graphics engine; and a pixel priority heap coupled to the available module for receiving pixel memory references from the available module, for reordering pixel memory references to improve memory locality, and for transmitting reordered pixel memory references to a memory controller; wherein; the pixel priority heap comprises a plurality of slots for storage of pixel memory references, each slot having a status selectable from an available status indicating that no reference is stored in the slot and an unavailable status indicating that a reference is stored in the slot; and the available module further stores indices representing available slots in the pixel priority heap. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for reordering memory references for pixels to improve memory locality in a page-mode memory architecture, comprising:
-
a heap module comprising a plurality of slots, each slot for storing a pixel memory reference and tags describing a storage location of the pixel memory reference, each slot further having a status selectable from an available status indicating that no reference is stored in the slot and an unavailable status indicating that a reference is stored in the slot; an available module coupled to the heap module for receiving pixel memory references from a client graphics engine, for storing indices representing available slots in the pixel priority heap and for transmitting pixel memory references to the heap module; a control module coupled to the heap module for tracking open memory pages; a modified priority encoder coupled to the heap module and to the control module, for selecting a pixel memory reference to be transmitted responsive to searching for memory references on open pages and banks to improve memory locality; a pixels module coupled to the modified priority encoder for pipelining pixel memory references; and a memory controller coupled to the pixels module for receiving pipelined reordered pixel memory references from the pixels module and for accessing memory in response to the pixel memory references.
-
-
11. A method of reordering memory references for pixels to improve memory locality in a page-mode memory architecture, comprising:
-
a) writing a pixel memory reference into an available slot of a pixel priority heap, the pixel priority heap comprising a plurality of slots for storage of pixel memory references, each slot having a status selectable from an available status indicating that no reference is stored in the slot and an unavailable status indicating that a reference is stored in the slot; and b) concurrently with a); b.1) selecting an unavailable slot of the pixel priority heap containing a pixel memory reference; and b.2) transmitting the pixel memory reference contained in the selected unavailable slot to a memory controller. - View Dependent Claims (12, 13, 14)
-
Specification