RISC-V 能否超越 x86、Arm,成為下一代計算系統根技術的關鍵?

【CSDN 編者按】根技術,近年來頻繁被提及的一個詞語,也是當前國產作業系統、資料庫等基礎軟體,以及晶片領域被寄予厚望的一個重點發力方向。構建技術樹,只有根深才能葉茂,本固方有枝榮。然而,說起來容易做起來難,基於頗為嚴峻的「缺芯」困境,我們究竟該如何破局?在主流的 x86 和 Arm 賽道上,RISC-V 能否走出屬於自己的第三條道路?

在 2022 長沙·中國 1024 程式設計師節大會的《算力和晶片的挑戰與突破》主題論壇上,我們邀請到了從學術圈走入產業界,在晶片領域耕耘多年,曾任職浙江大學、杭州中天微系統有限公司、阿里巴巴平頭哥半導體有限公司,前玄鐵處理器核的主要研發負責人,現為進迭時空創始人兼 CEO 的陳志堅博士,剖析當前國產晶片的現狀,分享其構建晶片根技術的心路歷程,探索以 RISC-V 為核心的中國 CPU 發展路徑。

直播回放:https://live.csdn.net/room/csdnlive2/Hed0PPek

整理 | 小雨青年 責編 | 屠敏

以下為陳志堅博士的演講全文:

陳志堅 進迭時空創始人兼 CEO

陳志堅 進迭時空創始人兼 CEO

根技術是什麼?

根技術是什麼?

所謂根技術,顧名思義,就是所有技術的根,其他的技術都是基於這些根技術而逐步生長出來的。以最常用的智慧手機為例,我們日常接觸到的往往是智慧手機的外機,包括界面和 App 軟體。在智慧手機計算系統裡,根技術包括計算晶片、作業系統等。

近幾年,根技術開始被眾人了解並熟知。以現代資訊社會而言,根技術包括:

  • 架構、晶片與計算系統,這是資訊技術的硬體之根;

  • 作業系統和軟體,這是資訊技術的軟體之根。

除了硬體和軟體之根之外,還有非常重要的晶片製造,它是硬體之根的根。放眼全球晶片製造領域,主流的市場主要被國外的公司所持有,包括三星、英特爾、GlobalFoundries ,而國內主要是中芯國際(SMIC)為代表 。

另外,開源體系打造了牢固且非常重要的根基組織,它是未來主流的孕育技術、產生技術和產生產品的一種方式。過去很多人容易認為開源技術是會被全球所共享的,但如今看來,實際並不然。開源技術從產出途徑上來看,確實是全球開發者共建的技術成果。但是,以程式碼為例,它存放的伺服器以及運營這些開源技術的基金會是有地域限制的,而因為地域、政治等因素,開源也存在一定的侷限性。

從類別上,智慧手機、PC 機、平板電腦、雲端運算的底座和雲伺服器都屬於計算系統。進一步細分下來,計算系統的根技術主要包括:

  • 指令集,計算晶片作業系統資料庫最底層的是指令集;

  • 基於指令集之上的是計算晶片;

  • 作業系統,遮蔽了計算晶片的硬體差異化,留給軟體開發的一套接口或標準;

  • 資料庫,用於雲端運算領域的大型軟體。

國內市場中,無論是指令集、計算晶片、作業系統,還是資料庫,主流的市場一定程度上依然被外企持有。從計算系統的角度來說,指令集是計算系統根技術裡面的根。中國是世界上最大的算力消費國,但是卻不是世界上的算力生產國。究其原因是指令集目前被國外所把控。

指令系統的演變

指令系統的演變

縱觀計算系統的發展歷史,有出現過很多的指令集,比如貝克的 Alpha 架構、後來的英特爾的 x86 架構,再到後來的 Sandy Bridge 架構、 MIPS 架構、 Power 架構等等。不過隨著時代的演進,絕大多數的架構都逐步放到了歷史的博物館裡。

當今我們接觸比較多的是 x86 架構以及 ARM 架構。x86 架構是全封閉的指令架構,被英特爾和 AMD 公司所享有。

