[发明专利]一种分支预测方法、装置及处理器核有效
申请号: | 202111636402.7 | 申请日: | 2021-12-30 |
公开(公告)号: | CN114003292B | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 郑添;蔡刚;黄志洪 | 申请(专利权)人: | 中科亿海微电子科技(苏州)有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京融智邦达知识产权代理事务所(普通合伙) 11885 | 代理人: | 董惠文 |
地址: | 215000 江苏省苏州市苏州工业园区金*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分支 预测 方法 装置 处理器 | ||
1.一种分支预测方法,其特征在于,包括以下步骤:
步骤1:在时钟上升沿到来时,对GHR取n种不同长度的位数,将当前指令地址PC值和n种不同长度位数的GHR进行哈希运算生成n个历史信息索引;
步骤2:在时钟下降沿到来时,使用当前指令地址PC值访问基本分支预测部件T0,使用生成的n个历史信息索引分别访问与n种不同长度位数的GHR相对应的历史信息记录表T1-Tn; 所述基本分支预测部件T0由多个两位饱和计数器组成,每个历史信息记录表中的每条记录包括用于与历史信息索引进行匹配的tag属性值、用于提供分支预测方向的pred属性值、用于表示分支预测项是否有效的u属性值以及用于表示分支跳转强度的weight属性值;
当某一历史信息记录表T1-Tn中有与历史信息索引匹配的记录时,且该条记录的u属性值为1时,输出该条记录的weight属性值作为某一历史信息记录表的访问结果;
步骤3:将各历史信息记录表输出的所有weight属性值进行相加;在下一个时钟的下降沿到来时,当相加后的输出结果大于0,则输出预测信息为taken;当相加后的输出结果小于0,则输出预测信息为not taken;当相加后的输出结果等于0 ,则输出预测信息为基本分支预测部件T0的输出结果。
2.根据权利要求1所述的一种分支预测方法,其特征在于,还包括步骤4:在输出预测信息后,更新各历史信息记录表T1-Tn中与历史信息索引匹配的那条记录的weight属性值,更新方法是,当与历史信息索引匹配的那条记录的pred属性值最高位为1时,则该条记录的weight属性值为GHR中1的位数减去GHR中0的位数,当与历史信息索引匹配的那条记录的pred最高位为0时,则该条记录的weight属性值为GHR中0的位数减去GHR中1 的位数。
3.根据权利要求2所述的一种分支预测方法,其特征在于,还包括步骤5:在处理器核根据所输出的预测信息执行完得到反馈信号后,更新各历史信息记录表T1-Tn中与历史信息索引匹配的那条记录的pred属性值,若反馈信号的实际跳转结果为taken,pred值加1,反之则减1,到上限或下限以后则不再变化。
4.根据权利要求3所述的一种分支预测方法,其特征在于,当历史信息记录表T1-Tn中某一条记录的tag属性值与历史信息索引匹配成功后,使该条记录的u属性值设为1,否则为0。
5.根据权利要求3所述的一种分支预测方法,其特征在于,每个历史信息记录表中的记录条目数与从GHR取的不同长度的位数相同,一条记录的tag属性值对应于GHR中的一位跳转结果所映射的历史标记地址,一条记录的pred属性值、u属性值以及weight属性值的初始值为0。
6.根据权利要求5所述的一种分支预测方法,其特征在于,步骤1中对GHR取n种不同长度的位数,各长度满足:
L(i)=int(αi-1*L(1)+0.5)
其中,L(1)是指从GHR取的第1个长度的位数,L(i)指从GHR取的第i个长度的位数,1in,n的取值范围确保GHR所取的最小位宽为1,int()为取整函数,α自定义,取值范围为0α1。
7.一种分支预测装置,包括分支方向生成组件和分支目标生成组件,其特征在于,所述分支方向生成组件使用权利要求1-6中任一项所述的分支预测方法生成。
8.一种处理器核,包括分支预测单元、取指单元、译码单元和执行单元,其特征在于,所述分支预测单元使用权利要求7所述的分支预测装置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科亿海微电子科技(苏州)有限公司,未经中科亿海微电子科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111636402.7/1.html,转载请声明来源钻瓜专利网。