存储器层次结构主要包括
存储器层次结构
L0:cpu寄存器,一个cpu时钟周期内访问
L1(或和L2):SRAM的高速缓存存储器,几个时钟周期
L3:DRAM的主存,几十或几百个时钟周期
L4:本地磁盘
L5:远程二级存储
存储器层次结构的中心思想:对于每个K,位于K层的更快更小的存储设备作为位于K+1层的更大更慢的存储设备的缓存。
数据总是以块大小为传送单元在第K层和第K+1层之间来回拷贝的。
缓存命中:程序需要第K+1层的数据能在第K层的缓存中找到就是缓存命中;
缓存不命中:如果第K层中没有所需要的数据,就说缓存不命中,此时它必须从K+1层中取出数据到第K层中。
缓存不命中的种类:1)强制性不命中,当缓存为空时;2)缓存变暖之后的不命中,此时需要替换策略。
随机替换:基于硬件实现,速度最优,价格昂贵;
限制性替换:使用严格的放置策略,将第K+1层的某个块限制放置在第K层块的一个小的子集中。
冲突不命中:因限制性替换策略而引起的,缓存足够大却因为某些对象映射到同一个缓存块而造成一直不命中的现象。
容量不命中:因工作集的大小超过缓存大小而出现的缓存不命中现象。
高速缓存管理:将缓存划分成块,在不同的层之间传送块,判定是命中还是不命中,并处理它们。