原创 史中 浅黑科技 2024-04-15 10:53 河北
中国人的“CPU焦虑”与治病良药。

浅友们好~我是史中,我的日常生活是开撩五湖四海的科技大牛,我会尝试用各种姿势,把他们的无边脑洞和温情故事讲给你听。如果你想和我做朋友,不妨加微信(shizhongmax)。CPU 的“庶民的胜利”文 | 史中(一)堤坝上的裂缝 人们总说要“活在当下”。但好多烦恼恰恰来自人们太活在“当下”了。就拿芯片“卡脖子”这件事来说,很多人的第一反应是——中国脖子已经被卡了好久,都卡秃噜皮了。但看看以下时间点:
2022 年 10 月,美国宣布对中国先进计算芯片的出口管制。距今 1.5 年。2020 年 3 月,美国宣布禁止台积电为华为代工。距今 4 年。2018 年 10 月,美国宣布对福建晋华实施制裁,这已是美国对华芯片压制的起点,距今 5.5 年。
这段时间,实际上比很多人的感觉更短。也许只是痛苦才让它显得漫长,这就是“相对论”吧。。。有人可能会想:“虽说开始没多久,但不知道什么时候才能摆脱制裁啊!大的还没来,岂不是更让人灼菊?”要我说,摆脱在芯片上的困局,绝不会难到“家祭无忘告乃翁”的程度!
“理解当下”的最好办法是“活进历史”。你看,1971 年现代 CPU 才诞生,创造 CPU 的那一代人也还世。而在 50 多年的历史中,CPU 江湖已经改朝换代不知几何。君不见,每一代霸主都期待构建起雄伟的大坝,把技术之水围住,可谁又成功了呢?
世界上第一个 CPU,Intel 4004 的结构图。正如中国古话所说:“千里之堤毁于蚁穴”。小小的蚁穴都能溃坝,何况。。。这次鹰酱用政策构建的堤坝上可不只是蚁穴,甚至可以说有不少裂缝,创可贴都贴不过来。说到这儿,可能有浅友要吐槽:“中哥你这不就是‘遥遥领先党’吗?”非也。情感毕竟虚幻,
事实才能通向答案。所以,今天的节目我带大家来参观一下 CPU 历史上的“溃坝事件”。大家看后,也许自有论断。我们就从大陆的另一端,烟雨蒙蒙的英国开始吧。
(二)小小的橡果&傲慢的巨头1978 年,那是一个春天。那一年,Intel 公司搞出了一个芯片,叫做“8086”。那一年,美国的铁子们开始口耳相传一个叫做“Apple II”的东西。一千多美元,就能拥有一个性能堪比“阿波罗登月计划”、设计骚骚的、界面屌屌的电脑,感觉相当膨胀。那一年,原本做计算器出身的俩老哥库里和豪瑟也看到了
“微型计算机”的机会,于是合伙在英国建立了一家芯片公司。公司名字非常狠,叫:CPU,它的全称是“剑桥处理器公司”。
Chris Curry & Hermann Hauser此时,赌狗们开始展现硬核实力了。一家专门做赌博机(水果机)的公司找到 CPU,问问他们能不能搞一个芯片,里面能跑程序的那种,帮助赌狗们更愉快地耍(shu)钱。库里他们砸吧嘴,赌博机。。。四舍五入也是微型计算机的一个分支吧。有钱不赚王八蛋。就这样,他们赚到了创业的第一桶金。
就是这种水果机搞定之后一抬头,这玩意儿也不难嘛。苹果能生产个人电脑整机,我们为毛不行??于是 CPU 公司赶紧注册了一个对标 Apple 的子公司,给新公司起名不靠风水大师,就靠自己硬凹,标准就是:在通讯录里一定要TMD排在苹果公司前面。所以这个公司必须以 A 开头,第二个字母还得在 p 之前。想来想去,他们选定了“Acorn”,也就是橡果,看上去比苹果命硬多了。话说,苹果当时已经很流行了,橡果怎么阻击呢?没错,靠的就是:
不是苹果买不起,而是橡果更有性价比!1980 年,橡果搞出了一款个人电脑,叫做原子(Atom)。
Atom 只是前面带键盘的盒子,显示器就直接用家里的电视。它用的 CPU 是 MOS 公司生产的 6502。看到这你可能快出戏了,我只听过 9527,没听过 6502 啊!嘿嘿,如果你没听过 6502,那你绝对欠它一张票钱。
因为大名鼎鼎的任天堂“红白机”(FC),用的正是这个芯片。
这是红白机的拆机图,红圈里就是 6502话说这个芯片当时很流行,Apple II 用的也是它。那原子电脑怎么竞争呢?好办,显卡简配,扩展插槽减少,各种基础功能都挤在一个电路板上。能省的地方全省了,再把价格直接定到苹果的三分之一。你就说香不香吧?
这是 Atom 里面电路板的样子。芯片排布是不是很密集?风口来了,猪想不上天都难。1980 年,英国 BBC 推出了一套教育节目,给大家科普一下计算机时代的浪潮要来了。结果这个节目太火了,观众们纷纷来电,请 BBC 推荐:我家娃想学电脑,该买啥?BBC 一看,这么好的机会,我自己攒一台电脑卖不就行了?这个活儿最终转包到了橡果电脑身上,廉价够用的原子电脑把一排键帽换成红色,就成了 BBC Micro 电脑,卖得相当火。
BBC Micro由此,橡果被英国人称为“英国版苹果”。要我说,这路线哪是英国版苹果,分明是英国版小米。。。这不,很快橡果就遇到了和小米一样的问题,界面过于朴实,价格过于亲民,冲不了高端。卖 10 台的利润还赶不上苹果、IBM 一台的零头。。。伤害来自对比。当时苹果刚推出 Apple Lisa,那叫一个美轮美奂,相比之下橡果的超级玛丽风就不能看了。
乔布斯和 Apple Lisa于是他们下决心设计新机型。搞来搞去,发现了问题的根源——红白机的那颗 6502 CPU 给不上力了。橡果找了一圈,觉得 Lisa 使用的摩托罗拉 68000 CPU 是又贵又难用,只有 Intel 的 x86 系列还勉强能打。不过橡果没打算直接买,而是想在 x86 CPU 的基础架构上自己做进一步的定制开发。于是 1983 年,橡果找到了 intel,直接问:“你们能不能把 CPU 的架构授权给我们用?”Intel 说:“玩儿蛋去!”其实。。。Intel 并没说这话,而是完全把橡果当空气。沉默是最大的蔑视。话说回来,塞翁失马焉知非福。如果 Intel 搭理了橡果,情况可能更糟。因为当时 Intel 答应了很多日本公司,授权他们用自己的 x86 架构生产芯片。结果。。。1984 年,美国通过了《半导体保护法》。然后 1986 年,Intel 80386 芯片上市前夜,他们直接翻脸,对日本公司“断供”,导致日本公司集体哑火,无法研制新处理器,只能购买 Intel 的。看吧,过河拆桥,筑大坝,卡脖子,那都是传统艺能了。总之,橡果和 Intel 的梁子算是结下了。但别急,未来 Intel 有足够的时间为当初的傲慢买单。
(三)恐龙和老鼠 橡果只好自力更生了。不过此时,他们设计过 CPU 的最高水平是——赌博机芯片。参与设计那款芯片的两位工程师 Roger Wilson 和 Steve Furber 心里没底,特意跑去 6502 的娘家,美国 MOS 公司参观了一下,回来时他们脸上挂满了自信的笑容。
Roger Wilson(左)和 Steve Furber(右)MOS 公司的 CPU 部门,唯有破烂办公室一间,攻城狮几只。。。啥高级设备也没有。这条件,我们也有啊!橡果决定像素级对标 MOS:找了一间谷仓,塞进去几个工程师开始了新 CPU 的研发。

