Question Need VCORE to drop when idle but have MAX of 1.3v under load

treacotton

Distinguished
Dec 31, 2009
73
0
18,630
Have an overclocking question. I have the latest bios version on my MSI z390 gaming edge AC motherboard. running an 8700k... I realize these arent the latest and greatest but it doesnt matter right now, im just experimenting with overclocking. I had been running it basically set to auto voltage and 4.7 ghz turbo all the time, so all cores were always 4.7ghz. But the vcore was flucuating all the time, anywhere from 0.9 or so, to 1.4v which is too high and was throttling a little during extreme tests. I tried manually overclocking it to 4.7ghz with a fixed vcore of 1.3v and it was much better and never got too hot or throttled so I'm happy with that as a starting point.
My question is, how do I get it to stay at 4.7ghz (which it is now) but have the voltage drop lower during idle etc... while still maintaining 1.3v as the max so it never exceeds that?
MSI has all sorts of core voltage modes... adaptive, override (using now,) offset, adaptive + offset, override + offset. I've tried many combination but can't ever get it to do what i described above.
I have also turned on cstates which I thought may do it but it didn't. I basically would like it still to use 0.9v or so when possible, but when under load it goes to 1.3v... and i know its possible since the auto vcore was going from 0.9-1.4v while staying at 4.7ghz boosted.
Appreciate some help.
 
@treacotton

The easiest solution is to enable the core C7 C state in the BIOS. Individual cores with nothing to do will automatically enter C7. When a core needs to perform a task, it exits C7 and goes straight to the C0 state where it will be running at full speed. Cores in C7 are disconnected from the voltage rail so they are sitting dormant at 0 volts and they are disconnected from the internal clock so they are at 0 MHz. The lower voltage going to unused cores will continue when you are using your computer. This results in lower power consumption and temperatures when idle or lightly loaded.

Here are 10 fast cores running at 5000 MHz with C7 enabled. There is no need to slow the CPU down. Idle power consumption and temperatures are ridiculously low. It is impossible for monitoring software to report the CPU voltage correctly when cores are idle in C7. Waking a core up to find out what voltage it is at is pointless because it does not represent the voltage it was at when it was idle in C7.

FoU015y.png
 
@treacotton

The easiest solution is to enable the core C7 C state in the BIOS. Individual cores with nothing to do will automatically enter C7. When a core needs to perform a task, it exits C7 and goes straight to the C0 state where it will be running at full speed. Cores in C7 are disconnected from the voltage rail so they are sitting dormant at 0 volts and they are disconnected from the internal clock so they are at 0 MHz. The lower voltage going to unused cores will continue when you are using your computer. This results in lower power consumption and temperatures when idle or lightly loaded.

Here are 10 fast cores running at 5000 MHz with C7 enabled. There is no need to slow the CPU down. Idle power consumption and temperatures are ridiculously low. It is impossible for monitoring software to report the CPU voltage correctly when cores are idle in C7. Waking a core up to find out what voltage it is at is pointless because it does not represent the voltage it was at when it was idle in C7.

FoU015y.png
I'll try this tomorrow. Right now cstate is set to auto with the c state range or whatever it's called, set to auto. I set the cstate to enabled one time but left the range on auto... This time I'll enable it and set it to c7 and see what happens.

Im just trying to save a little power when my pc sits idle... Which can sometimes be quite a bit. But I want the cores to stay at 4.7 and have the stable voltage when I game.
 
@treacotton

The easiest solution is to enable the core C7 C state in the BIOS. Individual cores with nothing to do will automatically enter C7. When a core needs to perform a task, it exits C7 and goes straight to the C0 state where it will be running at full speed. Cores in C7 are disconnected from the voltage rail so they are sitting dormant at 0 volts and they are disconnected from the internal clock so they are at 0 MHz. The lower voltage going to unused cores will continue when you are using your computer. This results in lower power consumption and temperatures when idle or lightly loaded.

Here are 10 fast cores running at 5000 MHz with C7 enabled. There is no need to slow the CPU down. Idle power consumption and temperatures are ridiculously low. It is impossible for monitoring software to report the CPU voltage correctly when cores are idle in C7. Waking a core up to find out what voltage it is at is pointless because it does not represent the voltage it was at when it was idle in C7.

FoU015y.png
Thinking about this again, I wonder if this will work when I have my windows power management set to full performance mode.
 
My screenshot above is while using the Windows High Performance power plan.

Active cores will run at full speed and get full voltage. Inactive cores will be in C7. They run at no speed and get zero voltage.
g1MspVq.png


