本篇文章將介紹:①RISC-V 指令集的起源和發(fā)展歷史,②討論各種RISC-V CPU核、SoC設(shè)計(jì)平臺(tái)和芯片產(chǎn)品的技術(shù)特點(diǎn)及選型要點(diǎn),③重點(diǎn)闡述RISC-V 給嵌入式系統(tǒng)帶來了益處,④RISC-V指令擴(kuò)展的特點(diǎn)與安全應(yīng)用。 本期第二篇推文還將介紹:⑤支持RISC-V開源和商業(yè)軟件開發(fā)工具和操作系統(tǒng)的現(xiàn)況,最后⑥展望RISC-V 在教育和產(chǎn)業(yè)應(yīng)用的發(fā)展趨勢(shì)。
引言
過去二十年ARM在移動(dòng)和嵌入式領(lǐng)域成果豐碩,IOT 領(lǐng)域正逐漸確定其市場(chǎng)地位,其他商用架構(gòu)(如MIPS)逐漸消亡。ARM在進(jìn)軍Intel所在的x86市場(chǎng),已經(jīng)對(duì)傳統(tǒng)PC和服務(wù)器領(lǐng)域造成一定壓力。RISC-V 開源指令集的出現(xiàn),引起了產(chǎn)業(yè)界的廣泛關(guān)注,科技巨頭很看重指令集架構(gòu)(CPU ISA)的開放性,各大公司正在積極尋找ARM之外的第二選擇,RISC-V成為必然選擇。RISC-V 被全球范圍內(nèi)的大學(xué)陸續(xù)采納為教材替代以前的MIPS和X86架構(gòu),政府和企業(yè)采納RISC-V為標(biāo)準(zhǔn)指令集,開源的CPU核和SoC芯片不斷涌現(xiàn),生態(tài)環(huán)境逐漸豐富,開發(fā)者社區(qū)愈來愈活躍。
什么是RISC-V ?
一個(gè)CPU支持的指令和指令的字節(jié)級(jí)編碼就是這個(gè)CPU的指令集(ISA),指令集在計(jì)算機(jī)軟件和硬件之間搭起了一個(gè)橋梁。不同的CPU家族:X86、PowerPC和ARM,都有不同的ISA,RISC-V 是其中唯一的開源ISA。
RISC-V 是一種開源的指令集架構(gòu),它不是一款CPU芯片,甚至不是一個(gè)完整的指令集,它是指令集規(guī)范和標(biāo)準(zhǔn)。RISC-V 起源于加州大學(xué)伯克利分校,在2010年夏季Krste Asanovic教授帶領(lǐng)他的兩個(gè)學(xué)生Andrew Waterman , Yunsup Lee啟動(dòng)了3個(gè)月項(xiàng)目 ,針對(duì)X86和ARM 架構(gòu)復(fù)雜和IP授權(quán)的原因,希望開發(fā)簡(jiǎn)化和開放的指令集架構(gòu)。
RISC-V基金會(huì)創(chuàng)建于2015年,是一家非盈利組織?;饡?huì)董事會(huì)由Bluespec、Google、Microsemi、NVIDIA、NXP、UC Berkeley、Western Digital 7家單位代表組成,主席目前是Krste Asanovi 教授,基金會(huì)為核心芯片架構(gòu)制定標(biāo)準(zhǔn)和建立生態(tài),標(biāo)準(zhǔn)是公開免費(fèi)下載?;饡?huì)旗下有400余家以上的付費(fèi)成員,包括高通、NXP、阿里巴巴和華為等,RISC-V 基金會(huì)成員可以使用RISC-V商標(biāo),RISC-V 采用開源BSD 授權(quán) ,任何企業(yè)、高校和個(gè)人都可以遵循RISC-V架構(gòu)指南設(shè)計(jì)自己的CPU。RISC-V基金會(huì)總部從美國(guó)遷往瑞士,并于2020年3月完成在瑞士的注冊(cè),基金會(huì)更名為RISC-V國(guó)際基金會(huì)(RISC-V International Association)2。
十年來RISC-V 蓬勃發(fā)展,在CPU IP核,平臺(tái)、SoC芯片和應(yīng)用上都有了相當(dāng)數(shù)量的發(fā)展,比如,應(yīng)用上有西部數(shù)據(jù)設(shè)計(jì)的SSD和HDD控制器,內(nèi)核是SweRV Core,中科藍(lán)芯開發(fā)的藍(lán)牙耳機(jī)芯片,嘉楠科技的K210 AIOT 芯片 ,南京沁恒電子的藍(lán)牙MCU、32位通用MCU和高速接口的MCU,它們的內(nèi)核都是RISC-V。
2021年9月1-3日,ELEXCON深圳國(guó)際電子展暨嵌入式系統(tǒng)展將專門打造『 RISC-V技術(shù)專區(qū) 』,匯聚行業(yè)內(nèi)領(lǐng)先企業(yè),全面展示RISC-V軟硬件開發(fā)、RISC-V開發(fā)工具、RISC-V處理器應(yīng)用、開源技術(shù)等新技術(shù)、新產(chǎn)品和新方案,迎接芯片行業(yè)發(fā)展的歷史性機(jī)遇!
▼2021部分參展商
RISC-V指令集介紹
RISC-V的指令集使用模塊化的方式進(jìn)行組織,每個(gè)模塊使用一個(gè)英文字母來表示。RISC-V最基本、也是唯一強(qiáng)制要求實(shí)現(xiàn)的指令集是由 I 字母表示的整數(shù)指令子集。使用該整數(shù)指令子集,便能夠?qū)崿F(xiàn)完整的軟件編譯器。其他的指令子集部分均為可選的模塊,其代表性的模塊包括M/A/F/D/C,比如 某款RISC-V 處理器內(nèi)核是RV32IMAC,即代表實(shí)現(xiàn)了I/M/A/C 指令集,。RISC-V 指令集發(fā)展變化中,32I和64I 已經(jīng)凍結(jié),MAFDQC指令擴(kuò)展是凍結(jié)了,指令集如32E,128I,LBJTPV和ZAM原子訪問擴(kuò)展還在開發(fā)中,指令集擴(kuò)展是RISC-V的技術(shù)特色,廣泛征求會(huì)員單位和產(chǎn)業(yè)界的意見是RISC-V發(fā)展合理的路徑 3 。
表1 RISC-V 部分指令集描述
RISC-V 處理器核、SoC 平臺(tái) 和SoC芯片
3.1 RISC-V 處理器核
在詳細(xì)闡述RISC-V 處理器嵌入式開發(fā)之前,我們首先梳理一下幾個(gè)概念:RISC-V 處理器核心(Core ,簡(jiǎn)稱核),SoC 平臺(tái) 和SoC芯片,以及開發(fā)者如何選擇它們。自RISC V 架構(gòu)誕生以來出,市場(chǎng)上已有數(shù)十個(gè)版本的 RISC -V 核和SoC芯片,它們中一部分是開源免費(fèi),某些是商業(yè)公司開發(fā)用于內(nèi)部項(xiàng)目的 ,還有商業(yè)公司開發(fā)的 處理器核和平臺(tái)。西部數(shù)據(jù)的SweRV架構(gòu)(RV32IMC)是一個(gè)32bit順序執(zhí)行指令架構(gòu),具有雙向超標(biāo)量設(shè)計(jì)和9級(jí)流水線,采用28nm工藝技術(shù)實(shí)現(xiàn),運(yùn)行頻率高達(dá)1.8GHz,可提供4.9 CoreMark/MHz的性能,略高于Arm的Cortex A15,已經(jīng)用在西部數(shù)據(jù)的SSD和HDD 控制器上使用,SweRV項(xiàng)目是開源的項(xiàng)目。
典型的開源的RISC-V 核有Rocket Core,它是美國(guó)加州大學(xué)伯克利分校開發(fā)一個(gè)經(jīng)典的RV64 設(shè)計(jì),伯克利分校還開發(fā)一個(gè)BOOM Core,它與Rocket Core不同的是面向更高的性能。蘇黎世理工大學(xué)(ETH Zurich)開發(fā)的Zero-riscy,它是經(jīng)典的RV32 設(shè)計(jì),蘇黎世理工大學(xué)另外一款R15CY Core,可配置成RV32E,面向的是超低功耗、超小芯片面積的應(yīng)該場(chǎng)景。由Clifford Wolf開發(fā)RISC-V Core PicoRV32,重點(diǎn)在于追求面積和CPU頻率的優(yōu)化。
開源的核用于研究和教學(xué)很合適,但是用于商業(yè)芯片設(shè)計(jì)還有許多工作要做。SiFive(賽昉科技)由Yunsup Lee創(chuàng)立,他也是RISC-V的創(chuàng)始人之一。2017年公司發(fā)布首個(gè)RISC-V核和SoC平臺(tái)家族,以及相關(guān)支持軟件和開發(fā)板,這些芯片包括采用28納米制造技術(shù)的64位多核CPU U500,支持Linux操作系統(tǒng),以及采用180納米制造技術(shù)的多外設(shè)低成本IoT處理器核 E300。開發(fā)RISC-V處理器核的廠商還包括Codasip、Syntacore、T-Head(平頭哥) Andes (晶芯科技),以及創(chuàng)業(yè)公司芯來科技和優(yōu)矽科技。
3.2 RISC-V SoC平臺(tái)
知名的RISC-V 處理器SoC 平臺(tái)有瑞士理工大學(xué)的PULPino ,開源項(xiàng)目LowRISC
以及Rocket Chip - 伯克利分校基于Chisel開發(fā)的開源SoC生成器。芯來科技胡振波發(fā)起的蜂鳥E200開源項(xiàng)目4,配合他的圖書,是在國(guó)內(nèi)知名度非常高的開源軟核SoC平臺(tái)之一。在64位SoC 平臺(tái)方面,平頭哥半導(dǎo)體發(fā)展很快,先后推出了玄鐵C906單核和玄鐵C910多核高性能64位 RISC-V 處理器。
圖1 蜂鳥E200 RISC-V 處理器
3.3 RISC-V SoC 芯片
RISC-V 處理器SoC芯片近年發(fā)展迅速,知名度較大的通用性SoC芯片有兆易創(chuàng)新開發(fā)的GD32VF103 MCU 芯片, 該芯片基于芯來Bumblebee 內(nèi)核(RV32IMAC)。GD32VF103系列提供了108MHz的運(yùn)算主頻,16KB到128KB的片上閃存和6KB到32KB的SRAM,有4個(gè)16位通用定時(shí)器,2個(gè)16位基本定時(shí)器和2個(gè)多通道DMA控制器。GD32VF103 MCU全新設(shè)計(jì)的中斷控制器(ECLIC)提供了多達(dá)68個(gè)外部中斷并可嵌套16個(gè)可編程優(yōu)先級(jí),以增強(qiáng)高性能控制的實(shí)時(shí)性。
GD32VF103 MCU開發(fā)板有GD32VF103V-EVAL全功能評(píng)估板以及GD32VF103-START入門級(jí)學(xué)習(xí)板。還有芯來科技開發(fā)RV-START ,以及Sipeed Longan Nano 開發(fā)板 5 和IAR 最新的 IAR RISC-V GD32 EVAL 評(píng)估套件6,見下圖。
圖2 IAR RISC-V GD32V 評(píng)估套件
嘉楠科技K210 是一個(gè)AIOT SoC 芯片,K210 包含 RISC-V 64 位雙核 CPU,采用雙RV64 GC Core,MAFD ISA 指令標(biāo)準(zhǔn)擴(kuò)展。K210 包含KPU 通用神經(jīng)網(wǎng)絡(luò)處理器,內(nèi)置卷積可以對(duì)人臉或物體進(jìn)行實(shí)時(shí)檢測(cè),K210 的FFT 加速器是用硬件的方式來實(shí)現(xiàn)7 。
NXP RV32M1 集成了4個(gè)核: RISC-V RI5CY 核, RISC-V ZERO-RISCY 核, ARM CortexM4 核和 ARM Cortex-M0+ 核。從專業(yè)人士視角看,RV32M1 更像是工程實(shí)驗(yàn)樣品,用來給開發(fā)者評(píng)估使用,為此NXP 為開發(fā)者創(chuàng)建https://open-isa.org/ 社區(qū),維護(hù)工具鏈和軟件生態(tài),通過贈(zèng)送開發(fā)板和舉辦大賽為開發(fā)者學(xué)習(xí)RISC-V 嵌入式開發(fā)提供了便利,在早期市場(chǎng)培育期發(fā)揮重要的作用 8,見下圖。
圖3 NXP RISC-V 織女星開發(fā)板
Microchip PolarFire SoC芯片是一款低成本, 多核RISC-V SoC FPGA,包含了4個(gè) 64-bit RV64GC RISC-V 應(yīng)用核,可運(yùn)行Linux, 一個(gè)單核 RV64IMAC 做實(shí)時(shí)和監(jiān)控任
務(wù), 這是一款適合工業(yè)控制和物聯(lián)網(wǎng)應(yīng)用的開發(fā)平臺(tái)。
3.4 RISC-V核、平臺(tái)和芯片究竟該如何選擇呢?
近期關(guān)注RISC-V處理器研究、開發(fā)和教學(xué)的人士開始增多,建議:
(1)。芯片設(shè)計(jì)者可選擇RISC-V 核 和SoC 平臺(tái) 構(gòu)建自己的芯片。比如,使用 PULPino 平臺(tái)開發(fā) SoC 芯片,內(nèi)核使用 RI5CY和Zero-risky,國(guó)內(nèi)企業(yè)和高校研究項(xiàng)目都有在使用。
(2)建議嵌入式和物聯(lián)網(wǎng)系統(tǒng)開發(fā)者使用 RISC-V SoC 芯片。比如,選擇GD32VF103 系列 MCU芯片做嵌入式項(xiàng)目開發(fā),GD32VF103有多款開發(fā)板和開發(fā)工具鏈支持。AIOT 應(yīng)用可以選擇 K210 ,K210開發(fā)軟件SDK 非常成熟,支持freertos 和裸機(jī),最近Linux 5.8 正式將K210 RISC-V 納入主線, K210 已經(jīng)成功應(yīng)用在人臉識(shí)別和智能抄表等機(jī)器視覺和機(jī)器聽覺領(lǐng)域。
(3)高校和研究機(jī)構(gòu)可以選擇開源RISC-V 核 在FPGA 平臺(tái)上進(jìn)行計(jì)算機(jī)體系架構(gòu)、操作系統(tǒng) ,編譯技術(shù)以及嵌入式系統(tǒng)教學(xué)和研究工作。比如,Arty FPGA 開發(fā)板上實(shí)現(xiàn)一個(gè) SiFive 開源Freeedom E310 微控制器的技術(shù)已經(jīng)非常成熟,相應(yīng)軟件工具鏈支持的很好 9, 見下圖。
圖4可以配置RISC-V 軟核的Arty FPGA 開發(fā)板
RISC-V 給嵌入式系統(tǒng)帶來的優(yōu)勢(shì)
我們上一節(jié)討論了RISC-V 處理器核、平臺(tái)和芯片 。很明顯,嵌入式與物聯(lián)網(wǎng)以及AIOT 是RISC-V 最活躍的應(yīng)用市場(chǎng),RISC-V給嵌入式系統(tǒng)帶來許多優(yōu)勢(shì),我僅就以下三點(diǎn)做個(gè)闡述:
(1)開源和免費(fèi)。開源是新的經(jīng)濟(jì)方式,是成功的商業(yè)之道, 也學(xué)生和工程師學(xué)習(xí)最佳途徑。ISA開源意味著開發(fā)者可以針對(duì)特定應(yīng)用場(chǎng)景,創(chuàng)造自己的芯片架構(gòu),免費(fèi)則可以降低芯片設(shè)計(jì)門檻,讓草根開發(fā)者進(jìn)入芯片設(shè)計(jì)領(lǐng)域。
(2)簡(jiǎn)單和靈活。RISC-V基礎(chǔ)的指令集有50條,模塊化的4個(gè)基本指令集能讓設(shè)計(jì)者。開發(fā)出很簡(jiǎn)化的RISC-V CPU,代碼密度低功耗很小的芯片,覆蓋從8051-ARM A系列 各種嵌入式處理器。
(3)高效和安全。RISC-V 通過預(yù)留編碼空間和用戶指令支持?jǐn)U展的指令集,通過指令集擴(kuò)展實(shí)現(xiàn)運(yùn)算加速和物聯(lián)網(wǎng)安全。物聯(lián)網(wǎng)保護(hù)的一種通用的途徑是分層,分為信任執(zhí)行環(huán)境(TEE)和非信任環(huán)境。RISC-V ISA的設(shè)計(jì)將TEE硬件要求定義為標(biāo)準(zhǔn)規(guī)范的一部分,可以在任何RISC-V 芯片上實(shí)現(xiàn),包括配置物理內(nèi)存保護(hù)(PMP), PMP類似 ARM處理器內(nèi)存保護(hù)單元(MPU)。
HEX-FIVE 公司在RV32 Core 做了IoT 分區(qū)保護(hù)的應(yīng)用案例 10,見下圖4,軟件可參考開源代碼https://github.com/hex-five/multizone-secure-iot-stack 。從圖中我們可以看到,SOC 芯片是X300 Bitstream ,采用是開源Rocket RV32IMAC 內(nèi)核。Digilent ARTY A7 FPAG開發(fā)板 ,配有以太網(wǎng)。軟件上 MultiZone 安全可信執(zhí)行環(huán)境 配置成4區(qū):
(1) Zone 1 區(qū),運(yùn)行FreeRTOS 有三個(gè)任務(wù),分別是CLI任務(wù), PWM LED任務(wù),機(jī)器人手臂控制任務(wù)。
(2) Zone 2區(qū),移植以太網(wǎng),運(yùn)行 PicoTCP 軟件協(xié)議,TCP信道進(jìn)行了TLS 加密。
(3) Zone 3區(qū): 運(yùn)行WolfSSL TLS 1.3 ,存儲(chǔ)信任根,加密密鑰,密碼以及受保護(hù)的文件等放在這個(gè)區(qū)域。
(4) Zone 4區(qū),UART 本地終端應(yīng)用。
圖5 MultiZone Security IoT Stack RISC-V 平臺(tái)應(yīng)用案例
更多技術(shù)干貨
更多內(nèi)容關(guān)于:⑤支持RISC-V開源和商業(yè)軟件開發(fā)工具和操作系統(tǒng)的現(xiàn)況,最后⑥展望RISC-V 在教育和產(chǎn)業(yè)應(yīng)用的發(fā)展趨勢(shì)。請(qǐng)見姊妹篇推文!
? ? ? ?責(zé)任編輯:tzh
?
評(píng)論