【技术实现步骤摘要】
一种程序自适应的TAGE预测器及预测方法
[0001]本专利技术属于指令预测领域,具体涉及一种程序自适应的TAGE预测器及预测方法。
技术介绍
[0002]本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]目前,多数处理器的架构设计通常采用指令流水线形式来流水执行指令以增加指令吞吐量,但是,在遇到分支指令时需要快速判断指令是否需要跳转,以及跳转到哪条指令,这些判断流程可能会打断流水线的流水,会对处理器造成性能损失。因此,分支预测器成为微处理器中的必要组件,其通过预测分支指令的分支行为来解决控制相关的问题,来尽可能保证指令流的连续性,因此分支预测器的预测准确率成为了提高微处理器性能的关键。
[0004]TAGE(Tagged Geometric History Branch Predictor)分支预测器是当前较为常用的分支预测算法之一,但其仍存在预测准确度不高的问题,提高TAGE分支预测器的预测准确度是目前急需解决的问题。 >
技术实现思路
...
【技术保护点】
【技术特征摘要】
1.一种程序自适应的TAGE预测器,其特征在于,包括:自适应装置,所述自适应装置被配置为执行:识别指令流的程序类型;根据所述程序类型动态调整所述TAGE预测器的每个标签历史表采用的全局历史寄存器长度;以及,基于所述全局历史寄存器长度的历史信息对当前指令进行预测。2.根据权利要求1所述的方法,其特征在于,所述自适应装置被配置为作为所述TAGE预测器的索引生成模块。3.根据权利要求1所述的方法,其特征在于,还包括:静态分支计数器,所述静态分支计数器被配置为执行:当检测到所述指令流的分支指令采用所述TAGE预测器的基础表进行预测时,所述静态分支计数器递增;和/或,当检测到所述指令流的分支指令采用所述TAGE预测器的标签历史表进行预测时,所述静态分支计数器递减。4.根据权利要求3所述的方法,其特征在于,识别指令流的程序类型,还包括:若所述静态分支计数器的值超过第一阈值,识别所述指令流为服务器类型程序;和/或,若所述静态分支计数器的值小于第二阈值,识别所述指令流为浮点类型程序。5.根据权利要求1所述的方法,其特征在于,还包括:浮点寄存器访问计数器,所述浮点寄存器访问计数器被配置为执行:每个周期内,若检测到所述指令流的分支指令访问浮点寄存器,则所述浮点寄存器访问计数器递增;每个周期内,若没有检测到所述指令流的分支指令访问浮点寄存器,则所述浮点寄存器访问计数器递减。6.根据权利要求5所述的方法,其特征在于,识别指令流的程序类型,还包括:根据所述寄存器访问计数器的值识别所述指令流的程序类型。7.根据权利要求5所述的方法,其特征在于,识别指令流的程序类型,还包括:当所述静态分支计数器的值大于第一阈值,且所述浮点寄存器访问计数器的值小于第三阈值时,识别所述指令流为服务器类型程序;和/或,当所述静态分支计数器的值小于第二阈值,且所述浮点寄存器访问计数器的值大于第四阈值时,识别所述指令流为浮点类型程序;和/或,否则,识别所述指令流为整型或媒体类程序。8.根据权利要求1所述的方法,其特征在于,根据所述程序类型动态调整所述TAGE预测器的每个标签历史表采用的全局历史寄存器长度,还包括:当所述程序类型识别为服务器类型程序时,将每个标签历史表所使用的全局历史寄存器长度减小;和/或,当所述程序类型识别为浮点类型程序时,将每个标签历史表所使用的全局历史寄存器长度增加;和/或,当所述程序类型识别为整型程序或所述媒体类程序时,无需改变每个标签历史表使用
的全局历史寄存器长度。9.一种程序自适应的TAGE预测方法,其特征在于,包括:识别指令流的程序类型;根据所述程序类...
【专利技术属性】
技术研发人员:樊广超,张楠赓,
申请(专利权)人:杭州嘉楠耘智信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。