BIOS upgrade lowers CPU temperature
Setup
I've got a system with an Asus P8Z68-V PRO motherboard and an Intel Core i7-2600K CPU running at stock speed (no overlocking) which I cool with a Noctua NH-U12P. On the heatsink I've got the two included fans connected via the included Low-Noise Adapters (L.N.A.) 1100 RPM, 16.9 dB(A). In the BIOS settings I've set the CPU and chassis fan profile to silent.
Issue
Yesterday I upgraded from BIOS version 0501 to 0606. After the upgrade I checked the temperatures in the BIOS monitor and was surprised to see that the CPU temperature was slightly ~30°C. Before the upgrade the CPU temperature was ~50°C with the same BIOS settings (see the following heading for details on temperatures). How can this be? It seems a bit odd that a BIOS upgrade can lower the CPU temperature by 20°C and it also seems odd that the CPU temperature is lower than the chassis temperature.
Temperatures
When I've checked temperatures the room temperature has been ~23°C. I haven't changed the placement of the computer nor the hardware or cooling setup between BIOS versions.
BIOS version 0501
BIOS monitor:
- CPU: ~50°C
- Chassis: ~33°C
I haven't got any temperature measures from lm-sensors or the like for version 0501 because I only discovered the issue after upgrading to version 0606 and the BIOS updater utility won't let me downgrade to version 0501 (it says "outdated image" when I try to load version 0501).
BIOS version 0606
BIOS monitor:
- CPU: ~30°C
- Chassis: ~33°C
lm-sensors in Ubuntu 11.04 Desktop 64-bit (sudo sensors
after an uptime of 4 h 52 min and a load average of 0.22, 0.18, 0.15):
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +32.0°C (high = +80.0°C, crit = +98.0°C)
coretemp-isa-0001
Adapter: ISA adapter
Core 1: +35.0°C (high = +80.0°C, crit = +98.0°C)
coretemp-isa-0002
Adapter: ISA adapter
Core 2: +29.0°C (high = +80.0°C, crit = +98.0°C)
coretemp-isa-0003
Adapter: ISA adapter
Core 3: +36.0°C (high = +80.0°C, crit = +98.0°C)
The BIOS monitor temperatures was checked directly after the lm-sensors temperatures was checked.
BIOS version 0706, 0801, 1101 and 3203
I get the same kind of temperatures both in the BIOS monitor and with lm-sensors in BIOS version 0706, 0801, 1101 and 3203 as in 0606.
Information from Asus
The 0606 changelog mentions nothing explicitly about CPU temperature (but item 3., as indicated by sidran32, might affect temperatures):
P8Z68-V PRO 0606 BIOS with IRST 10.6.0.1002
- Enable the support of Intel Rapid Storage Technology version 10.6.0.1002 Release
- Improve DRAM compatibility
- Improve System stability
- Improve compatibility with some Raid card model
- Increase IGD share memory size to 512MB
However the following FAQ might give a hint:
FAQs
I find that the CPU temperature reading in BIOS is about 10~20 degrees centigrade hotter than the reading in OS. Is it normal? Page Tools
Solution
That is normal as BIOS does not send idle command to the CPU, making most of the power saving features useless. You should be getting similar reading if you disable EIST/C1E/CPU C3 Report/CPU C6 Report in BIOS.
Asus changed the way of measuring the CPU temp.
Before the update it was measuring the tj.max temps, which are from the CPU core, then they changed it to the tcase temps which are the temps in the environment of the CPU. The difference of these both temps are ~ 15°C.
(German Source)
I have the same motherboard, although this advice should apply to most Sandy Bridge-based motherboards. I just upgraded my BIOS, and I did notice a similar thing.
Yesterday I upgraded from BIOS version 0501 to 0601. After the upgrade I checked the temperatures in the BIOS monitor
The first problem is that you're checking your temperature in the BIOS. When the computer boots up into the BIOS, no advanced power savings or c-states are enabled (for compatibility and switching reasons), so the CPU is running at full speed, and thus, full voltage. I think that the new BIOS update may have allowed for the voltage to fall in the BIOS, but other than that, I can just speculate.
That being said, the only true way to test your idle/load temperatures is to use an operating system which can provide this detail (through a utility like HWMontior or HWiNFO). If you do complete this test, you would note literally no difference in temperatures (like I did).
TL,DR: Use an OS-based tool, not the BIOS to check your temperatures. Your actual idle temperatures have not decreased, but just your temperatures while in the BIOS (which is not technically at idle).
It may be that it changed the CPU fan control so that it is more intelligent on setting the fan speed, or perhaps defaults to a higher idle fan speed. "Improve System stability" is a very broad statement, but temperature can be a part of that, so it might include changes in how it controls fan speed.