Appearance
408 计算机组成原理
408
计算机组成原理
CO-01-02 性能指标(CPI/MIPS/FLOPS/主频/吞吐量)
一、定位信息
| 项目 | 内容 |
|---|---|
| 所属圈层 | 核心层 |
| 考点热度 | H级(高频重点) — 近5年真题中出现 ≥4 次,单次分值2–5分;选择题和综合计算题均有涉及,是第一章最核心的考点 |
| 前置知识回顾 | 需了解"指令"的基本概念(一条指令完成一个基本操作)、"时钟周期"的概念(CPU完成一个最基本操作所需的时间)。若不了解,可先阅读CO-01-01中关于指令系统的简要描述 |
| 知识网络定位 | 本单元是衡量计算机系统性能的核心工具,后续CPU流水线性能分析(CO-05-07)、存储器性能(CO-03-08 Cache命中率)、总线带宽(CO-06-03)等均以本单元公式为基础 |
二、知识点讲解
2.1 基本时间单位
在讨论性能指标之前,需要明确以下时间单位的关系:
| 术语 | 符号 | 定义 | 说明 |
|---|---|---|---|
| 时钟周期 | 时钟信号的一个完整周期 | CPU完成一个最基本操作所需的时间,单位通常为ns | |
| 时钟频率(主频) | 每秒时钟周期数 | ,单位为Hz,现代CPU主频通常为GHz级别 | |
| CPI | 执行一条指令平均需要的时钟周期数 | Clock Cycles Per Instruction | |
| 指令条数 | 程序中执行的指令总条数 | 由程序和编译器共同决定 |
主频:主频是CPU时钟信号的频率,反映CPU内部时钟的快慢。主频越高,每个时钟周期越短,CPU执行操作的速度越快。但主频不等于性能——相同主频下,不同架构的CPU每条指令完成的工作量不同(CPI不同),因此实际性能也不同。
2.2 核心性能指标
(1)CPU执行时间
CPU执行一个程序所需的时间是最根本的性能度量:
或等价地:
其中:
- :程序执行的指令总条数
- :每条指令的平均时钟周期数
- :时钟周期
- :时钟频率(主频)
理解要点:CPU执行时间由三个因素共同决定——指令条数(与ISA和编译器有关)、CPI(与微架构有关)、主频(与电路工艺有关)。提高任何一个因素都能缩短执行时间。
(2)CPI(Cycles Per Instruction)
其中 是第 类指令的CPI, 是第 类指令的执行次数, 是指令总条数。
关键理解:
- CPI是一个平均值,不同类型的指令CPI不同(如访存指令比寄存器指令慢)。
- CPI与ISA、微架构、编译器优化都有关。
- CPI越小,说明每条指令平均需要的时钟周期越少,CPU效率越高。
(3)MIPS(Million Instructions Per Second)
其中:
- :指令总条数
- :CPU执行时间(秒)
- :主频(Hz)
- :平均每条指令的时钟周期数
MIPS的含义:每秒执行多少百万条指令。MIPS值越高,表示CPU处理指令的速度越快。
MIPS的局限性:
- MIPS依赖于指令集——不同ISA的计算机,一条指令完成的工作量不同,MIPS不可直接比较。
- 同一计算机执行不同程序时MIPS可能不同。
- MIPS可能与实际性能矛盾(如某程序优化后指令数减少,MIPS可能下降但执行时间缩短)。
(4)FLOPS(Floating-Point Operations Per Second)
FLOPS的含义:每秒执行多少次浮点运算。主要用于衡量科学计算、图形处理等浮点密集型任务的性能。
常用单位:
| 单位 | 缩写 | 数值 |
|---|---|---|
| 千次浮点运算/秒 | kFLOPS | FLOPS |
| 百万次浮点运算/秒 | MFLOPS | FLOPS |
| 十亿次浮点运算/秒 | GFLOPS | FLOPS |
| 万亿次浮点运算/秒 | TFLOPS | FLOPS |
(5)吞吐量与响应时间
| 指标 | 定义 | 衡量对象 |
|---|---|---|
| 吞吐量(Throughput) | 单位时间内完成的工作量(如处理的任务数、数据量) | 系统整体处理能力 |
| 响应时间(Response Time / Latency) | 从提交任务到得到结果所需的时间 | 单个任务的完成速度 |
两者的关系:
- 响应时间关注"快不快",吞吐量关注"多不多"。
- 提高吞吐量不一定降低响应时间(如增加CPU核心数可提高吞吐量,但单个任务的响应时间不变)。
- 降低响应时间通常也能提高吞吐量(单位时间内可以完成更多任务)。
(6)总线带宽
对于采用总线周期(每个周期传输一次)的情况:
2.3 性能指标之间的关系汇总
重要关系推导:
将CPU执行时间公式变形:
由此可知,要提高CPU性能(缩短 ),可以:
- 减少指令条数 (优化ISA、改进编译器)
- 降低CPI(改进微架构,如采用流水线、超标量)
- 提高主频 (改进电路工艺、缩短关键路径)
三、记忆与理解辅助
技巧1:CPU时间公式的"三角形记忆法"
画一个三角形,顶上写 ,左下写 ,右下写 (或 )。三个量的关系是:顶 = 左 × 右。遮住任意一个,剩下两个的乘积(或商)就是它。
技巧2:CPI vs MIPS 的对比记忆
| 对比维度 | CPI | MIPS |
|---|---|---|
| 含义 | 每条指令平均时钟周期数 | 每秒百万条指令 |
| 方向 | 越小越好 | 越大越好 |
| 关系 | CPI越小,MIPS越大 | |
| 局限 | 依赖指令集,不同ISA不可直接比 | 同左 |
| 适用场景 | 分析微架构效率 | 快速估算性能 |
记忆口诀:"CPI低效率高,MIPS高速度快;二者互为倒数关系(与主频相关)。"
技巧3:MIPS的"反直觉"理解
MIPS可能与性能矛盾:程序优化后指令数大幅减少,执行时间缩短了(性能提升了),但MIPS可能反而下降。这是因为MIPS = 指令数 / 时间,如果指令数减少的比例大于时间减少的比例,MIPS就下降了。
所以记住:MIPS高 ≠ 性能好,MIPS只是一个参考指标。
技巧4:FLOPS只管浮点
FLOPS = Float Operations Per Second,只统计浮点运算。整数运算、逻辑运算不计入FLOPS。因此FLOPS主要衡量科学计算、图形渲染等浮点密集型场景的性能,不适合衡量通用计算性能。
四、例题与精解
例题1(基础)
题目:某计算机主频为 ,某程序共有 条指令,平均CPI为 。求:
(1)CPU执行时间;
(2)MIPS值。
命题意图:考查CPU执行时间和MIPS的公式应用,是本单元最基础的计算题。
审题分析:
- 已知:,,
- 求解: 和
解题思路:直接代入公式即可。
完整步骤:
(1) CPU执行时间
(2) MIPS值
或用另一种方法验证:
两种方法结果一致。
方法反思:
- 注意单位换算:主频GHz要转为Hz(×10⁹),MIPS中的"M"是10⁶。
- 公式的两种形式要能灵活互推。
- 变式方向:给定MIPS和主频求CPI,或给定执行时间和MIPS求指令条数。
例题2(中等)
题目:某程序包含三类指令,各类指令的执行次数和CPI如下表所示:
| 指令类型 | 执行次数 | CPI |
|---|---|---|
| A类(算术指令) | 1 | |
| B类(访存指令) | 4 | |
| C类(控制指令) | 2 |
若该程序在主频为 的CPU上运行:
(1)求程序的平均CPI;
(2)求CPU执行时间;
(3)若通过优化编译器,将B类指令的 替换为等价的A类指令(A类指令数增加 条,B类指令数减少 条),优化后CPU执行时间缩短了多少?
命题意图:考查加权平均CPI的计算、CPU时间计算,以及"指令数-CPI-主频"三因素对性能影响的综合分析。
审题分析:
- 已知三类指令的次数和CPI,以及主频。
- 需先求加权平均CPI,再求执行时间。
- 第(3)问需要重新计算优化后的执行时间并比较。
解题思路:按公式逐步计算,第(3)问需要先算出优化后的指令分布,再重新计算。
完整步骤:
(1) 平均CPI
指令总条数:
总时钟周期数:
平均CPI:
(2) CPU执行时间
(3) 优化后的CPU执行时间
优化后指令分布:
- A类: 条,CPI = 1
- B类: 条,CPI = 4
- C类: 条,CPI = 2(不变)
优化后总条数:
优化后总时钟周期数:
优化后平均CPI:
优化后CPU执行时间:
执行时间缩短:
缩短比例:
方法反思:
- 本题的关键是理解加权平均CPI的计算——不是简单取算术平均,而是按执行次数加权。
- 优化编译器可以减少指令数和降低平均CPI,从而缩短执行时间。
- 注意第(3)问的陷阱:虽然B类指令减少了,但A类指令增加了,总指令数反而增加了(从4×10⁹到4.5×10⁹)。但由于A类指令CPI远低于B类,总周期数反而减少了(从8×10⁹到7×10⁹),因此执行时间仍然缩短。这说明降低CPI比减少指令数更重要(在本例中)。
- 变式方向:可以问"如果提高主频到4GHz,执行时间是多少?"或"如果要将执行时间缩短到2s以下,CPI需要降到多少?"
五、考情分析
| 项目 | 内容 |
|---|---|
| 近5年考查频次 | 选择题约3–4次,综合计算题约1–2次,是第一章考查频次最高的知识点 |
| 常见题型 | 选择题(概念辨析,如MIPS的含义、CPI与性能的关系)和计算题(给定参数求CPU时间、MIPS等) |
| 大致分值 | 选择题2分;计算题4–5分 |
| 命题趋势 | 纯概念辨析题减少,综合计算题增加。近年趋势是将性能指标与后续章节结合,如:结合流水线加速比(CO-05-07)考查、结合Cache命中率(CO-03-08)考查等。需要考生熟练掌握公式推导和灵活应用 |
基于大纲与命题规律推测:CPI的加权平均计算、CPU执行时间的三因素分析仍将是高频考点。可能出现与流水线性能结合的综合计算题。
六、易错点提醒
易错点1
- 错误表现:将主频等同于性能,认为"主频越高,计算机越快"。
- 错误原因:忽视了CPI和指令条数对CPU执行时间的影响。
- 正确理解/做法:CPU执行时间 ,主频 只是三个因素之一。若主频提高但CPI也增大(如引入复杂功能),执行时间可能不降反升。正确说法是"在其他条件相同的情况下,主频越高,性能越好"。
易错点2
- 错误表现:计算MIPS时忘记将Hz转换为MHz(即忘记除以 ),或在公式 中直接用GHz代入。
- 错误原因:单位换算不仔细。
- 正确理解/做法: 的单位必须是Hz。如果给的是 ,则 。代入公式后:。如果直接用 代入(即2GHz当2),会得到错误结果。
易错点3
- 错误表现:计算平均CPI时,简单地对各类指令的CPI取算术平均(如 ),而不是按执行次数加权平均。
- 错误原因:混淆了"算术平均"和"加权平均"。
- 正确理解/做法:平均CPI = ,即用各类指令的执行次数作为权重。只有当各类指令执行次数相同时,加权平均才等于算术平均。
易错点4
- 错误表现:认为MIPS越大,计算机的性能一定越好,用MIPS直接比较不同架构的计算机。
- 错误原因:忽视了MIPS的局限性——不同ISA的计算机,一条指令完成的工作量不同。
- 正确理解/做法:MIPS只能在相同ISA、相同程序的条件下比较才有意义。跨ISA比较MIPS无意义。例如,RISC处理器的MIPS通常高于CISC,但完成同一任务可能需要更多指令。CPU执行时间才是唯一可靠的性能度量。
易错点5
- 错误表现:将吞吐量和响应时间混为一谈,认为提高吞吐量就是降低响应时间。
- 错误原因:未理解两者的定义差异。
- 正确理解/做法:吞吐量是单位时间完成的工作量(关注"多少"),响应时间是完成单个任务的时间(关注"快慢")。例如,增加流水线级数可以提高吞吐量,但由于流水线寄存器开销增加,单条指令的延迟(响应时间)可能反而增大。
七、来源标注
- 依据2026考研统考大纲"计算机组成原理"第一章"计算机系统概述"中关于性能指标的要求
- 依据大学本科经典教材共识:唐朔飞《计算机组成原理》、Patterson & Hennessy《计算机组成与设计》
- 性能指标公式及定义遵循国际通用标准
知识单元 CO-01-02 · 生成时间:2026-07-22