RyzenのブーストクロックをOSに直接見せる、AMDの新提案

RyzenのブーストクロックをOSに直接見せる、AMDの新提案

AMDがRyzenの最大ブースト周波数を、OSに直接読み取らせる仕組みを準備している。これまでOSは性能値からの線形補間で推測していたが、ファームウェアが実値を返せば、推測の誤差そのものが消える。ただし規格化はこれからで、Windows対応は未定だ。


OSがブーストクロックを「推測」していた、これまでの構造

AMDのLinuxエンジニア、マリオ・リモンチェッロ(Mario Limonciello)が5月4日にLinuxカーネルメーリングリストへ投稿した5本のパッチシリーズで、その存在が明らかになったとwccftechが伝えている。新しい仕組みは「HighestFreq」と呼ばれるCPPCのレジスタで、コアごとの最大ブースト周波数をファームウェアからOSへ直接渡す。

CPPC(Collaborative Processor Performance Control、協調的プロセッサ性能制御)は、ファームウェアとOSがCPUの性能制御について情報をやり取りする仕組みだ。RyzenとEPYCはこれを使って、OSに「どのコアが速いか」「どの順番で使うべきか」を伝えている。Windows 11もLinuxも、この情報をスケジューラの判断材料にしてきた。

問題は、CPPCが渡してきたのが抽象的な性能値だったことだ。OSはその値を補間して「だいたいこの周波数だろう」と推測する。コアごとの性能と周波数の対応が直線的なら、それで足りる。

CPPC(Collaborative Processor Performance Control)は、Ryzenが採用するファームウェアとOSの協調制御フレームワーク。ファームウェアがコアごとの性能特性をOSへ伝え、OSはそれをもとにスケジューリングと周波数制御を行う。Windowsの「優先コア」もLinuxの「amd-pstate」ドライバも、この仕組みの上に立っている。

線形補間が崩れる場面

ところが、最近のRyzenでは話が違う。すべてのコアで性能と周波数が直線的に並ばない設計になっており、補間で出した数字が実際のブースト挙動とずれる。リモンチェッロはパッチシリーズの説明で、「いくつかのシステムでは、CPPCの性能値の線形補間ではブースト比を正確に計算できない。性能と周波数の対応が、すべてのコアで線形ではないからだ」と書いている。

つまり、OSは見えていないものを推測で埋めていた。多くのワークロードでは推測でも実害は出ないが、シングルスレッドのピーク性能を取りに行く場面や、瞬間的なバースト処理では、最も速いコアに仕事が乗らないことがある。

OSがブースト周波数を知る2つの経路
これまで
補間方式
ファームウェアが
抽象的な性能値を出力
OSが線形補間で
周波数を割り出す
推測値
(コア間で誤差)
HighestFreq
実値方式
ファームウェアが
最大周波数の実値を保持
OSが
レジスタを直接読み取り
実値
(補間不要)
※ AMD Linuxエンジニアによるカーネルパッチシリーズ「Add CPPC HighestFreq support」(lore.kernel.org) を基に整理。

HighestFreqが変えるのは「OSの判断材料」

HighestFreqは、この推測の余地を消す。ファームウェアが各コアの実際の最大周波数を保持し、OSがそれを直接読み取る。補間は要らない。スケジューラが扱うデータの精度が上がるだけで、CPUそのものが速くなるわけではない。

それでも意味は大きい。スケジューラがコアの能力を正確に把握できれば、ゲームのようにシングルスレッド性能が効くワークロードでは、最も速いコアにタスクが乗りやすくなる。AMDがすでに展開している「優先コア(preferred cores)」の仕組みと組み合わさり、割り当て精度が上がる。

CPPCのHighestFreqレジスタは、コアごとの周波数特性が線形でないシステムで、ブースト比の計算精度を上げるためのものだ。ファームウェアが値を返せれば、OSはCPU容量計算とブースト比の判定に、補間ではなく実値を使える。

ただし、ここで温度感を間違えないほうがいい。これは未来のRyzenが勝手に高クロックで回るという話ではない。ユーザー向けの新しいパフォーマンスモードでもない。スケジューラの判断が今より少し賢くなる、というレイヤーの話だ。日常的に違いを体感できるかは、ワークロード次第だろう。


規格化はこれから、Windows対応は未定

ここが、この話の最大の留保点だ。HighestFreqレジスタは、まだACPI仕様の正式な一部ではない。リモンチェッロのパッチには「このレジスタはACPI Specification Working Group(ASWG)で提案中で、ACPI 6.7への採用が見込まれている」と書かれている。AMDはACPIに正式採用される前に、Linuxカーネル側の受け皿を先行で用意している、という段階だ。

パッチは現状、Linuxを対象としている。Windows 11が同じ仕組みを使えるようになるかは、ACPI 6.7にHighestFreqが入り、なおかつMicrosoftが対応を実装するかどうかにかかっている。Microsoftは未発表だ。

Linuxが先に動いているのは、開発が公開の場で行われるためだ。カーネルメーリングリストには、提案段階のレジスタも、それを取り込むドライバの差分も、すべてが流れる。Windowsのスケジューラ側の動きが見えるのは、もっと後になる。

CPPC HighestFreqの対応進捗
領域 提案・準備 実装着手 正式リリース
ACPI仕様
(6.7)
提案中
未定
未定
Linuxカーネル
完了
パッチ投稿
未マージ
Windows 11
未発表
未発表
未発表
※ 2026年5月10日時点。ACPI 6.7はASWG(ACPI Specification Working Group)で審議中。

Zen 6への布石、と読むのが自然

AMDがCPPCに新しいレジスタを足す動きは、これが初めてではない。少し前には、将来のZen 6アーキテクチャを見据えた「performance priority(性能優先度)」と呼ばれるCPPCの拡張機能が、カーネルへの導入準備に入っている。HighestFreqも、その流れの一部と考えるのが自然だ。

現行のZen 5世代であるRyzen 9000シリーズでも仕組み上は使えるが、効果がはっきり見えるのは、コアごとの周波数特性がさらに非対称になる将来世代だろう。AMDがACPIの規格化と並行して動いているのは、Zen 6が出る頃にはOS側の準備を間に合わせたい、という意図の現れに見える。

派手な性能向上ではない。ファームウェアとOSの間にあった小さなずれを一つ埋める、地味な配管工事だ。こうした作業の積み重ねが、最終的にスケジューラの賢さを支えていく。


参照元

関連記事

この記事を共有する