Our Tests Show Not All Ryzen 3000 Cores Are Created Equal

The Big Picture, Ryzen 5 3600X Boost Clocks

(Image credit: AMD)

We aren't accustomed to AMD being the target of enthusiast ire, but Ryzen 3000's seeming inability to hit its advertised boost clocks has led to complaints on enthusiast forums and reddit. We ran a series of tests to determine if our Ryzen 5 3600X, which we purchased at retail, can hit its advertised 4.4 GHz boost clock. We discovered several new things along the way. We shared our discoveries with AMD before publication, and the company has confirmed several of our findings.

The TLDR:

  • Only one core on our Ryzen 5 3600X processor will hit AMD's rated boost frequency. AMD confirmed some cores in Ryzen 3000-series processors are faster than others, which is denoted in Ryzen Master. That means that not all cores on can hit the single-core turbo frequencies. Instead, there are a mix of fast and slow cores.
  • We recorded up to a ~75 - 100MHz difference between the fastest and slowest cores, with only one core reaching the single-core boost frequency. AMD hasn't shared the definition of the frequency that is acceptable for slower cores (it is rational to expect this to be the base frequency). While we recorded relatively small frequency deltas in our sample, it impacts performance and denotes a shift in AMD's binning strategy compared to the per-core turbo performance of Zen/Zen+.
  • Previous-gen Ryzen processors can reach boost frequencies on all cores. Intel also says its processors can reach the turbo frequency on all cores.
  • Workloads running on Ryzen 3000's slower cores experience lower frequencies than the chip's rated boost speed, and thus lower performance.
  • The combination of Windows 10's new Ryzen-aware scheduler and AMD's chipset drivers allow the operating system to schedule single-threaded tasks into the fastest cores (thread pinning). AMD has previously disclosed the Windows 10 scheduler and the CPCC2 feature, but not that the combined features assign threads to the fastest cores. This functionality requires the latest version of Windows 10. This is somewhat similar to Intel's Turbo Boost Max 3.0 on its HEDT processors, but Intel doesn't set this as a requirement to reach the normal Turbo Boost 2.0 clock speeds.
  • Older versions of Windows cannot schedule threads into the fastest cores as efficiently, thus resulting in lower clock frequencies and performance for Ryzen 3000-series processors in some workloads, which may be at the root of many user complaints.
  • Most test utilities do not measure performance fast enough to catch bursty frequency boost activity. They also do not measure certain types of power states that could indicate higher boost activity.
  • We theorize the slower cores could be a contributing factor to low overclock ceilings with Ryzen 3000 processors. Ryzen 3000 series processors hit all-core overclocks 200-300MHz below the single-core boost frequency. Slower cores simply may not be able to achieve/sustain higher frequencies, thus serving as the weakest link in the chain.

Head to the bottom of the page for testing details. For now, let's take a look at our results.

Ryzen 5 3600X Precision Boost 2 Behavior

We ran a series of single- or lightly-threaded tests in rapid succession. The test begins with five iterations of a LAME workload (~35 seconds apiece) that are inherently single-threaded. This is followed by one run apiece of POV-RAY and Cinbench R20, both in single-core testing mode. AMD processors downshift based on the power requirements of the instructions from the task, so these single-threaded tests give us the best chance of capturing single-core boost activity.

Our first chart in the album below quantifies the frequency of all the cores during the a single run of the test, with each dot representing a frequency measurement. Each color corresponds to a different core. With six cores banging away, that gives us a total of ~12,500 data points in the chart. Naturally, that means some measurements will overlap, so we also provide frequency charts for each individual core during the same run.

As you can see above, we were able to record sustained periods of boost activity, albeit at 4.35 GHz, which is below the chips rated 4.4 GHz Precision Boost frequency. We could chalk this up to the method in which our test utility measures performance, its inability to capture certain power states (CC6 gating, PC6 gate), or simply missing super-fast peak frequencies of short duration due to the 100ms polling interval.

In either case, this is close to the rated 4.5 GHz boost speed of the chip, but it only happens on a single core. The per-core frequency charts clearly show that Core 4 is the only core that boosts to 4.35 GHz.

