Claims
- 1. A method of interrupt handling within a processor, the method comprising:
in response to a receipt of a process interrupt at the processor, predicting execution of an interrupt handler based upon prior execution history; speculatively executing the predicted interrupt handler; and after initiating speculative execution of the predicted interrupt handler, resolving the speculative execution as correctly predicted or mispredicted.
- 2. The method of claim 1, further comprising:
in response to resolving the speculative execution as mispredicted, discontinuing execution of the predicted interrupt handler, and executing an alternative interrupt handler.
- 3. The method of claim 1, wherein the resolving comprises executing a first level interrupt handler (FLIH) to determine a correct second level interrupt handler (SLIH), the method further comprising:
in response to resolving the speculative execution as correctly predicted, halting execution of the correct SLIH and completing execution of the predicted interrupt handler.
- 4. The method of claim 1, further comprising:
the processor maintaining an interrupt handler prediction table based upon an execution history, wherein the predicting step comprises predicting execution of the predicted interrupt handler by reference to the interrupt handler prediction table.
- 5. The method of claim 4, wherein the interrupt handler prediction table is maintained within the processor.
- 6. The method of claim 1, further comprising storing the interrupt handler in a read only memory (ROM).
- 7. The method of claim 6, wherein storing the interrupt handler in the ROM comprises storing the interrupt handler in a ROM integrated within the processor.
- 8. A processor comprising:
at least one execution unit; an instruction sequencing unit coupled to the at least one execution unit; and an interrupt handler prediction table coupled to the instruction sequencing unit, wherein the interrupt handler prediction table predicts an execution of one of a plurality of interrupt handlers in response to the processor receiving an interrupt based upon a history of interrupt handler execution maintained within the interrupt handler prediction table, and wherein the instruction sequencing unit directs the at least one execution unit to execute the predicted interrupt handler.
- 9. The processor of claim 8, wherein, responsive to the processor determining the predicted interrupt handler is mispredicted, the processor discontinues execution of the predicted interrupt handler.
- 10. The processor of claim 8, further comprising:
an on-board programmable memory coupled to the instruction sequencing unit containing a plurality of interrupt handlers.
- 11. A data processing system comprising:
a plurality of processors including a processing unit in accordance with claim 8;a volatile memory hierarchy coupled to the plurality of processors; and an interconnect coupling the plurality of processors.
- 12. A processor comprising:
means, responsive to a receipt of a process interrupt at the processor, for predicting execution of an interrupt handler based upon prior execution history; means for speculatively executing the predicted interrupt handler; and means for, after initiating speculative execution of the predicted interrupt handler, resolving the speculative execution as correctly predicted or mispredicted.
- 13. The processor of claim 12, further comprising:
means, responsive to resolving the speculative execution as mispredicted, for discontinuing execution of the predicted interrupt handler, and means for executing an alternative interrupt handler.
- 14. The processor of claim 12, wherein the means for resolving comprises means for executing a first level interrupt handler (FLIH) to determine a correct second level interrupt handler (SLIH), the processor further comprising:
means, responsive to resolving the speculative execution as correctly predicted, for halting execution of the correct SLIH and completing execution of the predicted interrupt handler.
- 15. The processor of claim 12, further comprising:
means for maintaining an interrupt handler prediction table based upon an execution history, wherein the means for predicting comprise means for predicting execution of the predicted interrupt handler by reference to the interrupt handler prediction table.
- 16. The processor of claim 15, wherein the means for maintaining comprises means for maintaining the interrupt handler prediction table within the processor.
- 17. The processor of claim 12, further comprising means for storing the interrupt handler in a read only memory (ROM).
- 18. The processor of claim 17, wherein the means for storing the interrupt handler in the ROM comprises means for storing the interrupt handler in a ROM integrated within the processor.
- 19. A data processing system comprising:
a plurality of processors including a processing unit in accordance with claim 11;a volatile memory hierarchy coupled to the plurality of processors; and an interconnect coupling the plurality of processors.
Parent Case Info
[0001] The present invention is related to the subject matter of the following commonly assigned, copending United States patent applications which are filed on even date herewith: Ser. No. 09/______ (Docket No. AUS920020161US1); Ser. No. 09/______ (Docket No. AUS920020162US1); Ser. No. 09/______ (Docket No. AUS920020163US1); Ser. No. 09/______ (Docket No. AUS920020164US1); Ser. No. 09/______ (Docket No. AUS920020166US1); and Ser. No. 09/______ (Docket No. AUS920020167US1). The content of the above-referenced applications are incorporated herein by reference in their entireties.