欢迎来到天天文库
浏览记录
ID:47484346
大小:512.63 KB
页数:17页
时间:2020-01-12
《计算机体系结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Chapter1计算题l需求筛选的依据是成本性能比l直接实现一般指用硬件实现,而间接实现是指用软件实现l软件和硬件要综合考虑,要以价格性能比高低为取舍原则。l常用的基本功能或产量很大的功能才适宜于用硬件实现。l设计者最终要用成本性能比作为软、硬件实现功能的取舍标准;消费者要用价格性能比作为选购计算机系统的取舍标准。l设计人员的参考原则:n考虑用户应用领域n设计周期长的硬件不宜采用n常用的功能尽量采用硬件实现n实现功能的成本性能比(或价格性能比)要低n超前设计l某一计算机用于商业外贸的事务处理,有大量的字符串处理操作。由于这
2、种商务处理很普遍,有较大的市场,故而设计人员决定在下一代计算机的CPU中加入字符串操作的功能。经测试应用软件调查发现,字符串操作的使用占整个程序运行时间的50%。而增加此功能如用软件(如微程序)实现,则快5倍,增加CPU成本1/5倍;如果用硬件实现,则快100倍,CPU成本增加到5倍。问设计人员提出增加此功能是否恰当?如恰当则此功能应该用软件实现还是用硬件实现?设CPU成本占整机成本的1/3解:首先来计算机在两种情况下提高的性能和成本性能比。设:S为CPU未增加字符串功能时的CPU平均速度,Told为此时运行程序的时间,T
3、new为增加字符串功能后程序运行的时间,则lAmdahl定律(性能递减规则)n某部件应用越频繁,当提高该部件性能时,整机性能也提高的越多。但不管该部件性能提高多大,整机的性能加速不可能大于在原机器中除该部件外所有其它部件运行时间的百分比的倒数1/(1-F)n计算机性能的改善程度受其采用的快速部件(被提高性能的部件)在原任务中使用所占的时间百分比的限制nl采用新器件使某一功能性能提高10倍,但该功能的使用只占原程序运行时间的40%。请计算新计算机性能改善了多少?ll高频事件高速处理(大概率事件优先的原则)l局部性原理n最重要
4、的是90/10局部性规则n时间局部性n空间局部性l适应计算机发展趋势l在指令系统中指令的确定是属于计算机系统结构的,而指令操作的实现,如取指令、取操作数、运算、送结果等具体操作及排序方式是属于计算机组成的,而实现这些指令功能的具体电路、器件的设计及装配技术是计算机物理实现的l计算机的性能是指在计算机上完成用户的应用任务所需的时间长短l响应(实耗)时间是指计算机系统完成某一任务(程序)所花费的时间n速度,即用响应时间的倒数n用速度来评价性能,我们称“高”为性能好;如果用响应时间来评价性能,我们称“短”为性能好l计算机整机性能
5、分成两部分:一是CPU执行程序的时间,二是等待时间。提高计算机性能就是提高CPU性能和减少等待时间。lCPU时间也包含两部分,即用户CPU时间(userCPUtime)和系统CPU时间(systemCPUtime)lCPUtime=整个程序的总时钟数×时钟周期l每条指令的平均时钟周期数(ClockcyclesPerInstruction),简称为CPIl指令数×CPI代替总时钟数l设条件转移指令的实现有两种方案可以选择。机器A:用两条指令完成。由比较指令建立条件码,再在转移指令中测试条件码。机器B:只用一条指令。比较和转移
6、一起执行。对于这两种机器来说,条件转移指令用2个时钟,所有其它指令花费一个时钟。在机器A上有20%的执行指令是条件转移指令,因此每个转移都需要比较,有20%是比较指令。由于机器A在转移指令中没有比较功能,这样时钟频率比机器B快25%,问哪个机器快?解:忽略所有等待及系统时间,我们可以用CPU时间来比较机器的性能。机器A:CPIA=20%×2+80%×1=1.2CPUtimeA=指令数A×1.2×时钟周期A=1.2IAτA机器B:无比较指令,则指令数要比机器A少20%,只有机器A指令数的80%,即指令数B=80%指令数A。在
7、机器A的指令中有20%指令是转移指令,它占机器B的指令数的百分比是20%/80%=25%。因此机器B的CPIB=25%×2+75%×1=1.25。同时A机器时钟比B机器快25%,故时钟周期τB=(1+25%)τA=1.25τACPUtimeB=指令数B×CPIB×时钟周期B=0.80IA×1.25×1.25τA=1.25IAτA从计算中我们看出机器A虽然比机器B多执行了20%的指令,但由于它的时钟周期短,同时CPI也小,反而比机器B快l某台计算机的指令集原来进行存储器访问的指令只有Load/Store,其它指令只能在寄存器
8、之间操作。这种机器我们称为Load/Store型机器。现测得这台Load/Store计算机指令的使用频率和时钟数如表1-5所示。在ALU操作中,有25%的操作数是由Load指令取得。现在ALU操作中使其有一个操作数可以在存储器内,即register-memory指令,这条指令执行的时钟数是2。假设扩展指
此文档下载收益归作者所有