← Back to Patent Explorer
US4928239A Expired / Lapsed US ⏱️ 0.0 years remaining

Cache memory with variable fetch and replacement schemes

Assignee: HP Inc
•
Filing: 1989-05-26
•
Granted: 1990-05-22
•
Expires: 2009-05-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An instruction is presented to the cache; the instruction includes a cache control specifier which identifies a type of data being requested. Based on the cache control specifier, one of a plurality of replacement schemes is selected for swapping a data block out of the cache.

Inventors

  • 👤 Allen Baum
  • 👤 William R. Bryg
  • 👤 Michael J. Mahon
  • 👤 Ruby B. Lee
  • 👤 Steven S. Muchnick

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 06:39
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3824; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862; G06F12/12; G06F12/121; G06F12/126; G06F12/127; G06F2212/00; G06F2212/60; G06F2212/6028

Claims Analysis

Total Claims: 11
Claim 1
Independent Claim 146 words
A method for selecting for replacement data blocks in a cache memory of a computer system at a time when a new data block is retrieved from a main memory of the computing system wherein the computer system comprises a processor for fetching and executing data, the main memory, and the cache memory, the method comprising: presenting an instruction from the processor to the cache memory, said instruction including a cache control specifier indicative of a type of data structure included in the cache memory; selecting one of a plurality of replacement schemes for swapping a data block from cache memory, said selected replacement scheme being selected based on a value of said cache control specifier; and swapping a data block from cache memory in accordance with said selected replacement scheme when a new data block is retrieved from the main memory of the computing system.
Claim 2
Independent Claim 146 words
A method for selecting for replacement data blocks in a cache memory of a computer system at a time when a new data block is retrieved from a main memory of the computing system wherein the computer system comprises a processor for fetching and executing data, the main memory, and the cache memory, the method comprising: presenting an instruction from the processor to the cache memory, said instruction including a cache control specifier indicative of a type of data structure included in the cache memory; selecting one of a plurality of replacement schemes for swapping a data block from cache memory, said selected replacement scheme being selected based on a value of said cache control specifier; and swapping a data block from cache memory in accordance with said selected replacement scheme when a new data block is retrieved from the main memory of the computing system.
Claim 3
Dependent Claim 21 words
A method as in claim 1 wherein said cache control specifier indicates that a standard replacement scheme is to be used.
Claim 4
Dependent Claim 13 words
A method as in claim 2 wherein said standard replacement scheme is LRU.
Claim 5
Dependent Claim 18 words
A method as in claim 1 wherein said cache control specifier is indicative of a stacked data structure.
Claim 6
Dependent Claim 18 words
A method as in claim 1 wherein said cache control specifier is indicative of a sequential data structure.
Claim 7
Dependent Claim 22 words
A method as in claim 1 wherein said cache control specifier indicates that a data block should be prefetched from main memory.
Claim 8
Independent Claim 265 words
A method for selecting for replacement a cache data block in a cache memory of a computer system at a time when a new data block is retrieved from a main memory of the computing system wherein the computer system comprises a processor for fetching and executing data, the main memory, and the cache memory, the cache data block being part of a stacked data structure and including a plurality of serially arranged words, the method comprising: searching the cache to determine whether a desired data block referenced by an instruction is contained in the cache; when said instruction references a STORE to a first word in said desired data block and said desired block is not contained in the cache, allocating a new cache data block in the cache, marking the new cache data block as least eligible for replacement, and performing the STORE to said new cache data block without fetching any part of the desired data block from a main memory; when said instruction references a STORE to a word other than the first word in said desired data block and said desired data block is not contained in the cache, fetching the desired data block from main memory; when said instruction references a LOAD from the first word in said desired data block, marking said desired data block as most eligible for replacement and performing the LOAD from said desired data block; and, swapping the data block marked most eligible for replacement from the cache memory when the new data block is retrieved from the main memory of the computer system.
Claim 9
Independent Claim 265 words
A method for selecting for replacement a cache data block in a cache memory of a computer system at a time when a new data block is retrieved from a main memory of the computing system wherein the computer system comprises a processor for fetching and executing data, the main memory, and the cache memory, the cache data block being part of a stacked data structure and including a plurality of serially arranged words, the method comprising: searching the cache to determine whether a desired data block referenced by an instruction is contained in the cache; when said instruction references a STORE to a first word in said desired data block and said desired block is not contained in the cache, allocating a new cache data block in the cache, marking the new cache data block as least eligible for replacement, and performing the STORE to said new cache data block without fetching any part of the desired data block from a main memory; when said instruction references a STORE to a word other than the first word in said desired data block and said desired data block is not contained in the cache, fetching the desired data block from main memory; when said instruction references a LOAD from the first word in said desired data block, marking said desired data block as most eligible for replacement and performing the LOAD from said desired data block; and, swapping the data block marked most eligible for replacement from the cache memory when the new data block is retrieved from the main memory of the computer system.
Claim 10
Independent Claim 240 words
A method for selecting for replacement a cache data block in a cache memory of a computer system at a time when a new data block is retrieved from a main memory of the computing system wherein the computer system comprises a processor for fetching and executing data, the main memory, and the cache memory, the cache memory block being part of a sequential data structure, and including a plurality of serially arranged words, the method comprising: presenting an instruction from the processor to the cache memory, said instruction including a cache control specifier indicating that access to a desired data block from a sequential data structure is desired; searching the cache to determine whether said desired data block is contained in the cache; when said instruction references a last word in said desired data block, and said desired data block is contained in the cache, marking said desired data block most eligible for replacement; when said instruction references a STORE to a first word in said desired data block and said desired data block is not contained in the cache, allocating a new cache data block in the cache, marking said new cache data block as least eligible for replacement, and performing the STORE to said new cache data block; and, swapping the data block marked most eligible for replacement from the cache memory when the new data block is retrieved from the main memory of the computing system.
Claim 11
Independent Claim 240 words
A method for selecting for replacement a cache data block in a cache memory of a computer system at a time when a new data block is retrieved from a main memory of the computing system wherein the computer system comprises a processor for fetching and executing data, the main memory, and the cache memory, the cache memory block being part of a sequential data structure, and including a plurality of serially arranged words, the method comprising: presenting an instruction from the processor to the cache memory, said instruction including a cache control specifier indicating that access to a desired data block from a sequential data structure is desired; searching the cache to determine whether said desired data block is contained in the cache; when said instruction references a last word in said desired data block, and said desired data block is contained in the cache, marking said desired data block most eligible for replacement; when said instruction references a STORE to a first word in said desired data block and said desired data block is not contained in the cache, allocating a new cache data block in the cache, marking said new cache data block as least eligible for replacement, and performing the STORE to said new cache data block; and, swapping the data block marked most eligible for replacement from the cache memory when the new data block is retrieved from the main memory of the computing system.

References Cited (Backward Citations)

US3898624A Cited
US4086629A Cited
US4371927A Cited
US4195342A Cited
US4229789A Cited
US4197580A Cited
US4445191A Cited
US4414644A Cited
US4533995A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-05-21 1993-11-20 1994-05-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-05-21 1997-11-20 1998-05-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-05-21 2001-11-20 2002-05-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag