Efficient graphics pipeline with a pixel cache and data pre-fetching
First Claim
1. A method for processing graphics data in a graphics pipeline of a computer system, said graphics data comprising color data, stencil z-buffer data, and texture data, said graphics pipeline comprising a color pipeline for processing the color data, the stencil z-buffer pipeline for processing the stencil z-buffer data, and the texture pipeline for processing the texture data, said method comprising the steps of:
- a) storing said graphics data within a memory sub-system of said computer system, said memory sub-system having an inherent memory latency;
b) traversing graphics primitives of said graphics data to generate pixel coordinates for pixels corresponding to said graphics primitives;
c) generating cache addresses for said pixels based on said pixel coordinates;
d) pre-fetching said graphics data such that said graphics data is retrieved from said memory sub-system before said graphics data is needed; and
e) storing said graphics data at said cache addresses within a color cache coupled to the color pipeline and dedicated for use by the color pipeline, a stencil z-buffer cache coupled to the stencil z-buffer pipeline and dedicated for use by the stencil z-buffer pipeline, and a texture cache coupled to the texture pipeline and dedicated for use by the texture pipeline such that said graphics data is immediately available when needed despite said inherent memory latency of said memory sub-system.
1 Assignment
0 Petitions
Accused Products
Abstract
An efficient graphics pipeline with a pixel cache and data pre-fetching. By combining the use of a pixel cache in the graphics pipeline and the pre-fetching of data into the pixel cache, the graphics pipeline of the present invention is able to take best advantage of the high bandwidth of the memory system while effectively masking the latency of the memory system. More particularly, advantageous reuse of pixel data is enabled by caching, which when combined with pre-fetching masks the memory latency and delivers high throughput. As such, the present invention provides a novel and superior graphics pipeline over the prior art in terms of more efficient data access and much greater throughput. In one embodiment, the present invention is practiced within a computer system having a processor for issuing commands; a memory sub-system for storing information including graphics data; and a graphics sub-system for processing the graphics data according to the commands from the processor. The graphics sub-system comprises a rasterizer for traversing graphics primitives of the graphics data to generate pixel coordinates for pixels corresponding to the graphics primitives; a graphics pipeline for processing the graphics data of the pixels; and a pixel cache for caching the pixel data. In this embodiment, he graphics sub-system masks the inherent latency of the memory sub-system by pre-fetching the graphics data and storing the graphics data within the pixel cache.
123 Citations
22 Claims
-
1. A method for processing graphics data in a graphics pipeline of a computer system, said graphics data comprising color data, stencil z-buffer data, and texture data, said graphics pipeline comprising a color pipeline for processing the color data, the stencil z-buffer pipeline for processing the stencil z-buffer data, and the texture pipeline for processing the texture data, said method comprising the steps of:
-
a) storing said graphics data within a memory sub-system of said computer system, said memory sub-system having an inherent memory latency; b) traversing graphics primitives of said graphics data to generate pixel coordinates for pixels corresponding to said graphics primitives; c) generating cache addresses for said pixels based on said pixel coordinates; d) pre-fetching said graphics data such that said graphics data is retrieved from said memory sub-system before said graphics data is needed; and e) storing said graphics data at said cache addresses within a color cache coupled to the color pipeline and dedicated for use by the color pipeline, a stencil z-buffer cache coupled to the stencil z-buffer pipeline and dedicated for use by the stencil z-buffer pipeline, and a texture cache coupled to the texture pipeline and dedicated for use by the texture pipeline such that said graphics data is immediately available when needed despite said inherent memory latency of said memory sub-system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for processing graphics data comprising color data, stencil z-buffer data, and texture data, the system comprising:
-
a graphics pipeline comprising a color pipeline for processing the color data, a stencil z-buffer pipeline for processing the stencil z-buffer data, and a texture pipeline for processing the texture data; a memory sub-system in communication with the graphics pipeline for storing graphics data, the communication between the memory sub-system and the graphics pipeline having an inherent memory latency; a set of caches comprising a color cache coupled to the color pipeline and dedicated for use by the color pipeline, a stencil z-buffer cache coupled to the stencil z-buffer pipeline and dedicated for use by the stencil z-buffer pipeline, and a texture cache coupled to the texture pipeline and dedicated for use by the texture pipeline; wherein the system pre-fetches the graphics data from the memory sub-system to said caches such that the graphics data is retrieved from said memory sub-system and stored in said caches before the graphics data is desired by the graphics pipeline such that the graphics data is immediately available to the graphics pipeline despite the inherent memory latency of the memory sub-system and wherein cache addresses for said caches are generated based on pixel coordinates. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification