Patent US4974154A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4974154A Expired / Lapsed US ⏱️ 0.0 years remaining

Computer with instruction prefetch queue retreat unit

Assignee: Mitsubishi Electric Corp
•
Filing: 1987-10-06
•
Granted: 1990-11-27
•
Expires: 2007-10-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A computer comprises an instruction execution unit for running a first instruction loaded in an area classified by a first area recognition symbol of a storage for loading a plurality of instructions in a plurality of areas ordered by the area recognition symbols. An instruction analyzer (instruction decoding unit) is connected to said instruction execution unit for analyzing a second instruction loaded in an area classified by a second area recognition symbol. An instruction prefetch queue is connected between the instruction decoding unit and the main memory storage. A target prediction unit (branch target buffer) for predicting whether or not the second instruction is a branch instruction for running a fourth instruction loaded in an area classified by a fourth area recognition symbol is connected to the instruction prefetch queue, and an instruction prefetch queue retreat unit, wherein a part or all of the third instructions fetched in the instruction prefetch unit is stored temporarily when the target prediction unit predicts that the fourth instruction will be executed after instruction of the second instruction, is connected to the instruction prefetch queue and the instruction analyzer.

Inventors

  • 👤 Masahito Matsuo

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 10:45
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3802; G06F9/3804; G06F9/3806; G06F9/3836; G06F9/3842; G06F9/3844

Claims Analysis

