# 大卫·帕特森：计算机体系结构与数据存储

> 回顾 RISC 与存储技术的演进，讨论硬件设计取舍、数据中心能耗与计算架构的未来。

- 原标题：#104 – David Patterson: Computer Architecture and Data Storage
- 期数：第 104 期
- 发布日期：2020-06-27
- 嘉宾 / 主题：大卫·帕特森：计算机体系结构
- 网页版：https://lexfridman-cn.pages.dev/ep/david-patterson/
- 官方页面：https://lexfridman.com/david-patterson/
- 精读字数：约 12633 字（阅读约 28 分钟）

> 本文为 lex.qiaomu.ai 基于原始访谈的 AI 改写中文精读，非官方翻译；引用请注明出处并链接网页版。

今天全世界 99% 的新芯片，都建立在一个 40 年前被骂成"技术倒退"的想法上。提出这个想法的人，当年在学术会议上被同行围攻。

他叫大卫·帕特森（David Patterson），伯克利计算机科学教授，图灵奖得主。2020 年，他在 Lex Fridman 的播客里聊了两个多小时，从晶体管聊到摔跤，从指令集聊到婚姻，信息密度大得惊人。

这场对话里藏着两条线。一条是技术史：计算机怎么从占满几个房间变成塞进你口袋，为什么会走到摩尔定律的尽头，接下来的性能红利从哪儿来。另一条是人的线：一个工程师怎么在争议里坚持判断，怎么从摔跤垫上学到带团队的本事，以及他用来衡量一生的到底是什么。

## 计算机到底是什么东西

帕特森给了一个特别朴素的拆解。一台计算机从诞生到现在，内部一直是五个部件。

输入和输出，顾名思义，输入是说话或打字，输出是屏幕显示。存储器，就是集成电路，你把信息放进去，需要的时候它会还给你。处理器，这里面又分两块：控制单元是大脑，算术单元是肌肉。

他打了个比方，把计算机当成人体，算术单元负责数字运算，是身体；控制单元负责调度，是大脑。这个类比第一次听会觉得太随意，仔细想想确实贴切。处理器干的活，绝大部分是最基础的四则运算，加、减、乘、除，跟一个计算器没本质区别。

> 计算机的巧妙之处在于，它执行的运算极其简单，但每秒能执行几十亿次。我们能做的事情，是写出软件，把这些极其简单的指令组合成比人类做得更好的任务。（大卫·帕特森）

处理器和计算器的差别只有一个：计算机能做判断。这种能力拆到最底层，简单得让人意外，无非是"这个值是不是小于零""这个值是不是比那个大"。这些叫条件分支指令。

就是这几十条简单到不能再简单的指令，加上每秒几十亿次的执行速度，撑起了今天所有的软件、所有的 AI 系统。帕特森说，如果把 1950 年代的计算机先驱请回来，让他们看今天的指令集架构，他们会说：这不就是当年那套东西吗，没什么变化。

一个能训练出超越人类棋手的系统的机器，底层跑的还是加法和比较大小。

## 摩尔定律：一个人把未来几十年都预测对了

推动这一切的底层力量是摩尔定律。戈登·摩尔是伯克利的校友，1965 年他观察到一个规律：芯片上的晶体管数量每年翻一倍。到 1975 年他把周期修正成每两年翻一倍。

摩尔在那篇论文里做的事不止于此。他推演了后果：计算机将来会进汽车，会出现在你超市买的东西里。等于说，他不但猜中了球会落在哪儿，还把落点之后的世界描述了一遍。

当年的从业者因此对未来有一部分是笃定的。你相信摩尔定律，你大概就知道十年后会发生什么。

真正让帕特森震动的，是技术溢出到日常生活的那一刻。他记得开车经过旧金山湾区一座市民中心，看见公告栏上印着 URL，那串 www 开头的字符。普通人看了会想，这什么玩意儿，像外星文字。懂行的人看了想的是另一回事：这东西已经从极客的小圈子渗出来了，渗到真实世界了。

个人电脑刚普及时也一样。当杂志上开始出现 PC 广告，当报纸开始报道，那种感觉是：你早就知道它会来，但真来了还是被震了一下。

## 剥洋葱：计算机的抽象层级

计算机科学最核心的方法论之一，是抽象层。说白了就是假装。你在某一层工作，就只认这一层的接口，对下面发生什么一概不管，也假装不知道。

帕特森说，一台现代计算机里可能有十几二十层抽象。每一层都在履行一份合约：你只能用这些命令，你按规矩来，我保证忠实执行。

