89计算机组成原理第四次作业续(390614/15/16班)90教材教材第第152152页页第第4.294.29题题假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少?91教材教材第第152152页页第第4.294.29题题假设CPU执行某段程序时共访问Cache命中4800次,访问主存200次,已知Cache的存取周期是30ns,主存的存取周期是150ns,求Cache的命中率以及Cache-主存系统的平均访问时间和效率,试问该系统的性能提高了多少?cache命中率:4800/(4800+200)=0.96平均访问时间:30*0.96+(150+30)*(1-0.96)=36ns效率=访问Cache的时间/平均访问时间=30/36=83.3%性能提高:主存访存时间/平均访存时间=150/36=4.17倍92教材教材第第152152页页第第4.364.36题题以写入10010110为例,比较调频制和改进调频制的写电流波形图¾FM和MFM写电流在位周期中心处的变化规则相同;¾MFM除连续一串0时两个0周期交界处电流仍变化外,基本取消了位周期起始处的电流变化;¾FM记录一位二进制代码最多两次磁翻转,MFM记录一位二进制代码最多一次磁翻转,因此MFM的记录密度可提高一倍。上图中示出了在MFM时位周期时间缩短一倍的情况。由图可知,当MFM记录密度提高一倍时,其写电流频率与FM的写电流频率相当。¾由于MFM并不是每个位周期都有电流变化,故自同步脉冲的分离需依据相邻的两个位周期的读出信息产生,自同步技术比FM复杂得多。93教材教材第第152152页页第第4.384.38题题磁盘组有6片磁盘,最外两侧盘面可以记录,存储区域内径22cm,外径33cm,道密度为40道/cm,内层密度为400位/cm,转速3600转/分。共有多少存储面可用?共有多少柱面?盘组总存储容量是多少?数据传输率是多少?94教材教材第第152152页页第第4.384.38题题磁盘组有6片磁盘,最外两侧盘面可以记录,存储区域内径22cm,外径33cm,道密度为40道/cm,内层密度为400位/cm,转速3600转/分。共有多少存储面可用:6X2=12面共有多少柱面:((33-22)/2)*40=220道盘组总存储容量是多少:2*3.14*(22/2)*400*220*12bits数据传输率是多少:2*3.14*(22/2)*400/(60/3600)bit/s95教材教材第第153153页页第第4.394.39题题某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每到记录信息12288字节,最小磁道直径为230mm,共有275道,求:磁盘存储器的存储容量最高位密度(最小磁道的位密度)和最低位密度磁盘数据传输率平均等待时间96教材教材第第153153页页第第4.394.39题题某磁盘存储器转速为3000转/分,共有4个记录盘面,每毫米5道,每到记录信息12288字节,最小磁道直径为230mm,共有275道,求:磁盘存储器的存储容量:275*12288*4Byte最高位密度:12288/230*3.14=17B/mm=136b/mm最低位密度:12288/(230+275/5*2)*3.14=11B/mm=92b/mm磁盘数据传输率:12288/(60/3000)=614400B/s平均等待时间:(60*1000/3000)/2=10ms97补充题补充题11某计算机的存储系统由某计算机的存储系统由CacheCache和主存组成。若所访问的字在和主存组成。若所访问的字在CacheCache中,中,则存取它需要则存取它需要10ns10ns;将所访问的字从主存装入;将所访问的字从主存装入CacheCache需要需要60ns60ns。假定。假定CacheCache的命中率为的命中率为0.90.9,计算该存储系统访问一个字的平均存取时间。,计算该存储系统访问一个字的平均存取时间。平均存取时间:平均存取时间:10ns10ns**0.9+(60ns+10ns)*(10.9+(60ns+10ns)*(1--0.9)=16ns0.9)=16ns98补充题补充题22假设一假设一44路组相联路组相联CacheCache,,64KB64KB数据存储空间大小数据存储空间大小64KB64KB,块大小为,块大小为1616字节,主存地址字节,主存地址3232位,主存一个字包含位,主存一个字包含44个字节,个字节,CacheCache采用写采用写回策略,每个数据块包括回策略,每个数据块包括11位有效位,位有效位,CacheCache每个字用每个字用11位脏位来表位脏位来表示是否被修改。示是否被修改。((11))CPUCPU如何解释主存地址(主存地址格式)如何解释主存地址(主存地址格式)((22)计算实现该)计算实现该CacheCache所需总存储容量所需总存储容量99补充题补充题22假设一假设一44路组相联路组相联CacheCache,,64KB64KB数据存储空间大小数据存储空间大小64KB64KB,块大小为,块大小为1616字节,主存地址字节,主存地址3232位,主存一个字包含位,主存一个字包含44个字节,个字节,CacheCache采用写回策略,每个数据块包括采用写回策略,每个数据块包括11位有效位,位有效位,CacheCache每个字用每个字用11位脏位来表示是否被修改。位脏位来表示是否被修改。((11))CPUCPU如何解释主存地址(主存地址格式)如何解释主存地址(主存地址格式)((22)计算实现该)计算实现该CacheCache所需总存储容量所需总存储容量解:解:(1)(1)主存容量:主存容量:2^32=4GBytes2^32=4GBytesCacheCache容量:容量:64KBytes64KBytesBlockBlock大小:大小:16Bytes16BytesWayWay::4ways(cache4ways(cache每组含每组含44个个Block)Block)CacheCache组数:组数:64KB/(16B64KB/(16B**4)=2^8=2564)=2^8=256组组主存每组块数主存每组块数=4GBytes/(16Bytes=4GBytes/(16Bytes**256256组组)=2^20)=2^20块块//组组主存地址:主存地址:3232位,高位,高2020位为组内块地址,中间位为组内块地址,中间88位为组地址,低位为组地址,低44位为块内地址位为块内地址cachecache的的TagTag::2525位位=1=1位有效位位有效位+4+4位脏位位脏位(4(4个字个字)+20)+20位组内块地址位组内块地址(2)(2)实现实现cachecache的总存储量:的总存储量:每每cachecache行组成:行组成:2525位位Tag+128Tag+128位数据位数据(16Bytes)(16Bytes)实现实现CacheCache的总存储容量的总存储容量:(25+:(25+128)*(64K/16)=612Kbits=76.5KBytes128)*(64K/16)=612Kbits=76.5KBytes组内块地址(tag)块内偏移组地址2048100某计算两个向量点积的函数如下:floatdotprod(floatx[8],floaty[8]){floatsum=0.0;inti;for(i=0;i8;i++)sum+=x[i]*y[i];returnsum;}假设:(1)浮点数占4字节,数组x被加载到主存从地址0开始的32字节连续存储区中,数组y被加载在紧跟x之后的连续存储区中,sum为寄存器变量,不需要存储器空间。(2)容量仅为32字节的Cache采用组相联映像方式,分2个组,数据块大小16字节,初始为空。要求:(1)分析数组x和y的时间局部性和空间局部性(2)计算该函数运行时Cache的命中率(3)如命中率不理想,提出一种简单改进函数的方法以提高命中率补充题补充题33101补充题补充题33Cache容量32字节,块大小16字节,共2块,分2组数组所在主存区域64字节,共4块,分2组0…1516…310…1516…3132…4748…63Cache内存Y[0]X[0]X[7]Y[7]102补充题补充题33命中率:X[0]—主存0~3字节,未命中,将0~15字节调入cache的组0Y[0]—主存32~35字节,未命中,将32~47字节调入cache的组0,替换掉0~15字节X[1]—主存4~7字节,未命中,将0~15字节调入cache的组0,替换掉32~47字节……X[4]—主存16~19字节,未命中,将16~31字节调入cache的组1Y[4]—主存48~51字节,未命中,将48~63字节调入cache的组1,替换掉16~31字节X[5]—主存20~23字节,未命中,将16~31字节调入cache的组1,替换掉48~63字节……16次访存全未命中,cache命中率为0改进方法:本题cache命中率很低是因为相邻两次访存的内存块对应的cache块相同,从而导致频繁cache块替换,在不改变现有cache的情况下,要想提高cache命中率,需调整数据使得相邻两次访存的内存块对应的cache块不相同即可。