第二章性能评价.docx

上传人:夺命阿水 文档编号:370537 上传时间:2023-04-28 格式:DOCX 页数:9 大小:31.43KB
返回 下载 相关 举报
第二章性能评价.docx_第1页
第1页 / 共9页
第二章性能评价.docx_第2页
第2页 / 共9页
第二章性能评价.docx_第3页
第3页 / 共9页
第二章性能评价.docx_第4页
第4页 / 共9页
第二章性能评价.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《第二章性能评价.docx》由会员分享,可在线阅读,更多相关《第二章性能评价.docx(9页珍藏版)》请在课桌文档上搜索。

1、第二或:性能评价主要内容:计算机系统的性能指标和评价方法。学习目标:1. 了解如何对计算机的性能进行测量和评价2. 了解有哪些因素会影响计算机的性能3. 了解各种硬件特性如何影响系统性能。如,软件是否充分利用了机器指令集的特性、底层硬件是否很好地实现了指令集、存储器和I/O系统等是否和CPU匹配等概念解释:响应时间(Responsetime)也称执行时间(EXeCUtiontime),是指从作业提交开始到作业完成所花的时间。一般一个程序的响应时间除了CPU执行程序包含的指令所花的时间外,还包括磁盘访问时间、存储器访问时间、输入输出操作所需时间,以及操作系统运行这个程序所花的时间开销等。吞吐率(

2、Throughput)是指在一定的时间内所完成的工作量。CPU执行时间(CPUeXeCUtiOntime)是指在程序运行过程中,CPU真正花在程序上的时间。它不包括因为等待I/。操作完成而花的时间,也不包括CPU执行其他程序所花的时间。但对用户来说,能直接感觉到的只是响应时间,而不可能是CPU时间。用户CPU时间(USerCPUtime)、系统CPU时间(SyStemCPUtime)CPU时间进一步分为两部分:一部分是用来运行用户程序代码的时间,称为用户CPU时间;另一部分是为了执行用户程序而不得不运行的一些操作系统代码所花费的时间,称为系统CPU时间。系统性能(Systemperforman

3、ce)可以用程序没有其他任何负载的情况下的响应时间来表示系统性能。CPU性能(CPUperformance)可以用用户CPU时间来表示CPU性能。时钟周期(ClockcycleTick,Clocktick,Clock)所有计算机执行指令的过程都是分成若干步骤和相应的动作来完成的,每一步动作都要有相应的控制信号进行控制,这些控制信号何时发出、作用时间多长,都要有相应的定时信号进行同步。因此,CPU必须能够产生同步的时钟定时信号,也就是CPU的主脉冲信号,其宽度称为时钟周期。时钟频率(ClOCkrate,主频)CPU的主频就是CPU中的主脉冲时钟信号的频率。是CPU时钟周期的倒数。CPI(Cycl

4、ePerInstruction)衡量CPU性能的一种计量单位。表示执行一条指令所需的平均时钟周期个数。基准测试程序(Benchmark)是专门用来进行性能评价的一组程序,这些程序能够很好地反映机器在运行实际负载时的性能。可以在不同机器上运行相同的基准测试程序来比较不同机器的运行时间,从而比较其性能。SPEC基准测试程序集(SPECBenchmark)系统性能评价标准(SystemPerformanceEvaluationCooperative)SPEC是一个应用最广泛、也是最全面的对CPU性能评测的基准程序集。分整数程序集SPECim和浮点程序集SPECfpoSPEC比值(SPECratio)

5、将测试程序在SunSPARCstation运行时的执行时间除以该程序在测试机器上的执行时间所得到的比值。比值越大,机器的性能越好。阿姆代尔定律(Amdahl,sLaw)主要含义是指系统优化某部件所获得的系统性能的改善程度,取决于该部件被使用的频率,或所占总执行时间的比例。主要应用在改善“系统瓶颈”的性能。MIPS(MillionInstructionsPerSecond)用来衡量单位时间内执行指令的条数,具体是指每秒钟执行多少百万条指令。加法指令执行速度(AddInstructionexecutionspeed)最早用来衡量计算机性能的指标是完成单个运算(如加法运算)指令所需要的时间。当时大多

