-
I got into a discussion with another user on a different forum and I decided to do a more thorough study of the IR reported temps vs what RealTemp displays. I think the results are very interesting and it also helps to explain the RealTemp Idle Calibration feature which some users don't trust or disagree with.
--------------------------------------------------
Here is my latest guinea pig, an E2160 Revision M0.

Intel has a habit of creating one processor model and then making some slight changes to the basic design so they can create additional models for different price points without having to do a total redesign. The E4x00 series with 2MB of cache gets half of that disabled and then becomes processors like my E2160 with 1MB cache. They then cut the cache in half again and create things like the E1200 M0 which has only 512KB of cache. They all have the same CPUID. Some people believe that this is a way for Intel to sell defective processors. If the cache has a defect, they can disable half or three-quarters of it and still sell it as a lower end model and make some money.
So my theory is that all M0 processors start life as the same basic processor with the same TjMax. As they go down the assembly line, the multiplier and VID and cache are adjusted which creates a variety of models. These different models get stamped and shoved into the appropriate box but beneath the skin they are all quite similar.
GigaByte has brought up some troubling findings that need to be addressed. His M0 processor when using RealTemp's new TjMax=85C is reporting below ambient core temperatures at idle which everyone knows is impossible. When this same situation originally happened with the L2 - E4300 series, the solution CoreTemp came up with was to bump TjMax from 85C to 100C. Changing the TjMax will cure below ambient idle temps but it also screws up your load temps by +15C if the TjMax really isn't 100C. Not good.
The goal of RealTemp was to convert the on chip DTS data to accurate core temperatures. When I first got my E2160 installed and ran RealTemp v2.11, it was immediately obvious that TjMax=95C was wrong for my new processor. I quickly changed that to TjMax=85C for RealTemp v2.2 based on my IR thermometer testing.
With GigaByte strongly objecting to this change in TjMax, I decided I needed to re-do my E2160 testing. I recorded the IR thermometer reading and then immediately after I took a picture of the screen to compare it to what RealTemp was reporting. I'll start with a lot of pictures taken at different temperatures to compare IR gun temps to what RealTemp reports. I have cropped the original pictures down to size to make them easier to upload. I have also kept the original pictures which are all time stamped showing that the video screen shot was generally taken 2 or 3 seconds after the IR picture. It took me a couple of seconds to reposition the camera, refocus and shoot. If anyone is suspicious that my image gathering technique was done to make RealTemp look better then I have the originals that I can e-mail to you so you can check the file creation time stamp on them.
Anyway, here goes. In each group you have the IR measured temp followed by the RealTemp reported temp. Idle Calibration was set to (+) but that feature doesn't effect temperatures in this range.
IR Temp = 50.6C

RealTemp = 50C

IR Temp = 55.4C

RealTemp = 54C / 55C

IR Temp = 65.8C

RealTemp = 67C

IR Temp = 70.6C

RealTemp = 70C / 72C

I think everyone will agree that there is a very strong correlation between IR thermometer measured temperatures and what RealTemp is reporting for core temperatures. The upper range looks good and shows that TjMax=85C for my M0 processor looks like a wise choice.
Now it's time to look at the low end using the same TjMax=85C. With the Idle Calibration set to (+), you'll also see how that effects reported temperatures. I've included pictures of SpeedFan since it uses TjMax=85C for the M0 processors but doesn't have RealTemp's Idle feature so you can compare.
IR Temp = 27.8C

RealTemp = 27C SpeedFan = 25C CPU = 40C

On this processor SpeedFan, without the Idle Calibration feature, is reporting core temperatures that are a little too low. This is common on the original B2 processors, definitely the L2 processors like the E4300 and now also on the M0 processors. The other thing to note is the CPU temperature which is from a diode on the motherboard. On this Asus board, it has nothing to do with the actual TCase temperature of this processor and is completely wrong.
IR Temp = 31.8C

RealTemp = 32C SpeedFan = 29C

IR Temp = 34.0C

RealTemp = 34C SpeedFan = 32C

IR Temp = 41.0C

RealTemp = 40C SpeedFan = 39C

