← Back to Patent Explorer
EP0402787A2 Expired / Lapsed EP ⏱️ 0.0 years remaining

Cache miss prediction method and apparatus

Assignee: Intel Corp
•
Filing: 1990-06-08
•
Granted: —
•
Expires: 2010-06-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In a data processing system which employs a cache memory feature, a method and exemplary special purpose apparatus for practicing the method are disclosed to lower the cache miss ratio for called operands. Recent cache misses are stored in a first in, first out miss stack, and the stored addresses are searched for displacement patterns thereamong. Any detected pattern is then employed to predict a succeeding cache miss by prefetching from main memory the signal identified by the predictive address. The apparatus for performing this task is preferably hard wired for speed purposes and includes subtraction circuits for evaluating variously displaced addresses in the miss stack and comparator circuits for determining if the outputs from at least two subtraction circuits are the same indicating a pattern yielding information which can be combined with an address in the stack to develop a predictive address.

Inventors

  • 👤 Charles P. Ryan

Bibliographic Details

Application Number —
Jurisdiction EP
Data Source google_patents
Last Synchronized 2026-10-29 06:17
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/02; G06F12/08; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3824; G06F9/383; G06F12/0802; G06F12/0862; G06F9/3832; G06F2212/00; G06F2212/60; G06F2212/6026

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 132 words
In a data processing system incorporating a cache memory, a method for predicting cache miss addresses comprising the steps of: A) establishing a miss stack for storing a plurality of cache miss addresses; B) waiting for a cache miss; C) when a cache miss occurs, placing the address of the called information onto the top of the miss stack; D) examining the miss stack for an address pattern among the resident cache miss addresses; E) if a pattern is not sensed, returning to step B); and F) if a pattern is sensed: 1) using the sensed pattern and at least one of the addresses in the miss stack to calculate a predictive address; 2) prefetching into cache memory the signal group identified by the predictive address; and 3) returning to step B).
Claim 2
Dependent Claim 132 words
In a data processing system incorporating a cache memory, a method for predicting cache miss addresses comprising the steps of: A) establishing a miss stack for storing a plurality of cache miss addresses; B) waiting for a cache miss; C) when a cache miss occurs, placing the address of the called information onto the top of the miss stack; D) examining the miss stack for an address pattern among the resident cache miss addresses; E) if a pattern is not sensed, returning to step B); and F) if a pattern is sensed: 1) using the sensed pattern and at least one of the addresses in the miss stack to calculate a predictive address; 2) prefetching into cache memory the signal group identified by the predictive address; and 3) returning to step B).
Claim 3
Dependent Claim 33 words
The method of Claim 1 in which, during step D), a repertoire of predetermined address patterns are searchable, and the examination continues from pattern to pattern until a first pattern match is sensed.
Claim 4
Dependent Claim 242 words
In a data processing system incorporating a cache memory, a method for predicting cache miss addresses comprising the steps of: A) establishing a miss stack for storing a plurality of cache miss addresses; B) waiting for a cache miss; C) when a cache miss occurs, placing the address of the called information onto the top of the miss stack; D) examining the cache miss addresses resident in the miss stack for a match with a selected address pattern in a current group of a plurality of groups of patterns; E) if the selected pattern is not sensed, determining if all the patterns in the current group have been examined; F) if all the patterns in the current group have not been examined, selecting another pattern in the current group and returning to step D); G) if all the patterns in all the groups in the pattern repertoire have been searched, returning to step B); H) if all the patterns in the current group have been examined, assigning another group as the current group, selecting a pattern from the new current group and returning to step D); and I) if the selected pattern is sensed: 1) using the sensed pattern and at least one of the addresses in the miss stack to calculate a predictive address; 2) prefetching into cache memory the signal group identified by the predictive address; and 3) assigning another group as the current group and returning to step D).
Claim 5
Dependent Claim 242 words
In a data processing system incorporating a cache memory, a method for predicting cache miss addresses comprising the steps of: A) establishing a miss stack for storing a plurality of cache miss addresses; B) waiting for a cache miss; C) when a cache miss occurs, placing the address of the called information onto the top of the miss stack; D) examining the cache miss addresses resident in the miss stack for a match with a selected address pattern in a current group of a plurality of groups of patterns; E) if the selected pattern is not sensed, determining if all the patterns in the current group have been examined; F) if all the patterns in the current group have not been examined, selecting another pattern in the current group and returning to step D); G) if all the patterns in all the groups in the pattern repertoire have been searched, returning to step B); H) if all the patterns in the current group have been examined, assigning another group as the current group, selecting a pattern from the new current group and returning to step D); and I) if the selected pattern is sensed: 1) using the sensed pattern and at least one of the addresses in the miss stack to calculate a predictive address; 2) prefetching into cache memory the signal group identified by the predictive address; and 3) assigning another group as the current group and returning to step D).
Claim 6
Dependent Claim 28 words
The method of Claim 3 in which, intermediate substeps I)1) and I)3), there is performed substep I)2)a) in which the predictive address is placed onto the miss stack.
Claim 7
Dependent Claim 241 words
Apparatus for developing a predictive address for prefetching information into a cache memory comprising: A) a first in, first out stack for storing a plurality of addresses representing cache misses; B) a plurality of electronic switch means each having a plurality of address inputs and a single address output; C) means coupling said addresses stored in said stack individually to said electronic switch means inputs in predetermined orders; D) means for switching said electronic switch means to transfer said addresses applied to said electronic switch means inputs to said electronic switch outputs to establish at said electronic switch outputs predetermined combinations of said addresses; E) at least two subtraction circuit means each coupled to receive a pair of different addresses from said electronic switch means outputs and to issue a value representing the displacement therebetween; F) at least one comparator circuit means coupled to receive a pair of outputs from a corresponding pair of said subtraction circuit means and responsive thereto for issuing an prefetch enable logic signal if there is a compare condition; and G) predictive address development means adapted to combine one of said addresses appearing at one of said electronic switch outputs and displacement information appearing at one of said subtraction circuit means to obtain a predictive address; whereby, the coordinated presence of said predictive address and said prefetch enable logic signal causes a signal group identified by said predictive address to be prefetched into said cache memory.
Claim 8
Dependent Claim 241 words
Apparatus for developing a predictive address for prefetching information into a cache memory comprising: A) a first in, first out stack for storing a plurality of addresses representing cache misses; B) a plurality of electronic switch means each having a plurality of address inputs and a single address output; C) means coupling said addresses stored in said stack individually to said electronic switch means inputs in predetermined orders; D) means for switching said electronic switch means to transfer said addresses applied to said electronic switch means inputs to said electronic switch outputs to establish at said electronic switch outputs predetermined combinations of said addresses; E) at least two subtraction circuit means each coupled to receive a pair of different addresses from said electronic switch means outputs and to issue a value representing the displacement therebetween; F) at least one comparator circuit means coupled to receive a pair of outputs from a corresponding pair of said subtraction circuit means and responsive thereto for issuing an prefetch enable logic signal if there is a compare condition; and G) predictive address development means adapted to combine one of said addresses appearing at one of said electronic switch outputs and displacement information appearing at one of said subtraction circuit means to obtain a predictive address; whereby, the coordinated presence of said predictive address and said prefetch enable logic signal causes a signal group identified by said predictive address to be prefetched into said cache memory.
Claim 9
Dependent Claim 59 words
The apparatus of Claim 5 which includes at least three of said subtraction circuit means and at least two of said comparator circuit means and which further comprises: A) AND-gate means having separate inputs respectively receiving outputs coupled from said at least two comparator circuit means, said AND-­gate selectively issuing said prefetch enable logic signal only when fully enabled.
Claim 10
Dependent Claim 86 words
The apparatus of Claim 6 which further includes: A) OR-gate means driving at least one input to said AND-gate means, said OR-gate means having inputs receiving: 1. outputs coupled from at least one of said comparator circuits; and 2. a selectively applied reduce lookahead logic signal; whereby, application of said reduce lookahead signal to said OR-gate means partially enables said AND-gate means driven thereby and thus eliminates said at least one of said comparator circuits from consideration in the issuance of said prefetch enable logic signal.

References Cited (Backward Citations)

No citation records indexed.

USPTO Annuity & Maintenance Windows

Maintenance schedule is calculated for granted US utility patents.

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag