计算机组成与体系结构——Cache——2020.11.21
(一)Cache-概念
- 在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)
- 使用Cache改善系统性能的依据是程序的局部性原理
- 如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以只读操作为例,使用“Cache+主存储器”的系统的平均周期为t3,则:
- t3 = h × t1 + (1-h) ×t2
- 其中,(1-h)又称为失效率
(二)Cache-映象
- 硬件直接控制
- 直接相联映象:硬件电路较简单,但冲突率很高
- 全相联映象:电路难于设计和实现,只适用于小容量的cache,冲突率较低
- 组相联映象:直接相联与全相联的折中
- 地址映象是将主存与Cache的存储空间划分为若干大小相同的页(或称为块)
- 例如,某机的主存容量为1G,划分为2048页,每页512KB
- Cache容量为8M,划分为16页,每页512KB
(三)Cache-全相联映象
- 没有任何限制
- 主存和Cache可以有任意的对应关系
- 页表记录一下主存与Cache的对应关系
- 将主存的地址放到Cache中,由于他们的页是一样的,所以页内地址也是一样的
- 对于518KB,默认按字节存储,说明每页512K个存储单元——>219——>19位
- 主存最大页是2048页,说明需要211,所以需要11位来存储就可以了
- 主页页号都找到了,那么整个主存的具体地址就找到了
- 如何找到对应的Cache的地址呢?根据页表,查主存页号对应的Cache页号
(四)Cache-直接相联映象
- 主存不仅分页,还要分区
- 每个分区的大小与Cache是一样的
- 每个区的第一页只能放在Cache的第一页,依次递推
- 如果指定的页,有东西了,那么就冲突了,因为只能放在指定的位置
(五)Cache-组相联映象
- 先分区再分组