ARM 架構是一個半封閉的架構,它採取了跟英特爾不一樣的商業模式。英特爾的商業模式是公司持有架構,基於架構開發晶片去賣晶片。而 ARM 架構是公司研發架構,基於架構來開發處理器核,然後把處理器核賣給晶片公司,晶片公司集成處理器核,再賣到客戶手裡。相比 x86 的商業模式,ARM 的商業模式更有利於幫助它聚集盟友。ARM 架構誕生於上世紀的 80 年代末到 90 年代初,當時的 ARM 架構相比 x86 架構來說,無論是指令集的能力還是性能都遠不足 x86 架構,但這並不妨礙 ARM 架構逐步地完善,並完成算力佔比的逆襲。現在在全球的算力輸出中,ARM 架構已經佔到了 80% 以上。

回顧整個指令架構的發展歷史,可以總結出兩個規律:

  • 第一,指令架構是一個高度馬太效應的事物。當一個指令架構有越來越多人用的時候,就意味著其生態壁壘越來越高,能夠聚集越來越多的開發者。側面來看,開發者投入到其他架構上的時間和精力少了,導致其他架構的發展完善度逐漸減弱,直到放棄。

  • 第二個,指令架構的競爭不是技術層面的競爭,更多的是商業模式的競爭。ARM 架構開始不如 x86 架構,它之所以一步一步實現了對 x86 架構的逆襲,根本原因是它在商業模式裡採取了更開放的合作方式,它把利潤的「小頭」放在了自己身上,把更大的晶片的利潤交給了晶片公司,這樣使得晶片公司願意去跟 ARM 公司合作。

RISC-V 架構是一個更加開放指令架構。它起源於柏克萊 2010 年暑期的計劃,2015 年開始以基金會的方式去運營,到 2021 年以基金會運營 6 年的時間已經完成了出貨量 100 億顆的成績,這是一個非常快的速度。

RISC-V 的崛起

RISC-V 的崛起

x86 架構是伴隨著網際網路的時代發展的,而 ARM 架構是伴隨著移動網際網路的時代發展的,那 RISC-V 架構它的下一個應用在哪裡?它的下一個超級可能性在哪裡?

個人的觀點是智慧物聯網。在物聯網概念被頻繁提及的今天,大家仍然對智慧物聯網的認知很低,容易理解為它是一種算力比較低的設備。

網際網路實現了資訊的互動和互通,移動網際網路實現了人與人之間的資訊互動與互通,智慧物聯網實現的是物和物之間的資訊化互聯。車作為物的一種,車聯網和智慧機器人網也隸屬於智慧物聯網的範疇。

三個不同時期設備規模的變化如下圖所示。在 PC 機的網際網路時代,設備出貨量在 1 億到 2 億臺左右。在移動網際網路時代,設備出貨量大致提升 10 倍,規模在 10 億到 20 億臺。而到了智慧物聯網的時代,設備的出貨量會遠超百億臺。

再看根技術,每一個時代的根技術也是不一樣的。網際網路時代的根技術是 x86 架構,它是一個封閉的指令架構,同時搭載在硬體之上的 Windows 是一個封閉的作業系統。到了移動網際網路時代,ARM 就演變成了半開放的指令架構,而它的主流作業系統 Android 就是純開放的作業系統。如今的智慧物聯網時代,需要一種更為開放的指令架構以及作業系統。

AIoT 時代應用的多樣化與 RISC-V 的優點是高度吻合的。RISC-V 的開放性、設計的簡潔性以及功耗的優勢,都非常符合 AIoT 時代的場景。得益於可定製、可擴展的特質,RISC-V 架構更容易面向 AIoT 細分領域應用去設計出具有針對性和競爭力的核,從而更適配特定場景的應用需求。這正是它跟 ARM 完全不一樣的地方。ARM 提供的是標準處理器,為了最大化商業價值,其在設計處理器核時主要面向各種通用領域,不限定具體的場景,而 RISC-V 的可定製化恰恰是它面向 AIoT 時代重要的優勢。

目前為止,RISC-V 架構的軟體生態還不成熟,如何展望它的未來發展?

首先,我們要對 RISC-V 的發展有包容心和戰略耐心。x86 架構和 ARM 架構軟體生態的完善度也不是一次生成的。x86 架構是上世紀 70 年代末 80 年代初開始發展的,到現在已經有 40 多年的歷史。ARM 架構是上世紀的 80 年代末 90 年代初開始發展的,到現在也有 30 多年的歷史。打個比喻,如果說 x86 和 ARM 宛如一個成熟的中年人以及青年人,那麼 RISC-V 架構還是個小朋友,從它以基金會的形式運營到現在只有 7 年的時間,但是它成長的加速度遠超 x86 和 ARM。

