体系结构的三大"墙"与发展趋势

从存储墙、功耗墙到带宽墙,计算机体系结构面临的核心挑战与应对

Posted by CloudingYu on June 10, 2026

一、计算机体系结构的知识体系

1.1 课程在计算机系统中的位置

1
2
3
4
5
6
7
8
9
高层应用
    ↓
操作系统(OS)
    ↓
计算机组成与体系结构
    ↓
RTL 寄存器传输级
    ↓
数字逻辑

与其他课程的关系

  • 操作系统:理解 memory、虚拟化、多核并行
  • 编译器:理解指令集并行、优化
  • 数据库:理解存储层次、缓存机制

二、计算机发展的三大”墙”

2.1 存储墙(Memory Wall)

核心矛盾:CPU 速度与存储器速度的差距越来越大。

Memory 的约束

  1. 容量不够大:永远不够用
  2. 带宽不够高:数据传输速度跟不上
  3. 局部性不足:频繁访问不同区域

解决方案

  • Cache 层次结构
  • 虚拟存储
  • 优化算法的 memory 访问模式

优化 memory 访问模式往往比简单提升 CPU 频率更能提升性能。

2.2 功耗墙(Power Wall)

  • 单核性能提升遇到功耗瓶颈
  • 转向多核架构

2.3 带宽墙(Bandwidth Wall)

  • GPU 使用 HBM 内存(高带宽内存)
  • 互联网络的设计变得关键
  • 多 GPU 服务器的连接拓扑成为瓶颈

三、核心知识点回顾

3.1 指令集(ISA)

RISC-V 指令集

  • 简洁、开放
  • 适合教学和研究
  • 未来有可能被大量采用

指令集设计的考虑

  • 指令集扩展的合理性
  • 针对特定应用场景的优化

3.2 运算方法和部件

浮点数

实际应用价值

  • 大模型参数量非常大,压缩是关键
  • 浮点数精度的权衡

在深度学习模型中,浮点数精度(如 FP32、FP16、BF16)的选择直接影响模型大小和推理速度。

运算单元

  • 乘法单元:追求速度
  • 除法单元:追求速度

3.3 中央处理器(CPU)

流水线设计

流水线的关键问题

  • 单周期、多周期、流水线的权衡
  • 数据冲突、控制冲突的处理

Timing 分析

流水线的 timing 分析是理解处理器性能的关键。

3.4 存储器结构

Memory 层次

核心原则

  • Cache(高速缓存)
  • 虚拟存储
  • 局部性原理

Memory 是计算机系统中绕不过去的瓶颈,一定不够大。

虚拟地址

复杂性

  • 虚拟地址到物理地址的转换
  • TLB(Translation Lookaside Buffer)
  • 多级页表

实际影响

一次看似简单的 memory 访问,实际可能涉及:

  1. 先查 TLB
  2. TLB 未命中则访问页表
  3. 多级页表可能需要多次 memory 访问
  4. 最后才真正访问数据

3.5 线程级并行

Tomasulo 算法

  • 动态调度
  • 乱序执行

Tomasulo 算法是实现指令级并行的经典方法,通过保留站(Reservation Station)和公共数据总线(CDB)实现动态调度。

3.6 多处理器系统

共享存储架构

两种形式

  1. 集中式共享存储(UMA):CPU 内部常用
  2. 分布式共享存储(NUMA):可以封装更多核

多核并非越多越好,核数增加带来的一致性维护开销也会增加。

Cache 一致性协议

广播方式(Snooping)

  • 每个 CPU 广播自己的访问
  • 适合小规模系统(2-4 个核)

在小规模系统中,每个 CPU 监听总线上的所有事务。但核数增加后,总线成为瓶颈。

协议演进

  • MSI:Modified, Shared, Invalid
  • MESI:加入 Exclusive 状态
  • MOESI:继续优化

每个状态的加入都有充分的理由,但会增加硬件复杂度。

False Sharing(假共享)

问题场景

  • Cache line 中多个数据被不同核访问
  • 本地调试(单核双线程)运行良好
  • 切换到多核后性能骤降

