笠原一輝のユビキタス情報局
Zen 4、AVX-512対応、GPU統合、AM5、供給電力拡張の5つの強化点を持つRyzen 7000
2022年9月26日 22:00
AMDのRyzen 7000シリーズ・デスクトップ・プロセッサー(以下Ryzen 7000)がグローバルでは27日、国内では30日から発売となる。その性能などは別記事に詳しいので、本記事ではAMDへの取材などを通して判明した、Ryzen 7000シリーズのアーキテクチャ的な特徴などに関して解説していきたい。
【おわびと訂正】初出時に、発売済みと記載しておりましたが、記事掲載時は未発売でした。おわびして訂正させていただきます。
初代Zenの成功をベースに、Zen 2、Zen 3と進化してきて第4世代のZen 4マイクロアーキテクチャが導入される
AMDが発表したRyzen 7000シリーズは、AMDが「Zen 4」の開発コードネームで呼ぶCPUマイクロアーキテクチャに基づいている。AMDは2017年にZen(以下初代Zen)の開発コードネームで知られるCPUアーキテクチャベースのCPUを「Ryzen プロセッサー」として発表した。
Zen/Zen+ | Zen 2 | Zen 3 | Zen 4 | |
---|---|---|---|---|
登場年 | 2017年 | 2019年 | 2020年 | 2022年 |
デスクトップPC製品 | Ryzen 1000/2000シリーズ | Ryzen 3000シリーズ | Ryzen 5000シリーズ | Ryzen 7000シリーズ |
CCDプロセスノード | 14nm/12nm(GF) | 7nm(TSMC) | 7nm(TSMC) | 5nm(TSMC) |
チップ構造 | モノリシック | チップレット | チップレット | チップレット |
IOD | - | 14nm | 14nm | 6nm(TSMC) |
GPU(IODに統合) | - | - | - | RDNA 2 |
最大コア数(パッケージ全体) | 8 | 16 | 16 | 16 |
パッケージ全体のCCD数 | 1 | 2 | 2 | 2 |
CCDあたりのコア数 | 8 | 8 | 8 | 8 |
CCXあたりのコア数 | 4 | 4 | 8 | 8 |
最大ターボ周波数 | 4.35GHz | 4.7GHz | 4.9GHz | 5.7GHz |
従来世代からのIPC向上率 | 52% | 15% | 19% | 13% |
L1キャッシュ(命令/データ) | 64KB/32KB | 32KB/32KB | 32KB/32KB | 32KB/32KB |
L2キャッシュ(CPUコアあたり) | 512KB | 512KB | 512KB | 1MB |
最大L3キャッシュ(コンプレックスあたり) | 8MB | 16MB | 32MB | 32MB |
最大L3キャッシュ(ソケット全体) | 16MB | 32MB | 64MB | 64MB |
メモリ | DDR4-2666 | DDR4-3200 | DDR4-3200 | DDR5-5200 |
命令セット対応 | AVX-256(128bレジスタ) | AVX-256 | AVX-256 | AVX-512(256bレジスタ) |
ソケット | Socket AM4 | Socket AM4 | Socket AM4 | Socket AM5 |
後に1000シリーズというシリーズ名(モデルナンバーが千番台のため)で呼ばれることになる初代Ryzenは、GlobalFoundriesの14nmプロセスルールで製造され、それ以前のAMDのアーキテクチャであるExcavatorに比較して、IPCが52%改善されており、CPUアーキテクチャをゼロから設計しなおした効果が出た製品となった(なお、ZenアーキテクチャのCPUにはサーバー用やノートPC用などもあるが、以下デスクトップPC向けに限定する)。
AMDはその初代Zenでの大成功をベースに徐々に改良を加えていき、2019年にはZen 2(Ryzen 3000シリーズ)、2020年にはZen 3(Ryzen 5000シリーズ)とマイクロアーキテクチャやパッケージング技術を進化させてきた。
特にAMDにとってZenに次ぐ大きな技術的なジャンプになったのがZen 2世代で導入された「チップレット」というパッケージング技術だ。チップレットは簡単に言えば、パッケージの上に複数のダイを混載して実装する技術。初代Zen世代までCPUに統合されていたメモリコントローラとI/O(PCI ExpressやUSBなど)を分離して、CPUとI/Oをそれぞれ別チップとして1パッケージに封入されるようになった。このチップレット技術は、初代Zenではサーバー向けのEPYCだけで利用されていたが、そのメリット(小さなダイに分割して製造できるので、歩留まりは向上し、製造コストが下落する)という点が評価されてクライアントPC向けのRyzenでも利用されるようになったのだ。
Zen 3世代ではCPUダイの構造が改善され、L3キャッシュの利用効率が高められている。それらの改良により、Zen 2と比較して約19%のIPC改善が実現され、パフォーマンスが向上する製品となった。
そうした初代Zen、Zen 2、Zen 3の成功の上にリリースされたのが今回のZen 4アーキテクチャベースの製品「Ryzen 7000シリーズ」となる。
前世代と比較してIPCが13%向上しているZen 4、その最大の理由はフロントエンドの改善
Zen 4に基づいたRyzen 7000の特徴は大きくいって5つある。1つ目はZen 4になったことでマイクロアーキテクチャが改良されていること、2つ目はAVX-512命令への対応、3つ目はチップレットの特徴と言えるIODが6nmプロセスルールで製造されるようになりGPUを新たに内蔵したこと、4つ目がSocket AM5という新しいCPUソケットを採用したこと、そして最後に熱設計および供給電力の拡張だ。
CPUコアのデザインとなるZen 4マイクロアーキテクチャの特徴は、大きく言うとZen 3での成功を元に改良したCPUのデザインとなる。
Zen 4ではフロントエンドと呼ばれる命令のデコードや分岐予測を行なう部分、命令を実行する実行エンジン、ロードストアなどを呼ばれるCPUに内蔵されているキャッシュやメモリにデータを読み書きする部分がそれぞれ改良されている。
x86プロセッサでは、x86命令を読み込んできて、それをデコード(解読)し、CPU内部の演算器で実行できる内部命令に変換する仕組みをもっており、それをフロントエンドと呼んでいる。
Zen 4のフロントエンドでは分岐予測ユニット、デコードされた内部命令を一時的に保存しておくOpキャッシュが強化されている。CPUに読み込まれたx86命令はデコーダを利用して内部命令に変換され、実行エンジンに渡されて実行していく。この時に、デコードされた内部命令を一時的に保存しておくのがOpキャッシュで、Opキャッシュがヒットすれば複雑なx86命令をデコードする必要なく命令が実行できるため、CPUの実行効率が大きく向上する。
AMDによればこのOpキャッシュは、4K命令から6.75K命令へと、前世代と比較してキャッシュできる命令が68%増え、さらにOpキャッシュからの読み込みは1クロックサイクルあたり9内部命令になった(Zen 3では1クロックサイクルあたり8内部命令)。
分岐予測の強化も大きな強化点だ。分岐予測を行なう時にメモリの予測アドレスを格納しているL1 BTB(Branch Target Buffer)が50%容量増(2x1kから2x1.5kに)、L2 BTB(2x6.5kから2x7kに)も容量が増やされている。こうしたフロントエンドの改良が、Zen 4におけるIPC向上要因の約3分の1を占めているとAMDでは説明している。
内部命令を実行するための実行エンジンも強化されている。最も大きな強化点はレジスタファイル(演算器が処理するデータを一時的に置いておくメモリ領域のこと)の容量が増やされている(具体的には整数のそれが192から224に、浮動小数点のそれが160から192に増加)。また、命令リタイアキューの容量が25%増加されている。ただ、基本的な構造はZen 3世代と同じで1クロックあたり、10つの整数演算の処理、6つの浮動小数点演算処理ができる点などは同様になっている。
ロード/スコア関連も強化されておりロードキューが25%増量、データキャッシュポートの衝突削減、L2 DTLBが50%増量など強化されている。さらに、その先にあるキャッシュも強化されており、Zen 4ではL2キャッシュがCPUコア1つあたりに1MBとなっており、従来世代の512KBから2倍になっている。これらの強化によりメモリレイテンシが大きく削減されており、CPU全体の性能向上につながっている。
こうした改良により、同じクロック周波数でシングルスレッド時の性能を比較した場合の性能向上率を示すIPCは従来世代に比べて13%向上している。Zen 2世代での15%、Zen 3での19%に比べると小さな進化に見えるが、そもそも初代Zenで52%の大きなジャンプの後、15%、19%と進化してきての13%だから十分な性能向上率だと考えることができる。
256bitで内部的に処理されるZen 4のAVX-512命令対応、スループットは同等だが命令の実行効率は改善
Zen 4では、新しくSIMD型演算用拡張命令セット「AVX-512」に対応している。IntelのCPUではSkylake世代以降にアーキテクチャ的に実装されているAVX-512だが(そして最新のAlder Lake世代では未対応)、今回AMDのCPUとしては初めてAVX-512の実装が行なわれたことになる。
なお、IntelとAMDはx86命令、およびその拡張命令セットに関してのクロスライセンス契約を結んでおり、AMDはx86命令およびその拡張(元々16bitだったx86命令の32bit命令、そしてMMXやSSE、AVXといった拡張命令)を製品に実装して利用する権利がある(このライセンスを正式に与えられているのはAMDだけだ)。
AMDでCPUデザインを担当する副社長 マイク・クラーク氏は「今回のAVX-512実装は、SIMDレジスタが512bitになったと同義ではない。内部的には256bitのSIMDレジスタのままで、AVX-512実装を行なっている。従ってスループットはAVX-256の時と大きな違いはないが、命令の読み込み回数を減らし、コントロールのオーバヘッドが削減され、AVX-256で実装する場合に比べて効率が改善する」と説明した。つまりAVX-256で演算する場合とスループットは大きくは変わらない(AMDはほぼ同等と説明している)のだ。しかし、クラーク氏のいう通り、命令のデコードなどは一度で済むため、実行効率は改善される、それがZen 4におけるAVX-512実装となる。
このことはクライアントPCではあまり弱点にはならないだろう。そもそもクライアントPC向けではAVX-512に対応したアプリがあまり多くないし、IntelもAlder Lake世代(第12世代Core)ではEコア側の制限から、Pコア側のAVX-512対応は無効にされ、AVX-256までの対応になっている。しかし、今後登場するデータセンター向けのEPYCでは別の話になる可能性が高い。そこは次の世代で解決すべき課題となるだろう。
ただ、今回のZen 4のAVX-512命令は、いくつか拡張されているAVX-512のうち、主にIce Lake世代で拡張されたFP32などをINT8に置きかえて推論するVNNI(AVX512_VNNI)やBflot16(AVX512_BF16)などの、主にマシンラーニング/ディープラーニングの推論時の演算性能を引き上げる拡張命令セットがサポートされている。
AMDによれば、VNNIを利用するとRyzen 5000シリーズ(Zen 3)に比較して2.47倍推論性能が向上すると説明しており、このことはZen 4がEPYCに採用されたときに、AI推論アプリケーションにおけるディスアドバンテージを解消する武器になるだろう。
6nmへと微細化されたIODには、RDNA 2 GPUを内蔵、ただしCUは2つのみ
既に述べたとおり、AMDは初代のZenこそCPU、メモリコントローラ、I/Oコントローラなどをすべて1チップに統合したモノリシックなダイを製造し、それをパッケージに封入して提供してきた。しかし、第2世代のZen 2からはAMDが「チップレット」と呼んでいる新しいパッケージ技術を導入し、Zen 3ではそれを改良している。
AMDのCPUの構造は、CCX(Core CompleX)、CCD(Core Complex Die)の順に成り立っている。CCXはCPUコアが1つのまとまり(クラスター)になっているもので、CCDはそのCCXから構成されるCPUダイ(チップ)のことを意味している。
初代Zenでは、CPUコア4つで1つのCCXが構成されており、CCXが2つでCCDが構成されており、そこにメモリコントローラとI/Oコントローラ(PCIeやUSBなど)が統合されて1つのCCDが構成されており、パッケージ内にはCCDが1つという構造だった。
しかし、Zen 2ではチップレットが採用され、パッケージ内にCCDが2つとIOD(I/O Die)が1つ構成される形に変更されたCPUコア4つで1つのCCXが構成され、CCXが2つで1つのCCDが構成されることは初代Zen同じだが、メモリコントローラとI/OはIODに分離される形になっている。Zen 3では2CCD+1IODという構成はZen 2と同じだが、CCDが2xCCX(4コア)から1xCCX(8コア)に進化している点が強化点となる(図1を参照)。
こうしたチップレットを採用するメリットは、シンプルに言えば製造の柔軟性とコスト削減だ。大きなダイサイズのチップ1つを作るよりも、同じダイ面積であっても複数の分割したチップを2つないしは3つ作る方が、歩留まりが向上し、製造コストは大きく下落するからだ。
そしてCPUコア数を増やすという観点でも大きな効果がある。チップレットを採用する前のモノリシックなダイだった時は最大で8コアのCPUまでしか提供できていなかったが、Zen 2以降は最大16コアの製品を提供できるようになったのはそのためで、このことは同時期のIntelが最大10コア(Comet Lake世代)であったことに比べて、AMDが性能面でIntelを上回る大きな原動力となったことは筆者が繰り返すまでもないだろう。
Zen 4世代ではCCD=CCXで、CCDが2つ、IODが1つという構造はZen 3と同じだが、IODが大きく進化している。
1つはプロセスノードの微細化だ。従来のZen 3までのIODは14nmで製造されており、CPUに比べると2世代も前のプロセスノードで製造されていた。それに対してZen 4のIODは6nm(実際には7nmの改良版)と、1世代前まではCPUの製造に利用されていたプロセスノードで製造されている。それにより、ダイサイズ(Zen 3のIODは125平方mm、Zen 4のIODは122平方mm)に大きな変化はなくても、トランジスタ数(Zen 3のIODは20億9千万、Zen 4のIODは34億)が増えているので、それを機能強化に回すことができるようになっている。
具体的にはZen 4のIODの大きな強化点はGPUが内蔵されていることだ。従来のRyzenは、デスクトップPC用のダイとは別に、CPU+GPUという別のモノリシックなダイを設計し、それをデスクトップPC用統合型GPU版とノートPC版として提供してきた。しかし、Zen 4世代からはその必要がなくなり、すべてのデスクトップPC用CPUにはGPUが内蔵されているようになった。これにより、Zen 4世代からはすべてのデスクトップPC用CPUは内蔵GPUありとなる。
なお、IODに内蔵されているGPUは、RDNA 2アーキテクチャ、つまりRadeon RX 6000シリーズに採用されているNavi GPUそのものだ。ただし、フルスペックのNavi2というわけではなく、最もローエンドな仕様になっており、CU(Compute Unit)は2つしかない形。同じNavi2世代のGPUを内蔵しているノートPC向けのRyzen 6000シリーズの12CUと比較してもかなり少ないCU数だと言える。
このため、デスクトップPC向けのIODに内蔵されているGPUは文字通り「映ればいい」という程度の性能だと想定され、ビジネス用途であればこれでも十分な性能を持つだろうが、3Dゲームなどでは外付GPUを挿して利用する必要があるだろう(12CUのRyzen 6000はIntelのXe-LPと同程度の性能なので、2CUの性能は推して知るべしだろう)。
なお、このIODに内蔵されているGPUは、演算ユニット数こそ十分ではないが、ハードウェア・レイトレーシング、AVデコードエンジンなどフル機能を備えており、ディスプレイ出力もHDMI 2.1、DisplayPort 2.0に対応するなどしており、Navi 2のフル機能を備えている。ただし、備えているハードウェア・レイトレーシングのエンジン数などは非常に少なく、ゲームで実用になるとは考えられないだろう。ゲームをやるには、やはり外付GPUが必要なのは言うまでもない。
このIODがサポートしているI/OはPCI Express Gen 5が28レーンで、うち16レーンは外付GPU用に、8レーンは外付GPUないしは2x4としてNVMe用(Zen 3まではCPU側のNVMe用PCIeは1x4だったので増えている)に、残りの4レーンはPCI Express Gen 4にデグレードされてチップセットとの接続に利用される。USBはUSB 3.2(10Gbps)が4レーンでUSB Type-Cに3レーン、USB Standard-A(いわゆるUSB Type-A)に1レーンとなっている。また互換性維持のため、USB 2.0ポートも1レーン確保されている。
この中にノートPC向け(Ryzen 6000シリーズ)では既にサポートされているUSB4(40Gbps)は搭載されていないが、これはノートPCであればドッキングステーションなどでUSB4(ないしはThunderbolt 3/4)が必要になるが、デスクトップPCではそのニーズがあまりないからUSB4コントローラは落としたとAMDは説明した。
DDR5に対応した新しいSocket AM5が導入され、OCメモリのEXPOが投入される
今回のRyzen 7000シリーズの発表に合わせて、AMDはSocket AM5を導入する。AMDは2016年にExcavator(Zenより前のAMDのCPUアーキテクチャ)ベースの製品向けにSocket AM4を導入し、その後初代Zen、Zen 2、Zen 3と使ってきた。また、Socket AM4では導入時からDDR4メモリに対応してきており、徐々にそのスピードを上げ、最終的にDDR4-3200というDDR4のJEDECスペックでは最上位のスペックに進化してきた。
Socket AM4 | Socket AM5 | |
---|---|---|
パッケージタイプ | μPGA | LGA |
パッケージサイズ | 40x40mm | 40x40mm |
ピン数 | 1331 | 1718 |
メモリ | DDR4 | DDR5 |
PCIeレーン数 | 24(1x16、ストレージ1x4、CS用1x4) | 28(1x16、ストレージ2x4、CS用1x4) |
ディスプレイインターフェイス | 専用×3 | 専用x1、USB Type-C(ハイブリッドグラフィックス対応)x3 |
USB対応 | USB 3.2(Type-A)x4 | USB 3.2(Type-C)x3、USB 3.2(Type-A)×1、USB 2.0x1 |
I2C/I3C/SMBus | I2C/SMBus x2 | I2C/I3C/SMBus x2、I2C/I3C x2 |
オーディオ機能 | HDオーディオ | HDオーディオ/Soundwire/DMIC |
SPI/eSPI | SPI/eSPI x1 | SPI/eSPI x2 |
プラットフォーム電力制御 | SVI2 | SVI3 |
マックスソケットパワー | 142W | 230W |
TjMAX | 95℃ | 95℃ |
典型動作温度 | 70-90℃ | 70-90℃ |
ソケット電圧レンジ | 0.800~1.55V | 0.650~1.475V |
新しいSocket AM5の特徴は複数ある。最大の特徴は、従来のCPU側にピンがあるμPGAのソケットからマザーボード側にピンのあるLGA(Land Grid Array)に変更されていることだ。これにより、CPUがマザーボード側にがっちりと固定されるため、CPUを外すときにCPUがクーラーに固着してしまい一緒に引き抜かれるというトラブルを防ぐことができる。ただ、逆にマザーボード側にピンがくることになるので、CPUの脱着時にはマザーボード側のピンを破損しないように細心の注意が必要になる。
また、メモリはDDR5のみに対応する。現状はJEDECスペックのDDR5-5200までに対応しているが、Socket AM4もそうだったように、将来DDR5のデータレートが上がっても大丈夫なようにソケットの設計はされており、今後徐々に向上していくDDR5に合わせて進化する見通しだ。
ただし、対応するのはDDR5のみで、DDR4には対応しない。現状では容量あたりの単価ではDDR4の方が低く、性能を重視すればDDR5だが、コスト重視ではDDR4という状況になっている。この状況を反映して、IntelのIntel 600シリーズ・チップセットなどではDDR4とDDR5の両対応となっているが、Socket AM5ではDDR5のみに対応することになるため、コスト重視のユーザーにとっては悪いニュースと言える。
ただ、この点は短期的には弱点になるが、それもDDR4とDDR5の容量あたりの価格が逆転するまでの話で、来年(2023年)の前半にはそれを迎える見通しだとAMDは説明している。
また、このSocket AM5に向けにはEXPO Technology(以下EXPO)と呼ばれるオーバークロックメモリが導入される。EXPOは、簡単に言ってしまえばAMD版のXMPメモリ(Intelが規定しているオーバークロックメモリモジュールの仕様)で、DIMMのプロファイル(マザーボードが読み込んでメモリの設定に利用するパラメーターのこと)にJEDECスペックのノーマル設定とオーバークロック設定を用意して、ユーザーが難しいことを考えなくても、簡単にオーバークロックできるようにする。
ただし、EXPOで実現されているのはプロファイルで設定されているメモリ設定を、BIOSで選ぶことができるという機能だけで、IntelのXMP 3.0でサポートされているようなOSが動作している状態から動的にプロファイルを切り替える機能には対応していない。
なお、Socket AM5マザーボード向けにXMPメモリを利用できるようにする仕組みは、AMDからはXMPのスペックを実装する仕組みは提供されないし保証もしないとのことだが、マザーボードメーカーが独自にXMP互換にするということは妨げないとAMDでは説明している(その逆も妨げないということだそうだ)。EXPOメモリはADATA、Corsair、GeIL、G.Skill、Kingstoneからリリースされる見通しで、製品によって違うが6,000~6,400MHzあたりをオーバークロックのターゲットとして出荷される。
また、よりオーバークロックしやすいように、ファブリック、メモリコントローラとメモリクロックの比率のロックは解除される。従来のRyzen 5000シリーズではその比率が1:1:1になっていたが、ファブリックの倍率は解除されファブリックのクロックは自動設定になり、メモリコントローラとメモリクロックの比率は1:1になる。それによりDDR5-6000などにオーバークロックしやすくなるとAMDでは説明している。
チップセットは既報の通りで、X670E、X670、B650E、B650の4つがリリースされる。X670EとX670がリリースと同時に、B650EとB650は10月に追加される。
新しい電源回路の設計が提供され、新しい熱設計枠の導入が行なわれる、ソケットあたり最大230Wへ
Socket AM5では新しい電源回路の仕様であるSVI3(Serial VID Interface 3.0)が導入される。Socket AM4ではSVI2が導入され、その仕様に基づいて供給電力などが規定されてきた。
65W TDP | 105W TDP | 170W TDP | |
---|---|---|---|
最大ソケットパワー | 88W | 142W | 230W |
ピーク電流(EDC) | 150A | 170A | 225A |
継続電流(TDC) | 75A | 110A | 160A |
TjMAX | 95℃ | 95℃ | 95℃ |
典型動作温度 | 70~90℃ | 70~90℃ | 70~90℃ |
電圧レンジ | 0.650~1.475V | 0.650~1.475V | 0.650~1.475V |
SVI3ではSVI2に比較して電源回路の仕様などが見直されており、最大で230WまでCPUに供給することが可能になっている。また、電源回路とCPUが双方向の通信ができるようになっており、安定した電圧設定、電力供給などが可能になっている。さらに新しい電力ステートを定義することで、無駄な電力を削減することが可能になっている。
こうした新しいSocket AM5の電源回路に合わせて、Ryzen 7000では、TDP(IntelでいうところのPL1、プロセッサベースパワー)が170W、マックスソケットパワー(IntelでいうところのPL2、マックスターボパワー)が230Wという熱設計の枠が新たに設定されている。
ただし、これは仕様上の最大設定で、ほかにも従来製品でもサポートされてきたTDP 105W/最大ソケットパワー142W、TD P65W/最大ソケットパワー88Wという設定ポイントが用意されており、170W/230Wなど上位の設定に対応しているSKUであれば、105W/142Wないしは65W/88Wなどの下位の設定にして利用することも可能だとAMDは説明している。
このTDPが170W、最大ソケットパワーが230Wに設定されたことで、5.7GHzなどのより高いターボ時周波数が利用可能になったと考えられ、それが性能向上に大きく寄与している。その反面、消費電力そのものは上がることは否定できないが、そのあたりはトレードオフだろう。
このように、Ryzen 7000シリーズでは、改良されたマイクロアーキテクチャ、新しい拡張命令セットへの対応、新しいIODの採用、新しいCPUソケットの導入、そして供給電力枠の拡大といった特徴を備えており、前世代に比較して大きく性能が向上していることが特徴と言える。この秋に新しいデスクトップPCへの更新を考えているなら、Ryzen 7000は要チェックの製品になるだろう。