
How does it work?
Core Temp lets you monitor
Intel "Core Duo", "Core Solo" (Yonah), "Core
2 Duo", "Core 2 Extreme", "Core 2 Quad", "
Pentium E2000" series, "Celeron 400\500" series (Allendale,
Conroe, Merom, Kentsfield, Conroe-L respectively), "Xeon
3000/3200/5100/5300" series (Woodcrest, Clovertown respectively)
and all AMD K8 (AMD64) and K10 (Phenom, Opteron) series die temperature.
The temperature readings are very accurate as the data is collected from a Digital
Thermal Sensor (or DTS) which is located in each individual
processing core, near the hottest part. This sensor is digital, which
means it doesn't rely on an external circuit located on the
motherboard to report temperature, its value is stored in a special
register in the processor so any software can access and read it.
This eliminates any inaccuracy that can be caused by external
motherboard circuits and sensors and then different types of programs
trying to read those sensors.
This is how the program works:
Intel defines a certain
Tjunction temperature for the processor. In the case of Yonah it is
85C° or 100C°. First of all the program reads from a Model
Specific Register (or MSR), and detects the Tjunction
temperature. A different MSR contains the temperature data, this data
is represented as Delta in C° between current temperature and
Tjunction.
So the actual temperature is
calculated like this 'Core Temp = Tjunction - Delta'
The size of the data field is 7
bits. This means a Delta of 0 - 127C° can be reported in theory.
But from preliminary tests, the reported temperature doesn't go below
0C°, no matter what kind of cooling was used.
AMD chips report the
temperature by a special register in the CPU's NB. Core Temp reads
that register and uses a formula provided by AMD to calculate the
current temperature. The formula for the K8 is: 'Core Temp = Value - 49'.
The formula for the K10* is: 'CPU Temp** = Value / 8'.
The sensor in AMD CPUs can report
temperatures between -49C and 206C.
*K10 = Phenom (Agena), Opteron (Barcelona). The K10 reports a temperature value
that is relative to a certain predefined value, it doesn't report the actual
processor temperature! So take that into consideration.
**CPU Temp is because the Phenom\Opteron (K10) have only one sensor per package,
meaning there is only one reading per processor.
|