How are modern CPUs handling transient voltage spikes without visible voltage drops?
Posted by x_andi01@reddit | hardware | View on Reddit | 22 comments
I've been reading about power delivery on motherboards and noticed that modern CPUs especially high core count models can draw over 200 watts under load. But they also have these near instantaneous current changes when a workload kicks on or off. In the past you'd see visible voltage droop on the VRM output unless you had tons of capacitors. Now with the latest Intel and AMD platforms, power management happens so fast that monitoring software barely catches it. I understand that on die regulators and improved VRM controllers with faster response times are part of the answer, but I'm curious about the specifics. How do these chips manage to avoid crashing in the microseconds before the VRM can react? Is it all about decoupling capacitance on the package and substrate? Or are the load line calibration settings controlling something deeper than just adding resistance? Looking for a technical explanation beyond just bigger heatsinks and more phases.
claytonkb@reddit
While the change in power-draw looks nearly instantaneous outside the chip, it is absolutely not instantaneous internally. On modern superscalar CPUs like Intel Core or AMD Ryzen, the on-chip power-regulation is done via one or more tiny on-chip microcontrollers that are dedicated to power-management. When a workload suddenly changes -- e.g. switching on multiple blocks in the vector unit -- the power-management ucontroller sees these blocks being switched on and immediately starts pre-charging the supply lines from the on-chip regulator. This ucontroller is running at core frequency, so it's running hundreds of times faster than any external clocks. The on-chip regulator handles the short-term power needs while waiting for the external VRM to respond. While waiting for power to arrive, work can continue, you just can't pump it at full frequency. So, there will be a holdoff (reduced frequency in that block) until power arrives, then the frequency of the unit is shifted up to full frequency. I haven't written code for these PM ucontrollers so this is a very hand-wavey description -- they use lots of black-magic tricks to keep everything working smoothly while power-gates are continually switching on and off all over the chip.
crantob@reddit
this is so cool ty for explanation
bargu@reddit
It's crazy that things are going so fast that you have to wait for electricity to arrive which is something most people just see as instantaneous.
claytonkb@reddit
The wait I'm mentioning is not due to propagation delay in the wires, it's due to the external VRM response time (lower freq clock), capacitance, etc.
But if you run the calculations for the clock trees, at 5GHz, light in a vacuum travels about 6cm in a single clock, which is just over 2 inches. So you do have to pay attention to propagation delay on the traces, especially for large dies. At lower frequencies, we usually treat these delays as negligible (approx. 0).
Total-Buy2684@reddit
Where do you learn this stuff? In electricical engineering or cs?
claytonkb@reddit
To clarify, I'm not a PM expert, I've just learned about it OTJ (I'm a validation/verification engineer). My guess is that, if you wanted to study power-management at a graduate level, that would be an EE or EECE degree track in most universities but I don't actually know. Maybe try asking on a sub focusing on degree tracks.
Total-Buy2684@reddit
Thx for the info. Just curious is all, only just learnt about propagation delays and have designed a basic CPU.
MindS1@reddit
The more specialized the subject, the less likely it is that there's a curriculum available to learn it. Best case, there might be books written on the subject, but in this field books get outdated quickly, and the up-to-date stuff is sequestered industry knowledge.
So... yeah, I have the same questions haha
Deathwatch72@reddit
We gotten to the point where trace lengths are important for maximum clock speed potential
VenditatioDelendaEst@reddit
They react by reducing clock frequency.
https://pcper.com/2015/02/amd-releases-more-carrizo-details-amds-isscc-2015-presentation/2/
https://sci-hub.st/10.1109/VLSID.2016.106
Noreng@reddit
Curve Optimizer doesn't change Precision Boost's temperature adjustment of the V/F curve. Like you implied, AMD's approach is to simply skip over clock cycles until the voltage level stabilizes.
Intel has DLVR for dealing with voltage drop as well now. DLVR is a linear regulator for each P-core, E-core cluster, and ring in the CPU. So when the voltage drops, the linear regulator simply doesn't burn as much power as during standard operation.
VenditatioDelendaEst@reddit
How confident are you Intel uses DLVR that way even for the worst core holding up the ceiling of the global VCCIA VID request? If I understand correctly, DLVR makes the cost of outside-the-package voltage margin linear instead of quadratic, but it's still not free.
Exist50@reddit
Combination of things. All CPUs will have some guardband, i.e. they're designed to operate with extra voltage than they need to help absorb variance from power delivery, load spikes, aging, etc.
There're also several layers of capacitors to buffer transients. There're caps fabbes as part of the silicon as /u/III-V linked, but also package caps, and of course caps on the motherboard.
jocnews@reddit
There's also fast droop detection so that the CPU can accommodate it with clock stretching. AMD had presentations on that for the Excavator architecture and the mechanism should be going forward in all the Zen CPUs.
Allan-H@reddit
Measured load transient response in a VRM circuit I designed for an FPGA core supply in a networking product a decade back.
That's about a 10mV drop for an approximately 25A load step. [EDIT: the core voltage is the yellow trace. The magenta trace is the control for the load current tester, and is needed here to be able to get the 'scope to trigger reliably.]
Four phases. A ton of low ESR capacitance. No load line compensation. Peak-to-peak voltage deviation could be lower with load line compensation, but I met my voltage accuracy goals without needing it so I never bothered to enable it.
The key was the ton of low ESR capacitance. I used a mix of MLCC and Al/poly caps.
titanking4@reddit
Capacitors are the biggest contributors.
All of multiple types including multi-layer ceramics to deal with the ultra high frequency current spikes. To the bulk capacitance to absorb the increased load activity.
And they only have to absorb the current needs long enough such that the VRM feedback path can change its duty cycle to deliver more current.
III-V@reddit
The silicon itself has embedded capacitors. One type is called a Metal-Insulator-Metal (MIM) capacitor. They keep making advances that keep things fed.
https://community.intel.com/t5/Blogs/Intel-Foundry/Systems-Foundry-for-the-AI-Era/Intel-Foundry-Advances-Chip-Power-Delivery-with-Next-Generation/post/1735691
Polar_Banny@reddit
What about AMD any similar solution?
jaaval@reddit
AMD doesn't make chips. TSMC offers a variety of embedded capacitors. Every chip has these. Power delivery simply doesn't work without them.
SemanticTriangle@reddit
TSMC has a similar metal-oxide-metal capacitor, typically in the middle metal layers. It is functionally essentially equivalent to Intel's MIM as far as I understand it -- give or take performance -- but it is a different structure in a different metal layer.
Since AMD mostly fabs with TSMC, that's what they likely have.
jaaval@reddit
Lots of capacitors. A lot. Everywhere in the chip.
Yet there actually is a voltage drop when load increases. It just smooths out due to the capacitors.
AutoModerator@reddit
Hello! It looks like this might be a question or a request for help that violates our rules on /r/hardware. If your post is about a computer build or tech support, please delete this post and resubmit it to /r/buildapc or /r/techsupport. If not please click report on this comment and the moderators will take a look. Thanks!
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.