Once again there is a strong correlation between IR temperatures and what RealTemp is reporting. A properly chosen Idle Correction factor is also helping to make these reported temps spot on.
Everything is looking good so far but now it's time to investigate if my idle temperatures are being reported below the ambient temperature like GigaByte has found.
For this test I've reset the Idle Calibration to 0. I turned off my computer in my very cool basement and let it sit. It was left in Stand By mode for a few hours so when I turned it back on I could immediately see the reported core temperature before it had a chance to warm up too much.
I had a notepad sitting beside the computer which I used to record a room temperature of 11.2C.

Here it is. With no Idle correction factor, RealTemp is reporting 8C for the core temperature now.

RealTemp, uncorrected, is reporting this M0 E2160 3 degrees below the ambient temperature. This is exactly the same as what you discovered GigaByte. You were operating your E4500 at 0.90 volts vs 1.08 volts during my testing. Heat output of a processor is proportional to the square of voltage so your CPU was putting out approximately 70% of the heat energy as my processor and one of your cores was reporting that it was at 4C below your ambient temperature.
GigaByte, can you now see how the DTS is not linear. Without an Idle correction factor, these CPUs will report idle temperatures that are too low and impossible. That does not imply that TjMax is wrong. My testing makes it perfectly clear that TjMax=85C is definitely right for my M0 processor and our combined testing shows that our processors are behaving identically by both reporting below ambient idle temperatures.
Your correction to adjust the TjMax upward 10C to 95C will only make all of your load temperatures wrong. For accurate reported temperatures that cover the entire operating range of a processor, you need an Idle Calibration correction factor.
Down at this temperature, RealTemp uses a correction factor of 4 degrees which makes the reported idle temperatures much more accurate.

A 4 degree correction would bring the previous 8C uncorrected reading up to 12C which is above my ambient temperature of 11C. The RealTemp reading may not be 100% correct but it is definitely very close to the actual core temperature of this processor. Closer than any other core tempreature software available. RealTemp, when properly calibrated, is very accurate from idle to TjMax and beyond.
------------------------------------------------------
After all this, GigaByte still disagrees with my program using TjMax=85C for his CPU and bases his arguments on TCase vs core temp gradients that have been proven false by Intel themselves. Oh well, I gave it my best try! Any opinions on this, for or against?
KTE: Thank you for your testing. Looks like I need to buy a G0 Q6600 this week and do some thorough testing myself. Your screen shots are very valuable and the next release of RealTemp will be better because of it.
One thing I noticed about your high temp testing results is that your first screen shot with the Idle Calibration set to (+) shows a big bug in RealTemp when PROCHOT# becomes activated. The Idle Calibration feature is designed to have no effect here but it is screwing up the reported temperatures. I need to fix that.
On your last screen shot you have Idle Calibration set to 0 and now RealTemp is working as it should.
Reported Temp = TjMax - DTS
Some programs like CoreTemp will display the actual DTS values when you go over TjMax and then it puts a ? beside the reading showing that it doesn't know what to do with it. Other programs like TAT will display negative numbers like -40C. This is because the DTS is a 7 bit number and wraps around. My program interprets this as:
DTS - TEMP
2 - 93C
1 - 94C
0 - 95C
127 - 96C
126 - 97C
125 - 98C
etc., etc.
To correct for this, the modified formula after PROCHOT# is reached becomes:
Reported Temp = TjMax - DTS + 128
Your final screen shot shows the DTS at 100 on core 0 and core 1. This means the DTS has wrapped around and you are 28 steps beyond TjMax. My program assumes your TjMax=95C so using the modified formula it calculates that your core temperature is 123C. You state that your CPU then shuts down 2C after that which equals 125C. That is exactly equal to the documented shut down temp for the mobile Core processors.
If your TjMax=100C then your actual core temperature is 128C, here and your CPU is shutting down at 130C. That's beyond the 125C that Intel quotes for their mobile processors. Another sign that more real world testing needs to be done similar to my E2160 test. Controlling an E2160 was simple and boring with no heatsink but the Quad is a different animal. Wish me luck!
Last edited by unclewebb; 03-16-2008 at 10:39 AM.
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
Bookmarks