當前位置: 華文問答 > 數位

RISC

2023-12-01數位

關於這個問題,首先參照孫凝暉院士在最近一個報告中的觀點,然後再圍繞該觀點展開論述:

圖1. 孫凝暉院士報告【開源處理器芯片的機遇與挑戰】的引言

一、建立一條新賽道來打破壟斷

過去半個世紀,曾經出現過X86、ARM、MIPS、ALPHA、SPARC、IA64等數十種指令集,但 都屬於公司私有 。這些私有指令集大部份已經隨著公司蕭條或倒閉而消失,如今全世界僅剩下X86和ARM兩種主流指令集,分別被Intel和ARM兩家公司高度壟斷。

當一個產業發展到高度壟斷階段後,市場上必然會產生打破壟斷的強烈訴求,這是產業發展的內在規律。那麽,用什麽方式來打破壟斷?一種是沿用壟斷巨頭的發展路徑,但透過創造一些新優勢來打破壟斷。還有一種有效的方式就是 建立一條新賽道,透過發展新技術、創新商業模式來形成一個新興市場,逐漸淘汰舊市場,從而打破壟斷 。新能源汽車是一個典型的例子,在過去一百多年的燃油車時代,中國汽車工業努力了半個多世紀,也始終無法打破傳統汽車巨頭的壟斷格局。但在新能源汽車這個新賽道上,中國汽車工業僅用十幾年時間便實作了「換道超車」,步入世界領先行列。

RISC-V及其掀起的開源芯片浪潮,便是處理器芯片領域的新賽道 。很多人從指令集自身角度來看RISC-V,指出它不完備、碎片化等問題,但忽視了RISC-V所蘊藏的真正威力—— 作為開放標準,它將推動一個基於開源的芯片技術新體系的構建,進而創造出一個開源芯片新世界 。就如今天的軟體產業已經是兩個世界,一個閉源軟體世界,一個開源軟體世界。根據Black Duck針對17個行業1700多個軟體的統計數據表明,96%的商業軟體中包含開原始碼,而且開原始碼的比例達到76%。未來的芯片設計產業,也將會變成閉源和開源兩個世界。RISC-V用「指令集應該免費」這個理念,開啟了開源芯片新世界的大門,從此這個新世界將進入不可逆轉的、快速發展的行程。 開源芯片新世界的誕生並不是要所有芯片設計都完全開源,而是未來會有越來越多的商業芯片中包含開源IP ,開源IP的比例會不斷提高。透過這種方式來降低整個芯片設計產業的成本,提升企業的競爭力。

在這個行程中,RISC-V只是一種催化劑,它自身的演進固然重要,但已經不是決定性了。 如果未來RISC-V的演進跟不上這個新世界的發展速度,它也必須做出改變和調整,否則就會被另一種更適應新世界的開放指令集所淘汰或替代。 事實上,RISC-V自身就在不斷演進。例如,幾年前很多人認為RISC-V指令集不完備,只能用於嵌入式場景,但很快RISC-V國際基金會便形成了 近80個工作群組開展各種指令擴充套件工作 。如今,RISC-V的向量擴充套件指令已經釋出,而各種安全擴充套件指令、加密指令、AI加速指令等等都在推進中。

又如,有人批評RISC-V會導致碎片化,但事實上根據千變萬化的場景 需要允許使用者自訂擴充套件指令,這正是解決場景需求碎片化的有效方式 。這些擴充套件指令只要沒有反饋到RISC-V國際基金會,那就不會影響到主流軟體生態。 RISC-V真正的碎片化難題是近80種擴充套件指令模組的組合數量非常多 ,導致編譯器、作業系統等系統軟體無法應對這種爆炸式組合數量。對於這一點, RISC-V國際基金會已經提出了配置 (Profile)機制,每個配置是約定好的指令集模組組合,這樣便大大減少了基礎軟體適配工作。

這些都表明RISC-V自身正在快速演進。

二、抓住處理器芯片領域新一輪變革浪潮

新一輪芯片設計技術與產業變革浪潮已經到來,這將帶來很多新機遇,甚至在未來10-20年形成產業重新洗牌。因此,RISC-V被【麻省理工學院技術評論】選為2023年度十大突破性技術之一(如圖),理由是「 芯片設計正在走向開放,靈活、開源的RISC-V有望成為改變一切的芯片設計 」。

