RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

RISC-V筆記——基礎(chǔ)

RISCV國際人才培養(yǎng)認證中心 ? 2024-11-12 01:08 ? 次閱讀

1. 前言

RISC-V旨在支持廣泛的定制和專業(yè)化。RISC-V的ISA是由一個基本整型ISA和其它對基本ISA的可選擴展組成。每個整型ISA可以使用一個或多個可選的ISA擴展進行擴展。

基本整型ISA精選了最小的一組指令,這些指令足以為編譯器、匯編器、鏈接器和操作系統(tǒng)提供足夠的功能,它提供了一組便利的ISA和軟件工具鏈骨架,可以圍繞它構(gòu)建更多定制的處理器ISA?;菊虸SA與早期RISC處理器非常類似,除了沒有分支延遲槽(branch delay slot)和可選的變長指令編碼(Variable-length instruction encoding)。

2. RISC-V基本整型ISA

雖然RISC-V ISA說起來方便,但RISC-V實際上是一個ISA集合,目前確定的有四個基本ISA。每個基本整型ISA的特征是整型寄存器的寬度、相應(yīng)的地址空間的大小以及整型寄存器的數(shù)量。RV32IRV64I是兩個主要的基本整型ISA變體,分別提供32-bit和64-bit地址空間,用術(shù)語XLEN來表示以bit為單位的整型寄存器的寬度,它的值為32或64。RV32ERV64E分別是RV32I和RV64I基本ISA的子集變體,它們用于支持小型微控制器,并且具有一半數(shù)目的整型寄存器。另外還有一個未確定的基本ISA是RV128I(XLEN=128)。

93fbcaba-a04f-11ef-8084-92fbcf53809c.png

RISC-V之所以分成4個基本整型ISA,而不是做成一個統(tǒng)一的ISA。主要的優(yōu)勢是,每個基本ISA都可以根據(jù)自己的需要進行優(yōu)化,而不需要支持其它基本ISA所需的所有操作。例如,RV64I可以省略只用于處理RV32I中較窄的寄存器的指令和CSR。RV32I可以使用只保留給更寬地址空間變體所需的指令的編碼空間。主要缺點是,它使一個基本ISA在另一個基本ISA平臺上模擬所需的硬件復(fù)雜化,例如,在RV64I上模擬RV32I。

3. RISC-V ISA的可選擴展

任何RISC-V處理器實現(xiàn)都必須支持基本整型ISA (RV32I、RV32E、RV64I、RV64E或RV128I)。此外,一個實現(xiàn)可以支持一個或多個擴展。RISC-V ISA中,標記為“Ratified”的模塊,表示此時已被批準;標記為“Frozen”的模塊,表示在被批準之前,預(yù)計也不會發(fā)生重大變化;標記為“Draft”的模塊,表示在被批準之前,預(yù)計會發(fā)生變化。

943c9ebe-a04f-11ef-8084-92fbcf53809c.png

擴展(extension)可以被分類為標準(standard)、定制(custom)和不符合(non-conforming)。為此,我們將每個RISC-V ISA編碼空間(以及相關(guān)的編碼空間,如CSR)劃分為三個互不關(guān)聯(lián)的類別:標準(standard)、保留(reserved)和定制(custom)。

標準擴展和編碼是由RISC-V國際組織定義的。任何擴展不是由RISC-V國際組織定義的都算是非標準的。每個基本ISA及其標準擴展僅使用標準編碼,并且在使用這些編碼時不得相互沖突。

保留編碼目前沒有定義,但為將來的標準擴展保留,一旦被使用,它們就稱為標準編碼。

定制編碼永遠不會用于標準擴展,而只能用于特定于供應(yīng)商的非標準擴展。非標準擴展要么是只使用定制編碼的定制擴展,要么是使用任何標準或保留編碼的不符合擴展。

指令集擴展通常是共享的,但可能根據(jù)基本ISA提供略有不同的功能。

上述擴展可以進一步分為兩大類:標準(standard)和非標準(non-standard,包括定制和不符合)

標準擴展通常是有用的,并且不與任何其他標準擴展相沖突。目前,RISC-V手冊中描述的“MAFDQLCBTPV”擴展要么是完成的,要么是計劃中的標準擴展。

非標準擴展可能是高度專門化的,并且可能與其他標準或非標準擴展相沖突。預(yù)計隨著時間的推移會開發(fā)出各種各樣的非標準擴展,其中一些最終會被提升為標準擴展。

4. ISA命名規(guī)范

RISC-V ISA旨在支持各種指令集擴展的各種實現(xiàn),有組織的命名方案簡化了軟件工具和文檔,RISC-V ISA擴展命名方案可以簡潔地描述硬件實現(xiàn)中的ISA。ISA命名字符串不區(qū)分大小寫

RISC-V ISA命名組成為:

