【计组】高速缓冲存储器Cache

一、出现原因
1、在多体并行系统中,I/O设备向主存请求的级别高于CPU访存,出现了CPU等待I/O设备访存的现象,致使CPU需要“等待”I/O设备访问主存,从而降低了CPU的工作效率;
2、主存速度提高跟不上CPU的发展,需要解决主存与CPU速度的不匹配问题。
二、Cache工作原理
1、存储基本结构
字节(B) → 字 → 字块
补充:一个字节通常是八位; 一个字中通常包含16个字节;一个字块中通常有4-8个字。
512KB与512K*16位:

主存和Cache中一个字块由块号和块内地址组成,用来记录将主存或cache分成了多少块,分的块数可以求出块号的位数。
2、相关定义
命中率(与Cache容量有关)=访问Cache的总命中次数/(访问Cache的总命中次数+访问主存的总命中次数)
平均访问时间=命中率 * Cache访问时间 + 未命中率 * 主存访问时间
访问效率=访问Cache的时间 / 平均访问时间
3、基本过程
首先,CPU通过地址总线向Cache和主存同时传输地址(高位为主存块号,低位为块内地址),进入Cache较快,Cache通过主存-Cache地址映射变换机构找到Cache块号:
若找到,说明该数据在Cache中存在,Cache存储体将数据通过数据总线传回给CPU,主存查找停止,结束;
若未找到,说明该数据在Cache中不存在,没有命中,在主存继续查找,找到后,一通过数据总线传回CPU,同时用Cache替换机构判断Cache存储是否还有剩余,若有剩余,将该数据写入Cache中,否则,删除Cache中原有部分数据(近期访问最少 or 先进先出原则),再将该数据写入Cache

发布了13 篇原创文章 · 获赞 6 · 访问量 2353

猜你喜欢

转载自blog.csdn.net/qq_40103496/article/details/102550871