If you have followed the reviews of Intel's new mainstream top model, i9-9900K, closely you may have seen that performance, heat and power consumption are all over the place. This is nothing new as some review sites benchmark with Intel's recommended stock profile while others prefer the mainboard's automatic values which will have "Multicore Enhancement" enabled and effectively overclock the CPU. But this time the discrapencies can be found within stock results, sometimes varying by more than 10% depending on the benchmark. A good example is Blender where we have even seen differences of 15% (Anandtech VS TPU). This has set us to a path for a closer look at Intel's Stock Profile, its Power Limits and why the launch of the 9th generation of Intel Core processors has gotten us into a messy situation in this regard.
First off let us define what the Intel Stock Profile is made of. Well known are the Turbo Boost frequencies as recommended by Intel. Namely 5 GHz on up to two cores, 4.9 on three, 4.8 on up to four and 4.7 GHz up to eight cores for the i9-9900K. The AVX Negative Offset Ratio is zero so you will get 4.7 GHz on all cores for AVX loads as well. This is consistent among all mainboards with MCE disabled and not the culprit. But the Stock Profile consists of other settings that are relevant for holding the advertised turbo frequencies which is relevant for the general performance of the CPU. First off there are certain Current Limits at play, most importantly IccMax, a limit dedicated to the VRMs restricting current on all parts of the CPU like its cache, the iGPU and the cores as a whole. Intel recommends 193 Ampere as stock value for an average system within the specifications (DDR4 @2466 MHz). In our tests IccMax, sometimes called "CPU Core/Cache Current Limit Max" will only interfere with turbo frequencies when Power Limits are raised to a certain level. More on that later in our benchmarks.
The main focus of this article is on Power Limits. There are two power limits that are important for desktop. PL1, also called "Long duration package power limit", is the lowest boundary. Every load below PL1 is just left alone and can have turbo frequencies as long as it wants. PL2 or "Short duration package power limit" is the turbo boundary, Coffee Lake will not allow higher wattage than PL2 for more than 9 ms and downclock afterwards to stay below PL2. The same goes for PL1 with one difference: The amount of time allowed to stay above PL1 (called "Time Above PL1") varies depending on a formula called EWMA or "Exponentially Weighted Moving Average" and is in itself a power value that adheres to PL1. Intel does not disclose the algorithm behind EWMA in full, but that's not necessary to understand it in theory. EWMA can be seen as a power budget for turbo boost that depends on multiple factors:
State of the CPU before load was introduced (best if idle)
Tau value or "Package Power Time Window" found in BIOS
Characteristics of the load
These parameters are used to grow the EWMA power value and when it reaches PL1 the budget is exhausted and the CPU will downclock to never exceed PL1 during the continous load again. The Tau value therefor does not set the Time Above PL1 directly but is a constant to the EWMA formula that extends the timeframe to a certain degree. That can be even less than the time of seconds it was set to according to the other factors at play.
An example of heavy load that is kept within the Power Limits PL1 and PL2 showing the growth of the EWMA value.
With that said here are the recommended stock values for Intel:
PL1: TDP of the CPU - 95 Watts for 9900K
PL2: 1.25x PL1 - 118.75 Watts for 9900K
Tau: 28 seconds
PL2 is less restricted though and Intel states that the value should match the maximum power and cooling capability of the platform. System integrators may chose a value that depends on the system's PSU, VRMs of the mainboard and the cooler. In our case only the VRM capabilities are known and that's why ASUS chose an appropriate PL2 of 210 Watts for the MAXIMUS XI EXTREME. In our tests this value is only exceeded by stress tests like Prime95, so only the values for maximum power consumption and heat are limited by this PL2 value.
Depending on the mainboard model these values can greatly differ. Some vendors even chose unlimited PL1 and PL2 values to put themselves ahead of the competition in mainboard reviews. That's to be expected and we can't even blame them because this was not an issue with the 8700K on Z370 boards. Even low-grade VRMs were able to withstand heavy loads of six cores with stock frequencies, so why loose a few percent on certain benchmarks? With the 9900K that brings eight cores and even higher frequencies to the table a wisely chosen PL2 value is an absolute necessity for low-grade VRMs. Still vendors like GIGABYTE did not introduce this change with 9th generation BIOS updates for their mainboards so inevitably this happens:
9900K on Z370 running Prime95? You will never guess what happens next
Now let's see what all of this means in numbers. We ran two benchmarks that introduce heavy AVX load, Handbrake (Media Encoding) and Blender 2.79b (3D Rendering). Additionaly we also chose medium Non-AVX load by using GPUPI for CPU with 100M (short runtime) and 1B (> 2 minutes), while pifast will represent a short runtime of single core load. For power consumption we use CineBENCH R15 to show a short but heavy Non-AVX burst to show the maximum wattage inside "Time Above PL1". For consumption values after downclocking occurs we ran three minutes of Prime95 with and without AVX and cut off one-third of the measured values. Please bare in mind that all wattage results show the system's entire consumption from the PSU's perspective without its efficiency loss. That includes a PCIe-SSD, a GTX 1080 and other system components that are adding about 38 Watts to each value.
We tested the following Power and Current Limits:
PL1 95W, PL2 119W, IccMax 193A: This is the most conservative Stock Profile that Intel recommends.
PL1 95W, PL2 210W, IccMax 193A: The Stock Profile for ASUS mainboards like the MAXIMUS XI EXTREME.
PL1 95W, PL2 210W, IccMax 255A: ASUS's Stock Profile without any Current Limit for CPU and cache.
PL1 95W, PL2 300W, IccMax 193A: PL2 is effectively set to unlimited, all other values are stock.
PL1 95W, PL2 300W, IccMax 255A: Unlimited PL2, no Current Limit for CPU and cache.
PL1 300W, PL2 300W, IccMax 193A: No Power Limits at all, Current Limit at stock.
PL1 300W, PL2 300W, IccMax 255A: No Power Limits and no Current Limit.
Power Limit Comparison
GPUPI for CPU 100M
GPUPI for CPU 1B
The theory behind Power and Current Limits is confirmed by our benchmarks. A limited PL1 value of 95 Watts holds back the performance of AVX loads by up to 17%. GPUPI for CPU 100M and pifast remain as good as untouched by any limit because their runtime never exhausts the power budget in a way that significantly hurts the result. The situation is different for GPUPI for CPU 1B where differences of only up to 4% can be measured. This proves that a low PL1 value of 95 Watts has less impact to medium load scenarios because the Tau dependant EWMA increases slower so turbo frequencies will last longer as well. In addition the downclock is less severe because medium loads can hold frequencies higher with its 95 Watts target limit.
The impact of a 95 Watts PL1 value shown in GPUPI for CPU 1B and HWiNFO
As for the power consumption we see values all over the place according to whatever limit is reached. CineBENCH R15 is only held back by a PL2 of 119 Watts, so rest assured that its result would be severly impacted as well. The biggest spread can be seen in Prime95, where all tested settings with limits show restrictions. Prime95 with AVX instructions more than doubles the wattage of ASUS's stock profile compared to unlimited Power and Current Limits. Power consumption values also shine light on a sweet spot for these limits. A PL1 of 300 Watts combined with a PL2 of 210 Watts and an IccMax of whatever your VRMs can take will be the choice for performance if your cooling solution can handle it. With a Noctua NH-D15 none of these settings ran into a temperature limit.
We have several conclusions for end users with an i9-9900K:
Check your PL1, PL2 and Tau settings by using Intel XTU.
Adjust your Power and Current Limits to find a sweet spot for your VRMs and cooling solution as described in the paragraph above.
If you don't own a high-end Z390 mainboard, it is an absolute must to check your Power and Current Limits! A lot of Z370 mainboards don't bother with these restrictions and might therefor hold back your CPU's performance by running into the VRM's or the cores' temperature limit. The worst case scenario triggers an OCP on your board and your PC will shutdown, maybe damage it in the process.
Run your own tests by using Prime95 with AVX or other stress tests. Use HWiNFO to measure your package power as well as temps, clocks, temperature/power limits on your hottest core.
Respectfully we have the following proposals for CPU reviewers:
There is no stock baseline anymore for mainstream CPUs, so document your PL1, PL2 and Tau values when describing your test setup!
If the system runs into a Power or Current Limit, results will depend on mainboard, VRMs, silicon quality and cooling solution more than ever before.
Cooldown phases between benchmarks are necessary to reset Tau dependant EWMA.
Background load needs to be kept to a minimum (as always) to reduce additional EWMA growth.