浅析 RISC-V 生态架构
RISC-V 生態架構淺析
前言
RISC-V最近越來越多的出現在科技新聞中,大量的公司加入到RISC-V研究和生產中。在越來越多的RISC-V研究熱下,毋容置疑的是RISC-V的時代即將到來。讓我們在這浪潮翻滾起來前,一起掀開RISC-V的神秘面紗,提前了解一下RISC-V究竟是什么。
什么是RISC-V
RISC-V應該泛指RISC-V指令集及其衍生出來的一系列生態。而RISC-V指令集,類似于INTEL的X86 ,ARM指令集,是一個被CPU讀取到內存后,指導計算機運行的指令集合。實現了該指令集的CPU,能執行指令集中規定的所有基本指令,使按該套指令集編譯的程序能夠無障礙運行,且具有同系列CPU可移植和兼容性。
指令集有點類似于HTML規范,只是定義了基本的語法和規則。各個瀏覽器廠商依據該規范,自行投入研發能力實現出不同的產品,如下圖所示。同一套HTML5規范,各個瀏覽器開發商實現的質量各有千秋,很顯然讓前端開發崩潰的IE已經如圖所示自殺了,微軟Edge已經轉向了Chrome的懷抱。
在芯片領域,應用范圍最廣的指令集都是收費的(X86基本不對外授權,ARM費用相當不菲),你能想象HTML5標記語言需要花幾百萬上千萬美元授權才能開發瀏覽器嗎?這真的是難以想象!所以芯片設計領域迫切需要一個行業認可的,高品質的指令集,它應該是OPEN的,免費的,一個世界范圍可以參考使用的芯片指令標準。
RISC-V指令集正式因為伯克利大學想開發一款CPU時,要么是一些老舊的架構,要么收費昂貴,芯片設計領域亟需一個開源的指令集。神說要有光,就有了光,神說要有空氣,就有了空氣,神說要有好的開源指令集,于是就有了RISC-V,沒有好的輪子就造個輪子。RISC-V基金會就如W3C,RISC-V指令集就如HTML5,HTML5掀起了web領域的一場革命,RISC-V也將帶來芯片領域的一場革命。
為什么不自己設計一套指令集?
目前應用領域最流行的兩大指令集是X86和ARM,一個主宰服務器和PC,另一個主宰移動領域。X86被Intel,&AMD兩家美國公司壟斷; ARM指令集以前是英國的,現在已經被日本軟銀收購。而特朗普貿易戰多動癥發作的時候,這些指令集都被限制對華為授權或者銷售。因為他們很大一部分都在美國霸權主義的控制范圍之內。
很多人會問,RISC-V也是美國人發起的,話語權依然在美國人手里面。為啥中國不自己搞一套指令集,即便從RISC-V借鑒一下,搞個CRISC-6也可以。據說RISC-V第一版本指令集伯克利大學4個人從設計到發布只用了3個月。
這個就和HTML5標準是類似的,全球的瀏覽器應該基于一套免費的,開放的W3C制定的標準,而不是另起爐灶各自開發。否則你將不能得到大量開源社區的支持,如Linux社區,JDK相關支持,你將在全球首肯的生態圈外,最終要死不活。就像IE的自定義HTML標記,除非有個微軟這樣的好爸爸才有人基于你進行開發。然而即使IE有個好爸爸,最后還是掛了,因為對W3C的兼容性太差,讓開發者痛苦的技術一定會被拋棄!故而處理器架構必須是全球范圍的一個通用架構,必須獲得生態支持,指令集不難,難得是成為事實標準并被全球采納,被頂級工程師和開源社區主動提供適配支持。
世界需要技術標準,從IEEE,W3C到5G。技術標準可以讓世界溝通更加流暢,節省更多的開發成本!
BSD協議,在RISC-V指令集基于這一開源領域非常自由的開源協議發布時,我們暫且相信這一指令集如該協議聲明的那樣開放。在RISC-V發展進程中,去擁抱它,發展它,合作構建一套自主可控且全球公認的指令集生態。如果有一天被限制了,基于BSD協議去兼容它。畢竟按常理國外一開源,國內就自主這個套路還是可以繼續使用的。何況RISC-V本身只是一套指令集標準和規范。
緣起
該項目2010年始于加州大學柏克萊分校,但許多貢獻者是該大學以外的志愿者和行業工作者。
在2010年,伯克利研究團隊要設計一款CPU,然而,英特爾對X86的授權卡的很嚴,ARM的指令集授權很貴,MIPS、SPARC、Open Power也都需要各自的公司授權。在選擇很有限的情況下,伯克利的研究團隊決定從零開始設計一套全新的指令集。而被很多媒體大肆宣揚也讓人振奮的是,伯克利的研究團隊4名成員僅用了3個月就完成了RISC-V的指令集開發,并公開發布了第一版指令集。正如行業內常說的,設計一套指令集并非黑科技,用這套指令集去實現CPU 才是真正具有含金量的工作。該指令集的第一個版本只包含了不到50條指令,可以用于實現一個具備定點運算和特權模式等基本功能的處理器。目前,伯克利研究團隊已經完成了基于RISC-V指令集的順序執行的64位處理器核心(代號為Rocket),并前后基于45nm與28nm工藝進行了12次流片。Rocket芯片主頻1GHz,與ARM Cortex-A5相比,實測性能較之高10%,面積效率高49%,單位頻率動態功耗僅為Cortex-A5的43%。在嵌入式領域,Rocket已經可以和ARM爭市場了。
RISC-V指令集具有性能優越,徹底免費開放兩大特征。RSIC-V的設計目標是能夠滿足從微控制器到超級計算機等各種復雜程度的處理器需求,支持從FPGA、ASIC乃至未來器件等多種實現方式,同時能夠高效地實現各種微結構,支持大量定制與加速功能,并與現有軟件及編程語言可良好適配。
PS:伯克利大學世界大學排名世界第4、世界大學學術排名世界第5。
發展
RISC-V產業生態正進入快速發展期。加州大學伯克利分校在2015年成立非盈利組織RISC-V基金會,該基金會旨在聚合全球創新力量共同構建開放、合作的軟硬件社區,打造RISC-V生態系統。三年多來,谷歌、高通、IBM、英偉達、NXP、西部數據、Microsemi、中科院計算所、麻省理工學院、華盛頓大學、英國宇航系統公司等200多個企業和研究機構先后加入了RISC-V基金會。
RISC-V大事件
RISC-V 基金會
在RISC-V誕生5年后,2015年RISC-V基金會成立。有超過275個成員致力于建立第一個開放的,合作的軟硬件創新社區。RISC-V ISA誕生于學術界和研究界(加州伯克利分校EECS系的計算機科學部),為未來50年的計算相關的設計與創新鋪平了道路。
RISC-V基金會是一個由其成員控制的非營利性公司,指導RISC-V未來的發展,并推動RISC-V ISA的被更大范圍的采用。RISC-V基金會的成員可以訪問和參與RISC-V ISA規范和相關的HW/SW生態系統的開發。該基金會有一個董事會包括七個代表,分別來自Bluespec公司、谷歌、Microsemi、Nvidia、NXP、加州伯克利大學、和西部數據。
每年RISC-V基金會都會舉辦全球活動,將不斷增長的生態系統整合在一起,討論當前和未來的RISC-V項目和實現,以及共同推動未來的指令集體系結構(ISA)的演進?;顒訒h的特色是主要的技術公司和研究機構討論:RISC-V體系結構、商業和開源實施、軟件和硅半導體、向量和安全、應用程序和加速器、模擬基礎設施等。訪問事件處理頁面了解更多信息。
RISC-V 指令特點
1 設計哲學-簡單就是美
大道至簡,在IC設計的實際工作中,最簡潔的設計往往是最可靠的,在大多數的項目實踐中一次次的得到檢驗。
IC設計的工作性質非常特殊,其最終的產出是芯片,而一款芯片的設計和制造周期均很長,無法像軟件代碼那樣輕易的升級和打補丁,每一次芯片的改版到交付都需要幾個月的周期。不僅如此,芯片的一次制造成本費用高昂,從幾十萬美金到百千萬美金不等。這些特性都決定了IC設計的試錯成本極為高昂,因此能夠有效的降低錯誤的發生就顯得非常的重要。
1.1 無病一身輕——架構的篇幅
后發優勢,RISC-V設計汲取X86和ARM架構中的經驗,前人踩過的坑不用再犯,同時無需向下兼容老舊的設計和已經過時的指令。想想去看一本架構文檔,里面一大半的篇幅都在講過時的指令和設計,是不是感覺寶貴的時間都被浪費了。
在處理器領域,目前主流的架構為x86與ARM架構。經過幾十年的發展,現代的x86與ARM架構的架構文檔長達幾百數千頁。打印出來能有半個桌子高,可真是“著作等身”。之所以現代x86與ARM架構的文檔長達數千頁,且版本眾多,一個主要的原因是因為其架構的發展的過程也伴隨了現代處理器架構技術的不斷發展成熟。并且作為商用的架構,為了能夠保持架構的向后兼容性,其不得不保留許多過時的定義,或者在定義新的架構部分時為了能夠將就已經存在的技術部分而顯得非常的別扭。久而久之就變得極為冗長。
而現在才推出的RISC-V架構,則具備了后發優勢,由于計算機體系結構經過多年的發展已經成為比較成熟的技術,多年來在不斷成熟的過程中暴露的問題都已經被研究透徹,因此新的RISC-V架構能夠加以規避,并且沒有背負向后兼容的歷史包袱,可以說是無病一身輕。
目前的“RISC-V架構文檔”分為“指令集文檔”(riscv-spec-v2.2.pdf)和“特權架構文檔”(riscv-privileged-v1.10.pdf)。“指令集文檔”的篇幅為145頁,而“特權架構文檔”的篇幅也僅為91頁。熟悉體系結構的工程師僅需一至兩天便可將其通讀,雖然“RISC-V的架構文檔”還在不斷地豐富,但是相比“x86的架構文檔”與“ARM的架構文檔”,RISC-V的篇幅可以說是極其短小精悍。
1.2 能屈能伸——模塊化的指令集
RISC-V架構相比其他成熟的商業架構的最大一個不同還在于它是一個模塊化的架構。因此,RISC-V架構不僅短小精悍,而且其不同的部分還能以模塊化的方式組織在一起,從而試圖通過一套統一的架構滿足各種不同的應用。
這種模塊化是x86與ARM架構所不具備的。以ARM的架構為例,ARM的架構分為A、R和M三個系列,分別針對于Application(應用操作系統)、Real-Time(實時)和Embedded(嵌入式)三個領域,彼此之間并不兼容。
但是模塊化的RISC-V架構能夠使得用戶能夠靈活選擇不同的模塊組合,以滿足不同的應用場景,可以說是“老少咸宜”。譬如針對于小面積低功耗嵌入式場景,用戶可以選擇RV32IC組合的指令集,僅使用Machine Mode(機器模式);而高性能應用操作系統場景則可以選擇譬如RV32IMFDC的指令集,使用Machine Mode(機器模式)與User Mode(用戶模式)兩種模式。而他們共同的部分則可以相互兼容。
1.3 濃縮的都是精華——指令的數量
短小精悍的架構以及模塊化的哲學,使得RISC-V架構的指令數目非常的簡潔?;镜腞ISC-V指令數目僅有40多條,加上其他的模塊化擴展指令總共幾十條指令。
2. RISC-V指令集簡介
2.1 模塊化的指令子集
RISC-V的指令集使用模塊化的方式進行組織,每一個模塊使用一個英文字母來表示。RISC-V最基本也是唯一強制要求實現的指令集部分是由I字母表示的基本整數指令子集,使用該整數指令子集,便能夠實現完整的軟件編譯器。其他的指令子集部分均為可選的模塊,具有代表性的模塊包括M/A/F/D/C,如表1所示。
2.2 規整的指令編碼
在流水線中能夠盡早盡快的讀取通用寄存器組,往往是處理器流水線設計的期望之一,這樣可以提高處理器性能和優化時序。這個看似簡單的道理在很多現存的商用RISC架構中都難以實現,因為經過多年反復修改不斷添加新指令后,其指令編碼中的寄存器索引位置變得非常的凌亂,給譯碼器造成了負擔。
得益于后發優勢和總結了多年來處理器發展的教訓,RISC-V的指令集編碼非常的規整,指令所需的通用寄存器的索引(Index)都被放在固定的位置,如圖2所示。因此指令譯碼器(Instruction Decoder)可以非常便捷的譯碼出寄存器索引然后讀取通用寄存器組(Register File,Regfile)。
2.3 優雅的壓縮指令子集
基本的RISC-V基本整數指令子集(字母I表示 )規定的指令長度均為等長的32位,這種等長指令定義使得僅支持整數指令子集的基本RISC-V CPU非常容易設計。但是等長的32位編碼指令也會造成代碼體積(Code Size)相對較大的問題。
為了滿足某些對于代碼體積要求較高的場景(譬如嵌入式領域),RISC-V定義了一種可選的壓縮(Compressed)指令子集,由字母C表示,也可以由RVC表示。RISC-V具有后發優勢,從一開始便規劃了壓縮指令,預留了足夠的編碼空間,16位長指令與普通的32位長指令可以無縫自由地交織在一起,處理器也沒有定義額外的狀態。
2.4 特權模式
RISC-V架構定義了三種工作模式,又稱特權模式(Privileged Mode):
- Machine Mode:機器模式,簡稱M Mode。
- Supervisor Mode:監督模式,簡稱S Mode。
- User Mode:用戶模式,簡稱U Mode。
RISC-V架構定義M Mode為必選模式,另外兩種為可選模式。通過不同的模式組合可以實現不同的系統。
2.5 自定制指令擴展
除了上述闡述的模塊化指令子集的可擴展、可選擇,RISC-V架構還有一個非常重要的特性,那就是支持第三方的擴展。用戶可以擴展自己的指令子集,RISC-V預留了大量的指令編碼空間用于用戶的自定義擴展,同時,還定義了四條Custom指令可供用戶直接使用,每條Custom指令都有幾個比特位的子編碼空間預留,因此,用戶可以直接使用四條Custom指令擴展出幾十條自定義的指令。
2.6 其它特點
可配置的通用寄存器組;
簡潔的存儲器訪問指令;
高效的分支跳轉指令;
簡潔的子程序調用;
無條件碼執行;
無分支延遲槽;
簡潔的運算指令;
3. 總結與比較
國內發展現狀
政策扶持
國家大力推廣,上海成為國內第一個將RISC-V列入政府扶持對象的城市,并發布了《上海市經濟信息化委關于開展2018年度第二批上海市軟件和集成電路產業發展專項資金項目申報工作的通知》。對RISC-V相關芯片設計企業提供政策資金幫助,鼓勵基于RISC-V自主處理器的研發及產業化。
中國開放指令生態(RISC-V)聯盟
2018年11月,中國開放指令生態(RISC-V)聯盟(下簡稱“RISC-V中國聯盟”)于8日在浙江烏鎮召開的世界互聯網大會上宣布成立。聯盟理事長由中國工程院院士、中科院計算所研究員倪光南擔任。圖靈獎得主、美國加州大學伯克利分校教授David Patterson在成立儀式上發布了由中科院計算所翻譯的中文版《RISC-V手冊》。
RISC-V中國聯盟旨在以RISC-V指令集為抓手,聯合學術及產業界推動開源開放指令芯片及生態的健康發展。因此,聯盟制定了一個“三步走”計劃,希望用10年左右的時間,到2030年逐步完成開源芯片生態的建立。據了解,RISC-V中國聯盟發起單位包括中科院計算所、北京大學、清華大學、阿里—中天微、百度、中芯國際等近20家研究機構和企業,目前已有一批企業構建了開源芯片關鍵技術。
“RISC-V指令集有望像開源軟件生態中的Linux那樣,成為計算機芯片與系統創新的基石?!?RISC-V中國聯盟秘書長、中科院計算所研究員包云崗對《中國科學報》記者說,但只有RISC-V指令集還遠遠不夠,還需要開發基于RISC-V的開源工具鏈、開源IP、開源SoC等才能形成開源芯片生態,這需要更多支持開源芯片的力量參與和貢獻。
黃山一號芯片
2017年,華米科技成立了人工智能實驗室,并啟動了他們的人工智能智能可穿戴芯片研究項目,投身 RISC-V 芯片研發,并最終在 2018 年 9 月推出了第一款芯片“黃山一號”。據介紹,這款采用RISC-V架構設計的芯片是是全球首款集成AI神經網絡模塊的處理器,能本地化處理AI任務,對心率、心電、心律失常等進行實時監測與分析。2019年6月“黃山一號”已流片量產,主要用于華米穿戴智能設備AMAZFIT的主控芯片,處理器頻率240MHz,55nm工藝,目前應該是和SIFIVE合作采用了SIFIVE公司的部分芯片IP。
其它廠家機構
平頭哥半導體(前杭州中天微):宣布正式推出支持RISC-V第三代指令系統架構處理器CK902,并建立戰略合作關系推廣RISC-V在國內的商業化落地。截至2018年9月,中天微基于C-SKY CPU IP核的SoC芯片累計出貨量已經突破8億顆。CK902為32位低功耗,是全球首款支持物聯網安全的RISC-V處理器。
阿里平頭哥首顆芯片玄鐵910出爐,現場啟動普惠芯片計劃(2.5GHZ, 最高16核,開始暴走出擊了??) http://baijiahao.baidu.com/s?id=1640007943128436792&wfr=spider&for=pc
松果電子(小米) 和中天微合作,以中天微RISC-V CPU處理器為基礎平臺,松果電子提供極具市場競爭力的SoC智能硬件產品,共同促進和加速RISC-V在國內的商業化進程。松果電子考量了中天微在現有嵌入式CPU研發技術、持續研發投入的經濟的雙實力,經過大規模量產驗證的中天微CPU內核架構配合成熟穩定的開發工具鏈,在以此最大限度避免使用RISC-V時帶來的技術和量產的不確定性。
上海樂鑫信息科技 成立于2008年,致力于前沿低功耗WiFi+藍牙雙模物聯網解決方案的研發。目前在研基于RISC-V指令集架構的ESP32-Marlin物聯網芯片。
北京君正 北京君正集成電路股份有限公司成立于2005年,目前已發展成為一家國內外領先的嵌入式CPU芯片及解決方案提供商。CPU研發隊伍已展開對基于RISC-V指令集的CPU核的研發。
芯來科技: 創立于2018年,是一家具有代表性的RISC-V處理器內核IP和解決方案公司,并創造了我國第一顆開源RISC-V處理器項目蜂鳥E203。2019年1月芯來科技完成了千萬級人民幣的天使輪融資。
有數據顯示,中國有300家以上公司在關注RISC-V或以RISC-V指令集進行開發,除了以上所列舉的企業,采用RISC-V架構推出產品的還包括芯原、匯頂、核芯互聯、飛利信等。
RISC-V 可應用的領域
RISC-V可應用于FPGA,嵌入式,ADC/DAC 轉換器,DSP 及服務器CPU等領域。
作為Java應用開發程序員,我們理想的狀態應該全技術棧免費開源:
RISC-V 64位處理器 + Linux + MySQL + Docker + OPENJDK。
面臨的問題
- 無論是Linux還是其它開源社區,還處于相向適配階段,安全穩定運行還有待驗證。
- 開發工具,驗證工具還不夠成熟。
- 生態不夠完整,產業鏈主要是外圍配件等中低端產品。
- 在高端主控和高性能服務器CPU相關,還沒有應用范圍廣的成品。
- 各個廠家可自行設計實現自己的硬件,不排除如Android一樣出現設備多樣性,碎片化,測試人員面前一堆手機的場景復現。
參考文獻
risc-v基金會: https://riscv.org/
物聯網給了RISC-V絕佳機會 http://www.elecfans.com/emb/dsp/20190515934806.html
RISC-V,才是未來的科技之芯 https://baijiahao.baidu.com/s?id=1634400236103047992&wfr=spider&for=pc
把RISC-V講明白了 http://m.elecfans.com/article/653167.html
美國RISC-V廠商已不能向華為出售IP http://news.hqew.com/info-346602
中國開放指令生態(RISC-V)聯盟 http://crva.ict.ac.cn/
RISC-V精簡到何種程度? https://blog.csdn.net/zoomdy/article/details/79343941
大道至簡——RISC-V架構之魂(上) https://blog.csdn.net/zoomdy/article/details/79580529
大道至簡——RISC-V架構之魂(中) https://blog.csdn.net/zoomdy/article/details/79580772
大道至簡——RISC-V架構之魂(下)https://blog.csdn.net/zoomdy/article/details/79580949
RISC-V學習整理 https://blog.csdn.net/csbei19891218/article/details/87880578
解讀兩大精簡指令集:RISC-V和MIPS https://blog.csdn.net/qq_41394155/article/details/88595775
RISC-V的軟件開發 https://blog.csdn.net/tomsoft/article/details/80915348
【一種全新的指令集架構RISC-V】 https://blog.csdn.net/p340589344/article/details/82290920
大量的RISC-V文章(可下載)https://blog.csdn.net/zzwu/article/details/54798818
芯片春秋: 開源架構RISC-V前世今生 https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/80267054
第七章RISC-V的取指令 https://blog.csdn.net/qiaobt/article/details/83141066
什么是RISC-V https://zhuanlan.zhihu.com/p/49176102
RISC-V登場,Intel和ARM會怕嗎?https://www.cnblogs.com/findumars/p/9285713.html
芯片春秋: 開源架構RISC-V前世今生 https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/80267054
基于RISC-V架構的開源處理器及SoC研究綜述(一) https://blog.csdn.net/leishangwen/article/details/55006662
如何看待開源指令集RISC-V https://www.zhihu.com/question/28368960
SiFive引發了一場開源芯片設計革命 http://www.elecfans.com/emb/dsp/20180518679533.html
華米發布黃山1號 https://www.expreview.com/64167.html
華米發布黃山1號 https://www.techsir.com/a/201809/49150.html
中國開放指令生態(RISC-V)聯盟成立 https://www.xianjichina.com/special/detail_367735.html
出貨量8億顆!阿里系芯片公司中天微發布中國自研CPU架構RISC-V處理器 http://www.sohu.com/a/251828505_473283
從落地產品看RISC-V中國芯勢力 http://dy.163.com/v2/article/detail/ED2IBJU50511RIVP.html
總結
以上是生活随笔為你收集整理的浅析 RISC-V 生态架构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟网络主流架构(让虚拟机上网的三种方案
- 下一篇: stardict 词典