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

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

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

RISC-V 簡(jiǎn)介——理解 RISC 的開放式 ISA

海闊天空的專欄 ? 來(lái)源:海闊天空的專欄 ? 作者:海闊天空的專欄 ? 2022-08-25 17:10 ? 次閱讀

本文是 RISC-V 基礎(chǔ)知識(shí)的入門讀物。公開了開放式架構(gòu)理念,以及模塊化 ISA 的技術(shù)描述,以及一些商業(yè) RISC-V 微處理器實(shí)現(xiàn)。

RISC-V 開放指令集架構(gòu)是當(dāng)今可用的專有架構(gòu)(例如 ARM 的那些)的流行替代方案。自誕生以來(lái),RISC-V 穩(wěn)步獲得了學(xué)術(shù)和商業(yè)上的普及。

了解 RISC 與 CISC

RISC 是 1980 年代提出的一種計(jì)算機(jī)架構(gòu)哲學(xué),作為英特爾、摩托羅拉和幾乎所有其他人當(dāng)時(shí)提供的商業(yè)架構(gòu)的替代方案。這種架構(gòu)最初被稱為“復(fù)雜指令集計(jì)算機(jī)”或 CISC,它依靠密集指令集來(lái)實(shí)現(xiàn)被認(rèn)為有用和必要的各種操作。然而,包括IBM和加州大學(xué)伯克利分校在內(nèi)的許多研究團(tuán)隊(duì)發(fā)現(xiàn),編譯器通常最終使用這些復(fù)雜指令集的一小部分。這一發(fā)現(xiàn)和其他發(fā)現(xiàn)引發(fā)了對(duì)更大指令集的需求的質(zhì)疑,將重點(diǎn)放在簡(jiǎn)單性作為提高效率的一種手段。

總體而言,RISC 在許多方面與 CISC 是相反的。通常,CISC中央處理單元 (CPU)有一些寄存器和大量指令,其中大部分都可以訪問(wèn)內(nèi)存,而 RISC CPU 有很多寄存器和非常有限的指令集,內(nèi)存訪問(wèn)僅限于少數(shù)加載和存儲(chǔ)指示。

為了說(shuō)明復(fù)雜指令和簡(jiǎn)單指令之間的區(qū)別,表 1 顯示了使用 CISC CPU( NXP 的 s08)和 RISC CPU(ARM Cortex M0+ )遞增計(jì)數(shù)器變量的代碼比較。

表 1.CISC 和 RISC 代碼之間的示例比較。

poYBAGMHPKKAYs6ZAABEfqnlzh4476.png

在該表中,CISC 允許在單條指令中遞增變量,而 RISC 需要通過(guò)加載和存儲(chǔ)來(lái)訪問(wèn)內(nèi)存。盡管這顯示了代碼大小的差異,但這并不是蘋果對(duì)蘋果的比較,因?yàn)榧軜?gòu)之間存在許多差異,因此這并不能證明一個(gè)在技術(shù)上比另一個(gè)更好。

今天,英特爾 x86/x64 架構(gòu)證明了 CISC 微處理器沒(méi)有被 RISC 取代,而 ARM 架構(gòu)證明了 RISC 已經(jīng)主導(dǎo)了移動(dòng)設(shè)備市場(chǎng)。

RISC-V 歷史

RISC 的首字母縮寫詞是 1980 年左右由加州大學(xué)伯克利分校的 David Patterson 教授創(chuàng)造的,他與斯坦福大學(xué)的 John Hennessy 教授合作產(chǎn)生了他們著名的著作《計(jì)算機(jī)組織與設(shè)計(jì)》和《計(jì)算機(jī)架構(gòu):一種定量方法》。由于他們?cè)?RISC 架構(gòu)上的工作,他們?cè)?2017 年獲得了ACM AM 圖靈獎(jiǎng)。

從 1980 年快進(jìn)到 2010 年,第五代 RISC 研究項(xiàng)目的開發(fā)開始了,最終被稱為 RISC-V(發(fā)音為“risk-5”)。

RISC-V International——一個(gè)開放的 ISA

RISC-V 是一種開放指令集架構(gòu) (ISA),這意味著您可以自由地在微處理器或微控制器中實(shí)現(xiàn) RISC-V CPU,而無(wú)需向使用此 ISA 的任何人支付版稅。

