计算机体系结构第五章练习题参考解答_第1页
计算机体系结构第五章练习题参考解答_第2页
计算机体系结构第五章练习题参考解答_第3页
计算机体系结构第五章练习题参考解答_第4页
计算机体系结构第五章练习题参考解答_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上 第 五 章5.34 在一个采用组相联映象方式的Cache存储系统中,主存由B0B7共8块组成,Cache有2组,每组2块,每块大小为16B。在一个程序执行过程中,访存的主存块地址流为:B6,B2,B4,B1,B4,B6,B3,B0,B4,B5,B7,B3。(1)写出主存地址的格式,并标出各字段的长度。(2)写出Cache地址的格式,并标出各字段的长度。(3)指出主存与Cache之间各个块的映象关系。(4)若Cache的4个块号为C0、C1、C2和C3,列出程序执行过程中的Cache块地址流。(5)若采用FIFO替换算法,计算Cache的块命中率。(6)若采用LRU替

2、换算法,计算Cache的块命中率。(7)若改为全相联映象方式,再做(5)和(6)。(8)若在程序执行过程中,每从主存装入一块到Cache,平均要对这个块访问16次,计算在这种情况下的Cache命中率。解:(1)(2)采用组相联映象时,主存和Cache地址的格式分别为:区号E 区内组号G 主存组内块号B 块内地址W组号g 组内块号b 块内地址w 主存按Cache的大小分区,现主存有8个块,Cache有2×2=4个块,则主存分为8/4=2个区,区号E的长度为1位。又每区有2个组,则组号G、g的长度都为1位。而每组有2个块,则块号B、b的长度又都为1位。每块大小为16个存储字,故块内地址W

3、、w的长度都为4位。 (3)根据组相联映象的规则,主存块07与Cache块03之间的映象关系为:主存块0、1、4、5与Cache块0、1之间全相联,主存块2、3、6、7与Cache块2、3之间全相联。 (4)根据组相联映象的规则,该主存块地址流相应的一种Cache块地址流如下表所示(组内替换算法为FIFO)。时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B6 B2 B4 B1 B4 B6 B3 B0 B4 B5 B7 B3Cache块地址流: C2 C3 C0 C1 C0 C2 C2 C0 C0 C0 C3 C2(5)组内替换算法采用FIFO时,Cache块03的

4、使用过程如下表所示。时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B6 B2 B4 B1 B4 B6 B3 B0 B4 B5 B7 B344*4*4*4*00*55511111*44*4*4*66*6*6*6*6*33333*3*222222*2*2*2*77Cache块0Cache块1Cache块2Cache块3 命中 命中 命中可见命中三次,Cache块命中率为Hi = 3/12 = 0.25。(6)组内替换算法采用LRU时,Cache块03的使用过程如下表所示。时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B6 B2 B4 B1

5、 B4 B6 B3 B0 B4 B5 B7 B344*4444*44*4*4*11*1*1*00*55566*6*6*6*66*6*6*6*7722222*33333*3*Cache块0Cache块1Cache块2Cache块3 命中 命中 命中 命中可见命中四次,Cache块命中率为Hi = 4/12 = 0.33。(7)全相联映象的规则是主存块07可装入Cache块03的任一块上。当替换算法采用FIFO时,Cache块03的使用过程如下表所示。时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B6 B2 B4 B1 B4 B6 B3 B0 B4 B5 B7 B36

6、666*6*6*33333*3*222222*00000444444*4*5551111111*77 Cache块0Cache块1Cache块2Cache块3 命中 命中 命中 命中可见命中四次,Cache块命中率为Hi = 4/12 = 0.33。当替换算法采用LRU时,Cache块03的使用过程如下表所示。时间: 1 2 3 4 5 6 7 8 9 10 11 12主存块地址流: B6 B2 B4 B1 B4 B6 B3 B0 B4 B5 B7 B36666*6*6666*55522222*3333*77444444*4444*1111*0000*3 Cache块0Cache块1Cache

7、块2Cache块3 命中 命中 命中可见命中三次,Cache块命中率为Hi = 3/12 = 0.25。 (8)当命中三次时,Cache的命中率为Hi = (12×16-9)/(12×16)1,当命中四次时,Cache的命中率为Hi = (12×16-8)/(12×16)1。5.35 在某采用全相联映象、相联目录表实现地址变换Cache存储器中,Cache的容量是2cB,主存是由m个存储体组成的低位交叉访问存储器,主存总容量是2MB,每一个存储体的字长是w位,。(1)画出地址变换图。(2)写出主存地址和Cache地址的格式,并标出各字段的长度。(3)说明

