AMDのZen 6、分岐予測ミスのペナルティを削って「高性能」と「高密度」を分離する
AMD's Zen 6 Family: Feeding the Beast

AMDの次世代CPUコアZen 6ファミリーをチップ解析で読み解く。表向きはZen 5の延長に見えるが、整数スケジューラの再設計など中身はZen 1からZen 2に近い大改造だ。分岐予測ミス1回あたりのコストは約3〜3.5nsへ短縮し、1スレッドが2つのデコードクラスタを使えるようにもなった。さらにZen 6cはリオーダーバッファやロードキューを拡張し、Zen 6が高クロック重視、Zen 6cがメモリレイテンシ耐性重視という役割分担が明確になっている。
Zen 6は高周波数向けに調整されている一方、Zen 6cは比較的高いメモリレイテンシに耐えるだけの容量を持っている。
HNでの議論
102- bmenrigh
コンシューマ向け(AM5)のZen4とZen5の最悪な点は、I/Oダイのチップレットとそこに載っているメモリコントローラだ。Zen6ではついに、よりずっと小さいノードで新しいI/Oチップレットを出荷するらしい。既存のAM5 Zen4/5のメモリコントローラは、両方のメモリチャネルを使うとひどいものだ。3600 MT/sを超えるのは極めて困難か、ほぼ不可能だ。
Zen6で楽しみにしていることの中で、改善されたメモリコントローラがリストの最上位だ。
編集:そう、AM5の最悪な点はPCIe 5.0レーンの数がわずかしかないことだと言う人もいるかもしれないが、それは自分の用途にはあまり影響しないし、残念ながらそれはI/OチップレットではなくAM5自体の制限だと思う。
- joebonrichie
2-ahead分岐予測における命令レベル並列性はめちゃくちゃクールなものだ。Zen5にもこの機能があったのは知っているが、メモリがコアに比べてあまりにも遅いせいで、これほどの複雑さが有益で価値があるというのは、ある意味おかしな話だ。
- Aardwolf
> AMDは整数乗算ユニットの数を3から2に減らし、PDEPとPEXTのスループットも1サイクルあたり3命令から2命令に落ちている。
PDEPとPEXTは乗算と同じ(一部の)回路を使っているのだろうか(まったく異なる演算なのに……)、それともこれは単に2つの独立した回路削減であって、文言が少し不明瞭なだけなのだろうか?
- Remnant44
コア自体に対する、バランスの取れた小さな改善がたくさんあるように見える。256b以下のベクトルロードが1サイクルに4回というのは、gatherの性能がついに許容できるレベルになったのか気になる。もう一つのバランスの例として、整数乗算器の数を実際に2に減らしている。これはvnniパイプ用のダイ面積を確保するためだったのだろうか?
本当の主役はCコアのほうだろう。チップレットあたり32個のCコアにL3キャッシュ増量は見事だ。
- bee_rider
CCDに32コアというのはかなりのコア数だ。CCDとコアの間にもっと小さな論理ユニットはあるのだろうか、それとも最下層のNUMAレベルで32コアを扱わされることになるのだろうか?
- lp92
どうやら彼らはすでにCコアアーキテクチャの最適化を始めているようだ。これが独自のラインナップとブランディングになるまでどれくらいかかるのだろうか。
- sylware
この予測の数々を見ると、「コア/SMT」がコードの挙動をある程度「学習」することは非常に重要であり、それゆえCPU/SMTアフィニティは、我々のCPUを少しでも酷使するアプリケーションにとってこの上なく極めて重要だ。
- spwa4
一つ気になるのは、これらのCPUがメモリコントローラに比べてあまりにも速いということだ。ならばなぜもっと増やさないのか?例えば、なぜコアごとにメモリコントローラを搭載しないのだろうか?