<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開源指令集的指南(收藏)

          共 3671字,需瀏覽 8分鐘

           ·

          2022-02-16 08:35



          RISC-V 是一個(gè)最新的,清晰的,簡約的,開源的 ISA,它以過去 ISA 所犯過的錯(cuò)誤為鑒。RISC-V 架構(gòu)師的目標(biāo)是讓它在從最小的到最快的所有計(jì)算設(shè)備上都能有效工作。遵循馮諾依曼 70 年前的建議,這個(gè) ISA 強(qiáng)調(diào)簡潔性來保證它的低成本,同時(shí)有著大量的寄存器和透明的指令執(zhí)行速度,從而幫助編譯器和匯編語言程序員將實(shí)際的重要問題轉(zhuǎn)換為適當(dāng)?shù)母咝Тa。


          下載鏈接:

          RISC-V手冊開源指令集指南


          RISC-V(“RISC five”)的目標(biāo)是成為一個(gè)通用的指令集架構(gòu)(ISA):


          • 它要能適應(yīng)包括從最袖珍的嵌入式控制器,到最快的高性能計(jì)算機(jī)等各種規(guī)模的處理器。

          • 它應(yīng)該能兼容各種流行的軟件棧和編程語言。

          • 它應(yīng)該適應(yīng)所有實(shí)現(xiàn)技術(shù),包括現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)、全定制芯片,甚至未來的設(shè)備技術(shù)。

          • 它應(yīng)該對所有微體系結(jié)構(gòu)樣式都有效:例如微編碼或硬連線控制;順序或亂序執(zhí)行流水線; 單發(fā)射或超標(biāo)量等等。

          • 它應(yīng)該支持廣泛的專業(yè)化,成為定制加速器的基礎(chǔ),因?yàn)殡S著摩爾定律的消退,加速器的重要性日益提高。

          • 它應(yīng)該是穩(wěn)定的,基礎(chǔ)的指令集架構(gòu)不應(yīng)該改變。更重要的是,它不能像以前的專有指令集架構(gòu)一樣被棄用,例如AMD Am29000、Digital Alpha、Digital VAX、Hewlett Packard PA-RISC、Intel i860、Intel i960、Motorola 88000、以及Zilog Z8000。


          RISC-V的不同尋常不僅在于它是一個(gè)最近誕生的指令集架構(gòu)(它誕生于最近十年,而大多數(shù)其他指令集都誕生于20世紀(jì)70到80年代),而且在于它是一個(gè)開源的指令集架構(gòu)。與幾乎所有的舊架構(gòu)不同,它的未來不受任何單一公司的浮沉或一時(shí)興起的決定的影響(這一點(diǎn)讓許多過去的指令集架構(gòu)都遭了殃)。


          它屬于一個(gè)開放的,非營利性質(zhì)的基金會。RISC-V基金會的目標(biāo)是保持RISC-V的穩(wěn)定性,僅僅出于技術(shù)原因緩慢而謹(jǐn)慎地發(fā)展它,并力圖讓它之于硬件如同Linux之于操作系統(tǒng)一樣受歡迎。


          計(jì)算機(jī)體系結(jié)構(gòu)的傳統(tǒng)方法是增量ISA,新處理器不僅必須實(shí)現(xiàn)新的ISA擴(kuò)展,還必須實(shí)現(xiàn)過去的所有擴(kuò)展。目的是為了保持向后的二進(jìn)制兼容性,這樣幾十年前程序的二進(jìn)制版本仍然可以在最新的處理器上正確運(yùn)行。這一要求與來自于同時(shí)發(fā)布新指令和新處理器的營銷上的誘惑共同導(dǎo)致了ISA的體量隨時(shí)間大幅增長。例如,圖1.2顯示了當(dāng)今主導(dǎo)ISA80x86的指令數(shù)量增長過程。這個(gè)指令集架構(gòu)的歷史可以追溯到1978年,在它的漫長生涯中,它平均每個(gè)月增加了大約三條指令。



          這個(gè)傳統(tǒng)意味著x86-32(我們用它表示32位地址版本的x86)的每個(gè)實(shí)現(xiàn)必須實(shí)現(xiàn)過去的擴(kuò)展中的錯(cuò)誤設(shè)計(jì),即便它們不再有意義。例如,圖1.3描述了x86的ASCII Adjust afterAddition(aaa)指令,該指令早已失效。



          作為一個(gè)類比,假設(shè)一家餐館只提供固定價(jià)格的餐點(diǎn),最初只是一頓包含漢堡和奶昔的小餐。隨著時(shí)間的推移,它會加入薯?xiàng)l,然后是冰淇淋圣代,然后是沙拉,餡餅,葡萄酒,素食意大利面,牛排,啤酒,無窮無盡,直到它成為一頓大餐。食客可以在那家餐廳找到他們過去吃過的東西,盡管總的來說這樣做可能沒什么意義。這樣做的壞處是,用餐者為每次晚餐支付的宴會費(fèi)用不斷增加。


          RISC-V的不同尋常之處,除了在于它是最近誕生的和開源的以外,還在于:和幾乎所有以往的ISA不同,它是模塊化的。它的核心是一個(gè)名為RV32I的基礎(chǔ)ISA,運(yùn)行一個(gè)完整的軟件棧。


          RV32I是固定的,永遠(yuǎn)不會改變。這為編譯器編寫者,操作系統(tǒng)開發(fā)人員和匯編語言程序員提供了穩(wěn)定的目標(biāo)。模塊化來源于可選的標(biāo)準(zhǔn)擴(kuò)展,根據(jù)應(yīng)用程序的需要,硬件可以包含或不包含這些擴(kuò)展。這種模塊化特性使得RISC-V具有了袖珍化、低能耗的特點(diǎn),而這對于嵌入式應(yīng)用可能至關(guān)重要。RISC-V編譯器得知當(dāng)前硬件包含哪些擴(kuò)展后,便可以生成當(dāng)前硬件條件下的最佳代碼。慣例是把代表擴(kuò)展的字母附加到指令集名稱之后作為指示。例如,RV32IMFD將乘法(RV32M),單精度浮點(diǎn)(RV32F)和雙精度浮點(diǎn)(RV32D)的擴(kuò)展添加到了基礎(chǔ)指令集(RV32I)中。

          在介紹 RISC-V 這個(gè) ISA 之前,了解計(jì)算機(jī)架構(gòu)師在設(shè)計(jì) ISA 時(shí)的基本原則和必須做出的權(quán)衡是有用的。如下的列表列出了七種衡量標(biāo)準(zhǔn)。頁邊放置了對應(yīng)的七個(gè)圖標(biāo),以突出顯示 RISC-V 在隨后章節(jié)中應(yīng)對它們的實(shí)例。




          • 成本(美元硬幣)

          • 簡潔性(輪子)

          • 性能(速度計(jì))

          • 架構(gòu)和具體實(shí)現(xiàn)的分離(分開的兩個(gè)半圓)提升空間(手風(fēng)琴)
          • 程序大小(相對的壓迫著一條線的兩個(gè)箭頭)
          • 易于編程/編譯/鏈接(兒童積木“像 ABC 一樣簡單”)

          RISC-V手冊開源指令集指南》本書假設(shè)您在 RISC-V 之前已經(jīng)了解過其他指令集。如果沒有,請查看我們基于RISC-V 的相關(guān)入門架構(gòu)書。


          第二章介紹了 RV32I,它是 RISC-V 固定不變的基礎(chǔ)整數(shù)指令集,是 RISC-V 的核心內(nèi)容。


          第三章解釋了第二章中沒有介紹的其余 RISC-V 匯編語言內(nèi)容,包括調(diào)用約定和一些用于鏈接的巧妙技巧。匯編語言包括所有符合規(guī)則的 RISC-V 指令和一些 RISC-V 指令集外的有用指令。這些偽指令是實(shí)際指令的巧妙變體,它們簡化了編寫匯編語言程序的過程,同時(shí)避免了使 ISA 復(fù)雜化。


          接下來的三章闡述了 RISC-V 的標(biāo)準(zhǔn)擴(kuò)展。當(dāng)它們添加到 RIV32I 中的時(shí)候,我們統(tǒng)稱RV32G(G 代表一般):


          • 第四章:乘法和除法(RV32M)?

          • 第五章:浮點(diǎn)操作(RV32F 和 RV32D)?

          • 第六章:原子操作(RV32A) 第 3 頁和第 4 頁的 RISC-V“參考卡”是本書中所有 RISC-V 指令(RV32G,RV64G 和RV32 / 64V)的摘要。


          第七章介紹了可選的壓縮擴(kuò)展 RV32C,它是 RISC-V 優(yōu)雅性的一個(gè)絕佳例子。通過把16 位指令限制為現(xiàn)有 32 位 RV32G 指令的短版本,它們幾乎是沒有代價(jià)的。匯編程序可以選擇指令大小,這使得匯編語言程序員和編譯器忘記 RV32C。將 16 位 RV32C 指令轉(zhuǎn)換成32 位 RV32G 指令的硬件解碼器只需要 400 個(gè)門,這即使在最簡單的 RISC-V 實(shí)現(xiàn)中也只占百分之幾。


          第八章介紹了向量擴(kuò)展 RV32V。當(dāng)與眾多強(qiáng)大的單指令多數(shù)據(jù)(SIMD)指令(ARM-32,MIPS-32,x86-32)相比時(shí),向量指令成為了 ISA 優(yōu)雅性的另一個(gè)例證。實(shí)際上,圖1.2 中添加到 x86-32 的數(shù)百條指令都是 SIMD,還有數(shù)百條指令即將問世。RV32V 甚至比大多數(shù)向量 ISA 更簡單,因?yàn)樗ㄟ^向量寄存器指定數(shù)據(jù)類型和長度,而不是將這兩者嵌入到操作碼中。RV32V 也許是大家從傳統(tǒng)的基于 SIMD 的 ISA 轉(zhuǎn)到 RISC-V 的最為可能的原因。


          第九章展示了 RV64G,它是 RISC-V 的 64 位地址版本。正如該章節(jié)所說的那樣,RISC-V 的架構(gòu)師只需要拓寬寄存器,并加入一些字、雙字或長版的 RV32G 指令,就可以把地址從 32 位擴(kuò)展為 64 位。


          第十章介紹了系統(tǒng)指令,說明了 RISC-V 如何處理分頁以及機(jī)器、用戶和監(jiān)管者權(quán)限模式。


          最后一章簡要介紹了 RISC-V 基金會目前正在考慮增加的其它擴(kuò)展。每一章都會包含一個(gè)用 RISC- V 匯編語言寫成的程序,這是為了展示那一章所述的指令的用法,這樣有助于匯編語言程序員學(xué)習(xí) RISC-V 匯編。有時(shí),我們還會列出用 ARM,MIPS 和 x86 寫成的同樣的程序,從而突出 RISC-V 在簡潔性,以及成本、功耗、性能方面的優(yōu)勢。


          RISC-V技術(shù)合集:

          2021年RISC-V行業(yè)概覽

          ARM系列處理器應(yīng)用技術(shù)完全手冊

          CPU和GPU研究框架合集

          面向AIoT的RISC-V原生操作系統(tǒng)研究

          深度報(bào)告:RISC-V異構(gòu)IoT全新架構(gòu)

          RISC-V芯片產(chǎn)業(yè)指令集架構(gòu)研究

          玄鐵C910實(shí)現(xiàn)RISC-V用戶自定義指令

          面向AIoT的RISC-V原生操作系統(tǒng)研究

          RISC-V手冊開源指令集指南

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




          免責(zé)申明:本號聚焦相關(guān)技術(shù)分享,內(nèi)容觀點(diǎn)不代表本號立場,可追溯內(nèi)容均注明來源,發(fā)布文章若存在版權(quán)等問題,請留言聯(lián)系刪除,謝謝。



          電子書<服務(wù)器基礎(chǔ)知識全解(終極版)>更新完畢,知識點(diǎn)深度講解,提供182頁完整版下載。

          獲取方式:點(diǎn)擊“閱讀原文”即可查看PPT可編輯版本和PDF閱讀版本詳情。



          溫馨提示:

          請搜索“AI_Architect”或“掃碼”關(guān)注公眾號實(shí)時(shí)掌握深度技術(shù)分享,點(diǎn)擊“閱讀原文”獲取更多原創(chuàng)技術(shù)干貨。


          瀏覽 85
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  成人电影无码免费 | 国产综合久久久7777777 | www.一级内射 | 欧美性妇 | 欧美黄色片 |