Game system with graphics processor
First Claim
1. A primary processor for a computer system, said primary processor comprising:
- a) a main bus;
b) a first processor unit connected to said main bus, said first processor unit having i) a central processor unit;
ii) a first vector processor unit for performing first matrix calculations, said first vector processor unit connected to said central processor unit to enable said first vector processor unit to operate as a coprocessor for said central processor unit;
c) a second vector processor unit for performing second matrix calculations, said second vector processor unit connected to said main bus;
d) a graphics processor interface for arbitrating whether to transmit from said primary processor calculation results from said first processor unit or from said second vector processor unit, said graphics processor interface connected to said main bus and directly to said second vector processor unit.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to the architecture and use of a computer system optimized for the efficient modeling of graphics. The computer system has a primary processor and a graphics processor. The primary processor has two vector processor units within it, one which is closely connected to central processor unit. Simultaneously performing complex modeling calculations on the first vector processor and CPU, and geometry transformation calculations on the second vector processor, allows for efficient modeling of graphics. Furthermore, the graphics processor is optimized to rapidly switch between data flow from the two vector processors. In addition, the graphics processor is able to render many pixels simultaneously, and has a local memory on the graphics processor chip that acts as a frame buffer, texture buffer, and z buffer. This allows a high fill rate to the frame buffer.
-
Citations
44 Claims
-
1. A primary processor for a computer system, said primary processor comprising:
-
a) a main bus;
b) a first processor unit connected to said main bus, said first processor unit having i) a central processor unit;
ii) a first vector processor unit for performing first matrix calculations, said first vector processor unit connected to said central processor unit to enable said first vector processor unit to operate as a coprocessor for said central processor unit;
c) a second vector processor unit for performing second matrix calculations, said second vector processor unit connected to said main bus;
d) a graphics processor interface for arbitrating whether to transmit from said primary processor calculation results from said first processor unit or from said second vector processor unit, said graphics processor interface connected to said main bus and directly to said second vector processor unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
a) a primary processor as in claim 1;
b) a graphics processor, implemented as an integrated circuit on a single substrate, for rendering three dimensional objects, said graphics processor, comprising i) a graphics rendering engine;
ii) a local memory;
iii) a mode register for storing first data indicating when said graphics rendering engine is in a first mode corresponding to the receipt by said graphics rendering engine of data calculated by said first vector processor unit and said central processor unit, and for storing second data indicating when said graphics rendering engine is in a second mode corresponding to the receipt by said graphics rendering engine of data calculated by said second vector processor unit;
iv) a plurality of pairs of environmental registers, each of said pairs of environmental registers comprising a first register and a second register, each of said first registers storing data for determining how said graphics rendering engine processes data when said mode register stores said first data indicating said first mode, and each of said second registers storing data for determining how said graphics rendering engine processes data when said mode register stores said second data indicating said second mode; and
c) a graphics transfer bus connecting said graphics processor and said primary processor.
-
-
15. A primary processor for a computer system, said primary processor comprising:
-
a) a main bus;
b) a coprocessor bus;
c) an interface bus;
d) a central processor unit connected to said main bus and to said coprocessor bus;
e) a first vector processor unit for performing first matrix calculations, said first vector processor being connected to said main bus and directly to said central processing unit through said coprocessor bus to enable said first vector processor unit to operate as a coprocessor for said central processor unit;
f) a second vector processor unit for performing second matrix calculations, said second vector processor unit connected to said main bus and said interface bus;
g) a graphics processor interface for arbitrating whether to transmit from said primary processor calculation results from said first vector processor unit and said central processor unit, or from said second vector processor unit, said graphics processor interface connected to said main bus and directly to said second vector processor unit through said interface bus. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
a) a primary processor as in claim 15;
b) a graphics processor for rendering three dimensional objects; and
c) a graphics transfer bus connecting said graphics processor and said primary processor.
-
-
29. The computer system of claim 28, wherein said graphics processor is implemented as an integrated circuit on a single substrate, and includes:
-
a) a graphics rendering engine, comprising;
i) a mode register for storing first data indicating when said graphics rendering engine is in a first mode corresponding to the receipt by said graphics rendering engine of data calculated by said first vector processor unit and said central processor unit, and for storing second data indicating when said graphics rendering engine is in a second mode corresponding to the receipt by said graphics rendering engine of data calculated by said second vector processor unit;
ii) a plurality of pairs of environmental registers, each of said pairs of environmental registers comprising a first register and a second register, each of said first registers storing data for determining how said graphics rendering engine processes data when said mode register indicates said first mode, and each of said second registers storing data for determining how said graphics rendering engine processes data when said mode register indicates said second mode; and
b) a local memory.
-
-
30. A graphics processor implemented as an integrated circuit on a single substrate, said graphics processor comprising:
-
a) a graphics rendering engine, said graphics rendering engine comprising;
i) a mode register for storing first data indicating when said graphics rendering engine is in a first mode corresponding to the receipt by said graphics rendering engine of data calculated by a first vector processor unit and a central processor unit, and for storing second data indicating when said graphics rendering engine is in a second mode corresponding to the receipt by said graphics rendering engine of data calculated by a second vector processor unit;
ii) a plurality of pairs of environmental registers, each of said pairs of environmental registers comprising a first register and a second register, each of said first registers storing data for determining how said graphics rendering engine processes data when said mode register stores said first data indicating said first mode, and each of said second registers storing data for determining how said graphics rendering engine processes data when said mode register stores said second data indicating said second mode; and
b) a local memory. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A method of performing graphics calculations comprising the steps of:
-
a) performing first calculations in a first data stream using a first processor, wherein said first calculations comprise calculations for complex modeling of objects for graphical display;
b) simultaneously performing second calculations in a second data stream using a second processor, wherein said second data stream is parallel to said first data stream and said second calculations comprise calculations for simple geometrical transformations of objects for graphical display. - View Dependent Claims (40)
-
-
41. A method of programming a graphics program comprising the steps of:
-
a) designating first calculations to be processed by a first processor, wherein said first calculations comprise calculations for complex modeling of objects for graphical display;
b) designating second calculations to be calculated by a second processor, wherein said second calculations comprise calculations for simple geometrical transformations of objects for graphical display; and
c) processing said first calculations and said second calculations simultaneously; and
d) arbitrating whether said first calculations or said second calculations are transmitted to a graphics processor at any given time.
-
-
42. A system for performing graphics calculations comprising:
-
a) a first processor for performing first calculations and transmitting said first calculations in a first data stream, said first calculations comprising calculations for complex modeling of objects for graphical display;
b) a second processor for performing second calculations and transmitting said second calculations in a second data stream, said second data stream being parallel to said first data stream and said second calculations comprising calculations for simple geometrical transformation of objects for graphical display. - View Dependent Claims (43)
-
-
44. A system for performing graphics calculations comprising:
-
a) a first processor for performing first graphics calculations and transmitting said first graphics calculations in a first data stream;
b) a second processor for performing second graphics calculations and transmitting said second graphics calculations in a second data stream;
c) an interface circuit for receiving said first data stream and said second data stream and for determining whether said first data stream or said second data stream is transmitted to a third processor for rendering;
wherein said first graphics calculations comprise calculations for complex modeling of objects for graphical display and said second graphics calculations comprise calculations for sample geometrical transformations of objects for graphical display.
-
Specification