現在 ,RISC-V 除了不支持 Windows、安卓、 iOS 外, Linux 的軟體元件基本上是完善的。因此,對於 RISC-V 的長期發展,我們也應該抱有樂觀主義。回顧 ARM 的發展歷程,它在上世紀 80 年代末推出時僅是一個三級流水線的 DPU,其能力是遠遠不如當時的 x86。但這並不乏妨礙 ARM 一點一點地發展起來。而 RISC-V 在經營模式上比 ARM 架構更先進、更開放,所以它在加速度上已經體現出了優勢。

構建端-邊-雲"原生的下一個計算時代

構建”端-邊-雲”原生的下一個計算時代

軟體開發者基於不同指令架構做開發,會產生與不同指令架構緊耦合的軟體程式碼,其中積累了大量冗餘的重複工作。那麼,這個世界是不是需要有這麼多的 ISA(Instruction Set Architecture,指令集架構),實際上答案是否定的。

以蘋果公司為例,蘋果公司推出的 PC 機起初基於和摩托羅拉、IBM 一起開發的 Power 架構。後來蘋果公司開始轉向 x86 的架構。隨著 M1、 M2 晶片的推出,蘋果公司又轉向 ARM 架構。對於蘋果公司而言,其之前已經積累了大量的應用軟體需要進行遷移,所以他們也開發了二進位制轉譯的技術,包括從 Power 到 x86 轉譯的 Rosetta 1.0、從 x86 到 ARM 轉譯的 Rosetta 2.0。軟體基於不同的指令架構進行遷移開發,對工程師來說是非常沒有意義、沒有必要的。

RISC-V 的架構的出現,讓雲邊端原生一體的下一個計算時代成為可能。我對未來雲邊端時代共用共享 RISC-V 架構持有非常樂觀的態度。RISC-V 架構一定會先從邊開始發展,然後逐步的進入雲端運算的領域,最後再回到 PC 機和手機應用。

我對未來的暢想是,所有工程師都是基於 RISC-V 架構去開發程式碼,它開發的程式碼可以在不同的晶片之間、不同的應用場景之間進行遷移。這樣就把軟體工程師的付出、心血、成果能夠凝聚在一起,而不是反覆在不同的指令架構之間去做搬移、搬運。

中國現在對 CPU 計算的渴求度迫切度非常高,在探索中,中國做 CPU 也走出了三種路徑:

  • 基於他人的指令架構做引進、消化、吸收和創新。典型的像海光的 x86 架構、兆芯的 x86 架構和飛騰的 ARM 架構。這種方式最大的優勢是可以利用x86 架構和 ARM 架構上已經成長的軟體生態。

  • 獨立構建技術體系。典型的像國內的龍芯以及申威。它的自主可控性的程度最高,但是軟體生態上存在不足。

  • 融入開源架構體系。進迭時空就是採用這個路徑。進迭時空看好 RISC-V 並願意基於 RISC-V 晶片開發未來的計算晶片和計算系統。

這三種模式沒有好壞優劣之分,並且在當下的中國都是很需要的,因為它可以面向不同場景,為 CPU 的供給提供不同選擇。

從自身來說,進迭時空選擇 RISC-V 架構主要有三方面的考量:

  • 第一,全球標準。中國一直是世界上最大的算力消費國,但是從來不是算力生產國。背後的原因之一就是我們沒有強大生態的指令架構。RISC-V 的出現讓中國開始有機會參與全球算力的競爭,就像通訊時代的 5G 標準一樣。

  • 第二,全球生態。因為 RISC-V 架構的基金會已經遷移到了瑞士,它正在吸引全世界最優秀的 AP、架構的制定者、愛好者和開發者,圍繞著 RISC-V 做架構標準的制定、軟體生態的開發,它正在匯聚全球共建能力。

  • 第三,全球能量。像 x86 架構、ARM 架構屬於某個公司,生態的發展也與其背後的公司息息相關。這意味著它的能量只能以閉環形式侷限於公司內部。以 x86 架構為例,架構迭代主要通過公司內部完成。以 ARM 為例,主要是依靠 ARM 公司以及它的合作伙伴比如蘋果、Google 推進發展和演進。這種方式很容易讓架構本身的發展跟公司的發展緊密聯繫在一起,一旦公司發展得不行,架構也就慢慢地消亡。RISC-V 架構則不是,它是全球共建、全球共享,匯聚了世界上最優秀的工程師圍繞著它做開發。以 RISC-V 的 vector 架構為例,當 ARM 在 V8 時代,它的計算採用的是 SIMD 的技術。到了 V9 架構時代,它推出了SVE 架構,即它的向量計算架構。RISC-V 一開始在設計計算技術時就採用了 SVE 的架構,所以 RISC-V 架構相比 ARM 架構很大的優勢是它站在了前人的肩膀上,前人走過的路、做過的技術方案以及這些技術方案的優勢和劣勢,它都是可以看見的。

