计算机性能指标
复习提示(高优先级):性能指标既可直接比较,也常作为综合题中计算 CPU 执行时间、主存容量和系统吞吐量的基础。
学习本页时,应特别注意每个指标的定义、单位、适用范围,以及指标之间能否直接比较。
CPU 指标
时钟周期
时钟周期(Clock Cycle)是同步数字系统的基本时间单位,通常指时钟信号相邻两个同相位边沿(例如两个上升沿)之间的时间。
计算机内部有一个 晶体振荡器,通常采用石英晶体,利用其压电效应产生规律的脉冲信号。石英晶体在施加电压时会发生机械振动,而机械振动反过来又会产生电压。通过在电路中合理配置电容和电感元件,晶体振荡器能够在特定频率上持续振荡,形成稳定的机器脉冲源。
原始的脉冲信号 是一个连续的 模拟信号,在计算机系统中,这个模拟信号通常不会直接使用。为了适配数字电路的需要,晶体振荡器 产生的 模拟信号 会经过整形和分频电路处理,转换为方波形式的 数字脉冲信号,用于同步计算机中各个硬件组件的操作。时钟脉冲信号 的宽度,即连续两个 脉冲 之间的时间间隔,称为 时钟周期。
注意:计算机中所有设备都使用相同的时钟周期吗?
不一定。某些组件(如 CPU 和 内存 等)需要同步工作,但不同的设备可能使用不同的时钟周期。
因此计算机内部的设备之间的同步方式可以分为 同步 和 异步 两种。同步设备 使用相同的时钟信号,而 异步设备 则使用不同的时钟信号或不使用时钟信号。
主频
主频(CPU Frequency)是指中央处理器(CPU)的时钟频率(Clock Frequency),表示每秒包含多少个基本时钟周期。时钟周期 和 主频 互为倒数:
其单位通常是 MHz(兆赫)或 GHz(千兆赫)。它决定了 时钟振荡 的快慢:
- 1 Hz:每秒 次时钟振荡;
- 1 MHz:;
- 1 GHz:。
比如,一个 3.0 GHz 的 CPU,主频是 3,000,000,000 Hz,意味着它每秒经历 30 亿 个 时钟周期。
CPU 执行时间
若程序动态执行的指令条数为 (IC),平均每条指令需要 (CPI) 个时钟周期,时钟周期为 (T)、主频为 (f),则 CPU 执行时间 为:
当题目给出多类指令时,不能直接把各类 CPI 相加;应先按动态执行比例求平均:
例如,某程序执行 (2\times10^9) 条指令,平均 (CPI=1.5),运行在 (3\ \text{GHz}) 处理器上,则 (T_{\mathrm{CPU}}=1\ \text{s})。这个公式描述 CPU 真正在执行该程序的时间;I/O 等待、排队或操作系统切换是否计入总耗时,应按题目给出的时间边界判断。
指令执行指标
CPI
CPI(Cycle Per Instruction):也称 指令周期,即一条指令所需要的平均 时钟周期。
下图展示了 指令周期、机器周期 和 时钟周期 三者的关联:
三者具有层级关系:时钟周期 < 机器周期 < 指令周期。
- 时钟周期 是硬件层面的最小时间单位。
- 机器周期 是由多个 时钟周期 组成,用于完成一个基本操作(如取指令、存储数据)。
- 指令周期 是由多个 机器周期 组成,用于完成一条指令的执行。
IPC
IPC(Instruction Per Cycle):也称 每周期指令,即每个 时钟周期 执行的平均指令数,是 CPI 的 倒数。
IPS
IPS(Instruction Per Second):也称 每秒指令数,即每秒平均能够执行多少条指令。
MIPS
MIPS(Million Instructions Per Second):也称 每秒百万指令数,即每秒能够执行 多少个 百万的指令。
由 可得 。MIPS 依赖指令集、指令组合和 CPI,不能脱离程序工作负载直接比较不同体系结构的实际性能;比较同一程序时仍应优先使用 CPU 执行时间。
浮点运算指标
FLOPS
FLOPS(Floating-point Operations Per Second,每秒浮点运算次数)是衡量计算机浮点运算性能的指标,它表示处理器每秒能执行的浮点运算次数,通常用来评估 GPU 或 AI 芯片 的性能。
- MFLOPS(Million FLOPS): 次/秒;
- GFLOPS(Giga FLOPS): 次/秒;
- TFLOPS(Tera FLOPS): 次/秒;
- PFLOPS(Peta FLOPS): 次/秒;
- EFLOPS(Exa FLOPS): 次/秒;
- ZFLOPS(Zetta FLOPS): 次/秒。
相邻单位之间相差 ,例如 。
计算机系统指标
字长
字长(Word Length)指的是计算机在内部一次操作中所能处理的 二进制数字位数。例如,一个 32 位 的 CPU 一次可以处理 32 位 的数据。
数据通路宽度
数据通路带宽(Data Bus Width) 是 CPU 和 内存 之间传输数据的宽度,通常以 位 为单位表示。比如,64 位 的数据总线意味着每个 时钟周期 内,可以传输 64 位 的数据。
主存容量
主存储器 能够存储信息的最大容量,通常用 字节 来衡量。
MAR 的 位数 反映了 可寻址范围 的最大值(不一定是存储器的实际容量),与 地址总线 的 位数 一致。
这里主要看清题目中的 按字节寻址 和 按字寻址。若主存容量为 ,寻址单位大小为 ,则可寻址单元数与 MAR 位数分别为:
例如,主存容量为 ,字长为 位(),按字寻址,则共有 个可寻址字,MAR 需要 位;若改为按字节寻址,则 MAR 需要 位。
吞吐量
吞吐量(Throughput)表示在 单位时间 内,系统可以完成的 任务数量。在计算机网络中,它可能表示 数据的传输速率;在 计算 中,它可能表示 每秒执行的操作数。
响应时间
响应时间(Response Time,也常称时延)刻画一个任务从提交或输入开始,到用户得到题目所定义的响应所经历的时间。若题目把“响应”定义为任务完成,则它包含等待时间和实际服务时间;若定义为首次反馈,则终点应取首次可见结果。先读清起点和终点,不能把不同口径的时间直接相加或比较。
吞吐量刻画一段时间内完成的工作总量,响应时间刻画单个任务的等待体验。两者关注点不同:提高并行度可能增加系统吞吐量,却不一定缩短单个任务的响应时间;只有在没有排队、每个任务串行且服务条件相同等简化条件下,才可能用吞吐量的倒数近似单个任务的服务时间。