[发明专利]间接控制流指令和禁止进行数据值推测在审
申请号: | 201980026172.7 | 申请日: | 2019-03-14 |
公开(公告)号: | CN111989675A | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 理查德·威廉·恩肖;克里斯托夫·埃瓦里斯特·乔治·贝尔斯;詹姆斯·格林哈勒 | 申请(专利权)人: | ARM有限公司 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/54;G06F21/12;G06F9/38 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 陈蒙 |
地址: | 英国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 间接 控制 指令 禁止 进行 数据 推测 | ||
1.一种装置,包括:
输入电路,用于接收输入数据;
输出电路,用于输出要由数据处理电路执行的指令序列;以及
生成电路,用于执行生成过程以使用所述输入数据生成所述指令序列,其中,
所述指令序列包括间接控制流指令,所述间接控制流指令包括指示所述间接控制流指令的目标存储在哪里的字段;
所述生成过程使得所述指令序列中的至少一条指令在执行所述间接控制流指令之后存储控制流推测的状态;并且
所述数据处理电路禁止所述指令序列中存储所述控制流推测的状态的至少一条指令经受数据值推测。
2.根据权利要求1所述的数据处理装置,其中,
所述控制流推测的状态指示控制流推测是否正确发生。
3.根据前述权利要求中任一项所述的装置,其中,
所述指令序列中存储所述控制流推测的状态的至少一条指令适于使得所述数据处理电路执行比较并根据所述比较的结果来存储所述控制流推测的状态。
4.根据权利要求3所述的装置,其中,
所述输入数据包括多目标分支指令和变量;
所述多目标分支指令的目标是基于所述变量而确定的;并且
所述指令序列在所述目标处包括所述指令序列中存储所述控制流推测的状态的至少一条指令。
5.根据权利要求4所述的装置,其中,
所述多目标分支指令的目标是通过基于所述变量来执行计算而确定的;并且
所述比较在逻辑上与所述计算相对应。
6.根据权利要求4至5中任一项所述的装置,其中,
对于所述变量的多个定义的可能值中的每一个,存在相关联的目标值;并且
在每个目标处,所述比较确定所述变量的值是否对应于与该目标相关联的目标值。
7.根据权利要求6所述的装置,其中,
所述变量的定义的可能值的第一子集具有同一关联目标;并且
在所述同一关联目标处,所述比较确定所述变量的值是否对应于与所述同一关联目标相关联的任何目标值。
8.根据权利要求6至7中任一项所述的装置,其中,
所述变量的定义的可能值的第二子集具有不同关联目标;并且
在所述不同关联目标中的每一个处,如果所述比较指示对应关系,则出现到公共功能的分支。
9.根据权利要求5至8中任一项所述的装置,其中,
响应于与所述计算的结果相对应的所述比较的结果,所述控制流推测的状态指示控制流推测正确地发生。
10.根据前述权利要求中任一项所述的装置,其中,
所述指令序列的至少一个子集遵循应用二进制接口;并且
通过根据所述应用二进制接口在存储电路中存储非法值,在所述指令序列的功能之间保持所存储的控制流推测的状态。
11.根据权利要求10所述的装置,其中,
响应于指示发生未命中推测的所述控制流推测的状态,所述非法值被存储在所述存储电路中。
12.根据权利要求10至11中任一项所述的数据处理装置,其中,
所述存储电路包括堆栈指针寄存器;并且
所述非法值为0。
13.根据前述权利要求中任一项所述的装置,其中,
所述指令序列包括访问指令,所述访问指令包括访问地址;并且
所述访问指令的正确执行取决于所述控制流推测的状态。
14.根据权利要求13所述的装置,其中,
所述指令序列包括在所述访问指令之前对所述访问地址执行操作、或对由所述访问指令从所述访问地址检索到的数据执行操作的指令;并且
所述操作取决于所述控制流推测的状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于ARM有限公司,未经ARM有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980026172.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:触摸传感器
- 下一篇:具有改善的附着性的铬外观PVD层