There have been many blogs and articles written on power management utilizing dynamic voltage and frequency scaling (DVFS), a method by which a discrete voltage and frequency pair is chosen from a predetermined list based on an input requirement. For an example, read Don Dingee’s blog entitled “DVFS is Dead, Long Live Holistic DVFS.” Choosing this input requirement is where it all starts.
The most common input requirement is the required performance. Where do we find out the required performance? Well, the OS surely knows what tasks are running so it can estimate throughput. This throughput directly relates to the frequency and power state of one or more CPU cores. DVFS lets the OS reduce the frequency to match the desired throughput, while reducing voltage to the minimum level that supports safe operation at that frequency. But, how do we choose that voltage?
Energy saving through temperature compensation is an additional method that can be applied by which the voltage to a circuit may be lowered based on the actual operating temperature of the chip. Most designs today do not take advantage of this parameter and simply assume the worst case temperature when choosing the operating voltage. While this is the simplest method, it results in higher than required voltages and thus, consumes more energy. Since most designs rarely operate at the maximum temperature, temperature is another input requirement we can exploit in DVFS for additional energy savings.
Positive Feedback Loop
The concept of temperature compensation is simple and leads us into a welcome positive feedback loop where if the temperature of the device drops at some point, we can lower the operating voltage, meaning we consume less power. That’s a good start. But, less power consumed also means less heat is generated and less generated heat frequently produces an even lower operating temperature, closing a positive feedback loop. This further reduction in temperature can then lead to a further reduction in the voltage, until the die reaches equilibrium.
This scenario may occur, for example, if I switch from watching a movie on my phone to just listening to music. The heat from the movie phase does not dissipate immediately and therefore, when the music phase starts, the voltage will have to be higher than the minimum because of the temperature. But, as the reduction in heat generation during the music phase lets the temperature fall, the voltage can be reduced.
On the flip side, as the temperature begins to rise, the voltage may need to increase to compensate for the higher temperature. This may cause more than a single change in voltage when the performance is high, but eventually the device will stabilize somewhere at or below the maximum voltage. There is no possibility of a run away loop as long as the device was originally designed based upon meeting the highest throughput at the maximum allowed temperature.
This scenario can be triggered by moving my phone from inside a cool building to outside in the warm sun while doing the same activity or by switching activities to one that requires higher throughput.
Who’s in control?
Since on-die temperature cannot change rapidly, temperature compensation approaches only require millisecond-level responsiveness. However, taking advantage of the current temperature to reduce the voltage to a level that would not meet timing constraints at higher temperatures requires vigilance: the control system must be continuously monitoring for temperature changes. Leaving the voltage low for too long as the temperature rises can cause a malfunction and leaving the voltage high for too long wastes power.
While software control loops can meet the required temperature compensation responsiveness, such schemes obviously require that a processor be active to run the software! In long-life battery-operated applications like IoT edge devices, the control CPU is intentionally powered down most of the time to eliminate its leakage power. Waking up that processor to check for temperature changes wastes too much energy – especially since the major source of temperature change in such a situation is the environment, which normally changes slowly.
EPU combined with on-chip temperature sensors
The best solution for temperature compensation control will provide for quick reaction time to relevant changes in the temperature at far lower energy than a CPU. A dedicated Energy Processing Unit (EPU) with very low standby power and scalability to support highly concurrent and independent power state transitions (high MSPS) meets these needs. By connecting one or more on-chip temperature sensors, the EPU supports independent continuous regulation loops for voltage across temperature. Each regulation loop, while independent from each other, can control a shared resource, in this case a voltage regulator. The resulting control can still produce the safest value for proper circuit operation.
Other features of the regulation loop can further improve the control such as hysteresis, which allows the loop to react more quickly depending on the direction of the input and also reduce thrashing to provide a more stable system. Additionally, alarm interrupts can notify software of dangerous situations such as excessive temperature. To support these capabilities, Sonics recently announced a partnership with Moortec that integrates on-die temperature monitors with EPUs.
Sonics’ ICE-P3, the recently introduced third member of the ICE-Grain EPU Family of products, contains these DVFS features and more to provide for a robust temperature controlled solution. ICE-P3 leverages the EPU Studio development tools and correct-by-construction IP. It enables definition of operating points featuring up to four independent performance targets, each mapped to temperature-compensated values for up to four voltage and/or frequency sources. Arbitration in ICE-P3 allows different clusters to share the same voltage and frequency resources, supporting coordinated control. ICE-P3 also has resource controllers for PLLs, clock generators, voltage regulators or PMIC interfaces to turn the transition requests into control signaling.