Why does reducing CPU frequency improve battery life?

13,428

Solution 1

Actually generally these days lowering the frequency doesnt save battery power.

It used to do this because the relationship between power and speed is not linear. Running at 50% speed does not mean it only takes 50% as much power. The curve generally tends to be exponential in nature, so you might save 20% power by lowering the speed to 90%, but going down to 80% might only increase the power savings to 30%, and 50% speed might save only 35% power. Thus, if you run at 90% speed, it might take you 10% longer to do a task, but that is more than made up for by the 20% power savings. Trying to run at 50% speed though ends up costing you more energy since you spend twice as long but only save 35% ( 2 x 0.65 = 1.3x the energy ).

These days though, processors have deep sleep states they can automatically enter when idle, during which their power consumption drops to zero. That makes it better to hurry up and get the work done, so it can go back to sleep. For example, spending 1 time unit at 50% speed would cost 0.65 energy units, but spending 0.5 time at 100% speed and the other half sleeping costs only 0.5 energy.

The exception to these circumstances is if you have a stupid application that likes to waste all of the cpu time it can get, without really getting anything done. If that is the case, then you can save a lot of power by manually dropping the frequency since it saves power, and does not take more time to finish the task.

Solution 2

It would seem that should be the case, but it isn't. Ultimately it's not about the power the CPU uses over time. It's about the power being used per task, or efficiency.

Let's say you have two people who need to run to the store that's a mile away. One decides to walk, and the other decides to run. Running takes more energy than walking, but you get there faster. Yet if you look at both people when they arrive the runner is much more exhausted. That's because the runner used proportionally more energy than the walker to do the same job. The walker was more efficient with their energy.

CPU's work in the same way. You can think of it in terms of how much power is used per cycle. A CPU running in a low power mode will take longer to perform a task but it is using less power per cycle to accomplish the same job.

Share:
13,428

Related videos on Youtube

Admin
Author by

Admin

Updated on September 18, 2022

Comments

  • Admin
    Admin almost 2 years

    Shouldn't we have roughly the same battery life regardless of the frequency since the higher the frequency is, the faster tasks will complete so in the end the CPU, despite running at a higher frequency is less used than if it was running at a lower frequency ?

    • Ramhound
      Ramhound over 9 years
      Its about the amount of power. When a CPU is running at a lower frequency than the base block its using less power and when a CPU is running at a higher frequency than the base clock its using more power.
    • Psycogeek
      Psycogeek over 9 years
      What is the CPU? the new intel CPUs even lower the voltage when running at a lower frequency. Lower voltage is less total wattage, and lower potential energy, is less general current flow, the whole combination of less work being done, lower voltage and lower current, slowly doing the same work more efficently
  • Ramhound
    Ramhound over 9 years
    Ultimately it's not about the power the CPU uses, but the efficiency. - This statement does not make sense given the rest of the answer.
  • Alex McKenzie
    Alex McKenzie over 9 years
    @Ramhound I don't see what you mean. The OP was focusing on the power vs time. I was saying that it needs to be thought of as power vs the task being run.
  • Alex McKenzie
    Alex McKenzie over 9 years
    I've edited my answer to clarify.
  • Woody
    Woody over 9 years
    Did you read the question? He asked why battery life was better when you use lower frequency on the CPU, pretty sure my answer explains itself, because at a lower frequency, you're using the fan less, which in turn makes battery life better. Don't really understand what is confusing you?
  • Alex McKenzie
    Alex McKenzie over 9 years
    I probably could have worded it better the first time. It's not just about the power used, but how efficiently it's used.
  • Ramhound
    Ramhound over 9 years
    Yes; I suppose. But processors actually reduce the amount of power they are using in order to over clock or under clock ( at least that's the case with Intel's products )
  • Alex McKenzie
    Alex McKenzie over 9 years
    Fan usage isn't the core reason that power consumption is better. Some computers/embedded systems don't even have fans.
  • Woody
    Woody over 9 years
    I didn't mean to imply it was the main reason, or the only reason, just that it was part of the reason why they are better on battery.
  • psusi
    psusi over 9 years
    The energy spent removing the heat with the fan is negligible compared to the power spent generating that heat in the first place.
  • Splitframe
    Splitframe over 8 years
    I wonder if this is really always the case, because when I watch my consumption I have a base-line consumption of 3 Watts. If I restrict the cpus frequency to 1,5Ghz ( from 3.1 ) I have a consumption of 16W vs 37W at 3.1 Ghz. Now in your example I'd still use the 3W in the 0.5 time units that the cpu is at 0.
  • psusi
    psusi over 8 years
    @Splitframe, I assume you mean that the 3 W figure is power consumed by the rest of the system when the cpu is using zero. In that case, yes, the system as a whole will use 3 W but we're only talking about the CPU here so we can compare apples to apples. Restricting it to that, the CPU uses 0 half the time, and 34 W when at full speed for the other half of the time, for an average power of 17 W. So it looks like in your case restricting it does still save a bit of power, assuming that doubling the clock halves the time to finish the work ( which it usually doesn't ). Try 2.6 GHz.
  • Splitframe
    Splitframe over 8 years
    I used HWMonitor for the readings, the way I understand it GT is the power consumed by the GPU, IA by the CPU cores and package the whole cpu together? I don't really know. The sensor "Uncore" takes the most with 1.5W. I just want to maximise my battery life and wondered if throttling the CPU really improves that. Anyway the package reads around 3W nearly all the time. The other values are as above. I'll do some testing and maybe add an answer later. Thanks for your comment!