老师傅们发现,要想设计 CPU,自己首先得搞清一个哲学问题:
恐龙和老鼠,谁更有生命力?
Intel 芯片的设计理念就是“恐龙”,它的基因里刻着各种复杂指令,像恐龙一样能打。但设计、制造成本更高,跑起来的能耗也高一些。6502 芯片的设计理念就是“老鼠”,它的基因里删掉了很多指令,只留下了比较简单的。正如老鼠,单位战斗力比较低,但设计、生产成本也低啊!要这么说的话,结论不是明摆着么?小行星撞地球后,恐龙都变成石油了,“老鼠们”却进化成了各种高级动物。选老鼠!

老师傅们博览当时的论文,找到了心仪的“老鼠原型”:来自伯克利大学的一个叫帕特森的老师主导的论文——
精简指令集,也叫 RISC(Reduced instruction set computer)。于是,他们
决定开发一款橡果 RISC 电脑芯片:Acorn RISC Machine,简称 ARM。没错,刚才你看到的这段往事,正是如今大名鼎鼎的 ARM 的诞生历史。
第一款 ARM 芯片话说 ARM 芯片的研发非常成功。而你懂的,如果剧情一直这么顺利,大事儿就要来了。从 1983 到 1987,研发新的芯片用了四年时间。这四年里,“气候”发生了翻天覆地的变化——趁橡果埋头自研的功夫,冒出了一堆“魅蓝”之类的竞争对手,他们复制了低价路线,而且更加价格实惠、感动人心。。。祸不单行,橡果电脑不仅价格优势荡然无存,还遭遇了供应链问题,有人买的时候供不上货,等供上货之后,人家早买了竞争对手的产品了。1985 年,橡果的仓库里积压了 25 万台电脑,股价狂跌到了23便士。有趣的是,这一年,同样走高端路线的苹果也遭遇了滑铁卢,差点儿破产,乔布斯都给董事会开除了。曾经风光无两的哥俩,转眼成了难兄难弟。后来,橡果一蹶不振,苹果慢慢缓过来。当时苹果觉得,既然电脑消费者不喜欢了,那来个“商务通”你们爱不爱?于是 1990 年,苹果准备攒个 PDA,名叫牛顿(Newton)。这玩意个头小,电池也小,带不起来大功耗的 CPU。苹果找来找去,发现只有 ARM CPU 比较符合要求,于是找到奄奄一息的橡果公司组建了合资公司,也就是 ARM 公司。
这就是 Newton,拿着它的是约翰·斯卡利,赶走乔布斯的那位老哥。当然,“牛顿”最后没卖出去多少,但 ARM 作为独苗,好歹是活下来了。
从此,江湖再无橡果,只剩 ARM。话说那一拨 IT 行业大洗牌,微软占了大便宜,它用 Windows 绑定了 Intel,也把后者送进了鼎盛时期。随后,CPU 世界像极了侏罗纪时代:
Intel 这只恐龙制霸世界,而 ARM 只能躲在恐龙脚下抱头鼠窜,靠支持一些小型或手持设备苟着。
ARM 的边缘地位,决定了它搞不了 Intel 那种垄断,只能选择一种“开放”的生存方式——向各个 CPU 厂商出卖架构的授权。
每一家都收一点儿钱,争取铺得广一些,东方不亮西方亮嘛!比如,当时德州仪器买了 ARM 授权,生产出芯片卖给诺基亚做手机;还有三星,也买了 ARM 芯片放进自家生产的 DVD 里。隐忍终有出头日。2007 年,回归苹果的乔布斯从兜里掏出 iPhone,ARM 凭借智能手机时代重返大众视野;2008 年,谷歌第一台 Android 手机 G1 发布,同样使用了高通基于 ARM 的处理器;2011 年, ARM 推出了服务器芯片架构,正式进军 Intel 的老巢——高性能计算;2020 年,苹果倒戈,把 Mac 电脑的芯片从 Intel 全部换成基于 ARM 的 M 芯片。至此,Intel 在所有战线上腹背受敌。

