摘要:RISC-V是一種開源的指令集架構,它不是一款CPU產品。基礎指令集只有40多條,短小精悍的架構和模塊化指令集讓使用RISC-V技術的芯片設計者,可以開發出很簡單的RISC-V CPU。

從“談芯”走向“用芯”RISC-V未來前景光明?從“談芯”走向“用芯”RISC-V未來前景光明?

2019年2月,筆者參觀了德國紐倫堡嵌入式世界展。西部數據公司在展會上介紹了其產品已經使用了RISC-V 架構處理器,每年出貨超過10億顆RISC-V芯片,未來還將翻倍。RISC-V基金會被邀請在紐倫堡大會上舉辦一個全天的課程和RISC-V專區展示,包括Andes Technology、CloudBEAR、GreenWaves Technologies、Imperas Software、SiFive、Syntacore和UltraSoC等成員公司和大學的演講。展覽期間筆者看到許多著名的嵌入式軟件和工具公司,都開始支持RISC-V。比如,德國SEGGER、勞特巴赫、瑞典IAR、Amazon FreeRTOS、嵌入式芯片公司NXP和Microchip,都展示出他們的RISC-V MCU產品。

RISC-V是開源指令集架構

RISC-V是一種開源的指令集架構,它不是一款CPU產品。一個CPU支持的指令和指令的字節級編碼,就是CPU的指令集(ISA)。ISA在CPU軟件和CPU硬件設計者之間,提供了一個抽象層(接口)。

不同的CPU家族,例如Intel X86、IBM/Freescale PowerPC和ARM,都有不同的ISA。RISC-V是其中唯一的開源ISA,它起源於加州伯克利大學,採用開源BSD license,任何企業、大學和個人都可以遵循RISC-V架構設計CPU,現在全球已有幾十個開源版本RISC-V CPU核。

商業公司定製適合自己使用的RISC-V內核,比如西部數據的SweRV(RISCV 32IMC Core),還有一些商業IP公司開發RISC-V CPU IP,比如名氣最多的SiFive 已經有E和S核2、3、5、7四大系列,覆蓋32位—64位嵌入式和高端應用處理器領域。

如何管理RISC-V開源項目?RISC-V基金會成立於2015年,由超過235名成員組成,其中有20家中國機構。它是開放、協作的軟件和硬件創新者社區,基金會指導未來發展並推動RISC-V ISA廣泛應用。

中國有RISC-V產業和中國開放指令生態(RISC-V)兩個聯盟,推動RISC-V在中國的發展。

RISC-V具有三大優勢

RISC-V最大的優勢就是開源和免費。免費意味着RISC-V可以幫助開發者低成本完成CPU設計,如果最終量產,那麼就免去面對版稅糾紛。ISA開源意味着開發者可以針對特定應用場景,比如近期火熱的AIoT市場,創造自己的AIoT芯片架構。當然,基金會鼓勵使用RISC-V指令集標準模塊或者組合。比如,蘇黎世聯邦理工大學(ETH Zurich)開源的Zero-riscy 內核,採用是RV32IMC,RV32I指令加上M擴展和C擴展,M指的整數乘法和除法,C指的是壓縮。NXP織女星開發板(VGEA)MCU採用的就是Zero—riscy開源內核。

RISC-V第二個優勢就是簡單。基礎指令集只有40多條,短小精悍的架構和模塊化指令集讓使用RISC-V技術的芯片設計者,可以開發出很簡單的RISC-V CPU。該CPU功耗可以很小,代碼密度也比較低。爲了滿足嵌入式和物聯網對代碼體積的高要求,RISC-V定義了一種可選的壓縮(Compressed)指令子集,由字母C表示,也可以由RVC表示。測試表明,RV32C的代碼體積相比RV32的代碼體積減少了40%,與ARM、MIPS和x86等架構相比,都有不錯的表現,甚至與ARM Thumb-2基本一樣。

RISC-V第三個優勢是靈活性。RISC-V架構通過預留大量的編碼空間和4條用戶指令,可以幫助用戶擴展指令集。這個特性在現在的AIoT和信息安全市場,獲得了特別的關注。

RISC-V商業IP公司,比如,Andes(晶心科技),還提供了定製化指令工具Andes Custom Extension,讓用戶在做應用加速的時候,可以達到更快、更有效率的方式。

