高速缓冲存储器Cache
- 工作原理:将某些主存块复制到Cache中,缓和CPU与主存之间的速度矛盾
- 局部性原理
- 时间局部性:现在访问的地址,不久之后也很可能被再次访问
- 空间局部性:现在访问的地址,其附近的地址也很可能即将被访问
- 性能分析
- 命中率H:CPU欲访问的信息已在Cache中的比率
- 缺失(未命中)率:M = 1 - H
- 👩💻 两种方式
- 先访问Cache,发现未命中再访问主存
- 同时访问Cache和主存,若Cache命中则停止访问主存
- 其他概念
- 主存与Cache之间以“块”为单位进行数据交换
- 主存的“块”又叫“页/页框/页面”;Cache的“块”又叫“行”
- 主存地址可拆分为(主存块号,块内地址)的形式
每次被访问的主存块,一定会被立即调入Cache
Cache-主存映射方式
Cache中存储的信息
- 有效位(0/1)+ 标记 + 整块数据
- 其中“标记”用于指明对应的内存块,不同映射方式,“标记”的位数不同
全相联映射
- 主存块可以放到Cache的任意位置
- 主存地址结构:标记(整个主存块号)+ 块内地址
- 优点:Cache存储空间利用充分,命中率高;缺点:查找“标记”最慢,有可能需要对比所有行的标记
直接映射
- 主存块只能放到特定的某个Cache行,行号 = 主存块号 % 总行数
- 主存地址结构:标记(主存块号