RISC-V International 是一家全球非營(yíng)利組織,擁有并維護(hù) RISC-V ISA 知識(shí)產(chǎn)權(quán)。其主要目標(biāo)之一是保持 RISC-V 的設(shè)計(jì)基于簡(jiǎn)單性和性能,而不是專注于商業(yè)利益。出于這個(gè)原因,RISC-V International依賴于其代表微處理器生態(tài)系統(tǒng)群體的成員,從個(gè)人到谷歌、英特爾和英偉達(dá)等組織。成為會(huì)員有很多好處,包括為 ISA 的設(shè)計(jì)做出貢獻(xiàn)的可能性,以及投票批準(zhǔn)提議的更改。在下面的圖 1 中,您可以看到多年來(lái) RISC-V 發(fā)展的高級(jí)時(shí)間表。

pYYBAGMHPKOAURYqAACfY2TwSMM662.jpg

圖 1.自 2010 年問(wèn)世以來(lái),RISC-V 一直受到微處理器行業(yè)的好評(píng),在硬件和軟件方面的采用率一直在穩(wěn)步增長(zhǎng)。圖片由RISC-V International提供

RISC-V ISA 和擴(kuò)展的約定

作為始于 1980 年的第五代研究項(xiàng)目,RISC-V 是一種經(jīng)驗(yàn)豐富的架構(gòu),旨在在其他人過(guò)去可能失敗的情況下取得成功,RISC-V 旨在從任何潛在的過(guò)去錯(cuò)誤中學(xué)習(xí)。

出于這個(gè)原因,RISC-V 被設(shè)計(jì)為模塊化 ISA,而不是傳統(tǒng)的增量 ISA。這意味著 RISC-V 實(shí)現(xiàn)由強(qiáng)制的基本 ISA 和許多 ISA 擴(kuò)展組成,因此可以根據(jù)應(yīng)用程序的需要定制定制 CPU。

自定義 ISA的命名約定由字母 RV(用于 RISC-V)后跟位寬和變體標(biāo)識(shí)符組成。

例如,圖 2 所示的 RV32IMAC 表示:

RV32I:帶有基本整數(shù) ISA 的 32 位 CPU

M:整數(shù)乘除法擴(kuò)展

A:原子指令擴(kuò)展

C:壓縮指令擴(kuò)展

Figure_3_Understanding_basics_risc-v.jpg

圖 2.RV32IMAC ISA 的指令集顯示了 RISC-V 的模塊化(非增量)特性。強(qiáng)制性基本 ISA 與一組擴(kuò)展相結(jié)合 [點(diǎn)擊放大]。

編譯器被告知目標(biāo) CPU 中包含的擴(kuò)展,以便它生成可能的最佳代碼。如果代碼包含缺少擴(kuò)展的指令,則硬件會(huì)捕獲并執(zhí)行標(biāo)準(zhǔn)庫(kù)中的軟件功能。

基本整數(shù) ISA

只有 47 條指令,RV32I 基本整數(shù) ISA 實(shí)現(xiàn)了絕對(duì)必要的操作,以實(shí)現(xiàn) 32 位整數(shù)的基本功能(其 64 位變體是 RV64I)。此 ISA 以 32 位編碼,包括以下指令:

添加

減法

位運(yùn)算

加載和存儲(chǔ)

跳躍

分支機(jī)構(gòu)

基本 ISA 還指定了 32 個(gè) CPU 寄存器,它們都是 32 位寬,加上程序計(jì)數(shù)器。唯一的特殊寄存器是 x0,它總是讀取 0,正如在許多以前的 RISC ISA 中實(shí)現(xiàn)的那樣。

盡管表 2 中顯示的所有寄存器都可用于一般用途,但應(yīng)用程序二進(jìn)制接口 (ABI) 根據(jù)其調(diào)用約定為每個(gè)寄存器指定了用途。這意味著一些寄存器應(yīng)該保存臨時(shí)或保存的數(shù)據(jù)、指針、返回地址等。

表 2.RV32I 寄存器文件顯示硬件寄存器名稱及其在 RISC-V 應(yīng)用程序二進(jìn)制接口中指定的功能。圖片由Krste Asanovi? 和 Randy H. Katz提供

poYBAGMHPK6APchFAADUda6HFuM891.jpg

RISC-V 乘法和浮點(diǎn)

RV32M 擴(kuò)展實(shí)現(xiàn)了 8 條指令來(lái)對(duì)整數(shù)執(zhí)行乘法和除法(RV64M 在這 8 條指令的基礎(chǔ)上增加了 5 條指令)。

RV32F 擴(kuò)展為 32 位浮點(diǎn)數(shù)和 26 條浮點(diǎn)指令增加了 32 個(gè)獨(dú)立的寄存器。同樣,RV32D 擴(kuò)展使用 32 個(gè) 64 位浮點(diǎn)寄存器,支持雙精度 64 位浮點(diǎn)數(shù)。

RISC-V 壓縮指令