这像剥洋葱。你剥掉一层，里面是另一层；再剥，还有。学编程先学 Python，往下走学 C，再往下进到硬件层，一路能摸到摩尔说的那个晶体管，然后从晶体管一路往上，又能摸到最顶层的应用软件。

这个结构对学习者有特别的吸引力：你可以往任何一个方向钻，钻多深都行。

过去二十年，这条路上出现了一个重要变化。软件层面，开源成了主流，你用的很多软件，代码就摆在互联网上，程序员怎么写的你都能看。以前这条探索之路到硬件就断了，硬件是黑箱，芯片里怎么设计的你看不到。

最近十年，硬件也开始开源了。你可以一层一层往下看，看到底层的设计。帕特森说，这是了不起的时代，一个有兴趣的人真的能看清楚计算机内部到底在发生什么。

## 一场被骂成"技术倒退"的争论

要理解硬件怎么开源的，得先回到 1980 年代那场架。

软件跟硬件对话用的词汇表，术语叫指令集。里面的词叫指令，加、减、乘、除，把数据存进内存叫 store，取出来叫 load。这套东西从 1950 年代的商用计算机就有了，几十年没大变。

当时的常识是：指令集应该设计得功能强大。不要只有加减乘除，要有"解多项式""排序一个列表"这种一次能干很多活的复杂指令。逻辑是，指令越强，软件写起来越省事。

帕特森和斯坦福的约翰·轩尼诗（John Hennessy）当时都是助理教授，他们带着伯克利和斯坦福的人提出了相反的方案：指令集应该简单，叫精简指令集计算机，缩写 RISC。计算机圈的人喜欢把缩写读成词，所以就叫"risk"。

他们的理由跟摩尔定律直接相关。既然晶体管数量每两年翻一倍，硬件变化这么快，那就该把处理器设计得简单，缩短设计周期，让编译器去把复杂程序翻译成多条简单指令。

这个观点在当年被视为异端。帕特森回忆，那是在好几个学术会议上被激烈辩论的话题，有人说这是"退化"，把指令变简单会让软件变差。

> 信不信由你，这事听起来像"谁在乎啊"，但当年在好几个会议上被吵得不可开交。（大卫·帕特森）

反方的技术质疑其实很扎实：指令变简单了，同样一个程序要执行的指令条数就变多了。你要多执行 30% 到 50% 的指令，凭什么更快？

帕特森他们的回答是：简单指令执行得快，多执行一些，总体还是赚。最终结果是，指令多了大概三分之一到一半，但运行速度快了四倍。

把时间拆开看，争论的落点就清楚了。程序运行时间可以拆成三个因子相乘：程序执行了多少条指令，乘以每条指令平均花多少个时钟周期，再乘以每个时钟周期多长。当年的争论都落在第一个因子上，RISC 要执行更多指令，这没错。真正的差距出在第二个因子。

复杂指令集的实现方式，本质上是在硬件里塞了一个解释器，把复杂指令翻译成一串简单操作。用上这个解释器，一条指令可能要花十个时钟周期。而 RISC 的简单指令只要两个。五倍的差距就出在这儿。

这个公式一摆出来，争论就结束了。1982 年还是轩然大波，到 1984 年前后，大家开始说：行吧，技术上他们确实有道理。

这里藏着更深的教训。帕特森说，他们一开始说服不了人，部分原因就是拿不出一个公式。有了公式，争论从立场之争变成了算术题。他和轩尼诗后来在 1980 年代末写了一本教材《计算机体系结构：量化方法》，把这套思路系统化，整本教材从"这台机器有什么优缺点"的罗列，变成了可以测量、可以计算的框架。

这门学科由此从靠品味和直觉，变成了靠数字。

## 编译器为什么是那块拼图

RISC 能成立，有个前提条件经常被忽略：程序员得愿意放手，让编译器去处理指令层面的细节。

在 1980 年代之前，有些关键软件是没法用高级语言写的。操作系统这种最底层的软件，当年被认为必须用汇编语言写，因为高级语言效率太低，程序太大或者太慢。如果程序员还得手写汇编，那指令集设计得简单就是灾难，等于让人手动拼出一堆琐碎操作。

改变这一切的是 Unix。它证明了操作系统这种复杂度的东西，可以用 C 语言写出来。

一旦这件事成立，指令集就可以对程序员隐藏了。程序员写 C，编译器负责翻译成简单指令，一次翻译，之后每次运行都享受这个结果。这条链路一通，RISC 的逻辑就闭环了。

