Undervolting a Laptop
Delph1 writes "Laptops often comes with two Achilles heels, heat and limited battery time. There are, if not cures, at least remedies to make them less obvious. By lowering the voltage to the processor you can not only drastically lower the heat dissipation, but also increase the battery time significantly. NordicHardware gives a nice walk through on the process and was able to boast 18% lower temperature and a 20% reduced power consumption."
ATI Tray Tools (or a similar program) will let you underclock your video card too. Good for when you have a hulking gaming laptop, but aren't playing games, and don't want to use it as a space heater for your living room.
This procedure was described some months ago here, but without obnoxious "i spread my article over infinite pages in order to get more clicks" practice. I have been undervolting my Dothan a long time, using this little patch and some modifications to vidc. This keeps the fan off most of the time, saves some battery life and has no other impact whatsoever.
Sorry, this is wrong in the context of a CPU power supply.
When you lower the core voltage, several things happen at once:
1) the power dissipation due to the clock switching is lowered with the square of the voltage reduction. i.e. a reduction from 1.3V down to 1.1V will reduce this power component by 40%
2) the power dissipation due to the junction leakage and off-state punchthrough decreases by the ratio of the voltage.
3) but the switching speed of the MOSFET transistors decreases. Effects 1 and 2 are good as they mean an overall lower power dissipation. For 90nm processes and up, effect #1 dominates. For 65nm and below, the effect #2 becomes increasingly larger.
The downside is #3. Lowering the voltage means that some critical paths inside the CPU logic could become longer than the clock period, generating timing violations and system crashes. The only remedy against this is under-clocking.
In the end, the one thing you can gain by under-volting is the margin between your particular CPU and the lousiest one in the same class that will still perform OK at the same clock speed. As each CPU is tested and binned especially for power dissipation AND maximum clock speed, this margin is low and the gains minimal. And you spend a lot of time to find out what is the lowest safe voltage.
If you want less power dissipation and longer battery life, under-voltage and under-clock. This is done automatically already in the mobile CPUs, both from Intel and from AMD.
There are plenty of software that allow to stress-test the processor in order to ensure that the CPU is stable at the voltages that are set, such as prime95, that is mentioned in the article. It does not take "endless hours" to do that either: you just set the voltage you want to use, launch the stress-test utility, go to bed, and check if there are any errors in the morning... Then you can effectively determine the minimum voltage that is required to keep a stable system.
Actually, after having read the article, you do get the savings without a hit in performance.
Here's how I understood what was written:
When the processor is running at a particular clock rate, it is supplied a certain voltage. Reduce this voltage, and the processor clock likewise slows down. This feature is not changed.
What IS changed are the voltage thresholds when this speed shift happens. For example, when the processor was running at the reduced clock speed, the voltage (VID) was 1.000 V. However, the author was able to reduced this voltage down to 0.925 V. Hence, when the processor was set to run at the lower clock rate, the VID was only 0.925 V instead of 1.000 V. He then adjusted the settings so that the clock runs at it's original reduced speed with the new lower voltage.
For the faster clock rate, the VID was 1.450 V. However, he was able to get the processor to run at full speed at 1.175V. Again, the clock speed is the same, but the VID itself is lower. Thus, for each speed state of the processor, he was able to run it at a lower voltage.
The best analogy I can think of is the final drive ratio on a car; you have two gears, low and high, and an engine that normally runs at two speeds, say 1000 and 2000 RPM. You only drive at two speeds, 25MPH (1000 RPM) and 50 MPH (2000 RPM.) You tweak the gear ratio in the transmission and engine speed such that, in the end, the car still drives down the road at 25 or 50 MPH but now the engine turns over at only 850 and 1900 RPM. Low and high road speeds are unchanged, but the engine speeds are lower.
Why don't laptop manufacturers do this? They would have to tune these voltages for each individual processor. I'm no expert in overclocking, but if I understand it right, same-model processors can be overclocked at different rates: If you and I have the exact same model processor, you may be able to overclock it more than I can overclock mine, due to manufacturing tolerances. The same principle seems to apply to undervolting; it has to be done in a controlled fashion on a machine-by-machine basis, over a period of several hours.
Government's idea of a balanced budget: take money from the right pocket to balance...oh who am I kidding?