1、概述
存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。每一层于下一层相比都拥有较高的速度和较低延迟性,以及较小的容量。
存储器层次结构,对应用程序的性能有着巨大的影响。理解系统是如何将数据在存储器层次结构中上下移动,可写出更符合系统运行的应用程序,运行更快。
2、存储器的层次结构
存储器的层次结构图如下所示:
从顶层往底层走,存储设备变得更慢、更便宜和更大。在最高层L0,是少量快速的CPU寄存器,CPU可在一个时钟周期内访问它们。接下来是一个或多个基于SRAM的高速缓存,可在几个时钟周期内访问它们。在下一层是基于DRAM的主存,可以在几十到几百个时钟周期内访问它们。接下来是速度更慢的本地磁盘…
3、存储器层次结构中的缓存
高速缓存(cache) 是一个小而快速的存储设备,它用来存储下一层更大、也更慢的设备中的数据对象的缓冲区域。使用高速缓存的过程称为 缓存(caching)。
对照层次图简单来说: L0 缓存 L1 中的数据,L1 缓存 L2 中的数据,L2 缓存 L3 中的数据,依此类推。
每层都会拥有多个块(连续数据对象组成的结构),数据总是以块的大小为基本单元在层级之间传递。上一层存储器更小,拥有的块比下一层少很多,只能缓存下层部分数据。如下图所