Integrated graphics subsystem with message-passing architecture
First Claim
Patent Images
1. A graphics processing subsystem, comprising:
- at least four functionally distinct processing units, each including hardware elements which are customized to perform a rendering operation which is not performed by at least some others of said processing units;
at least some ones of said processing units being connected to operate asynchronously to one another;
a frame buffer, connected to be accessed by at least one of said processing units;
said processing units being mutually interconnected in a pipeline relationship, such that said processing units jointly provide a pipelined multiple-instruction-multiple-device (MIMD) graphics processing architecture;
wherein individual ones of said processing units receive messages and, in accordance with the content of each said respective message, programmably perform a respective graphics processing operation, and selectably transmit said respective message to a succeeding one of said processing units; and
wherein said processing units include a memory access unit which reads and writes a local buffer memory.
4 Assignments
0 Petitions
Accused Products
Abstract
A graphics processing chip which uses a deep pipeline of multiple asynchronous units to achieve a high net throughput in 3D rendering. Preferably reads and writes to a local buffer are provided by separate stages of the pipeline. Preferably some of the individual units include parallel paths internally. Preferably some of the individual units are connected to look ahead by more than one stage, to keep the pipeline filled while minimizing the use of expensive deep FIFOs.
135 Citations
19 Claims
-
1. A graphics processing subsystem, comprising:
-
at least four functionally distinct processing units, each including hardware elements which are customized to perform a rendering operation which is not performed by at least some others of said processing units;
at least some ones of said processing units being connected to operate asynchronously to one another;a frame buffer, connected to be accessed by at least one of said processing units; said processing units being mutually interconnected in a pipeline relationship, such that said processing units jointly provide a pipelined multiple-instruction-multiple-device (MIMD) graphics processing architecture; wherein individual ones of said processing units receive messages and, in accordance with the content of each said respective message, programmably perform a respective graphics processing operation, and selectably transmit said respective message to a succeeding one of said processing units; and wherein said processing units include a memory access unit which reads and writes a local buffer memory. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A graphics processing subsystem, comprising:
-
an input buffer; a rasterizer, connected to read messages from said input buffer and to generate a sequence of pixel locations accordingly; one or more differential data analyzers, operatively connected to receive messages from said rasterizer, and connected to provide a sequence of incrementally changing parameter values for sequences of pixel locations defined by messages received from said rasterizer; a plurality of additional processing units, operatively connected in series in a pipeline relationship, and jointly operatively connected to receive messages from said differential data analyzers; plural ones of said additional processing units each having customized hardware which is different from one another and from said color differential data analyzers; said processing units being mutually interconnected in a pipeline relationship, such that individual ones of said processing units receive messages and, in accordance with the content of each said respective message, programmably perform a respective graphics processing operation, and selectably transmit said respective message to a succeeding one of said processing units; whereby said plural processing units jointly provide a pipelined multiple-instruction-multiple-device (MIMD) graphics processing architecture. - View Dependent Claims (7)
-
- 9. The graphics processing subsystem of claim 9, wherein said processing units include a texturing unit.
-
10. A graphics processing subsystem, comprising:
-
an input buffer; a rasterizer, connected to read messages from said input buffer and to generate a sequence of pixel locations accordingly; one or more differential data analyzers, operatively connected to receive messages from said rasterizer, and connected to provide a sequence of incrementally changing parameter values for sequences of pixel locations defined by messages received from said rasterizer; a plurality of additional processing units, operatively connected in series in a pipeline relationship, and jointly operatively connected to receive messages from said differential data analyzers;
plural ones of said additional processing units each having customized hardware which is different from one another and from said color differential data analyzers;said processing units being mutually interconnected in a pipeline relationship, such that individual ones of said processing units receive messages and, in accordance with the content of each said respective message, programmably perform a respective graphics processing operation, and selectably transmit said respective message to a succeeding one of said processing units; whereby said plural processing units jointly provide a pipelined multiple-instruction-multiple-device (MIMD) graphics processing architecture; and wherein said processing units include a memory access unit which reads and writes a local buffer memory. - View Dependent Claims (11, 12, 13)
-
-
14. A graphics processing integrated circuit, comprising:
-
at least four functionally distinct processing units, each including hardware elements which are customized to perform a rendering operation which is not performed by at least some others of said processing units; at least one of said processing units providing a frame buffer interface; said processing units being mutually interconnected in a pipeline relationship, such that said processing units jointly provide a pipelined multiple-instruction-multiple-device (MIMD) graphics processing architecture; said processing units, but not said frame buffer, all being integrated together on a single integrated circuit; wherein individual ones of said processing units receive messages and, in accordance with the content of each said respective message, programmably perform a respective graphics processing operation, and selectably transmit said respective message to a succeeding one of said processing units; and wherein said processing units include a memory access unit which provides a read/writes interface to a local buffer memory which is not part of said integrated circuit. - View Dependent Claims (15)
-
-
16. A computer graphics system comprising:
-
a rendering subsystem which includes;
first, second, third, and fourth functionally distinct processing units, all connected to operate asynchronously to one another, and each including hardware elements which are customized to perform a rendering operation which is not performed by others of said processing units;
said processing units of said rendering subsystem being mutually interconnected in a pipeline relationship, such that said processing units jointly provide a pipelinedmultiple-instruction-multiple-device (MIMD) graphics processing architecture;a frame buffer, connected to be accessed by at least one of said processing units of said rendering system, and accessible to provide video output; and at least one upstream processor, connected to send data for rendering to said rendering subsystem; wherein individual ones of said processing units receive messages and, in accordance with the content of each said respective message, programmably perform a respective graphics processing operation, and selectably transmit said respective message to a succeeding one of said processing units; and wherein said processing units include a memory access unit which reads and writes a local buffer memory. - View Dependent Claims (17, 18)
-
-
19. A method for rendering 3D graphics, comprising the steps of:
-
providing data to be rendered to a multiprocessor rendering system which includes at least four functionally distinct processing units connected in a pipeline relationship; allocating individual rendering operations to respective ones of said processing units, and performing said rendering operations; writing data generated by said processing units into a frame buffer, and outputting data from said frame buffer at video rates; wherein individual ones of said processing units receive messages and, in accordance with the content of each said respective message, programmably perform a respective graphics processing operation, and selectably transmit said respective message to a succeeding one of said processing units.
-
Specification