キャッシュの書込み方式には、ライトスルー方式とライトバック方式がある。

ライトスルー方式とライトバック方式

キャッシュの書込み方式には、ライトスルー方式とライトバック方式がある。
ら~ろ

2022.05.25

CPUがキャッシュメモリに書き込みを行う際の方式には、「ライトスルー方式」と「ライトバック方式」があります。

キャッシュメモリは主記憶よりも高速で、CPUと主記憶の間に配置するメモリです。

主記憶のアクセス速度はCPUに比べて遅いので、主記憶とCPUの間に高速なキャッシュメモリを入れることで、高速化を行います。

目次

  • ライトスルー方式(write through)
  • ライトバック方式(write back)
  • 出題例
    • 基本情報技術者平成29年春期 午前問9
    • 基本情報技術者平成15年秋期 午前問23

ライトスルー方式(write through)

キャッシュメモリと主記憶の両方を書き込む方式です。

記憶の内容の一貫性が保たれますが、主記憶へのアクセスが頻繁に発生するため、低速です。

キャッシュの書込み方式には、ライトスルー方式とライトバック方式がある。

両方(キャッシュメモリと主記憶)書き込む」「低速」などがキーワードです。

ライトバック方式(write back)

キャッシュメモリだけ書き込み、主記憶にはデータがキャッシュメモリから追い出されるときに書き込む方式です。

制御が複雑になりますが、主記憶へのアクセスが減るため、高速です。

キャッシュの書込み方式には、ライトスルー方式とライトバック方式がある。

キャッシュメモリだけ書き込む」「高速」などがキーワードです。

出題例

基本情報技術者平成29年春期 午前問9

キャッシュの書込み方式には,ライトスルー方式とライトバック方式がある。ライトバック方式を使用する目的として,適切なものはどれか。

ア.キャッシュと主記憶の一貫性(コヒーレンシ)を保ちながら,書込みを行う。

イ.キャッシュミスが発生したときに,キャッシュの内容の主記憶への書き戻しを不要にする。

ウ.個々のプロセッサがそれぞれのキャッシュをもつマルチプロセッサシステムにおいて,キャッシュ管理をライトスルー方式よりも簡単な回路構成で実現する。

エ.プロセッサから主記憶への書込み頻度を減らす。

正解を見る

エ.プロセッサから主記憶への書込み頻度を減らす。

ライトバック方式は、主記憶へのアクセスが減る方式です。

「ア.キャッシュと主記憶の一貫性(コヒーレンシ)を保ちながら,書込みを行う。」はライトスルー方式の説明です。

基本情報技術者平成15年秋期 午前問23

キャッシュメモリのライトスルーの説明として,適切なものはどれか。

ア.CPUが書込み動作をする時,キャッシュメモリだけにデータを書き込む。

イ.キャッシュメモリと主記憶の両方に同時にデータを書き込む。

ウ.主記憶のデータの変更は,キャッシュメモリから当該データが追い出される時に行う。

エ.主記憶へのアクセス頻度が少ないので,バスの占有率が低い。

正解を見る

イ.キャッシュメモリと主記憶の両方に同時にデータを書き込む。

ライトスルー方式とライトバック方式

こんてんつ

基本情報技術者試験向けに、ライトスルー方式とライトバック方式の要点をまとめる。

まとめ

要点

  • 都度、主記憶のデータを更新するのがライトスルー
  • キャッシュメモリが無くなったタイミングで、主記憶のデータを一括して更新するのがライトバック

ライトスルー方式

  • キャッシュと主記憶の一貫性(コヒーレンス)が保たれる。
  • コヒーレンスを保つ特別な制御は必要ない
  • 特別な制御がいらないので、簡単な回路構成
  • 都度、主記憶への書き込みが必要なため処理が遅い

ライトバック方式

  • キャッシュメモリのみ更新した状態を維持し、キャッシュメモリの容量が無くなったタイミングで主記憶のデータを反映する。
  • キャッシュメモリから当該データが追い出されるときに、主記憶のデータの変更を行う。
  • プロセッサから主記憶への書き込み頻度を減らせる
  • コヒーレンスを保つ特別な制御が必要
  • 毎回、主記憶への書き込みが不要なため処理が速い

キャッシュの書込み方式には、ライトスルー方式とライトバック方式がある。ライトバック方式を使用する目的として、適切なものはどれか。

キャッシュと主記憶の一貫性(コヒーレンシ)を保ちながら、書込みを行う。
キャッシュミスが発生したときに、キャッシュの内容の主記憶への書き戻しを不要にする。
個々のプロセッサがそれぞれのキャッシュをもつマルチプロセッサシステムにおいて、キャッシュ管理を簡単な回路構成で実現する。
プロセッサから主記憶への書込み頻度を減らす。

解答・解説を見る

解答:エ

書込み命令が実行された時に、キャッシュメモリと主記憶の両方を書き換える方式のことを、ライトスルー方式(write through) ,キャッシュメモリだけを書き換えておき、主記憶の書き換えはブロックの入れ替え時に行う方式のことを、ライトバック(write back) 方式という。

ライトスルー方式
  • キャッシュへの書込みと同時に主記憶にも書き込む方式
  • キャッシュと主記憶の一貫性(コヒーレンシ)は常に保たれる
  • 書き込みの高速化はできない
