Rule of Thumb
If your idle temps are equal to or less than ambient temps, and you are air or water cooling (w/o a TEC, chiller, etc...) then they are wrong. Period. If they are within a couple degrees of ambient and you are overclocked, then they are most likely wrong. Air and vanilla water cooling can not cool down to ambient temperature. To give you a rough idea:
16C = 61F
18C = 64F
20C = 68F
22C = 72F
The average room temperature in a house is generally going to be 69F or higher w/ the air on, and in most cases even warmer in the winter from the heat. If your idle temps fall into the range above, you should give some consideration to adjusting your readings.
A Few Notes About CoreTemp / TAT
* TAT generates better load than anything else for generating heat, but does no good at all for stability testing because it doesn't measure whether or not there are errors. One could run TAT -and- Orthos together, but in the end, for stability testing you need a program like Orthos that runs calcs and then verifies the results.
* TAT and CoreTemp both read the thermal diodes on the cores. Those thermal diodes report temperatures relative to Tjunction Max - the point at which thermal management steps in to save the processor. Hence the readings from thoes diodes is ALWAYS negative (the core temps are always below Tjunction Max), and when TAT and CoreTemp report the absolute temperature they are doing so by taking that negative temperature and adding Tjunction Max to it.
* Tjunction Max is not stored in the processor registers. It can not be read from the processor. CoreTemp and TAT both have to make assumptions as to what Tjunction Max is based on what CPU they detect (stepping and such). The problem is they make different assumptions and those assumptions are not always correct. To further complicate issues, different versions of CoreTemp make different assumptions.
* Note that Tjunction Max is not necessarily exactly either 85C or 100C. Each CPU has its thermal management factory calibrated with temperatures unique to that processor. It would appear that certain steppings do indeed tend to be centered around either 85C or 100C, but those numbers are guestimates that have become defacto standards (hence steppings are often either considered 85C or 100C - but the real thermal management activation temperature varies for each individual CPU). This would appear to make it impossible for the DTS values to ever be wholly accurate at reporting absolute temperatures.
* TAT does not inherently report correctly because it is from Intel. Intel designed it for mobile processors, not desktop processors. TAT is just as capable of assuming the wrong Tjmax as well. If TAT assumes you have an 85C Tjmax processor when it is really 100C, then TAT will be 15C too low as well. What's more, TAT was never intended for public release. Most people have not obtained TAT from Intel, so who knows what version we are using (versus what Intel is supplying to their partners). Does anyone actually have a link for Intel's site where we can download TAT? I don't think it exists (but if it does please post it ).
* Even if you assume Tjunction Max is either only 85C or 100C, it is possible for CoreTemp to report the wrong temperature while TAT is correct, for TAT to report wrong while CoreTemp is correct, for both to report wrong, or both to report correct.
* TAT does not report what it assumesTjunction Max to be. CoreTemp does. That makes it easier to adjust for CoreTemp readings than for TAT.
* To find your correct temperatures, assuming YOU know what Tjunction Max should be, run CoreTemp. If CoreTemp reports 85C and you know the processor is 100C, then add 15C to the temperature readings. If CoreTemp reports 100C and you know the processor is 85C, then subtract 15C from the readings. If CoreTemp's Tjunction Max matches what you know the processor is, then you can take the readings as is.
* After you've determined what your 'real' temperature is via CoreTemp, TAT should be close to matching that 'real' number. If TAT is off by more than a bit, then add or subtract 15C from TAT so that the number is similar to the 'real' temperature you've received from CoreTemp.
So... What happens when you don't know what Tjunction Max is for your processor, or you just want to be more precise with your temp readings? Well, you know the cores will always be warmer than ambient temperature and they will always be warmer than the processor temperature given by programs that read the overall CPU temp (rather than the core temps). You also know that if you underclock the CPU and undervoltage the CPU as far as possible then it should be -close- to ambient. Based on those facts you can make some reasonable guesses about Tjunction Max.
How to Adjust your CoreTemp / TAT Readings
(by selecting the more accurate of either 85C or 100C as Tjmax)
1. Download a program that will report CPU temps as opposed to core temps. SpeedFan is one program that gives both - just ignore the core temps given by SpeedFan.
2. Get something to measure the ambient air temperature in your room.
3. Downclock your processor and undervoltage it as far as you can and still boot successfully. For me this is 100MHz FSB x 6 with a CPU voltage of 0.8v.
4. Measure the air temperature of your room, or, even better, take the side of your case off and hold the probe near the inlet of your heatsink fan to measure the temperature of the air going into your heatsink.
5. Run TAT and CoreTemp. Take all of your measurements at IDLE. At idle the temps should be close to ambient (or fan inlet) temperature, but not below. TAT and CoreTemp may read different temps depending on version - perform the following comparisons independently for both.
6. Compare your temps to the ambient (or fan inlet) temp. If your temps are below the ambient temp then add 15C. If your temps are more than 20C over ambient temp then subtract 15C.
7. Alternatively, if you can't measure ambient temp well then compare core temps to the CPU temp given by SpeedFan (or whichever program you chose to use - many motherboard manufacturers include a tool that reports the CPU temp read by the BIOS). If your temps are below the temps given by SpeedFan then add 15C to them. If they are more than 20C over then subtract 15C.
Establishing a More Precise Estimate of Real Core Temps
1. Follow steps 1 through 5 above
2. Calculate the approximate idle power of your processor at those speeds. This is a very loose estimate, but the amount of power at this speed is so little that the actual error is almost negligible anyways. In fact, this excercise is really pretty much unnecessary because the amount of power is so low that it generates almost no heat
Est. Load Power = (CPU TDP) x (CPU Speed / CPU Stock Speed) x ((CPU Voltage) / (CPU Max Stock Voltage))^2
Est. Idle Power = Est. Load Power / 4
CPU TDP is the TDP value listed at Intel's site (see the Spec Finder link below)
CPU Voltage is the voltage you have set for your CPU in your BIOS.
CPU Max Stock Voltage is the top end of the voltage range given at Intel's site.
CPU Speed is the clock rate you are running the chip at.
CPU Stock Speed is the stock clock rate.
For example, for my E4300 @ 600MHz, 0.875v:
Est. Load Power = 65W x (600 / 1800) x (0.875v / 1.5v)^2 = 7.4W
Est. Idle Power = 7.4W / 4 = 1.8W
3. Calculate the expected core temperatures based on that power output. It is safe for us to assume that the thermal resistance of the interface between the CPU cores and the IHS is no higher than 0.33C/W (the real thermal resistance is almost nil, but I prefer to err on the conservative side rather than have to argue the point) and assume the thermal resistance of your heatsink and TIM is also around 0.33 C/W. Or feel free to fill in values that are more realistic - we're working with such small numbers it hardly matters though.
Core Temperature = Fan Inlet Temperature + Watts * Total Thermal Resistance
Note that the calculation specifies the fan inlet temperature. Your CPU might not be producing much heat at this speed, but there might be other components on the board that are still contributing a reasonable amount of heat, so the air inside your case being sucked through the CPU heatsink is going to be hotter than the ambient air outside of it. Even with your case side panel off this difference will often be around 1C to 3C.
For example, in my testing:
Expected Core Temperature = 27C (was a warm day) + 1.8W * 0.66 C/W = 28.2C
4. Subtract that number from the core temperature given by TAT or Core Temp and you now have your offset for adjusting for real temps.
For example:
Offset = 35C (TAT) - 28C (calculated value) = 7C - so if I want a better estimate of my real core temps, I would subtract 7C from the reading I get in TAT
As you can see, it was almost unnecessary to calculate the amount of power your CPU is dissipating in step 2 while so severely underclocked and undervoltaged. The amount of heat dissipated is so low that it is safe to assume your cores will only be 1C to 3C over ambient temps (and 3C or more only if your board prevents you from lowering your voltage and speed very far).
More Precise Yet...
I don't recommend anyone run their PC w/o a heat sink at any speed or voltage, even the slow speed and voltage specified in this test - YOU COULD PERMANENTLY DAMAGE YOUR CPU (though thermal management should save it under normal circumstances). The above method is more than precise enough provided you can accurately measure the temperature of the air going through the CPU fan. But if you absolutely must know your real temps...
1. Go to Radio Shack (or equivalent) and buy an IR surface temperature probe.
2. Repeat the above procedure - but with no heatsink. Yes, that's pretty darn crazy, which is why I do not recommend it unless you are capable of lowering your voltage and speed to ridiculously low levels. Again, even if you are crazy enough to do this (and I have heard of one person that has, but that person was not me - yet ), the test is meant to be done w/ the CPU at idle. Keep it that way for safety's sake.
3. Instead of calculating the expected core temps, use the IR probe to measure the surface temperature of the IHS. The thermal resistance between the IHS and cores is fairly low, and the difference in temperatures between the two should be almost nil at this wattage. Use this as your real core temperature and calculate the offset as done in step 4 of the above procedure.
Future Updates
* Add a glossary and standardize terms throughout (where there are any ambiguities).
* Include some information on how heat actually transfers from the cores through the IHS and through the heatsink to highlight the thermal resistances of each area and what role they play in temps.
Reading Material and Links
http://www.intel.com/design/core2duo/documentation.htm
http://www.intel.com/design/core2quad/documentation.htm
(refer to the Thermal and Mechanical Design Guidelines and Datasheets - I haven't linked the actual documents because the links are subject to change each time Intel issues an update)
http://processorfinder.intel.com/
Intel Processor Spec Finder
If your idle temps are equal to or less than ambient temps, and you are air or water cooling (w/o a TEC, chiller, etc...) then they are wrong. Period. If they are within a couple degrees of ambient and you are overclocked, then they are most likely wrong. Air and vanilla water cooling can not cool down to ambient temperature. To give you a rough idea:
16C = 61F
18C = 64F
20C = 68F
22C = 72F
The average room temperature in a house is generally going to be 69F or higher w/ the air on, and in most cases even warmer in the winter from the heat. If your idle temps fall into the range above, you should give some consideration to adjusting your readings.
A Few Notes About CoreTemp / TAT
* TAT generates better load than anything else for generating heat, but does no good at all for stability testing because it doesn't measure whether or not there are errors. One could run TAT -and- Orthos together, but in the end, for stability testing you need a program like Orthos that runs calcs and then verifies the results.
* TAT and CoreTemp both read the thermal diodes on the cores. Those thermal diodes report temperatures relative to Tjunction Max - the point at which thermal management steps in to save the processor. Hence the readings from thoes diodes is ALWAYS negative (the core temps are always below Tjunction Max), and when TAT and CoreTemp report the absolute temperature they are doing so by taking that negative temperature and adding Tjunction Max to it.
* Tjunction Max is not stored in the processor registers. It can not be read from the processor. CoreTemp and TAT both have to make assumptions as to what Tjunction Max is based on what CPU they detect (stepping and such). The problem is they make different assumptions and those assumptions are not always correct. To further complicate issues, different versions of CoreTemp make different assumptions.
* Note that Tjunction Max is not necessarily exactly either 85C or 100C. Each CPU has its thermal management factory calibrated with temperatures unique to that processor. It would appear that certain steppings do indeed tend to be centered around either 85C or 100C, but those numbers are guestimates that have become defacto standards (hence steppings are often either considered 85C or 100C - but the real thermal management activation temperature varies for each individual CPU). This would appear to make it impossible for the DTS values to ever be wholly accurate at reporting absolute temperatures.
* TAT does not inherently report correctly because it is from Intel. Intel designed it for mobile processors, not desktop processors. TAT is just as capable of assuming the wrong Tjmax as well. If TAT assumes you have an 85C Tjmax processor when it is really 100C, then TAT will be 15C too low as well. What's more, TAT was never intended for public release. Most people have not obtained TAT from Intel, so who knows what version we are using (versus what Intel is supplying to their partners). Does anyone actually have a link for Intel's site where we can download TAT? I don't think it exists (but if it does please post it ).
* Even if you assume Tjunction Max is either only 85C or 100C, it is possible for CoreTemp to report the wrong temperature while TAT is correct, for TAT to report wrong while CoreTemp is correct, for both to report wrong, or both to report correct.
* TAT does not report what it assumesTjunction Max to be. CoreTemp does. That makes it easier to adjust for CoreTemp readings than for TAT.
* To find your correct temperatures, assuming YOU know what Tjunction Max should be, run CoreTemp. If CoreTemp reports 85C and you know the processor is 100C, then add 15C to the temperature readings. If CoreTemp reports 100C and you know the processor is 85C, then subtract 15C from the readings. If CoreTemp's Tjunction Max matches what you know the processor is, then you can take the readings as is.
* After you've determined what your 'real' temperature is via CoreTemp, TAT should be close to matching that 'real' number. If TAT is off by more than a bit, then add or subtract 15C from TAT so that the number is similar to the 'real' temperature you've received from CoreTemp.
So... What happens when you don't know what Tjunction Max is for your processor, or you just want to be more precise with your temp readings? Well, you know the cores will always be warmer than ambient temperature and they will always be warmer than the processor temperature given by programs that read the overall CPU temp (rather than the core temps). You also know that if you underclock the CPU and undervoltage the CPU as far as possible then it should be -close- to ambient. Based on those facts you can make some reasonable guesses about Tjunction Max.
How to Adjust your CoreTemp / TAT Readings
(by selecting the more accurate of either 85C or 100C as Tjmax)
1. Download a program that will report CPU temps as opposed to core temps. SpeedFan is one program that gives both - just ignore the core temps given by SpeedFan.
2. Get something to measure the ambient air temperature in your room.
3. Downclock your processor and undervoltage it as far as you can and still boot successfully. For me this is 100MHz FSB x 6 with a CPU voltage of 0.8v.
4. Measure the air temperature of your room, or, even better, take the side of your case off and hold the probe near the inlet of your heatsink fan to measure the temperature of the air going into your heatsink.
5. Run TAT and CoreTemp. Take all of your measurements at IDLE. At idle the temps should be close to ambient (or fan inlet) temperature, but not below. TAT and CoreTemp may read different temps depending on version - perform the following comparisons independently for both.
6. Compare your temps to the ambient (or fan inlet) temp. If your temps are below the ambient temp then add 15C. If your temps are more than 20C over ambient temp then subtract 15C.
7. Alternatively, if you can't measure ambient temp well then compare core temps to the CPU temp given by SpeedFan (or whichever program you chose to use - many motherboard manufacturers include a tool that reports the CPU temp read by the BIOS). If your temps are below the temps given by SpeedFan then add 15C to them. If they are more than 20C over then subtract 15C.
Establishing a More Precise Estimate of Real Core Temps
1. Follow steps 1 through 5 above
2. Calculate the approximate idle power of your processor at those speeds. This is a very loose estimate, but the amount of power at this speed is so little that the actual error is almost negligible anyways. In fact, this excercise is really pretty much unnecessary because the amount of power is so low that it generates almost no heat
Est. Load Power = (CPU TDP) x (CPU Speed / CPU Stock Speed) x ((CPU Voltage) / (CPU Max Stock Voltage))^2
Est. Idle Power = Est. Load Power / 4
CPU TDP is the TDP value listed at Intel's site (see the Spec Finder link below)
CPU Voltage is the voltage you have set for your CPU in your BIOS.
CPU Max Stock Voltage is the top end of the voltage range given at Intel's site.
CPU Speed is the clock rate you are running the chip at.
CPU Stock Speed is the stock clock rate.
For example, for my E4300 @ 600MHz, 0.875v:
Est. Load Power = 65W x (600 / 1800) x (0.875v / 1.5v)^2 = 7.4W
Est. Idle Power = 7.4W / 4 = 1.8W
3. Calculate the expected core temperatures based on that power output. It is safe for us to assume that the thermal resistance of the interface between the CPU cores and the IHS is no higher than 0.33C/W (the real thermal resistance is almost nil, but I prefer to err on the conservative side rather than have to argue the point) and assume the thermal resistance of your heatsink and TIM is also around 0.33 C/W. Or feel free to fill in values that are more realistic - we're working with such small numbers it hardly matters though.
Core Temperature = Fan Inlet Temperature + Watts * Total Thermal Resistance
Note that the calculation specifies the fan inlet temperature. Your CPU might not be producing much heat at this speed, but there might be other components on the board that are still contributing a reasonable amount of heat, so the air inside your case being sucked through the CPU heatsink is going to be hotter than the ambient air outside of it. Even with your case side panel off this difference will often be around 1C to 3C.
For example, in my testing:
Expected Core Temperature = 27C (was a warm day) + 1.8W * 0.66 C/W = 28.2C
4. Subtract that number from the core temperature given by TAT or Core Temp and you now have your offset for adjusting for real temps.
For example:
Offset = 35C (TAT) - 28C (calculated value) = 7C - so if I want a better estimate of my real core temps, I would subtract 7C from the reading I get in TAT
As you can see, it was almost unnecessary to calculate the amount of power your CPU is dissipating in step 2 while so severely underclocked and undervoltaged. The amount of heat dissipated is so low that it is safe to assume your cores will only be 1C to 3C over ambient temps (and 3C or more only if your board prevents you from lowering your voltage and speed very far).
More Precise Yet...
I don't recommend anyone run their PC w/o a heat sink at any speed or voltage, even the slow speed and voltage specified in this test - YOU COULD PERMANENTLY DAMAGE YOUR CPU (though thermal management should save it under normal circumstances). The above method is more than precise enough provided you can accurately measure the temperature of the air going through the CPU fan. But if you absolutely must know your real temps...
1. Go to Radio Shack (or equivalent) and buy an IR surface temperature probe.
2. Repeat the above procedure - but with no heatsink. Yes, that's pretty darn crazy, which is why I do not recommend it unless you are capable of lowering your voltage and speed to ridiculously low levels. Again, even if you are crazy enough to do this (and I have heard of one person that has, but that person was not me - yet ), the test is meant to be done w/ the CPU at idle. Keep it that way for safety's sake.
3. Instead of calculating the expected core temps, use the IR probe to measure the surface temperature of the IHS. The thermal resistance between the IHS and cores is fairly low, and the difference in temperatures between the two should be almost nil at this wattage. Use this as your real core temperature and calculate the offset as done in step 4 of the above procedure.
Future Updates
* Add a glossary and standardize terms throughout (where there are any ambiguities).
* Include some information on how heat actually transfers from the cores through the IHS and through the heatsink to highlight the thermal resistances of each area and what role they play in temps.
Reading Material and Links
http://www.intel.com/design/core2duo/documentation.htm
http://www.intel.com/design/core2quad/documentation.htm
(refer to the Thermal and Mechanical Design Guidelines and Datasheets - I haven't linked the actual documents because the links are subject to change each time Intel issues an update)
http://processorfinder.intel.com/
Intel Processor Spec Finder
Last edited: