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

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

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

RISC-V給我們帶來了什么?

穎脈Imgtec ? 2022-12-15 10:43 ? 次閱讀

來源:內(nèi)容由半導(dǎo)體行業(yè)觀察(ID:icbank)編譯自semiwiki


通常,我們更喜歡把臺式機(jī)/筆記本電腦的復(fù)雜指令集叫做CISC,把智能手機(jī)的精簡指令集叫做RISC。戴爾和蘋果等 OEM 一直在其筆記本電腦中使用 x86 CISC 處理器。讓我在這里解釋筆記本電腦的設(shè)計方法。主板以多核CISC處理器為主要部件,連接GPU、RAM、存儲內(nèi)存等子系統(tǒng)和I/O接口。操作系統(tǒng)在多核處理器上并行運行多個應(yīng)用程序,管理內(nèi)存分配和 I/O 操作。

這就是我們使用處理器實現(xiàn)任何電子系統(tǒng)的方式。然而,我們更喜歡使用 RISC 處理器的智能手機(jī)系統(tǒng)級芯片,因為它有助于我們減小主板的尺寸和功耗。幾乎整個具有多核 RISC CPU、GPU、DSP、無線和接口子系統(tǒng)、SRAM、閃存和 IP 的系統(tǒng)都在 SoC 上實現(xiàn)。OEM Apple 正在遵循這款智能手機(jī)的 SoC 設(shè)計方法,甚至將他們的 MAC 筆記本作為 OEM 潮流引領(lǐng)者。所有最新的 MAC 書籍都使用他們的 M 系列 SoC,這些 SoC 使用 ARM 的 RISC 處理器。

因此,很明顯,英特爾的 x86 或 ARM 的 RISC 處理器的專有 ISA 一直是 Apple、戴爾、三星等 OEM 的選擇,但現(xiàn)在為什么我們需要像 RISC-V 這樣的開放 ISA,而不是所有這些經(jīng)過充分驗證的ISA。

在今天的情況下,每個人都將 SoC 用于他們的筆記本電腦和智能手機(jī)。這種復(fù)雜的 SoC 需要通用處理器和專用處理器。為了實現(xiàn)像 Apple 的 M 系列 SoC 這樣的芯片,我們需要不同種類的處理器,如 RISC CPU、GPU、DSP、安全處理器、圖像處理器、機(jī)器學(xué)習(xí)加速器、安全和神經(jīng)引擎,基于來自多個 IP 的各種通用和專用 ISA供應(yīng)商。

在這種情況下,主要挑戰(zhàn)是:

1.選擇并與多家 IP 供應(yīng)商合作

2.不同的 IP 供應(yīng)商可能有不同的 IP 許可方案,工程師將無法自由地定制 ISA 和設(shè)計,因為他們更愿意滿足他們的設(shè)計目標(biāo)。

3.所有專門的 ISA 都不會持續(xù)/生存很長時間,從而影響長期產(chǎn)品支持計劃和路線圖。

4.此外,涉及多個 ISA 和工具鏈的軟件/應(yīng)用程序開發(fā)和更新將具有挑戰(zhàn)性。

RISC-V 是一種具有多種擴(kuò)展功能的通用免許可開放式 ISA。它是一個 ISA,分為一個小的基本整數(shù) ISA,可用作定制加速器和可選標(biāo)準(zhǔn)擴(kuò)展的基礎(chǔ),以支持通用軟件開發(fā)。您可以添加自己的擴(kuò)展來實現(xiàn)您的專用處理器,或者根據(jù)需要自定義基本 ISA,因為它是開放的。沒有許可證限制。因此,在未來,我們可以僅使用一個 RISC-V ISA 創(chuàng)建所有通用和專用處理器,并實現(xiàn)任何復(fù)雜的 SoC。

什么是 RISC-V,它與其他 ISA 有何不同?

RISC-V 是加州大學(xué)伯克利分校的第五個主要 ISA 設(shè)計。它是由非營利組織 RISC-V International維護(hù)的開放式 ISA,涉及所有利益相關(guān)者社區(qū)以實施和維護(hù) ISA 規(guī)范、黃金參考模型和合規(guī)性測試套件。

RISC-V 不是 CPU 實現(xiàn)。它是通用處理器和專用處理器的開放式 ISA。一個完全開放的 ISA,可供學(xué)術(shù)界和工業(yè)界免費使用。

RISC-V ISA 被分成一個小的基本整數(shù) ISA,可單獨用作定制加速器或教育目的的基礎(chǔ),以及支持通用軟件開發(fā)的可選標(biāo)準(zhǔn)擴(kuò)展

RISC-V 支持應(yīng)用程序、操作系統(tǒng)內(nèi)核和硬件實現(xiàn)的 32 位和 64 位地址空間變體。因此,它適用于所有計算系統(tǒng),從嵌入式微控制器到云服務(wù)器,如下所述。簡單的嵌入式微控制器、保護(hù)運行 RTOS嵌入式系統(tǒng)、運行操作系統(tǒng)的臺式機(jī)/筆記本電腦/智能手機(jī)以及運行多個操作系統(tǒng)的云服務(wù)器。

二、RISC-V 基礎(chǔ) ISA

RISC-V 是一個相關(guān) ISA 家族:RV32I、RV32E、RV64I、RV128I。

RV32I/ RV32E/ RV64I/RV128I 是什么意思:

RV——RISC-V

32/64/128 – 定義寄存器寬度 [XLEN] 和地址空間

I – 整數(shù)基 ISA

32 個用于所有基本 ISA 的寄存器

E – 嵌入式:只有 16 個寄存器的基本 ISA

(1)RISC-V 寄存器:

所有基本 ISA 都有 32 個寄存器,如圖 2 所示,除了 RV32E。只有RV32E base ISA對于簡單的嵌入式微控制器只有16個寄存器,但寄存器寬度仍然是32位。寄存器 X0 硬接線為零。稱為程序計數(shù)器的特殊寄存器保存要從內(nèi)存中獲取的當(dāng)前指令的地址。如圖 2 所示,RISC-V 應(yīng)用程序二進(jìn)制接口,ABI 定義了寄存器的標(biāo)準(zhǔn)功能。為了簡單和一致,軟件開發(fā)工具通常使用 ABI 名稱。根據(jù) ABI,額外的寄存器專用于 X0 到 X15 范圍內(nèi)的保存寄存器、函數(shù)參數(shù)和臨時變量,主要用于 RV32E 基礎(chǔ) ISA,它只需要前 16 個寄存器來實現(xiàn)簡單的嵌入式微控制器。但是 RV32I 基礎(chǔ) ISA 將擁有所有 32 個寄存器 X0 到 X31。6f8be6e8-7c10-11ed-b116-dac502259ad0.png

圖 2:RISC-V 寄存器和 ABI 名稱參考:RISC-V 規(guī)范

(2)RISC-V內(nèi)存:

RISC-V hart [硬件線程/核心] 具有用于所有內(nèi)存訪問的 2^XLEN 字節(jié)的單字節(jié)可尋址地址空間。XLEN 表示整數(shù)寄存器的位寬度:32/64/128。內(nèi)存字定義為 32 位(4 字節(jié))。相應(yīng)地,半字為16位(2字節(jié)),雙字為64位(8字節(jié)),四字為128位(16字節(jié))。內(nèi)存地址空間是循環(huán)的,因此地址 2^XLEN -1 處的字節(jié)與地址零處的字節(jié)相鄰。因此,由硬件完成的內(nèi)存地址計算忽略溢出,而是環(huán)繞模 2^XLEN。RISC-V 基礎(chǔ) ISA 具有小端或大端存儲系統(tǒng),特權(quán)架構(gòu)進(jìn)一步定義了大端操作。指令作為 16 位小尾數(shù)法包的序列存儲在內(nèi)存中,而不管內(nèi)存系統(tǒng)的字節(jié)順序如何。

(3)RISC-V 加載存儲架構(gòu)

您可以可視化基于 RISC-V 寄存器和內(nèi)存的 RISC-V 加載存儲架構(gòu),如下圖 3 所示。

RISC-V處理器根據(jù)PC中的地址從主存中取/載指令,譯碼32位指令,然后ALU進(jìn)行算術(shù)/邏輯/內(nèi)存讀寫操作。ALU 的結(jié)果將存儲回其寄存器或內(nèi)存中。

