System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 混合算法的两级分支预测系统、方法及相关设备技术方案_技高网

混合算法的两级分支预测系统、方法及相关设备技术方案

技术编号:40599539 阅读:5 留言:0更新日期:2024-03-12 22:03
本发明专利技术适用于处理器技术领域,尤其涉及一种混合算法的两级分支预测系统、方法及相关设备,包括:第一级流水线,用于获取取指单元传送的程序计数指针值,并送入NLP单元、BTB单元、TNMT单元进行表项查询,得到对应的预测结果;第二级流水线,用于将NLP预测结果作为第一分支预测结果返回取指单元;同时,将BTB、TNMT预测结果按照第一分支预测逻辑进行融合预测,得到第一融合结果;第三级流水线,用于通过RAS单元根据第一融合结果按照第二分支预测逻辑进行融合预测得到第二融合结果,并将其与NLP预测结果按照第三分支预测逻辑进行对比得到第二分支预测结果,并返回取指单元。本发明专利技术提高了处理器系统的分支预测正确率。

【技术实现步骤摘要】

本专利技术适用于处理器,尤其涉及一种混合算法的两级分支预测系统、方法及相关设备


技术介绍

1、随着计算机体系结构的不断演进,处理器的性能和复杂性日益增加。多核处理器、超线程技术和更高的时钟频率成为提高处理器计算能力的主要手段。然而,处理器性能的提升受到了高能耗、散热难题以及对内存访问效率等瓶颈问题的制约。为了克服这些挑战,研究者们努力寻求新的创新性解决方案,其中改进分支预测技术是提高指令级并行性和减少流水线停顿的重要一环。

2、分支预测技术是处理器设计中至关重要的一部分,该技术通过预测程序执行路径中的分支指令,以便更好地执行指令流。现有的静态分支预测和动态分支预测方法已经被广泛采用。

3、已有的分支预测策略有各自针对的场景和优缺点。btb(branch target buffer,分支目标缓冲器)是计算机体系结构中的一种关键的硬件结构,其主要作用是提高分支指令的预测准确性和执行效率,btb 用于存储分支指令的目标地址,以便在程序执行时快速检索并预测分支的目标。nlp(next line prediction,下一行预测)在处理连续、线性指令流时表现较好,但在面对分支指令频繁的程序、复杂的控制流程时准确性下降,包括对程序动态性的适应性差,难以处理复杂的分支行为,尤其是在存在循环或条件分支的情况下;tnmt (tournament prediction,竞争预测器)通过整合多个分支预测器,提高了预测的准确性,但也增加了硬件成本,竞争和选择逻辑引入了额外的延迟,并且需要更多的存储来维护多个预测器的状态,在面对复杂的程序行为时,tnmt 仍可能表现不佳,因为它仍然依赖于单一的决策器;ras (return address stack,返回地址栈)主要用于解决函数调用和返回的分支预测问题,但其性能受限于调用堆栈的深度,对于深度递归或复杂的函数嵌套情况,ras 的容量可能不足以有效预测返回地址,导致分支预测不准确。

4、因此,随着程序复杂性的增加和执行环境的变化,已有的分支预测策略面临着挑战。分支指令的复杂性、频繁的程序调用和返回等因素导致分支预测技术的准确性不断受到限制。


技术实现思路

1、本专利技术提供一种混合算法的两级分支预测系统、方法及相关设备,旨在解决现有技术的分支预测方法因程序复杂度变高导致的准确性低的问题。

2、为解决上述技术问题,第一方面,本专利技术提供一种混合算法的两级分支预测系统,包括:

3、第一级流水线,包括nlp单元、btb单元、tnmt单元,所述第一级流水线用于获取处理器的取指单元传送的当前指令的程序计数指针值,并分别送入所述nlp单元、所述btb单元、所述tnmt单元进行表项查询,分别得到nlp预测结果、btb预测结果、tnmt预测结果;

4、第二级流水线,用于将所述nlp预测结果进行保存,并将其作为第一分支预测结果返回所述取指单元;同时,将所述btb预测结果、所述tnmt预测结果保存,并将其按照第一分支预测逻辑进行融合预测,得到第一融合结果;以及,

5、第三级流水线,包括ras单元,所述第三级流水线用于通过所述ras单元根据所述第一融合结果按照第二分支预测逻辑进行融合预测,得到第二融合结果;之后,将所述第二融合结果与所述nlp预测结果按照第三分支预测逻辑进行对比,得到第二分支预测结果,将所述第二分支预测结果返回所述取指单元。

6、更进一步地,所述第一分支预测逻辑具体为:

7、确定所述btb预测结果对当前指令的跳转判断类型为无条件跳转指令或条件跳转指令:若是无条件跳转指令,将所述btb预测结果作为所述第一融合结果;若是条件跳转指令,将所述btb预测结果和所述tnmt预测结果共同作为所述第一融合结果。

8、更进一步地,所述第二分支预测逻辑具体为:

