计算机系统结构第三章-存储系统课件.ppt
《计算机系统结构第三章-存储系统课件.ppt》由会员分享,可在线阅读,更多相关《计算机系统结构第三章-存储系统课件.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 存储系统(P130)长期存在的问题:在合理的总价格限制下,单纯性主存设备的速度跟不上CPU的发展,容量不能满足软件尺寸扩大。本章学习两种提高主存系统性能/价格比的结构化方法:并行存储器与存储层次技术。后者为主。2003.3.1 1 计算机系统结构Proc60%/yr.DRAM7%/yr.110100100019801981198319841985198619871988198919901991199219931994199519961997199819992000DRAMCPU1982Processor-MemoryPerformance Gap:(grows 50%/year)Per
2、formance“Moores Law”Processor Only Thus Far in Course:CPU cost/performance,Pipelined Execution CPU-DRAM Gap 1980:no cache in proc;1995 2-level cache on chip(1989 first Intel proc with a cache on chip)提高存储器性能的必要性2003.3.1 2 计算机系统结构3.1 并行存储器(P136)并行存储器技术可以提高主存系统的整体等效速度,实际应用中,常将它与存储层次技术组合使用,可以互为补充,获得很高的
3、性能。并行存储器技术的基本思想是用多个独立的存储部件组成主存系统,让它们并行工作,在一个存储周期内可以访问到多个数据,从而实现较高的存取流量。并行存储器包括多种类型,我们介绍提高访问容量的高位交叉访问存储器和提高访问速度效果最显著的低位交叉访问这两种。2003.3.1 3 计算机系统结构高位交叉访问存储器:它由n个存储体组成(一般n为2的整次幂),每个体均有独立的地址译码器和数据缓冲器,以主存地址高位字段(最高的log2n位)作为体选译码信号,而剩下的低位字段则是体内地址。如图所示(设 n=4)。2003.3.1 4 计算机系统结构低位交叉访问并行存储器的结构:它由n个存储体组成(一般n为2的
4、整次幂),每个体均有独立的地址译码器和数据缓冲器,以主存地址低位字段(最低的log2n位)作为体选译码信号,而剩下的高位字段则是体内地址。如图所示(设 n=4)。2003.3.1 6 计算机系统结构主存地址与结构参数的换算(P139):其中:n 存储体个数,A 主存地址,j 体内地址,k 体序号(k=0,1,2,n-1)例3.1 已知 n=4,问主存地址13是在几号体的几号单元?解:由于 n=4,体选译码信号使用主存地址的最低 log2n=2位,所以地址13(其二进制为1101B)对应的体号k=1(即01B)、体内地址j=3(即11B),也就是说,地址13位于1号体的3号单元(参看前一页插图)
5、。根据上式,所有k值(即体号)相同的地址之间均相差n的整倍数,称之为“模n同余”。2003.3.1 7 计算机系统结构低位交叉访问并行存储器的加速机理:我们衡量存储器件速度的常用指标是存储周期Tm,它是同一存储单元连续两次启动的最小时间间隔,数值越小表明存储器件速度越快。传统存储系统只有一套地址译码器和数据缓冲器,所以各单元必须串行工作,也就是说每个Tm周期内至多只能完成一次访问。由多个存储体构成的并行存储器中,各个存储体都有独立的地址译码器和数据缓冲器,它们可以并行工作,使得一个Tm周期内可完成多次访问,相当于加速了多倍。最好情况下一个Tm周期内可完成n次访问。当前Tm周期中只要发现有一个新
6、的访问地址与前面地址属于同一个存储体,该地址及其后面的地址就会被阻塞(称为访存冲突),留到下一个Tm周期访问。机器地址序列常常具有顺序性,按照低位交叉的规律分配地址可使相继出现的地址落在相同存储体的概率降到最低(参见上图)。考虑到地址总线与数据总线的拥挤问题,一个Tm周期里发送的多个访问请求最好彼此错开Tm/n时间,如P140图3.11所示,否则实现的复杂度会增加。2003.3.1 8 计算机系统结构对于有n个存储体的主存系统,每个主存周期能取出的平均字数N就是加速比。设 p(k)表示每个主存周期能取出k个字的概率,则:显然,如果 p(n)=1(p(1)p(n-1)=0),则N=n;如果 p(
7、1)=1(p(2)p(n)=0),则N=1。设程序发生转移的概率为g,则:k=1,指从第一个存储体中读出的指令是转移指令,而且转移成功,则 p(1)=g;k=2,指从第二个存储体中读出的指令是转移指令,而且转移成功,则 p(2)=(1-g)g;同理,k=3,p(3)=(1-g)2g k=n-1,p(n-1)=(1-g)n-2g k=n,p(n)=(1-g)n-12003.3.1 10 计算机系统结构2003.3.1 11 计算机系统结构3.2 存储层次原理及性能指标3.2.1 基本原理 定义:a)两个或两个以上的速度、容量和价格各不相同的存储器用硬 件、软件或软件与硬件相结合的方式连接起来成为
8、一个系统;b)这个系统对于应用程序员来讲是透明的;c)从应用程序员来看,它是一个存储器,这个存储器的速度接 近速度最快的那个存储器,存储容量与容量最大的那个存储 器相等。单位容量的价格接近最便宜的那个存储器的价格。分析:由2种或多种存储部件构成的复合存储系统,通过内部管理机构 的自动更换机制,能够不断将大容量低速存储部件中的活跃内 容复制到小容量高速存储部件中(后者作为前者的局部副本)。它既能满足CPU的快速存取需要,又有很大的存储容量,平均 单位价格也很低,等效于同时满足3方面要求的理想单一存储部 件。2003.3.1 13 计算机系统结构 模型:如右图所示,存储层次由n层组成,满足3个不等
9、式:TiTi+1,Sici+1。T min(T1,T2,Tn),存储周期S max(S1,S2,Sn).用MB或GB表示容量C min(C1,C2,Cn),用每位的价格表示M1(T1,S1,C1)M2(T2,S2,C2)Mn(Tn,Sn,Cn)从外部看2003.3.1 15 计算机系统结构3.2.2 存储层次的性能指标(P132-P134)(1)容量:S=S2(理论上)要求:存储系统的容量等于存储容量大的那个存储器 提供尽可能大的地址空间,且能够随机访问。方法:1.只对存储容量大的那个存储器进行编址,存储容量小的 存储器只在内部编址;2.另外设计一个容量很大的逻辑地址空间,在系统内部,对两个存
10、储器分别进行编址,并将这两个存储器的地址 映象到这个逻辑地址空间 虚拟空间。2003.3.1 16 计算机系统结构(3)速度:表现访问速度的参数很多,包括访问周期、存取周期,存取时间等,访问周期与命中率有关。命中率:反映被访问数据事先已在M1的发生概率 其中,N1是对M1存储器的访问次数 N2是对M2存储器的访问次数 等效访问时间:命中时的访问时间为T1,不命中时的访问时间为T2,等效访问时间则是它们的概率均值:2003.3.1 18 计算机系统结构 访问效率:这是一个相对值,便于不同系统之间的比较。访问效率e受H和r的影响(参见右图):2003.3.1 19 计算机系统结构例3.1:假设T2
11、=5T1,在命中率H为0.9和0.99两种情况下,分别计算存储系统的访问效率。解:当H0.9时,e11(0.95(10.9)0.72 当H0.99时,e21(0.995(10.99)0.96 例3.2:在虚拟存储系统中,两级存储器的速度相差特别悬殊 T2=105 T1。如果要使访问效率e0.9,问需要有多高 的命中率?解:0.9H90000(1H)1 89999.1H89999 计算得H0.9999988888777770.999999 2003.3.1 20 计算机系统结构 这里所说的“预取”技术,并不是根据对程序执行的未来趋势进行猜测以提前调入数据,而仅仅是在发生不命中情况时把调入1个数据
12、字改为调入1个数据块的策略。即当发生不命中的时候,把M2存储器中相邻n个单元的数据组成一个数据块都取出来,送入M1存储器中。根据程序的局部化原理,在当前使用数据周围的其它数据未来被使用的几率大于远处数据,所以该数据块中被提前调入的邻近数据很可能成为未来的命中点,从而提高命中率。采用这种预取技术后新的命中率为:其中:H 原命中率(即按照不命中时取入1数据字的策略);H 新命中率(即按照不命中时取入1数据块的策略);n 每块数据被访问次数。(4)预取技术对命中率的提高作用(P134):2003.3.1 21 计算机系统结构按照定义,原不命中率,新不命中率,并且有。由于预取使得每块数据中的不命中次数
13、降低了n倍,所以有。此式可改写为,整理得。H的推导:2003.3.1 22 计算机系统结构例3.3:在一个Cache存储系统中,当Cache的块大小为一个 字时,命中率为H0.8;假设数据的重复利用率为 5,计算Cache的块大小为4个字时,Cache存储系统 的命中率是多少?假设T2=5T1,分别计算访问效率。解:n4520,采用预取技术之后,命中率提高到:Cache的块大小为一个字时,H0.8,访问效率为:e11(0.85(10.8)0.55 Cache的块大小为4个字时,H0.99,访问效率为:e21(0.995(10.99)0.96 2003.3.1 24 计算机系统结构 加速比(P1
14、93)Cache-主存层次的主要作用是提高访问速度,系统的等效速度应高于主存(即M2)的原有速度,两个速度之比称为加速比。2003.3.1 25 计算机系统结构例3.4:在一个虚拟存储系统中,T2105 T1,原来的命中率 只有0.8,现采用预取技术,访问磁盘存储器的数据 块大小为4K字,如果要求访问效率不低于0.9,计算 数据在主存储器中的重复利用率至少为多少?解:假设数据在主存储器中的重复利用率为m,根据前面的给出关系:解这个方程组,得到m44,即数据在主存储器中 的重复利用率至少为44次。2003.3.1 26 计算机系统结构解:2003.3.1 28 计算机系统结构思考题:P202,题
15、3(课内讨论)。2003.3.1 29 计算机系统结构段式虚拟存储器的地址映象 主程序(0段)1段2段3段段号 段长 起始地址01231K5002002008K16K9K30K段 表程序空间 主存储器01K05000200020008K9K16K30K2003.3.1 31 计算机系统结构段式虚拟存储器的优点如下:1.程序的模块性能好。对于大程序,可以划分成多个程 序段,每个程序段赋予不同的名字,由多个程序员并行编写,分别编译和调试。由于各个程序段在功能上是相互独立的,因此,一个程序段的修改和增删等不会影响其他程序段,从而可以缩短程序的编制和调试时间。2.便于程序和数据的共享。由于程序段是按功
16、能来划分的,如子程序段、数据段、表格段等。每个程序段有比较完整的功能,因此,被共享的可能性很大。3.程序的动态链接和调试比较容易。由于每个程序段都是一组有独立意义的数据块或具有完整功能的程序段,因此,在程序运行过程中,可以根据需要一次就把一个程序段或数据块都装入到主存储器中,并且在装入时才实行动态链接。4.便于实现信息保护。在一般情况下,一段程序是否需要保护是根据这个程序的功能来决定的。因此,只有在段表中设置一个信息保护字段,就能根据需要很方便地实现对该程序的保护。2003.3.1 32 计算机系统结构段式虚拟存储器的缺点:1.地址变换所花费的时间比较长。从多用户虚地址变换到主存实地址需要查两
17、次,做两次加法运算。2.主存储器的利用率往往比较低。由于每个程序段的长度不同的,一个程序段通常要装在一个连续的主存空间中,程序段在主存储器中不断地调入调出,有些程序段在执行过程中还要动态增加长度,从而使得主存储器中有很多的空隙存在。当然,也可以采用一些好的算法来减少空隙的数量,或者通过定时运行回收程序来合并着这些空隙,但这无疑增加了系统的开销。3.对辅存(磁盘存储器)的管理比较难。磁盘存储器通常是按固定大小的块来访问的,如何把不定长度的程序段映象到固定长度的磁盘存储器中,需要做一次地址变换。2003.3.1 33 计算机系统结构(2)页式管理(P151)。页是系统规定的固定长度单位。按页划分用
18、户文件可以避免上述零碎空间浪费。我们把用户文件划分得到的一个长度单位称为“虚页”,因为它的页号是在虚地址空间中编排的;实地址空间按页的大小划分得到的一个长度单位称为“实页”。页式管理方法的主要缺点是按固定长度分出来的同一页内常有不同属性的信息,不便于信息保护的实现。页式管理方法的虚实变换算法是查页表(P152)。页号 主存页号0123主存储器页 表0页1页2页3页用户程序页式虚拟存储器的地址映象2003.3.1 34 计算机系统结构页式虚拟存储器的优点是:1.主存储器的利用率比较高。每个用户程序只有不到一页(平均为半页)的浪费,与段式虚拟存储器每两个程序段之间都有浪费相比要节省许多。2.页表相
19、对比较简单。它需要保存的字段数比较少,一些关键字段的长度要短许多,因此,节省了页表的存储器容量。3.地址映象和变换的速度比较快。在把用户程序装入到主存储器的过程中,只要建立用户程序的虚页号与主存储器的实页号之间的对应关系即可不必使用整个主存的地址长度,也不必考虑页号的长度等。4.对辅存(磁盘存储器)的管理比较容易。因为页的大小一般取磁盘存储器物理块的大小(512字节)的整数倍。页式虚拟存储器的缺点主要有两个:1.程序的模块化性能不好。由于用户程序是强制按照固定大小的页来划分的,而程序段的实际长度一般是不固定的。因此,页式虚拟存储器中一页通常不能表示一个完整的程序功能。2.页表很长,需要占用很大
20、的存储空间。通常,虚拟存储器中的每一页在页表中都需要占用一个存储字。2003.3.1 35 计算机系统结构(3)段页式管理(P153)。它把上述两种管理方式结合起来,首先将整个文件分段,然后在各段内分页,所以有一个段表和若干个页表。其虚实变换算法是先查段表,查出该段的页表起始地址再查相应的页表(P154)。段页式管理的主要缺点是多查一次表,虚实变换费时较多,占用空间也较大。由于段页式管理方法的最小调度单位仍是页,或者说它是分段之后的分页管理,为了叙述简单,下面的分析还是以页式管理为模型。2003.3.1 36 计算机系统结构段页式虚拟存储器的地址映象0段(12K)1段(10K)2段(5K)每页
21、4KB页表长度 页表地址332段 表0段0页0段1页0段2页1段0页1段1页1段2页0段页表1段页表2段0页2段1页2段页表 用户程序 主存储器2003.3.1 37 计算机系统结构3.3 地址映象与变换(P174)基本术语:逻辑地址(又称为相对地址、虚地址)是程序员在编写和编译一个程序模块时分配指令和数据的空间单位序号,总是从0开始(可以按字节编址、按CPU字编址等)。逻辑地址的取值范围称为逻辑地址空间、虚空间或虚存。物理地址(又称为绝对地址、实地址)是任一级存储器为全部存储单元分配的序号。物理地址的取值范围称为物理地址空间、实空间或实存。从M1到Mn各层都有自己的物理地址空间,而对当前执行
22、的程序模块来说,逻辑地址空间只有一个。地址映象方式指的是虚页集合与实页集合的对应规则,或者说是约束关系。地址变换(又叫虚实变换)指逻辑地址到物理地址的变换过程或者算法。页失效指当前被访问存储级中没有所需的信息,也就是不命中现象。实页争用又叫实页冲突,指虚页调入时,根据地址映象方式划定的实空间范围内已没有空闲实页的状况。2003.3.1 38 计算机系统结构相联目录表技术1.页表占用空间过大问题 页表必须存放在实存M1里。实际上,命中情况下的访存时间等于查表时间加上访问目标数据的时间,所以页表不能放在M2。页表占用空间=页表行数 每行宽度其中,页表行数=虚存容量/页面大小 以PC机为例,页表行数
23、 60G/4K=236/212=224 1600万!按每行宽度6字节估算约需96MB。减少页表空间的思路分减少行数和减少行宽两类。2.相联目录表方法(P158)仅保留页表中已装入的虚页记录。为避免逐行比对,利用相联存储器存放此表,它具有并行比较功能,但价格远高于普通存储器。3.快慢表方法(P159)4.通过地址映象减少行宽 如下文所示2003.3.1 39 计算机系统结构4种常见的地址映象方式3.3.1 全相联(P174)全相联就是无约束对应,或者说是一个完全关系,意思就是一个虚页可以调入任何一个实页。这种关系可用下页示意图(a)、(b)表示。全相联的虚实变换信息完全来自于变换表,查表过程如图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机系统 结构 第三 存储系统 课件
限制150内