Page 3 of 3

Posted: Fri Jan 18, 2008 11:45 pm
by The Coolest
GigaByte wrote:I don't know how that shows "accurate" data, with 85 or 100c tj max the delta to tj max is different.. and I think you mean it shows the ammount of degrees in celsius from THERMTRIP# which is shut down temp, more commonly known as tj max. PROCHOT# is the thermal throttling signal, and you should still have a tiny delta to tj max left when throttling occurs if you have TM2 enabled (~5c from tj max).
I've seen reports of people going "over" the tj. max (basically saw a maximum reading of 85C) and their computers didn't shut down. I don't know if they were throttling or not, but no shut downs.
Either way you understood what I meant.
maf718 wrote:Just for the record, are you going to revert to the 100°c tjmax (for M0 chips) in the next release of coretemp?
No.... It stays as it is right now.

Posted: Sun Jan 20, 2008 5:56 pm
by maf718
Ok, but its definitely not right for my cpu, if everyone else's M0's are ok I must have an anomoly.

Posted: Sun Jan 20, 2008 9:03 pm
by GigaByte
Because its not right for M0, hes just going by the majority.. which is every temp monitoring program showing 85c tj max for every CPU except quads, and those who panic that their temps are too high, if people knew how to properly read the temps it would be fine. Things are different from the Netburst platform... that just shows people hate change.

