国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于RISC-V指令集的計(jì)算機(jī)組成原理課程實(shí)踐

2020-11-14 05:20何立新江立輝
關(guān)鍵詞:指令集章節(jié)開源

程 知,何立新,張 新,江立輝

(合肥學(xué)院 人工智能與大數(shù)據(jù)學(xué)院,合肥 230061)

0 引 言

“計(jì)算機(jī)組成原理”是一門計(jì)算機(jī)專業(yè)的基礎(chǔ)核心課,該課程通過對(duì)計(jì)算機(jī)各個(gè)部件的介紹,幫助學(xué)生建立系統(tǒng)級(jí)的計(jì)算機(jī)設(shè)計(jì)思想,讓學(xué)生獲知計(jì)算機(jī)硬件的工作原理。對(duì)于芯片開發(fā)或者系統(tǒng)級(jí)部件開發(fā)而言,這部分知識(shí)可以為學(xué)生提供工程實(shí)踐的基本理論支持,同時(shí),該門課程也是整個(gè)計(jì)算機(jī)體系結(jié)構(gòu)的基礎(chǔ),掌握好這門課程對(duì)于學(xué)生從事計(jì)算機(jī)軟硬件方面的工作非常重要。

由于這門課難度較大,理論性較強(qiáng),且涉及大量硬件知識(shí),學(xué)生迫切地感覺到抽象、難以理解、知識(shí)點(diǎn)龐雜而零碎。為了更好理解理論知識(shí),進(jìn)行實(shí)踐環(huán)節(jié)的訓(xùn)練非常重要。目前,國內(nèi)的實(shí)踐方式主要有:(1)硬件實(shí)驗(yàn)箱。[1]這種方式盡管可以提高學(xué)生的動(dòng)手能力,然而由于實(shí)驗(yàn)箱采用全封裝方式,不容易與所學(xué)原理進(jìn)行深層次對(duì)應(yīng)。(2)verilog+MIPS指令集。[2]這種方式能夠較好地與實(shí)驗(yàn)原理結(jié)合,但是MIPS指令集在最近幾年逐漸淡出產(chǎn)業(yè)圈,沒法讓學(xué)生所學(xué)知識(shí)與時(shí)俱進(jìn)。(3)logisim仿真+MIPS指令集。[3]logisim是一種用于設(shè)計(jì)和模擬數(shù)字邏輯電路的教育工具,這種方式依賴于學(xué)生對(duì)數(shù)字邏輯電路基本知識(shí)的理解。另外,目前這種實(shí)踐方式也大多采用MIPS指令集。(4)Proteus仿真。[4]這類方法的優(yōu)點(diǎn)為能夠做細(xì)粒度實(shí)驗(yàn),但是對(duì)學(xué)生的硬件設(shè)計(jì)提出了更高要求。

如何在講授基本原理時(shí),讓本門課程能夠有較好的實(shí)踐項(xiàng)目,是本文思考的初衷。對(duì)于新手而言,較好的學(xué)習(xí)方法是從一個(gè)例子開始,貫穿全書,循序漸進(jìn),將抽象的理論知識(shí)具體化,因此,若從一種具體的指令集出發(fā),便容易做到有章可循、有路可依。選擇一種特定指令集,讓學(xué)生能夠在該指令集的基礎(chǔ)上,構(gòu)建計(jì)算機(jī)系統(tǒng)中處理器的原型系統(tǒng),對(duì)于學(xué)生理解理論知識(shí)以及培養(yǎng)其工程實(shí)踐能力,具有及其重要的作用。華中科技大學(xué)編寫的“計(jì)算機(jī)組成原理與接口技術(shù)實(shí)驗(yàn)教程——基于MIPS架構(gòu)”[5]便是遵循這樣的思路。

由于第五代精簡指令集RISC-V的先進(jìn)性、開源性、可擴(kuò)展性與易用性,近些年在學(xué)術(shù)界和工業(yè)界發(fā)展迅速,尤其是在工業(yè)界,受到諸多芯片公司的青睞,紛紛采用該指令集架構(gòu)自研各種芯片,包括傳統(tǒng)通用芯片和人工智能芯片。盡管該指令集的發(fā)展在企業(yè)界表現(xiàn)得欣欣向榮,但是,目前高內(nèi)高校將該指令集架構(gòu)及相應(yīng)的處理器引入課堂還較少,為了讓學(xué)生所學(xué)理論知識(shí)與工業(yè)界的相關(guān)技術(shù)有效融合,擬在“計(jì)算機(jī)組成原理”課程中系統(tǒng)地引入RISC-V指令集及其RISC-V E31處理器內(nèi)核。