如今 Intel 架构能干的活儿,ARM 架构全能干,而且眼瞅着干得更好。
昔日在恐龙脚下躲藏的老鼠如今已经有制霸世界的王者气息。只是很多人不会记得,ARM 的第一个字母 A,仍旧背负着昔日橡果 Acorn 的旧梦与荣光;很多人也没有嗅到,ARM 的第二个字母 R,藏着下一个时代的锋利预言。不过在这里,我们首先回答那个问题:ARM 的王子复仇,Intel 的溃坝,
这其中到底有多少运气,又有多少必然呢?换句话说,如果把历史倒转,ARM 还有多大胜算逼退 Intel 呢?我们不如把 CPU 的盖子撬开,让里面的“葫芦娃”告诉我们答案。
(四)“指令集”——葫芦娃的巴别塔 打个比方。CPU 的盖子里,密密麻麻排着好多逻辑电路,他们就像不知疲倦的葫芦娃。他们的性格比较轴:
1、每种葫芦娃只会一种技能,不能变通。2、但只要交给他任务,他就使命必达,一定能完成。

根据每一款 CPU 的用途不同,包含的葫芦娃种类也不同。但是,总体上这些葫芦娃可以分为“胖娃”和“瘦娃”两种。所谓胖娃,他们的技能是“组合拳”。例如:A 胖娃每次接到命令,就炒一盘鱼香肉丝;B 胖娃每次接到命令,就炒一盘宫保鸡丁。

所谓瘦娃,他们的技能是“一拳超人”。例如:A 瘦娃每次接到命令,就切一刀,B 瘦娃每次接到命令,就翻一下铲子。

Intel CPU 里,既有瘦娃也有胖娃,所以叫做“复杂指令集”——CISC。

ARM CPU 里,只有瘦娃,没有胖娃,所以叫做“精简指令集”——RISC。

有人可能会疑惑:刚不是说 Intel 能干的事儿 ARM 全能干吗?ARM 没有胖娃怎么炒“鱼香肉丝”?很简单,一个胖娃做的事情,总能拆成 N 个瘦娃来做。这些瘦娃切墩,那些瘦娃颠勺,最后炒出来还是个“鱼香肉丝”。(我觉得这一点和冯·诺依曼的“元胞自动机”所暗示的生物学原理有一种隐秘联系)
瘦娃也能炒鱼香肉丝你可能看出来了,使用精简指令集,虽然葫芦娃干起活来比较直白,但是写程序的人类就费劲多了,还得把组合拳拆解成左手右手慢动作,工作量大大的。那,要“精简指令集”何用?在“葫芦娃”的世界里,有一个 BUG,那就是——“食材”没地方放。咱们假设,切一下肉需要 1 秒,但是从案板上拿起一块肉就需要 3 秒。这还没完,案板才有多大啊,只能摆得下几样菜。如果要切的菜案板上没有,就得去冰箱里取,这一来一回就需要 15 秒;这还没完,有些菜冰箱里也没存,得下楼去小卖部买,这么跑来跑去,少说也得 5 分钟;这还没完,有些菜小卖部也没有,得去远处的农贸市场买,一来一回就得 1 天。

最夸张的是,我真的没有在夸张:
其实这些“食材”,就是 CPU 执行计算时所需要的数据。
案板就是 CPU 的 L1 缓存,从这里取一次数据是执行一次计算耗时的 3 倍;
冰箱就是 L2 缓存,取数据是计算耗时的 15 倍;
小卖部就是计算机的内存,存取时间是计算耗时的 300 倍;
而农贸市场,就是计算机的 SSD 硬盘,存取是计算速度的上万倍。
哎,归根结底还是人类技术太糙,搞出的存储架构比计算架构运转慢得多,而且几十年过去了,二者差距不仅没有缩小,还越拉越大。
也就是说,CPU 在运行的时候,大部分时间不是在“做菜”,而是在“等人买菜”。有这个 BUG 存在,CISC(复杂指令集)的麻烦就来了。在 CISC 架构下,胖葫芦娃只能按部就班干活儿,先看到需要萝卜就让人去冰箱里拿萝卜,切完一看下一步需要木耳而冰箱里没有,才差人去超市买。这么一来,该耽误的时间全耽误了,不该耽误的时间也全耽误了↓↓↓
CISC 工作流程而 RISC(精简指令集)架构下,因为瘦葫芦娃是分工的,每个葫芦娃只做一个动作,所以他们都知道自己需要什么原材料,这样他们每个人都能配个案板+冰箱,提前备好食材。就算临时要去买食材,也能尽早差人去买,“不该耽误的时间”就能不耽误了↓↓↓

