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