CSAPP 第六章 存储器层次结构
6-1 存储技术
Random Access Memory(随机访问存储器)
- Static RAM(Cache)
- Dynamic RAM(内存)
DRAM
二维是为了降低chip(芯片)上地址引脚的数量。
DRAM construct 的内存模块
6-2 机械磁盘
SRAMs/DRAMs:\(K=2^{10}\)
I/O device:\(K=10^3\)
寻道
T=9ms
旋转
\(T_{Max}=8ms\)
\(T_{avg}=4ms\)
传送
T=0.02ms
操作系统的视角
6-3 固态硬盘/局部性
固态硬盘
不可以直接覆盖,必须得擦除。
局部性
6-4 存储器的层次结构
用低位做索引的原因
用高位做索引,cache的使用率太低了(若空间局部性良好的话),如图所示
6-5 直接映射高速缓存
即Line=1的情况
Conflict Misses
抖动
解决方案:改变数组大小
6-6 组相联/全相联高速缓存
替换策略
写入策略
写穿透:缓存+主存 写不分配:直接往内存写
写回:缓存 写分配:从内存加载到cache中,再往cache写。
块大小的影响
块越大,对空间局部性好的好,行越少,对时间局部性好的命中率就会受到损害,因为会反复加载。
cache line的影响
cache line 越多,抖动现象发生的几率就越低。相联度越高,实现的复杂度就高,访问速度难提高。
写策略的影响
L1L2 一般使用写穿透,越往下写回越多。