本课目标
掌握计算机系统常用性能评价指标;理解 CPU 时钟周期、CPI、MIPS、加速比;熟悉 Amdahl 定律;学会区分峰值性能与实际性能;了解性能评测基准程序,建立科学评估计算机性能的思路。
10.1 性能评价基础概念
评价计算机性能不能只看单一参数(例如只看 CPU 主频)。硬件架构、Cache、流水线、存储带宽、IO 子系统都会影响程序实际运行速度。
两个核心评价维度:
- 响应时间 Response Time:从提交任务到任务执行完成的总耗时,也叫执行时间。面向单用户任务,时间越短性能越好。
- 吞吐量 Throughput:单位时间内系统能够完成的任务总量。面向多任务、服务器场景,数值越大性能越强。
响应时间缩短,在一定程度上可以提升吞吐量,但二者不完全等价。

10.2 CPU 基础性能参数
时钟周期 & 主频
时钟周期 Clock Cycle:CPU 最小的时间单位,CPU 所有动作都同步于时钟信号。
主频 Clock Frequency:单位时间时钟脉冲数量,主频 = 1 / 时钟周期。
注意:主频高不等于性能一定强。相同主频下,CPI 更低、流水线更好的 CPU,执行速度更快。
CPI(Cycles Per Instruction,每条指令平均时钟周期数)
执行一条指令平均消耗多少时钟周期。
- CPI 越小,代表平均单指令消耗时钟越少;
- 不同类型指令 CPI 不一样,访存指令、分支指令 CPI 通常高于简单算术指令。
程序总时钟周期计算公式:
MIPS
MIPS:每秒可以执行的百万条指令数量。
局限:MIPS 和指令集架构强相关,不能跨架构对比性能(RISC 与 CISC 指令不等效),仅适用于同架构对比。
10.3 Amdahl 定律(阿姆达尔定律,重点)
Amdahl 定律:用来估算系统优化后,最大可获得的加速比。

核心思想:系统的加速效果,受限于系统中无法被优化的部分。
加速比公式:
举例:某程序 80% 的计算部分可以并行加速,这部分提速 10 倍;剩余 20% 无法加速。
代入公式:
哪怕可优化部分提速 1000 倍,整体加速比上限也不会超过 5 倍。
启示:优化系统瓶颈才是性价比最高方案。
10.4 基准测试程序 Benchmark
理论公式只能做估算,真实性能依靠基准程序实测:
- 真实程序 Real Program:直接使用实际应用软件,例如编译、视频编码;最贴近真实场景,但测试耗时。
- 核心程序 Kernel:提取应用中最耗时的核心代码片段,计算密集,方便测试。
- 合成基准 Synthetic Benchmark:人工编写的测试代码,模拟真实程序特征,编写简单,但和真实负载差距较大。
常用基准套件:SPEC(标准性能评估机构),广泛用于 CPU 性能评测。
10.5 性能评价注意事项
- 峰值性能 Peak Performance:理论上硬件能达到的最大运算速度,几乎无法在真实程序下达到,参考意义有限。
- 相对性:性能对比必须固定相同编译器、操作系统、配置环境,改变环境会改变结果。
- 兼顾功耗:嵌入式、移动端场景,不能只追求性能,还要考虑功耗、能效比。
本课小结
性能主要看响应时间与吞吐量。CPU 的执行时间由指令条数、CPI、时钟周期共同决定。Amdahl 定律揭示了系统加速的上限,瓶颈部分决定整体优化效果。理论指标有局限,工程上依靠基准测试程序实测评估性能,不要单凭主频判断 CPU 好坏。
思考练习
- 响应时间和吞吐量分别是什么,适用场景?
- 写出程序 CPU 执行时间公式,主频、CPI、指令条数如何影响执行时间?
- Amdahl 定律核心含义是什么?
- MIPS 指标有什么局限性?
0 条笔记