1. 目的
为了解决计算机容量,价格,速度之间的关系
2.层次
1). 逻辑上分为以下层次:
CPU(通用寄存器) <-> cache <-> 主存 <-> 辅存
2). 主要层次:
• cache:提高访问速度
• 虚拟存储器:提高存储器容量
3.原则
1).包含性原则:上层存储器存储内容为下层存储器一部分内容的副本。比如cache内容为主存某一部分内容的副本。
2).一致性原则:不同层次存储器内容保持一致。(涉及写回策略)
4.指标(命中率)
1).概念:CPU访存时在cache中找到所需信息的概率
2).如何保证命中率:(局部性原则:)
• 时间局部性原则: 刚刚被访问过的数据有可能再次被访问
• 空间局部性原则: 一段时间内被访问的数据往往保存在一小段区域
2).影响因素:
• 程序执行地址流分布情况
• cache替换算法
• cache容量
• cache块大小及预取算法
4).公式:
• H = N1 / N //h:命中率, N1:cache命中次数, N:访存总次数
• F = 1 - H //F: 失效率
• Ta = H*Tc + (1-H)*Tm //Ta:平均访存时间, Tc:cache存取时间, Tm:主存存取时间
• Sp = Tm / Ta //加速比
• e = Tc / Ta //访问效率