圖2

回顧處理器芯片領域 上一輪技術變革浪潮,已是40年前的1970-1980年代 。那時也出現一次指令集變革,從復雜指令集CISC向精簡指令集RISC轉變;那時超大規模積體電路(VLSI)出現,推動芯片設計方法的變革——電腦輔助設計(CAD)和電子設計自動化(EDA)技術興起;那個時代誕生了ARM、MIPS、Synopsys、Cadence等一批新興企業,許多成為今天的國際領軍企業。

圖3

中國企業很遺憾地錯過了上一輪變革浪潮,導致今天在多個領域被卡脖子。但對於RISC-V掀起的這一輪變革浪潮, 中國不再錯過,各界都在積極參與,做出重要的貢獻,發揮重要的作用 。相信中國芯片產業會像汽車產業那樣實作「換道超車」,把握機遇,在這個新賽道上形成技術優勢、產品優勢和市場優勢。

三、變革新機遇:戰略篇

RISC-V與開源芯片所帶來的新機遇有很多,這裏主要從宏觀層面分析兩個新機遇: 一是新的產業發展路徑 ,即5G模式; 二是新的人才培養模式 ,例如「一生一芯」計劃正是得益於開源芯片。

(一)處理器芯片產業發展新路徑

過去二十年,中國在處理器芯片領域主要形成兩種發展模式: 一是高鐵模式 。以海思、海光、飛騰為代表的企業,透過「引進—消化—吸收—再創新」的模式,研發出有競爭力的產品。 二是北鬥模式 。以龍芯為代表的企業,獨立構建技術體系,獨立建設產業生態,透過完全自主來實作產品可控。這兩種模式均取得了長足的進步,為中國處理器芯片產業做出突出貢獻。

RISC-V為中國提供了一條可 借鑒5G模式來發展處理器產業的新路徑 。過去20多年,中國的通訊事業在經歷了「2G跟隨、3G突破、4G並跑」的不斷努力後,終於實作了「5G領先」。5G模式就是全球共建標準、各國自研產品,以產品品質競爭國際市場。5G模式有利於發揮中國市場大、場景多、工程師多的優勢,實作產品的快速叠代最佳化,從而打造出具有國際競爭力的產品,實作國內國際雙迴圈。借鑒5G模式,中國芯片企業有望透過參與RISC-V全球生態建設找到「彎道超車」的新機會。

圖4

由於RISC-V最早是美國加州大學柏克萊提出的,並不是由中國自己提出的,因此不少人心裏會糾結來自美西方的東西不可靠。對此,強烈建議再仔細研讀【在慶祝中國共產黨成立100周年大會上的講話】:「 中國共產黨為什麽能,中國特色社會主義為什麽好,歸根到底是因為馬克思主義行! 」,「 我們積極學習借鑒人類文明的一切有益成果 」。

這兩段話充分體現了中國共產黨的偉大的胸襟和務實的作風。 馬克思主義最早發源於歐洲,並不是由中國自己提出來的,但中國共產黨從不排斥國外先進的理念與技術 ,相反,「積極學習借鑒人類文明的一切有益成果」。同樣,雖然RISC-V指令集最早是2010年加州大學柏克萊分校推出,但它的 開放、開源、共享、共治代表了一種新的先進理念,某種程度上和早年的馬克思主義、共產主義有相似之處 。RISC-V進入中國,其先進的理念很快得到業界的積極響應,為中國的處理器芯片生態發展帶來新的機會。

中國共產黨「 堅持把馬克思主義基本原理同中國具體實際相結合、同中華優秀傳統文化相結合 」。同樣地, 與其糾結RISC-V不是由中國提出,不如把重心放在如何讓RISC-V與中國具體實際相結合,如何讓中國在全球RISC-V生態中發揮更大的作用 。總之,如何兼顧開放和自主,共產黨做出了最好的表率。

回到高科技領域,高鐵模式、北鬥模式、5G模式都是中國高科技發展的成功模式。在處理器芯片領域,我們認為未來還可進一步融合,發展出「高鐵+5G」模式、「北鬥+5G」模式,也就是 在一款處理器芯片上同時支持雙指令集的融合模式 。實作雙指令集融合在技術上具有可行性(見圖21-22),在商業上則有機會滿足不同市場需求。這種雙指令集融合模式,不僅能讓企業保障國內一些行業的安全可控,也將助力企業的產品更容易出海。

