RISC-V:一個備胎的努力和宿命

2019年7月,阿里巴巴旗下半導體公司平頭哥正式發佈玄鐵910,打出“業內最強RISC-V處理器之一”的口號,號稱性能比肩Arm v8架構Cortex A7X系列。

圍觀羣衆一面沸騰叫好,一面互相打聽:RISC-V是啥?

CPU本質是一塊集中了不同功能電路的芯片,要使用這些功能電路,CPU需要調用對應的指令——也就是由0、1組成的二進制數。而用來規定指令格式的東西就叫做指令集架構(一般簡稱爲架構),不同的架構反映了設計者對同一功能的不同實現思路,RISC-V就是全球前三大指令集架構。

不過這個“全球前三大”可謂水分十足。另外兩大指令集中,由英特爾主導的x86架構應用於絕大部分PC和服務器;英國公司Arm的Arm架構則用於全球99%以上的智能手機。

相比之下,RISC-V雖然排名上緊隨其後,但實際的份額還不到前兩者的零頭。

而這三種架構,又分別代表了三種經營模式:

x86架構由英特爾和AMD牢牢掌握話語權,其他芯片公司想用也用不了;

Arm架構雖然由Arm公司所有,但授權開放,需要花錢購買;

RISC-V最特殊,不屬於任何機構或國家,開源免費,想用就用,運營成本全靠基金會的兄弟們幫襯。

在這個語境下,RISC-V之於2019年的中國公司的意義就不難理解。

當時,國內半導體產業初嘗制裁大棒,RISC-V基金會恰好又將總部從美國遷至中立國瑞士,原因是“擔心可能出現的地緣政治破壞”,其免費開源的特點,意味着沒有人可以以“國家安全”爲託詞,限制他人使用RISC-V。

RISC-V成立之初,基金會的中方成員只有阿里巴巴、華爲和中科院計算所,到了2022年中,基金會19個高級會員裡,中國大陸芯片企業佔據12個席位。

春風亦如邊鼓,催促着RISC-V備胎轉正。然而四年過去,RISC-V似乎依然沒走出備胎的困境。

合格的備胎

三大指令集中,x86爲複雜指令集架構(CISC),Arm和RISC-V爲精簡指令集架構(RISC)。兩者的區別顧名思義:

CISC儘可能將任務一次性做完,高效但費腦(性能高、功耗大),RISC則是將任務拆解,分次做完,雖然對個人能力要求不高(性能低、功耗小),代價是效率更低。

1985年,英國公司艾康電腦開發出Arm架構,恰逢蘋果自研芯片,雙方一拍即合,Arm公司由此誕生。沒想到熬了快20年,直到憑藉iPhone的A系列芯片橫空出世,Arm架構纔在移動處理器市場熬出了頭。

RISC-V的發展更爲曲折。RISC架構由圖靈獎得主、當前谷歌TPU團隊負責人David Patterson在1971年發明,隨後經歷了RISC-I到RISC-IV四代,卻始終未能得到重視。

David Patterson(左),1981年

2010年,加州大學伯克利分校Krste Asanović教授決定開發一個開放原始代碼的電腦系統,x86不在考慮範圍內,Arm費用太高,於是便找來David Patterson,RISC-V由此誕生。

“開源”、“可修改”,幾乎可以概括RISC-V本質上與Arm的區別:

如果以武俠小說中的“功法”來比喻芯片架構,Arm是武林秘籍,外人可以花錢看,但不能隨便改;RISC-V可能只是某個武林高手的練功心得,可供各路好漢不斷修訂。

可修改的好處在過去一直很難體現,但隨着軟件定義產品的時代到來,根據軟件定製芯片的需求越發旺盛,尤其是物聯網和汽車領域,芯片架構的靈活性,可以幫助終端廠商平衡性能和成本。

不過更現實的意義是,由於RISC-V開源免費,也不掛靠在任何機構下,從根本上杜絕了“卡脖子”的可能性。2015年,伯克利團隊宣佈成立RISC-V基金會,把中立的宗旨擺在了檯面上。RISC-V由此成爲了擔憂“架構霸權”的開發者的隱藏備胎。

2019年前後,美國製裁大棒襲來,RISC-V的“備胎”地位迅速凸顯。除了前文的平頭哥,小米供應鏈的華米科技、華爲海思等公司,都有基於RISC-V架構的芯片產品,一時間,RISC-V在中國風頭無兩。

而且,打着RISC-V“備胎”主意的,並不只是中國芯片公司。

Arm不是“活菩薩”

