US5574872A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling
Assignee: Intel Corp
•
Filing: 1994-06-23
•
Granted: 1996-11-12
•
Expires: 2014-06-23
Abstract
Abstract A processor and method implemented in a processor, having a pipeline and trap generation capabilities, for indicating a pipelined instruction and for generating a trap upon modification of the pipeline. Improved trap handling capabilities and improved overall system performance is provided by reducing unnecessary saving and restoring of the pipeline during certain trap handling procedures, such as those that do not modify the state of the pipeline.
Inventors
- 👤 Shai Rotem
- 👤 Benny Lavi
- 👤 Michael Kagan
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-05 03:56
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3861; G06F9/46; G06F9/461
Claims Analysis
Total Claims: 20
Claim 1
Independent Claim
143 words
A method in a processor performed during handling of a first trap which occurs while executing a first instruction, the processor having a pipeline with a plurality of stages, a first indicator denoting an instruction which uses said pipeline, and a second indicator denoting whether to generate a trap on use of said pipeline, said method comprising the steps of: (a) saving said first indicator and said second indicator; (b) activating said second indicator and clearing said first indicator and continuing said handling of said first trap; (c) clearing said first indicator and said second indicator and saving said pipeline responsive to a second trap being generated during said handling of said first trap; (d) continuing said handling of said first trap; (e) restoring said first indicator and said second indicator; (f) restoring said pipeline; and (g) resuming execution at said first instruction.
Claim 2
Independent Claim
143 words
A method in a processor performed during handling of a first trap which occurs while executing a first instruction, the processor having a pipeline with a plurality of stages, a first indicator denoting an instruction which uses said pipeline, and a second indicator denoting whether to generate a trap on use of said pipeline, said method comprising the steps of: (a) saving said first indicator and said second indicator; (b) activating said second indicator and clearing said first indicator and continuing said handling of said first trap; (c) clearing said first indicator and said second indicator and saving said pipeline responsive to a second trap being generated during said handling of said first trap; (d) continuing said handling of said first trap; (e) restoring said first indicator and said second indicator; (f) restoring said pipeline; and (g) resuming execution at said first instruction.
Claim 3
Independent Claim
120 words
A method performed during handling of a trap generated by a first instruction in a processor having a pipeline and a means for indicating use of the pipeline by an instruction, the method comprising the steps of: (a) determining whether said means for indicating use of the pipeline is activated; (b) if said means for indicating use of the pipeline is activated, then saving a first state of said pipeline, otherwise continuing said handling of said trap absent said saving; (c) completing said handling of said trap; (d) if said means for indicating use of the pipeline was activated then restoring the pipeline to said first state, otherwise leaving said pipeline unmodified; and (e) resuming execution at said first instruction.
Claim 4
Independent Claim
120 words
A method performed during handling of a trap generated by a first instruction in a processor having a pipeline and a means for indicating use of the pipeline by an instruction, the method comprising the steps of: (a) determining whether said means for indicating use of the pipeline is activated; (b) if said means for indicating use of the pipeline is activated, then saving a first state of said pipeline, otherwise continuing said handling of said trap absent said saving; (c) completing said handling of said trap; (d) if said means for indicating use of the pipeline was activated then restoring the pipeline to said first state, otherwise leaving said pipeline unmodified; and (e) resuming execution at said first instruction.
Claim 5
Dependent Claim
13 words
The method of claim 2 wherein said completing step (c) modifies said pipeline.
Claim 6
Dependent Claim
13 words
The method of claim 2 wherein said pipeline comprises a plurality of stages.
Claim 7
Dependent Claim
22 words
The method of claim 2 wherein said pipeline comprises a multiplier pipeline, an adder pipeline, a graphics pipeline, and a loader pipeline.
Claim 8
Independent Claim
89 words
An apparatus comprising: a floating point unit which executes instructions in a pipeline; said pipeline having a plurality of pipeline stages; a processor status register having a plurality of bits, the plurality of bits including a first bit; and a trap handler for servicing traps, said trap handler also for saving the pipeline during servicing of a trap responsive to said first bit being in a first state, said trap handler for servicing the trap without saving the pipeline responsive to said first bit being in a second state.
Claim 9
Independent Claim
89 words
An apparatus comprising: a floating point unit which executes instructions in a pipeline; said pipeline having a plurality of pipeline stages; a processor status register having a plurality of bits, the plurality of bits including a first bit; and a trap handler for servicing traps, said trap handler also for saving the pipeline during servicing of a trap responsive to said first bit being in a first state, said trap handler for servicing the trap without saving the pipeline responsive to said first bit being in a second state.
Claim 10
Dependent Claim
15 words
The apparatus of claim 6 wherein said first state comprises said first bit being set.
Claim 11
Independent Claim
124 words
A method performed during trap handling in a processor, the processor having a pipeline comprising a plurality of stages, wherein instructions being executed by said processor are passed from stage to stage of said plurality of stages on consecutive clock cycles, said method comprising the steps of: (a) suspending execution at a first instruction and determining whether said first instruction is a pipeline instruction; (b) if said first instruction is the pipeline instruction, then saving a first state of said pipeline, otherwise continuing said trap handling absent said saving; (c) performing the trap handling; (d) if said first instruction is the pipeline instruction then restoring the pipeline to said first state, otherwise keeping said pipeline unmodified; and (e) resuming execution at said first instruction.
Claim 12
Independent Claim
124 words
A method performed during trap handling in a processor, the processor having a pipeline comprising a plurality of stages, wherein instructions being executed by said processor are passed from stage to stage of said plurality of stages on consecutive clock cycles, said method comprising the steps of: (a) suspending execution at a first instruction and determining whether said first instruction is a pipeline instruction; (b) if said first instruction is the pipeline instruction, then saving a first state of said pipeline, otherwise continuing said trap handling absent said saving; (c) performing the trap handling; (d) if said first instruction is the pipeline instruction then restoring the pipeline to said first state, otherwise keeping said pipeline unmodified; and (e) resuming execution at said first instruction.
Claim 13
Independent Claim
139 words
An apparatus comprising: a floating point unit which executes instructions in a pipeline, said pipeline having a plurality of pipeline stages; a processor status register having a plurality of bits, wherein a first bit of the plurality of bits has one of either a first state or a second state, said first state indicating that an instruction being executed uses the pipeline, said second state indicating that the instruction being executed does not use the pipeline; and a trap handler for servicing traps, said trap handler also for saving information in the plurality of pipeline stages during servicing of a trap responsive to said first bit being in said first state, said trap handler also for servicing the trap without saving the information in the plurality of pipeline stages responsive to said first bit being in said second state.
Claim 14
Independent Claim
139 words
An apparatus comprising: a floating point unit which executes instructions in a pipeline, said pipeline having a plurality of pipeline stages; a processor status register having a plurality of bits, wherein a first bit of the plurality of bits has one of either a first state or a second state, said first state indicating that an instruction being executed uses the pipeline, said second state indicating that the instruction being executed does not use the pipeline; and a trap handler for servicing traps, said trap handler also for saving information in the plurality of pipeline stages during servicing of a trap responsive to said first bit being in said first state, said trap handler also for servicing the trap without saving the information in the plurality of pipeline stages responsive to said first bit being in said second state.
Claim 15
Independent Claim
98 words
A method for handling a trap generated by an instruction in a processor, the method comprising the steps of: (a) checking whether a first bit in a processor status register is set; (b) saving both the first bit and a pipeline in the processor if the first bit is set, otherwise saving the first bit and not saving the pipeline if the first bit is not set; (c) completing handling of the trap; (d) restoring the first bit; and (e) restoring the pipeline if the pipeline was saved in the saving step (b), otherwise not restoring the pipeline.
Claim 16
Independent Claim
98 words
A method for handling a trap generated by an instruction in a processor, the method comprising the steps of: (a) checking whether a first bit in a processor status register is set; (b) saving both the first bit and a pipeline in the processor if the first bit is set, otherwise saving the first bit and not saving the pipeline if the first bit is not set; (c) completing handling of the trap; (d) restoring the first bit; and (e) restoring the pipeline if the pipeline was saved in the saving step (b), otherwise not restoring the pipeline.
Claim 17
Independent Claim
134 words
A method for handling a trap generated by an instruction in a processor, the method comprising the steps of: (a) saving a state of each bit of a plurality of bits in a processor status register; (b) setting a first bit of the plurality of bits and clearing a second bit of the plurality of bits; (c) saving a state of a pipeline in the processor responsive to the second bit becoming set due to continued handling of the trap, otherwise continuing handling of the trap without saving the state of the pipeline; (d) restoring the state of each bit of the plurality of bits; and (e) restoring the state of the pipeline if the state of the pipeline was saved in the saving step (c), otherwise not restoring the state of the pipeline.
Claim 18
Independent Claim
134 words
A method for handling a trap generated by an instruction in a processor, the method comprising the steps of: (a) saving a state of each bit of a plurality of bits in a processor status register; (b) setting a first bit of the plurality of bits and clearing a second bit of the plurality of bits; (c) saving a state of a pipeline in the processor responsive to the second bit becoming set due to continued handling of the trap, otherwise continuing handling of the trap without saving the state of the pipeline; (d) restoring the state of each bit of the plurality of bits; and (e) restoring the state of the pipeline if the state of the pipeline was saved in the saving step (c), otherwise not restoring the state of the pipeline.
Claim 19
Independent Claim
44 words
An apparatus comprising: a floating point unit which executes instructions in a pipeline, said pipeline having a plurality of pipeline stages; means for indicating an instruction which uses said pipeline; and means for indicating a trap is to occur if said pipeline is used.
Claim 20
Independent Claim
44 words
An apparatus comprising: a floating point unit which executes instructions in a pipeline, said pipeline having a plurality of pipeline stages; means for indicating an instruction which uses said pipeline; and means for indicating a trap is to occur if said pipeline is used.
References Cited (Backward Citations)
US4338663A
Cited
US4893233A
Cited
US5095426A
Cited
US5136696A
Cited
US5119483A
Cited
US5150468A
Cited
US5193181A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-11-12 | 2000-05-13 | 2000-11-12 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-11-12 | 2004-05-13 | 2004-11-12 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-11-12 | 2008-05-13 | 2008-11-12 | $7700.00 | Window Closed / Lapsed |