圖5

(二)芯片人才培養新模式

開源,為芯片人才培養帶來新機遇,尤其是芯片設計人才。我們於2019年啟動的「一生一芯」計劃( @一生一芯 ),正是一種基於開源模式、貫通課程的實踐性大規模芯片人才培養實踐。如今, 「一生一芯」計劃已經進行到第六期,累計已經有超過300所大學的6000位學生報名參與,培養處理器芯片實踐型人才近800人 。開源芯片,為實踐型芯片設計人才培養開啟了新思路。

圖6

秉持開源理念,「一生一芯」所有的資料都是開放共享的,並且 堅持公益性——為國內在校生提供一次免費流片的機會 ,讓同學們透過努力能獲得自己人生中的第一顆自己設計的芯片。

圖7

每一位達到流片要求的同學都可以 獲得一次免費流片機會 ,獲得一塊搭載自己設計芯片的「星空」板卡。

圖8

來自全國不同大學的同學們把板卡接到顯視器上,點亮自己的芯片,展示自己參加「一生一芯」的成果。當這些同學們畢業後進去各自工作崗位,將會很快脫穎而出,成為單位的骨幹。我相信他們將會是未來開源芯片新世界快速發展的核心力量。

圖9

「一生一芯」這種芯片人才培養模式,得益於開源芯片的興起,也將反哺於開源芯片的發展。我們期待「一生一芯」計劃能成為芯片設計領域的 「黃埔軍校」 ,為中國的芯片產業輸送高水平人才,為未來開源芯片新世界輸送大量人才。

四、變革新機遇:商業篇

有人預測,未來RISC-V將與X86、ARM三分天下;還有人預測,如果放在更長的時間尺度上,未來RISC-V有可能會一統天下,理由是開放標準更有生命力。但 不管是哪種預測結果,哪怕是三分天下,也都會對產業帶來巨大沖擊,孕育著諸多商機 。但RISC-V的商業機會到底在哪裏?匯總業界與投資界很多專家的觀點,大致存在五種模式 當前大多數初創企業仍采用傳統開發模式和商業模式,尚未充分挖掘開源RISC-V所蘊含的價值,未來仍有很多機會。

圖10

模式一:ARM模式

既然RISC-V未來有望和Intel/ARM三分天下,那麽必然會需要大量的商業IP。因此有機會復制ARM模式,成立RISC-V IP公司,提供自研的IP核或Chiplet。

圖11

模式二:自研高端處理器

由於RISC-V可免費使用,因此在高價值的高效能領域,自研處理器核、Chiplet和SoC,可省去高檔次ARM IP核高昂的授權費,並且可自由客製和擴充套件。

圖12

模式三:根據場景客製芯片

由於RISC-V允許靈活客製和擴充套件,針對某個特定量大的套用場景,自研或基於開源RISC-V處理器核,並開發專用芯片,比如中科藍訊基於RISC-V的耳機芯片每年出貨量超過8億顆。

圖13

模式四:德州儀器(TI)模式

由於RISC-V允許企業靈活客製,因此有機會參考TI模式建立一個平台型公司,為中小使用者提供「一站式芯片設計服務」,滿足面向千億量級IoT場景的成千上萬種客製芯片需求。

圖14
圖15

模式五:Linux+RedHat模式

復制開源軟體領域的商業模式,典型代表就是Linux + RedHat模式,基於開源的RISC-V實作(比如香山)來為下遊SoC芯片設計企業提供IP產品和設計服務。

圖16
圖17

當前大多數初創企業都屬於模式一、模式二和模式三,因為這些模式基本上是對現有ARM方案的替換,商業模式上比較清晰,而且可以復用現有的芯片開發工具。相應地,這幾個模式的競爭也會更激烈。

長遠來看, 模式四和模式五還是一片藍海,並且存在很大的顛覆性技術變革的機會 ,若在一些技術上實作突破,有可能會對整個芯片設計產業帶來顛覆性影響;並且可以和前三種模式很好的融合起來,或者說能支撐前三種模式發展得更繁榮。但是,模式四和模式五的技術成熟度仍需完善。這就需要抓住一下技術變革的新機遇了。

五、變革新機遇:技術篇

