logo好方法网

一种处理器以及指令执行方法


技术摘要:
本发明公开了一种处理器,该处理器具有可信执行环境和非可信执行环境。处理器包括:公共资源,在可信执行环境和非可信执行环境下均可被访问;指令处理设备,适于取指令进行译码并执行译码后的指令。该指令处理设备还包括延迟切换单元,适于:在指令译码结果指示指令涉  全部
背景技术:
在移动互联网和物联网领域,为了安全考虑,在处理器的运行模式中新增一种可 信世界状态,将处于可信世界的处理器、可信属性的系统IP以及其他系统中敏感、重要的软 硬件资源划分到可信世界中,并通过硬件机制保证可信世界中的资源只能被可信世界中的 成员所访问,从而实现可信世界与非可信世界的隔离,确保安全资源的机密性以及完整性。 对处理器资源进行隔离的现有方式是使用两份资源,即可信世界一份资源,非可 信世界一份资源。但考虑到对所有资源都使用两份,则会造成不必要的浪费,所以可以设置 让可信世界和非可信世界共用的公共资源。 当在处理器中进行世界切换时,通常需要将公共资源进行存储和清零操作,如果 在切换世界后并未使用公共资源,则切换世界时进行存储和清零操作是不必要的,并且降 低了切换世界的速度,尤其是对于实时性要求较高的中断,快速地进行中断响应尤为重要。 为此需要一种新的处理器指令执行方案,可以实现更加灵活的公共资源存取方 式,以加快切换世界时的响应速度。
技术实现要素:
为此,本发明提供了一种新的处理器及其中的指令执行方法,以力图解决或者至 少缓解上面存在的至少一个问题。 根据本发明的一个方面,提供了一种处理器。该处理器具有可信执行环境和非可 信执行环境,并包括:公共资源,在可信执行环境和非可信执行环境下均可被访问;指令处 理设备,适于取指令进行译码并执行译码后的指令。指令处理设备还包括延迟切换单元,适 于:在指令译码结果指示所述指令涉及对公共资源的访问时,判断处理器的当前执行环境 与资源状态的一致性,以及判断当前执行环境和资源状态不一致,则将与当前执行环境相 对应的内容加载到公共资源中,其中资源状态指示公共资源中的内容所对应的执行环境。 可选地,在根据本发明的处理器中,延迟切换单元适于在当前执行环境和资源状 态不一致时:将处理器的执行环境从当前执行环境切换到与资源状态相对应的第一执行环 境;利用第一执行环境中的存储空间来存储公共资源中的内容;将处理器的执行环境从第 一执行环境切换回到当前执行环境;从当前执行环境中的存储空间中加载内容到公共资源 中;以及将资源状态设置为指示当前执行环境。 可选地,在根据本发明的处理器中,指令处理设备包括:取指令单元,适于获取指 令;指令译码单元,适于对所获取的指令进行译码;以及指令执行单元,适于执行译码后的 指令。 可选地,在根据本发明的处理器中,指令处理设备还包括:指令退休单元,适于在 该指令涉及处理器从当前执行环境到目标执行环境的执行环境切换时,在当前执行环境中 5 CN 111552514 A 说 明 书 2/9 页 的存储空间中存储当前执行环境的状态信息;以及将当前执行环境设置为目标执行环境, 以便处理器的执行环境从当前执行环境切换到目标执行环境。 可选地,根据本发明的处理器还包括:程序状态寄存器,其中的执行环境位指示处 理器的当前执行环境,并且通过改变程序状态寄存器的执行环境位的值来指示处理器进行 执行环境切换。 可选地,在根据本发明的处理器中,程序状态寄存器包括:可信程序状态寄存器; 以及非可信程序状态寄存器,其中当处理器处于可信执行环境下时,使用可信程序状态寄 存器做为程序状态寄存器;以及当处理器处于非可信执行环境下时,使用非可信程序状态 寄存器做为程序状态寄存器。 可选地,根据本发明的处理器还包括:配置寄存器,其中的资源状态位指示公共资 源内容对应的执行环境,以及延迟切换单元适于基于程序状态寄存器的执行环境位和配置 寄存器的资源状态位的值来确定所述当前执行环境和所述资源状态是否一致。 可选地,根据本发明的处理器还包括:可信入口基址寄存器,存储有可信执行环境 中的堆栈的基址,堆栈适于存储与可信执行环境相对应的公共资源内容;以及非可信入口 基址寄存器,存储有非可信执行环境中的堆栈的基址,该堆栈适于存储与非可信执行环境 相对应的公共资源内容。延迟切换单元适于在处理器处于可信执行环境下时,参考可信入 口基址寄存器中存储的堆栈基址进行公共资源内容的存储和/或加载,以及在处理器处于 非可信执行环境下时,参考非可信入口基址寄存器中存储的堆栈基址进行公共资源内容的 存储和/或加载。 可选地,在根据本发明的处理器中,公共资源包括公共寄存器资源。公共寄存器资 源包括下列中的一种或者多种:通用寄存器;矢量通用寄存器;以及控制寄存器。 可选地,在根据本发明的处理器中,延迟切换单元适于在判断出当前执行环境和 资源状态为一致时,指示指令处理设备执行译码后的指令。 根据本发明的另一个方面,提供了一种在处理器中的指令执行方法。该处理器具 有可信执行环境和非可信执行环境,并包括在各种执行环境下都可以访问的公共资源。该 方法包括步骤:获取指令并进行指令译码;如果指令译码结果指示指令涉及对公共资源的 访问,则判断处理器的当前执行环境与资源状态的一致性,其中资源状态指示公共资源中 的内容所对应的执行环境;如果判断出当前执行环境和资源状态不一致,则将与当前执行 环境相对应的内容加载到公共资源中;以及执行该指令。 根据本发明的方案,在处理器进行执行环境切换时,并不同时进行公共资源的存 储,而是在指令执行过程中,发现该指令涉及访问公共资源时,才启动公共资源的切换。这 样,通过延迟公共资源的切换时机,可以加快执行环境的切换速度。 另外,根据本发明的方案,引入了指示当前公共资源属于哪种执行环境的资源状 态标记,这样就可以执行涉及访问公共资源的指令时,根据当前执行环境标记和资源状态 标记是否一致来确定是否进行公共资源切换,从而提供了一种方便的公共资源切换方案。 附图说明 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方 面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面 6 CN 111552514 A 说 明 书 3/9 页 旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述 以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的 部件或元素。 图1示出了根据本发明一个实施例的处理器100的示意图; 图2示出了根据本发明另一个实施例的处理器200的示意图; 图3示出了根据本发明另一个实施例的指令执行方法300的示意图;以及 图4示出了根据本发明还有一个实施例的指令执行过程400的状态示意图。
下载此资料需消耗2积分,
分享到:
收藏