Zen 5の2-Ahead Branch Predictor Unit: 30年前のアイデアが新しいトリックを可能にする方法
(chipsandcheese.com)Zen 5の2-Ahead Branch Predictor Unit: 30年前のアイデアが新しいトリックを可能にする方法
-
序論
- AMDのZen 5アーキテクチャは、従来のZenアーキテクチャを完全に再設計したもの
- 最も重要な変化の1つは、新しい2-Ahead Branch Predictor Unit
- このアイデアは30年前の論文に由来する
-
Branch Predictorの重要性
- コンピュータはプログラムをメモリに保存し、それを実行する
- プロセッサは命令を取得して実行するフロントエンドとバックエンドに分かれる
- 条件付きジャンプはパイプラインを埋めるうえで大きな課題となる
- 誤予測が起きると、パイプラインをフラッシュして再開しなければならない
- そのため、プロセッサは可能な限り正確にプログラム命令シーケンスを予測する必要がある
-
2-Ahead Branch Predictorの登場
- 1990年代初頭から提案されていたアイデア
- TAGE predictorのような、より効率的な方法が開発された
- しかし、シングルコア性能を向上させるために2-Ahead Branch Predictorが再び注目されている
-
x86アーキテクチャの利点
- x86は、固定長命令を持つ他のISAよりも2-Ahead Branch Predictionで大きな利点を得られる
- x86では命令境界を決定するために、より複雑な処理が必要になる
- Zen 5は2本の32バイト・フェッチパイプと4-wideのデコードクラスタを使用する
-
Seznec論文の実装
- Seznec論文は2-Ahead Branch Predictorを実装する方法を説明している
- Zen 5はこの論文の推奨事項に従っている
- 2本の32バイト・フェッチパイプと6-wideデュアルポートオフキャッシュを使用する
- L1 BTBとL2 BTBを使用して予測精度を高める
-
結論
- Zen 5の2-Ahead Branch PredictorはZenアーキテクチャにおける重要な変化
- この新しい予測器は、今後のZenコア開発に大きく役立つだろう
GN⁺のまとめ
- Zen 5の2-Ahead Branch Predictorは、30年前のアイデアを現代的に再解釈したもの
- この技術はプロセッサの命令予測精度を高め、性能を向上させる
- x86アーキテクチャの複雑さに対処するうえで特に有用
- この記事はCPUアーキテクチャと性能最適化に関心のある人にとって有益
- 類似の機能を持つ別のプロジェクトとして、IntelのGolden Coveアーキテクチャがある
1件のコメント
Hacker Newsのコメント