计算机系统结构第4章

上传人:kms****20 文档编号:46586117 上传时间:2018-06-27 格式:PDF 页数:102 大小:547.76KB
返回 下载 相关 举报
计算机系统结构第4章_第1页
第1页 / 共102页
计算机系统结构第4章_第2页
第2页 / 共102页
计算机系统结构第4章_第3页
第3页 / 共102页
计算机系统结构第4章_第4页
第4页 / 共102页
计算机系统结构第4章_第5页
第5页 / 共102页
点击查看更多>>
资源描述

《计算机系统结构第4章》由会员分享,可在线阅读,更多相关《计算机系统结构第4章(102页珍藏版)》请在金锄头文库上搜索。

1、第 4 章 存 贮 体 系4.1 存贮体系的形成与性能存贮体系的形成与性能4.2 虚拟存贮器虚拟存贮器4.3 高速缓冲存贮器高速缓冲存贮器(Cache) 4.4 主存保护主存保护第第 4 章 存 贮 体 系章 存 贮 体 系第 4 章 存 贮 体 系4.1 存贮体系的形成与性能存贮体系的形成与性能4.1.1 发展存贮体系的必要性 发展存贮体系的必要性 存贮器容量SM=Wlm。其中,W为存贮体的字长(单位为位或字节), l为每个存贮体的字数, m为并行工作的存贮体个数。第 4 章 存 贮 体 系存贮器的速度可以用访问时间TA、存贮周期TM和频宽(也称带宽)Bm来描述。TA是存贮器从接到访存读申请

2、,到信息被读到数据总线上所需的时间。这是确定处理机与存贮器时间关系的一个重要指标。这段时间是处理机在启动访存申请后必须等待的时间。TM则是连续启动一个存贮体所需要的间隔时间,它一般总比TA大。存贮器频宽是存贮器可提供的数据传送速率,一般用每秒钟传送的信息位数(或字节数)来衡量,又分最大频宽(或称极限频宽)和实际频宽。最大频宽Bm是存贮器连续访问时能提供的频宽。单体的Bm=W/TM。m个存贮体并行工作时可达到的最大频宽Bm=Wm/TM。由于存贮器不一定总能连续满负荷地工作, 所以,实际频宽往往要低于最大频宽。第 4 章 存 贮 体 系 存贮器的价格可以用总价格C或每位价格c来表示。具有S M位的

3、存贮器每位价格c=C/SM。存贮器价格包含了存贮单元本身及为该存贮器操作所必须的外围电路的价格。 计算机系统总希望存贮器能在尽可能低的价格下,提供尽量高的速度和尽量大的存贮容量。在速度上应尽量和CPU匹配,否则CPU的高速性能难以发挥。容量上应尽可能放得下所有系统软件及多个用户软件。同时,存贮器的价格又只能占整个计算机系统硬件价格中一个较小而合理的比例。然而,价格、速度和容量的要求是互相矛盾的。在存贮器件一定的条件下,容量越大,因其延迟增大而使速度越低。容量越大,存贮器总价格当然也就会 越大。 存取速度越高,价格也将越高。同等容量的情况下存贮器的速度大体上按双极型、MOS型、电荷耦合器件(CC

4、D)、 磁泡、定头磁盘、 动头磁盘、 磁带的顺序依次下降。第 4 章 存 贮 体 系4.1.2 并行主存系统频宽的分析并行主存系统频宽的分析图 4.1 单体单字存贮器第 4 章 存 贮 体 系图4.1是一个字长为W位的单体主存,一次可以访问一个存贮器字,所以主存最大频宽Bm=W/TM。假设,此存贮器字长W与CPU所要访问的字(数据字或指令字,简称CPU字)的字长W相同, 则CPU从主存获得信息的速率就为W/TM。我们称这种主存是单体单字存贮器。 第 4 章 存 贮 体 系要想提高主存频宽Bm,使之与CPU速度匹配,显然可以想到,在同样的器件条件(即同样的TM)下,只有设法提高存贮器的字长W才行