7001e078-7c10-11ed-b116-dac502259ad0.png

圖 3:RISC-V 加載存儲架構(gòu)

(4)RISC-V RV32 I 基礎(chǔ) ISA

RV32I base ISA 只有 40 條 Unique Instructions,但簡單的硬件實現(xiàn)只需要 38 條指令。RV32I指令可分為:

R-Type:注冊到注冊說明

I-Type:立即注冊、加載、JLR、Ecall 和 Ebreak

S型:商店

B型:分支

J型:跳躍和鏈接

U 型:立即加載/添加上層

702487a4-7c10-11ed-b116-dac502259ad0.png

圖 4:RV32I 基本 ISA 指令格式

(5)用于優(yōu)化 RTL 設(shè)計的 RISC-V ISA

在這里,我想解釋一下 RISC-V ISA 如何使我們能夠?qū)崿F(xiàn)優(yōu)化的寄存器傳輸級設(shè)計,以滿足低功耗和高性能的目標(biāo)。如圖 4 所示,RISC-V ISA 在所有格式中將源(rs1 和 rs2)和目標(biāo)(rd)寄存器保持在相同位置以簡化解碼。

立即數(shù)總是經(jīng)過符號擴(kuò)展,并且通常被打包到指令中最左邊的可用位,并且已被分配以降低硬件復(fù)雜性。尤其是,

所有立即數(shù)的符號位總是在指令的第 31 位以加速符號擴(kuò)展電路。符號擴(kuò)展是對立即數(shù)最關(guān)鍵的操作之一(特別是對于 XLEN>32),在 RISC-V 中,所有立即數(shù)的符號位始終保存在指令的第 31 位中,以允許符號擴(kuò)展與指令解碼并行進(jìn)行。為了加快解碼速度,基礎(chǔ) RISC-V ISA 將最重要的字段放在每條指令的同一位置。正如您在指令格式表中所見,

主要操作碼總是在位 0-6 中。

目標(biāo)寄存器(如果存在)始終位于位 7-11 中。

第一個源寄存器(如果存在)始終位于第 15-19 位。

第二個源寄存器(如果存在)始終位于第 20-24 位。

但是為什么立即位會被打亂呢?想想解碼直接場的物理電路。由于它是硬件實現(xiàn),因此這些位將被并行解碼;輸出立即數(shù)中的每一位都有一個多路復(fù)用器來選擇它來自哪個輸入位。多路復(fù)用器越大,成本越高,速度也越慢。

值得注意的是,只需要主要操作碼(位 0-6)就可以知道如何解碼立即數(shù),因此立即數(shù)解碼可以與指令其余部分的解碼并行完成。

(6)RV32I 基本 ISA 指令

704699de-7c10-11ed-b116-dac502259ad0.png

RISC-V ISA 擴(kuò)展

此處列出了所有 RISC-V ISA 擴(kuò)展:

70cc7d4c-7c10-11ed-b116-dac502259ad0.jpg

圖 5:RISC-V ISA 擴(kuò)展

我們遵循 RISC-V 處理器的命名約定,如下所述:RISC-V 處理器:RV32I、RV32IMAC、RV64GCRV32I:整數(shù)基礎(chǔ) ISA 實現(xiàn)RV32IMAC:整數(shù)基礎(chǔ) ISA + 擴(kuò)展:[乘法 + 原子 + 壓縮]RV64GC:64 位 IMAFDC [G-通用:IMAFD]

整數(shù) 64 位基本 ISA + 擴(kuò)展:[乘法 + 原子 + SP 浮動 + DP 浮動 + 壓縮]

RISC-V 特權(quán)架構(gòu)

RISC-V 特權(quán)架構(gòu)涵蓋了 RISCV 系統(tǒng)的所有方面,超出了我到目前為止所解釋的非特權(quán) ISA。特權(quán)架構(gòu)包括特權(quán)指令以及運行操作系統(tǒng)和連接外部設(shè)備所需的附加功能。

