从逻辑门到AI芯片:自底向上理解芯片设计

MatX CEO Reiner Pope 在访谈中从最底层的逻辑门开始,系统讲解了AI芯片的工作原理。他阐述了乘加运算作为核心原语的必然性、脉动阵列如何优化数据移动、时钟周期与流水线的权衡,以及GPU、TPU和FPGA在架构上的本质差异。

导语

在最新一期Dwarkesh Podcast中,MatX CEO Reiner Pope 为听众带来了一堂从零开始的“芯片设计黑板课”。他从最基础的逻辑门讲起,逐步构建出乘加运算单元、脉动阵列,并解释了时钟周期、流水线寄存器等关键概念。通过对比GPU、TPU和FPGA的架构设计,他揭示了芯片设计中“计算与通信权衡”这一核心主题,为理解现代AI芯片的工作原理提供了清晰的路径。

大纲与深读 10 章

展开「深读」看每一段讨论的问题与论据。

01

乘累加单元的基础

  • 逻辑门(AND、OR、NOT)是芯片设计的最小基础单元
  • 乘累加(MAC)是AI芯片矩阵乘法计算的核心原语
  • 选择四乘八位是为了平衡计算效率和累加误差
深读这一段

讨论的问题:为什么乘累加是AI芯片的自然计算原语?

论据 / 案例:矩阵乘法公式 output[i,k] += input[i,j] × other_input[j,k];四乘八位设计考虑了累加过程中的误差累积

02

逻辑电路的实现

16:40
  • 16个AND门用于生成部分积,全加器(3→2压缩器)处理进位和求和
  • Dadda乘法器通过反复应用全加器实现高效面积乘法器
  • 电路规模为 p×q 个全加器,体现了二次缩放优势
深读这一段

讨论的问题:如何用逻辑门构建一个高效的乘累加电路?

论据 / 案例:24位输入通过16个全加器处理得到8位输出;电路规模为 p×q 个全加器

03

多路复用器与数据移动成本

16:31
  • 多路复用器(mux)负责从寄存器文件中选择输入,其成本为 n×p 个AND门和(n-1)×p个OR门
  • 数据移动成本(寄存器文件到ALU)通常远大于计算成本本身
  • 传统CUDA核心中约7/8的面积用于数据移动,仅1/8用于实际计算
深读这一段

讨论的问题:数据移动在芯片设计中的隐性成本有多大?

论据 / 案例:8输入、p位宽的mux成本为24×p个AND门,而4×p位乘法器仅需4×p个门

04

脉动阵列的原理与优势

26:10
  • 脉动阵列将矩阵乘法的内层循环烘焙到硬件中,减少数据移动
  • 权重矩阵存储在阵列本地,输入向量在列间流动,输出沿列累积
  • 通过缓慢加载权重(带宽与面积权衡)实现高效计算
深读这一段

讨论的问题:脉动阵列如何解决计算与通信的失衡问题?

论据 / 案例:权重矩阵本地存储,输入输出向量仅需 x 带宽;TPU使用128×128脉动阵列

05

时钟周期与流水线寄存器

39:11
  • 时钟周期通过全局同步协调芯片上数以亿计的并行单元
  • 流水线寄存器插入以分割逻辑路径,提高时钟频率但增加面积
  • 反馈回路(如累加器)限制了最大时钟速度,是关键设计约束
深读这一段

讨论的问题:什么决定了芯片的时钟周期,如何优化?

论据 / 案例:流水线寄存器插入可将时钟频率提高一倍;TSMC 3nm工艺下逻辑门延迟约10皮秒

06

FPGA与ASIC的权衡

51:51
  • FPGA通过可配置的LUT(查找表)和路由网络模拟ASIC的逻辑功能
  • FPGA成本约为ASIC的10倍,但支持现场编程和快速迭代
  • LUT本质上是16输入的mux,通过真值表实现任意门功能
深读这一段

讨论的问题:为什么在高频交易等场景中选择FPGA而非ASIC?

论据 / 案例:首个FPGA成本约1万美元,而首个ASIC成本高达3000万美元;LUT实现4输入AND门需32个门,ASIC仅需3个

07

缓存与Scratchpad内存

63:25
  • CPU缓存通过硬件自动管理,提供低延迟但不确定的访问时间
  • Scratchpad内存由软件显式控制,提供确定性延迟但需要更多管理
  • 非确定性延迟主要源于缓存命中率的不可预测性
深读这一段

讨论的问题:为什么CPU缓存导致非确定性延迟,而TPU使用Scratchpad?

论据 / 案例:缓存比DDR快100倍但命中率取决于程序运行环境;TPU的Scratchpad提供确定性访问

08

CPU与GPU核心差异

67:27
  • CPU核心包含大型分支预测器和缓存,以优化单线程性能和延迟
  • GPU核心更小、更简单,专注于高并行计算,移除了分支预测器
  • CPU约100核心×16路向量单元,提供约1000路并行;GPU提供数万个CUDA核心
深读这一段

讨论的问题:为什么CPU核心比GPU核心大得多?

论据 / 案例:CPU分支预测器和缓存占用大量面积;GPU核心移除了这些组件以容纳更多计算单元

09

芯片与大脑的比较

72:00
  • 大脑的非结构化稀疏连接与芯片的结构化稀疏不同
  • 大脑的计算与内存共存,但时钟速度慢得多以节省能耗
  • 芯片能耗主要来自晶体管切换,降低时钟频率可线性减少能耗
深读这一段

讨论的问题:大脑和芯片在架构和能耗方面有何根本差异?

论据 / 案例:芯片动态能耗主要来自位翻转;大脑的低频操作节省能耗但无显著能效优势

10

GPU与TPU的组织差异

75:33
  • GPU由许多小型SM(流式多处理器)组成,每个SM包含小型张量核心
  • TPU采用粗粒度组织,包含少数大型矩阵单元和中心向量单元
  • GPU在SM间数据移动带宽更高,TPU允许更大的脉动阵列以摊销成本
深读这一段

讨论的问题:GPU和TPU在芯片组织上有什么根本区别?

论据 / 案例:GPU SM类似小型TPU;TPU矩阵单元更大但数据移动受限于周边布线

金句

  • "This is the single reason low-precision arithmetic has worked so well for neural nets." ——这是低精度算术在神经网络上如此有效的唯一原因。
  • "Almost all your cost becomes synchronization or communication cost compared to the actual logic." ——与实际逻辑相比,你几乎所有的成本都变成了同步或通信成本。
  • "A GPU is just a bunch of tiny TPUs." ——GPU本质上就是一堆微型TPU。
  • "Make this one bigger somehow while keeping this at the same size. That's the goal." ——想办法把这个(计算单元)做大,同时保持那个(数据移动单元)不变。这就是目标。
  • "It hurts your throughput, in fact, because the throughput of your chip is the product of how much you get done per clock cycle... times how many clocks you get per second." ——它实际上损害了你的吞吐量,因为芯片的吞吐量是每个时钟周期完成的工作量乘以每秒的时钟数。

原文链接

查看完整访谈

完整内容见原文:Dwarkesh Podcast · 从逻辑门到AI芯片:自底向上理解芯片设计