@ryanlpeterman: David Patterson 是图灵奖得主,以对计算机架构的贡献而闻名。我采访了他,聊了…
摘要
对图灵奖得主 David Patterson 的采访,涵盖 RISC 与 CISC 的历史、GPU/TPU 比较、摩尔定律及职业建议。
查看缓存全文
缓存时间: 2026/07/13 13:55
大卫·帕特森是图灵奖得主,以对计算机架构的贡献而闻名。我采访了他关于过去的工作、对GPU/TPU的思考以及从半个世纪的职业生涯中总结的职业建议。
本期内容:
• RISC与CISC的历史争论 • GPU、TPU和CPU的比较 • 摩尔定律是否已死? • 如何拥有糟糕的职业生涯 • 给年轻自己的建议
观看渠道:
• YouTube - https://youtu.be/Pn4ZwlEh5nw • Spotify - https://open.spotify.com/episode/6mlRwX3aNmRQLiAho2CTXW?si=imjcMUb9S5yBYr8Pr4j2wA… • Apple Podcasts - https://podcasts.apple.com/us/podcast/the-peterman-pod/id1777363835… • 文字记录 - https://developing.dev/p/turing-award-winner-tpu-vs-gpu-vs?r=n49ky…
章节:
00:00 - 开场 00:42 - RISC vs CISC 12:51 - 编译器 17:38 - GPU 23:07 - GPU vs TPU vs CPU 32:12 - 摩尔定律死了吗? 38:04 - GPU基准测试 41:40 - 如何拥有糟糕的职业生涯 49:59 - 勇气与乐观 55:56 - 给年轻自己的建议 58:15 - 尾声
TL;DR: 大卫·帕特森解释了 RISC 与 CISC 之争的历史、能量约束如何使 RISC 主导了 99% 的处理器市场,以及编译器在 RISC 成功中的关键作用。
摩尔定律与热量问题
如果摩尔定律让芯片里的晶体管越来越多,为什么它们没有变得越来越热?这个问题的背后,是处理器架构的根本转变:从追求复杂指令集到依赖精简指令集,并最终受能量制约。
RISC 与 CISC 之争的起源
微处理器于 20 世纪 70 年代诞生,起初只是用于微波炉之类的玩具。相信摩尔定律的人认为,随着晶体管数量每两年翻一番,微处理器最终会成为所有计算的核心。早期设计者(如英特尔和德州仪器)并非真正的计算机架构师,他们只是模仿大公司(如 IBM 和数字设备公司)的做法。这些大公司构建的指令集越来越复杂:当时的小型机有冰箱那么大,大型机则更大。理念是:通过更复杂的指令集提高抽象层次,使软件更接近硬件。
另一方面,以帕特森(斯坦福)和约翰·亨尼西为代表的人认为这不一定是正确的做法。编译器会将编程语言向下翻译成指令集,为什么编译器不能处理好这个?对于新兴的微处理器,正确的指令集是什么?主流观点是复杂指令集计算机(CISC),即词汇里有很多多音节词。替代方案是精简指令集计算机(RISC),拥有大量精简指令,就像单音节词。一个程序需要的指令数量不同:简单指令需要更多条,但每条运行时间更短;复杂指令数量少,但运行时间更长。问题归结为这个比率。
为什么争论如此激烈
20 世纪 80 年代争论激烈,部分原因是比率会如何变化,但更大原因是理念上的:降低指令集层次,难道不是在损害软件行业?编程语言和指令集之间的鸿沟变得更大了。当时计算机架构很大程度上凭直觉或感觉设计,没有数据支持。因为无法用数据科学地解决问题,争论变成了哲学辩论——就像“针尖上能站多少个天使”。几年后,数据表明:执行一个程序可能需要多出 30%–40% 的简单指令,但可以四倍或五倍速度运行它们,净效果是速度提升约三到四倍。
结局:谁赢了?
网上有人重新审视后说 CISC 赢了。帕特森认为这种看法太短视了。在 PC 时代,因为以二进制形式分发软件很重要,x86 架构一旦确立,就很难被取代。但大约在 20 世纪 80 年代,英国有一家公司(Acorn)想做个人电脑,受伯克利论文影响,他们构建了 Acorn RISC Machine。精简指令集的好处是更简单、需要更少资源、消耗更少能量。后来苹果寻找驱动个人设备的微处理器(用于 Newton 的早期前身),找到了这家公司,将 Acorn RISC Machine 改名为 ARM(Advanced RISC Machine)。Newton 不算商业成功,但展示了 RISC 在移动设备上的优势。不久后,诺基亚用 ARM 架构推出了 GSM 手机。如今已有 3500 亿个采用 ARM 技术的微处理器,99% 的计算机处理器都是 RISC 架构。甚至苹果也从 x86 转向 ARM,云领域(亚马逊、微软、谷歌)也在开发自己的 ARM 处理器。x86 市场正在萎缩,RISC 市场飞速增长。
能量约束:RISC 在移动和云端的优势
如今一切都受能量制约。即使是 x86 架构为了竞争,也在硬件中将 x86 指令翻译成 RISC 指令,为此需要支付额外的开销。但从财务角度,由于 PC 软件基础的价值,这种开销是值得的。
CISC 是否有 niche 应用场景?
帕特森认为这是工程上的权衡。更深一层看,设计计算机时困难的部分是控制。早期控制是临时拼凑的,后来莫里斯·威尔克斯提出用微指令设计控制单元(微程序设计),这本质上是一个解释器,用简单指令解释上面更复杂的指令集。在 20 世纪 60–70 年代,这种技术合理,但到 1980 年左右,问题变成是否仍要保留微码解释器。RISC 的想法是:与其使用微码解释器,不如直接编译成那些简单指令。今天,不会有人发明一个需要微码解释器的复杂指令集。也许在非常微小(几千或几万个晶体管)的应用中还有意义,但过去 20 年没有人这样做过。
编译器的关键作用
编译器是让 RISC 运行良好的关键部分。你将用 C、C++ 或 Python 编写代码,生成代码的质量取决于编译器。具体例子:寄存器在汇编语言编程中可见,过去当计算机速度不够快时,编译器很难高效分配寄存器。C 语言发明前,操作系统是用汇编写的。Unix 的肯·汤普森和丹尼斯·里奇证明了低级语言的好处。因为编译器的寄存器分配太差,程序员不得不自己提示哪些变量放在寄存器中。RISC vs CISC 争论的一部分是编译器算法越来越好,可以处理低级指令并高效分配寄存器。RISC 的做法是拥有更多寄存器(例如 32 个),让编译器更容易工作。而 CISC 架构通常只有 8 或 16 个寄存器。这也成为一个论点:如果很难有效利用少量寄存器,那就给足够的寄存器。由于摩尔定律,包含更多寄存器并不贵很多。早期研究还发现,编译器几乎不使用那些复杂指令。架构师会构建特殊指令,但编译器作者通常说:“我们不需要那个。”
帕特森对 GPU 和 TPU 的看法(转录中提及但内容缺失)
转录中提到了“以及他对现代 GPU 和 TPU 架构的看法。CPU、GPU 和 TPU 之间的主要区别是什么?他们为机器学习和人工智能意识到了什么?”但后续没有展开。因此本文不能虚构,只提及存在这些讨论但无详细内容。
来源
视频地址:https://www.youtube.com/watch?v=Pn4ZwlEh5nw&feature=youtu.be
相似文章
@ryanlpeterman:图灵奖得主 Mike Stonebraker 因其在数据库领域的奠基性贡献(如 Postgres、C-Store……)而闻名
采访图灵奖得主 Mike Stonebraker,回顾 Postgres 的诞生、最棘手的技术难题,以及他在数据库领域的不同见解。
@ryanlpeterman: 瑞安·威廉姆斯(@rrwilliams)是麻省理工学院教授、理论计算机科学哥德尔奖得主。我……
麻省理工学院教授、哥德尔奖得主瑞安·威廉姆斯在一期播客中深入讨论了算法优化、细粒度复杂性理论以及强指数时间假说等前沿计算机科学话题。
@levidiamode: GPU编程第248天/365天 Cerebras的CTO在网上还有其他很棒的演讲。例如,两年前的一次演讲……
一篇社交媒体帖子,突出了Cerebras CTO关于GPU编程和AI硬件架构的演讲,并指出尽管内容信息量大,但观看次数很少。
@vivekgalatage: 了解TPU的系统架构非常有趣。 https://henryhmko.github.io/posts/tpu/tpu.html…
深入探讨谷歌TPU架构,解释脉动阵列、流水线和提前编译的设计理念,这些设计带来了高吞吐量和能效。
@ryanlpeterman: 哥德尔奖得主对P vs NP的逆向观点:"My point is that we really don't understand polynomial time computation…
哥德尔奖得主Ryan Williams对P vs NP提出了逆向观点,认为我们对多项式时间计算的理解仍然肤浅且充满惊喜,他将P≠NP的信心定在80%。