応用情報技術者 2012年 春期 午前2 問13
問題文
キャッシュメモリを搭載したCPUの書込み動作において、主記憶及びキャッシュメモリに関し、コヒーレンシ (一貫性)の対策が必要な書込み方式はどれか。
選択肢
ア:ライトスルー
イ:ライトバック(正解)
ウ:ライトバッファ
エ:ライトプロテクト
キャッシュメモリの書込み方式におけるコヒーレンシ対策【午前2 解説】
要点まとめ
- 結論:コヒーレンシ対策が必要な書込み方式はライトバック方式である。
- 根拠:ライトバックはキャッシュ内のデータを書き換え、主記憶への書込みを遅延させるため、一貫性維持が重要になる。
- 差がつくポイント:ライトスルーは即時書込みで一貫性が保たれやすいが、ライトバックは遅延書込みのためコヒーレンシ制御が必須となる点を理解すること。
正解の理由
ライトバック方式は、CPUがキャッシュ内のデータを書き換えた際に主記憶への書込みを即座に行わず、キャッシュの内容が変更されたことを示す「ダーティビット」を立てて後でまとめて書き込む方式です。このため、複数のキャッシュが存在する環境では、主記憶とキャッシュ間でデータの一貫性(コヒーレンシ)を保つための対策が不可欠です。
一方、ライトスルー方式は書き込み時に必ず主記憶にも即時反映するため、コヒーレンシ問題が起こりにくいです。
一方、ライトスルー方式は書き込み時に必ず主記憶にも即時反映するため、コヒーレンシ問題が起こりにくいです。
よくある誤解
ライトスルー方式も書込み遅延があると誤解されがちですが、主記憶への即時書込みが特徴でコヒーレンシ問題は少ないです。
ライトバッファやライトプロテクトは書込み方式としての意味が異なり、コヒーレンシ対策の対象とはなりません。
ライトバッファやライトプロテクトは書込み方式としての意味が異なり、コヒーレンシ対策の対象とはなりません。
解法ステップ
- キャッシュメモリの書込み方式の特徴を理解する。
- ライトスルーは主記憶に即時書込み、ライトバックは遅延書込みであることを確認。
- コヒーレンシ(データ一貫性)が問題となるのは遅延書込みのライトバック方式であると判断。
- 選択肢の意味を整理し、ライトバックを正解とする。
選択肢別の誤答解説
- ア: ライトスルー
主記憶に即時書込みするため、コヒーレンシ問題は比較的少ない。 - イ: ライトバック
キャッシュ内での遅延書込みにより、主記憶との一貫性維持が必要で正解。 - ウ: ライトバッファ
書込みバッファのことで、書込み方式そのものではなくコヒーレンシ対策とは直接関係しない。 - エ: ライトプロテクト
書込み禁止の保護機能であり、書込み方式ではないため不適切。
補足コラム
キャッシュコヒーレンシ問題はマルチプロセッサ環境で特に重要です。ライトバック方式は性能向上に寄与しますが、複数キャッシュ間でのデータ不整合を防ぐためにコヒーレンシプロトコル(MESIなど)が用いられます。ライトスルーは単純で一貫性は保ちやすいものの、主記憶への頻繁なアクセスが性能低下の原因となります。
FAQ
Q: ライトバック方式でなぜコヒーレンシ対策が必要ですか?
A: キャッシュ内でデータを書き換えた後、主記憶への書込みを遅延させるため、他のキャッシュや主記憶とデータの不整合が起こる可能性があるからです。
A: キャッシュ内でデータを書き換えた後、主記憶への書込みを遅延させるため、他のキャッシュや主記憶とデータの不整合が起こる可能性があるからです。
Q: ライトスルー方式はコヒーレンシ問題がないのですか?
A: 主記憶に即時書込みするため、基本的にコヒーレンシ問題は起こりにくいですが、性能面でのトレードオフがあります。
A: 主記憶に即時書込みするため、基本的にコヒーレンシ問題は起こりにくいですが、性能面でのトレードオフがあります。
関連キーワード: キャッシュメモリ、ライトバック方式、コヒーレンシ、書込み方式、ダーティビット、MESIプロトコル

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

