cache 基本原理
cache是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一重要技术。其原理基于程序运行中具有的空间局部性和时间局部性特征。
cache是介于CPU和主存M2之间的小容量存储器,但存取速度比主快,容量远小于主存。cache能高速地向CPU提供指令和数据,从而加快了程序的执行度。从功能上看,它是主存的缓冲存储器,由高速的SRAM组成。为追求高速,包括管在内的全部功能由硬件实现,因而对程序员是透明的。
当前,随着半导体器件集成度的进一步提高, 可以将小容量的cache与CPU集成到一芯片中, 其工作速度接近于CPU的速度,从而组成两级以上的cache系统。
2. cache的基本原理
cache除包含SRAM外,还要有控制逻辑。若cache在CPU芯片外,它的控制逻辑般与主存控制逻辑合成在一起,称为主存chace控制器:若cache在CPU内,则由CPU报供它的控制逻辑。CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。个块由若干字组成,是定长的。当CPU读取内存
中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在cache中:若是,则cache命中,此字立即
传送给CPU;若非,则cache缺失(未命中),用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。