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

Processor architecture providing speculative, out of order execution of instructions and trap handling

Assignee: SK Hynix America Inc
•
Filing: 1997-08-15
•
Granted: 1998-11-03
•
Expires: 2017-08-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A processor architecture is described which operates with improved computational efficiency using instruction fetching functions that are decoupled from instruction execution functions by a dynamic register file. The instruction fetching function operates in free-running mode which does not stop if a fetched instruction cannot be executed due to data being unavailable or due to other instruction dependencies. Branch instructions are taken in a predicted direction and the results of execution of all instructions are provisionally stored pending validation or invalidation on the basis of the dependencies becoming available later. For branches of executed instructions that are later invalidated, the results of the executed instructions are flushed from provisional storage and the initial instruction which previously executed at the beginning of a branch on predicted dependencies is re-executed on the actual data that subsequently became available, and all subsequent instructions in such branch are also re-executed on the basis of dependencies actually available from execution of previous instructions in such branch.

Inventors

  • 👤 Valeri Popescu
  • 👤 Merle A. Schultz
  • 👤 Gary A. Gibson
  • 👤 John E. Spracklen
  • 👤 Bruce D. Lightner

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 07:36
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3854; G06F9/3856; G06F9/3802; G06F9/3836; G06F9/3838; G06F9/384; G06F9/3842; G06F9/3844; G06F9/3858; G06F9/3861; G06F9/3863; G06F9/3865; G06F9/3885

Claims Analysis

