Defining Turbo, Intel Style

Since 2008, mainstream multi-core x86 processors have come to the market with this notion of ‘turbo’. Turbo allows the processor, where plausible and depending on the design rules, to increase its frequency beyond the number listed on the box. There are tradeoffs, such as Turbo may only work for a limited number of cores, or increased power consumption / decreased efficiency, but ultimately the original goal of Turbo is to offer increased throughput within specifications, and only for limited time periods. With Turbo, users could extract more performance within the physical limits of the silicon as sold.

In the beginning, Turbo was basic. When an operating system requested peak performance from a processor, it would increase the frequency and voltage along a curve within the processor power, current, and thermal limits, or until it hit some other limitation, such as a predefined Turbo frequency look-up table. As Turbo has become more sophisticated, other elements of the design come into play: sustained power, peak power, core count, loaded core count, instruction set, and a system designer’s ability to allow for increased power draw. One laudable goal here was to allow component manufacturers the ability to differentiate their product with better power delivery and tweaked firmwares to give higher performance.

For the last 10 years, we have lived with Intel’s definition of Turbo (or Turbo Boost 2.0, technically) as the defacto understanding of what Turbo is meant to mean. Under this scheme, a processor has a sustained power level, and peak power level, a power budget, and assuming budget is available, the processor will go to a Turbo frequency based on what instructions are being run and how many cores are active. That Turbo frequency is governed by a Turbo table.

The Turbo We All Understand: Intel Turbo

So, for example. I have a hypothetical processor that has a sustained power level (PL1) of 100W. The peak power level (PL2) is 150W*. The budget for this turbo (Tau) is 20 seconds, or the equivalent of 1000 joules of energy (20*(150-100)), which is replenished at a rate of 50 joules per second. This quad core CPU has a base frequency of 3.0 GHz, but offers a single core turbo of 4.0 GHz, and 2-core to 4-core of 3.5 GHz.

So tabulated, our hypothetical processor gets these values:

Sustained Power Level PL1 / TDP 100 W
Peak Power Level PL2 150 W
Turbo Window* Tau 20 s
Total Power Budget* (150-100) * 20 1000 J
*Turbo Window (and Total Power Budget) is typically defined for a given workload complexity, where 100% is a total power virus. Normally this value is around 95%

*Intel provides ‘suggested’ PL2 values and ‘suggested’ Tau values to motherboard manufacturers. But ultimately these can be changed by the manufacturers – Intel allows their partners to adjust these values without breaking warranty. Intel believes that its manufacturing partners can differentiate their systems with power delivery and other features to allow a fully configurable value of PL2 and Tau. Intel sometimes works with its partners to find the best values. But the take away message about PL2 and Tau is that they are system dependent. You can read more about this in our interview with Intel’s Guy Therien.

Now please note that a workload, even a single thread workload, can be ‘light’ or it can be ‘heavy’. If I created a piece of software that was a never ending while(true) loop with no operations, then the workload would be ‘light’ on the core and not stressing all the parts of the core. A heavy workload might involve trigonometric functions, or some level of instruction-level parallelism that causes more of the core to run at the same time. A ‘heavy’ workload therefore draws more power, even though it is still contained with a single thread.

If I run a light workload that requires a single thread, it will start the processor at 4.0 GHz. If the power of that single thread is below 100W, then I will use none of my budget, as it is refilled immediately. If I then switch to a heavy workload, and the core now consumes 110W, then my 1000 joules of turbo budget would decrease by 10 joules every second. In effect, I would get 100 seconds of turbo on this workload, and when the budget is depleted, the sustained power level (PL1) would kick in and reduce the frequency to ensure that the consumption on the chip stayed at 100W. My budget of energy for turbo would not increase, because the 100 joules/second that is being added is immediately taken away by the heavy workload. This frequency may not be the 3.0 GHz base frequency – it depends on the voltage/power characteristics of the individual chip. That 3.0 GHz base value is the value that Intel guarantees on its hardware – so every one of this hypothetical processor will be a minimum of 3.0 GHz at 100W on a sustained workload.

To clarify, Intel does not guarantee any turbo speed that is part of the specification sheet.

Now with a multithreaded workload, the same thing occurs, but you are more likely to hit both the peak power level (PL2) of 150W, and the 1000 joules of budget will disappear in the 20 seconds listed in the firmware. If the chip, with a 4-core heavy workload, hits the 150W value, the frequency will be decreased to maintain 150W – so as a result we may end up with less than the ‘3.5 GHz’ four-core turbo that was listed on the box, despite being in turbo.

