[发明专利]预测在堆栈中存储的变量的值的方法和设备有效
申请号: | 201510023591.9 | 申请日: | 2015-01-16 |
公开(公告)号: | CN104794067B | 公开(公告)日: | 2019-07-12 |
发明(设计)人: | H·杰克逊 | 申请(专利权)人: | 美普思技术有限责任公司 |
主分类号: | G06F12/123 | 分类号: | G06F12/123 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 周靖;杨明钊 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 物理寄存器 堆栈 条目 数据结构 偏移 存储 存储堆栈 堆栈指针 加载指令 指令 指针 方法和设备 虚拟寄存器 存储变量 预测 映射 搜索 | ||
1.一种对处理器中的堆栈中存储的变量的值进行预测的方法,所述堆栈具有堆栈指针,并且所述方法包括:
响应于检测到参照所述堆栈指针而将变量存储到所述堆栈的第一指令(202),在数据结构中存储数据条目,所述数据条目包括用于所述堆栈指针的唯一ID、表示所述变量被存储到所述堆栈之前的所述变量的值的参数、以及所述变量所存储处与所述堆栈指针的偏移(204);
继检测到所述第一指令之后并且响应于检测到参照所述堆栈指针而从所述堆栈加载变量的第二指令(206),在所述数据结构中搜索与所述第二指令对应的条目(208);并且
响应于找到所述数据结构中的对应条目(210),使用在所述对应条目中存储的信息来更新在所检测到的第二指令中引用的虚拟寄存器的有效值(212)。
2.根据权利要求1所述的方法,其中,对应条目包括与所检测到的第二指令中的偏移和堆栈指针信息对应的偏移和用于所述堆栈指针的唯一ID。
3.根据权利要求1所述的方法,进一步包括:
响应于没有找到所述数据结构中的对应条目(210),执行所检测到的第二指令(214)。
4.根据权利要求1所述的方法,其中,用于所述堆栈指针的唯一ID是每当所述堆栈增大或缩小时所更新的标识符。
5.根据权利要求4所述的方法,其中,所述表示所述变量被存储到所述堆栈之前的所述变量的值的参数包括所述变量被存储到所述堆栈之前的所述变量的值。
6.根据权利要求1所述的方法,其中,用于所述堆栈指针的唯一ID是存储所述堆栈指针的当前值的物理寄存器的寄存器ID。
7.根据权利要求6所述的方法,其中,所述表示所述变量被存储到所述堆栈之前的所述变量的值的参数包括存储有在所述变量被存储到所述堆栈之前的所述变量的值的物理寄存器的寄存器ID。
8.根据权利要求6所述的方法,其中,对应条目包括与所检测到的第二指令中的偏移对应的偏移,并且进一步包括存储有所述堆栈指针的值的、与存储有所检测到的第二指令中的所述堆栈指针的值的物理寄存器相同的物理寄存器的寄存器ID。
9.根据权利要求6所述的方法,其中,使用在所述对应条目中存储的信息来更新在所检测到的第二指令中引用的虚拟寄存器的有效值包括:
将寄存器重命名映射更新以将在所检测到的第二指令中引用的虚拟寄存器映射到存储有所述对应条目中的变量的值的物理寄存器的ID。
10.根据权利要求6所述的方法,进一步包括:在将所述寄存器重命名映射更新以将在所检测到的第二指令中引用的虚拟寄存器映射到存储有所述对应条目中的变量的值的物理寄存器的ID(212)之后:
与其它指令的执行(404)并行地执行所检测到的从所述堆栈加载所述变量的第二指令(402);
将所加载的值与在所述对应条目中标识的所述物理寄存器中存储的所述变量的值进行比较(406);并且
响应于检测到所加载的值与所存储的值之间的不匹配,倒回根据所加载的值的并且与所检测到的第二指令并行地执行了的所有指令(408)。
11.根据权利要求6所述的方法,进一步包括:
在从函数返回时从所述数据结构中移除与所述函数对应的所有条目。
12.根据权利要求6所述的方法,其中,将所述数据条目存储在所述数据结构中包括将由以下所索引的所述数据条目存储在所述数据结构中:
来自所述偏移的一个或多个位;
来自所述偏移的位的子集;
存储有所述堆栈指针的当前值的物理寄存器的寄存器ID;或者
使用哈希函数以将来自所述偏移和存储有所述堆栈指针的当前值的物理寄存器的寄存器ID中的每一个的一个或多个位进行结合而生成的索引值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于美普思技术有限责任公司,未经美普思技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510023591.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:化合物、包括该化合物的有机发光装置和显示装置
- 下一篇:二次电池