1. Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Everest allows manipulation of TjMax value.

Discussion in 'Overclocking & Cooling' started by EnergyFX, Jun 21, 2008.

  1. EnergyFX

    EnergyFX

    Joined:
    Nov 22, 2007
    Messages:
    1,554 (0.44/day)
    Thanks Received:
    340
    Location:
    Annapolis, MD
    Even Everest programmers have acknowledged that there is a conflict in the established TjMax values. The newest version of Everest allows you to adjust TjMax. This gives the ability to manipulate the math that gives you Core 1 and Core 2 readings.

    The overall CPU reading is still tapped into your MB sensor, so if you are like me and using a board that was originally designed for 65nm chips and has been BIOS upgraded to work with 45nm then this will do nothing for erroneous CPU readings on the main sensor readout.

    I figured I would post this here considering how much I have had to dig through the internets to find this info. Hope it helps someone out.

    Relative link:
    http://www.lavalys.com/forum/index.php?showtopic=3102&pid=17341&mode=threaded&start=#entry17341

    Lavalys' forum is a bit weird. You have to use the links at the bottom to navigate through postings in the same thread.
     
  2. rge New Member

    Joined:
    Jun 18, 2008
    Messages:
    12 (0.00/day)
    Thanks Received:
    7
    Yep, and just some additional info on programs claiming to read 105tjmax from register:

    From lavalys forum Fiery states:
    "EVEREST detects Tjmax value using MSR Register 0xEE. It's the standard method for Intel Core 2 processors."

    That is misleading and in fact false as stated.

    From intel forum, Lexi states:

    "To sum up and hopefully clear some of the confusion, as there were different processor families mentioned in this long thread:
    Use of bit 30 in MSR 0EEh is *not* valid for desktop, workstation or server processors based on the Intel(R) Core(TM) microarchitecture. However, for mobile processors, this assumption *is* valid."

    ==
    Lexi S.
    Intel(R) Software Network Support
    http://www.intel.com/software
    http://softwarecommunity.intel.com/i...howThread.aspx

    Not to mention, you can download crystalcpuid, and check that MSR for yourself and see it is not the case.

    In other words, Everest and coretemp are reading mobile 45nm cpu tjmax, (though they could just look in intel docs, they are listed), then applying mobile 45nm Tjmax's for destktop 45nm tjmax. However intel has stated repeatedly that it is not correct to use mobile tjmax's for desktops, and a direct quote from intel engineer on software reading tjmax on desktops... "Tj is also not software readable" .

    Neither Everest nor Coretemp nor any software can read tjmax from desktop/server cpus, as no such documentation exists.

    Mobile cpus have no IHS, and it is not surprising they would have a higher/different tjmax than desktops TCC/Tjmax.

    But you can approximate within 1-2C tjmax/TCC by knowing intel formulas and testing with a calibrated IR gun/thermocouple.

    Intels tested formula/gradient from core to IHS at different TDP
    http://www.xtremesystems.org/forums/showpost.php?p=2962586&postcount=916

    This intel research paper shows that there is no gradient from die temp to cpu temp at idle.
    http://arxiv.org/ftp/arxiv/papers/0709/0709.1861.pdf

    I have pulled IHS off an E7200, and testing at undervolted, underclocked state where gradient across core is 0, and compared that to E7200 with IHS on, and again only about 1C gradient exists under those circumstances from core to casing. Thus you can measure casing with IR at idle underclocked state to get tjmax, within 1-2C accuracy.

    Unclewebb, author of coretemp, gets tjmax of 95 that way, as have I. Here is pic of my E8400, IR gun compared to Realtemp, testing at idle, underclocked undervolted, where gradient equals ~1C or so, and gets lost in measurement error of 1C or so. Pic showing IR gun 73.9, realtemp reading 74C.

    And for gradients, read this thread, and my emails with intel, and my two posts later with gradients and math:
    http://forums.anandtech.com/messageview.aspx?catid=28&threadid=2195801&enterthread=y

    I am convinced my E8400 tjmax is 95C, mathematically using intel formulas and experimentally.
    But you can always just use your cpu temps instead of core temps, if your bios has calibrated/support cpu correctly. At load, cpu temp should be ~2-5C lower (max 5C lower) than core temp, if bios calibration is correct for CPU, and if tjmax is correct for core temp. (documentation for that is figure 5, http://arxiv.org/ftp/arxiv/papers/0709/0709.1861.pdf

    You can set tjmax 95 for E8400's on speedfan (by setting -5 on core 0,1), coretemp by changing ini file....RT is already at 95, and all would then read same (though might report slight difference because of sampling time different). Or you can just use delta to tjmax on any program, coretemp, RT, which is always accurate, and is what intel keeps pushing the authors of temp reading software to do.
     

    Attached Files:

    Last edited: Jun 21, 2008
    EnergyFX says thanks.
  3. EnergyFX

    EnergyFX

    Joined:
    Nov 22, 2007
    Messages:
    1,554 (0.44/day)
    Thanks Received:
    340
    Location:
    Annapolis, MD
    rge,

    Again... excellent information! Thank you for sharing!

    So CPU temp should actually be a few degrees LOWER than Core temps? Well then ASUS really needs to get off their butt and provide a BIOS upgrade that knows how to do math correctly for 45nm chips.
     
  4. moocow0463

    Joined:
    Dec 28, 2007
    Messages:
    432 (0.12/day)
    Thanks Received:
    16
    ya there are problems with the new wolfdales reading 200c at idle with real temp:confused: im hoping thats why im seeing 40c idle temps on real temp but 32c idles in bios im hoping the real temp is inaccurate as well
     
  5. EnergyFX

    EnergyFX

    Joined:
    Nov 22, 2007
    Messages:
    1,554 (0.44/day)
    Thanks Received:
    340
    Location:
    Annapolis, MD
    Well like rge stated above, a properly calibrated bios sensor should read a few degrees lower than core temperatures.

    Also, keep in mind that RealTemp and Core Temp can sometimes have a hard time reading idle temps. They are more accurate at load temps. It has something to do with the CPU sensors being calibrated for high temps for throttling purposes.
     
  6. rge New Member

    Joined:
    Jun 18, 2008
    Messages:
    12 (0.00/day)
    Thanks Received:
    7
    moocow, there are several diodes on your cpu for temp monitoring. Diodes on core are read by intels DTS and reported as "core 0, core 1" temperature by coretemp, realtemp, Everest, etc. Then there is another single diode between the cores "cpu temp" and that is calibrated by the bios and that diode is what you are reading in the bios, and is also reported as "cpu" temp in speedfan, everest, etc.

    So 32C in bios is diode between the cores, and 40C is from diode on core. BTW... bios is small load, so your cpu temp may be a few C even lower ? 30 or 29C if read by speedfan.

    Real temp is accurately reporting what the DTS outputs for core temp, and will read that temperature exactly 10C lower than everest and Coretemp which would read 50C at idle, when realtemp reads 40C, because they use a different TJmax.

    However intel does not calibrate DTS at idle, so although realtemp is reporting accurately what the DTS sensor outputs, idle temps are going to be reported too high. DTS sensor will not read accurately until roughly 30 units from tjmax, or roughly 65C. AT idle, E8400 reads way too high, just like the E6600 (65nm) read too low...but everyone accepted the low readings as fact (human nature for you).

    A "cpu" temp from a noncalibrated bios could indeed report 200C or any other crazy number. But I doubt it was realtemp, because realtemp only reads DTS sensor, so I doubt realtemp or coretemp ever reported 200C, unless you can show me a pic of such. If so would have to be a new 45nm cpu (not E8xxx) series and simply not supported yet by real temp. But I have seen "cpu" temp not "core" temp reported with crazy numbers, from a bios that does not support the cpu being used.

    If you want to know idle temps. Set your cpu to 6x200 and voltage to 1.08V for E8xxx. It will be at roughly 4W, and using formulas from intel your idle temp will be ~2-4C above ambient. You can then calibrate both your cpu temp (using speedfan) if it needs calibration, and you can calibrate your idle temp using realtemp (will not affect its accuracy on load temps past 60C where they are more accurate), it will also not affect the delta units to tjmax (which is always accurately read from cpu). Or even at stock, idle, the temp should only be ~3-6C above idle, depending on cooling.

    Or you can do what most do, accept your cpu temp for most accurate idle temps (once you check your bios calibration accuracy by above method), and accept what realtemp is reading from core as most accurate load temps, and ignore idle core temps knowing intel did not calibrate DTS in low range and hence does not support the use for idle temps.

    core temp and cpu temp should be nearly equal at idle, but at load core temp should be a few (2-5) C higher than cpu temp. This will never occur unless you calibrate both accurately, because intel will never calibrate DTS at low end for accurate core temps...unless you calibrate low end using real temp. Also it may not occur unless you also calibrate cpu temps, which your bios simply tries to get in the ballpark, assuming it even supports the cpu in first place.

    Edit: btw moocow, I read in another post you have GB P35 Dsl3 board? GB does pretty good job of bios calibration for cpu, so your cpu temp of ~30C at idle is probably pretty accurate. Also on most GB boards, including mine, if you want to get above 400 FSB, you have to set pcie mhz to 103 to 105 and pcie volts to +.05v to +.1v, has something to do with on some P35 GB boards pcie volts controls more than just pcie. Many of us on xtremesystems had this issue with GB boards...can try and see if it helps.
     
    Last edited: Jun 22, 2008
  7. SirKeldon

    SirKeldon

    Joined:
    Feb 7, 2008
    Messages:
    654 (0.19/day)
    Thanks Received:
    477
    Location:
    Barcelona, Catalonia, Spain
    I finally set my E8400 TjMax at 85ºC ... cause i couldn't believe a temperature on water of high 30's at stock settings with MX-2 compound well applied and idling with speedstep enabled ... i took the reference of an old DFI bios that was reading 24-25ºC (and not 36-37ºC) on idle at the CPU socket @ stock settings ... anyway is not accurate at all when measuring full, but definitely my TjMax is not 95ºC, it's more in the area of 90-85ºC

    Besides Intel is not saying the TjMax of the desktop processors, most of the sensors on 45nm are acting "crazy" or simply stuck ... so getting a real reading of the temps in some CPU's can be almost impossible due to the weakness of the sensors.

    Anyway a range between 95ºC-85ºC seems to be the ideal one to apply to 45nm CPU's

    :toast:
     
  8. rge New Member

    Joined:
    Jun 18, 2008
    Messages:
    12 (0.00/day)
    Thanks Received:
    7
    If you lower the tjmax, you may indeed make your idle temps more accurate. But now you have definitely made your load temps read 10C too low.

    DTS output is not temperature, output is in UNITS from tjmax. 1 unit = 1C only at high temp range, this is not true at low range. So you can not have accurate temps across the whole range by adjusting tjmax. Or another way of putting it, if you set tjmax to accurately read idle temps where 1 unit may equal 1.3C, you can be sure it is no longer reading load temps accurately, where 1unit = 1C.

    The formula is: tjmax - DTS (delta to tjmax) = temp C displayed, it is really units, but software call it degrees C, and correct in doing so when temps are in high range and calibrated.

    For example:

    At DTS= 0, 1 unit = 1C, linear correlation
    so displayed temp is 95C - 0 units = 95C (accurate temp)

    At delta to tjmax of 15, 1 unit = 1C, linear correlation
    so displayed temp is 95C - 15units = 80C (accurate)

    At delta to tjmax of 55, 1 unit = 1.2C, non linear correlation
    displayed temp is 95C - 55units = 40C (but this is inaccurate, as no calibration is done by intel in this range.) Your actual temp should have been 95C - 55unitsx1.2 = 29C. Others may be lucky and 1 unit = 1.1C, and get better temps. The decline in linearity is highly variable cpu to cpu. National semiconductor (maker of intels DTS for 45nm) explained this problem in detail on their web page. I had linked this page in a post to intel, the web page has since disappeared)

    Now change the tjmax to 85, and yes your idle temps may read more accurate, but now your load temps are 10C too low.

    Some are lucky and get a very slow decline in linearity like from 1:1 down to 1:1.1. Others get a very sharp decline in linearity of units to C, like from 1:1 down to 1:1.5 or so. Just luck of the draw. And some cpus may not even report below a certain temp (even if exposed to LN). And may read the same temp until that threshold temp is breached.

    Several of us have measured with IR the IHS at exactly 95C when DTS=0, across several different cpus, suggesting all E8xxx series have tjmax of 95. The only way to get accurate idle temps is either reprogram/calibrate the DTS/cpu itself so that 1unit=1C at both high end and low end, or use external software like real temp to leave high end alone where 1 unit = 1C, but calibrate the low end to more approximate 1unit = 1c. This real temp calibration will get you in the ball park for idle, but wont be perfect because of the wide variability between cpus.
     
    Last edited: Jun 22, 2008

Currently Active Users Viewing This Thread: 1 (0 members and 1 guest)