キャッシュメモリ 【cache memory】 緩衝記憶装置 / CPUキャッシュ
概要
キャッシュメモリ(cache memory)とは、CPU(マイクロプロセッサ)などのICチップ内部に設けられた高速な記憶装置の一つ。使用頻度の高いデータを蓄積しておくことにより、相対的に低速なメインメモリ(主記憶装置)へのアクセスを減らすことができ、処理を高速化することができる。プロセッサ内部の回路として読み書き可能な半導体メモリを集積し、プログラムの実行のためにメインメモリから読み込んだ命令やデータを一時的に保管しておく。メインメモリを読み書きするよりは何桁も高速にアクセスできる。
CPUなどの内部には、命令を実行するための回路に必要なデータを送り込むための「レジスタ」(register)もある。キャッシュメモリのアクセス速度はレジスタよりは低速だが、容量は数kB(キロバイト)から数MB(メガバイト)程度と、数個~十数個しかないレジスタよりは遥かに多い。
容量や速さの異なる2~3段階(2~3種類)のキャッシュメモリを用いる場合があり、実行回路に近く高速で容量の少ない方から順に「1次キャッシュ」「2次キャッシュ」「3次キャッシュ」といったように呼称する。実行回路はまず1次キャッシュにデータが無いか探し、無ければ2次キャッシュに、さらに無ければ3次キャッシュ、といったように順番に探す。
一般的な汎用のCPUは「フォンノイマン型」と呼ばれる構成になっており、命令もデータも区別せずメインメモリに混在させるため、キャッシュメモリも両者の区別なく記録する。一方、命令とデータが装置レベルで分離している「ハーバード型」の場合には、「命令キャッシュ」と「データキャッシュ」が分かれており、データの伝送路や制御方式も異なる。一部の組み込みシステムなどに見られる方式である。
(2024.7.6更新)