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

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

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

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

汽車玩家 ? 來(lái)源:HACK實(shí)驗(yàn)室 ? 作者:HACK實(shí)驗(yàn)室 ? 2020-01-24 17:42 ? 次閱讀

最近和幾個(gè)行業(yè)內(nèi)的朋友聊天,聊到了近兩年比較火的AI人工智能,并向我推薦了一款目前在小范圍內(nèi)比較火的國(guó)產(chǎn)處理器,我查了一下該處理器是采用的開(kāi)源RISC-V指令集架構(gòu)。曾有人將RISC-V比作“半導(dǎo)體行業(yè)的Linux”,今天就和大家聊聊RISC-V架構(gòu)的來(lái)龍去脈。

RISC-V的由來(lái)

可能有些朋友不太清楚什么是CPU的指令集,其實(shí)就是指令的合集,那什么是指令呢?就是你吩咐CPU去做的事情。我在這里給大家打個(gè)比方:你有一個(gè)傭人,你給他下命令做飯、洗碗、端茶、倒水……這就是指令。把所有的指令總結(jié)在一起就是指令集。如果指令集里面沒(méi)有“洗腳”這個(gè)命令,那么你下這個(gè)命令CPU也不會(huì)執(zhí)行。CPU必須要有指令集才能工作,不同的CPU有不同的指令集,基本上可以分為兩種:復(fù)雜指令集CISC和精簡(jiǎn)指令集RISC。

關(guān)于CPU的指令集架構(gòu),我們最熟悉的應(yīng)該就是X86和ARM了,需要注意的是它們都不免費(fèi)。Intel的X86指令集架構(gòu)除了自家以外只授權(quán)給了AMD和威盛(VIA),ARM稍微好一點(diǎn)不過(guò)價(jià)格也是不菲,一直有“天下苦ARM久矣”的玩笑。那除了它們倆之外還有其他指令集架構(gòu)嗎?答案當(dāng)然是有,我們今天說(shuō)的RISC-V就是一個(gè),而且還是開(kāi)源免費(fèi)的。

起于2010年的美國(guó)加州大學(xué)伯克利分校(USNews世界大學(xué)排名第4),當(dāng)時(shí)伯克利研究團(tuán)隊(duì)要研發(fā)一款CPU,上面我們說(shuō)過(guò)了要研發(fā)CPU就需要有指令集,X86指令集授權(quán)嚴(yán)格,ARM指令集授權(quán)費(fèi)用昂貴,其他指令集要么老舊要么也需要授權(quán),在這種情況下伯克利研究團(tuán)隊(duì)決定從零開(kāi)始設(shè)計(jì)一套全新的指令集,也就是我們今天說(shuō)的RISC-V了。據(jù)說(shuō)當(dāng)時(shí)團(tuán)隊(duì)四個(gè)人僅用了3個(gè)月就完成并發(fā)布了第一版指令集。當(dāng)時(shí)第一個(gè)版本只包含了不到50條指令,可以用于實(shí)現(xiàn)一個(gè)具備定點(diǎn)運(yùn)算和特權(quán)模式等基本功能的處理器。

RISC-V的三大特點(diǎn)

第一點(diǎn)是完全開(kāi)源,對(duì)指令集使用,RISC-V基金會(huì)不收取高額的授權(quán)費(fèi)。開(kāi)源采用寬松的BSD協(xié)議,企業(yè)完全自由免費(fèi)使用,同時(shí)也容許企業(yè)添加自有指令集拓展而不必開(kāi)放共享以實(shí)現(xiàn)差異化發(fā)展。

第二點(diǎn)是簡(jiǎn)單,這也是RISC-V架構(gòu)的設(shè)計(jì)哲學(xué)。在處理器領(lǐng)域,X86與ARM架構(gòu)的發(fā)展過(guò)程也伴隨了現(xiàn)代處理器架構(gòu)技術(shù)的不斷發(fā)展成熟,為了能夠保持架構(gòu)的向后兼容性,其不得不保留許多過(guò)時(shí)的定義,導(dǎo)致其指令數(shù)目多,指令冗余嚴(yán)重,文檔數(shù)量龐大,所以操作系統(tǒng)或者開(kāi)發(fā)應(yīng)用門(mén)檻就會(huì)很高。而RISC-V架構(gòu)則能完全拋棄包袱,借助計(jì)算機(jī)體系結(jié)構(gòu)經(jīng)過(guò)多年的發(fā)展已經(jīng)成為比較成熟技術(shù)的優(yōu)勢(shì),從輕上路。RISC-V的規(guī)范文檔僅有145頁(yè),而“特權(quán)架構(gòu)文檔”的篇幅也僅為91頁(yè)。

第三點(diǎn)是模塊化,RISC-V架構(gòu)不僅短小精悍,而且其不同的部分還能以模塊化的方式組織在一起,從而試圖通過(guò)一套統(tǒng)一的架構(gòu)滿足各種不同的應(yīng)用場(chǎng)景。用戶能夠靈活選擇不同的模塊組合,來(lái)實(shí)現(xiàn)自己定制化設(shè)備的需要,比如針對(duì)于低功耗嵌入式場(chǎng)景,用戶可以選擇RV32IC組合的指令集,僅使用Machine Mode(機(jī)器模式);而高性能應(yīng)用操作系統(tǒng)場(chǎng)景則可以選擇譬如RV32IMFDC的指令集,使用Machine Mode(機(jī)器模式)與User Mode(用戶模式)兩種模式。