6、数指令的执行时间是相同的。加法指令能反映乘、除等运算,而其他指令的时间也大体与加法指令相当。故加法指令的速度有一定的代表性。计量单位为KIPS(每秒千条指令)和MIPS(每秒百万条指令)。平均指令执行时间(AVerageInstructionexecutiontime)也称等效指令速度法或GibSOn混合法。随着计算机的发展,不同指令所需的执行时间差别越来越大,人们就根据等效指令速度法通过统计各类指令在程序中所占比例进行折算。设某类指令i在程序中所占比例为wi,执行时间为ti,则等效指令的执行时间为:T=w1Xt1+w2Xt2+wnxtn(n为指令种类数)。如果指令执行时间用时钟来衡量的话,平

7、均指令执行时间就是平均CPL对平均指令执行时间求倒数就得到平均MIPSo峰值MIPS(PeakMIPS)选取一组指令组合,使得平均CPI最小,由此得到的MIPS就是峰值MIPS。有些制造商经常将峰值MIPS直接当作MIPS,因此,实际上的性能要比标称的性能差。相对MIPS(RelativeMIPS)根据一种公认的参考机型来定义相应的MIPS值,其值的含义是相对于参考机型MIPS的多少倍。MFLOPS(Millionfloating-pointoperationspersecond)是计算机浮点运算速度的一种计量单位。表示每秒所执行的浮点运算次数。它是基于所完成的操作次数而不是指令数来衡量的。常

8、见问题:1 .衡量计算机系统性能的主要指标是什么?答:计算机性能的好坏主要体现在速度,而衡量速度快慢主要有两个指标:响应时间和吞吐率。响应时间是指从作业提交开始到作业完成所花的时间。般个程序的响应时间除了CPU执行程序包含的指令所花的时间外,还包括磁盘访问时间、存储器访问时间、输入输出操作所需时间,以及操作系统运行这个程序所花的时间开销等。吞吐率是指单位时间内完成的工作量。2 .系统吞吐率越高,程序执行时间就越短,对吗?答:程序的执行时间就是响应时间,从道理上来说,如果每个程序执行得都很快,那么单位时间内完成的程序量就多,每个程序所花的时间长,单位时间内完成的程序量就少,似乎两者完全是正相关的

9、。一般情况下,系统吞吐率越高,程序执行时间就越短。但是,在计算机系统中,两者并不总是正相关。例如,指令流水线使得单位时间内执行的指令条数增多,但每条指令的执行时间反而延长了。有些情况下,这两种指标是一种对立关系。要想得到更高的系统吞吐率,必定要延长作业的响应时间,相反的情况也会出现。所以,必须根据应用的需要在两者之间进行权衡。3 .CPU的时钟频率越高,机器的速度就越快,对吗?答:在其他因素不变的情况下,CPU的时钟频率越高,机器的速度肯定越快。但是,程序执行的速度除了与加工指令的CPU的速度有关外,还与存储器、I/O等模块的存取速度、总线的传输速度,甚至与软件(如:操作系统等)都有很大关系。

10、CPU执行得再快,但经常发生要取的指令或数据不在“附近”,要花很长时间从内存取过来,甚至还要到磁盘上去取,那么程序的执行速度会受很大的影响。4 .CPl的含义是什么?执行时间(响应时间)与CPl是什么关系?答:CPI是指每条指令执行时所花的平均时钟数。一个程序的执行时间与该程序所包含的指令数、CPl和时钟周期有关,成正比关系。所以,在指令条数和时钟周期一定的情况下,CPl越大,执行时间越长。5 .计算机的MiPS数越大,说明性能越好,对吗?答:不对。MlPS数反映的是机器执行定点指令的速度。但是,不同机器的指令集不同,指令的功能也不同,也许一个机器上一条指令的功能,在另外一个机器上要用多条指令

