← Dwarkesh Podcast

Reiner Pope——自下而上看芯片设计

Reiner Pope – Chip design from the bottom up

第2026-05-22期2026-05-22简体中文会员内容

嘉宾:Reiner Pope

收听本集00:00 / 1:20:30
阅读设置
按你的习惯阅读
正文字号
下载播客精读
把这一篇,带走慢慢读

中文 · 精读 · 当前版本

下载功能还未开放

正文语言

精读 · 按主题梳理核心观点、论证与案例。

§01为什么从逻辑门讲起

这一期更像一堂黑板课,而不是通常意义上的访谈。它承诺在一小时里走完整条栈:从 AND、OR、NOT 门开始,一路爬到能看清 GPU、TPU、FPGA 和人脑为什么各自长成现在这个样子。这里画面很重要——Dwarkesh 特意让听众去 YouTube 看,因为论证是靠一笔一笔画出来、又划掉的图来承载的。

嘉宾是 Reiner Pope,新 AI 芯片公司 MatX 的 CEO,此前在谷歌做软件效率、编译器和 TPU 架构。Dwarkesh 披露自己是 MatX 的天使投资人,这一点值得记着:整场对话都是技术性的,但解释“哪些设计选择很难”的人,同时也是做这些选择的人。

§02基本单元是乘加,不是乘法

Pope 从芯片设计里最小的单元讲起——用金属走线连起来的逻辑门——并先说明终点:一颗量产芯片以及它的各个组成部分。两者之间的桥,是 AI 芯片存在的理由,即矩阵乘法,而它内部的原始操作是对成对数字做乘加。计划是先手算一遍,再从算术里读出电路。

示范的例子是一个四位数乘另一个四位数,累加进一个八位的累加器。Pope 给出这个原始操作自然成立的两个理由。第一,矩阵乘法就是 i、j、k 三重 for 循环,而每一步都是一次乘加。第二点是 AI 芯片特有的:累加步骤的精度几乎总是高于乘法步骤,因为低精度数字相乘没问题,但把很多乘积加起来,误差会迅速堆积。

Dwarkesh 追问这究竟是一个原理还是两个——是数值变大,还是舍入误差——答案把两者干净地分开了。数值变大是一回事,舍入误差的累积是另一回事。那个看似成立的反对意见是:一次乘加只加了两个数,怎么会累积误差?循环回答了它:求和要重复 j 次,所以即使每次乘法只带来一步舍入,误差也会跨迭代叠加。

§03手算一遍:部分积与五路求和

手算用的是长乘法,而且一次做完,不拆成两步。四位的被乘数依次乘上乘数的每一个位:乘 1 就复制自己,乘 0 就消失,左移一位又出现,再左移一位又消失。这些部分积加上累加器那一项,构成一个五路求和——这就是电路要计算的对象。

第一次成本核算精确而小。每个部分积的每一位都是两个输入位的 AND,所以四乘四消耗十六个 AND 门;推广开来,p 位乘 q 位消耗 p 乘 q 个。这是那条主导了整堂课的平方关系的首次出现。

Pope 指出,大部分工作量在求和上,这就引入了门尺寸光谱的另一端:全加器。尽管名字如此,它并不加三十二位数;它把三个单比特加起来、返回两个比特——因为 0+1+1 的结果可以是 0 到 3,两位就够了。所以它还有个名字:3 到 2 压缩器。

“它本质上就是把东西的个数数出来,用二进制表示。这个电路捕捉的正是我们人类沿着列求和时天然会做的事。”

一段澄清式的对话把语义钉死了,而这部分光靠听很容易误解。三个输入是同一列上的三个比特,不是一个 X、一个 Y 加一个进位输入;两个输出画成一竖一横,是为了表达“同列即同一位、相邻列则不同位”。一个输出是和位,另一个是进位输出。

§04Dadda 乘法器,以及为什么门数是 p 乘 q

归约从右往左进行,唯一有意违背人类习惯的地方是:进位不记在脑子里,而是明确写出来。一列里的三个比特进全加器,出来两个,处理过的比特划掉。在整张网格上反复做,直到只剩一个数——这就是标准的面积高效方案,Pope 说它叫 Dadda 乘法器。

好对话,值得读完整。

免费试读到此结束。开通书架会员,继续阅读全文,解锁中英对照与电子书下载。