Undervolting PT 3: A basic explanation.

Blog/Article

The software Most tend to use as it is simple and pretty much all you need is Throttlestop, most recent version is 9.7
These are the main things you will see when you open it up.

This is the main part. It defaults to the one profile, mine has been set to Battery, so if I am on the go, it's the most efficient, you change that by picking which ever you like and hitting save. What we then go for is in the FIVR menu.

This is where the magic happens, or should I say a few hours of trial and error. I've dotted numbers so I can explain simply what each one is and what you're likely to be interested in.

1. This shows which profile you're making adjustments to, you can adjust any of them from here while only using your selected profile from that main menu.

2. This allows you to swap what 3 shows you, being either the Performance cores or Efficiency cores.

3. As per 2, this will show you which ever cores Ratios are. The group part is how many cores will be active and the target frequency. So 40 is 4ghz and the core numbers show what it will try to achieve with that many cores. Ignore my profile here as it's my restricted one. It'll be different for each class of Intel HX chip.

4. This is where you pick which part of the CPU you would like to alter the voltage of.
Cores is both P and E cores, you can see both caches are separate, the system agent is the Intel chipset, typically this controls a few buses and the memory controller. Intel GPU and iGPU unslice are connected, if you change one you need the other to match it. That is mainly the CPUs integrated graphics.

  1. This may look daunting at first but all you need to do is check unlock voltage and look at the voltage offset bar. You can increase the range with the little check boxes underneath it. You'll be wanting to use a negative offset so be sure it goes into the - range. DO MAKE SURE OF THIS, OVERVOLTING WILL DAMAGE THE CPU.

  2. Information about what offsets are currently applied and a few other bits are displayed here, easy to see what you have changed and where.

  3. Cache ratios are the speed of the cache, it's sometimes tied with the core clocks too, so in my case here, having the P and E cores clocked so low means the cache won't go any higher than 3.3ghz anyway. Leave the minimum part as is, but you can lower the limit some. DDR is your memory speed. (DDR is double data rate, so the 3200mhz... is actually 6400mhz) the Ucode, is the Intel microcode. this can change with BIOS updates. I believe about 42 on the cache max is great for lowering power consumption without effective performance.

  4. This has a few miscellaneous bits, I disable TVB as I only want it to behave how I tell it to and the V/F curve editor is a little more advanced than a flat undervolt. This will show you the frequency points and you can apply specific undervolts to each part. Why? Because 5ghz may be stable with a -160mv UV, but if you want the peak of 5.8ghz still on the single/dual core load, that frequency WILL need more voltage, so you may only be able to set that at say -80mv.

Selecting when to save the voltages is key. The best option when tweaking is to have a notepad and pen, Don't save them until you know it's safe. I am pretty sure TS now has a fail safe that will refuse to launch if you keep crashing and you'll need to delete the TS settings file that usually appears on desktop.

That cog file is what you would have to delete and it wipes ALL TS settings.


Firstly, these settings only apply when you launch TS, if you have it in task scheduler you can have it launch on sign in. This is only advisable after you have settings that are stable and you're happy with it.

