Tech-Solve-MyDatabase

AMD Ryzen 9000 (Zen 5) コアパーキング無効化と性能改善手法を実機で検証して詰まったポイントまとめ

当ブログはWeb広告を導入しています(景表法による表示)
◎ 10秒解説
  • 上位モデル(9950X等)での2つのCCD間通信による遅延を防ぐ、最新ドライバでのコアパーキング最適化
  • Windowsゲームモードと連携し、重いスレッドを片方のCCDへ集中させてFPSを稼ぐスケジューリング術
  • チップセットドライバ 6.07.22.037以降と最新AGESA BIOSによる、Zen 5の性能引き出しの鉄則

Zen 5 アーキテクチャにおけるコア割り当ての課題について

AMDの最新デスクトップCPU Ryzen 9000 (Zen 5) シリーズにおいて、発売当初、特にマルチコア搭載の上位モデル(16コアの 9950X や 12コアの 9900X といったデュアルCCD構成のモデル)において、コアパーキング(Core Parking:コアを一時的に休ませる機能) の挙動がOS側で異常を起こし、期待されたゲーム性能が出ないという事象が多数報告されていました。このスケジューリング問題が最新のチップセットドライバで抜本的に改善されたという報告を受け、そのアーキテクチャの仕様とパフォーマンスを最大限に引き出す設定を実機で検証してこの記事に整理しました。

なぜこの問題が発生する(していた)のか?(実機検証の整理)

ハードウェアの仕様を紐解くと、Ryzenのウルトラハイエンドである高マルチコアモデルは、一つのCPUパッケージの中に CCD (Core Complex Die:コアの集まりのシリコンチップ) を2つ(物理的に分かれて)並べて搭載するというチップレット設計を採用しています。ゲームプログラム等においてフレームレートの性能を最大化させるには、無駄な処理を減らすため、「片方(メイン)のCCD内の全コアに優先的に重いスレッドを詰め込んで使い、もう片方(サブ)のCCDは物理的に休止(パーキング・スリープ)させる」という厳格な制御が極めて重要になります。

しかし 9000 シリーズの発売初期は、Windows側の標準の電力管理プラン(スケジューラ)との連携(競合)がうまくいかず、せっかくの重いゲームプロセスが2つのCCDにまたがって16コア全体へと無秩序に分散割り当てされてしまう事態が発生しました。その結果、離れた別々のCCD間で頻繁にデータ通信(ブリッジ通信)を行う羽目になり多大なレイテンシ(遅延)が発生し、本来のFPSが発揮できないという不具合になって現れていました。 その後、修正対応版である AMD Chipset Driver 6.07.22.037 以降のドライバパッケージにおいて、このコアをどう休ませるかというスケジューリングロジック(Game Modeの検知能力等)が大幅に最適化(修正)されたと判明しました。

[実機で確認した、Zen 5 コアターゲット制御の変遷]

  • 最適化前 (発売初期): 重いタスクが全16コア(2つのCCD)にランダムに分散 -> CCD間の通信が発生し描画レイテンシが悪化
  • 最適化後 (最新ドライバ): アプリが Game Mode起動であることをOS検知 -> 高速なメインのCCD 0側へ優先的にスレッドを集中させ、CCD 1を休止 (Targeted Parking) -> 遅延が大幅低減しFPS向上

裏取りに使った一次資料:

🗜️ 互換性・テクニカルデータシート(仕様まとめ)

検証環境 / コンポーネント ステータス / 推奨設定 エンジニアとしての所感
推奨ドライババージョン 6.07.22.037 以降の最新版 ZEN 5 向けに分岐予測やパーキング制御の最適化パッチ(PPM等)が完全に含まれた決定版です。
重要コンポーネント AMD PPM Provisioning Driver OSに対し、どのコアを起こしどのコアを休ませるか指示を出す「コアパーキングの司令塔」モジュールです。
必須BIOSアップデート AGESA 1.2.0.1 以降を含む版 マザーボード側でのブーストクロックの安定化と熱によるスロットリング制御の基盤となるため必須です。
対象となるCPU Ryzen 9 9950X / 9900X 問題の主な対象は、パッケージ内に2つのCCDを物理的に持つ上位エンスージアストモデルです。

自分が実際に踏んだ解決ステップ

