第五章 存储器层次结构 5-1 第五章 存储器层次结构 存储器是计算机系统的核心组成部分。本章介绍存储器层次结构(memory hierarchy )的基本概念和原理,讨论和分析如何利用局部性原理提高Cache/主存存储器层次结构、虚拟存储器(主存/辅存存储层次)的性能。最后以Alpha 机的存储系统为实例综合介绍存储体系的工作过程。 5 .1 存储器层次结构的基本概念 5 .1 .1 存储器的基本性能参数 评价存储器性能的参数主要有三个方面:容量、速度与价格。 存储器容量用S=W×l×m 表示,W 为存储器字长,l 为存储器字数,m 则为存储器体数。评价存储器的速度一般有以下几个参数: 访问时间(access time)Ta:从存储器接到读请求到所读的字传送到数据总线上的时间间隔。 存储周期 Tm:连续两次访问存储器之间所必需的最小时间间隔。一般 Tm > Ta。 存储带宽 Bm:存储器被连续访问时所提供的数据传输速流,单位是位(或字节)/秒。 存储器的价格通常用单位字节价格来表示。若总容量为S 的存储器的总价格为C,则单位字节价格c=C/S。 5 .1 .2 存储器层次结构的基本原理 程序设计人员总是希望存储器的速度尽可能的高,以与处理器的速度相匹配;存储器的容量尽可能的大,以装下可能极大的程序;因此,高速度、大容量、低价格始终是存储体系的设计目标。 一方面,经过几十年的发展,存储器的工艺实现技术有了突飞猛进的发展,高速、大容量、低价的存储器件以惊人的速度生产出来。尽管如此,存储技术的发展证明单一工艺的单一存储器很难同时满足容量、价格、速度三方面的性能要求(见图 5.1 存储器的速度与价格的关系曲线)。事实上,对容量与速度、速度与价格、容量与价格的性能要求是相互有矛盾的。而且,存储器速度的改进始终跟不上 CPU 速度的提高 。 图 5.1 存储器的速度与价格的关系曲线 另一方面,第一章中我们已介绍了局部性原理,即所有程序都具有这样的行为特性:程序倾向于再次使用最近刚用过的数据和指令。这样的局部性反映在空间和时间两个方面。 空间局部性(spatial locality )((如果某个数据或指令被引用,那么地址邻近的数据或指令不久很可能也将被引用。 时间局部性(temporal locality )((如果某个数据或指令被引用,那么不久它可能还将再次被引用。 为了满足对存储器的性能要求,随着存储技术的不断发展,根据程序本身这种局部性的行为特性以及小硬件速度更快的设计原则,基于不同容量和速度的多...