11、来完成,这样,同样的指令条数所完成的功能可能完全不同;另外,不同机器的CPI和时钟周期也不同,因而一条指令所花的时间也不同。所以,用MlPS数来对不同的机器进行性能比较是不客观的。6 .基准测试程序执行得越快,说明机器的性能越好,对吗?答:不对。一般情况下,基准测试程序能够反映机器性能的好坏。但是,如果制造商针对基准测试程序中频繁出现的语句采用专门的编译器,使基准程序的运行效率大幅提高。那么基准评测程序测试的结果就不能说明问题。自测练习:1 .以下给出了改善计算机性能的四种措施:用更快的处理器来替换原来的慢速处理器增加处理器,使得不同的处理器同时处理不同的任务优化编译生成的代码使得程序执行的总

12、时钟周期数减少在CPU和主存之间增加CaChe以上措施中,哪些措施能缩短程序的响应时间?(D)A.和和B.和和C和和D.全部2 .以下给出了改善计算机性能的四种措施:用更快的处理器来替换原来的慢速处理器增加处理器,使得不同的处理器同时处理不同的任务优化编译生成的代码使得程序执行的总时钟周期数减少在CPU和主存之间增加CaChe以上措施中,哪些措施能提高系统的吞吐率?(D)A.和和B.和和C.和和D.全部3 .若某个基准测试程序在机器A上运行时需要20s,而在机器B上的运行时间是16s,则如下给出的结论中哪个是正确的?(B)A.所有程序在机器A上都比在机器B上运行速度慢B.机器B的速度是机器A的

13、1.25倍C.机器A的速度是机器B的1.25倍D.机器A比机器B慢1.25倍4 .在UNIX操作系统中,可以用time命令查看程序总的响应时间中用户CPU时间和系统CPU时间各是多少。假定time命令返回某程序的数据为:803u10.1s2:0274%,则下面哪个结论是错误的?(B)A.该程序总的响应时间为122秒B.该程序运行过程中,CPU为该程序而执行指令所花的总时间为80.3秒C.该程序运行过程中,CPU为该程序而执行的操作系统代码所花时间为10.1秒D.该程序总的运行时间中,约26%的时间在等待I/O操作完成或执行其他程序5 .以下有关计算机运算速度衡量指标的描述中,错误的是(D)。A

14、.计算机的主频与运算速度有很大关系B. 5MIPS是指CPU每秒执行500万条指令C. CPI是指执行一条指令所需的平均时钟周期数D. MFLoPS主要用来衡量浮点运算的速度,指每秒执行多少次浮点运算指令6 .假定某程序在计算机A上运行需要12秒钟,计算机A的时钟频率为500MHz。现在硬件设计人员想设计计算机B,希望该程序在B上的运行时间缩短为8秒钟,而使用新技术可以使时钟频率大幅度提高,但在B上运行该程序所需的时钟周期数为A上的1.5倍。那么,机器B的时钟频率至少应为多少,才能达到希望的要求?A.222MHzB.666MHzC.750MHzD.1.5GHz7 .假设同一套指令集用不同的方法

15、设计了两种计算机A和B。机器A的时钟周期为1.2ns,机器B的时钟周期为2ns。某个程序在机器A上运行时的CPl为2,在B上的CPl为1o则对于该程序来说,机器A和机器B之间的速度关系为(D)。A.机器A比机器B快12倍B.机器B比机器A快1.2倍C.机器A的速度是机器B的1.2倍D.机器B的速度是机器A的1.2倍8 .假定编译器对高级语言的某个语句可以编译生成两种不同的指令序列,序列一为:A类指令2条,B类指令1条,C类指令2条;序列二为:A类指令4条,B类指令1条,C类指令1条。指令序列中用到的A、B和C三类指令的CPl分别为1、2和3,则以下哪个结论是错误的?(B)A.代码序列一比序列二

