在今年的烏鎮世界互聯網大會上,圖靈獎得主大衛派特森(David Patterson)在主題演講中專門以OURS Pygmy AI晶片為例,展示了RISC-V的強大。這是一款基於64位元RISC-V指令集架構、具有可程式設計、低功耗和高能效的物聯網終端AI推理晶片,由Patterson教授的學生譚章熹創辦的睿思芯科(OURS)開發,從晶片規劃到成功流片僅用了7個月時間。

同時在烏鎮宣佈成立的中國開放指令生態(RISC-V)聯盟(CRVA)由中國科學院(中科院)運算技術研究領軍,北京清華大學和北大等學校積極參與,由中科院院士倪光南擔任理事長。而於10月成立的中國RISC-V產業聯盟(CRVIC)則得到上海市經信委的大力支持,現已有50多家IC設計企業、高校和科研機構加盟。上海市政府還發佈了專門針對RISC-V的扶持政策。

RISC-V是什麼?為何會引起這麼大的迴響?其實RISC-V既不是一個重大技術突破,也不是一個顛覆傳統的創新產品,更不是一顆中國民眾期盼已久的「中國芯」;它只不過是一個小小的電腦指令集架構(ISA)而已。RISC-V中國聯盟秘書長包雲崗如此評價RISC-V:「RISC-V指令集可望像開源軟體生態中的Linux那樣,成為電腦晶片與系統創新的基石。」

中國RISC-V產業聯盟理事長、芯原董事長戴偉民則相信,RISC-V是中國IC產業實現自主、可控、創新和繁榮的希望所在。

RISC-V大有來頭

2017 ACM圖靈獎得主是John Hennessy和David Patterson,以表彰他們在電腦體系結構方面的貢獻。他們提出的精簡指令集電腦(RISC)架構不但開創了一套系統、量化的電腦設計方法,而且對微處理器產業產生了深遠的影響。現今每年生產的微處理器晶片超過160億顆,其中99%都是採用RISC架構(ARM就是一種主流的RISC架構)。無論是智慧型手機、平板電腦、嵌入式電腦,還是物聯網設備,RISC微處理器幾乎無處不在。

與以x86為代表的複雜指令集電腦(CISC)架構不同,RISC僅有一組很簡單的通用指令,完成運算所需的電晶體數量自然也少得多。1980年代,基於RISC架構,Hennessy帶領的史丹佛(Stanford)研究小組開發出MIPS微處理器,而Patterson帶領的UC-Berkeley團隊先後推出了幾代RISC微處理器(RISC-I、II、III和IV)。儘管當時他們的RISC架構不被業界看好,但Hennessy創立了MIPS,而UC-Berkeley的研究成果則被用於SUNMicrosystem的SPARC微處理器,兩個研究團隊的成果都被成功商業化。

40多年來,電腦和微處理器產業發生了天翻地覆的變化,但其幕後的指令集架構卻沒有多大變化。目前主流的ISA包括:INTEL/AMDPCCPU採用的x86架構、智慧型手機應用處理器採用的ARM架構、數位電視和機上盒採用的MIPS架構,以及汽車電子系統採用的POWER架構。

RISC-V是由UC-Berkeley團隊在歷代RISC架構基礎上,總結多個ISA優缺點而重新創建的一種新式ISA,它採取「開源」的模式對全世界開放,希望成為一切運算設備都可以採用的指令集架構。專注於RISC-V處理器核心開發的初創公司芯來科技創始人胡振波認為,RISC-V最大的特點是「開放」,它的開放性允許它可以自由地被用於任何目的、允許任何人設計、製造和銷售基於RISC-V的晶片或軟體,這種開放性在處理器領域還是第一次。

ISA對CPU和電腦產業有多大的影響?讓我們簡短地回顧一下:

  • 大型機時代(1960~70年代):IBMS/360,軟體依附於硬體系統,晶片在整個系統中價值比例很小;
  • PC時代(1980~90年代):Intel x86架構,軟體(作業系統WINDOWS、MACOS和Linux及各自的應用軟體)獨立於硬體。CPU是PC的大腦,而微控制器是嵌入式系統的大腦,微處理器是系統最有價值的部分;
  • 網際網路和行動裝置時代(2000~2020年):ARM架構,作業系統(Android和iOS)和APP獨立於硬體,微處理器及IP核心(主要是ARM)成為硬體設備中最有價值的部分;
  • AI+IoT時代(未來20~30年):系統級晶片(SoC)將在整機系統中佔據主導地位,ISA可以說是人工智慧和萬物互連的靈魂。RISC-V將與ARM/x86並存,形成百家爭鳴的自由、開放和繁榮局面。

