For those of you that have been reading my blogs or watching my presentations for a while, you will know I like to use cars for analogies. They represent a system that everyone understands at a user level, they are composed of many subsystems, the details of which can get pretty complicated if you dig deep. So today, you will see how most chip architectures are designed like having a car without a gas pedal – and what you can do about it.
Imagine a car that once started, always had its engine running at the maximum safe RPM (revolutions per minute), say 6500 RPM. This car can control its speed through use of a very sophisticated transmission system which has a single stick between the seats – forward is faster, backwards is slower, and all the way back is in neutral. You still have several subsystems which can be turned off when not needed like the headlights, radio, navigation system, air conditioning, etc. Seems completely doable although ridiculous for a very obvious reason – you are wasting a lot of gasoline! You don’t really need the energy generated by running the engine at maximum all the time – that wastes energy. So, why are so many chips designed the same way?
From talking to chip designers over the past few years, many have become much more conscious of lowering the power used by their designs. Of course, this is especially prevalent in mobile devices, but even plugged in devices need to reduce power to meet government standards at times. Besides that, it is the right thing to do for the environment. But, often the approach is simply to add a switch to subsystems you don’t need all the time. Like the car, you can shut those off when not needed. This is the problem that Sonics’ EPU (energy processing unit) first addressed – making it easier to turn off and on more pieces of your designs, to better control what Sonics calls power grains.
The automation provided by an EPU-based approach is important to make it easier to add more power grains, both from a control point of view and because an EPU supports power state changes at a much faster rate than when done in software. Faster switching between states means smaller moments of idle time can be exploited to save power. This is a wonderful breakthrough and quite scalable. However, do all these power grains need to be only on or off, or can their power usage be regulated to use only the power which is needed at a given moment?
There is a technique to regulate the power used by a power grain, or to add a gas pedal if we stick with our car analogy. The technique is called dynamic voltage and frequency scaling, or DVFS. DVFS is the adjustment of local supply voltage to the minimum level that supports an operating frequency that delivers the required throughput. Because both the active and leakage power are strongly dependent on supply voltage, optimizing voltage and frequency to the current workload saves significant energy. This is not a new approach as it has been around for quite some time. With little effort, I found a paper on the topic published by a team from Princeton in 2005, but I think we can assume its roots go back even further than that. So, you are probably asking “why aren’t more designers using it?” Well, that’s because it is not simple to implement.
You cannot simply change the voltage and frequencies in a random manner. If you increase frequency without first increasing voltage, or decrease the voltage without first decreasing the frequency, the transistors won’t have enough drive current so the grain might fail. You also need to electrically isolate the interface signals between grains operating at different voltages. Beyond the careful control that is needed to safely make these power state transitions, there is the need to characterize an array of potential voltage/frequency combinations across process and temperature variation and having the correct logic to control the on- or off- chip voltage and frequency sources. This is why a power architecture and automation solution is needed to aid chip designers in safely introducing DVFS control of their power grains.
Chip architects, it is time to take power savings more seriously! You wouldn’t design a car without a gas pedal – so why design chips without one either?