Not sure if this image is showing but I enabled Cstate and set the limit to C7, I am seeing no difference. Vcore doesnt drop below 1.296 and no indication that any cores and shutting off. Not sure what I'm doing wrong.. if this doesnt work maybe there is another way to get the voltage to drop at idle like I was describing.. but this option would be good too if I could make it work.
 
The Vcore reported by monitoring software is only for the active cores. When a core is inactive in C7, it is impossible for monitoring software to report the voltage of that core because there is no voltage going to that core. The core is power gated off from the voltage rail.

Use HWiNFO64 or ThrottleStop 9.6 to monitor what C states are being used. That is the correct way to monitor what cores are really doing when they are idle.

HWMonitor and AIDA64 are not capable of reporting C state activity.
 
Last edited:
The Vcore reported by monitoring software is only for the active cores. When a core is inactive in C7, it is impossible for monitoring software to report the voltage of that core because there is no voltage going to that core. The core is power gated off from the voltage rail.

Use HWiNFO64 or ThrottleStop 9.6 to monitor what C states are being used. That is the correct way to monitor what cores are really doing when they are idle.

HWMonitor and AIDA64 are not capable of reporting C state activity.
I'll give that a try then.. And report back.
 
The Vcore reported by monitoring software is only for the active cores. When a core is inactive in C7, it is impossible for monitoring software to report the voltage of that core because there is no voltage going to that core. The core is power gated off from the voltage rail.

Use HWiNFO64 or ThrottleStop 9.6 to monitor what C states are being used. That is the correct way to monitor what cores are really doing when they are idle.

HWMonitor and AIDA64 are not capable of reporting C state activity.
Ok.. I can now see that c7 is working when idle using hwinfo64. I assume i'm saving a good deal of power when its idle and it will be running at 1.3v anytime im doing anything, particularly gaming, which is fine with me I suppose. This is a sort of extreme power saving which is fine for idling.. however, I still ask myself since the vcore was constantly changing from 0.9 to 1.4v when on auto.. is it possible to have my overclock set at a max of 1.3v but still have the MB lower the voltage when it isn't fully needed at 1.3v?

This is where all the different power modes comes in. I'd like to tweak it further if you know how.. this is a great start though thanks. Once I get all this dealt with, I want to try to see if i can get 4.8 or 4.9.. 4.9 may be pushing it but I have a suspicion that my 1.3v is overkill right now.
 
extreme power saving which is fine for idling
The C states are there to reduce power consumption and heat all of the time. They are used any time a CPU core is not 100% loaded. When playing a game, unused cores will automatically enter C7 to reduce power consumption and heat. The low power C states are always available, not just for when your computer is idle.

If you want your CPU to run at full speed all of the time then the active core or cores need full voltage. If you want to lower the voltage then you need to lower the CPU speed so your computer does not crash. Switch to the Windows Balanced power plan to accomplish this.

Always keep in mind that Intel CPUs can change speeds and voltages hundreds or even a thousand times per second. Monitoring software that samples your CPU once or even twice per second may not be a very accurate look at what your CPU is doing internally.

The best way to improve the efficiency of your computer is to maximize the idle core C7 state percentages. Find and eliminate useless background tasks that are keeping your CPU active when it does not need to be active. There is no need to be worried about voltage if your computer is lean and mean.

ReRXKEZ.png


4.8 or 4.9
When you decide to overclock, go back to using the Windows High Performance power plan. It is easier to come up with a stable voltage setting when the CPU clock and multiplier are held to a constant value. The Windows Balanced power plan can make the clock speed and voltage jump up and down. When C7 is enabled, the Balanced power plan does not save as much power as people assume it does.

Look at my 5000 MHz screenshot above. Chasing after low voltage or low clock speed values is not necessary when C7 is enabled. I never thought it would be possible to have a 10 core CPU locked to 5000 MHz run so cool and quiet.
 
I ran a 3770k at 1.32v @ 4.9GHz for years. It wasn't a core set OC but a turbo limit set OC and C1-E and C-states were left enabled but all other relevant OC values were set.

Considering it's essentially just raising the turbo limits, applying voltage limits (- offset, which manipulates VID and therefore vcore), LLC 1 step over medium, raising current limits, short/long turbo duration etc.

That gives whatever turbo you set, which is basically constant when doing anything if you have the cooling to allow all core even turbo, and still allows for a standard idle option as nothing is locked in like vcore or core speeds.
 
The C states are there to reduce power consumption and heat all of the time. They are used any time a CPU core is not 100% loaded. When playing a game, unused cores will automatically enter C7 to reduce power consumption and heat. The low power C states are always available, not just for when your computer is idle.