Iam still trying to get a human response from Intel instead of automated bs, I just want them to say the tj max is 100c for M0 and that should fix this all up (can't get more proof than that).

Posted: Sun Jan 20, 2008 9:50 pm
by commodore
The Coolest wrote:I've seen reports of people going "over" the tj. max (basically saw a maximum reading of 85C) and their computers didn't shut down. I don't know if they were throttling or not, but no shut downs.
Either way you understood what I meant.
In all implementations the IA21_THERM_STATUS[22:16] value is relative to the PROCHOT# assertion and is not an absolute temperature.

As long as you stay below PROCHOT# you are fine. The CPU won't force a shutdown until you are another 20-25 C past PROCHOT# assertion according to documentation i read somewhere.

Also, I can say for certain that the Tj Max for all M0's is not 100'C. If that were so i would be having a chip running at 75-80'C @ full load and yet with a 20-25'C DTS value (Delta to Tj Max) ... which is way too hot for a CPU! We are not talking about GPU's here ...

Posted: Sun Jan 20, 2008 10:42 pm
by GigaByte
commodore wrote:
The Coolest wrote:I've seen reports of people going "over" the tj. max (basically saw a maximum reading of 85C) and their computers didn't shut down. I don't know if they were throttling or not, but no shut downs.
Either way you understood what I meant.
In all implementations the IA21_THERM_STATUS[22:16] value is relative to the PROCHOT# assertion and is not an absolute temperature.

As long as you stay below PROCHOT# you are fine. The CPU won't force a shutdown until you are another 20-25 C past PROCHOT# assertion according to documentation i read somewhere.

Also, I can say for certain that the Tj Max for all M0's is not 100'C. If that were so i would be having a chip running at 75-80'C @ full load and yet with a 20-25'C DTS value (Delta to Tj Max) ... which is way too hot for a CPU! We are not talking about GPU's here ...

1. You cannot go 20-25c above PROCHOT# and still have your CPU running, tj max of 85c or 100c both shutdown ~5c past PROCHOT# (thermal throttling).

2. Tj max for M0 is 100c this is how so:

Case 1: Tj max 100c, ambient 22c, 10c delta (+/-3c), idle state

-Tcase is lets say 25c, cores are 7 ~ 13c above Tcase, so 32c ~ 38c on the cores. Everything is good, Tcase is above ambient and the delta is within range from the Tcase - cores.

Case 2: Tj max 85c, ambient 22c, 10c delta (+/-3c), idle state

-Tcase is 25c, cores are now read as 17c ~ 23c. NOT possible, why? For starters cores can NOT be below Tcase they are the heat SOURCE. Second they are BELOW ambient.. 85c tj max just does not compute with M0..

Case 3: Tj max 100c, ambient 22c, 10c delta (+/-3c), load small FFTs

-Tcase 65c, cores should be 72c ~ 78c, thats a proper reading. You would have 8c till thermal spec and the delta is in range.

Case 4: Tj max 85c, ambient 22c, 10c delta (+/-3c), load small FFTs

-Tcase 65c, cores would now be 57c - 63c. This scenario is incorrect, the heat source is less than the processor case temp. Like a pot filled with water on a stove burner, is the pot going to be hotter than the burner? No, its impossible. Tcase is not a heat source, its a specific location of temperature measurment.

I hope this will help you understand.

Posted: Tue Jan 22, 2008 2:41 am
by maf718
GigaByte wrote:Because its not right for M0, hes just going by the majority.. which is every temp monitoring program showing 85c tj max for every CPU except quads, and those who panic that their temps are too high, if people knew how to properly read the temps it would be fine. Things are different from the Netburst platform... that just shows people hate change.

Iam still trying to get a human response from Intel instead of automated bs, I just want them to say the tj max is 100c for M0 and that should fix this all up (can't get more proof than that).
Thanks, but coretemp with my M0 cpu doesn't give accurate temps at either 85 tjmax or 100 tjmax. I have no choice but to accept the DTS on my chip are miscalibrated somehow. I hear its not that uncommon. Good luck on getting a response from Intel, but I think you are p***ing in the wind, if these chips are coming out of the factory with wildly varying tjmax calibrations they're not exactly going to admit it.

With my particular cpu I think I can get more or less accurate core temps by setting a 10°c offset to the core temperatures in speedfan. Coretemp is useless to me apart from showing the delta to my (miscalibrated) tjunctionmax.

Posted: Tue Jan 22, 2008 3:09 am
by GigaByte
maf718 wrote:
GigaByte wrote:Because its not right for M0, hes just going by the majority.. which is every temp monitoring program showing 85c tj max for every CPU except quads, and those who panic that their temps are too high, if people knew how to properly read the temps it would be fine. Things are different from the Netburst platform... that just shows people hate change.

Iam still trying to get a human response from Intel instead of automated bs, I just want them to say the tj max is 100c for M0 and that should fix this all up (can't get more proof than that).
Thanks, but coretemp with my M0 cpu doesn't give accurate temps at either 85 tjmax or 100 tjmax. I have no choice but to accept the DTS on my chip are miscalibrated somehow. I hear its not that uncommon. Good luck on getting a response from Intel, but I think you are p***ing in the wind, if these chips are coming out of the factory with wildly varying tjmax calibrations they're not exactly going to admit it.

With my particular cpu I think I can get more or less accurate core temps by setting a 10°c offset to the core temperatures in speedfan. Coretemp is useless to me apart from showing the delta to my (miscalibrated) tjunctionmax.
What is your motherboard and bios version? If you see PECI option in bios enable that, if its disabled that can cause inverted temps. What are your idle/load temps using CoreTemp 0.96 and 0.96.1 and your ambients? This looks like a faulty I/O chip on your board rather than a miscalibrated or damaged DTS, as that is ever so rare I have never seen a case where that was the cause. They were all faulty I/O chips on the motherboard, the P5WDH thats currently in RMA had a faulty I/O as it read my Pentium 4 630 with an idle of 8c in 20c ambient room :lol:

Posted: Tue Jan 22, 2008 3:55 am
by maf718
I have gigabyte (lol considering your name) P35C DS3R mobo. Can't find any PECI options in bios which I think is something point nine version, it was flashed to the latest version about a week ago. I posted some screenshots of my temps etc earlier in this thread, but if you want more imageshack doesn't seem to be working atm so you'll have to take my word for it.

Coretemp 0.96.1 is very obviously wrong for me as it gives underclocked core temps of ambient or 1°c below. I am pretty sure my Tcase temps are accurate, I can get underclocked Tcase of ambient +0/1 °c. Coretemp 0.96 gives me temps 15°c above Tcase, which would be wrong given the 10°c delta between Tcase and Tcore for these chip

Edit (my keyboard batteries ran out, I've switched them with my wii remote) I don't really know what my point is apart from to restate that my temperature results are not consistent with coretemp 0.96 or 0.96.1, assuming I should have a 10°c (+/-3°c) delta between Tcase and Tjunction. The only way 0.96 could be correct is if there was a 15° delta for my chip. Unfortunately I have only one cpu to test, so must assume it is miscalibrated or otherwise out of specification.

Posted: Tue Jan 22, 2008 5:05 am
by GigaByte
Ok follow this portion of this guide, somethings not right and this should locate what the problem is, feel free to refer to the whole guide if you wish, its how I learned how to properly read C2D and quad temps and first noticed CoreTemp 0.95.4 was wrong:

Section 9: Calibrations

The purpose of the following procedure is to decrease Idle power consumption and heat dissipation by manually setting BIOS to the lowest common denominators for Vcore and frequency among C2Q / C2D variants and motherboards. The Idle Test is conducted offline with Windows programs closed, 1.25 Vcore, 1.6 Ghz, computer case covers removed, and all fans at 100%. Setting these Variables eliminates cooling issues, and allows all CPU coolers (including Intel`s stock cooler) to decrease Tcase to within 1c above Ambient, which provides for accurate Tcase Offset correction. Tjunction is then validated by reading the Digital Thermal Sensor (DTS) registers, which provides for accurate Tjunction Offset corrections, and establishes an accurate Tcase to Tjunction Delta.

Note 1: Due to low Vcore and clock settings during the Idle Test, Tcase to Tjunction Delta, hottest Core, may decrease to 7c on B3, G0 and M0 Stepping, and 12c on B2 and L2 Stepping.

Note 2: It is preferred that Idle and Load Tests be conducted as close to 22c Ambient as possible to allow for a normal temperature ceiling for Load Testing, and to maintain environmental consistency for more uniform comparisons among C2Q / C2D variants and system platforms.

Note 3: When configuring Offset corrections, it is desirable to favor positive values, which will provide a safety margin by calibrating displayed temperatures higher than measured temperatures.

Part 1: Test Setup - Idle

Computer Case Covers = Removed
Computer Case Fans = Manual 100%
Computer Frequency = 1.6 Ghz
Connectivity Status = Offline
CPU Fan = Manual, 100%
CPU Internal Thermal Control = Enabled
Enhanced C1 Control (C1E) = Disabled
PECI (If Equipped) = Enabled
Windows Programs = Closed
Speed Step (EIST) = Disabled
Vcore = Manual 1.25

(145 FSB X 11 Multiplier = 1.6 Ghz)
(160 FSB X 10 Multiplier = 1.6 Ghz)
(178 FSB X 9 Multiplier = 1.6 Ghz)
(200 FSB X 8 Multiplier = 1.6 Ghz)
(228 FSB X 7 Multiplier = 1.6 Ghz)
(266 FSB X 6 Multiplier = 1.6 Ghz)

Note 1: PECI (Platform Environmental Control Interface) is a BIOS feature on some recent motherboards which determines the method by which chipsets interpret and manage temperatures. When enabled, thermal accuracy is enhanced, and if disabled, temperatures are typically inverted, where Tcase is higher than Tjunction.

Note 2: Windows programs, background processes, SETI, Folding and Tray software must be closed. Press Ctrl-Alt-Delete, click on Task Manager, then click on the Performance tab to confirm CPU Usage is less than 2%. Use the Applications and Processes tabs to close programs if necessary. Allow 10 minute at Idle to ensure that temperatures settle to minimums prior to recording Tcase.

Part 2: Tcase Offset Correction

(A) Measure Ambient, preferably near computer case air intake, clear of warm exhaust.

(B) Record CPU temp in BIOS for comparison, boot Windows, close programs, allow 10 minutes Idle.

(C) Tcase should indicate Ambient + 1c.

(D) If Offset correction is required, Configure SpeedFan as shown in the Offsets Section.

Note: Under these test conditions, the Tcase thermal gradient may decrease to relatively insignificant values of less than 0.5c above Ambient, however, NO temperatures can be less than Ambient.

Part 3: Tjunction DTS Validation

(A) Open SpeedFan, note hottest Core. Open Crystal CPUID, select same Core in CPU x/x.

(B) In Crystal CPUID, click on Function, then click on MSR Editor.

(C) In the highlighted MSR Number field type 0x19c, then click on the RDMSR button.

(D) In the field under EAX (31-0) record the 5th and 6th characters only, then close Crystal CPUID. (Example = 41)

(E) Open Windows Calculator, click on View, then click on Scientific. Click on Hex then click on Qword.

(F) Type the two characters from Crystal CPUID, then click on Dec and record the Result. (Example = 65)

(G) Open CPU-Z, read the Revision field under the Stepping field, then record the characters. (Example = G0)

(H) Stepping defines Tjunction Max, which is the Intel Specification for Shutdown temp, and is used to determine Tjunction by subtracting the Windows Calculator Result from the appropriate Tjunction Max value, as shown below:
B2 Stepping: Tjunction Max 85c - Result = Tjunction.
B3, G0, L2, M0 Stepping: TJunction Max 100c - Result = Tjunction.

Example: G0 Stepping 100c - Result 65 = Tjunction 35c

Part 4: Tjunction Offset Correction

(A) Tjunction hottest Core should indicate Ambient + 10c +/- 3.

(B) If Offset correction is required, Configure SpeedFan as shown in the Offsets section. Enter identical correction values for each Core. Hottest Core should conform to minimum Parameters.

Note: CPU`s with Steppings which are Tjunction Max 100c typically require +15c Core Offsets. See Section 11.

Part 5: Test Setup - Load

Computer Case Covers = Installed
Computer Case Fans = Manual 100%
Computer Frequency = As Desired
CPU Fan = Manual 100%
CPU Internal Thermal Control = Enabled
Enhanced C1 Control (C1E) = Disabled
PECI (If Equipped) = Enabled
Speed Step (EIST) = Disabled
Vcore = Manual - As Required
Load Test = Prime95 - Small FFT's - 10 Minutes

The Load Test should verify that a Tcase to Tjunction Delta of 10c +/- 3 (or) 15c +/- 3 hottest Core, is indicated when stock or custom settings are restored following the Idle Test and Offset corrections. If temperatures do not meet the Parameters, then repeat Parts 1 through 5. Remember that Tcase does not always scale in a precisely linear manner with Tjunction due to Variables such as Vcore, clock speed, Stepping and Load. A heavily overclocked system at 1.45 Vcore with B2 Stepping and 100% Workload may exceed 18c Tcase to Tjunction Delta.
If temperatures are allowed to increase beyond Hot Scale, then ~ 5c below Tjunction Max Throttling is activated. The Digital Thermal Sensors (DTS) are used to trigger Intel`s TM1 and TM2 technologies for frequency, multiplier and Vcore Throttling within individual Cores. At this point, Tcase Max has been exceeded. Since Tcase measures CPU Die temperature only, it is not used for Throttle or Shutdown activation. If Core temperatures increase further to Tjunction Max, then Shutdown occurs.

Although recent G0 Stepping CPU's are designed with greater thermal tolerances to better cope with Variables such as temperature fluctuations in high Ambient environments, it is not recommended to continually operate processors, overclocked or stock, at Hot Scale for reasons of stability and longevity.

Posted: Tue Jan 22, 2008 3:03 pm
by maf718
Ok follow this portion of this guide, somethings not right and this should locate what the problem is, feel free to refer to the whole guide if you wish
I have read that guide before, its no further help. I am pretty confident I have located what the problem is - my chip is simply miscalibrated somehow. Someone on another forum claims to have encountered several cpus with miscalibrated tjmax values, they do exist.

Neither version of coretemp gives me correct temperatures, the 100°c tjmax version is closer, but still some 5° out. Believe me when I state that I have looked into this thoroughly and there is no other logical explanation. Thanks, but until someone can provide some genuine new information to shed light on the matter I have nothing further to contribute to this discussion.

Posted: Wed Jan 23, 2008 1:41 pm
by fgw
maf718 wrote:Hi, as it happens I was doing some underclocking experiments yesterday with an M0 2140 and coretemp 0.96. (ie the 100°c tjmax version). With vcore of 0.9 and clock of 6 x150, cooling at maximum, the chip was idling at 17°c above ambient, as measured by coretemp. Full orthos load only added another 4°c, suggesting that the cooling was pretty effective.

This temperature seemed a bit too high to me but not 15°c too high. Could it be that the actual tjunction max for these chips is neither 85 or 100, but somewhere in between?
just one more thought: why are you thinking this temps are not 15C off as they would be if coretemp is using the wrong tjmax? under this underclocked situation, i think your cpu will generate not that much heat! also your cooling was at max, which should take away almost all heat generated by the cpu immediately. also take into account the accuracy of your ambient temperature measuring.
to me it looks far more valid that coretemp is using the wrong tjmax (100C where it actually should use 85C) and your cpu is idling near ambient than at about 17C above ambient!

suggest you use a version of coretemp with shows a 85C tjmax for your cpu.
btw. afaik, all coretemp versions are using the very same algorithm to calculate absolute temps. the main difference in the various versions is in detecting tjmax for certain cpu's. and thats the point where opinions start to differ.

can you do me a favor: use cpu-z and create a registerdump (can be found under about and registerdump.txt. i'm interested in the two groups of msr's about 12 lines for each thread. no matter what state your cpu is in. idle or load does not matter to me.

regarding this temperature guide mentioned elsewhere. from looking at it and at various intel documents, i assume the writer was not understanding intels thermal specifications correctly.

to sum up the facts, all from intel datasheets, or the intel developer forum:

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.
this maximum operating temperature is defined in intel documents as TJmax for mobile processors only! for desktop and server processors intel has never public specified a TJmax!
to make things even worse, this temperature is not readable in any register, thus is not accessible by software!

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.
this temperature is about 20C to 25C above PROCHOT# or TCC activation and about 20C above Tcase max as specified in the datasheet.
at soon as THERMTRIP# gets asserted, the processor will shut off its internal clocks and the motherboard/bios has to remove power from the processor in order to prevent damage. this is the point commonly referenced as where the processor shuts down.

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).

Digital Thermal Diode
located also on the die just like the DTS. the point is, as the DTS has a smaller footprint, it could be placed closer to the hottest spots within each core. also in contrast to DTS which is delivering a digital readout via registers the thermal diode is wired directly to processor pins where it is up to the motherboard/bios to calibrate the analog values read and convert it to a temperature. this temperature does not directly reflect Tcase as often assumed. the bios could incorporate an offset during calibration to lets say simulate Tcase temps. because of the different temperature coefficient and as the temperature derived from the thermal diode is highly dependent on the calibration done by the motherboard/bios this temperature cant be compared easily to the temps derived from DTS and in almost all cases will be different to coretemps calculated by coretemp. also the temperature reading from the thermal diode is not Tcase! putting the very same processor into different motherboards could easy proof this ...
the only way to measure Tcase is by using an external temperature probe as specified by intel.

Posted: Wed Jan 23, 2008 8:57 pm
by maf718
Hi fgw, thanks for your reply, you make some interesting points, at least one of which I'm not sure I understand, but we'll get to that later. Its probably easier and clearer if I reply to the issues in your post in the same order you mention them.

Firstly for the underclocking temp readings I took, in the case you refer to, I had underestimated the ambient temp by just using the room temperature close to my pc, so the real readings would have been a degree or so closer to ambient. No matter, I've since slightly tweaked my setup, and redone the experiment more accurately. Here are the results with coretemp 0.96.1:

Image

As you can see the indicated core temperatures using a tjmax of 85°c are just below ambient. To measure ambient I used a digital thermometer with an external sensor at the end of a wire, and taped the wire to my pc case letting the sensor dangle directly in front of my cpu fan. The thermometer measures to the nearest 0.1°c and seems accurate, its only a few months old, and I would trust its readings to within +/- 1°c. The computer was allowed to run for about 20 mins before the screenshot was taken and the room temp was about 22.5 °c, with ambient in front of cpu fan of 24°c.

Even allowing a small margin for error, the core temps are no more than ambient, and this is why I feel coretemp is not accurate for my particular cpu. While I accept Tcase temps of near ambient, (ie about 0.1°c above), are perfectly possible, surely the cores should always be several degrees higher? I have often seen quoted a Tcase to Tcore delta of 10°c (+/-3) for M0 processors, so even when underclocked I was expecting the core to be at least 7°c above ambient. I have never heard anyone say it is possible to air cool the cores to at or about ambient, if anyone knows for a fact that this is possible please feel free to set me straight.

Hope that answers your questions about the accuracy of my ambient temp measurement etc, I hadn't meant to go into so much detail but I wanted to make myself clear.

I now only use coretemp in the "delta to Tjunction max" and agree that it makes no difference which version I use, they all measure the same way.

As for the cpu-z register dump here you go, I've only included the two groups of MSR's you referred to as it was a long document:

Thread 0

MSR 0x0000001B edx = 0x00000000 eax = 0xFEE00900
MSR 0x000000E8 edx = 0x000004BB eax = 0x1761430C
MSR 0x00000017 edx = 0x00000000 eax = 0x8B008821
MSR 0x000000CD edx = 0x00000000 eax = 0x00000802
MSR 0x0000003F edx = 0x00000000 eax = 0x000000EA
MSR 0x000000CE edx = 0x001A0821 eax = 0x7F7F0613
MSR 0x000001A0 edx = 0x00000040 eax = 0x62862489
MSR 0x000000EE edx = 0xA8000000 eax = 0xC37D4700
MSR 0x0000019C edx = 0x00000000 eax = 0x88340000
MSR 0x00000198 edx = 0x08210821 eax = 0x06000821
MSR 0x00000199 edx = 0x00000000 eax = 0x00000821


Thread 1
MSR 0x0000001B edx = 0x00000000 eax = 0xFEE00800
MSR 0x000000E8 edx = 0x0000030C eax = 0xA4949BEC
MSR 0x00000017 edx = 0x00000000 eax = 0x8B008821
MSR 0x000000CD edx = 0x00000000 eax = 0x00000802
MSR 0x0000003F edx = 0x00000000 eax = 0x000000EA
MSR 0x000000CE edx = 0x001A0821 eax = 0x7F7F0613
MSR 0x000001A0 edx = 0x00000040 eax = 0x62862489
MSR 0x000000EE edx = 0xA8000000 eax = 0xC37D4700
MSR 0x0000019C edx = 0x00000000 eax = 0x88330000
MSR 0x00000198 edx = 0x08210821 eax = 0x06000821
MSR 0x00000199 edx = 0x00000000 eax = 0x00000821

What exactly does that tell you? I'd be interested to know.

For Tcase I accept as you say that you need an external probe to measure it properly, I just use the speedfan "cpu" figure (ie read by the mobo from the diode) to approximate it because I have nothing closer. I don't know how accurate or how close to true Tcase it is, but I know its not over-reading (at least when its in the mid 20's) because it never goes below ambient when underclocking.

Now the bit that has me confused. I agree with what you say about the DTS, we all know this is how coretemp obtains its readings:

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).
Then when discussing THERMTRIP# you said
this temperature is about 20C to 25C above PROCHOT# or TCC activation
Now forgive me if i am misinterpreting this but you seem to be saying that if I was to run my processor without a proper cooler, it would get to the DTS value of 0, ie the value coretemp uses as tjmax, and then increase in temp by another 20 to 25 °c before shutting down. Is this right because it seems to conflict with what I'd previously thought to be true, ie that the Tjmax in coretemp was very close to the temp at whicch the cpu shuts down? I guess either I've totally misunderstood what you were trying to say or that was a typo? Please could you clarify?

Anyway, this post is far too long already, time to stop. fgw, please let me know what that dump from cpu-z tells you.

Posted: Thu Jan 24, 2008 12:36 pm
by fgw
ok, so lets bring some light into this:

your delta between core and ambient temp might be higher than the readings suggest:
i can imagine you are using a quality digital thermometer which is able to display temperatures at a resolution of 0.1C. the problem here is not the resolution, the problem is the calibration. you simply don't know if your thermometer reads 22.0C when it actually is 23.0C. and of course, the thermometer is able to track a change in temp from 22.0C to 22.5C and will show a reading of 23.5C! thermometers calibrated to show absolute temps exactly are very expensive. i doubt the thermometer you are using is one of this. if you want you can compare the readings of your thermometer to a fever thermometer. just to see what both thermometers are reading at about 37C. i don't know for sure, but as a fever thermometer has a limited working range (35C to 40C) it might be more accurate than a regular room thermometer in this temperature range.

also keep in mind the calibration of DTS:
the threshold where Thermal Control Circuit (TCC) gets activated (PROCHOT#), is calibrated during manufacturing on a per part basis. so PROCHOT# might go active on one processor at about 83C and on another at about 87C! as coretemp assumes a threshold of 85C it will show an absolute temp of 23C when it actually might be a few degrees higher (absolute temp = threshold - DTS): as DTS is directly read from a register, the resulting absolute temp is dependent on the threshold alone. just put 87C instead of 85C into the equation and the resulting absolute temp is already 2C higher than you might have thought and thus core temps might be higher than ambient although your readings suggest different.
besides that, the way you are doing your ambient measurements are ok. you have to measure the temp within the case as you did and not using the room temp as this will most likely be some degrees lower.

the delta between core temperature and tcase:
well, i don't know where this is coming from, but a lot of people think there is a certain delta between core temperature and tcase for a given processor family. i would be very interested to know where this is coming from, as i was not able to find any word of this in any of the intel documents or the intel developer forum posts. also the more or less fixed value of 10C (+/-3) seems highly doubtful to me. you can imagine heat acts like current and temperature can be compared to the voltage measured along a resistor. given the fact that the thermal resistance between core and tcase is more or less constant and the heat produced during your underclocked experiment is very low, the resulting delta between the cores and tcase will also be very low. on the other hand, during a full load situation, excessive heat will produce a far higher delta between those temperatures. this would result in a delta highly depending on the generated heat within the processor. if this delta is in fact at about 10C during idle it definitely would be much much higher during load, not only by about 3C or 6C! this proves, at least to me, that this core to tcase delta is nothing more than a myth. well, don't get me wrong, there is a delta, but i doubt it is at 10C and it obviously should change more than by e few degrees from idle to load.

the registers:
in fact i was interested in msr 0x19C (IA_THERM_STATUS) only:
MSR 0x0000019C edx = 0x00000000 eax = 0x88340000
i was looking for bits 27-30: (Resolution in Degrees Celsius) which should hold the resolution or tolerance of the DTS. it reads 1 on your processor for both cores. honestly i have not yet seen a processor with a different reading.
just for info: the 7 bits 16-22 are the actual DTS readings. in your example 0x34h translates to a reading of 52C below Thermal Control Circuit (TCC) activation. this is where coretemp gets its readings from!

concerning your tcase measurment via speedfan using the thermal diode:
as i already said, calibration and readings from the thermal diode are up to the motherbord/bios and of course the software interpreting this readings. you simply don't know what the developer had in mind. it could show something similar to core temperatures, to tcase, or any thing else.
the reading from the thermal diode does not even correlate directly to the real core temperatures, as there are different temperature coefficients involved.
maf718 wrote: Now forgive me if i am misinterpreting this but you seem to be saying that if I was to run my processor without a proper cooler, it would get to the DTS value of 0, ie the value coretemp uses as tjmax, and then increase in temp by another 20 to 25 °c before shutting down.
yes, thats the way it works. you can read this in various intel documents. at a DTS value of 0 TCC gets activated. at this point the processor leaves the specified operating range, and the processor core temperatures most likely will stop to raise further. if your cooling is that bad (like running without any cooler at all), temps will continue to rise and at about 20C higher, at temperature levels where permanent damage to the processor may occur, the processor will shut down its internal clocks and request the motherboard to remove power by asserting THERMTRIP#.

you can find all this in various intel documents:

Datasheets and Datasheets

Intel® 64 and IA-32 Architectures Software Developer's Manuals

and on the intel developer forum: Intel® Software Network

Posted: Thu Jan 24, 2008 4:15 pm
by maf718
Thanks, that's informative and helpful.

I understand your points on the calibration of the thermometer, the place I ordered it from could offer a calibration certificate, but it cost more than the unit itself! I tried your test with a fever thermometer though, and they both displayed within a couple of tenths of a degree of each other. Proves nothing absolutely I know, but well within the +/-1°c I was already allowing.

The most relevant point you are making though, is regarding the "myth" of the 10°c(+/-3) delta between the cores and Tcase. I have seen this delta referred to many times on forums, guides etc, and no-one ever questioned it, but I had never seen a definitive source for the info either, which did puzzle me somewhat. (I guess it might be an Emperor's New Clothes type scenario.) If the cores can indeed be at or very close to ambient when underclocked, then there is nothing to suggest that the latest version of coretemp is very far off the mark with my processor. Certainly a couple of degrees away from 85°c on the calibration of DTS would easily be enough to explain my results.

Posted: Fri Jan 25, 2008 8:38 pm
by commodore
GigaByte wrote:
commodore wrote:
The Coolest wrote:I've seen reports of people going "over" the tj. max (basically saw a maximum reading of 85C) and their computers didn't shut down. I don't know if they were throttling or not, but no shut downs.
Either way you understood what I meant.
In all implementations the IA21_THERM_STATUS[22:16] value is relative to the PROCHOT# assertion and is not an absolute temperature.

As long as you stay below PROCHOT# you are fine. The CPU won't force a shutdown until you are another 20-25 C past PROCHOT# assertion according to documentation i read somewhere.

Also, I can say for certain that the Tj Max for all M0's is not 100'C. If that were so i would be having a chip running at 75-80'C @ full load and yet with a 20-25'C DTS value (Delta to Tj Max) ... which is way too hot for a CPU! We are not talking about GPU's here ...

1. You cannot go 20-25c above PROCHOT# and still have your CPU running, tj max of 85c or 100c both shutdown ~5c past PROCHOT# (thermal throttling).

2. Tj max for M0 is 100c this is how so:

Case 1: Tj max 100c, ambient 22c, 10c delta (+/-3c), idle state

-Tcase is lets say 25c, cores are 7 ~ 13c above Tcase, so 32c ~ 38c on the cores. Everything is good, Tcase is above ambient and the delta is within range from the Tcase - cores.

Case 2: Tj max 85c, ambient 22c, 10c delta (+/-3c), idle state

-Tcase is 25c, cores are now read as 17c ~ 23c. NOT possible, why? For starters cores can NOT be below Tcase they are the heat SOURCE. Second they are BELOW ambient.. 85c tj max just does not compute with M0..

Case 3: Tj max 100c, ambient 22c, 10c delta (+/-3c), load small FFTs

-Tcase 65c, cores should be 72c ~ 78c, thats a proper reading. You would have 8c till thermal spec and the delta is in range.

Case 4: Tj max 85c, ambient 22c, 10c delta (+/-3c), load small FFTs

-Tcase 65c, cores would now be 57c - 63c. This scenario is incorrect, the heat source is less than the processor case temp. Like a pot filled with water on a stove burner, is the pot going to be hotter than the burner? No, its impossible. Tcase is not a heat source, its a specific location of temperature measurment.

I hope this will help you understand.
1. Actually no.. you are wrong. My info may be theoretical but is as per the Intel documentation. The THERMTRIP# assertion is @ anything from 10'C to 25'C after the PROCHOT# assertion (varying with the CPU). See the posts above..

2. My M0 E4500 (2.2GHz) @ 1.28Vcore has a lapped IHS and a lapped Tuniq Tower 120 HSF w/ 120mm fan @ full speed AND 4 80mm fans (2 blowing air in and 2 out and i keep the side of the case open). Have lapped the HSF and IHS twice with same results. Ambient: ~ 20'C

Core Temp 0.96-->
Idle: 45'C
Full load: 70'C
Core Temp 0.95.4 obviously shows 15'C lower temps.

Why would my setup @ idle show temperatures that are 25'C above ambient? I currently use the Delta to Tj max to gauge my temps. I dunno what the actual Tj Max for this CPU is, but i'm pretty sure it isnt 100'C.

Posted: Sun Jan 27, 2008 11:15 am
by GigaByte
Ugh.. ok iam done here. I gave proof after proof and some just don't get that these actually have a delta.. its the way they're built. I guess to some of you having your Tcase above the cores is correct... thats like saying the pot of water on the stove is hotter than the burner, or the air inside the oven is hotter than the burner itself.. remember what I said about the HEAT SOURCE? Its true, look it up if you want to.. but whatever floats you're boats.

Those who get the picture just keep using 0.96 untill if ever an updated version is released using 100c tj max for M0. Theres alot of people out there using 0.96.1 getting temps they think is below thermal spec, when they're really several degrees above it.

To those who still think every freaking core 2 made to date has a 85c tj max except quads, go down to an Intel office and ask in person or something. Believe what you believe but this is the last time I will say it in simple english. 85c tj max does not compute with M0 steppings.

Anyway good job with CoreTemp, its a very good program. As long as you use a certian version for a certian stepping *nudge*

Posted: Mon Jan 28, 2008 5:34 am
by cpmee
thats like saying the pot of water on the stove is hotter than the burner, or the air inside the oven is hotter than the burner itself.. remember what I said about the HEAT SOURCE?

I agree, the temp of the cores is higher than the case of the cpu by a good 10C in any cpu. Some things that confuse people with the .96 version are:

1) They equate the core temps to the old style mobo thermistor readings, they arent the same. They were reading the back of the cpu case temps.

2) The .96 version temps dont read close to any other temp programs, ie HWmonitor or TAT. Theyre different by approx the 15C in point.

3) Unexplained comparison oddities, for example in the post above, commodores temp reading above for his M0 E4500 (2.2GHz) @ 1.28Vcore has a lapped IHS and a lapped Tuniq Tower 120 HSF w/ 120mm fan @ full speed AND 4 80mm fans (2 blowing air in and 2 out and i keep the side of the case open). Have lapped the HSF and IHS twice with same results. Ambient: ~ 20'C

Core Temp 0.96-->
Idle: 45'C
Full load: 70'C

I have a M0 stepping e2180 @ 2.8ghz, same voltage, slightly higher ambient, closed case, minimum fan, stock intel heatsink, yet my idle and othos load temps are the same as his +/- 2C, Coretemp version .96.

That really doesnt make good sense. ?????? I should be higher by a good 7 - 10C than him. The extra 1mb of cache cant account for that difference.

I think that the .96 version is closer to reality, yet still not perfect.

Temperature Delta - A Clarification

Posted: Sat Feb 02, 2008 8:56 pm
by Hexadecimal
I am seeing a lot of confusion regarding the temperature delta between Tcase and Tj. There is no fixed delta of 10 degrees (or any other value) for any processor ever made.

The temperature delta can be calculated very simply - it is the thermal resistance from junction to case (expressed in degrees centigrade per watt) multiplied by the power being dissipated by the processor.
The thermal resistance figure will vary between different processor types (single, dual, quad core, pentium, C2D, Intel, AMD etc.), and obviously the processor power dissipation can vary considerably between idle and full load. Therefore there can be no single value for the temperature delta.

The delta will be very low while the processor is at idle, and will rise considerably under full load conditions.

Hope this helps to clear up any misunderstandings.

- Richard B.

Posted: Sun Feb 03, 2008 2:31 am
by GigaByte
This is hilarious, no one seems to get the picture yet.