Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!
hitechjb1 said:How to read CPU temperature
Temperature reading from temperature sensors, bios/software reading are error prone, i.e. absolute reading can be off significantly, by as much as few degree C. Then the question is how to comapre CPU temperature between different systems, different case cooling, different seasonal effects, between idle and load conditions, ....
The internal CPU die temperature monitoring device (aka diode) monitors die temperature. There is usually another temperature measureing device at the CPU socket, external and touching the CPU to monitor the CPU temperature. These two numbers would not be the same in general, the external one usually being lower under full load. Some motherboard bios and monitoring software can report both of these temperature for comparison, so these numbers can be tracked by using their difference. E.g. ABIT NF7-S reports only the external one, regardless of what software monitoring programs used (such as MBM5, hardware doctor), but the BIOS temperature cut-off protection indeed uses the internal die temperature for protection. The ASUS A7N8X can report both temperature numbers.
Four different temperature measurements can be measured for air cooling, and can also be extended to water cooling. It would be less error-prone and less dependent on the absolute accuracy of the on-board temperature sensors and software/BIOS probe.
CPU_fullload - CPU full load temperature
CPU_idle - CPU idle temperature (loosely defined, e.g. just boot up OS/BIOS, with minimal stuffs running)
SYS_fullload - system ambient temperature when CPU at full load
SYS_idle - system ambient temperature when CPU idle
actual_CPU_temperature_increase = (CPU_fullload - CPU_idle) - (SYS_fullload - SYS_idle)
So the absolute temperature of CPU is not read, but rather
- the difference between full load and idle, and
- the difference between CPU and system.
Hence eliminating (relatively) the absolute measurement errors, and ambient temperature effect.
E.g. CPU under simliar load in summer and winter, or under different ambient room temperature conditions.
Summer:
CPU_fullload = 53 C
CPU_idle = 42 C
SYS_fullload = 31 C
SYS_idle = 28 C
actual_temperature_increase = (53 - 42) - (31 - 28) = 8 C
Winter:
CPU_fullload = 40 C
CPU_idle = 29 C
SYS_fullload = 18
SYS_idle = 15 C
actual_temperature_increase = (40 - 29) - (18 - 15) = 8 C
This can apply to water cooling. Replace SYS_fullload with WATER_INTAKE_fullload_temperature, and replace SYS_idle with WATER_INTAKE_idle_temperature.
Advantage of using these four temperature numbers:
- It relatively eliminates the effect of absolute errors from the temperature sensors and software/BIOS reading.
- As the system temperatures are measured, it relatively eliminates the effect of case cooling on the CPU temperature measurement.
With this, one can compare the temperature change of two CPU's between idle and full load, even when the two CPU's are in two systems with different case cooling.
E.g. the CPU in a case with worse case cooling would tend to read a higher temperature, but the change in temperature should be similar to the one in a case with better case cooling (assuming the worse CPU did not crash first due to higher temperature).
- It also eliminates the effect of seasonal ambient room temperature on CPU temperature reading.
Power dissipation
power_dissipation = (CPU_temperature - system_ambient_temperature) / cooling_coefficient
For good case cooling, SYC_full_load - SYS_idle should be at most 2 - 3 C when CPU is under full load at 2.4 - 2.6 GHz on air.
For CPU under full load, using my CPU as an example,
Tbred B 1700+ DLT3C at 2.54 GHz 1.92 V,
CPU_full_load - CPU_idle ~ 8 C
CPU_full_load - SYS_full_load ~ 20 C
full load power ~ 20 / .22 = 91 W
For a mobile Barton at 2.65 GHz 2.15 V,
CPU_full_load - CPU_idle ~ 12 C
CPU_full_load - SYC_full_load ~ 27 C
full load power ~ 27 / .22 = 123 W
Originally posted by hitechjb1
...
The higher the voltage and frequency, the higher the power and the higher the temperature. Such active power will increase the CPU to certain temperature under certain load for a given cooling.
Since carrier mobility decreases as temperature increase beyond certain temperature due to lattice scattering, transistor switching slow down as temperature increases. So the frequency f of a CPU varies inversely with the temperature, or df / f = - k dt, mathematically, where f is frequency, t is temperature, and k is a constant.
The balancing of these two opposing actions, or the intersection of the voltage-frequency curve and the temperature-frequency curve of a CPU characteristic naturally determines the final stable voltage/frequency/temperature operating point. If overclocking is done properly, the maximal overclocking should settle naturally at certain frequency, voltage and temperature, as desribed above, below the maximum absolute rating of voltage and temperature (as seen from Tbred/Barton, ...). A perceived stable voltage and temperature setting may not be necessary after all, if the voltage, temperature, frequency variations are monitored properly and adjusted incrementally.
CPU voltage: from stock to max absolute, from efficient overclocking to diminishing return (page 19)