System energy efficiency is heavily dependent on microprocessor power consumption. Moore’s Law and ever-increasing computing capacity is driving chip power consumption increasingly higher, despite smaller silicon geometries and lower supply voltages, so it is crucial to minimize the power consumption of every chip on every board in every instance to facilitate low energy consumption at the system level. Besides the important environmental impact of energy consumption, it is a practical necessity in extremely high-power-density data centers where the cooling of silicon is becoming increasingly difficult.
A common way of minimizing silicon chip power consumption is to change frequency and supply voltage based on the need for computing power over time. A lower supply voltage is highly effective in reducing power and energy consumption as power dissipation is proportional to the square of the supply voltage. If the demand for computing power is low, the clock frequency of the microprocessor can be decreased; and when the clock frequency is lower, the supply voltage can also be lower. This technique is called dynamic voltage scaling (DVS) and is commonly implemented by an open-loop approach where pre-determined combinations of frequency and supply voltage are stored in a look-up table.
DVS offers much better efficiency compared to fixed voltage supply and facilitates a great deal of energy saving, but does not fully utilize the potential of voltage scaling. Shortcomings of DVS include the necessary voltage margins to guarantee safe operation taking into account the static and dynamic regulation window of the power supply, and also the silicon process variations and operation within different environmental conditions.
Adaptive Voltage Scaling
Adaptive voltage scaling (AVS) deals with the shortcomings of DVS via a closed-loop real-time approach that adapts the supply voltage exactly to the minimum required voltage for the actual clock frequency and workload demand of the individual processor chip. It also automatically adjusts to compensate for process and temperature variations in the processor.