根據(jù) RISC-V 特權(quán)規(guī)范,我們可以實現(xiàn)從簡單的嵌入式控制器到復(fù)雜的云服務(wù)器的不同類型的系統(tǒng),如下所述。應(yīng)用程序執(zhí)行環(huán)境 – AEE:“裸機(jī)”硬件平臺,其中 harts 直接由物理處理器線程實現(xiàn),指令可以完全訪問物理地址空間。硬件平臺定義了一個從上電復(fù)位開始的執(zhí)行環(huán)境。示例:簡單且安全的嵌入式微控制器主管執(zhí)行環(huán)境——參見:RISC-V 操作系統(tǒng),通過將用戶級 harts 多路復(fù)用到可用的物理處理器線程并通過虛擬內(nèi)存控制對內(nèi)存的訪問來提供多個用戶級執(zhí)行環(huán)境。

示例:運行類 Unix 操作系統(tǒng)的桌面等系統(tǒng)

Hypervisor Execution Environment – HEE:RISC-V hypervisor,為來賓操作系統(tǒng)提供多個管理級執(zhí)行環(huán)境。

示例:運行多個guest操作系統(tǒng)的云服務(wù)器

70e88a82-7c10-11ed-b116-dac502259ad0.png

圖 6:RISC-V 特權(quán)軟件堆棧參考:RISC-V 規(guī)范

此外,RISC-V 特權(quán)規(guī)范定義了各種控制和狀態(tài)寄存器 [CSR],以實現(xiàn)各種功能,如任何系統(tǒng)的中斷、調(diào)試和內(nèi)存管理設(shè)施。您可能需要參考規(guī)范以探索更多信息。

如本文所述,我們可以使用通用的開放式 RISC-V ISA 高效地實現(xiàn)任何系統(tǒng),從簡單的物聯(lián)網(wǎng)設(shè)備到復(fù)雜的智能手機(jī)和云服務(wù)器。由于單片半導(dǎo)體縮放失敗,專業(yè)化是提高計算性能的唯一途徑。開放式 RISC-V ISA 是模塊化的,支持自定義指令,使其成為創(chuàng)建各種專用處理器和加速器的理想選擇。

