1 ポイント 投稿者 GN⁺ 2024-12-02 | 1件のコメント | WhatsAppで共有

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件のコメント

 
GN⁺ 2024-12-02
Hacker Newsの意見
  • ハードウェア脆弱性を防ぐために機能が無効化された可能性がある。ループバッファに性能や電力面での利点がないことを示唆している

    • エンジニアチームが数か月かけて新機能を開発したものの、実際には利点がなく、面子のためにリリースされた可能性がある
    • ソフトウェアチームでもコードベースを書き直して性能向上を狙うが、プロジェクト完了後にはコードが増え、性能が悪化していることがある
    • どちらの場合も、そのプロジェクトはリリースされるべきではなかった
  • Zen 4のループバッファは、会社がエンジニアリング能力を持ち、実験できることを示している

    • 今回は成果がなかったが、エンジニアが低リスク・低影響の機能で実験するのは自信を育てる良い方法だ
    • 今後さらに自信がつくことを期待する
  • 7950x3dを使っており、Skylakeの6700kからアップグレードした

    • ハードウェアループバッファがソフトウェアによって無効化されたチップに、無意識に惹かれているようだ
  • ゲームでは、ループバッファが無効化されると、非キャッシュダイに固定された場合に性能が5%低下する

    • より詳細な電力測定によって、熱/電力予算に関係しているか確認できるはずだ
    • この機能は電力を節約するためのもののように聞こえる
  • ループバッファは、特定のシナリオでのみ差が出るほど小さく、より大きなバッファはコストに見合う利点が少なかったのだろう

    • 一部のワークロードではわずかな性能低下があるかもしれないが、AMDは発売後に多少の性能改善を実現している
    • Zen 4のBIOSオプションにすべきだった。そうなっていないのは、バグまたはセキュリティ問題の可能性を示している
  • Cortex-A15では「主要な設計機能」だ

    • 他のチップに与える影響について数値があるのか気になる
    • 長期間使われる設計(例: コンソール)では、最適化対象として使えるかもしれない
  • ループバッファがダイ上でどれくらいの面積を占めるのか理解できない

    • 削除された場合、将来のチップでは、より有用なL2キャッシュのようなもののためにその面積を使えるのか気になる
  • 「電力」セクションでは、1秒あたりに実行された命令数で割っていない

    • ループバッファの利点を見るために考慮すべき指標は、1秒あたりのエネルギーではなく、命令あたりのエネルギー使用量だ
  • 1979年の68000と1982年の68010の違いの一つは、6バイトのループバッファである「ループモード」の追加だった