当前位置: 首页 > 专利查询>ARM有限公司专利>正文

状态转变指令后的推测性执行制造技术

技术编号:30220614 阅读:20 留言:0更新日期:2021-09-29 09:40
本公开涉及状态转变指令后的推测性执行。描述了一种装置和一种方法,该装置包括:处理电路,适合于执行来自指令流的指令,指令流包括状态转变指令及其后跟着的进一步指令,其中处理电路响应于状态转变指令而改变处理电路的安全性状态;发出电路,适合于发出进一步指令以在状态转变指令被完成之前被推测性地执行,进一步指令具有关于安全性状态的要求;以及完成电路,适合于对进一步指令执行完成操作,包括检查是否满足关于安全性状态的要求。包括检查是否满足关于安全性状态的要求。包括检查是否满足关于安全性状态的要求。

【技术实现步骤摘要】
状态转变指令后的推测性执行


[0001]本技术涉及数据处理系统的领域。

技术介绍

[0002]一些数据处理系统能够在多个安全性状态的任何一者中操作,其中对某些数据的访问被限于在这些安全性状态的某些中执行的指令。这通过防止在不同安全性状态中执行的操作访问它们而允许了所选数据被保持安全。
[0003]在这种系统中,指令具有关于安全性状态的特定要求,指示出它们被允许在其中执行的某个安全性状态。因此,当在处理系统的安全性状态之间切换时,必须防止在安全性状态变化之时在执行管线的半途的指令被在不允许的状态中执行。实现这个的一种方式是假定在安全性状态变化之时在管线半途的任何指令的安全性要求不匹配经更新的安全性状态,并且在每次数据处理系统的安全性状态被改变时冲刷管线。然而,此方案可对系统具有显著的性能影响。具体地,已知有性能影响与执行冲刷相关联——例如,由于以下事实:任何被冲刷的指令可能需要被重发出并且被重执行。
[0004]从而改善在安全性状态变化之后数据处理系统的性能,将是有利的。

技术实现思路