5、。 例如,改用图4.2的方式组成,这样,主存在一个存贮周期内就可以读出4个CPU字, 相当于CPU从主存中获得信息的最大速率提高到原来的4倍,即Bm=4W/TM。我们称这种主存为单体多字存贮器。第 4 章 存 贮 体 系图 4.2 单体多字(m=4)存贮器第 4 章 存 贮 体 系图 4.3 多体(m=4)交叉存贮器第 4 章 存 贮 体 系表 4.1 地址的模4低位交叉编址第 4 章 存 贮 体 系图 4.4 4个分体分时启动的时间关系第 4 章 存 贮 体 系设p(k)表示申请序列长度为k的概率密度函数,其中k=1, 2, , m。 即p(1)是k=1的概率,p(2)是k=2的概率,p(m

6、)是k=m的概率。 k的平均值用B表示,则 mkkpkB1)(它实际上就是每个主存周期所能访问到的平均字数,正比于主存实际频宽(只差一个常数比值TM/W)。p(k)与程序的状态密切相关,如果访存申请队都是指令的话,那么影响最大的是转移概率,它定义为给定指令的下条指令地址为非顺序地址的概率。第 4 章 存 贮 体 系申请队中如果第一条就是转移指令且转移成功,与第一条指令并行读出的其他m-1条指令就是没用的,相当于k=1,所以p(1)=(1-)0;k=2的概率自然是第一条没有转移(其概率为1-),第二条是转移指令且转移成功的情况,所以,p(2)=(1-p(1)=(1-)1;同理,p(3)=(1-p

7、(1)-p(2)=(1-)2。如此类推,p(k)=(1-)k-1,其中1km。如果前m-1条均不转移,则不管第m条是否转移,k都等于m,故p(m)=(1-)m-1。第 4 章 存 贮 体 系这样,1221)1 ()1)(1()1 (3)1 (21)(mmmkmmkpkB经数学归纳法化简可得 10)1 (miiB这是一个等比级数, 因此m B)1 (1第 4 章 存 贮 体 系图 4.5 m个分体并行存取的B=f()曲线第 4 章 存 贮 体 系4.1.3 存贮体系的形成与分支存贮体系的形成与分支图 4.6 主存辅存存贮层次第 4 章 存 贮 体 系图 4.7 Cache主存存贮层次第 4 章

8、存 贮 体 系图 4.8 多级存贮层次第 4 章 存 贮 体 系4.1.4 存贮体系的性能参数存贮体系的性能参数图 4.9 二级存贮体系的评价第 4 章 存 贮 体 系设ci为Mi的每位价格,SMi为Mi的以位计算的存贮容量,TAi为CPU访问到Mi中的信息所需要的时间。为评价存贮层次的性能,引入存贮层次的每位价格c、命中率H和等效访问时间TA。 存贮层次的每位平均价格212121MMMM SSScScc第 4 章 存 贮 体 系命中率H定义为CPU产生的逻辑地址能在M1中访问到(命中到)的概率。命中率可用实验或模拟方法来获得,即执行或模拟一组有代表性的程序,若逻辑地址流的信息能在M1中访问到

9、的次数为R1,当时在M2中还未调到M1的次数为R2,则命中率211 RRRH第 4 章 存 贮 体 系存贮层次的等效访问时间21)1 (AAATHHTT设CPU对存贮层次相邻二级的访问时间比r=TA2/TA1,则rHHTHHTTTTeAAAAA )1 (1 )1 ( 2111 第 4 章 存 贮 体 系图 4.10 对于不同的r, 命中率H与 访问效率e的关系第 4 章 存 贮 体 系4.2 虚 拟 存 贮 器虚 拟 存 贮 器4.2.1 不同的虚拟存贮管理方式不同的虚拟存贮管理方式1. 段式管理 段式管理 第 4 章 存 贮 体 系图4.11段式管理的定位映象机构及其地址的变换过程第 4 章

10、 存 贮 体 系图 4.12 段式存贮分配算法第 4 章 存 贮 体 系图 4.13 采用页式存贮后D道程序仍可装入2. 页式管理页式管理第 4 章 存 贮 体 系图 4.14 页式管理的定位映象机构及其地址的变换过程第 4 章 存 贮 体 系3. 段页式管理 段页式管理 图 4.15 段页式管理的定位映象机构及其地址的变换过程第 4 章 存 贮 体 系例如,若程序虚地址为24位,其中页内地址Nr为10位,即Nr(10位) )14(位VN程序虚地址则页表就需要2Nv,即214行,而页面大小只有2Nr=210。因此, 页表本身就可能要分存于16个页面。为此要建立多级页表, 用页表基址寄存器指明第

11、一级页表的基址,用第一级页表中各行的地址字段指明第二级各个页表的基址,依次类推。 用树的概念很容易得出这种页表级数i和Nv、Nr的关系为 rVNNNirNV2 2log2log第 4 章 存 贮 体 系如果页表中的每一项(行)需要Be个编址单元,而Be是2的幂,则Be需用Ne=log2Be个地址位表示,这样就有 erV NNNi例如,Multics地址是以字节为单位的,其Nv=26,而映象表每一行(项)需要两个字节,即Ne=1,Nr=10,所以表的级数为26/(10-1)=3。 就是说,光有段、页二级表不够,必须采用三级表。第 4 章 存 贮 体 系4.2.2 页式虚拟存贮器构成页式虚拟存贮器

12、构成1. 地址的映象和变换 地址的映象和变换 图 4.16 虚实地址对应关系及空间的压缩第 4 章 存 贮 体 系所谓地址的映象是将每个虚存单元按某种规则(算法)装入(定位于)实存,即建立多用户虚地址Ns与实主存地址np之间的对应关系。对于页式而言,实际上就是将多用户虚页号Nv的页可以装入主存中的哪些页面位置,建立起Nv与nv的对应关系。而地址的变换则指的是程序按照这种映象关系装入实存后,在执行时,多用户虚地址Ns如何变换成对应的实地址np。对页式而言就是多用户虚页号Nv如何变换成实页号nv。第 4 章 存 贮 体 系图 4.17 全相联映象第 4 章 存 贮 体 系图 4.18 目录表法第

13、4 章 存 贮 体 系要想把该道程序的虚页调入主存,必须给出该页在辅存中的实际地址。为了提高调页效率,辅存一般是按信息块编址的, 页且让块的大小通常等于页面的大小。以磁盘为例,辅存实(块)地址Nvd的格式为块号磁头号柱面号磁盘机号Nvd第 4 章 存 贮 体 系图图 4.19 虚地址到辅存实地址的变换虚地址到辅存实地址的变换第 4 章 存 贮 体 系2. 替换算法替换算法替换算法的确定主要是看按这种替换算法替换是否有高的主存命中率,其次要看算法是否便于实现,辅助软、硬件成本是否低。到目前为止,已研究过各种替换算法,如随机法、先进先出法和近期最少使用(近期最久未用过)法等。第 4 章 存 贮 体

14、 系图 4.20 主存页面表第 4 章 存 贮 体 系替换算法一般是通过用典型的页地址流模拟其替换过程, 再根据所得到的命中率的高低来评价其好坏的。当然影响命中率的因素除了替换算法外,还因地址流、 页面大小、主存容量等不同而不同。 设有一道程序,有1至5共5页,执行时的页地址流(即执行时依次用到的程序页页号)为:2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2 第 4 章 存 贮 体 系图图 4.21 3种替换算法对同一页地址流的替换过程种替换算法对同一页地址流的替换过程第 4 章 存 贮 体 系图 4.22 命中率与页地址流有关第 4 章 存 贮 体 系图 4.23 FI

15、FO法的实页数增加, 命中率反而有可能下降第 4 章 存 贮 体 系什么是堆栈型替换算法呢? 设A是长度为L的任意一个页面地址流,t为已处理过t-1个页面的时间点,n为分配给该地址流的主存页面数,Bt(n)表示在t时间点、在n页的主存中的页面集合,Lt表示到t时间点已遇到过的地址流中相异页的页数。如果替换算法具有下列包含性质:) 1()(,) 1()(,nBnBLnnBnBLntttttt时时则此替换算法属堆栈型的替换算法。第 4 章 存 贮 体 系用堆栈处理技术对地址流进行模拟处理时,主存在t时间点的状况用堆栈St表示。St是Lt个不同页面号在堆栈中的有序集,St(1)是t时间点的St的栈顶

16、项,St(2)是t时间点的St的次栈顶项,依次类推。按照堆栈型算法具有的包含性质,必有)(,),2(),1 ()(,)(,),2(),1 ()(,tttttttttttLSSSnBLnnSSSnBLn时时第 4 章 存 贮 体 系对不同的堆栈型替换算法,St各项的改变过程是不同的。例如,LRU算法是把主存中刚访问过的页号置于栈顶,而把最久未被访问过的页号置于栈底。确切地说,t时间点访问的页At,若 , 则把At压入堆栈使之成为St(1),而St-1(1)成为St(2), St-1(2)成为St(3),即St-1各项都下推一个位置;若AtSt-1, 则把它由St-1中取出,压入栈顶成为St(1),在At之下各项的位置不动,而At之上的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号