US5553254A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Instruction cache access and prefetch process controlled by a predicted instruction-path mechanism
Assignee: International Business Machines Corp
•
Filing: 1994-12-20
•
Granted: 1996-09-03
•
Expires: 2014-12-20
Abstract
Abstract A first-in-first-out queue is used to manage instruction sequence execution from an instruction cache in a computer processor. Fields are provided in the queue element structure for not only referencing the correct instruction cache line but also for specifying cache line subsequences and the location of branch instructions so as to cause subsequent execution from other cache lines. The structure is particularly supportive of instruction loops and provides significant performance improvement through the elimination of unnecessary cache line writeovers.
Inventors
- 👤 Viktors Berstis
- 👤 Raymond J. Pedersen
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 20:55
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3804; G06F9/3806
Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
179 words
An apparatus for controlling execution sequencing of computer instructions stored within a cache memory, said apparatus comprising: an instruction cache memory storing a plurality of individually addressable cache lines for a plurality of instruction sequences; a first-in-first-out memory array queue storing a plurality of queue elements for controlling the operations of said instruction cache memory; pointer means for providing an indication of a current one of the elements in said queue; means for selecting a current one of the elements in said memory array queue; said selected one of the elements in said memory array queue containing a plurality of fields for controlling the operation of said instruction cache memory; a first one of said fields identifying an entry point which indicates one of said cache lines in said instruction cache memory for one of said instruction sequences; and a second one of said fields in said memory array queue identifying an address of an instruction contained within said selected instruction sequence for selecting the first instruction of said selected instruction sequence which is to be decoded and executed.
Claim 2
Independent Claim
179 words
An apparatus for controlling execution sequencing of computer instructions stored within a cache memory, said apparatus comprising: an instruction cache memory storing a plurality of individually addressable cache lines for a plurality of instruction sequences; a first-in-first-out memory array queue storing a plurality of queue elements for controlling the operations of said instruction cache memory; pointer means for providing an indication of a current one of the elements in said queue; means for selecting a current one of the elements in said memory array queue; said selected one of the elements in said memory array queue containing a plurality of fields for controlling the operation of said instruction cache memory; a first one of said fields identifying an entry point which indicates one of said cache lines in said instruction cache memory for one of said instruction sequences; and a second one of said fields in said memory array queue identifying an address of an instruction contained within said selected instruction sequence for selecting the first instruction of said selected instruction sequence which is to be decoded and executed.
Claim 3
Dependent Claim
24 words
The apparatus of claim 1 in which a third one of said fields indicates whether or not said first instruction is a branch instruction.
Claim 4
Dependent Claim
37 words
The apparatus of claim 1 in which a fourth one of said fields indicates the end portion of said branch instruction when said third field indicates the presence of a branch instruction within the selected instruction sequence.
Claim 5
Independent Claim
124 words
The method for controlling execution sequencing of computer instructions stored within a cache memory comprising the steps of: prefetching instruction data for storage in cache lines of an instruction cache memory; assembling queue information elements which reference said cache line for controlling the operation of said instruction cache memory, said information elements being stored in a first-in-first-out memory array queue; and causing an instruction sequence made up of at least a portion of said individual cache lines to be transferred from a designated cache line of said instruction cache memory to the execution portion of a computer processor, said transfer to said execution portion being directly controlled by a selected queue element of said memory array queue which specifies an instruction cache entry point.
Claim 6
Independent Claim
124 words
The method for controlling execution sequencing of computer instructions stored within a cache memory comprising the steps of: prefetching instruction data for storage in cache lines of an instruction cache memory; assembling queue information elements which reference said cache line for controlling the operation of said instruction cache memory, said information elements being stored in a first-in-first-out memory array queue; and causing an instruction sequence made up of at least a portion of said individual cache lines to be transferred from a designated cache line of said instruction cache memory to the execution portion of a computer processor, said transfer to said execution portion being directly controlled by a selected queue element of said memory array queue which specifies an instruction cache entry point.
Claim 7
Dependent Claim
24 words
The method of claim 4 in which said selected queue element also designates locations within the designated cache line of said instruction cache memory.
Claim 8
Dependent Claim
25 words
The method of claim 5 in which a first one of said locations indicates whether or not a branch instruction is within said instruction sequence.
Claim 9
Dependent Claim
37 words
The method of claim 6 in which a second one of said locations indicates the beginning portion of a branch instruction when said first location indicates the presence of a branch instruction is within said instruction sequence.
Claim 10
Dependent Claim
21 words
The method of claim 7 in which a third one of said locations indicates the end portion of said branch instruction.
References Cited (Backward Citations)
US4435756A
Cited
US4716994A
Cited
US4743908A
Cited
US4855904A
Cited
US4881163A
Cited
US4847753A
Cited
US5257359A
Cited
US5317701A
Cited
US5226130A
Cited
US5230068A
Cited
US5327536A
Cited
US5287487A
Cited
US5442756A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-09-03 | 2000-03-04 | 2000-09-03 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-09-03 | 2004-03-04 | 2004-09-03 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-09-03 | 2008-03-04 | 2008-09-03 | $7700.00 | Window Closed / Lapsed |