ライトスルー方式
キャッシュメモリへの書込み方式の1つ。データをキャッシュメモリと主記憶の両方に同時に書き込む。主記憶の内容が常にキャッシュと一致するが、書込みは遅くなる。
イマシルちゃんの解説
ノートと清書用の紙の両方に、毎回同時に書き込むやり方をイメージしてみて。
どっちを見ても、いつでも同じ内容が書いてあるから安心だよね。
でも、毎回2か所に書くから、そのぶん時間がかかっちゃう。
ライトスルー方式は、そんな「安心だけど、ちょっと遅い」書き方なんだ。
より深い解説
定義
ライトスルー方式は、CPUがデータを書き込むとき、キャッシュメモリと主記憶装置の両方に同時に書き込む方式である。
特徴
| 項目 | 内容 |
|---|---|
| 主記憶との一致 | 主記憶の内容が、常にキャッシュの内容と一致する |
| 書込みの速さ | 遅い主記憶への書込みを毎回待つので、遅い |
| 追い出すとき | 主記憶はすでに最新なので、書き戻しは不要 |
| 仕組み | 単純 |
書込みの遅さを補うため、主記憶への書込みをいったんライトバッファにためておき、CPUはその完了を待たずに次の処理に進む工夫がよく使われる。
ライトバック方式との比較
| ライトスルー方式 | ライトバック方式 | |
|---|---|---|
| 書き込む先 | キャッシュと主記憶の両方 | キャッシュだけ |
| 書込みの速さ | 遅い | 速い |
| 主記憶との一致 | 常に一致する | 一時的に一致しない |
| 追い出すときの書き戻し | 不要 | 書き換えたデータなら必要 |
| 主記憶へのアクセス回数 | 多い | 少ない |
向いている場面
主記憶とキャッシュの内容が常に一致しているので、ほかの装置(DMAで主記憶を読む入出力装置や、別のCPU)が主記憶を直接読むときにも、古いデータを読む心配がない。障害で電源が落ちたときに、書いたはずのデータが失われるリスクも小さい。
ストレージのキャッシュ(RAIDコントローラーなど)でも同じ考え方が使われ、データの安全を優先する場合はライトスルーが選ばれる。