メモリ階層と性能
キャッシュの各ラインに付けられる有効ビット(valid bit)の役割として正しいものはどれか。
- Aそのラインが書き換えられたかどうかを示す
- Bそのラインを次に追い出す順番を示す
- C意味のあるデータが入っているかを示す
答えと解説を見る
正解:C. 意味のあるデータが入っているかを示す
電源を入れた直後やラインを無効にした後は、キャッシュの中身は意味のない値です。有効ビットが0のラインは、タグがたまたま一致してもヒットとはみなされず、正しいデータを読み込んだときに1になります。これにより、空のラインを誤ってヒットと判定することを防ぎます。書き換えられたかどうかを示すのはライトバック方式で使うダーティビットで、追い出す順番はLRUなどの置き換えのための情報が管理します。
- A. 書き換えを示すのはダーティビットです。
- B. 追い出す順番は置き換え方式のための別の情報です。
- C. 正しい。意味のあるデータが入っているかを示し、空のラインの誤ったヒットを防ぎます。