【技术实现步骤摘要】
【国外来华专利技术】维持推测的状态
本技术涉及数据处理。具体而言,本技术与推测执行的领域相关。
技术介绍
推测执行是一种技术,其中在知道是否应当执行一系列指令之前执行那些指令。在以后的某个时间点,确定是否应当执行推测执行的指令。如果是,则过程继续。如果不是,则执行被“倒回”。这种形式的推测被称为控制流推测。在某些情况下,已经发现这样的推测执行导致安全漏洞。例如,可以使处理器推测地执行特权代码以将受保护的数据不必要地加载到缓存中。由于在倒回后缓存可能未被清除,因此所请求的数据可以使用旁路攻击被探查。另一种形式的推测是数据值推测,其中在已知指令的所有输入之前推测该指令所产生的结果值。
技术实现思路
本技术认识到期望在发生控制流推测之处保持数据安全。从第一示例配置来看,提供了一种装置,其包括:输入电路,用于接收输入数据;输出电路,用于输出要由数据处理电路执行的指令序列,这些指令中的至少一些指令被分组到功能中;以及生成电路,用于执行生成过程以使用输入数据来生成指令序列,其中,该生成过程使指令序列中的指令中的至少一个指令存储在指令序列的执行期间执行的控制流推测的状态;并且所存储的控制流推测的状态在功能之间被维持。从第二示例配置来看,提供了一种方法,其包括:接收输入数据;执行生成过程以使用输入数据来生成指令序列;以及输出要由数据处理电路执行的指令序列,这些指令中的至少一些指令被分组到功能中,其中,该生成过程使指令序列中的指令中的至少一个指令存储在指令序列的执行期间执行的控制流推测的状态;并且所存储的控制流推测的状 ...
【技术保护点】
1.一种装置,包括:/n输入电路,用于接收输入数据;/n输出电路,用于输出要由数据处理电路执行的指令序列,这些指令中的至少一些指令被分组到功能中;和/n生成电路,用于执行生成过程以使用所述输入数据来生成所述指令序列,其中,/n所述生成过程使所述指令序列中的至少一个指令存储控制流推测的状态,该控制流推测是在所述指令序列的执行期间执行的;并且/n所存储的控制流推测的状态在这些功能之间被维持。/n
【技术特征摘要】
【国外来华专利技术】20180424 GB 1806638.11.一种装置,包括:
输入电路,用于接收输入数据;
输出电路,用于输出要由数据处理电路执行的指令序列,这些指令中的至少一些指令被分组到功能中;和
生成电路,用于执行生成过程以使用所述输入数据来生成所述指令序列,其中,
所述生成过程使所述指令序列中的至少一个指令存储控制流推测的状态,该控制流推测是在所述指令序列的执行期间执行的;并且
所存储的控制流推测的状态在这些功能之间被维持。
2.根据权利要求1所述的数据处理装置,其中,
控制流推测的所述状态指示控制流推测是否正确地发生。
3.根据任一前述权利要求所述的数据处理装置,其中,
所述指令序列中存储控制流推测的所述状态的所述至少一个指令被所述数据处理电路阻止经历数据值推测。
4.根据任一前述权利要求所述的装置,其中,
所述指令序列中存储控制流推测的所述状态的所述至少一个指令适于使所述数据处理电路执行比较并根据所述比较的结果来存储控制流推测的所述状态。
5.根据权利要求4所述的装置,其中,
所述输入数据包括条件分支指令,该条件分支指令包括条件和当该条件被满足时要分支到的目标;并且
所述指令序列在所述目标处包括所述指令序列中存储控制流推测的所述状态的所述至少一个指令。
6.根据权利要求5所述的装置,其中,
所述比较在逻辑上与所述条件相对应。
7.根据权利要求6所述的装置,其中,
响应于与所述条件未被满足相对应的所述比较的结果,控制流推测的所述状态指示控制流推测不正确地发生。
8.根据任一前述权利要求所述的装置,其中,
所述指令序列的至少子集符合应用二进制接口;并且
所存储的控制流推测的状态通过以下操作来在所述功能之间被维持:将根据所述应用二进制接口的非法值存储在存储电路中。
9.根据权利要求8所述的装置,其中,
所存储的控制流推测的状态通过以下操作来在所述功能中的至少一些功能之内被维持:存储根据所述应用二进制接口的合法值。
10.根据权利要求8-9中任一项所述的装置,其中,
响应于控制流推测的所述状态指示发生未命中推测,所述非...
【专利技术属性】
技术研发人员:克里斯托夫·埃瓦里斯特·乔治·贝尔斯,理查德·威廉·恩肖,詹姆斯·格林哈勒,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国;GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。