命令セット・アセンブリ
昔のMIPSなどにあった分岐遅延スロット(分岐命令の直後の1命令は、分岐するかどうかに関係なく実行される決まり)について正しいものはどれか。
- A分岐予測の精度を100%にするための仕組みで、今のCPUにも欠かせない
- BRISC-Vも採用しており、分岐の後には必ずnopを入れる必要がある
- C当時のパイプラインの都合をISAに持ち込んだもので、後のCPUの設計では足かせになった
答えと解説を見る
正解:C. 当時のパイプラインの都合をISAに持ち込んだもので、後のCPUの設計では足かせになった
5段の単純なパイプラインでは、分岐の結果が分かる頃には次の命令がすでに取り込まれているので、それを必ず実行する決まりにして無駄をなくしたのが分岐遅延スロットです。しかし段数が深く、分岐予測や同時発行を行う後のCPUでは利点がなくなり、互換性のために特別な扱いを続ける負担だけが残りました。RISC-Vは、内部の作りに依存する決まりをISAに入れないよう、これを採用していません。
- A. 分岐予測とは別のもので、今のCPUには不要です。
- B. RISC-Vは分岐遅延スロットを採用していません。
- C. 正しい。マイクロアーキテクチャの事情をISAに固定してしまった例です。