Typically we would see more interspersed frequency jumps among cores, largely due to the Windows scheduler's irritating and seemingly irrational tendency to allocate threads into different cores on a whim. This normally happens often, so Core 4's sustained boost speed, and the fact that other cores aren't boosting to 4.35 GHz at all, stands out as abnormal given typical scheduler behavior. It also helps point us in the right direction regarding core utilization.

For more clarity, we charted thread utilization to see which cores were active during the workloads. As this is a 12-threaded processor, that means we have a total of ~25,000 data points, so the same rules of overlapping measurements apply. The charts in this album show the data for a single benchmark run. The first chart shows all the cores simultaneously. The other charts show the data just for that core.

As we can see in Core 4's breakout chart, it is by far the most active. In fact, it is the only core that reaches 100% utilization during the tests.

The OS would appear to be scheduling each one of our benchmark tests on the same core, every time. If all the cores could achieve the same boost, we would expect different cores each time based on localized thermals. But no: we get Core 4 every time. Why? The only thing it correlates to is that Ryzen Master shows it as the best core on the chip.

AMD's Ryzen Master software marks four cores as the fastest in any given chip, but these assignments are different for each chip based on the quality of the cores. In the 'Cores Section,' Ryzen Master marks the fastest core in each CCX with a star, while one core (Core 4 in our chip) is marked with a gold star. That denotes that this is the single fastest core in the entire chip. The software also marks two cores with circles, which are the second-fastest cores in each CCX. AMD began marking the fastest cores with Threadripper processors, but positioned the feature as allowing enthusiasts to determine which cores could sustain higher individual overclocks.

The next logical course of action is to disable Core 4 to see if any other cores will then hit the 4.35 GHz peak speed. Then what happens if we disable all four of the fastest cores? We'll get there shortly on the following pages, but first we have to cover the new scheduler scheme to make those results more understandable.

Pinning Threads Into The Fastest Cores

For a quick sanity test, we tested an Intel Core i5-9600K with the same operating system revision to ensure that there hasn't been a change to the Windows scheduler. The key takeaway here is that the workloads migrate among the -9600K's cores. This is the traditional scheduler behavior we're accustomed to, but it runs counter to the test results that we obtained from the Ryzen 5 3600X.

Here we can see that the Core i5-9600K boosts to 4.52, at one time or another, on all cores during the benchmarks. (You'll note that the -9600K completes the workloads faster than the Ryzen 5 3600X, as denoted by the shorter line. That's because these workloads are all based on completing a specific workload, as opposed to being artificially limited by a time restriction.)

The -9600K's maximum boost speed is below the rated 4.6 GHz boost. Unfortunately, MSI's motherboard dynamically adjusts the BCLK during our tests, with a general trend of it being between 100.4 and 100.6 MHz, which muddies the measurements. However, the multiplier never exceeds 45. Intel grants motherboard vendors wide latitude with all of the various components that comprise its Turbo Boost policy, so some of the lower-than-boost speed may be a result of MSI's specific parameters. (Now we've found something else to investigate further.)

In contrast, AMD's Precision Boost 2 handles power states, and thus frequency, inside the chip itself, meaning that shouldn't impact our test results with the Ryzen processor.

We followed up with AMD for more clarity on why single-threaded workloads are being targeted at the 3600X's fastest core, and the company clarified:

Ryzen and the Windows 10 scheduler can cooperate to ensure those lighter workloads make it onto the fastest cores in the processor. In Ryzen Master, the fastest core in each CCD is marked with a gold star, the second fastest with grey stars. Identifying and prioritizing the fastest cores helps to maximize 1T performance, and that is part of the CPPC2 functionality we’ve previously mentioned. 3rd Gen AMD Ryzen is part of the healthy audience of processors in recent history that behave this way.The Windows scheduler (starting with Win10 1809) additionally prioritizes filling an entire CCX with one process’ threads before moving elsewhere (either migration or newly-spawned threads). So between fastest cores and CCX awareness, Windows 10 May 2019 Update and the AMD Chipset Driver work in concert to deliver maximum performance.

AMD has revealed its Collaborative Power Performance Control 2 (CPCC2) feature at the launch of its processors, but to our knowledge, the messaging focused on the feature allowing faster power state transitions (which it also does), but not working in concert with the Windows 10 scheduler to assign threads to the fastest cores. We also cannot find any statements to that effect in the reviewer guide, so this is news to us.

