ECE/CS 252 · Computer Engineering
01 / 08
New concept · 微架构

Microarchitecture
到底是什么?

ISA 规定处理器对软件承诺什么;Microarchitecture 规定处理器内部怎样兑现这份承诺。

ISA = 做什么Microarchitecture = 怎么做结果 相同,性能可不同
同一契约
多种实现
01 / 06 · ISA

ISA 规定“能做什么”

它是软件能够观察到的功能契约,而不是芯片内部的施工图。

ISA 会规定

  • 有哪些指令:ADD、LOAD、STORE、JUMP
  • 寄存器、数据类型、寻址方式
  • 指令的语义与二进制编码
  • 基本的内存、异常和可观察行为
ADD R1, R2, R3 # ISA 规定:R1 ← R2 + R3 LOAD R1, [addr] # ISA 规定:R1 ← Memory[addr]
软件依赖的是“执行后看到的结果”。软件不需要知道加法器放在哪里、经过几级流水线。
02 / 06 · Microarchitecture

Microarchitecture 规定“内部怎么做”

同一个 ADD,可以被拆成多个内部阶段;这些阶段如何安排,就是微架构。

01

取指

从指令缓存取得机器指令

02

译码

识别这是 ADD、LOAD 还是其他操作

03

读寄存器

取得 R2 与 R3 的值

04

执行

由 ALU 完成加法

05

写回

把结果写入 R1

微架构 = 处理器内部的组织与执行策略:取指单元、译码器、寄存器文件、ALU、Cache、控制逻辑等如何协同工作。
03 / 06 · Analogy

把 ISA 想成菜单,把微架构想成厨房

顾客关心交付的菜;厨房关心动线、设备、备料和并行方式。

ISA

菜单与服务承诺

顾客点“一份炒饭”,餐厅必须交付符合约定的炒饭。菜单描述对外可见的结果。

µArch

厨房的具体组织

一个厨师慢慢做,还是多人并行、提前备料、使用更好的炉具,决定速度、成本和能耗。

不同厨房可以有不同内部设计,只要最后交付符合菜单的菜;这正是“同一 ISA,多种 Microarchitecture”。
04 / 06 · Concrete example

同一条 ADD,简单处理器与现代处理器

两者都要产生同一个架构结果,但内部组织的复杂程度不同。

简单的顺序处理器

in-order · narrow
  • 一条指令完成后再开始下一条
  • 少量执行单元,控制逻辑简单
  • 设计容易、功耗可能较低
低复杂度较低吞吐易于实现

现代高性能处理器

superscalar · out-of-order
  • 流水线让多条指令重叠执行
  • 等待数据时先执行其他独立指令
  • Cache、分支预测、多 ALU 提高吞吐
高复杂度高吞吐更多功耗 / 面积
架构结果:R1 ← R2 + R3。实现方式:可以完全不同。
05 / 06 · Multiple implementations

同一 ISA,可以有多个微架构实现

软件看到相同的指令契约;处理器内部的 Cache、流水线和执行策略可以不同。

x86-64

Intel Core / AMD Ryzen

都实现兼容的 x86-64 指令体系;但 Cache 层级、流水线、分支预测、执行单元和功耗策略各有不同。

ARMv8-A

Cortex-A53 / Cortex-A76

都可以实现 ARMv8-A 的共同指令子集;一个偏效率与简单,另一个更偏性能与乱序执行。

同一个程序可能得到相同结果,但运行速度、功耗、吞吐量和成本不同。
06 / 06 · Compatibility boundary

“同一 ISA,软件就能运行”有什么前提?

更准确的说法:兼容 ISA 的共同子集,且运行环境也满足要求。

1

ISA 共同子集

处理器要支持程序实际使用的指令、寄存器和数据模型。额外 SIMD / 加速扩展不一定处处可用。

2

OS / ABI 匹配

操作系统、调用约定、二进制格式和运行时也要匹配。同一 ISA 不自动保证跨 OS 直接运行。

3

结果相同 ≠ 速度相同

微架构可以改变流水线、Cache、并行度和功耗;同一程序的表现仍可能差异很大。

ISA
软件契约
Microarchitecture
内部组织
Logic Circuits
逻辑电路
Devices
晶体管与材料
Recap · 一句话记忆

ISA 是合同,Microarchitecture 是施工方案

同一份 ISA 契约
可以由不同的
Microarchitecture 来兑现。
  • ISA:软件能观察到什么?
  • Microarchitecture:处理器内部怎样完成?
  • Logic Circuits:用哪些逻辑电路实现?
  • Devices:用哪些晶体管、材料和版图制造?
  • 结果可保持一致,性能与能耗不必一致。
检查自己是否真正理解:看到一个处理器特性时,问“这是软件可见的 ISA 特性,还是内部的 Microarchitecture 选择?”
使用 ← → / Space 翻页 · 按 P 打印或导出 PDF