芯片已廣泛應用于智能手機、計算機、汽車、醫療設備等領域,推動世界數字化發展進程。芯片的制造和設計已成為現代科技競爭的核心領域,各國都在爭奪領先地位。
目前指令集架構包括復雜指令集架構(CISC)x86,精簡指令集架構(RISC)ARM、MIPS、RISC-V等。RISC-V是一套開放標準指令集架構,具有開源、指令精簡、模塊化、可擴展的特點,已形成與Intel X86、ARM競爭的格局。
RISC-V作為新興的開源指令集架構,其內核技術已相對成熟,但要在市場上得到用戶認可,技術生態的完備性是必不可少的。與成熟的X86和ARM相比,RISC-V發展時間相對較短,生態還相對不夠成熟穩定。
“先見森林,后見樹木”,本文介紹RISC-V指令集架構優勢和構成,從宏觀角度描述整個芯片產業生態技術體系,描述行業發展趨勢和技術創新方向,力圖讀者對RISC-V的發展有全面認識。
(一)RISC-V指令集架構優勢
ISA指令集架構是一套規范體系,除了一般意義上的指令集合,還規定指令集的結構和組織方式,包括指令集特性、操作數形式、內存模型、特權模式、異常處理等。ISA定義一套標準接口,使軟件可以在具有相同ISA不同處理器之間互相移植,無需關注底層處理器的具體實現。
RISC-V ISA在設計之初,就秉承精簡和開放的理念。與ARM和X86等傳統指令集架構相比,RISC-V沒有沉重歷史包袱,設計可以更加專注精簡和高效。此外,RISC-V從其他指令集發展歷史中吸取成熟經驗,避免走彎路,直接形成符合時代需求的指令集架構。
在商業方面,RISC-V ISA是開放且免版稅,任何組織和個人均可以從其知識產權中受益。使全球眾多企業和個人參與到RISC-V開發中,推動RISC-V快速發展;另一方面也使RISC-V芯片在全球范圍內自由流通,進一步擴大了RISC-V應用范圍。
在技術方面,RISC-V具有模塊化、可擴展的特點,指令集模塊可以根據用戶需求自由組合,并允許擴展。這種設計使RISC-V可以靈活地適應場景需求,高效地進行性能優化和功能擴展。
(二)RISC-V非特權架構
RISC-V非特權架構定義了在沒有特權級別情況下,RISC-V指令集架構的行為和功能。非特權架構允許用戶程序直接訪問內存和寄存器,但不允許用戶程序修改特權級指令或控制處理器和內存等資源。非特權架構包括非特權指令和非特權狀態執行環境。非特權指令可以執行所有非特權操作,包括算術和邏輯指令、寄存器訪問指令、內存訪問指令等。執行環境包括處理器狀態和控制寄存器,以及內存和I/O空間。非特權架構還定義了異常和中斷處理機制、系統調用接口以及自定義擴展指令等。
RISC-V非特權架構規范中所包含的ISA模塊包括基礎和擴展兩大類,基礎類ISA模塊為處理器必須實現的部分,擴展類ISA模塊則可以根據實際需求進行組合。
(三)RISC-V特權架構
RISC-V特權架構定義了處理器在特權級別下使用的指令和功能,包括一系列特權指令和特權擴展,這些指令和擴展用于支持操作系統運行和與外部設備交互。特權架構還定義了如何訪問物理內存和寄存器,以及如何處理異常和中斷等。
RISC-V特權架構ISA模塊包含三個基礎ISA即Machine ISA、Supervisor ISA和Hypervisor ISA,分別對應機器模式、監督模式和虛擬化模式三種特權模式,除此之外,RISC-V還支持用戶模式。機器模式具有最高權限,在該模式下具有對內存、IO等所有底層資源完全的使用權限,所有RISC-V處理器均需要支持該模式;用戶模式是最低級別特權模式,僅能使用最基本指令,并且資源訪問也非常受限。通過機器模式組合虛擬化模式、監督模式和用戶模式,滿足不同安全需求的處理器設計。
RISC-V技術生態結構大致如下:
RISC-V ISA處于基礎核心層,聯結芯片硬件和軟件;
芯片實現由芯片設計、芯片制造、封裝測試流程實現;
軟件層處于中間支撐層;
應用通過設備形成實體,提供給最終用戶。
(一)芯片實現生態
芯片生產流程包括芯片設計、芯片制造、芯片封裝和測試等多個產業鏈環節,芯片設計需要EDA軟件,在無實物、滿足代工廠工藝要求下,可靠、高效的完成芯片設計工作。
1.EDA軟件
EDA全稱為電子設計自動化(Electronic Design Automation),為芯片設計工程師提供開發工具及平臺,輔助工程師完成芯片設計、制造、封裝、測試等整個流程的計算機軟件工具集群。目前主要由Synopsys、Cadence和Mentor公司占據市場主要份額。
隨著越來越多企業采用RISC-V架構,企業在創新方面也提出更高要求,這種變化為國內EDA廠商提供新的機遇,國內EDA廠商能夠提供更好的技術支持和服務,幫助國內芯片設計企業提升設計效率和降低成本,在此大環境下,國內涌現出一批EDA廠商包括華大九天、廣立微、芯和半導體等。
2. RISC-V IP
RISC-V內核IP基于RISC-V ISA開發。由于RISC-V ISA的特點,RISC-V內核IP具有高效、靈活和可定制化的優勢。目前已有多款商業RISC-V IP,包括晶心科技N22/ N25F/D25F/N45/D45系列,芯來科技N100/N200/N300/ N600/N900系列,賽 科技 ·天樞-90與 ·天樞-80,以及平頭哥玄鐵系列。基于商業IP,芯片廠商可以快速推出AI、MCU、通信、藍牙等芯片。
開源RISC-V 內核IP有Rocket、C-SKY、Freedom、Boom等,開源RISC-V內核IP在學術研究中發揮巨大作用,為學術界提供了一個靈活、可定制的研究平臺,研究者可以根據自己的需求和目標,進行深入研究和實驗,探索新的設計理念和實現方法,推動芯片各項技術發展。
(二)軟件生態
目前RISC-V軟件生態在基金會和眾多開發者推動下快速進入成熟期,從底層驅動到上層應用、周邊工具,適配程度已經相對完善。
1. 模擬器
模擬器是一種軟件程序,可以模擬處理器的行為和功能,提供虛擬計算機系統環境。通過模擬器,開發人員可以在虛擬環境中測試和驗證處理器的指令集設計和硬件平臺。
目前主流模擬器QEMU、SPIKE、Sparta等均已經支持了RISC-V,并且隨著RISC-V規范更新而不斷演進,各個內核廠商也有支持自家內核的專用模擬器。南京大學開源項目NEMU模擬器,因其簡單高效調試方便,在香山處理器項目中得到了應用。
2. Bootloader
Bootloader是嵌入式系統啟動時首先運行的一段代碼,主要負責硬件初始化,如內存、屏幕等,并將操作系統內核映像從硬盤上加載到RAM中,跳轉到內核入口點,啟動操作系統。
RISC-V目前已適配了常見bootloader項目如uboot、Coreboot、BBL,同時RISC-V官方提供了符合RISC-V SBI規范的開源參考實現——OpenSBI,實現機器模式下的特定固件引導操作系統,管理監督模式、用戶模式特權等級下的程序。
3. Hypervisors
Hypervisors,也稱為虛擬機監控器,它允許在一個物理硬件平臺上同時運行多個隔離的虛擬環境。這些虛擬環境通常被稱作虛擬機(VMs),每個虛擬機都運行著自己的操作系統和應用程序,但共享物理硬件資源。
RISC-V的Hypervisors ISA專門用于處理虛擬化場景,通過虛擬化監督模式架構,以支持在I型或II型的虛擬機上高效管理客戶操作系統。目前KVM、RVirt、Xvisor等虛擬機程序已經完成了適配。
(一) 向高性能領域邁進
目前,全球基于RISC-V的處理器已超過100億顆,涉及物聯網、AI、汽車電子、消費電子等領域,但在手機移動終端、服務器等領域,依然沒有看到RISC-V的身影,RISC-V生態各參與方已開始向高性能產品領域拓展。
(二) 開源生態日趨繁榮
基于RISC-V指令集的開源生態,將芯片設計門檻降低幾個數量級:3-5人的小團隊在3-4個月內,只需幾萬元便能研制出一款有特點的芯片,這吸引了大量人員投入芯片產業。中科院計算所開展了“一生一芯”計劃、開源高性能RISC-V處理器“香山”項目、芯片敏捷設計云平臺SERVE、開源EDA工具鏈、SNN擴展指令集等工作。復旦大學韓軍教授團隊基于OpenXuantie RISC-V處理器進行DSA敏捷開發方法與實踐。騰訊公司高劍林團隊探索芯片設計交付過程中的敏捷設計,包括芯片架構和建模的敏捷探索、驗證過程中敏捷驗證(混合驗證)、芯片交付后敏捷適配業務和落地。在中國芯片發展大背景下,一批批企業和從業者在積極推進RISC-V開源生態建設,這也將推動我國芯片行業、數字經濟產業的發展與繁榮。
作者單位:柳耀勇,王研博,楊龍波,劉勇 芯昇科技有限公司
石明洋 中國移動通信集團北京有限公司