P
USRE48819EExpiredUtilityPatentIndex 71

Performance and power optimization via block oriented performance measurement and control

Assignee: ADVANCED MICRO DEVICES INCPriority: Mar 2, 2001Filed: Jul 6, 2018Granted: Nov 16, 2021
Est. expiryMar 2, 2021(expired)· nominal 20-yr term from priority
Inventors:ALTMEJD MORRIEMENEZES EVANDROTOBIAS DAVE
G06F 1/3287G06F 1/324G06F 1/3296G06F 1/3234Y02D10/00G06F 1/3228G06F 1/329G06F 1/3203
71
PatentIndex Score
1
Cited by
473
References
42
Claims

Abstract

An integrated circuit includes a plurality of functional blocks. Utilization information for the various functional blocks is generated. Based on that information, the power consumption and thus the performance levels of the functional blocks can be tuned. Thus, when a functional block is heavily loaded by an application, the performance level and thus power consumption of that particular functional block is increased. At the same time, other functional blocks that are not being heavily utilized and thus have lower performance requirements can be kept at a relatively low power consumption level. Thus, power consumption can be reduced overall without unduly impacting performance.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method of controlling power consumption in an integrated circuit that includes a plurality of functional blocks, comprising:
 generating respective block utilization information for the functional blocks included in the integrated circuit; and   independently managing power of the respective functional blocks to match respective block utilization levels according to the respective block utilization information.   
     
     
       2. The method as recited in  claim 1  wherein the operation of managing power includes independently adjusting frequency of clocks being respectively supplied to the functional blocks according to the block utilization information. 
     
     
       3. The method as recited in  claim 1  wherein the operation of managing power includes adjusting a voltage being supplied to one of the functional blocks independently of voltages being supplied to other functional blocks according to the utilization information of the one functional block. 
     
     
       4. The method as recited in  claim 1  wherein the operation of managing power includes adjusting dispatch rate of operations to at least a section of one of the functional blocks according to the block utilization information associated with the one functional block. 
     
     
       5. The method as recited in  claim 1  wherein the block utilization information from one of the functional blocks provides an indication of what percentage of time the one functional block is being used. 
     
     
       6. The method as recited in  claim 1  wherein the block utilization information from one of the functional blocks provides dispatch information relating to how many operations have been dispatched to or within the functional block. 
     
     
       7. The method as recited in  claim 1  wherein the functional blocks include at least one of a fixed point unit, an arithmetic logic unit, a floating point unit, a barrel shifter, a load/store unit, a memory controller, an input/output interface unit and a cache. 
     
     
       8. The method as recited in  claim 1  wherein the utilization information indicates how much time the functional block spends idling. 
     
     
       9. The method as recited in  claim 1  further comprising monitoring block utilization on a task basis. 
     
     
       10. The method as recited in  claim 9  further comprising adjusting power consumption of at least one of the functional blocks when a task switch occurs from a first task to a second task according to the block utilization information for the one functional block corresponding to the second task. 
     
     
       11. The method as recited in  claim 1  further comprising:
 reading utilization information from a utilization register associated with one of the functional blocks; and 
 adjusting power usage of the one functional block according to the utilization information read. 
 
     
     
       12. The method as recited in  claim 1  further comprising comparing utilization information related to one of the blocks to at least one threshold value to determine whether to adjust power usage. 
     
     
       13. The method as recited in  claim 1  further comprising:
 adjusting the frequency of a first clock being supplied to one of the functional blocks upward, when first utilization information for the one block is above a first threshold; and 
 adjusting the frequency of the first clock downward when the first utilization information for the one block is below a second threshold. 
 
     
     
       14. The method as recited in  claim 1  further periodically checking utilization information for a plurality of the functional blocks. 
     
     
       15. The method as recited in  claim 1  further comprising checking utilization information on a periodic basis for at least one of the functional blocks to determine whether to adjust power consumption of the one functional block to reflect current utilization information. 
     
     
       16. An integrated circuit comprising:
 a plurality of functional blocks;   utilization circuits respectively associated with the functional blocks coupled to provide block utilization information of the functional blocks; and wherein   the integrated circuit is responsive to the block utilization information to independently adjust power consumption levels of the functional blocks to match respective block utilization levels.   
     
     
       17. The integrated circuit as recited in  claim 16  wherein at the power consumption levels of the functional blocks are determined at least in part by independently adjustable clock frequencies of respective clocks being supplied to the functional blocks. 
     
     
       18. The integrated circuit as recited in  claim 17  wherein the power consumption levels of the functional blocks are determined at least in part according to independently controllable voltages being supplied to respective ones of the functional blocks. 
     
     
       19. The integrated circuit as recited in  claim 16  further comprising:
 a clock control circuit coupled to independently adjust the frequency of respective clocks being supplied to the functional blocks. 
 
     
     
       20. The integrated circuit as recited in  claim 16  further comprising registers associated with respective utilization circuits of the functional blocks containing block utilization information. 
     
     
       21. The integrated circuit as recited in  claim 16  wherein the utilization circuits are software accessible. 
     
     
       22. The integrated circuit as recited in  claim 16  further including software operable on the integrated circuit to read utilization information of a selected functional block and to control at least one power performance parameter of the selected functional block in response thereto. 
     
     
       23. A computer system comprising:
 an integrated circuit that includes a plurality of functional blocks;   utilization circuits respectively associated with the functional blocks and coupled to provide block utilization information of the functional blocks; and   a computer program including an instruction sequence executable by the integrated circuit to adjust power consumption levels of the functional blocks to match respective block utilization levels according to the block utilization information.   
     
     
       24. The computer system as recited in  claim 23  wherein the computer program tracks utilization information for each of the functional blocks on a task basis. 
     
     
       25. The computer system as recited in  claim 24  wherein the computer program is responsive to a task switch from a first task to a second task to adjust power management parameters for one or more of the functional blocks according to utilization information corresponding to the second task. 
     
     
       26. An electronic system comprising:
 an integrated circuit including a plurality of functional blocks;   means for determining respective block utilization information of the functional blocks; and   means for adjusting power consumption of the respective functional blocks to match respective block utilization levels according to the respective block utilization information.   
     
     
       27. The method of  claim 1 , wherein the independently managing power of the respective block functional blocks to match respective block utilization levels comprises:
 increasing power consumption levels for those functional blocks with utilization information that indicates increased utilization; and   decreasing power consumption levels for those functional blocks with utilization information that indicates decreased utilization.   
     
     
       28. An integrated circuit comprising:
 a plurality of functional blocks;   utilization circuits respectively coupled to the functional blocks to provide block utilization information of the functional blocks, the block utilization information indicating a utilization rate of a corresponding functional block, and wherein a block utilization level of the corresponding functional block is based at least in part on the utilization rate; and   wherein the integrated circuit, responsive to the block utilization information, independently adjusts power consumption levels of each of the functional blocks to match respective block utilization levels,   wherein a power consumption level of a selected functional block is increased in response to the utilization rate of the selected functional block being greater than a first threshold,   wherein the power consumption level of the selected functional block is decreased in response to the utilization rate of the selected functional block being less than a second threshold,   wherein the power consumption level of the selected functional block is adjusted by changing a power consumption parameter of the selected functional block, and   wherein the second threshold is different from the first threshold.    
     
     
       29. The integrated circuit of claim 28, wherein:
 each of the utilization circuits comprises a timer to set a monitoring time period at which the block utilization level for a respective functional block is checked, and   the monitoring time period is different for one or more timers.    
     
     
       30. The integrated circuit of claim 28, wherein the power consumption parameter comprises a clock frequency associated with the selected functional block, a voltage supplied to the selected functional block, a dispatch rate of operations associated with the selected functional block, or a combination thereof.  
     
     
       31. The integrated circuit of claim 28, wherein the power consumption parameter comprises a clock frequency derived from a clock divider circuit operable to provide a base clock frequency or a fraction of the base clock frequency.  
     
     
       32. An integrated circuit comprising:
 a plurality of functional blocks;   utilization circuits respectively coupled to the functional blocks to provide block utilization information of the functional blocks, wherein the block utilization information represents activity in each of the functional blocks as measured over a period of time, and   wherein each of the utilization circuits comprises:
 a utilization detection circuit to detect a utilization event; 
 a utilization counter to count a number of utilization events; and 
 a cycle counter to count to a value equal to the period of time; 
   wherein the integrated circuit, responsive to the block utilization information, independently adjusts power consumption levels of the of the functional blocks to match respective block utilization levels according to the block utilization information,   wherein one or more of the block utilization levels are based at least in part on the number of utilization events counted by the utilization counter over the period of time,   wherein, in response to an increase in a block utilization level for a respective functional block, a clock frequency of the respective functional block is increased to a first frequency value, and   wherein, in response to a decrease in the block utilization level for the respective functional block, the clock frequency of the respective functional block is decreased to a second frequency value, the first and second frequency values being different from one another and each greater than zero hertz.    
     
     
       33. The integrated circuit of claim 32, wherein the clock frequency increases or decreases in step adjustments.  
     
     
       34. The integrated circuit of claim 32, wherein the clock frequency of the respective functional block is increased to the first frequency value or decreased to the second frequency value without changing a clock frequency of another functional block.  
     
     
       35. The integrated circuit of claim 32, wherein:
 the first frequency value matches a first block utilization level associated with a first load of the respective functional block; and   the second frequency matches a second block utilization level associated with a second load of the respective functional block, wherein the first load is greater than the second load.    
     
     
       36. The integrated circuit of claim 32, wherein:
 in response to the increase in the block utilization level for the respective functional block, a power supply voltage of the respective functional block is increased to a first voltage value, and   in response to the decrease in the block utilization level for the respective functional block, the power supply voltage of the respective functional block is decreased to a second voltage value, the first and second voltage values being different from one another and each greater than zero volts.    
     
     
       37. The integrated circuit of claim 32, wherein:
 in response to the increase in the block utilization level for the respective functional block, a dispatch rate of operations issued to the respective functional block is increased to a first dispatch rate value, and   in response to the decrease in the block utilization level for the respective functional block, the dispatch rate of operations issued to the respective functional block is decreased to a second dispatch rate value, the first and second dispatch rate values being different from one another and each greater than zero.    
     
     
       38. An integrated circuit comprising:
 a plurality of functional blocks; and   utilization circuits respectively coupled to the functional blocks to provide block utilization information of the functional blocks, wherein the integrated circuit, responsive to the block utilization information, independently adjusts power consumption levels of the functional blocks to match respective block utilization levels,   wherein a clock frequency and a power supply voltage of a selected functional block and a dispatch rate of a first set of operations dispatched to or within the selected functional block are increased in response to an increase in the block utilization level associated with the selected functional block, and   wherein the clock frequency and the power supply voltage of the selected functional block and the dispatch rate of a second set of operations dispatched to or within the selected functional block are decreased in response to a decrease in the block utilization level associated with the selected functional block.    
     
     
       39. The integrated circuit of claim 38, wherein the block utilization information represents activity in each of the functional blocks as measured over a period of time, and wherein each of the utilization circuits comprises:
 a utilization detection circuit to detect a utilization event;   a utilization counter to count a number of utilization events; and   a cycle counter to count to a value equal to the period of time.    
     
     
       40. The integrated circuit of claim 39, wherein the period of time is different for one or more functional blocks.  
     
     
       41. The integrated circuit of claim 38, wherein the clock frequency of the selected functional block is increased or decreased without changing a clock frequency of another functional block.  
     
     
       42. The integrated circuit of claim 38,
 wherein, in response to the increase in the block utilization level associated with the selected functional block, the clock frequency is increased to a first frequency value and the power supply voltage is increased to a first voltage value,   wherein, in response to the decrease in the block utilization level associated with the selected functional block, the clock frequency is decreased to a second frequency value and the power supply voltage is decreased to a second voltage value, and wherein:
 the first frequency value matches a first block utilization level associated with a first load of the selected functional block; and 
 the second frequency matches a second block utilization level associated with a second load of the selected functional block, wherein the first load is greater than the second load.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.