情報技術 - ライトスルー方式 / ライトバック方式

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

ライトスルー方式およびライトバック方式は、キャッシュメモリの書き込み方式である。

実際のシステムでは、これらの方式の特徴を考慮して使い分けが行われている。
例えば、高い信頼性が求められるシステムではライトスルー方式、性能が重視されるシステムではライトバック方式が選択されることが多い。

また、マルチプロセッサシステムでは、キャッシュ一貫性プロトコルと組み合わせて使用されることにより、より複雑な制御が行われる。
例えば、MESIプロトコル等と組み合わせることにより、複数のプロセッサ間でのデータの一貫性を保ちながら、効率的なキャッシュ利用を実現している。


ライトスルー方式

ライトスルー方式とは、CPUがデータを書き込む時、キャッシュメモリとメインメモリの両方に同時に書き込みを行う。
したがって、キャッシュメモリへの書き込みと同時にメインメモリも更新されるため、常にキャッシュとメインメモリの内容が一致している状態が保たれる。

そのため、読み出し時はキャッシュメモリにより高速に動作するが、書き込み時の性能は遅くなる。

ライトスルー方式には以下に示すような特徴がある。

  • データの一貫性が常に保たれるため、システムの信頼性が高く、障害発生時のリカバリが容易である。
  • 実装が比較的単純である
  • ただし、主記憶装置への書き込みを待つ必要があるため、書き込み性能は比較的低くなる。


Write-Through System.png



ライトバック方式

ライトバック方式とは、CPUからの書き込みにおいて、まず、キャッシュメモリにのみ行われる。
主記憶装置への書き込みは後回しとなり、キャッシュラインが置き換えられる場合や特定のタイミングでまとめて主記憶装置に書き戻される。

そのため、ライトバック方式には以下に示すような特徴がある。

  • 書き込み性能が高い。
  • 主記憶装置への書き込みを遅延させることにより、システム全体の性能を向上させることができる。
  • ただし、キャッシュメモリと主記憶装置の内容が一時的に異なる状態 (ダーティ状態) が発生するため、より複雑な一貫性管理が必要となる。
  • また、電源障害等が発生した場合、キャッシュメモリ内の未書き込みデータが失われるリスクがある。


Write-Back System.png