[发明专利]一种实现值关联间接跳转预测的方法有效
申请号: | 201110099440.3 | 申请日: | 2011-04-20 |
公开(公告)号: | CN102156634A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 程旭;谭明星;刘先华;张吉豫;佟冬 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;王漪 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 关联 间接 跳转 预测 方法 | ||
1.一种实现值关联间接跳转预测的方法,涉及编译器和处理器,该方法包括:
编译器对处理器执行可执行程序的过程进行剖视,并获取剖视信息;
编译器根据所述剖视信息通过再次编译过程识别源程序中间接跳转指令对应的子程序结构及其关联数据值,并在所述源程序中插入用以标识所述关联数据值的引导指令,再次生成可执行程序。
2.按照权利要求1所述的方法,其特征在于,所述编译器通过对所述过程进行剖视获取的剖视信息,包括间接跳转指令的执行次数、动态跳转目标数量以及目标地址预测失效次数中的一种或多种。
3.按照权利要求2所述的方法,其特征在于,所述编译器根据所述剖视信息通过再次编译过程识别源程序中间接跳转指令对应的子程序结构及其关联数据值,具体包括:
选取执行次数多于次数阈值和预测失效率高于失效率阈值的所述间接跳转指令为难预测指令;
识别所述难预测指令对应的所述子程序结构,包括虚函数调用、Switch-case语句以及函数指针调用中的一种或多种;其中:
对于所述虚函数调用,将虚函数表地址识别为相应的间接跳转指令的所述关联数据值;
对于所述Switch-case语句,将标准化case变量值识别为相应的间接跳转指令的所述关联数据值;
对于所述函数指针调用,将函数指针值识别为相应的间接跳转指令的所述关联数据值。
4.按照权利要求3所述的方法,其特征在于,所述编译器在所述源程序中插入用以标识所述关联数据值的引导指令,再次生成可执行程序,具体包括:
所述编译器通过对所述源程序过程间的控制流进行分析,在所述控制流的路径上显式地插入所述引导指令,然后再次生成可执行程序;所述引导指令中携带的信息包括:用于指示所述引导指令与所述难预测指令之间的距离值,用于标识对应于所述难预测指令的所述关联数据值相应的寄存器编号。
5.按照权利要求4所述的方法,其特征在于,在再次生成可执行程序前,还包括:
所述编译器根据所述源程序过程间的数据依赖关系对所述引导指令进行调度,即包括:
根据所述源程序中指令之间的数据依赖关系建立数据依赖图;
在所述数据依赖图中标记所述引导指令以及所述引导指令所依赖的所有其它指令;
修改被标记的指令的调度优先级为最高。
6.按照权利要求4或5所述的方法,其特征在于,还包括:所述处理器在执行所述编译器再次生成的可执行程序过程中,根据所述引导指令动态收集所述关联数据值,并对所述难预测指令进行预测。
7.按照权利要求6所述的方法,其特征在于,还涉及一寄存器堆、一至少包括关联值域的关联数据值缓冲区以及一目标地址缓冲区;所述处理器在执行所述编译器再次生成的可执行程序过程中,根据所述引导指令动态收集所述关联数据值,并对所述难预测指令进行预测,具体包括:
在所述引导指令的发射阶段,根据该引导指令所携带的所述寄存器编号,从所述寄存器堆中读取相应的寄存器中的值,并将读取的值作为所述关联数据值写入所述关联数据值缓冲区中的所述关联值域;
在所述难预测指令的预测阶段,从所述关联值域中读取关联数据值,根据所述难预测指令的程序计数器PC值和读取的所述关联数据值从所述目标地址缓冲区中预测该难预测指令的目标地址。
8.按照权利要求7所述的方法,其特征在于,涉及的所述关联数据值缓冲区还包括标签域;所述处理器将所述关联数据值写入所述关联数据值缓冲区中的所述关联值域,具体包括:
将所述引导指令的PC值与该引导指令携带的所述距离值之和作为标签,若查询到该标签与所述标签域中的值相匹配的项,则将读取的所述关联数据值写入该项对应的关联值域中;否则,在所述关联数据值缓冲区中新分配一项,并将新分配的项相应的标签域进行初始化,将读取的所述关联数据值写入该新分配的项相应的关联值域。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110099440.3/1.html,转载请声明来源钻瓜专利网。