よく聞くキャッシュってなんだ?

キャッシュメモリとはCPUと主記憶装置の処理速度の差を埋めるための高速アクセスメモリです。

キャッシュメモリ

CPUのレジスタと主記憶とHDDなどの補助記憶装置の間にはとてつもなく処理速度に差があります。CPUが主記憶からデータを読み出す時にCPUは遅い主記憶を待たなくてはいけません。

そのような非効率性を解消するために予めCPUがアクセスしそうなデータを主記憶からキャッシュメモリにコピーすることで高速アクセスを可能とするのです。

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

キャッシュメモリは読み出しだけでなく書き込みにも使われます。キャッシュメモリに書き込まれた情報は主記憶でも更新する必要があります。主記憶のデータを書き換える方法はライトスルー方式ライトバック方式の2つがあります。

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

ライトスルー方式は書き込み命令が実行されるとキャッシュメモリと主記憶の両方の情報が更新されます。この方式は情報の一貫性が保たれる反面処理速度は遅くなりがちです。

一方ライトバック方式はキャッシュメモリのみ更新し、主記憶の書き換えはキャッシュメモリの容量に入りきらなくなってデータが追い出される際に初めて行われます。そのため高速処理が可能となります。

主記憶との対応付け

主記憶とキャッシュメモリのデータを対応付ける方法としてダイレクトマッピング方式フルアソシアティブ方式セットアソシアティブ方式の3種類の方式があります。

ダイレクトマッピング方式は主記憶のブロックをキャッシュメモリの特定のブロックと対応付ける方式です。すでに他のブロックが格納されている場合は置き換えが発生します。

フルアソシアティブ方式は主記憶のブロックはキャッシュメモリの空きブロックに対応づけられる方式です。

セットアソシアティブ方式は主記憶のブロックをキャッシュメモリの特定の連続したブロックと対応付ける方式です。上の二つの中間的な方式です。

コメント

タイトルとURLをコピーしました