EDNT181211_RISCV_NT31T1

表1:RISC-V與x86和ARM在技術和市場方面的對比。
(來源:網路公開信息,芯原)

大道至簡的RISC-V

微處理器晶片設計師在選擇ISA時,通常從以下七個方面綜合考慮:成本、性能、簡潔性、架構和具體實現分離、成長空間、程式大小,以及易於程式設計/編譯/連結。相對於傳統的x86和ARM架構,RISC-V具有三個優勢,即精簡、模組化和可擴展性。

  • RISC-V的基本指令集RV32I只有47條指令,而且是永遠不再改變的。而x86和ARM的指令集則變得越來越複雜,x86指令集40年來已經從最初的80條指令增加到超過1,400條,而ARM自誕生30年來也增加到1,200條指令。x86和ARM都在以平均每個月增加2條新指令的速度成長。
  • 架構師希望保持ISA的簡潔性,從而縮小處理器尺寸。RISC-V比ARM-32要簡潔得多。以不配被緩衝記憶體的晶粒為例(見表2),RISC-V晶粒的大小是0.14mm2,而ARM-32晶粒是0.27mm2。由於面積大一倍,ARM-32Cortex-A5的晶粒成本約是RISC-V Rocket的4倍。即使晶粒的大小只縮小10%,成本也將以1.2倍的比例縮小。

RISC-V的不同尋常之處在於其模組化。它的核心是一個名為RV32I的基礎ISA,運行一個完整的軟體堆疊。RV32I是固定的,永遠不會改變。這為編譯器編寫者、作業系統開發人員和組合語言程式師提供了穩定的目標。模組化來源於可選的標準擴展,根據應用的需要,硬體可以包含或不包含這些擴展。這種模組化特性使得RISC-V具有袖珍化、低能耗的特點,這對嵌入式應用至關重要。

EDNT181211_RISCV_NT31T2

表2:ARMCortex-A5與RISC-VRocket的PPA對比。
(來源:SIFIVE)

由胡振波開發開源的蜂鳥E203是中國第一個開源的RISC-V處理器核心,已被中國的教育教學領域和社區愛好者廣泛用於學習和入門RISC-V。

RISC-V指令集支援擴展,但卻有嚴格限制,給客戶提供了專屬的定制化空間,所以不會出現碎片化現象。台灣晶心科技(AndesTech)是RISC-V基金會創始會員,也是CRVIC副理事長單位。據晶心科技總經理林志明介紹,晶心採用RISC-V作為其第五代架構AndeStar (V5)的基礎指令集,基於V5架構的RISC-V處理器核心有32位元和64位元兩種架構,包括AndesCoreA25/AX25和N25 (F)/NX25 (F),相比於Cortex-A7或者Cortex-M7,性能都有不小的提升。

電腦架構的黃金時代:IOT+AI應用呼喚新的ISA

David Patterson在世界網際網路大會斷言:「隨著摩爾定律的終結,為了獲得性能更快的電腦,唯一的方法就是改進電腦的設計或『架構』──未來5~10年將出現電腦架構的黃金時代。」針對中國的市場需求和電腦工程人才培養,他認為:「中國正在為物聯網的發展而生產大量晶片,龐大的需求呼喚優秀的電腦架構師提供最好的產品。」

據Gartner預測,2017~2023年間,全球物聯網設備年複合成長率約為20%,其中應用於物聯網終端的嵌入式CPU需求成長高達32%,到2020年這一細分市場的規模將達到13億美元。然而,物聯網碎片化問題很嚴重,應用十分廣泛,這就要求低功耗、低成本、小尺寸而又差異化的微處理器。