1 不同指令集比較

目前,市場(chǎng)上存在的指令集主要有商業(yè)指令集和開源指令集。對(duì)于商業(yè)指令集,如Intel的X86指令集[6],ARM[7]系列指令集,盡管很優(yōu)秀,但因?yàn)樯婕吧虡I(yè)授權(quán),其內(nèi)部設(shè)計(jì)細(xì)節(jié)往往不對(duì)外公開。作為學(xué)習(xí)者,很難從中學(xué)到其設(shè)計(jì)精髓。因此,一種較好的學(xué)習(xí)方式便是從開源指令集入手。

目前的開源指令集主要有OpenPower[8]、OpenRISC[9]、MIPS[10]和RISC-V[11]。OpenPower是IBM公司的Power系列CPU架構(gòu),OpenPower聯(lián)盟成立于2013年8月,由IBM聯(lián)合Google、NVIDIA、Mellanox等公司成立的,其最初目的致力于將對(duì)外開放授權(quán),以抗衡日益強(qiáng)大的Intel X86以及ARM等CPU體系的威脅,但是開放授權(quán)也需要昂貴的授權(quán)費(fèi)用。直到2019年8月20日,IBM才正式宣布開源旗下高性能CPU——Power處理器的指令集架構(gòu)(ISA)作為開放標(biāo)準(zhǔn),盡管基于Power指令集的處理器具有效率高、性能強(qiáng)勁等特點(diǎn),但Power CPU相比常規(guī)處理器要復(fù)雜太多,并且OpenPower芯片的底層物理架構(gòu)還沒有開源,其生態(tài)鏈也不完善。

OpenRISC是OpenRisc:OpenCores組織提供的一個(gè)開源指令集項(xiàng)目,該項(xiàng)目采用免費(fèi)開放的32/64bit RISC/DSP架構(gòu),Verilog HDL(硬件描述語言)實(shí)現(xiàn)了基于該RISC/DSP架構(gòu)的RTL(寄存器傳輸級(jí))描述,具有完整的工具鏈。但是相比于RISC-V,該開源項(xiàng)目有兩個(gè)不足:(1)該項(xiàng)目是基于GPL協(xié)議的開放源代碼RISC,GPL協(xié)議強(qiáng)制企業(yè)共享任何的創(chuàng)新,難以保護(hù)企業(yè)的利益。(2)缺乏仿真驗(yàn)證和流片驗(yàn)證階段,增加了中小企業(yè)的應(yīng)用風(fēng)險(xiǎn)。

MIPS是一種精簡指令集,產(chǎn)生于1985年,在20世紀(jì)90年代曾是世界上被使用最多的處理器。但是由于多方面的原因,被輾轉(zhuǎn)收購了多次,2018年12月18日,MIPS宣布開源,不再產(chǎn)生架構(gòu)授權(quán)費(fèi)和版權(quán)費(fèi)。包括32位及64位的MIPS R6指令集、MIPS SIMD擴(kuò)展、MIPS DSP擴(kuò)展、MIPS Multi-Threading (MT)、MIPS MCU、microMIPS Architecture架構(gòu)、MIPS Virtualization (VZ)虛擬化等。但是相比于2014年徹底開源的第五代精簡指令集RISC-V而言,其處理器生態(tài)并不完善。

不同于上述指令集,RISC-V指令集具有較大的優(yōu)越性,相比于商業(yè)指令集,該指令集完全開源開放,相比于一般的開源指令集,它兼具低能耗、模塊化、高靈活性和可擴(kuò)展性等多種優(yōu)勢(shì)。因此,該指令集自2014年問世以來,短短幾年時(shí)間,不僅催生了一批性能優(yōu)越的處理器和頗具影響力的芯片創(chuàng)業(yè)公司,也吸引了諸如谷歌、英偉達(dá)、三星、阿里巴巴等巨頭公司的大量投資開發(fā)。

