声明:本文由作者构思框架与核心观点,由AI(LLM:ChatGPT,Claude Opus)协助撰写与润色。历史事实经过尽可能的考证,如有疏漏,欢迎指正。
关于文学渲染:本文借鉴茨威格的叙事手法,部分场景描写(如人物对话、环境氛围、心理活动等)系基于史实的文学化改编与合理想象,并非逐字记录的历史文献。凡涉及具体数据与事件,均力求准确;凡涉及情境与对话,请视为创作渲染。
致敬斯蒂芬·茨威格《人类群星闪耀时》。在计算机体系结构的长河中,同样有那些决定性的瞬间——一个人、一个决定、一枚芯片,改变了整个文明的走向。 1
引言#
茨威格曾写道:“一个影响至为深远的决定系于唯一的一个日期、唯一的一个小时,甚至常常系于唯一的一分钟。”
计算机体系结构的历史,亦是如此。从帕斯卡的机械齿轮到量子比特的叠加态,从占据整个房间的电子巨兽到指尖上的亿万晶体管——那些改变计算命运的时刻,往往凝结在某个深夜的实验室里,某次违背常理的决定中,某个不被看好的年轻人手中。
这不是一部冰冷的技术编年史。这是关于人的故事——关于那些在黑暗中点燃硅火的人,关于他们的执念、勇气与洞见。
第一章:第一缕电光(1940—1955)#
战火中的计算#
费城,1945年深秋的一个深夜。寒风掠过城市,街灯在夜色中摇曳。宾夕法尼亚大学地下实验室的空气闷热而干燥——近一万八千个电子管不知疲倦地散发着热量,橙色的微光映在两位工程师布满血丝的眼睛里。
“如果它能跑起来,一切都会不同。“普雷斯珀·埃克特低声说,手指悬在启动开关上方。
他按下按钮的那一刻,电子管如繁星般依次亮起,纸带滑入读取器,数字开始跳动。几秒钟之后,计算结果出现了。两人对视,一时无言。他们不知道自己刚刚点燃的,是整个计算时代的第一缕电光。
但这个故事真正的起点,时间还要再往前推两年,地点要移到大西洋彼岸一座戒备森严的英国庄园。
1943年,第二次世界大战正酣。在英国布莱切利园的一间密室中,邮政工程师汤米·弗劳尔斯(Tommy Flowers)正在赶制一台前所未有的机器。德军的洛伦兹密码机产生的加密电报如潮水般涌来,手工破译已经远远跟不上战场的节奏。
弗劳尔斯没有计算机科学的学位——那个年代甚至还没有"计算机科学"这个词。他只是一个擅长电子电路的电话工程师,在邮政总局研究站(Dollis Hill)默默工作了多年。但他相信电子管可以被信任,即便所有人都说电子管太不可靠、太容易烧毁。他自掏腰包垫付了部分研发经费,因为官方拨款迟迟不到。1943年底至1944年初,Colossus 投入运行,约1,500个电子管日夜不停地闪烁,破解着第三帝国的绝密通信。战争的天平在无声中倾斜。
然而,战争结束后,Colossus的一切被列为最高机密,机器被拆毁,图纸被销毁。弗劳尔斯被禁止谈论自己的成就,他悄然回到邮局,继续做一个普通的工程师。直到数十年后解密,世人才知道这位沉默的英国人为计算机的诞生立下了怎样的功勋。2
而在大西洋彼岸,另一群人也在战争的催促下忙碌着。宾夕法尼亚大学的约翰·莫奇利(John Mauchly)和普雷斯珀·埃克特(Presper Eckert),正在打造一台用来计算弹道轨迹的庞然大物。
1946年2月,ENIAC 正式对外公布。约17,468个电子管、重约27吨、占据近170平方米的房间,每秒可执行约5,000次加法——它比任何人类计算员都要快上千倍。ENIAC运行时,电子管如繁星般亮起,散发着灼人的热量。坊间传说它启动时费城的灯光为之一暗——这多半只是后人添加的戏剧色彩,但它所带来的震撼,却是真实的。
但ENIAC有一个致命的缺陷:每次更换计算任务,工程师必须重新插拔成千上万根电缆、调整无数开关。编程不是写代码,而是一场体力劳动,往往耗时数日乃至数周。
计算已经诞生,但它还需要一个灵魂。
赋予机器以记忆#
1945年,洛斯阿拉莫斯的一间办公室里,冯·诺依曼站在黑板前沉思良久。战争的硝烟尚未散尽,但他的思绪已经飘向了另一个战场。ENIAC是一次伟大的成功,可每次更换任务都要重新插拔成千上万根电缆——这不是未来的计算机应有的样子。
他拿起粉笔,在黑板上缓缓写下两个字:“存储程序。”
“计算机不应该只是执行固定的任务,“他自言自语,“它应该能够存储指令,根据需要读取和修改它们——就像人类的思考一样。“围在黑板前的同事们安静地读完他的推演。那一刻的沉默,后来被证明价值连城。
1945年,约翰·冯·诺依曼(John von Neumann)在参与宾夕法尼亚大学EDVAC项目期间,写下了那篇改变一切的文件——《EDVAC报告书的第一份草案》(First Draft of a Report on the EDVAC)。3
冯·诺依曼是那个时代最令人敬畏的头脑之一。数学家、物理学家、博弈论先驱、曼哈顿计划的参与者——他横跨的领域之广,令同时代的科学家们既佩服又嫉妒。但正是他参观ENIAC之后的那次沉思,为计算机赋予了真正的灵魂。
他的核心洞见简洁而深刻:程序和数据应当存储在同一个存储器中。计算机不应该为了更换任务而重新布线,它应当能够从内存中读取指令,就像人类从记忆中检索思维一样。
这个想法如今听来如此自然,但在当时却是一次认知上的飞跃。从此,计算机不再是"做一件事的机器”,而是"可以做任何事的机器”。
1949年5月6日,剑桥大学的莫里斯·威尔克斯(Maurice Wilkes)带领团队成功运行了 EDSAC——世界上第一台实用的存储程序计算机。当第一个程序从穿孔纸带读入内存并自动执行时,威尔克斯意识到,他们刚刚跨过了一个不可逆转的门槛。
而在此之前,曼彻斯特大学的"宝宝”(Manchester Baby)已于1948年6月率先成功运行了存储程序——尽管它只是一台验证性的实验机器。这些先驱者们虽然彼此有所耳闻,但各自独立地朝着同一个方向前进——让机器拥有自己的记忆与意志。
冯·诺依曼架构此后统治了计算机世界七十余年,直到今天,我们的手机、笔记本电脑、服务器,几乎无一例外。
晶体管的诞生#
贝尔实验室那间简陋的工作台上,一块指甲盖大小的锗晶体静静地躺着。巴丁和布拉顿屏住呼吸,将两根纤细的金箔探针小心翼翼地压在晶体表面,间距不到一毫米。
接通电路。示波器上的波形跳动了一下——信号被放大了。
就是这样一个安静得近乎平淡的瞬间。没有电子管的嗡鸣,没有庞大机器的热浪。只有一个不起眼的小东西,一个即将取代一切的小东西。两人相视一笑,谁都没有说话,但他们都知道,这枚微小的半导体器件将彻底改变世界。
1947年12月,贝尔实验室。
约翰·巴丁(John Bardeen)和沃尔特·布拉顿(Walter Brattain)在一块锗晶体上小心翼翼地放置了两根金箔接点,接通电路。微弱的信号经过这块微小的半导体,被放大了。
点接触型晶体管诞生了。
它太小了,几乎不起眼。与ENIAC数以万计的电子管相比,它只是一个不足一厘米的小东西。但正如燧石击出的第一缕火花,它蕴含着改变世界的力量。巴丁、布拉顿和他们的上司威廉·肖克利(William Shockley)因此共同获得了1956年诺贝尔物理学奖。然而三人之间的关系早已因功劳归属的争执而破裂——肖克利的专断与傲慢最终将他推向了孤立,但他随后在硅谷创办的公司却无意间播下了整个半导体产业的种子。从"肖克利半导体实验室"出走的"八叛逆”(Traitorous Eight),创立了仙童半导体,而仙童的子嗣——英特尔、AMD等公司——则书写了此后半个世纪的芯片传奇。
1951年,UNIVAC I 作为第一台商用计算机交付美国人口普查局,并在1952年美国总统大选中准确预测了艾森豪威尔的胜出——全国观众在CBS电视直播中目睹了机器的预测之力。计算机开始从实验室走入公众视野。
1954年,贝尔实验室完成了 TRADIC,最早的全晶体管计算机之一。电子管的时代正式进入倒计时。晶体管更小、更快、更省电、更可靠——一枚硅片上可以容纳的晶体管数量,将在此后的几十年里成为人类技术进步最显著的刻度。
第一缕电光已经亮起。真正的硅之时代,正在地平线上升起。
第二章:大局初定(1955—1975)#
兼容之道#
1961年,IBM总部的会议室里弥漫着紧张的气息。托马斯·沃森二世坐在长桌正中央,面前摊开着一份令人沮丧的市场报告:IBM自家的七八种计算机系列互不兼容,客户怨声载道,工程师疲于奔命。
“我们不能继续这样下去了。“沃森二世环视在座的高管,语气平静但不容置疑,“我要一个统一的架构——一个家族,所有软件都能通用。”
“但这意味着抛弃我们所有现有的产品线!“有人抗议。
“如果我们不做,就会被未来淘汰。”
会议室陷入沉默。没有人知道,这场持续了数小时的争论将最终耗去50亿美元——也将定义此后半个世纪的计算机产业格局。
1960年代初,计算机行业面临一场隐性的危机:每台计算机都是一座孤岛。
IBM同时生产着多种互不兼容的计算机系列,客户每次升级都意味着抛弃所有旧软件、重新培训人员。这种混乱不仅困扰着客户,也让IBM内部的工程师们疲于奔命。
1960年代初,IBM的托马斯·沃森二世(Thomas J. Watson Jr.)做出了公司历史上最大胆的赌注:投入约50亿美元的巨额资金,开发一个统一的计算机家族——这在当时是令人咋舌的投资规模,常被后人拿来与曼哈顿计划相提并论。IBM内部的反对声浪巨大——这意味着要淘汰公司几乎所有现有产品线,从零开始。
1964年4月7日,IBM System/360 发布。这不仅仅是一台计算机,而是一整个家族——从入门级到高端机型,共享同一套指令集架构(ISA)。客户可以根据需求选择不同规格的机型,而所有软件都能在它们之间无缝运行。4
System/360确立了一个此后影响深远的原则:软件兼容性是计算机架构设计的核心约束。 这个原则至今仍是x86生态系统长盛不衰的根本原因。
摩尔的预言#
1965年的一个深夜,戈登·摩尔坐在办公桌前,手指轻轻敲击着计算纸。面前摊着一张折线图——过去几年集成电路上元件数量的增长曲线。那条线以一种近乎完美的指数形态向右上方攀升。
摩尔的心跳加速了。他反复核对数据,试图找到某个错误——然而曲线纹丝不动。
“如果这个趋势继续下去……“他喃喃自语,拿起笔在纸边空白处飞速计算。几分钟后他放下笔,盯着那个数字,深吸一口气。
他决定把这个观察写成文章。不过是给《电子学》杂志的一篇短文罢了——他不知道自己正在写下的,是一条将指引整个半导体产业半个世纪的"定律”。
1965年,时任仙童半导体(Fairchild Semiconductor)研发总监的戈登·摩尔(Gordon Moore)在《电子学》(Electronics)杂志上发表了一篇短文,其中做出了一个看似随意的观察:集成电路上的元件数量大约每年翻一番,而单位成本却在下降。三年后,摩尔与罗伯特·诺伊斯(Robert Noyce)一同创立了英特尔。5
十年后他将这一周期修正为约每两年翻一番。这就是后来举世闻名的摩尔定律。
摩尔定律从来不是物理定律,而是一个经验性的观察和一份产业界的自我实现预言。整个半导体产业围绕它制定研发路线、投资计划乃至商业战略。它如同一面旗帜,引领着人类在微观世界中的不断深入——从微米到纳米,从数千个晶体管到数十亿个。
在此后的半个多世纪里,摩尔定律指引着一个近乎奇迹的进程:同样面积的硅片上,每隔不到两年,能容纳的晶体管数量就翻上一番。没有任何其他工业领域,经历过如此持久而陡峭的指数增长。
微处理器的登场#
1971年,英特尔实验室的深夜。费德里科·费金抬起酸涩的双眼,桌上那枚比指甲盖还小的芯片反射着台灯的微光。他已经连续工作了十几个小时,亲手在红宝石掩膜版上一笔一笔地绘制着每一个晶体管的图案——总共两千三百个。
“启动它。“他对身旁的同事说,声音沙哑。
电源接通,测试程序开始运行。屏幕上的数字跳动了几下,然后稳定地输出了正确结果。费金凝视着那枚微不足道的硅片,双手微微颤抖——他把整台计算机的"大脑”,塞进了一粒沙子般大小的东西里。
“这不可能只是一个计算器芯片,“他想,“如果CPU可以这么小,计算机就不必再是一个房间那么大。”
1971年,英特尔发布了 4004微处理器。
这是人类第一次将一个完整的中央处理器封装在一枚芯片上。它只有2300个晶体管,运行频率740kHz,只能进行四位运算。设计它的主要工程师费德里科·费金(Federico Faggin)是一位意大利裔移民,他亲手用红宝石掩膜版在硅片上绘制出了每一个晶体管的图案。
4004最初是为日本计算器厂商Busicom定制的,没有人预料到它会开创一个新时代。但费金和他的同事们隐隐感觉到:如果一个完整的CPU可以放在一枚芯片上,那么计算机就不必再是一个房间那么大。
1974年,英特尔 8080 处理器问世。次年,它成为了Altair 8800微机的心脏——正是这台粗糙的设备,让年轻的比尔·盖茨和保罗·艾伦看到了个人计算的未来,于是他们写下了第一个微机BASIC解释器,创立了微软。
1969年,贝尔实验室的肯·汤普森(Ken Thompson)和丹尼斯·里奇(Dennis Ritchie)在DEC的 PDP-7(后移植到PDP-11)上创造了 UNIX 操作系统。PDP系列小型机不如IBM大型机那般宏伟,但它们更灵活、更便宜,让大学和研究机构也能拥有自己的计算力量。UNIX的诞生不仅革新了操作系统设计,更催生了C语言,塑造了此后数十年的软件工程面貌。
二十年间的演化,正将计算机从大型机房中的专属之物,变为大众可以触及的工具。
第三章:路线之争(1975—2000)#
个人计算的黎明#
1980年,IBM总部会议室。威廉·洛将一张苹果公司的产品照片投射在幕布上——那是一台Apple II,机身小巧,屏幕上显示着彩色图形。
“有人叫它’玩具’,“洛环视在座的高管,“但这个’玩具’,正在抢走我们的未来。”
会议室里响起了不以为然的低语。IBM是大型机的王者,个人计算机不过是业余爱好者的消遣。
“如果我们不在一年之内推出自己的PC,“洛的声音突然拔高了半度,“这个市场就再也不会属于我们。”
一年后,IBM PC问世。选用英特尔8088处理器、微软MS-DOS操作系统——这两个在当时看来随意的供应商选择,将塑造此后二十年的科技版图。
1977年,三台个人计算机几乎同时问世:Apple II、Commodore PET和TRS-80——后人称之为"1977三杰”。其中,史蒂夫·沃兹尼亚克(Steve Wozniak)手工设计的 Apple II 以其优雅的工程设计脱颖而出——沃兹尼亚克用尽可能少的芯片实现了尽可能多的功能,整台计算机的电路板如同一件艺术品。个人计算的浪潮就此掀起。
但真正让PC成为全球标准的,是IBM的入局。1981年,IBM PC 发布,搭载英特尔8088处理器和微软MS-DOS操作系统。IBM做出了一个在当时看来务实、却深刻改变历史的决定:开放硬件架构。任何厂商都可以制造IBM PC的兼容机。
这个决定让IBM在短期内迅速占领市场,但长期来看,真正的赢家是英特尔和微软——它们成为了PC产业的"灵魂”,而IBM自身的PC业务反而逐渐式微。Wintel联盟(Windows + Intel)由此形成,统治了此后二十余年的个人计算市场。
x86架构以"向后兼容"为信条——新一代处理器必须能运行为旧处理器编写的所有软件。这条铁律使得x86积累了庞大的软件生态,也让它背负了沉重的历史包袱。但在商业世界里,生态就是护城河。
RISC的异见#
1980年秋,伯克利的一间小教室里。戴维·帕特森在黑板上画了一张表格,左边是某款CISC处理器最常执行的指令,右边是执行频率。
“你们看,“他转过身面对学生们,用粉笔敲了敲黑板,“80%的时间,处理器只在执行20%的指令。那些花费巨大代价实现的复杂指令,几乎从来没有被用到。”
教室里一阵沉默。
“所以我的问题是——如果我们把那些复杂指令全部扔掉,设计一个只做简单事情但做得极快的处理器,会怎么样?”
一个学生举手:“教授,所有的工业界都在用CISC,您是说他们全都错了?”
帕特森笑了:“我是说,也许有一条更好的路。”
当x86在PC市场高歌猛进时,学术界传来了一个不同的声音。
1980年,加州大学伯克利分校的戴维·帕特森(David Patterson)和斯坦福大学的约翰·轩尼诗(John Hennessy)分别展开了一项大胆的实验。他们观察到,CISC(复杂指令集计算机)处理器中大量复杂的指令很少被使用,而常用的简单指令反而因为架构的复杂性而被拖慢。
他们的回答是:RISC——精简指令集计算机。用更少、更简单、更规整的指令,让流水线高效运转。
帕特森在伯克利发起了 RISC-I 项目,轩尼诗在斯坦福发起了 MIPS 项目。两位教授后来合著的《计算机组成与设计》(Computer Organization and Design)和《计算机体系结构:量化研究方法》(Computer Architecture: A Quantitative Approach)成为全球计算机体系结构教育的奠基之作——2017年,他们共同获得了图灵奖。6 7
RISC的商业化迅速跟进。1986年,MIPS公司推出 R2000 处理器;次年,SUN Microsystems推出基于RISC的 SPARC 处理器。它们在工作站和服务器市场迅速崛起,用实际性能证明了RISC理念的可行性。DEC的 Alpha 处理器(1992年首发Alpha 21064)更以其超前的性能令整个行业惊叹。
而在英国剑桥,一支小小的团队正在做着另一件改变世界的事。1985年,Acorn计算机公司设计出了第一款 ARM 处理器(ARM1)。ARM选择了一条与众不同的道路——极致的低功耗和简洁。据说,ARM1的设计团队只有十几个人,芯片的功耗低到测试时工程师一度以为设备没有通电。当时没有人预料到,这个在桌面市场毫无存在感的架构,日后会成为地球上数量最多的处理器。
乱序执行的突破#
1990年代中期,DEC的实验室里,一群年轻的工程师正在设计一颗他们内部代号"EV6"的处理器——日后的Alpha 21264。他们的目标近乎狂妄:让处理器不再按照程序员写下的顺序老老实实地执行指令,而是自行判断哪条可以先跑、哪条可以后跑,就像一个经验丰富的厨师同时操持多道菜肴。
“如果我们做对了,“一位年轻工程师在白板上画着调度逻辑的草图说,“这颗芯片的性能会让所有人目瞪口呆。”
“如果做错了呢?“旁边有人问。
“那就是一颗非常昂贵的暖手器。”
笑声之后,他们继续埋头工作。没有人知道,这间实验室里走出的人,将在此后三十年里辗转于芯片行业最重要的几家公司,定义一代又一代处理器的灵魂。
在RISC与CISC的论战之外,处理器微架构本身也在发生深刻的变革。
1995年前后,乱序执行(Out-of-Order Execution) 技术走向成熟。它允许处理器不必严格按照程序顺序执行指令,而是动态调度,哪条指令的操作数先准备好就先执行哪条,从而最大限度地利用硬件资源。
DEC的 Alpha 21264(1998年)是乱序执行技术的集大成之作——它激进的微架构设计在当时独步天下。在DEC的Alpha团队中,一批才华横溢的工程师得到了历练,其中包括日后声名赫赫的吉姆·凯勒(Jim Keller)。凯勒此后辗转AMD、苹果、特斯拉、英特尔等公司,先后主导了AMD K8(Athlon 64)、AMD Zen等里程碑式架构设计,成为业界最富传奇色彩的芯片架构师之一。
英特尔也在1995年的 Pentium Pro 中引入了乱序执行,更巧妙的是,它在CISC的x86指令集外壳之下,将指令翻译成类RISC的微操作(micro-ops)再进行乱序调度。RISC vs. CISC之争由此走向融合——外表是CISC,内核是RISC,成为此后x86处理器的通用范式。
IBM的 POWER 架构同样在超标量和乱序执行技术上走在前列。1990年的POWER1处理器开创了商用超标量设计的先河。
这些微架构的进步远不如"发明第一台计算机"那样引人注目,但它们是无声的革命。正是这些精妙的工程突破,让摩尔定律提供的晶体管资源真正转化为用户感受到的性能提升。
第四章:并行时代(2000—2017)#
频率之墙#
2004年初,英特尔的一间会议室里,一位工程师在幻灯片上展示了一张令人不安的图表:如果按照当前的路线继续提高时钟频率,到2010年,处理器单位面积的热流密度将接近核反应堆堆芯的水平。
会议室里一片寂静。
“我们不可能给每台电脑配一个冷却塔。“有人打破了沉默,语气里带着苦涩的幽默。
即将发布的Pentium 4 Prescott核心预计功耗将突破100瓦,而下一代Tejas的设计指标更加激进。所有人都看到了那堵墙——频率不能再往上了。几个月后,Tejas项目被取消。那是英特尔历史上第一次承认:更高的频率不等于更强的性能。
2000年代初,一场危机悄然逼近。
多年来,处理器性能的提升遵循着一个简单而美妙的路径:提高时钟频率。从MHz到GHz,频率的提升带来了近乎线性的性能增长。2000年,英特尔的路线图自信地写着:到2010年,主流处理器频率将突破10GHz。
然而,物理定律不容妥协。2004年左右,处理器的时钟频率在3.8GHz附近撞上了一堵无形的墙——功耗墙(Power Wall)。在当时的工艺条件下,频率与电压联动提升,功耗近似以三次方的关系猛增。Pentium 4 Prescott处理器的功耗已突破100瓦,芯片单位面积的热流密度——如英特尔工程师在那场著名的技术大会上用幻灯片所展示的——正在逼近令人不安的水平。
英特尔被迫在2004年取消了下一代高频处理器Tejas的开发计划。这是x86发展史上第一次,“更高频率"不再是通往更强性能的道路。
计算机架构走到了一个十字路口。
64位的跨越#
1990年代初,DEC的实验室里,Alpha处理器的设计团队正在做一件在当时看来超前到近乎疯狂的事——64位计算。
“64位?谁需要64位?“质疑声从未断过。整个市场都在使用32位的x86处理器,4GB的内存上限对大多数应用而言绰绰有余。
“不是今天需要,“团队负责人平静地回答,“是明天需要。”
Alpha处理器的性能令人惊叹,但DEC未能让市场相信64位的未来。十年后,AMD用一种更聪明的方式完成了这场革命——不是推翻旧世界,而是在旧世界的地基上悄悄加盖一层。
在频率之墙撞碎单核提速的幻想之前,另一场安静但影响深远的变革已经完成:64位计算。
2001年,英特尔推出了 Itanium 处理器,试图用全新的IA-64架构(EPIC)取代x86。Itanium架构设计精巧,将指令调度的责任从硬件转移给编译器——如果编译器足够聪明,处理器就可以更简单高效。
但现实是无情的。编译器技术远未达到Itanium所需要的智能水平,更致命的是,Itanium无法运行现有的海量x86软件。
AMD看到了机会。2003年,AMD推出了 Opteron 处理器和 x86-64 指令集——在完全兼容32位x86的基础上,扩展到64位。这是一种务实而高明的策略:用户无需抛弃任何旧软件就能获得64位计算能力。
市场的选择毫不犹豫。x86-64迅速成为工业标准,英特尔不得不放下身段,采纳AMD的64位扩展方案(以Intel 64之名)。Itanium则走向了缓慢的消亡。
这是计算机架构史上一个深刻的教训:技术优雅从来不能凌驾于生态兼容之上。
多核的答案#
频率之墙的阴影笼罩着整个行业。在实验室里,工程师们面对着同一个问题:“如果不能让一个核心更快,我们还能怎么办?”
答案早已写在教科书里,只是从来没有人在商用处理器上大规模实践过——多核。
“想象一条高速公路,“一位工程师在白板上画着草图向同事解释,“单车道再怎么拓宽也有极限。但如果我们修两条路、四条路呢?”
“前提是,“旁边有人补充道,“路上的车得学会走不同的道。”
这句话道出了多核时代最大的挑战——硬件可以堆叠核心,但软件必须学会并行思考。
解决方案早已被学术界提出:既然不能让一个核心跑得更快,就让多个核心并肩工作。
2005年,英特尔发布了双核的 Pentium D,AMD几乎同时推出了双核 Athlon 64 X2。多核时代正式拉开帷幕。
但多核处理器的挑战远不止于堆叠核心数量。阿姆达尔定律(Amdahl’s Law)冷酷地指出:程序中不可并行化的部分,将成为多核性能的上限。如果一个程序只有50%可以并行执行,那么无论你加多少个核心,最大加速比也不过是2倍。8
这意味着,多核时代不仅是硬件的革命,更是软件的革命。程序员必须重新学习如何思考——从串行思维转向并行思维。这场范式转换至今仍在进行中。
ARM的崛起#
2007年1月9日,旧金山Moscone中心。史蒂夫·乔布斯穿着标志性的黑色高领衫走上舞台,手里攥着一个小小的设备。全场屏息。
“今天,苹果重新发明了手机。”
他将那个设备举到聚光灯下,用手指轻轻滑过屏幕。那一刻,没有人关心它的处理器是什么架构——但藏在那块玻璃屏幕之下的,是一颗ARM芯片。这个在桌面战争中从未露过面的名字,即将以一种没有人预料到的方式,在移动计算的浪潮中征服整个世界。
当桌面和服务器处理器在频率之墙前苦苦挣扎时,一个意想不到的力量正在崛起。
2007年1月9日,史蒂夫·乔布斯站在Macworld的舞台上,向全世界展示了 iPhone。“今天,苹果重新发明了手机。“他说。
iPhone的处理器核心是一颗ARM芯片。ARM,这个在桌面战争中几乎从未出现过的名字,凭借其极致的功耗效率,成为了移动计算时代的基石。
ARM的商业模式也与英特尔截然不同:ARM自己不制造芯片,而是将处理器设计授权给其他公司——苹果、高通、三星、华为,各自在ARM基础上设计定制化的处理器。这种"开放授权"的模式,让ARM架构迅速渗透到了地球上几乎每一部智能手机、平板电脑和嵌入式设备中。
到2015年前后,基于ARM架构的芯片年出货量已达到惊人的规模——远超x86。在数量上,ARM早已是地球上部署最广泛的处理器架构。只是在桌面和服务器这两块高地上,x86仍然牢牢占据着制高点。
GPU:从像素到矩阵#
1993年,黄仁勋和两位合伙人挤在一家Denny’s餐厅的卡座里,在餐巾纸上勾画着他们对未来的构想。一家专注于图形芯片的公司——这在当时听上去并不算什么宏大的愿景。
但黄仁勋看到了别人没看到的东西。
“CPU一次做一件事,做得很精致,“他在餐巾纸上画了一个大方块,“但如果你需要同时做一万件简单的事呢?“他在旁边画了一万个小方块,“这就是图形芯片该做的事。”
十几年后,当深度学习的浪潮席卷而来时,整个世界才恍然大悟——那些为渲染游戏画面而生的成千上万个小核心,恰恰是训练神经网络的完美工具。这张餐巾纸上画着的不只是一家公司的蓝图,而是一个时代的预言。
在CPU世界的剧变之外,另一场更深远的变革正在酝酿。
1999年,英伟达(NVIDIA)发布 GeForce 256,首次以"图形处理单元(GPU)“自称。GPU的设计哲学与CPU截然不同:CPU追求单线程的极致速度,GPU则用成千上万个小核心同时处理大量简单任务。
2006年,NVIDIA发布了 CUDA(Compute Unified Device Architecture)平台,让程序员可以用GPU执行通用计算任务,而不仅仅是图形渲染。这是一个被低估的转折点。
CUDA发布时,深度学习还只是学术界的小众方向。但2012年,多伦多大学的Alex Krizhevsky用两块NVIDIA GTX 580显卡训练出了 AlexNet,在ImageNet图像识别竞赛中以碾压性的优势夺魁。这一事件被视为深度学习革命的起点——而GPU,就是那把点燃AI之火的火炬。9
2016年3月,Google DeepMind的 AlphaGo 击败围棋顶尖棋手李世石,震动了整个世界。AlphaGo的早期版本使用CPU与GPU协同运算,而对阵李世石时已搭载了Google内部自2015年起部署的 TPU(Tensor Processing Unit)。2017年TPU论文的公开发表,正式将AI专用芯片的理念推向业界前台。10 11
从此,AI计算成为计算机体系结构设计的核心驱动力。黄仁勋那句在无数场合重复的话——“The more you buy, the more you save”——虽然是一句商业口号,却道出了一个时代命题:计算力就是生产力,而GPU正在重新定义什么是计算。
第五章:后摩尔时代(2015—至今)#
与摩尔定律的告别#
2015年的一个秋日,年迈的戈登·摩尔坐在家中,翻看着一份关于最新制程工艺的技术报告。窗外加州的阳光一如半个世纪前那样明亮,但报告里的数字却透着寒意——研发成本曲线正在以比摩尔定律更陡峭的斜率向上攀升。
他放下报告,望向远方。五十年前,他在一篇不起眼的短文里写下的那个观察,像一列不知疲倦的火车,带着整个半导体产业一路狂奔。如今,这列火车没有脱轨,但速度正在放缓,前方的隧道越来越窄。
“接下来的路,“他轻声说,仿佛在对那些他永远不会见到的年轻工程师们说话,“你们得自己找了。”
2015年前后,一个业界不愿面对却无法回避的事实终于摆上了台面:摩尔定律正在放缓。
当制程推进到10纳米以下,每一代工艺节点的研发成本急剧攀升,投产时间不断延长。量子隧穿效应使得晶体管像一个关不严的阀门,漏电问题日渐严峻。英特尔原本的"Tick-Tock”(制程-架构交替更新)战略在14纳米节点停滞多年,曾经充当产业节拍器的摩尔定律,鼓点渐渐迟缓。
但工程师们从未坐以待毙。当单一维度上的突进遭遇瓶颈时,创新转向了多个方向同时展开——这正是后摩尔时代最激动人心之处。
ARM的进军#
2020年深秋的一个夜晚,苹果芯片团队的工程师们围在一台MacBook原型机前。屏幕上,跑分软件的数字不断跳动,最后定格在一个令人难以置信的位置。
“这……这数据没错吧?“一位工程师反复刷新着测试结果。
“没错。“芯片架构负责人的声音平静但难掩兴奋,“十几瓦的功耗,打平了对面一百多瓦的桌面处理器。”
十余年来,他们在iPhone的A系列芯片上一代代打磨ARM架构的潜力,从手机到平板,从Apple Watch到AirPods。M1不是灵光一现,而是一场蓄谋已久的远征的终点——或者说,起点。
2020年11月,苹果发布了 M1 处理器,宣布Mac电脑全面从x86转向ARM架构。
这是一次蓄谋已久的迁徙。苹果的芯片团队从iPhone的A系列处理器一路走来,在移动芯片上积累了十余年的设计经验。当M1的跑分成绩泄露出来时,整个行业为之震动——一颗功耗仅十几瓦的芯片,在许多测试中打平甚至超越了英特尔功耗数倍于己的桌面处理器。
M1在性能和功耗效率上全面超越了同期的英特尔笔记本处理器——运行安静、续航惊人、性能强劲。苹果通过Rosetta 2转译层,让绝大多数x86应用可以在ARM上无缝运行,巧妙地解决了生态兼容的老问题。
此后,M2、M3、M4系列接踵而至,每一代都在刷新人们对ARM处理器上限的认知。苹果证明了一件事:ARM不仅能够统治手机,也能够征服桌面甚至专业工作站。
与此同时,ARM架构也开始攻入服务器市场。Amazon的 Graviton 系列处理器、Ampere的 Altra 以及NVIDIA的 Grace CPU,纷纷在云计算数据中心中证明了ARM的竞争力。
x86的统治不再是无可动摇的了。计算机体系结构正在走向多架构并存的新格局。
Chiplet的革命#
2017年的某个深夜,AMD的一间会议室里,Zen架构团队的工程师们在白板上反复推演着一个大胆的构想。
“单片芯片已经走到尽头了,“主持会议的架构师指着白板上一组良率数据说,“芯片面积越大,废品率越高,成本越不可控。”
“所以我们不做大芯片了?“一位年轻工程师问。
“不,“架构师摇了摇头,嘴角微微上扬,“我们做很多小芯片,然后把它们拼起来。计算核心用最先进的工艺,I/O部分用成熟的老工艺——各取所需。”
白板上的草图逐渐清晰:一个处理器不再是一整块硅片,而是由多个"小芯片"如积木般拼装而成。这个想法听起来像是倒退——但在摩尔定律放缓的年代,有时候最聪明的前进方式,是换一条路走。
如果说摩尔定律是在一块硅片上做文章,那么Chiplet架构则是换了一个思路:不把所有鸡蛋放在一个硅片里。
传统的单片(monolithic)芯片,将所有功能模块集成在一块晶圆上。芯片面积越大,良率越低。当制程推进到极限时,大面积单片芯片的制造成本变得难以承受。
2019年,AMD在 Zen 2 架构的Ryzen和EPYC处理器上率先大规模采用 Chiplet设计:将CPU计算核心(CCD)和I/O控制器(IOD)分别制造在不同的芯片上,再通过高速互连封装在同一个处理器中。计算核心使用7nm先进工艺,I/O部分使用更成熟的12nm工艺——各取所需。
这一策略让AMD在成本、良率和扩展性上全面超越了仍在坚持单片设计的英特尔。Zen 2的成功堪称AMD复兴的关键一役,也让Chiplet理念在整个行业扎下根来。
此后,英特尔也拥抱了Chiplet(以"Tile"命名),并积极推动 UCIe(Universal Chiplet Interconnect Express) 开放标准,希望不同厂商制造的Chiplet能够互相连接。
Chiplet不仅仅是一种封装技术,它代表着一种新的系统设计哲学:模块化、异构化、可组合。 未来的处理器可能不再是"设计一颗芯片”,而是"组装一台硅上系统”。
AI芯片:专用架构的涌现#
2023年的一场行业峰会上,黄仁勋身穿标志性的黑色皮夹克站在舞台中央。他身后的巨幅屏幕上,H100芯片的架构图如同一座微观城市的蓝图。
“AI不是计算的一个应用,“他扫视全场,语气笃定,“AI就是计算本身。”
台下坐满了来自Google、微软、Meta的工程师和高管。他们都清楚,大语言模型的算力需求正在以一种近乎疯狂的速度膨胀——每一代模型的参数规模比上一代增长十倍乃至百倍。没有人知道尽头在哪里,但所有人都知道,谁拥有算力,谁就拥有未来。
如果说2012年的AlexNet是深度学习的"寒武纪大爆发”,那么2020年代的AI芯片则是计算架构的寒武纪大爆发。
NVIDIA的GPU仍然是AI训练的王者。从Volta到Ampere再到 Hopper(H100) 和 Blackwell(B200),每一代都为大语言模型和生成式AI的疯狂算力需求量身定制。H100引入了Transformer Engine,专门加速Transformer架构中的注意力计算——当一个芯片为一种特定的算法模式进行硬件级优化时,通用与专用的边界已经开始模糊。12
Google的 TPU(Tensor Processing Unit)从2016年的v1起步,到如今的v5,始终在自家数据中心中扮演核心角色。微软、Meta、Amazon等科技巨头也纷纷启动自研AI芯片项目。
在中国,华为的昇腾(Ascend) 系列AI处理器、寒武纪的智能处理器也在国产AI算力领域开拓前行。
AI芯片的设计正在呈现多元化趋势:有面向训练的、面向推理的、面向端侧的、面向数据中心的……这个领域就像寒武纪的海洋——无数新物种竞相涌现,谁将存活下来尚未可知,但生命力的爆发本身就令人振奋。
RISC-V:开放的基石#
2010年的一个下午,伯克利的实验室里,克尔斯特·阿萨诺维奇正在和几个研究生为一个新项目挑选处理器架构。他们把备选方案一个个划掉:x86太复杂且专利壁垒森严;ARM授权费高昂;MIPS前途未卜……
“要不,我们自己设计一个?“一个研究生半开玩笑地说。
阿萨诺维奇摘下眼镜,沉思了片刻:“为什么不呢?”
谁也没想到,这个始于课堂需求的"教学项目”,会在十五年后成长为一场席卷全球的指令集开源运动——如同Linux之于操作系统,RISC-V要做的,是芯片世界的自由基石。
2010年,加州大学伯克利分校的克尔斯特·阿萨诺维奇(Krste Asanović)和他的研究生们在为实验室项目选择处理器架构时,遇到了一个令人沮丧的现实:x86过于复杂且被专利锁定,ARM需要高额授权费,MIPS、SPARC等老架构前途未卜。
他们决定自己动手,从零开始设计一个 完全开源、自由的指令集架构。这就是 RISC-V——名字中的"V"即罗马数字5,代表伯克利的第五代RISC设计。
RISC-V的诞生最初只是一个教学项目——阿萨诺维奇需要一个干净的指令集来给学生上课。但它的设计如此简洁、如此合理,以至于很快超越了课堂的边界。13
RISC-V的设计哲学是:简洁、模块化、可扩展、不受任何商业实体控制。 任何人都可以免费使用、修改和实现RISC-V,不需要支付一分钱的授权费。
这在计算机体系结构领域是一种前所未有的开放——如同Linux之于操作系统,RISC-V要做的是指令集层面的开源革命。
它的意义超越了纯粹的技术考量。在全球科技竞争日益复杂的今天,一个不受任何单一国家或公司控制的指令集架构,为各国的芯片产业提供了一种独立自主的选择。中国、欧洲、印度等地区的芯片企业和科研机构纷纷投入RISC-V生态建设。
到2025年,RISC-V已在嵌入式、IoT、存储控制器等领域站稳脚跟,并开始向高性能计算和移动终端发起冲击。帕特森在多个公开场合表达过对RISC-V的期许——他认为开源指令集有望深刻改变计算机体系结构的未来生态。
指令集——计算机最底层的语言——第一次真正属于了全人类。
量子的微光#
深夜的实验室里,超导量子处理器被冷却到接近绝对零度。液氦冷却系统发出低沉的嗡鸣,霜花爬满了金色的稀释制冷机外壁。一位年轻的物理学家盯着控制台上的数据——53个量子比特正在执行一项特殊的计算任务。
200秒后,结果出现了。她把这个结果和经典超级计算机的预估对比了一下——传统方法需要大约一万年。
“量子优越性,“她轻声说出这个词,然后停顿了一下,仿佛这个词的重量需要一点时间才能落地。
在经典计算机体系结构之外,一道更遥远但更耀眼的光正在地平线上闪烁。
2019年,Google宣布其53量子比特的 Sycamore 处理器实现了"量子优越性”——在200秒内完成了一项经典超级计算机需要约一万年才能完成的特定计算任务。IBM随即提出质疑,认为经典计算机经过优化后只需两天半。这场争论本身就说明了量子计算正在接近一个有意义的门槛。14
2023年,IBM发布了1121量子比特的 Condor 处理器。Google、微软、IonQ、PsiQuantum等公司也在超导、离子阱、光量子等不同技术路线上竞速。
量子计算机不会取代经典计算机——它们擅长解决的是完全不同类型的问题:大数分解、量子化学模拟、优化问题。它不是更快的经典计算,而是另一种计算。
也许在几十年后的某一天,一台量子计算机将在某个实验室里解决一个我们今天无法想象的问题。那一天发生时,回望历史的人们或许会说:这和1946年ENIAC启动的那个夜晚一样,是一个新纪元的开端。
尾声:星光与薪火#
回望计算机体系结构的八十余年历史,那些改变世界的时刻往往出人意料地安静。
没有隆隆的炮声,没有万众瞩目的签约仪式。只是某个深夜的实验室里,一个电子管亮了,一段程序自己跑了起来,一枚指甲盖大小的芯片上涌过了第一缕电流。
创造这些时刻的人——弗劳尔斯、冯·诺依曼、巴丁、莫奇利、埃克特、费金、帕特森、轩尼诗、凯勒、黄仁勋,以及无数我们叫不出名字的工程师——他们大多没有站在聚光灯下。他们的战场是示波器前的波形、版图上的走线、编译器输出窗口中一行行滚动的日志。
但正是他们的执念,让沙子变成了硅,让硅变成了思想的载体。从弗劳尔斯的沉默到费金的红宝石掩膜版,从帕特森的课堂到阿萨诺维奇的开源梦想,薪火相传,不曾断绝。
计算机体系结构的故事远未结束。摩尔定律或许放缓了,但人类的创造力从未放缓。Chiplet、RISC-V、AI芯片、量子计算、存算一体、光子计算……新的篇章正在被书写。
茨威格说,历史上那些伟大的时刻是"浓缩的、密集的、决定命运的”。计算机体系结构的历史同样如此——它是由无数个看似微小的决定和洞见编织而成的,而每一个决定都在重塑我们与世界交互的方式。
群星无声,但它们一直在闪耀。
完
Zweig, Stefan, and Lowell A. Bangerter. Decisive Moments in History: Twelve Historical Miniatures. Riverside, CA: Ariadne Press, 1999. ↩︎
Copeland, B. Jack. Colossus: The secrets of Bletchley Park’s code-breaking computers. Oxford University Press, 2010. https://dl.acm.org/doi/10.5555/1809754 ↩︎
Von Neumann, John. “First Draft of a Report on the EDVAC.” IEEE Annals of the History of Computing 15, no. 4 (1993): 27-75. https://doi.org/10.1109/85.238389 ↩︎
Amdahl, Gene M., Gerrit A. Blaauw, and Frederick P. Brooks. “Architecture of the IBM System/360.” IBM Journal of Research and Development 8, no. 2 (1964): 87-101. https://doi.org/10.1147/rd.82.0087 ↩︎
Moore, Gordon E. Cramming more components onto integrated circuits. 1965. https://www.cs.utexas.edu/~fussell/courses/cs352h/papers/moore.pdf ↩︎
Patterson, David A., and Carlo H. Sequin. “RISC I: A reduced instruction set VLSI computer.” In 25 years of the international symposia on Computer architecture (selected papers), pp. 216-230. 1998. https://doi.org/10.1145/285930.285981 ↩︎
Hennessy, John L., and David A. Patterson. Computer architecture: a quantitative approach. Elsevier, 2017. https://dl.acm.org/doi/book/10.5555/3207796 ↩︎
Amdahl, Gene M. “Validity of the single processor approach to achieving large scale computing capabilities.” In Proceedings of the April 18-20, 1967, spring joint computer conference, pp. 483-485. 1967. https://dl.acm.org/doi/abs/10.1145/1465482.1465560 ↩︎
Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. “Imagenet classification with deep convolutional neural networks.” Advances in neural information processing systems 25 (2012). https://dl.acm.org/doi/10.1145/3065386 ↩︎
Silver, David, Aja Huang, Chris J. Maddison, Arthur Guez, Laurent Sifre, George Van Den Driessche, Julian Schrittwieser et al. “Mastering the game of Go with deep neural networks and tree search.” nature 529, no. 7587 (2016): 484-489. https://doi.org/10.1038/nature16961 ↩︎
Jouppi, Norman P., Cliff Young, Nishant Patil, David Patterson, Gaurav Agrawal, Raminder Bajwa, Sarah Bates et al. “In-datacenter performance analysis of a tensor processing unit.” In Proceedings of the 44th annual international symposium on computer architecture, pp. 1-12. 2017. https://dl.acm.org/doi/abs/10.1145/3079856.3080246 ↩︎
Vaswani, Ashish, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin. “Attention is all you need.” Advances in neural information processing systems 30 (2017). https://dl.acm.org/doi/10.5555/3295222.3295349 ↩︎
Waterman, Andrew, Yunsup Lee, David Patterson, Krste Asanovic, Volume I. User level Isa, Andrew Waterman, Yunsup Lee, and David Patterson. “The RISC-V instruction set manual.” Volume I: User-Level ISA’, version 2 (2014): 1-79. https://www2.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS-2014-54.pdf ↩︎
Arute, Frank, Kunal Arya, Ryan Babbush, Dave Bacon, Joseph C. Bardin, Rami Barends, Rupak Biswas et al. “Quantum supremacy using a programmable superconducting processor.” nature 574, no. 7779 (2019): 505-510. https://doi.org/10.1038/s41586-019-1666-5 ↩︎