The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Guide to Haswell voltage adjustments

    Discussion in 'Hardware Components and Aftermarket Upgrades' started by Dufus, Jan 13, 2014.

  1. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Now that the Voltage Regulator is integrated into the CPU with Haswell this offers an opportunity to adjust voltages. Probably a few people out there will remember how VID could be adjusted on the pre-icore CPU's to undervolt the CPU to reduce temperatures and aid battery life.

    I'll use my i7-4700MQ in this example. Note that the extra 2 unlocked overclocking multipliers (bins) are used to give four cores at 3.4GHz and one core at 3.6GHz.



    Default Mode. Stock setting, with zero offset and zero static.
    [​IMG]
    Voltage starts at about 0.68V for the lowest multiplier (8x 100MHz) and ends at about 1.1V for the highest. Note that voltage increases faster with turbo multipliers until it reaches the default highest turbo multiplier. For the 2 extra unlocked multipliers (bins) the voltage stays the same.

    VID showing default voltage at 8x multiplier
    [​IMG]



    Offset Mode. Offset set to -100mV (-0.1V) and static set to 0 gives a -100mV offset from the default operational voltages.
    [​IMG]
    This is will probably be the most used setting.

    VID showing -100mV offset at 8x multiplier
    [​IMG]



    Override Mode. Combination of Offset and Static to give a constant voltage across all multipliers, just setting static should be sufficient.
    [​IMG]
    Usually used when running "flat maximum turbos", where all cores run at the same maximum speed as just one core. May help improve latency since the core does not have to wait for the voltage to ramp up before increasing the frequency.



    Adaptive Mode. Offset set to -100mV and static set to 1.200V
    [​IMG]
    This is only useful for CPU's that support additional unlocked multipliers. The offset works as before but when reaching the unlocked turbo multipliers it can be used to further increase the voltage. The maximum voltage at the maximum multiplier will be the static voltage plus the offset voltage. In this case 1.200V + (-100mV) = 1.2V - 0.1V = 1.1V. Also be aware that in adaptive mode the voltage may increase with load. For instance running extreme load with Linpack at 3.4GHz showed a 15mv to 20mV increase (0.020V) over low load at 3.4GHz.



    Presently these option settings seem limited to BIOS and XTU but I believe they may soon come to ThrottleStop so please give Unclewebb some encouragement and help by providing feedback.

    AFAIK there is no known way to really know what the real voltages are. Some idea of core voltage can be had from VID but I suspect these are calculated or just requested voltages.

    Static in these examples means the fixed voltage and should not be confused with the XTU "static" setting meaning override.
     
    Last edited by a moderator: May 8, 2015
  2. Black Dog

    Black Dog Notebook Guru

    Reputations:
    42
    Messages:
    74
    Likes Received:
    0
    Trophy Points:
    15
    This is great info. Thanks for posting this. Just to make sure I understand, when you refer to "static", you mean the Core Voltage slider is moved from 0 to a set voltage, but the core voltage mode remains Adaptive, right? And when you refer to override, that is when the Core Voltage Mode is set to Static and the Core Voltage slider is set to a specific point.

    I have been running my 4900mq at a -100mv voltage offset, with multipliers set to 39, 38,37,37, but with Core Voltage left at 0 and it was very stable under a stress test running 3.7 the whole time and XTU benchmarking at 853. I just tried it with the same settings, but with core voltage moved to 1.2V, and there was no real change. I know the benchmark test involves other factors than just cpu speed, but according to your graphs, it seems that I should be able to achieve slightly higher performance with the voltage set at 1.2 rather than 0. Is this an example of Adaptive mode essentially nullifying this potential difference and overshooting its set value at 0? I'm sure I'm missing something, but is there any real advantage to running at 1.2 over 0 voltage with the -100 offset.
     
  3. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    I can see how the naming makes things confusing, I'm open to suggestions to call it something else. ;)

    When using XTU yes.


    Only if you don't select the XTU static button, then it becomes override (fixed core voltage).


    Yes, but it can be a combination of both core voltage setting and core offset voltage, however for practical reasons you only need to adjust core voltage and leave offset at zero.


    This will not make changes to your benchmark scores unless it is causing temperature, power or current to throttle the CPU.


    Your 4900MQ supports 6 unlocked bins so if your system can cope with the extra power draw and temperature then you could have it set for 4 cores at 4.2GHz and up to 1 core at 4.4GHz. Now if you just used offset then all your unlocked turbo's up to 4.4GHz would use the same voltage as the 38x multiplier at 3.8GHz, frequencies are assuming your using a 100MHz BCLK.

    Lets say for example your 38x multi VID is 1.000V then that is all you would have to try and run the 44x multi at 4.4GHz which will not be enough. However if your 44x multiplier needs 1.200V to be stable you can achieve this by setting the core voltage to 1.300V in adaptive mode while still using your -100mV offset. This will give you 1.2V at 4.4GHz (1.3 - 0.1) while still running the 38x multiplier at 1.000V. The voltage for the multipliers from 39x and upwards will increase in steps of somewhere around ~33mV.

    You are only using your first unlocked turbo (39x). Assuming this multiplier is stable with -100mV offset you could possibly lower your offset to -120mV and add the extra 20mV using core voltage to the 39x multiplier.

    Everyone has their own way of doing things. If it were me I would start by running all cores at the same multiplier up to your default maximum turbo of 38x so 38,38,38,38 using negative offset only to achieve stability. Then further increases in multipliers from there using core voltage to give the additional voltage required for the higher unlocked multipliers. Depending how the CPU scales that might be around 20mV to 30mV per bin. For example if 38,38,38,38 uses -80mV offset to be stable and VID at 38 is 1.050V then core voltage needs to be set at 1.050 + 0.080 + the extra voltage needed for the maximum set multiplier above 38. 41x might need an additional 90mV over the 38x multiplier so core voltage would be set at 1.050 + 0.080 + 0.090 = 1.220V to achieve running a maximum set turbo of 41x. How far you go will depend on how much power, heat and current the system can handle and what you feel comfortable with. You might not even reach 38,38,38,38 due to that and have to limit all 4 at 37,37,37,37 and increase for less cores such as 37,38,40,41.

    If you want higher XTU scores then other than increasing clocks, RAM speed/bandwidth can make a big difference.
     
  4. Black Dog

    Black Dog Notebook Guru

    Reputations:
    42
    Messages:
    74
    Likes Received:
    0
    Trophy Points:
    15
    This will take a bit to digest for me. Very interesting stuff. I'm not sure I can get a stable 38 on 4 cores without touching power and current. I don't remember where I had it exactly (1.22V, -120mV maybe), but it appeared to be working, but when I stress tested it, the actual CPU speed never went over 3.69, exactly where it stays when voltage is left at default with -100mV and a 37 multiplier.

    As to XTU benchmarks, I could care less about the score. I'm just trying to maximize a stable CPU speed for LR5 usage (a CPU hog). It's probably splitting hairs at this point, but now I've started tinkering....
     
  5. Meaker@Sager

    Meaker@Sager Company Representative

    Reputations:
    9,431
    Messages:
    58,189
    Likes Received:
    17,897
    Trophy Points:
    931
    Be aware that while each chip will react the same way to changes, the absolute values will likely be different.
     
  6. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Unfortunately Haswell is a bit of a hot power hog at the higher clocks so without having a capable system and raising limits you will be constrained somewhat. For instance running Linpack AVX2 at 3.4GHz 1.000V nets about 78W core power for me. Bear in mind though real world applications will not draw as much and of course you don't want to raise the limits too far and kill your chip.
     
  7. unclewebb

    unclewebb ThrottleStop Author

    Reputations:
    7,815
    Messages:
    6,414
    Likes Received:
    6,729
    Trophy Points:
    681
    Thanks Dufus for sharing your Haswell research. Adding adjustable offset voltage and access to the Haswell overclocking bins is at the very top of my things to do list for ThrottleStop. Without your help, this would not have been possible. The user community and my new 4700MQ thank you. :)
     
  8. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Your welcome as always Unclewebb but the real thanks goes to you for providing such a useful tool to take advantage of those features. ;)

    Black Dog, you can use ThrottleStop to check that you are not TDP throttling when trying to run 38,38,38,38. If you are then you need to fix that first before making adjustments. IIRC the TDP throttle is not only triggered by power but current limit too.
     
  9. Black Dog

    Black Dog Notebook Guru

    Reputations:
    42
    Messages:
    74
    Likes Received:
    0
    Trophy Points:
    15
    Yeah I can get it to run 3.8 steady under stress if I up the power to 58W and the current to 80A. Without those changes there does appear to be some sort of TDP throttling as CPU speed will just ignore the turbo multiplier and limit speed to within set TDP limits. I'm not nearly as technically knowledgeable as you, though, and again, the tinkering and gains over my simple 3.7GHz -100mV stable settings are probably negligible, so I'll probably stop messing around and just focus on processing photos in LR. Probably...

    It is fun to experiment and learn, though (says the cat just before he fries his CPU).
     
  10. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    No problem Black Dog, OC'ing is running out of spec so there will be some unknowns. Some things to take into consideration would be how much power the laptop can provide, how good is the cooling, how much current and voltage can the CPU take and of course each persons own comfort zone. Using it for undervolting stock though should be a no brainer.

    Thanks for the kind words but the reality is I know just enough to realize how little I really know. ;)
     
  11. tlee562

    tlee562 Notebook Enthusiast

    Reputations:
    0
    Messages:
    19
    Likes Received:
    0
    Trophy Points:
    5
    Does XTU work for all haswell based notebooks? From what I can remember, both hardware and BIOS support needs to be present for undervolting to work. I'm guessing a modified UEFI/BIOS will be needed for the vast majority of haswell laptops?
     
  12. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Without specifically BIOS XTU support there will be limited options. For instance my BIOS has no XTU support so running XTU in Windows will only allow basic adjustments such as core voltage, cache voltage and integrated graphics voltage. With BIOS XTU support a lot more is available including things such as RAM timing adjustments and the settings will be applied from BIOS before POST. Without BIOS XTU support or a means adjusting voltages in the BIOS itself, voltage settings will only be applied when the OS is loaded and the XTU service started.

    XTU is not a requirement for changing voltages. They can be changed at runtime without the use of XTU, no BIOS mod needed.
     
  13. bubzers

    bubzers Notebook Evangelist

    Reputations:
    432
    Messages:
    345
    Likes Received:
    2
    Trophy Points:
    31
    Maybe a dumb question, but how do we tell if we have BIOS XTU support?

    Sent from my Nexus 4 using Tapatalk
     
  14. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Not a dumb question at all. I don't know if BIOS with XTU has an option to turn it on or off but probably the easiest way would be to check what options are provided. >Here< is an example of a Laptop BIOS with XTU support.

    The BIOS image itself could be checked but that is not so simple to do for most. Without support, options will be limited and as mentioned changes only applied when the OS is loaded with possibly the exception of BCLK overclocking.
     
    bubzers likes this.
  15. tlee562

    tlee562 Notebook Enthusiast

    Reputations:
    0
    Messages:
    19
    Likes Received:
    0
    Trophy Points:
    5
    Thanks for the clarification!

    I got my hands on a haswell laptop and got XTU running. As there is no BIOS support, only voltage adjustments are available just as you predicted.

    Currently testing an undervolt setup.
    -Core voltage offset undervolting helped the most in terms of reducing temps (91C+ down to 87C).
    -Graphics voltage offset helped but significantly less so (~1C), I only have the iGPU so this is somewhat important, non-issue for dGPU models.
    -Cache voltage offset had minimal effects on temps.
     
  16. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Just to clarify, there is no reason the manufacturers couldn't use voltage adjustments in the BIOS without XTU support.

    How much temperature difference you'll see will depend on load, the bigger the load normally the bigger the difference. For example undervolting from 1.1V to 1V will reduce power consumption by 17% at the same frequency. However this will help with power throttling so the CPU can end up running a little faster when undervolted for the heavier loads and this is why you may not see as big a saving in temperatures as might be expected.
     
  17. Arise

    Arise Notebook Enthusiast

    Reputations:
    0
    Messages:
    24
    Likes Received:
    2
    Trophy Points:
    6
    Awesome post. How about voltages for processor cache (uncore) ratio? They have same pattern as core voltage with options for offset and mode: adaptive and static.
     
  18. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Yes, cache has the same adjustments as core but does not make such a big impact on power draw as core does.
     
  19. HTWingNut

    HTWingNut Potato

    Reputations:
    21,580
    Messages:
    35,370
    Likes Received:
    9,877
    Trophy Points:
    931
    Thanks Dufus. This stinks since I have Static and Adaptive modes disabled. :/

    [​IMG]

    Although you've peaked my interest and will probably spend my weekend futzing around with this more. :p

    In the example you provided to Black Dog, you were saying to set core voltage to 1.3V to achieve 1.2V at 4.4GHz (since using -100mV offset).

    However, wouldn't this also increase voltage across the board for every other multiplier? Or is that only the maximum core voltage?

    By the way, what software is it you are using to show the vID and C% that are in your screen shot?
     
  20. Dufus

    Dufus .

    Reputations:
    1,194
    Messages:
    1,336
    Likes Received:
    548
    Trophy Points:
    131
    Sorry, I missed your post. :eek:

    You could check with HWinfo32 under CPU properties to see what is supported with voltage adjustment.

    The offset voltage is applied across all multis not the core voltage unless using fixed voltage mode (static). In adaptive mode core voltage is used to supply additional voltage above the VID for the highest standard turbo and is applied linearly between the highest standard turbo and the highest set unlocked bin. The graphs I posted on the first page are real values from my 4700MQ. If you look carefully you should be able to distinguish the different slopes. One for non-turbo multi's, one for turbo multi's and one for unlocked turbos (if extra voltage is given for them otherwise it flat lines from the highest standard VID).

    The software with C% is my own.
     
  21. Arise

    Arise Notebook Enthusiast

    Reputations:
    0
    Messages:
    24
    Likes Received:
    2
    Trophy Points:
    6
    So I'm trying to understand how this adaptive/static works but can't get it.

    So, the main voltage slider (Core Voltage) when moved will activate the Core Voltage Mode (Adaptive or Static).
    If I set the Mode as Static, I can see that Core Voltage is a fixed voltage that is not changing regardless of the load or the multiplier. It has to be in the proper interval for the CPU to function, setting it to a ridiculous value like 0.05 or something will instantly freeze my PC.
    Now back to adaptive, if I set any value, something like the above ridiculous value 0.05V it will just ignore it and will feed the CPU with whatever voltage it feels required (seems to react to both multiplier and load), if the CPU wants 1.1V it will give it that voltage.

    So I'm back to your "Adaptive Mode. Offset set to -100mV and static set to 1.200V".
    When you say static above you mean the Core Voltage slider to 1.2V, Core Voltage Mode left to Adaptive (not Static!) and Dynamic Cpu Voltage Offset slider to -100mV?

    One last thing, I'm looking at voltage in adaptive mode, and while in idle it fluctuates in some range but reaching over 1.02V many times, I see that if I run a LynX stress tool the voltage will go lower and stabilize at 0.933V or 0.977V.
     
  22. Arise

    Arise Notebook Enthusiast

    Reputations:
    0
    Messages:
    24
    Likes Received:
    2
    Trophy Points:
    6
    I'm trying to replicate your graphs, but the results are impossible, first problem would be that for each multiplier I get at least 2 voltages, and for higher multipliers I get even 12 voltages.

    Like said, using a stress tool like Lynx or ThrottleStop will make it go lower in voltages for same multiplier than in idle.
    A work in progress of voltage collections:
     

    Attached Files:

  23. ajc9988

    ajc9988 Death by a thousand paper cuts

    Reputations:
    1,750
    Messages:
    6,121
    Likes Received:
    8,849
    Trophy Points:
    681
    @Dufus - So, I'm having a problem with your method. It makes sense, so I'm wondering if my issue is bios support or software interface. In any case:

    When I set the Adaptive Voltage, it ignores the set voltage altogether and applies stock voltage under stress loads, regardless of what is set. Further, it causes an insane offset value to be read for the IA voltage offset (+2994mV) and Ring Voltage offset. Once again, this may be bios or software support, but is of concern.

    Running P770ZM, 4790K, premamod bios 3.09; 3.04 ec; 970m stock; Kingston value ram 1600mhz. My standard underclock is -65mV core (Vcore 0.995), -110mV cache (do not have actual voltage; if you know of a program to read true Vring (and Vrin/Vccin when using offset for Dynamic Mode Overclocking) let me know). In any case, I'd like to learn the max offset for the lower C-states (found through Dynamic Voltage Offset which effects all voltages including lower states) to use as a constant application against an Adaptive OC on the turbo value (which it seems you are doing above). This would allow the adaptive voltage to give more voltage when needed, find the lowest energy for all lower states, and fine tune the turbo voltage (for me within 5-10mV of stable with my testing). Any help and input you could give me on this would be greatly appreciated!

    To inform you, I am aware of the three main types of OC: Adaptive, Static, and Dynamic offset/Mode OC. From what I've read, most MB manufacturer forums recommend NOT mixing Dynamic and Adaptive OC. For me, I'm just getting funky results. If you have any ideas, suggestions, etc. please share...
     
  24. Scerate

    Scerate Notebook Evangelist

    Reputations:
    224
    Messages:
    687
    Likes Received:
    650
    Trophy Points:
    106
    bump

    i actually want to know this too, like you can see in my signature im using my P771ZM since some weeks in static voltage mode @ 1.080 which is perfectly stable, issue i have is like @ajc9988 i can set the adaptive voltage to whatever i want but i doesn't get applied for real. I can't use offset too really, it works sure but even -25mV gets me some Memory Management and PFN_Filelist_Corrupt whatever BSODs when idling which i think is cause some of my lower multis are getting too undervolted even when it's actually only -25mV.
     
    Last edited: Jun 2, 2015
  25. ajc9988

    ajc9988 Death by a thousand paper cuts

    Reputations:
    1,750
    Messages:
    6,121
    Likes Received:
    8,849
    Trophy Points:
    681
    Try running memtest to verify/ rule out issues on your ram. That seems low on UV. Also, are all multipliers the same or set to stock? What multiplier is used. I'm on tapatalk and can't see the sig. Or pm me.
     
  26. Scerate

    Scerate Notebook Evangelist

    Reputations:
    224
    Messages:
    687
    Likes Received:
    650
    Trophy Points:
    106
    I already tested my RAM with memtest about 12h some weeks ago which ran without any errors, i then actually borrowed some 2x8GB 2133 Kingston HyperX from a friend wich owns a 771ZM too, but even with these Memory it was unstable. My multis i set are 4x 4.2Ghz so actually i underboosted it somewhat from the stock boost. I only touched CPU Voltage nothing else. I even tried another m2.SSD cause i thought maybe it's that which causes some issues.

    Like i said 4x4.2Ghz runs pretty stable but tbh i didn't test it with 24h Prime and stuff, i tested 2h XTU and 10runs of x264 Benchmark and to date i never had a BSoD or something like that with fixed Voltage @ 1.080

    I even reinstalled OS wich ofc didn't help. So yeah dunno anymore, normaly i'm not unexperienced with OC and stuff but that issue is something i can not get into.

    It's funny tho cause when the issue with Offset appears, it's something like that: I surf around in Chrome e.g (sometimes it runs hours and sometimes insta BSoD) and when i click on a Tab or on a Link EXACTLY at that moment i clicked boom BSoD.

    Yeah i know wall of text but i like it to describe it somewhat exactly.

    Gesendet von meinem Nexus 5 CAF