原因

不同核访问同一 Cache line 中的不同数据,即使逻辑上没有共享,也会触发一致性协议,导致频繁的 Cache line 失效。

目录协议(Directory Protocol)

  • 分布式系统的一致性维护
  • 目录存放在主存中
  • 记录每个 Cache line 的共享状态

3.7 内存一致性(Memory Consistency)

Sequential Consistency

最严格的模型

  • 所有处理器看到的内存访问顺序一致
  • 每个处理器内部的顺序保持不变

案例:两个核执行简单代码可能产生多种结果(在某些一致性模型下)。

Relaxed Consistency

性能考虑

  • Sequential Consistency 太慢
  • 需要放松(relax)一致性要求

fence 指令

  • 用于保证顺序
  • 在关键位置插入 fence
  • 权衡性能与正确性

四、互联网络

4.1 实际应用场景

场景:公司购买了 64 台 GPU(H200 或 4090),如何连接?

需要考虑的因素

  1. 业务流向:数据如何流动
  2. 网络拓扑:选择合适的拓扑结构
  3. 扩展性:未来是否还会扩展

4.2 网络拓扑参数

关键参数

  1. 网络规模(Network Size):总节点数
  2. 节点度(Node Degree):每个节点的连接数
  3. 距离(Distance):任意两节点间的最小跳数
  4. 网络直径(Network Diameter):最大距离

实际考虑

节点度的限制

  • 服务器有多少个网口?4 个、8 个?
  • 万兆网口、千兆网口
  • 加网卡增加网口数

拓扑选择

  • 线性(Linear):简单但距离远
  • 环形(Ring):节点度为 2,但距离可能很远
  • 全连接(Fully Connected):距离近但成本高

4.3 静态 vs 动态路由

  • 静态路由:固定路径
  • 动态路由:根据网络状态调整

环形网络曾经流行,因为每个节点的度只有 2,布线简单。


五、摩尔定律与技术瓶颈

5.1 摩尔定律的放缓

现状

  • 近 15 年发展越来越平坦
  • 单核性能提升遇到瓶颈

机遇

  • 技术放缓为后来者提供追赶机会
  • 创新变得必要:传统方法遇到瓶颈,需要全新架构

5.2 指令集的选择

RISC vs CISC

Intel 的历史包袱

  • x86 指令集背负大量历史包袱
  • AMD 在 x86 领域一直追赶 Intel
  • Intel 尝试更换指令集但失败

未来的不确定性

  • 技术发展方向难以预测
  • 不确定性为创新提供空间

六、体系结构的黄金时代

6.1 三大优势

  1. 半导体技术瓶颈:大家站到同一起跑线
  2. 体系结构人才充足:每年向社会输送大量人才
  3. 强烈的应用需求:巨大的市场需求驱动创新

6.2 David Patterson 讲座要点

背景

  • 时间:2019 年
  • 主题:计算机架构发展和新黄金时代
  • 讲者:David Patterson(RISC 之父,图灵奖得主)

核心观点

历史回顾的价值

回顾历史预测时,应思考:

  • 哪些预测实现了?
  • 哪些没有实现?
  • 为什么会有偏差?

RISC-V 的推广

  • 开放架构,不受制于人
  • 架构是否流行取决于多种因素
  • RISC-V 出货量已经很大,在小型设备中应用广泛

开源 vs 专利

  • 开源促进了技术传播
  • 专利保护了创新动力
  • 两者都对技术进步有贡献

七、知识体系总结

计算机体系结构是一个系统性的学科,涉及:

  1. 指令集架构:定义软硬件接口
  2. 运算部件:实现高效计算
  3. 流水线:提升指令吞吐率
  4. 存储层次:解决存储墙问题
  5. 并行处理:利用多核资源
  6. 互联网络:连接多处理器

这些知识点相互关联,共同构成了现代计算机系统的基础。理解这些概念有助于:

  • 知道系统中可能存在的性能瓶颈
  • 理解优化的切入点
  • 在设计系统时做出合理的权衡决策