基于RISC-V處理器的卷積神經(jīng)網(wǎng)絡(luò)加速SoC
發(fā)布時(shí)間:2021-08-18 15:58
近年來(lái),隨著處理器性能的快速發(fā)展以及存儲(chǔ)器容量的不斷提升,模擬人體大腦的神經(jīng)網(wǎng)絡(luò)算法成為了目前最流行的算法。該算法在很多領(lǐng)域表現(xiàn)出比傳統(tǒng)算法更優(yōu)越的性能,例如在網(wǎng)頁(yè)搜索,圖像分析,語(yǔ)音識(shí)別等方面。卷積神經(jīng)網(wǎng)絡(luò)(CNN)是針對(duì)圖像分析所提出的一種神經(jīng)網(wǎng)絡(luò)算法,在2012年的Image-Net LargeScale Vision Recognition Challenge(ILSVRC)中,卷積神經(jīng)網(wǎng)絡(luò)算法擊敗傳統(tǒng)圖像算法獲得第一名;2018年,在圍棋領(lǐng)域,依靠卷積神經(jīng)網(wǎng)絡(luò)算法的AlphaGo擊敗了李世石,展現(xiàn)了卷積神經(jīng)網(wǎng)絡(luò)算法強(qiáng)大的潛力。但是,由于卷積神經(jīng)網(wǎng)絡(luò)參數(shù)多,運(yùn)算量大,目前,該算法大多數(shù)情況下依賴圖形處理器(GPU)進(jìn)行運(yùn)算。GPU雖然運(yùn)算快,但是功耗較大,并不適合在嵌入式領(lǐng)域中應(yīng)用,并且隨著摩爾定律的失效,將神經(jīng)網(wǎng)絡(luò)算法移植到硬件實(shí)現(xiàn)的期望也越來(lái)越迫切,F(xiàn)場(chǎng)可編程門陣列(FPGA)具有更為靈活的硬件實(shí)現(xiàn)和比GPU更低的功耗,非常適合作為卷積神經(jīng)網(wǎng)絡(luò)的一種硬件實(shí)現(xiàn)設(shè)計(jì)。在實(shí)現(xiàn)方面,基于處理器和加速器外設(shè)實(shí)現(xiàn)的片上系統(tǒng)(SoC)與單純使用加速器相比更具有靈活性。本文致力于實(shí)現(xiàn)一款低...
【文章來(lái)源】:吉林大學(xué)吉林省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:81 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
跳轉(zhuǎn)指令引發(fā)的流水線控制信號(hào)
第二章RISC-V處理器的硬件設(shè)計(jì)11行階段送至CSR模塊內(nèi)部執(zhí)行,并且讀取CSR寄存器指令所讀取到的讀數(shù)應(yīng)正確地參與指令相關(guān)性檢測(cè)并寫(xiě)回到寄存器組中。因此,CSR模塊與ALU模塊并列,共同存在于流水線中的執(zhí)行一級(jí)。CSR寄存器組分為兩個(gè)種類,一種是與處理器中計(jì)數(shù)器和定時(shí)器有關(guān)的三個(gè)寄存器。這三個(gè)寄存器經(jīng)常參與處理器性能測(cè)試,并且提供精準(zhǔn)的時(shí)間。這三個(gè)寄存器分別是用以存儲(chǔ)當(dāng)前運(yùn)行時(shí)鐘周期的cycle寄存器,存儲(chǔ)實(shí)時(shí)時(shí)鐘的time寄存器和存儲(chǔ)執(zhí)行指令數(shù)目的寄存器instret寄存器。盡管處理器為32位,但這三個(gè)寄存器較為特殊,根據(jù)RISC-V協(xié)議為64位[20],分為高32位和低32位分別處理。對(duì)于驅(qū)動(dòng)方式,cycle寄存器直接由系統(tǒng)時(shí)鐘進(jìn)行驅(qū)動(dòng),而instret寄存器因?yàn)榕c處理器流水線息息相關(guān),所以根據(jù)流水線運(yùn)行、暫;蛘邲_刷的狀態(tài)生成驅(qū)動(dòng)信號(hào),如圖2.5所示的instret信號(hào)變?yōu)樯傻尿?qū)動(dòng)信號(hào)。time寄存器由SoC提供的實(shí)時(shí)時(shí)鐘驅(qū)動(dòng),由于時(shí)鐘不同步還要進(jìn)行同步處理。圖2.5生成的instret驅(qū)動(dòng)信號(hào)實(shí)時(shí)時(shí)鐘time寄存器需使用獨(dú)立的時(shí)鐘驅(qū)動(dòng),在很多處理器中該時(shí)鐘通過(guò)片外晶振輸入。晶振頻率多數(shù)為32.768kHz,即為215,這樣可以提供精準(zhǔn)的時(shí)鐘。在本文中利用時(shí)鐘資源PLL與分頻器的組合實(shí)現(xiàn)該時(shí)鐘,輸入時(shí)鐘為100MHz,PLL無(wú)法直接輸出頻率過(guò)低的時(shí)鐘,因而采用MMCM輸出8.388MHz時(shí)鐘并且使用256分頻器將時(shí)鐘頻率分為32.768kHz。CSR寄存器的另一種為異常與中斷相關(guān)寄存器,例如IE、IP寄存器。IP寄存器用以存儲(chǔ)中斷等待,RISC-V架構(gòu)要求實(shí)現(xiàn)的中斷包括軟件中斷、定時(shí)器中斷和外部中斷。這些中斷產(chǎn)生后處理器并不會(huì)馬上響應(yīng),還需要中斷使能開(kāi)啟。IE寄存器和status兩個(gè)寄存器控制著中斷使能。IE寄存器控制具體種類的中斷
第二章RISC-V處理器的硬件設(shè)計(jì)13RISC-V架構(gòu)規(guī)定了14種異常,如圖2.6所示。在本文中,大多數(shù)異常并不會(huì)被使用。按照實(shí)際需求,實(shí)現(xiàn)了無(wú)效指令異常和機(jī)器模式級(jí)別的系統(tǒng)調(diào)用。對(duì)于RISC-V結(jié)構(gòu),執(zhí)行指令ecall時(shí)候便進(jìn)入系統(tǒng)調(diào)用。當(dāng)ecall指令進(jìn)入到流水線中的執(zhí)行階段時(shí),處理器將對(duì)其響應(yīng)從而進(jìn)入中斷模式。然而,由于處理器EPC寄存器保存的地址為執(zhí)行階段地址,當(dāng)處理器退出中斷后,依舊會(huì)執(zhí)行ecall指令從而造成無(wú)限循環(huán)。針對(duì)這種情況,在設(shè)計(jì)相應(yīng)函數(shù)時(shí),對(duì)該異常進(jìn)行特殊的處理,即讀取EPC寄存器的地址,并將該數(shù)字加4(下一個(gè)指令地址)同時(shí)存入EPC寄存器中以便處理器正確地從中斷退出。圖2.6RISC-V架構(gòu)規(guī)定的異常指令錯(cuò)誤異常處理程序中,首先打印錯(cuò)誤指令產(chǎn)生的地址以便于調(diào)試。為了不帶來(lái)后續(xù)影響,處理程序?qū)?huì)進(jìn)入死循環(huán),使得處理器不會(huì)再繼續(xù)運(yùn)行。2.2.4乘除法器在RISCV指令集下,如果實(shí)現(xiàn)了對(duì)基本指令集的支持,那么便可以實(shí)現(xiàn)絕大多數(shù)運(yùn)算操作,便包括乘除法運(yùn)算;局噶罴锸遣话瑢(duì)乘除法指令的支持,乘除法的指令為RISC-V指令集的“M”擴(kuò)展部分。但是乘除法器仍然作為高性能處理器必要的實(shí)現(xiàn)。本節(jié)對(duì)比處理器采用標(biāo)準(zhǔn)指令集實(shí)現(xiàn)乘法運(yùn)算和用乘法指令運(yùn)算的性能,進(jìn)而添加一個(gè)高性能的乘除法器。
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA加速的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別系統(tǒng)[J]. 林志文,林志賢,郭太良,林珊玲. 電子技術(shù)應(yīng)用. 2020(02)
[2]五級(jí)流水線RISC-V處理器軟硬件協(xié)同仿真驗(yàn)證[J]. 李東澤,曹凱寧,曲明,王富昕. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版). 2017(06)
本文編號(hào):3350189
【文章來(lái)源】:吉林大學(xué)吉林省 211工程院校 985工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:81 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
跳轉(zhuǎn)指令引發(fā)的流水線控制信號(hào)
第二章RISC-V處理器的硬件設(shè)計(jì)11行階段送至CSR模塊內(nèi)部執(zhí)行,并且讀取CSR寄存器指令所讀取到的讀數(shù)應(yīng)正確地參與指令相關(guān)性檢測(cè)并寫(xiě)回到寄存器組中。因此,CSR模塊與ALU模塊并列,共同存在于流水線中的執(zhí)行一級(jí)。CSR寄存器組分為兩個(gè)種類,一種是與處理器中計(jì)數(shù)器和定時(shí)器有關(guān)的三個(gè)寄存器。這三個(gè)寄存器經(jīng)常參與處理器性能測(cè)試,并且提供精準(zhǔn)的時(shí)間。這三個(gè)寄存器分別是用以存儲(chǔ)當(dāng)前運(yùn)行時(shí)鐘周期的cycle寄存器,存儲(chǔ)實(shí)時(shí)時(shí)鐘的time寄存器和存儲(chǔ)執(zhí)行指令數(shù)目的寄存器instret寄存器。盡管處理器為32位,但這三個(gè)寄存器較為特殊,根據(jù)RISC-V協(xié)議為64位[20],分為高32位和低32位分別處理。對(duì)于驅(qū)動(dòng)方式,cycle寄存器直接由系統(tǒng)時(shí)鐘進(jìn)行驅(qū)動(dòng),而instret寄存器因?yàn)榕c處理器流水線息息相關(guān),所以根據(jù)流水線運(yùn)行、暫;蛘邲_刷的狀態(tài)生成驅(qū)動(dòng)信號(hào),如圖2.5所示的instret信號(hào)變?yōu)樯傻尿?qū)動(dòng)信號(hào)。time寄存器由SoC提供的實(shí)時(shí)時(shí)鐘驅(qū)動(dòng),由于時(shí)鐘不同步還要進(jìn)行同步處理。圖2.5生成的instret驅(qū)動(dòng)信號(hào)實(shí)時(shí)時(shí)鐘time寄存器需使用獨(dú)立的時(shí)鐘驅(qū)動(dòng),在很多處理器中該時(shí)鐘通過(guò)片外晶振輸入。晶振頻率多數(shù)為32.768kHz,即為215,這樣可以提供精準(zhǔn)的時(shí)鐘。在本文中利用時(shí)鐘資源PLL與分頻器的組合實(shí)現(xiàn)該時(shí)鐘,輸入時(shí)鐘為100MHz,PLL無(wú)法直接輸出頻率過(guò)低的時(shí)鐘,因而采用MMCM輸出8.388MHz時(shí)鐘并且使用256分頻器將時(shí)鐘頻率分為32.768kHz。CSR寄存器的另一種為異常與中斷相關(guān)寄存器,例如IE、IP寄存器。IP寄存器用以存儲(chǔ)中斷等待,RISC-V架構(gòu)要求實(shí)現(xiàn)的中斷包括軟件中斷、定時(shí)器中斷和外部中斷。這些中斷產(chǎn)生后處理器并不會(huì)馬上響應(yīng),還需要中斷使能開(kāi)啟。IE寄存器和status兩個(gè)寄存器控制著中斷使能。IE寄存器控制具體種類的中斷
第二章RISC-V處理器的硬件設(shè)計(jì)13RISC-V架構(gòu)規(guī)定了14種異常,如圖2.6所示。在本文中,大多數(shù)異常并不會(huì)被使用。按照實(shí)際需求,實(shí)現(xiàn)了無(wú)效指令異常和機(jī)器模式級(jí)別的系統(tǒng)調(diào)用。對(duì)于RISC-V結(jié)構(gòu),執(zhí)行指令ecall時(shí)候便進(jìn)入系統(tǒng)調(diào)用。當(dāng)ecall指令進(jìn)入到流水線中的執(zhí)行階段時(shí),處理器將對(duì)其響應(yīng)從而進(jìn)入中斷模式。然而,由于處理器EPC寄存器保存的地址為執(zhí)行階段地址,當(dāng)處理器退出中斷后,依舊會(huì)執(zhí)行ecall指令從而造成無(wú)限循環(huán)。針對(duì)這種情況,在設(shè)計(jì)相應(yīng)函數(shù)時(shí),對(duì)該異常進(jìn)行特殊的處理,即讀取EPC寄存器的地址,并將該數(shù)字加4(下一個(gè)指令地址)同時(shí)存入EPC寄存器中以便處理器正確地從中斷退出。圖2.6RISC-V架構(gòu)規(guī)定的異常指令錯(cuò)誤異常處理程序中,首先打印錯(cuò)誤指令產(chǎn)生的地址以便于調(diào)試。為了不帶來(lái)后續(xù)影響,處理程序?qū)?huì)進(jìn)入死循環(huán),使得處理器不會(huì)再繼續(xù)運(yùn)行。2.2.4乘除法器在RISCV指令集下,如果實(shí)現(xiàn)了對(duì)基本指令集的支持,那么便可以實(shí)現(xiàn)絕大多數(shù)運(yùn)算操作,便包括乘除法運(yùn)算;局噶罴锸遣话瑢(duì)乘除法指令的支持,乘除法的指令為RISC-V指令集的“M”擴(kuò)展部分。但是乘除法器仍然作為高性能處理器必要的實(shí)現(xiàn)。本節(jié)對(duì)比處理器采用標(biāo)準(zhǔn)指令集實(shí)現(xiàn)乘法運(yùn)算和用乘法指令運(yùn)算的性能,進(jìn)而添加一個(gè)高性能的乘除法器。
【參考文獻(xiàn)】:
期刊論文
[1]基于FPGA加速的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別系統(tǒng)[J]. 林志文,林志賢,郭太良,林珊玲. 電子技術(shù)應(yīng)用. 2020(02)
[2]五級(jí)流水線RISC-V處理器軟硬件協(xié)同仿真驗(yàn)證[J]. 李東澤,曹凱寧,曲明,王富昕. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版). 2017(06)
本文編號(hào):3350189
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3350189.html
最近更新
教材專著