- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
习题6.7( GCD测试方法) 在使用GCD测试之前,必须先对这段代码进行“规范化”——修改下标从1开始,而且每次循环后增加1。 For(i=1;i=100;i+=2) a[i]=a[i-1]; 规范化为:For(k=1;k=50;k++) a[2K]=a[2K-1]; 在这个循环中a=2,b=0,c=2,d=-1, 这样GCD(a,c)=2, d-b=-1, 由于前者不能够整除后者; 该循环不存在循环携带的真数据相关。 习题6.8(循环展开) 表6.1本节使用的浮点流水线的延迟 产生结果的指令 使用结果的指令 延迟(cycles) 浮点计算 另一个浮点计算 3 浮点计算 浮点store(S.D) 2 浮点Load(L.D) 浮点计算 1 浮点Load(L.D) 浮点store(S.D) 0 整数运算,分支延迟和load需要一个周期延迟, 如果分支的寄存器在前一条指令计算出,也需要一个周期延迟, 因为整数计算在第3个周期完成,而分支第2个周期就用到 DADDIU R1, R1, #-8 7 (空转) 8 BNE R1, R2, Loop 9 习题6.8 在不进行指令调度的情况下,程序的实际执行情况如下: 指令流出时钟 Loop: L.D F0, 0(R1) 1 L.D F4, 0(R2) 2 (空转) 3 MUI.D F0, F0, F4 4 (空转) 5 (空转) 6 (空转) 7 ADD.D F2, F0, F2 8 DADDIU R1, R1, #-8 9 DADDIU R2, R2, #-8 10 BNE R1, R3, Loop 11 (空转) 12 计算原程序周期数: 每对元素所需的时钟周期数=12,其中空转数=5; 习题6.8 新程序 Loop: L.D F0,16(R1) ;F0 ←A(i+2) L.D F4,16(R2) ;F4 ←B(i+2) L.D F6,8(R1) ;F6 ←A(i+1) MUL.D F0,F0,F4 ;F0 ←A(i+2) ×B(i+2) L.D F8,8(R2) ;F8←B(i+1) L.D F10,0(R1) ;F10 ←A(i) MUL.D F6,F6,F8 ;F6 ←A(i+1) ×B(i+1) ADD.D F2,F0,F2 ; F2 ←F2+ A(i+2) ×B(i+2) L.D F12,0(R2) ;F12←B(i) DADDUI R1,R1,-24 ;R1 ←R1-24 MUL.D F10,F10,F12 ;F10 ←A(i) ×B(i) ADD.D F2,F6,F2 ; F2 ←F2+ A(i+1) ×B(i+1) DADDUI R2,R2,-24 ;R2 ←R2-24 BNE R1,R3,loop ;若R1 ≠R3,循环 (空转) ADD.D F2,F10,F2 ; F2 ←F2+ A(i) ×B(i) 新程序周期数:每对元素所需的时钟周期数=16/3=5.3,其中空转数=1/3=0.3 习题7.9(两级Cache ) 假设在3000次访存中,第一级cache不命中110次,第二级cache不命中55次。试问:在这种情况下,该cache系统的局部不命中率和全局不命中率各是多少? 解: 第一级cache不命中率(全局和局部)是110/3000,即3.67%; 第二级cache的局部不命中率是55/110,即50%; 第二级cache的全局不命中率是55/3000,即1.83%。 习题7.10(存储系统性能指标) 习题7.10 平均访问时间=命中时间+失效率×失效开销 平均访问时间1-路=2.0+1.4% *80=3.12ns 平均访问时间2-路=2.0*(1+10%)+1.0% *80=3.0ns 两路组相联的平均访问时间比较低 CPUtime=(CPU执行+存储等待周期)*时钟周期 CPUtime=(IC*CPI执行+总访存失效次数*失效开销) *时钟周期 =IC*(CPI执行*时钟周期+每条指令的访存次数*失效率*失效开销*时钟周期) CPU time 1-way=IC(2.0*2+1.2*0.014*80)=5.344IC CPU time 2-way=IC(2.2*2+1.2*0.01*80)=5.36IC 相对性能比:5.36/5.344=1
文档评论(0)