内存层次结构是由高速但容量较小的存储器和低速但容量更大的存储器通过控制器链接而成的。采用内存层次结构可以提高系统性能,这是因为高速缓存存储器(cache)在速度和容量方面都优于主存储器(RAM),而主存储器又比硬盘(HD)快得多。
高速缓存存储器可以存储最常用的数据和指令,并通过相对宽的总线与处理器交互。高速缓存可以使得在处理数据时不需要总是去访问主存储器,从而提高了运行速度。因此,高速缓存可以称为“顺手(handy)的存储器”或“易用(sympathetic)的存储器”。
人们在编写代码时往往喜欢采用局部性原理来提高程序性能。局部性原理是指程序中倾向于重复使用最近使用过的数据。采用内存层次结构可以更好地利用局部性原理,因为程序中最常用的数据可以备份在高速缓存存储器(或在更高层次的存储器)。这可以减少主存储器和硬盘上处理数据的次数。
采用内存层次结构可以利用较小容量较高速的存储器,代替大容量低速的存储器,从而使得系统成本可以更低。例如,一台计算机采用30 MB 的硬盘、2 MB 的主存储器和32 KB 的高速缓存存储器,在计算机的整个生命周期中,使用30 MB 的硬盘可能会使用3到5次,使用2 MB 的主存储器可能会使用数千次,而使用32 KB的高速缓存存储器可能会使用数百万次。这也是为什么主流处理器到现在都会用高速缓存存储器的原因之一。
采用内存层次结构可以优化处理器的效率,加速计算机的数据流。如果不采用内存层次结构,处理器从片上内存中直接获取数据,这样可能会浪费大量的时间。因此,采用内存层次结构,可以将常见的数据和指令存储在高速缓存存储器中,而不是直接访问片上内存。通过这种方式来加速计算机的工作效率。