【技术实现步骤摘要】
二进制翻译方法、装置、电子设备及可读存储介质
[0001]本专利技术属于计算机
,特别是涉及一种二进制翻译方法
、
装置
、
电子设备及可读存储介质
。
技术介绍
[0002]在计算机
中,随着微处理器工艺的不断发展,微处理器的性能已经变得越来越强,为了使得计算机可以同时处理不同中央处理器
(Central Processing Unit
,
CPU)
指令集,通常通过二进制翻译技术将一种架构的源程序运行在另一种架构上
。
[0003]而在二进制翻译场景下,由于不同指令集的寄存器数量可能不同,导致二进制翻译器需要使用额外的内存进行数据存储,而对内存进行访问的效率较低,造成翻译后的程序的执行性能较低
。
技术实现思路
[0004]本专利技术提供一种二进制翻译方法
、
装置
、
电子设备及可读存储介质,以便解决翻译后的程序的执行性能较低的问题
。
[0005]为了解决上述技术问题,本专利技术是这样实现的:
[0006]第一方面,本专利技术提供一种二进制翻译方法,所述方法应用于集成有新增寄存器的第二架构,所述方法包括:
[0007]在对源程序进行翻译的过程中,确定所述第二架构可使用的寄存器的第一数量以及翻译所述源程序所需的寄存器的第二数量;
[0008]在所述第一数量小于所述第二数量的情况下,基于预设指令将所述源程序中的至少一条待 ...
【技术保护点】
【技术特征摘要】
1.
一种二进制翻译方法,其特征在于,所述方法应用于集成有新增寄存器的第二架构,所述方法包括:在对源程序进行翻译的过程中,确定所述第二架构可使用的寄存器的第一数量以及翻译所述源程序所需的寄存器的第二数量;在所述第一数量小于所述第二数量的情况下,基于预设指令将所述源程序中的至少一条待选源指令,翻译为目标指令;所述预设指令为所述第二架构对应的指令集中预先定义的用于访问所述新增寄存器的指令,所述待选源指令为所述源程序中对第一架构中的寄存器进行访问的源指令,所述第一架构对应的指令集与所述第二架构对应的指令集之间不兼容;其中,所述目标指令用于将所述待选源指令所指示的待存储数据存储至所述新增寄存器中,和
/
或,用于从所述待选源指令对应的新增寄存器中获取所述待选源指令所指示的数据
。2.
根据权利要求1所述方法,其特征在于,所述预设指令包括第一预设指令,在所述待选源指令指示将待存储数据存储至第一寄存器中的情况下,所述基于预设指令将所述源程序中的至少一条待选源指令,翻译为目标指令,包括:基于所述第一寄存器确定对应的新增寄存器以及第二寄存器;所述第二寄存器属于所述第二架构的原寄存器;基于所述待选源指令以及所述第二寄存器生成第一目标指令,所述第一目标指令用于将所述待选源指令指示的待存储数据存储至所述第二寄存器中;基于所述新增寄存器以及所述第一预设指令生成第二目标指令,所述第二目标指令用于将所述第二寄存器中的数据加载至所述新增寄存器中
。3.
根据权利要求1所述方法,其特征在于,所述预设指令包括第二预设指令,在所述待选源指令指示对第一寄存器中的数据进行运算操作的情况下,所述基于预设指令将所述源程序中的至少一条待选源指令,翻译为目标指令,包括:基于所述第一寄存器确定对应的新增寄存器以及第二寄存器;所述第二寄存器属于所述第二架构的原寄存器;基于所述新增寄存器以及所述第二预设指令生成第三目标指令,所述第三目标指令用于将所述新增寄存器中的数据加载至所述第二寄存器中;基于所述待选源指令以及所述第二寄存器生成第四目标指令,所述第四目标指令用于对所述第二寄存器中的数据进行运算操作
。4.
根据权利要求1所述方法,其特征在于,所述预设指令包括第三预设指令,在所述待选源指令指示跳转至第一目标地址的情况下,所述基于预设指令将所述源程序中的至少一条待选源指令,翻译为目标指令,包括:确定所述待选源指令所指示的第一寄存器以及跳转偏移值;基于所述第一寄存器确定对应的新增寄存器;基于所述第一寄存器对应的新增寄存器
、
所述跳转偏移值以及所述第三预设指令生成第五目标指令;所述第五目标指令用于指示跳转至第二目标地址,所述第一目标地址为基于所述待选源指令中的跳转偏移值以及所述第一寄存器中的数据构成的目标地址,所述第二目标地址为基于所述第一寄存器对应的新增寄存器中的数据以及所述跳转偏移值构成
的目标地址
。5.
根据权利要求1所述方法,其特征在于,所述目标指令还用于指示生成目标信号,所述目标信号用于指示所述第二架构的处理器在接收到针对其他线程的调用操作的情况下,将所述新增寄存器中的数据存储至当前线程对应的线程数据区中;所述其他线程为与所述当前线程不同的线程;所述目标信号还用于指示所述第二架构的处理器在返回至所述当前线程的情况下,将所述当前线程对应的线程数据区中的数据存储至所述新增寄存器中
。6.
根据权利要求1‑5任一所述方法,其特征在于,所述新增寄存器与所述第二架构的通用寄存器的数据长度相同
。7.
一种二进制翻译装置,其特征在于,所述装置应用于集成有新增寄存器的第二架构,所述装置包括:数量确定模块,用于在对源程序进行翻译的过程中,确定所述第二架构可使用的寄存器的第一数量以及翻译所述源程序所需的寄存器的第二数量;翻译模块,用于在所述第一数量小...
【专利技术属性】
技术研发人员:兰彦志,李晗璐,曾露,
申请(专利权)人:龙芯中科技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。