If you want your CPU to run at full speed all of the time then the active core or cores need full voltage. If you want to lower the voltage then you need to lower the CPU speed so your computer does not crash. Switch to the Windows Balanced power plan to accomplish this.

Always keep in mind that Intel CPUs can change speeds and voltages hundreds or even a thousand times per second. Monitoring software that samples your CPU once or even twice per second may not be a very accurate look at what your CPU is doing internally.

The best way to improve the efficiency of your computer is to maximize the idle core C7 state percentages. Find and eliminate useless background tasks that are keeping your CPU active when it does not need to be active. There is no need to be worried about voltage if your computer is lean and mean.

ReRXKEZ.png



When you decide to overclock, go back to using the Windows High Performance power plan. It is easier to come up with a stable voltage setting when the CPU clock and multiplier are held to a constant value. The Windows Balanced power plan can make the clock speed and voltage jump up and down. When C7 is enabled, the Balanced power plan does not save as much power as people assume it does.

Look at my 5000 MHz screenshot above. Chasing after low voltage or low clock speed values is not necessary when C7 is enabled. I never thought it would be possible to have a 10 core CPU locked to 5000 MHz run so cool and quiet.
I never use anything except max performance in windows.. So none of that is a factor. When I set my 4.7 over clocked voltage to auto (or adaptive) that's when the voltage lowers and raises etc. The bios is doing this far as I know, not windows. I just wanted it to do the same exact thing, but never go over 1.3v... Meaning use that as a max but still lower the voltage dynamically the way it does in adaptive/auto voltage. I don't really like the idea of c7 being active while gaming personally... But that's besides the point. I want to focus on this voltage behavior that I am trying to achieve... With windows performance at max, 4.7 locked, just like it has always been.
 
I ran a 3770k at 1.32v @ 4.9GHz for years. It wasn't a core set OC but a turbo limit set OC and C1-E and C-states were left enabled but all other relevant OC values were set.

Considering it's essentially just raising the turbo limits, applying voltage limits (- offset, which manipulates VID and therefore vcore), LLC 1 step over medium, raising current limits, short/long turbo duration etc.

That gives whatever turbo you set, which is basically constant when doing anything if you have the cooling to allow all core even turbo, and still allows for a standard idle option as nothing is locked in like vcore or core speeds.
Im going to mess with offset some. Still trying to understand how it works. There is also adaptive offset and override offset which makes it more confusing. I feel like one of these will achieve what I'm trying to
 
VID is the allowable voltage limit of the VRM's that gets sent to the cpu. Vcore is what the cpu is demanding, SVI2 TFN is what the cores actually use.

Cpus are greedy by nature, they'll use whatever they can get, regardless of what that actually is. Power is amperage x voltage and the cpu is going to need X amount of watts to run, it's not particularly bothered if that's made of amperage or voltage, within reason. This is why the current limits are generally raised higher for OC, that way voltage can be lowered and still maintain wattage use.
LLC is a pre-applied voltage addition. As the cpu changes load requirements it gets a bunch of stop/starts in voltage draws, that creates the vdroop. LLC is added to the power sent to raise the floor of the vdroop so that the voltage doesn't drop too low on the droop, but being an added voltage it's also applied to the ceiling, as a consequence so the voltage seems higher than what you set.

By manipulating VID, you basically put the cpu on a diet but the VID should always be 0.05v higher or more than vcore.

Understand also that what you see isn't exactly what's happening. What you see is the reading taken at any specific time, so just looking at voltage you might see 1.32v, but that's also including LLC.

So if you think diet, setting vcore would be like saying the cpu gets 4oz of meat. There's a massive difference between a 4oz filet mignon, wrapped in greasy bacon and fried in butter to a 4oz piece of broiled fish. By using VID, you say the cpu gets 1200 calories, don't care if it's 1oz filet or 8oz broiled fish. There's a difference between telling the cpu what it Will use, and telling it what it has to work with.
 
Last edited:
VID is the allowable voltage limit of the VRM's that gets sent to the cpu. Vcore is what the cpu is demanding, SVI2 TFN is what the cores actually use.

Cpus are greedy by nature, they'll use whatever they can get, regardless of what that actually is. Power is amperage x voltage and the cpu is going to need X amount of watts to run, it's not particularly bothered if that's made of amperage or voltage, within reason. This is why the current limits are generally raised higher for OC, that way voltage can be lowered and still maintain wattage use.
LLC is a pre-applied voltage addition. As the cpu changes load requirements it gets a bunch of stop/starts in voltage draws, that creates the vdroop. LLC is added to the power sent to raise the floor of the vdroop so that the voltage doesn't drop too low on the droop, but being an added voltage it's also applied to the ceiling, as a consequence so the voltage seems higher than what you set.

