一种基于RISC-V指令集的三级流水线架构、处理器及数据处理方法技术

技术编号:31984237 阅读:15 留言:0更新日期:2022-01-20 02:02
本发明专利技术提供一种基于RISC

【技术实现步骤摘要】
一种基于RISC

V指令集的三级流水线架构、处理器及数据处理方法


[0001]本专利技术属于低功耗处理器内核架构领域,涉及一种基于RISC

V指令集的三级流水线架构、处理器及数据处理方法。

技术介绍

[0002]目前商用低功耗处理器内核以ARM架构的Cortex

M系列内核为主,流水线一般较短,2级或3级,但使用商用架构内核存在授权成本太高和性能低的缺点。申请号为201810933214.2的专利文献公开了基于RISC

V指令集的二级流水线架构,给出了一种基于二级流水线的低功耗处理器架构,但基于两级流水线,第一级为取指,第二级为译码、执行和写回,第二级流水逻辑大,不利于处理器整体主频的提升。

技术实现思路

[0003]针对现有技术中存在的问题,本专利技术提供一种基于RISC

V指令集的三级流水线架构、处理器及数据处理方法,第二级流水逻辑降低,有利于处理器整体主频的提升。
[0004]本专利技术是通过以下技术方案来实现:
[0005]一种基于RISC

V指令集的三级流水线架构,其特征在于,包括取指级模块、译码级模块、执行级模块和寄存器文件;
[0006]取指级模块,用于获取当前指令并接收指令跳转指示信号,根据当前指令和指令跳转指示信号产生需要访问的PC值,将当前指令和PC值输出给译码级模块;
[0007]译码级模块,用于对接收的当前指令进行命令解析,得到指令解析指示信号,以及当前指令的源寄存器rs1、源寄存器rs2和目的寄存器,同时,根据当前指令的源寄存器rs1、源寄存器rs2和目的寄存器以及接收的写控制和指令完成指示信号判定当前指令的源寄存器rs1、源寄存器rs2或目的寄存器与执行级模块中执行指令的目的寄存器是否相关,若相关,则停顿流水线,若无关,将指令解析指示信号输出给执行级模块,并输出相关指示信号给执行级模块,输出读控制给寄存器文件;寄存器文件输出读数据1和读数据2给执行级模块;
[0008]执行级模块,用于根据相关指示信号、写数据、读数据1和读数据2产生操作数1和操作数2,并根据操作数1、操作数2和指令解析指示信号执行指令,输出指令完成指示信号给译码级模块,输出指令跳转指示信号给取指级模块,得到写数据和写控制并输出给寄存器文件,写控制还输出给译码级模块。
[0009]优选的,取指级模块包括分支预测单元、PC产生单元和指令buffer;
[0010]PC产生单元根据指令分支预测结果、指令跳转指示信号以及指令buffer中指令填充状态,产生需要访问的PC值;指令buffer基于PC值获取当前指令并将当前指令写入指令buffer中;分支预测单元基于指令buffer中的当前指令,进行指令的分支预测,产生指令分支预测结果,输出给PC产生单元;指令buffer将当前指令输出给译码级模块,PC产生单元将
PC值输出给译码级模块。
[0011]优选的,译码级模块包括命令解析单元、操作数译码单元和相关判定电路;
[0012]命令解析单元,用于接收取指级模块输出的当前指令并对当前指令进行命令解析,得到指令解析指示信号;
[0013]操作数译码单元,用于接收取指级模块输出的PC值并对指令进行译码,得到当前指令的源寄存器rs1、源寄存器rs2和目的寄存器并输出给相关判定电路;
[0014]相关判定电路,用于根据当前指令的源寄存器rs1、源寄存器rs2和目的寄存器以及接收的写控制和指令完成指示信号判定当前指令的源寄存器rs1、源寄存器rs2或目的寄存器与执行级模块中执行指令的目的寄存器是否相关,若相关,则停顿流水线,若无关,将指令解析指示信号输出给执行级模块,并输出相关指示信号给执行级模块,输出读控制给寄存器文件。
[0015]进一步的,相关判定电路的判定类型分为以下五种情况:当前指令的源寄存器rs1与执行指令的目的寄存器相关的判定;当前指令的源寄存器rs2与执行指令的目的寄存器相关的判定;当前指令的目的寄存器与执行指令的目的寄存器相关的判定;x1寄存器与执行指令目的寄存器相关的判定;当前指令为REM指令,执行指令为DIV指令,符合DIV/REM指令序列的判定。
[0016]进一步的,在进行两个寄存器相关的判定时,若两个寄存器相同,则判定为两个寄存器相关。
[0017]优选的,执行级模块包括操作数产生电路、执行单元和写控制电路;
[0018]操作数产生电路,用于接收译码级模块输出的相关指示信号、寄存器文件输出的读数据1、读数据2和写控制电路输出的写数据,处理后得到操作数1和操作数2并输出给执行单元;
[0019]执行单元,用于根据接收的指令解析指示信号、操作数1和操作数2执行指令,所得运算结果和指令完成指示信号输出给写控制电路,并输出指令完成指示信号给译码级模块,输出指令跳转指示信号给取指级模块;
[0020]写控制电路,用于根据接收的运算结果和指令完成指示信号输出写数据、写控制输出给寄存器文件,还输出写控制给译码级模块,还输出写数据给操作数产生电路。
[0021]进一步的,写控制电路采用对乱序交付的长周期指令目的寄存器写入的插空策略。
[0022]优选的,取指级模块、译码级模块和执行级模块之间均有对应的级间寄存器,分别为取指级寄存器、译码级寄存器和执行级寄存器。
[0023]优选的,取指级模块、译码级模块和执行级模块构成的三级流水线级间推进采用全局流水hold推进方式或者流水线级间valid和ready交互握手方式。
[0024]一种处理器,包括所述的基于RISC

