cache:是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配的技术。
补:提高CPU和主存之间数据交换速率的技术:
1、芯片技术:提高单个芯片的访问速度;
例:前述的突发传输技术,同步DRAM 技术,CDRAM技术
2、结构技术:改进存储器与CPU之间的连接方式,加速CPU和存储器之间的有效传 输。
例:采用并行技术的双口存储器甚至是多口存储器,多提交叉存储器
3、系统结构技术:采用分层存储结构解决访问速度问题。
例:增加cache,采用虚拟存储器
CPU和cache之间的数据交换是以字为单位
cache和主存之间的数据交换是以块为单位(块是定长的)
工作方式:当CPU读取内存中的一个字时,把该字的地址发送到贮存和cache中。
若在cache中找到“cache命中”
若在cache中没到到“cache未命中”
把含有这个字的数据从主存送到cache中
在一个程序执行期间,Nc:cache完成存取的次数;
Nm:主存完成存取的次数;
cache命中率:h=Nc/(Nc+Nm);
tc: 命中时cache访问的时间;
tm: 未命中时主存访问的时间;
1-h:未命中率;
cache/主存系统平均访问时间:t=htc+(1-h)tm;
访问效率:tc/t
比较:从容量来说:CPU < 寄存器 < cache < DDR
从速度来说: CPU > 寄存器 > cache > DDR
从价格来说: CPU > 寄存器 > cache > DDR
cache设计的两个原则:1、cache的命中率尽可能高;
2、cache对CPU而言是透明的。