So when a workload is what we call ‘bursty’, with periods of heavy and light work, the turbo budget may be refilled quicker than it is used in light workloads, allowing for more turbo when the workload gets heavy again. This makes it important when benchmarking software one after another – the first run will always have the full turbo budget, but if subsequent runs do not allow the budget to refill, it may get less turbo.

As stated, that turbo power level (PL2) and power budget time (Tau) are configurable by the motherboard manufacturer. We see that on enterprise motherboards, companies often stick to Intel’s recommended settings, but with consumer overclocking motherboards, the turbo power might be 2x-5x higher, and the power budget time might be essentially infinite, allowing for turbo to remain. The manufacturer can do this if they can guarantee that the power delivery to the processor, and the thermal solution, are suitable.

(It should be noted that Intel actually uses a weighted algorithm for its budget calculations, rather than the simplistic view I’ve given here. That means that the data from 2 seconds ago is weighted more than the data from 10 seconds ago when determining how much power budget is left. However, when the power budget time is essentially infinite, as how most consumer motherboards are set today, it doesn’t particularly matter either way given that the CPUs will turbo all the time.)

Ultimately, Intel uses what are called ‘Turbo Tables’ to govern the peak frequency for any given number of cores that are loaded. These tables assume that the processor is under the PL2 value, and there is turbo budget available. For example, here are Intel’s turbo tables for Intel’s 8th Generation Coffee Lake desktop CPUs.

So Intel provides the sustained power level (PL1, or TDP), the Base frequency (3.70 GHz for the Core i7-8700K), and a range of turbo frequencies based on the core loading, assuming the motherboard manufacturer set PL2 isn’t hit and power budget is available.

The Effect of Intel’s Turbo Regime, and Intel’s Binning

At the time, Intel did a good job in conveying its turbo strategy to the press. It helped that staying on quad-core processors for several generations meant that the actual turbo power consumption of these quad-core chips was actually lower than sustained power value, and so we had a false sense of security that turbo could go on forever. With the benefit of hindsight, the nuances relating to turbo power limits and power budgets were obfuscated, and people ultimately didn’t care on the desktop – all the turbo for all the time was an easy concept to understand.

One other key metric that perhaps went under the radar is how Intel was able to apply its turbo frequencies to the CPU.

For any given CPU, any core within that design could hit the top turbo. It allowed for threads to be loaded onto whatever core was necessary, without the need to micromanage the best thread positioning for the best performance. If Intel stated that the single core turbo frequency was 4.6 GHz, then any core could go up to 4.6 GHz, even if each individual core could go beyond that.

For example, here’s a theoretical six-core Core i5-9600K, with a 3.7 GHz base frequency, and a 4.6 GHz turbo frequency. The higher numbers represent theoretical maximums of each core at the turbo voltage.

This is actually a strategy related to how Intel segments its CPUs after manufacturing, a process called binning. If a processor has the right power/thermal characteristics to reach a given frequency in a given power, then it could be labelled as the most appropriate CPU for retail and sold as such. Because Intel aimed for a homogeneous monolithic design, every core in the design was tested such that it performed equally (or almost equally) with every other core. Invariably some cores will perform better than others, if tweaked to the limits, but under Intel’s regime, it helped Intel to spread the workloads around as to not create thermal hotspots on the processor, and also level out any wear and tear that might be caused over the lifetime of the product. It also meant that in a hypervisor, every virtual machine could experience the same peak frequencies, regardless of the cores they used.

With binning, Intel (or any other company), is selecting a set of voltages and frequencies for a processor to which it is guaranteed. From the manufacturing, Intel (or others) can see the predicted lifespan of a given processor for a range of frequencies and voltages, and the ones that hit the right mark (based on internal requirements) means that a silicon chip ends up as a certain CPU. For example, if a piece of silicon does hit 9900K voltages and frequencies, but the lifespan rating of that piece of silicon is only two years, Intel might knock it down to a 9700K, which gives a predicted lifespan of fifteen years. It’s that sort of thing that determines how high a chip can perform. Obviously chips that can achieve high targets can also be reclassified as slower parts based on inventory levels or demand.

