メモリ階層と性能

書き込みでキャッシュミスしたときに、そのラインを読み込まず、下の階層へ直接書き込む方式はどれか。

  1. Aライトアロケート
  2. Bライトバック
  3. Cノーライトアロケート
答えと解説を見る

正解:C. ノーライトアロケート

書き込みミスのときにラインを読み込まずに下の階層へ直接書く方式はノーライトアロケートで、ライトスルー方式と組み合わせることが多い方式です。一度書いたら読み返さないデータでは、無駄な読み込みを省けます。ライトアロケートは逆にラインを読み込んでから書き込む方式で、書いたデータをすぐまた使う場合に有利なため、ライトバック方式と組み合わせることが多くあります。ライトバックはヒットした書き込みの扱いを決める方式で、ミス時の読み込みの有無とは別の軸です。

  • A. ライトアロケートはラインを読み込んでから書き込む方式です。
  • B. ライトバックは書き込みを主記憶にいつ反映するかの方式で、ミス時の選択とは別です。
  • C. 正しい。読み込まずに下の階層へ書く方式です。
この分野を解く 分野ページへ

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

  1. 容量2ラインのフルアソシアティブ方式でLRU置き換えのキャッシュが最初は空のとき、ブロックをA、B、A、C、B、Aの順に参照すると、ミスは何回起こるか。
  2. ハードウェアのプリフェッチが特に効果を発揮しやすいアクセスはどれか。
  3. ソフトウェアのプリフェッチ命令を入れるとき、どれだけ先のデータを読むか(プリフェッチの距離)についての説明として正しいものはどれか。
  4. 上のループでintが4バイト、キャッシュラインが64バイト、配列はキャッシュに入っておらず先頭がラインの境界にそろっているとき、プリフェッチがなければ配列の読み込みのミス率はいくらか。
  5. 行列の積などで使われるループブロッキング(タイリング)の主な目的はどれか。