Intel Blocks Undervolting: The Whole Story
old.reddit.com
old.reddit.com
As the linked post explains, they implemented an option for vendors to block runtime undervolting from the BIOS/motherboard side. This was in response to a published CVE that used undervolting as a way of inducing and exploiting instability in the system: https://plundervolt.com/
If you buy an enthusiast motherboard with overclocking and voltage adjustment controls, it's extremely unlikely that the motherboard vendor would choose to block undervolting for you. Being able to adjust and tweak things is the whole point of premium motherboards. It would be illogical for them to choose to block a popular feature.
On the other hand, if you're using an OEM motherboard from some vendor that takes security seriously, I wouldn't be surprised to see undervolting blocked for security reasons. This seems logical, because not many people are buying OEM Dell workstations so they can go in and tweak every last detail in the BIOS.
IMO, Intel did the right thing here. They responded to a CVE by providing an option for vendors to enable that addresses the issue. Meanwhile, enthusiasts can continue doing what they want.
Seems like much ado about nothing.
There's even a fantastic timeline and explanation from an Intel community member as the top comment on Reddit: https://old.reddit.com/r/intel/comments/10slejm/intel_blocks...
But tbh same with GPUs as well. RTX 3080. Conservative undervolting (850mv @ 1800-1850Mhz) works on most cards and with the same effect, loss of ~5% performance but power consumption down by ~30-40% + significantly cooler (10-15C)
And you could go even lower if you like tinkering + got a good draw on the silicon lottery.
Edit: changed to power consumption
See the Wikipedia page on this and you'll see in modern processors that TDP is configurable.
>TDP specifications for some processors may allow them to work under multiple different power levels, depending on the usage scenario, available cooling capacities and desired power consumption. Technologies that provide such variable TDPs include Intel's configurable TDP (cTDP) and scenario design power (SDP), and AMD's TDP power cap.
The "D" in TDP stands for design. It's the maximum amount of power that the device is designed to dissipate.
The actual power draw is what the comment is talking about. The actual power draw will be different from TDP. The power draw is affected by operating conditions, like voltage and frequency.
In a typical CMOS design, gates have capacitance and carry charge. When you apply a positive voltage to a gate, you deposit some charge into that gate from the positive rail. When you apply a negative voltage to that gate, the positive charge you previously deposited (from the positive rail) is dumped into the negative rail. This current, flowing from the positive to the negative rail, is proportional to the voltage (q = cv), proportional to the gate capacitance, and proportional to the switching frequency. The power is current multiplied by voltage.
This means that power is proportional to voltage squared in these systems. (Or at least, it has a voltage squared component—this is a simplified model, and there are other things which contribute to power draw.)
The switching frequency is also related to voltage. At higher voltages, the transistors are driven harder, and the gates switch faster, so you can rase the clock speed. The end result is that when you lower the voltage and frequency a little bit, you can get a large reduction in power draw.
When you reduce the voltage, the gate voltages are lower, and the drain-source resistance of FETs will be higher, which means higher output impedances, and slower switching times. This will not affect every part of the circuit equally—because the circuit has all sorts of different gates and cells in it. Digital ICs, for one thing, are not made out of transistors which are all the same size. Some transistors are made larger than others. So when you undervolt things, you’re changing the performance of the circuit in very difficult to predict ways. If you end up with some gate delay that is too large, you’ll get errors. If you end up with some driver transistor that can no longer drive what it is supposed to drive, you’ll get errors.
At this point in history, we have done an immense amount of fine-tuning to our IC designs, and there is not much room for fiddling with voltages. Chips are also so large and complicated that you cannot really know that you are testing the entire chip with a given workload, unless you have a lot of insight into the chip’s architecture.
Finally, any circuit which is used for some kind of trusted computing environment needs to block undervolting because undervolting has been used in various exploits to extract keys from hardware, or bypass certain protections. It’s a weird, weird world.
Same with the P1/P2 limits. By default on my motherboard it was 253w/unlimited. Which is crazy when the Intel defaults are 125w/181w (at least that's publicly available on the data sheet)
I at least wish Intel would show somewhere what are the default voltage numbers. Or the motherboard manufacturer's should be more "law abiding", a simple "Enforce Intel factory defaults" should be more than enough.
Drop the voltage too much and bad stuff happens. AMD has 'curve optimizer' which runs some tests and configures enabled boards/cpus to set a voltage offset per core. But it seems best to do that, and then give it a little more voltage to get a stable system.
Yet it's all over the place. An Asus Z790, an MSI H770, or an Asrock B760 motherboard would all have different voltages. So stock is very hard to define. Maybe there is an Intel spec but it's not really available to the public.
I built a pretty beastly machine during the pandemic, but I’ve left it all stock because it feels pretty daunting.
https://github.com/LunarPSD/NvidiaOverclocking/blob/main/Nvi...
Relevant part is the undervolting + you need MSI Afterburner and HWINFO (or your choice of software) to monitor power draw.
But if you don't minmaxing then for example this video is more than enough https://www.youtube.com/watch?v=ANkR9v9HjZE&t=165s Just watch the relevant part about MSI Afterburner adjusting the voltage curve.
For the CPU it's all over the place because of the chipsets and motherboard manufacturers. You can do more on a Z board than on a B and it's different between for example MSI and Asus. I recommend to search around on Youtube and especially on reddit. Subs like /r/intel /r/amd /r/overclocking /r/buildapc are very useful.
Even if you have a K CPU it should work with a "lesser" non-Z motherboard too, for example https://old.reddit.com/r/intel/comments/11dbq60/undervolting...
There is the Intel XTU app which very useful for monitoring. It depends once again on the motherboard but sometimes you can do undervolting there too, but generally it's recommended to do it in the BIOS. For example I can't do it either in XTU but whatever I change in the BIOS will show up there (like the "Core Voltage Offset") https://i.imgur.com/xHA5W6m.png
- Heat pumps
- Someone buying such expensive gear will want to run it all the time before it is severely outdated, not only a few months per year.
It also creates moral hazards (yea, I'm using that phrase) for "I'll turn up the heat in the winter because BitCoin price is higher..."
There's even a picture on the site (ok, the link https://www.heatbit.com - I don't want to encourage anyone to buy it) of someone using it on a open balcony.
- I was in an apartment. I couldn't install a heat pump.
- I'm a gamer. I wanted a high-end GPU anyways.
It wasn't a dedicated mining rig, but I'd just adjust the mining intensity based on the game I was playing. When I wasn't using my computer at all, it'd go 100%. If I'm using my desktop, it'd run at 80%. Some games that didn't tax my GPU would still let me run at 80%.
My cat loved the warmth, too. She'd lay down behind my computer where the GPU exhausted its heat.
As much as the guy was beloved by the community, Robert Hallock of AMD had a tendency to say some shit at times, and one of the worst was his "electrical watts are not thermal watts" spiel. Yeah, they kinda are, and if you they aren't then the FCC would like to talk to you about your spurious emissions.
And if your magic formula doesn't match the observed characteristics of the chip... one of the terms in your formula is wrong, or the formula itself is wrong.
It was a super lame justification for something that truly was as simple as "boost TDP", but, at that time Intel desktop TDPs actually did cover boost already (5960X, 7700K, etc would sustain boost within TDP on a worst-case load like prime95) and AMD were kinda downplaying the fact that they gave themselves a "cheat" factor on Ryzen TDPs for marketing purposes by calling it PPT instead.
He did a huge disservice to public education there by spreading what I'd say were outright lies. Like it shouldn't be a surprise that ~100% of CPU power is turned into heat, but, we had the technical marketing director of one of the major CPU companies saying that it wasn't.
> ...
> Stockholm Data Parks is expecting to generate enough heat to warm 2,500 residential apartments by 2018, but the long term goal is to meet 10% of the entire heating need of Stockholm by 2035.
> According to Data Centres By Sweden – which is launching Stockholm-like projects across the country – only 10 MW of energy is needed to heat 20,000 modern residential apartments. The typical Facebook data centre, for example, uses 120 MW.
> One of the main incentives for companies to join the programme in Stockholm is financial – they get to sell their waste heat. Fortum also provides free cold water for their cooling.
But where CPU heat is 1 kWh of electricity = 1kWh of heat, a heat pump will have 1 kWh of electricity = 3 kWh of heat, because it's "sucking" 2kWh of heat from a medium (air, water, ground whatever) and literally making it colder.
Now OP was suggesting increasing the voltage of their computer as a way to generate more heat and "save" on heating, but it wouldn't be more economical than say, heat your home with a toaster (1 kWh electricity = 1kWh heat). It works, it's just not very efficient.
So I was saying, assuming you have a heat pump, better send that little bit extra energy to the heat pump than increase the voltage of your CPU. (And yes that was tongue in cheek before anyone think I'm serious for a second)
But yeah, if you have computer that produce heat, and you're having to get rid of that heat that's waste and ideally it should be used somewhere else.
Heat pumps are ultra-efficient but even the cheapest heat pumps cost a few thousand dollars (and require expert installation – so they're not suitable if you're renting, for example).
Near-exactly same 100% efficiency of turning power to heat.
Any old refrigerator is also a fairly good DIY heat pump - and if you design it right, you can easily get a COP of 4+. Obviously a typical refrigerator will only do about 600 BTU/h. But thats still plenty for super insulated rooms.
A consumer GPU is like $2.80/Watt.
Now the cost of the electricity itself, if converted to a capital cost equivalent, is like $10/Watt for residential 24/7/365 electricity in much of the US.
An air source heat pump like a mini split costs like $900 for 3600 Watts of heat (typical weird units like 12,000 BTU per hour but usually they omit the “per hour” part because marketing people hate clarity LOL), so just $0.25/Watt for heat but it’s even better because you have a third the electricity usage, so your capital equivalent electricity cost is just $3/Watt.
The 'heat' produced by a CPU in operation is resistive heating. The heat results from the current flowing through the parasitic resistances of the silicon die. So it would be equally efficient as a space heater (as in, 100% of electrical wattage in becomes heat out). The difference is a space heater produces only heat, while a CPU might be performing some other function, while also producing heat.
% sudo turbostat -i 10 -Sq --show PkgTmp,PkgWatt,CorWatt | ts
Apr 04 07:32:29 PkgTmp PkgWatt CorWatt
Apr 04 07:32:29 32 0.31 0.05
Apr 04 07:32:39 31 0.24 0.04
Apr 04 07:32:49 31 0.30 0.05
Apr 04 07:32:59 32 0.27 0.04I guess Intel’s preferred solution would be to swap the CPU (an 8700k) for something like a 35W 8600T. What a waste.
Intel didn't block it (contrary to the title). They gave vendors the tools to block it to avoid security issues.
Undervolting can induce glitches in any CPU, so the vulnerability is technically not unique to Intel. Only the current proof of concepts are limited to Intel.
Enthusiast motherboards aren't required to block undervolting. It's a vendor option. If you buy an enthusiast motherboard, it's almost certainly going to leave it enabled.
If it really is security problem all it should be is an option that can be turned off, not mobo manufacturers trying to get around what intel did