戴偉民認為,物聯網碎片化挑戰和異質計算趨勢是RISC-V的發展機遇。他在最近舉行的ASPENCORE全球CEO峰會上接受EDN採訪時,曾這樣描述RISC-V對物聯網碎片化的影響:「物聯網是碎片化的,整個市場很大,但每一個細分市場並不是那麼大。RISC-V具有模組化、可擴展的特點,因此可以為物聯網應用的不同需求『量身訂做』。雖然目前RISC-V在物聯網中的應用沒有消費類熱鬧,但Nvidia、Google、Western Digital (WD)等領先企業都在積極佈局,他們將會帶動RISC-V產業生態的發展。此外,AI應用也推動了異質運算的發展,RISC-V的特性也非常切合異質運算的設計需求。」

就像基於x86架構的CPU無法滿足行動智慧設備的PPA(性能-功耗-面積)要求一樣,ARM架構的CPU核心也難以滿足物聯網終端和邊緣智慧設備千變萬化的需求。應運而生的RISC-V及其生態鏈則有望解決物聯網碎片化問題,並催生物聯網和邊緣運算設備的爆炸式成長。

另一方面,高性能運算和雲端服務對AI訓練和深度學習提出了更高的要求,而現有的CPU或GPU都無法滿足這樣的要求。系統級晶片設計師必須在單個晶片上整合CPU、GPU、記憶體及各種IP模組,這就需要實現異質整合的特定域架構(DSA)。

RISC-V的64位元架構可以滿足高性能AI運算需求。RISC-V受益於同時設計32位元和64位元架構,而較老的ISA必須依次設計它們,RV64I ISA幾乎包含了所有RV32I指令。同步設計還意味著64位元架構指令集不必被狹窄的32位元操作碼空間限制。

RV64I有足夠的空間用於可選的指令擴展,特別是RV64C,這使得其程式碼大小比其它任何64位元ISA都要小。其實64位架構更能體現RISC-V設計上的優越性,畢竟64位元ISA的設計比先行者們晚了20年,是在以前的64位元ISA經驗和教訓基礎上發展出來的。

RISC-V全球生態圈

秉承UC-Berkeley的自由、開放精神,RISC-V自2010年誕生伊始便下定了開源給全世界的決心。2015年成立的RISC-V基金會是一個非營利性的行業組織,其使命就是要「規範、保護和推廣自由和開放的RISC-V指令集架構,推動RISC-V硬體和軟體生態系統的發展,以賦能所有的運算設備。」

到目前為止,RISC-V基金會在全球範圍已經有150多家會員,不但包括Google、Samsung、Nvidia、IBM、華為(Huawei)、高通(Qualcomm)和WD等網際網路與半導體巨擘,還有阿里中天微、致象爾微電子(Tangram)、君正、芯原、晶心、芯來等IC設計和服務公司,以及UC-Berkeley、普林斯頓大學(Princeton University)、北京清大和中國中科院運算所等大專院校和科研機構。

EDNT181211_RISCV_NT31P1

圖1:RISC-V基金會成員已經超過150家。

WD宣稱其下一代儲存運算晶片及產品將全部轉向RISC-V架構,每年將出貨高達10億顆RISC-V晶片。Nvidia也宣佈基於RISC-V64位元架構開發下一代Falcon微控制器,用於其未來的GPU系列晶片。RISC的兩位奠基人退休後會聚Google,Hennessy出任Google母公司董事長,而Patterson則是「傑出工程師」。Google現已基於其TensorFlow框架開發出雲端AI訓練TPU,同時還有邊緣端AI推理TPU,相信不久的將來也會推出基於RISC-V的TPU。

RISC-V生態鏈中的中型企業和初創公司也不甘示弱,台灣晶心科技不但基於RISC-V指令集開發出AndeStar V5結構,而且已經推出32位元和64位元的RISC-V CPU核心,此外還有可以媲美ARM開發工具的一套IDE。高雲半導體已經在其FPGA中採用晶心的RISC-V核心。轟動一時的「華米黃山一號」AI晶片採用的是SiFive核心及開發平台,SiFive是由RISC-V架構原始開發者創辦的RISC-V晶片設計IP和服務公司,已經獲得包括Intel Capital在內的多家風投資金。

歸入阿里旗下的中天微已經推出基於RISC-V的第三代指令集架構處理器CK902,伏達半導體(NuVolta)成為這一CPU架構授權合作夥伴。宣導晶片設計平台即服務(SiPaaS)的芯原正在研發採用RISC-V架構的資料流程處理單元(DPU),將為選用RISC-V架構的晶片開發商提供從晶片規劃到投片的全程服務。

