AMD次世代CPUコア「Zen 6」公開!Zen 5の最適化版で効くのはL3キャッシュ

アクセスランキング

Special Site

PC Watch をフォローする

お買い得情報

最新記事

最新人気特集記事ランキング

Impress Watchシリーズ 人気記事

おすすめ記事

Zen 6のアーキテクチャ概要(出典:“Zen 6” Architectural Advancements、AMD)

 AMDは11月10日(現地時間、日本時間11月11日未明)に報道発表を行ない、同社の次世代データセンター向けCPU「第6世代EPYC」(開発コードネーム:Venice、ヴェニス)の詳細を公表するとともに、最初の製品となる「Venice SP7」の出荷を開始したと明らかにした。AMDは7月に開催した「Advancing AI」でVeniceの概要を発表しており、今回はさらに技術的な詳細に踏み込んだ。

 その中でAMDは、VeniceのCPUアーキテクチャとなる「Zen 6」(ゼンシックス)の技術的な詳細を公開した。Zen 6には、通常版のZen 6と効率重視のZen 6cの2つのバリエーションが用意されている。

 前者は汎用向けで、高い周波数と高いシングルスレッド性能に最適化されている。後者は密度重視の設計で、多数のコアによるマルチスレッド性能に最適化されている。

Zen 6マイクロアーキテクチャ(出典:“Zen 6” Architectural Advancements、AMD)

 AMDが発表したZen 6のアーキテクチャ概要を読み解くと、Zen 6は基本的にZen 5の改良版となる。以下の表は、AMDの資料をもとにまとめたZen 4、Zen 5、Zen 6のマイクロアーキテクチャ(ハードウェアの仕様)上の違いだ。

【表1】Zen 4、Zen 5、Zen 6(AMDの資料より筆者作成) Zen 4 Zen 5 Zen 6 L1命令/コア 32KB/8way 32KB/8way、32Bフェッチ×2 32KB/8way、32Bフェッチ×2 分岐予測 2テイクン 2テイクン、2アヘッド、TAGE 2テイクン、2アヘッド、TAGE デコード 4ワイド 4ワイド×2 4ワイド×2 Opキャッシュ ー 6K Ops(インスト/フューズ)、6ワイド×2 6.75K Ops、9ワイド×2 ディスパッチ 6ワイド 8ワイド 8ワイド 整数演算リネーム ー 8ワイド 8ワイド 整数演算スケジューラ 4 2(統合型) 6(6×24エントリー) 整数演算GPレジスタ 224エントリー 64b/240エントリー 64b/352エントリー 整数演算ALU(Mul)/AGU 4ALU/3AGU 6ALU(3Mul)/4AGU 6ALU(2Mul)/4AGU FPU/NSQ 64エントリー 96エントリー 96エントリー FPU/リネーム 4ワイド 6ワイド 6ワイド FPU/スケジューラ 2 3×32エントリー 3×60エントリー FPU/レジスタ 256b/192エントリー 512b/384エントリー 512b/384エントリー FPU/演算器 2ADD/2Mul/2ST 2ADD/2Mul/2ST 2ADD/2Mul/2ST L1データ/コア 32KB/8way 48KB/12way、4リード/2ライト、64B フィル/64Bヴィクティム 48KB/12way、4リード/2ライト、64B フィル/64Bヴィクティム L2/コア 1MB/8way 1MB/16way 1MB/16way プロセスノード TSMC 5nm TSMC 4/3nm TSMC 2nm
Zen 6のフロントエンド(出典:“Zen 6” Architectural Advancements、AMD)

 これを見れば明らかなように、Zen 6は基本的にZen 5のアップデート版になる。Zen 4からZen 5への移行では、Micro-Opsキューのディスパッチが6ワイドから8ワイドに拡張され、整数演算の演算器も増えた(ALUが4から6に、AGUが3から4に)。浮動小数点演算器(FPU)もレジスタが256bitから512bitに強化され、AVX-512の演算を1クロックサイクルで行なえるようになった。さらに、データのロード/ストア性能に大きく影響するL1データキャッシュが32KBから48KBに増えるなど大きな強化点があり、アーキテクチャ的には大きなジャンプだった。

