[发明专利]一种程序自适应的TAGE预测器及预测方法在审
| 申请号: | 202211533169.4 | 申请日: | 2022-12-01 |
| 公开(公告)号: | CN115934169A | 公开(公告)日: | 2023-04-07 |
| 发明(设计)人: | 樊广超;张楠赓 | 申请(专利权)人: | 杭州嘉楠耘智信息科技有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 北京市中伦律师事务所 11410 | 代理人: | 操寒 |
| 地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 程序 自适应 tage 预测 方法 | ||
本发明提供了一种程序自适应的TAGE预测器及预测方法,该预测器包括:自适应装置,被配置为执行:识别指令流的程序类型;根据程序类型动态调整TAGE预测器的每个标签历史表(THT)采用的全局历史寄存器(GHR)长度;以及,TAGE预测器基于全局历史寄存器(GHR)长度的历史信息对当前指令进行预测。利用上述方法,能够提升TAGE预测器的预测准确度。
技术领域
本发明属于指令预测领域,具体涉及一种程序自适应的TAGE预测器及预测方法。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前,多数处理器的架构设计通常采用指令流水线形式来流水执行指令以增加指令吞吐量,但是,在遇到分支指令时需要快速判断指令是否需要跳转,以及跳转到哪条指令,这些判断流程可能会打断流水线的流水,会对处理器造成性能损失。因此,分支预测器成为微处理器中的必要组件,其通过预测分支指令的分支行为来解决控制相关的问题,来尽可能保证指令流的连续性,因此分支预测器的预测准确率成为了提高微处理器性能的关键。
TAGE(Tagged Geometric History Branch Predictor)分支预测器是当前较为常用的分支预测算法之一,但其仍存在预测准确度不高的问题,提高TAGE分支预测器的预测准确度是目前急需解决的问题。
发明内容
针对上述现有技术中存在的问题,提出了一种程序自适应的TAGE预测器及预测方法,利用这种预测器及预测方法,能够解决上述问题,提升分支预测器的预测准确度。
本发明提供了以下方案。
第一方面,提供一种程序自适应的TAGE预测器,包括:自适应装置,自适应装置被配置为执行:识别指令流的程序类型;根据程序类型动态调整TAGE预测器的每个标签历史表(THT)采用的全局历史寄存器(GHR)长度;TAGE预测器基于全局历史寄存器(GHR)长度的历史信息对当前指令进行预测。
在一种可能的实施方式中,自适应装置被配置为作为TAGE预测器的索引生成模块。
在一种可能的实施方式中,还包括:静态分支计数器,静态分支计数器被配置为执行:当检测到指令流的分支指令采用TAGE预测器的基础表进行预测时,静态分支计数器递增;和/或,当检测到指令流的分支指令采用TAGE预测器的标签历史表(THT)进行预测时,静态分支计数器递减。
在一种可能的实施方式中,识别指令流的程序类型,还包括:若静态分支计数器的值超过第一阈值,识别指令流为服务器类型程序;和/或,若静态分支计数器的值小于第二阈值,识别指令流为浮点类型程序。
在一种可能的实施方式中,还包括:浮点寄存器访问计数器,浮点寄存器访问计数器被配置为执行:每个周期内,若检测到指令流的分支指令访问浮点寄存器,则浮点寄存器访问计数器递增;每个周期内,若没有检测到指令流的分支指令访问浮点寄存器,则浮点寄存器访问计数器递减。
在一种可能的实施方式中,识别指令流的程序类型,还包括:根据寄存器访问计数器的值识别指令流的程序类型。
在一种可能的实施方式中,识别指令流的程序类型,还包括:当静态分支计数器的值大于第一阈值,且浮点寄存器访问计数器的值小于第三阈值时,识别指令流为服务器类型程序;和/或,当静态分支计数器的值小于第二阈值,且浮点寄存器访问计数器的值大于第四阈值时,识别指令流为浮点类型程序;和/或,否则,识别指令流为整型或媒体类程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州嘉楠耘智信息科技有限公司,未经杭州嘉楠耘智信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211533169.4/2.html,转载请声明来源钻瓜专利网。





