過去的錯誤 |
RV32I吸取的經驗教訓 |
|||
ARM-32 (1986) | MIPS-32 (1986) | X86-32(1978) | ||
成本 | 必須支持整數乘除法 | 必須支持整數乘除法 | 8 位以及 16 位操作、必須支持整數乘除法 | 無 8 位、16 位操作、可選的整數乘除法支持(RV32M) |
簡潔性 | 無零寄存器、條件指令執行、復雜的尋址模式、棧操作指令(push/pop)、算術/邏輯指令中存在的移位 | 立即數支持零擴展及符號擴展、一些算術指令會造成溢出異常 | 無零寄存器、復雜的過程調用指令(enter/leave)棧指令(push/pop)、復雜尋址模式、循環指令 | 寄存器x0專門用于存放常數0、立即數只進行符號擴展、一種數據尋址模式、沒有條件執行、沒有復雜的函數調用指令以及棧指令、算術指令不拋異常、使用單獨的移位指令來處理移位操作 |
性能 | 分支指令使用條件碼、在不同格式的指令中,源和目的寄存器的位置不同、加載多個計算得到的立即數、PC是一個通用寄存器 | 在不同格式的指令中,源和目的寄存器的位置不同 | 分支指令使用條件碼、每個指令中最多只能使用兩個寄存器 | 使用同一條指令實現比較及跳轉(不使用條件碼)、每條指令三個寄存器、不能一次load多個數據、不同指令格式中,泊及目的寄存器字段位置固定、立即數是常數(不是由計算得出的)、PC不是通用寄存器 |
架構和具體實現 | 將PC像普通寄存器一樣讀寫,這樣暴露了流水線長度 | 分支指令延遲槽Load指令延遲槽、乘除法使用單獨的HI、LO寄存器 | 寄存器不是通用的(AX,CX,DX,DI,SI有特殊用途) | 分支指令沒有延遲槽、Load指令無延遲槽、通用寄存器 |
增長空間 | 有限的指令碼空間 | 有限的指令碼空間 | 大量可用的指令碼空間 | |
程序大小 | 僅有32bit指令(Thumb-2是作為一個獨立的ISA) | 僅32bit指令(microMIPS是作為一個獨立的ISA) | 指令長度可用是不同字節,但這是一個很不好的選擇。 | 32位指令+16位RV32C擴展 |
易于編程/編譯/鏈接 | 僅15個寄存器內存數據必須對齊、不規則的數據尋址模式、不一致的性能計數器 | 內存數據必須對齊、不規則的數據尋址模式、不一致的性能計數器 | 僅15個寄存器中內存數據必須對齊、不規則的數據尋址模式、不一致的性能計數器 | 31個寄存器、數據可用不對齊、PC相對的數據尋址模式、對稱的數據尋址模式、定義在加構中的性能計數器 |
RISC-V架構師從過去指令集設計的錯誤中吸取的教訓。通常的教訓是避免過去的ISA“優化”。經驗和教訓按照第一章中提出的七個ISA指標進行分類。在成本,簡單性和性能下列出的許多指令集特性可以互換,因為這只是設計的偏好問題,但不管它們出現在哪里,它們都很重要。
摘自《RISC-V-Reader》中文版
審核編輯黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
架構師
+關注
關注
0文章
43瀏覽量
4584 -
RISC-V
+關注
關注
41文章
1933瀏覽量
45176
發布評論請先 登錄
相關推薦
為何什么risc-v芯片比arm的效率高
在某些應用中能夠表現出更高的效率。
然而,需要指出的是,RISC-V和ARM都是基于RISC原理設計的架構,性能和功耗更多地取決于具體的芯片實現,而不是
發表于 04-28 09:38
RISC-V有哪些優點和缺點
的可用性,尤其是在一些特定的應用場景中。
市場接受度:由于RISC-V是一個相對較新的指令集架構,其市場接受度可能還需要時間來提升。一些傳統廠商和開發者可能更傾向于使用已經成熟的
發表于 04-28 09:03
RISC-V有哪些優缺點?是堅持ARM方向還是投入risc-V的懷抱?
RISC-V在軟件和工具方面的可用性,尤其是在一些特定的應用場景中。
市場接受度 :由于RISC-V是一個相對較新的指令集架構,其市場接受度
發表于 04-28 08:51
【RISC-V開放架構設計之道|閱讀體驗】+ 閱讀深體驗
本人沒有芯片設計,或者指令集方面較深的基礎知識,不過認真看這本書也令我學到了不少。
書中一開始便提到RISC-V的目標是稱為一款通用的指令集架構:需要適合設計各種規模的處理器,能兼容各
發表于 03-05 22:01
【RISC-V開放架構設計之道|閱讀體驗】匯編語言和擴展指令集
【RISC-V開放架構設計之道|閱讀體驗】匯編語言和擴展指令集
匯編語言
將C語言翻譯成可執行的機器語言的重要步驟包括編譯過程,匯編過程,鏈接過程。
函數調用約定過程分為六個階段:
1)將參數存放
發表于 02-03 13:29
【RISC-V開放架構設計之道|閱讀體驗】RISC-V基礎整數指令集
第2章 RV32I:RISC-V基礎整數指令集
本章重點講解構成RISC-V基礎整數指令集的基本指令和指
發表于 01-31 21:10
【RISC-V開放架構設計之道|閱讀體驗】RV64指令集設計的思考以及與流水線設計的邏輯
RISC-V開放架構設計之道, 是一本全面介紹RISC-V指令集架構設計、優化和實現的書籍。 書中詳細介紹了
發表于 01-29 10:09
【RISC-V開放架構設計之道|閱讀體驗】理解指令設計思想的好指導
指令,通常講授指令一條一條地講過去,往往讓人覺得枯燥,特別是現在用匯編語言開發程序的場合很少。該書沒有陷入俗套,而是從體系設計的角度對指令進行了全面的分類和介紹。對于每類
發表于 01-28 16:58
【RISC-V開放架構設計之道|閱讀體驗】RISC-V基礎整數指令集RV32I
。
圖1:RV32I指令集
在講RISC-V各個階段,橫向比較ARM架構,體現出RISC-V的優越性。
●RV32I寄存器
RISC-V
發表于 01-28 11:41
【RISC-V開放架構設計之道|閱讀體驗】 RISC-V設計必備之案頭小冊
中出現的RISC-V拓展。
這本書的開篇講的是,為什么我們需要RISC-V指令集?
從過去的ISA的特點進行引入,先以目前主流的x86指令集
發表于 01-22 16:24
名單公布!【書籍評測活動NO.26】圖靈獎得主親自撰寫!RISC-V開放架構設計之道
)。
闡釋指令集設計原則后,我們展示了 RISC-V 架構師如何從 過去 40 年的指令集中吸取經驗教訓
發表于 12-13 17:25
RISC-V強勢崛起為芯片架構第三極
,RISC-V產業鏈不斷取得新突破。作為×86、ARM之外的芯片架構第三極,RISC-V正在全球尤其是在中國強勢崛起。
RISC-V是一個開發、免費的
發表于 08-30 13:53
兩大架構RISC-V 和 ARM 的各種關系
一、RISC-V 和 ARM 的相似之處
RISC-V 和 ARM 基本上都是 RISC(精簡指令集計算機)。RISC-V 和 ARM 都使
發表于 06-21 20:31
評論