RISC 工作流程(这是个示意,没考虑步骤之间的依赖关系)
CISC 的计算过程更像寿司之神:“老师傅一人手搓”;RISC 的计算过程更像富士康:“流水线万人协作”!
结论来了:ARM 的胜利,本质上是工业大生产的胜利,是技术的胜利。哪怕重来一百次,ARM 都大概率能战胜 Intel。指令集就像是 CPU 的语言。语言是个双刃剑,它让同种同族之间的协作变得顺畅,也在不同种族之间建起高墙。如果一个程序是为 A 指令集的芯片开发的,哪怕 B 芯片的指令集哪怕只有微小的差异,程序运行过程中都可能遇到“缺娃”的状态,导致崩溃。所以,操着不同语言的芯片,没办法相互理解。这也是芯片界“巴别塔”的故事。

正因为有“巴别塔”,芯片之间的大坝才能建立。
当年 Intel 竖起高墙,不让 ARM 使用自己的指令集;而后来 ARM 同样竖起高墙,不让别人“免费”使用自己的指令集。
只不过 ARM 比较地道。它的墙矮了很多:为了在 Intel 这只恐龙的脚下生存, ARM 架构“给钱就卖”,要价确实不贵。当然这也造就了 ARM 市场占有率接近垄断,但利润常年不高,还被卖来卖去的可怜兮兮形象。。。
反过来,对于全球芯片制造商来说,这就非常划算了,毕竟自己研发芯片架构比购买授权要花费更多的人力物力。于是买卖双方都满意,一切相安无事。
Intel 的墙高,ARM 的墙矮直到历史的大河来了个180度大拐弯。美国开始了骚操作,放出十八道金牌,不允许 ARM 向中国出售它的先进架构设计。昔日的勇士,也(被逼)变成了恶龙。当时已经有很多中国芯片厂商正在基于 ARM 架构研发芯片,最著名的当然就是华为的海思半导体。
这么一来,“指令集”从本来给点钱就解决的小事儿,成了用钱解决不了的大事儿。那就只剩华山一条路了:让历史再轮回一遍,用 ARM 干掉 Intel 的姿势,再把 ARM 干掉。
这个战术翻译过来就是:用一种新的指令集来代替 ARM,而且,这种指令集的围墙要比 ARM 还低,最好低到——没有围墙,免费使用。啊。。。这样的指令集存在吗?太存在了。
(五)指令集想要自由 话分两头,咱们现在就拨转地球,回到那个热血奔流的黄金时代的美国。大卫·帕特森来自一个极为普通美国家庭,1960 年代,他成了全家第一个考上大学的人,可谓全村的希望。所以他的理想朴实无华——财务自由。为此,他报了加州大学洛杉矶分校的数学系,准备将来成为精算师,赚他个小目标先。可是他在大学里凑学分的时候,偶然上了一学期计算机课,然后热泪盈眶地顿悟:
财务自由算什么,搞机才是主要的!他的人生走上了不归路。
David Patterson1979 年,帕特森已经是加州大学伯克利分校的计算机教授。他被外派到 DEC 公司,改进他们 VAX 电脑的 VAX 处理器。又出现了新词,啥是 VAX 电脑?这么说吧,当时在个人电脑领域,不是苹果电脑风生水起嘛,在商用电脑领域,那 VAX 可谓呼风唤雨。我们在另一篇文章
《时代裂隙中的刺客》里,有提到 VAX 电脑的背景,大家可以去那儿了解。
VAX 11/780 计算机(1977)总之,帕特森到那儿一上手,直接惊呆。VAX 复杂指令集的“疗效”,实际上远没有广告里说的那么好。本来“胖娃”(复杂指令)的出现就是要降低芯片使用的复杂性,可是“胖娃”太多了,要想用好它们,还得搞个“爷爷”来管理他们,也就是额外编写一组调度程序,叫做“微代码”。

帕特森吐槽:为了“省事儿”又做了好多“费事儿”的事儿,你这不是闹么?这么说的话,反正都要写一堆代码调度,那我干脆用最简单的“瘦娃”来组成 CPU 的指令,会不会总体上更省事儿呢?回去之后,他四处拉赞助,竟然搞来了美国国防部高级研究计划局,也就是大名鼎鼎的 DARPA 的经费,投入精简指令集的研究。1981 年,第一个研究性质的 RISC 芯片被做出来了。

