US5737752A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Cache replacement mechanism
Assignee: Fujitsu Services Ltd
•
Filing: 1996-06-17
•
Granted: 1998-04-07
•
Expires: 2016-06-17
Abstract
Abstract An n-way set-associative cache (where n is an integer greater than 1), includes a replacement mechanism for selecting a cache line for replacement. Each cache line has an associated priority tag indicating a user-defined priority for that cache line The replacement mechanism comprises an apparatus for selecting a cache line with the lowest user-defined priority in a current set of cache lines, and apparatus (e.g. based on recency of usage) for choosing between cache lines of equal priority if there is more than one cache line with said lowest user-defined priority in the current set.
Inventors
- 👤 Albert Stephen Hilditch
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 14:18
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/12; G06F12/121; G06F12/126; G06F12/127
Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
237 words
An n-way set-associative cache (where n is an integer greater than 1), comprising: (a) a plurality n of cache RAMs, each of said cache RAMs containing a plurality of cache lines; (b) means for storing a plurality of priority tags, one for each of said cache lines, said priority tags defining respective individual user-defined priorities for each of said cache lines; (c) addressing means for addressing said cache RAMs in parallel to select a set of n cache lines, one line from each of the cache RAMs; (d) means for comparing the priority tags of said set of n cache lines with each other; (e) first selection means operative in the event that one of said set of n cache lines has a priority, as defined by its priority tag, that is lower than the priorities of all others of said set of n cache lines, as defined by their priority tags, for selecting said one of said set of n cache lines for replacement; and (f) second selection means operative in the event that at least two of said set of n cache lines have priorities, as defined by their priority tags, that are equal to each other but lower than the priorities of all others of said set of n cache lines, as defined by their priority tags, for selecting one of said at least two of said set of n cache lines for replacement.
Claim 2
Dependent Claim
237 words
An n-way set-associative cache (where n is an integer greater than 1), comprising: (a) a plurality n of cache RAMs, each of said cache RAMs containing a plurality of cache lines; (b) means for storing a plurality of priority tags, one for each of said cache lines, said priority tags defining respective individual user-defined priorities for each of said cache lines; (c) addressing means for addressing said cache RAMs in parallel to select a set of n cache lines, one line from each of the cache RAMs; (d) means for comparing the priority tags of said set of n cache lines with each other; (e) first selection means operative in the event that one of said set of n cache lines has a priority, as defined by its priority tag, that is lower than the priorities of all others of said set of n cache lines, as defined by their priority tags, for selecting said one of said set of n cache lines for replacement; and (f) second selection means operative in the event that at least two of said set of n cache lines have priorities, as defined by their priority tags, that are equal to each other but lower than the priorities of all others of said set of n cache lines, as defined by their priority tags, for selecting one of said at least two of said set of n cache lines for replacement.
Claim 3
Dependent Claim
33 words
An n-way set-associative cache according to claim 1 wherein said second selection means comprises means for selecting a least-recently used one of said at least two of said n cache lines for replacement.
Claim 4
Independent Claim
228 words
A method of operating an n-way set-associative cache (where n is an integer greater than 1), said cache comprising a plurality n of cache RAMs, each of said cache RAMs containing a plurality of cache lines, the method comprising: (a) storing a plurality of priority tags, one for each of said cache lines, said priority tags defining respective individual user-defined priorities for each of said cache lines; (b) addressing said cache RAMs in parallel to select a set of n cache lines, one line from each of the cache RAMs; (c) comparing the priority tags of said set of n cache lines with each other; (d) in the event that one of said set of n cache lines has a priority, as defined by its priority tag, that is lower than the priorities of all others of said set of n cache lines, as defined by their priority tags, selecting said one of said set of n cache lines for replacement; and (e) in the event that at least two of said set of n cache lines have priorities, as defined by their priority tags, that are equal to each other but lower than the priorities of all others of said set of n cache lines, as defined by their priority tags, selecting one of said at least two of said set of n cache lines for replacement.
Claim 5
Independent Claim
228 words
A method of operating an n-way set-associative cache (where n is an integer greater than 1), said cache comprising a plurality n of cache RAMs, each of said cache RAMs containing a plurality of cache lines, the method comprising: (a) storing a plurality of priority tags, one for each of said cache lines, said priority tags defining respective individual user-defined priorities for each of said cache lines; (b) addressing said cache RAMs in parallel to select a set of n cache lines, one line from each of the cache RAMs; (c) comparing the priority tags of said set of n cache lines with each other; (d) in the event that one of said set of n cache lines has a priority, as defined by its priority tag, that is lower than the priorities of all others of said set of n cache lines, as defined by their priority tags, selecting said one of said set of n cache lines for replacement; and (e) in the event that at least two of said set of n cache lines have priorities, as defined by their priority tags, that are equal to each other but lower than the priorities of all others of said set of n cache lines, as defined by their priority tags, selecting one of said at least two of said set of n cache lines for replacement.
Claim 6
Dependent Claim
41 words
A method according to claim 3 wherein said step of selecting one of said at least two of said n cache lines for replacement comprises selecting a least-recently-used one of said at least two of said n cache lines for replacement.
References Cited (Backward Citations)
US3949369A
Cited
US4084230A
Cited
US4463420A
Cited
US4658351A
Cited
US4972338A
Cited
US4829425A
Cited
US4833642A
Cited
EP0391871A2
Cited
US5394531A
Cited
US5488709A
Cited
US5448731A
Cited
US5487162A
Cited
US5555393A
Cited
US5287508A
Cited
US5428789A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2001-04-06 | 2001-10-06 | 2002-04-07 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2005-04-06 | 2005-10-06 | 2006-04-07 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2009-04-06 | 2009-10-06 | 2010-04-07 | $7700.00 | Window Closed / Lapsed |