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

Apparatus for detecting and executing traps in a superscalar processor

Assignee: SK Hynix America Inc
•
Filing: 1995-04-28
•
Granted: 1997-11-25
•
Expires: 2015-04-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Apparatus for detecting and executing trapping program instructions in a superscalar processor operating on a plurality of pipelined instructions includes a fetch stage for fetching consecutive instructions from an instruction cache or from main memory, an instruction FIFO memory for storing fetched instructions from the fetch stage, and an instruction decode stage for removing instructions from the FIFO memory in accordance with relative ages of instructions stored in the FIFO memory. The decode stage examines instructions removed from the FIFO memory for trapping conditions, and flushes all younger instructions from the FIFO memory in response to identification of a trap in an instruction. The decode stage distinguishes between hardware traps and software traps. A software trapping instruction is forwarded to an execute stage for execution. The decode stage immediately causes the fetch address to be changed to the appropriate trap handler address.

Inventors

  • 👤 David L. Isaman

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 14:19
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/30094; G06F9/30098; G06F9/30101; G06F9/32; G06F9/322; G06F9/327; G06F9/38; G06F9/3818; G06F9/382; G06F9/3836; G06F9/3838; G06F9/3842; G06F9/3854; G06F9/3858; G06F9/3861

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 244 words
A method of responding to trapping conditions in a pipelined superscalar computer, said computer comprising several processing stages including a decode stage for examining at each clock cycle one or more instructions from a sequence of instructions and a plurality of state registers coupled to the decode stage for indicating the operating state of the computer, and an execution stage coupled to said decode stage for receiving decoded instructions supplied by the decode stage, assessing whether any of said decoded instructions satisfies any of a first set of trapping conditions, and performing a specified trap action for any instruction that does satisfy any of said set, said method comprising the steps at the decode stage of: a) assessing whether any instruction being examined at the decode stage satisfies any of a second set of issue-time trapping conditions, said second set of issue-time traps being a subset of and disjointed from said first set of trapping conditions; and b) when any instruction so assessed at the decode stage is determined to satisfy one of said second set of issue-time trapping conditions, then performing at the decode stage the substeps of: (i) preventing the first such instruction in said sequence, as well as all of the one or more instructions that follow said first such instruction in said sequence, from being supplied to the execution stage; and (ii) performing a specified trap action without waiting for completion of all previously issued instructions in the execution stage.
Claim 2
Independent Claim 244 words
A method of responding to trapping conditions in a pipelined superscalar computer, said computer comprising several processing stages including a decode stage for examining at each clock cycle one or more instructions from a sequence of instructions and a plurality of state registers coupled to the decode stage for indicating the operating state of the computer, and an execution stage coupled to said decode stage for receiving decoded instructions supplied by the decode stage, assessing whether any of said decoded instructions satisfies any of a first set of trapping conditions, and performing a specified trap action for any instruction that does satisfy any of said set, said method comprising the steps at the decode stage of: a) assessing whether any instruction being examined at the decode stage satisfies any of a second set of issue-time trapping conditions, said second set of issue-time traps being a subset of and disjointed from said first set of trapping conditions; and b) when any instruction so assessed at the decode stage is determined to satisfy one of said second set of issue-time trapping conditions, then performing at the decode stage the substeps of: (i) preventing the first such instruction in said sequence, as well as all of the one or more instructions that follow said first such instruction in said sequence, from being supplied to the execution stage; and (ii) performing a specified trap action without waiting for completion of all previously issued instructions in the execution stage.
Claim 3
Dependent Claim 61 words
The method according to claim 1 in which said computer includes a fetch stage for reading in each clock cycle one or more instructions from an instruction memory at consecutive addresses starting with that contained in a fetch address register; and said specified trap action includes forcing the address contained in said fetch address register to be a trap handler address.
Claim 4
Dependent Claim 113 words
The method according to claim 2 in which: said fetch stage includes an instruction buffer, coupled to the instruction memory and to the decode stage; the fetch stage writing one or more of the instructions that it reads from the instruction memory in a clock cycle into said instruction buffer at the end of that cycle; the one or more instructions from said sequence examined by the decode stage at each clock cycle being among those contained in the instruction buffer; and said trap action including the further step of emptying the instruction buffer and preventing any more instructions from being written into the instruction buffer before said fetch-address-forcing step has been completed.
Claim 5
Dependent Claim 79 words
The method according to claim 2 in which: each member of said set of trapping conditions has a relative priority, said trap handler address is a function of the highest priority among all the trapping conditions satisfied by said first such instruction in said sequence, and when said first such instruction in said sequence satisfies any issue-time trapping condition, then the highest priority among all the trapping conditions satisfied by said first such instruction is an issue-time trapping condition.
Claim 6
Dependent Claim 44 words
The method according to claim 4 in which the specified trap action includes the further step of writing into a trap type register a number uniquely identifying said highest priority among all the trapping conditions satisfied by said first such instruction in said sequence.
Claim 7
Dependent Claim 35 words
The method according to claim 2 in which said specified trap action includes the further step of writing the instruction memory address from which was read said first such instruction into a trap address register.
Claim 8
Dependent Claim 47 words
The method according to claim 6 in which the decode stage performs said further step by creating and supplying to the execution stage a pseudo-instruction containing said instruction memory address, said pseudo-instruction causing the execution stage to write the instruction memory address into the trap address register.
Claim 9
Dependent Claim 52 words
The method according to claim 1 in which said computer includes a plurality of state registers coupled to the decode stage for indicating the operating state of the computer, each issue-time trapping condition depending on values in said state registers, and said assessing step includes examining the contents of the state registers.
Claim 10
Dependent Claim 64 words
The method according to claim 8 in which, for each state register, certain instructions in said sequence of instructions modify said state register, and the value in said state register used in assessing the trapping conditions for any instruction in said sequence depends only on the result of executing the instruction most immediately preceding said instruction in said sequence that modifies said state register.
Claim 11
Dependent Claim 99 words
The method according to claim 9 and including the further steps of: c) recognizing all instructions among said instructions examined at the decode stage that modify any of the state registers upon which depend any issue-time trapping conditions; and d) for any modifying instruction so recognized, refusing to supply from the decode stage to the execution stage any instruction following said modifying instruction in said sequence whose trapping conditions depend on any of the state registers modified by said recognized modifying instruction, until such time that the results of the modifying instruction have been written into said state registers.
Claim 12
Dependent Claim 73 words
The method according to claim 9 and including the further step of: (c) recognizing among said one or more instructions examined at the decode stage certain of the instructions that modify state registers upon which depend any issue-time trapping conditions; and the assessing step including for any of said instructions examined, considering the effect on the state register values of any modifying instruction so recognized that precedes said assessed instruction in said sequence.

References Cited (Backward Citations)

US4179737A Cited
US4912635A Cited
US5136696A Cited
US5327567A Cited
US5394529A Cited
EP0514092A2 Cited
WO1993001563A1 Cited
US5448705A Cited
EP0529305A2 Cited
US5442756A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-11-24 2001-05-26 2001-11-25 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-11-24 2005-05-26 2005-11-25 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-11-24 2009-05-26 2009-11-25 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag