一种分支预测的装置及处理器制造方法及图纸

技术编号:33517901 阅读:19 留言:0更新日期:2022-05-19 01:26
本申请提供一种分支预测的装置及处理器,所述装置用于处理器的指令执行,包括:全局分支历史寄存器;分支反馈单元;分支反馈值生成单元,与所述分支反馈单元及所述全局分支历史寄存器连接,用于生成分支预测反馈值;异或计算单元,与所述分支反馈值生成单元及程序计数器连接,用于将分支指令的地址与所述分支预测反馈值进行异或运算;模式历史表索引单元,与所述异或计算单元连接,用于从模式历史表得到预测分支跳转的决策计数器;预测跳转单元,与所述模式历史表索引单元连接,用于根据所述决策计数器的状态值预测分支是否跳转。通过分支执行情况的反馈提高分支预测准确率。执行情况的反馈提高分支预测准确率。执行情况的反馈提高分支预测准确率。

【技术实现步骤摘要】
一种分支预测的装置及处理器


[0001]本申请涉及处理器领域,具体涉及一种分支预测的装置及处理器。

技术介绍

[0002]现代高性能处理器均采用流水线技术实现,而采用流水线技术不可避免会产生控制冒险,控制冒险是指流水线在执行分支指令时,无法提前确定下一条指令地址,导致延迟产生的情况。
[0003]在一个经典五级流水线中,包含了取指,译码,执行,访存,写回五个阶段,处理器需要在取指令阶段通过指令地址提取指令,而分支指令只有在访存阶段,才能确定下一条指令的提取地址,这就导致流水线需要等待,此时处理器处于空闲阶段,浪费了许多时钟周期,降低了性能。

技术实现思路

[0004]本申请旨在提供一种分支预测的装置及处理器,采用额外的分支预测单元对分支执行情况进行反馈,可以保持较高的预测准确率,减少时钟周期的浪费,降低功耗,优化了处理器的性能。
[0005]根据本申请的一方面,提出一种分支预测的装置,用于处理器的指令执行,包括:
[0006]全局分支历史寄存器;
[0007]分支反馈单元;
[0008]分支反馈值生成单元,与所述分支反馈单元及所述全局分支历史寄存器连接,用于生成分支预测反馈值;
[0009]异或计算单元,与所述分支反馈值生成单元及程序计数器连接,用于将分支指令的地址与所述分支预测反馈值进行异或运算;
[0010]模式历史表索引单元,与所述异或计算单元连接,用于从模式历史表得到预测分支跳转的决策计数器;
[0011]预测跳转单元,与所述模式历史表索引单元连接,用于根据所述决策计数器的状态值预测分支是否跳转。
[0012]根据一些实施例,前述装置还包括,分支反馈单元包括分支反馈检测器、分支反馈历史寄存器、使能单元、多路选择器;
[0013]所述分支反馈检测器与分支指令寄存器连接,用于根据寄存器值进行运算并根据运算结果更新分支反馈历史使能信号和分支反馈历史寄存器;
[0014]所述分支反馈历史寄存器与所述分支反馈检测器连接,用于记录分支反馈检测器的运算结果;
[0015]所述使能单元与所述分支反馈检测器连接,用于接收分支反馈历史使能信号,使能多路选择器;
[0016]所述多路选择器与所述分支反馈历史寄存器及所述全局分支历史寄存器连接,用
于生成分支预测反馈值。
[0017]根据一些实施例,前述装置还包括,所述分支反馈值生成单元用于将分支反馈单元的输出与所述全局分支历史寄存器的高位拼接以得到所述分支预测反馈值。
[0018]根据一些实施例,前述装置还包括,所述分支反馈单元用于根据所述分支反馈使能信号选择全局分支历史寄存器的低位或者分支反馈历史寄存器作为分支反馈的结果。
[0019]根据一些实施例,前述装置还包括,所述分支反馈检测器包括:
[0020]比较器,用于将所述运算结果和预设值进行比较,并根据比较结果更新所述分支反馈使能信号。
[0021]根据一些实施例,前述装置还包括,所述分支反馈检测器还包括:
[0022]减法器,用于在取出的指令为循环分支指令时将分支指令寄存器值进行相减运算,并取绝对值,得到所述运算结果。
[0023]根据一些实施例,前述装置还包括,所述预设值大于等于所述循环分支指令的循环步长。
[0024]根据一些实施例,前述装置还包括分支结果记录单元和模式历史表更新单元:
[0025]所述分支结果记录单元用于根据所述分支指令跳转结果更新所述全局分支历史寄存器;
[0026]所述模式历史表更新单元用于根据所述分支指令跳转结果更新索引得到的决策计数器。
[0027]根据本申请的另一方面,提供一种处理器,所述处理器包括根据前述的装置中任一所述的装置。
[0028]根据本申请示例实施例,通过提供额外的分支执行情况的信息反馈,可提高分支预测准确性,减少时钟周期的浪费,同时降低功耗,优化了处理器的性能。
[0029]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
[0030]为了更清楚地说明本申请实施例,下面将对实施例描述中所需要使用的附图作简单地介绍。
[0031]图1示出根据本申请示例实施例的G

share的实现原理图。
[0032]图2示出根据本申请示例实施例的决策计数器工作原理图。
[0033]图3示出根据本申请示例实施例的执行分支预测的示意图。
[0034]图4示出根据本申请示例实施例的分支预测方法流程图。
[0035]图5示出根据本申请示例实施例的分支预测装置的框图。
[0036]图6示出根据本申请另一示例实施例的分支预测装置的框图。
具体实施方式
[0037]现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示
相同或类似的部分,因而将省略对它们的重复描述。
[0038]此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
[0039]附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0040]附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0041]应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
[0042]本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
[0043]在计算机体系结构中,分支预测器(Branch predictor)是一种数字电路,在分支指令执行结束之前猜测哪一路分支将会被运行,以提高处理器的指令流水线的性能。使用分支预测器的目的,在于改善指令管线化的流程。分支预测器对于现本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分支预测的装置,用于处理器的指令执行,其特征在于,包括:全局分支历史寄存器;分支反馈单元;分支反馈值生成单元,与所述分支反馈单元及所述全局分支历史寄存器连接,用于生成分支预测反馈值;异或计算单元,与所述分支反馈值生成单元及程序计数器连接,用于将分支指令的地址与所述分支预测反馈值进行异或运算;模式历史表索引单元,与所述异或计算单元连接,用于从模式历史表得到预测分支跳转的决策计数器;预测跳转单元,与所述模式历史表索引单元连接,用于根据所述决策计数器的状态值预测分支是否跳转。2.根据权利要求1所述的装置,其特征在于,分支反馈单元包括分支反馈检测器、分支反馈历史寄存器、使能单元、多路选择器;所述分支反馈检测器与分支指令寄存器连接,用于根据寄存器值进行运算并根据运算结果更新分支反馈历史使能信号和分支反馈历史寄存器;所述分支反馈历史寄存器与所述分支反馈检测器连接,用于记录分支反馈检测器的运算结果;所述使能单元与所述分支反馈检测器连接,用于接收分支反馈历史使能信号,使能多路选择器;所述多路选择器与所述分支反馈历史寄存器及所述全局分支历史寄存器连接,用于生成分支预测反馈值。3.根据权利要求2所述的装置,其特征在于,所述分支反馈值...

【专利技术属性】
技术研发人员:李桂润廖力灵孙轶群
申请(专利权)人:深圳优矽科技有限公司
类型:新型
国别省市:

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

1