メモリ階層と性能

ダイレクトマップ方式のキャッシュで、2つの配列の要素が同じキャッシュの位置に対応し、交互にアクセスするたびに互いを追い出し合っている。このミスの分類はどれか。

  1. A初期参照ミス
  2. B容量ミス
  3. C競合ミス
答えと解説を見る

正解:C. 競合ミス

キャッシュ全体には余裕があるのに、2つのデータが同じセットを取り合って追い出し合うミスは競合ミスです。連想度を上げて同じセットに2つ以上置けるようにしたり、配列の先頭をずらして別のセットに対応させたりすると減らせます。容量ミスはワーキングセットがキャッシュ全体より大きいことが原因で、フルアソシアティブにしても減りません。初期参照ミスは初めてのアクセスで起こるもので、繰り返しのアクセスでは当てはまりません。

  • A. 初期参照ミスは初めてアクセスしたときだけ起こります。
  • B. 容量ミスはキャッシュ全体が足りないときのミスです。
  • C. 正しい。同じセットの取り合いによる競合ミスです。
この分野を解く 分野ページへ

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

  1. プログラムがあるデータに初めてアクセスしたときに起こるキャッシュミスを減らす方法として、効果があるものはどれか。
  2. キャッシュをフルアソシアティブ方式にしても減らないミスとして正しいものはどれか。
  3. キャッシュのラインサイズを大きくしたときの影響として正しいものはどれか。
  4. ライトスルー方式のキャッシュで、書き込みバッファを設ける主な目的はどれか。
  5. ライトバック方式のキャッシュで、各ラインに付けるダーティビットの役割として正しいものはどれか。