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
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.
References Cited (Backward Citations)
US3346851A
Cited
US3771138A
Cited
US4034349A
Cited
US4315314A
Cited
GB2011682A
Cited
US4200927A
Cited
US4228495A
Cited
US4296470A
Cited
US4410939A
Cited
US4459657A
Cited
US4434641A
Cited
EP0136179A2
Cited
JPS60225943A
Cited
EP0171595A2
Cited
FR2575564A1
Cited
US4752873A
Cited
US4942525A
Cited
US4926323A
Cited
US5003462A
Cited
US4897810A
Cited
EP0354585A2
Cited
EP0368332A2
Cited
EP0372751A2
Cited
EP0377991A2
Cited
EP0402856A2
Cited
EP0419105A2
Cited
EP0426393A2
Cited
EP0479390A2
Cited
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 |