Total Claims: 14
Claim 1
Independent Claim 350 words
A data processing system for processing information in response to a series of instructions, the data processing system comprising: a register unit that stores information; a fetching unit that continuously fetches instructions from the series of instructions; a shelving unit that receives fetched instructions and stores multiple such instructions in the order fetched; a scheduling unit that continuously selects instructions in the shelving unit for which all information required for execution is stored in one of the register unit or the shelving unit, the shelving unit issuing those instructions for execution in an order independent of the order in which those instructions were fetched and responsive to availability of information needed for execution of said instructions; a plurality of arithmetic units for performing operations on information in one of the register unit or the shelving unit in response to instructions supplied from the shelving unit to generate execution results, the arithmetic unit further coupled to the shelving unit so that the shelving unit receives the results of execution of instructions and is capable of storing the result of the execution of each instruction stored within said shelving unit, the scheduling unit being capable of substantially simultaneously supplying each of several of the arithmetic units with a different instruction from the shelving unit, along with the information needed to execute each of said different instructions stored in either the register unit or the shelving unit, wherein the result of execution of each instruction comprises information indicating the presence or absence of a trapping condition associated with that instruction; a retirement unit that detects whether the result of execution of the oldest instruction in the shelving means indicates the presence of a trapping condition for that instruction and, in the absence of a trapping condition, copies results of the execution of the oldest instruction in the shelving unit into the register unit and removes that instruction from the shelving unit; and a trap handling unit that performs a series of trap handling operations if the retirement unit detects the presence of a trapping condition for the oldest instruction in the shelving unit.
Claim 2
Dependent Claim 350 words
A data processing system for processing information in response to a series of instructions, the data processing system comprising: a register unit that stores information; a fetching unit that continuously fetches instructions from the series of instructions; a shelving unit that receives fetched instructions and stores multiple such instructions in the order fetched; a scheduling unit that continuously selects instructions in the shelving unit for which all information required for execution is stored in one of the register unit or the shelving unit, the shelving unit issuing those instructions for execution in an order independent of the order in which those instructions were fetched and responsive to availability of information needed for execution of said instructions; a plurality of arithmetic units for performing operations on information in one of the register unit or the shelving unit in response to instructions supplied from the shelving unit to generate execution results, the arithmetic unit further coupled to the shelving unit so that the shelving unit receives the results of execution of instructions and is capable of storing the result of the execution of each instruction stored within said shelving unit, the scheduling unit being capable of substantially simultaneously supplying each of several of the arithmetic units with a different instruction from the shelving unit, along with the information needed to execute each of said different instructions stored in either the register unit or the shelving unit, wherein the result of execution of each instruction comprises information indicating the presence or absence of a trapping condition associated with that instruction; a retirement unit that detects whether the result of execution of the oldest instruction in the shelving means indicates the presence of a trapping condition for that instruction and, in the absence of a trapping condition, copies results of the execution of the oldest instruction in the shelving unit into the register unit and removes that instruction from the shelving unit; and a trap handling unit that performs a series of trap handling operations if the retirement unit detects the presence of a trapping condition for the oldest instruction in the shelving unit.
Claim 3
Dependent Claim 48 words
The data processing system according to claim 1, wherein said series of trap handling operations comprises the operation of flushing the instruction corresponding to the trapping condition and all following instructions from the instruction shelving unit by preventing the performance of these operations from updating the register unit.
Claim 4
Dependent Claim 48 words
The data processing system according to claim 2, wherein said series of trap handling operations further comprises the operation of causing the fetching unit to fetch a sequence of trap recovery instructions, whereby said data processing system recovers from said trapping condition by executing said trap recovery instructions.
Claim 5
Dependent Claim 23 words
The data processing system according to claim 3, said trap recovery instructions being fetched from a among a series of operating system instructions.
Claim 6
Dependent Claim 56 words
The data processing system according to claim 3, wherein said series of trap handling operations further comprises the operation of, after recovery of said data processing system from said trapping condition, forcing said fetching unit to re-fetch the instruction immediately following the instruction corresponding to the operation whose result indicates the presence of a trapping condition.
Claim 7
Dependent Claim 52 words
The data processing system according to claim 3, wherein said series of trap handling operations further comprises the operation of, after recovery of said data processing system from said trapping condition, forcing said fetching unit to re-fetch the instruction corresponding to the operation whose result indicates the presence of a trapping condition.
Claim 8
Dependent Claim 357 words
A data processing system for processing information in response to a series of instructions, the data processing system comprising: register means for storing information; fetching means for continuously fetching instructions from the series of instructions; shelving means coupled to the fetching means to receive fetched instructions and to store multiple such instructions in the order fetched; scheduling means coupled to the shelving means for continuously selecting instructions in the shelving means for which all information required for execution is stored in one of the register means or the shelving means and for issuing those instructions for executing in an order independent of the order in which those instructions were fetched and responsive to availability of information needed for execution of said instructions; multiple arithmetic means coupled to the scheduling means for simultaneously performing operations on information in one of the register means or the shelving means in response to instructions supplied from the shelving means to generate execution results, the arithmetic means further coupled to the shelving means so that the shelving means receives the results of execution of instructions and is capable of storing the result of the execution of each instruction stored within said shelving means, the scheduling means being capable of simultaneously supplying each of several of the arithmetic means with a different instruction from the shelving means, along with the information needed to execute each of said different instructions stored in either the register means or the shelving means, wherein the result of execution of each instruction comprises information indicating the presence or absence of a trapping condition associated with that instruction; retirement means for detecting whether the result of execution of the oldest instruction in the shelving means indicates the presence of a trapping condition for that instruction and, in the absence of a trapping condition, copying results of the execution of the oldest instruction in the shelving means into the register means and removing that instruction from the shelving means; and trap handling means for performing a series of trap handling operations if the retirement means detects the presence of a trapping condition for the oldest instruction in the shelving means.
Claim 9
Dependent Claim 357 words
A data processing system for processing information in response to a series of instructions, the data processing system comprising: register means for storing information; fetching means for continuously fetching instructions from the series of instructions; shelving means coupled to the fetching means to receive fetched instructions and to store multiple such instructions in the order fetched; scheduling means coupled to the shelving means for continuously selecting instructions in the shelving means for which all information required for execution is stored in one of the register means or the shelving means and for issuing those instructions for executing in an order independent of the order in which those instructions were fetched and responsive to availability of information needed for execution of said instructions; multiple arithmetic means coupled to the scheduling means for simultaneously performing operations on information in one of the register means or the shelving means in response to instructions supplied from the shelving means to generate execution results, the arithmetic means further coupled to the shelving means so that the shelving means receives the results of execution of instructions and is capable of storing the result of the execution of each instruction stored within said shelving means, the scheduling means being capable of simultaneously supplying each of several of the arithmetic means with a different instruction from the shelving means, along with the information needed to execute each of said different instructions stored in either the register means or the shelving means, wherein the result of execution of each instruction comprises information indicating the presence or absence of a trapping condition associated with that instruction; retirement means for detecting whether the result of execution of the oldest instruction in the shelving means indicates the presence of a trapping condition for that instruction and, in the absence of a trapping condition, copying results of the execution of the oldest instruction in the shelving means into the register means and removing that instruction from the shelving means; and trap handling means for performing a series of trap handling operations if the retirement means detects the presence of a trapping condition for the oldest instruction in the shelving means.
Claim 10
Dependent Claim 49 words
The data processing system according to claim 7, wherein said series of trap handling operations comprises the operation of flushing the instruction corresponding to the trapping condition and all following instructions from the instruction shelving means by preventing the performance of these operations from updating the register means .
Claim 11
Dependent Claim 48 words
The data processing system according to claim 8, wherein said series of trap handling operations further comprises the operation of causing the fetching means to fetch a sequence of trap recovery instructions, whereby said data processing system recovers from said trapping condition by executing said trap recovery instructions.
Claim 12
Dependent Claim 27 words
The data processing system according to claim 9, said trap recovery instructions being fetched from a among a series of operating system instructions stored in a memory.
Claim 13
Dependent Claim 56 words
The data processing system according to claim 9, wherein said series of trap handling operations further comprises the operation of, after recovery of said data processing system from said trapping condition, forcing said fetching unit to re-fetch the instruction immediately following the instruction corresponding to the operation whose result indicates the presence of a trapping condition.
Claim 14
Dependent Claim 52 words
The data processing system according to claim 9, wherein said series of trap handling operations further comprises the operation of, after recovery of said data processing system from said trapping condition, forcing said fetching unit to re-fetch the instruction corresponding to the operation whose result indicates the presence of a trapping condition.

References Cited (Backward Citations)

US5226126A Cited
US5682492A Cited
US5072364A Cited
US5075844A Cited
US5628024A Cited
US5487156A Cited
US5592636A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-11-02 2002-05-04 2002-11-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-11-02 2006-05-04 2006-11-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-11-02 2010-05-04 2010-11-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag