3.6cache存储器
3.6.1cache 基本原理
1.cache 的功能
cache是一种能速缓冲存储,是为了解决CPU和主存之间速度不匹而采用的一项重要技术,其原理基于程序运行中具有的空间局部性知时间局部性特征。
2.cache的基术原理
1、cache除包含SRAM外,还要有控制辑。若cacheCPU芯片外,它的控制逻辑一般与主存控制逻辑合成在一起,称为土存chace控制器:若cache在CPU内,则雨CPU提供它的控制逻辑。
2、CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位一个块由若干字组成,是定长的。当CPU读取内存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在cache中:若是,则cache命中,此字立即传送给CPU;若非,则cache 缺失(未命中),用主存读周期把此字丛主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cashe中。
3、cache的命中率
在一个程序执行期间,设N。表示cache完成存取的总次数,N。表示主存完成存取的总次数,万定义为命中率,则有
若t(c)表示命中时的cache访问时间,t(m)表示未命中时的主存访问时间,1-h表示未命中
率(缺失率),则cache/主存系统的平均访问时间t(a)为
t(a)=ht(c)+(1-h)t(m)
我们追求的目标是,以较小的硬件代价使cache/主存系统的平均访问时间t(a)越接近t(c)越好。设r=t(m)/t(c)。表示主存与cache的访问时间之比,e表示访问效率,则有