"Accurate" Temperature Monitoring?

In the past, internal CPU temperatures were sensed using a single on-die diode connected to an external measurement circuit, which allowed for an easy means of monitoring and reporting "actual" processor temperatures in near real-time. Many motherboard manufacturers took advantage of this capability by interfacing the appropriate processor pins/pads to an onboard controller, such as one of any of the popular Super I/O chips available from Winbond. Super I/O chips typically control most if not all of the standard motherboard input/output traffic associated with common interfaces including floppy drives, PS/2 mice and keyboards, high-speed programmable serial communications ports (UARTs), and SPP/EPP/ECP-enabled parallel ports. Using either a legacy ISA bus interface or a newer LPC (low pin-count) interface, the Super I/O also monitors several critical PC hardware parameters like power supply voltages, temperatures, and fan speeds.

This method of monitoring CPU temperature functioned satisfactorily up until Intel conducted their first process shrink to 65nm. The reduction in circuit size influenced some of the temperature-sensing diode's operating characteristics enough that no amount of corrective calibration effort would be able to ensure sufficient accuracy over the entire reporting range. From this point on Intel engineers knew they would need something better. From this came the design we see effectively utilized in every CPU produced by Intel today, starting with Yonah - one of the first 65nm processors and a precursor to the now wildly-successful Core 2 architecture.

The new design, called a Digital Thermal Sensor (DTS), no longer relied on the use of an external biasing circuit where power conditioning tolerances and slight variances in sense line impedances can introduce rather large signaling errors. Because of this, many of the reporting discrepancies noted using the older monitoring methods were all but eliminated. Instead of relying on each motherboard manufacturer to design and implement this external interface, Intel made it possible for core temperatures to be retrieved easily, all without the need for any specialized hardware. This was accomplished through the development and documentation of a standard method for reading these values directly from a single model specific registers (MSR) and then computing actual temperatures by applying a simple transformation formula. This way the complicated process of measuring these values would be well hidden from the vendor.



A few quick lines of code (excluding the custom device driver required) is all that is needed to quickly retrieve and report values encoded in an MSR for each core.

The transformation formula we spoke of is actually exceedingly simple to implement. Instead of storing the absolute temperature for each core, the MSR is designed to essentially count down the margin to the core's maximum thermal limit, often incorrectly referred to as "Tjunction" (or junction temperature). When this value reaches zero, the core temperature has reached its Tjunction set point. Therefore, calculating the actual temperature should be as easy as subtracting the remaining margin (stored in the MSR) from the processor's known Tjunction value. There is a problem however: Intel has never published Tjunction values for any CPU other than the mobile models. The reason for this is simple. Since mobile processors lack an integrated heat spreader (IHS), it is not possible to establish a thermal specification with respect to its maximum case temperature ("Tcase"), normally measured from an embedded probe located top, dead-center in the IHS.

Thus, calculating actual core temperatures requires two separate data points, only one of which is readily available from the MSR. The other, Tjunction, must be known ahead of time. Early implementations of the process used to determine a processor's particular Tjunction value by isolating a single status bit from a different MSR that was used flag whether the part in question was engineered to a maximum Tjunction set point of either 85ºC or 100ºC. Because Merom - the mobile Core 2 version of Conroe - used one of these two values, it was somehow decided that the desktop products, built on the same process, must also share these set points. Unfortunately, it turns out this is not the case.



All of these prominent means for monitoring Intel CPU core temperatures are based on assumed maximum Tjunction setpoints which cannot be verified.

More than a few programs have been released over the last few years, each claiming to accurately report these DTS values in real-time. The truth is that none can be fully trusted as the Tjunction values utilized in these transformations may not always be correct. Moreover, Intel representatives have informed us that these as-of-yet unpublished Tjunction values may actually vary from model to model - sometimes even between different steppings - and that the temperature response curves may not be entirely accurate across the whole reporting range. Since all of today's monitoring programs have come to incorrectly assume that Tjunction values are a function of the processor family/stepping only, we have no choice but to call everything we thought we had come to know into question. Until Intel decides to publish these values on a per-model basis, the best these DTS readings can do for us is give a relative indication of each core's remaining thermal margin, whatever that may be.

So Dual-Cores are no Longer Extreme? Determining a Processor Warranty Period
Comments Locked

45 Comments