進迭時空看好 RISC-V 的發展,希望基於RISC-V 架構,通過 CPU 核的定製最佳化設計、晶片開發和基礎軟體開發,實現這三者深度地整合和最佳化,提供計算晶片和計算系統。

面向未來的泛邊緣運算場景

面向未來的泛邊緣運算場景

可以暢想一下未來的計算世界,按照現在的算力進行分層,大致可分成雲、邊、端三層。未來發展趨勢,如下圖所示:

  • 第一,雲端運算的算力下沉。現在的雲端運算主要是基於中心,中心式的雲存在不足,比如計算的成本、計算的延時。它就像物流,開始物流採用中心式的倉儲方式,後來物流開始做下沉,下沉到低一級、次一級,這帶來的比較大的優勢是物流的速度加快了。對計算而言,就是計算的時延變少了、對頻寬的佔用變少了。所以 2010 年到 2020 年是雲端運算中心雲的 10 年。我推斷 2020 年到 2030 年,未來的十年是雲端運算邊緣雲、邊緣運算的時代,這是一個雲端運算算力的發展趨勢。

  • 第二,端設備的算力增長。未來的端設備會被智慧化所廣泛地改造,對算力的需求會越來越高。以典型的掃地機器人為例,最初的掃地機器人是基於 MCU 的碰撞式機器人,機器人跑著碰到了障礙物就彈回來繼續往前走。但現在掃地機器人已經演化到了基於攝像頭的有路徑規劃能力、有避障能力的計算系統,對晶片的要求也從原來的 MCU 發展成現在的適合 4-6t 算力的計算系統。所以未來端側會越來越智慧化,對算力的要求會越來越高。所以雲端運算的算力下沉,端設備對算力的要求上提,使得算力匯聚在邊緣運算。

我們堅定地看好邊緣運算未來的發展。RISC-V 的發展現狀是,看好這門技術的人多,但真正去做的比較少,這個世界缺少一顆好的基於 RISC-V 的計算晶片。現在大量的軟體都是基於 QEMU 模擬器進行開發,我們希望進迭時空能夠真正地參與進來,給全球開發者和商業應用提供好的基於 RISC-V 的計算晶片。

有了計算晶片就相當於有了基礎,更多的應用、軟體、開發者、愛好者可以基於晶片硬體進行開發,這也會更有助於 RISC-V 架構生態的發展。現在 RISC-V 在國內乃至全球,是先從 LT 端做起來,應用在 MCU、藍牙、Wi-Fi 等領域,但是偏 AP 類的高端應用晶片比較少。所以我們希望為世界在未來提供一套好的基於 RISC-V 架構的計算晶片和計算系統。

本文整理於 2022 長沙·中國 1024 程式設計師節大會的《算力和晶片的挑戰與突破》主題論壇。直播回放可掃描下方二維碼,進行觀看:

相關文章

「C# 不停止膨脹,必將走向滅亡」

「C# 不停止膨脹,必將走向滅亡」

【CSDN 編者按】程式語言更新的頻率是越快越好,還是越慢越好,不斷增加的功能是否真的就是開發者想要的? 原文連結:https://medi...

Rust vs Go,到底該怎麼選?

Rust vs Go,到底該怎麼選?

【CSDN 編者按】擁有 40 多年程式設計經驗的知名 Go 開發者與作家 John Arundel 在其個人部落格分享了《Rust vs ...

為什麼要避免使用 libc

為什麼要避免使用 libc

【CSDN 編者按】libc 是 Linux 下的標準 C 庫,也是初學者寫 hello world 包時含有的頭檔案 #include <...