本申请涉及计算机,例如涉及一种基于复合指令的指令及其操作数的优化方法及装置。
背景技术:
1、目前,资源受限设备(resource constrained device)通常是指电量供应有限,计算能力有限,以及存储容量有限的电子设备,例如智能卡(smart card)和安全单元(secureelement)。在这些设备上通常运行有片内操作系统(chip operating system,cos),cos可以通过输入/输出接口和外部接口设备进行通信,接收外部接口设备的命令,在其内部完成命令处理,把命令响应发送给外部接口设备,为接口设备提供私密信息的安全存储、重要程序的安全执行、用户身份鉴别等安全访问、控制功能。
2、同时,webassembly是一种可以在浏览器中可执行的字节码,也是一种以安全有效的方式运行可移植程序的技术,其主要解决浏览器性能的问题。
3、在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
4、由webassembly模块的原生指令码条数较多、指令操作数繁多且复杂,导致其原生指令流占用的存储空间较大,且运行时消耗随机存取存储器(random access memory,ram)的资源较多,不适合应用于资源受限设备。
5、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
2、本公开实施例提供了一种基于复合指令的指令及其操作数的优化方法及装置、计算设备及存储介质,减少了指令占用的存储空间,提高了指令的运行速度,并使得webassembly模块更加适合在资源受限设备上运行。
3、在一些实施例中,所述基于复合指令的指令及其操作数的优化方法,包括:
4、从原生指令流中,获取数据操作指令以及所述数据操作指令对应的匹配指令;
5、根据数据操作指令和匹配指令形成的指令组合,识别出所述指令组合对应的操作模型;
6、根据所述操作模型对应的复合指令,对所述原生指令流中的原生指令码及其操作数进行优化。
7、在一些实施例中,所述基于复合指令的指令及其操作数的优化装置,安装于资源受限设备的内部,或者,位于资源受限设备的外部,包括:
8、指令匹配模块,被配置为从原生指令流中,获取数据操作指令以及所述数据操作指令对应的匹配指令;
9、模型识别模块,被配置为根据数据操作指令和匹配指令形成的指令组合,识别出所述指令组合对应的操作模型;
10、指令优化模块,被配置为根据所述操作模型对应的复合指令,对所述原生指令流中的原生指令码及其操作数进行优化。
11、在一些实施例中,所述计算设备,包括处理器和存储有程序指令的存储器,所述处理器被配置为在运行原生指令流中的原生指令时,执行如本申请所述的基于复合指令的指令及其操作数的优化方法,或者,所述处理器被配置为在运行所述程序指令时,执行如本申请所述的优化装置输出的根据复合指令优化后的指令流。
12、在一些实施例中,所述存储介质,存储有程序指令,所述程序指令在运行时,执行如本申请所述的用于指令码优化的方法。
13、本公开实施例提供的基于复合指令的指令及其操作数的优化方法及装置、计算设备及存储介质,可以实现以下技术效果:
14、本申请根据原生指令码及其指令操作各类变量的特性,获取数据操作指令以及所述数据操作指令对应的匹配指令,进而根据数据操作指令和匹配指令形成的指令组合,识别出指令组合对应的操作模型,通过操作模型对原生指令流中的原生指令码及其操作数进行优化,转换成本申请的复合指令,减少了webassembly模块中的指令条数、指令占用的存储空间、操作数个数以及运行时使用的操作数栈的深度,从而提高了指令的运行速度,使得webassembly模块更加适合在资源受限设备上运行。
15、此外,本申请的指令码优化过程可以由位于资源受限设备外部的转换器完成,转换器通过将优化后的指令直接提供给资源受限设备执行,从而减少了计算机在执行指令时的工作量,加快了执行速度。
16、以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
1.一种基于复合指令的指令及其操作数的优化方法,其特征在于,包括:
2.根据权利要求1所述的优化方法,其特征在于,所述从原生指令流中,获取数据操作指令以及所述数据操作指令对应的匹配指令,包括:
3.根据权利要求2所述的优化方法,其特征在于,所述数据操作指令,包括i32.store[type]、i32.load[type]和i32.operate中的一个或多个类型。
4.根据权利要求2所述的优化方法,其特征在于,所述根据数据操作指令所需的操作数个数及操作数栈的深度,获取数据操作指令对应的匹配指令,包括:
5.根据权利要求2所述的优化方法,其特征在于,所述根据数据操作指令和匹配指令形成的指令组合,识别出所述指令组合对应的操作模型,包括:
6.根据权利要求5所述的优化方法,其特征在于,还包括:
7.根据权利要求6所述的优化方法,其特征在于,所述根据所述操作模型对应的复合指令,对所述原生指令流中的原生指令码及其操作数进行优化,包括:
8.根据权利要求1至7任一项所述的优化方法,其特征在于,在从原生指令流中,获取数据操作指令以及所述数据操作指令对应的匹配指令之前,还包括:
9.根据权利要求8所述的优化方法,其特征在于,在建立全局变量信息表之后,还包括:
10.一种基于复合指令的指令及其操作数的优化装置,安装于资源受限设备的内部,或者,位于资源受限设备的外部,其特征在于,包括:
11.一种计算设备,包括处理器和存储有程序指令的存储器,其特征在于,所述处理器被配置为在运行所述程序指令时,执行如权利要求1至9任一项所述的基于复合指令的指令及其操作数的优化方法,或者,所述处理器被配置为在运行所述程序指令时,执行如权利要求10所述的优化装置输出的根据复合指令优化后的指令流。
12.一种存储介质,存储有程序指令,其特征在于,所述程序指令在运行时,执行如权利要求1至9任一项所述的基于复合指令的指令及其操作数的优化方法。