性能计算
随着计算机系统复杂度的不断增长,性能指标也在不断地增长,这也增加了衡量计算机系统性能的难度。如何在众多指标中选取合适的性能指标,以及选择何种衡量方法都成为一项重要的课题,因此也衍生了各种性能评估体系。由于性能指标种类繁多,不可能一一列举,本节主要介绍一些常用性能指标的计算方法。在实际应用时,往往是对这些常用性能指标的复合计算,然后通过算法加权处理得到最终结果。
性能指标计算的主要方法有:定义法、公式法、程序检测法、仪器检测法。定义法主要根据其定义直接获取其理想数据,公式法则一般适用于根据基本定义所衍生出的复合性能指标的计算,而程序检测法和仪器检测法则是通过实际的测试来得到其实际值(由于测试的环境和条件不定,其结果也可能相差比较大)。
有些性能指标,在不同的环境中,其名字相同,但计算方式和结果可能相差甚远,例如,吞吐量、带宽等,在计算机、路由器、交换机和网络中多处出现了有关吞吐量的定义,但其具体的含义不尽相同。
1.MIPS 的计算方法
公式中,Fz 为处理机的工作主频,CPI(Cycles Per Instruction)为每条指令所需的平均时钟周期数,IPC 为每个时钟周期平均执行的指令条数。
例如,如果要计算 Pentium IV/2.4E 处理机的运算速度,因为 Pentium IV/2.4E处理机的IPC=2(或 CPI=0.5),Fz=2400MHz,所以 MIPSP4/2.4E = IPC′Fz=2′2400 = 4800MIPS。
2.峰值计算
衡量计算机性能的一个重要指标就是计算峰值或者浮点计算峰值,它是指计算机每秒钟能完成的浮点计算最大次数。包括理论浮点峰值和实测浮点峰值。
理论浮点峰值是该计算机理论上能达到的每秒钟能完成浮点计算最大次数,它主要是由 CPU 的主频决定。
理论浮点峰值 = CPU 主频′CPU 每个时钟周期执行浮点运算的次数′系统中 CPU 数
CPU 每个时钟周期执行浮点运算的次数是由处理器中浮点运算单元的个数及每个浮点运算单元在每个时钟周期能处理几条浮点运算来决定的。
3.等效指令速度
静态指令使用频度指的是在程序中直接统计的计算机速度。动态指令使用频度指的是在程序执行过程中统计的指令速度。在计算机发展的早期,用加法指令的运算速度来衡量计算机的速度。后来发展成为等效指令速度法或吉普森(Gibson)法,在这种方法中,通常加、减法指令占 50%,乘法指令占 15%,除法指令占 5%,程序控制指令占 15%,其他指令占 15%。
例如,我国最早研制的小型计算机 DJS-130,定点 16 位,加法速度每秒 50 万次,但没有硬件乘法和除法等指令。用软件实现乘法和除法,速度降低 100 倍左右,则其等效指令速度为
即每秒 2 万次,由于乘法和除法用软件实现,等效速度降低了 25 倍。
又如,如果浮点开平方操作 FPSQR 的比例为 2%,它的 CPI 为 100,其他浮点操作的比例为23%,它的 CPI4.0,其余指令的 CPI1.33,则该处理机的等效 CPI 为:100 ′2%+4′23%+1.33′75%=3.92
如果 FPSQR 操作的 CPI 也为 4.0,则其等效 CPI 为:4 ′25%+1.33′75% =2.00
由于改进了仅占 2%的 FPSQR 操作的 CPI,使等效速度提高了近一倍。