View All Comments

  • TheJian - Thursday, March 6, 2008 - link

    http://www.newegg.com/Product/Product.aspx?Item=N8...">http://www.newegg.com/Product/Product.aspx?Item=N8...

    You can buy a Radeon 3850 and triple your 6800 performance (assuming it's a GT with an ultra it would be just under triple). Check tomshardware.com and compare cards. You'd probably end up closer to double performance because of a weaker cpu, but still once you saw your fps limit due to cpu you can crank the hell out of the card for better looks in the game. $225 vs probably $650-700 for a new board+cpu+memory+vidcard+probably PSU to handle it all. If you have socket 939 you can still get a dual core Opty144 for $97 on pricewatch :) Overclock the crap out of it you might hit 2.6-2.8 and its a dual core. So around $325 for a lot longer life and easy changes. It will continue to get better as dual core games become dominant. While I would always tell someone to spend the extra money on the Intel currently (jeez, the OC'ing is amazing..run at default until slow then bump it up a ghz/core, that's awesome), if you're on a budget a dual core opty and a 3850 looks pretty good at less than half the cost and both are easy to change out. Just a chip and a card. That's like a 15 minute upgrade. Just a thought, in case you didn't know they had an excellent AGP card out there for you. :)
  • mmntech - Wednesday, March 5, 2008 - link

    I'm in the same boat with the X2 3800+. Anyway, when it comes to dual vs quad, the same rules apply back when the debate was single versus dual. Very few games support quad core but a quad will be more future proof and give better multitasking. The ultimate question is how much you want to spend, how long you intend to keep the processor, and what the future road maps for games and CPU tech are within that period.

    I'm a long time AMD/nVidia man but I'm liking what Intel and ATI are putting out. I'm definitely considering these Wolfdales, especially that sub $200 one. I'm going to wait for the prices and benchmarks for the triple core Phenoms though before I begin planning an upgrade.
  • Margalus - Wednesday, March 5, 2008 - link

    the current state of affairs generally point to the higher clocked dual core. Very few games can take advantage of 4 cores, so the more speed you get the better.
  • Spacecomber - Wednesday, March 5, 2008 - link

    This has been mentioned in a couple of articles, now, that what these processors will run at with no more than 1.45v core voltage applied is what really matters for most people buying one of these 45nm chips. So, it begs the question, what are the results at this voltage?

    While the section on processor failure was somewhat interesting, I think that it should have been a separate article.
  • retrospooty - Wednesday, March 5, 2008 - link

    "these processors will run (safely) at with no more than 1.45v core voltage applied is what really matters for most people buying one of these 45nm chips. So, it begs the question, what are the results at this voltage"

    Very good point. Since these CPU's are deemed safe up to 1.45 volt, lets see how far they clock at 1.45 volts. 4.5 ghz at 1.6 volts is nice for a suicide run, but lets see it at 1.45.
  • Spoelie - Wednesday, March 5, 2008 - link

    This reads like an excerpt of a press release:

    "We could argue that when it came to winning the admiration and approval of overclockers, enthusiasts, and power users alike, no other single common product change could have garnered the same overwhelming success."

    Except that it was not. It was a knee-jerk reaction to the K8 release way back in 2003. It was too expensive to matter to anyone except for the filthy rich. The FX around that time was more successful. In recent years they just polished the concept a bit, but gaining admiration and overwhelming success because of it?? I think not. The Conroe architecture was the catalyst, not some expensive niche product.

    "Our love affair with the quad-core began not too long ago, starting with the release of Intel's QX6700 Extreme Edition processor. Ever since then Intel has been aggressive in their campaign to promote these processors to users that demand unrivaled performance and the absolute maximum amount of jaw-dropping, raw processing power possible from a single-socket desktop solution. Quickly following their 2.66GHz quad-core offering was the QX6800 processor, a revolutionary release in its own right in that it marked the first time users could purchase a processor with four cores that operated at the same frequency as the current top dual-core bin - at the time the 2.93GHz X6800."

    Speed bump revolutionary? Oh well ;)

    No beef with the rest of the article, those two paragraphs just stand out as being overly enthousiastic, more so than informative.
  • MaulSidious - Wednesday, March 5, 2008 - link

    this articles a bit late isn't it? seeing as they been out for quite a while now.
  • MrModulator - Wednesday, March 5, 2008 - link

    Well it's being updated from time to time. I think it is relevant since Cubase 4 is still the latest version used of cubase and the performance is the same today. What is important with this is that they measure up two equally clocked processors where the difference is in the number of cores. Yes, the quad is better at higher latencys but it loses the advantage at lower latencys and even gets beaten by the dual-core.
    More of a reminder of the limitations of current day quadcores in some situations. This will probably change when Nehalem is introduced with its on-die memory controller, a higher FSB and faster DD3 memory.
  • adiposity - Wednesday, March 5, 2008 - link

    Uh, what? I think he's saying these processors were on the shelves over a month ago. This article is acting like they are just about to come out!

    -Dan
  • MrModulator - Wednesday, March 5, 2008 - link

    Yeah, you talk about games and maximum cpufrequency on dual core is important, but there are other areas that are much more interesting. Performance for sequencers where you make music (in DAW-based computeres) is seldom mentioned. It is very important to be able to cram out every ounce of performance in real-time with a lot of software synthesizers and effects using a low latency setting(not memory latency but the delay from when you press a key on the synt until it is procesed in the computer and put out from the soundcard for example).
    Here's an interesting benchmark:

    http://www.adkproaudio.com/benchmarks.cfm">http://www.adkproaudio.com/benchmarks.cfm
    (Sorry, using the linking button didn't work, you have to copy the link manually)
    If you scroll down to the Cubase4/Nuendo3 Test you can compare the QX6850(4 core) with the E6850 (2 core). They both run at 3 GHz. Look at what happens when the latency is lowered. Yes the dualcore actually beats the quadcore, even though these applications use all cores available. The reason could be that all 4 cores compete for the fsb and memory access when the latency is really low. Very interesting indeed, as DAW is an area in much more for cpu than gaming...

Log in

Don't have an account? Sign up now