[发明专利]64位立即数处理方法及装置有效

专利信息
申请号: 201410308052.5 申请日: 2014-06-30
公开(公告)号: CN104063329B 公开(公告)日: 2017-04-12
发明(设计)人: 王一光;靳国杰;高翔 申请(专利权)人: 龙芯中科技术有限公司
主分类号: G06F12/02 分类号: G06F12/02;G06F9/30
代理公司: 北京同立钧成知识产权代理有限公司11205 代理人: 刘芳
地址: 100095 北京市海淀*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 64 立即 处理 方法 装置
【说明书】:

技术领域

发明实施例涉及计算机技术,尤其涉及一种64位立即数处理方法及装置。

背景技术

虚拟机可以为上层的操作系统或应用程序提供不同于底层机器的虚拟执行环境。

现有技术中,虚拟机的执行方式包括解释执行和翻译执行。其中,解释执行由解释器以单一目标指令为单位进行取指令、分析指令和执行指令的操作,翻译执行是以一组连续目标指令(基本块或者函数)为单位由编译器整体编译成本地CPU指令集执行。在上述的执行过程中均有立即数处理,即紧跟在操作码的后面与操作码一起放在指令代码段中的指令的处理。

然而,在现有技术中,将64位立即数加载到寄存器的翻译过程中,由于存储地址范围的扩大,导致产生大量的立即数,并需要运行大量承载该些立即数的指令,从而导致虚拟机需要消耗大量的运行时间。

发明内容

本发明提供一种64位立即数处理方法及装置,以减少虚拟机的运行时间。

第一个方面,本发明提供一种64位立即数处理方法,包括:

获取处理数据指令过程中生成的立即数,所述立即数为处理所述数据指令过程中生成的操作数;

将所述立即数设置在结构体的第一存储区中,所述结构体包括所述源代码的入口、指令序列和所述第一存储区;

根据所述第一存储区首地址以及设置所述立即数的位置与所述第一存储区首地址之间的偏移量,生成立即数加载指令。

第二方面,本发明提供一种64位立即数处理装置,包括:

获取模块,用于获取编译执行源代码过程中生成的立即数,所述立即数为操作码后面的操作数;

设置模块,用于将所述立即数设置在结构体的第一存储区中,所述结构体包括所述源代码的入口、指令序列和所述第一存储区;

生成模块,用于根据所述第一存储区首地址以及设置所述立即数的位置与所述第一存储区首地址之间的偏移量,生成立即数加载指令。

本发明提供的64位立即数处理方法及装置,通过获取编译执行源代码过程中生成的立即数,其中,该立即数为操作码后面的操作数,接着,将立即数设置在结构体的第一存储区中,结构体包括源代码的入口、指令序列和第一存储区,然后,根据所述第一存储区首地址以及设置所述立即数的位置与所述第一存储区首地址之间的偏移量,生成立即数加载指令。从而通过一条读取指令可以获取立即数,减少了立即数加载的指令数,进而减少了虚拟机运行该数据指令的时间。在64位虚拟机中,立即数加载操作出现频度很高,因此本发明实施例能够显著提升虚拟机性能。经实际验证,64位虚拟机的性能提升为与32位虚拟机持平。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明64位立即数处理方法实施例一的流程示意图;

图2为本发明64位立即数处理装置实施例一的结构示意图;

图3为本发明64位立即数处理装置实施例二的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明64位立即数处理方法实施例一的流程示意图。本实施例的执行主体可以是64位立即数处理装置,该64位立即数处理装置可以集成在虚拟机中,该64位立即数处理装置可以采用软件和/或硬件的方式来实现。如图1所示,本实施例提供的64位立即数处理方法具体包括如下步骤:

步骤101、获取编译执行源代码过程中生成的立即数。

在本实施例中,该立即数为操作码后面的操作数,例如,该立即数为从跳转指令中获得的跳转目标地址、堆中对象在内存中存储的地址、以及永久代常数的指令。

需要说明的是,确定立即数场景至少包括以下两种,具体为:

第一场景,在虚拟机中编译器生成中间代码的过程中确定的;

第二场景,在等到指令发射阶段匹配具体的翻译规则时确定的,其中,该指令发射阶段为编译执行的高级中间代码阶段到MIPS汇编语言阶段处时,该高级中间代码阶段为在编译执行过程中,中间代码阶段中的一个阶段。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术有限公司,未经龙芯中科技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410308052.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top