Claims
- 1. A cache memory, comprising:
a first set of resources, needed to complete a transaction if a cache line address of said transaction hits in the cache; a second set of resources, needed to complete said transaction if said address misses in the cache, said second set being different than said first set; and control logic, coupled to said first and second set of resources, wherein if said address misses in the cache, and if none of said second set of resources is busy, then said control logic asserts a miss indicator rather than retrying said transaction, regardless of whether any of said first set of resources is busy.
- 2. The cache memory of claim 1, wherein said control logic asserts a retry indicator if one or more of said second set of resources is busy.
- 3. The cache memory of claim 2, wherein said retrying said transaction comprises re-arbitrating with other transactions for access to the cache memory.
- 4. The cache memory of claim 3, wherein the cache memory comprises a pipeline.
- 5. The cache memory of claim 4, wherein said retrying said transaction comprises re-sequencing said transaction through said pipeline.
- 6. The cache memory of claim 4, wherein said control logic asserts said retry indicator if said address matches an address of another transaction in said cache pipeline.
- 7. The cache memory of claim 1, wherein said second set of resources is a null set.
- 8. The cache memory of claim 1, wherein if said address hits in the cache, and if none of said first set of resources is busy, then said control logic asserts a hit indicator rather than retrying said transaction, regardless of whether any of said second set of resources is busy.
- 9. The cache memory of claim 1, wherein said first and second set of resources is predetermined.
- 10. The cache memory of claim 1, further comprising:
a transaction type input, coupled to said control logic, for specifying which of a plurality of types of transactions performable by the cache said transaction is.
- 11. The cache memory of claim 10, wherein said first and second set of resources is different depending upon which of said plurality of transaction types said transaction is.
- 12. The cache memory of claim 1, wherein said transaction comprises a load transaction.
- 13. The cache memory of claim 1, wherein said transaction comprises a castout transaction.
- 14. The cache memory of claim 1, wherein said transaction comprises a store transaction.
- 15. The cache memory of claim 1, wherein the cache is a victim cache.
- 16. The cache memory of claim 1, wherein the cache is a level-two cache.
- 17. A cache memory, comprising:
a plurality of type signals, for specifying which of a plurality of transaction types a transaction is, said transaction specifying a cache line; a hit signal, for indicating whether said cache line is present in the cache; a plurality of busy signals, for specifying whether a corresponding plurality of resources are busy, wherein a predetermined subset of said plurality of resources is needed for completing said transaction, wherein said predetermined subset is based on said hit signal and said plurality of transaction type signals; control logic, coupled to receive said plurality of type signals, said hit signal, and said plurality of busy signals, for generating a miss action signal based on said plurality of busy signals only in said predetermined subset.
- 18. The cache memory of claim 17, wherein said predetermined subset of said plurality of busy signals is a first predetermined subset if said hit signal is false and a second predetermined subset if said hit signal is true.
- 19. The cache memory of claim 18, wherein said first and second predetermined subsets are distinct for one or more of said plurality of transaction types.
- 20. The cache memory of claim 18, wherein said first predetermined subset is a null set for one or more of said plurality of transaction types.
- 21. The cache memory of claim 18, wherein said control logic generates a true value on said miss action signal if said hit signal is false and none of said plurality of busy signals corresponding to said first predetermined subset is true.
- 22. The cache memory of claim 21, wherein said control logic generates a true value on a retry action signal if said hit signal is false and one or more of said plurality of busy signals corresponding to said first predetermined subset is true.
- 23. The cache memory of claim 22, wherein said control logic generates a true value on a hit action signal if said hit signal is true and none of said plurality of busy signals corresponding to said second predetermined subset is true.
- 24. The cache memory of claim 23, wherein said control logic generates a true value on said retry action signal if said hit signal is true and one or more of said plurality of busy signals corresponding to said second predetermined subset is true.
- 25. A method for generating cache action signals of a cache memory, comprising:
determining whether a cache line address is present in the cache memory; determining whether any of a first set of resources is busy if said cache line address is present in the cache memory; determining whether any of a second set of resources is busy if said cache line address is not present in the cache memory; and generating a miss action signal if none of said second set of resources is busy if said cache line address is not present in the cache memory even if some of said first set of resources is busy.
- 26. The method of claim 25, further comprising:
generating a retry action signal if any of said second set of resources is busy if said cache line address is not present in the cache memory.
- 27. The method of claim 26, further comprising:
generating a retry action signal if any of said first set of resources is busy if said cache line address is present in the cache memory.
- 28. The method of claim 27, further comprising:
generating a hit action signal if none of said first set of resources is busy if said cache line address is present in the cache memory even if some of said second set of resources is busy.
- 29. The method of claim 25, wherein the cache memory is a pipelined cache memory comprising a plurality of stages.
- 30. The method of claim 29, further comprising:
comparing said cache line address with other cache line addresses in said plurality of stages.
- 31. The method of claim 30, further comprising:
generating said retry action signal if said cache line address matches one or more of said other cache line addresses in said plurality of stages.
- 32. The method of claim 25, further comprising:
determining a transaction type of a transaction associated with said cache line address, prior to said generating said miss action signal.
- 33. The method of claim 32, wherein said transaction type is one of a predetermined plurality of transaction types.
- 34. The method of claim 33, wherein said first and second sets of resources are predetermined for each of said predetermined plurality of transaction types.
- 35. The method of claim 34, wherein said second set of resources is a null set and said first set of resources is a non-null set.
Parent Case Info
[0001] This application claims priority based on U.S. Provisional Application Serial No. 60/375,468, filed Apr. 24, 2002, entitled APPARATUS AND METHOD FOR EARLY MISS DETECTION IN L2 CACHE.