高速缓存位于主存与CPU之间的一级存储器,由静态存储芯片(SRAM)组成,容量比较小,速度比主存
高得多,接近于CPU的速度,单位成本比内存高·Cache存储了频繁访问内存的数据。
1.Cache原理、命中率、失效率
使用Cache改善系统性能的主要依据是程序的局部性原理
(1)程序局部性原理
时间局部性
当前访问的指令,不久的将来可能还会访问空间局部性
当前访问了此条指令,有可能马上会访问它附近的指令
()命中率
访问的指令能够在Cache中找到,称之为命中。单位时间内在Cache 中命中的数量与执行指令的数量比称为命中率
Cache的访问命中率为h(通常1-h就是Cache的失效率) ,Cache的访问周期时间是t1,主存储器的
访问周期时间是t2,则整个系统的平均访存时间就是:t3=h*t1+(1-h)*t2
2.Cache存储器的映射机制
分配给Cache的地址存放在一个相联存储器(CAM)中·CPU发生访存请求时,会先让CAM判断所要
访问的数据是否在Cache中,如果命中就直接使用·这个判断过程就是Cache地址映射,这个速度应该尽可能快◎常见的映射方法有:
直接映射
是一种多对一的映射关系,但一个主存块只能够复制到Cache的一个特定位置上去。Cache的行号i和主存的块号j有函数关系: i=j%m(其中m为Cache总行数)
例:某Cache容量为16KB(可用14位表示),每行的大小为16B(即可用4位表示)
则说明其可分
为1024行(可用10位表示)·主存地址的低4位为Cache的行内地址,中间10位为Cache行号。
如果内存地址为1234E8F8H,那么最后4位就是1000 (对应十六进制数的