帕特森有个类比很妙。单音节词读起来比长词快，说也说得快，硬件同理。只要你别让读者多读太多词，你就能赢。

## Intel 的反击：在硬件里做翻译

技术争论归技术争论，商业世界是另一套规则。帕特森说得很直白：当年有人反驳他们，说就算你的技术是对的，也没用，因为全世界的铁轨都是别人铺的。你的想法技术正确，商业上无量级。

当年的局面确实如此。一批系统公司放弃了自研的复杂指令集，但 Intel 没有。Intel 的 x86 指令集装在个人电脑里，而软件分发的方式，是把程序编译成那个指令集的机器码发出去。你拿不到源代码，拿到的是编译后的二进制。指令集本身就是巨大的资产，每年上亿台 PC 的软件生态都锁在上面。

Intel 的做法很聪明：在芯片硬件里加一道翻译工序，把这些复杂指令在运行时翻译成类似 RISC 的操作，在吉赫兹的时钟频率上跑。这样 RISC 阵营想出来的任何好点子，Intel 都能用，同时还保持着对那个价值巨大的 PC 软件库的兼容。

结果就是，复杂指令集在商业上赢了 PC 时代，RISC 的思想在技术上演化成了 Intel 芯片的内核。

这段历史里有个现象：一个技术方案能不能赢，考验的往往是它跟已有生态的博弈能力，技术正确性只是入场券。好的想法输给先来的想法，这在人类文明史里比比皆是。计算机领域还算幸运，至少有一部分好想法活下来了。

## RISC-V：一个意外长出来的开源指令集

2010 年，帕特森在伯克利决定做一套新指令集，吸取 1980 年代那批 RISC 架构的教训。团队里有克里斯托斯·阿萨诺维奇（Krste Asanović）、安德鲁·沃特曼（Andrew Waterman）等人，帕特森自己更多是导师角色。他们把它命名为 RISC-V，第五代，致敬 1980 年代伯克利做过的四代 RISC 项目。

RISC-V 的核心指令集跟 1980 年代那批最简单的架构非常像。最大的不同在于它是开放的。

这里要区分两个概念，很容易搞混。RISC-V 的规范像一本教科书，定义的是一个接口。硬件的实现方式，是用类似 C 的语言（比如 Verilog）写出来，再翻译成硬件电路。这些实现是开源的，就像 Linux 的 C++ 代码摆在网上一样，任何人都能看、能用。

这个开源的决定其实是个意外。团队最初只是给自己的研究用，按伯克利的惯例用了 BSD 许可证。别的学校用起来没有顾虑。到了 2014 年，开始有工业界的人抱怨：你们怎么秋季学期和春季学期用的指令集不一样？

帕特森他们的第一反应是：我们用自己的指令集，关你什么事？

聊下去才发现，工业界一直在找一个开放的指令集架构，找很久了，偶然发现伯克利这套，觉得正合适。团队意识到这个需求真实存在，才开始认真推动这件事。

数字很数字很能说明问题。2015 年 1 月第一届 RISC-V 年会，50 人参加。2019 年 12 月那届，1700 人。他们还成立了 RISC-V 基金会，因为大学擅长开创，不擅长维护，Linux 有 Linux 基金会，这个模式可以照搬。

帕特森对未来的判断是：25 年后，RISC-V 有可能成为最流行的指令集架构。它本身设计得不错，开放、免费，没有理由大家不用。Linux 在过去二十年怎么超过竞争对手的，同样的逻辑会在硬件上重演。

## 三个市场，三种打法

RISC-V 要替代现有的格局，得看具体市场。帕特森把计算市场分成三块。

云。就是阿里巴巴、亚马逊、谷歌、微软那些巨型数据中心，动辄几万台服务器，全球可能有上百个这样的中心。这块今天几乎百分之百是 x86。

手机和笔记本。手机每年大概 15 亿部，PC 每年大概 2 亿台，而且 PC 销量在萎缩。手机这块由 ARM 主导。

物联网。各种嵌入式设备，你车里的、微波炉里的，到处都是。

这三块的差别，落点在软件栈由谁控制。

云这块，软件栈由那几家大公司自己决定。他们完全可以选择 RISC-V，只是目前还没这么做。

手机这块最麻烦。安卓和苹果都提供软件商店，全世界任何开发者写的应用，编译成二进制之后发到用户手机上。这叫二进制兼容，指令集的惯性因此极强，换架构的成本极高。