AMD also announced the new Ryzen-aware Windows 10 scheduler, which it said is designed to pin threads within a single CCX before scheduling them to an adjacent CCX. Again, there was no mention of assigning threads into the fastest cores, and this is not listed in the reviewer guide. 

So, what does all of this mean? Each core in a processor has a different maximum boost capability, hence Intel's development of its Turbo Boost Max 3.0 feature (for HEDT chips) that locks threads to preferred cores that can boost higher than others. However, all of Intel's cores are capable of reaching the standard Turbo Boost 2.0 frequencies, and according to our testing, so are all of the cores in previous-gen Ryzen models.

That stands in contrast to AMD's new policy of only having certain cores that can reach the peak frequency. That means that only one, or a few, of the cores in each Ryzen processor would need to bin at the advertised single-core boost clock to meet AMD's (perhaps legal) requirements, while other cores can be slower-performers that can't reach the maximum boost clock.

Let's see what that looks like when we disable the fastest cores on the following pages, and then we'll test the Ryzen 5 3600X on an older version of Windows to see the impact on performance, and finally compare Ryzen 3000's binning strategy to the company's binning of 2000-series parts. For those that are interested, here's how we tested. For the rest, on to the next page. 

Test Methodology

It's important to note that modern CPUs operate on the order of billions of cycles per second (though changing power states takes 1-2ms for Ryzen 3000 processors), so capturing an accurate picture of boost activity requires monitoring the processor with granular polling settings. Most CPU utilities poll the processor for its 'vital' statistics every second, thus missing fast state transitions, but many utilities allow you to adjust the granularity.

It's notable that the overhead of using granular polling can incur additional functional overhead on the processor, in effect creating its own workload that impacts performance via the 'observer effect.' Simply put, polling the processor too frequently can impact its performance and how it behaves during the observation period, so while we're looking for enhanced accuracy, we also have to avoid injecting inaccuracy by polling the processor too frequently. That can trigger different power states that render test data inaccurate.

We dialed in a 100ms polling rate for our testing, meaning we query the processor every 100 milliseconds and then log the average of those measurements every second. This setting didn't seem to have a noticeable impact during idle activity, but we have to remember that Windows also spawns background activities (seemingly at random) that can cause spikes in activity that are hard to attribute to any specific process.

We purchased our Ryzen 5 3600X at retail, so these tests are representative of a shipping processor. Unless explicitly stated otherwise, we tested with the latest version of Windows 10 Pro 1903, which has the new Ryzen-aware scheduler and AMD chipset drivers. We used the same equipment listed in our Ryzen 5 3600X review for testing, so head to the test setup page for a list of the hardware.

We have to caution that the current crop of measurement tools may not be able to capture some power states and that AMD's opportunistic boost algorithms respond to VRM currents, temperatures, and socket power differently. We are testing with one of the most well-appointed motherboards in terms of power delivery, and a beefy Corsair H115i cooler to attempt to extract the utmost performance from the chip at stock settings. There is a possibility that some of these results could vary in different test environments, or from chip to chip, but we did learn enough to spot a few trends in our testing.


MORE: Best CPUs


MORE: Intel & AMD Processor Hierarchy


MORE: All CPUs Content

Paul Alcorn
Managing Editor: News and Emerging Tech