2022年8月,Arm一紙訴訟把大客戶高通告上法庭,導火索是高通剛剛收購的Nuvia。後者由蘋果和谷歌的芯片工程師組建,獲得Arm授權後開發了一系列高性能CPU內核,被高通相中。

根據高通原本的計劃,這一年年末將推出基於Nuvia技術的定製CPU內核“Oryon”,用於更高性能的驍龍SoC平臺中,在PC市場對抗蘋果M系列。

但Arm不幹了,聲稱高通採用Nuvia基於Arm授權(於2022年3月停止授權)的技術侵犯自己的利益,要求高通要麼銷燬芯片,要麼給予經濟補償。

Arm授權協議分爲兩種:第一種是技術許可協議(TLA),客戶購買Arm的IP,可做部分修改,典型代表就是高通的驍龍系列;

第二種是架構許可協議(ALA),客戶購買Arm指令集架構,在此基礎上開發IP及處理器內核,典型代表是蘋果,矛盾中心的Nuvia也屬此類。

這場糾紛的核心矛盾在於:被收購前的Nuvia已經與Arm簽訂了ALA,並基於Arm架構開發了IP。高通認爲,自己與Arm已經簽訂的TLA,有權力直接使用Nuvia的IP,Arm卻認爲高通需事先取得自己的同意(再交錢),或者直接再付一筆費用。

這件事情在一定程度上暴露了Arm的脆弱性:雖然貴爲移動終端的基礎設施,卻沒有對應的“徵稅權”。

芯片架構的地位更多來自“生態”:即有多少下游客戶願意採用這種架構設計芯片。

x86的成功就來自於英特爾對兼容性的堅持。上世紀80年代,東京大學教授阪村健以日本政府IT顧問的身份,提出了一個雄心勃勃的TRON計劃,意在建立一個日本版的CPU+操作系統生態。但不同於英特爾的兼容路線,阪村健認爲英特爾爲了兼容性犧牲了CPU的性能,應該從零開始開發架構、搭建生態。

顯然,英特爾的路線笑到了最後。和TRON一樣,IBM的Power架構也選擇了犧牲兼容追求性能的思路,同樣敗給了英特爾。

Intel CEO歐德寧向喬布斯交付硅片,2006年

“生態”的壁壘在於“雙邊規模效應”:以Arm爲例,採用Arm架構的芯片越多,圍繞在Arm架構的軟件開發者和用戶也就越多,反過來新的芯片公司和開發者也就更傾向於Arm架構。

舉一個類似的例子:如果美團的用戶越多,那麼商戶就更傾向於入駐美團;而商戶變多後,用戶也就越傾向於使用美團。但有一個關鍵前提——美團的配送費和佣金維持在合理的區間。

而且,美團的客戶大部分是中小型商家,而Arm的客戶都是有錢有勢的芯片巨頭。

歸根結底,Arm架構更像是芯片公司投票選出來的代表,一旦Arm坐地起價或搶生意(他們已經在這麼做了),芯片公司就有動力投票選個新代表。

與Arm同樣依賴“生態”的是android系統和英偉達的CUDA,前者是開源的,後者理論上也是免費的,只是與英偉達的GPU綁定。這個時候,RISC-V免費開源的好處就體現出來了。

RISC-V,再次獲選

如今的RISC-V基金會可謂羣星雲集,除了在社區時期就已入局的谷歌、IBM等,現在還有英偉達、美光、恩智浦、西部數據,加上受Arm“迫害”最嚴重的高通,芯片設計公司轉投RISC-V的意願肉眼可見。

RISC-V基金會成員;圖片來源:Semiwiki

最近,高通聯手恩智浦、英飛凌等多家汽車芯片巨頭在德國成立公司,目標是推廣RISC-V架構芯片,首個目標是汽車芯片,然後業務範圍將逐漸擴大到移動和物聯網領域。

另一個被認爲很可能決定了RISC-V發展走向的入局者是傳奇人物Jim Keller。

作爲硅谷一段活着的傳說,Jim Keller在90年代末主持了AMD Athlon系列處理器的研發,憑藉一己之力讓AMD和英特爾平起平坐,一度使得英特爾放棄了4GHz奔騰4的開發計劃。

跳槽到蘋果後(PA半導體,2008年被蘋果收購),Jim Keller又打造了A系列處理器的開山之作A4。後來Jim Keller重回AMD,領導開發Zen架構處理器成功逆襲英特爾。

