処理装置の演算速度に比べて主記憶装置へのアクセス速度は遅い。
この速度差を埋めるために、処理装置と主記憶装置の間に置く高速の記憶装置。
CPUと主記憶の速度差を調整するものがキャッシュメモリ。
主記憶と外部記憶(例えば磁気ディスク)の時間差を調整するものが
ディスクキャッシュである。
CPU──キャッシュ──主記憶──ディスク───外部記憶
(処理装置) メモリ キャッシュ 装置
(例:磁気ディスク)
キャッシュメモリには主記憶の内容が書き込まれるが、キャッシュメモリの
内容が更新される場合、主記憶の同じ部分も当然更新されなければならない。
この時の更新方式としては次のような方式がある。
【ライトスルー方式】
キャッシュの内容に更新がかかれば、すぐに主記憶も更新する方式。
【ライトバック方式】
キャッシュの内容に更新がかかっても、すぐに主記憶は更新せずに、更新された
データがキャッシュから掃き出されるときに主記憶を更新する方式。
キャッシュメモリのページ交換は通常LRU法(Least Recently Used)が取られる。
【LRU法】
最も長い間参照されていないページを追い出すアルゴリズム。
LRU法では、「新たに別のページの内容をキャッシュにロードする必要が
生じたとき」には、参照してから一番時間のたったページの内容を置換する。
この場合には「最終参照時刻が最も早い」ものが対象となる。
1次キャッシュと2次キャッシュ
1次と2次はともにコンピュータを高速化するためのメモリであり
MPUがアクセスする順番によって名称が使い分けられている。
【1次キャッシュ】
CPUの実行速度を高速化するために、CPU内部に用意されるキャッシュメモリ。
省略してL1キャッシュ、または内部キャッシュと呼ばれることもある。
【2次キャッシュ】
システムを高速化するために、CPUの外部に用意されるキャッシュメモリ。
メインメモリよりも高速なメモリ(通常はSRAMなど)を使用することで、
メインメモリへのアクセスを低減し、システム性能を向上させる。
省略してL2キャッシュ、または外部キャッシュと呼ばれることもある。
この場合のキャッシュはCPU(レジスタ)とメインメモリの間にあり、その間の
処理速度の違いを吸収しようという目的で設置されている.
CPU(レジスタ)
↓データ要求
1次キャッシュ・・・(ミスヒット)
↓データ要求
2次キャッシュ・・・(ミスヒット)
↓データ要求
主記憶 ※
(参考)
主記憶にも無いデータは、副記憶装置(ディスク)に要求する。
キャッシュを持たないあるいは3次以上のキャッシュがあるシステムも存在する。
1次キャッシュは一般に2次キャッシュより高速な素子を使う場合が多い。