物联网这块机会最大。嵌入式设备不通过商店分发软件，软件栈由设备厂商控制，没有云或手机那样的强势玩家，授权成本低，指令还能按需定制。所以大家普遍认为 RISC-V 的突破口在这里。

有个容易混的点值得说清楚：ARM 本身就是 RISC 架构，全称 Advanced RISC Machine，是专有的 RISC。1980 年代伯克利做 RISC 研究的时候，ARM 的创始人读了他们的论文，受了很大影响。ARM 是 RISC 思想的商业赢家，现在全世界每年几十亿颗芯片用它的设计。

## 苹果为什么跑得更快

同样用 ARM 架构，苹果、高通、三星的手机性能不一样，苹果明显领先。帕特森解释了原因。

ARM 开创了一种新的商业模式。它把指令集授权出去，给两条路：要么直接用 ARM 写好的实现，付一笔钱；要么花几千万美元买"自己设计"的授权，指令集还是 ARM 的，但芯片设计你自己做。

苹果买的是后一种。它组建了一支很强的芯片设计团队，收购了有经验的公司和人，自己做硬件设计。指令集规范跟大家一样，硬件实现比竞争对手高效得多。这就是 iPhone 通常比其他手机快的原因。

这里能看出一个规律：指令集是公共的，性能差距出在实现上。同样的乐谱，不同的乐团，演奏水平天差地别。

## 小即是美

问帕特森 RISC 最漂亮的地方是什么，他的回答是"小即是美"。

他说工程里有个诱惑，把事情搞复杂很容易，搞简单反而难。一个简单优雅的方案，往往比复杂方案更难想出来。

RISC-V 有个具体的设计他特别欣赏。团队想出了一个"核心子集"的思路：大概 40 条指令，所有 RISC-V 软件都能在这 40 条上跑。然后提供若干可选的扩展指令集，需要的时候加上去加速，不需要就不加。

这个思路在教育上价值巨大。讲计算机，你只需要讲 40 条指令，不用讲几千条。如果有人发明了某种疯狂的新技术，比如生物计算，你想要一套简单的指令集，直接实现这 40 条核心指令，上面就能跑很有意思的程序。

对比一下专有指令集的做法：一旦加了新指令，它就变成必选项，之后所有处理器都得支持。帕特森打了个比方，像人年纪大了会发福，指令集也是越老越臃肿。

RISC-V 允许你一直保持青少年的体型，只有真要用某个功能才加进去，而不是没得选、只能跟着一起长胖。

帕特森还说过一个对比：如果把 1950 年代的先驱请回来，给他们看今天的指令集架构，他们能看懂，会说跟当年差别不大。造芯片的工艺已经精密到线宽比光的波长还窄，而软件执行的命令，几十年基本没变。

底层就是那四五十条指令，加上每秒几十亿次的执行速度，居然足以撑起人工智能。这件事帕特森自己都觉得惊讶。

## 摩尔定律真的慢了，而且这次是真的

摩尔定律还活不活，帕特森跟芯片设计界的传奇人物吉姆·凯勒（Jim Keller）在公开场合有过分歧。

帕特森的说法很直接。戈登·摩尔当年给的是一个量化预测，晶体管数量每两年翻倍，这是可以查证的。那就查：六年前的 DRAM 芯片，今天应该有八倍的晶体管。六年前的 Intel 处理器，今天应该有八倍。两个答案都是没有。

他说这个问题有个传播上的麻烦。半导体行业几十年来真金白银地投入设备，就是为了让摩尔定律成真，所以在很多人心里，摩尔定律就等于半导体技术在进步。当他说"摩尔定律不再成立"，听的人会理解成"技术停止进步了"，这对 Intel 这样的公司是伤害。

所以他改口说"摩尔定律在放缓"。这话听着温和，意思是一样的：如果原本是每两年翻倍，现在放缓了，那就是不成立了。

他提到 Intel 曾经重新定义过摩尔定律，把重点放在单个晶体管的成本每两年减半上，晶体管数量翻倍这回事被淡化了。帕特森说这不是摩尔当年说的，这是改写。而且业内很多人告诉他，最近几代工艺越来越复杂，晶体管的实际成本反而在上升，连这个推论都不一定成立。

他把这种重新定义称为"修正主义历史"。摩尔定律的美感在于它像 E=mc² 一样简洁，一句话，含义惊人，所以才有那么大的影响力。改定义就毁掉了这个美感。

凯勒的判断是摩尔定律还没死。帕特森的评价是：这是营销。

