メモリのキャッシュについて
キャッシュとは
各記憶装置間の速度ギャップを埋めて、実行の待ち時間によるロスを防ぐための手法。
各記憶装置のアクセス速度を図に表すと下のようなイメージになる。
上図の越えられない壁(速度ギャップ)を軽減させることができれば、全体の処理効率が良くなる。
そのための手法が「キャッシュ」。
キャッシュメモリ
レジスタとメモリの間でキャッシュできるようにするための仕組み。
CPUに内蔵できるキャッシュメモリの容量は僅かなので、CPUの外側に「SRAM」を使用して増設することができる!
レジスタからメモリへの書き込み
レジスタからキャッシュメモリへ書き込みを行う場合、「データの整合性」を保つためにメモリ(主記憶装置)への書き込みも行う必要がある。
メモリ(主記憶装置)を書き換える方式は以下の2つがある。
ライトスルー方式
キャッシュメモリへ書き込みを行う際、同時にメモリへも書き込みを行う。
ライトバック方式
レジスタからはキャッシュメモリへのみ書き込みを行う。 キャッシュメモリからデータが追い出された時にメモリへ書き込みを行う。
ヒット率と実効アクセス時間
ヒット率・・・目的とするデータがキャッシュメモリに入っている確率
実効アクセス時間・・・キャッシュメモリを利用したコンピュータの平均的なアクセス時間
実効アドレスは以下に式で求める事ができる。