Undervolting CPU cache (Ring offset) in BIOS

Discussion in 'Sager and Clevo' started by TGFB3, Mar 27, 2020.

  1. TGFB3

    TGFB3 Notebook Enthusiast

    Reputations:
    2
    Messages:
    29
    Likes Received:
    12
    Trophy Points:
    6
    I have managed to undervolt stably to -90 mW in my P775 TM1-G, but the Bios option only modifies the core undervolt. I cannot find the CPU cache option in the Bios (I do not know exactly how is it called). My reseller is Obsidian PC and I am using their Bios which in theory has all settings unlocked.

    If I use XTU (via their Control Center) to undervolt it does it to the cache, but I cannot boot into Bios even from within Windoes (advanced startup) and I think it is because it´s resetting itself due to the cache undervolt not being entirely stable. Is there a Bios undervolt option? The undervolt itself is stable if applied from within the OS, but as soon as I reboot I can see it booting, failing, resetting itself, then boots again and reapplies the undervolt from Obsidian CC. Any ideas? Should I e.g use Throttlestop to apply the undervolt on-boot instead?
     
  2. yrekabakery

    yrekabakery Notebook Virtuoso

    Reputations:
    923
    Messages:
    2,735
    Likes Received:
    2,579
    Trophy Points:
    181
    Core and cache use the same voltage. Any undervolt you apply to the core, the same amount is applied to the cache as well. You can verify this in the FIVR window in ThrottleStop after setting your undervolt in BIOS.
     
  3. TGFB3

    TGFB3 Notebook Enthusiast

    Reputations:
    2
    Messages:
    29
    Likes Received:
    12
    Trophy Points:
    6
    I checked; it does not show any change in the cache voltage in my case:
    upload_2020-3-27_17-35-29.png

    It also looks the same in HWInfo or XTU.
     
  4. TGFB3

    TGFB3 Notebook Enthusiast

    Reputations:
    2
    Messages:
    29
    Likes Received:
    12
    Trophy Points:
    6
    Two further questions:
    1. does Throttlestop report incorrect current limit values? If I go by what says in the BIOS my current limit is 100 (800/8), but it seems that TS is calculating with ICCMax/4 formula. I think the one in the Bios is the correct one as according to TS the default setting of 600 is 150A, but with a 95 PL1 and 1.06(ish) max volts I run into current limit throttle on extended operations (which would make sense since 95W at that voltage are more than 75 Amps).
    2. Do I have to get the cache and core undervolts to match, or is it not necessary?
     
  5. unclewebb

    unclewebb ThrottleStop Author

    Reputations:
    7,088
    Messages:
    5,848
    Likes Received:
    4,987
    Trophy Points:
    431
    If the BIOS is not setting the CPU core and cache voltages equally then your undervolt might not be working. The monitoring table in the top right hand corner monitors the CPU voltages every second. It shows the CPU cache offset at +0.0000. Use ThrottleStop to adjust the cache voltage to the same value as your core voltage and see if that makes any difference to temperatures or performance when testing.

    If -100 mV is stable for both the CPU core and CPU cache offsets, try increasing the CPU core offset further. Some users claim that staggering these voltages will work on 8th, 9th and 10th Gen CPUs. I have not done any hands on testing that proves or disproves this theory.

    It might. Without full access to any relevant documentation from Intel and without access to a wide variety of hardware, ThrottleStop may very well be wrong.

    When testing, remember to delete the ThrottleStop.INI config file each time before you reboot. That will force ThrottleStop to read the current limit values directly from the CPU after you boot up. I do not recall any problems with the PP0 Current Limit being reported in the TPL window.

    Are the IccMax values incorrect? When testing, I found two separate values available within the CPU. I know the first one is definitely IccMax but I still do not know what the second value refers to. This second value can be changed by adjusting the Cache IccMax slider in ThrottleStop. This mystery value might not have anything to do with Cache IccMax.

    Your screenshot above shows 20.00 Amps for this value. When testing, setting this value high or low did not seem to make any difference. On the CPU I tested, adjusting Core IccMax in XTU did not change this value within the CPU. I left adjustment of this available just in case it might be important someday. It might be important in a different or in a newer CPU. Leave it set to 20.00 if adjusting this does not solve any problems for you.

    As for the CPU Core IccMax, I tried to follow Intel XTU on that one. For the CPU I tested, I made sure that a Core IccMax setting in XTU and the same Core IccMax setting in ThrottleStop would set the IccMax register in the CPU to the same value.

    Does a current limit setting in your BIOS set the PP0 Current Limit and the IccMax current limit to the same value or to different values?

    The best thing to do is to set all of these current limits sky high. The main purpose of ThrottleStop is to stop any unnecessary throttling. Going high will accomplish that.

    ThrottleStop has proven to reliably apply its settings to the CPU on startup or when resuming from sleep or hibernate. I would not let anything XTU related touch the CPU's voltage and current control registers. XTU has proven to be completely unreliable. Nice graphs though!
     
  6. yrekabakery

    yrekabakery Notebook Virtuoso

    Reputations:
    923
    Messages:
    2,735
    Likes Received:
    2,579
    Trophy Points:
    181
    That’s strange. Even on the stock Clevo BIOS, any undervolt I set in BIOS would be applied equally to core and cache in ThrottleStop.
     
  7. TGFB3

    TGFB3 Notebook Enthusiast

    Reputations:
    2
    Messages:
    29
    Likes Received:
    12
    Trophy Points:
    6
    I tested again and it´s exactly as you say with XTU; with Throttlestop I could change the cache voltage on-start and still boot into the BIOS. I also tried again the internal Obsidian tool (which downloads XTU, but does not use it and I suspect works in the same way) but did not start XTU at all this time, and I found the issue. It seems that XTU will write the config changes to the BIOS, and now I am able to get into the BIOS with those settings.

    So I suspect that the Bios doesn´t like cache undervolts, but when I tried it in the Obsidian tool at -100, it did work okay in the XTU/Prime95 stress test.

    Another benefit (and the reason I am sticking with Throttlestop over the Obsidian CC for undervolting purposes) is that it solves a weird-*** issue I have: if I use the FN+3 hotkey (disables audio) it would cap the PL1 at a third approximately, going away on reboot. I do not know how or why this happened, but I suppose TS effectively removes it as it re-applies the settings from the Bios which it loads on boot. It also fixes the battery power state not going back to the AC power. I still need to find a way for getting the CPU cache undervolt in Bios since I will need to use Linux in the future for a specific program (Relion) which is gonna give a beating to the CPU and GPU, but will cross that Rubicon when I get to it.

    The core undervolt was definitively working as I see the average voltage go down by that value on Prime95, CCPNMr, PyMol and RealBench (so both benches and real tools), from 1.25 to 1.16. The Cache undervolt however makes things go better on the small FFT test in Prime (+300 MHz in steady state) so definitively leaving it undervolted in TS. Adding the TS undervolt to the cache seems to however have shaved at least 3C off the Blend test, will see what happens when I also stress the GPU in parallel.
    I think the 20 Amps might be the voltage regulator by what it says in the Bios (it´s under that section in the Obsidian bios, at least). I am not going to touch it because I have a talent to make computers go ker-splat.

    That one goes by 1/4 Amp increments so the Throttlestop value is accurate (80/4=20). The ICCMax, however, goes by 1/8 in my Bios, so if Throttlestop reads it it will report double if it is using the same 1/4 formula. So I will adjust the ICC so it reads double in Throttlestop (in my case, 200 A for a real limit of 100A which is what I adjusted the PL1 to) since it seems it´s a Bios-specific thing in this case.

    Also, thank you for taking the time for replying this - it´s a lot of info which solves most of the questions I have! (on top of for making Throttlestop itself...)
     
    Last edited: Mar 27, 2020
  8. unclewebb

    unclewebb ThrottleStop Author

    Reputations:
    7,088
    Messages:
    5,848
    Likes Received:
    4,987
    Trophy Points:
    431
    If the Obsidian tool uses the Intel XTU library, it might have some of the same reliability and inconsistency problems that Intel XTU has.
    Just keep in mind that if you adjust the offset voltage in ThrottleStop but you do not adjust the cache voltage, monitoring software might show the reduced voltage but that does not confirm anything. The voltage adjustments in ThrottleStop are only requests. If the CPU gets a request that it does not fully understand, the entire request might be ignored or some of the voltage request might be ignored.

    The best way to confirm if the CPU really did lower the voltage is to put a constant load on the CPU like the TS Bench 1024M test. While the CPU is loaded, enable the core only voltage change and then change the core offset voltage back to zero. Go back and forth a few times like this and watch for a change in the CPU temperature. Core temperatures are the most reliable confirmation of a change in voltage or power. If the CPU is power limit throttling, the temperature during this test might stay about the same but then you would expect to see an increase in MHz.

    In your situation, you need to compare -90 mV core and 0 mV cache to 0 mV core and 0 mV cache. That way you should be able to determine if under volting only the CPU core is actually doing anything or not. If there is no consistent and measurable difference, that would confirm that adjusting only the core offset voltage by itself is not actually accomplishing anything. The CPU is ignoring that request.

    Software reported power consumption is a number calculated within the CPU. It is some sort of approximation. It is not actual measured power consumption so this data might be misleading when only the core VID voltage is being changed.

    On my 7th Gen Asus desktop board, I am pretty sure that what I enter in the BIOS for current, shows up correctly in ThrottleStop.
     
  9. TGFB3

    TGFB3 Notebook Enthusiast

    Reputations:
    2
    Messages:
    29
    Likes Received:
    12
    Trophy Points:
    6
    That makes sense; I tried what you said and when I undervolt the cache, the temps stay the same (because my main limit is PL1 throttle) but the clocks only raise from stock if I undervolt the cache as well in Prime (3.6 sustained vs 3.8 sustained, small FFT test), whereas with an under.

    Blend test (constant PL1 throttle at 95W)
    No offset: 3.9 GHz, 71 C
    Core offset only: 4.3 GHz, 71C
    Core+cache offset: 4.3 GHz, 71C

    If I limit turbo to 43X then it no longer PL1 throttles and stays around 92W

    Small FFT test (constant PL1 throttle at 95W)
    No offset: 3.4 GHz, 73C
    Core offset: 3.6 GHz, 73C
    Core+Cache offset: 3.8 GHz, 73C

    So it seems that both undervolts do something on their own.

    Is there a way to disable the short power limit in TS? I am trying to cap the consumption at 95W in both cases but if I set the PL2 equal to PL1 then the PL1 target is never reached due to ring EDP (it will go 2-3W under that limit). I have limited the x8 multiplier to approx the 95W target and the turbo time to 1s but I do not know whether there is a better approach.

    I think the ICCMax value is just a particularity of this Bios using a 1/8 factor instead of the 1/4 which seems more common. Maybe @John@OBSIDIAN-PC knows better, I believe he is the one who codes their Bios and Control Center
     
    Last edited: Mar 28, 2020
  10. unclewebb

    unclewebb ThrottleStop Author

    Reputations:
    7,088
    Messages:
    5,848
    Likes Received:
    4,987
    Trophy Points:
    431
    It is possible for the BIOS to set non-standard factors. All of the ones that I can remember seeing use 1/4 for IccMax and 1/8 for the PP0 Current Limit. I double checked my Asus desktop board and what I enter into the BIOS for IccMax shows up in ThrottleStop as the same values.

    Always good to do your own testing so you can confirm what works best on your CPU.

    If you are getting EDP across all 3 domains, try increasing your PP0 and IccMax current limits. These should all be maxed out.

    You can try clearing the box for this ThrottleStop feature. When you do this, I am not sure if the CPU will use a default value or if it will completely ignore this power limit. The best advice is do not live on the edge like this. Increase your turbo power limits appropriately. Nothing wrong with a little bit of thermal throttling if things get too hot.
     
Loading...

Share This Page