AMD’s Ryzen 3000 CPUs are finally in the market, and reviews have started pouring in, most of them terming team red as the giant killer, making Intel’s entire 8th and 9th Gen lineup obsolete (at the current pricing at the very least). But, things weren’t so positive for AMD a few years back, in fact, it was unimaginable to think that the company would be competing with Intel’s top-end i7s and i9s. And yet, here we are. How did AMD go from “manufacturer of cheap, budget CPUs” to being the market leader in less than four years? One word: Zen. This new architecture was manifold better than the Bulldozer design, especially if you consider the single
For starters, let’s clear up a few things. Zen is good but it wouldn’t have been such a step up for AMD if the older Bulldozer design didn’t suck major horse-crap. After the third-gen K10 architecture, team red for some bizarre decided to invest in a narrow, low-IPC, high-clock design. This had a bunch of limitations.
You needed high core counts as well as beefed up operating clocks to make this work which isn’t really an easy task, and AMD ended up paying dearly for it. To give a clearer picture of how disadvantaged the Bulldozer chips were compared to their predecessors, here’s an example: To offer the same performance as the existing Phenom II processors, these parts needed to have a 50% higher operating speed (on an average). This, of course, didn’t happen, and instead resulted in power-hungry CPUs that ran hot and unstable.
Have a look at the above IPC chart. Instead of going up, the single core performance actually fell with Bulldozer and took three upgrade cycles to bring it back on par with K10. The company started to move in the right direction with Steamroller and Excavator but hit a roadblock soon after. The design limitations of the Bulldozer architecture prevented the engineers from making further improvements without overhauling the layout.
This finally resulted in the brand new Zen architecture that ditched all the bottlenecks of Bulldozer and its successors, and here we are, with the 3rd Gen Ryzen lineup leveraging the Zen 2 architecture based on the 7nm node.
Bulldozer Core vs Zen Core
Let’s put the two architectures side-by-side and analyze the improvements made with Zen. Notice how the Excavator design essentially makes one core into two by using an extra Integer Scheduler. This may sound like a good idea on paper but it didn’t quite pan out. Yes, it did make the design simpler and cheaper, but the IPC went down the drain. Due to this shared logic design, the resources available to each core were compromised.
An integer cluster basically counted as a “core” in Bulldozer and shared the same L2 cache and FP scheduler with the adjacent core. This crippled the decoders whose job is to detect instructions and sort them by type so that Integer and FP based can run simultaneously, increasing the level of parallel processing. By stuffing two decoders side by side, there was a bottleneck leaving the lone FP scheduler to juggle between the workload of the two so-called cores, leading to especially poor floating point performance.
Have a look at Zen. Each core has two 256-bit FMACs under the FP scheduler, that’s four times as much as Bulldozer. The pipeline is also wider, with dedicated L2 cache per core, boosting single core performance by a notable margin.
Surprisingly, this is a form of Hyperthreading. Where Intel’s CPUs merge two threads into a single, large ALU cluster, AMD had two separate partitions. This is called Clustered Multi