III. Socket-Thermsitor Under-Reads due to Compression, and Why Compensation in MB Bios Only Goes So Far
Among other major problems with socket-thermistor readings is major under-temp reading. Compensation that certain MB manufacturers implement certainly helps, but it does not entirely work.
Now, Certain MB manufacturer's have implemented a "Compensation" to help correct these temps. But in every case, this is a linear compensation. Compressed temps are not linear, therefore to correct them would have to be a non-linear "compensation" that would likely be very complex and still inaccurate.
Here's an example of why the compensation helps, but still does not solve compression issues when comparing heatsinks and grease, etc.
t-bird at 1ghz, 1.8V=~55W. Using a PAL6035, you get a core temp change of approximate 20C. For example, there is a 4X compression in this case for backside thermsitor readings. So the reading is 5C, and the compensated reading change is 10C. So the compensation does an okay job for "approximating" cpu temp to a close enough degree.
now let's take a t-bird at 1.1ghz, 1.85V=~65W. Also using a Pal6035, you get an approximate core temp change of 24C. So you get a "reading" temp of 6C, and the compensated reading change is 16C. You're still getting a reading that is 8C too low. The situation only gets worth with heatsinks of lower performance level.
Now let's look at a Taisol CEK733092:
t-bird 1ghz -1.8V: Core temp change=27C; Reading temp change= 7C +(10C Compensation Temp)=17C
t-bird 1.2ghz -1.85V: Core Temp change = 32C; Reading temp change=8C +(10C)=18C
You get 2 very severe "under-reads", one 10C too low and one 14C too low.
Now finally, we'll add the Thermaltake Chrome-Orb
t-bird 1ghz-1.8V: Core temp change=44C: Reading temp change = 11C + (10C) = 21C
t-bird 1.2ghz-1.85V: Core temp change = 52C: Reading temp change = 13C +(10C)=23C
Even more under-reading on this heatsink. The important thing to remember is that the compression does not stay the same. A KT7 Thermistor, For Example, Touches the CPU substrate on one point. The other 99% of it contacts socket-air, so any slight airflow is probably enough to disrup the reading. These measurements are done assuming an isolated thermistor reading, but assuming the compression between core and back is 4X(it may or may not be this high). But the inadequacies of the socket-thermistor in giving relative, accurate heatsink results is highly visible. Even wtih compensation, since lower-quality heatsinks do not get enough "compensation".
There are instances of 10C or even greater accuracy errors even in Compensated BIOS'. For instance, in the Anandtech "Comparison", there is a 12C accuracy error on the C-orb. For an error of over 23%. On the UL bios, as well, so even though the newer, compensated BIOS' do a good job approximating temp, they are still approximating, and are subject to potential huge reading problems. Then, in this recent Anandtech BBS thread, there is a user that is reading a 30C CPU temp, with a 23C system temp on a KT7. This is probably an error from actual core temp of almost 17C, for an error of ~43%.
Now the safeguard for under-read temps is keeping read temps below certain levels for certain MBs: There is a general guide for some heatsinks that I have seen on the internet:
Asus A7V: Temps over 65C tend to create problems
Abit Kt7: Temps over 55C tend to create problems
MSI K7T Pro2A: Temps over 50C tend to create problems
These aren't absolute guides. Of course, there are instances where Temps on these mbs can be higher and still be running acceptably. But as a general rule, keeping "reading" temps under these levels will generally avoid most problems.
Socket-Thermistor Versus Internal Diode Tests