第五节 高速缓冲存储器(Cache)
从结构上提高存储器速度的一个关键技术是层次化存储系统。Cache是为了解决CPU和主存之间速度匹配问题而采用的一项重要技术,它的基础是局部性原理。
一. 高速缓冲存储器(Cache)
1.特点:
高速:存取速度比主存快,以求与CPU匹配。由高速SRAM组成,全部功能由硬件实现,保证了高速度。
容量小:因价格贵,所以容量较小,一般为几百KB,作为主存的一个副本。可分为片内Cache和片外Cache.一般情况下,Cache与内存空间比为1:128,命中率在90%以上,过大过小都不好。
3. 工作原理
Cache组织除了有SRAM外,还要有相应的控制逻辑。
注意:Cache与主存之间数据交换的单位是“块”(Cache称行)。
Cache的基本操作:
CPU首先在Cache中进行比较(可使用相联存储器--按内容寻址)
数据在Cache中--无需访存,直接从Cache中存取(需地址变换)
数据不在Cache中--则进行主存读写,同时,把该数据所在的块复制到Cache中。
4. Cache主要性能指标
Cache是一个高速存储器,希望CPU访问存储器的数据尽可能都能在Cache中得到,这样存储器的工作速度就大大提高。--希望命中率高命中率h: h=Nc/(Nc+Nm),高速存取次数与总存取次数比,希望h--1
其中:Nc:Cache完成的存取次数
Nm:主存完成的存取次数
“Cache主存”系统平均访存时间:命中率与访问时间乘积和
ta=hxtc+(1-h)tm
其中:tc:Cache命中的访问时间
tm:访问时间
1-h:CacheWE未命中率(主存命中率)
希望:ta-tc
f访问效率e:命中访问时间与系统平均访存时间比
e-tc/ta=tc/(hxtc+(1-h)tm)
s设:r=tm/tc,取5-10为宜
则:e=1/(r+(1-r)h)