By manipulating VID, you basically put the cpu on a diet but the VID should always be 0.05v higher or more than vcore.

Understand also that what you see isn't exactly what's happening. What you see is the reading taken at any specific time, so just looking at voltage you might see 1.32v, but that's also including LLC.

So if you think diet, setting vcore would be like saying the cpu gets 4oz of meat. There's a massive difference between a 4oz filet mignon, wrapped in greasy bacon and fried in butter to a 4oz piece of broiled fish. By using VID, you say the cpu gets 1200 calories, don't care if it's 1oz filet or 8oz broiled fish. There's a difference between telling the cpu what it Will use, and telling it what it has to work with.
took me several reads of this to understand it lol. However, I thought VID was what the CPU was requesting and vcore was what it actually got. Alot of the stuff you mentioned like LLC and SVI2TFN, I have no experience with at all. I don't see those listed in hwinfo64 unless i'm missing it somewhere.

Currently, with my vcore set to override in my msi bios at 1.3, in hwinfo it shows my vcore as 1.300v (give or take a few thousandths) and the VID shows around 1.325.

When you mentioned using the VID instead of vcore, i'm not quite sure how to do that. In the MSI bios, there is nothing that i see that related to manipulating VID, unless its called something else. But I assume maybe the offset mode would have something to do with that maybe?

Again though, there is offset which seems pretty straight forward (specify plus or minus and how much) but there is also adaptive + offset and override + offset.. again being able to specify plus or minus. Override is just fixed voltage in the MSI bios and Adaptive basically is the same as auto which is what was spiking up to 1.4.

Any idea which of these I need to use? Ive only seen people using offset, which I haven't messed with too much except for one time I did something wrong and had to clear my CMOS cause I guess I offset too low.
 
It's the offset that affects VID. Standard offset affects all the voltage levels by the stated amount. Adaptive offset has a more affect on working voltages and lesser, if any, affect on idle voltages. I think override offset is manual, which sets a static voltage. You'll prolly want to use adaptive.
 
@treacotton
Here is an example of why trying to lower the idle voltage is pointless.

IhCzWUp.png


Having the C states enabled is already lowering the voltage to zero. Whatever voltage monitoring software is showing you when a CPU is idle makes almost no difference to anything. An idle CPU will be in C7 at 0 volts 99% of the time. The other 1% of the time is not important.

When dropping both the voltage and CPU speed down to the minimum, power consumption as measured at the wall only decreases 2 Watts. Is this worth chasing after? Idle CPU temperature is almost identical in both situations. This helps confirm that there is no significant difference in actual voltage or power going to the CPU.

Your desire to only lower the voltage while keeping the CPU at full speed is even more pointless. Even if you are somehow able to accomplish this, the CPU will not be as stable. When a CPU core is active, it needs voltage. When it is not active, it enters C7 at 0 volts. Just leave the voltage at a fixed value. Use whatever voltage is necessary to guarantee 100% stability.

I see so many people trying to find the perfect voltage. Most end up with random BSOD issues without accomplishing anything.
 
The reason for 1.3v specifically is because that's the standardized limit of the 8th gen cpu health. Above that, degradation becomes an issue.

Granted, an unmolested cpu can easily survive 40+ years, but degradation is an unknown and unknowable variable. It could be that 1.31v cuts that life expectancy in half or cuts that 40 years to just 40 months, 1.32v could cut that more to 5 years or 5 months, or could have Zero affect. There's simply no exact measurement, only to say the chances of leaking voltage, burned out keys, loss of core reliability etc go up with voltage, and go up more with higher than certain voltages.

So from what I gather, Op wants to push an aging cpu as high as it'll go, remain stable, not die and yet still act like a default settings pc.

That means forget about static OC options, you need range limited options, like max turbo boost, not locked core/locked voltage. OC voltages is done at C0, that's the point where the cpu is at rest, but has not dropped to idle. That'll be the highest voltage level you'll see. Stability is tested with loads, in 2 ways. Dynamic and static. Static is Prime95, small fft, no AVX. That's a 100% all core load, that also happens to set thermal expectations. Dynamic is Asus real bench, cinebench and the other blender types as they push multiple avenues simultaneously, like ram use, gpu use, core use, communications etc as well as cpu loading.