9、所述ras单元根据所述第一融合结果对当前指令的跳转判断类型,确定当前指令为函数返回指令或函数调用指令:

10、若是函数返回指令,则从所述ras单元所维护的先进先出队列读出一个分支指令函数返回地址,将所述分支指令函数返回地址与所述第一融合结果共同作为所述第二融合结果。

11、更进一步地,所述第三分支预测逻辑,具体为:

12、判断所述nlp预测结果是否与所述第二融合结果相同,若否,则将所述第二融合结果作为所述第二分支预测结果。

13、更进一步地,所述第三级流水线还用于:

14、在所述ras单元根据所述第一融合结果对当前指令的跳转判断类型,确定当前指令为函数返回指令或函数调用指令时:

15、若是函数调用指令,则将当前指令的返回地址写入所述ras单元所维护的先进先出队列。

16、更进一步地,所述第三级流水线还用于:

17、在将所述第二融合结果与所述nlp预测结果按照第三分支预测逻辑进行对比后,判断是否得到所述第二分支预测结果:

18、若是,则将所述第二分支预测结果返回至所述取指单元,以冲刷所述取指单元对所述第一分支预测结果的处理流程;

19、若否,则不将任何数据返回至所述取指单元。

20、第二方面,本专利技术还提供一种基于如上所述的混合算法的两级分支预测系统实现的混合算法的两级分支预测方法,包括以下步骤:

21、在第一级流水线中获取处理器的取指单元传送的当前指令的程序计数指针值,并分别送入所述nlp单元、所述btb单元、所述tnmt单元进行表项查询,分别得到nlp预测结果、btb预测结果、tnmt预测结果;

22、在第二级流水线中将所述nlp预测结果进行保存,并将其作为第一分支预测结果返回所述取指单元;同时,将所述btb预测结果、所述tnmt预测结果保存,并将其按照第一分支预测逻辑进行融合预测,得到第一融合结果;

23、在第三级流水线中通过所述ras单元根据所述第一融合结果按照第二分支预测逻辑进行融合预测,得到第二融合结果;之后,将所述第二融合结果与所述nlp预测结果按照第三分支预测逻辑进行对比,得到第二分支预测结果,将所述第二分支预测结果返回所述取指单元。

24、第三方面,本专利技术还提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的混合算法的两级分支预测程序,所述处理器执行所述混合算法的两级分支预测程序时实现如上任意一项所述的混合算法的两级分支预测方法中的步骤。

25、第四方面,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有混合算法的两级分支预测程序,所述混合算法的两级分支预测程序被处理器执行时实现如上任意一项所述的混合算法的两级分支预测方法中的步骤。

26、本专利技术所达到的有益效果,在于提出了一种能够结合多种分支预测策略的混合算法的两级分支预测系统,该系统通过结合多种分支预测算法结构,并将其按照各自的预测方式及结果的特点融合在一起,并作分级处理,从而有效地保留了各个分支预测算法的优点,提本文档来自技高网...

【技术保护点】

1.一种混合算法的两级分支预测系统,其特征在于,包括:

2.如权利要求1所述的混合算法的两级分支预测系统,其特征在于,所述第一分支预测逻辑具体为:

3.如权利要求2所述的混合算法的两级分支预测系统,其特征在于,所述第二分支预测逻辑具体为:

4.如权利要求3所述的混合算法的两级分支预测系统,其特征在于,所述第三分支预测逻辑具体为:

5.如权利要求3所述的混合算法的两级分支预测系统,其特征在于,所述第三级流水线还用于:

6.如权利要求4所述的混合算法的两级分支预测系统,其特征在于,所述第三级流水线还用于:

7.一种基于权利要求1-6任一项所述的混合算法的两级分支预测系统实现的混合算法的两级分支预测方法,其特征在于,包括以下步骤:

8.一种计算机设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的混合算法的两级分支预测程序,所述处理器执行所述混合算法的两级分支预测程序时实现如权利要求7所述的混合算法的两级分支预测方法中的步骤。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有混合算法的两级分支预测程序,所述混合算法的两级分支预测程序被处理器执行时实现如权利要求7所述的混合算法的两级分支预测方法中的步骤。

...

【技术特征摘要】

1.一种混合算法的两级分支预测系统,其特征在于,包括:

2.如权利要求1所述的混合算法的两级分支预测系统,其特征在于,所述第一分支预测逻辑具体为:

3.如权利要求2所述的混合算法的两级分支预测系统,其特征在于,所述第二分支预测逻辑具体为:

4.如权利要求3所述的混合算法的两级分支预测系统,其特征在于,所述第三分支预测逻辑具体为:

5.如权利要求3所述的混合算法的两级分支预测系统,其特征在于,所述第三级流水线还用于:

6.如权利要求4所述的混合算法的两级分支预测系统,其特征在于,所述第三级流水线还用于:

...

【专利技术属性】
技术研发人员:刘宇翔周庆华
申请(专利权)人:睿思芯科深圳技术有限公司
类型:发明
国别省市:

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

1