RISC 芯片仅仅用了 44420 个晶体管,32条指令,理论运行速度就超过了晶体管数量多一倍的 VAX。(当然实际速度没这么快,主要原因是制造工艺比较粗糙。)虽说这个芯片主要供研究,没装在任何商用计算机里,但它无疑做了一道证明题:
RISC 确实是可以比 CSIC 更快的。
第一代 RISC CPU 的晶体管电路图。这里故事就接上了,舞台追光转到了大西洋彼岸,橡果看到了 RISC 论文,迅速把它商业化,做出了 ARM。但在追光之外的加州大学,RISC 的故事可没有结束。我们把进度条直接向后拖,人影如蚁进退,漫长的故事里,终于有第一个中国人出场了。谭章熹是北京人,清华毕业后去加州大学做博士,成为了帕特森的关门弟子。
谭章熹和帕特森2009 年时,他负责带着同学们研究第五代 RISC,也就是 RISC-V。之所以要搞 RISC-V,是因为当时他们要做一个并行计算的研究,需要一款特殊的 CPU,市面上实在没有现成的,只好自己做。这就好像我想做个煎饼果子,但是买不到油条,我只好自己炸一根。。。你看,RISC-V 最开始真没啥野心,就是个“油条”。谭章熹要毕业了,直接把做了一半的 RISC 项目倒给了实验室的师弟安德鲁·沃特曼和李允燮(他是韩国人)。这哥俩一看,搓起了小手手,既然市面上流行的 CPU 都在吃“垄断饭”,那不如来点儿狠的,跟时任实验室的老师阿萨诺维奇一商量:
直接把 RISC-V 指令集免费开源出去,谁爱用谁用,肿么样?
从左到右:安德鲁·沃特曼、李允燮、阿萨诺维奇。你看到了没,在那一时刻,RISC-V 有意无意地复刻了 ARM 对 Intel 的方法,就是我们刚才提到的“把围墙变矮战术”。他们把这招做绝了,直接拆了围墙——都免费了,你还要啥自行车?说到这儿,我突然想起了当年周鸿祎用免费杀毒干翻一票收费杀毒软件的故事。“免费”这两个字的杀伤力有多大,有时连当事人都无法预料。。。在 2014 年,美国集成电路峰会上一个不起眼的角落,上演了科技史上经典的一幕。RISC-V 的主创班底列队整齐,摆了几张纸板,笑吟吟地给每个路人发他们的徽章,小小的徽章上却写着狂妄的口号:
指令集想要自由!(Instruction sets want to be free!)是啊,从 1971 年“指令集”的概念伴随着第一颗 CPU(Intel 4004)的出现,到 2014 年,已经过去了 43 年。漫长的浮沉,城头虽然变幻大王旗,可指令集这个“天子”一直被关在监牢里,以此要挟向每一个“诸侯”听任调遣。指令集想要自由。
这是当时的徽章多说一句,RISC-V 的自由,不是那种“既不要钱也不管你”的自由,而是那种
“不要钱还给你服务”的自由。
比如,它的指令集是像“乐高”一样的。不同的指令被打包在不同的“子指令集”中:
有能计算加减乘除的“整数计算”;有能计算小数的“浮点计算”;也有能计算图形的“向量计算”;也有能保证即使出现错误程序还能继续执行的“原子化计算”。
每个“子指令集”就像一块积木。你可以用几块积木,也可以用几十块积木,丰俭由人。你想要的 CPU 如果用不到某些指令,直接从芯片设计阶段就能“尅掉了”,保证芯片出炉后能以最佳的效率燃烧,一个葫芦娃都不浪费。

而且,这些积木还是不断改进样式的。例如,某种 AI 算法发展迅速,它用到的新指令也会被社区给“添油加醋”进去。你看,这正是开源的精神所在。如此说来,如果把 ARM 比作“老鼠”,那么 RISC-V 就更像“昆虫”,它们细小,奇形怪状,种类繁多,行动迅速,无孔不入。本来的无心之举,却踩中了电门,全世界的程序员蜂拥而至。RISC-V 团队这才开始认真起来。
2015 年,他们在美国成立了“RISC-V 基金会”,正经八百地推广这个“自由指令集”。从那一刻起,历史陡然加速。虽然此时谭章熹已经离开 RISC-V 队伍去创业了,但我
之所以特别强调他的贡献,是想告诉浅友们:这个有可能解放全世界指令集的架构,在一开始,就是有中国人的硬核智慧推动的。从各种角度看,我们在使用它的过程中,不仅不用有“白吃白拿”的愧疚,反而可以”适度骄傲“。说到这儿,我们终于能把地球仪转回来,看看我们脚下的这片土地,中国人绵延几十年的”CPU 焦虑“。
(六)“CPU 焦虑”和两道裂缝 你看这张图,右边是帕特森,左边这位老哥是约翰·轩尼诗。

1980 年他俩在一次学术会议上见面,马上私定终身成了一辈子的好基友。在当时的学界,翻遍各位大佬,只有他俩力挺精简指令集理念,总在学术会议上舌战群儒。不过他俩不在一个学校,常年两地分居,没办法合作同一个项目。1981 年,轩尼诗在自己的斯坦福大学独立创建了一个独立的精简指令集
MIPS(Microprocessor without Interlocked Pipelined Stages)。MIPS 可能有的浅友不熟悉,但我告诉你,1994 年索尼推出的 PlayStation 用的正是 MIPS 的芯片。好多美好的童年记忆可都是 MIPS 一帧一帧给你算出来的呀。是不是又欠一张票钱?
PlayStation而且 MIPS 和我们中国的缘分不止于此。在 2001 年时,有一群人把 MIPS 架构作为“援军”引入中国,他们就是中科院背景的龙芯。在当时,龙芯肩负的使命是四个字:自主可控。CPU 架构一旦确定,极难转向,所以龙芯创业时也面临当年橡果一样的烦恼,要非常谨慎地选择指令集。选谁呢?
以 Intel 的尿性,肯定不会给中国人自主可控的架构授权。它历史上就没给过,而且还过河拆桥实力坑过日本,不足与谋;当时 ARM 还前途未卜,蜗居在恐龙脚下的“功能机世界”,没有王者之气;只有 MIPS 最为优美简洁,人气蹿升也很快,四舍五入最符合中科院的要求。
你问为啥不用 RISC 指令集?因为那时候 RISC 早期版本都在学校的实验室里呢,没有开放给人用。。。这么说的话,龙芯不是来晚了,而是来早了。
龙芯的首款芯片:龙芯一号但命运不是电影,谁都没有主角光环,没人关心你的早晚。由于之前提到的“葫芦娃的巴别塔问题”,MIPS 和 x86 在操作系统和软件生态上都无法适配,独立发展生态困难重重。他们做出的 CPU 并未广泛商用,尤其没有打入民用市场,所以完全没有撼动 Intel 的地位。而且不久后,连 MIPS 自己也开始式微。

