Cache 的概念

Cache的功能:提高CPU数据输入输出的效率,调和CPU速度与内存存取速度之间巨大的差异。
在计算机的存储系统中,Cache是访问速度最快的层次。
使用Cache 改善系统性能的依据是程序的局部性原理。

命中率及相关问题

定义如下字符:
高速缓冲存储器 - 图1: 对Cache的访问命中率
高速缓冲存储器 - 图2:Cache的周期时间
高速缓冲存储器 - 图3:主存储器周期时间

高速缓冲存储器 - 图4:使用“Cache+主存储器”的系统的平均周期
以读操作为例:
高速缓冲存储器 - 图5
其中:高速缓冲存储器 - 图6 也称为失效率(未命中率)。

image.png

Cache 的读写过程

第一种方式:写直达

当要写 Cache 时,数据同时写回主存储器,有时也称为写通。

第二种方式:写回

CPU修改Cache的某一行后,相应的数据并不立即写入主存储器单元。而是当该行被从Cache中淘汰时,才把数据写回到主存储器中。

第三种方式:标记法

对Cache中的每一个数据设置一个有效位。

地址映射

常见的映像方法有:

  • 直接映像
  • 相联映像
  • 组相联映像

地址映像是将主存与Cache的存储空间划分为若干大小相同的页(或称为块)。 例如:某机的主存容量为1GB,划分为2048页,每页512KB;Cache 容量为 8MB,划分为16页,每页为 512 KB。

直接映像

image.png

image.png

全相联映像

image.png

image.png

组相联映像

image.png