2020年,跳槽積極分子Jim Keller從英特爾畢業,可能是硅谷大公司能待的都待過了,Jim Keller轉頭加入了一家名不見經傳的加拿大初創企業Tenstorrent。

這家公司主要生產採用RISC-V架構的AI芯片,Jim Keller以CTO的身份入職,三年後轉爲CEO——這是他職業生涯第一次擔任CEO。

Jim Keller的入局給RISC-V的備胎轉正之路增添了不少底氣,但另一家公司的前車之鑑告訴我們,備胎上位沒那麼簡單。

MIPS的教訓

在RISC-V出現前,Arm的最大對手是MIPS。

MIPS與Arm、RISC-V溯本同源,均爲上文提及的RISC架構,也都誕生在PC開始普及的80年代。英國愛康公司着手研發Arm架構同時,斯坦福大學前校長John LeRoy Hennessy與他的團隊一起創立了MIPS,雙方均在1985年推出了各自的第一代架構。

當愛康依靠唯一的蘋果訂單惶惶度日時,MIPS已初嘗商業化果實,1988年推出的第三款產品R3000銷售過億,並藉由索尼PlayStation打入遊戲機市場。隨後又發佈了首款64位處理器R4000,進入服務器和超級計算機市場,成爲x86頭號威脅。

John Hennessy(中)檢查MIPS R2000的佈局,1986年

然而,MIPS此後卻一直走下坡路,控制權在二十多年間多次易手。2018年,從Imagenation手中收購了MIPS的Wave Computing取消授權費用,效仿RISC-V將MIPS架構完全免費開源,也難挽頹勢。最後Wave Computing宣佈終止開發,加入RISC-V基金會。

MIPS和Arm都有IP授權和架構授權兩種授權模式,但雙方的思路差別很大:

Arm傾向於客戶在不改動架構的情況下、直接採用IP搭建芯片,MIPS則鼓勵客戶做架構創新。

MIPS的理念看似給了開發者最大程度的自由,卻無形中墊高了芯片設計的門檻。

如果把芯片設計比作搭積木,Arm的方案是做好各種各樣的零件讓消費者自行拼裝;MIPS的方案則是直接給消費者各種各樣的木頭,讓他們自己設計零件,難度可想而知。

此外,架構的確定,相當於給硬件、軟件確立了一個通用的規則,遵循這個規則設計出來的芯片、操作系統、軟件等,可以排列組合,最多做一些接口的改動,便可相互適配。

而MIPS鼓勵架構授權,支持客戶添加、修改指令,實際上便是對通用規則(標準化)一定程度的放棄,造成“碎片化”,也就是產業鏈各環節各自爲政,無法“共同富裕”。一個架構往往改來改去變成了忒修斯之船,生態就更難建設。

MIPS和RISC-V都屬於開源架構,RISC-V還是免費的。雖然開發者准入門檻降低了,但這反而可能導致更嚴重的指令集架構碎片化。

因此,RISC-V陣營的支持者們,也一直試圖在定製化和標準化之間做平衡:

一種思路,是將“無限的自由”轉變爲“有限的自由”:

比如提出指令集修改規範,這種規範需要最大程度地考慮軟件的兼容性,並鼓勵硬件開發者對指令的修改按照這種規範進行,以此解決架構開源帶來的軟、硬件不兼容問題。

一個典型的例子是阿里平頭哥玄鐵C908,就通過了RISC-V根據其指令集修改規範設置的兼容性測試,這意味着大部分第三方軟件開發者都不需要擔心軟件不適配的問題。

另一種思路,是完善基礎指令集,使得開發者無需再進行增添修改:

比如RISC-V會在開發者社區對實現某一種功能的指令熱情度很高,那麼基金會就會考慮將在基礎的指令集架構中增添這種指令的標準版,開發者便不需要各自添補指令了。

目前,在RISC-V基金會以及巨頭成員們的有意引導下,兩種思路都已經開始實施,但道阻且長。

參考資料

[1] Why RISC-V Is Succeding,Semiengineering

[2] RISC-V grows open source processor membership 130% in 2021,VentureBeat

[3] 指令集、架構、處理器、內核,芯片之間的關係,CSDN

[4] 都是精簡指令集,RISC-V拿什麼挑戰ARM?與非網

[5] RISC-V vs. ARM vs. x86 – What’s the difference?Microcontrollertips

[6] MIPS已死,轉身投靠RISC-V,CSDN

[7] RISC-V詞條,維基百科

[8] MIPS詞條,維基百科

編輯:李墨天

視覺設計:疏睿

責任編輯:李墨天