I'll show you in rough what happens when you change these settings. This is a quick and dirty example so look more at the effects than anything else.
In stock (or near as since some UVs didn't want to undo it seems).

In the first screen, that's taken mid run, if you look at the CPU core frequencies You'll see the P cores are 4.3ghz and the E cores 3.5ghz. After the full run you see the CB score of 31.6k. Not bad.

Now I undervolted the cores and both caches by -85mv.

The P cores now manage 4.7ghz and the E cores 3.7ghz underload. Final score now also goes up to 33.5k. There's more I can tweak and further I can push because I know this CPU now. But this is a basic example.

Method
This part is pretty important, it is not a case of yeet everything and see what happens. I dare say most CPUs would be able to manage -85mv on the cores and caches, but that is not a guarantee. The best option is to pick 1 aspect to undervolt then test for stability. If you change too much and start crashing, you will have no idea what you did wrong, so keep it simple. Remember, the higher the target frequency, likely the more voltage needed, so sometimes your max UV can be held back by your single/dual core boost. It's why I dropped mine from 5.8ghz to 5.4ghz in my performance profile. Or you can use the V/F curve editor and try fine tuning. It's always advisable to have the 800mhz UV lesser than your main. But that's a story for using the V/F specifically.

To start with it is pretty simple, start with cores, move in increments of -10mv and do a few runs of CBR23, also check the single core too, as the multicore won't have the same target. Only do single runs, not 10min or 30mins to start with. If CB closes, or you get a BSOD with a WATCHDOG error, you've gone too far, back off by 10mv. When you think you have it about there, this is when you do 10min and 30mins runs to make sure CB or your machine doesn't crash. If either happen, you're still too close to the edge. Then you could run other CPU tasks or benchmarks. Things like Y cruncher and OCCT are built to hammer the CPU to test for stability. If you crash, open command prompt as admin and type "SFC /scannow" and hit enter. This makes sure the crash doesn't damage the OS.

Caches are a little different, as they can sometimes effect the core voltages a little too. Though only detrimental at the very edge. Similar thing goes here, but also watch HWinfo right at the bottom is WHEA errors, hardware errors in short, these will start appearing when you're over the edge or close to it, assuming you don't crash BSOD have different codes for these as it can effect a number of things. Again, take your time, don't just keep pumping bigger undervolts and rushing. IF there's ANY errors or crashes it is unstable. Back it off.

Be under no illusion, tweaking things nicely can take a few days. If you want different settings, like I have a max performance profile and I have my efficient battery profile, you have to tune them separately. Especially if you're using the V/F curve editor. If you lower the target clocks, the lower frequencies may be able to undervolt much further than a more performance based profile.
Example

Profile 2 is my test profile, Profile 1 is my original stable and profile 4 is battery. As you can see my battery profile can have a lot more voltage removed for the target of 4ghz P core and 3ghz E core. Sometimes different workloads can show instability so you can't just try one thing and call it stable.

I undervolt a bit of everything just for maximum optimization, most people don't bother as its much more work and more testing.

System agent undervolting requires you to get something like TM5 (a memory tester) and do a few hours of checking. The SA is also the memory controller, so if you take voltage away from it, it can effect other parts of the system so you end up needing to run all sorts of tests to make sure you haven't caused gremlins else where.

The Intel GPU and iGPU unslice are pretty weird to test, I know mine is unstable if I actually throw a GPU load at it, but for general browsing and YT watching it's solid.

Basically any voltage removed is wattage freed up, so the more you can stably remove, within reason the more wattage the CPU can use to achieve more. Or in the battery profile case, the more efficient it becomes and the longer it will last on battery.

Tuning one for battery involves actually running it on battery and testing too as it can behave a little differently.

EDIT: One thing I forgot to mention that is quiet the oddity at times. I have on a few occasions had settings that passed all benchmarks and didn't throw any errors or crashes but will act up with certain games. Two prime examples of this are Remnant 2 and Stalker 2. They do a heavy compile of shaders at the start and this can be a big giveaway to if you're on the edge as it will throw out "Out of memory errors". It's a rather strange phenomenon. That said, if you're stable for weeks or months and then randomly start throwing errors the silicon may be degraded. This can happen naturally over time and use anyway. With the Intel microcode issues and long waits for the 012xB from Lenovo, it is possible that odd spikes can cause damage.

With this in mind. When you've done your tweaks and you're sure you're stable. Run a few benchmarks for your best scores and keep a screenshot of it. Heaven forbid your CPU does start acting up (Absolutely nothing to do with the UV) and you suddenly need more voltage and such to be stable, you will have your own evidence of performance and UV potential if you need to make a warranty claim.

Conclusion
If you have an Intel HX CPU, it is most certainly worth spending a bit of time tweaking if for better performance, even if only the cores and caches, you can find it lowers temps and power draw at lower loads, or just a bit more performance when you need it. A prime example is gaming, lesser demanding games play better on my battery profile and use less power. These things will use their limits to give you the same performance. Elden ring on my performance profile can pull 55-90w yet my battery profile gives the exact same performance but pull between 35-55w instead.


If you have any questions I'll do my best to answer them. I know the numbered formatting decided to play silly buggers and I can't get it to fix itself either, it makes things worse lol.

42
29 replies