メモリ階層と性能

同じラインに何度も書き込む処理で、ライトスルー方式よりライトバック方式の方が有利になる主な理由はどれか。

  1. A書き込みがキャッシュの中で済み、主記憶へは追い出すときに1回書けばよいから
  2. B書き込みのたびに主記憶も最新になるので、追い出すときの処理が要らないから
  3. Cキャッシュと主記憶の内容が常に一致するので、一貫性の管理が要らないから
答えと解説を見る

正解:A. 書き込みがキャッシュの中で済み、主記憶へは追い出すときに1回書けばよいから

ライトバック方式では、同じラインへの何度もの書き込みをキャッシュの中だけで済ませ、追い出すときにダーティなラインを1回書き戻すだけです。そのため主記憶への通信量と電力を大きく減らせます。書き込みのたびに主記憶も最新にするのはライトスルー方式の性質で、同じラインに何度も書くとその都度通信が発生します。キャッシュと主記憶が常に一致するのもライトスルーの性質で、ライトバックでは一致しない期間があります。

  • A. 正しい。何度の書き込みも、追い出し時の1回の書き戻しにまとまります。
  • B. 書き込みのたびに主記憶を更新するのはライトスルー方式です。
  • C. 常に一致するのはライトスルー方式で、ライトバックでは一致しない期間があります。
この分野を解く 分野ページへ

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

  1. 最も長い間使われていないものを追い出すLRUに対して、今後最も長い間使われないものを追い出す方式(最適置き換え、OPT)についての説明として正しいものはどれか。
  2. キャッシュの容量を大きくすると一般にヒット時間がどうなるか。その理由とあわせて正しいものはどれか。
  3. 上の連結リストをたどる処理が、同じ数の要素をもつ配列を順に読むより大幅に遅くなりやすい理由はどれか。
  4. 1回のミスで64バイトのラインを読み、主記憶の待ち時間が100 nsのとき、同時に処理できるミスが1つだけなら読み出しの帯域は約0.64 GB/sにとどまる。同時に10個のミスを処理できれば、帯域はおよそいくらになるか。(ほかの制約はないものとする)
  5. 一度書いたあと当分読み返さない大きなデータを書き出すとき、キャッシュを通さないストア(ノンテンポラルストア)を使う主な利点はどれか。