IP Library Granted Patent US 6,924,811
Granted Patent B1
US 6,924,811 · App. 09/712,632 · Granted Aug 2, 2005

Circuit and method for addressing a texture cache

Assignee: NVIDIA Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,924,811
App. No.
09/712,632
Granted
Aug 2, 2005
Kind
B1
Abstract

A method of storing a texel in a texel cache comprising reading a t coordinate of the texel, the t coordinate comprising a plurality of bits, reading a s coordinate of the texel, the s coordinate comprising a plurality of bits, forming an offset by concatenating bits of the t coordinate with bits of the s coordinate and forming an index by concatenating bits of the t coordinate with bits of the s coordinate is discussed.

Claims (59)

1. A method of storing a texel in a texel cache comprising:

reading a t coordinate of the texel, the t coordinate comprising a plurality of bits;

reading a s coordinate of the texel, the s coordinate comprising a plurality of bits; and

forming an offset by concatenating bits of the t coordinate with bits of the s coordinate,

wherein the texel is associated with a texture having a texture identification comprising a plurality of bits, further comprising forming an index signal by concatenating middle order bits of the s coordinate, middle order bits of the t coordinate, and at least one bit of the texture identification.

2. The method of claim 1 wherein the forming an offset by concatenating bits of the t coordinate with bits of the s coordinate is done by concatenating lower order bits of the t coordinate with lower order bits of the s coordinate.

3. The method of claim 2 further comprising storing the texel in a texel cache comprising a plurality of cache lines, wherein each cache line comprises a plurality of storage elements.

4. The method of claim 3 further comprising storing the texel in a storage element identified by the offset, the storage element in a cache line, the cache line identified by the index.

5. The method of claim 4 further comprising retrieving the texel from a main memory, wherein the texel has an address in main memory.

6. The method of claim 5 further comprising forming a tag by concatenating high order bits of the s coordinate with high order bits of the t coordinate and the address in main memory, and storing the tag in a look-up table.

7. A method of storing a texel in a texel cache comprising:

reading a t coordinate of the texel, the t coordinate comprising a plurality of bits;

reading a s coordinate of the texel, the s coordinate comprising a plurality of bits; and

forming an offset by concatenating bits of the t coordinate with bits of the s coordinate,

wherein the texel is associated with a texture having an r coordinate comprising at least one bit, further comprising forming an index signal by concatenating middle order bits of the s coordinate, middle order bits of the t coordinate, and at least one bit of the r coordinate.

8. The method of claim 7 wherein the forming an offset by concatenating bits of the t coordinate with bits of the s coordinate is done by concatenating lower order bits of the t coordinate with lower order bits of the s coordinate.

9. The method of claim 8 further comprising storing the texel in a texel cache comprising a plurality of cache lines, wherein each cache line comprises a plurality of storage elements.

10. The method of claim 9 further comprising storing the texel in a storage element identified by the offset, the storage element in a cache line, the cache line identified by the index.

11. The method of claim 10 further comprising retrieving the texel from a main memory, wherein the texel has an address in main memory.

12. The method of claim 11 further comprising forming a tag by concatenating high order bits of the s coordinate with high order bits of the t coordinate and the address in main memory, and storing the tag in a look-up table.

13. A method of storing a texel in a texel cache comprising:

reading a t coordinate of the texel, the t coordinate comprising a plurality of bits;

reading a s coordinate of the texel, the s coordinate comprising a plurality of bits; and

forming an offset by concatenating bits of the t coordinate with bits of the s coordinate,

wherein the texel has a main memory address comprising a plurality of bits, further comprising forming an index signal by concatenating middle order bits of the s coordinate, middle order bits of the t coordinate, and at least one bit of the main memory address.

14. The method of claim 13 wherein the forming an offset by concatenating bits of the t coordinate with bits of the s coordinate is done by concatenating lower order bits of the t coordinate with lower order bits of the s coordinate.

15. The method of claim 14 further comprising storing the texel in a texel cache comprising a plurality of cache lines, wherein each cache line comprises a plurality of storage elements.

16. The method of claim 15 further comprising storing the texel in a storage element identified by the offset, the storage element in a cache line, the cache line identified by the index.