2 RISC-V指令集發(fā)展現(xiàn)狀分析

2.1 RISC-V指令集由來

第五代精簡指令集RISC-V(讀作“RISC-FIVE”)是基于精簡指令集(RISC)原理建立的開放指令集架構(gòu)(ISA)。該指令集是2010年美國加州大學(xué)伯克利分校的研究團(tuán)隊(duì)最初提出的,當(dāng)時(shí)市場(chǎng)上存在Arm、MIPS、SPARC和x86等多種指令集。但這些指令集不僅復(fù)雜,還有很多知識(shí)產(chǎn)權(quán)、高昂授權(quán)費(fèi)等問題。針對(duì)這些問題,他們提出一種新型的指令集架構(gòu)RISC-V指令集[11],其目標(biāo)是能滿足從微控制器到超級(jí)計(jì)算機(jī)等各種尺寸的處理器,并且完全開源且免費(fèi)。歷時(shí)四年的研發(fā),RISC-V指令集標(biāo)準(zhǔn)手冊(cè)于2014年正式發(fā)布,其原型芯片也流片成功。與同類的ARM核架構(gòu)設(shè)計(jì)的處理器相比,RISC-V架構(gòu)[12]的處理器性能更高,面積也更小,功耗還不到ARM架構(gòu)處理器的50%。

2.2 RISC-V指令集在人工智能與物聯(lián)網(wǎng)時(shí)代的地位

RISC-V指令集自2014年發(fā)布至今,已經(jīng)具有超過225個(gè)基金會(huì)會(huì)員組織,包括谷歌、高通、IBM、英偉達(dá)、三星、阿里巴巴、華為、中興、華米科技、西部數(shù)據(jù)、Microsemi、中科院計(jì)算所、麻省理工學(xué)院、華盛頓大學(xué)、英國宇航系統(tǒng)公司等知名企業(yè)與研究機(jī)構(gòu)。隨著物聯(lián)網(wǎng)、移動(dòng)計(jì)算、人工智能、大數(shù)據(jù)和云的快速發(fā)展,迫切需要底層芯片在算力上的驅(qū)動(dòng),由于RISC-V指令集以模塊化的方式組織在一起,可以通過一套統(tǒng)一的架構(gòu)滿足各種不同的應(yīng)用場(chǎng)景,并且由于開源不受專利限制、能夠任意移植調(diào)用軟核等優(yōu)勢(shì),成為人工智能與物聯(lián)網(wǎng)時(shí)代(ALoT時(shí)代)[13]的新寵。

2.3 RISC-V指令集在產(chǎn)業(yè)界的發(fā)展

因該指令集具有完全開放、精簡、高效、低能耗、模塊化、高靈活性和可擴(kuò)展性等方面的巨大優(yōu)勢(shì),2017年,印度政府表示將大力資助基于RISC-V的處理器項(xiàng)目,使RISC-V成為了印度的事實(shí)國家指令集。以色列國家創(chuàng)新局(Israel Innovation Authority)選擇RISC-V來研制服務(wù)于全國企業(yè)的處理平臺(tái),創(chuàng)建了RISC-VGenPro 孵化器。英偉達(dá)、西部數(shù)據(jù)、麻省理工學(xué)院等多家知名公司與研究機(jī)構(gòu),發(fā)布了RISC-V相關(guān)處理器。

2018年6月,上海市經(jīng)濟(jì)信息委發(fā)布了《上海市經(jīng)濟(jì)信息化委關(guān)于開展2018年度第二批上海市軟件和集成電路產(chǎn)業(yè)發(fā)展專項(xiàng)資金(集成電路和電子信息制造領(lǐng)域)項(xiàng)目申報(bào)工作的通知》,其中有一項(xiàng)內(nèi)容便是將從事RISC-V相關(guān)設(shè)計(jì)和開發(fā)的公司作為扶持對(duì)象。上海成為國內(nèi)第一個(gè)將RISC-V列入政府扶持對(duì)象的城市。

