View Single Post
Posts: 13 | Thanked: 18 times | Joined on Jan 2010
#81
It looks like there is some confusion as to why a minimum frequency of 500MHz would save power. So, let's begin CPU Power Consumption Learning Time with Zhentar!

There are 3 main components to CPU power consumption; 2 dynamic and one passive.

The passive component is Leakage. Leakage is electricity that manages to squeeze through the layers of insulators inside of transistors; it doesn't perform any useful work, but is unavoidable as smaller transistors often means the insulating layers are only a few dozen atoms thick. Leakage consumes [Voltage]^2 * [Constant] power while the processor is powered, regardless of the frequency of the processor, or what it is doing. (*There are actually some tricks here, though I'm not sure if the A8 uses them)

There are two active components. There is Switching Power, which is the electricity that flows across a transistor when it is switching from 'on' to 'off', or 'off' to 'on'. This guy is the important stuff, what makes the CPU go. The other component is Capacitance; specifically, the capacitance of wires. Yeah, in science class, or intro to electrical engineering, they probably didn't tell you wires are capacitive. Well, they are; if you want to send a signal down a wire, you have to fill it up with some electrons. Now, they aren't very capacitive, which is why you can totally ignore it in physics class, but in CPUs with things changing hundreds of millions of times a second, it starts to add up. Assuming a constant workload on the processor, capacitance consumes [Frequency]*[Constant] power, and switching consumes [Voltage^2]*[Frequency]*[Constant] power. For these parts of the power consumption, [Constant] varies quite a bit depending on what the CPU is doing.

So, now, the question at hand. 250MHz vs. 500MHz at the same voltage. Leakage power won't change at all, and Switching and Capacitance power will double; overall, the power will be somewhere close to doubled, but not quite (depending on how much leakage there is). But wait - that assumes a constant workload! That would mean the 500MHz setting is doing twice as much work, but thanks to the dynamic scaling we know there is not actually twice as much work to be done (if the 250MHz setting were maxed out, it would have jumped to 500MHz anyway). And this is where an important capability of the OMAP3430 comes into play - it can shut off entirely, sending leakage power to zero. So if there are 100 million cycles worth of work to be done during a second, the 250MHz setting will spend .4 seconds powered up, and while the 500MHz setting will use more power while it is running, it will only spend .2 seconds powered up.

Why doesn't Nokia set the minimum to 500MHz then? So why underclock at all, if it actually increases your power consumption? Simple: it allows you to reduce the voltage, and that makes a much bigger difference than having more idle time. It's only stupid to underclock if it doesn't allow you to reduce the voltage. What Titan has found is that the minimum voltage is affected by component outside of the CPU; this sets a minimum voltage regardless of the frequency of the processor. So what we want for the minimum frequency of the CPU is the highest stable frequency at that voltage, and no lower.
 

The Following 12 Users Say Thank You to Zhentar For This Useful Post: