《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > EDA與制造 > 業(yè)界動(dòng)態(tài) > 大道至簡(jiǎn)——RISC-V架構(gòu)之魂(上)

大道至簡(jiǎn)——RISC-V架構(gòu)之魂(上)

2018-09-13
關(guān)鍵詞: RISC-V

  “大道至簡(jiǎn)——RISC-V架構(gòu)之魂”——分成上中下三篇,本文是上篇。關(guān)注文末公眾號(hào)后可查詢上中下三篇的內(nèi)容。

  注意:本文中將會(huì)多次出現(xiàn)“RISC處理器”或“RISC架構(gòu)”以及“RISC-V處理器”或“RISC-V架構(gòu)”等關(guān)鍵詞。請(qǐng)初學(xué)者務(wù)必注意加以區(qū)別:

  RISC表示精簡(jiǎn)指令集(Reduced Instruction Set Computer,RISC)。

  RISC-V只是伯克利發(fā)明的一種特定指令集架構(gòu)(屬于RISC類型)。

  1 簡(jiǎn)單就是美——RISC-V架構(gòu)的設(shè)計(jì)哲學(xué)

  RISC-V架構(gòu)作為一種指令集架構(gòu),在介紹細(xì)節(jié)之前,讓我們先了解設(shè)計(jì)的哲學(xué)。所謂設(shè)計(jì)的“哲學(xué)”便是其推崇的一種策略,譬如說(shuō)我們熟知的日本車的設(shè)計(jì)哲學(xué)是經(jīng)濟(jì)省油,美國(guó)車的設(shè)計(jì)哲學(xué)是霸氣外漏等。RISC-V架構(gòu)的設(shè)計(jì)哲學(xué)是什么呢?是“大道至簡(jiǎn)”。

  筆者最為推崇的一種設(shè)計(jì)原則便是:簡(jiǎn)單就是美,簡(jiǎn)單便意味著可靠。無(wú)數(shù)的實(shí)際案例已經(jīng)佐證了“簡(jiǎn)單即意味著可靠的”真理,反之越復(fù)雜的機(jī)器越則越容易出錯(cuò)。

  所謂大道至簡(jiǎn),在IC設(shè)計(jì)的實(shí)際工作中,筆者曾見(jiàn)過(guò)最簡(jiǎn)潔的設(shè)計(jì)實(shí)現(xiàn)安全可靠,也曾見(jiàn)過(guò)最繁復(fù)的設(shè)計(jì)長(zhǎng)時(shí)間無(wú)法穩(wěn)定收斂。最簡(jiǎn)潔的設(shè)計(jì)往往是最可靠的,在大多數(shù)的項(xiàng)目實(shí)踐中一次次的得到檢驗(yàn)。

  IC設(shè)計(jì)的工作性質(zhì)非常特殊,其最終的產(chǎn)出是芯片,而一款芯片的設(shè)計(jì)和制造周期均很長(zhǎng),無(wú)法像軟件代碼那樣輕易的升級(jí)和打補(bǔ)丁,每一次芯片的改版到交付都需要幾個(gè)月的周期。不僅如此,芯片的一次制造成本費(fèi)用高昂,從幾十萬(wàn)美金到百千萬(wàn)美金不等。這些特性都決定了IC設(shè)計(jì)的試錯(cuò)成本極為高昂,因此能夠有效的降低錯(cuò)誤的發(fā)生就顯得非常的重要。

  現(xiàn)代的芯片設(shè)計(jì)規(guī)模越來(lái)越大,復(fù)雜度越來(lái)越高,并不是說(shuō)要求設(shè)計(jì)者一味的逃避使用復(fù)雜的技術(shù),而是應(yīng)該將好鋼用在刀刃上,將最復(fù)雜的設(shè)計(jì)用在最為關(guān)鍵的場(chǎng)景,在大多數(shù)有選擇的情況下,盡量選擇簡(jiǎn)潔的實(shí)現(xiàn)方案。

  筆者在第一次閱讀了RISC-V架構(gòu)文檔之時(shí),不禁擊節(jié)贊嘆,拍案驚奇,因?yàn)镽ISC-V架構(gòu)在其文檔中不斷地明確強(qiáng)調(diào),其設(shè)計(jì)哲學(xué)是“大道至簡(jiǎn)”,力圖通過(guò)架構(gòu)的定義使得硬件的實(shí)現(xiàn)足夠簡(jiǎn)單。其簡(jiǎn)單就是美的哲學(xué),可以從幾個(gè)方面容易看出,后續(xù)小節(jié)將一一加以論述。

  1.1 無(wú)病一身輕——架構(gòu)的篇幅

  在處理器領(lǐng)域,目前主流的架構(gòu)為x86與ARM架構(gòu),筆者曾經(jīng)參與設(shè)計(jì)ARM架構(gòu)的應(yīng)用處理器,因此需要閱讀ARM的架構(gòu)文檔,如果對(duì)其熟悉的讀者應(yīng)該了解其篇幅。經(jīng)過(guò)幾十年的發(fā)展,現(xiàn)代的x86與ARM架構(gòu)的架構(gòu)文檔長(zhǎng)達(dá)幾百數(shù)千頁(yè)。打印出來(lái)能有半個(gè)桌子高,可真是“著作等身”。

  之所以現(xiàn)代x86與ARM架構(gòu)的文檔長(zhǎng)達(dá)數(shù)千頁(yè),且版本眾多,一個(gè)主要的原因是因?yàn)槠浼軜?gòu)的發(fā)展的過(guò)程也伴隨了現(xiàn)代處理器架構(gòu)技術(shù)的不斷發(fā)展成熟。

  并且作為商用的架構(gòu),為了能夠保持架構(gòu)的向后兼容性,其不得不保留許多過(guò)時(shí)的定義,或者在定義新的架構(gòu)部分時(shí)為了能夠?qū)⒕鸵呀?jīng)存在的技術(shù)部分而顯得非常的別扭。久而久之就變得極為冗長(zhǎng)。

  那么現(xiàn)代成熟的架構(gòu)是否能夠選擇重新開(kāi)始,重新定義一個(gè)簡(jiǎn)潔的架構(gòu)呢,可以說(shuō)是幾乎不可能。其中一個(gè)重要的原因便是其無(wú)法向前兼容,從而無(wú)法得到用戶的接受。試想一下如果我們買了一款新的搭配新的處理器的電腦或者手機(jī)回家,之前所有的軟件都無(wú)法運(yùn)行而變磚,那肯定是無(wú)法讓人接受的。

  而現(xiàn)在才推出的RISC-V架構(gòu),則具備了后發(fā)優(yōu)勢(shì),由于計(jì)算機(jī)體系結(jié)構(gòu)經(jīng)過(guò)多年的發(fā)展已經(jīng)成為比較成熟的技術(shù),多年來(lái)在不斷成熟的過(guò)程中暴露的問(wèn)題都已經(jīng)被研究透徹,因此新的RISC-V架構(gòu)能夠加以規(guī)避,并且沒(méi)有背負(fù)向后兼容的歷史包袱,可以說(shuō)是無(wú)病一身輕。

  目前的“RISC-V架構(gòu)文檔”分為“指令集文檔”(riscv-spec-v2.2.pdf)和“特權(quán)架構(gòu)文檔”(riscv-privileged-v1.10.pdf)。“指令集文檔”的篇幅為145頁(yè),而“特權(quán)架構(gòu)文檔”的篇幅也僅為91頁(yè)。熟悉體系結(jié)構(gòu)的工程師僅需一至兩天便可將其通讀,雖然“RISC-V的架構(gòu)文檔”還在不斷地豐富,但是相比“x86的架構(gòu)文檔”與“ARM的架構(gòu)文檔”,RISC-V的篇幅可以說(shuō)是極其短小精悍。

  感興趣的讀者可以在RISC-V基金會(huì)的網(wǎng)站上(https://riscv.org/specifications/)無(wú)需注冊(cè)便可免費(fèi)下載其文檔,如圖1所示。

1.jpg

  這里寫圖片描述

  1.2 能屈能伸——模塊化的指令集

  RISC-V架構(gòu)相比其他成熟的商業(yè)架構(gòu)的最大一個(gè)不同還在于它是一個(gè)模塊化的架構(gòu)。因此,RISC-V架構(gòu)不僅短小精悍,而且其不同的部分還能以模塊化的方式組織在一起,從而試圖通過(guò)一套統(tǒng)一的架構(gòu)滿足各種不同的應(yīng)用。

  這種模塊化是x86與ARM架構(gòu)所不具備的。以ARM的架構(gòu)為例,ARM的架構(gòu)分為A、R和M三個(gè)系列,分別針對(duì)于Application(應(yīng)用操作系統(tǒng))、Real-Time(實(shí)時(shí))和Embedded(嵌入式)三個(gè)領(lǐng)域,彼此之間并不兼容。

  但是模塊化的RISC-V架構(gòu)能夠使得用戶能夠靈活選擇不同的模塊組合,以滿足不同的應(yīng)用場(chǎng)景,可以說(shuō)是“老少咸宜”。譬如針對(duì)于小面積低功耗嵌入式場(chǎng)景,用戶可以選擇RV32IC組合的指令集,僅使用Machine Mode(機(jī)器模式);而高性能應(yīng)用操作系統(tǒng)場(chǎng)景則可以選擇譬如RV32IMFDC的指令集,使用Machine Mode(機(jī)器模式)與User Mode(用戶模式)兩種模式。而他們共同的部分則可以相互兼容。

  1.3 濃縮的都是精華——指令的數(shù)量

  短小精悍的架構(gòu)以及模塊化的哲學(xué),使得RISC-V架構(gòu)的指令數(shù)目非常的簡(jiǎn)潔。基本的RISC-V指令數(shù)目?jī)H有40多條,加上其他的模塊化擴(kuò)展指令總共幾十條指令。

  2 RISC-V指令集架構(gòu)簡(jiǎn)介

  本章將對(duì)RISC-V的指令集架構(gòu)多方面的特性進(jìn)行簡(jiǎn)要介紹。

  2.1 模塊化的指令子集

  RISC-V的指令集使用模塊化的方式進(jìn)行組織,每一個(gè)模塊使用一個(gè)英文字母來(lái)表示。RISC-V最基本也是唯一強(qiáng)制要求實(shí)現(xiàn)的指令集部分是由I字母表示的基本整數(shù)指令子集,使用該整數(shù)指令子集,便能夠?qū)崿F(xiàn)完整的軟件編譯器。其他的指令子集部分均為可選的模塊,具有代表性的模塊包括M/A/F/D/C,如表1所示。

