基于RISC-V指令集的BOOM處理器優(yōu)化與驗(yàn)證
發(fā)布時(shí)間:2021-10-29 19:21
BOOM(Berkeley Out-of-Order Machine)是加州大學(xué)伯克利分校研發(fā)的一款基于RISC-V指令集架構(gòu)的開源處理器,其主要用于ASIC優(yōu)化以及FPGA。本文針對(duì)BOOM處理器進(jìn)行時(shí)序優(yōu)化與驗(yàn)證。通過研究處理器微體系結(jié)構(gòu)的實(shí)現(xiàn)方式并結(jié)合綜合報(bào)告的關(guān)鍵路徑來提出處理器的時(shí)序優(yōu)化方法,以提升處理器整體運(yùn)行速度,并搭建驗(yàn)證處理器功能的仿真驗(yàn)證平臺(tái),完成處理器驗(yàn)證。本文首先對(duì)BOOM處理器流水線微體系結(jié)構(gòu)進(jìn)行研究。采用Synopsys的Design Compiler工具和中芯國(guó)際40nm工藝庫及其Memory Compiler對(duì)處理器進(jìn)行綜合,根據(jù)綜合結(jié)果報(bào)告的關(guān)鍵路徑對(duì)指令譯碼、寄存器重命名和指令發(fā)射三個(gè)流水級(jí)進(jìn)行時(shí)序優(yōu)化。通過切割流水線以及優(yōu)化內(nèi)部邏輯的方式,在增加了一定時(shí)鐘周期的情況下提升了處理器運(yùn)行速度,綜合主頻提升了14.2%。其次,本文使用指令集模擬器ISS與RTL協(xié)同仿真的驗(yàn)證策略對(duì)BOOM處理器進(jìn)行功能驗(yàn)證。同時(shí),為了保證浮點(diǎn)執(zhí)行單元功能的正確性以及彌補(bǔ)指令集模擬器的缺陷,針對(duì)BOOM處理器的浮點(diǎn)執(zhí)行單元搭建了基于通用驗(yàn)證方法學(xué)(UVM,Universal...
【文章來源】:西安電子科技大學(xué)陜西省 211工程院校 教育部直屬院校
【文章頁數(shù)】:104 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
RISC-V基本指令格式
f0-7f8-9f10-11f12-17f18-27f28-31ft0-7fs0-1fa0-1fa2-7fs2-11ft8-11浮點(diǎn)臨時(shí)寄存器浮點(diǎn)保存寄存器浮點(diǎn)參數(shù)/返回值寄存器浮點(diǎn)參數(shù)寄存器浮點(diǎn)保存寄存器浮點(diǎn)臨時(shí)寄存器調(diào)用者被調(diào)用者調(diào)用者調(diào)用者被調(diào)用者調(diào)用者2.2 BOOM 處理器流水線結(jié)構(gòu)BOOM(Berkeley Out-of-Order Machine)是加州大學(xué)伯克利分校設(shè)計(jì)的一款開源處理器,實(shí)現(xiàn)了通用的 RISC-V 指令集 RV64G,和大多數(shù)現(xiàn)代高性能處理器內(nèi)核一樣,BOOM 是超標(biāo)量(每周期可以執(zhí)行多條指令)以及亂序執(zhí)行處理器(根據(jù)指令間的依賴關(guān)系執(zhí)行,而不必嚴(yán)格按照程序的順序執(zhí)行)。采用 Scala 嵌入式硬件構(gòu)造語言(Chisel,Constructing Hardware in an Scala Embedded Language)編寫,利用 Chisel的優(yōu)勢(shì),使用了較少的代碼,實(shí)現(xiàn)可參數(shù)化配置的處理器內(nèi)核[25]。
寬保持一致)、重排序緩存(ROB)的大小以及物理寄存器堆、Cach[28]。.2.1 取指階段理器前端將指令從指令緩存(ICache)中取出并將其放置在一個(gè) FIFO,F(xiàn)etch Buffer)。在 BOOM 中取指階段也被稱之為流水線前端,前端指令以便后端中的執(zhí)行單元執(zhí)行。當(dāng)前端可以提供一個(gè)不間斷連續(xù)的指的性能才能達(dá)到最佳。因此 BOOM 前端利用分支預(yù)測(cè)技術(shù)來預(yù)測(cè)指令指令跳轉(zhuǎn)的目標(biāo),前端任何的分支誤預(yù)測(cè)只有在該分支或者跳轉(zhuǎn)指令在能被發(fā)現(xiàn)。在分支誤預(yù)測(cè)后,流水線中的分支以及依賴于該分支指令之被刷掉(Flush),并且前端必須重新從正確的路徑取指。前端使用 否跳轉(zhuǎn)的 BTB(Branch Target Buffer)、預(yù)測(cè)功能返回的 RAS(Retur以及預(yù)測(cè)跳轉(zhuǎn)目標(biāo)的 BPD(Conditional Branch Predictor)多個(gè)不同的來預(yù)測(cè)指令流的走向,取指單元結(jié)構(gòu)如圖 2.3 所示。
【參考文獻(xiàn)】:
期刊論文
[1]五級(jí)流水線RISC-V處理器軟硬件協(xié)同仿真驗(yàn)證[J]. 李東澤,曹凱寧,曲明,王富昕. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版). 2017(06)
[2]基于SystemC和SystemVerilog的聯(lián)合仿真平臺(tái)設(shè)計(jì)[J]. 盧艷君. 科學(xué)技術(shù)創(chuàng)新. 2017(27)
[3]一種支持Superscalar-VLIW混合架構(gòu)處理器的混合分支預(yù)測(cè)設(shè)計(jì)[J]. 付家為,王旭,何虎. 計(jì)算機(jī)應(yīng)用與軟件. 2017(02)
[4]RISC-V架構(gòu)的開源處理器及SoC研究綜述[J]. 雷思磊. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用. 2017(02)
[5]一款基于SPARC V8指令集體系結(jié)構(gòu)的系統(tǒng)芯片的功能驗(yàn)證[J]. 楊爽,王天成,李華偉. 南通大學(xué)學(xué)報(bào)(自然科學(xué)版). 2016(04)
[6]基于多模擬器協(xié)同模擬的微處理器驗(yàn)證技術(shù)研究[J]. 宋慧靜,趙天磊,吳虎成,張民選. 小型微型計(jì)算機(jī)系統(tǒng). 2015(09)
[7]高性能處理器層次化可重用模擬驗(yàn)證環(huán)境[J]. 胡向東,巨鵬錦,朱英,孫路. 中國(guó)科學(xué):信息科學(xué). 2015(04)
[8]計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)簡(jiǎn)述[J]. 姚遠(yuǎn). 計(jì)算機(jī)光盤軟件與應(yīng)用. 2014(04)
[9]計(jì)算機(jī)硬件組成架構(gòu)[J]. 喬斌. 長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版). 2013(05)
[10]一種面向微處理器驗(yàn)證的分層隨機(jī)激勵(lì)方法[J]. 張欣,黃凱,孟建熠,殷燎,嚴(yán)曉浪,葛海通. 計(jì)算機(jī)應(yīng)用研究. 2010(04)
碩士論文
[1]基于UVM的浮點(diǎn)倒數(shù)方根電路模塊驗(yàn)證[D]. 王海濤.西安電子科技大學(xué) 2017
[2]面向SPARC V8的SOC軟硬件協(xié)同仿真環(huán)境設(shè)計(jì)[D]. 李亞.首都師范大學(xué) 2014
本文編號(hào):3465255
【文章來源】:西安電子科技大學(xué)陜西省 211工程院校 教育部直屬院校
【文章頁數(shù)】:104 頁
【學(xué)位級(jí)別】:碩士
【部分圖文】:
RISC-V基本指令格式
f0-7f8-9f10-11f12-17f18-27f28-31ft0-7fs0-1fa0-1fa2-7fs2-11ft8-11浮點(diǎn)臨時(shí)寄存器浮點(diǎn)保存寄存器浮點(diǎn)參數(shù)/返回值寄存器浮點(diǎn)參數(shù)寄存器浮點(diǎn)保存寄存器浮點(diǎn)臨時(shí)寄存器調(diào)用者被調(diào)用者調(diào)用者調(diào)用者被調(diào)用者調(diào)用者2.2 BOOM 處理器流水線結(jié)構(gòu)BOOM(Berkeley Out-of-Order Machine)是加州大學(xué)伯克利分校設(shè)計(jì)的一款開源處理器,實(shí)現(xiàn)了通用的 RISC-V 指令集 RV64G,和大多數(shù)現(xiàn)代高性能處理器內(nèi)核一樣,BOOM 是超標(biāo)量(每周期可以執(zhí)行多條指令)以及亂序執(zhí)行處理器(根據(jù)指令間的依賴關(guān)系執(zhí)行,而不必嚴(yán)格按照程序的順序執(zhí)行)。采用 Scala 嵌入式硬件構(gòu)造語言(Chisel,Constructing Hardware in an Scala Embedded Language)編寫,利用 Chisel的優(yōu)勢(shì),使用了較少的代碼,實(shí)現(xiàn)可參數(shù)化配置的處理器內(nèi)核[25]。
寬保持一致)、重排序緩存(ROB)的大小以及物理寄存器堆、Cach[28]。.2.1 取指階段理器前端將指令從指令緩存(ICache)中取出并將其放置在一個(gè) FIFO,F(xiàn)etch Buffer)。在 BOOM 中取指階段也被稱之為流水線前端,前端指令以便后端中的執(zhí)行單元執(zhí)行。當(dāng)前端可以提供一個(gè)不間斷連續(xù)的指的性能才能達(dá)到最佳。因此 BOOM 前端利用分支預(yù)測(cè)技術(shù)來預(yù)測(cè)指令指令跳轉(zhuǎn)的目標(biāo),前端任何的分支誤預(yù)測(cè)只有在該分支或者跳轉(zhuǎn)指令在能被發(fā)現(xiàn)。在分支誤預(yù)測(cè)后,流水線中的分支以及依賴于該分支指令之被刷掉(Flush),并且前端必須重新從正確的路徑取指。前端使用 否跳轉(zhuǎn)的 BTB(Branch Target Buffer)、預(yù)測(cè)功能返回的 RAS(Retur以及預(yù)測(cè)跳轉(zhuǎn)目標(biāo)的 BPD(Conditional Branch Predictor)多個(gè)不同的來預(yù)測(cè)指令流的走向,取指單元結(jié)構(gòu)如圖 2.3 所示。
【參考文獻(xiàn)】:
期刊論文
[1]五級(jí)流水線RISC-V處理器軟硬件協(xié)同仿真驗(yàn)證[J]. 李東澤,曹凱寧,曲明,王富昕. 吉林大學(xué)學(xué)報(bào)(信息科學(xué)版). 2017(06)
[2]基于SystemC和SystemVerilog的聯(lián)合仿真平臺(tái)設(shè)計(jì)[J]. 盧艷君. 科學(xué)技術(shù)創(chuàng)新. 2017(27)
[3]一種支持Superscalar-VLIW混合架構(gòu)處理器的混合分支預(yù)測(cè)設(shè)計(jì)[J]. 付家為,王旭,何虎. 計(jì)算機(jī)應(yīng)用與軟件. 2017(02)
[4]RISC-V架構(gòu)的開源處理器及SoC研究綜述[J]. 雷思磊. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用. 2017(02)
[5]一款基于SPARC V8指令集體系結(jié)構(gòu)的系統(tǒng)芯片的功能驗(yàn)證[J]. 楊爽,王天成,李華偉. 南通大學(xué)學(xué)報(bào)(自然科學(xué)版). 2016(04)
[6]基于多模擬器協(xié)同模擬的微處理器驗(yàn)證技術(shù)研究[J]. 宋慧靜,趙天磊,吳虎成,張民選. 小型微型計(jì)算機(jī)系統(tǒng). 2015(09)
[7]高性能處理器層次化可重用模擬驗(yàn)證環(huán)境[J]. 胡向東,巨鵬錦,朱英,孫路. 中國(guó)科學(xué):信息科學(xué). 2015(04)
[8]計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)簡(jiǎn)述[J]. 姚遠(yuǎn). 計(jì)算機(jī)光盤軟件與應(yīng)用. 2014(04)
[9]計(jì)算機(jī)硬件組成架構(gòu)[J]. 喬斌. 長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版). 2013(05)
[10]一種面向微處理器驗(yàn)證的分層隨機(jī)激勵(lì)方法[J]. 張欣,黃凱,孟建熠,殷燎,嚴(yán)曉浪,葛海通. 計(jì)算機(jī)應(yīng)用研究. 2010(04)
碩士論文
[1]基于UVM的浮點(diǎn)倒數(shù)方根電路模塊驗(yàn)證[D]. 王海濤.西安電子科技大學(xué) 2017
[2]面向SPARC V8的SOC軟硬件協(xié)同仿真環(huán)境設(shè)計(jì)[D]. 李亞.首都師范大學(xué) 2014
本文編號(hào):3465255
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3465255.html
最近更新
教材專著