8、目录表的行数、相联比较的位数和目录表的宽度。解:(1)地址变换图见P243的图5-20。 (2)采用全相联映象时,主存和Cache地址的格式分别为: 组内块号b 块内地址w 主存块号B 块内地址W 主存和Cache单元数分别为:8×2M/w、8×2c/w,相应的地址长度分别为:log2(8×2M/w)=M+3-log2w、log2(2c/w)=C+3-log2w。 块的大小为m个存储字,则主存和Cache的块内地址长度均为:log2m,所以主存和Cache的块号长度分别为:(M+3-log2w)-log2m = M+3-log2wm、(C+3-log2w)-log

9、2m = C+3-log2wm。 (3)相联目录表的行数为Cache的块数,即Cb=2(C+3-log2wm)=2C+3/wm;相联比较的位数为主存块号长度,即M+3-log2wm;目录表的宽度(位数)为主存块号长度、Cache块号长度和有效位的和,即M+3-log2wm + C+3-log2wm +1= M+C+6-2 log2wm +1(有效位一位)。5.38 一个采用组相联映像方式的Cache共有8块,分为两组,用硬件比较对法实现LRU块替换算法。(1)共需要多少个触发器和多少个与门?(2)画出其中一组的逻辑图。 解:(1)设组内块数为p,则触发器的个数为:Cp2=p(p-1)/2。Ca

10、che有8块分为二组,每组4个块,则每组需要触发器的个数为:4(4-1)/2=6,所以共需要触发器为6×2=12。 与门的个数为组内块数为p=4,与门输入端数为p-1=3。 (2)有效比较对有:AB、AC、AD、BC、BD和CD,比较对触发器的TAB=1表示A比B更近被访问过,TAB=0表示B比A更近被访问过,TAC 、TAD、TBC 、TBD和TCD 也类似定义。D最久未被访过的块的逻辑关系为:DLRU = TAD TBD TCD C最久未被访过的块的逻辑关系为:CLRU = TAC TBC TCD B最久未被访过的块的逻辑关系为:BLRU = TAB TBC TBD A最久未被访

11、过的块的逻辑关系为:ALRU = TAB TAC TAD0 1R S0 1R S0 1R SALRUBLRUDLRUTABTACTAD访问A访问B访问C访问D0 1R S0 1R S0 1R STBCTBDTCD&&&&CLRU5.40 有一个16KB 4路组相联Cache的32位微处理器,假定该Cache的块为4个32位的字。(1)画出该Cache的结构逻辑图,指出主存地址的不同字段的作用。(2)主存地址为ABCDE8F8的单元在Cache中的什么位置。 解:(1)Cache的结构逻辑图见P248的图5-26。主存地址有区号、区内组号、组内块号和块内地址四个字

12、段,区内组号是按地址访问映像关系表的地址,区号和组内块号是相联访问映像关系表的特征内容,块内地址是选择块内字的地址。(2)在Cache存储系统中,主存与Cache的块大小是相同的,由题可知主存与Cache是字节编址的。则块内单元数为:4×32 / 8 = 16;由于24 = 16,则块内地址的位数4;4路组相联则组内块数为4,22 = 4,组内块号的位数为2;区内组数为:16KB/4×4×4B(32位) = 256,28 = 256,则区内组号的位数为8。主存地址为ABCDE8F816的单元,其二进制地址为:1010 1011 1110 1101 1110 100

13、0 1111 1000 (主存字节地址为32位);16KB 的Cache二进制地址为14位,则主存地址中的高18位为区号:1010 1011 1110 1101 11;次高8位10 1000 11为组号,Cache的组号与主存区内组号不变;最低4位1000为块内地址,Cache的块内地址与主存块内地址也不变;次低2位11为组内块号,由于全相联,则Cache的组内块号可以是00或01或10或11。因此,主存地址为ABCDE8F8的单元在Cache中的位置为:10 1000 11 00或01或10或11 1000。5.44 在一个Cache存储系统中,Cache的访问周期为10ns,主存储器的访问

14、周期为60ns,每个数据在Cache中平均重复使用4次。当块的大小为1个字时,存储系统的访问效率只有0.5,现在要通过增加块大小,使存储系统的访问效率达到0.94.(1)当存储系统的访问效率为0.5时,计算命中率和等效访问周期。(2)为了使存储系统的访问效率达到0.94,命中率和等效访问周期应该提高到多少?(3)为了使存储系统的访问效率从0.5提高到0.94,块的大小至少增加到几个字?解:(1)e = TC/(H×TC (1-H)Tm),由题意可知:TC=10ns,Tm=60ns,e=0.5,H为命中率,则有H = 0.8。而等效访问周期Te= H×TC (1-H)Tm = 20ns。 (2)同(1)有H = 0.9872、Te=17.552 ns。 (3)设块的大小为X,由题意可知一个块的访问次数为4X,访问效率达到0.94的命中率为0.9872,H=(4X-1)/4X,则X=19.5320,即块的大小至少增加到20个字。5.57 假设在3000次访存中,第一级Cache不命中110次,第二级Cache不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论