【らいとばっく】

ライトバック とは?

💡 とりあえずメモして、まとめて清書
📌 このページのポイント
ライトバック(Write-Back) ① 書き込み時 CPU キャッシュ 書き込み完了 dirty=1 メインメモリ まだ古いデータ 書かない ② 追い出し時 キャッシュ 追い出し発生 書き戻し メインメモリ ようやく反映 ○ 書き込みが高速 メモリバスの負荷軽減 ● データ不一致リスク 電源断でデータ消失の恐れ
ライトバックのイメージ
ひよこ ひよこ

ライトバックってどういう仕組みなの?

ペンギン先生 ペンギン先生

データを書き込むとき、まずキャッシュにだけ書いて、メインメモリへの書き込みは後回しにする方式だよ。授業中にとりあえず付箋にメモして、あとでノートにまとめて清書するようなイメージだね。

ひよこ ひよこ

後回しにして大丈夫なの?

ペンギン先生 ペンギン先生

普段は大丈夫だよ。キャッシュから追い出されるときにメモリへ書き戻すからね。ただし、突然電源が切れるとキャッシュ上の未反映データが消えてしまうリスクはあるんだ。

ひよこ ひよこ

どうやって「まだメモリに書いてないデータ」を区別するの?

ペンギン先生 ペンギン先生

「ダーティビット」というフラグを使うんだよ。キャッシュの各ブロックに1ビットの印が付いていて、書き込みがあったら1にする。追い出すときにダーティビットが1なら、メモリに書き戻してから追い出すんだ。

ひよこ ひよこ

ライトスルーより速いの?

ペンギン先生 ペンギン先生

書き込みに関しては圧倒的に速いよ。毎回メモリに書かなくていいから、メモリバスの帯域も節約できるんだ。同じデータに何度も書き込むような処理だと、最後の1回だけメモリに書けばいいから特に効率的だね。

ひよこ ひよこ

最近のパソコンではどう使われているの?

ペンギン先生 ペンギン先生

現代のCPUのL2・L3キャッシュはほぼライトバック方式だよ。マルチコアCPUでは、あるコアがキャッシュに書いたデータを別のコアが読もうとする問題が起きるから、「キャッシュコヒーレンシプロトコル」というルールでコア間の整合性を保っているんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ライトバック」って出てきたら「キャッシュにだけ書いて後でメモリに反映する高速な方式」と思えればだいたいOK!
📖 おまけ:英語の意味
「Write-Back」 = 書き戻し
💬 キャッシュに書いたデータを、あとでメモリに back(戻す)するという意味だよ
← 用語集にもどる