Transcription
VF point offset is the Asus name for an Intel feature called Advanced Voltage Offset. Advanced Voltage Offset is an extension of the adaptive voltage mode that we're already very familiar with. It was first introduced with the Comet Lake processors in 2020.
Before we can understand the function and the purpose of Advanced Voltage Offset, we must first understand what's the VF curve. An Intel processor determines a minimum voltage required for each frequency based on a voltage-frequency curve. We also call this the VF curve. It does this for each core separately. This VF curve is essentially a table that maps the required voltage for a given frequency. This table is generated from multiple factory-fused VF points using interpolation. The amount of VF points is not architectural and can change between SKUs. In other words, specific SKUs can have more or less predefined VF points. Also, the interpolation method is not architectural and can change at any time. The only requirement for the VF curve is monotonicity. Following a monotonic function as a rule, the voltage for a given CPU ratio must be equal to or higher than the next lower ratio. So, the voltage for 48x must be equal to or higher than 47x.
The main purpose of Advanced Voltage Offset is to provide end-users with a way to undervolt their CPUs at specific points on that VF curve. This is fundamentally different than how it was before. Before, if you wanted to undervolt your CPU, the only way to do it was to select adaptive voltage mode and then offset the entire curve by one single value. In addition to undervolting, this feature also allows overvolting. This is particularly useful when manual overclocking and when you're trying to increase the maximum frequency.
Now that we know the purpose of the Advanced Voltage Offset, or VF point offset, let's have a look at how it works in the real world. Go into the Asus ROG BIOS and navigate to the VF point offset submenu in the Extreme Tweaker section. We find a total of eight VF points. Each VF point has three parameters: a specific CPU ratio, a specific voltage, and an offset. Let's take VF.5 as an example. VF.5 is associated with 4800 megahertz, 1.263 volt, and 0 volt offset. In the Asus BIOS, the frequency is actually the CPU ratio multiplied by the default base frequency of 100 megahertz. Keep in mind that Intel's VF curve is based on CPU ratios and not effective frequency. So, it's more correct to say that VF.5 is associated with CPU ratio 48x rather than 4800 megahertz. This is important to know if you decide to play with base clock frequency, but more on that later. The associated voltage is the base VID and represents the minimum required voltage for a given ratio. For VF.5, the base VID is 1.263 volt.
It is important to understand that this is not the effective voltage for a given CPU ratio at any time. In adaptive voltage mode, there are three steps to how your system sets the CPU voltage. First, the motherboard's BIOS tells the processor the current load line characteristics via AC/DC load line values. Then, the CPU will request a voltage from the voltage controller based on its own VF curve using the base VID configuration, adjusting for the current load line characteristics as well as any of the other voltage offsets. Finally, the voltage that reaches the CPU is the requested voltage minus any undershoot or overshoot from the VRM load line.
To put it in formulas:
Requested VID = Base VID + Offset + AC Load Line * Current + AVX Guardband - TVB Voltage Optimization
Read Back VID = Requested VID - DC Load Line * Current
Effective Voltage = Requested VID - Vdroop
Where:
Base VID is determined by your specific CPU voltage-frequency curve.
Offset is a user-set adaptive voltage offset.
AC/DC Load Line is determined by the motherboard design.
AVX Guardband is determined by whether an AVX workload is present and AVX Guardband is enabled.
TVB Voltage Optimization is determined by whether Thermal Velocity Boost is available and Voltage Optimization function is enabled.
Vdroop is determined by the motherboard VRM and the system load.
If the read back VID is lower than the base VID, the CPU will dynamically increase the requested VID. The AC/DC load line characteristics are basically a way for the motherboard to inform the CPU about its design. Based on the specific motherboard design, the CPU will factor in a certain voltage droop when requesting a VID. The AVX voltage guardband ensures that the effective voltage during an AVX workload stays within the required range at all times to ensure stability. What's new with Rocket Lake CPUs is that users are given an option to change the voltage guardband when running AVX2 and AVX512 instructions using the voltage guardband scale factor.
Thermal Velocity Boost Voltage Optimization is a little-known feature of Thermal Velocity Boost. When enabled, the CPU will gradually decrease the voltage if sufficient thermal headroom is available. There is no detailed documentation on how this feature works exactly, but from testing and empirical evidence, it looks like the voltage reduction is based on the difference between the actual CPU temperature and TjMax. The VRM load line setting determines how much the output voltage increases or decreases when the CPU goes from a low load to a high load and vice versa. Simply put, a big undershoot or a big overshoot can result in an unstable system, so VRM load line helps to mitigate this problem. You can check out the article titled "VRM Load Line Visualized" by Elmor Labs for more information.
Okay, back to our VF point offsets. The last parameter of the VF point offset is the offset itself. This can be either negative or positive and ranging from 0 millivolts to 500 millivolts. The offset adjusts the base VID. So, if we use a negative offset of 100 millivolts for VF.5, the base VID for the CPU ratio 48x would be 1.263 volt minus 0.1 volt, equaling 1.163 volt.
All pretty straightforward, but Peter, what about the CPU ratios in between those VF points? Great question. As I explained before, adaptive voltage mode and its extension, Advanced Voltage Offset, utilize interpolation to determine the final VF curve. So, assuming that all the factory-fused VF points are exposed in this sub-menu, the base VID for a CPU ratio of 45x will be somewhere in between the 1.094 volt associated with 43x and 1.263 volt associated with 48x. Since we don't know the exact interpolation method, we can't accurately calculate this value. However, since we know the VF curve requires monotonicity, we can estimate it using a straight-line approach. Offsetting either endpoint of the straight line will also affect the points on this line. So, if we want to reduce the base VID for 48x, we can use a negative offset for either VF.4 (43x) or VF.5 (48x), or both.
Okay, two more things, I promise. VF.8 is associated with what's called the OC ratio. It is the highest point on the VF curve and is usually associated with the default maximum turbo ratio. For a 4011 900k, that's 53x. When overclocking beyond the maximum ratio, we actually just change this specific VF point. In our example, the VF.8 has been adjusted to CPU ratio 55x, uses the base VID of 53x, and has a positive offset of 50 millivolt. Interestingly, VF.8 is the only point on the VF curve where you can directly adjust the base VID. We do this by simply setting the adaptive voltage in the BIOS. Of course, this base value must be equal to or higher than the previous VF point, which is 1.458 volt for 52x. Also, it may be important to highlight that when people set the adaptive voltage mode in the BIOS, that setting only really affects the CPU ratios higher than the default maximum turbo ratio. Again, the base VID for CPU ratios between 52x and 55x will be determined by interpolating between 1.458 volt and, in this case, 1.543 volt, which is the base VID plus offset.
Last thing. A little earlier, I mentioned that the VF point is associated with a specific CPU ratio and not the effective frequency. This is very important when you're planning on doing BCLK overclocking. For example, let's say the factory-fused base VID for 46x is 1.20 volt and the base VID for 48x is 1.26 volt. If we use a CPU ratio of 46x and a BCLK of 104.4 megahertz, the resulting frequency is about 4800 megahertz. However, the base VID will still be 1.20 volt, as it is determined by the set CPU ratio. So, the system would likely be unstable. To avoid any of these problems, we can use another Intel overclocking knob called BCLK Aware Adaptive Voltage. This feature was introduced along with the Kaby Lake processors all the way back in 2016. When enabled, the processor scales its voltage calculations for all the VF power domains and produces a voltage based on frequency as opposed to the multiplier. The VF power domains include the CPU cores, the ring, and the integrated graphics. Similar to interpolation, we know that this feature exists and what it does; however, we don't know the exact algorithm for this scaling.