This is how the general public, the enthusiasts, and even the journalists and reviewers covering the market, have viewed Turbo for a long time. It’s a well-known part of the desktop space and to a large extent is easy to understand. If someone said ‘Turbo’ frequency, everyone was agreed on the same basic principles and no explanation was needed. We all assumed that when Turbo was mentioned, this is what they meant, and this is what it would mean for eternity.

Now insert AMD, March 2017, with its new Zen core microarchitecture. Everyone assumed Turbo would work in exactly the same way. It does not.

Reaching for Turbo: Aligning Perception with AMD’s Frequency Metrics AMD’s Turbo: Something Different
Comments Locked

144 Comments

View All Comments

  • Korguz - Thursday, September 19, 2019 - link

    so i guess you are ok with intel marketing their chips to only use the watts they state, but under real usage, they can, specially when overclocked, they can use MUCH more ??
  • Cooe - Tuesday, March 23, 2021 - link

    It doesn't say "4.7GHz Turbo" it says "Max 4.7GHz Turbo". Aka "UP TO!". It's not AMD's fault if "Average Joe" literally doesn't know how to read...
  • Oliseo - Wednesday, September 18, 2019 - link

    Also, if YOU have to write a multi page highly technical article on why AMD is right and all the customers are wrong, then you're just a fanboy who doesn't give a **** about the customer.

    We get enough of this in the comments with people in the media joining in to make excuses for large multinationals at the expense of the average consumer.

    Shame on you!
  • eva02langley - Wednesday, September 18, 2019 - link

    Here, these people will escort you to your new home, the asylum... cheers and enjoy you stray jacket...
  • Calabros - Wednesday, September 18, 2019 - link

    This the funniest First World Problem I've seen in 2019.
  • regsEx - Wednesday, September 18, 2019 - link

    I can't find any reference in CFL documentation that PL1 is for base clocks. It doesn't seem to have any correlation.
  • edzieba - Wednesday, September 18, 2019 - link

    Sounds like the "Intel Performance Maximizer" is exploring and characterising the frequency-space above the all-core turbo clock. That could be done at the factory to provide faster out-of-the-box performance, but would either introduce chip-to-chip variation is stock (rather than OC) performance, or create even more SKU bins. And people already throw a wobbler over he number of SKUs Intel produce (even though 90% of those are not a consideration unless you order direct from them in $multimillion batches).
  • samboy - Wednesday, September 18, 2019 - link

    My biggest concern is for the 3950x.

    This has the highest Turbo specification of all the processors; which was a good selling point when I first saw the specifications

    However, it is becoming clear that the all-core base clock speed specification is more important. Particularly given that the 3900x seems to take the least "advantage" of Turbo out of all the current chips.

    Comparing the specifications of 3950x to 3900x we see a 300MHZ drop off on base core speed; in exchange for an extra 100MHZ in boost - which seems somewhat questionable now.

    A 50% increase in cost for an extra 4 cores and likely slower throughput for tasks that use 12 or less cores (which covers almost everything that is run in practice today) this doesn't look like particularly good value. My untested assumption is that the 300MHZ less in base speed is the more important number and will translate to slower throughput.

    I'll wait for the reviews for the 3950x; but I expect that I'll be leaning for the 3900x for the second system I need to build.
  • oleyska - Wednesday, September 18, 2019 - link

    3900X boosts higher than any other ryzen chip out today.
    I think 3950X will be faster than 3900X, on ryzen amount of cores doesn't matter at all.
    Have a ryzen 1700? it isn't at all limited in comparison to a 1600 and on average seems to hit higher frequencies and it's absolutely true for 3000 series, even More so!
  • ajlueke - Thursday, September 19, 2019 - link

    "A 50% increase in cost for an extra 4 cores and likely slower throughput for tasks that use 12 or less cores (which covers almost everything that is run in practice today) this doesn't look like particularly good value."

    The 3950X will almost certainly be faster than the 3900X in just about every scenario. If you consider the way the two chiplet CPUs are binned, they have one fast chiplet (CCD) and one that is not nearly as fast.
    In the 3900X these CCDs are 6 cores each, while they are 8 cores in the 3950X. Which means in an 8 thread workload, the 3950X can do that entire workload on the "better" CCD0, which should have a better frequency/voltage curve. The 3900X will have to dip into 2 cores on CCD1. The 12 core workload is a similar story, the overall frequency/voltage curve will be better on the 3950X because it is boosting more "better" binned cores than the 3900X with the same power envelop.

Log in

Don't have an account? Sign up now