1

これは宿題ではありません。私はこのサイト(IMO)を読んでいて、分岐予測についてかなりよく紹介されており、講義に続いて問題を解決しようと決めました。

次のコードを検討してください [分岐遅延スロットなし]:

  add  $2, $0, $0
  addi $11, $0, 5
  addi $12, $0, 3
outer:
  addi $2, $2, 1
  add  $1, $0, $0
inner:
  addi $1, $1, 1
  bne  $1, $11, inner
  bne  $2, $12, outer

最初の追加命令はアドレス 0 にあります。

  1. 2 つのエントリを持つパターン履歴テーブルを使用した場合の予測ミス率は? [予測ミス率 = 予測ミス数 / 予測数]
  2. 2 エントリのローカル履歴テーブルと 4 エントリのパターン履歴テーブルを持つローカル履歴予測子を使用するとどうなるでしょうか?

まず、条件にエラーがあり、両方の add 命令が、残りの命令と同様に、$0 の代わりに即値 0 を持つ addi でなければならないのではないかと思います。この件について詳しい人はコメントできますか?

第二に、私は問題を解決しようとしました (上記のように、add が即時 0 のaddiであると見なします) 。私の答えは次のとおりです。

1. 予測ミス率 8/10 (予測ミス 8 回、予測 10 回) 2. 予測予測ミス率 13/5
(予測ミス 13 回、予測 5 回)
講義の内容を本当に理解できたのだろうか。ありがとう。

4

1 に答える 1