メモリ階層と性能

キャッシュのラインサイズを大きくしたときの影響として正しいものはどれか。

  1. A初期参照ミスが増え、ミスペナルティは小さくなる
  2. Bどんなプログラムでもミス率は単調に下がり続ける
  3. C空間的局所性を生かせる一方、ミスペナルティが大きくなる
答えと解説を見る

正解:C. 空間的局所性を生かせる一方、ミスペナルティが大きくなる

ラインを大きくすると、1回のミスで近くのデータをまとめて読み込めるので、空間的局所性のある処理では初期参照ミスが減ります。一方で、1回のミスで転送する量が増えるためミスペナルティが大きくなり、容量が同じならライン数が減って競合ミスや使われないデータの読み込みも増えます。そのため、ラインを大きくしすぎるとミス率はかえって上がり、ミス率が下がり続けるわけではありません。初期参照ミスが増えるというのも逆です。

  • A. 初期参照ミスはむしろ減り、ミスペナルティは大きくなります。
  • B. 大きくしすぎるとライン数が減り、ミス率は上がります。
  • C. 正しい。局所性を生かせる反面、ミスペナルティが増えます。
この分野を解く 分野ページへ

メモリ階層と性能のほかの問題

  1. ライトスルー方式のキャッシュで、書き込みバッファを設ける主な目的はどれか。
  2. ライトバック方式のキャッシュで、各ラインに付けるダーティビットの役割として正しいものはどれか。
  3. 書き込みでキャッシュミスしたときに、そのラインを読み込まず、下の階層へ直接書き込む方式はどれか。
  4. 容量2ラインのフルアソシアティブ方式でLRU置き換えのキャッシュが最初は空のとき、ブロックをA、B、A、C、B、Aの順に参照すると、ミスは何回起こるか。
  5. ハードウェアのプリフェッチが特に効果を発揮しやすいアクセスはどれか。