微型计算机系统原理及应用:国产龙芯处理器的软件和硬件集成(基础篇)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5.3 处理器的评价指标

一个程序的CPU执行时间=一个程序使用的CPU周期数×CPU的时钟周期=一个程序使用的CPU周期数/CPU的时钟频率

从这个式子可知,减少程序的CPU周期数或者提高CPU的时钟频率,都能够减少一个程序的CPU执行时间。

例如,使用一个2GHz的处理器来运行一个程序需要10秒。现在想将运行程序所需要的时间压缩到6秒,设计者想单纯地提高处理器时钟频率来实现这个目的,但是提高频率可能会使得运行该程序所需要的CPU时钟周期数变成原来的1.2倍。

根据上面的公式和给出的条件,知道程序运行的时间和处理器的主频,则可以计算出执行该程序所需要的CPU时钟数为

一个程序使用的CPU周期数=一个程序的CPU执行时间×CPU的时钟频率=10×2×109=20×109

当运行时间需要压缩到6秒时,根据公式:

CPU的时钟频率=一个程序使用的CPU周期数/一个程序的CPU执行时间=20×109×1.2/6=4×109=4GHz

在给定上面的条件约束下,要想实现将程序运行时间压缩到6秒,则需要将处理器的时钟频率提高到4GHz。

1)CPI指标

此外,运行一个程序所需要的CPU时钟周期数还可以用下面的方法计算:

需要的CPU时钟周期数=程序的指令数×每条指令所需的平均执行周期

其中,每条指令所需的平均时钟周期为CPI(Clock Cycle Per Instruction)。

假设程序中使用到三类指令,用A、B和C类表示,每类指令的CPI分别为1、2和3。

(1)一个程序中,使用的A类指令为2条,使用的B类指令为1条,使用的C类指令为2条,则执行该程序所需要的CPU周期数为

(2×1)+(1×2)+(2×3)=2+2+6=10

(2)另一个程序中,使用的A类指令为4条,使用的B类指令为1条,使用的C类指令为1条,则执行该程序所需要的CPU周期数为

(4×1)+(1×2)+(1×3)=4+2+3=9

很明显,在第二种情况下执行程序所需要的CPU周期数更少,虽然第一种情况的指令数才有5条,第二种情况的指令数为6条。

因此,对于第一种情况下的CPI=10/5=2,对于第二种情况下的CPI=9/6=1.5。

2)MIPS指标

这里的MIPS是Million Instruction Per Second的缩写,表示每秒百万条指令。表面上,这个指标越高越好,因为表示计算机处理数据的能力更强。但实际上并非如此,这是因为存在下面的问题:

(1)没有办法比较不同指令集的计算机,因为指令数是不同的。

(2)在同一计算机上,不同的程序也会有不同的MIPS,因而一台计算机不会只有一个MIPS值。

:这里提示各位读者,在评价计算机系统性能时,不要绝对化,而是要具体问题具体分析,这样才能得到更加客观的评价结论。

思考与练习1-19:某程序在两台计算机上的性能测试结果如表1.4所示。

表1.4 某程序在两台计算机上的性能测试结果

(a)哪台计算机的MIPS值更高?

(b)哪台计算机更快?