“CPU 焦虑”仍在那里,不同的人开始纷纷求索,几乎试遍了所有道路。正如大家所知道的,这些团队大多有高校、研究院等学术背景。例如海光和兆芯辗转拿到了 x86 架构的授权,尝试生产兼容 x86 的芯片;例如飞腾,后来拿到了 ARM 的授权,生产 ARM 芯片。虽然这些 CPU 都存在缺点、妥协和短板,但“有”和“没有”的区别是巨大的。很大程度上,它们缓解了中国人的“CPU 焦虑”;而他们所培养出来的老师傅,也成为了日后中国高性能计算芯片设计的中坚力量。就在大家埋头探索,泪眼婆娑苦闷至极时,
RISC-V 所代表的“自由指令集”思潮开始在中国萌动。这种震撼,不亚于“十月革命的一声炮响”。2014 年,伴随那次广场上“指令集想要自由”的呼喊,RISC-V 研究团队还放出了同名论文,那就是如今被奉为经典的《Instruction Sets Should Be Free: The Case For RISC-V》(《指令集应该自由:以 RISC-V 为例》)

加州大学的留学生钱学海马上决定把大洋彼岸的呐喊介绍给中国人。帕特森很重视,特地让谭章熹抽出时间来把关,所以这篇文章的中文翻译质量极高。钱学海把文章发给了中科院计算所的研究员包云岗。包云岗推荐到《中国计算机学会通讯》,在2015年2月发表。当时,这个文章没有引起什么轰动,但包云岗的内心却“轰动”了。他决心把生命奉献给这个自由指令集,成为了中国 RISC-V 布道的先驱。在他和很多中科院研究员的奔走呼号下,中国 CPU 的核心玩家都关注到了 RISC-V 的机会。现在回望,这些研究员们就是
“堤坝上的一条裂缝”。与其说历史选择了他们,不如说他们选择了历史。中国人的 CPU 焦虑和 RISC-V 的开源优势客观地摆在这里,强大的压强必然会让它向中国渗透。他们只是在正确的时间站在了正确的位置。
包云岗2019年,帕特森来到上海开会,给大家介绍 RISC-V。可很多人一听他的基金会总部在美国,马上皱眉:“谢谢,不敢用,算了吧。”帕特森说:“行,你们等着。”他可不是要报复谁,而是回家之后马上把 RISC-V 基金会的总部迁出美国,移到瑞士。而且,就在 ARM 被禁运一个月后,他“逆势”宣布和清华-伯克利深圳学院(TBSI)合作,建立了一个 RISC-V 国际开源实验室,也就是“RIOS 图灵实验室”。在刺骨寒风中,中国对于 RISC-V 的技术使用和学术交流畅通无阻,如爝火不熄。
你看,帕特森虽然是美国人,但他没有不加思考地就去“代表”美国的利益。作为一个科学家,他思考的是用什么方式可以推动全人类的进步。帕特森和 RISC-V 核心团队,成为了堤坝上的
“又一个裂缝”。同样,与其说历史选择了帕特森,不如说他选择了历史。“自由指令集”的思潮从2010年诞生,如果它没有顺应现实世界的利益博弈,又怎能顽强地长大?怎会在无数“CPU Guy”的心里生根发芽?正如和一位中国创业者交谈时,帕特森说的那样:
只要 RISC-V 生态能做起来,我们不在乎是谁做成这件事。
在伯克利大学,专门设立了一个纪念 RISC 发明的铜牌。(七)旧时代的黄昏和“赶夜路的人”当一个时代的基本幻想枯竭后,这个时代就被视为结束了。2018,我愿称之为“旧世界的最后一年”。那一年是乐观的。有大批学者把“逆全球化”视为短期阵痛,忍忍就过去了,接着奏乐接着舞。那一年是嘈杂的。很多投资人像甩扑克一样把钞票甩在 AI、网络安全、企业数字化等各个赛道;互联网大厂也判断云计算、AI、大数据带来的技术红利会像一剂猛药,把中国经济顶上新台阶。
于是他们冒险杀入传统行业,以至于选择性地忽略成本控制。历史证明,没有谁的野心能超过时代的承载,大多努力并不会被命运奖赏。然而,有少数例外。2018 年,阿里巴巴宣布进军 IoT 赛道,同时收购中天微,重组为“平头哥半导体”,开始 RISC-V 架构芯片的研发。第二年,他们拿出了一款性能非常高的,基于 RISC-V 的芯片设计,玄铁 C910。
平头哥发布玄铁 C910现在回望,这是 RISC-V 在中国的第一声惊雷。之后不久,世界隐隐的疼痛突然变成了公开的撕裂。
人们脑海中被陡然刻下钢印:中国人要想造自己的芯片,“自由指令集”哪怕不是唯一的出路,也是最有希望的一条出路。
你可以说是“先见之明”,也可以说是“歪打正着”。反正这时,在 RISC-V 上先走一步的阿里手里已经有东西了。不过当时 RISC-V 的 CPU 主要用在 IoT 设备里,人们普遍不觉得它能放在“高性能计算”场景(也就是通常所说的电脑或者服务器)里。举几个🌰,玄铁的用户们,有人做工业控制芯片,有人做汽车控制器,有人做5G基带,有人做存储控制器,有人做网络安全设备。
全志科技基于玄铁架构做的 CPU D1 的开发板——哪吒普通人基本不想花精力去了解这些芯片。它们没有华丽的故事,甚至长得灰头土脸。但
这些芯片的总数极大,遍布赛博世界的每一个角落。日复一日,如昆虫般通过简单的工作换取简单的生存。这些芯片本来用的指令集五花八门,也没人特别在意。但美国禁令推出后,大家脑袋里的那根弦都被拨动了。很多厂家主动去询问,能不能把下一代产品里的芯片替换为 RISC-V 架构,不仅降低成本,也及早规避风险。给你看个数据感受下:
到 2021 年底时,全球 RISC-V 指令集的芯片累积卖出了100亿片。要知道,ARM 从 0 到 100 亿用了 15 年,RISC-V 只用了 7 年。而在 100 亿片中,基于玄铁的就有25亿颗,占到了四分之一。
但是,如果虫子一直是虫子,即便数量再多,也一直会在生态的底部,和“性感”没一毛钱关系。要打破“CPU 焦虑”,RISC-V 终究要去承担更重的“高性能计算”任务!难度在哪呢?两个字:
生态。大家普遍认同,如果 RISC-V 芯片想进入高端生态,就得摸着 ARM 过河:
先进手机,再进服务器,再进桌面电脑(PC)。这条路想走通,必须得到这些平台的主流操作系统适配。所以,第一步要突破的就是:让原本只跟 ARM 玩儿的 Android 也能支持 RISC-V。之前我和平头哥的同事聊天,他们提到一段“单恋”往事:2020 年,为了推动 Android 兼容 RISC-V,团队追着谷歌屁股后面大献殷勤,但对方表现冷淡。

