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

RISC microprocessor architecture implementing fast trap and exception state

Assignee: Samsung Electronics Co Ltd
•
Filing: 1994-11-21
•
Granted: 1996-01-02
•
Expires: 2014-11-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Fast trap mechanism for a microprocessor, wherein a vector trap table is maintained which contains space for a plurality of instructions in each table entry. When a fast trap occurs, control is transferred directly into the table entry corresponding to the trap number. The trap handler can be located completely inside the table entry, or it can transfer control to additional handler code.

Inventors

  • 👤 Le T. Nguyen
  • 👤 Derek J. Lentz
  • 👤 Yoshiyuki Miyayama
  • 👤 Sanjiv Garg
  • 👤 Yasuaki Hagiwara
  • 👤 Johannes Wang
  • 👤 Quang Trang

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 20:21
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3861; G06F9/3865; G06F15/00; G06F15/76; G06F15/78; G06F15/7839; G06F15/7842; G06F9/3017; G06F9/32; G06F9/322; G06F9/323; G06F9/3802; G06F9/3804; G06F9/3814; G06F9/3836; G06F9/3838; G06F9/384; G06F9/3854; G06F9/3858; G06F9/3885; G06F9/46; G06F9/461; G06F9/462; G06F9/48; G06F9/4806; G06F9/4812

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 129 words
A method for handling traps in a microprocessor, comprising the steps of: prefetching instructions from an instruction stream for subsequent execution by said microprocessor into any one of a plurality of prefetch buffers comprising the group of a main buffer portion, a target buffer portion and a procedural buffer portion; transferring prefetched instructions from one of said buffer portions to a prefetch buffer output bus for execution during an execution time; detecting, prior to a given execution time being the execution time for a given one of said prefetched instructions, whether said given one of said instructions has had any of a first class of synchronous exceptions; and invoking an exception handler during said given execution time if said given one of said instructions has had a synchronous exception.
Claim 2
Independent Claim 129 words
A method for handling traps in a microprocessor, comprising the steps of: prefetching instructions from an instruction stream for subsequent execution by said microprocessor into any one of a plurality of prefetch buffers comprising the group of a main buffer portion, a target buffer portion and a procedural buffer portion; transferring prefetched instructions from one of said buffer portions to a prefetch buffer output bus for execution during an execution time; detecting, prior to a given execution time being the execution time for a given one of said prefetched instructions, whether said given one of said instructions has had any of a first class of synchronous exceptions; and invoking an exception handler during said given execution time if said given one of said instructions has had a synchronous exception.
Claim 3
Dependent Claim 23 words
A method according to claim 1, wherein said step of prefetching comprises the step of prefetching a plurality of instructions at a time.
Claim 4
Dependent Claim 20 words
A method according to claim 1, wherein said first class of exceptions are faults occurring during said step of prefetching.
Claim 5
Dependent Claim 35 words
A method according to claim 1, further comprising the step of detecting, during said given execution time, whether said given one of said instructions has had any one of an execution class of synchronous exceptions.
Claim 6
Dependent Claim 21 words
A method according to claim 1, further comprising the step of executing instructions out-of-order relative to their order in said stream.
Claim 7
Dependent Claim 26 words
A method according to claim 1, further comprising the step of executing a plurality of instructions during said execution time as well as subsequent execution times.
Claim 8
Dependent Claim 68 words
A method according to claim 1, wherein said microprocessor is capable of executing a plurality of instructions from a sequence of instructions during a single execution time, further comprising the steps of: scheduling a given plurality of instructions for execution during said given execution time; and determining said given one of said instructions as the sequentially first instruction in said given plurality which has had a synchronous exception.
Claim 9
Dependent Claim 40 words
A method according to claim 7, further comprising the step of detecting, during said given execution time and prior to said step of determining, whether each instruction in said given plurality has had any of an execution class of exceptions.
Claim 10
Dependent Claim 80 words
A method according to claim 8, wherein said execution class of exceptions includes a second exception type which is dependent upon the state of at least one processor status bit during said given execution time, wherein said microprocessor is capable of executing instructions out-of-order relative to their order in said sequence of instructions, further comprising the step of scheduling all instructions which can modify said processor status bit to execute in the same sequence as in said sequence of instructions.
Claim 11
Dependent Claim 87 words
A method according to claim 7, wherein said step of executing comprises the steps of: tentatively executing a plurality of instructions scheduled for execution and storing any results of said tentative execution in temporary registers; and copying results from said temporary registers into permanent registers upon retirement of an instruction, further comprising the steps of: retiring all instructions in said given plurality which were sequentially prior to said given instruction; and cancelling all instructions in said given plurality which were sequentially subsequent to said sequentially first instruction.
Claim 12
Dependent Claim 16 words
A method according to claim 10, further comprising the step of cancelling said sequentially first instruction.
Claim 13
Dependent Claim 160 words
Apparatus for handling exceptions in a microprocessor, for use with a source of instructions and an exception handler, comprising: execution means for executing instructions provided thereto; prefetch means for prefetching instructions from said source of instructions into any one of a plurality of prefetch buffers comprising the group of a main buffer portion, a target buffer portion and a procedural buffer portion; and transferring prefetched instructions from one of said buffer portions to a prefetch buffer output bus to thereby provide said prefetched instructions to said execution means in a particular sequence, wherein said prefetch means includes indicator means for indicating, in correspondence with said instructions provided to said execution means, whether a synchronous prefetch exception has occurred relative to said given instruction, and wherein said execution means includes invoking means, responsive to said indicator means, for invoking an exception handler if a synchronous exception has occurred relative to an instruction provided to said execution means by said prefetch means.
Claim 14
Dependent Claim 160 words
Apparatus for handling exceptions in a microprocessor, for use with a source of instructions and an exception handler, comprising: execution means for executing instructions provided thereto; prefetch means for prefetching instructions from said source of instructions into any one of a plurality of prefetch buffers comprising the group of a main buffer portion, a target buffer portion and a procedural buffer portion; and transferring prefetched instructions from one of said buffer portions to a prefetch buffer output bus to thereby provide said prefetched instructions to said execution means in a particular sequence, wherein said prefetch means includes indicator means for indicating, in correspondence with said instructions provided to said execution means, whether a synchronous prefetch exception has occurred relative to said given instruction, and wherein said execution means includes invoking means, responsive to said indicator means, for invoking an exception handler if a synchronous exception has occurred relative to an instruction provided to said execution means by said prefetch means.
Claim 15
Dependent Claim 40 words
Apparatus according to claim 12, wherein said execution means further includes detection means for detecting a synchronous execution exception occurring relative to an instruction being executed by said execution means, said invoking means further being responsive to said detection means.
Claim 16
Independent Claim 112 words
An apparatus for handling traps in a microprocessor, comprising: means for prefetching an instruction; a main buffer to store said prefetched instruction if it is from a main instruction stream; a target buffer to store said prefetched instruction if it is from a branch instruction stream; an emulation buffer to store a trap handler if said prefetched instruction causes an exception, regardless of whether said prefetched instruction was stored in said main buffer or said target buffer; and means for determining whether said prefetched instruction should be placed in said main buffer, said target buffer or said emulation buffer; in the event that said prefetched instruction is part of said trap handler.
Claim 17
Independent Claim 112 words
An apparatus for handling traps in a microprocessor, comprising: means for prefetching an instruction; a main buffer to store said prefetched instruction if it is from a main instruction stream; a target buffer to store said prefetched instruction if it is from a branch instruction stream; an emulation buffer to store a trap handler if said prefetched instruction causes an exception, regardless of whether said prefetched instruction was stored in said main buffer or said target buffer; and means for determining whether said prefetched instruction should be placed in said main buffer, said target buffer or said emulation buffer; in the event that said prefetched instruction is part of said trap handler.
Claim 18
Dependent Claim 31 words
The apparatus of claim 14, further comprising a flow through path for permitting said instruction to bypass said main, target and emulation buffers and be passed to an instruction execution unit.
Claim 19
Dependent Claim 53 words
The apparatus of claim 14, wherein said determination means comprises a prefetch status array, said prefetch status array further comprising: for each of said main buffer, said target buffer, said emulation buffer, or bypassed to said flow through path, a status register comprising an ID value, a reserve indicator and a valid indicator.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-01-01 1999-07-03 2000-01-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-01-01 2003-07-03 2004-01-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-01-01 2007-07-03 2008-01-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag