当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于执行根据两个指令集架构编译的应用编码的系统和方法技术方案

技术编号:16048851 阅读:35 留言:0更新日期:2017-08-20 08:32
公开了与具有多个ISA的应用(118)代码的执行相关联的方法、装置和存储介质。在各种实施例中,运行时间环境(104)可执行具有多个指令集架构的应用(118)代码。运行时间环境(104)可被配置为根据第一指令集架构来执行应用(118)代码的第一代码(120),同时还被配置为根据将第一指令集架构扩展的第二指令集架构来执行应用(118)代码的第二代码(122)。使用门(124),运行时间环境(104)可适于适配从第一代码(120)到第二指令集架构的交互和/或适配从第二代码(122)到第一指令集架构的交互,并且随后,返回根据第一指令集架构或第二指令集架构分别地执行应用(118)代码。还可公开其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】用于执行根据两个指令集架构编译的应用编码的系统和方法
技术介绍
本文所提供的背景描述是为了在总体上呈现本公开的环境。除非本文中另有指示,否则本章节中所描述的材料对于本申请的权利要求书而言并非现有技术,且亦非承认包括在本章节中就为现有技术。计算设备可以由其指令集架构(ISA)来表征。通常,计算设备可包括操作系统(OS)服务,并且该OS服务可包括针对计算设备的ISA开发的运行时间库服务(LIB),便于应用开发者开发操作于计算设备上的应用。例如,各种智能手机可以通过ARM处理器及其ISA的使用来表征。这些智能手机可包括OS,例如,苹果电脑的iOS,或谷歌的安卓,用以支持针对各自的智能手机开发的各种应用。随着中央处理单元(CPU)架构的发展,计算设备可包括CPU,该CPU适于提供某些新特征—例如,英特尔处理器系列的IA-64可提供额外的资源和能力(例如,附加的寄存器、基于寄存器的自变量,以及指令指针相对寻址)。然而,可能已经在其中存储了传统应用的计算设备可能不适于利用新CPU架构的新特征。传统上,为利用新特征,不得不基于新的ISA将传统应用重新编译,例如32位的应用可被重新编译后运行于64位模式。本文档来自技高网...
用于执行根据两个指令集架构编译的应用编码的系统和方法

【技术保护点】
一种用于执行具有多个指令集架构的应用代码的装置,所述装置包括:一个或多个处理器;物理存储器,与所述一个或多个处理器耦合,并被配置为存储要被加载至所述物理存储器内以便由所述一个或多个处理器执行的应用代码,所述应用代码包括根据第一指令集架构编译的第一代码以及根据所述第一指令集架构的第二扩展指令集架构编译的第二代码;以及运行时间环境,其具有用于所述第二代码的执行的沙箱,所述运行时间环境被加载至所述物理存储器内并被所述一个或多个处理器操作以执行以下步骤:插入与所述第一指令集架构和所述第二指令集架构之间的切换相关联的开关门;在所述应用代码的执行期间,拦截与所述第一代码或所述第二代码相关联的交互;并且在所...

