1.时间局部性是指程序将要用到的信息很可能就是现在正在使用的信息,典型的例子是循环的反复执行。
2.空间局部性是指程序将要用到的信息很可能与现在正在使用的信息在存储空间上是相邻的
3.命中率H:CPU访问该存储系统时,在M1中找到所需要信息的概率
H=N1/(N1+N2)
不命中率F=1-H
4.Cache-主存层次:弥补主存速度的不足;全部由专门硬件实现。
主存-辅存层次:弥补主存容量的不足;主要由软件实现
5.平均访问时间TA=T1+(1-H)*TM
6.平均访存时间=命中时间+失效率*失效开销
7.Cache工作流程:
(1)映像规则:放哪里?
(2)查找算法:怎么找?
(3)替换算法:替换谁?
(4)写策略:如何写?
8.全相联映像(全相联映射):主存的任一块可以被放到Cache的任意一个位置
9.直接映像(直接映射):主存的每一个块只能被放到Cache中唯一的一个位置
10.组相联映像(组相联映射):主存中的每一块可以被放到Cache中唯一的一个组中的任何一个位置
11.写策略主要有两种:
(1)写直达法(存直达法):不仅把数据写入Cache中相应的块,而且也写入下一级存储器。数据一致,速度慢。
(2)写回法(拷回法):只把数据写入Cache中相应的块,不写入下一级存储器。数据不一致,速度快。
12.CPU时间=IC*(CPI+每条指令的平均访存次数*不命中率*不命中开销)*时钟周期时间