AMDがLinuxカーネル向けに、CPUのブーストクロックをOSが正確に把握できるようにする新しいCPPC機能「HighestFreq」を提案していることが明らかになりました。将来的にWindows 11にも展開される見通しです。
AMDがCPPCに「HighestFreq」レジスタを追加。OSがブーストクロックを正確に把握可能に
CPPC(Collaborative Processor Performance Control)はOSがCPUの「優先コア」を判断するための仕組みで、Windows 11/10とLinuxの両方でAMDのRyzenシリーズに活用されています。これまでにも複数の機能拡張が行われており、直近ではZen 6で導入予定の「Performance Priority」機能が明らかになっていました。
補間による推定からファームウェアによる直接通知へ
Linuxカーネルメーリングリスト(LKML)に投稿された最新のパッチシリーズによると、AMDが新たに提案している「HighestFreq」レジスタは、CPPCの値とCPUの実クロックの関係が全コアで線形ではないという問題に対処するためのものです。現状、Linuxカーネルは補間によって最大ブーストクロックを推定しているものの、コアごとの個体差により正確な値が得られないケースがあるとのことです。
新たに追加されるHighestFreqレジスタを用いることで、ファームウェアが最大到達可能クロックをOSへ直接通知できるようになります。これにより、OSはブーストクロックを推定する必要がなくなり、CPU容量計算やブースト比率の判定が正確になる見込みです。これらはAMD P-Stateドライバによるタスクスケジューリングや周波数制御に直接影響する要素となっています。
なお、ブーストクロックに関する問題は現行のRyzen 9000シリーズではWindows 11上でブーストクロックがスペック通りに伸び切らないケースが指摘されてきましたが、HighestFreqレジスタが実装されればこうした個体差由来の挙動の改善が期待できそうです。
ACPI 6.7での正式定義を視野に。Windowsへの展開も予定
今回の変更はACPI仕様の次期バージョンとなる6.7での正式定義を見据えたもので、現在はACPI仕様策定ワーキンググループ(ASWG)の審査段階にあります。これに先立ち、Linuxカーネル側でもCPCオブジェクトから値を読み取るためのサポートコードが準備されています。ACPI 6.7で正式に定義されれば、LinuxだけでなくWindowsにもこの機能が展開される見通しです。Windows 11ではこれまでもCPPC関連の最適化がZen世代の登場後に後追いで実装される傾向がありましたが、今回はLinux側で先行して仕様策定が進んでいることから、Zen 6投入時には両OSで同時期に対応が間に合う可能性が高いと考えられます。
ACPI 6.7はZen 6世代の登場時期と重なる見通しで、AMDが導入予定の「Performance Priority」と合わせてZen 6の真価を引き出すための布石が、OS側にも整いつつあるといえそうです。

