Processor power and energy management
First Claim
1. A method for pre-decoding instructions prior to storage of the instruction in a level one cache for a processor core, for managing power dissipation in the processor core, the method comprising:
- re-encoding an opcode of an instruction to incorporate a power token, the power token comprising a bit to indicate a unit of the processor core to turn off during execution of the instruction; and
adjusting the power dissipation in the processor core based upon a state of management control bits associated with the power dissipation, in response to a dynamic power count for the processor core based upon issuance of the instruction.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems for managing power and energy expenditures in cores of a processor to balance performance with power and energy dissipation are disclosed. Embodiments may include pre-decoder(s) between levels of cache or between main memory and a level of cache to monitor core execution rates by associating power tokens with each instruction. The power tokens include values representing the average power dissipated by the core for instructions and a sum of the power tokens may be compared with a state of management control bits for performance, energy, and power, to determine whether to increase or decrease power dissipation in the core. The power dissipation is varied by, e.g., adjusting the issue rate of instructions, adjusting the execution rate of instructions, turning off unused units within the core, controlling the frequency and voltage of the core, and switching tasks between cores.
52 Citations
49 Claims
-
1. A method for pre-decoding instructions prior to storage of the instruction in a level one cache for a processor core, for managing power dissipation in the processor core, the method comprising:
-
re-encoding an opcode of an instruction to incorporate a power token, the power token comprising a bit to indicate a unit of the processor core to turn off during execution of the instruction; and
adjusting the power dissipation in the processor core based upon a state of management control bits associated with the power dissipation, in response to a dynamic power count for the processor core based upon issuance of the instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13)
-
-
8. A method, comprising:
-
monitoring an instruction execution rate for a processor core;
creating a dynamic power count representative of power dissipation in the processor core based upon the instruction execution rate; and
pre-decoding instructions prior to storage in a level one cache to dynamically adjust power dissipation by the processor core based upon the dynamic power count. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. A method, comprising:
-
encoding instructions with a power token between levels of cache for a processor core, to monitor power dissipation in the processor core;
determining a dynamic weighted execution rate based upon the power tokens that are associated with instructions executed by the processor core; and
adjusting power dissipation by the processor core based upon the dynamic weighted execution rate. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A method for encoding opcodes of instructions, the method comprising:
-
ranking the instructions in accordance with a criteria; and
assigning opcodes to the instructions based upon the ranking, wherein each opcode identifies an instruction of the instructions and indicates a relative ranking of the instruction according to the criteria, with respect to the instructions. - View Dependent Claims (29, 30)
-
-
31. A pre-decoder residing between levels of cache for managing power dissipation in a processor core, the pre-decoder comprising:
-
a re-encoder to re-encode an opcode of an instruction to incorporate a power token, the power token comprising a bit to indicate a unit of the processor core to turn off during execution of the instruction; and
transform control logic to adjust the power dissipation in the processor core based upon management control bits associated with the power dissipation, in response to a dynamic power count for the processor core. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
-
38. A pre-decoder residing between levels of cache for re-encoding opcodes of instructions, the pre-decoder comprising:
-
a table having new opcodes for the instructions, wherein each opcode is associated with one of the instructions and indicates a relative ranking of the instructions according to a criteria; and
a re-encoder to match an instruction with a new opcode of the new opcodes in the table based upon an association between the new opcode and the instruction, to replace an opcode of the instruction with the new opcode in response to receiving the instruction. - View Dependent Claims (39, 40)
-
-
41. A system, comprising:
-
a summer to sum power tokens associated with instructions executed by a processor core;
an adder coupled with the summer to generate a dynamic weighted execution rate representative of power dissipation in the processor core based upon the sum;
a register to maintain a dynamic power count based upon the dynamic execution rate; and
a pre-decoder coupled with the register, residing between main memory and a level one cache for the processor core, to associate the power tokens with the instructions and to dynamically adjust power dissipation by the processor core based upon the dynamic power count and a state of management control bits. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49)
-
Specification