<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          RISC-V科普:理解開源ISA架構(gòu)

          共 4200字,需瀏覽 9分鐘

           ·

          2022-06-21 11:35


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


          相關(guān)文章:芯片快速發(fā)展,國內(nèi)廠商如何突圍?(2022)


          RISC-V開放指令集架構(gòu)是當(dāng)今可用的專有架構(gòu)(例如 ARM 的那些)的流行替代方案。自誕生以來,RISC-V在學(xué)術(shù)和商業(yè)上的逐漸普及。更多內(nèi)容參考閱讀:RISC-V指令架構(gòu)與實踐(1)、RISC-V指令架構(gòu)與實踐(2)、2021年RISC-V行業(yè)概覽、RISC-V芯片產(chǎn)業(yè)指令集架構(gòu)研究、RISC-V手冊開源指令集指南、龍芯LoongArch指令集全集


          了解 RISC 與 CISC


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


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


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

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


          在該表中,CISC 允許在單條指令中遞增變量,而 RISC 需要通過加載和存儲來訪問內(nèi)存。盡管這顯示了代碼大小的差異,但這并不是 apple to apple的比較,因為架構(gòu)之間存在許多差異,因此這并不能證明一個在技術(shù)上優(yōu)于另一個。


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


          RISC-V 歷史


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


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


          RISC-V International——一個開放的 ISA


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


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


          圖 1.自 2010 年問世以來,RISC-V 一直受到微處理器行業(yè)的好評,在硬件和軟件方面的采用率一直在穩(wěn)步增長。


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


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


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


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


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

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

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

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

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


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


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


          基本整數(shù) ISA


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


          • 添加

          • 減法

          • 位運算

          • 加載和存儲

          • 跳躍


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


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


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


          表 2.  RV32I 寄存器文件顯示硬件寄存器名稱及其在 RISC-V 應(yīng)用程序二進(jìn)制接口中指定的功能。


          RISC-V 乘法和浮點


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


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


          RISC-V 壓縮指令


          RV32C 擴(kuò)展是對 RISC-V ISA 的巧妙補(bǔ)充,因為它為現(xiàn)有指令的特殊子集提供了另一種 16 位編碼。


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


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


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

          2.一個操作數(shù)通常會被覆蓋。

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


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


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


          其他 RISC-V 擴(kuò)展


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


          RISC-V 實現(xiàn)


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


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


          然而,實際的 RISC-V 項目并不局限于集成電路。在許多領(lǐng)域,如編譯器、模擬器、開發(fā)環(huán)境、操作系統(tǒng)等,有大量正在進(jìn)行的項目。


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


          原文鏈接:
          https://www.allaboutcircuits.com/technical-articles/introductions-to-risc-v-instruction-set-understanding-this-open-instruction-set-architecture/


          下載鏈接:
          ARM架構(gòu)參考手冊及文檔
          ARM的體系結(jié)構(gòu)與編程.pdf
          ARM架構(gòu)參考手冊.pdf
          ARM架構(gòu)參考手冊ARM V9.pdf
          CPU之戰(zhàn):ARM vs Intel.pdf
          ARM系列處理器應(yīng)用技術(shù)完全手冊
          CPU和GPU研究框架合集
          ARM CPU處理器資料匯總(1)
          ARM CPU處理器資料匯總(2)
          ARM系列處理器應(yīng)用技術(shù)完全手冊
          CPU和GPU研究框架合集
          1、行業(yè)深度報告:GPU研究框架
          2、信創(chuàng)產(chǎn)業(yè)研究框架
          3、ARM行業(yè)研究框架
          4、CPU研究框架
          5、國產(chǎn)CPU研究框架
          6、行業(yè)深度報告:GPU研究框架
          Arm架構(gòu)服務(wù)器的開源應(yīng)用
          Arm架構(gòu)服務(wù)器和存儲
          服務(wù)器硬件體系架構(gòu)淺析
          服務(wù)器市場現(xiàn)狀研究
          RISC-V指令架構(gòu)與實踐(1)
          RISC-V指令架構(gòu)與實踐(2)
          2021年RISC-V行業(yè)概覽
          ARM系列處理器應(yīng)用技術(shù)完全手冊
          CPU和GPU研究框架合集
          面向AIoT的RISC-V原生操作系統(tǒng)研究
          深度報告:RISC-V異構(gòu)IoT全新架構(gòu)
          RISC-V芯片產(chǎn)業(yè)指令集架構(gòu)研究
          玄鐵C910實現(xiàn)RISC-V用戶自定義指令
          面向AIoT的RISC-V原生操作系統(tǒng)研究
          RISC-V手冊開源指令集指南


          本號資料全部上傳至知識星球,更多內(nèi)容請登錄智能計算芯知識(知識星球)星球下載全部資料。


          來源:智能計算芯世界
                



          轉(zhuǎn)載申明:轉(zhuǎn)載本號文章請注明作者來源,本號發(fā)布文章若存在版權(quán)等問題,請留言聯(lián)系處理,謝謝。


          推薦閱讀

          更多架構(gòu)相關(guān)技術(shù)知識總結(jié)請參考“架構(gòu)師全店鋪技術(shù)資料打包”相關(guān)電子書(37本技術(shù)資料打包匯總詳情可通過“閱讀原文”獲取)。

          全店內(nèi)容持續(xù)更新,現(xiàn)下單“全店鋪技術(shù)資料打包(全)”,后續(xù)可享全店內(nèi)容更新“免費”贈閱,價格僅收198元(原總價350元)。



          溫馨提示:

          掃描二維碼關(guān)注公眾號,點擊閱讀原文鏈接獲取架構(gòu)師技術(shù)全店資料打包匯總(全)電子書資料詳情。


          瀏覽 67
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  A免费黄色 | 亚洲在线视频观看网 | 五月天婷婷激情综合网 | 亚洲A片中文字幕在线看 | 网站毛片免费在线观看 |