[发明专利]一种实现间接转移关联软件预测的方法及装置在审
申请号: | 201611208034.5 | 申请日: | 2016-12-23 |
公开(公告)号: | CN106843812A | 公开(公告)日: | 2017-06-13 |
发明(设计)人: | 程旭;黄明凯;刘先华 | 申请(专利权)人: | 北京北大众志微系统科技有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 韩辉峰,李丹 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 间接 转移 关联 软件 预测 方法 装置 | ||
1.一种实现间接转移关联软件预测的方法,其特征在于,包括:
对每条间接转移指令进行软件预测,当软件预测失败次数大于热点指令阈值时,确定该间接转移指令为难预测的热点间接转移指令;
对所述难预测的热点间接转移指令的控制流图进行宽度遍历,获取到达该热点间接转移指令的路径;
当所述获取到达热点间接转移指令的路径满足预先设置的路径条数时,为到达所述热点间接转移指令的每一路径复制相应的代码副本;
为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链。
2.根据权利要求1所述的方法,其特征在于,所述为每一代码副本在预测槽中填入相应的预测目标具体包括:为每一代码副本的热点间接转移指令,统计其转移目标,当转移目标出现的次数大于热点目标阈值时,在每一代码副本的预测槽填入相应的预测目标。
3.根据权利要求1或2所述的方法,其特征在于,当软件预测链形成后,该方法还包括:在软件预测失败时,进入哈希Hash查表例程。
4.一种实现间接转移关联软件预测的装置,其特征在于,包括:预测判断单元、路径获取单元、代码复制单元及预测链单元;其中,
预测判断单元,用于对每条间接转移指令进行软件预测,当预测失败次数大于热点指令阈值时,确定所述间接转移指令为难预测的热点间接转移指令;
路径获取单元,用于当所述间接转移指令为难预测的热点间接转移指令时,对该热点间接转移指令的控制流图进行宽度遍历,获取到达该热点间接转移指令的路径;
代码复制单元,用于当获取到达所述热点间接转移指令的路径满足预先设置的路径条数时,为到达热点间接转移指令的每一路径复制相应的代码副本;
预测链单元,用于为每一代码副本在预测槽中填入相应的预测目标,以形成相应的软件预测链。
5.根据权利要求4所述的装置,其特征在于,所述预测链单元具体用于,为每一代码副本的热点间接转移指令,统计其转移目标,当转移目标出现的次数大于热点目标阈值时,在每一代码副本的预测槽填入相应的预测目标,以形成相应的软件预测链。
6.根据权利要求4或5所述的装置,其特征在于,该装置还包括查表单元,用于当软件预测链形成后,在软件预测失败时,进入哈希查表例程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京北大众志微系统科技有限责任公司,未经北京北大众志微系统科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611208034.5/1.html,转载请声明来源钻瓜专利网。