基於RISC-V架構的開源處理器及SoC研究綜述(一)
http://blog.csdn.net/leishangwen/article/details/55006662
RISC-V是加州大學伯克利分校(University of California at Berkeley,以下簡稱UCB)設計併發布的一種開源指令集架構,其目標是成為指令集架構領域的Linux,應用覆蓋IoT(Internet of Things)裝置、桌面計算機、高效能運算機等眾多領域。其產生是因為UCB的研究人員在研究指令集架構的過程中,發現當前指令集架構存在如下問題[1]。
(1)絕大多數指令集架構都是受專利保護的,比如:x86、MIPS、Alpha,使用這些架構需要授權,限制了競爭的同時也扼制了創新。(2)當前的指令集架構都比較複雜,不適合學術研究,而且很多複雜性是因為一些糟糕的設計或者揹負歷史包袱所帶來的。
(3)當前的指令集架構都是針對某一領域的,比如:x86主要是面向伺服器、ARM主要是面向移動終端,為此對應的指令集架構針對該領域做了大量的領域特定優化,缺乏一個統一的架構可以適用多個領域。
(4)商業的指令集架構容易受企業發展狀況的影響,比如:Alpha架構就隨著DEC公司的被收購而幾近消失。
(5)當前已有的各種指令集架構不便於針對特定的應用進行自定義擴充套件。
為此,UCB的研究人員Krste Asanovic、Andrew Waterman、Yunsup Lee決定設計一種新的指令級架構,並決定以BSD授權的方式開源,希望藉此可以有更多創新的處理器產生、有更多的處理器開源,並以此降低電子產品成本[2]。
RISC-V自2014年正式釋出以來,受到了包括谷歌、IBM、Oracle等在內的眾多企業以及包括劍橋大學、蘇黎世聯邦理工大學、印度理工學院、中國科學院在內的眾多知名學府與研究機構的關注和參與,圍繞RISC-V的生態環境逐漸完善,並湧現了眾多開源處理器及SoC採用RISC-V架構,這些處理器既有標量處理器,也有超標量處理器,既有單核處理器,也有多核處理器,本文接下來將簡單介紹RISC-V架構的基本設計,隨後將詳細描述目前採用RISC-V架構的開源處理器與SoC。
1 RISC-V簡介
1.1 RISC-V的基本設計
RISC-V是一個典型三運算元、載入-儲存形式的RISC架構,包括三個基本指令集和6個擴充套件指令集,如表1所示,其中RV32E是RV32I的子集,不單獨計算。
基本指令集的名稱字尾都是I,表示Integer,任何一款採用RISC-V架構的處理器都要實現一個基本指令集,根據需要,可以實現多種擴充套件指令集,例如:如果實現了RV32IM,表示實現了32位基本指令集和乘法除法擴充套件指令集。如果實現了RV32IMAFD,那麼可以使用RV32G來表示,表示實現了通用標量處理器指令集。本文只介紹RV32I的基本情況。
RV32I指令集有47條指令,能夠滿足現代作業系統執行的基本要求,47條指令按照功能可以分為如下幾類。
(1)整數運算指令:實現算術、邏輯、比較等運算。
(2)分支轉移指令:實現條件轉移、無條件轉移等運算,並且沒有延遲槽。
(3)載入儲存指令:實現位元組、半字、字的載入、儲存操作,採用的都是暫存器相對定址方式。
(4)控制與狀態暫存器訪問指令:實現對系統控制與狀態暫存器的原子讀-寫、原子讀-修改、原子讀-清零等操作。
(5)系統呼叫指令:實現系統呼叫、除錯等功能。
1.2 RISC-V的優勢
1.2.1 與開源指令集架構比較
在RISC-V釋出之前,實際上已經有幾種開源指令級架構,包括SPARC V8、OpenRISC,其中SUN釋出的開源多核多執行緒處理器OpenSparcT1、OpenSparcT2,以及歐空局的LEON3採用的就是SPARC V8,OpenRISC也有同名的開源處理器,在[2]中介紹了RISC-V與前兩者的比較,如表2所示。此外,OpenRISC的許可證為GPL,這意味著所有的指令集改動都必須開源。而RISC-V的許可證是較為寬鬆的BSD License授權。
1.2.2 與商業指令集架構比較
UCB的研究人員設計了一款採用RISC-V指令集架構的開源處理器Rocket,並且已經成功流片了11次,其中採用臺積電40nm工藝時的效能與採用同樣工藝的,都是標量處理器的ARM Cortex-A5的效能對比如表3所示。可見Rocket佔用更小的面積,使用更小的功耗,但是效能卻更優。
(未完待續)
相關文章
- 基於RISC-V架構的開源處理器及SoC研究綜述(二)架構
- 基於RISC-V架構的開源處理器及SoC研究綜述(三)架構
- 處理器架構資源整理架構
- 指令集架構、arm核心、SoC、處理器、CPU、GPU等的關係架構GPU
- 分散式快取架構綜述分散式快取架構
- 文章綜述:基於結構法分析的故障檢測
- 神經架構搜尋在視訊理解中研究進展的綜述架構
- 讀“基於深度學習的影像風格遷移研究綜述”有感深度學習
- CPU處理器架構架構
- 網路廣告研究綜述
- RISC-V,微處理器中的 Linux :它會開啟一個開源硬體的文藝復興麼?Linux
- 處理器架構和配置架構
- 處理器架構劃分架構
- 如何基於開源構架設計一個影片平臺?
- 7大類深度CNN架構創新綜述CNN架構
- 基於AWS雲服務的批處理系統架構架構
- 綜述 | 水稻株型的遺傳基礎與分子調控機理研究進展
- Action Recognition——基於表示的動作識別綜述
- 基於 Serverless 架構的頭像漫畫風處理小程式Server架構
- 【智慧駕駛】基於計算機視覺的自動駕駛演算法研究綜述計算機視覺自動駕駛演算法
- 盤點.NET支援的 處理器架構架構
- 阿里架構師,講述基於微服務的軟體架構模式(附資料)阿里架構微服務模式
- 計算廣告系統演算法與架構綜述演算法架構
- MIPS 架構流水線處理器架構
- GPU 架構是圖形處理器GPU架構
- (譯)haslayout 綜述(一)
- 處理器指令集架構的位數架構
- tomcat + spring mvc 原理(一):tomcat原理綜述和靜態架構TomcatSpringMVC架構
- OnionArch 2.0 - 基於DDD的洋蔥架構改進版開源架構
- JVM篇1:[-結構綜述-]JVM
- 自動機器學習:最近進展研究綜述機器學習
- 嘉楠基於RISC-V的端側AIoT SoC採用了芯原的ISP IP和GPU IPAIGPU
- 使用開源微前端框架 Luigi 建立一個基於微前端架構的工程前端框架UI架構
- Action Recognition——基於深度學習的動作識別綜述深度學習
- 生成對抗網路綜述:從架構到訓練技巧架構
- 敏捷開發方法綜述敏捷
- 一個基於Java的開源URL嗅探器Java
- nlp文字處理開源工具,及聊天機器人實現開源工具機器人