RISC-V在中國(guó)

說(shuō)了RISC-V的緣起與優(yōu)勢(shì),大家一定想知道它對(duì)我國(guó)芯片行業(yè)的影響。我國(guó)芯片行業(yè)一直處于被壓制狀態(tài),主流的指令集架構(gòu)X86和ARM都是受美國(guó)控制,今年五月份更是發(fā)生了美國(guó)政府限制ARM公司向華為提供新技術(shù)授權(quán)的事件。這時(shí)候RISC-V就顯得更為彌足珍貴了。

目前國(guó)家大力支持推廣RISC-V,上海成為國(guó)內(nèi)第一個(gè)將RISC-V列入政府扶持對(duì)象的城市,并發(fā)布了《上海市經(jīng)濟(jì)信息化委關(guān)于開(kāi)展2018年度第二批上海市軟件和集成電路產(chǎn)業(yè)發(fā)展專項(xiàng)資金項(xiàng)目申報(bào)工作的通知》。對(duì)RISC-V相關(guān)芯片設(shè)計(jì)企業(yè)提供政策資金幫助,鼓勵(lì)基于RISC-V自主處理器的研發(fā)及產(chǎn)業(yè)化。

大家應(yīng)該對(duì)小米生態(tài)鏈企業(yè)華米科技不會(huì)感到陌生,在2017年華米科技成立了人工智能實(shí)驗(yàn)室,并啟動(dòng)了他們的人工智能智能可穿戴芯片研究項(xiàng)目,投身 RISC-V 芯片研發(fā),并最終在去年 9 月推出了第一款芯片“黃山一號(hào)”。據(jù)介紹,這款采用RISC-V架構(gòu)設(shè)計(jì)的芯片是是全球首款集成AI神經(jīng)網(wǎng)絡(luò)模塊的處理器,能本地化處理AI任務(wù),對(duì)心率、心電、心律失常等進(jìn)行實(shí)時(shí)監(jiān)測(cè)與分析。今年6月“黃山一號(hào)”已流片量產(chǎn),主要用于華米穿戴智能設(shè)備AMAZFIT的主控芯片。

阿里旗下平頭哥半導(dǎo)體(前杭州中天微)在今年7月25日,正式發(fā)布采用RISC-V指令集架構(gòu)的玄鐵910(XuanTie910)。據(jù)介紹,玄鐵910可以用于設(shè)計(jì)制造高性能端上芯片,應(yīng)用于5G、人工智能以及自動(dòng)駕駛等領(lǐng)域。在性能方面,玄鐵910支持16核,主頻達(dá)到2.5GHz,比目前業(yè)界最好的RISC-V處理器性能高40%以上。

RISC-V目前的問(wèn)題

依靠開(kāi)源和免費(fèi),RISC-V 非常受大學(xué)和科研院所青睞,并有望在教學(xué)領(lǐng)域大展拳腳,而這又會(huì)給 RISC-V 培養(yǎng)源源不斷的后備軍。對(duì)于商業(yè)公司來(lái)說(shuō),由于 ARM 的授權(quán)費(fèi)昂貴,也有較強(qiáng)的動(dòng)力去做 RISC-V,避免被綁死在 ARM 上。

不過(guò),RISC-V 也存在一個(gè)隱憂,那就是缺乏強(qiáng)有力的主導(dǎo)者,進(jìn)而導(dǎo)致破碎化的問(wèn)題。當(dāng)年的MIPS其實(shí)也非常學(xué)院派,MIPS陣營(yíng)的商業(yè)公司可以自由添加指令,比如龍芯就以MIPS為基礎(chǔ)添加了1000多條新指令,進(jìn)而形成了自己的指令集 LoongISA。這又使開(kāi)發(fā)軟件的時(shí)候,即便同樣屬于MIPS,也必須分為龍芯版和普通MIPS版。

由于RISC-V也允許用戶自己加新指令,這就有可能使RISC-V破碎化,也許未來(lái)華為、高通、谷歌開(kāi)發(fā)出的 RISC-V 處理器雖然都屬于 RISC-V,但卻不能跑同樣一套軟件。畢竟完全開(kāi)放與自成一脈是一對(duì)矛盾,如果無(wú)法解決這個(gè)問(wèn)題,恐怕RISC-V很難成長(zhǎng)到能與X86和ARM爭(zhēng)雄的水平。

總結(jié)

