Administrator
发布于 2025-12-17 / 23 阅读
0

00-计算机系统概述与性能度量

概述

在《计算机组成原理》中,我们通常区分两个关键层次:指令集体系结构(ISA)微结构(microarchitecture)

  • ISA 定义了程序员可以使用的指令(如 add、load、branch)以及它们的行为,是软硬件之间的“契约”;
  • 微结构描述的是如何在内部实现这些指令,包括流水线各级、功能部件、Cache 组织等。
    一般认为,单个程序在 CPU 上的执行时间可通过核心公式表示为:
T = IC\times CPI\times \text{时钟周期}=\frac{IC\times CPI}{时钟频率}

MIPS(每秒执行的百万条指令数)是一个经典性能指标,虽然 MIPS 计算简单,但有重要局限:它依赖于指令集和程序本身的指令结构,因此 MIPS 高并不一定执行时间短。定义为:

\text{MIPS}=\frac{\text{instruction count}}{\text{execution time} \times 10^6}=\frac{IC}{T\times10^6}=\frac{\text{时钟频率}}{CPI\times10^6}

当程序包含多种不同类型的指令,每类指令有自己的 CPI 时,平均 CPI 是一个加权平均数:

CPI_{AVG}=\sum_{i}CPI_i\times f_i

其中 CPI_i 是第 i 类指令的 CPIf_i​ 是该类指令在全部指令中所占的比例,并且满足 \sum_i f_i = 1
时钟频率 f(单位 Hz)与时钟周期 T_{clk}​(单位 s)互为倒数。
Amdahl 定律描述的是:当系统中只有部分工作负载被加速时,整个系统可以获得的最大加速比。若原执行时间中有一部分比例为 f 被加速,其加速倍数为 S_f​,则整体加速比 S 为:

S = \frac{1}{(1-f)+\frac{f}{s_f}}

这里 f被改进部分在“原始执行时间”中所占比例,分母表示加速后归一化的总执行时间。

Eng:

  • unit conversions:单位转换
  • Instruction Set Architecture (ISA):指令集体系结构
  • microarchitecture:微结构。
  • IC(instruction count):指令条数
  • CPI(average clock per instruction):平均每条指令需要的时钟周期数
  • MIPS (Millions of Instructions Per Second):每秒执行的百万条指令数

这部分考研重点与常见易错点

  • 考点 1 – ISA 与微结构(基础 + 高频):
    典型题目会问“以下哪项属于 ISA”“哪项属于微结构”,例如:指令格式、寻址方式属于 ISA;流水线级数、Cache 容量属于微结构。
  • 考点 2 – 执行时间公式(高频计算):
    题目常通过 IC、CPI、时钟频率来比较两台机器的快慢。常见错误是:只看频率,认为“频率高的一定快”,而忽略 IC 和 CPI。
  • 考点 3 – 平均 CPI 权重(高频 + 易错):
    一定要用指令出现频率作为权重,而不是简单平均各类指令的 CPI;注意区分“时间比例”和“指令条数比例”。
  • 考点 4 – 单位与 MIPS(基础但易坑):
    学生常忘记 MIPS 中的 10^6 因子,或者 Hz↔s 的换算出错。MIPS 不能直接用来比较不同 ISA 的机器。
  • 考点 5 – Amdahl 定律分母(高频 + 易错):
    分母必须是 (1 - f) + f / S_f​。把分母错写或用错 f(用指令比例代替时间比例)都会导致加速比错误。
    IC 取决于 算法 + ISA + 编译器
    CPI 取决于 微结构 + 指令类型比例
    时钟频率 取决于 硬件工艺 + 设计

时间和频率换算表:

  • 1s=10^3s=10^6 \mu s = 10^9 ns
  • 1\text{Hz} = 1/(1s)
  • 1\text{MHz} = 10^6\text{Hz},1\text{GHz} = 10^9\text{Hz}

锁存器 vs 触发器

两种寄存元素的性格

  • 锁存器(level-sensitive latch)电平透明。使能=1 的时候,输入变化会“流进来”;使能=0 时才“关门记住”。
  • 边沿触发触发器(edge-triggered flip-flop)只在时钟边沿(上升/下降沿)那一瞬间“采样输入、锁住输出”,其余时间对输入的抖动视而不见
    直觉类比
  • 锁存器像“门开着就能进出”的仓库门:开门时人流会连续涌入(透明),关门才定格。
  • 触发器像“闸机”:只在叮的一声那一瞬刷卡放行一次,剩下时间闸门紧闭。
    因为锁存器在“门开着”的时候输入变化会传到输出,可能造成相邻两级互相干扰(信号穿透)
    而触发器只有在时钟边沿才更新输出,完全隔离各流水段
    这让流水线“一级一拍”非常清晰稳定。