News for hackers. Stuff that matters.
Re:Testing AMD's Bergamo: Zen 4c by hajile on Saturday June 22, 2024 @08:39PM (#40763602)
The x86 tax ALREADY matters. Intel was only able to increase the number of decoders by adding entirely independent decoder complexes while reducing the number of decoders per branch.

In practice, this means that decode increases for branchy code, but non-branchy code will be limited to just 3 decoders. In contrast, an ARM X4 or Apple M4 can decode 10 instructions under all conditions.

This also play into ideas like Larabee/Knights processors where you basically want the tiniest core possible attached to a massive SIMD engine. x86 decode eats up a lot of real estate. Even worse, x86 decode adds a bunch of extra stages which in turn increase the size of the branch predictor.

That's not the biggest issue though. Dealing with all of this and all the x86 footguns threaded throughout the pipeline slows down development. It takes more designers and more QAs more time to make and test everything. ARM can develop a similar CPU design for a fraction of the cost compared to AMD/Intel and in less time too because there's simply fewer edge cases they have to work with. This ultimately means the ARM chips can be sold for significantly less money or higher margins.

Re:Testing AMD's Bergamo: Zen 4c by nuudlman on Saturday June 22, 2024 @10:11PM (#40764128)
The fun thing with branch predictors is that they tell you where the next branch is (among other things like the direction of the branch). Since hardware is built out of finite wires, the prediction will saturate to some maximum distance (something in the next few cache lines).

How this affects decode clusters is left as an exercise to the reader.

Re:Testing AMD's Bergamo: Zen 4c by jart on Saturday June 22, 2024 @10:00PM (#40764059)
Then show me the low-cost ARM version of AMD's 96-core Threadripper.
Re:Testing AMD's Bergamo: Zen 4c by wmf on Saturday June 22, 2024 @10:34PM (#40764264)
Ampere One was supposed to be out by now.
Re:Testing AMD's Bergamo: Zen 4c by TinkersW on Saturday June 22, 2024 @09:55PM (#40764028)
In the talk given by lead architect for skymont they implied it could decode 9 under all conditions, not just when there are heavy branches.
Re:Testing AMD's Bergamo: Zen 4c by atq2119 on Sunday June 23, 2024 @08:49AM (#40767096)
> In contrast, an ARM X4 or Apple M4 can decode 10 instructions under all conditions.

Not if there are fewer than 10 instructions between branches...