由於ARM指令集屬於公司私有,沒有ARM的授權,開源社群做一個開源的ARM處理器設計就屬於侵權行為。但RISC-V是一種開放標準,任何人都可以使用RISC-V來設計自己的處理器,這就為芯片設計領域釋放了開源的火種,於是各種開源RISC-V實作誕生了,緊接著一些創新的工具不斷湧現出來了,甚至一些具有顛覆性的設計方法也開始冒出萌芽…… RISC-V帶來了一場「核分裂」式的連鎖反應,這是芯片設計領域的技術變革新機遇

這裏介紹我們在開發「香山」高效能RISC-V處理器核( @香山開源處理器 )的過程中開展的一系列探索實踐,核心目標就是 借鑒開源軟體,構建一套開源芯片的開發流程 ,包括(1)物件導向敏捷設計方法,(2)敏捷驗證方法與平台,(3)基於開源的芯片眾包驗證、(4)開源EDA工具鏈。這些還都只是初步的探索,但我們已經能感受到其中蘊含的巨大潛力。以下是在12月16日ChinaSys研討會上報告的部份內容。

圖18

(一)物件導向芯片設計方法

物件導向編程OOP(Object-Oriented Programming)是軟體工程發展歷程中非常重要的編程思想,提高軟體的重用性、靈活性與擴充套件性,同時也推動了程式語言的發展。歷史上,OOP相關工作先後三次獲圖靈獎:2001年授予Ole-Johan Dahl和Kristen Nygaard(設計了第一代OOP語言Simula),2003年授予Alan Kay(設計了第二代OOP語言Smalltalk),2008年授予Barbara Liskov(提出抽象數據型別)。

那麽,處理器芯片是否可以用OOP思想?為此,我們提出一種物件導向體系結構設計方法OOA (Object-Oriented Architecture),核心思想就是將處理器內部結構解耦並物件化,實作處理器敏捷設計。

圖19

我們在香山的開發中采用了物件導向體系結構OOA的思想,香山的各個模組都以類( class)來實作。於是整個香山RISC-V處理器被分解為1075個類,透過大量使用封裝、繼承、多型等物件導向編程思想,大幅提高了程式碼復用率和開發效率。根據我們實踐數據統計可知,采用OOA開發的程式碼量只有傳統開發模式的五分之一,這不僅提高了開發效率,也降低了計畫的維護難度。

圖20

采用物件導向設計方法後,偶然還能收獲一些意想不到的收獲。下面是兩位中國科學院大學的本科生采用物件導向設計方法,主要對三個模組(Decode、MMU、CSR)進行物件化改造,於是在兩個星期內就實作了一套微架構設計程式碼上同時支持LoongArch指令集和RISC-V指令集。

圖21

在同一套程式碼上支持雙指令集,透過編譯選項可以選擇生成某一種指令集的處理器設計。這類似於在Linux源碼中加上一些宏定義來選擇支持不同的處理器,只是在這個設計中,是基於物件導向編程方法實作的。下圖是演示分別載入loongnix作業系統(@LoongArch)和Linux Debian發行版(@RISC-V)。這個設計最終獲得了「龍芯杯」全國大學生電腦系統能力培養大賽二等獎。

圖22

(二)敏捷驗證新方法

雖然采用物件導向思想設計處理器開發效率很高,但是卻帶來新的挑戰,那就是驗證!正如EFPL的Babak Falsafi教授的一篇評論文章標題所指出【敏捷硬體設計缺少什麽?驗證!】。事實上,我們在開發香山的過程中親身感受到敏捷驗證的重要性和急迫性。

圖23

從技術角度來看,敏捷開發對驗證帶來的新挑戰是待測設計 (design-under-test, DUT)和參考模型 (reference model, REF)的設計效率不一致了——透過敏捷開發,DUT可以快速生成,效率很高;然而REF卻不能自動生成,仍然需要驗證工程師人工設計。過去幾年,我們和業界很多企業的芯片開發工程師交流,可以發現驗證工程師普遍更不能接受敏捷開發模式。

圖24

我們設計了一套新的敏捷驗證平台,它能完成敏捷功能驗證和敏捷效能驗證。這套工具大幅減少了驗證工程師的投入,從而讓整個芯片開發過程真正敏捷起來。

圖25

