Claims
- 1. An apparatus, providing for instruction level control of interrupt suppression within a microprocessor, the apparatus comprising:
translation logic, for translating an extended instruction into corresponding micro instructions, wherein said extended instruction comprises:
an extended prefix, for specifying that interrupt processing be suppressed until execution of said extended instruction is completed; and an extended prefix tag, wherein said extended prefix tag is an otherwise architecturally specified opcode within an existing instruction set; extended execution logic, coupled to said translation logic, for receiving said corresponding micro instructions, and for completing execution of said corresponding micro instructions prior to processing a pending interrupt.
- 2. The apparatus as recited in claim 1, wherein said extended instruction further comprises instruction entities according to said existing instruction set.
- 3. The apparatus as recited in claim 2, wherein said instruction entities specify operations to be executed by the microprocessor, and wherein said pending interrupt would otherwise be processed prior to completing execution of said corresponding micro instructions.
- 4. The apparatus as recited in claim 3, further comprising:
a flags register, coupled to said extended execution logic, configured to prescribe that interrupt processing is enabled for the microprocessor, wherein specification of interrupt suppression by said extended prefix overrides that prescribed by said flags register.
- 5. The apparatus as recited in claim 1, wherein said extended execution logic comprises:
suppression count logic, configured to determine that execution of said corresponding micro instructions is completed.
- 6. The apparatus as recited in claim 1, wherein said translation logic determines that execution of said extended instruction is completed, and wherein said translation logic precludes processing of said pending interrupt.
- 7. The apparatus as recited in claim 1, wherein said extended prefix comprises 8 bits.
- 8. The apparatus as recited in claim 1, wherein said extended prefix comprises:
an interrupt suppression field, for specifying that interrupt processing be suppressed until execution of a plurality of macro instructions is completed, wherein said extended instruction is a first one of said plurality of macro instructions.
- 9. The apparatus as recited in claim 1, wherein said existing instruction set comprises the x86 instruction set.
- 10. The apparatus as recited in claim 1, wherein said extended prefix tag comprises opcode F1 (ICE BKPT) in the x86 instruction set.
- 11. The apparatus as recited in claim 1, wherein said translation logic comprises:
escape instruction detection logic, for detecting said extended prefix tag; instruction translation logic, for determining operations to be performed by the microprocessor, and for prescribing said operations within said corresponding micro instructions; and extended translation logic, coupled to said escape instruction detection logic and said instruction translation logic, for prescribing within said corresponding micro instructions that interrupt processing be suppressed.
- 12. A microprocessor mechanism, for extending an existing instruction set to provide for selective suppression of interrupts, the microprocessor mechanism comprising:
an extended instruction, configured to prescribe that interrupt processing associated with the interrupts be suppressed until execution of said extended instruction is completed, wherein said extended instruction comprises a selected opcode in the existing instruction set followed by an n-bit extended prefix, said selected opcode indicating said extended instruction, and said n-bit extended prefix prescribing suppression of interrupt processing; and a translator, configured to receive said extended instruction, and configured to generate a micro instruction sequence directing a microprocessor to suppress processing of the interrupts until execution of said micro instruction sequence is completed.
- 13. The microprocessor mechanism as recited in claim 12, wherein said extended instruction further comprises:
remaining instruction entities, configured to specify operations to be performed by said microprocessor.
- 14. The microprocessor mechanism as recited in claim 12, wherein said n-bit prefix comprises:
an interrupt suppression field, configured to specify that interrupt processing be suppressed until execution of a plurality of macro instructions is completed, wherein said extended instruction is a first one of said plurality of macro instructions.
- 15. The microprocessor mechanism as recited in claim 12, wherein said extended instruction directs said microprocessor to supersede interrupt enabling indications provided by a flags register.
- 16. The microprocessor mechanism as recited in claim 12, wherein said n-bit extended prefix comprises 8 bits.
- 17. The microprocessor mechanism as recited in claim 12, wherein the existing instruction set is the x86 microprocessor instruction set.
- 18. The microprocessor mechanism as recited in claim 12, wherein said selected opcode comprises opcode ICE BKPT (i.e., opcode F1) in the x86 microprocessor instruction set.
- 19. The microprocessor mechanism as recited in claim 12, wherein said translator comprises:
an escape instruction detector, for detecting said selected opcode within said extended instruction; an instruction translator, for translating remaining parts of said extended instruction to determine operations to be performed by said microprocessor; and an extended prefix translator, coupled to said escape instruction detector and said instruction translator, for translating said n-bit extended prefix, and for specifying suppression of interrupt processing until said micro instruction sequence has completed execution.
- 20. The microprocessor mechanism as recited in claim 12, further comprising:
extended execution logic, coupled to said translator, for receiving said micro instruction sequence, and for performing said operations, and for indicating that execution of said micro instruction sequence is completed.
- 21. The microprocessor mechanism as recited in claim 20, wherein said extended execution logic comprises:
suppression count logic, configured to determine that execution of said corresponding micro instructions is completed.
- 22. The microprocessor mechanism as recited in claim 12, wherein said translator determines that execution of said extended instruction is completed, and wherein said translator precludes processing of the interrupts.
- 23. An apparatus, for adding interrupt suppression features to an existing instruction set, comprising:
an escape tag, indicating that accompanying parts of a corresponding instruction prescribe an operation to be performed, wherein said escape tag is a first opcode within the existing instruction set; an interrupt suppression specifier, coupled to said escape tag and being one of said accompanying parts, prescribing that interrupt processing be suppressed through completion of said operation; translation logic, for receiving said escape tag and said interrupt suppression specifier, and for generating a micro instruction sequence directing a microprocessor to perform said operation, and for directing that interrupt processing be suppressed until said operation is completed; and extended execution logic, coupled to said translation logic, for receiving said micro instruction sequence, and for performing said operation through completion prior to processing a pending interrupt.
- 24. The apparatus as recited in claim 23, wherein remaining ones of said accompanying parts comprise a second opcode, for prescribing said operation.
- 25. The apparatus as recited in claim 23, wherein said interrupt suppression specifier comprises 8 bits.
- 26. The apparatus as recited in claim 23, wherein the existing instruction set is the x86 instruction set.
- 27. The apparatus as recited in claim 23, wherein said first opcode comprises the ICE BKPT opcode (i.e., opcode F1) in the x86 instruction set.
- 28. The apparatus as recited in claim 23, wherein said translation logic comprises:
escape tag detection logic, for detecting said escape tag, and for directing that said accompanying parts be translated according to extended translation conventions; and translation logic, coupled to said escape tag detection logic, for performing translation of instructions according to conventions of the existing instruction set, and for performing translation of said corresponding instruction according to said extended translation conventions to preclude interrupt processing until said operation is completed.
- 29. A method for extending an existing instruction set architecture to provide for suppression of interrupt processing at the instruction level, the method comprising:
providing an extended instruction, the extended instruction including an extended tag along with an extended prefix, wherein the extended tag is a first opcode entity according to the existing instruction set architecture; prescribing, via the extended prefix, that interrupt processing be suppressed during execution of the extended instruction, wherein remaining parts of the extended instruction prescribe an operation to be performed; and suppressing processing of an interrupt during execution of the extended instruction.
- 30. The method as recited in claim 29, wherein said prescribing comprises:
employing a second opcode entity according to the existing instruction set architecture to prescribe the operation.
- 31. The method as recited in claim 29, wherein said providing comprises employing an 8-bit entity to configure the extended prefix.
- 32. The method as recited in claim 29, wherein said providing comprises selecting the first opcode entity according to the x86 microprocessor instruction set architecture.
- 33. The method as recited in claim 29, wherein said providing comprises choosing the x86 ICE BKPT opcode (i.e., opcode F1) as the extended tag.
- 34. The method as recited in claim 29, further comprising:
first translating the extended instruction into a micro instruction sequence that directs extended execution logic to perform the operation and to suppress interrupt processing until the operation has been performed.
- 35. The method as recited in claim 34, wherein said translating comprises:
within translation logic, detecting the extended tag; and second translating the extended prefix and the remaining parts according to extended translation rules to generate the micro instruction sequence.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/363116 filed on Mar. 8, 2002.
[0002] This application is related to the following co-pending U.S. patent applications, all of which have a common assignee and common inventors.
1SERIALFILINGDOCKETNUMBERDATENUMBERTITLE10/144595May 9, 2002CNTR.2176APPARATUS AND METHOD FOREXTENDING A MICROPROCESSORINSTRUCTION SET10/144592May 9, 2002CNTR.2186APPAPATUS AND METHOD FORCONDITIONAL INSTRUCTIONEXECUTION10/227572Aug. 22, 2002CNTR.2187SUPPRESSION OF STORE CHECKING10/144593May 9, 2002CNTR.2188APPARATUS AND METHOD FORSELECTIVE CONTROL OFCONDITION CODE WRITE BACK10/144590May 9, 2002CNTR.2189MECHANISM FOR EXTENDING THENUMBER OF REGISTERS IN AMICROPROCESSOR10/227008Aug. 22, 2002CNTR.2190APPARATUS AND METHOD FOREXTENDING DATA MODES IN AMICROPROCESSOR10/227571Aug. 22, 2002CNTR.2191APPARATUS AND METHOD FOREXTENDING ADDRESS MODES IN AMICROPROCESSORCNTR.2192SUPPRESSION OF STORE CHECKING10/227583Aug. 22, 2002CNTR.2195NON-TEMPORAL MEMORY REFERENCECONTROL MECHANISM10/144589May 9, 2002CNTR.2198APPARATUS AND METHOD FORSELECTIVE CONTROL OF RESULTSWRITE BACK
Provisional Applications (1)
|
Number |
Date |
Country |
|
60363116 |
Mar 2002 |
US |