16、少1条指令B.代码序列一比序列二的执行速度快C.代码序列一的总时钟周期数比序列二多1个D.代码序列一的CPI比序列二的CPl大9 .假定用不同的编译器对同一个程序进行编译生成的指令序列为:序列一为:A类指令5条,B类指令1条,C类指令1条:序列二为:A类指令10条,B类指令1条,C类指令1条。两个指令序列在时钟周期为2ns的机器上运行。根据计算,得出其MIPS指标和执行速度两方面的结论为(B)。A.序列一的MIPS数比序列二多50,序列一的执行速度也比序列二快10sB.序列二的MIPS数比序列一多50,但序列一的执行速度比序列二快10sC.序列一的MIPS数比序列一多100,序列一的执行速度也

17、比序列二快20sD.序列二的MlPS数比序列一多100,但序列一的执行速度比序列二快20s10 .以下有关性能评价的叙述中,正确的是(A)。A.对计算机性能的评价主要是通过考察程序运行的速度来进行的B.对计算机I/O部分进行改进后,整个系统的性能会得到同样幅度的提高C.计算机的MISP数越高,性能越好D.综合性的基准测试程序能够更好地评价机器的性能例题分析:1 .以下给出的措施对缩短程序的响应时间和提富系统的吞吐率各有什么影响?A.使用更快的处理器B.增加处理器个数,使得不同的处理器同时处理不同的任务C优化编译生成的代码使得程序执行的总时钟周期数减少D.在CPU和主存之间增加Cache分析如下

18、:选项A:使用更快的处理器意味着执行同样的一个指令序列所花费的时间更短了。因为总执行时间=总时钟周期数X时钟周期。总时钟周期数没有变,而时钟频率加快了,即每个时钟周期更短了,因此总执行时间变短了。因此,能够缩短程序的响应时间,而每个作业的响应时间的加快,使得单位时间内完成的作业数增加,因而,系统的吞吐率也提高了。选项B:处理器个数的增加使得同时可以有多个作业在不同的处理器上进行处理,因而,系统在单位时间内可以完成更多的作业,吞吐率会明显提高。但每个作业的处理过程还是一样的,所以程序的执行时间并不会缩短。但是,因为吞吐率提高了,所以作业在等待队列中的排队时间减少了,因而响应时间会有一定相应的改善

19、。选项C:优化编译使生成的代码总的执行时钟周期数减少,也就缩短了程序的执行时间,因而也就使得单位时间内完成的作业数增加,提高了系统的吞吐率。选项D:在CPU和主存之间增加Cache,使得程序中的访问内存的时间大大缩短,因而可以缩短程序的响应时间,因而也就使得单位时间内完成的作业数增加,提高了系统的吞吐率。综上所述,选项A和C和D是因为首先缩短了程序的执行时间而使得系统吞吐率提高了;而选项B是因为提高了系统的吞吐率,使得程序等待时间缩短而缩短了程序响应时间。所以程序响应时间和系统吞吐率之间也是相辅相成的关系。2 .(请补上该题)考虑以两种不同方式实现同一指令集的机器M1和M2。在该指令集中一共有

20、三类指令:A类指令、B类指令、C类指令。MI的时钟频率为400MHz,M2的时钟频率为200MHZ。这各类指令在M1和M2上运行时所需的平均时钟周期数分别为:M1的CPI为:A:4;B:6;C:8;M2的CPI为:A:2;B:4;C:3。采用三种不同的编译器(C1、C2和第三方编译器C3)生成程序代码,这三类指令在三类编译器生成的程序中所占的百分比分别为:使用C1的为:A:30;B:50;C:20;使用C2的为:A:30;B:20;C:50;使用C3的为:A:50;B:30;C:20o假设对于同一个程序而言,三个编译器生成的代码中指令总数相等,但是指令的组合情况各不相同,如上所述分别占各自的。