隨著 IEEE 標(biāo)準(zhǔn)通用驗證方法論的出現(xiàn),我們在芯片驗證方面取得了巨大成功,開放的 RISC-V ISA 也將繼承各種專有 ISA 的所有優(yōu)點,成為行業(yè)標(biāo)準(zhǔn) ISA,引領(lǐng)我們走向未來開放的計算時代。您準(zhǔn)備好使用 RISC-V 專業(yè)知識迎接這個美好的未來了嗎?

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

    關(guān)注

    68

    文章

    19038

    瀏覽量

    228482
  • RISC
    +關(guān)注

    關(guān)注

    6

    文章

    461

    瀏覽量

    83614
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    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 ?1240次閱讀
    <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>高效落地

    2024 RISC-V 中國峰會:華秋電子助力RISC-V生態(tài)!

    第四屆RISC-V中國峰會(RISC-V Summit China 2024)于8月21日至23日在杭州盛大召開,成為RISC-V領(lǐng)域的一次重要盛會
    的頭像 發(fā)表于 08-26 18:33 ?720次閱讀
    2024 <b class='flag-5'>RISC-V</b> 中國峰會:華秋電子助力<b class='flag-5'>RISC-V</b>生態(tài)!

    2024 RISC-V 中國峰會:華秋電子助力RISC-V生態(tài)!

    第四屆RISC-V中國峰會(RISC-V Summit China 2024)于8月21日至23日在杭州盛大召開,成為RISC-V領(lǐng)域的一次重要盛會。峰會匯聚了RISC-V國際基金會的
    發(fā)表于 08-26 16:46

    risc-v的發(fā)展歷史

    RISC-V的發(fā)展歷史可以追溯到2006年左右,當(dāng)時David Patterson和其他研究者開始探索創(chuàng)建一個開放和可擴(kuò)展的指令集架構(gòu)(ISA)。以下是RISC-V發(fā)展的主要里程碑: 一、起源與初步
    發(fā)表于 07-29 17:20

    rIsc-v的缺的是什么?

    RISC-V作為一種開源的指令集架構(gòu)(ISA),自其誕生以來就受到廣泛關(guān)注和應(yīng)用,但它也存在一些不足之處。以下是RISC-V架構(gòu)目前存在的主要缺點: 1. 性能問題 相對于專用ISA的性能差距:盡管
    發(fā)表于 07-29 17:18

    走進(jìn)RISC-V:芯片界的新革命

    科技熱潮呢?我們一起來探索其中的奧秘。RISC-V是什么?我們來了解一下什么是指令集架構(gòu)。指令集是計算機(jī)運行的核心,就像是電腦的“操作指南”。目前,主流的指令集架
    的頭像 發(fā)表于 07-12 08:28 ?501次閱讀
    走進(jìn)<b class='flag-5'>RISC-V</b>:芯片界的新革命

    【議題征集】2024 Hong Kong RISC-V Day 來了!

    提供了一個突破傳統(tǒng)束縛、實現(xiàn)自主創(chuàng)新的絕佳平臺。同時,隨著通用人工智能技術(shù)的不斷進(jìn)步,與RISC-V架構(gòu)結(jié)合的潛力巨大,為國產(chǎn)信創(chuàng)產(chǎn)業(yè)帶來了新的增長點。此外,安全性
    的頭像 發(fā)表于 07-05 08:36 ?380次閱讀
    【議題征集】2024 Hong Kong <b class='flag-5'>RISC-V</b> Day <b class='flag-5'>來了</b>!

    RISC-V在服務(wù)器方面應(yīng)用與發(fā)展前景

    RISC-V的云端部署上取得了重要突破,成功將RISC-V叢集部署到云端服務(wù)器,為國內(nèi)的RISC-V芯片開發(fā)和應(yīng)用帶來了更多的機(jī)會和可能性。同時,學(xué)術(shù)界也在積極推動
    發(fā)表于 04-28 09:04

    解鎖RISC-V技術(shù)力量丨曹英杰:RISC-V與大模型探索

    4月12日,第二期“大家來談芯|解鎖RISC-V技術(shù)力量”在上海臨港新片區(qū)頂科永久會址舉辦,本期沙龍聚焦RISC-V技術(shù),圍繞AI時代的RISC-V市場機(jī)會、RISC-V在汽車領(lǐng)域的應(yīng)
    的頭像 發(fā)表于 04-16 08:16 ?571次閱讀
    解鎖<b class='flag-5'>RISC-V</b>技術(shù)力量丨曹英杰:<b class='flag-5'>RISC-V</b>與大模型探索

    什么是RISC-V?RISC-V的關(guān)鍵技術(shù)

    RISC-V不僅僅是一個流行語;它建立在堅實的技術(shù)基礎(chǔ)之上,使其有別于其他指令集架構(gòu) (ISA)。RISC-V的核心是基于精簡指令集計算(RISC)原則,強(qiáng)調(diào)效率和性能。
    發(fā)表于 03-26 09:34 ?3249次閱讀

    2024年RISC-V趨勢預(yù)測,AI與高性能芯片井噴

    是否會給我們帶來新的驚喜,我們也可以做出一些小小的趨勢預(yù)測。 ? AI成為下一輪設(shè)計重心 ? 隨著RVV 1.0標(biāo)準(zhǔn)的正式發(fā)布,我們已經(jīng)看到2023年不少
    的頭像 發(fā)表于 02-08 08:45 ?9330次閱讀

    什么是RISC-V

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

    RISC-V開放架構(gòu)設(shè)計之道|閱讀體驗】 RISC-V設(shè)計必備之案頭小冊

    中出現(xiàn)的RISC-V拓展。 這本書的開篇講的是,為什么我們需要RISC-V指令集? 從過去的ISA的特點進(jìn)行引入,先以目前主流的x86指令集架構(gòu)為例列出了增量式指令集架構(gòu)中普遍含有的的一個缺點,并從指令集設(shè)計導(dǎo)論中
    發(fā)表于 01-22 16:24

    RISC-V生態(tài)強(qiáng)勁 RISC-V International會員超4000 超75個技術(shù)工作組

    行業(yè)得到了令人印象深刻的采用,世界上一些最大的公司推出了針對 RISC-V 的新硬件和軟件解決方案。 “今年 RISC-V 社區(qū)最大的收獲是我們將隨
    的頭像 發(fā)表于 11-09 15:17 ?692次閱讀