Technology

AMD Zen 6 Rebalances the Core: Stronger Front End and VNNI, Fewer Multiply Units

Martin HollowayPublished just now4 min readBased on 1 source
Reading level
AMD Zen 6 Rebalances the Core: Stronger Front End and VNNI, Fewer Multiply Units
Image by cebbi from Pixabay

Chips and Cheese published an analysis on November 10, 2026, of AMD's Zen 6 CPU core family, comparing it with Zen 5 and with the Zen 6c variant. The article, titled "AMD's Zen 6 Family: Feeding the Beast," works through the front end, integer and floating-point execution, and load/store paths using microbenchmarks.

On the front end, Chips and Cheese reports that Zen 6 builds on the same direction predictor used in Zen 5, which the site describes as the best direction predictor it has measured. The predictor guesses which way a branch will go before the result is known. Branch mispredict recovery, the time lost when that guess is wrong, plateaus at roughly 3.5 to 4 ns of extra time per branch on Zen 5 and roughly 3 to 3.5 ns on Zen 6. Zen 6 can also handle two branches per cycle within the L1 instruction cache, the small, fast store of recently used instructions.

The core carries forward the dual decode cluster arrangement introduced with Zen 5. The difference is in how threads use it. On Zen 5, a single thread could effectively use only one decode cluster, while on Zen 6 a single thread can draw on both. Zen 6 also brings back the Zen 4 NOP pairing behavior, retiring up to 16 NOPs (no-operation instructions that do no useful work) per cycle.

Integer throughput moves in both directions. Zen 6 sustains 5.96 64-bit adds per cycle, up from 5.25 on Zen 5, using the same six ALUs. Against that gain, AMD reduced the number of integer multiply units from three to two. PDEP and PEXT throughput fell from three instructions per cycle to two. Those are bit-manipulation instructions that rearrange individual bits, and many compression and indexing routines lean on them, so code tuned around the Zen 5 figures will show a different profile on Zen 6.

Floating-point hardware is unchanged. Zen 6 still handles two 512-bit FADDs, FMULs, or FMAs per cycle.

The vector integer picture changes more sharply. Zen 6 doubles the number of VNNI units (vector neural network instruction units, which handle low-precision integer dot products) from two to four, and the 512-bit VNNI test rises from 1.99 to 3.88 instructions per cycle. Zen 6c matches Zen 6 in 512-bit VNNI throughput. That dot-product kernel is the core of quantized inference on CPUs, so this change bears most directly on that workload class.

On the load side, Zen 6 raises 256-bit loads to four per cycle while leaving 512-bit loads at two. Both widths reach 128 bytes per cycle, so the wider path gains bandwidth through a higher load count while the 512-bit path holds its existing rate.

In my view, the pattern across these changes is a deliberate rebalancing rather than a uniform uplift. The front end and the VNNI and load paths gain capacity, while multiply and PDEP/PEXT resources shrink. Whether that trade favors a given system depends almost entirely on the instruction mix of its workload. Readers who profile real applications will be the ones to say how much the reduced multiply and bit-manipulation throughput costs in practice.

The broader context here is that the front-end changes address a constraint that has limited wide cores for years: keeping the back end fed with correctly predicted, quickly decoded instructions. If the front end wastes less work per branch and lets one thread use both decode clusters, the execution units have more chances to stay busy. The VNNI doubling puts more low-precision throughput inside a general-purpose core, which matters to anyone running inference on CPUs rather than accelerators. The multiply and bit-manipulation reductions are the cost side of the same design, and a careful reader will want to test that cost against their own code.