Paul Alcorn is the Managing Editor: News and Emerging Tech for Tom's Hardware US. He also writes news and reviews on CPUs, storage, and enterprise hardware.

  • rhysiam
    Really interesting article Paul and team, thanks!

    IMHO this is a case of clever engineering mixed that's been muddied by dubious (at best!) marketing. Intel's approach of specifying both Turbo Boost 2 (which all cores can meet) and Turbo Boost 3 (the highest possible clock speed on any single core) is a more transparent approach and one that AMD should adopt.

    As you suggest, AMD likely have binning requirements on the "worst" cores, but these should be included in the spec table for the CPU. We should know what they are. On Z390 motherboards you can flick an "MCE" switch and it just works (provided you can cool it), because Intel have a minimum frequency that each individual core must be able to hit. That's the way it should be.

    Intel have work to do around transparency too: their stupidly low base clocks and lack of transparency around dual + quad core boost frequencies is similarly misleading at best. But on the issue of this article, AMD should be more open. AMD's response quoted in this article is totally inadequate. Hopefully you gain some traction and they decide to give you more than "blah blah blah meet the product definition".
    Reply
  • AlistairAB
    Wow this is fantastic work. I'm back to loving Tom's again. Remember Paul Alcorn ;)
    Reply
  • TJ Hooker
    Something to keep in mind is that some Intel CPUs may fail to hit their max turbo speeds as well, albeit for different reasons. Intel is more specific about what the max turbo is for a given number of cores loaded, and some CPUs will only hit their max speed on a single core. The prevailing theory seems to be that with a typical system there will always be stuff going on in the background, such that there's never truly only one core being loaded, and therefore you may never actually see the single core turbo speed.

    I know my 6700k won't hit 4.2 GHz at stock settings running benchmarks like P95 or Cinebench single threaded.
    Reply
  • AlexTSG
    Interesting reading this just a few days after the Silicon Lottery binning results.

    Given that AMD wants to use as much of the silicon they produce as possible, I wonder if we'll see 6 and 8 core processors that utilize two processor chiplets, where only 3 or 4 of the cores are active.

    I'm planning on building a new Ryzen 3000 system towards the end of the year, so I'm hoping that another 6 months sees some improvements made to the 7nm process, and possibly new processor steppings.
    Reply
  • rhysiam
    TJ Hooker said:
    Something to keep in mind is that some Intel CPUs fail to hit their max turbo speeds as well, albeit for different reasons. Intel is more specific about what the max turbo is for a given number of cores loaded, and some CPUs will only hit their max speed on a single core. The prevailing theory seems to be that with a typical system there will always be stuff going on in the background, such that there's never truly only one core being loaded, and therefore you may never actually see the single core turbo speed.

    I know my 6700k won't hit 4.2 GHz at stock settings running benchmarks like P95 or Cinebench single threaded.
    That's interesting, I wasn't aware there were regular issues on Intel's side too.

    To be fair though, presumably you can just flick the MCE switch (or equivalent) in your BIOS and, assuming you have a capable motherboard and cooler, you should hit 4.2Ghz on all cores? In other words, all four cores should be capable of sustaining 4.2Ghz at ambient-coolable voltages. That's simply not the case with the new Ryzen processors.

    I like where AMD are going with Ryzen and I'm saving my pennies for a 3900X, but I'm glad these boost scenarios are being explored and I hope they are more transparent with future releases.
    Reply
  • UncleElias
    admin said:
    Not to mention the 12-core Ryzen 9 3950X. We'll certainly be busy at our test benches.

    Typo?
    I'm looking forward to your testing of the 12 core 3900X and 16 core To be released 3950X.
    Reply
  • mdd1963
    "not all cores can reach the advertised boost frequency'?

    That's a pretty big understatement...

    It seems lucky for many users if even the best single core can hit only 50-100 MHz below it....for 1/4 second or so...and many seemingly are lucky to achieve even 100 MHz below it...

    All core? Most definitely, subtract 200-300 MHz...maybe 400 MHz...

    I'd not be surprised to eventually see some 'class-action' activity involving attorneys, frankly...; I don't think AMD's little 'you need to understand' sponsored lectures really help much.
    Reply
  • redgarl
    Okay, the CPU have been released for a mere 3 weeks. How do we know it is not related to BIOSes? You lost all credibility with Just Buy It!
    Reply
  • greenreaper
    AlexTSG said:
    Gen that AMD wants to use as much of the silicon they produce as possible, I wonder if we'll see 6 and 8 core processors that utilize two processor chiplets, where only 3 or 4 of the cores are active.
    It's more likely we'll see those put into Athlon as single chiplets, although what you envisage could be suitable for low-end EPYC designed for storage servers. Ryzen isn't the high-end brand, but it's also not the low-end.

    Of course, they could do Athlon as a no-graphics derivative of the Zen 2 APU instead, which may be a monolithic integrated design, sans chiplets, as in Zen 1.
    Reply
  • 13thmonkey
    Will this improve with time? Will next year's chips behave differently, given how close to the edge they are perhaps they will. Intel have sufficient headroom that you may not notice any beneficial drift, other than in the most extreme of max OC's
    Reply