Improvements to the Cache Hierarchy

The biggest under-the-hood change for the Ryzen 2000-series processors is in the cache latency. AMD is claiming that they were able to knock one-cycle from L1 and L2 caches, several cycles from L3, and better DRAM performance. Because pure core IPC is intimately intertwined with the caches (the size, the latency, the bandwidth), these new numbers are leading AMD to claim that these new processors can offer a +3% IPC gain over the previous generation.

The numbers AMD gives are:

  • 13% Better L1 Latency (1.10ns vs 0.95ns)
  • 34% Better L2 Latency (4.6ns vs 3.0ns)
  • 16% Better L3 Latency (11.0ns vs 9.2ns)
  • 11% Better Memory Latency (74ns vs 66ns at DDR4-3200)
  • Increased DRAM Frequency Support (DDR4-2666 vs DDR4-2933)

It is interesting that in the official slide deck AMD quotes latency measured as time, although in private conversations in our briefing it was discussed in terms of clock cycles. Ultimately latency measured as time can take advantage of other internal enhancements; however a pure engineer prefers to discuss clock cycles.

Naturally we went ahead to test the two aspects of this equation: are the cache metrics actually lower, and do we get an IPC uplift?

Cache Me Ousside, How Bow Dah?

For our testing, we use a memory latency checker over the stride range of the cache hierarchy of a single core. For this test we used the following:

  • Ryzen 7 2700X (Zen+)
  • Ryzen 5 2400G (Zen APU)
  • Ryzen 7 1800X (Zen)
  • Intel Core i7-8700K (Coffee Lake)
  • Intel Core i7-7700K (Kaby Lake)

The most obvious comparison is between the AMD processors. Here we have the Ryzen 7 1800X from the initial launch, the Ryzen 5 2400G APU that pairs Zen cores with Vega graphics, and the new Ryzen 7 2700X processor.

This graph is logarithmic in both axes.

This graph shows that in every phase of the cache design, the newest Ryzen 7 2700X requires fewer core clocks. The biggest difference is on the L2 cache latency, but L3 has a sizeable gain as well. The reason that the L2 gain is so large, especially between the 1800X and 2700X, is an interesting story.

When AMD first launched the Ryzen 7 1800X, the L2 latency was tested and listed at 17 clocks. This was a little high – it turns out that the engineers had intended for the L2 latency to be 12 clocks initially, but run out of time to tune the firmware and layout before sending the design off to be manufactured, leaving 17 cycles as the best compromise based on what the design was capable of and did not cause issues. With Threadripper and the Ryzen APUs, AMD tweaked the design enough to hit an L2 latency of 12 cycles, which was not specifically promoted at the time despite the benefits it provides. Now with the Ryzen 2000-series, AMD has reduced it down further to 11 cycles. We were told that this was due to both the new manufacturing process but also additional tweaks made to ensure signal coherency. In our testing, we actually saw an average L2 latency of 10.4 cycles, down from 16.9 cycles in on the Ryzen 7 1800X.

The L3 difference is a little unexpected: AMD stated a 16% better latency: 11.0 ns to 9.2 ns. We saw a change from 10.7 ns to 8.1 ns, which was a drop from 39 cycles to 30 cycles.

Of course, we could not go without comparing AMD to Intel. This is where it got very interesting. Now the cache configurations between the Ryzen 7 2700X and Core i7-8700K are different:

CPU Cache uArch Comparison
  AMD
Zen (Ryzen 1000)
Zen+ (Ryzen 2000)
Intel
Kaby Lake (Core 7000)
Coffee Lake (Core 8000)
L1-I Size 64 KB/core 32 KB/core
L1-I Assoc 4-way 8-way
L1-D Size 32 KB/core 32 KB/core
L1-D Assoc 8-way 8-way
L2 Size 512 KB/core 256 KB/core
L2 Assoc 8-way 4-way
L3 Size 8 MB/CCX
(2 MB/core)
2 MB/core
L3 Assoc 16-way 16-way
L3 Type Victim Write-back

AMD has a larger L2 cache, however the AMD L3 cache is a non-inclusive victim cache, which means it cannot be pre-fetched into unlike the Intel L3 cache.

This was an unexpected result, but we can see clearly that AMD has a latency timing advantage across the L2 and L3 caches. There is a sizable difference in DRAM, however the core performance metrics are here in the lower caches.

We can expand this out to include the three AMD chips, as well as Intel’s Coffee Lake and Kaby Lake cores.

This is a graph using cycles rather than timing latency: Intel has a small L1 advantage, however the larger L2 caches in AMD’s Zen designs mean that Intel has to hit the higher latency L3 earlier. Intel makes quick work of DRAM cycle latency however.

Talking 12nm and Zen+ Translating to IPC: All This for 3%?
Comments Locked

545 Comments

View All Comments

  • mapesdhs - Saturday, April 21, 2018 - link

    Not an argument.
  • 0ldman79 - Thursday, April 19, 2018 - link

    In the real world we have to choose depending on features and performance while constrained by a budget.

    For intellectual discussion and better understanding of the chips and architecture we need direct comparison.

    Both arguments work for entirely different reasons. I rarely have the budget for high end Intel. I'm also into overclocking and run VM, so the only way I hit both of those is to run AMD.

    I've also got a few apps that really take advantage of AVX2 and AVX512, which even the Ryzen gets monstrously stomped by Intel.

    If you judge by a single metric you're missing the big picture. Everything is a compromise.
  • Ninjawithagun - Thursday, April 19, 2018 - link

    Actually, the comparison between the 2600X (not 2700X) and the 8700K is based upon multiple metrics, not just one.
  • Ninjawithagun - Thursday, April 19, 2018 - link

    Once again incorrect. Cost vs. Cost is only one of many factors to consider, but is not a main one, especially if the competition has a processor of equal quality for much less cost. Comparing an Intel 6 core/12 thread CPU to an AMD 8 cores/16 thread CPU makes absolutely no sense if you are measuring cost vs. performance. Your argument makes no sense, sorry.
  • LurkingSince97 - Thursday, April 19, 2018 - link

    Once again incorrect. Cost vs Cost is the primary factor for a buyer on a budget. It is the main one.
    Case in point, if I can get a 2600X for the same price as a much slower Intel chip, it is obviously better.
    Comparing a $300+ chip to a $200+ one makes absolurely no sense if you are measuring cost vs. performance. Your argument makes no sense, sorry.

    See what I did there? Your argument (and the one above) are BS. You are either a troll, or have a serious intellectual disability. Price, performance, and implementation details (core count) are all independent dimensions and you can look at any of them from the perspective of the other.

    Price just happens to be the constraint that most shoppers have to start with. They can vary the other parameters, within the price constraint.

    A others with more money might instead lock in a performance / feature set requirement and _then_ consider price, but that is the minority.
  • fallaha56 - Thursday, April 19, 2018 - link

    Well said

    I suggested the chap apply his own facile argument and compare threadripper to the 8700k...
  • gglaw - Saturday, April 21, 2018 - link

    They compared multiple "qualities" of processors between two Ryzen generations and CL. If you want to look at them core for core, is it that hard to shift your eyes 3 lines up to see the next line of results? Do you want them to exclude the 2700X since there isn't a consumer level CL to match it?
  • LurkingSince97 - Thursday, April 19, 2018 - link

    Price and absolute performance are paramount. Comparing at raw architecture levels is interesting but less important.

    In the real world, there are consumers who are not that price sensitive, in which case they only care about a top end part that is within their range. They don't care if it is 10 core/ 20 thread vs 8 core /16 thread or 6 core 12 thread -- they care about the raw performance for what they need, and are usually willing to go up in cost somewhat for that performance (including mobo/ram costs). This is the sort of consumer I am today.

    There are then others who are price sensitive and have a budget. For these people the price tag is paramount. The flaw with this review (and most in general) is that it does not include mobo / ram / etc costs and often just looks at the CPU price alone. For someone budget conscious they have to carefully consider whether saving $100 on a CPU or $50 on a mobo can give them the ability to spend that on say, a better GPU or nicer monitor. For those, comparing products by price point is way more important than comparing them by architecture. This is the sort of consumer I was when I was a poor college student / gamer that had to part together my own systems with very limited budgets.

    As a tech geek, I am always interested in the core-for-core or clock-for-clock comparison, but in the real world for purchasing decisions it doesn't matter if a Ryzen with 6 cores/12 threads at 3Ghz is faster or slower than an Intel chip with 6 cores/12 threads at 3Ghz. In the end, they can have different core counts, threads, and Ghz -- all that matters is the actual performance.
  • Targon - Monday, April 23, 2018 - link

    In the case of Ryzen, you can use the same motherboard from the first generation to the second, or the third, or the fourth(in 2020). You may not get all the features, but they will work, and CPU cost is the only thing needed since you already have the other components.

    Actual performance is the correct focus, but game performance isn't the same as rendering performance, or for those who tend to have 8+ programs open as a part of their normal work environment. Just saying "performance" ignores that what you use your computer for isn't necessarily the same as what other people use their computer(s) for.
  • Targon - Monday, April 23, 2018 - link

    That is why they use different game benchmarks. Some do make use of more cores/threads, and others make use of other design differences between different products. Price vs. performance is a very valid comparison based on workload, not just games, but in other tasks. You could have higher core count processors with lower clock speeds at the same price point, even when looking at Intel. 6-core lower speed, or 4-core higher speed at the same price point. Which does better for the tasks you personally care about? Intel 8700K vs. AMD 2700X is the fair comparison, while you will compare the 2600 to the i5, again, due to the price point. When you look at the performance results, you SHOULD in theory, see that these chips match up in terms of performance for the price, though AMD tends to have an advantage these days in multi-threaded tasks, while Intel tends to do better in lightly threaded workloads due to clock speeds.

Log in

Don't have an account? Sign up now