IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0774583
(2007-07-07)
|
등록번호 |
US-8473724
(2013-06-25)
|
발명자
/ 주소 |
- Kenville, Thomas James
- Nadkarni, Anshuman Shrikant
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
15 인용 특허 :
7 |
초록
▼
In a processor, instructions of an instruction stream are supplied to an execution unit which executes the supplied instructions according to respective execution modes. A control unit recognizes a user-defined instruction sequence (UDIS) in the instruction stream. The UDIS is associated with a UDIS
In a processor, instructions of an instruction stream are supplied to an execution unit which executes the supplied instructions according to respective execution modes. A control unit recognizes a user-defined instruction sequence (UDIS) in the instruction stream. The UDIS is associated with a UDIS definition provided in-line and/or as contents of machine-state registers (MSRs), and specifying, at least in part, a start, optionally an end, and a particular execution mode for the UDIS. Subsequently, ones of the instructions of the UDIS are executed in accordance with the particular execution mode, such as by optionally altering recognition of asynchronous events. For example, disabling hardware interrupts during the executing results in apparent atomic execution. Fetching, decoding, issuing, and/or caching of the instructions of the UDIS are optionally dependent on the particular execution mode. MSRs optionally specify a maximum length and/or execution time.
대표청구항
▼
1. A method for use in a processor, the method comprising: supplying information derived from a plurality of instructions of an instruction stream to at least some of one or more execution units;executing, in a first execution mode, the plurality of instructions by the at least some of the one or mo
1. A method for use in a processor, the method comprising: supplying information derived from a plurality of instructions of an instruction stream to at least some of one or more execution units;executing, in a first execution mode, the plurality of instructions by the at least some of the one or more execution units;executing a user-defined instruction sequence (UDIS) embedded within the instruction stream, wherein the instruction stream comprises a reference to a machine state register comprising the instruction sequence definition,wherein the machine state register specifies at least a second execution mode of the user-defined instruction stream and a constraint on the statistical behavior of the processor when executing the user-defined instruction stream, wherein the statistical behavior is at least one selected from a group consisting of a number of instructions and a number of a particular type of instruction,wherein the UDIS executes in the second execution mode specified by the instruction sequence definition,wherein the second execution mode disables an interrupt handler, andwherein the UDIS comprises some of the plurality of instructions;recognizing, while executing the UDIS in the second execution mode, an asynchronous event;completing the UDIS; andreturning, in response to completing the UDIS, to the plurality of instructions executing in the first execution mode, wherein the interrupt handler is enabled in the first execution mode. 2. The method of claim 1, further comprising fetching, by a fetch unit, the plurality of instructions. 3. The method of claim 2, further comprising controlling the fetching, at least in part, by the first execution mode. 4. The method of claim 1, further comprising decoding, by a decode unit, the plurality of instructions. 5. The method of claim 4, further comprising controlling decoding the plurality of instructions, at least in part, by the first execution mode. 6. The method of claim 4, wherein decoding the plurality of instructions produces, at least in part, the information. 7. The method of claim 6, wherein the asynchronous event is held pending while the UDIS is executed in the second execution mode. 8. The method of claim 1, wherein supplying the information comprises providing a subset of the information, the subset derived from the UDIS, and recognizing the asynchronous event occurs prior to providing the subset. 9. The method of claim 1, wherein supplying the information comprises providing a subset of the information, the subset derived from the plurality of instructions of the instruction stream, and recognizing the asynchronous event occurs subsequent to providing the subset. 10. The method of claim 1, wherein the UDIS is specified by a start-instruction-sequence code in the instruction stream. 11. The method of claim 1, wherein the machine-state registers specify a span of memory, and instructions of the UDIS are contained within the span of memory. 12. The method of claim 1, wherein a state accessed by the processor specifies a span of memory and instructions of the UDIS are contained within the span of memory. 13. The method of claim 1, wherein the instruction sequence definition specifies a location of a first instruction of the UDIS. 14. The method of claim 1, wherein the second execution mode specifies, at least in part, atomic execution. 15. The method of claim 1, wherein the second execution mode specifies, at least in part, a debug execution mode. 16. The method of claim 1, wherein at least some aspects of operation with respect to the plurality of instructions of the instruction stream are controllable through the second execution mode. 17. The method of claim 1, further comprising: ceasing, in response to returning to the plurality of instructions executing in the first execution mode and based on the asynchronous event, execution of the plurality of instructions by the interrupt handler. 18. A processor comprising: one or more execution units enabled to: execute, in a first execution mode, a plurality of instructions of an instruction stream; andexecute, in a second execution mode specified by an instruction sequence definition, a user-defined instruction sequence (UDIS) embedded within the instruction stream, wherein the instruction stream comprises a reference to a machine state register comprising the instruction sequence definition,wherein the machine state register specifies at least the second execution mode of the user-defined instruction stream and a constraint on the statistical behavior of the processor when executing the user-defined instruction stream, wherein the statistical behavior is at least one selected from a group consisting of a number of instructions and a number of a particular type of instruction, andwherein the second execution mode disables an interrupt handler;an instruction supply unit enabled to supply information derived from the plurality of instructions of the instruction stream to at least some of the execution units; anda control circuit enabled to: instruct the one or more execution units to execute the plurality of instructions in the first execution mode;instruct the one or more execution units to execute the UDIS in the second execution mode;recognize, while executing the UDIS in the second execution mode, an asynchronous event;instruct the one or more execution units to complete execution of the UDIS in the second execution mode; andinstruct the one or more execution units to return, in response to completing the UDIS, to the plurality of instructions executing in the first execution mode. 19. The processor of claim 18, wherein the at least some of the one or more execution units are further enabled to control execution, at least in part, by the second execution mode. 20. The processor of claim 18, wherein the instruction supply unit is further enabled to be controlled with respect to instructions of the UDIS, at least in part, by the second execution mode. 21. The processor of claim 18, wherein the control circuit is responsive to the information. 22. The processor of claim 18, wherein the UDIS is specified by a start-instruction-sequence code in the instruction stream. 23. The processor of claim 22, wherein the instruction sequence definition is specified, at least in part, in-line in the instruction stream after the start-instruction-sequence code. 24. The processor of claim 23, wherein the instruction sequence definition comprises a length of the UDIS. 25. The processor of claim 24, wherein the length is a byte length. 26. The processor of claim 18, wherein the instruction sequence definition specifies a location of a first instruction of the UDIS. 27. The processor of claim 18, wherein the second execution mode specifies, at least in part, atomic execution. 28. The processor of claim 18, wherein the second execution mode specifies, at least in part, a debug execution mode. 29. The processor of claim 18, wherein machine-state registers specify a maximum execution duration of the UDIS. 30. The processor of claim 29, wherein the maximum execution duration is a number of instructions. 31. The processor of claim 18, wherein the control circuit is further enabled to: instruct the one or more execution units to revert to the first execution mode when execution of the UDIS is complete; andinstruct, in response to reverting to the first execution mode and based on the asynchronous event, the one or more execution units to cease execution of the plurality of instructions. 32. A processor comprising: means for supplying information derived from a plurality of instructions of an instruction stream;means for executing, in a first execution mode, the plurality of instructions, the means for executing operable in response to the means for supplying;means for executing a user-defined instruction sequence (UDIS) embedded within the instruction stream, wherein the instruction stream comprises a reference to a machine state register comprising to the instruction sequence definition,wherein the machine state register specifies at least a second execution mode of the user-defined instruction stream and a constraint on the statistical behavior of the processor when executing the user-defined instruction stream, wherein the statistical behavior is at least one selected from a group consisting of a number of instructions and a number of a particular type of instruction,wherein the UDIS executes in the second execution mode specified by the instruction sequence definition,wherein the second execution mode disables an interrupt handler, andwherein the UDIS comprises some of the plurality of instructions;means for recognizing, while executing the UDIS in the second execution mode, an asynchronous event;means for completing the UDIS; andmeans for returning, in response to completing the user-defined instruction sequence, to the plurality of instructions executing in the first execution mode, wherein the interrupt handler is enabled in the first execution mode. 33. The processor of claim 32, wherein the means for executing is operable to execute the UDIS in accordance with the second execution mode. 34. The processor of claim 32, further comprising: means for ceasing, in response to returning to the plurality of instructions executing in the first execution mode and based on the asynchronous event, execution of the plurality of instructions. 35. A non-transitory medium readable by a computer system that contains descriptions that specify, when processed by the computer system, a method comprising: supplying information derived from a plurality of instructions of an instruction stream to at least some of one or more execution units;executing, in a first execution mode, the plurality of instructions by the at least some of the one or more execution units;executing a user-defined instruction sequence (UDIS) embedded within the instruction stream, wherein the instruction stream comprises a reference to a machine state register comprising the instruction sequence definition,wherein the machine state register specifies at least a second execution mode of the user-defined instruction stream and a constraint on the statistical behavior of the processor when executing the user-defined instruction stream, wherein the statistical behavior is at least one selected from a group consisting of a number of instructions and a number of a particular type of instruction,wherein the UDIS executes in the second execution mode specified by the instruction sequence definition,wherein the second execution mode disables an interrupt handler, andwherein the UDIS comprises some of the plurality of instructions;recognizing, while executing the UDIS in the second execution mode, an asynchronous event;completing the UDIS; andreturning, in response to completing the UDIS, to the plurality of instructions executing in the first execution mode, wherein the interrupt handler is enabled in the first execution mode. 36. The non-transitory medium of claim 35, further comprising decoding the plurality of instructions to produce, at least in part, the information derived from the plurality of instructions. 37. The non-transitory medium of claim 36, further comprising controlling decoding the plurality of instructions, at least in part, by the first execution mode. 38. The non-transitory medium of claim 35, the method further comprising: ceasing, in response to returning to the plurality of instructions executing in the first execution mode and based on the asynchronous event, execution of the plurality of instructions by the interrupt handler.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.