多核異構是RISC-V架構芯片設計的一個特點,比如,法國GreenWave開發的Gap8 CPU,內置8個RISC-V內核和AI加速器,功耗優化的很低,面向AI邊緣技術節點設備。

生態建設是關鍵

決定一款CPU是否能夠廣泛普及的因素中,架構和指令集並不是最重要的事情。歷史上X86橫掃桌面電腦、POWERPC獨佔通訊設備、ARM稱雄移動終端,以及8051/PIC/MSP430/ATMEL百花齊放單片機世界,重要的是CPU所擁有的生態環境。比如,一款通用的嵌入式CPU,需要讓開發者很方便地接觸到中文資料文檔、簡單易用的開源商業開發工具、固件庫、軟件庫、嵌入式OS和Linux以及豐富設計方案。

生態建設最漫長的環節是大學計劃。大學計劃做的好,學生從畢業開始,就已經掌握CPU的架構和使用方法。比如,高校的微機原理課程長期以X86和ARM爲基礎,嵌入式課程多是ARM架構,單片機課程除了ARM還有一些8051。

今天開源的RISC-V架構在高校很受歡迎。在嵌入式系統聯誼會組織的“RISC-V架構嵌入式開發研究與實踐技術沙龍”上,清華大學陳渝副教授指出,RISC-V來源於學校,已經經過長期探索。而且,它是開源的,學生可以接觸到關於它的所有信息,不像x86和Arm,很難深入瞭解更多細節。所以,RISC-V更容易開發應用軟件和操作系統。很多教師選擇RUST語言指導學生在RISC-V架構上寫一個小操作系統,高校關注RISC-V的老師們越多,或者開設的基於RISC-V課越多,將來畢業學生上手就越快。RISC-V中文圖書並不多,芯來科技創始人胡振波的兩本書是學習RISC-V的寶典。最近開始的由NXP發起的Open-ISA開源社區RISC-V MCU創新大賽也是RISC-V生態建設的很好的嘗試,希望能在更多的電子、嵌入式和物聯網大賽中看到RISC-V芯片的身影。

標準化還是多樣化?

現有的CPU架構多是通用性的。在IoT場景中,許多智能分析工作正在向邊緣轉移。根據特定的需求,使用RISC-V架構定製化IoT芯片更靈活,而且有針對性。現在RISC-V架構的設計,除了基礎的指令集保證系統軟件、開發環境的兼容性之外,它本身允許按照新的不同開發應用進行擴展,這樣可以保證IoT應用中的專用性需求。

NXP中國MCU高級經理梁平最近撰文指出:“對於這種非標準的部分,將較難受益於豐富的生態機制,其生產廠家自行提供相應的支持和配套的解決方案,例如需要修改編譯器以支持新的指令、需要增改配置調試工具以適應新的總線或存儲接口等。”

筆者觀察到,著名的嵌入式編譯器公司最近發佈的IAR Embedded Workbench for RISC-V也只能支持RV32IM/IMC/IMF/IMFC/IMFD/IMFDC基礎指令和標準擴展指令集。各種定製化的芯片只能支持該芯片企業自己維護的工具鏈,每家芯片公司維護自身RISC-V架構的編譯器、SDK、工具鏈,基於GCC、LLVM等實現開源化,是一個耗時耗力巨大的工程。期待未來RISC-V與Linux基金會的合作,帶來RISC-V軟件的突破。然而,要使RISC-V真正在商業基礎上起飛,還需要商業級工具和軟件。

物聯網和嵌入式將是RISC-V 最先落地和最大的應用市場。因爲生態的關係,相當一段時間內,RISC-V將與ARM同行發展,即一個設計中,既能使用ARM也能使用RISC-V,或者同一顆芯片裏,可以同時有兩種內核。RISC-V發展中要防範碎片化,聯盟應加強引導,先是做標準化,共同做大RISC-V蛋糕,然後纔是差異化。未來RISC-V生態環境要從圍繞芯片設計轉向開發者教育和實踐階段。據悉今年夏末,國內某著名MCU企業將推出RISC-V通用MCU,屆時RISC-V“談芯”將轉向“用芯”,智聯網時代的嵌入式開發者將更方便的評估和使用RISC-V這一新技術。

作者何小慶,系中國軟件行業協會嵌入式系統分會副理事長

從“談芯”走向“用芯”RISC-V未來前景光明?
相關文章