1.2 计算机的性能指标

字长、存储容量、主频、CPI、MIPS、FLOPS 与 CPU 执行时间的定义与计算。

考查要求 ★★★ 重点掌握 字长主频与时钟周期CPICPU 执行时间MIPS基准程序

主要性能指标

  • 机器字长:计算机进行一次整数运算(即定点整数运算)所能处理的二进制数据的位数,通常与 CPU 的寄存器位数、加法器有关。字长越长,数的表示范围越大,计算精度越高。
  • 数据通路带宽:数据总线一次所能并行传送信息的位数。
  • 主存容量:主存储器所能存储信息的最大容量,通常以字节衡量,也可用字数 × 字长(如 512K × 16 位)来表示。MAR 的位数反映了存储单元的个数,MDR 的位数反映了存储单元的字长。

运算速度

指标定义关系
时钟周期 TTCPU 中最小的时间单位,执行指令的每个动作至少需要 1 个时钟周期T=1/fT = 1/f
主频 ff机器内部主时钟的频率,即时钟周期的倒数1 GHz ⇔ 1 ns
CPI执行一条指令所需的时钟周期数(平均值)CPI=∑iPi×CPIi\mathrm{CPI} = \sum_i P_i \times \mathrm{CPI}_i
IPC每个时钟周期执行的指令条数IPC=1/CPI\mathrm{IPC} = 1/\mathrm{CPI}
MIPS每秒执行多少百万条指令MIPS=指令条数执行时间×106=fCPI×106\mathrm{MIPS} = \dfrac{\text{指令条数}}{\text{执行时间} \times 10^6} = \dfrac{f}{\mathrm{CPI} \times 10^6}
MFLOPS / GFLOPS / TFLOPS每秒执行多少百万(十亿 / 万亿)次浮点运算浮点操作次数执行时间×106\dfrac{\text{浮点操作次数}}{\text{执行时间} \times 10^6}
计算器CPI、执行时间与 MIPS
指令类型占比 %CPIᵢ贡献
0.5
0.9
0.4
平均 CPI = Σ(占比ᵢ × CPIᵢ) = 1.8
时钟周期 T = 1 / f = 0.5 ns
总周期数 = CPI × 指令数 = 18 ×10⁶
CPU 执行时间 = 周期数 / f = 9 ms
MIPS = f / (CPI × 10⁶) = 1,111.1
IPC = 1 / CPI = 0.556
修改任意参数,观察各指标的变化。例如把访存指令的 CPI 从 3 降到 2,执行时间会缩短多少?

另外,在单位换算时要注意:描述存储容量时 1K=2101\text{K} = 2^{10}、1M=2201\text{M} = 2^{20}、1G=2301\text{G} = 2^{30};描述频率、速率时 1K=1031\text{K} = 10^3、1M=1061\text{M} = 10^6、1G=1091\text{G} = 10^9。

例题

假定计算机 M₁ 和 M₂ 具有相同的指令集体系结构,主频分别为 1.5 GHz 和 1.2 GHz。在 M₁ 和 M₂ 上运行某基准程序 P,平均 CPI 分别为 2 和 1,则程序 P 在 M₁ 和 M₂ 上运行时间的比值是多少?

查看解答

指令集相同,程序 P 的指令条数 NN 相同。

t1t2=N×2/1.5GHzN×1/1.2GHz=2×1.21.5=1.6\frac{t_1}{t_2} = \frac{N \times 2 / 1.5\text{GHz}}{N \times 1 / 1.2\text{GHz}} = \frac{2 \times 1.2}{1.5} = 1.6

即 M₂ 比 M₁ 快,P 在 M₁ 上的运行时间是 M₂ 上的 1.6 倍。

即时练习

即时练习4 题
点击选项即可作答
  1. 1
    程序 P 在机器 M 上的执行时间是 20 s,编译优化后,P 执行的指令数减少到原来的 70%,而 CPI 增加到原来的 1.2 倍,则 P 在 M 上的执行时间是( )。
  2. 2
    某计算机主频为 1.2 GHz,其指令分为 4 类,它们在基准程序中所占比例及 CPI 分别为:A 类 50%、CPI 2;B 类 20%、CPI 3;C 类 10%、CPI 4;D 类 20%、CPI 5。该机的 MIPS 数是( )。
  3. 3
    下列关于"机器字长"的说法中,正确的是( )。
  4. 4
    若某计算机的时钟周期为 0.5 ns,则其主频为( )。
学完了吗?

标记完成后,侧栏会显示进度。进度仅保存在本浏览器中。