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

Cache control system and method for selectively performing a non-cache access for instruction data depending on memory line access frequency

Assignee: International Business Machines Corp
•
Filing: 1993-11-23
•
Granted: 1996-12-17
•
Expires: 2013-11-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A cache control system and method for operating a computer system which is capable of executing cached and non-cached memory accesses. The cache control system includes a frequency value store for each of a number of memory lines for storing a frequency value indicative of the number of accesses made thereto; an instruction store for storing the index of the last memory line accessed by each of a number of instructions; and control logic which, each time the processor attempts to access a memory location not in the cache memory, tests the frequency value for the last memory line accessed by the current instruction and, if the number of accesses for the memory line exceeds a predetermined threshold, (a) fetches the memory line of the memory location from the main memory into the cache memory and executes a cached memory access, and if not (b) executes a non-cached memory access.

Inventors

  • 👤 David Bernstein
  • 👤 Michael Rodeh

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 18:45
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0888

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 194 words
A cache control system for use in a computer system including a processor, main memory and cache memory in which memory locations are arranged in memory lines, each line having an associated index, and which is capable of executing cached and non-cached memory accesses, comprising: a frequency value store for each of a number of the memory lines for storing a frequency value indicative of the number of accesses made thereto; an instruction store for storing the index of the last memory line accessed by each of a number of instructions; and control logic, comprising: (a) means for testing the frequency value for the last memory line accessed by the current instruction, each time the processor attempts to access a memory location not in the cache memory; (b) means for fetching the memory line of a memory location which is not in the cache memory from the main memory into the cache memory and executing a cached memory access if the number of accesses for that memory line exceeds a predetermined threshold, and for executing a non-cached memory access if the number of accesses for that memory line does not exceed the predetermined threshold.
Claim 2
Dependent Claim 194 words
A cache control system for use in a computer system including a processor, main memory and cache memory in which memory locations are arranged in memory lines, each line having an associated index, and which is capable of executing cached and non-cached memory accesses, comprising: a frequency value store for each of a number of the memory lines for storing a frequency value indicative of the number of accesses made thereto; an instruction store for storing the index of the last memory line accessed by each of a number of instructions; and control logic, comprising: (a) means for testing the frequency value for the last memory line accessed by the current instruction, each time the processor attempts to access a memory location not in the cache memory; (b) means for fetching the memory line of a memory location which is not in the cache memory from the main memory into the cache memory and executing a cached memory access if the number of accesses for that memory line exceeds a predetermined threshold, and for executing a non-cached memory access if the number of accesses for that memory line does not exceed the predetermined threshold.
Claim 3
Dependent Claim 24 words
The cache control system of claim 1 wherein the instruction store and the frequency value store are least recently used (LRU) set associative tables.
Claim 4
Dependent Claim 19 words
The cache control system of claim 1 wherein the instruction store and the frequency value store are collision tables.
Claim 5
Dependent Claim 98 words
The cache control system of claim 1 wherein the instruction store includes means for storing a history value for each of the instructions and wherein the control logic includes: means for increasing a history value each time execution of an associated instruction results in a cached memory access and for decreasing that history value each time execution of the associated instruction results in a non-cached memory access; and means for testing the history value for the current instruction and executing a cached memory access only if the history value for the current instruction has passed a predetermined threshold.
Claim 6
Dependent Claim 69 words
The cache control system of claim 4 wherein the control logic includes means for executing a cached memory access if the processor attempts to access a memory location not in the cache memory and information associated with the current instruction cannot be found in the instruction store or a frequency value for the last memory line accessed by the current instruction cannot be found in the frequency value store.
Claim 7
Independent Claim 159 words
A method of operating a computer system comprising a processor, a main memory and a cache memory in which memory locations are arranged in memory lines, each line having an index associated therewith, the method comprising, maintaining, for each of a number of the memory lines, a stored frequency value indicative of the number of accesses made thereto; maintaining, in an instruction store, the index of the last memory line accessed by each of a number of instructions; and, in the event of a cache miss, testing the stored frequency value associated with the last memory line accessed by the current instruction, and if the number of times that the last memory line has been accessed has passed a threshold value, fetching the memory line into the cache and executing a cached memory access, and if the number of times that the last memory line has been accessed has not passed the threshold value, executing a non-cached memory access.
Claim 8
Independent Claim 159 words
A method of operating a computer system comprising a processor, a main memory and a cache memory in which memory locations are arranged in memory lines, each line having an index associated therewith, the method comprising, maintaining, for each of a number of the memory lines, a stored frequency value indicative of the number of accesses made thereto; maintaining, in an instruction store, the index of the last memory line accessed by each of a number of instructions; and, in the event of a cache miss, testing the stored frequency value associated with the last memory line accessed by the current instruction, and if the number of times that the last memory line has been accessed has passed a threshold value, fetching the memory line into the cache and executing a cached memory access, and if the number of times that the last memory line has been accessed has not passed the threshold value, executing a non-cached memory access.
Claim 9
Dependent Claim 120 words
The method of claim 6 further comprising the steps of: maintaining, in the instruction store, a history value for each of the instructions, the step of maintaining a history value for each of the instructions including the steps of: (a) increasing a history value each time execution of an associated instruction results in a cached memory access and (b) decreasing that history value each time execution of the associated instruction results in a non-cached memory access; and, each time the processor attempts to access a memory location not in the cache memory, testing the history value for the current instruction and only executing a cached memory access if the history value for the current instruction has passed a predetermined threshold.

References Cited (Backward Citations)

US5253351A Cited
US5170476A Cited
US5375216A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-12-17 2000-06-17 2000-12-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-12-17 2004-06-17 2004-12-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-12-17 2008-06-17 2008-12-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag