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

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

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

RISC-V開源指令集全面指南與解析

智能計算芯世界 ? 來源:智能計算芯世界 ? 2024-03-13 09:41 ? 次閱讀

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

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

它應該能兼容各種流行的軟件棧和編程語言。

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

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

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

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

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

RISC-V基金會的目標是保持RISC-V的穩(wěn)定性,僅僅出于技術(shù)原因緩慢而謹慎地發(fā)展它,并力圖讓它之于硬件如同Linux之于操作系統(tǒng)一樣受歡迎。 計算機體系結(jié)構(gòu)的傳統(tǒng)方法是增量ISA,新處理器不僅必須實現(xiàn)新的ISA擴展,還必須實現(xiàn)過去的所有擴展。目的是為了保持向后的二進制兼容性,這樣幾十年前程序的二進制版本仍然可以在最新的處理器上正確運行。這一要求與來自于同時發(fā)布新指令和新處理器的營銷上的誘惑共同導致了ISA的體量隨時間大幅增長。 例如,圖1.2顯示了當今主導ISA80x86的指令數(shù)量增長過程。這個指令集架構(gòu)的歷史可以追溯到1978年,在它的漫長生涯中,它平均每個月增加了大約三條指令。

c3fe879a-e0d1-11ee-a297-92fbcf53809c.png

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

c42578c8-e0d1-11ee-a297-92fbcf53809c.png

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

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

RV32I是固定的,永遠不會改變。這為編譯器編寫者,操作系統(tǒng)開發(fā)人員和匯編語言程序員提供了穩(wěn)定的目標。模塊化來源于可選的標準擴展,根據(jù)應用程序的需要,硬件可以包含或不包含這些擴展。這種模塊化特性使得RISC-V具有了袖珍化、低能耗的特點,而這對于嵌入式應用可能至關(guān)重要。RISC-V編譯器得知當前硬件包含哪些擴展后,便可以生成當前硬件條件下的最佳代碼。

慣例是把代表擴展的字母附加到指令集名稱之后作為指示。例如,RV32IMFD將乘法(RV32M),單精度浮點(RV32F)和雙精度浮點(RV32D)的擴展添加到了基礎(chǔ)指令集(RV32I)中。 在介紹 RISC-V 這個 ISA 之前,了解計算機架構(gòu)師在設(shè)計 ISA 時的基本原則和必須做出的權(quán)衡是有用的。如下的列表列出了七種衡量標準。頁邊放置了對應的七個圖標,以突出顯示 RISC-V 在隨后章節(jié)中應對

審核編輯:黃飛

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

    關(guān)注

    5365

    文章

    11159

    瀏覽量

    358351
  • 指令集
    +關(guān)注

    關(guān)注

    0

    文章

    216

    瀏覽量

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

    關(guān)注

    44

    文章

    2141

    瀏覽量

    45705

原文標題:RISC-V開源指令集指南

文章出處:【微信號:AI_Architect,微信公眾號:智能計算芯世界】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    淺談RISC-V指令集架構(gòu)的來龍去脈

    最近和幾個行業(yè)內(nèi)的朋友聊天,聊到了近兩年比較火的AI人工智能,并向我推薦了一款目前在小范圍內(nèi)比較火的國產(chǎn)處理器,我查了一下該處理器是采用的開源RISC-V指令集架構(gòu)。曾有人將RISC-V
    的頭像 發(fā)表于 01-24 17:42 ?6172次閱讀

    Microchip發(fā)布業(yè)界首款基于RISC-V指令集架構(gòu)的SoC FPGA開發(fā)工具包

    免費和開源RISC-V 指令集架構(gòu)(ISA)的應用日益普遍,推動了經(jīng)濟、標準化開發(fā)平臺的需求,該平臺嵌入 RISC-V 技術(shù)并利用多樣化 RIS
    發(fā)表于 09-17 12:56 ?1411次閱讀

    RISC-V開放架構(gòu)設(shè)計之道|閱讀體驗】RISC-V基礎(chǔ)整數(shù)指令集

    第2章 RV32I:RISC-V基礎(chǔ)整數(shù)指令集 本章重點講解構(gòu)成RISC-V基礎(chǔ)整數(shù)指令集的基本指令
    發(fā)表于 01-31 21:10

    RISC-V指令集說明哪里有?

    RISC-V指令集說明哪里有?匯編指令文檔哪有?
    發(fā)表于 04-30 17:44

    RISC-V指令集的特點總結(jié)

    開源 定義:RISC-V 是完全開源指令集架構(gòu)(ISA),意味著任何人都可以查看、使用、修改以及分發(fā)其設(shè)計,而無需支付版權(quán)費用。 優(yōu)勢:這種開源
    發(fā)表于 08-30 22:05

    RISC-V指令集架構(gòu)微控制器相關(guān)知識

    本系列痞子衡給大家介紹的是RISC-V指令集架構(gòu)微控制器相關(guān)知識?! ?b class='flag-5'>RISC-V指令集最早要追溯到2010年,是加州大學伯克利分校的一個研究團隊的項目,目標是設(shè)計一種新的
    發(fā)表于 12-16 06:24

    RISC-V-Reader-Chinese-v2p1 RISC-V手冊(中文) RISC-V開源指令集指南

    RISC-V 手冊 一本開源指令集指南 本書是由 RISC-V 設(shè)計者 DAVID PATTERSON等親自寫的書。書寫的非常精彩,和
    發(fā)表于 04-22 18:04

    印度確立RISC-V為國家指令集 中國CPU指令集還在孤芳自賞

    目前中國CPU指令集還處在群雄割據(jù)的狀態(tài),印度就已早一步確定了“國家版”,印度將RISC-V確立為國家指令集,并將目標調(diào)整為研制6款基于RISC-V
    發(fā)表于 12-19 16:58 ?7579次閱讀
    印度確立<b class='flag-5'>RISC-V</b>為國家<b class='flag-5'>指令集</b> 中國CPU<b class='flag-5'>指令集</b>還在孤芳自賞

    RISC-V指令集的起源與發(fā)展歷史

    壓力。RISC-V 開源指令集的出現(xiàn),引起了產(chǎn)業(yè)界的廣泛關(guān)注,科技巨頭很看重指令集架構(gòu)(CPU ISA)的開放性,各大公司正在積極尋找ARM之外的第二選擇,
    發(fā)表于 05-02 09:07 ?7559次閱讀
    <b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b>的起源與發(fā)展歷史

    為什么做開源高性能RISC-v核,香山開源高性能RISC-V處理器開發(fā)流程

    RISC-V是一個基于精簡指令集原則的開源指令集架構(gòu),那么為什么做開源高性能RISC-v核?
    發(fā)表于 06-22 14:25 ?2851次閱讀
    為什么做<b class='flag-5'>開源</b>高性能<b class='flag-5'>RISC-v</b>核,香山<b class='flag-5'>開源</b>高性能<b class='flag-5'>RISC-V</b>處理器開發(fā)流程

    第一屆RISC-V中國峰會看點 risc-v開發(fā)要怎么優(yōu)化risc-v指令集架構(gòu)代碼密度

    在第一屆RISC-V中國峰會上看點很多,RISC-V開源的,那么代碼密度要怎么控制,會不會因為開源而導致代碼密度特別大? 我們一起來看看risc-
    發(fā)表于 06-23 18:22 ?9589次閱讀
    第一屆<b class='flag-5'>RISC-V</b>中國峰會看點 <b class='flag-5'>risc-v</b>開發(fā)要怎么優(yōu)化<b class='flag-5'>risc-v</b><b class='flag-5'>指令集</b>架構(gòu)代碼密度

    RT-Thread全球技術(shù)大會:RISC-V指令集開源軟件生態(tài)介紹

    RT-Thread全球技術(shù)大會:RISC-V指令集開源軟件生態(tài)介紹
    的頭像 發(fā)表于 05-27 09:47 ?1088次閱讀
    RT-Thread全球技術(shù)大會:<b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b><b class='flag-5'>開源</b>軟件生態(tài)介紹

    簡單講講RISC-V指令集CPU的參數(shù)

    本次CPU采用32位RISC-V指令集架構(gòu)(一代是自己瞎編指令集)。指令集就是程序指令的集合,指引硬件如何設(shè)計、如何運行。
    的頭像 發(fā)表于 08-07 14:55 ?3395次閱讀
    簡單講講<b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b>CPU的參數(shù)

    基于精簡指令集RISC-V內(nèi)核的單片機

    RISC-V就不必多說了,詳細大家都了解。它是一個基于精簡指令集開源指令集架構(gòu)。與主流的主流的架構(gòu)為x86與ARM架構(gòu)不同,其特點就是完全開源
    的頭像 發(fā)表于 10-17 16:49 ?2111次閱讀

    一個基于精簡指令集原則的開源指令集架構(gòu)RISC-V

    我們可以基于x86/ARM/ RISC-V指令集,進行處理器微架構(gòu)設(shè)計和實現(xiàn)形成源代碼,并通過流片最終形成芯片產(chǎn)品。
    發(fā)表于 01-30 16:28 ?2603次閱讀