谷歌高冷也是有原因的。毕竟,有姐妹受过“情伤”。在 90 年代,微软看 MIPS 势头正劲,于是主动花很大力气让 Windows 适配了 MIPS,然后,就没有然后了。谷歌可不想再当冤种。。。有趣的是,时代不同了,Android 和 Windows 也不一样——
Android 的代码本身就是开源的。也就是说,理论上平头哥的老师傅不需要本家许可,就可以根据它的代码写出”野生“的适配程序。正所谓,我喜欢你,跟你有什么关系?正所谓,山不过来,我就过去!那两年,无数顶尖程序员用巨大的热情和心力,写出累计十多万行的代码补丁,就这样源源不断地发布出来,不问收获,无问西东。
这是 Android 10 跑在玄铁芯片上。在一个不被官方承认的地方下这么大的功夫是一种赌博。像极了痴情男子每天都送女孩一车花,连吃瓜群众都觉得他脑袋秀逗。但这样的”痴情“,也只是因为三个字——不甘心!大量的“野生补丁”持续放出来,谷歌终于看到了社区的诚意。况且美国持续加码芯片管控,RISC-V 热度空前,谷歌心里也打鼓,要是再端着,后面别高攀不起,决定紧急投入重兵。2022 年 12 月,在 Android 12 上开始原生适配 RISC-V。历史再次踩下了加速踏板,系统之王“Linux”开始跟进。Debian、 Fedora 这种老牌社区的 Linux 系统开始支持 RISC-V,中国的开源云上操作系统 openEuler 和 OpenAnolis 也陆续支持了 RISC-V,Ubuntu 和 openKylin 这样倾向于个人场景的 Linux 版本也支持了 RISC-V。2021 年,达摩院宣布把“玄铁架构”主要的 CPU 家族开源,所有人都可以做一个和玄铁 C910 一样的 CPU,而不用给阿里付费。同样是 2021 年,RISC-V 最早的布道者包云岗也宣布,带领中科院大学的团队推出开源的 RISC-V 处理器架构“香山”,同样可以免费使用。与此同时,华为、腾讯、小米、百度等等大厂也分别宣布支持 RISC-V 生态,一众创业公司也 All in 在 RISC-V 生态上。2023 年 8 月,中国电子工业标准化技术协会牵头组建了“RISC-V 工委会”,把大大小小各路玩家
都集结起来,开始严肃地制定产业标准、保护知识产权保护,培养人才。虽然 RISC-V 在中国的生态结构刚刚成型,但是
“RISC-V 大有希望”的信念却在人们心中越烙越深。人们没时间等待瓜熟蒂落,必须尽快尝试向高性能计算的两座高峰——
服务器和桌面电脑——发起冲锋。
(八)庶民的胜利 时间终于来到了 2024,给你介绍一个新朋友:
如意 Book。看上去,这是一个平平无奇的笔记本,但显然不是,它是一个
“透明笔记本”。它的芯片是阿里的玄铁 C910,操作系统是华为的 OpenEuler,最上面能跑 LibreOffice 这种开源软件。也就是说,从下到上,关键部位的代码都是可见的,这样一台完整开源的电脑,在人类科技史上是首次出现。如意 BOOK 是中科院软件所和达摩院合作造出来的,它可不仅仅是能点亮这么简单,它还配备了 GPU、VPU、TEE 可信计算模块等等,也就是说,现在顶尖电脑的能力它都俱全。

