キャッシュメモリとは、一般的に、プロセッサとメインメモリの間に配置され、プロセッサから見たメインメモリへのアクセスを高速化するメモリのことです。
キャッシュメモリは、主に、以下の特徴を持ちます。
・メインメモリよりも高速にアクセスできる。
・プロセッサの代わりにメインメモリにアクセスする。
・メインメモリから読み込んだデジタルデータ(以降、データ)を保持する。
・プロセッサがキャッシュメモリからデータを読み込む際、保持されたデータがあれば、それをプロセッサに返す。
以下は、レジスタとキャッシュメモリ、メインメモリの比較表です。
レジスタ | キャッシュメモリ | メインメモリ | |
---|---|---|---|
アクセス速度 | 最速 | レジスタとメインメモリの間 |
キャッシュメモリより遅い |
容量 | 16ビットなど少量 |
レジスタとメインメモリの間 |
プログラムや頻繁にアクセスするデータが保存できる程度の容量 |
読み込みのアクセスを行う場合、キャッシュメモリに対象のデータがなければ、キャッシュメモリは、メインメモリにアクセスして、データを読み込み、保存、結果をプロセッサに返します。
一方、キャッシュメモリに対象のデータがあれば、それをプロセッサに返します。このとき、メインメモリへのアクセスは発生しません。
このとき、キャッシュメモリからの読み込みは高速なので、プロセッサから見ると、メインメモリからの読み込みが高速化されたように見えます。
書き込みのアクセスを行う場合、キャッシュメモリにデータを書き込みます。キャッシュメモリへの書き込みは高速なので、プロセッサから見ると、メインメモリへの書き込みが高速化されたように見えます。
キャッシュメモリに書き込まれたデータは、キャッシュメモリが都度、メインメモリに書き込むか、ある条件を満たしたらまとめてメインメモリに書き込みます。
プロセッサとメインメモリの間にキャッシュメモリがある場合、プログラムは、通常、キャッシュメモリを意識する必要はありません。
キャッシュメモリは、自動的にメインメモリの代替として動くため、プログラムから見ると、メインメモリしか見えません。