文章寫(xiě)到這里相信大家應(yīng)該對(duì)RISC-V有了一個(gè)更清晰的認(rèn)識(shí)。目前來(lái)說(shuō)RISC-V對(duì)我們搞底層硬件的來(lái)說(shuō)可能還有一點(diǎn)距離,但是電子行業(yè)的發(fā)展永遠(yuǎn)都是迅速的,說(shuō)不準(zhǔn)我們今天用的STM32GD32、i.MX會(huì)不會(huì)在未來(lái)幾年被某些RISC-V主控所替代,想當(dāng)年飛思卡爾當(dāng)紅主控coldfire系列在ARM內(nèi)核的主控來(lái)臨以后便迅速落寞淘汰。

這里交代一下我在文章最開(kāi)頭提到的這段時(shí)間有點(diǎn)小火的國(guó)產(chǎn)主控芯片是Kendryte的勘智K210,邊緣AI芯片,感興趣的朋友可以玩一玩。

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10698

    瀏覽量

    209324
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    28866

    瀏覽量

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

    關(guān)注

    44

    文章

    2141

    瀏覽量

    45704
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    正式的RISC-V基礎(chǔ)指令集架構(gòu)與特權(quán)架構(gòu)規(guī)范來(lái)了,RISC-V基金會(huì)已正式批準(zhǔn)

    根據(jù)RISC-V基金會(huì)官網(wǎng)發(fā)布的公告,RISC-V 基金會(huì)宣布了批準(zhǔn)RISC-V 基礎(chǔ)指令集架構(gòu)與特權(quán)
    的頭像 發(fā)表于 07-11 10:46 ?9713次閱讀

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

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

    RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】 RISC-V設(shè)計(jì)必備之案頭小冊(cè)

    中出現(xiàn)的RISC-V拓展。 這本書(shū)的開(kāi)篇講的是,為什么我們需要RISC-V指令集? 從過(guò)去的ISA的特點(diǎn)進(jìn)行引入,先以目前主流的x86指令集架構(gòu)
    發(fā)表于 01-22 16:24

    RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】RISC-V基礎(chǔ)整數(shù)指令集RV32I

    。 圖1:RV32I指令集 在講RISC-V各個(gè)階段,橫向比較ARM架構(gòu),體現(xiàn)出RISC-V的優(yōu)越性。 ●RV32I寄存器 RISC-V
    發(fā)表于 01-28 11:41

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

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

    RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】匯編語(yǔ)言和擴(kuò)展指令集

    RISC-V開(kāi)放架構(gòu)設(shè)計(jì)之道|閱讀體驗(yàn)】匯編語(yǔ)言和擴(kuò)展指令集 匯編語(yǔ)言 將C語(yǔ)言翻譯成可執(zhí)行的機(jī)器語(yǔ)言的重要步驟包括編譯過(guò)程,匯編過(guò)程,鏈接過(guò)程。 函數(shù)調(diào)用約定過(guò)程分為六個(gè)階段: 1)將參數(shù)存放
    發(fā)表于 02-03 13:29

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

    開(kāi)源 定義:RISC-V 是完全開(kāi)源的指令集架構(gòu)(ISA),意味著任何人都可以查看、使用、修改以及分發(fā)其設(shè)計(jì),而無(wú)需支付版權(quán)費(fèi)用。 優(yōu)勢(shì):這種開(kāi)源特性促進(jìn)了全球性的創(chuàng)新和合作。 社區(qū)化 定義
    發(fā)表于 08-30 22:05

    RISC-V架構(gòu)簡(jiǎn)介

    【摘要】 本文首先對(duì)RISC-V架構(gòu)做了簡(jiǎn)要的介紹,在此基礎(chǔ)上實(shí)現(xiàn)了LiteOS在RISC-V架構(gòu)上的適配過(guò)程的具體步驟,希望對(duì)你有所幫助。1 R
    發(fā)表于 07-28 07:46

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

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

    RISC-V架構(gòu)

      RISC-V架構(gòu)  RISC-V(發(fā)音為“risk-five”)是一個(gè)基于精簡(jiǎn)指令集RISC)原則的開(kāi)源
    發(fā)表于 04-03 15:29

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

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

    risc-v中國(guó)峰會(huì)直播:如何優(yōu)化RISC-V指令集架構(gòu)的代碼密度?

    第一屆中國(guó)峰會(huì)在上海舉辦,以下是小編整理的部分risc-v峰會(huì)的內(nèi)容。主要介紹了影響代碼密度的因素以及如何優(yōu)化RISC-V指令集架構(gòu)的代碼密度?感興趣的小伙伴可以詳細(xì)了解一下。
    的頭像 發(fā)表于 06-23 12:12 ?3001次閱讀
    <b class='flag-5'>risc-v</b>中國(guó)峰會(huì)直播:如何優(yōu)化<b class='flag-5'>RISC-V</b><b class='flag-5'>指令集</b><b class='flag-5'>架構(gòu)</b>的代碼密度?

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

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

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

    RISC-V就不必多說(shuō)了,詳細(xì)大家都了解。它是一個(gè)基于精簡(jiǎn)指令集的開(kāi)源指令集架構(gòu)。與主流的主流的架構(gòu)為x86與ARM
    的頭像 發(fā)表于 10-17 16:49 ?2110次閱讀

    一個(gè)基于精簡(jiǎn)指令集原則的開(kāi)源指令集架構(gòu)RISC-V

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