他也理解对方的处境。凯勒要对抗的是"半导体技术冻结在 2019 年"这种印象，因为如果 Intel 的员工真信了这个，那对公司是灾难。帕特森说他从没说过技术停止进步，他说的只是晶体管翻倍这件事不再成立。

这场争论之所以拧巴，是因为摩尔定律被赋予了太多超出它本身的含义。它变成了一个行业的精神图腾，一个营销资产。帕特森坚持要把它还原成一个可以查证的数字。

> 作为教育者，这有点像政治里的"各人有各人的事实"。摩尔定律曾经是清晰的，卡弗·米德把摩尔的图放在对数坐标上，是一条直线。那就是摩尔定律的定义。（大卫·帕特森）

他还有一层担忧。他说现在很多计算机科学圈的人并不知道这件事正在发生，不知道我们进入了一个需要在底层大改、会波及整个软件栈的时代。如果你的服务器明年拿到的只比今年快一点点，你得知道这事。如果你的软件路线图还假设计算机每年会变快，那这个假设已经不成立了。

在他看来，把"摩尔定律在放缓"这句话反复说出去，是一种提醒，让整行业重新安排自己的优先级。

## 性能红利从哪儿来：加速器

摩尔定律慢下来，后果是什么？

帕特森描述了一个很多人还没意识到的事实。1980 到 1990 年代，计算机性能每 18 个月翻一倍。那时候你会把一台完好的电脑扔掉买新的，因为一两年后的机器快太多。

现在不是了。帕特森说自己只有笔记本坏了才换，硬盘坏了或者屏幕坏了。这在三十年前是不可想象的。

通用处理器的性能提升，从每 18 个月翻倍，掉到了大概每 20 年翻倍。这个落差的量级，很多人还没建立起概念。

那性能从哪儿来？帕特森他们的判断是：加加速器。针对特定领域做专门的硬件，只在那个领域里快，但快很多。

巧合的是，同一时间机器学习爆发了。帕特森说 AI 有两条路线之争：一条是从上往下写规则，一条是从数据里推断规则。过去十年，后一条赢了。

机器学习的核心运算是什么？矩阵乘法。这对计算机设计者是天大的好消息，因为矩阵乘法他们知道怎么做得非常快。

于是就出现了这样的局面：通用处理器慢下来了，但我们在加机器学习的加速器，本质上就是把矩阵乘法做得比通用处理器高效得多。而这恰好赶上了软件世界的转向，所谓 Software 2.0，用数据来"编程"，而不是程序员一行行写逻辑。

帕特森特别强调了一个风险。做领域专用硬件，最大的担心是：你押的那个领域重要吗？万一你只让世界上 5% 的人受益呢？

机器学习不是这样。它被用在图像识别、语言翻译、游戏、数据库，一路渗透进软件栈的各个角落。领域专用，但因为吃的是数据，适用范围反而极广。

这个时机好得像是天赐。帕特森和轩尼诗在图灵奖演讲里用了一个标题：新的黄金时代。他们说这十年会像他们当年做 RISC 时一样激动人心，因为软件怎么构建、怎么运行，正在被根本性地改变。

他还描绘了未来软件的形态。大块的软件栈，比如用户界面，还是跑在那套 RISC 指令上；真正吃算力的那一小块代码，行数不多，但跑起来极耗时钟周期，会被卸载到加速器上。这就是所谓领域专用加速器发挥作用的地方。

## 做硬件不带软件，会死

帕特森讲了一个硬件行业最致命的错误：做出了很棒的硬件，但没把编译器带上来。

他说这话是有数据的。机器学习领域两年前根本没有一套公认的基准测试。他们搞了一个叫 MLPerf 的评测套件，结果很残酷：没在软件栈上投入的公司，跑 MLPerf 跑不动；投了的，跑得好。

然后市场开始清洗。英特尔几年前收购了一家叫 Nervana 的公司，一直不公布 MLPerf 成绩，这本身就可疑。2020 年英特尔宣布砍掉 Nervana 产品线，同时花 20 亿美元收购了以色列的 Habana，那家公司的加速器 MLPerf 成绩很好。英特尔未来的产品线会用 Habana 的芯片，硬件软件一起。

这就是计算机体系结构领域的老规矩：大家砸几十亿美元在市场里厮杀，看谁赢。不完美，但能把事情筛出来。

MLPerf 这件事还引出一个更宏观的观察。帕特森说，基准测试的意义在于让比较变得公平。工程师不怕输，怕的是不公平。如果对手靠营销话术吹牛影响了销量，那才让人愤怒。有个公平的比较，就算你没拿第一，你也能接受，还会对同行点个头：他们做得比我们好。

