一种基于制造技术

技术编号:39672943 阅读:7 留言:0更新日期:2023-12-11 18:38
本发明专利技术涉及高性能处理器内核架构技术领域,具体为一种基于

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

V的防止流水线冲刷系统


[0001]本专利技术涉及高性能处理器内核架构
,具体为一种基于
RISC

V
的防止流水线冲刷系统


技术介绍

[0002]早期的经典流水线是五级流水线,分别为取指

译码

执行

访存和写回

现代的处理器往往具有极深的流水线级数,譬如高达十几级,或者二十几级的深度

[0003]现有技术中,流水线的级数越多,意味着流水线被切得越细,每一级流水线内容纳的硬件逻辑便越少

熟悉数字同步电路设计的读者应该比较熟悉,在两级寄存器之间的硬件逻辑越少,则意味能够运行到更高的主频

流水线的主频越高也就意味着流水线的吞吐率越高,从而性能越高,这就是流水线加深的正面意义

[0004]但是,较深的处理器流水线有一个问题,那就是在流水线的取指令阶段无法得知条件跳转的结果是跳还是不跳,因此只能进行预测,而只有到了流水线的执行阶段才能知道到底是跳转还是不跳转

因此如果执行的结果与之前预测的结果不相符,那就说明会预测失败,就需要将所有预取的错误指令流全部丢弃掉,重新取指令,因此就会面临流水线的冲刷,如果流水线的深度越深,意味着已经预取了更多的错误指令,就更加增加了性能的损失


技术实现思路

[0005]本专利技术的目的在于提供一种基于
RISC

V
的防止流水线冲刷系统,以解决上述
技术介绍
中提出的问题

[0006]为实现上述目的,本专利技术提供如下技术方案:一种基于
RISC

V
的防止流水线冲刷系统,所述系统由取指令单元

译码单元

执行单元一

访存单元

写回单元,以及并行的译码

执行单元二,以及双路译码器

整数通用寄存器和总线接口单元组成;
[0007]取指单元设有分支跳转判断逻辑,以及
PC
值累加器,取指单元会对取出的地址进行简单译码判断是哪种类型的指令,如果判断的是分支跳转指令,则取指单元里会产生两路
PC
值用于下一次的取指,译码单元得到指令需要的操作数寄存器索引,从通用寄存器组中将操作数读出,执行单元对得到的操作数进行执行,并判断是否需要跳转,双路译码器会根据分支跳转指令执行结果对两路执行单元的执行结果进行选择

[0008]优选的,取指令单元包括:
Simple

Decode
模块

全局分支预测器
、PC
生成模块和
ICB
总线控制模块

指令传输总线和指令高速缓存存储器

[0009]优选的,
Sample

Decode
模块用于对取回的指令进行简单的译码;
[0010]全局分支预测器不会进行跳转方向预测,会采用
BTB
技术进行跳转的地址预测;
[0011]PC
生成模块根据分支预测的地址预测结果生成两个
PC
值;
[0012]ICB
总线控制模块,用于根据指令的
PC
值访问指令传输总线或总线接口单元;
[0013]指令传输总线,用于辅助指令传输;
[0014]指令高速缓存存储器,用于缓存多条指令

[0015]优选的,执行单元包括:译码与派遣模块

滞外指令追踪先入先出缓存模块以及算术逻辑单元

[0016]优选的,译码与派遣模块,用于对取指令单元发送来的指令进行译码并在读取操作数后将译码后的指令派遣到多个运算单元进行运算;
[0017]滞外指令追踪先入先出缓存模块,用于检测指令的相关性;
[0018]算术逻辑单元,用于根据指令进行运算

[0019]优选的,所述双路译码器包括:执行结果译码模块,多路复用器,以及仲裁模块

[0020]优选的,所述双路译码器模块包括:多路复用器,以及仲裁模块

接受执行单元的结果之后,对结果进行判断,判断是否需要跳转,将判断结果送给多路复用器,选择正确结果,再通过仲裁模块写回通用寄存器组里面

[0021]与现有技术相比,本专利技术的有益效果是:
[0022]本专利技术提出的基于
RISC

V
的防止流水线冲刷系统,取消了分支预测的方向预测,直接在取指阶段判断是否是分支跳转指令,并在下一次指令时将需要跳转的
PC
地址和不需要跳转的
PC
地址的指令同时取出,输送给并行的译码和执行单元,最终根据分支跳转指令执行的结果判断应该选取跳转的执行结果还是非跳转的执行结果,避免了传统的分支预测错误,预取了很多错误指令造成的处理器性能损失问题,而且仅对分支跳转指令进行判断,不是分支跳转指令会按传统的流水线方式进行

附图说明
[0023]图1为本专利技术防止流水冲刷的处理器架构图;
[0024]图2为本专利技术取指单元框架图;
[0025]图3为本专利技术流水线执行的流程图

具体实施方式
[0026]为了使本专利技术的目的

技术方案进行清楚

完整地描述,及优点更加清楚明白,以下结合附图对本专利技术实施例进行进一步详细说明

应当理解,此处所描述的具体实施例是本专利技术一部分实施例,而不是全部的实施例,仅仅用以解释本专利技术实施例,并不用于限定本专利技术实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围

[0027]实施例一
[0028]请参阅图1,本专利技术是一种防止多级流水冲刷的处理器架构,所述架构包括:取值单元
(IFU)、
译码单元
(Dec)、
执行单元
(EXU)、
数据读写单元
(LSU)、
双路译码器模块
(MUX)、
总线接口单元
(BIU)、
整数通用寄存器
(Regfile)
,以及并行译码模块
(Dec_parallel)
和并行执行模块
(Exu_parallel)。
本专利技术是基于
RISC

V
指令集的防止多级流水线冲刷的架构,其工作原理是通过在取指单元里面判断是否是分支跳转条件,如果是的话就在下一次取指时同时取出两个地址的指令,分别本文档来自技高网
...

【技术保护点】

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

V
的防止流水线冲刷系统,其特征在于:所述系统由取指令单元

译码单元

执行单元一

访存单元

写回单元,以及并行的译码

执行单元二,以及双路译码器

整数通用寄存器和总线接口单元组成;取指单元设有分支跳转判断逻辑,以及
PC
值累加器,取指单元会对取出的地址进行简单译码判断是哪种类型的指令,取指单元产生两路
PC
值用于下一次的取指,译码单元得到指令需要的操作数寄存器索引,从通用寄存器组中将操作数读出,执行单元对前一次取指取出的指令执行,并判断是否需要跳转,双路译码器会根据分支跳转指令的执行结果,从跳转的指令执行结果和不跳转的指令执行结果中选择一个
。2.
根据权利要求1所述的一种基于
RISC

V
的防止流水线冲刷系统,其特征在于:取指令单元包括:
Simple

Decode
模块

全局分支预测器
、PC
生成模块和
ICB
总线控制模块

指令传输总线和指令高速缓存存储器
。3.
根据权利要求2所述的一种基于
RISC

V
的防止流水线冲刷系统,其特征在于:
Sample

Decode
模块用于对取回的指令进行简单的译码;全局分支预测器不会进行跳转方向...

【专利技术属性】
技术研发人员:许桂龙赵鑫鑫姜凯李锐
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

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

1