IP Library Granted Patent US 7,721,048
Granted Patent B1
US 7,721,048 · App. 11/686,851 · Granted May 18, 2010

System and method for cache replacement

Assignee: Board of Governors for Higher Education, State of Rhode Island and Providence Plantations
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 7,721,048
App. No.
11/686,851
Granted
May 18, 2010
Kind
B1
Abstract

A computer processing system is disclosed that includes a cache that includes cache blocks of data. The system includes a marking sub-system, an ordering sub-system, and a replacement sub-system. The marking sub-system identifies and marks cache blocks that were provided to the cache via a wrong path with marking data. The ordering sub-system provides an order in which the cache blocks of data will be replaced in the cache, and the ordering sub-system is responsive to the marking data. The replacement sub-system replaces cache blocks in the cache in accordance with the ordering sub-system as required.

Claims (33)

1. A computer processing system that includes a cache including cache blocks of data, said system comprising:

marking means for identifying and marking as wrong-path blocks cache blocks that were provided to the cache via a wrong path with marking data, said cache including a first cache (L1) and a second cache (L2);

ordering means for providing an order in which cache blocks of data will be replaced in the cache, said ordering means being responsive to the marking data;

replacement means for replacing cache blocks in the cache in accordance with the ordering means as required; and

write-back means for providing that a wrong-path block that is evicted from the first cache (L1) before being used down a correct path will be placed into the second cache (L2) as the least recently used (LRU) instead of most recently used (MRU).

2. The computer processing system as claimed in claim 1 , wherein said marking data includes a single bit of data.

3. The computer processing system as claimed in claim 1 , wherein said system includes adjustment means for unmarking cache block that is already marked if the cache block is accessed by the computer processing system.

4. The computer processing system as claimed in claim 1 , wherein said system further includes a filtering means for reducing direct and indirect miss wrong path references.

5. The computer processing system as claimed in claim 1 , wherein said system further includes a early eviction means for evicting unused wrong path cache blocks with a high priority.

6. The computer processing system as claimed in claim 1 , wherein said marking means identifies and marks a plurality of cache blocks responsive to an identification of a single wrong path by a mispredicted branch.

7. The computer processing system as claimed in claim 6 , wherein said marking means includes a miss status holding register.

8. The computer processing system as claimed in claim 6 , wherein said marking means includes a speculative load miss queue.

9. The computer processing system as claimed in claim 1 , wherein said ordering means includes a first-in-first-out stack.

10. The computer processing system as claimed in claim 1 , wherein said ordering means includes a reorder buffer.

11. A computer processing system that includes a cache including cache blocks of data, said system comprising:

ordering means for providing an order in which the cache blocks of data will be replaced in the cache, said ordering means being responsive to marking data for identifying and marking as wrong-path blocks cache blocks that were provided to the cache via a wrong path with marking data, said cache including a first cache (L1) and a second cache (L2);

adjustment means for unmarking a cache block that is already marked if the cache block is accessed by the computer processing system;

replacement means for replacing cache blocks in the cache in accordance with the ordering means as required; and

write-back means for providing that a wrong-path block that is evicted from the first cache (L1) before being used down a correct path will be placed into the second cache (L2) as the least recently used (LRU) instead of most recently used (MRU).

12. The computer processing system as claimed in claim 11 , wherein said system further includes a early eviction means for evicting unused wrong path cache blocks with a high priority.

13. The computer processing system as claimed in claim 11 , wherein said marking means includes a miss status holding register and a speculative load miss queue.

14. The computer processing system as claimed in claim 11 , wherein said ordering means includes a reorder buffer.

15. A computer processing method that includes a cache including cache blocks of data, said method comprising the steps of:

identifying and marking cache blocks that were provided to the cache via a wrong path with marking data;

providing an ordering in which the cache blocks of data will be replaced in the cache, said ordering being responsive to the marking data;

unmarking a cache block that is already marked if the cache block is accessed by a computer processing system;

replacing cache blocks in the cache in accordance with the ordering as required; and

providing that a wrong-path block that is evicted from a first cache (L 1 ) before being used down a correct path will be placed into a second cache (L2) as the least recently used (LRU) instead of most recently used (MRU).

16. The method as claimed in claim 15 , wherein said method further includes the step of evicting unused wrong path cache blocks with a high priority.

17. The method as claimed in claim 15 , wherein said method further includes the step of providing that a block while it resides in the first cache (L1) determines its replacement policy in the second cache (L2) responsive to a bit that indicates whether the block is a wrong path block or a correct path block.

18. The method as claimed in claim 15 , wherein said method further includes the step of marking as a correct-path block a wrong-path block that services a correct path.

19. The method as claimed in claim 15 , wherein said method further includes the step of allocating to the second cache (L2) a wrong-path block evicted from the first cache (L1) that is not used by a correct-path memory reference, only if the second cache (L2) has at least one cache way that is invalid.

20. The method as claimed in claim 15 , wherein said method further includes the step of canceling wrong-path references in the second cache (L2) request queue as soon as a mis-prediction is identified.

Assignments (2)
CHANGE OF NAME Recorded May 19, 2015
From: SENDAG, RESIT; YILMAZER, AYSE; UHT, AUGUSTUS K.
To: RHODE ISLAND BOARD OF EDUCATION, STATE OF RHODE ISLAND AND PROVIDENCE PLANTATIONS
Reel/Frame 035674/0274 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2007
From: SENDAG, RESIT; YILMAZER, AYSE; UHT, AUGUSTUS K.
To: THE BOARD OF GOVERNORS FOR HIGHER EDUCATION, STATE OF RHODE ISLAND AND PROVIDENCE PLANTATIONS
Reel/Frame 019549/0148 →
Continuity (1)
Provisional Application 6078265300 · Mar 15, 2006