【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及混合模式计算机指令,更具体地说,涉及用于混合模式计算机指令的动态最佳匹配编译的方法和设备。
技术介绍
对嵌入式系统(例如无线通信装置、无线数据装置等)有日益增长的需求。在静态和动态存储器、处理能力、显示器大小、电池寿命、输入/输出能力等方面,嵌入式系统上可用的资源类型大不相同。所以,在嵌入式系统上很少有硬件和软件的会聚。如业界一般技术人员已知的,不用本机编译语言(例如C编程语言),而用中间语言(IL),例如Java、C#等,来开发嵌入式系统具有许多优点。首先,可以将中间语言模块放在多个平台上,而不用更改源代码,这就和大多数编译语言不同。第二,中间语言和它们的运行时环境常常具有故障消除特性,例如阵列边界检查、自动无用单元收集以及内置异常处理,这些是许多编译语言不具备的。第三,中间语言通常比完全解释语言运行得快。实现了中间语言的上述优点,嵌入式系统正慢慢向在运行时环境上工作的中间语言迁移。由于应用软件从运行时环境取得较大的价值,因此预计许多未来的应用程序会使用中间语言来写。对在嵌入式系统上使用中间语言最起阻止作用的因素之一是执行速度。虽然中间语言通常比解释语言工作得快,但中间语言通常比本机编译语言要慢。例如,中间语言例如Java可比本机编译语言例如C慢达3或4倍。加速中间语言指令的一种技术包括从一些中间语言指令产生本机指令。通常,仅将最常用的代码路径编译为本机代码,其余的代码留作中间指令。虽然这种现有技术可改进性能,但从一些中间语言指令产生本机指令仅利用了处理器的单一指令集。混合模式处理器例如ARM依从处理器具有两个或更多个指令集,例如一个1 ...
【技术保护点】
一种执行非本机软件指令的方法,所述方法包括:在装置上接收所述非本机软件指令;基于所述非本机软件指令从第一指令集产生第一本机软件指令,第一本机软件指令的产生发生在所述装置上;在所述装置上执行第一本机软件指令;基于所述非本机软件指令从第二指令集产生第二本机软件指令,第二本机软件指令的产生发生在所述装置上;以及在所述装置上执行第二本机软件指令。
【技术特征摘要】
【国外来华专利技术】US 2003-9-10 10/659,4571.一种执行非本机软件指令的方法,所述方法包括在装置上接收所述非本机软件指令;基于所述非本机软件指令从第一指令集产生第一本机软件指令,第一本机软件指令的产生发生在所述装置上;在所述装置上执行第一本机软件指令;基于所述非本机软件指令从第二指令集产生第二本机软件指令,第二本机软件指令的产生发生在所述装置上;以及在所述装置上执行第二本机软件指令。2.如权利要求1所述的方法,还包括计数第一本机软件指令被执行的次数;以及对第一本机软件指令被执行的次数和阈值相比较,其中产生第二本机软件指令是对以下之一作出的响应(i)所述次数等于所述阈值,以及(ii)所述次数超过所述阈值。3.如权利要求2所述的方法,还包括插入仪表以计数第一本机软件指令被执行的次数。4.如权利要求2所述的方法,还包括通过移动运行时配置参数接收所述阈值。5.如权利要求1所述的方法,其中在所述装置上接收所述非本机软件指令包括在所述装置上接收中间语言指令。6.如权利要求1所述的方法,其中在所述装置上接收所述非本机软件指令包括在所述装置上接收Java字节代码。7.如权利要求1所述的方法,其中在所述装置上接收所述非本机软件指令包括在手持计算装置上无线接收所述非本机软件指令。8.如权利要求1所述的方法,其中第一本机软件指令包括X位宽的指令,第二本机软件指令包括Y位宽的指令,且X小于Y。9.如权利要求1所述的方法,其中第一本机软件指令包括16位宽的指令,且第二本机软件指令包括32位宽的指令。10.如权利要求1所述的方法,其中第一本机软件指令包括Thumb指令,且第二本机软件指令包括ARM指令。11.如权利要求1所述的方法,其中产生第一本机软件指令包括使用即时编译器在所述装置上编译所述非本机软件指令。12.如权利要求1所述的方法,还包括在产生第一本机软件指令之前配置第一代码优化选项,第一代码优化选项导致产生较小的代码;以及在产生第二本机软件指令之前配置第二代码优化选项,第二代码优化选项导致产生较快的代码。13.如权利要求1所述的方法,其中产生第一本机软件指令包括产生第一多个本机软件指令,并且产生第二本机软件指令包括产生第二多个本机软件指令,所述方法还包括计数在第一多个本机软件指令中包含的第一指令数;计数在第二多个本机软件指令中包含的第二指令数;以及比较第一指令数和第二指令数,其中执行第一本机软件指令是对以下之一作出的响应(i)第二指令数等于第一指令数,以及(ii)第二指令数超过第一指令数。14.如权利要求13所述的方法,还包括比较第一指令数和第二指令数,其中执行第二本机软件指令是对第一指令数不超过第二指令数预定阈值以上而作出的响应。15.如权利要求1所述的方法,还包括测量第一本机软件指令,得出第一字节数;测量第二本机软件指令,得出第二字节数;以及比较第一字节数和第二字节数,其中执行第一本机软件指令是对第一字节数比第二字节数小至少预定阈值而作出的响应。16.如权利要求1所述的方法,还包括测量第一本机软件指令,得出第一字节数;测量第二本机软件指令,得出第二字节数;以及比较第一字节数和第二字节数,其中执行第二本机软件指令是对第一字节数不比第二字节数小至少预定阈值而作出的响应。17.一种包括机器可存取介质的制品,所述机器可存取介质具有多个机器可存取指令,当执行所述指令时,使装置在所述装置上接收非本机软件指令;基于所述非本机软件指令从第一...
【专利技术属性】
技术研发人员:M南亚,Z高,J蒙特,J徐,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。