メモリ階層と性能
L1キャッシュに仮想インデックス・物理タグ(VIPT)方式がよく使われる主な理由はどれか。
- A物理アドレスを使わずに済むので、TLBを省略できるから
- B仮想アドレスだけで判定するので、プロセスを切り替えるたびにキャッシュを空にできるから
- CTLBでアドレスを変換している間に、並行してキャッシュのセットを読み始められるから
答えと解説を見る
正解:C. TLBでアドレスを変換している間に、並行してキャッシュのセットを読み始められるから
VIPT方式では、変換が不要なページ内のビットでキャッシュのセットを選ぶので、TLBで物理アドレスに変換するのと同時にセットの読み出しを始められます。最後に物理アドレスのタグと比べるため、別のプロセスが同じ仮想アドレスを使っても取り違えません。TLBは物理タグを得るために必要で、省略はできません。プロセスの切り替えのたびにキャッシュを空にする必要があるのは、仮想アドレスでタグを付ける方式の欠点です。
- A. 物理タグと比べるためにTLBは必要です。
- B. 切り替えのたびに空にする必要があるのは仮想タグ方式の欠点です。
- C. 正しい。アドレス変換とセットの読み出しを並行して行えます。