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

System and method for reducing the penalty associated with data cache misses

Assignee: HP Inc
•
Filing: 1991-07-12
•
Granted: 1995-03-07
•
Expires: 2011-07-12
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer system having a central processor unit (CPU) with a reduced instruction set, a decoder and a data cache memory, for processing an instruction to retrieve data from a main memory to prevent a data cache miss. The system decodes an instruction requiring the CPU to load a value into a read only general purpose memory register, the instruction thereby indicating to the CPU to perform a prefetch operation and providing information corresponding to an address of the data to be fetched from the main memory. The system processes, substantially simultaneously, further instructions following the load register instruction and the prefetch operation by determining the address in main memory of the data to be prefetched using the information provided by the load instruction, fetching the data from the main memory, and storing the data in the data cache memory to permit accesses to the data and thereby reduce the penalty associated with a data cache miss.

Inventors

  • 👤 Eric R. DeLano
  • 👤 Mark A. Forsyth

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 15:30
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3824; G06F9/383; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862; G06F2212/00; G06F2212/60; G06F2212/6028

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 177 words
In a computer system having a central processor unit (CPU) with a reduced instruction set, a decoder and a data cache memory, a computer-implemented method for servicing a data cache miss in parallel with normal instruction execution to thereby reduce or avoid the penalty associated with a data cache miss, comprising the steps of: placing a first instruction that requires a load to a read only register within an instruction stream, wherein said first instruction provides a hint to the data cache memory to prefetch a cache line from a main memory into the data cache memory; decoding and executing said first instruction, wherein said load to said read only register does not alter the contents of said read only register; and processing, substantially simultaneously with said prefetch of said cache line, further instructions that follow said first instruction; whereby said first instruction is placed within said instruction stream such that said cache line is prefetched from said main memory early enough so that subsequent accesses to this data will not result in a data cache miss.
Claim 2
Dependent Claim 177 words
In a computer system having a central processor unit (CPU) with a reduced instruction set, a decoder and a data cache memory, a computer-implemented method for servicing a data cache miss in parallel with normal instruction execution to thereby reduce or avoid the penalty associated with a data cache miss, comprising the steps of: placing a first instruction that requires a load to a read only register within an instruction stream, wherein said first instruction provides a hint to the data cache memory to prefetch a cache line from a main memory into the data cache memory; decoding and executing said first instruction, wherein said load to said read only register does not alter the contents of said read only register; and processing, substantially simultaneously with said prefetch of said cache line, further instructions that follow said first instruction; whereby said first instruction is placed within said instruction stream such that said cache line is prefetched from said main memory early enough so that subsequent accesses to this data will not result in a data cache miss.
Claim 3
Dependent Claim 71 words
A method according to claim 1, wherein said prefetch operation further comprises the steps of: (a) determining said address in main memory of said data to be prefetched using said information provided by said load instruction; (b) fetching said data from the main memory; and (c) storing said data in the data cache memory to permit accesses to the data and thereby reduce the penalty associated with a data cache miss.
Claim 4
Dependent Claim 36 words
A method according to claim 2, wherein said decoding step decodes a LOAD -- to -- GRX instruction, where GRX represents the read only general purpose memory register, thereby permitting further registers to serve as operands.
Claim 5
Dependent Claim 37 words
A method according to claim 2, wherein said determining step further comprises the steps of: (i) determining the virtual address of the data; and (ii) converting said virtual address to the real address in the main memory.
Claim 6
Dependent Claim 165 words
A computer system having a central processor unit (CPU) with a reduced instruction set, a decoder and a data cache memory, the system adapted to service a data cache miss in parallel with normal instruction execution to thereby reduce or avoid the penalty associated with a data cache miss, comprising the steps of: first means for decoding a first instruction that requires a load to a read only register, wherein said first instruction provides a hint to the data cache memory to prefetch a cache line from a main memory into the data cache memory, wherein said load to said read only register does not alter the contents of said read only register; and second means for processing, substantially simultaneously with said prefetch of said cache line, further instructions following said first instruction; whereby said first instruction allows said cache line to be prefetched from said main memory early enough so that subsequent accesses to this data will not result in a data cache miss.
Claim 7
Dependent Claim 165 words
A computer system having a central processor unit (CPU) with a reduced instruction set, a decoder and a data cache memory, the system adapted to service a data cache miss in parallel with normal instruction execution to thereby reduce or avoid the penalty associated with a data cache miss, comprising the steps of: first means for decoding a first instruction that requires a load to a read only register, wherein said first instruction provides a hint to the data cache memory to prefetch a cache line from a main memory into the data cache memory, wherein said load to said read only register does not alter the contents of said read only register; and second means for processing, substantially simultaneously with said prefetch of said cache line, further instructions following said first instruction; whereby said first instruction allows said cache line to be prefetched from said main memory early enough so that subsequent accesses to this data will not result in a data cache miss.
Claim 8
Dependent Claim 74 words
A system according to claim 5, wherein said first means further comprises: (a) means for determining said address in main memory of said data to be prefetched using said information provided by said load instruction; (b) means for fetching said data from the main memory; and (c) means for storing said data in the data cache memory to permit accesses to the data and thereby reduce the penalty associated with a data cache miss.
Claim 9
Dependent Claim 35 words
A system according to claim 6, wherein said instruction is a LOAD -- to -- GRX instruction, where GRX represents a read only general purpose memory register, thereby permitting further registers to serve as operands.
Claim 10
Dependent Claim 38 words
A system according to claim 6, wherein said third means further comprises: (i) means for determining the virtual address of the data; and (ii) means for converting said virtual address to the real address in the main memory.
Claim 11
Dependent Claim 68 words
A system according to claim 6, wherein said CPU operates in real mode to determine said address in the main memory of said data to be prefetched using said information provided by said load instruction, fetches said data from the main memory, and stores said data in said data cache memory to permit accesses to said data and thereby reduce the penalty associated with a data cache miss.
Claim 12
Dependent Claim 27 words
A system according to claim 9, wherein said instruction is a LOAD -- to -- GRX instruction, where GRX represents a read only general purpose memory register.
Claim 13
Dependent Claim 35 words
A system according to claim 6, wherein said CPU further determines the virtual address of the data, and converts said virtual address to the real address in the main memory using a translation lookaside buffer.
Claim 14
Dependent Claim 159 words
In a computer system having a data cache memory, a method for reducing or avoiding the penalty associated with a data cache miss, comprising the steps of: (1) executing a first load instruction that requires a load to a read only register, said first load instruction functions as a hint to prefetch a cache line from memory, wherein said load to said read only register does not alter the contents of said read only register; (2) executing a stream of instructions following said load instruction, wherein the processing of said prefetch is done in parallel with said executing of said stream of instructions; (3) executing a second load instruction that uses dam from said cache line fetched from memory; wherein said first load instruction is placed within said stream of instructions to allow the system to retrieve said cache line early enough so that the data will be available when it is actually needed by said second load instruction.
Claim 15
Dependent Claim 159 words
In a computer system having a data cache memory, a method for reducing or avoiding the penalty associated with a data cache miss, comprising the steps of: (1) executing a first load instruction that requires a load to a read only register, said first load instruction functions as a hint to prefetch a cache line from memory, wherein said load to said read only register does not alter the contents of said read only register; (2) executing a stream of instructions following said load instruction, wherein the processing of said prefetch is done in parallel with said executing of said stream of instructions; (3) executing a second load instruction that uses dam from said cache line fetched from memory; wherein said first load instruction is placed within said stream of instructions to allow the system to retrieve said cache line early enough so that the data will be available when it is actually needed by said second load instruction.
Claim 16
Dependent Claim 155 words
In a computer system having a data cache memory, a method for reducing or avoiding the penalty associated with a data cache miss, comprising the step of: providing, for decoding and execution, an instruction within a stream of instructions that requires a load to a read only register, wherein said instruction provides a hint to the data cache memory to prefetch a cache line from a memory into the data cache memory, wherein said load to said read only register does not alter the contents of said read only register; wherein said instruction allows execution of subsequent instructions within said stream of instructions during the latency period of said prefetch of said cache line from said memory; wherein said instruction is placed within said stream of instruction to allow said cache line to be prefetched from said memory early enough so that subsequent accesses to this data will not result in a data cache miss.
Claim 17
Dependent Claim 155 words
In a computer system having a data cache memory, a method for reducing or avoiding the penalty associated with a data cache miss, comprising the step of: providing, for decoding and execution, an instruction within a stream of instructions that requires a load to a read only register, wherein said instruction provides a hint to the data cache memory to prefetch a cache line from a memory into the data cache memory, wherein said load to said read only register does not alter the contents of said read only register; wherein said instruction allows execution of subsequent instructions within said stream of instructions during the latency period of said prefetch of said cache line from said memory; wherein said instruction is placed within said stream of instruction to allow said cache line to be prefetched from said memory early enough so that subsequent accesses to this data will not result in a data cache miss.
Claim 18
Dependent Claim 18 words
The method of claim 13, wherein said instruction is provided in said stream of instructions by a compiler.

References Cited (Backward Citations)

US5109524A Cited
US5025366A Cited
US5146603A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-03-06 1998-09-05 1999-03-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-03-06 2002-09-05 2003-03-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-03-06 2006-09-05 2007-03-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag