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