キャッシュ (コンピュータシステム)
キャッシュ(英語: cache)は、CPUのバスやネットワークなど様々な情報伝達経路において、ある領域から他の領域へ情報を転送する際、その転送遅延を極力隠蔽し転送効率を向上するために考案された記憶階層の実現手段である。実装するシステムに応じてハードウェア・ソフトウェア双方の形態がある(以下、コンピュータのプログラムなども含め全ての転送すべき情報をデータと表す)。
転送元と転送先の中間に位置し、データ内容の一部とその参照を保持する。データ転送元への転送要求があり、それへの参照が既にキャッシュに格納されていた場合は、元データからの転送は行わずキャッシュが転送を代行する(この状態をキャッシュヒット、キャッシュに所望のデータが存在せず元データから転送する状態をキャッシュミスという。なお、由来は不明で和製英語と思われるが日本の一部の文献及び資格試験において「キャッシュミスヒット」という用語が使われている)。もしくは出力データをある程度滞留させ、データ粒度を高める機能を持つ。これらによりデータの2種の局所性、すなわち時間的局所性と空間的局所性を活用し、データ転送の冗長性やオーバヘッドを低減させることで転送効率を向上させる。
コンピュータの各記憶領域を始めとして、ネットワークやデータベース、GPU、DSPなど様々なシステムの様々な階層に搭載されている。