17. The method of claim 16 further comprising retrieving the texel from a main memory, wherein the texel has an address in main memory.

18. The method of claim 17 further comprising forming a tag by concatenating high order bits of the s coordinate with high order bits of the t coordinate and the address in main memory, and storing the tag in a look-up table.

19. An integrated circuit comprising:

a texture cache subsystem for storing a texel;

a cache address generator subsystem configured to provide an index and offset to the texture cache subsystem; and

a graphics pipeline subsystem configured to provide an s coordinate, a t coordinate, and a memory address to the cache address generator subsystem, and further configured to receive the texel from the texture cache subsystem,

wherein the index comprises bits of the s and t coordinates and at a least one bit selected from the group consisting of a texture id, a memory address, and an r coordinate.

20. The integrated circuit of claim 19 wherein the texture cache subsystem further comprises a texture cache for storing the texel, the texture cache arranged in cache lines, each cache line comprising a storage element.

21. The integrated circuit of claim 20 wherein the texel is stored in the texture cache in a storage element identified by the offset, the storage element in a cache line, the cache line identified by the index.

22. The integrated circuit of claim 21 further comprising a memory controller coupled to the texture cache subsystem, the memory controller configured to receive and provide texels from and to an external memory.

23. A graphics processor comprising:

a texture cache manager, coupled to receive texel addresses and provide packets of data and fetch requests;

a memory controller coupled to receive the fetch requests from the texture cache manager and provide cache line updates;

a FIFO coupled to receive the packets of the data from the texture cache manager, where the FIFO stores the packets of data for a plurality of clock cycles; and

a texture cache controller coupled to receive the cache line updates from the memory controller and packets of data from the FIFO,

wherein the packets of data each comprise an offset of a first texel, an index of a first texel, and information required to generate an offset and an index of a second texel; and

wherein the index of the first texel is formed by concatenating middle order bits of an s coordinate of the first texel, middle order bits of a t coordinate of the first texel, and at least one bit of a texture identification associated with the first texel.

24. A graphics processor comprising:

a texture cache manager, coupled to receive texel addresses and provide packets of data and fetch requests;

a memory controller coupled to receive the fetch requests from the texture cache manager and provide cache line updates;

a FIFO coupled to receive the packets of data from the texture cache manager, where the FIFO stores the packets of data for a plurality of clock cycles; and

a texture cache controller coupled to receive the cache line updates from the memory controller and packets of data from the FIFO,

wherein the packets of data each comprise an offset of a first texel, an index of a first texel, and information required to generate an offset and an index of a second texel; and

wherein the index of the first texel is formed by concatenating middle order bits of an s coordinate of the first texel, middle order bits of a t coordinate of the first texel, and at least one bit of an r coordinate associated with the first texel.

25. A graphics processor comprising:

a texture cache manager, coupled to receive texel addresses and provide packets of data and fetch requests;

a memory controller coupled to receive the fetch requests from the texture cache manager and provide cache line updates;

a FIFO coupled to receive the packets of data from the texture cache manager, where the FIFO stores the packets of data for a plurality of clock cycles; and

a texture cache controller coupled to receive the cache line updates from the memory controller and packets of data from the FIFO,

wherein the packets of data each comprise an offset of a first texel, an index of a first texel, and information required to generate an offset and an index of a second texel; and

wherein the index of the first texel is formed by concatenating middle order bits of an s coordinate of the first texel, middle order bits of a t coordinate of the first texel, and at least one bit of a main memory address associated with the first texel.

Assignments (3)
MERGER Recorded Jan 30, 2013
From: NVIDIA US INVESTMENT COMPANY
To: NVIDIA CORPORATION
Reel/Frame 029720/0833 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2001
From: 3DFX INTERACTIVE, INC., A CALIFORNIA CORP.
To: NVIDIA U.S. INVESTMENT COMPANY, A CORPORATION OF DELAWARE
Reel/Frame 011800/0659 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2000
From: MINKIN, ALEXANDER L.
To: 3DFX INTERACTIVE, INC.
Reel/Frame 011307/0819 →