メモリ階層と性能
キャッシュのラインサイズを大きくしたときの影響として正しいものはどれか。
- A初期参照ミスが増え、ミスペナルティは小さくなる
- Bどんなプログラムでもミス率は単調に下がり続ける
- C空間的局所性を生かせる一方、ミスペナルティが大きくなる
答えと解説を見る
正解:C. 空間的局所性を生かせる一方、ミスペナルティが大きくなる
ラインを大きくすると、1回のミスで近くのデータをまとめて読み込めるので、空間的局所性のある処理では初期参照ミスが減ります。一方で、1回のミスで転送する量が増えるためミスペナルティが大きくなり、容量が同じならライン数が減って競合ミスや使われないデータの読み込みも増えます。そのため、ラインを大きくしすぎるとミス率はかえって上がり、ミス率が下がり続けるわけではありません。初期参照ミスが増えるというのも逆です。
- A. 初期参照ミスはむしろ減り、ミスペナルティは大きくなります。
- B. 大きくしすぎるとライン数が減り、ミス率は上がります。
- C. 正しい。局所性を生かせる反面、ミスペナルティが増えます。