後藤弘茂のWeekly海外ニュース

AMD Ryzenの「Zen 3」と「Zen 4」アーキテクチャ

Zen 3とZen 4の位置づけ

 AMDは、次世代CPUコアアーキテクチャ「Zen 3」を市場に送り出す。Zen 2から1年で次のマイクロアーキテクチャへとステップアップする。

 AMDのMark Papermaster氏(Chief Technology Officer and Executive Vice President, Technology and Engineering, AMD)は、Zen 3について「(Zen 2と)同じ7nmプロセスノードで、より高い動作周波数、より高いIPC(Instruction-per-Clock)と設計上の向上を達成した」と説明する。

 Zen 3は、一言で言えば、Zen CPUコアの内部マイクロアーキテクチャを拡張し、クラスタアーキテクチャを刷新することで、IPC(Instruction-per-Clock)を引き上げ、キャッシュ効率を上げて大きなワークロードの性能を引き上げたバージョンだ。

 ただし、Zen 3はZen 2と同じ7nmプロセス世代であるため、トランジスタバジェット(利用できるトランジスタ数)を大幅に増やせるわけではない。7nmプロセス自体の改良の効果はあるが、プロセスノードが変わるほどのインパクトはない。

 プロセスノードを考えると、トランジスタ数を大幅に増やすことが可能な5nmプロセスの「Zen 4」がメジャーチェンジとなる。それに対してZen 3は、プロセス技術の制約のなかで、最大限性能を引き上げたのバージョンと言えそうだ。

 一般的に考えれば、トランジスタ数が大幅に必要となるような拡張はプロセスノードが変わるZen 4で、小幅の拡張で性能を引き上げる効果が大きいものはZen 3へ振り分けるのが普通だ。

 たとえば、7nmプロセスへ移行したZen 2で、大幅なトランジスタ増加が必要となる浮動小数点SIMD(Single Instruction, Multiple Data)演算ユニットの強化が図られている。

 言い換えれば、AMDのZenラインナップは、次のZen 4で、さらに大きなチェンジが予想できるということだ。AMDのCPU開発パイプラインは、現在ファウンドリ側のプロセス技術と同期して、うまく回っており、ノード毎に大きな変更が、中間で改良アーキテクチャが登場している。

19%のIPCアップリフトを達成

 Zen 3のアーキテクチャの変更では、CPUコア自体だけでなく、CPUコアのクラスタである「Core Complex (CCX)」のアーキテクチャを変更してキャッシュトポロジーを変えた。これは非常に大きな変化だ。

 Zen系CPUコアは、これまで4個のCPUコアで1個のCCXクラスタを構成していた。4CPUコアでL3キャッシュを共有し、CCX間のコヒーレンシはCCX間のバスを経由して取っていた。そのため、4CPUコアをはみ出すワークロードの場合は、L3キャッシュレイテンシが性能を削ってしまうケースが発生していた。

 CCXの変更は、ゲームやコンテンツ作成などのワークロードでは影響が大きい。CCXアーキテクチャの変更は、AMDのワークロードについての考察と密接に結びつく。

Zen 3でのCCXアーキテクチャの変更

 Zen 3ではCPUのブーストクロックがさらに引き上げられた。これは、プロセス自体が7nmの改良版で、さらにCPUのクリティカルパスチューニングが進んだと考えればそれほど不思議ではない。しかし、たとえZen 2と同クロックであっても、クロックあたりの命令実行が最大19%引き上げられるため性能は上がる。

Zenファミリの拡張の系譜
Zen 3コアベースのフィーチャ

 AMDのMark Papermaster氏は、Zen 3での19%のIPCの内訳を示した。下のスライドがそれだ。

Zen 3の19%のIPC(Instruction-per-Clock)向上の内訳

 キャッシュへのデータ先読みの「キャッシュプリフェッチング(Cache Prefetching)」の改良が19%のうち2.7%程度、「実行エンジン(Execution Engine)」の改良が3.3%程度、「分岐予測(Branch Predictor)」の改良が1.3%、内部命令キャッシュ「マイクロopキャッシュ(Micro-op Cache)」の改良が2.7%、「フロントエンド部(Front End)」の改良が4.5%強、「データのロード/ストア(Load/Store)」の改良が4.5%弱とされている。

 これを、CPUの機能ブロックで切り分けると、フロントエンド部全体でのIPC向上が約8.5%、実行エンジンが約3.3%、データムーブメントが約7.2%となる。つまり、Zen 3の強化は、実行エンジン部ではなく、フロントエンドとデータムーブメントにある。実行エンジン部が大きく拡張されたZen 2とはかなり異なる比率となっている。

Zen 3のIPC向上の分類

Zen 3のマイクロアーキテクチャ拡張

 Zen 3の実行エンジンでは、浮動小数点演算系ユニットと整数演算系ユニットが「よりワイドになった」(Papermaster氏, AMD)と説明された。

 ただし、スライドでは「よりワイドな(命令)発行(wider issue)」となっている。スライドのとおりなら、実行ユニットを増やしたというより、実行ユニットが分離されて命令発行ポートが分離されたように受け取れる。

 下はZen 2のマイクロアーキテクチャだ。整数演算/ロード/ストア系が7ポート、浮動小数点演算系が4ポートでスケジューラが分離された構造になっている。AMDの示すIPCの向上幅を見ても、実行エンジンの寄与分は小さいため、命令ポートの分離の可能性が高い。命令発行の分離では、たとえばIntelは浮動小数点演算系でシャッフル命令の実行ユニットのポートを分離している。