基本整型ISA名 + 標準擴展名 + 非標準擴展名

4.1 基本整型ISA

RISC-V ISA字符串以RV32I、RV32E、RV64I、RV64E或RV128I開頭,表示支持的基本整型ISA的地址空間大小(以bit為單位)。

4.2 標準擴展名

標準ISA擴展由一個單個字母組成的名稱。例如:“M”表示整型乘法和除法,“A”表示原子訪存指令,“F”表示單精度浮點指令,“D”表示雙精度浮點指令。任何RISC-V指令集變體都可以通過將基本整型前綴與包含的擴展名連接起來簡潔描述。例如:RV64IMAFD。

一些ISA擴展依賴于其他擴展的存在,例如,“D”依賴于“F”,“F”依賴于“Zicsr”。這些依賴關(guān)系可能隱含在ISA名稱中。例如,RV32IF等價于RV32IFZicsr, RV32ID等價于RV32IFD和RV32IFDZicsr。

指令集可能隨著時間的推移而擴展或改變,需要在擴展名后面加上擴展版本號。版本號分為主版本號和次版本號,用“p”分隔。如果次要版本為“0”,則可以從版本字符串中省略“p0”。主版本號的更改意味著向后兼容性的喪失,而僅小版本號的更改必須向后兼容。例如,“RV64I1p0M1p0A1p0F1p0D1p0”和“RV64I1M1A1F1D1”的含義是一樣的。

為了提高可讀性并消除歧義,引入下劃線“_”可用于分隔ISA擴展,例如:“RV32I2_M2_A2”。

4.3 其他標準擴展名

標準擴展也可以使用一個“Z”來命名,后面跟著一個字母名稱和一個可選的版本號。例如,“Zifencei”命名了instruction-fetch fence擴展,且“Zifencei2”與“Zifencei2p0”名稱版本相同。

“Z”后面的第一個字母通常表示最密切相關(guān)的字母擴展類別(類別有IMAFDQCVH)。例如,對于用于附加浮點指令的“Zfa”擴展,字母“f”表示該擴展與“f”標準擴展相關(guān)。如果命名了多個“Z”擴展名,它們應(yīng)該首先按類別排序,然后按類別中的字母順序排序——例如,“Zicsr_Zifencei_Zam”。

所有多字母擴展名,包括以“Z”為前綴的擴展名,必須用下劃線與其他多字母擴展名分開,例如“RV32IMACZicsr_Zifencei”。

4.4 非標準擴展名

非標準擴展使用單個“X”命名,后跟字母名稱和可選的版本號。例如:“Xhwacha”命名了Hwacha vector-fetch ISA擴展;“Xhwacha2”與“Xhwacha2p0”名稱2.0版本相同。

非標準擴展必須列在所有標準擴展之后,并且與其它多字母擴展一樣,必須用下劃線與其他多字母擴展分開。例如:帶有非標準擴展名Argle和Bargle的ISA可以命名為“RV64IZifencei_Xargle_Xbargle”。

如果列出了多個非標準擴展,則應(yīng)按字母順序排列。

下表列出了一部分標準的擴展名,表還定義了擴展名必須在ISA名稱字符串中出現(xiàn)的規(guī)范順序,表中越往上出現(xiàn)在ISA名稱字符串中的位置需要越靠前,例如,RV32IMACV是合法的,而RV32IMAVC是非法的,因此C必須在V之前。

9485f92e-a04f-11ef-8084-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120224
  • ISA
    ISA
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    43738
  • RISC-V
    +關(guān)注

    關(guān)注

    45

    文章

    2270

    瀏覽量

    46124
收藏 人收藏

    評論

    相關(guān)推薦

    【RT-Thread學(xué)習(xí)筆記RISC-V匯編基礎(chǔ)三大塊知識

    【RT-Thread學(xué)習(xí)筆記RISC-V匯編基礎(chǔ)的三大塊知識
    的頭像 發(fā)表于 07-30 11:01 ?2750次閱讀
    【RT-Thread學(xué)習(xí)<b class='flag-5'>筆記</b>】<b class='flag-5'>RISC-V</b>匯編基礎(chǔ)三大塊知識

    RISC-V筆記本后,再迎RISC-V平板

    電子發(fā)燒友網(wǎng)報道(文/周凱揚)前不久首臺RISC-V筆記本ROMA的正式發(fā)布給RISC-V社區(qū)的硬件開發(fā)添了一把火。想不到還沒有過多久,我們就迎來了RISC-V平板的落地。Pine64
    的頭像 發(fā)表于 04-21 03:07 ?2803次閱讀
    繼<b class='flag-5'>RISC-V</b><b class='flag-5'>筆記</b>本后,再迎<b class='flag-5'>RISC-V</b>平板

    什么是RISC-V

    siFive搞RISC-V 賽昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不問有什么用,RISC-V目前的能力來說,工
    發(fā)表于 02-02 10:41

    什么是RISC-V? RISC-V指令具有哪些特點應(yīng)用?

    什么是RISC-V?RISC-V指令具有哪些特點應(yīng)用?自己怎么才能設(shè)計出設(shè)計一套指令集?
    發(fā)表于 10-14 09:05

    求大佬分享RISC-V架構(gòu)學(xué)習(xí)筆記

    求大佬分享RISC-V架構(gòu)學(xué)習(xí)筆記
    發(fā)表于 02-16 07:01

    RISC-V 發(fā)展

    RISC-V 發(fā)展2015年成立了RISC-V基金會,這是個非營利性組織,主要為了維護和發(fā)展RISC-V。目前RISC-V的IP供應(yīng)商大部分是國內(nèi)的廠商,例如sifive、阿里平頭哥、
    發(fā)表于 04-14 10:18

    首批RISC-V筆記本電腦ROMA成功交付,全球首次實現(xiàn)RISC-V技術(shù)在筆記本電腦領(lǐng)域的商業(yè)落地!

    近日,由深度數(shù)智推出的第一批RISC-V筆記本電腦ROMA成功交付客戶,全球首次實現(xiàn)RISC-V技術(shù)在筆記本電腦領(lǐng)域的商業(yè)落地! 本次交付的ROMA
    發(fā)表于 08-21 13:41

    RISC-V規(guī)范的演進 RISC-V何時爆發(fā)?

    RISC-V的關(guān)注度越來越高,開源的理念也正在被越來越多的開發(fā)者和公司接受。對于尚不成熟的RISC-V而言,無論是規(guī)范和技術(shù)的演進還是生態(tài)的建設(shè),還有人才和專利都還有不小挑戰(zhàn)。2021年RISC-V
    的頭像 發(fā)表于 02-11 10:10 ?3169次閱讀

    首臺RISC-V筆記本為何如此神秘?

    去年我們已經(jīng)報道了RISC-V筆記本的新聞,中國科學(xué)院軟件研究所的PLCT實驗室和Tarsier團隊計劃在2022年底之前打造2000臺RISC-V筆記本。雖然該項目目前好像沒有更多
    的頭像 發(fā)表于 07-07 10:01 ?4201次閱讀
    首臺<b class='flag-5'>RISC-V</b><b class='flag-5'>筆記</b>本為何如此神秘?

    RISC-V學(xué)習(xí)筆記【1】RISC-V概述

    國產(chǎn)處理器芯片起步較晚,從2013年至今,集成電路每年的進口額均超過了 2000 億美元。RISC-V和AI(人工智能)芯片是我國最有希望突破的領(lǐng)域之一。RISC-V使用的領(lǐng)域還是對于生態(tài)依賴比較
    發(fā)表于 11-24 09:28 ?2623次閱讀

    openEuler加入RISC-V Landscape

    北京時間2023年3月8日,openEuler加入RISC-V Landscape。 此次加入RISC-V Landscape,意味著openEuler在對RISC-V架構(gòu)的生態(tài)適配
    的頭像 發(fā)表于 03-13 18:40 ?1333次閱讀

    RISC-VRISC-V AI的未來(特邀講座)

    主題演講:RISC-VRISC-V AI的未來(特邀講座)ppt分享
    發(fā)表于 07-14 17:15 ?16次下載

    RISC-V設(shè)計支持工具,支持RISC-V技術(shù)的基礎(chǔ)

    RISC-V設(shè)計支持工具,支持RISC-V技術(shù)的基礎(chǔ) ppt分享
    發(fā)表于 07-14 17:15 ?12次下載

    RISC-V Summit China 2024 青稞RISC-V+接口PHY,賦能RISC-V高效落地

    沁恒在歷屆峰會上分享RISC-V在MCU領(lǐng)域的創(chuàng)新成果,和大家共同見證了本土RISC-V產(chǎn)業(yè)的成長。早在第一屆RISC-V中國峰會上,沁恒就公開了青稞RISC-V系列量產(chǎn)芯片的關(guān)鍵技術(shù)
    的頭像 發(fā)表于 08-30 18:18 ?1474次閱讀
    <b class='flag-5'>RISC-V</b> Summit China 2024  青稞<b class='flag-5'>RISC-V</b>+接口PHY,賦能<b class='flag-5'>RISC-V</b>高效落地

    加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未來 !

    加入RISC-VAdvocate行列!我們正在尋找來自世界各地的RISC-V愛好者,通過全球推廣和參與,成為支持RISC-V進步的關(guān)鍵參與者。作為一名RISC-VAdvocate,您將
    的頭像 發(fā)表于 09-10 08:08 ?372次閱讀
    加入全球 <b class='flag-5'>RISC-V</b> Advocate 行列,共筑 <b class='flag-5'>RISC-V</b> 的未來 !
    RM新时代网站-首页