2018年,晶心科技基于RISC-V系列的Soc芯片累積供貨已超過35億顆。阿里巴巴旗下的中天微系統(tǒng)有限公司推出了基于RISC-V的第三代C-SKY指令架構(gòu)以及第一個(gè)32位低功耗CK902處理器。華米科技發(fā)布了全球首款基于RISC-V架構(gòu)的可穿戴AI芯片——“黃山1號(hào)”,并且集成了AON(Always On)模塊控制器和神經(jīng)網(wǎng)絡(luò)加速模塊。2019年,核芯互聯(lián)科技(青島)有限公司正式發(fā)布中國第一款基于開源指令集架構(gòu)RISC-V的家電通用芯片——璇璣CLE系列MCU。阿里巴巴旗下半導(dǎo)體公司平頭哥正式發(fā)布玄鐵910(XuanTie910),采用3發(fā)射8執(zhí)行的復(fù)雜亂序執(zhí)行架構(gòu),是業(yè)界首個(gè)實(shí)現(xiàn)每周期2條內(nèi)存訪問的RISC-V處理器,能夠應(yīng)用于5G、人工智能以及自動(dòng)駕駛等領(lǐng)域。

從上述的產(chǎn)業(yè)現(xiàn)狀可以看出,RISC-V已成為人工智能、物聯(lián)網(wǎng)領(lǐng)域最為流行的指令集之一[14],移動(dòng)5G的鋪開引領(lǐng)了IoT物聯(lián)網(wǎng)大潮,而RISC-V可以為此領(lǐng)域提供了一個(gè)高能效低成本的解決方案,可以期待將來它的生態(tài)甚至很可能足以挑戰(zhàn)x86和ARM的地位。

2.4 RISC-V指令集在高校課程中的現(xiàn)狀

高校作為孵化人才的重要基地,將學(xué)術(shù)界、產(chǎn)業(yè)界最先進(jìn)、最優(yōu)秀、最實(shí)用的專業(yè)技術(shù)傳授給學(xué)生,讓課程與時(shí)俱進(jìn)是新時(shí)代育人的重要內(nèi)涵與責(zé)任。在美國,已經(jīng)有不少知名高校開始把原本使用的MIPS指令集啟蒙教材轉(zhuǎn)換成RISC-V指令集教材。[15]然而,在國內(nèi),與RISC-V在產(chǎn)業(yè)界的蓬勃發(fā)展不同,將RISC-V指令集及相關(guān)開源處理器引入課堂教學(xué)的并不多,盡管張軍[16]探討了RISC-V 開源項(xiàng)目對(duì)培養(yǎng)學(xué)生系統(tǒng)思維的重要性,但是沒有提及融入的具體路徑。

3 RISC-V指令集在課程實(shí)踐中的實(shí)施環(huán)節(jié)

3.1 指令系統(tǒng)章節(jié)引入RISC-V指令集本身

RISC-V具有固定不變的基礎(chǔ)整數(shù)指令集——RV32I,以及RISC-V的標(biāo)準(zhǔn)擴(kuò)展指令集——RV32G。RV32G指令集中涉及的運(yùn)算包括乘法和除法(RV32M)、浮點(diǎn)操作(RV32F和RV32D)、原子操作(RV32A)。其中RV32I包含六種基本指令格式,分別是:用于寄存器-寄存器操作的R類型指令,用于短立即數(shù)和訪存load 操作的I 型指令,用于訪存store 操作的S型指令,用于條件跳轉(zhuǎn)操作的B類型指令,用于長立即數(shù)的U型指令和用于無條件跳轉(zhuǎn)的J型指令。

3.2中央處理器和存儲(chǔ)器章節(jié)引入RISC-V E31處理器內(nèi)核

SiFive Freedom E310開發(fā)板[17]是基于RISC_V指令集的開源開發(fā)板,由SiFive公司提供,具有完整的FPGA套件和軟硬件開發(fā)環(huán)境,非常有利于學(xué)生的動(dòng)手實(shí)踐。擬采用該開發(fā)板中的RISC-V E31 處理器核對(duì)中央處理器CPU進(jìn)行課程教學(xué)與實(shí)踐。圖1為SiFive Freedom E310開發(fā)板中的E31處理器內(nèi)核組成與相關(guān)章節(jié)內(nèi)容的對(duì)應(yīng)關(guān)系。從圖1可知,E31處理器內(nèi)核主要由高速緩存、控制系統(tǒng)、運(yùn)算器、中斷系統(tǒng)、調(diào)試系統(tǒng)等五大部件構(gòu)成。下面分別加以介紹:

