壹. RISC-V的簡(jiǎn)單介紹
RISC-V(念做 Risk-Five)是一種起源于UC Berkeley大學(xué),具有High Quality(高質(zhì)量)、No license fee(無(wú)授權(quán)費(fèi))、No Royalty(無(wú)權(quán)利金)等主要特點(diǎn)的RISC ISA(指令集架構(gòu)標(biāo)準(zhǔn))。
RISC-V標(biāo)準(zhǔn)是由非營(yíng)利性組織RISC-V基金會(huì)維護(hù)。RISC-V ISA適用于從微控制器到超級(jí)計(jì)算機(jī)的各種計(jì)算體系。在現(xiàn)今的RISC-V業(yè)界已經(jīng)有了很多商用及開(kāi)源的CPU core,工業(yè)界及學(xué)術(shù)界都在迅速采用該指令集架構(gòu),更重要是獲得越來(lái)越多高速成長(zhǎng)且用戶共享的軟件生態(tài)支持。更有趣的是,RISC-V生態(tài)是一個(gè)不斷演進(jìn)的,開(kāi)放,靈活共生的社區(qū)型“生命體”。
貳. RISC-V究竟有何不同之處
1、簡(jiǎn)潔
相較于其它商用的ISAs,RISC-V ISA要小很多
2、從零開(kāi)始的設(shè)計(jì)
明確的分離了User及privileged ISA
具有避免對(duì)micro-architecture及技術(shù)依賴性的特征
3、為了擴(kuò)展性及客制化而設(shè)計(jì)的模塊化ISA
小的標(biāo)準(zhǔn)化基本ISA,在此基礎(chǔ)上具有多種標(biāo)準(zhǔn)的擴(kuò)展
用于大量opcode space的sparse和variable-length instruction encoding
4、穩(wěn)定性
基本及標(biāo)準(zhǔn)擴(kuò)展ISA是固定不變的
通過(guò)可選擴(kuò)展而非更新ISA的方式來(lái)增加指令
5、通過(guò)社區(qū)進(jìn)行設(shè)計(jì)
由領(lǐng)先的行業(yè)或?qū)W術(shù)專(zhuān)家以及軟件開(kāi)發(fā)者組成的社區(qū)進(jìn)行設(shè)計(jì)
RISC-V的發(fā)展歷程
叁.RISC-V按照時(shí)間軸的演進(jìn)路線
從2015年8月成立RISC-V基金會(huì)后,RISC-V ISA正式從UC Berkeley開(kāi)始走向全世界,在世界范圍內(nèi)得到了極大的關(guān)注,下圖為RISC-V的演進(jìn)過(guò)程中重要的事件。
肆.RISC-V越來(lái)越流行的原因
工程技術(shù)人員有時(shí)候是“見(jiàn)木不見(jiàn)林”,RISC-V流行的趨勢(shì)不是因?yàn)樵谟幸恍〣enchmark方面有10%的提升或者在某一些應(yīng)用情況下能節(jié)省30%的功耗。這個(gè)趨勢(shì)的原因是新的商業(yè)模式的正在改變一切,新的模式是開(kāi)發(fā)者先選擇ISA,然后選擇一個(gè)Processor的合作伙伴或者干脆選擇自行開(kāi)發(fā),在此基礎(chǔ)上可以自主選擇是否添加自己的指令擴(kuò)展甚至做功能裁剪。
Moore’s law(摩爾定律)正逐漸在失效,因?yàn)榫腜PA(性能,功耗及面積)的提升,不再僅僅依靠芯片制造工藝的持續(xù)演進(jìn),從Intel,AMD等傳統(tǒng)處理器提供商最近新產(chǎn)品的發(fā)布就能明顯感覺(jué)得到。當(dāng)前PPA的提升很多都是基于晶片架構(gòu)的創(chuàng)新,各種AI處理器就是最好的例子, 當(dāng)前的AI晶片的架構(gòu)上有很多Coprocessor(協(xié)處理器),但似乎不需要在一顆芯片上有好多不同的ISA的Coprocessor(據(jù)統(tǒng)計(jì),今天的SoC平均采用6種不同的ISA),如果采用RISC-V ISA的Coprocessor,工程人員可以自由實(shí)現(xiàn)不同特定應(yīng)用的Coprocessor,添加不同的功能和標(biāo)準(zhǔn)擴(kuò)展指令,而全棧軟件依然可以在其上兼容運(yùn)行。在ISA發(fā)展的歷史上,也出現(xiàn)過(guò)開(kāi)源的ISA,例如很多年前Sun公司開(kāi)源了Sparc ISA,但是沒(méi)有像現(xiàn)在RISC-V那么受到關(guān)注和應(yīng)用,因?yàn)樵谀莻€(gè)時(shí)代,Moore’s law依然有效,市場(chǎng)還是沒(méi)有對(duì)新的計(jì)算體系架構(gòu)有那么多的需求。
在現(xiàn)實(shí)中,圍繞著私有ISA所建立起來(lái)的軟件生態(tài),絕大部分都是ISA所有公司之外的開(kāi)發(fā)者或者公司完成的,而不是擁有ISA的公司自己實(shí)現(xiàn)的。
一個(gè)優(yōu)秀ISA的定義和不斷優(yōu)化不是靠一家公司的技術(shù)專(zhuān)家和經(jīng)驗(yàn)積累能夠完成的,通常需要巨量的工作和知識(shí)經(jīng)驗(yàn)。對(duì)于一個(gè)開(kāi)放,自由的ISA,會(huì)有很多公司甚至是個(gè)人參與標(biāo)準(zhǔn)的制定,設(shè)計(jì)和維護(hù)提升,而不會(huì)像Intel,AMD,ARM公司那樣,只有他們公司的人員才能進(jìn)行其私有ISA的設(shè)計(jì)和相關(guān)工作。即便是某一家公司設(shè)計(jì)出來(lái)了ISA,但是ISA的驗(yàn)證工作量是難以估量的,我們面對(duì)的現(xiàn)實(shí)狀況是,在我們看來(lái)像Intel這樣的大公司所采用的如此成熟的私有化ISA設(shè)計(jì)出的處理器,依然會(huì)有很多嚴(yán)重的ISA層面的漏洞,這是因?yàn)镮ntel一家公司和技術(shù)團(tuán)隊(duì)是無(wú)法完成所有的驗(yàn)證工作的,而且私有的ISA是很難得到開(kāi)放社區(qū)共同的、透明的驗(yàn)證的。就像在開(kāi)源軟件的生態(tài)中,公司幾個(gè)人能夠利用社區(qū)中已經(jīng)成熟的開(kāi)源的軟件設(shè)計(jì)或者模塊,這樣就能大大縮短設(shè)計(jì)開(kāi)發(fā)周期和成本投入,真正得推動(dòng)新應(yīng)用的實(shí)現(xiàn)。
如果一個(gè)ISA是私有的話,人們無(wú)法保證它的延續(xù)性,它將和擁有它的公司所綁定,如果這家公司不再存在,那么大部分情況下這個(gè)私有化ISA也將隨之失去延續(xù)性,Alpha以及VAX ISA就是一個(gè)非常好的例子,他們隨著DEC公司的消亡而失去了延續(xù)性。
所以綜上所述,我們看不出除了出于知識(shí)產(chǎn)權(quán)保護(hù)的原因之外,從技術(shù)的角度來(lái)講沒(méi)理由需要一個(gè)封閉的私有化的ISA,需要請(qǐng)各位注意的是,ISA和Processor IP是有區(qū)別,不能等同來(lái)看待。我們?yōu)槭裁葱枰媚敲炊嗖煌腎SA,特別是那么多不同的私有化ISA呢?我們?yōu)槭裁床豢紤]使用同一個(gè)自由、開(kāi)放的ISA用于所有的應(yīng)用呢?我們認(rèn)為這就是RISC-V ISA越來(lái)越流行的原因。
伍.RISC-V的生態(tài)現(xiàn)狀
RISC-V的生態(tài)現(xiàn)狀
陸.RISC-V ISA設(shè)計(jì)認(rèn)證及擴(kuò)展的過(guò)程
RISC-V的生態(tài)是如何通過(guò)基金會(huì)運(yùn)營(yíng)組織及社區(qū)討論及共同開(kāi)發(fā)的方式進(jìn)行演進(jìn)的,這也決定RISC-V ISA所獲得的參與度必將飛速成長(zhǎng)。以下,我們將通過(guò)RISC-V基金會(huì)運(yùn)做方式進(jìn)行分別說(shuō)明。
RISC-V ISA標(biāo)準(zhǔn)的形成過(guò)程
RISC-V ISA 標(biāo)準(zhǔn)的形成總結(jié)來(lái)講其實(shí)就是“大家一起來(lái),不斷迭代反復(fù)實(shí)踐,最終一起標(biāo)準(zhǔn)化”,過(guò)程步驟如下:
定義需求
收集輸入,舉行會(huì)議,“白板級(jí)”參數(shù)設(shè)計(jì),完成并公開(kāi)發(fā)布穩(wěn)定的標(biāo)準(zhǔn)初稿
根據(jù)標(biāo)準(zhǔn)初稿進(jìn)行設(shè)計(jì)硬件實(shí)現(xiàn)
根據(jù)實(shí)施的硬件進(jìn)行軟件實(shí)現(xiàn)
進(jìn)行軟硬件的聯(lián)合評(píng)估,可能需要重新回到以上第2步進(jìn)行多次迭代
RISC-V技術(shù)研究小組決定推進(jìn)該ISA標(biāo)準(zhǔn)的批準(zhǔn)工作
RISC-V技術(shù)委員會(huì)將該ISA標(biāo)準(zhǔn)提交RISC-V基金會(huì)董事會(huì)
RISC-V基金會(huì)董事會(huì)進(jìn)行投票批準(zhǔn)
RISC-V社區(qū)設(shè)計(jì)按照批準(zhǔn)后的標(biāo)準(zhǔn)進(jìn)行實(shí)現(xiàn),并進(jìn)行合規(guī)性測(cè)試
最終完成ISA標(biāo)準(zhǔn)的替換
柒.Edge Computing(邊緣計(jì)算)對(duì)處理器的需求
機(jī)器學(xué)習(xí)在當(dāng)前的AI應(yīng)用中快速的發(fā)展,系統(tǒng)也會(huì)增加更多智能功能。但是在云端的系統(tǒng)(例如數(shù)據(jù)中心)和邊緣系統(tǒng)(例如IoT設(shè)備)對(duì)運(yùn)算能力的需求是不同的,在云端可以采用大型高效的GPU來(lái)提供千萬(wàn)億次的浮點(diǎn)運(yùn)算能力,Google的TPU 3.0的單芯片的浮點(diǎn)運(yùn)算能力遠(yuǎn)遠(yuǎn)超過(guò)100 Petaflops (一千萬(wàn)億的浮點(diǎn)運(yùn)算),用于深度學(xué)習(xí)或者進(jìn)行推理。但是在邊緣系統(tǒng)中,就很難采用功耗高的類(lèi)似GPU或TPU的方案。系統(tǒng)開(kāi)發(fā)人員必須要考慮采用效率更加高的解決方案,除了滿足計(jì)算精度問(wèn)題外,必須考慮實(shí)際應(yīng)用場(chǎng)景對(duì)設(shè)備功耗,安裝尺寸以及綜合成本的問(wèn)題。
將AI優(yōu)勢(shì)擴(kuò)展至邊緣設(shè)備,取代以云端為基礎(chǔ)的資源,能夠大幅降低功耗,同時(shí)縮短反應(yīng)時(shí)間。 同時(shí),本地?cái)?shù)據(jù)儲(chǔ)存和處理不僅提高安全性,更節(jié)省寶貴的帶寬。通過(guò)將 AI整合至邊緣設(shè)備中,即使在網(wǎng)絡(luò)關(guān)閉以節(jié)省功耗的情況下,也能實(shí)現(xiàn)實(shí)時(shí)工作的智能功能。
低功耗解決方案可于網(wǎng)絡(luò)邊緣實(shí)現(xiàn)各類(lèi)應(yīng)用。例如,智能門(mén)鈴可通過(guò)嵌入式AI功能自動(dòng)進(jìn)入待機(jī)模式,直到感應(yīng)到有人出現(xiàn);智能電視在沒(méi)有觀眾觀看的情況下自動(dòng)關(guān)機(jī);AI安防攝像頭,只在出現(xiàn)入侵者時(shí)才發(fā)出警報(bào),而不是因?yàn)樽约杭依锘蛘哙従蛹依锕贰⒇埖绕渌麆?dòng)物經(jīng)過(guò)而出現(xiàn)在攝像頭前的誤報(bào)。搭載臉部識(shí)別的移動(dòng)設(shè)備和平板電腦需要用戶在進(jìn)行臉部識(shí)別前喚醒裝置。該解決方案讓這一類(lèi)設(shè)備能夠在低功耗的狀況下持續(xù)偵測(cè)人臉,再喚醒高功耗應(yīng)用處理器執(zhí)行深度識(shí)別任務(wù)。
在邊緣設(shè)備的芯片中很多都是以神經(jīng)網(wǎng)絡(luò)(NN)硬件進(jìn)行機(jī)器學(xué)期,這樣就有需求為神經(jīng)網(wǎng)絡(luò)配置硬件加速器,RISC-V CPU中的ALU(算數(shù)邏輯單元) 就可以達(dá)到這樣的需求。在這樣的應(yīng)用中,RISC-V體現(xiàn)出了非常精簡(jiǎn)高效的基礎(chǔ)指令的特點(diǎn),用最少的資源進(jìn)行運(yùn)算。在基礎(chǔ)指令之上,開(kāi)發(fā)人員通常采用各種標(biāo)準(zhǔn)的ISA Extension。例如采用Vector Extension ISA(向量擴(kuò)展ISA)來(lái)增強(qiáng)RISC-V處理器,神經(jīng)網(wǎng)絡(luò)的矩陣運(yùn)算的效率是通過(guò)從RISC-V ALU傳輸矩陣數(shù)據(jù),再通過(guò)Vector Extension ISA減少甚至消除循環(huán),memory load store(內(nèi)存存?。┮约癮ddress mapping(地址映射)產(chǎn)生的成本等方法來(lái)提升的。
捌.Edge Computing中至關(guān)重要的Security問(wèn)題
Security對(duì)于邊緣計(jì)算而言至關(guān)重要。那么RISC-V能否為Edge Computing提供可靠安全的整體方案?一個(gè)安全的RISC-V系統(tǒng)究竟有哪一些組件?還有哪一些新的安全技術(shù)?
當(dāng)前RISC-V的體系中有哪一些安全組件
RISC-V ISA中有3種模式,分別為User(用戶), Supervisor(管理員)以及 Machine(機(jī)器) 模式。
PMP(Physical Memory Protection) ,采用基礎(chǔ)加邊界的方案,沒(méi)有轉(zhuǎn)換,除非系統(tǒng)重置,否則禁止所有的訪問(wèn),包括所有模式下程序?qū)︽i定memory區(qū)域的訪問(wèn)。
有2個(gè)保護(hù)邊界,第一個(gè)為在Supervisor和User模式之間具有保護(hù),第二個(gè)為PMPs (Physical memory protection) 機(jī)制保護(hù)所有的訪問(wèn)。
地址轉(zhuǎn)換和保護(hù),是基于標(biāo)準(zhǔn)頁(yè)面的方案。
RISC-V的一些新的安全技術(shù)
傳統(tǒng)的計(jì)算的安全性不夠,因?yàn)閹缀跛械某绦蚨寄塬@取到程序代碼和數(shù)據(jù),編譯器和連接器將源碼模塊合并成單個(gè)二進(jìn)制文件;各個(gè)功能模塊(如Stack,Heap,Buffers)通過(guò)共享存儲(chǔ)單元來(lái)通信;任何bit的源碼都能得到任何bit的數(shù)據(jù);任何一個(gè)錯(cuò)誤指令能夠癱瘓整個(gè)系統(tǒng)(如DOS)。
而RISC-V的Security Technical Group(安全技術(shù)組)中的成員 HEX Five公司,他們提出了一個(gè)更好的方法,也就是Multi-domain Trusted Execution Environment(多區(qū)域信任執(zhí)行環(huán)境),該技術(shù)也是基于RISC-V標(biāo)準(zhǔn)擴(kuò)展指令。在2018年,Hex Five先后宣布完成了基于集成SiFive RISC-V CPU以及Andes RISC-V CPU的晶片開(kāi)發(fā)了類(lèi)似ARM TrustZone的Trusted Execution Environment。
玖.RISC-V在Edge Computing中的一些應(yīng)用案例
Canaan發(fā)布的Kendryte K210芯片
Kendryte K210芯片是一個(gè)非常典型的RISC-V應(yīng)用于Edge Computing的案例。其應(yīng)用包括:目標(biāo)檢測(cè),目標(biāo)識(shí)別,聲源定位,聲場(chǎng)成像,語(yǔ)音識(shí)別。該SoC晶片的主要組成模塊為:
RISC-V CPU:雙核64bit RISC-V處理器,提供了高性能,高帶寬,高吞吐能力
KPU:神經(jīng)網(wǎng)絡(luò)加速單元,達(dá)到1 TOPS 0.35W@400MHz
APU:音頻處理器,支持8路麥克風(fēng)陣列預(yù)處理流程
FFT:512點(diǎn)FFT加速,高吞吐能力,支持16位定點(diǎn)運(yùn)算
FPU:高性能浮點(diǎn)運(yùn)算處理單元,雙精度浮點(diǎn),單精度浮點(diǎn)加速
Kendryte K210芯片主要組成模組
圖片來(lái)源:Canaan Creative
Kendryte K210借助RISC-V的開(kāi)源生態(tài),支持多種即時(shí)操作系統(tǒng)(RTOS),包括FreeRTOS,RT-Thread, XBoot, Zephyr, SylixOS等。
BITMAIN發(fā)布的Sophon BM1880芯片
BM1880是一個(gè)Coprocessor,在實(shí)際應(yīng)用時(shí)需要和類(lèi)似Camera SoC這樣的Host進(jìn)行連接,數(shù)據(jù)通過(guò)USB或者Ethernet進(jìn)行傳輸,Edge Inference可以在BM1880上完成。應(yīng)用場(chǎng)景主要是Camera(攝像頭),Robot(機(jī)器人),Drone(無(wú)人機(jī))。該SoC晶片的的主要組成模塊為:
雙核ARM A53處理器
單核64bit RISC-V處理器
16/32bit, 1866/3200MHz, DDR3/LPDDR3/DDR4/LPDDR4
TPU: 運(yùn)算能力達(dá)到1 TOPS@INT8,Winograd convolution達(dá)到2 TOPS
On chip memory size:2MB
Video Decoder/Image Codec/VPP:支持2 ways 1080p@30fps H264 decode; JPEG Encode/Decode; Hardware video processing
Interface: Ethernet and USB3.0用于視頻數(shù)據(jù)的傳輸
讓我們來(lái)分析一下,BM1880使用的RISC-V core,采用了單核64bit CPU core,按照實(shí)際應(yīng)用選擇的ISA為RV64 IMAFDC, 最高頻率達(dá)到1GHz,16KiB L1 I-Cache/16KiB L1 D-Cache, RISC-V CPU和VAD (Voice Automatic Detection)模塊配合使用,提供很好的低功耗及VAD的硬件加速能力。我們進(jìn)一步來(lái)分析,RISC-V的模塊化,靈活配置的ISA究竟能夠給BM1880帶來(lái)什么好處。
選擇了M extension ISA是因?yàn)?,M extension提供了整數(shù)乘法及除法運(yùn)算能力,能提供高性能的乘法及除法運(yùn)算的硬件加速功能;
選擇A extension是因?yàn)閼?yīng)用的軟件以及操作系統(tǒng)需要CPU支持Atomic Operation(原子操作);
選擇同時(shí)支持F及D extension是因?yàn)樾枰玫絾尉燃半p精度浮點(diǎn)運(yùn)算能力;
選擇C extension是因?yàn)榭梢阅軌蛲ㄟ^(guò)該壓縮指令擴(kuò)展,在編譯器編譯代碼時(shí)得到更高的code density(代碼密度)和更高的運(yùn)行效率;
拾. 總結(jié)
RISC-V ISA在當(dāng)前的行業(yè)應(yīng)用中,主要是嵌入式應(yīng)用為主,在嵌入式應(yīng)用中,由以用于邊緣計(jì)算設(shè)備為主,邊緣設(shè)備的AI及Inference(推理)深度結(jié)合的設(shè)計(jì)架構(gòu),在未來(lái)很長(zhǎng)一段時(shí)間內(nèi),都將是保持高增長(zhǎng)的趨勢(shì),這是RISC-V技術(shù)與Edge Computing最好的結(jié)合點(diǎn),我們可以預(yù)期在2019年RISC-V將Vector Extension ISA 標(biāo)準(zhǔn)批準(zhǔn)通過(guò)后,有更多的Core以及軟體出現(xiàn),將更有利于邊緣計(jì)算晶片PPA和靈活度的提升,一定將助力其更上一層樓。
-
微控制器
+關(guān)注
關(guān)注
48文章
7552瀏覽量
151423 -
RISC-V
+關(guān)注
關(guān)注
45文章
2277瀏覽量
46159 -
邊緣計(jì)算
+關(guān)注
關(guān)注
22文章
3092瀏覽量
48963
原文標(biāo)題:RISC-V令A(yù)I邊緣計(jì)算晶片發(fā)展更上一層樓
文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論