技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种基于RISC-V的高效率流水线微处理器  >  正文

一种基于RISC-V的高效率流水线微处理器

  • 国知局
  • 2024-10-09 15:31:01

本申请涉及处理器设计领域,尤其涉及一种基于risc-v的高效率流水线微处理器。背景技术:::1、微处理器凭借其高性能、低功耗、可编程以及高灵活度等诸多优点被广泛应用于物联网、智能家居、智能穿戴等各个领域。传统的基于arm 架构的处理器不仅需要支付高昂的授权使用费,并且禁止一切私自改动,灵活性较差。2010年,加州大学伯克利分校发布risc-v指令集架构,用户可以在基础指令集的基础上,根据自身的应用需求扩展指令集,以定制各种各样的处理器架构。risc-v指令集精简、模块化设计、开源等方面的优点,使其受到各大企业以及研究者的广泛关注。2、risc-v微处理器通常使用较深的流水线架构以提高指令的并行性,从而获得更好的性能。然而,流水线在指令的执行过程易受分支指令和访存指令的影响,导致流水线中断和性能恶化。一方面,为减少分支指令对流水线执行效率的影响,蜂鸟e203采用静态分支预测btfn(back taken forward not taken)方法,一定程度提高了流水线效率。但由于该方法预测精度较低,因此流水线效率提升有限。为提高预测精度,西部数据推出的swerv eh1设计了一种动态分支预测方法,即gshare。该方法利用指令地址与全局分支历史异或运算的结果索引模式历史表(pattern history table,pht)表项,有效提高了预测精度。中国科学院计算机技术研究所设计了“香山”高性能处理器,提出了一种包括ubtb、btb以及tage-sc-l在内的三级预测结构,在提高预测精度的同时还获得了较好的预测速度。但是上述方法所提的分支预测器通常在流水线的最前端进行,预测失败后会导致“执行”到“取指”阶段之间的全部指令被丢弃,造成流水线停顿。另一方面,为降低访存指令对流水线的影响,目前大多数顺序执行结构的开源处理器例如ri5cy、picorv32等,通过插入气泡对流水线进行暂停等待访存指令执行结束,导致顺序处理器流水线效率较低。xuantie-910提出了乱序双发射访存处理机制,每周期能同时执行一条load指令和一条store指令。香山处理器建立了符合rvwmo(risc-v weak memory ordering)内存一致性的乱序访存模型,包含2条load以及2条store流水线,最多支持4条访存指令同时执行。为实现访存指令按序写回的机制,以上两款处理器均采用专用访存队列记录访存指令的顺序,若访存指令之间的数据相关性违背内存一致性,则冲刷流水线,阻塞后续指令的执行,限制了流水线的执行效率。技术实现思路1、本发明的目的在于:为了解决现有的处理器分支指令预测失败导致流水线冲刷周期损失,从而降低执行效率的问题,提供一种基于risc-v的高效率流水线微处理器。2、本申请的上述目的是通过以下技术方案得以实现的:3、所述微处理器包括:取指单元以及访存单元;4、所述取指单元包括:pc寄存器、dual_rom存储器、mini-decoder简易译码器、bpu分支预测单元、三级地址选择器、ahb总线、加法器、if\id寄存器;5、所述执行与二级访存单元包括:id\ex寄存器、ex执行单元、forward数据前递单元、mem_1访存单元、mem_2访存单元、mux多路选择器、ex\mem寄存器、mem\wb寄存器、id\ex寄存器、wb回写单元以及ahb总线;6、所述取指单元用于快速地取出正确的指令;7、所述访存单元用于高效地执行访存的指令。8、可选的,所述三级地址选择器包括:mux1第一级选择器、mux2第二级选择器、mux3第三级选择器。9、可选的,所述mux1第一级选择器的输出端连接mux2第二级选择器的第三输入端,mux2第二级选择器的输出端连接mux3第三级选择器的第三输入端;10、mux2第二级选择器的第一输入端连接pc_stop端口;11、mux3第三级选择器的第一输入端连接pipe_flush端口,第二输入端连接jump_addr端口,输出端连接if\id寄存器;12、dual_rom存储器的第一读端口连接ahb总线,第二读端口连接pc寄存器的第一输出端;13、dual_rom存储器的第一读数据输出端口连接ahb总线,第二读数据输出端口连接mini-decoder简易译码器;14、mini-decoder简易译码器的第一输出端连接bpu分支预测单元的输入端,第二输出端连接if\id寄存器。15、可选的,所述bpu分支预测单元的第一输出端以及第二输出端,分别连接三级地址选择器的mux1第一级选择器的第一输入端和第三输入端;16、pc寄存器的第二输出端连接三级地址选择器的mux2第二级选择器的第二输入端以及加法器的输入端,pc寄存器的输入端连接mux3第三级选择器的输出端;17、加法器的输出端连接mux1第一级选择器的第二输入端。18、可选的,所述id\ex寄存器的第一输出端和第二输出端分别连接forward数据前递单元的第一输入端和第二输入端;19、forward数据前递单元的第一输出端和第二输出端分别连接ex执行单元的第一输入端和第二输入端;20、forward数据前递单元的第三输入端连接mem_2访存单元的第一输出端,第四输入端连接wb回写单元的输出端;21、ex执行单元的第一输出端连接ex\mem寄存器的第一输入端,第二输出端连接mem_1访存单元的输入端。22、可选的,所述mem_1访存单元的第一输出端连接ex\mem寄存器的第二输入端,mem_1访存单元的第二输出端和第三输出端连接ahb总线;23、ex\mem寄存器的输出端连接mem_2访存单元的第一输入端;24、mem_2访存单元的第二输入端和第二输出端连接ahb总线;25、mem_2访存单元的第一输出端连接mem\wb寄存器的输入端;mem\wb寄存器的输出端连接wb回写单元的输入端。26、本申请提供的技术方案带来的有益效果是:27、1.设计三级地址选择器,使指令提前进入流水线,将流水线的冲刷周期从两个降低至一个,提高流水线的执行效率,解决了分支指令预测失败导致流水线冲刷周期损失的问题。28、2.针对load/store访存指令在数据出现相关性时导致流水线暂停的问题,设计了一种两级流水线结构的访存方法(mem_1访存单元和mem_2访存单元),使load指令在出现数据相关性时可通过数据前递单元将load指令取回的数据及时传递给之后的指令。此外,对于store指令,两级流水线结构的访存方法也能使后续指令能及时读取store指令写入的数据。技术特征:1.一种基于risc-v的高效率流水线微处理器,其特征在于,所述微处理器包括:取指单元以及访存单元;2.如权利要求1所述的一种基于risc-v的高效率流水线微处理器,其特征在于,所述三级地址选择器包括:mux1第一级选择器、mux2第二级选择器、mux3第三级选择器。3.如权利要求2所述的一种基于risc-v的高效率流水线微处理器,其特征在于,所述mux1第一级选择器的输出端连接mux2第二级选择器的第三输入端,mux2第二级选择器的输出端连接mux3第三级选择器的第三输入端;4.如权利要求3所述的一种基于risc-v的高效率流水线微处理器,其特征在于,所述bpu分支预测单元的第一输出端以及第二输出端,分别连接三级地址选择器的mux1第一级选择器的第一输入端和第三输入端。5.如权利要求4所述的一种基于risc-v的高效率流水线微处理器,其特征在于,所述pc寄存器的第二输出端连接三级地址选择器的mux2第二级选择器的第二输入端以及加法器的输入端,pc寄存器的输入端连接mux3第三级选择器的输出端;6.如权利要求1所述的一种基于risc-v的高效率流水线微处理器,其特征在于,所述id\ex寄存器的第一输出端和第二输出端分别连接forward数据前递单元的第一输入端和第二输入端;7.如权利要求6所述的一种基于risc-v的高效率流水线微处理器,其特征在于,所述forward数据前递单元的第三输入端连接mem_2访存单元的第一输出端,第四输入端连接wb回写单元的输出端;8.如权利要求7所述的一种基于risc-v的高效率流水线微处理器,其特征在于,所述mem_1访存单元的第一输出端连接ex\mem寄存器的第二输入端,mem_1访存单元的第二输出端和第三输出端连接ahb总线;技术总结本申请提供了一种基于RISC‑V的高效率流水线微处理器,涉及处理器设计领域,所述微处理器包括:微处理器包括:取指单元以及访存单元;取指单元包括:PC寄存器、Dual_Rom存储器、Mini‑Decoder简易译码器、BPU分支预测单元、三级地址选择器、AHB总线、加法器、IF\ID寄存器;执行与二级访存单元包括:ID\EX寄存器、EX执行单元、Forward数据前递单元、MEM_1访存单元、MEM_2访存单元、MUX多路选择器、EX\MEM寄存器、MEM\WB寄存器、ID\EX寄存器、WB回写单元以及AHB总线;取指单元用于快速地取出正确的指令;访存单元用于高效地执行访存的指令。技术研发人员:谢桂辉,王子健受保护的技术使用者:中国地质大学(武汉)技术研发日:技术公布日:2024/9/29

本文地址:https://www.jishuxx.com/zhuanli/20241009/308993.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。