Claims
- 1. A method for updating and invalidating store data, comprising:
writing a first data line in a cache, wherein the cache comprises:
a data section, a cache tag section, and a first translation lookaside buffer (TLB); generating a physical TLB hit vector corresponding to the first data line; and storing the TLB hit vector in the cache tag section.
- 2. The method of claim 1, further comprising:
comparing the TLB hit vector to a prevalidated cache tag, the prevalidated cache tag comprising TLB hit information; if the TLB hit vector and the prevalidated cache tag match, declaring a cache hit; and if the TLB hit vector and the prevalidated cache tag do not match, declaring a cache miss.
- 3. The method of claim 2, further comprising
restricting TLB operations of the first TLB to operations having a low latency requirement; and providing a second TLB, larger than the first TLB, wherein the second TLB comprises entries for operations having a high latency.
- 4. The method of claim 3, further comprising:
setting a store valid bit in a tag associated with the second TLB when the first data line is written in the cache; and clearing the store valid bit based on an invalidation operation, wherein an invalidation comprises one or more of a system bus request whereby an address compare shows a data line having a same physical address as the first data line, a cache flush operation, read-modify-write operations, and hardware failure recovery operations.
- 5. A pre-validated cache tag system in a set associative cache for reducing latency of computer operations, comprising:
a first translation lookaside buffer (TLB), comprising:
a physical content addressable memory (CAM) that stores physical tags, and a virtual CAM that stores virtual tags, wherein when a virtual tag is stored in the virtual CAM, a corresponding physical tag is stored in the physical CAM, and wherein the virtual CAM generates a virtual TLB hit vector; a pre-validated cache tag section, wherein the pre-validated cache tag section stores a physical TLB hit vector, and wherein the physical CAM generates the physical TLB hit vector; and a comparator that compares the virtual TLB hit vector and the physical TLB hit vector, wherein if the comparison indicates a match, a TLB hit occurs, and wherein if the comparison does not indicate a match, a TLB miss occurs.
- 6. The pre-validated cache tag system of claim 5, further comprising a second TLB in parallel with the first TLB, wherein the first TLB handles integer load operations and the second TLB handles one or more of store operations, invalidation operations and floating point load operations.
- 7. A system for reducing latency of computer operations, comprising:
a first processing pipeline comprising a pre-validated translation lookaside buffer (TLB), the pre-validated TLB comprising a virtual address (VA) content addressable memory (CAM), wherein the VA CAM receives virtual address information for integer load operations; and a second processing pipeline, independent of the first processing pipeline, the second processing pipeline comprising:
a cache tag array that holds physical addresses of cache lines, a master TLB that receives virtual address information for store operations and generates a physical address, a bypass around the master TLB, wherein if the store address is a physical address, the physical address bypasses the second TLB, and a comparator that compares a physical address from one of the bypass and the master TLB to a physical address from the cache tag array, wherein if the physical addresses match, a cache way hit is generated.
CROSS REFERENCE TO RELATED APPLICATION(S)
[0001] This is a divisional of copending application Ser. No. 09/466,306 filed on Dec. 17, 1999, entitled “UPDATING AND INVALIDATING STORE DATA AND REMOVING STALE CACHE LINES IN A PREVALIDATED TAG CACHE DESIGN,” which is hereby incorporated by reference herein.
Divisions (1)
|
Number |
Date |
Country |
Parent |
09466306 |
Dec 1999 |
US |
Child |
10230188 |
Aug 2002 |
US |