關於RISC-V你又瞭解多少

RISC-V指令集架構介紹編程

       RISC-V(英文"risk-five")是一個全新的指令集架構,架構最初由美國加州大學伯克利分校EECS計算機科學部門Krste Asanovic教授、Andrew WatermanYunsup Lee等開2010明。 其中"RISC"表示精指令集,而其中"V"表示伯克利分校從RISC I開始設計的第五代指令集。安全

2010年,加州大學伯克利分校的研究團隊分析了ARMMIPSSPARCX86等多種指令集,發現這些指令集不只複雜度不斷提高,且還存在知識產權風險,而處理器架構種類和處理能力並沒有直接關聯。針對以上問題,該小組設計並推出了一套基於BSD協議許可的免費開放的指令集架構RISC-V,其原型芯片也於20131月成功流片。RISC-V指令集具備性能優越,完全免費開放兩大特徵。RSIC-V的設計目標是可以知足從微控制器到超級計算機等各類複雜程度的處理器需求,支持從FPGAASIC乃至將來器件等多種實現方式,同時可以高效地實現各類微結構,支持大量定製與加速功能,並與現有軟件及編程語言可良好適配。RISC-V產業生態正進入快速發展期。加州大學伯克利分校在2015年成立非盈利組織RISC-V基金會,該基金會旨在聚合全球創新力量共同構建開放、合做的軟硬件社區,打造RISC-V生態系統。三年多來,谷歌、高通、IBM、英偉達、NXP、、西部數據Microsemi、中科院計算所、麻省理工學院、華盛頓大學、英國宇航系統公司等100多個企業和研究機構前後加入了RISC-V基金會。架構

RISC-V基金會負責維護RSIC-V指令集標準手冊與架構文檔,每一年RISC-V基金會都會舉辦各類專題討論會和全球活動,將廣闊的生態系統彙集在一塊兒,討論當前和將來RISC-V項目和實施,以促進RISC-V陣營的交流和發展。一款指令集架構可否取得成功,很大程度依賴於軟件生態環境。當前可用的RISC-V軟件工具包括GNU編譯器集合GCC工具鏈、GDB調試器),LLVM工具鏈,OVPsim仿真器(以及RISC-V快速處理器模型庫),Spike仿真器和QEMU模擬器。當前支持該指令集架構的操做系統包括FreeRTOSSylixOSRT-ThreadLinux等。RTRISC-V架構在短期內還沒法撼動x86ARM架構,可是隨着愈來愈多的公司和項目採用RSIC-V架構的處理器,相信RSIC-V的軟件生態會逐漸壯大起來。編程語言

RISC-V的特點模塊化

       1 簡單就是美——RISC-V的設計哲學工具

       RISC-V架構做爲一種指令集架構,在介紹細節以前,讓咱們先了解設計的哲學。所謂設計的「哲學」即是其推崇的一種策略,譬如說咱們熟知的日本車的設計哲學是經濟省油,美國車的設計哲學是霸氣外漏等。RISC-V架構的設計哲學是什麼呢?是「大道至簡」。性能

所謂大道至簡,在IC設計的實際工做中,筆者曾見過最簡潔的設計實現安全可靠,也曾見過最繁複的設計長時間沒法穩定收斂。最簡潔的設計每每是最可靠的,在大多數的項目實踐中一次次的獲得檢驗。url

IC設計的工做性質很是特殊,其最終的產出是芯片,而一款芯片的設計和製造週期均很長,沒法像軟件代碼那樣輕易的升級和打補丁,每一次芯片的改版到交付都須要幾個月的週期。不只如此,芯片的一次制形成本費用高昂,從幾十萬美金到百千萬美金不等。這些特性都決定了IC設計的試錯成本極爲高昂,所以可以有效的下降錯誤的發生就顯得很是的重要。spa

現代的芯片設計規模愈來愈大,複雜度愈來愈高,並非說要求設計者一味的逃避使用複雜的技術,而是應該將好鋼用在刀刃上,將最複雜的設計用在最爲關鍵的場景,在大多數有選擇的狀況下,儘可能選擇簡潔的實現方案。其簡單就是美的哲學,能夠從幾個方面容易看出,後續將一一加以論述。操作系統

2  架構的篇幅

在處理器領域,目前主流的架構爲x86與ARM架構,筆者曾經參與設計ARM架構的應用處理器,所以須要閱讀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的篇幅能夠說是極其短小精悍。

3模塊化的指令集

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(用戶模式)兩種模式。而他們共同的部分則能夠相互兼容。

RISC-V總結

開放而免費的RISC-V架構已經吸引了國內外一大批知名企業、科研院校和初創公司致力於開發基於RISC-V指令集架構的處理器,其中就包括谷歌、惠普、Oracle和西部數據等。當前國內還處在起步階段,國內不少科研院校和初創公司都基於一些開源的RISC-V IP核或者SiFive公司的開源SOC上作增量開發。

元峯公司做爲其中的一員致力於RISC-V嵌入式實時操做系統及其開發環境的生態搭建,當前主要工做是移植FreeRTOS操做系統到SiFive公司的HiFive1開發板上並提供配套的開發環境。開發環境提供基本的編譯、運行和調試環境,包括OpenOCDJlink等硬件調試環境,並提供FreeRTOS操做系統項目用於用戶開發FreeRTOS應用。後續還將支持RT-ThreadSylixOS等操做系統並集成到開發環境,方便用於開發調試。

相關文章
相關標籤/搜索