Claims
- 1. A method of pushing values stored in a memory hierarchy of a computer system to a lower level of the hierarchy, comprising the steps of:
utilizing a store pipe in the memory hierarchy between a higher cache memory and a lower cache memory to receive store instructions; injecting a series of purge commands into the store pipe; and sequentially flushing cache lines from the lower cache memory in response to said injecting step.
- 2. The method of claim 1 wherein:
the higher cache memory is a first level (L1) cache; the lower cache memory is a second level (L2) cache; and said flushing step flushes the cache lines to a third level (L3) cache.
- 3. The method of claim 1, further comprising the step of programmably triggering said injecting step.
- 4. The method of claim 1, further comprising the step of correcting errors in the cache lines as they are flushed.
- 5. The method of claim 1 wherein said flushing step includes the step of forcing the lower cache memory to miss addresses associated with the cache lines.
- 6. The method of claim 5, further comprising the steps of:
placing an eviction mechanism of the lower cache memory into a direct-mapped mode; and evicting the cache lines using the eviction mechanism in response to the lower cache memory missing the associated addresses.
- 7. The method of claim 5, further comprising the step of setting tag bits for the cache lines to a value that is guaranteed to result in a cache miss.
- 8. A cache construction for a computer system comprising:
a higher cache memory; a lower cache memory; a store pipe between said higher cache memory and said lower cache memory which receives store instructions; and a purge engine which injects a series of purge commands into the store pipe to sequentially flush cache lines from the lower cache memory.
- 9. The cache construction of claim 8 wherein:
said higher cache memory is a first level (L1) cache; said lower cache memory is a second level (L2) cache; and the cache lines are flushed to a third level (L3) cache.
- 10. The cache construction of claim 8 wherein said purge engine is programmably triggered to inject the purge commands.
- 11. The cache construction of claim 8, further comprising error correction code (ECC) logic which corrects errors in the cache lines as they are flushed.
- 12. The cache construction of claim 8 wherein said purge engine forces said lower cache memory to miss addresses associated with the cache lines.
- 13. The cache construction of claim 12 wherein said lower cache memory includes an eviction mechanism which is placed into a direct-mapped mode and evicts the cache lines in response to said lower cache memory missing the associated addresses.
- 14. The cache construction of claim 12 wherein said purge engine sets tag bits for the cache lines to a value that is guaranteed to result in a cache miss.
- 15. A computer system comprising:
one or more processing cores; a main memory device; and a cache hierarchy connected to said one or more processing cores and said main memory device, said cache hierarchy including a higher cache memory, a lower cache memory, a store pipe between said higher cache memory and said lower cache memory which receives store instructions, and a purge engine which injects a series of purge commands into the store pipe to sequentially flush cache lines from the lower cache memory.
- 16. The computer system of claim 15 wherein:
said higher cache memory is a first level (L1) cache; said lower cache memory is a second level (L2) cache; and the cache lines are flushed to a third level (L3) cache in said cache hierarchy.
- 17. The computer system of claim 15 wherein said purge engine is programmably triggered to inject the purge commands.
- 18. The computer system of claim 15, further comprising error correction code (ECC) logic which corrects errors in the cache lines as they are flushed.
- 19. The computer system of claim 15 wherein said purge engine forces said lower cache memory to miss addresses associated with the cache lines.
- 20. The computer system of claim 19 wherein said lower cache memory includes an eviction mechanism which is placed into a direct-mapped mode and evicts the cache lines in response to said lower cache memory missing the associated addresses.
- 21. The computer system of claim 19 wherein said purge engine sets tag bits for the cache lines to a value that is guaranteed to result in a cache miss.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application is related to copending U.S. Patent Application No. 10/______ entitled “DATA CACHE SCRUB MECHANISM FOR LARGE L2/L3 DATA CACHE STRUCTURES” filed contemporaneously herewith on or about Apr. 24, 2003, attorney docket number AUS920030128US1.