當前位置: 華文世界 > 財經

CPU 的「庶民的勝利」

2024-05-07財經

文|史中

CPU 的「庶民的勝利」

文 | 史中

(一)堤壩上的裂縫

人們總說要「活在當下」。

但好多煩惱恰恰來自人們太活在「當下」了。

就拿芯片「卡脖子」這件事來說,很多人的第一反應是——中國脖子已經被卡了好久,都卡禿嚕皮了。

但看看以下時間點:

2022 年 10 月,美國宣布對中國先進計算芯片的出口管制。距今 1.5 年。

2020 年 3 月,美國宣布禁止台積電為華為代工。距今 4 年。

2018 年 10 月,美國宣布對福建晉華實施制裁,這已是美國對華芯片壓制的起點,距今 5.5 年。

這段時間,實際上比很多人的感覺更短。也許只是痛苦才讓它顯得漫長,這就是「相對論」吧。。。

有人可能會想:「雖說開始沒多久,但不知道什麽時候才能擺脫制裁啊!大的還沒來,豈不是更讓人灼菊?」

要我說,擺脫在芯片上的困局,絕不會難到「家祭無忘告乃翁」的程度!

「理解當下」的最好辦法是「活進歷史」 。

你看,1971 年現代 CPU 才誕生,創造 CPU 的那一代人也還世。而在 50 多年的歷史中,CPU 江湖已經改朝換代不知幾何。

君不見,每一代霸主都期待構建起雄偉的大壩,把技術之水圍住,可誰又成功了呢?

世界上第一個 CPU,Intel 4004 的結構圖。 世界上第一個 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 Patterson

1979 年,帕特森已經是加州大學柏克萊分校的電腦教授。他被外派到 DEC 公司,改進他們 VAX 電腦的 VAX 處理器。

又出現了新詞,啥是 VAX 電腦?

這麽說吧,當時在個人電腦領域,不是蘋果電腦風生水起嘛,在商用電腦領域,那 VAX 可謂呼風喚雨。

我們在另一篇文章 【時代裂隙中的刺客】 裏,有提到 VAX 電腦的背景,大家可以去那兒了解。

VAX 11/780 電腦(1977) 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.pdf

John Hennessy and David Patterson 2017 ACM A.M. Turing Award Lecture

約翰·軒尼詩和大衛·帕特森 2017 年圖靈獎演講

https://www.youtube.com/watch?v=3LVeEjsn8Ts

再自我介紹一下吧。我叫 史中 ,是一個傾心故事的科技記者。 我的日常是和各路大神聊天, 歡迎和我做朋友。