
1947 年生于 美国 的 David Patterson,其研究路径与 精简指令集架构与开源硬件 的主流路径几乎不重合。他参与设计了世界上大部分计算机都在用的 RISC 指令集,又用四个学期一门课的方式把「计算机体系结构」教给了成千上万名学生——然后把这一切免费送给了全世界。
一、问题一:指令到底该多复杂——1980 年:RISC 赌注
1969 年,这个坐标决定了 David Patterson 早年接触到的语汇。David Patterson 在这里最初接触的是 生于洛杉矶;他在加州大学洛杉矶分校与南加州大学之间转学并取得学士与硕士学位,博士阶段在 UCLA 完成,研究方向是计算理论;在读期间他接触到的机器主要是大型机,而大型机的价格让体系结构研究只能服务于极少数机构,这套底层训练后来成了 David Patterson 处理 精简指令集架构与开源硬件 问题时最本能的工具箱。
他早期的学术训练在计算理论与逻辑门电路两个方向之间展开,这种跨背景后来体现在他始终偏好的研究方式上:先问「这个问题在理论上难在哪里」,再问「现有机器为什么做不到」。
加州大学伯克利分校在他求学时期是体系结构研究的重镇,David Patterson 此后长期在伯克利任教并把这所学校变成了该领域的中心。
1970 年代初,计算机体系结构研究的现实处境是:能设计自己芯片的机构屈指可数,因为一条指令集与一个微架构的试错成本以百万美元计。这使得该领域长期由少数几家大公司主导。
他选择进入这一领域的时机,恰好是微处理器开始让「小型机构也能自己造处理器」成为可能的前夜。
二、1947 年的洛杉矶,和一间没有计算机的大学
1981 年前后,David Patterson 在 加州大学伯克利分校做的是 与 John Hennessy 共同提出精简指令集计算机(RISC)架构,并在伯克利主导研发了 RISC-I 与 RISC-II 两代处理器。这件事的技术核心是 RISC 的核心主张是:把指令集做简单、做规整,每条指令的执行时间接近固定,从而让编译器能够调度指令、充分利用流水线——复杂功能交由编译器实现,而不是由硬件微码承担,而它之所以重要,在于 RISC 路线此后统治了几乎全部商业处理器架构,而伯克利与 MIPS 两代原型机成为这段历史的关键证据。
RISC-I 是一台 32 位处理器,用当时先进的定制芯片工艺实现,包含约 3.2 万个晶体管。它的关键指标是:绝大多数指令都能在一个时钟周期内完成,存储器延迟与数据相关的指令组合都极为有限。
RISC-II 进一步用多发射技术与超标量机制改进了性能,并在浮点运算与寄存器窗口等方向做了探索。
RISC-I 与 RISC-II 最关键的历史意义,是它们在成本远低于企业级机器的条件下证明了简化指令集并不会带来性能劣势——这一证伪过程,是整个产业转向 RISC 的直接推动力。
RISC-II 上的寄存器窗口机制是一个有创造性的设计:通过把连续的物理寄存器在逻辑上重映射为不同的窗口,让过程调用不必在栈上搬运参数。
他们当时的工作方式非常朴素:一台个人工作站加上一条从厂家订制芯片的途径,就足以让一个大学实验室做出一台可用的处理器原型。
三、1982-1984 年:把 MIPS 变成一门生意
当时这条路并不被看好。MIPS 计算机系统在商业上遭遇了严重困难——公司的产品被诊断为「无差异化」,用户找不到购买它的理由,而当时的芯片市场正被 Intel 的兼容性优势牢牢占住——David Patterson 顶住的原因是 他们的判断是:这条路线真正的价值不在于卖出一台更好的机器,而在于把 RISC 的设计方法本身确立为一整套可教、可复制的方法论。
MIPS 的失败在当时被广泛解读为「RISC 路线行不通」,但事实是:1980 年代中期 MIPS 的产品定位与渠道确实存在问题,而同一时期 Sun 的 SPARC 处理器却在工作站市场取得了成功。
这场挫败的教训后来被反复总结为:体系结构的创新若不能带来可感知的系统优势,就很难穿透既有生态的壁垒。
与 John Hennessy 一起,他们把这段经历写进了教科书的第一章——把失败作为方法论的一部分讲给后来的学生。
也正是在这一时期,两人开始形成一种教学取向:把抽象的体系结构概念,全部锚定在「一台具体机器如何跑起来」这个问题上。
RISC 的设计思路随后被 MIPS、RISC-V、ARM 以及大量商用处理器继承,而 MIPS 商业公司的失败并未影响这条技术路线的最终胜利。
他与 Patterson 在总结这段经历时达成的共识是:一次商业失败与一次技术失败是完全不同的事,前者可以发生在正确的技术路线上,而后者才是路线本身出了问题。
MIPS 工作站的用户反馈让他们看到一个新的需求方向——用户要的不是最快的机器,而是能立刻跑起来、且随开随用的开发环境。
四、问题二:体系结构该怎么教——RISC-V 与「一个学期教完体系结构」
从 伯克利分校体系结构与 RISC-I/RISC-II 的研究积累 到 伯克利分校 RISC-V 项目(2010 年),David Patterson 完成了一次关键的问题重定义。如何在 MIPS 商业失败之后继续推进精简指令集路线,而不被一次商业挫败定性 属于 伯克利分校 RISC-V 项目之前的世界;伯克利分校 RISC-V 项目 要回答的是 如何让一套指令集与一门课程同时向所有人开放,从而改变这个领域的人才供给。
RISC-V 的起点同样是一次对既有秩序的反抗:x86 与 ARM 都是专有的,任何人要研究或实现它们都必须获得授权,学术研究因此长期处在受限状态。
RISC-V 从设计之初就以开放授权为前提,这使它迅速成为大学教学与研究、以及大量商业 SoC 的实现选择。
他推动课程重构时提出的具体要求包括:学生必须用 Verilog 从与门或与非门开始实现一个 CPU,再让它跑通编译器与操作系统,任何跳过硬件直接调库的做法都不予接受。
他给这套课程设定的目标时长是四个学期,理由是:学生的时间是有限的,与其让他们在一年内浅尝十个主题,不如在一个学期里把一件事做到能真正运转。
他主导的课程重构被后人称为「Patterson-Hennessy 路径」:不再让学生只读教材里的框图,而是要求他们真正做出一个能跑程序的计算机。
配套的教材《计算机组成与设计:硬件/软件接口》因此成为全球使用最广的体系结构教材之一,并被翻译成多种语言。
他明确指出过这背后的理由:一个人如果只学到「怎么用」,就无法在工具失效时判断问题出在哪;而从零搭建一台机器,是获得这种判断力的唯一途径。
五、2017 年:图灵奖,以及一份清单
2017 年的 与 John Hennessy 共同因在体系结构领域的持久性贡献获得图灵奖 是 David Patterson 的分水岭。获奖理由明确覆盖三块不可分割的工作:以 RISC 代表的体系结构设计、以教材与课程重构代表的体系结构教育、以及以 RISC-V 代表的开放硬件推动,这一点后来被整个 精简指令集架构与开源硬件 领域反复引用,而 图灵奖把「教育与技术同等重要」这一主张写进了该学科的最高荣誉记录,而 RISC-V 的开放化则把体系结构研究从少数有授权的企业扩展到了全球高校。
他与 Hennessy 共享 2017 年图灵奖,授奖理由明确指向他们在体系结构领域数十年持续的、既包括技术设计也包括教育与开源工作的贡献。
在获奖后的公开材料中,他列出了一份「计算机体系结构领域最重要的十项进展」之类的清单,其中多次提到教育与开放生态的价值高于某项具体技术突破。
RISC-V 基金会在此期间成为开放指令集推广的关键组织,他为其中的工作提供了方向与背书。
他晚年推动把大量体系结构课程资源以免费方式公开,包括课程讲义、实验材料与教材电子版。
他对今天芯片产业的观察是:开放指令集不会取代专有架构,但会显著降低「重新设计一颗芯片」的门槛,这对研究、创业与教学都是实质性的改变。
六、他坚持的那件事:让「做出来」成为学体系结构的方式
2017 年的 ACM 阿蒙·图灵奖 之后,David Patterson 把主要精力投到 推动 RISC-V 生态与免费公开的体系结构课程,持续为开放硬件与体系结构教育发声 上。对 精简指令集架构与开源硬件 领域而言,使体系结构教育的可及性大幅提升,并让开放指令集成为该领域一个稳定的选项。
他带头的那次课程重构,本质上是一次关于「什么算真正的理解」的重新定义:能解释框图不等于理解体系结构,能造出能跑操作系统与编译器的机器才算。
这套教学路径的影响远超计算机专业——它让大量来自其他专业、乃至从零开始的学生在一年内建立起完整的系统直觉。
他与 Hennessy 合作出版的教材在几十年间持续修订,其中一个不变的做法是:几乎每一章都要求读者动手实现一个具体部件。
他推动 RISC-V 开放化的理由,与推动课程重构的理由是同一个:把门槛降到任何认真的学习者都能承受的水平,知识才会真正扩散。
在图灵奖演讲中,他把「教育贡献」与「技术贡献」并列当作获奖理由,这件事本身就是他对体系结构这个领域应当如何被评价的一次公开主张。
参考来源
- David Patterson 与 John Hennessy,《Computer Organization and Design: The Hardware/Software Interface》
- David Patterson 等, RISC-I / RISC-II 技术报告, UC Berkeley
- ACM 2017 年度图灵奖官方授奖说明
- RISC-V International 技术规范与基金会公开资料
- Berkeley RISC-V 项目公开课程材料与 Patterson 的体系结构教学改革记录