RV32C 擴(kuò)展是對(duì) RISC-V ISA 的巧妙補(bǔ)充,因?yàn)樗鼮楝F(xiàn)有指令的特殊子集提供了另一種 16 位編碼。

在分析了現(xiàn)代優(yōu)化編譯器生成的無(wú)數(shù)行代碼后,RISC-V 的創(chuàng)建者確定了最流行的指令,并創(chuàng)建了 16 位版本,放棄了其完整 32 位版本的部分功能,這些功能在無(wú)論如何,RV32I 基礎(chǔ) ISA。

由于以下說(shuō)明,這種壓縮是可能的:

有些寄存器比其他寄存器更受歡迎。

一個(gè)操作數(shù)通常會(huì)被覆蓋。

有一些首選的立即數(shù)。

這允許將有限數(shù)量的寄存器的指令編碼為操作數(shù),僅指定 2 個(gè)寄存器而不是 3 個(gè),使用小的立即數(shù),所有這些都在 16 位中。

通過(guò)壓縮最常用的指令,您有更好的機(jī)會(huì)顯著壓縮程序。

其他 RISC-V 擴(kuò)展

還有許多額外的擴(kuò)展,它們實(shí)現(xiàn)了現(xiàn)代微處理器所期望的所有功能。這包括嵌入式基礎(chǔ) ISA (RV32E)、原子操作 (A)、位操作 (B)、向量操作 (V) 的擴(kuò)展,等等。

RISC-V 實(shí)現(xiàn)

許多公司在其微控制器、微處理器和 SoC 中制造各種 RISC-V 內(nèi)核。一個(gè)例子是 SiFive,第一家制造基于 RISC-V ISA 的硅的公司。他們的芯片范圍從低端微控制器一直到高性能 SoC。

pYYBAGMHPLGAbE47AACbMEkugE4697.jpg

圖 3.RISC-V 框圖示例,即 P550 高性能應(yīng)用處理器的框圖。圖片由SiFive提供

然而,實(shí)際的 RISC-V 項(xiàng)目并不局限于集成電路。在許多領(lǐng)域,如編譯器、模擬器、開發(fā)環(huán)境、操作系統(tǒng)等,有大量正在進(jìn)行的項(xiàng)目。有關(guān)項(xiàng)目的詳細(xì)列表,您可以訪問(wèn)此 GitHub以了解更多信息。

總而言之,RISC-V 是計(jì)算機(jī)體系結(jié)構(gòu)世界中一個(gè)令人興奮的話題,今天是參與其中的好時(shí)機(jī)。如果您想了解有關(guān)此運(yùn)動(dòng)的更多信息,請(qǐng)務(wù)必訪問(wèn)RISC-V 國(guó)際網(wǎng)站。

審核編輯 黃昊宇

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

    關(guān)注

    0

    文章

    56

    瀏覽量

    44013
  • RISC
    +關(guān)注

    關(guān)注

    6

    文章

    479

    瀏覽量

    84705
  • 架構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    528

    瀏覽量

    25862
  • RSIC-V
    +關(guān)注

    關(guān)注

    4

    文章

    15

    瀏覽量

    6682
