2

単一の静的ブランチの実際の結果の次のシーケンスを検討してください。Tは分岐が行われることを意味します。Nは、分岐が行われないことを意味します。この質問では、これがプログラム内の唯一のブランチであると想定します。

TTTNTNTTTNTNTTTNTN

1ビットの分岐履歴を使用する2レベルの分岐予測子、つまり1ビットのBHRを想定します。プログラムにはブランチが1つしかないため、BHRをブランチPCと連結してBHTにインデックスを付ける方法は重要ではありません。BHTが1ビットカウンターを使用し、ここでもすべてのエントリがNに初期化されていると仮定します。このシーケンスのどのブランチが誤って予測されるでしょうか。以下の表を使用してください。 代替テキスト

今、私はこの質問に対するガイドや指針ではなく、この質問に対する答えを求めているのではありません。2レベルの分岐予測器とは何を意味し、どのように機能しますか?BHRとBHTは何の略ですか?

4

3 に答える 3

11

http://www.agner.org/optimize/#manualsにある最新の CPU のマイクロアーキテクチャに関する Agner Fog のテキスト、具体的には 3 番目のテキスト: http://www.agner.org/optimize/を読んだ後で、実際に分岐予測を得ました。マイクロアーキテクチャ.pdf

低レベルのプログラミングが得意になりたい場合は、おそらくすべてを読む必要があります。分岐予測子がどのように機能するかだけを知りたい場合は、マイクロアーキテクチャ マニュアルの分岐予測に関する章を読んでください。過去のプロセッサの実際の分岐予測子を使用して、物事がどのように機能するかを説明します。P1 に見られるような概念的に単純な予測子から始めて、現在のプロセッサの怪物に到達するまで、徐々に機能を追加します。

于 2010-03-29T00:20:33.487 に答える
2

ウィキペディアにさせてください。

于 2010-03-28T23:59:36.003 に答える
2

ウィキペディアから:分岐予測子

2 レベル適応予測子は、分岐の最後の n 回の発生の履歴を記憶し、可能な 2n 履歴パターンのそれぞれに対して 1 つの飽和カウンターを使用します。

BHR : 分岐履歴レジスタ
BHT : 分岐履歴テーブル

これら 2 つの用語の両方について、頭字語を参照せずに、上記のリンク先の記事セクションで簡単に説明します。

于 2010-03-28T23:59:48.630 に答える