メモリ階層と性能

小容量のフルアソシアティブ方式のバッファに、L1キャッシュから追い出されたラインを一時的に保持するビクティムキャッシュの主な効果はどれか。

  1. A追い出した直後に再び使うラインを速く取り戻せ、競合ミスの損失を減らせる
  2. BL1キャッシュの容量を大きくしたのと同じだけ、容量ミスを減らせる
  3. C初期参照ミスをなくし、プリフェッチを不要にする
答えと解説を見る

正解:A. 追い出した直後に再び使うラインを速く取り戻せ、競合ミスの損失を減らせる

ダイレクトマップ方式などでは、同じセットを取り合うデータが追い出し合い、追い出したばかりのラインをすぐにまた使うことがよくあります。ビクティムキャッシュは追い出されたラインを数個〜十数個保持し、L1でミスしてもそこにあれば、下の階層より速く取り戻せます。小さいので容量ミスを大きく減らす効果はなく、一度も読み込んでいないデータの初期参照ミスにも効きません。

  • A. 正しい。追い出した直後の再利用を救い、競合ミスの損失を減らします。
  • B. 数個〜十数個のラインしかなく、容量ミスへの効果は小さいです。
  • C. 一度も読み込んでいないデータには効きません。
この分野を解く 分野ページへ

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

  1. L1キャッシュの下にL2キャッシュを置く多段のキャッシュで、L2キャッシュの主な役割はどれか。
  2. 下位のキャッシュ(L2など)が上位のキャッシュ(L1)の内容をすべて含むインクルーシブ方式の特徴として正しいものはどれか。
  3. ダイレクトマップ方式からセットアソシアティブ方式に変えたときに起こる変化として、正しいものはどれか。
  4. 8ウェイ・セットアソシアティブ方式のキャッシュで、1回のアクセスのたびに並列に比べるタグの数はいくつか。
  5. ラインサイズ64バイト、セット数64のキャッシュで、アドレス0x1234のデータが入るセットの番号はどれか。