计算机性能指标

需掌握计算机的各种性能指标,为后续内容的基础,常常在选择题中考察。

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 GHzCPU,主频是 3,000,000,000 Hz,意味着它每秒经历 30 亿时钟周期

指令执行指标

CPI

CPI(Cycle Per Instruction):也称 指令周期,即一条指令所需要的平均 时钟周期

下图展示了 指令周期机器周期时钟周期 三者的关联:

时钟
周期
机器周期
(取指令)
机器周期
(译码)
机器周期
(执行)
机器周期
(执行)
指令周期

三者具有层级关系:时钟周期 < 机器周期 < 指令周期

  • 时钟周期 是硬件层面的最小时间单位。
  • 机器周期 是由多个 时钟周期 组成,用于完成一个基本操作(如取指令、存储数据)。
  • 指令周期 是由多个 机器周期 组成,用于完成一条指令的执行。
IPC

IPC(Instruction Per Cycle):也称 每周期指令,即每个 时钟周期 执行的平均指令数,是 CPI倒数

$$\text{\small IPC} = \frac{1}{\text{\small CPI}}$$

IPS

IPS(Instruction Per Second):也称 每秒指令数,即每秒平均能够执行多少条指令。

$$\text{\small IPS} = \frac{\text{\small 主频}}{\text{\small CPI}}$$

MIPS

MIPS(Million Instructions Per Second):也称 每秒百万指令数,即每秒能够执行 多少个 百万的指令。

$$1 \text{\small MIPS} = 10^{6} \text{\small IPS}$$

浮点运算指标

FLOPS

FLOPS(Floating-point Operations Per Second,每秒浮点运算次数)是衡量计算机浮点运算性能的指标,它表示处理器每秒能执行的浮点运算次数,通常用来评估 GPUAI 芯片 的性能。

  • 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}$。

FLOPS_unitsMFLOPSMFLOPSMillion = 10^6GFLOPSGFLOPSGiga = 10^9MFLOPS->GFLOPS×10³TFLOPSTFLOPSTera = 10^12GFLOPS->TFLOPS×10³PFLOPSPFLOPSPeta = 10^15TFLOPS->PFLOPS×10³EFLOPSEFLOPSExa = 10^18PFLOPS->EFLOPS×10³ZFLOPSZFLOPSZetta = 10^21EFLOPS->ZFLOPS×10³legend注:1 FLOP = 1 次浮点运算每级相差 10^3(千倍)

计算机指标

字长

字长(Word Length)指的是计算机在内部一次操作中所能处理的 二进制数字位数。例如,一个 32 位CPU 一次可以处理 32 位 的数据。

数据通路带宽

数据通路带宽(Data Bus Width) 是 CPU内存 之间传输数据的宽度,通常以 为单位表示。比如,64 位 的数据总线意味着每个 时钟周期 内,可以传输 64 位 的数据。

主存容量

主存储器 能够存储信息的最大容量,通常用 字节 来衡量。

MAR位数 反映了 可寻址范围 的最大值(不一定是存储器的实际容量),与 地址总线位数 一致。

这里主要看清题目中的 按字节寻址按字寻址,内存空间 / 寻址单位 = 可寻址范围,通过 可寻址范围 计算 MAR位数

比如主存地址空间大小为 128KB= $2^{17}$B,字长16 位(2B),按字寻址,则 MAR 位数为16。

吞吐量

吞吐量(Throughput)表示在 单位时间 内,系统可以完成的 任务数量。在计算机网络中,它可能表示 数据的传输速率;在 计算 中,它可能表示 每秒执行的操作数