Cache memory for high latency and out-of-order return of texture data
First Claim
1. A computer system with a distributed texture memory architecture comprising:
- a host processor for issuing commands;
a transmission network within said computer system that transmits packetized data over a plurality of paths;
a geometry subsystem coupled to said transmission network that performs geometry calculations corresponding to three-dimensional graphics according to commands from said host processor;
a rasterization subsystem coupled said transmission network that renders pixels based on geometry data generated by said geometry subsystem;
a plurality of memory chips coupled to said rasterization unit that store distributed texture data of a single texture map;
a texture cache subsystem coupled to said rasterization subsystem that caches said distributed texture data; and
a display subsystem coupled to said network for displaying textured three dimensional graphics onto a display.
3 Assignments
0 Petitions
Accused Products
Abstract
A cache memory for high latency and out-of-order return of texture data. The present invention includes a texture cache memory that prefetches texture data before it is needed. Further, the texture cache memory counts the number of times a cache line is requested and a number of times the cache line is read, and determines whether the cache line is free by keeping track of the different between the two numbers. The texture cache memory of the present invention is capable of working efficiently in computer systems where there is a long latency from the time the texture data is requested and the time the texture data is available for use. In addition, the present invention is capable of handling texture data which enters into the texture cache memory in a different order from which it was requested. The present invention significantly improves performance of the texture data retrieval subsystem within network based or memory hierarchy based computer systems.
-
Citations
21 Claims
-
1. A computer system with a distributed texture memory architecture comprising:
-
a host processor for issuing commands;
a transmission network within said computer system that transmits packetized data over a plurality of paths;
a geometry subsystem coupled to said transmission network that performs geometry calculations corresponding to three-dimensional graphics according to commands from said host processor;
a rasterization subsystem coupled said transmission network that renders pixels based on geometry data generated by said geometry subsystem;
a plurality of memory chips coupled to said rasterization unit that store distributed texture data of a single texture map;
a texture cache subsystem coupled to said rasterization subsystem that caches said distributed texture data; and
a display subsystem coupled to said network for displaying textured three dimensional graphics onto a display. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A graphics subsystem for a computer system having a distributed text memory architecture, said graphics subsystem comprising:
-
a) a texture request generator that generates texture requests and maps said texture requests to a plurality of cache addresses, wherein said texture requests are sent to distributed texture memories of said computer system according to a first ordering;
b) an address queue for receiving and storing said plurality of cache addresses according to said first ordering;
c) a cache memory for receiving texture responses from said distributed texture memories, wherein said texture responses enter said cache memory according to a second ordering; and
d) a texture filter for performing texture filtering by retrieving said texture responses from said cache memory in an order corresponding to said first ordering and independent of said second ordering. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. In a computer system, a method of rendering pixels with texture data stored in distributed texture memories, said method comprising the steps of:
-
a) receiving a plurality texture memory addresses, said plurality of texture memory addresses corresponding to a plurality of cache address of a texture cache memory;
b) sending a plurality of texture requests to said distributed texture memories according to a first ordering;
c) receiving texture responses from said distributed texture memories and storing said texture responses within said texture cache memory, wherein said texture responses enter said texture cache memory according to a second ordering; and
d) retrieving said texture responses from said texture cache memory according to said first ordering and independent of said second ordering. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification