Core Temp makes it easy for you to monitor the temperature of any modern x86 based processor. The program supports processors from all three major manufacturers; Intel, AMD and VIA.
Intel processors starting with the “Core” series all the way up to the newest Core i7, including all the derivatives.
AMD processors starting with the first Athlon64 and Opteron processor series, all Phenom and AMD’s new APU are supported.
VIA processors starting with the C7 generation of CPUs, including all the derivatives based on the C7 architecture. All of the Nano based processors are supported as well.
The temperature readings are very accurate as the data is collected directly 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 that software can access and read it. This eliminates any inaccuracies that can be introduced by external motherboard circuits and sensors.
This is how the program works:
Intel defines a certain Tjunction temperature for the processor. This value is usually in the range between 85°C and 105°C. In the later generation of processors, starting with Nehalem, the exact Tjunction Max value is available for software to read in an MSR (short for Model Specific Register).
A different MSR contains the temperature data. The data is represented as a 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 – 127°C can be reported in theory. In fact the reported temperature can rarely go below 0°C and in some cases (Core 2 – 45nm series) temperatures below 30° or even 40°C are not reported.
AMD processors report the temperature via a special register in the CPU’s northbridge. Core Temp reads the value from the register and uses a formula provided by AMD to calculate the current temperature.
The formula for the Athlon 64 series, early Opterons and Semprons is: ‘Core Temp = Value – 49’.
For the newer generation of AMD processors like Phenom, Phenom II, newer Athlons, Semprons and Opterons, and their derivatives, there is a different formula: ‘CPU Temp* = Value / 8’.
*CPU Temp is because the PhenomOpteron (K10) have only one sensor per package, meaning there is only one reading per processor.