Total Claims: 6
Claim 1
Independent Claim 380 words
A computer comprising: (a) an instruction execution unit for running a first instruction loaded in an area classified by a first area recognition symbol of a storage for loading a plurality of instructions in a plurality of areas ordered by the area recognition symbols according to a fixed regulation; (b) an instruction analyzer connected to said instruction execution unit for analyzing a second instruction loaded in an area classified by a second area recognition symbol while said first instruction is executed by said instruction execution unit; (c) an instruction prefetch unit connected to said instruction analyzer for prefetching and storing third instructions loaded in an area classified by a third area recognition symbol which is sequential to the area classified by said second area recognition symbol of said storage while said second instruction is analyzed by said instruction analyzer; (d) a target prediction unit connected to said instruction prefetch unit for predicting whether or not said second instruction is a branch instruction for running a fourth instruction loaded in an area classified by a fourth area recognition symbol which is not sequential to the area classified by said second area recognition symbol of said storage after execution of said second instruction, before said instruction execution unit executes said second instruction, and sending to said instruction prefetch unit the fourth area recognition symbol when branching is predicted by said branch instruction; (e) an instruction prefetch queue retreat unit connected to said instruction prefetch unit and said instruction analyzer, wherein a part or all of said third instructions stored in said instruction prefetch unit is stored temporarily when said target prediction unit predicts that said fourth instruction will be executed after execution of said second instruction, which is characterized in that said instruction analyzer fetches in the instructions stored in said instruction prefetch queue retreat unit when branching doesn't occur on said branch instruction, notwithstanding the fact that branching was predicted by the branch instruction; and, (f) means for clearing third instructions which are sequential to said fourth instruction from said instruction prefetch unit when a sequence of instructions is fetched from said instruction prefetch queue retreat unit, and for thereafter storing instructions subsequent to said sequence of instructions fetched from said instruction prefetch queue retreat unit in said instruction prefetch unit.
Claim 2
Dependent Claim 380 words
A computer comprising: (a) an instruction execution unit for running a first instruction loaded in an area classified by a first area recognition symbol of a storage for loading a plurality of instructions in a plurality of areas ordered by the area recognition symbols according to a fixed regulation; (b) an instruction analyzer connected to said instruction execution unit for analyzing a second instruction loaded in an area classified by a second area recognition symbol while said first instruction is executed by said instruction execution unit; (c) an instruction prefetch unit connected to said instruction analyzer for prefetching and storing third instructions loaded in an area classified by a third area recognition symbol which is sequential to the area classified by said second area recognition symbol of said storage while said second instruction is analyzed by said instruction analyzer; (d) a target prediction unit connected to said instruction prefetch unit for predicting whether or not said second instruction is a branch instruction for running a fourth instruction loaded in an area classified by a fourth area recognition symbol which is not sequential to the area classified by said second area recognition symbol of said storage after execution of said second instruction, before said instruction execution unit executes said second instruction, and sending to said instruction prefetch unit the fourth area recognition symbol when branching is predicted by said branch instruction; (e) an instruction prefetch queue retreat unit connected to said instruction prefetch unit and said instruction analyzer, wherein a part or all of said third instructions stored in said instruction prefetch unit is stored temporarily when said target prediction unit predicts that said fourth instruction will be executed after execution of said second instruction, which is characterized in that said instruction analyzer fetches in the instructions stored in said instruction prefetch queue retreat unit when branching doesn't occur on said branch instruction, notwithstanding the fact that branching was predicted by the branch instruction; and, (f) means for clearing third instructions which are sequential to said fourth instruction from said instruction prefetch unit when a sequence of instructions is fetched from said instruction prefetch queue retreat unit, and for thereafter storing instructions subsequent to said sequence of instructions fetched from said instruction prefetch queue retreat unit in said instruction prefetch unit.
Claim 3
Dependent Claim 15 words
The computer defined in claim 1, wherein said instruction analyzer comprises an instruction decoding unit.
Claim 4
Dependent Claim 16 words
The computer defined in claim 2, wherein said instruction prefetch unit is an instruction prefetch queue.
Claim 5
Independent Claim 237 words
A method of fetching instructions from an instruction prefetch queue retreat unit located in a computer having a memory, an instruction prefetch queue storing prefetched instructions, an instruction decoding unit, a branch target buffer, an instruction execution unit and an instruction prefetch queue retreat unit, said method comprising the steps of: a. fetching an instruction from said instruction prefetch queue and supplying the fetched instruction to said instruction decoding unit; b. commencing decoding of said fetched instruction and inquiring of said branch target buffer for a target instruction address; c. when branching is predicted by said branch target buffer, storing a part or all the prefetched instructions of said instruction prefetch queue in said instruction prefetch queue retreat unit; d. clearing said instruction prefetch queue; e. fetching a target instruction having the target instruction address predicted by said branch target buffer and queueing additional instructions subsequent to said target instruction in said instruction prefetch queue; f. delivering said fetched target instruction to said instruction decoding unit; g. when the branching prediction is true, executing the target instruction which has been decoded by said instruction decoding unit; h. when the branching prediction is missed, cancelling result decoded by said instruction decoding unit, clearing said instruction prefetch queue, fetching the instructions previously stored in said instruction prefetch queue retreat unit, and storing instructions subsequent to the instructions contained in the prefetch queue retreat unit in said instruction prefetch queue.
Claim 6
Independent Claim 237 words
A method of fetching instructions from an instruction prefetch queue retreat unit located in a computer having a memory, an instruction prefetch queue storing prefetched instructions, an instruction decoding unit, a branch target buffer, an instruction execution unit and an instruction prefetch queue retreat unit, said method comprising the steps of: a. fetching an instruction from said instruction prefetch queue and supplying the fetched instruction to said instruction decoding unit; b. commencing decoding of said fetched instruction and inquiring of said branch target buffer for a target instruction address; c. when branching is predicted by said branch target buffer, storing a part or all the prefetched instructions of said instruction prefetch queue in said instruction prefetch queue retreat unit; d. clearing said instruction prefetch queue; e. fetching a target instruction having the target instruction address predicted by said branch target buffer and queueing additional instructions subsequent to said target instruction in said instruction prefetch queue; f. delivering said fetched target instruction to said instruction decoding unit; g. when the branching prediction is true, executing the target instruction which has been decoded by said instruction decoding unit; h. when the branching prediction is missed, cancelling result decoded by said instruction decoding unit, clearing said instruction prefetch queue, fetching the instructions previously stored in said instruction prefetch queue retreat unit, and storing instructions subsequent to the instructions contained in the prefetch queue retreat unit in said instruction prefetch queue.

References Cited (Backward Citations)

US4626988A Cited
US4742451A Cited
US4691277A Cited
US4679141A Cited
US4714994A Cited
US4763245A Cited
US4758949A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag