メモリ階層と性能
小容量のフルアソシアティブ方式のバッファに、L1キャッシュから追い出されたラインを一時的に保持するビクティムキャッシュの主な効果はどれか。
- A追い出した直後に再び使うラインを速く取り戻せ、競合ミスの損失を減らせる
- BL1キャッシュの容量を大きくしたのと同じだけ、容量ミスを減らせる
- C初期参照ミスをなくし、プリフェッチを不要にする
答えと解説を見る
正解:A. 追い出した直後に再び使うラインを速く取り戻せ、競合ミスの損失を減らせる
ダイレクトマップ方式などでは、同じセットを取り合うデータが追い出し合い、追い出したばかりのラインをすぐにまた使うことがよくあります。ビクティムキャッシュは追い出されたラインを数個〜十数個保持し、L1でミスしてもそこにあれば、下の階層より速く取り戻せます。小さいので容量ミスを大きく減らす効果はなく、一度も読み込んでいないデータの初期参照ミスにも効きません。
- A. 正しい。追い出した直後の再利用を救い、競合ミスの損失を減らします。
- B. 数個〜十数個のラインしかなく、容量ミスへの効果は小さいです。
- C. 一度も読み込んでいないデータには効きません。