V指令集的三级流水线架构。
[0025]一种数据处理方法,基于所述的基于RISC

V指令集的三级流水线架构,包括如下三级流水:
[0026]取指级流水:获取当前指令并接收指令跳转指示信号,根据当前指令和指令跳转指示信号产生需要访问的PC值,将当前指令和PC值输出给译码级流水;
[0027]译码级流水:对接收的当前指令进行命令解析,得到指令解析指示信号,以及当前
指令的源寄存器rs1、源寄存器rs2和目的寄存器,同时,根据当前指令的源寄存器rs1、源寄存器rs2和目的寄存器以及接收的写控制和指令完成指示信号判定当前指令的源寄存器rs1、源寄存器rs2或目的寄存器与执行级流水中执行指令的目的寄存器是否相关,若相关,则停顿流水线,若无关,将指令解析指示信号输出给执行级流水,并输出相关指示信号给执行级流水,输出读控制给寄存器文件;寄存器文件输出读数据1和读数据2给执行级流水;
[0028]执行级流水:根据相关指示信号、写数据、读数据1和读数据2产生操作数1和操作数2,并根据操作数1、操作数2和指令解析指示信号执行指令,输出指令完成指示信号给译码级流水,输出指令跳转指示信号给取指级流水,得到写数据和写控制并输出给寄存器文件,写控制还输出给译码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于RISC

V指令集的三级流水线架构,其特征在于,包括取指级模块、译码级模块、执行级模块和寄存器文件;取指级模块,用于获取当前指令并接收指令跳转指示信号,根据当前指令和指令跳转指示信号产生需要访问的PC值,将当前指令和PC值输出给译码级模块;译码级模块,用于对接收的当前指令进行命令解析,得到指令解析指示信号,以及当前指令的源寄存器rs1、源寄存器rs2和目的寄存器,同时,根据当前指令的源寄存器rs1、源寄存器rs2和目的寄存器以及接收的写控制和指令完成指示信号判定当前指令的源寄存器rs1、源寄存器rs2或目的寄存器与执行级模块中执行指令的目的寄存器是否相关,若相关,则停顿流水线,若无关,将指令解析指示信号输出给执行级模块,并输出相关指示信号给执行级模块,输出读控制给寄存器文件;寄存器文件输出读数据1和读数据2给执行级模块;执行级模块,用于根据相关指示信号、写数据、读数据1和读数据2产生操作数1和操作数2,并根据操作数1、操作数2和指令解析指示信号执行指令,输出指令完成指示信号给译码级模块,输出指令跳转指示信号给取指级模块,得到写数据和写控制并输出给寄存器文件,写控制还输出给译码级模块。2.根据权利要求1所述的基于RISC

V指令集的三级流水线架构,其特征在于,取指级模块包括分支预测单元、PC产生单元和指令buffer;PC产生单元根据指令分支预测结果、指令跳转指示信号以及指令buffer中指令填充状态,产生需要访问的PC值;指令buffer基于PC值获取当前指令并将当前指令写入指令buffer中;分支预测单元基于指令buffer中的当前指令,进行指令的分支预测,产生指令分支预测结果,输出给PC产生单元;指令buffer将当前指令输出给译码级模块,PC产生单元将PC值输出给译码级模块。3.根据权利要求1所述的基于RISC

V指令集的三级流水线架构,其特征在于,译码级模块包括命令解析单元、操作数译码单元和相关判定电路;命令解析单元,用于接收取指级模块输出的当前指令并对当前指令进行命令解析,得到指令解析指示信号;操作数译码单元,用于接收取指级模块输出的PC值并对指令进行译码,得到当前指令的源寄存器rs1、源寄存器rs2和目的寄存器并输出给相关判定电路;相关判定电路,用于根据当前指令的源寄存器rs1、源寄存器rs2和目的寄存器以及接收的写控制和指令完成指示信号判定当前指令的源寄存器rs1、源寄存器rs2或目的寄存器与执行级模块中执行指令的目的寄存器是否相关,若相关,则停顿流水线,若无关,将指令解析指示信号输出给执行级模块,并输出相关指示信号给执行级模块,输出读控制给寄存器文件。4.根据权利要求3所述的基于RISC

V指令集的三级流水线架构,其特征在于,相关判定电路的判定类型分为以下五种情况:当前指令的源寄存器rs1与执行指令的目的寄存器相关的判定;当前指令的源寄存器rs2与执行指令的目的寄存器相关的判定;当前指令的目的寄存器与执行指令的目的寄存器相关的判定;x1寄...

【专利技术属性】
技术研发人员:赵翠华张海金杨靓娄冕李红桥李磊罗敏涛黄巾
申请(专利权)人:西安微电子技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1