21.jpg

  表1 RISC-V的模塊化指令集

  這里寫圖片描述

  為了提高代碼密度,RISC-V架構(gòu)也提供可選的“壓縮”指令子集,由英文字母C表示。壓縮指令的指令編碼長(zhǎng)度為16比特,而普通的非壓縮指令的長(zhǎng)度為32比特。以上這些模塊的一個(gè)特定組合“IMAFD”,也被稱為“通用”組合,由英文字母G表示。因此RV32G表示RV32IMAFD,同理RV64G表示RV64IMAFD。

  為了進(jìn)一步減少面積,RISC-V架構(gòu)還提供一種“嵌入式”架構(gòu),由英文字母E表示。該架構(gòu)主要用于追求極低面積與功耗的深嵌入式場(chǎng)景。該架構(gòu)僅需要支持16個(gè)通用整數(shù)寄存器,而非嵌入式的普通架構(gòu)則需要支持32個(gè)通用整數(shù)寄存器。

  通過(guò)以上的模塊化指令集,能夠選擇不同的組合來(lái)滿足不同的應(yīng)用。譬如,追求小面積低功耗的嵌入式場(chǎng)景可以選擇使用RV32EC架構(gòu);而大型的64位架構(gòu)則可以選擇RV64G。

  除了上述的模塊,還有若干的模塊包括L、B、P、V和T等。這些擴(kuò)展目前大多數(shù)還在不斷完善和定義中,尚未最終確定,因此本文在此不做詳細(xì)論述。

  2.2 可配置的通用寄存器組

  RISC-V架構(gòu)支持32位或者64位的架構(gòu),32位架構(gòu)由RV32表示,其每個(gè)通用寄存器的寬度為32比特;64位架構(gòu)由RV64表示,其每個(gè)通用寄存器的寬度為64比特。

  RISC-V架構(gòu)的整數(shù)通用寄存器組,包含32個(gè)(I架構(gòu))或者16個(gè)(E架構(gòu))通用整數(shù)寄存器,其中整數(shù)寄存器0被預(yù)留為常數(shù)0,其他的31個(gè)(I架構(gòu))或者15個(gè)(E架構(gòu))為普通的通用整數(shù)寄存器。

  如果使用了浮點(diǎn)模塊(F或者D),則需要另外一個(gè)獨(dú)立的浮點(diǎn)寄存器組,包含32個(gè)通用浮點(diǎn)寄存器。如果僅使用F模塊的浮點(diǎn)指令子集,則每個(gè)通用浮點(diǎn)寄存器的寬度為32比特;如果使用了D模塊的浮點(diǎn)指令子集,則每個(gè)通用浮點(diǎn)寄存器的寬度為64比特。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久精品成人| 亚洲私人影院在线观看| 亚洲精品国产精品久久清纯直播| 国产欧美日韩亚洲精品| 欧美日韩亚洲一区二区三区在线观看| 欧美激情a∨在线视频播放| 美国十次了思思久久精品导航| 久久精品成人一区二区三区蜜臀 | 亚洲视频999| 9l国产精品久久久久麻豆| 亚洲国产经典视频| 91久久夜色精品国产网站| 亚洲国产综合在线| 亚洲精品一区在线观看香蕉| 91久久亚洲| 日韩午夜免费| 亚洲午夜激情免费视频| 亚洲欧美日韩高清| 欧美一区二区三区视频| 久久精品一区二区三区不卡牛牛| 亚洲国产另类久久久精品极度| 亚洲国产综合91精品麻豆| 亚洲乱码国产乱码精品精可以看| 亚洲精品系列| 亚洲无限av看| 欧美亚洲视频在线观看| 久久久xxx| 欧美大片免费观看| 欧美色欧美亚洲另类二区| 国产精品久久久久久久久借妻| 国产精品一级| 狠狠狠色丁香婷婷综合激情| 尤物九九久久国产精品的分类| 亚洲资源在线观看| 欧美午夜宅男影院| 国产精品高潮呻吟久久av无限| 国产精品毛片a∨一区二区三区|国| 国产精品视频一二| 红桃视频一区| 亚洲毛片在线看| 亚洲男人的天堂在线aⅴ视频| 欧美怡红院视频| 亚洲日本中文字幕| 亚洲天堂偷拍| 久久久人成影片一区二区三区 | 亚洲电影第三页| 亚洲最新色图| 欧美一区二区三区精品| 久久综合中文色婷婷| 欧美日韩国产精品一区二区亚洲| 国产精品第一区| 国内成人精品2018免费看| 亚洲人成网站色ww在线| 亚洲自拍偷拍麻豆| 亚洲日本中文字幕| 香蕉成人久久| 欧美精品福利在线| 国产美女诱惑一区二区| 亚洲高清影视| 亚洲欧美综合国产精品一区| 亚洲精品视频免费观看| 亚洲欧美中日韩| 欧美精品激情在线| 国产一区二区0| 一个人看的www久久| 亚洲第一区在线| 午夜精品久久久久久久久 | 欧美精品在线观看播放| 国产婷婷色一区二区三区在线| 亚洲人午夜精品| 欧美专区在线观看一区| 在线视频一区观看| 久久综合影视| 国产欧美在线视频| 日韩一二三区视频| 亚洲黄色尤物视频| 久久不射2019中文字幕| 欧美视频免费在线| 亚洲国产欧美不卡在线观看 | 一区二区三区久久| 模特精品裸拍一区| 国产字幕视频一区二区| 一区二区三区不卡视频在线观看| 亚洲免费一区二区| 久久精品一级爱片| 欧美主播一区二区三区美女 久久精品人 | 欧美日韩成人激情| 激情一区二区| 午夜久久美女| 亚洲综合首页| 欧美日韩一区二区高清| 揄拍成人国产精品视频| 性欧美xxxx大乳国产app| 亚洲午夜一二三区视频| 欧美激情一区三区| 亚洲第一精品福利| 久久国产精品99国产精| 欧美在线啊v| 国产精品影音先锋| 亚洲一区三区在线观看| 宅男精品视频| 欧美日韩成人在线观看| 亚洲第一伊人| 亚洲人成毛片在线播放| 久久亚洲免费| 国产在线精品一区二区夜色| 亚洲自拍电影| 香蕉久久一区二区不卡无毒影院 | 在线观看视频亚洲| 久久精品国语| 久久米奇亚洲| 狠狠入ady亚洲精品| 欧美在线播放高清精品| 欧美一级艳片视频免费观看| 国产精品久久久久久久久久久久久久 | 亚洲欧美中文另类| 国产精品视频一区二区高潮| 一区二区三区黄色| 亚洲欧美www| 国产精品久久久久免费a∨大胸| 一区二区免费看| 亚洲综合视频一区| 国产精品日韩精品| 欧美一级专区免费大片| 久久久久五月天| 在线免费观看日本欧美| 亚洲国产一区二区三区a毛片| 农夫在线精品视频免费观看| 亚洲第一页在线| 99精品欧美一区二区三区| 欧美日韩a区| 中文精品一区二区三区 | 久久xxxx精品视频| 伊人色综合久久天天五月婷| 久久精品一区二区| 999亚洲国产精| 国产精品第一区| 亚洲午夜精品久久久久久浪潮| 亚洲欧美日韩综合国产aⅴ| 国产精品毛片a∨一区二区三区|国| 亚洲午夜免费福利视频| 久久aⅴ国产欧美74aaa| 好吊色欧美一区二区三区视频| 亚洲欧洲精品一区二区精品久久久| 欧美成人资源网| aa级大片欧美三级| 欧美一区成人| 一区在线电影| 中文亚洲欧美| 国产一区二区0| 亚洲精品在线视频观看| 欧美午夜精品一区| 久久av资源网站| 欧美日韩国产一区二区三区| 亚洲午夜激情网页| 久久综合色婷婷| 一本色道久久加勒比精品| 欧美一区二区视频观看视频| 狠狠色综合一区二区| 一区二区久久| 国产一区二区久久精品| 日韩西西人体444www| 国产精品三级久久久久久电影| 久久精品国产第一区二区三区| 欧美人与禽性xxxxx杂性| 亚洲欧美日韩人成在线播放| 鲁大师成人一区二区三区| 99成人精品| 久久久久久一区二区三区| 亚洲精品一区二区三区樱花| 欧美一区二区精品| 亚洲日本va午夜在线电影| 欧美一区高清| 亚洲欧洲精品一区二区三区波多野1战4 | 欧美一级专区免费大片| 亚洲福利专区| 性欧美办公室18xxxxhd| 在线免费观看视频一区| 亚洲欧美激情四射在线日| 精品成人国产在线观看男人呻吟| 亚洲视频在线观看| 伊人久久亚洲热| 欧美一区二区私人影院日本| 最新日韩av| 老司机成人网| 亚洲欧美日韩国产另类专区| 欧美—级高清免费播放| 欧美一区二区高清| 欧美日韩中文字幕日韩欧美| 亚洲第一级黄色片| 国产精品视屏| 一级日韩一区在线观看| 韩国三级在线一区| 午夜一区不卡| 一本久久青青| 亚洲电影第1页| 亚洲国产岛国毛片在线| 国产精品老牛| 亚洲少妇中出一区| 在线精品亚洲|