To all. I kind of extracted what I thought to be the core of what was said in that 8 page thread. Proof read and maybe you can correct oversights or blatant errors. I'm trying to get everything in one place for people that also don't get the temp guide or might like to see a different approach to it.
Thanks in advance!
Case Temperature
Intel thermal specs always references a case temperature (TC). this TC is defined as the temperature measured at the geometric center of the package on the surface of the IHS.
X6800 TC = 60,4C
C2D with 4MB L2 cache TC = 60,1C
C2D with 2MB L2 cache TC = 61,4C
PROCHOT#
The system bus signal PROCHOT# will go active when the processor temperature of either core exceeds its maximum operating temperature. This indicates the Thermal Control Circuit (TCC) has been activated. The
temperature at which the PROCHOT# signal goes active is individually calibrated during manufacturing. Once configured, the processor temperature at which the PROCHOT# signal is asserted is not re-configurable.
THERMTRIP#
The processor will automatically shut down when the silicon temperature has reached its operating limit. At this point the system bus signal THERMTRIP# goes active and power must be removed from the
processor. The temperature where the THERMTRIP# signal goes active is individually calibrated during manufacturing. Once configured, the temperature at which the THERMTRIP# signal is asserted is neither re-configurable nor accessible to the system.
Tcase
Intel defines tcase as the temperature measured at the geometric center of the ihs on top of the ihs surface! There is no temperature sensor nor a diode reporting this temperature. It's just a place outside the processor where temperatures may be measured ...
Digital Thermal Sensor
The Digital Thermal Sensor (DTS) is the on-die sensor to be used for fan speed control (FSC). Each core has its own DTS. The DTS is monitoring the same sensor that activates the TCC. Readings from the DTS are relative to the activation of the TCC. The DTS value where TCC activation occurs is 0 (zero).
No matter what tool you are using, all these programs have to rely on sensors integrated within the cpu to measure temps. Intel supplies two ways to measure temps:
1. The old fashioned thermal diode, readable via PECI interface
2. Digital thermal sensor (dts, introduced with conroes), readable through registers.
The problem is as follows:
The thermal diode let's you read an absolute temperature BUT is not very accurate AND needs to be calibrated in order to show correct temps! Programs using this method will show slightly different readings depending how accurate the program developer calibrates his software.
On the other hand, dts is very accurate. as intel has intended to use this sensor for fanspeed control, this sensor DOES NOT DELIVER ABSOLUTE TEMPERATURES! It gives a reading how far the core is away from the point where the cpu starts to throttle. All programs using this accurate sensor have to calculate absolute temps by subtracting dts readings from the mentioned throttling activation temperature.
To make things even worse, intel did not supply this temperature value in any register as far as we know yet. Thus, software has to "assume" this temperature value and do the calculations.
You can figure out for yourself the probability, the programmer hits the correct value just for your very own processor.
This temperature value is burnt into the processor at manufacturing and may vary from die to die.
As said before, this temperature value is not readable via any register.
Core Temp
As far as i know, thats the point where core temp kicks in. Core temp just reads two registers. The first one is the one which identifies CPU and Coretemp sets temperature where TCC gets activated accordingly, the second one is the register holding the DTS value itself. All that core temp has to do, is subtract the DTS value from TCC activation temperature to get current core temperatures. Core temp displays the TCC activation temperature as "Tjunction" and the actual temps of both cores under "Core #0" and "Core #1".
So, as long as TCC is not activated (the cpu is not throttling) temps are below the 85C (or 100C depending on CPU type) coretemp shows as "Tjunction".
The way coretemp works, throttling occurs at the point where one of the cores shows exactly the same value as is displayed as tjunction in coretemp. This might be any other value in programs reading their temperature off the thermal diode. I assume rmclock does so, as rmclock shows slightly different values than coretemp.
However, nobody can tell if this temperature displayed in coretemp as 85c is actually 85c, 83c, 88c, or even near 100c (assuming coretemp is using the wrong tjunction)
Most of the time PROCHOT# (TCC activation) temperature erroneously gets referenced as tjunction! Coretemp uses this TCC activation temperature as a reference point to calculate temperatures from. TCC
activation temperature can't be read by software, BUT there is a bit in a register which was implemented by intel. This bit is valid on MOBILE processors and defines if TCC activation temperature is near 85c
or near 100c! I use the term "near" because in reality, this temperature is calibrated on a processor basis and differs from die to die. On one processor die it might be 87c while on an other processor die
it might be 83c, as stated before. Coretemp, and I assume all other programs using DTS, uses this bit to decide if for a certain processor 85c or 100c has to be used in the calculations. Although this is valid only for mobile processors, this seems to work for MOST current, but not all, desktop processors aswell. We have seen more and more new processors coming out where this assumption is not correct anymore. Those are the situations where coretemp reads temps about 15c off!
So, to get coretemp back to more valid readings, the only thing to do is to change the reference temp from 85c to 100c instead on relying on the obviously wrong set bit in the register. That was done in coretemp 0.95 for e4300 and maybe some other processors too (e6400?).
However there seem to be different (older) batches of e4300's (and possibly others) floating around that use 85C as TCC. As Coretemp 0.95 now assumes "Tjunction" = 100C, temps are again off by 15 degrees.
what is a safe dts value?
Well, as with regular coretemp readings this depends on the environment your processor is running in. My very personal rule is as follows:
Running on high vcore, which to me is everything above 1.5v, I would try to keep dts above 30c (this translates to about 55c in coretemp94)
On lower vcore, a dts value above 15c should be fine and easily achievable. (70c in coretemp94)
These assumptions take into account that higher vcore results in higher current and thus in higher current density which besides temperature is the most important parameter for reliability or failures due to electromigration. Reducing operating temperatures maintains reliability even if current density (vcore) is raised.
The general rule is roughly: decrease temps by at least 20c for every current density increase of 100%!
Remember, regardless if "Tjunction" in Coretemp is set to 85C or 100C, DTS values reflect how far away from throttling/overheating your CPU is, so this is the only absolute value you can go by.
All this is taken from the original thread here:
http://www.xtremesystems.org/forums/showthread.php?s=6d5245436beaac72ceb630144ca07987&t=131008 So props to them!