整数演算器(出典:“Zen 6” Architectural Advancements、AMD)
バックエンド(出典:“Zen 6” Architectural Advancements、AMD)

 それに対して、Zen 5とZen 6のマイクロアーキテクチャを比べると、細かな調整は入っているものの、基本的な演算器の構成は同じだ。Micro-Opsキューのディスパッチは8ワイドのままで、整数演算のリネーム、ALU/AGUなどのユニット数も変わらない。浮動小数点演算器のリネームや演算器などはZen 5とまったく同じだ。

 改良点としては、フロントエンドのOpキャッシュがZen 5の6K Ops/6ワイド×2から、Zen 6では6.75K Ops/9ワイド×2に強化されている。また、整数演算器のスケジューラは、Zen 5ではZen 4の4基から2基に減らされていたが(ユニット数は減ったものの統合が進み、性能は上がっていた)、Zen 6では24エントリーのスケジューラが6基に増やされている。

 Zen 5のスケジューラのエントリー数が不明なため比較はできないが、エントリー数の多い2基よりも、1基あたりのエントリー数は少なくても基数の多いほうが有利と判断されたと考えられる。同様に、浮動小数点ユニットのスケジューラは3基で変わらないが、エントリー数は32から60に増やされている。

 このように、Zen 6のマイクロアーキテクチャは基本的にZen 5の最適化版だといえる。

浮動小数点演算の拡張(出典:“Zen 6” Architectural Advancements、AMD)

 ただし、浮動小数点演算器のソフトウェア面での改良は加えられている。たとえば、Zen 5ではFP16の演算は変換してから浮動小数点演算器に入れていたが、Zen 6ではAVX-512命令でFP16の演算を行なえるようになり、効率が大幅に改善される。ほかにも、VNNI命令でINT8を演算する場合、Zen 5では2パイプでの実行だったのがZen 6では4パイプに強化されており、演算効率が大きく向上する。

Zen 6でのISAの追加(出典:“Zen 6” Architectural Advancements、AMD)

 また、Zen 6世代ではAMD独自のISAが追加されている。前出のFP16のサポートやVNNI INT8に関する命令、BMM(Bit Matrix Multiply)命令、カーネル/仮想化向けのFRED、PML、PLZAなどの命令、Confidential Computing向けのSEV-SNPなどの拡張が行なわれているほか、メモリのプロファイラーやIBSバッファリングなどのモニタリング系の命令も追加されている。

 FP16のサポートやVNNI INT8などはAMD独自の命令となるが、仮想化やConfidential Computingなどは元々AMD独自の命令セットとして追加されていたものなので、その強化版だと考えられる。

Zen 6のキャッシュ階層(出典:“Zen 6” Architectural Advancements、AMD)

 AMDはZen 4世代で、末尾に「c」が付く電力効率重視版のZen 4cを導入し、データセンター向けのコア数・密度重視の製品に投入してきた。Zen 5世代でもZen 5cを導入し、データセンター向けだけでなく、Ryzen AI 300/400シリーズなどクライアントPC向けのマルチスレッド性能重視の製品にも採用している。

 「c」の付かない無印とcの違いは、基本的には2つある。最大の違いはCPUコアあたりのL3キャッシュで、無印が4MBであるのに対して、cは2MBになっている。もう1つはプロセスノードへの実装で、無印は高周波数を意識した実装になっているのに対して、cは複数のコアを1つのダイに集約するため周波数を抑え気味に調整している。

Zen 5/5cとZen 6/6cの違い(出典:“Zen 6” Architectural Advancements、AMD)

 それに対して、Zen 6世代ではCPUコアあたりのL3キャッシュが無印もcも4MBになった。つまり両者の外形上の違いはなくなり、無印もcも基本的にまったく同じマイクロアーキテクチャになっている。

 ただし、プロセスノードへの実装時に高周波数を重視するか、密度を重視して周波数を抑えるかという違いは依然として残り、Zen 6とZen 6cの違いはそこにある。

 Zen 6では、チップレットとして複数実装されるCPUダイ(CCD、Core Complex Die)1つに12コアを実装できるようになった。これはZen 5に比べて4コア多い。8つのCCDを実装できるパッケージであれば、最大96コアを1つのパッケージ上に統合できる。従来のZen 5ではパッケージあたり最大64コアだったので、32コア分増えたことになる。

 Zen 6cでは、CCD 1つあたり32コアまで詰め込める。これはZen 5cの倍で、コアあたりのL3キャッシュも4MBに増えたため、CCDあたりのL3キャッシュはZen 5cの4倍となる128MBに達する(CCDのコア数が倍、コアあたりのL3キャッシュも倍になるため)。

 ただし、CCD 1つあたりのダイサイズが大きくなるため、1つのパッケージに搭載できるダイ数は減る(Zen 5cでは最大12基、Zen 6cでは8基)。それでも、Zen 5cでは最大192コア構成だったのが、Zen 6cでは256コアとなる。

Zen 5cとZen 6cを同じクロック周波数・同じコア数で比較した性能(出典:“Zen 6” Architectural Advancements、AMD)

 AMDによれば、Zen 5cとZen 6cを同じ周波数・同じコア数(16コア)で比較した場合、大企業向けのソフトウェアで最大20%、AIワークロードで最大31%性能が向上するという。L3キャッシュの容量が増えたことが、性能強化に大きく寄与していることがうかがえる。

トップページに戻る

関連記事: