通过mask寄存器提高GSHARE对特定程序分支预测准确率的方法技术

技术编号:40541607 阅读:27 留言:0更新日期:2024-03-05 18:57
本发明专利技术公开了一种通过mask寄存器提高GSHARE对特定程序分支预测准确率的方法,包括如下步骤:S1、调试应用程序时,检测需要在CPU中执行的循环递归类子程序;其中,CPU设计时增加了mask寄存器,循环递归类子程序包括循环子程序或递归子程序;S2、获取循环递归类子程序,判断循环递归类子程序中分支跳转是否和周围指令执行结果相关;S3、基于判断的结果,通过CPU中指令对mask寄存器的值修改,即修改BSHR_MASK的值;S4、使用GSHARE算法对循环递归类子程序进行分支预测。本发明专利技术修改mask寄存器的值,使分支跳转符合与周围指令执行结果的关系,能在需要捕获周围关系时保持捕获,在无需捕获周围关系时进行屏蔽,有效更新及预测分支方向,提升了GSHARE对循环递归类程序分支预测的准确性。

【技术实现步骤摘要】

本专利技术涉及处理器设计领域,具体涉及一种通过mask寄存器提高gshare对特定程序分支预测准确率的方法。


技术介绍

1、在处理器中,分支预测模块很大程度影响了处理器的性能,提高分支预测的准确率是提升处理器性能的关键。

2、现代处理器设计中有一种常用的分支预测算法gshare,使用该算法的预测器由一个k bits的bshr寄存器(每bit记录一条分支指令的分支方向)和一个有2max{k,j}项(每一项是一个2bit有限状态机)的pht组成,分支地址中的j位信息和bhsr寄存器的k位进行哈希运算(即按位异或)产生pht的index地址,然后该地址就可以从pht中读出2bit的分支方向预测信息,从而完成分支预测。

3、然而,在芯片应用中发现,跑特定程序时,会遇到与周围指令不相关的分支指令,gshare算法寻址的index一般是pc与bshr哈希运算的结果,在预测与周围指令执行结果不相关的分支指令时,会出现针对同一pc,寻址的index仍为pc哈希bshr的情况,而bshr是不断更新的,这就导致每次得出的index不同,但是此时分支预测本文档来自技高网...

【技术保护点】

1.一种通过mask寄存器提高GSHARE对特定程序分支预测准确率的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种通过mask寄存器提高GSHARE对特定程序分支预测准确率的方法,其特征在于,步骤S2中,所述判断的方法具体包括如下步骤:

3.根据权利要求2所述的一种通过mask寄存器提高GSHARE对特定程序分支预测准确率的方法,其特征在于,获得所述变量后,判断所述变量是否来自于特定条件语句,若是,则所述变量和周围程序执行结果相关,若否,则所述变量和周围程序执行结果无关。

4.根据权利要求1所述的一种通过mask寄存器提高GSHARE对...

【技术特征摘要】

1.一种通过mask寄存器提高gshare对特定程序分支预测准确率的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种通过mask寄存器提高gshare对特定程序分支预测准确率的方法,其特征在于,步骤s2中,所述判断的方法具体包括如下步骤:

3.根据权利要求2所述的一种通过mask寄存器提高gs...

【专利技术属性】
技术研发人员:娄炯何国强
申请(专利权)人:江苏华创微系统有限公司
类型:发明
国别省市:

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

1