第四章作业答案(时间仓促

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第四章作业答案(时间仓促,难免出错,如果发现错误,希望广大同学及时指出来)4.1存储系统是计算机系统中的一个核心部分,其功能主要用于程序、数据的存放,以及程序、数据存放相关的安排、控制等。存储系统主要由两大部分构成,存储器和存储控制部件,存储器是用于存放程序、数据的载体部件,存储控制部件则是用于按照某种既定机制来控制存储器正确、高效工作的控制部件。Cache-主存这种系统结构主要用于提高存储系统的速度指标,使存储系统价格近似接近于主存部件的同时,使存储系统的速度近似接近于Cache部件的速度。以较少的价格提升换取较大的速度提升。虚拟存储技术,或主存-磁盘结构主要用于提高存储系统的容量指标,使存储系统的速度尽量保持在主存速度的同时,使存储系统的容量、价格近似接近于磁盘部件。以较少的速度下降换取较多的容量提升和相对的单位容量价格下降。4.2(1)如果不考虑信息块的预取、替换机制(即在不命中情况下,预取、替换与数据读写是同时进行的),且假定所访问信息在M1中的概率为H1,在M2中的概率为H2,那么存储系统的等效访问时间可以表达如下:3212211)1(THHTHTHT如果要考虑信息块的预取、替换(即在不命中情况下,预取、替换完成后数据读写才能开始进行),假定M1与M2间的信息预取、替换(若存在无效块,则只需预取,若不存在无效块,除预取外还需替换)所花费的平均时间为TB1,M2与M3间的信息预取、替换所花费的平均时间为TB2,那么存储系统的等效访问时间可以表达如下:))(1()(33222122211TTTTHHTTHTHTBBB等效容量是指CPU能够直接寻址,且存储系统能够支持的最大寻址空间。对于Cache-主存结构而言,Cache用于提高主存速度,其容量是映射到主存空间内的,不具有独立的容量概念;对主存-磁盘结构而言,磁盘用于提高主存容量,主存容量是映射到磁盘空间内的,不具有独立的容量概念。综合分析可知,存储系统的容量是指最后一级存储模块的容量,在这里是指M3的容量,所以等效容量可以表示如下:3SS存储系统的总价格除以总容量可以得到等效每位价格,注意,按照教材式(4-1),分母应该是各个存储模块的总容量,而不是采用等效容量。如果采用等效容量作为分母,公式的含义也能得到清楚的解释,不过等效价格肯定会相对偏高。按照教材中公式的含义,等效价格表示如下:321332211SSSSCSCSCC其中C1为M1中每位平均价格,C2为M2中每位平均价格,C3为M3中每位平均价格。(2)在S3远大于S2与S1之和时,存储系统的等效每位平均价格接近于C3。4.8题目中所给的表头名称有问题,第2行应该是所访问的主存块号,而不是命中率。组相联映象方式的特点:组与组之间为直接映象,组内各块为全相联映象。LRU算法思想:对Cache块的访问次数分别计数,替换时选取计数最小的块,如果能够被替换的各块计数相等,则优先选择序号较小的块。调页情况如下图所示:T=0Cache0组0块(00,正好和Cache块号对应)0(计数值)无效0组1块(01)0无效1组0块(10)0无效1组1块(11)0无效主存0区0组0块(000,正好和内存块号对应)0区0组1块(001)0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)T=1(未命中,总访问次数1,命中次数0)Cache0组0块(00)0无效0组1块(01)0无效1组0块(10)1第6块调入1组1块(11)0无效主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)1区1组0块(110)被访问,未在Cache中命中1区1组1块(111)T=2(未命中,总访问次数2,命中次数0)Cache0组0块(00)1第1块调入0组1块(01)0无效1组0块(10)1第6块1组1块(11)0无效主存0区0组0块(000)0区0组1块(001)被访问,未在Cache中命中0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)T=3(未命中,总访问次数3,命中次数0)Cache0组0块(00)1第1块0组1块(01)0无效1组0块(10)1第6块1组1块(11)1第2块调入主存0区0组0块(000)0区0组1块(001)0区1组0块(010)被访问,未命中0区1组1块(011)1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)T=4(未命中,总访问次数4,命中次数0)Cache0组0块(00)1第1块0组1块(01)0无效1组0块(10)2第3块调入1组1块(11)1第2块主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)被访问,未命中1区0组0块(100)1区0组1块(101)1区1组0块(110)被替换出Cache1区1组1块(111)T=5(命中,总访问次数5,命中次数1)Cache0组0块(00)2第1块,访问命中0组1块(01)0无效1组0块(10)2第3块1组1块(11)1第2块主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)T=6(未命中,总访问次数6,命中次数1)Cache0组0块(00)2第1块0组1块(01)1第5块调入1组0块(10)2第3块1组1块(11)1第2块主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)被访问,未命中1区1组0块(110)1区1组1块(111)T=7(未命中,总访问次数7,命中次数1)Cache0组0块(00)2第1块0组1块(01)2第4块调入1组0块(10)2第3块1组1块(11)1第2块主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)1区0组0块(100)被访问,未命中1区0组1块(101)被替换出Cache1区1组0块(110)1区1组1块(111)T=8(命中,总访问次数8,命中次数2)Cache0组0块(00)2第1块0组1块(01)2第4块1组0块(10)2第3块1组1块(11)2第2块,访问命中主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)T=9(未命中,总访问次数9,命中次数2)Cache0组0块(00)3第5块调入0组1块(01)2第4块1组0块(10)2第3块1组1块(11)2第2块主存0区0组0块(000)0区0组1块(001)从Cache中调出0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)被访问,未命中1区1组0块(110)1区1组1块(111)T=10(未命中,总访问次数10,命中次数2)Cache0组0块(00)3第5块0组1块(01)3第0块调入1组0块(10)2第3块1组1块(11)2第2块主存0区0组0块(000)被访问,未命中0区0组1块(001)0区1组0块(010)0区1组1块(011)1区0组0块(100)从Cache中调出1区0组1块(101)1区1组0块(110)1区1组1块(111)T=11(未命中,总访问次数11,命中次数2)Cache0组0块(00)3第5块0组1块(01)3第0块调入1组0块(10)3第7块调入1组1块(11)2第2块主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)从Cache中调出1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)被访问,未命中T=12(命中,总访问次数12,命中次数3)Cache0组0块(00)4第5块,访问命中0组1块(01)3第0块1组0块(10)3第7块1组1块(11)2第2块主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)T=13(命中,总访问次数13,命中次数4)Cache0组0块(00)4第5块0组1块(01)3第0块1组0块(10)3第7块1组1块(11)3第2块,访问命中主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)T=14(未命中,总访问次数14,命中次数4)Cache0组0块(00)4第5块0组1块(01)3第0块1组0块(10)4第3块调入1组1块(11)3第2块主存0区0组0块(000)0区0组1块(001)0区1组0块(010)0区1组1块(011)被访问,未命中1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)从Cache中调出T=15(未命中,总访问次数15,命中次数4)Cache0组0块(00)4第5块0组1块(01)4第1块调入1组0块(10)4第3块1组1块(11)3第2块主存0区0组0块(000)从Cache中调出0区0组1块(001)被访问,未命中0区1组0块(010)0区1组1块(011)1区0组0块(100)1区0组1块(101)1区1组0块(110)1区1组1块(111)命中率为27.0154H命中率不高的原因:1)短时间内,被访问的内存单元遍布在内存的各个区域,没有良好的局部性特征。2)组相联映象方式中组与组之间为直接映象,一定程度上降低了Cache的使用效率。4.9参见P142下面第三小节,注意分两种情况讨论,一种是不采用分页机制,一种则是要采用分页机制。4.12按题意,每个页面64个字,Cache中总共的页面数为1286410248个页面。内存中总共的页面数为4096641024256个页面。每组4个页面,Cache中总共有324128个组,内存中总共有102444096个组,内存中共有32321024个区。内存中一共32个区,每个区32组,每组4个页面,每页64个字;Cache中共32个组,每组4个页面,每页64个字。本题内存访问方式的特点:按地址顺序依次访问内存中每一个字单元,并且重复上述操作共20次。设主存访问时间为T,且假定Cache与主存间直接的数据交换速度和CPU与主存间数据交换速度一致,则命中Cache时的访问时间为T/10;未命中Cache且无需替换时访问时间可表示为64T+T/10;未命中Cache且需替换时访问时间可表示为2*64T+T/10,但是在本题中所进行的操作全部是“取”,也就是读操作,所以不存在需要替换的情况。访问过程中,每64次访问会出现一次未命中的情况,因此采用Cache后总的访问时间可以表示如下:TTTTTTTn1858561663216922410)6411(208448)1064(64208448不采用Cache时的总访问时间为:TTT1689602084480加速比为:91.01858561689600nTTS计算出来的加速比小于1,也就是使用Cache后存储系统的速度反而变慢了,为什么?1)题目中没有给出Cache与主存之间块信息的交换速度,这里自己假定和CPU访问内存速度一致。2)对内存单元的访问是按地址顺序进行的,实际上平均每一次访问都对应着一次内存读操作,即访问内存的时间一点都没有减下来,而且在此基础上还要加上访问Cache的时间。如果要改进,只能针对提高Cache与内

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功