欢迎来到天天文库
浏览记录
ID:19515806
大小:1.33 MB
页数:101页
时间:2018-10-03
《《计算机组成与系统结构》课后习题答案(清华大学出版社-袁春风主编)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第1章习题答案5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。程序M1M2指令条数执行时间(ms)指令条数执行时间(ms)P1200×10610000150×1065000P2300×1033420×1036请回答下列问题:(1)对于P1,哪台机器的速度快?快多少?对于P2呢?(2)在M1上执行P1和P2的速度分别是多少MIPS?在M2上的执行速度又各是多少?从执行速度来看,对于P2,哪台机器的速度快?快多少?(
2、3)假定M1和M2的时钟频率各是800MHz和1.2GHz,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少?(4)如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2?为什么?(提示:从性价比上考虑)(5)如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2?为什么?参考答案:(1)对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。(2)对于M1,P1的速度为:200M/
3、10=20MIPS;P2为300k/0.003=100MIPS。对于M2,P1的速度为:150M/5=30MIPS;P2为420k/0.006=70MIPS。从执行速度来看,对于P2,因为100/70=1.43倍,所以M1比M2快0.43倍。(3)在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。在M2上执行P1时的平均时钟周期数CPI为:5×1.2G/(150×106)=40。(4)考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能
4、为执行时间的倒数。故性价比R为:R=1/(执行时间×价格)R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。因为10×5000>5×8000,所以,M2的性价比高。应选择M2。(5)P1和P2需要同等考虑,性能有多种方式:执行时间总和、算术平均、几何平均。若用算术平均方式,则:因为(10+0.003)/2×5000>(5+0.006)/2×8000,所以M2的性价比高,应选择M2。若用几何平均方式,则:因为sqrt(10×0.003)×50005、择M1。6.若机器M1和M2具有相同的指令集,其时钟频率分别为1GHz和1.5GHz。在指令集中有五种不同类型的指令A~E。下表给出了在M1和M2上每类指令的平均时钟周期数CPI。机器ABCDEM112234M222456请回答下列问题:(1)M1和M2的峰值MIPS各是多少?(2)假定某程序P的指令序列中,五类指令具有完全相同的指令条数,则程序P在M1和M2上运行时,哪台机器更快?快多少?在M1和M2上执行程序P时的平均时钟周期数CPI各是多少?参考答案:(1)M1上可以选择一段都是A类指令组成的程序,其峰值MIPS为1006、0MIPS。M2上可以选择一段A和B类指令组成的程序,其峰值MIPS为1500/2=750MIPS。(2)5类指令具有完全相同的指令条数,所以各占20%。在M1和M2上执行程序P时的平均时钟周期数CPI分别为:M1:20%×(1+2+2+3+4)=0.2×12=2.4M2:20%×(2+2+4+5+6)=0.2×19=3.8假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:M1:2.4×N×1/1G=2.4N(ns)M2:3.8×N×1/1.5G=2.53N(ns)M1执行P的速度更快,每条指令平均快0.13ns,也7、即M1比M2快0.13/2.53×100%≈5%。(思考:如果说程序P在M1上执行比M2上快(3.8–2.4)/3.8×100%=36.8%,那么,这个结论显然是错误的。请问错在什么地方?)7.假设同一套指令集用不同的方法设计了两种机器M1和M2。机器M1的时钟周期为0.8ns,机器M2的时钟周期为1.2ns。某个程序P在机器M1上运行时的CPI为4,在M2上的CPI为2。对于程序P来说,哪台机器的执行速度更快?快多少?参考答案:假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:M1:4N×0.8=3.2N(ns)M8、2:2N×1.2=2.4N(ns)所以,M2执行P的速度更快,每条指令平均快0.8ns,比M1快0.8/3.2×100%=25%。8.假设某机器M的时钟频率为4GHz,用户程序P在M上的指令条数为8×109,其CPI为1.25,则P在M上的执行时间是多少?若在机器M上从程序P
5、择M1。6.若机器M1和M2具有相同的指令集,其时钟频率分别为1GHz和1.5GHz。在指令集中有五种不同类型的指令A~E。下表给出了在M1和M2上每类指令的平均时钟周期数CPI。机器ABCDEM112234M222456请回答下列问题:(1)M1和M2的峰值MIPS各是多少?(2)假定某程序P的指令序列中,五类指令具有完全相同的指令条数,则程序P在M1和M2上运行时,哪台机器更快?快多少?在M1和M2上执行程序P时的平均时钟周期数CPI各是多少?参考答案:(1)M1上可以选择一段都是A类指令组成的程序,其峰值MIPS为100
6、0MIPS。M2上可以选择一段A和B类指令组成的程序,其峰值MIPS为1500/2=750MIPS。(2)5类指令具有完全相同的指令条数,所以各占20%。在M1和M2上执行程序P时的平均时钟周期数CPI分别为:M1:20%×(1+2+2+3+4)=0.2×12=2.4M2:20%×(2+2+4+5+6)=0.2×19=3.8假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:M1:2.4×N×1/1G=2.4N(ns)M2:3.8×N×1/1.5G=2.53N(ns)M1执行P的速度更快,每条指令平均快0.13ns,也
7、即M1比M2快0.13/2.53×100%≈5%。(思考:如果说程序P在M1上执行比M2上快(3.8–2.4)/3.8×100%=36.8%,那么,这个结论显然是错误的。请问错在什么地方?)7.假设同一套指令集用不同的方法设计了两种机器M1和M2。机器M1的时钟周期为0.8ns,机器M2的时钟周期为1.2ns。某个程序P在机器M1上运行时的CPI为4,在M2上的CPI为2。对于程序P来说,哪台机器的执行速度更快?快多少?参考答案:假设程序P的指令条数为N,则在M1和M2上的执行时间分别为:M1:4N×0.8=3.2N(ns)M
8、2:2N×1.2=2.4N(ns)所以,M2执行P的速度更快,每条指令平均快0.8ns,比M1快0.8/3.2×100%=25%。8.假设某机器M的时钟频率为4GHz,用户程序P在M上的指令条数为8×109,其CPI为1.25,则P在M上的执行时间是多少?若在机器M上从程序P
此文档下载收益归作者所有