System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别是涉及一种二进制翻译方法、装置、电子设备以及可读存储介质。
技术介绍
1、二进制翻译可以将一种isa(instruction set architecture,指令集架构)的指令转换为另一种指令集架构的指令。通过二进制翻译技术,可以使一种isa(源架构)的应用程序运行在另一种isa(目标架构)上。
2、随着微处理器性能的不断提升,通过二进制翻译在一种cpu体系架构下运行另一种cpu体系架构的源程序的可行性越来越强,使得二进制翻译技术得到了更多的发展,但该技术目前仍存在翻译效率低下,冗余操作过多等技术问题。
技术实现思路
1、鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种二进制翻译方法,可以避免翻译后的指令重复加载相同的高位地址,减少翻译后指令的数量,提高翻译器的执行效率,从而提升翻译器运行程序的速度。
2、相应的,本专利技术实施例还提供了一种二进制翻译装置、电子设备、以及一种计算机程序产品,用以保证上述方法的实现及应用。
3、第一方面,本专利技术实施例公开了一种二进制翻译方法,所述方法包括:
4、若翻译到的当前指令为访存指令,则查询已分配的缓存寄存器中是否存在可复用的目标缓存寄存器;所述已分配的缓存寄存器中存储的是已翻译的访存指令的访存地址;所述可复用的目标缓存寄存器中的访存地址与所述当前指令的访存地址高位相同;
5、若存在可复用的目标缓存寄存器,则获
6、根据所述目标差值和所述目标缓存寄存器,将所述当前指令翻译为一条目标指令。
7、第二方面,本专利技术实施例公开了一种二进制翻译装置,所述装置包括:
8、缓存查询模块,用于若翻译到的当前指令为访存指令,则查询已分配的缓存寄存器中是否存在可复用的目标缓存寄存器;所述已分配的缓存寄存器中存储的是已翻译的访存指令的访存地址;所述可复用的目标缓存寄存器中的访存地址与所述当前指令的访存地址高位相同;
9、差值获取模块,用于若存在可复用的目标缓存寄存器,则获取目标差值;所述目标差值为所述当前指令的访存地址与所述目标缓存寄存器中的访存地址的差值;
10、优化翻译模块,用于根据所述目标差值和所述目标缓存寄存器,将所述当前指令翻译为一条目标指令。
11、第三方面,本专利技术实施例公开了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前述中任一所述的二进制翻译方法的步骤。
12、第四方面,本专利技术实施例公开了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时能够实现如前述中任一所述的二进制翻译方法。
13、第五方面,本专利技术实施例公开了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时如前述中任一所述的二进制翻译方法的步骤。
14、本专利技术实施例包括以下优点:
15、本专利技术实施例使用缓存寄存器缓存已翻译的访存指令的访存地址,为后续的访存指令提供复用其访存地址的功能,进而可以优化翻译后续的访存指令。由于连续的访存指令的访存地址通常是连续的,具有相同的高位地址,因此,本专利技术实施例在翻译当前的访存指令时可以复用已翻译的访存指令的访存地址,基于可复用的目标缓存寄存器中的访存地址以及目标差值(当前指令的访存地址与目标缓存寄存器中的访存地址的差值),可以将客户机平台的一条访存指令翻译为宿主机平台的一条访存指令,避免翻译后的指令重复加载相同的高位地址,极大减少了翻译后指令的数量,可以提高翻译器的执行效率,从而提升翻译器运行程序的速度。
本文档来自技高网...【技术保护点】
1.一种二进制翻译方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述查询已分配的缓存寄存器中是否存在可复用的目标缓存寄存器,包括:
3.根据权利要求2所述的方法,其特征在于,所述访存信息还包括访存指令中的静态值和动态值字段,所述判断所述目标缓存项是否满足复用条件,包括:
4.根据权利要求2所述的方法,其特征在于,所述基于所述当前指令的访存类型查询已保存的缓存项,包括:
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,根据所述目标差值和所述目标缓存寄存器,将所述当前指令翻译为一条目标指令,包括:
9.一种二进制翻译装置,其特征在于,所述装置包括:
10.根据权利要求9所述的装置,其特征在于,所述缓存查询模块,包括:
11.根据权利要求10所述的装置,其特征
12.根据权利要求10所述的装置,其特征在于,所述缓存查询子模块,具体用于:
13.根据权利要求9至12任一所述的装置,其特征在于,所述装置还包括:
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
15.根据权利要求13所述的装置,其特征在于,所述装置还包括:
16.根据权利要求9所述的装置,其特征在于,所述优化翻译模块,具体用于:
17.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1至8任一所述的二进制翻译方法的步骤。
18.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至8任一所述的二进制翻译方法的步骤。
19.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一所述的二进制翻译方法的步骤。
...【技术特征摘要】
1.一种二进制翻译方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述查询已分配的缓存寄存器中是否存在可复用的目标缓存寄存器,包括:
3.根据权利要求2所述的方法,其特征在于,所述访存信息还包括访存指令中的静态值和动态值字段,所述判断所述目标缓存项是否满足复用条件,包括:
4.根据权利要求2所述的方法,其特征在于,所述基于所述当前指令的访存类型查询已保存的缓存项,包括:
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,根据所述目标差值和所述目标缓存寄存器,将所述当前指令翻译为一条目标指令,包括:
9.一种二进制翻译装置,其特征在于,所述装置包括:
10.根据权利要求9所述的装置,其特征在于,所述缓存查询模块,包括:
11.根据权利要求10所述的装置,其特征在于,所述访存信息还包括访存指令中的静态值...
【专利技术属性】
技术研发人员:刘鑫鹏,曾露,
申请(专利权)人:龙芯中科技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。