記憶階層、アクセスの局部性、キャッシュメモリ、緩衝記憶装置、ヒット率、2次キャッシュ
コンピュータの能力を向上するには,CPUやすべての記憶装置に高速のものを用いればよいのですが,大量のデータを保管するには大きな記憶容量が必要ですから,膨大な費用がかかってしまいます。それで,高価だが高速な小容量の記憶装置と,低速だが安価な大容量の記憶装置を組み合わせることが必要になります。これを記憶階層といいます。
しかし,CPU-メモリ-ディスクをそのままつないだのでは,それらの間の処理速度に大きなギャップがあります。メモリからCPUに取り出して処理をする時間やディスクからデータを読み込んでメモリに入れる時間で空き時間が生じてしまいます。それを防ぐために,キャッシュメモリやディスクキャッシュを設置します。これらを総称して緩衝記憶装置(バッファメモリ)といいます。

必要なデータがキャッシュメモリにある確率をヒット率といいます。もし,メモリからの取り出し時間が50ns,キャッシュメモリからの取り出し時間を10nsであり,ヒット率0.9であるとすれば,平均取り出し時間は,
10×0.9+50×(1-0.9)=14ns
になります。
ヒット率を高めるには,キャッシュメモリの容量を大きくすることもありますが,どのようなデータを持ってくるかの工夫(私たちの工夫ではなく,コンピュータ設計者の工夫ですが)も重要です。
CPUからメモリに書き込むときには,いくつかの方法がありますが,1データごとの書き込みはキャッシュメモリだけに書き込み,一定量のデータをまとめてキャッシュメモリからメモリに転送するような方法があります。