當然,中國國內更多的還是晶片設計公司,在考慮CPU核心時除了ARM沒有太多選擇。北京君正正因為當初跟ARM談授權時沒有達成一致,才選擇MIPS架構;有了RISC-V,相信像君正這樣的IC設計公司會更趨向於開源和低成本(甚至免費)的RISC-V架構。這無疑會對ARM造成一定的影響,但短期內還不會構成嚴重競爭威脅。相信一個自由和競爭的開放環境對整個IC設計產業是健康有益的。

EDNT181211_RISCV_NT31P2

圖2:中國RISC-V生態。

RISC-V:中國IC設計產業實現自主、可控、創新和繁榮的契機?

在RISC-V的推廣和採納方面,美國、歐洲、俄羅斯和印度都已經走在前面,而最應該積極擁抱此一開源架構的中國似乎慢了半拍。被日本軟銀收購後的ARM更是雄心勃勃,專門在中國成立合作公司,ARM中國公司最近還推出了「周易AI平台」,這對中國IC設計公司和工程師還是很有吸引力的,雖然授權費用不菲。

林志明對此則比較淡然:「整體來說,RISC-V架構比ARM來得新,對客戶、工程師的親和性比較高,同時也允許客製化,具備高彈性,這些都是明顯勝過ARM的優勢。至於劣勢方面,ARM產品進入市場的時間早了30年,RISC-V在市場的進入時間點以及累積的產品成功數量上相對處於劣勢。」

其實對於IC設計工程師來說,推出支援RISC-V第三代指令系統架構處理器CK902在傳統Intel x86及ARM的生態系以外,RISC-V提供了更多選擇,相信會為產業帶來正面影響。RISC-V才剛起步,將與x86和ARM長期並存,目前不存在競爭和取代問題。全球AI和物聯網市場的快速發展,以及眾多中國晶片和系統開發商的競爭與創新,再加上政府和民間資本的投入,將會推動RISC-V生態的發展。同時,RISC-V的開放性也會釋放中國企業、大學院校和民間IC設計的潛能,在AI和物聯網市場催生百花齊放、自由和創新的繁榮局面。

戴偉民回顧中國幾十年來的CPU產業發展總結指出:「採用自主開發指令集的晶片雖然自主、可控,但卻沒有市場的繁榮。而選擇x86和ARM架構雖然市場繁榮,但沒有自主智慧財產權,不自主或不可控。RISC-V的出現為中國晶片產業實現自主、可控和繁榮帶來了一線希望,但要真正實現壯大中國芯的願景,就需要中國政府、企業、高校和產業組織攜手合作,依靠創新來帶動IC產業和市場的持續成長和繁榮。」

戴偉民強調,中國RISC-V產業聯盟的目標有三:

  • 首先是加快完善中國大陸RISC-V的「CPU核心-晶片-軟體-整機-系統」生態鏈,以晶片投片量為主要衡量指標;
  • 已推出針對物聯網領域的處理器·其次是聯合企業和高校,共同培養RISC-V架構師和晶片設計人才。由胡振波撰寫出版的《手把手教你設計CPU──RISC-V處理器篇》和《RISC-V架構與嵌入式開發快速入門》,以及RISC-V開源學習套件,由芯原贊助的成都電子科大和西安電子科大的積體電路設計大賽,這些努力都實實在在地推動著RISC-V技術人才的培養;
  • 第三,鼓勵企業和個人為RISC-V生態圈貢獻IP核心、擴展指令和開發工具等。多年來,中國人已經習慣了「拿來主義」,在電腦和網際網路領域,一般都是只「下載」、不「上傳」,我們現在應該改變心態,要擁有「有所取就有所貢獻」的精神。要真正做到自主創新,不但要「取」,
  • 也要「給」,這樣才能維持一個開放、創新的健康生態。RISC-V為我們搭建了一個平台,希望我們維持好這個開源、共用、開放、共榮的生態環境。

RISC-V就像是一顆小石子,投入到表面平靜、內部波濤洶湧的中國晶片產業大池塘,能夠掀起多大的波浪還要看大家怎麼協作和創新,無論你做什麼,遲早都會直接或間接地受到RISC-V的影響。與其靜觀其變,不如積極參與。

本文同步刊登於電子技術設計2018年12月刊雜誌