3 Replies Latest reply on Apr 14, 2017 4:44 AM by timurborn

    Real CPU temperature and offsets (plural!) explained!

    timurborn

      Hello AMD community!

       

      Since AMD unfortunately failed to provide a proper explanation of how temperature readings work I had to analyze the behavior of CPU temp (Tctl) and the respective offsets (plural!) myself. Here is in short what I found out using a 1800X on an Asus Crosshair Hero VI board. The "Sense Skew" BIOS option of the Asus CH6 makes this even more confusing and I advice to turn it off and change your fan-curves accordingly.

       

      The problem is that the offset is not fixed, but changes dynamically, seemingly based on the CPU instruction set that us currently used by software. There are three offsets: +0C (base), +10C and +20C.

       

      Which offset is used does not seem to depend on current temperature or even CPU load in terms of percentage, but really on what CPU instructions are currently used. The software "Statuscore" can be used to demonstrate this, because it seems to use +10C inducing instruction sets when even (2, 4..) cores are stressed, but +20C inducing instructions when odd cores (1, 3..) are stressed.

       

      Most of the time offsets jump up in one go, but decrease only gradually. If the current temp reading is in between base and an offset then it might increase gradually instead of jumping.

       

      At full idle no offset (+0C) is applied and your readings with "Sense Skew" enabled might show something weird, like being 10-20C below your room's ambient temperature. You will get a +0C offset mostly only while using the "Power Safer" and maybe "Balanced" plan.

       

      Often you might see your temps jump up by +10C regularly, just to have it drop down gradually and then jump up by +10C again. This happens because some software/driver/service in the background induced the +10C offset shortly and then released it again.

       

      Most of the common stress tests induce the +20C offset, but "Heavyload" is a good example of a stress test that only induces the +10C offset, even though it draw the very same current/power as some other stress tests that induce the +20C offset.

       

      To make things more complicated, once Tctl hits 95C any offset is gradually decreased to match 95C, at the same time soft throttling (down to about x30) increases gradually. This continues until the offset hits +0C and the real CPU temp hits 95C. At this point hard throttling to x0.5 (0.5 GHz!) happens and Tctl is allowed to increase over 95C. At 115C Tctl a thermal shutdown happens.

       

      One word of warning: If your motherboard uses "Sense Skew" by default then it artificially lower Tctl to a point where your CPU might hardly reach its soft throttling points, never reaches its hard throttling point and especially never does a thermal shutdown. Instead your CPU will likely crash (Code 8 on the CH6) and still get some voltage applied (1 V on the CH6).