Microprocessor with selected partitions disabled during block repeat
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-001/26
G06F-009/30
G06F-009/44
출원번호
US-0716645
(2000-11-20)
발명자
/ 주소
Laurenti, Gilbert
Morchipont, Olivier
Ichard, Laurent
출원인 / 주소
Texas Instruments Incorporated
인용정보
피인용 횟수 :
23인용 특허 :
15
초록▼
A microprocessor and a method of operating the microprocessor are provided in which a portion of the microprocessor is partitioned into a plurality of partitions. A sequence of instructions is executed within an instruction pipeline of the microprocessor. A block of instructions within the sequence
A microprocessor and a method of operating the microprocessor are provided in which a portion of the microprocessor is partitioned into a plurality of partitions. A sequence of instructions is executed within an instruction pipeline of the microprocessor. A block of instructions within the sequence of instructions is repetitively executed in response to a local repeat instruction. Either prior to executing the block of instructions, or during the first iteration of the loop, a determination is made that at least one of the plurality of partitions is not needed to execute the block of instructions. Operation of the at least one identified partition is inhibited during the repetitive execution of the block of instructions in order to reduce power dissipation.
대표청구항▼
1. A method for operating a digital system comprising a microprocessor having at least one portion partitioned into a plurality of partitions, wherein the method comprises the steps of:fetching a sequence of instructions within an instruction pipeline of the microprocessor into an instruction buffer
1. A method for operating a digital system comprising a microprocessor having at least one portion partitioned into a plurality of partitions, wherein the method comprises the steps of:fetching a sequence of instructions within an instruction pipeline of the microprocessor into an instruction buffer;detecting a local block of instructions within the fetched sequence of instructions in the instruction buffer, wherein the local block comprises a local repeat instruction;associating, with the local repeat instruction, a repeat profile parameter indicative of partition that is unneeded for the execution of the local block of instructions;repetitively executing first and subsequent instances of the local block of instructions; andfor subsequent instances of the repetitively executing step, inhibiting operation of the at least one unneeded partition for the subsequent instances of the repetitively executing step responsive to the repeat profile parameter. 2. The method of claim 1, further comprising:storing the repeat profile parameter in a repeat profile parameter register;wherein the inhibiting operation comprises applying control signals, corresponding to the contents of the repeat profile parameter register, to the partitioned portion of the microprocessor. 3. The method of claim 1, wherein the partitioned portion of the microprocessor comprises an instruction decoder, such that each partition of the instruction decoder is associated with a group of instructions;wherein the repeat profile parameter is indicative of at least a first group of instructions not contained within the local block of instructions; andwherein the inhibiting step inhibits at least one partition of the instruction decoder corresponding to the first group of instructions. 4. The method of claim 3, wherein the inhibiting step comprises inhibiting a first partition of the instruction decoder associated with a first stage of the pipeline and inhibiting a second partition of the instruction decoder associated with a second stage of the instruction pipeline. 5. The method of claim 1, wherein the partitioned portion of the microprocessor comprises an instruction decoder, such that each partition of the instruction decoder is associated with a group of instructions;further comprising:identifying a group of instructions that are inherently forbidden from being executed during repetitive execution of the local block of instructions;and wherein the inhibiting step comprises inhibiting operation of a partition of the instruction decoder corresponding to the forbidden group of instructions during subsequent instances of the repetitively executing step while a remainder of the instruction decoder decodes instructions in the local block of instructions. 6. The method of claim 1, wherein the partitioned portion comprises an instruction register of the microprocessor, partitioned in accordance with different instruction lengths;wherein the retrieved repeat profile parameter indicates a maximum instruction length of instructions within the local block of instructions; andwherein the step of inhibiting comprises inhibiting loading of one or more of the instruction register partitions in accordance with the maximum instruction length. 7. The method of claim 1, wherein the partitioned portion comprises the instruction pipeline, partitioned in accordance to parallel instruction execution;wherein the retrieved repeat profile parameter indicates a maximum instruction parallelism of instructions within the local block of instructions; andwherein the step of inhibiting comprises inhibiting one or more parallel instruction execution partitions. 8. The method of claim 1, wherein the partitioned portion comprises a portion of the microprocessor, partitioned in accordance to data types;wherein the retrieved repeat profile parameter indicates one or more data types not used within the local block of instructions; andwherein the step of inhibiting comprises inhibiting one or more data t ype partitions. 9. The method of claim 1, wherein the repeat profile parameter indicates that updating of status circuitry is not required within the block of instructions; andwherein the step of inhibiting comprises inhibiting updating of the status circuitry. 10. The method of claim 1, wherein the partitioned portion comprises address generation circuitry of the microprocessor, partitioned into a plurality of partitions accordance to address modes;wherein the repeat profile parameter indicates one or more address modes not used within the local block of instructions; andwherein the step of inhibiting comprises inhibiting one or more address generation partitions. 11. The method of claim 1, wherein the associating step comprises associating the repeat profile parameter with a prologue instruction for the local block;and further comprising:retrieving the repeat profile parameter prior to the first instance of the repetitively executing step; andinhibiting operation of the at least one unneeded partition during the first instance of the repetitively executing step responsive to the repeat profile parameter. 12. The method of claim 1, wherein the associating step comprises:in the first instance of the repetitively executing step, monitoring execution of the block of instructions to determine partitions of the portion of the microprocessor that are unneeded in the execution of the local block of instructions; andthen storing a repeat profile parameter corresponding to the result of the monitoring step. 13. The method of claim 1, wherein the local block of instructions comprises an inner loop nested within an outer loop;and further comprising:associating a first repeat profile parameter with the inner loop and associating a second repeat profile parameter with the outer loop; andretrieving the first repeat profile parameter during execution of the inner loop and retrieving the second repeat profile parameter of the outer loop;and wherein the step of inhibiting comprises inhibiting operation of a first partition of the microprocessor during execution of the inner loop, and inhibiting operation of a second partition of the microprocessor during execution of the outer loop. 14. The method of claim 1, further comprising the steps of:interrupting the repetitively executing step to execute an interrupt service routine (ISR);masking partition inhibition so that all partitions of the microprocessor are enabled;executing the ISR; andthen unmasking partition inhibition and returning to the repetitively executing step. 15. The method of claim 14 wherein the step of masking partition inhibition comprises masking the repeat profile parameter. 16. The method of claim 11, further comprising the step of assembling a source code program to create the sequence of instructions comprising the block of instructions, the prologue instruction and the associated repeat profile parameter, wherein the step of assembling comprises the steps of:creating an instruction table with an entry for each instruction executable by a selected microprocessor, such that the entry for each instruction includes a group pattern defining a group of instructions that includes that instruction;transforming the source code into a sequence of instructions;determining the initial instruction and the final instruction for the repeatable block of instructions associated with the prologue instruction;combining a plurality of group patterns selected from the instruction table representative of each instruction in the block of instructions to form a repeat profile parameter; andassociating the repeat profile parameter with the prologue instruction. 17. A digital system comprising a pipelined microprocessor, wherein the microprocessor comprises:an instruction buffer comprising a plurality of instruction buffer registers for storing a plurality of instructions;an instruction decoder for decoding instructions received from the instruction buffer, the instruction decoder being controllab ly connected in a pipeline, wherein the instruction decoder is partitioned into a plurality of partitions according to a respective plurality of instruction groups, at least one of the partitions and operable to inhibit decoding of instructions responsive to an inhibit input; andblock repeat control circuitry for storing a repeat profile parameter associated with a local repeat instruction, the local repeat instruction corresponding to a block of instructions stored in the instruction buffer that are to be repetitively executed, and for selectively asserting the inhibit input to at least one of the partitions of the instruction decoder responsive to the repeat profile parameter indicating that a local block of instructions corresponds to an instruction group not decoded by the at least one of the partitions. 18. The digital system of claim 17, wherein the block repeat control circuitry comprises a repeat profile register for storing the repeat profile parameter, the repeat profile circuitry coupled to the inhibit input of the at least one instruction decoder partition. 19. The digital system of claim 17, wherein the instruction decoder is hierarchical, such that a first portion of the instruction decoder is associated with a first stage of the pipeline and a second portion of the instruction decoder is associated with a second stage of the pipeline; andwherein at least a first instruction decoder partition in the first portion of the instruction decoder has a first inhibit input connected to a first output of the repeat profile circuitry and at least a second instruction decoder partition in the second portion of the instruction decoder has a second inhibit input connected to a second output of the repeat profile circuitry. 20. The digital system of claim 17, wherein the repeat profile register is for storing a repeat profile parameter provided by a prologue instruction of the local block of instructions. 21. The digital system of claim 17, wherein the repeat profile register is for storing a repeat profile parameter provided by monitoring circuitry coupled to the instruction decoder, wherein the monitoring circuitry is operable to monitor the instruction decoder during a first iteration of a first local block of instructions and to thereby derive a first repeat profile parameter indicative of a least a first group of instructions not included within the first local block of instructions. 22. The digital system of claim 17, wherein the repeat profile register is for storing two repeat profile parameters representative of an inner local loop and an outer local loop, such that the instruction decoder is operable to inhibit decoding of a first instruction group during execution of the inner local loop and to inhibit decoding of a second instruction group during execution of the outer local loop. 23. The digital system of claim 17, wherein the pipeline comprises an instruction fetch stage for fetching instructions from a program memory for transfer into the instruction buffer; andwherein the block repeat control circuitry is operable to inhibit the instruction fetch stage subsequent to fetching the final instruction of the local block of instructions from the program memory into the instruction buffer. 24. The digital system of claim 17, wherein the instructions are of a variable length; andwherein the instruction register is operable to be partially inhibited in response to the repeat profile circuitry during execution of the local block of instructions. 25. The digital system of claim 17 being a cellular telephone, further comprising:an integrated keyboard connected to the processor via a keyboard adapter;a display, connected to the processor via a display adapter;radio frequency (RF) circuitry connected to the processor; andan aerial connected to the RF circuitry.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (15)
Walsh James J. ; Brown Jacqueline, Adaptive power management processes, circuits and systems.
Matter Eugene P. (Folsom CA) Sotoudeh Yahya S. (Santa Clara CA) Mathews Gregory S. (Boca Raton FL), Method and apparatus for independently stopping and restarting functional units.
Nishiyama Hiroyasu,JPX ; Kikuchi Sumio,JPX ; Mori Noriyasu,JPX ; Nishimoto Akira,JPX ; Takeuchi Yooichi,JPX, Method for controlling a processor for power-saving in a computer for executing a program, compiler medium and processo.
Smith R. Steven (Saratoga CA) Hanlon Mike S. (San Jose CA) Bailey Robert L. (San Jose CA), Power management for a laptop computer with slow and sleep modes.
Henry, G. Glenn; Crispin, Thomas A.; Elliott, Timothy A.; Parks, Terry, Apparatus and method for generating a cryptographic key schedule in a microprocessor.
Crispin, Thomas A.; Henry, G. Glenn; Martin de Nicolas, Arturo; Parks, Terry, Apparatus and method for performing transparent block cipher cryptographic functions.
Henry, G. Glenn; Crispin, Thomas A.; Parks, Terry, Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine.
Samra, Nicholas G.; Huang, Andrew S.; Jaisimha, Namratha R., Methods and apparatus to monitor instruction types and control power consumption within a processor.
Henry, G. Glenn; Crispin, Thomas A.; Parks, Terry, Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine.
Harrington,Bradley Ryan; Mehta,Chetan; Miller, II,Milton Devon; Perez,Michael Anthony; Randall,David Lee; Willoughby,David R., System and method for selectively executing a reboot request after a reset to power on state for a particular partition in a logically partitioned system.
Alba Pinto,Carlos Antonio; Sethuraman,Ramanathan; Srinivasan,Balakrishnan; Peters,Harm Johannes Antonius Maria; Peset Llopis,Rafael, VLIW processor with power saving.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.