ライトバック方式
  • キャッシュから追い出された時点で主記憶へ書き込む方式
  • 主記憶への書込みが終了するまでキャッシュとの一貫性(コヒーレンシ)が保たれない
  • 書込みも高速化できる
× ライトスルー方式の説明である。ライトバック方式では、キャッシュと主記憶の一貫性(コヒーレンシ)が保たれないことがある。
× ライトスルー方式の説明である。ライトバック方式では、キャッシュミスが発生したとき、キャッシュの内容を主記憶に書き戻す必要がある。
× ライトスルー方式の説明である。ライトバック方式では、個々のプロセッサのもつキャッシュと主記憶の一貫性を調整するため回路構成は複雑になる。
ライトバック方式の説明である。ライトバック方式では、プロセッサが主記憶に書き込みを行うのはキャッシュをフラッシュする場合だけなので、書込み頻度を減らすことができる。

ライトスルー方式とライトバック方式

2019/4/21 2020/2/10 ITリテラシ

問題

応用情報技術者 平成24年秋期 午前問11

キャッシュメモリへの書込み動作には,ライトスルー方式とライトバック方式がある。それぞれの特徴のうち,適切なものはどれか。

  • ライトスルー方式では,データをキャッシュメモリだけに書き込むので,高速に書込みができる。
  • ライトスルー方式では,データをキャッシュメモリと主記憶の両方に同時に書き込むので,主記憶の内容は常に最新である。
  • ライトバック方式では,データをキャッシュメモリと主記憶の両方に同時に書き込むので,速度が遅い。
  • ライトバック方式では,読出し時にキャッシュミスが発生してキャッシュメモリの内容が追い出されるときに,主記憶に書き戻す必要が生じることはない。

答え

ライトスルー方式では,データをキャッシュメモリと主記憶の両方に同時に書き込むので,主記憶の内容は常に最新である。

解説

「ライトバックなので後(バック)から書き込む」とライトバックの特徴を覚えます。

キャッシュメモリ

キャッシュメモリは、とても速いCPUとあまり速くないメモリ(主記憶)の情報のやり取りの中間にあるメモリで、主記憶より容量は少ないが高速に動作することで、コンピュータの全体的な処理速度を高めるために使われます。


キャッシュメモリ (cache memory) は、CPUなど処理装置がデータや命令などの情報を取得/更新する際に主記憶装置やバスなどの遅延/低帯域を隠蔽し、処理装置と記憶装置の性能差を埋めるために用いる高速小容量メモリのことである。略してキャッシュとも呼ぶ。コンピュータは以前から記憶装置や伝送路の性能が処理装置の性能に追いつけず、この差が全体性能に対するボトルネックとされてきた(ノイマンズ・ボトルネック)。そしてムーアの法則に基づく処理装置の加速度的な高性能化により現在ではますますこの差が拡大されている。キャッシュメモリは、記憶階層の観点からこれを解消しようとするものである。
主に、主記憶装置とCPUなど処理装置との間に構成される。この場合、処理装置がアクセスしたいデータやそのアドレス、状態、設定など属性情報をコピーし保持することで、本来アクセスすべき記憶装置に代わってデータを入出力する。通常はキャッシュメモリが自動的にデータ保存や主記憶装置の代替を行うため、基本的にCPUのプログラムなど処理装置側がキャッシュメモリを意識する必要はない。


出典: フリー百科事典『ウィキペディア(Wikipedia)』

キャッシュメモリと主記憶のデータの同期

キャッシュメモリ上で更新されたデータは、いずれかのタイミングで下位レベルのメモリ(主記憶)に反映、同期する必要があります。

その同期のタイミングによって、2つのアルゴリズムに分かれます。

ライトスルー(write through)方式

書込み命令時にキャッシュメモリと主記憶の両方を同時に書き換える方式。

データをキャッシュメモリと主記憶の両方に同時に書き込むので,主記憶の内容は常に最新ですが、速度は遅くなります。


CPUがメモリ書き込みを行ったら、キャッシュにストアすると同時に下位レベルのメモリにも書き戻す方式。必ず下位レベルのバスが活性化するため、バスの競合や下位レベルの低いスループットに律速されるなどの制約はあるが、単純な構成で実現でき、またデータのコヒーレンシを保つことが容易である。出力段にライトバッファを設けることにより、単一CPUであればライトバック方式に比べ遜色のない性能が期待できる。そのためCPUのL1キャッシュなどに実装される場合が多い。


出典: フリー百科事典『ウィキペディア(Wikipedia)』

ライトバック(write back)方式

キャッシュメモリからデータが追い出される際に主記憶への書き込みを行う方式。

データをキャッシュメモリだけに書き込むので,高速に書込みができます。

読出し時にキャッシュミスが発生してキャッシュメモリの内容が追い出されるときに,主記憶に書き戻します。


CPUがメモリ書き込みを行っても、条件が整わない限りキャッシュに留まりメモリへの書き戻しを行わない方式。書き戻す条件は対象エントリにウエイ数以上のフレームアドレスのリード/ライトが行われる、他のバスマスタが対象エントリが保持しているアドレスに対しアクセスを行った時にコヒーレンシを保つために行うなどがある。ライトスルー方式に対し下位レベルのバスが競合を起こしにくく、マルチCPU構成に向くため、記憶階層の同一レベルに複数のキャッシュが接続されているようなL2キャッシュに実装される。


出典: フリー百科事典『ウィキペディア(Wikipedia)』