收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RISC-V的未來(lái)應(yīng)走向何方

    半導(dǎo)體行業(yè)正孜孜不倦地推動(dòng)創(chuàng)新,在這個(gè)過(guò)程中,做出正確選擇,正成為芯片成功的關(guān)鍵因素。在眾多操作系統(tǒng)、編譯器、調(diào)試器和其他工具的選項(xiàng)中,開放RISC-V指令集架構(gòu)(ISA)正在加速普及。這種
    的頭像 發(fā)表于 04-01 09:30 ?447次閱讀

    關(guān)于RISC-V芯片的應(yīng)用學(xué)習(xí)總結(jié)

    RISC-V芯片作為一種基于精簡(jiǎn)指令集計(jì)算(RISC)原則的開源指令集架構(gòu)(ISA)芯片,近年來(lái)在多個(gè)領(lǐng)域展現(xiàn)出了廣泛的應(yīng)用潛力和顯著優(yōu)勢(shì)。以下是對(duì)RISC-V芯片應(yīng)用的總結(jié)。
    發(fā)表于 01-29 08:38

    RISC-V 與 ARM 架構(gòu)的區(qū)別 RISC-V與機(jī)器學(xué)習(xí)的關(guān)系

    指令集架構(gòu)(ISA),由加州大學(xué)伯克利分校的研究團(tuán)隊(duì)于2010年發(fā)起。RISC-V的主要特點(diǎn)是其開放性和靈活性,允許任何人自由使用、修改和分發(fā),無(wú)需支付許可費(fèi)用。這種開放性使得
    的頭像 發(fā)表于 12-11 17:50 ?2695次閱讀

    如何使用 RISC-V 進(jìn)行嵌入開發(fā)

    RISC-V是一種開源的指令集架構(gòu)(ISA),它允許任何人設(shè)計(jì)、制造和銷售基于RISC-V的處理器,這為嵌入開發(fā)提供了極大的靈活性和創(chuàng)新空間。以下是使用
    的頭像 發(fā)表于 12-11 17:32 ?1697次閱讀

    關(guān)于RISC-V學(xué)習(xí)路線圖推薦

    架構(gòu)(ISA)、流水線、內(nèi)存層次結(jié)構(gòu)等。 編程語(yǔ)言 : 熟悉C/C++或Rust等編程語(yǔ)言,這些是RISC-V架構(gòu)下常用的編程語(yǔ)言。C語(yǔ)言必須好好學(xué)習(xí),這是基礎(chǔ)哦。 二、RISC-V架構(gòu)入門
    發(fā)表于 11-30 15:21

    RISC-V能否復(fù)制Linux 的成功?》

    方案。除了SK Telecom和Renesas,專注開發(fā)5G基站芯片的初創(chuàng)公司EdgeQ也將使用Andes核心RISC-V許可及定制擴(kuò)展,以提供集成人工智能的可編程開放式5G平臺(tái)。Andes定制擴(kuò)展允許
    發(fā)表于 11-26 20:20

    什么是RISC-V?以及RISC-V和ARM、X86的區(qū)別

    前言 RISC-V是基于RISC精簡(jiǎn)指令集架構(gòu)開發(fā)的一個(gè)開放式指令集架構(gòu),它是由加州大學(xué)伯克利分校的計(jì)算機(jī)科學(xué)教授Krste Asanovic(克里斯蒂安·阿薩諾維奇)領(lǐng)導(dǎo)的團(tuán)隊(duì)開發(fā),RISC
    發(fā)表于 11-16 16:14

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

    1.前言RISC-V旨在支持廣泛的定制和專業(yè)化。RISC-VISA是由一個(gè)基本整型ISA和其它對(duì)基本ISA的可選擴(kuò)展組成。每個(gè)整型
    的頭像 發(fā)表于 11-12 01:08 ?1146次閱讀
    <b class='flag-5'>RISC-V</b>筆記——基礎(chǔ)

    RISC-V,即將進(jìn)入應(yīng)用的爆發(fā)期

    RISC-V是一種開放標(biāo)準(zhǔn)指令集架構(gòu) (ISA),最初由加州大學(xué)伯克利分校的研究人員于2010年開發(fā)。業(yè)界稱,這種開源特性為芯片設(shè)計(jì)者提供了極大的靈活性,可以根據(jù)具體需求定制AI加速器。 而AI
    發(fā)表于 10-31 16:06

    ISA ARM 對(duì)比 RISC-V

    、擴(kuò)展方式以及目標(biāo)應(yīng)用場(chǎng)景等方面有顯著差異。 要深入對(duì)比ARM和RISC-V的指令集,需要從指令集架構(gòu)(ISA)的設(shè)計(jì)原則、擴(kuò)展模塊、指令的復(fù)雜性、特性以及它們的實(shí)際性能表現(xiàn)來(lái)進(jìn)行討論。RISC-V作為第五代的
    的頭像 發(fā)表于 09-10 09:26 ?1455次閱讀

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

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

    rIsc-v的缺的是什么?

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

    RISC-V適合什么樣的應(yīng)用場(chǎng)景

    RISC-V作為一種開源的指令集架構(gòu)(ISA),其設(shè)計(jì)哲學(xué)秉承簡(jiǎn)單、模塊化和可擴(kuò)展性,這使得它適用于多種應(yīng)用場(chǎng)景。以下是RISC-V適合的一些主要應(yīng)用場(chǎng)景: 1. 物聯(lián)網(wǎng)(IoT) 低功耗設(shè)備
    發(fā)表于 07-29 17:16

    為什么要有RISC-V

    RISC-V(“RISC five”)的目標(biāo)是成為一個(gè)通用的指令集架構(gòu)(ISA):①、它要能適應(yīng)包括從最袖珍的嵌入控制器,到最快的高性能計(jì)算機(jī)等各種規(guī)模的處理器。②、它應(yīng)該能兼容各種
    發(fā)表于 07-27 15:05

    淺析RISC-V領(lǐng)先ARM的優(yōu)勢(shì)

    RISC-V相對(duì)于ARM的優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面: 開源與免費(fèi): RISC-V是一個(gè)完全開源的指令集架構(gòu)(ISA),其規(guī)范公開且可以免費(fèi)使用。這意味著任何人都可以基于RISC-V設(shè)
    發(fā)表于 06-27 08:45

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品