Zen 2のマイクロアーキテクチャ
PDF版はこちら

 現在の高性能CPUの技術的な主戦場の1つは分岐予測。AMDはZen 3でこの部分にもメスを入れたという。今回AMDはZen 3では分岐予測帯域を引き上げ、ディレイを引き下げ、“ゼロバブル”と呼んでいると説明している。

 バブル、つまり、命令実行パイプラインのなかに、泡のように何も実行されないステージが発生しないように制御することになる。ちなみに、AMDのZen 2では、クイックな予測に「Hash Perceptron(ハッシュパーセプトロン)」分岐予測、長レイテンシの予測に「TAGE(テイジ : TAgged GEometric history length branch prediction)」分岐予測となっている。AMDの現在の説明では、Hash Perceptron分岐予測側の改良に見える。

 また、IPCアップのリストを見ると、デコード済みの内部命令である「Micro-OP」のキャッシュも向上している。さらに、あいまいなフロントエンド部の改良がIPCに大きく寄与している。このあたりは、フロントエンドアーキテクチャの全体像がまだ明らかにされていないため、詳細はわからない。

 ロード/ストアについては「ロードとストアの数を増加させた」(Papermaster氏, AMD)と説明された。ロード/ストアは、インフライトで制御できるロードとストアの数の強化と推測される。また、プリフェッチの向上がIPC向上に寄与しているが、じつはAMDはプリフェッチアルゴリズムを連綿と改良している。キャッシュ階層の変化でも影響を受ける。

5nmプロセスで製造されるZen 4アーキテクチャ

 AMDのCPUは現在TSMCプロセスに乗っており、TSMCの7nmノード世代のプロセスであることは明らかだ。しかし、AMDは、Zen 3がTSMCのどの7nmプロセスかは、まだ明確にしていない。

 TSMCの7nmには、最初のArFエキシマレーザー光源の液浸多重露光技術による「N7」と、EUV(Extreme Ultraviolet : 極紫外線)露光技術を部分的に使った改良版の「N7+」、N7のスペック向上版の「N7P」があり、さらにEUVをN7+より多くのレイヤで使った派生プロセスの「N6」も7nm世代になる。

 Zen 3のプロセス技術については、明らかになった時点でより詳しく説明したい。

 プロセス技術について言えば、Zen 3ではなく、次の「Zen 4」マイクロアーキテクチャが大きなジャンプとなる。AMDのMark Papermaster氏は、Zen 4が5nmプロセスになることを、今回、改めて説明した。

 5nmはTSMCの位置づけではメジャーノードであり、プロセス移行による性能/電力アップの効果が大きい。Zen 4での5nmへの移行は、すでにAnalyst Dayで明らかにされていたが、これは順当なプロセス移行だ。

5nmのZen 4までのロードマップ

 現在、シリコンファウンドリの先端プロセス競争は5nmノードに差し掛かっており、TSMCとSamsungが5nmでデッドヒートを繰り広げている。Samsungは7nmの競争でTSMCに対して不利になっているため、対TSMCで5nmに注力している。ただし、TSMCとSamsungではプロセスノードの切れ目が異なる。

 TMSCの最初の7nmプロセス「N7」は液浸多重露光でやや緩めのデザインルールであり、5nmプロセスでデザインルールを縮小する。それに対して、Samsungは7nmからEUVを「ライン&スペース(配線と配線間 : Line and Space)」にフルに使っており、TSMCより縮小したデザインルールとなっている。

 そして、Samsungの5nmは7nmと同じデザインルールだが、DTCO(Design-Technology Co-Optimization)によってロジックセルを縮小する。そのため、TSMCは5nmをメジャーノードと位置づけているが、Samsungは5nmを7nmからの派生ノードと位置づける。しかし、両者の5nmプロセスは、かなり近いスペックだと見られる。

TSMCのプロセスロードマップ
PDF版はこちら

 TSMCとSamsungともに今年(2020年)が5nmの本格量産の年であり、すでにAppleのA14などがTSMCのN5で製造されている。パソコン向けパフォーマンスCPUは、設計時の性能チューニングに時間がかかるため、来年(2021年)のZen 4が5nm世代となるのは、自然な流れだ。

 TSMCの場合、5nmプロセスの「N5」は、7nmプロセスの「N7」に対して同じ電力時に15%のスピードアップ、または同じスピード時に30%の電力低減となる。

 クロックの向上が15%は少ないと思うかも知れないが、これはモバイル向けの話で、Zen 4のようなCPU製品向けにはオプションがある。高性能なコンピューティング製品向けのトランジスタオプションの「eLVT(extremely Low Vt : 超低しきい電圧)」を使った場合は、最大で25%のスピードアップを見込むことができる。

TSMCのN7以降のプロセス比較
PDF版はこちら

 また、高性能向けには、スタンダードセルも3フィン/トランジスタのライブラリも提供する。3フィンの場合は、モバイル向けの2フィンに較べてさらに10%の性能向上を見込むことができる。

 これをCPU製品に翻訳すると、5nmのZen 4世代になると、同じマイクロアーキテクチャでも、プロセスだけで、数十%の性能/電力アップを見込むことができる。さらに、ロジック回路密度が高まることで、同じチップ面積により多くのトランジスタを詰め込むことが可能になる。増えるトランジスタを使って、アーキテクチャの拡張をさらに進めることができる。