メモリ階層と性能
ダイレクトマップ方式のキャッシュで、2つの配列の要素が同じキャッシュの位置に対応し、交互にアクセスするたびに互いを追い出し合っている。このミスの分類はどれか。
- A初期参照ミス
- B容量ミス
- C競合ミス
答えと解説を見る
正解:C. 競合ミス
キャッシュ全体には余裕があるのに、2つのデータが同じセットを取り合って追い出し合うミスは競合ミスです。連想度を上げて同じセットに2つ以上置けるようにしたり、配列の先頭をずらして別のセットに対応させたりすると減らせます。容量ミスはワーキングセットがキャッシュ全体より大きいことが原因で、フルアソシアティブにしても減りません。初期参照ミスは初めてのアクセスで起こるもので、繰り返しのアクセスでは当てはまりません。
- A. 初期参照ミスは初めてアクセスしたときだけ起こります。
- B. 容量ミスはキャッシュ全体が足りないときのミスです。
- C. 正しい。同じセットの取り合いによる競合ミスです。