メモリ階層と性能
ノンブロッキングキャッシュ(ミスの処理中もほかのアクセスを受け付けるキャッシュ)の主な利点はどれか。
- Aキャッシュミスの回数そのものを、ブロッキング方式より減らせる
- Bミスしたデータを主記憶から速く読めるようになる
- C複数のミスの待ち時間を重ね、その間もヒットを処理できる
答えと解説を見る
正解:C. 複数のミスの待ち時間を重ね、その間もヒットを処理できる
ブロッキングキャッシュでは、1つのミスの処理が終わるまで後続のアクセスがすべて待たされます。ノンブロッキングキャッシュは、ミスの情報を記録する専用のレジスタ(MSHR)をもち、処理中にもヒットするアクセスを返したり、別のミスを同時に主記憶へ要求したりできます。これにより待ち時間を重ねて隠せますが、ミスの回数そのものは減らず、1回のミスで主記憶から読む時間も変わりません。アウトオブオーダー実行と組み合わせて効果を発揮します。
- A. ミスの回数は変わらず、待ち時間を重ねて隠すのが効果です。
- B. 主記憶から読む時間そのものは変わりません。
- C. 正しい。ミスの待ち時間を重ね、その間もヒットを処理できます。