欢迎来到天天文库
浏览记录
ID:10749100
大小:203.50 KB
页数:36页
时间:2018-07-08
《第五章 存储器层次结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第五章存储器层次结构第五章存储器层次结构存储器是计算机系统的核心组成部分。本章介绍存储器层次结构(memoryhierarchy)的基本概念和原理,讨论和分析如何利用局部性原理提高Cache/主存存储器层次结构、虚拟存储器(主存/辅存存储层次)的性能。最后以Alpha机的存储系统为实例综合介绍存储体系的工作过程。5.1存储器层次结构的基本概念5.1.1存储器的基本性能参数评价存储器性能的参数主要有三个方面:容量、速度与价格。存储器容量用S=W×l×m表示,W为存储器字长,l为存储器字数,m则为存储器体数。评价存储器的速度一般有以下几个参数:访问时
2、间(accesstime)Ta:从存储器接到读请求到所读的字传送到数据总线上的时间间隔。存储周期Tm:连续两次访问存储器之间所必需的最小时间间隔。一般Tm>Ta。存储带宽Bm:存储器被连续访问时所提供的数据传输速流,单位是位(或字节)/秒。存储器的价格通常用单位字节价格来表示。若总容量为S的存储器的总价格为C,则单位字节价格c=C/S。5.1.2存储器层次结构的基本原理程序设计人员总是希望存储器的速度尽可能的高,以与处理器的速度相匹配;存储器的容量尽可能的大,以装下可能极大的程序;因此,高速度、大容量、低价格始终是存储体系的设计目标。一方面,经过
3、几十年的发展,存储器的工艺实现技术有了突飞猛进的发展,高速、大容量、低价的存储器件以惊人的速度生产出来。尽管如此,存储技术的发展证明单一工艺的单一存储器很难同时满足容量、价格、速度三方面的性能要求(见图5.1存储器的速度与价格的关系曲线)。事实上,对容量与速度、速度与价格、容量与价格的性能要求是相互有矛盾的。而且,存储器速度的改进始终跟不上CPU速度的提高。图5.1存储器的速度与价格的关系曲线另一方面,第一章中我们已介绍了局部性原理,即所有程序都具有这样的行为特性:程序倾向于再次使用最近刚用过的数据和指令。这样的局部性反映在空间和时间两个方面。空
4、间局部性(spatiallocality)((如果某个数据或指令被引用,那么地址邻近的数据或指令不久很可能也将被引用。时间局部性(temporallocality)((如果某个数据或指令被引用,那么不久它可能还将再次被引用。5-36第五章存储器层次结构为了满足对存储器的性能要求,随着存储技术的不断发展,根据程序本身这种局部性的行为特性以及小硬件速度更快的设计原则,基于不同容量和速度的多种存储器所构成的存储器层次结构很自然地就产生了,如图5.2。一个存储器层次结构由多级不同类型的存储器构成;越靠近CPU的存储器容量越小、速度越快、价格越高,离CPU
5、越远的存储器容量越大、速度越慢、价格越低;第i级存储器存储的信息是第i-1级存储信息的子集(根据时间局部性),相邻两级存储器之间以块为单位进行信息交换(根据空间局部性);各级存储器借助辅助软硬件构成一个整体,使得该存储体系具有接近于第n级存储器速度、接近于第1级存储器容量和单位字节价格的性能。图5.2存储器层次结构存储器层次结构是由多级存储器构成的,但管理是以两级存储器为单位来进行的,而且一般只有在相邻两级存储器之间可以进行信息交换。下面以两级存储器层次结构(简称存储层次,如图5.3为例介绍存储器层次结构的一些基本概念。块(block):相邻两级
6、存储器之间信息交换的最小单位。块大小一般是固定的,也可以是可变的。若块大小固定,则两级存储器的容量为块大小的整数倍。图5.3两级存储器层次结构命中率(hitrate)H:CPU产生的有效地址可以直接在高层存储器中访问到的概率。失效率(missrate)M:CPU产生的有效地址直接在高层存储器中访问不到的概率。M=1-H。命中时间(hittime):访问高层存储器所需的时间,其中包括本次访问是命中还是失效的判定时间。失效损失(misspenalty):用低层存储器中相应的块替换高层存储器中的块,并将该块传送到请求访问的设备(通常是CPU)的时间。它
7、又可细分为访问时间和传送时间(transfertime)两部分。其中前者指访问高层存储器失效时,在低层存储器中访问到块中第一个字的时间,又称访问延迟(accesslatency)。后者则是传送块内其它字的附加时间。访问时间与低层存储器的延迟有关,而传送时间则依赖于两级存储器之间的传输带宽和块大小。5.1.3存储器层次结构的性能由于存储器层次结构的设计目标之一是使其速度接近于高层存储器的速度,因此容易根据命中率的高低来评价存储器层次结构性能的好坏。由于命中率或失效率与硬件速度无关,因而这样的评价是很片面的。更好的评价存储器层次结构的性能参数是平均存
8、储访问时间(averagememory-accesstime),其定义如下:平均存储访问时间=命中时间+失效率×失效损失应该注意的是尽管
此文档下载收益归作者所有