# 大衛·帕特森：計算機體系結構與資料儲存

> 回顧 RISC 與儲存技術的演進，討論硬體設計取捨、資料中心能耗與計算架構的未來。

- 原標題：#104 – David Patterson: Computer Architecture and Data Storage
- 期數：第 104 期
- 釋出日期：2020-06-27
- 嘉賓 / 主題：大衛·帕特森：計算機體系結構
- 網頁版：https://lex.qiaomu.ai/tw/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 那邊走，這是可以觀察的趨勢，不是信念。
- 如果一個領域還沒有公認的基準測試，那這個領域的"我很強"基本都是自說自話。要麼參與建立基準，要麼至少用別人的基準檢驗自己。
- 不要用"摩爾定律還活著"來安慰自己。去查實際數字：六年前的晶片，今天有沒有八倍電晶體。如果沒有，就該重新審視你的軟體棧是不是假設了免費的效能增長。
- 評估一個新技術的時間表時，看權威機構的坦率評估，不看新聞熱度。量子計算的兩份國家級報告都說可糾錯版本還有十年，這個判斷比任何釋出會的口徑都可靠。
- 如果你在帶團隊，想想摔跤教練那套邏輯：個人專案也能靠凝聚團隊贏。帕特森把大規模組織教授和研究生的能力，直接歸功於這件事。
- 衡量自己的職業時，隔幾年做一次帕特森式的盤點：哪些事你真心驕傲，哪些只是數量。答案往往會指向人，而不是產出。