[0005]从一个示例来看,本技术提供了一种装置,包括:处理电路,适合于执行来自指令流的指令,所述指令流包括状态转变指令及其后跟着的进一步指令,其中所述处理电路响应于所述状态转变指令而改变所述处理电路的安全性状态;发出电路,适合于发出所述进一步指令以在所述状态转变指令被完成之前被推测性地执行,所述进一步指令具有关于安全性状态的要求;以及完成电路,适合于对所述进一步指令执行完成操作,包括检查是否满足所述关于安全性状态的要求。
[0006]从另一示例来看,本技术提供了一种方法,包括:执行来自指令流的指令,所述指令流包括状态转变指令及其后跟着的进一步指令;响应于所述状态转变指令,改变所述处理电路的安全性状态;发出所述进一步指令以在所述状态转变指令被完成之前被推测性地执行,所述进一步指令具有关于安全性状态的要求;并且对所述进一步指令执行完成操作,包括检查是否满足所述关于安全性状态的要求。
[0007]从另一示例来看,本技术提供了一种装置,包括:用于执行来自指令流的指令的装置,所述指令流包括状态转变指令及其后跟着的进一步指令;用于响应于所述状态转变指令而改变所述处理电路的安全性状态的装置;用于发出所述进一步指令以在所述状态转变指令被完成之前被推测性地执行的装置,所述进一步指令具有关于安全性状态的要求;以及用于对所述进一步指令执行完成操作的装置,包括检查是否满足所述关于安全性状态的要求。
[0008]从另一示例来看,本技术提供了一种装置,包括:处理电路,来执行指令;预测电路,来生成对所述指令中的一个或多个所要求的补充操作的预测;以及注入电路,来响应于
所述预测而使得与所述补充操作相对应的微代码被注入到所述处理电路中。
[0009]从另一示例来看,提供了一种方法,包括:执行指令;生成对所述指令中的一个或多个所要求的补充操作的预测;并且响应于所述预测而将与所述补充操作相对应的微代码注入到处理电路中。
[0010]从另一示例来看,提供了一种装置,包括:用于执行指令的装置;用于生成对所述指令中的一个或多个所要求的补充操作的预测的装置;以及用于响应于所述预测而将与所述补充操作相对应的微代码注入到处理电路中的装置。
[0011]根据结合附图阅读的对示例的以下描述,将清楚本技术的更多方面、特征和优点。
附图说明
[0012]图1图示了其中可应用本技术的数据处理系统;
[0013]图2图示了处理电路访问存储在具有安全区域的存储器中的数据;
[0014]图3图示了安全操作状态和非安全操作状态之间的转变;
[0015]图4图示了在各种安全性状态中执行的指令对存储器的数据访问;
[0016]图5A至5C是图示出状态转变指令的执行的流程图;
[0017]图6根据本技术图示了数据处理管线的一部分;
[0018]图7是图示出状态转变指令的执行的流程图;
[0019]图8图示了包括微代码预测器和注入电路的数据处理管线的一部分;
[0020]图9A和9B是图示出补充操作的预测和插入的流程图;
[0021]图10A和10B是图示出预测是否将需要表示状态转变初始化操作的微代码的流程图;
[0022]图11图示了用于使用指令的安全性要求来预测是否将需要表示状态转变初始化操作的微代码的技术;
[0023]图12图示了访问阵列中的数据的一系列数据访问指令;并且
[0024]图13图示了用于确定处理电路是否需要阵列边界检查的技术。
具体实施方式
[0025]根据一个示例配置,提供了一种装置,包括:处理电路,适合于执行来自指令流的指令,所述指令流包括状态转变指令及其后跟着的进一步指令,其中所述处理电路响应于所述状态转变指令而改变所述处理电路的安全性状态;发出电路,适合于发出所述进一步指令以在所述状态转变指令被完成之前被推测性地执行,所述进一步指令具有关于安全性状态的要求;以及完成电路,适合于对所述进一步指令执行完成操作,包括检查是否满足所述关于安全性状态的要求。
[0026]根据本技术,状态转变指令之后的指令(进一步指令)被发出,无论其关于安全性状态的要求是否匹配操作系统的当前安全性状态,并且在完成电路完成该指令时(例如在完成之前或者在完成期间)执行对于是否满足指令的安全性要求的检查。这避免了需要处理电路假定在执行半途的任何指令的要求不匹配操作系统的更新后安全性状态,使得不需要响应于安全性状态的每个变化而触发冲刷。这通过降低管线冲刷的可能性而允许了系统的性能得以改善,从而避免了与冲刷相关联的性能影响。此外,本技术不依赖于暂缓将指令
插入到管线中,直到可确定是否满足适当的安全性状态要求为止,这也将是效率不高的。这对于本领域技术人员可能是反直觉,因为其允许了指令被执行,即使在发出该指令之时处理电路的安全性状态不满足与该指令相关联的关于安全性状态的要求。本领域普通技术人员可预期这将有危害与发出的指令相关联的操作的安全性的风险。然而,通过提供完成电路来作为完成操作的一部分执行对于是否满足关于安全性状态的要求的检查,可以维持系统中的安全性。
[0027]在一些示例中,安全性状态是第一安全性状态和第二安全性状态之一;处理电路响应于状态转变指令而从第一安全性状态转变到第二安全性状态;并且关于安全性状态的要求指示出要求的安全性状态,并且完成操作包括检查要求的安全性状态是否匹配第二安全性状态。
[0028]在这种示例中,关于安全性状态的要求(也称为安全性要求)是进一步指令被预期在其中执行的处理电路的安全性状态。然而,根据这些示例,进一步指令仍可被发出电路发出,无论在发出进一步指令之时关于安全性状态的要求是否被满足,因为安全性要求不被检查,直到完成电路执行完成操作为止。具体地,由于此示例的状态转变指令使得处理电路从第一安全性状态转变到第二安全性状态,所以完成电路检查进一步指令的要求安全性状态是否匹配第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种装置,包括:处理电路,适合于执行来自指令流的指令,所述指令流包括状态转变指令及其后跟着的进一步指令,其中所述处理电路响应于所述状态转变指令而改变所述处理电路的安全性状态;发出电路,适合于发出所述进一步指令以在所述状态转变指令被完成之前被推测性地执行,所述进一步指令具有关于所述安全性状态的要求;以及完成电路,适合于对所述进一步指令执行完成操作,包括检查是否满足关于所述安全性状态的所述要求。2.如权利要求1所述的装置,其中:所述安全性状态是第一安全性状态和第二安全性状态之一;所述处理电路响应于所述状态转变指令而从所述第一安全性状态转变到所述第二安全性状态;并且关于所述安全性状态的所述要求指示出要求的安全性状态;并且所述完成操作包括检查所述要求的安全性状态是否匹配所述第二安全性状态。3.如权利要求2所述的装置,其中所述完成操作包括:当所述完成电路确定所述要求的安全性状态匹配所述第二安全性状态时,完成所述进一步指令;并且当所述完成电路确定在所述要求的安全性状态和所述第二安全性状态之间存在不匹配时,触发冲刷。4.如权利要求1所述的装置,其中:所述进一步指令指示目标地址,所述目标地址具有指示关于所述安全性状态的所述要求的安全性属性。5.如权利要求1所述的装置,其中:在所述进一步指令的推测性执行期间,所述处理电路适合于延迟关于所述进一步指令的状态更新。6.如权利要求5所述的装置,其中:所述进一步指令是一块指令的一部分,所述一块指令中的每一者具有关于所述安全性状态的相同要求;并且所述状态更新对所述一块指令之外的指令可见的至少一个数据值进行更新。7.如权利要求6所述的装置,其中:所述状态更新对以下所列项的至少一者中的至少一个数据值进行更新:缓存;寄存器文件;以及存储器。8.如权利要求5所述的装置,其中:所述完成操作包括,当所述完成电路确定关于所述安全性状态的所述要求得到满足时,发出所述状态更新。9.如权利要求1所述的装置,其中:所述安全性状态是安全状态和非安全状态之一。
10.如权利要求9所述的装置,其中:关于所述安全性状态的所述要求指示出要求的安全性状态;并且所述完成操作包括,当所述要求的安全性状态是所述非安全状态时,完成所述进一步指令。11.如权利要求9所述的装置,其中:所述处理电路响应于所述状态转变指令而从所述安全状态转变到所述非安全状态;关于所述安全性状态的所述要求指示出要求的安全性状态;并且所述完成操作包括检查所述要求的安全性状态是否是所述非安全状态。12.一种方法,包括...

【专利技术属性】
技术研发人员:
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1