香山團隊自研20多個新工具,形成一套處理器芯片敏捷開發新方法。在我們看來,這套工具和平台就是冰山水下面的部份,是支撐香山微架構快速叠代的基礎設施,某種程度上比香山微架構更重要。這一點,我們和馬斯克的理念相同——在他看來,特斯拉工廠裏自動組裝電動汽車的機器人和流水線的設計,要位元斯拉某個型號電動汽車的設計更重要。值得一提的是,香山的這套敏捷開發新方法達到國際先進水平,也入選2022年度體系結構領域全球12項亮點成果(IEEE Micro Top Picks)。

圖26

(三)開源眾包驗證

開源有可能進一步對芯片驗證帶來顛覆性影響。一般而言,芯片設計原始碼屬於一個芯片公司最核心的商業機密,決不允許外傳,很多企業甚至把原始碼放在紅區,要斷網,不能帶手機,甚至還要加網路攝影機即時監控。因此,要驗證這些芯片設計原始碼,只能招聘大量的驗證工程師在公司內部完成。

但是,開源芯片則完全不同,就如香山所有的原始碼都是公開的,任何人都可以隨時隨地存取。那為什麽不能調動全世界開源社群的力量一起來驗證?因此,我們開始探索基於開源模式的眾包式驗證。

圖27

於是我們啟動了一個開源芯片驗證計畫,目標是建立一個類似Hugging Face這樣開源社群,讓更多人可以參與到開源芯片驗證中來。要實作這個目標當然會面臨很多挑戰,尤其是相比於軟體領域,芯片領域的開發者基數小幾個數量級,芯片驗證需要復雜的仿真環境等等。因此,我們也設計開源芯片驗證「三步走」規劃,逐步來實作目標。我們很期待到第三步,可以由開源社群一起來驗證香山處理器核。

圖28

這是我們暢想的開源芯片驗證願景目標:在不久的將來,不管是開源芯片設計還是商業芯片設計都可以送出到一個開源芯片驗證平台,透過該平台聚集全世界的開發者共同參與驗證。這個平台支持不同的語言來參與驗證工作,比如Python、Java、Go等等,這個平台也會透過一些機制來保障驗證品質,提供程式碼覆蓋率報告等資訊。這樣,整個芯片領域的驗證模式將會發生巨大的改變,軟體開發者也能參與芯片開發,而芯片企業也不再需要招聘大量的驗證工程師。

圖29

(四)開源EDA工具鏈

開源編譯器GCC/LLVM在開源軟體生態中起到核心作用。EDA工具鏈是芯片設計領域的「編譯器」,構建一套開源EDA工具鏈將極大地推動開源芯片的自動化設計和驗證。特別是未來若要讓 芯片設計上雲成為SaaS服務 ,那麽開源EDA工具鏈將更容易與雲端運算結合。

我們在2018年開始布局開源EDA,到現在已經完成了三次流片——其中 兩次110nm( 完全使用開源EDA工具鏈), 1次28nm( 還需使用商業signoff工具)。芯片返回後均能點亮,並能執行作業系統。近期目標是實作一條完整的開源EDA工具鏈,到2025年在28nm工藝上完成開源RISC-V處理器「香山」的流片,PPA達到商業EDA工具的90%。這是一個充滿挑戰的目標,需要在演算法最佳化、AI輔助設計、工程實作、開源眾包等多方面去探索和實踐。

關於開源EDA方面的工作,在這個知乎回答中有更多介紹:

國內外有哪些做EDA的課題組很厲害?

圖30

一套完整的開源芯片技術體系包括: L1——開源指令集、L2——開源設計實作、L3——開源工具 3 個層次 。其中,L1 是整個開源芯片技術體系的基礎;沒有 L1 級的開源指令集,則不可能有 L2 級開源設計實作。這也正是 RISC-Ⅴ 指令集的價值所在,它賦予了全世界所有人免費設計與實作處理器芯片的平等機會。當然雖然 L1 是基礎,但要設計與實作一個處理器,L2與 L3更為重要。

理想的 L3 級應該是設計與實作開源芯片的工具全部開源,目前全世界範圍尚未達到這個水平。我們不僅將「香山」開源,將開發「香山」的底層工具也開源,努力向 L3 級靠近。但「香山」也還未完全達到 L3 級,因為當前「香山」的開發過程中仍需大量使用商業 EDA 工具,仍需努力。

圖31