RISC V 指令集的模組化和暫存器結構

2022-10-10 09:27:13 字數 1149 閱讀 5340

risc-v 指令集架構是加州大學伯克利分校研發的第五代精簡指令集架構,先後經歷了四代精簡指令集的發展,旨在設計乙個完全開放、免費的和效能強大的指令集架構。它和x86/arm相比,一大優勢就是支援模組化,下面我們就來介紹一下risc-v指令集的模組化結構,順便再介紹下其暫存器結構。

risc-v 指令集架構一改傳統增量 isa 模式,採用模組化 isa 模式,它被定義為基本的整數指令集架構,以及幾個標準的擴充套件子集,可以自定義指令擴充套件,如下表所示。

它的核心為rv32i的基礎整數指令集,rv32i是固定的,並保持永遠不變,而其擴充套件是可選擇進行實現的。這為編譯器、彙編器和作業系統開發人員提供了穩定的研發目標。其擴充套件包括m、f、d、a、g、c、v等,開發人員根據實際的應用程式,硬體設計可以選擇是否實現這些擴充套件。這種模組化特性解決了以往指令集增量 isa 模式和相容性帶來的弊端,並且使得 risc-v 具有了小型化、低功耗的特點,這對於嵌入式應用至關重要的。

risc-v 指令集架構的標準擴充套件指令的具體介紹如下:

除以上 risc-v 標準指令集擴充套件外,risc-v 還有多個標準指令集擴充套件,例如十進位制浮點(l)、位操作(b)、封裝的單指令多資料(p)等。目前這些標準擴充套件大多數仍在不斷完善和設計中。

risc-v 指令集架構具有 32 位和 64 位的,其暫存器寬度也分別是 32 位和 64 位 的。risc-v 的基本整數指令集中包含 32 個整數暫存器 x0~x31 以及乙個程式計數器(pc)儲存當前指令的位址。具體結構如下圖所示,其中 x1~x31 表示整數通用暫存器,其功能是儲存程式執行的中間結果,儲存的是整數型別,暫存器 x0 代表常數0,可以使用 x0 實現一些指令功能

另外在浮點指令集中,則需要 32 個獨立的浮點暫存器 f0~f31 和乙個浮點控制和狀態暫存器 fcsr,結構如下圖所示:

看到乙個RISC V指令集的評論

來科普一下risc v指令集吧。1 riscv 密度大約是arm的50 左右,同樣計算所需週期是arm的150 300 所以risc v感覺只能用於物聯網等需要低功耗簡單cpu的場景 2 riscv自身的開源性質並不妨礙arm intel 高通 三星 amd 蘋果這樣的公司繼續在riscv佔據優勢。...

ARM指令集和X86指令集的比較

指令的強弱是cpu的重要指標,指令集是提高微處理器效率的最有效工具之一。從現階段的主流體系結構講,指令集可分為複雜指令集 cisc 和精簡指令集 risc 兩部分。相應的,微處理隨著微指令的複雜度也可分為cisc及risc這兩類。cisc 是一種為了便於程式設計和提高記憶體訪問效率的晶元設計體系。在...

函式式程式的模組化和物件的模組化

define random init1 define rand update x remainder 13 x 5 24 define random numbers op stream define numbers last value op stream let op stream car op ...