メモリ階層と性能

プログラムがあるデータに初めてアクセスしたときに起こるキャッシュミスを減らす方法として、効果があるものはどれか。

  1. Aプリフェッチで前もって読み込んでおく
  2. Bキャッシュの連想度(ウェイ数)を2倍にする
  3. Cキャッシュの容量だけを2倍にする
答えと解説を見る

正解:A. プリフェッチで前もって読み込んでおく

初めてのアクセスで起こる初期参照ミスは、そのデータがまだ一度もキャッシュに入っていないために起こるので、容量や連想度を増やしても減りません。必要になる前にプリフェッチで読み込んだり、ラインを大きくして近くのデータをまとめて持ってきたりすると減らせます。連想度を上げて減るのは同じセットを取り合う競合ミス、容量を増やして減るのはワーキングセットがあふれる容量ミスです。

  • A. 正しい。まだ読み込まれていないデータを前もって読むのが有効です。
  • B. 連想度を上げて減るのは競合ミスです。
  • C. 容量を増やして減るのは容量ミスです。
この分野を解く 分野ページへ

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

  1. キャッシュをフルアソシアティブ方式にしても減らないミスとして正しいものはどれか。
  2. キャッシュのラインサイズを大きくしたときの影響として正しいものはどれか。
  3. ライトスルー方式のキャッシュで、書き込みバッファを設ける主な目的はどれか。
  4. ライトバック方式のキャッシュで、各ラインに付けるダーティビットの役割として正しいものはどれか。
  5. 書き込みでキャッシュミスしたときに、そのラインを読み込まず、下の階層へ直接書き込む方式はどれか。