AMD、Zen 4のループバッファを無効化する判断
(chipsandcheese.com)AMDがZen 4のループバッファを無効化
-
ループバッファの役割: CPUのフロントエンドに配置され、以前にフェッチした命令を保存する。小さなループはループバッファに収めることができ、これによりフロントエンドの一部段階を無効化して電力を節約し、性能を向上させられる。Intel、Arm、AMDのコアで使われてきた古い技術である。
-
Zen 4のループバッファ: Zen 4は、AMDの高性能コアの中で唯一ループバッファを搭載している。性能カウンタの実験によると、コアが1スレッドで動作しているときは144エントリを持つ。2つのSMTスレッドが有効になると、各スレッドに72エントリずつ割り当てられる。ループ内で呼び出しとリターンが発生すると、ループバッファにはキャプチャされない。
-
BIOSアップデート後の変化: ASRock B650 PG LightningをBIOSバージョン3.10に更新した後、ハードウェア性能モニタリングにより、フロントエンドがもはやループバッファからマイクロオペレーションをディスパッチしていないことが確認された。BIOSバージョン1.21に戻すと、ループバッファは再び有効になる。AMDは、BIOS 1.21(AGESAバージョン1.0.0.6)とBIOS 3.10(AGESAバージョン1.2.0.2a)の間でループバッファを無効化したとみられる。
SPEC CPU2017: 違い探し
-
性能への影響: SPEC CPU2017のスコアは、ループバッファの有効・無効によって目立つ差がないことを示している。整数および浮動小数点スイートの総合スコアの差は1%未満だった。SMTの性能向上にも影響はない。
-
ループバッファの役割: ループバッファは性能向上のためではなく、コアがフロントエンドの多くの部分を無効化できるようにすることが主な目的である。Zen 4のプロセッサプログラミングリファレンスによると、性能カウンタはイベント数がしきい値を超えるたびに1ずつ増加するようプログラムできる。
Cyberpunk 2077
- ゲーム性能テスト: Cyberpunk 2077の内蔵ベンチマークを使って、ループバッファ無効化がゲーム性能に与える影響を確認した。ループバッファの無効化はゲーム性能にほとんど影響しないことが確認された。
消費電力の確認を試みる
- 電力効率: Zen 4のコア電力カウンタを使ってループバッファが電力効率を改善するか確認しようとしたが、結果は一貫しなかった。新しいBIOSではループバッファをテストできない。
結論
- ループバッファ無効化の理由: AMDがZen 4のループバッファを無効化した理由は不明である。CPU機能はハードウェアバグによって無効化されることがある。Zen 4は、AMDの高性能CPUにループバッファが初めて導入された例である。性能への影響はほぼなく、消費電力への影響もごく小さいと推定される。
1件のコメント
Hacker Newsの意見
ハードウェア脆弱性を防ぐために機能が無効化された可能性がある。ループバッファに性能や電力面での利点がないことを示唆している
Zen 4のループバッファは、会社がエンジニアリング能力を持ち、実験できることを示している
7950x3dを使っており、Skylakeの6700kからアップグレードした
ゲームでは、ループバッファが無効化されると、非キャッシュダイに固定された場合に性能が5%低下する
ループバッファは、特定のシナリオでのみ差が出るほど小さく、より大きなバッファはコストに見合う利点が少なかったのだろう
Cortex-A15では「主要な設計機能」だ
ループバッファがダイ上でどれくらいの面積を占めるのか理解できない
「電力」セクションでは、1秒あたりに実行された命令数で割っていない
1979年の68000と1982年の68010の違いの一つは、6バイトのループバッファである「ループモード」の追加だった