基于RISC-V指令集的BOOM处理器优化与验证
发布时间:2021-10-29 19:21
BOOM(Berkeley Out-of-Order Machine)是加州大学伯克利分校研发的一款基于RISC-V指令集架构的开源处理器,其主要用于ASIC优化以及FPGA。本文针对BOOM处理器进行时序优化与验证。通过研究处理器微体系结构的实现方式并结合综合报告的关键路径来提出处理器的时序优化方法,以提升处理器整体运行速度,并搭建验证处理器功能的仿真验证平台,完成处理器验证。本文首先对BOOM处理器流水线微体系结构进行研究。采用Synopsys的Design Compiler工具和中芯国际40nm工艺库及其Memory Compiler对处理器进行综合,根据综合结果报告的关键路径对指令译码、寄存器重命名和指令发射三个流水级进行时序优化。通过切割流水线以及优化内部逻辑的方式,在增加了一定时钟周期的情况下提升了处理器运行速度,综合主频提升了14.2%。其次,本文使用指令集模拟器ISS与RTL协同仿真的验证策略对BOOM处理器进行功能验证。同时,为了保证浮点执行单元功能的正确性以及弥补指令集模拟器的缺陷,针对BOOM处理器的浮点执行单元搭建了基于通用验证方法学(UVM,Universal...
【文章来源】:西安电子科技大学陕西省 211工程院校 教育部直属院校
【文章页数】:104 页
【学位级别】:硕士
【部分图文】:
RISC-V基本指令格式
f0-7f8-9f10-11f12-17f18-27f28-31ft0-7fs0-1fa0-1fa2-7fs2-11ft8-11浮点临时寄存器浮点保存寄存器浮点参数/返回值寄存器浮点参数寄存器浮点保存寄存器浮点临时寄存器调用者被调用者调用者调用者被调用者调用者2.2 BOOM 处理器流水线结构BOOM(Berkeley Out-of-Order Machine)是加州大学伯克利分校设计的一款开源处理器,实现了通用的 RISC-V 指令集 RV64G,和大多数现代高性能处理器内核一样,BOOM 是超标量(每周期可以执行多条指令)以及乱序执行处理器(根据指令间的依赖关系执行,而不必严格按照程序的顺序执行)。采用 Scala 嵌入式硬件构造语言(Chisel,Constructing Hardware in an Scala Embedded Language)编写,利用 Chisel的优势,使用了较少的代码,实现可参数化配置的处理器内核[25]。
宽保持一致)、重排序缓存(ROB)的大小以及物理寄存器堆、Cach[28]。.2.1 取指阶段理器前端将指令从指令缓存(ICache)中取出并将其放置在一个 FIFO,Fetch Buffer)。在 BOOM 中取指阶段也被称之为流水线前端,前端指令以便后端中的执行单元执行。当前端可以提供一个不间断连续的指的性能才能达到最佳。因此 BOOM 前端利用分支预测技术来预测指令指令跳转的目标,前端任何的分支误预测只有在该分支或者跳转指令在能被发现。在分支误预测后,流水线中的分支以及依赖于该分支指令之被刷掉(Flush),并且前端必须重新从正确的路径取指。前端使用 否跳转的 BTB(Branch Target Buffer)、预测功能返回的 RAS(Retur以及预测跳转目标的 BPD(Conditional Branch Predictor)多个不同的来预测指令流的走向,取指单元结构如图 2.3 所示。
【参考文献】:
期刊论文
[1]五级流水线RISC-V处理器软硬件协同仿真验证[J]. 李东泽,曹凯宁,曲明,王富昕. 吉林大学学报(信息科学版). 2017(06)
[2]基于SystemC和SystemVerilog的联合仿真平台设计[J]. 卢艳君. 科学技术创新. 2017(27)
[3]一种支持Superscalar-VLIW混合架构处理器的混合分支预测设计[J]. 付家为,王旭,何虎. 计算机应用与软件. 2017(02)
[4]RISC-V架构的开源处理器及SoC研究综述[J]. 雷思磊. 单片机与嵌入式系统应用. 2017(02)
[5]一款基于SPARC V8指令集体系结构的系统芯片的功能验证[J]. 杨爽,王天成,李华伟. 南通大学学报(自然科学版). 2016(04)
[6]基于多模拟器协同模拟的微处理器验证技术研究[J]. 宋慧静,赵天磊,吴虎成,张民选. 小型微型计算机系统. 2015(09)
[7]高性能处理器层次化可重用模拟验证环境[J]. 胡向东,巨鹏锦,朱英,孙路. 中国科学:信息科学. 2015(04)
[8]计算机系统结构简述[J]. 姚远. 计算机光盘软件与应用. 2014(04)
[9]计算机硬件组成架构[J]. 乔斌. 长春工业大学学报(自然科学版). 2013(05)
[10]一种面向微处理器验证的分层随机激励方法[J]. 张欣,黄凯,孟建熠,殷燎,严晓浪,葛海通. 计算机应用研究. 2010(04)
硕士论文
[1]基于UVM的浮点倒数方根电路模块验证[D]. 王海涛.西安电子科技大学 2017
[2]面向SPARC V8的SOC软硬件协同仿真环境设计[D]. 李亚.首都师范大学 2014
本文编号:3465255
【文章来源】:西安电子科技大学陕西省 211工程院校 教育部直属院校
【文章页数】:104 页
【学位级别】:硕士
【部分图文】:
RISC-V基本指令格式
f0-7f8-9f10-11f12-17f18-27f28-31ft0-7fs0-1fa0-1fa2-7fs2-11ft8-11浮点临时寄存器浮点保存寄存器浮点参数/返回值寄存器浮点参数寄存器浮点保存寄存器浮点临时寄存器调用者被调用者调用者调用者被调用者调用者2.2 BOOM 处理器流水线结构BOOM(Berkeley Out-of-Order Machine)是加州大学伯克利分校设计的一款开源处理器,实现了通用的 RISC-V 指令集 RV64G,和大多数现代高性能处理器内核一样,BOOM 是超标量(每周期可以执行多条指令)以及乱序执行处理器(根据指令间的依赖关系执行,而不必严格按照程序的顺序执行)。采用 Scala 嵌入式硬件构造语言(Chisel,Constructing Hardware in an Scala Embedded Language)编写,利用 Chisel的优势,使用了较少的代码,实现可参数化配置的处理器内核[25]。
宽保持一致)、重排序缓存(ROB)的大小以及物理寄存器堆、Cach[28]。.2.1 取指阶段理器前端将指令从指令缓存(ICache)中取出并将其放置在一个 FIFO,Fetch Buffer)。在 BOOM 中取指阶段也被称之为流水线前端,前端指令以便后端中的执行单元执行。当前端可以提供一个不间断连续的指的性能才能达到最佳。因此 BOOM 前端利用分支预测技术来预测指令指令跳转的目标,前端任何的分支误预测只有在该分支或者跳转指令在能被发现。在分支误预测后,流水线中的分支以及依赖于该分支指令之被刷掉(Flush),并且前端必须重新从正确的路径取指。前端使用 否跳转的 BTB(Branch Target Buffer)、预测功能返回的 RAS(Retur以及预测跳转目标的 BPD(Conditional Branch Predictor)多个不同的来预测指令流的走向,取指单元结构如图 2.3 所示。
【参考文献】:
期刊论文
[1]五级流水线RISC-V处理器软硬件协同仿真验证[J]. 李东泽,曹凯宁,曲明,王富昕. 吉林大学学报(信息科学版). 2017(06)
[2]基于SystemC和SystemVerilog的联合仿真平台设计[J]. 卢艳君. 科学技术创新. 2017(27)
[3]一种支持Superscalar-VLIW混合架构处理器的混合分支预测设计[J]. 付家为,王旭,何虎. 计算机应用与软件. 2017(02)
[4]RISC-V架构的开源处理器及SoC研究综述[J]. 雷思磊. 单片机与嵌入式系统应用. 2017(02)
[5]一款基于SPARC V8指令集体系结构的系统芯片的功能验证[J]. 杨爽,王天成,李华伟. 南通大学学报(自然科学版). 2016(04)
[6]基于多模拟器协同模拟的微处理器验证技术研究[J]. 宋慧静,赵天磊,吴虎成,张民选. 小型微型计算机系统. 2015(09)
[7]高性能处理器层次化可重用模拟验证环境[J]. 胡向东,巨鹏锦,朱英,孙路. 中国科学:信息科学. 2015(04)
[8]计算机系统结构简述[J]. 姚远. 计算机光盘软件与应用. 2014(04)
[9]计算机硬件组成架构[J]. 乔斌. 长春工业大学学报(自然科学版). 2013(05)
[10]一种面向微处理器验证的分层随机激励方法[J]. 张欣,黄凯,孟建熠,殷燎,严晓浪,葛海通. 计算机应用研究. 2010(04)
硕士论文
[1]基于UVM的浮点倒数方根电路模块验证[D]. 王海涛.西安电子科技大学 2017
[2]面向SPARC V8的SOC软硬件协同仿真环境设计[D]. 李亚.首都师范大学 2014
本文编号:3465255
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3465255.html