4.3 高速缓冲存储器 一、概述 1.问题的提出 避免CPU空等现象 CPU和主存(DRAM)的速度差异 缓存:容量小速度高 主存:容量大速度低 程序访问的局部性原理:时间和空间 2.Cache的工作原理 (1)主存和缓存的编址 (2)命中与未命中 缓存共有C块 主存共有M块 M>>C 命中 : 主存快调入缓存 主存块与缓存块建立了对应关系 用标记记录与某缓存块建立了对应关系的主存块号 未命中: 主存块未调入缓存 主存块与缓存块未建立对应关系 (3)Cache的命中率 CPU欲访问的信息在Cache中的比率 命中率与Cache的容量与块长有关 一般每块可取4~8个字 块长取一个存取周期内从主存调出的信息长度 (4)Cache—主存系统的效率 效率e 与命中率有关 e = 访问Cache时间/平均访问时间*100% 设Cache的命中率为h,访问Cache的时间为tc,访问主存的时间为tm 则e = tc/(h*tc+(1-h)*tm)*100% 3.Cache的基本结构 4.Cache的读写操作 写 Cache和主存的一致性 写直达法(Write-through) 写操作时数据既写入Cache又写入主存 写操作时间就是访问主存的时间,Cache块退出时,不需要对主存执行写操作,更新策略比较容易实现 写回法(Write—back) 写操作时只把数据写入Cache而不是写入主存当Cache数据被替换出去时才写回主存 写操作时间就是访问Cache的时间 Cache块退出时,被替换的块需写回主存,增加了Cache的复杂性 5.Cache的改进 (1)增加Cache的级数 片载Cache 片外Cache (2)统一缓存和分立缓存 指令Cache 数据Cache 与指令执行的控制方式有关 是否流水