メモリ階層と性能

キャッシュの各ラインに付けられる有効ビット(valid bit)の役割として正しいものはどれか。

  1. Aそのラインが書き換えられたかどうかを示す
  2. Bそのラインを次に追い出す順番を示す
  3. C意味のあるデータが入っているかを示す
答えと解説を見る

正解:C. 意味のあるデータが入っているかを示す

電源を入れた直後やラインを無効にした後は、キャッシュの中身は意味のない値です。有効ビットが0のラインは、タグがたまたま一致してもヒットとはみなされず、正しいデータを読み込んだときに1になります。これにより、空のラインを誤ってヒットと判定することを防ぎます。書き換えられたかどうかを示すのはライトバック方式で使うダーティビットで、追い出す順番はLRUなどの置き換えのための情報が管理します。

  • A. 書き換えを示すのはダーティビットです。
  • B. 追い出す順番は置き換え方式のための別の情報です。
  • C. 正しい。意味のあるデータが入っているかを示し、空のラインの誤ったヒットを防ぎます。
この分野を解く 分野ページへ

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

  1. 小容量のフルアソシアティブ方式のバッファに、L1キャッシュから追い出されたラインを一時的に保持するビクティムキャッシュの主な効果はどれか。
  2. L1キャッシュの下にL2キャッシュを置く多段のキャッシュで、L2キャッシュの主な役割はどれか。
  3. 下位のキャッシュ(L2など)が上位のキャッシュ(L1)の内容をすべて含むインクルーシブ方式の特徴として正しいものはどれか。
  4. ダイレクトマップ方式からセットアソシアティブ方式に変えたときに起こる変化として、正しいものはどれか。
  5. 8ウェイ・セットアソシアティブ方式のキャッシュで、1回のアクセスのたびに並列に比べるタグの数はいくつか。