Ryzen 9000 シリーズ(特に9950X等)を組んだばかりで、何だかベンチマークスコアやゲームのFPSが前世代より低い、あるいはカクつくといった場合、以下のソフト的な修正アプローチを徹底することが推奨されています。

  1. 最新チップセットドライバのインストール: まずはマザーボードメーカーのページではなく、AMDの公式サポートサイトから直接、最新の Chipset Driver パッケージ (6.07.22.037以降) をダウンロードしてインストールします。カスタムインストール画面で「AMD PPM Provisioning Driver」に必ずチェックが入っていることを確認してください。
  2. Windows側の「ゲームモード」強制有効化: OSの設定画面(ゲーミング > ゲームモード)からWindowsネイティブの 「ゲームモード」をON に設定し直します。これにより、Windows内の『Xbox Game Bar』がゲームプロセスの起動をバックグラウンドで検知し、AMD側のドライバへと「ゲームが始まったからCCDを片方パーキングさせろ」という指示(誘発信号)を的確に送れるようになります。
  3. BIOS (UEFI) の更新確認: マザーボードのBIOSを、最新の AGESA 1.2.0.x 以降のバージョンへとフラッシュ(更新)します。Zen 5アーキテクチャの微細な電力管理カーブ (C-State等) および熱管理の挙動が、これに合わせて水面下でごっそり最適化されます。
  4. (オプション)手動でのゲーム指定: 全てを更新しても、なお特定のマイナーなPCゲームタイトル等で効果が出ない(カクつく)場合は、ゲーム起動中に Xbox Game Bar (Winキー + Gキー) の設定メニューを呼び出し、「これをゲームとして記憶する(Remember this is a game)」のチェックボックスを手動でONにして、OS側に強制的にゲームとして認識させるというハックが有効なケースがあるようです。

私が手元で確認したこと

ここで書いた手順は、自分の作業ログをベースに整理した記録です。途中で詰まった箇所・遠回りした箇所・想定と違った挙動も、後から同じ場面に遭遇した自分が読み返せるよう、できるだけ生のままメモしています。環境差で再現しないケースもあるため、ベンダー公式情報と本記事を見比べて取捨選択していただくのが一番確実です。

検証中に出た疑問と回答(FAQ)

Q: エントリー/ミドルクラスのシングルCCD構成である 9700X や 9600X でも、このコアパーキング問題の修正ドライバを入れる効果や意味はありますか?

A: コアパーキングという観点においては関係ありません。これらのモデルは元々シリコン上にCCDが物理的に1つしか存在しないため、一番の問題であった「CCDを跨ぐ際の通信レイテンシの悪化」という現象はハードウェア構造上、元から発生し得ないからです。しかし、最新のチップセットドライバパッケージ全体には、システム全体のWindowsに対する分岐予測の最適化やPBO(Precision Boost Overdrive)の電力制限の最適化といった重要パッチも同梱されているため、結果的に導入することは安定稼働のために強く推奨されています。

Q: ここに書いてある手順で最新ドライバや設定を入れたのに、タスクマネージャー等を見てもサブコア側が休止(Parked/スリープ)になってくれません。

A: もしバックグラウンド(マルチモニタ環境等)でChrome等の重いブラウザで大量のタブを開いていたり、OBSやDiscord等の動画配信・通話アプリが通信しながら裏で動いている状態である場合、Windowsのスケジューラは気を利かせて「裏の処理は重要だ」と判断し、強制的に使っていないサブのCCD(コア)の目を覚まさせてアクティブなステータスに保出し続ける仕様になっています。コアが正しくパーキングされるかどうか検証したい場合は、裏の常駐アプリをすべて停止・終了した「純粋にゲーム(ベンチマーク)のウィンドウ1つしか動いていない」クリーンな状態でリソースモニター等の数値を監視・確認してみてください。

AMD Ryzen 9000 対応 X870E マザーボード
AMD Ryzen 9000 対応 X870E マザーボード
16 コア 32 スレッドを誇る Zen 5 アーキテクチャのフラッグシップ CPU です。最新のチップセットドライバと AGESA BIOS を組み合わせることで、課題だった CCD 間のスケジューリングとコアパーキングの挙動が最適化され、ゲームからクリエイティブまで圧倒的なパフォーマンスを発揮。ワットパフォーマンスの向上と次世代の分岐予測エンジンの恩恵をフルに享受したい自作ユーザー最高の選択肢です。