一、Cache的概念
Cache存储器,电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(动态存储器)之间,规模较小,但速度很高的存储器,通常由SRAM(静态存储器)组成。它是位于CPU与内存间的一种容量较小但速度很高的存储器。CPU的速度远高于内存,当CPU直接从内存中存取数据时要等待一定时间周期,而Cache则可以保存CPU刚用过或循环使用的一部分数据,如果CPU需要再次使用该部分数据时可从Cache中直接调用,这样就避免了重复存取数据,减少了CPU的等待时间,因而提高了系统的效率。Cache又分为L1Cache(一级缓存)和L2Cache(二级缓存),L1Cache主要是集成在CPU内部,而L2Cache集成在主板上或是CPU上。
二、局部性原理
局部性原理指的是将程序中最活跃,运行最频繁的一部分放在cache中去。程序访问的局部性原理包括时间局部性和空间局部性。
1、空间局部性:在最近的未来要用到的信息(指令和数据),很可能与现在正在使用的信息在存储空间上是邻近的。
2、时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息。
高速缓冲技术是利用程序访问的局部性原理,把程序中正在使用的部分存放在一个高速的、容量较小的Cache中,使CPU的访存操作大多数针对Cache进行,从而大大提高程序的执行速度。