计算机性能指标
CPU 指标
时钟周期
时钟周期(Clock Cycle)是计算机中 CPU 执行指令的基本时间单位,由系统时钟产生的一个“高低电平”变化(通常称为脉冲)所定义。
计算机内部有一个晶体振荡器,通常采用石英晶体,利用其压电效应产生规律的 脉冲信号。石英晶体在施加电压时会发生机械振动,而机械振动反过来又会产生电压。通过在电路中合理配置电容和电感元件,晶体振荡器能够在特定频率上持续振荡,形成稳定的机器脉冲源。
原始的脉冲信号是一个连续的模拟信号,在计算机系统中,这个模拟信号通常不会直接使用。为了适配数字电路的需要,晶体振荡器产生的模拟信号会经过整形和分频电路处理,转换为方波形式的数字脉冲信号,用于同步计算机中各个硬件组件的操作。时钟脉冲信号的宽度,即连续两个脉冲之间的时间间隔,称为时钟周期。
计算机中所有的设备都使用相同的时钟周期么?
不一定。某些组件(如 CPU 和内存等)需要同步工作,但不同的设备可能使用不同的时钟周期。
因此计算机内部的设备之间的同步方式可以分为同步和异步两种。同步设备使用相同的时钟信号,而异步设备则使用不同的时钟信号或不使用时钟信号。
主频
主频(CPU Frequency),是指中央处理器(CPU)的 时钟频率 (Clock Frequency),表示 CPU 每秒可以执行多少个基本 时钟周期。时钟周期 和 主频 互为倒数:
$$\text{\small Frequency} = \frac{1}{\text{\small Clock Cycle}}$$
其单位通常是 MHz(兆赫)或 GHz(千兆赫)。它决定了时钟振荡的快慢:
- 1 Hz:每秒 $1$ 次时钟振荡
- 1 MHz = $10^{6}$ 次/秒
- 1 GHz = $10^9$ 次/秒
比如,一个 3.0 GHz 的 CPU,主频是 3,000,000,000 Hz,意味着它每秒经历 30 亿个时钟周期。
指令执行指标
CPICPI(Cycle Per Instruction):也称 指令周期,即一条指令所需要的平均时钟周期。
下图展示了 指令周期、机器周期 和 时钟周期三者的关联:
三者具有层级关系:时钟周期 < 机器周期 < 指令周期。
- 时钟周期是硬件层面的最小时间单位。
- 机器周期是由多个时钟周期组成,用于完成一个基本操作(如取指令、存储数据)。
- 指令周期是由多个机器周期组成,用于完成一条指令的执行。
IPC(Instruction Per Cycle):也称 每周期指令,即每个时钟周期执行的平均指令数,是 CPI 的倒数。
$$\text{\small IPC} = \frac{1}{\text{\small CPI}}$$
IPSIPS(Instruction Per Second):也称 每秒指令数,即每秒平均能够执行多少条指令。
$$\text{\small IPS} = \frac{\text{\small 主频}}{\text{\small CPI}}$$
MIPSMIPS(Million Instructions Per Second):也称 每秒百万指令数,即每秒能够执行 多少个 百万的指令。
$$1 \text{\small MIPS} = 10^{6} \text{\small IPS}$$
浮点运算指标
FLOPSFLOPS(Floating-point Operations Per Second,每秒浮点运算次数)是衡量计算机浮点运算性能的指标,它表示处理器每秒能执行的浮点运算次数,通常用来评估 GPU 或 AI 芯片的性能。
- MFLOPS(Million FLOPS): 百万($10^{6}$)次每秒
- GFLOPS(Giga FLOPS): 十亿次($10^9$)每秒
- TFLOPS(Tera FLOPS): 万亿($10^{12}$)次每秒
- PFLOPS(Peta FLOPS): 千万亿($10^{15}$)次每秒
- EFLOPS(Exa FLOPS): 百亿亿($10^{18}$)次每秒
- ZFLOPS(Zetta FLOPS): 万亿亿($10^{21}$)次每秒
每次指标提升都是 $\times 10^3$,比如 $\text{\small GFLOPS} = 10^3 \text{\small MFLOPS}$。
计算机指标
字长
字长(Word Length)指的是计算机在内部一次操作中所能处理的二进制数字位数。例如,一个 32 位的 CPU 一次可以处理 32 位的数据。
数据通路带宽(Data Bus Width)
数据通路带宽是 CPU 和内存之间传输数据的宽度,通常以位为单位表示。比如,64 位的数据总线意味着每个时钟周期内,可以传输 64 位的数据。
主存容量
主存储器能够存储信息的最大容量,通常用字节来衡量。
MAR 的位数反应了可寻址范围的最大值(不一定是存储器的实际容量),与地址总线的位数一致。
这里主要看清题目中的 按字节寻址 和 按字寻址,内存空间 / 寻址单位 = 可寻址范围,通过可寻址范围计算 MAR 的位数。
比如主存地址空间大小为 128KB = $2^{17}$B,字长 16 位(2B),按字寻址,则 MAR 位数为 16。
吞吐量
吞吐量(Throughput)表示在单位时间内,系统可以完成的任务数量。在计算机网络中,它可能表示数据的传输速率;在计算中,它可能表示每秒执行的操作数。