【コンピュータ構成要素】速さか整合性か!「ライトスルー・ライトバック」の違い|情報処理問題1000本ノック
CPUがデータを高速に処理するために使用する「キャッシュメモリ」と「主記憶装置(メインメモリ)」の間では、データの整合性を保つ(一貫性を維持する)仕組みが不可欠です。基本となる2つの書き込み方式の特徴と違いをしっかり攻略しましょう。
■ キャッシュとメモリの一貫性の維持方法:ライトスルー / ライトバック
「いつ主記憶(メモリ)へ書き込むか」という視点で、それぞれの特徴を整理します。
| 方式 | 特徴と書き込みタイミング | 主なメリット・デメリット |
|---|---|---|
| ライトスルー (Write-through) |
キャッシュメモリを更新すると、同時に主記憶(メモリ)も更新する方式。常に両者のデータが一致する。 | メリット:一貫性の維持が容易で制御がシンプル。 デメリット:メモリへのアクセス頻度が高く、書き込みが遅い。 |
| ライトバック (Write-back) |
データ書き込み時はキャッシュのみを更新し、そのブロックが追い出される(置き換えられる)時にまとめて主記憶へ書き込む方式。 | メリット:主記憶へのアクセス回数が減り、書き込み処理が高速。 デメリット:一貫性の制御が複雑。 |
試験対策の重要キーワード
- ダーティビット(Dirty bit):ライトバック方式において、「キャッシュの内容が変更され、主記憶にまだ反映されていない状態(未更新状態)」を示すフラグ管理に使用されます。
- キャシュコヒーレンシ(一貫性):マルチコアプロセッサなど複数のCPUコアが存在する場合、各コアのキャッシュ間でもデータが矛盾しないよう制御する仕組みが重要になります。
- 速度と信頼性のトレードオフ:処理速度を最優先するなら「ライトバック」、データの整合性やシンプルさを重視するなら「ライトスルー」が選ばれます。
※ライトスルーは「メモしながら同時に本番ノートにも書く(確実だけど時間がかかる)」、ライトバックは「ひとまずメモ用紙だけに書いておき、後でまとめて本番ノートに書き写す(速いけれど途中でメモを失うリスクがある)」というイメージを持つと分かりやすくなります。