这台电脑当然。。。不会有什么销量,但它的意义并不在于销量。它标志着开源软硬件的
“全链路跑通”。
有了这个“链路”,七国八制的工具软件、操作系统,还有千万程序员就能附着在上面,寻找自己的位置,成为 RISC-V 指令集自由路上的一块砖石。2024 年,达摩院顺势推动成立了一个“无剑联盟”。看看联盟的首批参加者,会发现不少玄机。
Arteris 做的是 SoC 芯片里的数据互联技术;Imagination 做的是 GPU 设计;新思科技是顶尖的芯片设计仿真(EDA)软件开发商;芯昇科技是中国移动旗下的物联网芯片生产商;电信研究院是做通讯技术和数据中心的。
注意,这里面 Arteris 和新思科技提供的都是芯片工业中有可能“卡脖子”的关键工具技术!他们的全力支持,不仅意味着设计出一个 RISC-V 的 CPU 的成本和时间将大幅下降,
也暗示着 RISC-V 芯片设计全链路目前是完全通畅的。(这条路会不会一直通畅,会以什么方式“不通畅”,有什么办法应对,那是未来的问题,但重要的是,现在是完全通畅的!)
新思科技的 EDA 界面所以,在这个时间点上,已经有很多先行者决定趁着晨光熹微赶紧出发。例如比特大陆詹克团创办的算能科技,字节跳动前 RISC 负责人卢山创办的蓝芯算力。甚至还有个有趣的骚操作,平头哥把自己玄铁芯片的负责人孟建熠也给“推”了出去,独立创办了知合计算。这些大佬的目标基本相同:
把 RISC-V 架构用在服务器里的高性能 CPU 上,尝试有朝一日对 Intel 和 ARM 进行替代。历史再次快进,有些公司的芯片已经开始交付。比如算能科技,它的 RISC-V 服务器 CPU SG2042 已经获得了第一批客户,这些客户来自运营商和高校。公开信息显示,山东大学已采购了 1024 片算能 CPU 用于仿真计算。虽然人们都知道 RISC-V 架构的服务器 CPU早晚会出现,但当这枚芯片真实呈现在眼前时,仍让人心潮澎湃。它就像乌云缝隙里洒下的一道光芒。
SG2042在无数 RISC-V CPU 被制造出来的同时,还有一个更闪耀的机会出现,那就是——
RISC-V 可以做出“AI 芯片”。你可能会说:AI 芯片和 CPU 的架构不同啊!为啥 CPU 的指令集能做 AI 芯片?不要忘了,RISC-V 指令集是“乐高积木”,它可以根据需要删减指令集,如果要做 AI 芯片,只要把指令集限制在 AI 芯片所需的范围内就好了!达摩院 RISC-V 团队的技术专家李春强说,他们这帮老师傅们都认为 RISC-V 就是为 AI 而生的架构,正在编写一个名叫
“Matrix”的指令集模块,专门用来做 RISC-V 的 AI 计算。你可能还不太能想象这是一种什么芯片,我给你举两个例子吧:
1、现在很多厂商都想把大模型装进手机里,可是运转一个大模型要耗费很大的算力。它们需要一个非常高效的专用 AI 芯片来跑这个模型——RISC-V 就是绝佳的候选人。2、在汽车的自动驾驶系统里,需要 AI 芯片来分析路况,做出驾驶决策。现在这些芯片的主要玩家是英伟达和高通,但 RISC-V 同样可以胜任,而且可能更适合。
这并非空谈,已经有先驱把这种 AI 芯片做出来了:华米推出的“黄山 2S”芯片,就是放在手表里的 AI 芯片,可以加速 UI 动效,也可以精准识别“房颤”之类的身体指标异常;嘉楠科技推出的“K230”芯片,可以放在机器人体内,作为它的“视神经”。
“黄山2S”芯片发布这昭示了某种凶猛的未来。2017 年,帕特森和轩尼诗因为对 RISC 和计算机体系架构的贡献而获得图灵奖,共同成为计算机历史上不可磨灭的一座纪念碑。在他们的获奖演讲上,两位年逾古稀的计算机老炮儿大声疾呼:
未来的战场根本不在“芯片”,而在“计算”。他们的意思是:1、现有的芯片、编译器、编程语言和软件组成的“计算框架”是在长期发展中演化出来的结果,各层虽然能协作,但最多算“凑合过日子”,主要表现就是——
计算效率极其低下。2、
摩尔定律已经失效,在现有框架下,做出再好的 RISC-V 芯片也只能把最终计算效率提升一点;3、如果能做出从“芯片架构”到“编译器”到“编程语言”到“编程规范”的
统一垂直架构,则可以把现有计算效率提升几万倍。
而想象中的“新计算”,只有 RISC-V 这种“自由指令集”才能支持。如此说来,你我正在见证的,也许不是指令集的“改朝换代+1”,而是人类历史中一场前所未见的“计算黎明”。

回到我们的主题。如果仅仅聚焦历史局部,你会发现诸多“反差”:
帕特森和轩尼诗两位大佬身为美国科学院院士,却在不同时期帮助中国走过芯片进步的关键一跳;RISC 架构最初研究,靠的是美国国防部的预算,它如今却成为了中国突破技术封锁的有力武器。
为什么?我再次提醒你:不要“活在当下”。顺历史长河漂流下来,结论再明显不过:
技术的发展从来与国界无关。
如果有人非要在国境线上用精心建立起来的堤坝来阻挡技术的流动,那么可以想见,它的崩溃可能在一瞬间。恐龙轰然倒下,身体渐渐冷去;但整个地球的生命,正在蓬勃。指令集的自由,正如庶民的胜利。
参考文献:《Instruction Sets Should Be Free: The Case For RISC-V》《指令集应该自由:以 RISC-V 为例》https://people.eecs.berkeley.edu/~krste/papers/EECS-2014-146.pdfJohn Hennessy and David Patterson 2017 ACM A.M. Turing Award Lecture约翰·轩尼诗和大卫·帕特森 2017 年图灵奖演讲https://www.youtube.com/watch?v=3LVeEjsn8Ts往期推荐:👉
时代裂隙中的刺客👉
阿里云为什么要进军 IoT?👉
阿里云的这群疯子👉
14亿人的战争:中国人用了30年望见计算力的珠峰![]()
一片桐叶