21、如果MI和M2上都使用Cl编译器,那么,M1的生产厂商可以声称其性能是M2的多少倍呢?如果M1和M2上都使用C2编译器,M2的生产厂商可以声称其性能是Ml的多少倍呢?如果你购买了M1,那么你会选择哪种编译器?如果你购买了M2,你又会选择哪种编译器?如果其他所有指标(包括价格)都相同,你会买哪台机器?分析如下:1)假定在Ml和M2上都是用CI编译器,则M1上的CPI为:4x30%+6x50%+8x20%=5.8M2上的CPI为:2x30%+4x50%+3x20%=3.2M1的时钟频率为400MHz,M2的时钟频率为200MHz,所以:M1上一条指令的平均执行时间为:5.8x1400MHz=5.8

22、x2.5ns=14.5nsM2上一条指令的平均执行时间为:3.2x1200MHz=3.25ns=16nsM1的性能和M2的性能之比为:16ns/14.5ns=1.1所以,M1的生产商可以声称M1的性能是M2的1.1倍。2)假定在Ml和M2上都是用C2编译器,则Ml上的CPl为:Ml上的CPl为:4x30%+6x20%+8x50%=6.4M2上的CPl为:2x30%+4x20%+3x50%=2.9M1的时钟频率为400MHz,M2的时钟频率为200MHz,所以:M1上一条指令的平均执行时间为:6.41400MHz=6.4x2.5ns=16nsM2上一条指令的平均执行时间为:2.9x1/200MH

23、Z=2.9x5ns=14.5nsM2的性能和Ml的性能之比为:16ns/14.5ns=1.1所以,M2的生产商可以声称M2的性能是MI的1.1倍。3)根据上述分析,可知:如果购买了M1,则编译器应选择C1;如果购买了M2,则编译器应选择C2o4)如果所有其他指标都相同(包括价格),那么应选择MI还是M2呢?从上述1)和2)分析结果来看,用生产商各自自己的编译器无法衡量MI和M2的好坏,所以借助第三方提供的编译器来考察。M1上的CPI为:4x50%+6x30%+8x20%=5.4M2上的CPI为:2x50%+4x30%+3x20%=2.8M1的时钟频率为400MHz,M2的时钟频率为200MHz

24、,所以:M1上一条指令的平均执行时间为:5.4x1400MHz=5.4x2.5ns=13.5nsM2上一条指令的平均执行时间为:2.8x1200MHz=2.8x5ns=14nsM1的性能和M2的性能之比为:14ns/13.5ns=1.04所以,用第三方编译器说明Ml的性能是M2的1.04倍。本章小结:本章主要对计算机系统的性能评价作了概述性的说明。主要内容包括:(1)性能的定义:一般用程序的响应时间或系统的吞吐率表示性能。(2)性能的测量:一般把程序的响应时间划分成CPU时间和等待时间,CPU时间又分成用户CPU时间和系统CPU时间。因为操作系统对自己所花费的时间进行测量时,不十分准确,所以,对CPU性能的测量一般通过测量程序运行的用户CPU时间来进行。(3)各种性能指标之间的关系:CPU执行时间=CPU时钟周期数X时钟周期时钟周期和时钟频率互为倒数CPU时钟周期数=程序指令数X每条指令的平均时钟周期数CPl(4)性能评价程序的选择:采用一组基准测试程序来对机器的性能进行评测。有些制造商会针对评测程序中频繁出现的语句采用专门的编译器,使评测程序的运行效率大幅提高。因此有时基准评测程序也不能说明问题。(5)对于某种特定的指令集体系结构,提高计算机性能的主要途径有:提高时钟频率优化处理器中数据通路的结构以降低CPl采用编译优化措施来减少指令条数或降低指令复杂度

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号