圖1 RISC-V E31處理器核的組成與相關(guān)章節(jié)內(nèi)容對(duì)應(yīng)關(guān)系

(1)高速緩存。E31處理器內(nèi)核的高速緩存模塊將緩存分為指令緩存單元和數(shù)據(jù)緩存單元。其中指令緩存部分采用的是16KB-2路L1 I-cache指令緩存。這部分內(nèi)容可以融入到存儲(chǔ)器章節(jié)。

(2)控制系統(tǒng)。該模塊由指令取指單元和指令流水線單元組成。指令取指單元采用標(biāo)準(zhǔn)的壓縮擴(kuò)展、16位指令字長。指令流水線單元采用單發(fā)射、順序五級(jí)流水線。這部分內(nèi)容可以完全融入到CPU中控制系統(tǒng)的教學(xué)。

(3)運(yùn)算器。該模塊主要包含RV32IMAC指令操作,其中字母I、M、A、C分別為指令集中的整數(shù)、乘法、原子以及壓縮等操作,乘法器/除法器、加載/存儲(chǔ)等。

(4)中斷系統(tǒng)。這部分中斷包含平臺(tái)級(jí)和核級(jí)中斷控制兩個(gè)子系統(tǒng),能夠輔助中央處理器的中斷系統(tǒng)教學(xué)。

(5)調(diào)試系統(tǒng)。中央處理器內(nèi)置的調(diào)試模塊,主要負(fù)責(zé)對(duì)中央處理器各個(gè)模塊的調(diào)試。

通過分析,E31 RISC-V處理器核的上述模塊分別對(duì)應(yīng)了“計(jì)算機(jī)組成原理”這門課程中存儲(chǔ)器章節(jié)中的高速緩存、中央處理器CPU章節(jié)的指令系統(tǒng)、運(yùn)算方法、控制系統(tǒng)、中斷系統(tǒng)等,這些章節(jié)約占整個(gè)課程的50%內(nèi)容。

如果將RISC-V E31處理器核中各個(gè)部分的具體實(shí)現(xiàn)方法作為相關(guān)章節(jié)內(nèi)容的實(shí)例,從宏觀上來看,該案例能夠?qū)⒉煌鹿?jié)的知識(shí)融入到一個(gè)完整的硬件系統(tǒng)中,便于學(xué)生建立知識(shí)的整體觀。從微觀上來看,每一部分的理論知識(shí)都有相應(yīng)的真實(shí)工程背景,學(xué)生既能夠從原理上理解,又能夠動(dòng)手實(shí)踐。

4 總 結(jié)

由于RISC-V近年來在產(chǎn)業(yè)界獲得飛速發(fā)展,為了培養(yǎng)學(xué)生高水平的應(yīng)用能力,能夠在畢業(yè)之后較快地融入產(chǎn)業(yè)界芯片設(shè)計(jì)領(lǐng)域的開發(fā)工作,同時(shí)為了讓學(xué)生更好地掌握中央處理器的設(shè)計(jì)原理與內(nèi)涵,本文提出基于RISC-V E31處理器核的“計(jì)算機(jī)組成原理”課程實(shí)踐探索方案,通過將該處理器核加入到課程實(shí)踐中,提高學(xué)生在集成電路領(lǐng)域的工程動(dòng)手能力,深化學(xué)生對(duì)中央處理器原理的理解與掌握。

猜你喜歡
指令集章節(jié)開源
基于Kubernetes的RISC-V異構(gòu)集群云任務(wù)調(diào)度系統(tǒng)①
3DNow指令集被Linux淘汰
五毛錢能買多少頭牛
2019開源杰出貢獻(xiàn)獎(jiǎng)
高中數(shù)學(xué)章節(jié)易錯(cuò)點(diǎn)提前干預(yù)的策略研究
基于Dais—CMX模型機(jī)的斐波那契數(shù)列指令集設(shè)計(jì)
利用“骨架突破法”,提高復(fù)習(xí)效率
大家說:開源、人工智能及創(chuàng)新
開源中國開源世界高峰論壇圓桌會(huì)議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
八仙過海,各顯神通