CPU・アーキテクチャ
アウトオブオーダー実行のCPUで使われるレジスタリネーミングの主な目的はどれか。
- Aレジスタの数を減らして回路を小さくする
- Bプログラムが使うレジスタ名を変えずに、物理レジスタを割り当て直して、見かけ上の依存(WARやWAW)を取り除く
- Cレジスタの値を暗号化する
答えと解説を見る
正解:B. プログラムが使うレジスタ名を変えずに、物理レジスタを割り当て直して、見かけ上の依存(WARやWAW)を取り除く
命令セットのレジスタ数は限られているため、同じレジスタ名が使い回され、本当のデータの流れとは関係のない依存(逆依存WARや出力依存WAW)が生じます。レジスタリネーミングは、より多くの物理レジスタを動的に割り当てることでこれらを取り除き、並列に実行できる命令を増やします。
- A. 実際には、命令セットのレジスタより多くの物理レジスタを用意します。
- B. 正しい。見かけ上の依存を取り除きます。
- C. 暗号化とは関係ありません。