Friday, August 2, 2024

Copy of a comment I left under the Techquickie video: Intel's CPU Crashes Explained

I haven't seen a single example of a motherboard providing more voltage than what the CPU sent in a VID request.

How intel CPUs generate VID request is kinda horrible it's basically:
V/F point (a baseline voltage value for a given clock speed)
+ temperature compensation(you need more voltage to run the same clocks at higher temps)(only a couple mv per 10deg of CPU temp)
-  TVB optimization (TVB applies a negative offset to the VID based on how cool the CPU is running when enabled)(it also blocks the CPU from running TVB clocks if temps aren't low enough)
+ ACLL * expected current (this is added to the VID request to compensate for the Vdroop applied by the motherboard)

Setting the ACLL too low for most boards basically took the following form:
VRM LL = 1.1mOhms (NOT DCLL, DCLL is for something else)
ACLL = 0.3-0.6mOhms (varies by board vendor and CPU)

What the ACLL not matching VRMLL would cause the voltage to be too low at high loads. For example:
At 200A the CPU requests 1.3V VID with 0.4ACLL. The CPU expects to recieve 1.3V - (0.4mOhm * 200A) = 1.220V. The motherboard however has a VRMLL of 1.1mOhm and so it provides 1.3V - (200A * 1.1mOhm) = 1.080V. If you got lucky with the silicon lottery your CPU would still work even with this 140mv undervolt. If you got unlucky the CPU would crash.
At low loads however this ACLL mismatch doesn't really do much. For example:
At 20A the CPU requests 1.45V with 0.4ACLL so it expects to reciew 1.45V - (0.4mOhm * 20A) = 1.442V. The motherboard delivers 1.45V - (1.1mOhm * 20A) = 1.428V. This is still less voltage than the CPU expected but it's only of by -14mv so it doesn't lead to any problems.

Disabling TVB boosts voltages because TVB acts as follows(on a 14900K):
CPU sees single core load.
CPU checks if temp is less than TVB temp(supposed to be 70C) then:
CPU can use the 6GHz V/F point.
The 6GHz V/F point has a VID of say 1.5V
TVB optimization subtracts some voltage from that (AFAIK it's usually ~50mv but I'm not sure how the negative offset value is generated)
So the CPU requests 1.5(V/F point)  - 0.05V TVB optimization + (ACLL * expected current)
If the CPU temps is more than the TVB temp the CPU doesn't attempt to run 6GHz at all.

Now if you turn TVB off... the following happens:
CPU sees single core load
CPU goes to 6GHz
6GHz has a V/F point of 1.5V
CPU send VID request for 1.5V + (ACLL * expected current)
And the CPU will send that VID request all the way upto 100C (because that's the TjMax set by intel)

Technically the fact that turning TVB off doesn't disable the 6GHz V/F point does mean that the motherboard is runnign more voltage than intel spec any time the CPU is running at 6GHz. However it is still the CPU that's ultimately deciding to request that voltage. So IMO intel should've probably implemented TVB as an extension to the turbo boost table rather than as a leash for the highest V/F points. (basically intel's boost algorithm compared to AMD and Nvidia's is kinda dumb)

Now the really really high core voltages that you sometimes see on LGA1700 motherboards are actually a direct consequence of intel's (ACLL * expected current) thing. Because if the CPU sends of a VID request with a high ACLL when expecting a high level of current draw and that current draw isn't there(say like right at the end of an all core work load). You get a TON of extra voltage. The i9s are by far the worst for this because they have the highest possible expected current value and so they will send VID requests for way more than 1.55V in scenarios where it's completely inappropriet to do so and TVB/ICCMAX/CEP/power limits don't do anything about it(because this happens when the temps, power and current draw arelow). That's probably why even server boards with all the limits and safeties turned on are chewing through i9s. This is what the mid August patch should be fixing.

For now on some motherboards you can tell the CPU to not send VIDs greater than whatever voltage you feel comfortable with by setting a VR Voltage limit (IDK why intel didn't just ship the CPUs with this enabled).

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.