連載
西川善司の3DGE:Zen 3は事実上の拡張版Zen 2? ゲームに対する性能向上は期待できそうだ
本稿では,発表されたRyzen 5000シリーズに関して,より深く考察してみることにしたい。
Ryzenの型番命名規則が変わった?
今回発表となったZen 3は,“3”と付いてはいるものの,実際には第“4”世代のZen系アーキテクチャであり,製品型番としては“5”000番台となっている。
なんともややこしいが,Zen 3が第4世代と数えられる理由は,第1世代の初代「Zen」の改良型として登場した「Zen+」が,事実上の第2世代として数えられているためだ。そのため,続く「Zen 2」が第3世代Zenとなり,今回発表となったZen 3が第4世代となる。
この命名規則が継承された場合,今回発表されたZen 3はRyzen 4000シリーズとして呼称されてもおかしくなかったわけだが,5000シリーズとなったので,この問題は回避された。もしかするとZen 3世代では,「APUを+1000型番とする」という命名規則は改めるのかもしれない。
Zen 2のCCX構造を改良したZen 2+的な立ち位置か
さて,今回発表されたZen 3の製造プロセスは,Zen 2と同じ7nmのままとであることが明らかとなった。まったく同じプロセスなのか,それとも改良が施されたプロセスなのかは明言されていない。
Ryzenの製造を担当する半導体製造事業者であるTSMCは,「2020年上半期に5nm製造プロセスを量産稼動させた」と発表しているが,Zen 3はそのプロセスを使用してはいないわけだ。
Zen 3について,Su氏は以下のようなスライドを示して,Zen 2からの改良ポイントを3つアピールしていた。
ひとつは「8 Core Complex」だ。
AMDはZen 2で,CPUのクラスターを「CPU Complex」(以下,CCX)と呼んでいた。「CPUモジュール」と言えばイメージしやすいだろうか。Zen 2のCCXは4コア構成だったが,これがZen 3では8コア構成となった。
ただ,勘違いしないでほしいのは,1基のチップ内に統合されるCPUコアの数は,Zen 3もZen 2も8コアのままという点だ。
AMDはZen 2において,4コアをひとまとめにしたCCXを2基統合したものを1つのチップとして製造し,これを「CPU Complex Die」(以下,CCD)と呼んでいた。つまり,Zen 2世代では,
- CCD 1基=CCX(4コア)×2基=8コア
という内部構造だったわけだ。これが,Zen 3になると,CCX 1基が8コアとなるので,
- CCD 1基=CCX(8コア)×1基=8コア
となったわけだ。1チップ(ダイ)単位で見ると,CPUコアの総数は変わらないわけである。
Zen 2世代のI/Oダイは,CPUとは異なる14nmプロセスで製造されていた。一方,Zen 3のI/Oダイについては,新規設計なのか,それともZen 2世代から継続して使用するのかは不明だ。ただ,I/Oダイは,CPUダイと比べて高い電圧でのやりとり――たとえばPCIeでは,3V以上の電圧が必要――が中心であるため,微細化との相性はあまり良くない。予想であるが,I/Oダイは新しくなっていたとしても,微細化はCPUダイほど推し進めてはいないと思われる。
2つめのアピールポイントは「2X Direct Access L3 Cache」だ。これは「L3キャッシュが2倍になった」と受け取れるわけだが,ここにはちょっとした数字のマジックがあり,それは8 Core Complexと深い関係がある。
先述したとおり,Zen 3では,CCX 1基あたりのCPUコア数をZen 2世代の4コアから8コアに構成を改めた。つまり,CPU4コア単位の境界をなくして,1つの8コアCCXに統合したと言い換えられるのだ。これにともない,CCX 1基(=4コア)あたり16MB単位だったL3キャッシュメモリの境界もなくなり,結果的に1つにまとまったので32MBとなった。真相はこういうことだ。
これは,単に数字のマジックで見せかけているわけではなく,今どきのアプリケーションにおけるトレンドに合わせて,改善や対応をしてきた部分と理解できるとは思う。とくにモダンな設計のゲームでは,CPUのコア数(=対応スレッド数)の多様性に対応すべく,ジョブキューイングシステム型のマルチスレッド構造になっているタイトルが増えているからだ。
具体的に言うと,実行可能スレッド数が多いCPUであればあるほど,性能が上がる作りのゲームとなる。ただ,いくら大量のスレッド実行に対応したアプリケーションであっても,単一のアプリケーションであれぱ,各スレッドがアクセスするメモリアドレスは近接しているので,キャッシュメモリがCPUクラスタごとに分かれているよりも,統合されているほうがキャッシュ利用効率が上がるであろうことは想像がつく。
その意味では,「16MB×2クラスタだったL3キャッシュメモリを,32MBに統合して利用する」というアプローチは,理にかなったマイナーチェンジといえるかもしれない。
3つめのアピールポイントは,「最大19%のIPC向上」である。
IPCとは,「Instructions Per Clock」のこと。すなわち1クロックあたりに実行できる命令数のことだ。IPC向上を,単一コア内で実現する手法としては,スーパースカラ(Superscalar)実行※の導入などがある。
※一度に複数の命令を取り込んで(フェッチ),依存関係のない命令であればそれらを同時に実行する仕組み。
では,一体どうやってIPCを向上させたのか。ヒントはAMDのCTOであるMark Papermaster氏によるプレゼンパートにあった。それが「Wider
それぞれの詳細は明らかになっていないのだが,まず,Wider Issue in Float and Int Enginesからは,一部の命令の組み合わせで並列度が向上したことがうかがえる。IPC向上率の内訳は以下のスライドにあるが,そこには「Execution Engine」「Front End」「Load/Store」の実行効率が向上したとあるので,データの読み込みや書き出し部分,さらにデコーダやディスパッチャが改善されているようだ。
また,19%という小さくはないが,それほど大きいわけでもない向上率は,実行ユニットの総量は変わっていないことを示していると見る。
さて,もうひとつのZero Bubble Branch Predictionであるが,最大約19%の内訳から見れば小さい影響のようだが,「Zero Bubble」という表記が興味深い。
Zen系マイクロアーキテクチャでは,過去の分岐履歴から次の分岐予測を行うときに,過去に行った予測の合否をフィードバックさせて分岐予測精度を上げるという「Neural Net Prediction」を分岐予測に採用している。これに加えてZen 2では,分岐先アドレスのx86命令を先読みするプリフェッチ動作に改善を施していた。
一般的に,CPU内部での分岐予測が失敗すると,その分岐命令は実行をやり直すので,短時間だがパイプラインの流れが停止してしまう。これをパイプラインバブル(※パイプラインストールとも)と呼ぶのだが,Zen 3では,分岐予測を失敗してもパイプラインバブルが発生しない(あるいは悪影響が少ない)仕組みを導入したようだ。
パイプラインバブルの低減や解消で実際にどういう施策を採用したのかは,今のところ不明である。後日,AMDからZen 3のアーキテクチャ詳細が開示されたときに,改めて解説したい。
さて,こうして見ていくと,Zen 3は,かつてZenに改良を加えて登場したZen+を思い起こさせる。もちろん,CCX自体の論理設計や物理設計を大幅に変えてきてはいるので,“+”が1個では物足りない印象はある。言うなれば「Zen 2++」といったところか。
Ryzen 5000シリーズは11月5日発売
今回のイベントでは,11月5日に発売予定のZen 3採用CPU計4製品の告知も行われた。
いずれも,価格的には前世代モデルに対して50〜100ドル程度高い値付けで,動作クロックは定格が100MHzマイナス,最大ブーストクロックは100MHzプラスしたような製品になっている。前述した性能の強化分を考慮すれば,まあまあ妥当な値付けだとは思う。前述したように,Zen 3は事実上の「Zen 2++」的な存在なので,むしろ,Zen 3の発表で,市場の従来モデルの価格が下がって求めやすくなることの方に期待する一般ユーザーが多そうである。
製品ラインナップは以下のとおりだ。
- Ryzen 9 5950X:16コア32スレッド対応,定格動作クロック3.4GHz,最大動作クロック4.9GHz,L2+L3キャッシュ容量72MB,TDP 105W,付属クーラーなし,799ドル
- Ryzen 9 5900X:12コア24スレッド対応,定格動作クロック3.7GHz,最大動作クロック4.8GHz,L2+L3キャッシュ容量70MB,TDP 105W,付属クーラーなし,549ドル
- Ryzen 7 5800X:8コア16スレッド対応,定格動作クロック3.8GHz,最大動作クロック4.7GHz,L2+L3キャッシュ容量36MB,TDP 105W,付属クーラーなし,449ドル
- Ryzen 5 5600X:6コア12スレッド対応,定格動作クロック3.7GHz,最大動作クロック4.6GHz,L2+L3キャッシュ容量35MB,TDP 65W,付属クーラーあり,299ドル
以下のグラフは,Ryzen 5000シリーズと,AMDが競合と定義するIntelの第10世代Coreプロセッサを価格対性能比で比較したグラフだ。1ドルあたりの性能で見ると,シングルコア処理性能とマルチコア処理性能,ゲーム性能のいずれもRyzen 5000が勝ることを示したものである。
今回発表となったRyzen 5000シリーズに対応するチップセットは,Zen 2と同時に登場した「AMD 500」シリーズチップセットと,Zen+と同時に登場した「AMD 400」シリーズチップセットが挙げられている。初代Zenで登場した「AMD 300」シリーズは,とうとうお役御免となったわけだ。
新Radeon RXの性能はGeForce RTX 3080クラス?
イベントで示されたスライドでは,「Borderlands 3」「Call of Duty: Modern Warfare」「Gears 5」(※スライドではGears of War 5)の3タイトルにおいて,4K解像度で60fpsを超えるというスコアが出ている。NVIDIAが「GeForce RTX 3080」における実測データとして公表した各タイトルのフレームレートと見比べてみると,ほぼ同等の性能を発揮しているようだ。
つまり,Radeon RX 6000シリーズのトップエンドモデルは,GeForce RTX 3080に近い性能を持つことが予想できる。今から登場が楽しみだ。
AMDのデスクトップPC向けRyzen製品情報ページ
- 関連タイトル:
Ryzen(Zen 3,Zen 3+)
- 関連タイトル:
Radeon RX 6000
- この記事のURL: