The Core Complex, Caches, and Fabric

Many core designs often start with an initial low-core-count building block that is repeated across a coherent fabric to generate a large number of cores and the large die. In this case, AMD is using a CPU Complex (CCX) as that building block which consists of four cores and the associated caches.

Each core will have direct access to its private L2 cache, and the 8 MB of L3 cache is, despite being split into blocks per core, accessible by every core on the CCX with ‘an average latency’ also L3 hits nearer to the core will have a lower latency due to the low-order address interleave method of address generation.

The L3 cache is actually a victim cache, taking data from L1 and L2 evictions rather than collecting data from prefetch/demand instructions. Victim caches tend to be less effective than inclusive caches, however Zen counters this by having a sufficiency large L2 to compensate. The use of a victim cache means that it does not have to hold L2 data inside, effectively increasing its potential capacity with less data redundancy.

It is worth noting that a single CCX has 8 MB of cache, and as a result the 8-core Zen being displayed by AMD at the current events involves two CPU Complexes. This affords a total of 16 MB of L3 cache, albeit in two distinct parts. This means that the true LLC for the entire chip is actually DRAM, although AMD states that the two CCXes can communicate with each other through the custom fabric which connects both the complexes, the memory controller, the IO, the PCIe lanes etc.

 

The cache representation shows L1 and L2 being local to each the core, followed by 8MB of L3 split over several cores. AMD states that the L1 and L2 bandwidth is nearly double that of Excavator, with L3 now up to 5x for bandwidth, and that this bandwidth will help drive the improvements made on the prefetch side. AMD also states that there are large queues in play for L1/L2 cache misses.

One interesting story is going to be how AMD’s coherent fabric works. For those that follow mobile phone SoCs, we know fabrics and interconnects such as CCI-400 or the CCN family are optimized to take advantage of core clusters along with the rest of the chip. A number of people have speculated that the fabric used in AMD’s new design is based on HyperTransport, however AMD has confirmed that they are using a superset HyperTransport here for Zen, and that the Infinity fabric design is meant to be high bandwidth, low latency, and be in both Zen and Vega as well as future products. Almost similar to the CPU/GPU roadmaps, the Fabric has its own as well.

Ultimately the new fabric involves a series of control and data passing structures, with the data passing enabling third-party IP in custom designs, a high-performance common bus for large multi-unit (CPU/GPU) structures, and socket to socket communication. The control elements are an extension of power management, enabling parts of the fabric to duty cycle when not in use, security by way of memory management and detection, and test/initialization for activities such as data prefetch.

Execution, Load/Store, INT and FP Scheduling Simultaneous MultiThreading (SMT) and New Instructions
Comments Locked

574 Comments

View All Comments

  • BurntMyBacon - Friday, March 3, 2017 - link

    @ShieTar: "Well, the point of low-resolution testing is, that at normal resolutions you will always be GPU-restricted."

    If this statement is accepted as true, then by deduction, for people playing at normal (or high) resolutions, gaming is not a differentiator and therefore unimportant to the CPU selection process. If gaming is your only criteria for CPU selection, then that means you can get the cheapest CPU possible until you are not GPU restricted.

    @ShieTar: "The most interesting question will be how Ryzen performs on those few modern games which manage to be CPU-restricted even in relevant resolutions, e.g. Battlefield 1 Multiplayer."

    I agree here fully. Show CPU heavy titles to tease out the difference between CPUs. Artificially low resolutions are academic at best. That said, according to Steam Surveys, just over half of their respondents are playing at resolutions less than 1080P. Over a third are playing at 1366x768 or less. Though, I suspect the overlap between people playing at these resolutions and people using high end processors is pretty small.

    Average frame rate is fairly uninteresting in most games for high end CPUs, due to being GPU bound or using unrealistic settings. Some, more interesting, metrics are min frame rate, frame time distribution (or simply graph it), frame time consistency, and similar. These metrics do more to show how different CPUs will change the experience for the player in a configuration the player is more likely to use.
  • Lord-Bryan - Thursday, March 2, 2017 - link

    Who buys a 500 dollar cpu to play games at 720p res. All that talk is just BS.
  • JMB1897 - Friday, March 3, 2017 - link

    That test is not done for real world testing reasons. At that low resolution, you're not GPU bound, you're CPU bound. That's why the test exists.

    Now advance a few years into the future when you still have your $500 Ryzen 7 CPU and a brand new GPU - you may suddenly become CPU bound even at QHD or 4k, whereas a 7700k might not quite be CPU bound just yet.
  • MAC001010 - Saturday, March 4, 2017 - link

    Or a few years in the future (when you get your new GPU) you find that games have become more demanding but better multi-threaded, in which case your Ryzen 7 CPU works fine and the 7700k has become a bottleneck despite its high single-threaded performance.

    This illustrates the inherent difficulty of comparing high freq. CPUs to high core count CPUs in regards to future potential performance.
  • cmdrdredd - Saturday, March 4, 2017 - link

    "Or a few years in the future (when you get your new GPU) you find that games have become more demanding but better multi-threaded, in which case your Ryzen 7 CPU works fine and the 7700k has become a bottleneck despite its high single-threaded performance."

    Maybe, the overclocking scenario is also important. Most gamers will overclock to get a bit of a boost. I have yet to replace my 4.5Ghz 3570k even though new CPUs offer more raw performance, the need hasn't been there yet.

    One other interesting thing is how Microsoft's PlayReady 3.0 will be supported for 4k HDR video content protection. So far I know Kaby Lake supports it, but haven't heard about any of AMD's offerings unless I missed it somewhere.
  • Cooe - Sunday, February 28, 2021 - link

    Lol, except here in reality the EXACT OPPOSITE thing happened. A 6-core/12-thread Ryzen 5 1600 still holds up GREAT in modern titles/game engines thanks to the massive advantage in extra CPU threads. A 4c/4t i5-7600K otoh? Nowadays it performs absolutely freaking TERRIBLY!!!
  • basha - Thursday, March 2, 2017 - link

    all the reviews i read are using NVidia 1080 gfx card. my understanding is AMD graphics has better implementation of DX12 with ability to use multiple cores. I would like to see benchmarks with something like RX480 crosfire with 1700x. this would be in the similar budget as i7 7700 + GTX 1080.
  • Notmyusualid - Friday, March 3, 2017 - link

    http://www.gamersnexus.net/hwreviews/2822-amd-ryze...
  • cmdrdredd - Saturday, March 4, 2017 - link

    Overclocking will be interesting. I don't use my PC for much besides gaming and lately it hasn't been a lot of that either due to lack of compelling titles. However, I would still be interested in seeing what it can offer here too for whenever I finally break down and decide I need to replace my 3570k @ 4.5Ghz.
  • Midwayman - Thursday, March 2, 2017 - link

    Here's hoping the 1600x hits the same gaming benches as the 1800x when OC'd. $500 for the 1800x is fine, Its just not the best value for gaming. Just like the i5's having been better value gaming systems in the past.

Log in

Don't have an account? Sign up now