ライトバック方式

読み:らいとばっくほうしき / 英語表記:write-back

キャッシュメモリへの書込み方式の1つ。データをキャッシュメモリだけに書き込み、主記憶へは、そのデータをキャッシュから追い出すときに書き戻す。書込みは速いが、一時的に主記憶の内容が古くなる。

イマシルちゃんの解説

ノートには毎回書くけど、清書用の紙に書き写すのは、ノートのページを破って捨てるときだけ……っていうやり方なんだ。

ふだんはノートに書くだけだから、とっても速い!
でも、そのあいだ清書用の紙は古いまま。
だから、捨てる前には必ず書き写すのを忘れちゃいけないんだよ。

より深い解説

定義

ライトバック方式は、CPUがデータを書き込むとき、キャッシュメモリだけに書き込む方式である。主記憶への反映は、そのデータ(ブロック)がキャッシュから追い出されるときにまとめて行う。これを書き戻し(ライトバック)という。

ダーティビット

キャッシュの各ブロックには、書き換えられて主記憶と内容が違っているかどうかを示すダーティビットが付いている。

ダーティビット状態追い出すとき
0(クリーン)主記憶と同じ内容書き戻さずに捨ててよい
1(ダーティ)書き換えられ、主記憶より新しい主記憶に書き戻す必要がある

特徴

項目内容
書込みの速さキャッシュに書くだけなので速い
主記憶との一致書き戻すまでの間、主記憶の内容は古い
主記憶へのアクセス回数同じデータを何度書き換えても、書き戻しは1回で済むので少ない
仕組みダーティビットの管理などが必要で複雑

キャッシュミスのときの動き

読出しのときにキャッシュミスが起き、新しいデータを入れるために追い出すブロックがダーティだった場合は、まずそのブロックを主記憶に書き戻してから、新しいデータを読み込む。そのぶん、キャッシュミスのときの処理には時間がかかる。

注意が必要な場面

場面問題
複数のCPU(コア)がそれぞれキャッシュを持つあるCPUのキャッシュだけが新しく、ほかのCPUが古いデータを読むおそれがある。各キャッシュの一致を保つ仕組み(キャッシュコヒーレンシ、MESIプロトコルなど)が必要になる
電源が突然落ちるキャッシュにしかない最新のデータが失われる。ストレージのキャッシュでは、バッテリーで保護するなどの対策をとる

ライトスルー方式との比較

ライトバック方式ライトスルー方式
書き込む先キャッシュだけキャッシュと主記憶の両方
書込みの速さ速い遅い
主記憶との一致一時的に一致しない常に一致する
追い出すときの書き戻し書き換えたデータなら必要不要

実際の試験ではここに出る!

この用語が出てくる記事

↑