Claims
- 1. A method of accessing cache, said method comprising the steps of:
inputting a memory access request into a cache structure; and starting an access of said cache structure's data for said memory access request without first determining whether a memory address required to satisfy said memory access request is truly present in said cache structure.
- 2. The method of claim 1 wherein said cache structure is a level of a multi-level cache.
- 3. The method of claim 2 further comprising the steps of:
starting an access of data for multiple levels of said multi-level cache in parallel without having first determined whether a memory address required to satisfy said memory access request is truly present in any of said multiple levels of said multi-level cache.
- 4. The method of claim 1 wherein said memory access request is a data read request.
- 5. The method of claim 1 wherein said determining whether a memory address required to satisfy said memory access request is truly present in said cache structure comprises the steps of:
determining whether a tag match is achieved for said cache structure's tags; and if determined that a tag match is achieved for said cache structure's tags, then determining whether a MESI protocol indicates that said tag match is a valid tag match, wherein only if said tag match is a valid tag match is it determined that said memory address required to satisfy said memory access request is truly present in said cache structure.
- 6. The method of claim 1 further comprising the step of:
determining whether the memory address required to satisfy said memory access request is truly present in said cache structure.
- 7. The method of claim 6 further comprising the step of:
determining whether the memory address required to satisfy said memory access request is truly present in said cache structure in parallel with said starting an access of said cache structure's data.
- 8. The method of claim 1 wherein said cache structure is partitioned into multiple ways.
- 9. The method of claim 1 further comprising the steps of:
first receiving a virtual address for said memory access request in a TLB, wherein said TLB begins translation of said received virtual address to a physical address and wherein at least one bit of said virtual address is the same for said physical address; then in parallel with said TLB translating said received virtual address to a physical address, beginning an access of said cache structure's tags using at least one of said at least one bit of said virtual address that is the same for said physical address; once a physical address is output by said TLB, beginning a decode of at least part of said physical address to access said cache structure's data array(s); in parallel with said decode, using at least a portion of said physical address to select a way tag match for said cache structure; and in parallel with said decode, using MESI protocol to verify that a true tag hit is achieved for said cache structure.
- 10. A computer system comprising:
at least one processor that executes instructions; and cache structure accessible by said processor to satisfy memory access requests, wherein said cache structure is configured to begin an access of said cache structure's data for a received memory access request without first determining whether a memory address required to satisfy said received memory access request is truly present in said cache structure.
- 11. The computer system of claim 10 wherein said cache structure is a level of a multi-level cache.
- 12. The computer system of claim 10 wherein said cache structure further comprises:
a TLB that receives a virtual address for said memory access request and outputs a corresponding physical address.
- 13. The computer system of claim 12 wherein said cache structure further comprises:
a data array structure, wherein said data array structure is capable of being accessed to satisfy said memory access request.
- 14. The computer system of claim 13 wherein said cache structure further comprises a decode circuitry that decodes at least a portion of a physical address output by said TLB to determine a physical address to access in said data array structure.
- 15. The computer system of claim 14 wherein said cache further comprises tag match circuitry that determines whether a tag hit is achieved for said cache structure for said memory access request, and MESI circuitry that determines whether said tag hit is a true tag hit.
- 16. The computer system of claim 15 wherein said cache is implemented such that said decode circuitry begins executing before said MESI circuitry determines whether said tag hit is a true tag hit.
- 17. The computer system of claim 10 wherein said received memory access request is a data read request.
- 18. A cache structure that is accessible to at least one computer processor to satisfy memory access requests for instructions being executed by said at least one computer processor, said cache structure comprising:
means for receiving a memory access request from at least one processor; and means for beginning an access of said cache structure's data for a received memory access request without having first determined whether a memory address required to satisfy said received memory access request is truly present in said cache structure.
- 19. The cache structure of claim 18 wherein said received memory access request is a data read request.
- 20. The cache structure of claim 18 wherein said receiving means comprises a TLB that translates a virtual address for said memory access request into a physical address, and wherein said beginning means comprises decode circuitry that decodes at least a portion of a physical address output by said TLB.
RELATED APPLICATIONS
[0001] This application is related to co-filed and commonly assigned Patent Application Serial Number [Attorney Docket No. 10971421] entitled “METHOD AND SYSTEM FOR EARLY TAG ACCESSES FOR LOWER-LEVEL CACHES IN PARALLEL WITH FIRST-LEVEL CACHE,” and co-filed and commonly assigned Patent Application Serial Number [Attorney Docket No. 10971178] entitled “METHOD AND SYSTEM FOR PROVIDING A HIGH BANDWIDTH CACHE THAT ENABLES SIMULTANEOUS READS AND WRITES WITHIN THE CACHE,” the disclosures of which are hereby incorporated herein by reference.