RISC 年代也是这样。当年各家的 RISC 架构互相攻击，你说你的性能好，对方说你是骗子，市场一团乱，谁都不敢买。后来大家坐下来，对手也好、竞争者也好，共同定了一套叫 SPEC 的基准测试，能公平比较谁快谁慢。结果市场被瓜分了这件事没发生，整个市场反而变大了。

他还提到一个变化：现在社交媒体让吹牛的成本变高了。你发一个误导性的营销材料，很快就有人在网上指出你的问题。二十年前可以糊弄过去，现在不行。这个压力反而让工程师文化占了上风。

不过他也很清醒，这种开放只发生在某些领域。他自己工作的自动驾驶领域，营销机器仍然很强，开源和基准测试的氛围差得多。

有意思的是他提到计算机视觉的历史。早年间做视觉的研究者根本没有基准测试，每个人用自己的图，展示自己的算法多好，没法比较。他的学生戴维·马丁（David Martin）在博士论文阶段做了一套图像基准，让一群研究生标注图片，然后跑不同算法看谁好。据他所知这是计算机视觉领域最早的基准测试，早于后来催生 ImageNet 的那条线。

后来视觉圈"信了教"，有了 ImageNet，多伦多的团队靠它赢下比赛，然后整个世界变了。帕特森说这其实是个吓人的门槛：进入基准测试的世界，你必须真的强才能参与，不能只是自己觉得自己世界第一。

他说了句挺重的话：我不知道没有基准测试的领域，怎么判断自己在进步。

MLPerf 今天已经有十所大学、五十家公司参与，是衡量机器学习性能的事实标准，而它两年前根本不存在。这个从无到有的速度，本身就说明了行业对公平标尺的饥渴。

## 量子计算：别指望它救急

聊到量子计算，帕特森的态度很务实。

他说自己一直有个想法：希望退休之前不用教这门课。每次讲摩尔定律放缓、要转向领域专用加速器，总有人问量子计算怎么样。之所以被反复问，是因为新闻里天天有。

他提醒两件事。第一，量子计算不是马上就到。美国国家工程院和计算研究协会出过两份报告，做了坦率评估，结论都是：可纠错的量子计算，还有十年。他把它类比成核聚变，一直有人兴奋，真搞成了对世界是巨大利好，他很高兴有人在研究，但那不是眼前的事。

第二，就算成了，它也是大科学装置。要在微开尔文、接近绝对零度的环境里运行，有辆卡车开过产生振动就不工作了。所以它会待在数据中心里，不会有量子手机。

他的判断是二三十年内的事。而且它是一组特定应用，不是通用计算，很多事上传统计算机还会长期做得更好。

他说了句很清醒的话：他钦佩那些做 30 年远期项目的人，但这行变化太快，他自己不够聪明，看不清楚 30 年后问题会是什么样。十年已经够难了。

他还补充了一个关于预测的趣事。1995 年有人请他预测微处理器的未来，他看过太多为了娱乐效果而故意夸张的预测，于是给了一个反常的答案：到 2020 年，一切看起来会和现在非常熟悉。事后看，那篇文章里说的基本都应验了。指令集还是那套老的，本身没太大变化。放在计算机速度狂飙的背景下，这个"不变"才是最大胆的预测。

这个预测后来还有个小注脚。他和轩尼诗 2017 年拿图灵奖，距他们做 RISC 的工作过去三十多年，而业界公认的最佳指令集设计方式，依然是当年那套看起来没什么变化的东西。晶体管多了一百万倍，想法没怎么变。

## 教书的回报

帕特森在伯克利教了 40 年。退休派对上他回看了一些事。

有个流行的印象：教授课讲得烂，学生会想，这人一定是研究做得特别好，不然怎么会在这儿。帕特森说他的经验完全相反。

他提到一张照片，上面是系里拿过校级杰出教学奖的五个人，那是很高的荣誉。五个人全进了美国国家工程院，其中三位拿了图灵奖，计算机领域的最高奖。教学和研究在这里高度相关。真正成功的人，往往做什么都成功。

他引了费曼的例子。普林斯顿附近有个高等研究院，爱因斯坦那批人都在那儿，没有教学任务，像大学的天堂。费曼被邀请时觉得这是个糟糕的主意。他认为，站上讲台，把东西讲给学生听，被学生追问"为什么这是对的"，会逼着你自己停下来重新想。研究和教学是互相激发的。

