情報処理試験を勉強していると、「ライトスルーとライトバックって何が違うの?」と混乱しがちです。この記事ではライトスルーの仕組みを日常の例え話で噛み砕き、試験で問われるポイントまで整理します。
対象試験と出題頻度
ライトスルーは、応用情報技術者で出題されるテーマです。
キャッシュメモリの書き込み方式として、対になるライトバックとの違いを正確に区別できるかが問われます。
詳細をクリックして確認
応用情報技術者
★★★☆☆
ランクC(応用)余裕があれば覚える
用語の定義
ライトスルー(Write Through)とは、一言で言うと
「CPUがデータを書き込むとき、キャッシュメモリと主記憶の両方に同時に書き込む方式」
のことです。
イメージとしては、「手元のメモ帳と壁掛けホワイトボードの両方に同時に書く」という行為です。
手元のメモ帳(キャッシュ)だけに書けば速いですが、他の人がホワイトボード(主記憶)を見たときに情報が古いままになります。
両方に同時に書けば、どちらを見ても常に最新の内容が書いてある状態を保てます。その代わり、毎回二か所に書く手間が発生するので、書き込み速度は落ちます。
ライトスルーの基本情報
| 項目 | 内容 |
|---|---|
| 英語名 | Write Through |
| 分類 | キャッシュメモリの書き込み制御方式 |
| 対になる方式 | ライトバック(Write Back) |
| メリット | キャッシュと主記憶の内容が常に一致し、データの整合性(コヒーレンシ)を保ちやすい |
| デメリット | 毎回主記憶にも書き込むため、バス占有率が高く書き込み速度が低下する |
解説
なぜ2つの書き込み方式が存在するのか
CPUは主記憶よりもはるかに高速に動作します。
この速度差を埋めるために、CPUと主記憶の間にキャッシュが配置されています。読み出しはキャッシュにデータがあれば高速に済みますが、書き込みの場面では「キャッシュだけに書くのか、主記憶にも同時に書くのか」という設計上の選択が生じます。
この選択に対する回答が、ライトスルーとライトバックの2方式です。
ライトスルーの動作フロー
CPUが書き込み命令を発行すると、データはキャッシュと主記憶の両方に同時に送られます。
書き込みが完了するまでCPUは待機するため、主記憶のアクセス速度がボトルネックになります。
ライトスルーの書き込みフロー
書き込み命令を発行
ただし毎回主記憶にもアクセスするため、書き込み速度は低下する
ライトバックとの比較
ライトバック(Write Back)は、CPUからの書き込みをキャッシュだけに行い、主記憶への反映はキャッシュからデータが追い出されるタイミングまで後回しにする方式です。
書き込みのたびに主記憶にアクセスしないため高速ですが、キャッシュと主記憶の内容が一時的に不一致になるため整合性制御が複雑になります。
| 比較項目 | ライトスルー | ライトバック |
|---|---|---|
| 書き込み先 | キャッシュ+主記憶(同時) | キャッシュのみ(主記憶は追い出し時) |
| 書き込み速度 | 遅い(主記憶のアクセス速度に律速) | 速い(キャッシュへの書き込みだけで完了) |
| データ整合性 | 常に一致(コヒーレンシ確保が容易) | 一時的に不一致(追加制御が必要) |
| バス占有率 | 高い(毎回バスを使用) | 低い(追い出し時のみバスを使用) |
| 回路の複雑さ | 単純 | 複雑(ダーティビット管理など) |
2つの方式の動作イメージ比較
ライトスルー
書き込み速度は遅い
ライトバック
書き込み速度は速い
ここだけは確実に押さえてください。
「ライトスルー=両方に同時書き込み=整合性○・速度×」
「ライトバック=キャッシュだけ=速度○・整合性の制御が複雑」という対比構造です。
では、この用語が試験でどのように出題されるか見ていきましょう。
ライトスルーの核心を3行で
・キャッシュと主記憶の両方に同時書き込みする方式
・データの整合性は保ちやすいが、書き込みのたびに主記憶にアクセスするため速度が落ちる
・対になるライトバックは「キャッシュだけに書き込み、追い出し時に主記憶へ反映」で高速だが整合性制御が複雑
試験ではこう出る!
ライトスルーは、応用情報技術者の午前問題で繰り返し出題されています。出題パターンはほぼ固定されており、ライトバックの説明と入れ替えたひっかけが定番です。
過去問での出題実績
| 試験回 | 出題内容 | 問われたポイント |
|---|---|---|
| AP R5春 午前 問10 |
ライトスルーとライトバックの特徴として適切なものを選ぶ問題 | ・「両方に同時書き込み → 主記憶と常に一致」が正解 ・ライトバックの説明をライトスルーに入れ替えたひっかけ |
| AP R4秋 午前 問9 |
ライトスルーの説明として適切なものを選ぶ問題 | ・「キャッシュと主記憶の両方に同時に書き込む」が正解 ・H29春 問10と同一構成の流用問題 |
| AP H29春 午前 問10 |
ライトスルーの説明として適切なものを選ぶ問題 | ・R4秋 問9と同じ選択肢構成 ・「キャッシュだけに書き込む」はライトバック |
| AP H25春 午前 問12 |
ライトバック方式を使用する目的を選ぶ問題 | ・「主記憶への書込み頻度を減らす」が正解 ・コヒーレンシの保持はライトスルー側の特徴 |
IPA試験での出題パターン
パターン1:「ライトスルーの説明を選べ」
4つの選択肢にライトスルーとライトバックの説明が混在し、ライトスルーに該当するものを選ばせる形式。ひっかけは「キャッシュだけに書き込む」(ライトバック)や「追い出し時に主記憶に書き戻す」(ライトバック)の説明。キーワードは「両方に同時に書き込む」。
パターン2:「ライトバックの目的を選べ」
ライトバック方式を使う理由を問う形式。「主記憶への書込み頻度を減らす」が正解で、「一貫性を保つ」「回路を単純にする」はライトスルー側の特徴として除外する。
試験ではここまででOKです。ダーティビットの管理方法やマルチプロセッサ環境でのスヌーピングプロトコルまでは午前問題で問われないので、深追いは不要です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. キャッシュメモリのライトスルーの説明として、最も適切なものはどれでしょうか?
- A. CPUが書き込み動作をするとき、キャッシュメモリと主記憶の両方に同時にデータを書き込む方式であり、データの整合性を保ちやすい。
- B. CPUが書き込み動作をするとき、キャッシュメモリだけにデータを書き込み、主記憶への反映はデータが追い出されるまで後回しにする方式である。
- C. キャッシュミスが発生したとき、主記憶からキャッシュへデータをコピーする際の読み出し制御方式である。
正解と解説を見る
正解:A
解説:
ライトスルーは、CPUからの書き込み命令が出たタイミングでキャッシュと主記憶の両方に同時にデータを書き込む方式です。これにより両者の内容が常に一致し、データの整合性(コヒーレンシ)を容易に確保できます。
選択肢Bはライトバック方式の説明です。キャッシュだけに書き込んで主記憶への反映を後回しにするのはライトバックの動作であり、ライトスルーとは正反対の特徴です。選択肢Cは書き込み方式ではなく読み出し時のキャッシュ制御の話であり、ライトスルー・ライトバックのどちらにも該当しません。
よくある質問(FAQ)
Q. ライトスルーが使われる場面は実務ではどこですか?
組み込みシステムや信頼性を最優先するリアルタイム制御システムで採用されるケースがあります。電源断などの異常終了が起きてもキャッシュと主記憶の不一致が発生しないため、データ消失のリスクを低減できます。一般的なPC向けCPUでは性能重視でライトバックが主流ですが、ストレージコントローラのキャッシュ設定でライトスルーを選択できる製品も存在します。
Q. ライトスルーの「スルー(Through)」はどういう意味ですか?
「通り抜ける」という意味です。CPUからの書き込みがキャッシュを”通り抜けて”主記憶にまで届くイメージから名付けられています。一方のライトバック(Write Back)は、書き込みがキャッシュで止まり、後から主記憶に”書き戻す”イメージです。英語名を直訳すると方式の違いをそのまま覚えられます。
Q. マルチプロセッサ環境ではライトスルーが有利ですか?
単純な構成ではライトスルーの方がキャッシュコヒーレンシを保ちやすいです。各プロセッサが書き込みのたびに主記憶を更新するため、他のプロセッサが主記憶を参照すれば常に最新のデータを得られます。ただし、プロセッサ数が増えると主記憶バスへのアクセスが競合して性能が低下するため、実際にはスヌープキャッシュ方式などのプロトコルと組み合わせてライトバックが採用されることが多いです。IPA試験の午前レベルではこの詳細は問われません。
Q. ライトスルーとストアスルーは同じものですか?
同じものです。ライトスルー(Write Through)は「ストアスルー(Store Through)」とも呼ばれます。同様に、ライトバック(Write Back)は「ストアイン(Store In)」や「コピーバック(Copy Back)」と呼ばれることがあります。IPA試験では「ライトスルー」「ライトバック」の表記で統一されているため、別名は参考知識として把握しておけば十分です。