<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RISC-V架構師從過去指令集設計的錯誤中吸取的教訓

華仔的編程隨筆 ? 來源: 華仔的編程隨筆 ? 作者: 華仔的編程隨筆 ? 2023-05-24 09:04 ? 次閱讀

過去的錯誤

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指令集說明哪里有?

    RISC-V指令集說明哪里有?匯編指令文檔哪有?
    發表于 04-30 17:44

    為何什么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-30 11:48

    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
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>