跳转至

Computer Architecture

性能公式

  • CPU 时间 (CPU Time) = 指令数 (Instruction Count) × 指令平均周期数(CPI,Cycle Per Instruction)× 时钟周期 (Clock Cycle)

下面表格用「有/无」标出不同层次是否会影响性能公式中的三项,并给出一个直观例子:

层次 指令数 CPI 时钟周期 例子
算法 (Algorithms) 冒泡 vs 快排:指令数差很多;顺序 vs 随机访问:cache miss 多,CPI 更高
编程语言 (Programming Language) Python/Java vs C:运行时/抽象开销带来更多指令;GC/动态派发/边界检查增加停顿
编译器 (Compiler) -O0 vs -O3:优化减少指令并降低停顿;但编译器不能改变硬件频率/周期
指令集 ISA (ISA) SIMD/FMA 让同样工作更少指令;可变长/复杂解码可能拉长关键路径限制最高频率
处理器组织/微架构 (Processor Organization) 乱序/预测/缓存影响停顿→CPI;流水线级数/关键路径决定频率→周期
器件与工艺 (Device & Technology) 更先进工艺可提高频率→周期更小;更慢的存储器/互连会让访存停顿(以周期计)更大

Quiz

  1. xxx 是否会影响 xxx?为什么?举例说明。

流水线 CPU

请参考 ppt。

Quiz

  1. 什么是结构冒险 (Structural Hazard)?
  2. 什么是数据冒险 (Data Hazard)?
  3. 什么是控制冒险 (Control Hazard)?
  4. 单周期 CPU 和 多周期 CPU 哪个 CPI 更高?为什么?