被问到最喜欢教什么，帕特森没给具体知识点。他说的是那种时刻：你把一件别人不懂的事讲明白了，对方突然懂了，你看着他眼里的灯亮起来。他说很多人以为自己不喜欢教书，来客座讲一次课，就被这个瞬间钩住了。

> 看着灯亮起来，是一种实实在在的满足。（大卫·帕特森）

他还讲了教和研互补的另一层。在美国这套研究型大学的制度里，好学校能吸引到顶尖的教师，正因为他们既能做研究又能教书。尤其在变化快的领域，这意味着讲课的人手里握着前沿的东西。做研究的人如果不讲课，很容易跟教学的现实脱节；讲课的人如果不做研究，很快就讲不出新东西。

## 摔跤垫上学到的东西

帕特森在大学练摔跤，在 UCLA，也在 El Camino 社区学院。有意思的是，他同时被 UCLA 录取了，却先去了社区学院。他妈妈问为什么，他以为是女朋友的原因，他妈妈说是女朋友，也因为你觉得那支摔跤队很强。他说他们确实很强，拿过加州州冠军，还在一次比赛里赢了 UCLA，一支只有大一和大二学生的社区学院队赢了 UCLA。

他说摔跤对他影响巨大。他是 12 月 1 日的生日，几乎永远是班上最小的，发育也晚，所以他一直是最小的那个。高中时他选的是书呆子课程，但同时在练摔跤，摔跤给了他身体上的自信。到了社区学院和大学，他长高了，这份自信留了下来。

他说这种自信会迁移。到了七十多岁，街上要是有人欺负女性，他不会袖手旁观，会站出来管。研究工作里也一样，有人说了不实的话，他觉得有责任站出来，就像在街上一样。

他还从教练那儿学到另一样东西。摔跤是个人项目，一对一，理论上每个人可以只管自己。但他的教练相信，如果队伍凝聚起来互相支持，整体会更成功。帕特森把这套本事带进了学术生涯。很多人评价他最强的能力之一，是能把一大批教授、研究生组织起来，围绕一个共同目标往前推，而且常常成功。

他觉得这种"敢正面交锋"的性格也来自摔跤。他不回避争论，反而享受辩驳的过程。RISC 那几年，他站在台上被同行围攻，台下也没退缩。这种劲头跟垫子上那套是同一回事。

他还讲了一个带点浪漫色彩的说法：摔跤是身体接触的运动，练过的人一般更敢上前一步。他把这一点也归功于摔跤，说自己从来不怕跟人正面辩论。

## 怎么衡量一生

访谈快结束时，Lex 问了个大问题：如果给"过得好的一生"设计指标，会是什么？

帕特森先引了朋友兰迪·卡茨的话：人生谢幕时，衡量的不是银行账户里有几个零，是《纽约时报》讣告有几英寸长。

然后他说了句老话：没人临死前后悔在办公室待的时间太少。

他回看自己的职业生涯，能数出半打到一打让他骄傲的事，很多并不是论文或科研成果。家人，跟妻子结婚超过五十年，孩子，孙辈，这些最珍贵。教育上做过的事，写的书、开的课，他骄傲。他还帮过一些弱势群体，做出过实际效果。

他说自己发过几百篇论文，其中像 RISC、RAID 那样的他骄傲，但很多论文，现在回头看，未必那么重要。那些一辈子追经费、追论文数量的人，到最后大概不会因为这些被记住。

他提到刚拿到伯克利 offer、还没去报到时读的一本书，作者采访了各行各业的人。他从书里得到的结论是：那些对自己所做的事感觉良好的人，是影响了别人的人，而不是追逐转瞬即逝之物的人。所以他入职时就认定，将来珍视的不会是论文，而是跟人长期的关系。他说这个判断是对的。

> 你共事的人，你能影响的人，你能帮到的人，这些才是职业生涯结束时让你感觉良好的东西，而不是那些转瞬即逝的。（大卫·帕特森）

最后他主动分享了一个东西，说经常有人问他结婚五十年有什么秘诀。他给了九个字的口诀：我错了，你对，我爱你。

他强调九个字必须全说。不能说完"我错了你对"就加一句"你个混蛋"。坦诚承认自己犯了错、对方是对的，并且你爱对方，这三件事能跨过关系里的大部分坎。

一个设计了影响全世界芯片的指令集的人，最后留给听众的方法论，是这九个字。

## RAID 那篇论文

访谈里还有一段常被忽略的内容，关于 RAID。