【技术特征摘要】
【国外来华专利技术】1.一种用于执行具有多个指令集架构的应用代码的装置,所述装置包括:一个或多个处理器;物理存储器,与所述一个或多个处理器耦合,并被配置为存储要被加载至所述物理存储器内以便由所述一个或多个处理器执行的应用代码,所述应用代码包括根据第一指令集架构编译的第一代码以及根据所述第一指令集架构的第二扩展指令集架构编译的第二代码;以及运行时间环境,其具有用于所述第二代码的执行的沙箱,所述运行时间环境被加载至所述物理存储器内并被所述一个或多个处理器操作以执行以下步骤:插入与所述第一指令集架构和所述第二指令集架构之间的切换相关联的开关门;在所述应用代码的执行期间,拦截与所述第一代码或所述第二代码相关联的交互;并且在所述应用代码的执行期间,并且使用所述开关门,适配从所述第一指令集架构到所述第二指令集架构的或从所述第二指令集架构到所述第一指令集架构的被拦截的交互。2.根据权利要求1所述的装置,其中,所述运行时间环境还用于:插入与从在所述第一指令集架构和所述第二指令集架构之间的切换返回相关联的返回门;并且在所述应用代码的执行期间,并且使用所述返回门,从所述第一指令集架构返回到根据所述第二指令集架构的所述第二代码的执行、或从所述第二指令集架构返回到根据所述第一指令集架构的所述第一代码的执行。3.根据权利要求2所述的装置,其中,所述运行时间环境通过以下中的至少一个来适配所述被拦截的交互:对与所述交互相关联的数据的大小的调整、对与所述交互相关联的数据的对齐的调整、或对与所述交互相关联的至少一个寄存器的至少一个状态的存储,并且其中,所述运行时间环境通过以下中的至少一个来进行返回:对所述大小的调整的恢复、对所述对齐的调整的恢复、或从所述存储对至少一个寄存器的至少一个状态的恢复。4.根据权利要求2所述的装置,其中,所述运行时间环境通过以下来适配所述被拦截的交互:从与所述第一指令集架构相关联的第一应用二进制接口到与所述第二指令集架构相关联的第二应用二进制接口的调用的转换,或从所述第二应用二进制接口到所述第一应用二进制接口的调用的转换,并且其中,所述运行时间环境通过以下来进行返回:从所述第一应用二进制接口返回至所述第二应用二进制接口,或从所述第一应用二进制接口返回至所述第一应用二进制接口。5.根据权利要求2所述的装置,还包括:加载器,其被加载至所述物理存储器内以与所述运行时间环境配合,将与所述第二指令集架构相关联的库加载至与所述第一指令集架构相关联的地址空间内,并且将所述应用代码与所述开关门或所述返回门中的至少一个相链接。6.根据权利要求1所述的装置,其中,所述交互包括以下中的至少一个:从所述第一代码到所述第二代码的调用、从所述第二代码到所述第一代码的调用、从所述第一代码到根据所述第二指令集架构编译的库的调用、从所述第二代码到根据所述第一指令集架构编译的库的调用、或与所述装置的操作系统内核相关联的信号。7.根据权利要求1-6中任意一项所述的装置,其中所述第一指令集架构包括32位指令集架构,并且所述第二指令集架构包括64位指令集架构。8.根据权利要求1-6中任意一项所述的装置,还包括:编译工具,其被加载到所述物理存储器内并由所述一个或多个处理器操作,根据所述第二指令集架构编译所述第二代码,其中所述编译工具在编译期间遵循应用二进制接口,所述应用二进制接口承担所述第二指令集架构的编码但遵循所述第一指令集架构的数据大小和对齐。9.根据权利要求8所述的装置,其中,所述运行时间环境包括与所述应用代码的执行相关联的进程虚拟机,以动态地插入所述开关门,并且其中,所述编译工具包括用于编译的动态准时引擎。10.根据权利要求8所述的装置,其中,所述运行时间环境用于使得根据所述第二指令集架构编译的至少一个系统库根据所述第一指令集架构被重新编译,并且其中,所述运行时间环境还用于:识别所述应用代码的要被多次执行的块;如果所述块是在所述第一指令集架构下编译的,则将所述块转换到所述第二指令集架构,或如果所述块是在所述第二指令集架构下编译的,则将所述块转换到所述第一指令集架构,以促进通过所述运行时间环境的与所述交互的拦截相关联的快速查找。11.根据权利要求1-6中任意一项所述的装置,其中,所述应用代码被加载至所述物理存储器内并由所述一个或多个处理器操作。12.一种装置,包括:用于在进程中执行与第一指令集架构相关联的第一代码以及沙箱的模块;用于在所述沙箱内执行与第二指...

【专利技术属性】
技术研发人员:伍勇林晓东金一华钟学亮李剑慧
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1