您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 以下习题来自《计算机系统结构》第七章存储体系。
以下习题来自《计算机系统结构》第七章存储体系。7.1解释下列术语直接映像:每个主存地址映像到Cache中的一个指定地质的方式称为直接映像。全相联映像:任何主存地址可映像到任何Cache地址的方式称为全相联映像。组相联映像:组相联映像指的是将存储空间的页面分成若干组,各组之间是直接映像,而组内各块之间是全相联映像。全写法:全写法也称直达法,即写操作将数据同时写入Cache和缓存。写回法:写Cache时不写主存,仅当被写Cache数据块要被替换出去时才写回主存。虚拟存储器:虚拟存储器是主存的扩展,当主存的容量不能满足要求时,数据可存放在外存中,在程序中仍然按地址访问外存空间。大小取决于计算机的访存能力。段式管理:把主存按段分配的存储管理方式称为段式管理。页式管理:把虚拟存储空间和实际存储空间等分成固定大小的页,各虚拟页可装入主存中不同的实际页面位置。段页式管理:段页式管理式段式管理和页式管理的结合,他将存储空间按逻辑模块分成段,每段又分成若干个页,访存通过一个段表和若干个页表进行。段的长度必须是页的长度的整数倍,段的起点必须是某一页的起点。快表:为了提高页表中常用项的访问速度,采用快速硬件构成的比全表小的多的部分表格。慢表:存放在主存中的整个页表。高速缓存:高速缓冲存储器是位于CPU和主存之间的高层存储子系统。时间局部性:如果一个存储项被访问,则可能该项会很快再次被访问。空间局部性:如果一个存储项被访问,则该项及其邻近的相也可能很快被访问。段表:在对虚拟内存进行管理时,系统中用于指明各段在主存中的位置的表,表中包括段名或段号、段起点、装入位和段长等。页表:在对虚拟内存进行管理时,系统中用于指明各页在主存中的位置的表,表中包括页号、每页在主存中的起始位置、表示该页是否已装入主存的装入位等。块表:存储系统中的一个用于解决块和页的定位、标志、和寻址问题的表。7.2有人认为,随着存储器芯片集成度的提高,主存的容量将越来越大,虚拟存贮器将被淘汰,未来的计算机中将不采用虚拟存储器。你是否同意这种观点,为什么?答:我不同意这种观点,尽管主存的容量越来越大,但是,随着计算机技术的不断发展,应用程序所需要的存储空间也会不断地增大,而且由于计算机的成本等问题,注定主存的容量不可能完全满足应用程序的所用需要,所以虚拟存储器作为主存的一个重要补充,仍然将是计算机中不可或缺的一部分,不会被淘汰。7.3编译程序怎样利用系统中的Cache进行代码优化以提高系统的性能?答:应该将常用到的指令、变量尽量地存放在主存的相邻单元,这样可以使他们一次被读入Cache,从而提高读Cache的命中率来提高系统的性能。另外,应该将对同一变量的操作尽可能地集中起来完成,以免该变量因为反复地被读入和读出而增加执行额外的时间。7.4试写出两层和三层Cache的平均访问时间公式。解:(I)两层Cache的情况:设Cache的命中时间是TC,命中率是HC,失效时间为TM。则平均访存时间TA=TC*HC+(1-HC)(HC*TC+(1-HC)*TM)(II)三层Cache的情况:TA=TC*HC+(1-HC)(HC*TC+(1-HC)(HC*TC+(1-HC)*TM))7.5VAX-11/780在Cache命中时的指令平均执行时间是8.5时钟周期,Cache失效时间是6个时钟周期,假设不命中率是11%,每条指令平均访存3次。试计算在考虑了Cache的不命中时的指令平均执行时间。它比Cache命中时的平均指令执行周期延长了百分之几?解:由题设可知:考虑了Cache的不命中时的指令平均值执行时间TA=89%*8.5+11%*(8.5+6)=9.16(时钟周期),与Cache命中时的平均指令执行周期延长了(9.16-8.5)/8.5*100%=7.76%7.6上题中若CPU在Cache命中时的指令平均执行时间是1.5个时钟周期,如RISC计算机中的那样,其它条件一样,结果如何?从中可看出什么问题?解:TA=89%*1.5+11%*(1.5+6)=2.16与Cache命中时的平均指令执行周期延长了(2.16-1.5)/1.5*100%=44%可以看出:当CPU的速度较快时,Cache的速度将成为影响系统速度的主要因素,也就是成为速度的瓶颈。7.7有一个“Cache-主存”存储层次。主存共分8个块(0~7),Cache为4个块(0~3),采用组相联影像,组内块数为2块,替换算法为近期最少使用法(LRU)。(1)画出主存、Cache空间块的影像对应关系的示意图;(2)对于如下主存块地址流:1、2、4、1、3、7、0、1、2、5、4、6、4、7、2,如主存中内容一开始未装入Cache中,请列出随时间变化的Cache中各块的使用状况;(3)对于(2),指出块失效又发生块争用的时刻;(4)对于(2),求出此期间Cache的命中率。解:(1)主存、Cache空间块的映象对应关系示意图如下:01I组02I组13II组24II组35I组67II组(2)地址流入体所示时,主存中内容如下表:寄存器号12413701254647201111111111444441--44440005555552-222277777766623----33332222277(3)在(2)中,时刻1、2、3、5、6、7、9、10、11、12、14、15发生块失效,时刻6、7、9、10、11、12、14、15发生块争用。(4)此间,共有15个时刻,命中了4、8、13这3个时刻,所以命中率为20%。7.8在页式管理虚拟存储器中,假定各页面按以下的顺序请求访问:12、14、2、34、56、23、14、56、12、12并且主存中只能容纳4个页面,列出使用下列各种算法时,每一个页面调度操作后在主存中的页面:(1)先进先出替换算法;(2)最近最少使用替换算法;(3)LRU的计数法替换算法。并指出什么时刻发生页面失效。解:(1)主存中的内容如下图所示:12142345623145612120121212125656565656561-1414141423232323232--2222141414143---34343434341212时刻12345678910在时刻1、2、3、4、5、6、7、9发生页面失效。(2)存中的内容如下图所示:12142345623145612120121212125656565656561-1414141423232323231--2222141414143---34343434341212时刻12345678910在时刻1、2、3、4、5、6、7、9发生页面失效。(3)主存中的内容如下图所示:12142345623145612120121212125656565656561-1414141423232323231--2222141414143---34343434341212时刻12345678910在时刻1、2、3、4、5、6、7、9发生页面失效。7.10当访问页面已知时,怎样实现最佳替换算法,请提出你的建议。答:我认为应该将访问序列中访问较多的块在主存种分配以固定的位置,不调出主存。其余那些在整个访问过程中只被访问一两次的块才进行替换。这样可使访问的命中率有显著提高。7.12CacheC1是直接映射的,有16个长度为1字的快;CacheC2是直接映射的,有4个长度为4的块,假设C1的不命中的访问时间为8个时钟周期;C2的不命中的访问时间11个时钟周期,初始时Cache为空,举出一种使C2命中率较高,但访问周期较长的字地址序列。解:序列1、5、9、2、3、4、6、7、8、10、11、12、17、25、18、19、20、33、26、27、28、34、35、36满足上述条件,因为,C2在访问2、3、4、6、7、8、10、11、12、18、19、20、26、27、28、34、35、36时不必从主存中调入。7.14对于以下三种Cache组织:Cache1:直接映射,块长为1字Cache2:直接映射,块长为4字Cache3:两路组相联映射,块长位4字假设一下失效率:Cache1:指令失效率4%,数据失效率为8%Cache2:指令失效率2%,数据失效率为5%Cache3:指令失效率2%,数据失效率为4%对于这几种机器,一般的指令包含一个数据访问。假定Cache不命中访问时间为6加上块的字节数,指出哪一种机器在Cache失效上花费的时间最多?解:对于Cache1失效一次花费时间为6+1=7;对于Cache2和Cache3失效一次花费时间为6+4=10;又因为它们的失效率为8:4:5,所以它们的失效花费时间为(4+2*8%)*7;(2+1*5%)*10;(2+1*4%)*10,花费时间比为29.12:20.05:20.04,可见第一种机器在Cache失效花费时间最多。7.15假设机器的时钟周期位10豪微秒,Cache失效时的访存时间为20个时钟周期(1)设失效率为0。05,忽略写操作时的其它延迟,求机器的平均访存时间(2)假设通过增加Cache的容量一倍而使时效率降低到0.03,但使得Cache命中时的访问时间增到了1.2时钟周期,指出这样的改动设计是否合适。(3)如果时钟周期取决于Cache的访问时间(也就是用延长时钟周期的方法),上述改动设计是否合理解:(1)机器的平均访存时间为10*(1*0.95+20*0.05)=19.5毫微秒;(2)改动以后机器的平均访存时间为10*(1.2*0.97+20*0.03)=17.64毫微秒,可见改动是合理的。(3)如果采用延长时钟周期的方法,平均访存时间为10*1.2*(1*0.97+20*0.03)=18.84毫微秒。也是合理的。7.16假设存储器系统采用50MHZ时钟,存储器以每周其一个字的速率,传输8个字的访问请求,以支持块长为8个字的Cache,对于读操作,访问顺序是:1个周期接收地址3个周期延迟8个周期用于传输8个字对于写操作,访问顺序是:1个周期接收地址2个周期延迟8个周期用于传输8个字对于以下访问模式:全部访问为读操作全部访问为写操作65%的访问为读操作,35%的访问为写操作求出该存储器的最大带宽(以每秒字节数表示)。解:假如访问模式为全读操作:每秒可进行50M/12=4166667次操作。传输字节数为33333333,最大带宽为33333333字节/秒。假如访问模式为全写操作:每秒可进行50M/11=4545455次操作。传输字节数为36363636,最大带宽为36363636字节/秒。假如访问模式为65%读操作和35%写操作。每秒进行2789699次读操作和1502145次写操作,传输字节数为34334763,最大带宽为34334763字节/秒。以下习题来自《计算机组成原理教程》第3章存储体系。3.1试说明存储器的存取时间与存取周期的区别。答:存取时间分为读出时间和写入时间,读出时间是从开始送入地址到这个存储器产生有效数据输出所花费的时间;写入时间是从送入地址开始并把有效数据保持一定时间所花费的时间。存取周期是指先读出一个单元的数据,随后又将一个数据写入该存储地址单元操作所需的最小时间。3.2存储器的带宽有何物理意义?设存储器数据总线宽度为32位,存取周期为250ns,这个存储器的带宽是多少?解:存储器的带宽是指每秒中访问的二进制的位的数目。题中的存储器每秒可访问的二进制数为32×(1000000÷250)=128000bps。3.3存储系统的层次结构的存储系统可以解决什么问题?实现存储器层次结构的先决条件是什么?如何度量?答:层次结构的存储器可以解决价格、容量、速度这三者之间的矛盾。上层存储器的速度快但是价格高,容量小;下层存储器的速度相对较慢,但是成本低,容量大。而层次结构的存储器的存储速度接近于最上层,容量及其成本却是接近于最下层的。实现存储器层次结构的先决条件是平均存取时间应该能满足程序的需要,可以根据上、下层存储器的存取时间和上层存储器的命中率计算出平均存取时间来进行度量。3.5设计一个用64K×1位的芯片构成256K×16位的存储器,画出组织结构
本文标题:以下习题来自《计算机系统结构》第七章存储体系。
链接地址:https://www.777doc.com/doc-2740780 .html