1988 年，帕特森和同事兰迪·卡茨（Randy Katz）、博士生加思·吉布森（Garth Gibson）合写了一篇论文，标题是《廉价磁盘冗余阵列的案例》，这就是 RAID 的起点。那篇论文后来改写了整个存储行业。

它的起点很偶然。卡茨当时有一台早期的苹果 Macintosh，那个年代一切都靠软盘，容量小得要命，你干一点活就得不停地把软盘插进拔出。后来苹果开始给机器配硬盘，磁介质存储，能记住信息。卡茨看着 Mac 旁边那块硬盘，问了一句：这些是全新出来的小东西，以前给大型机配的硬盘大得像洗衣机，现在这个是书本大小，我们能用它做什么？

那时候伯克利刚做完第四代 RISC 项目，处理器快了很多，存储成了瓶颈。他们想到的办法是把很多块为个人电脑做的小硬盘拼在一起，替换掉那种洗衣机大小的大硬盘。40 块小盘，比一块大盘便宜，因为它们是按 PC 的量产规模做的；速度也可能更快，因为 40 块可以并行。

论文初稿寄给一位在 IBM 工作的伯克利校友。对方回了一句：这些都很好，可靠性怎么办？你有 40 块 PC 品质的盘，每一块都不如 IBM 那种大型机硬盘。IBM 当年统治着存储市场。他们算了算，如果照这样搭，原本一年坏一次，现在会变成两周坏一次。

于是他们在"性能"这个出发点之外，加进了"冗余"。名字里的 R 就是 redundant：一堆廉价小盘组成的阵列，外加额外的副本，坏掉几块也不会丢全部信息。算下来，只要多放几块盘，这个阵列不但更快、更便宜，可靠性还比一台大型机硬盘高，因为可以容忍好几块同时坏，而大型机那块坏一块就全完。

被问到当年有没有预见 RAID 会统治存储，帕特森说自己天性乐观，但更重要的依据是趋势。回看硬盘的历史，体积从洗衣机大小一路缩小，出货量流向体积小的那一端，因为 PC 在那儿。8 英寸、5 英寸、3 英寸，直径越做越小。技术力量站在他们那边，商业上会不会兑现当时不确定，但学术界相信技术该赢，这次它赢了。

三十年后存储领域发生了什么？最大的变化是从磁盘转到了闪存。以前的电脑开机嗡嗡响，那是磁盘在转，每秒 60 圈，像黑胶唱片，有个针在上面读。最近十年，越来越多的存储改用半导体的闪存，手机全用闪存，多数笔记本用闪存，嵌入式设备全用闪存。云里还在用磁盘，因为大规模下磁盘更经济，但云是两者混用。

帕特森补了一句心理层面的观察。人从最早就在担心计算的可靠性。计算出错的代价相对轻，机器出错了，程序重跑一遍就行。存储出错的代价很重，重要信息丢了你会发疯。所以冗余的思路，哪怕介质换成了更可靠的闪存，依然流行。你不做备份、不做冗余，就是在冒大险。

## 这场对话给技术人的几条实用建议

- 当你跟主流意见相左时，先想办法把你的论证变成一个可以量化的公式。帕特森他们说服不了人，直到把程序运行时间拆成三个因子相乘。立场之争很难赢，算术题可以。
- 做硬件或者任何底层系统，一定要把软件栈一起带上来。MLPerf 的成绩单已经把这条规律验证过了：只做硬件的创业公司正在成批倒闭。
- 选技术方向时，看技术趋势是不是站在你这边。帕特森判断 RAID 会赢，依据是硬盘在变小、出货量在往 PC 那边走，这是可以观察的趋势，不是信念。
- 如果一个领域还没有公认的基准测试，那这个领域的"我很强"基本都是自说自话。要么参与建立基准，要么至少用别人的基准检验自己。
- 不要用"摩尔定律还活着"来安慰自己。去查实际数字：六年前的芯片，今天有没有八倍晶体管。如果没有，就该重新审视你的软件栈是不是假设了免费的性能增长。
- 评估一个新技术的时间表时，看权威机构的坦率评估，不看新闻热度。量子计算的两份国家级报告都说可纠错版本还有十年，这个判断比任何发布会的口径都可靠。
- 如果你在带团队，想想摔跤教练那套逻辑：个人项目也能靠凝聚团队赢。帕特森把大规模组织教授和研究生的能力，直接归功于这件事。
- 衡量自己的职业时，隔几年做一次帕特森式的盘点：哪些事你真心骄傲，哪些只是数量。答案往往会指向人，而不是产出。
