【技术实现步骤摘要】
指令功能模型的实现方法和装置、电子设备和存储介质
[0001]本公开的实施例涉及一种指令功能模型的实现方法、指令功能模型的实现装置、电子设备和存储介质。
技术介绍
[0002]二进制翻译(binary translation)是一种二进制机器码的重编译方式,使指令序列从源指令集机器码翻译至目标指令集机器码。在功能模型或指令集仿真中,目标指令集和源指令集可能相同,利用仿真计算机支持的指令集模拟源指令集功能。例如,在实现X86指令集功能模型时,可以通过二进制翻译,对指令序列进行翻译加工得到对应的X86指令序列并运行在具有X86微架构的计算机上,得到模拟的指令序列结果;或者在实现ARMv9指令集功能模型时,可以通过二进制翻译,对指令序列进行翻译加工得到对应的ARMv9指令序列并运行在具有ARMv9微架构的计算机上,得到模拟的指令序列结果。但是,即使源指令集和目标指令集相同,二进制翻译也要处理模拟环境和计算机环境之间的切换传递,指令集系统功能实现等问题。
技术实现思路
[0003]本公开的至少一个实施例提供了一种指令功能模型的实现方法,包括:获取符合第一指令集且要从所述第一指令集翻译为第二指令集的对象指令,其中,所述第一指令集是对所述第二指令集的扩展;向目标计算机的内存空间填写所述目标计算机支持的系统操作代码和功能与所述对象指令对应的目标指令代码,其中,所述目标计算机支持运行所述第二指令集;执行所述系统操作代码和所述目标指令代码以实现对所述对象指令的功能的模拟。
[0004]例如,在本公开的至少一个实 ...
【技术保护点】
【技术特征摘要】
1.一种指令功能模型的实现方法,包括:获取符合第一指令集且要从所述第一指令集翻译为第二指令集的对象指令,其中,所述第一指令集是对所述第二指令集的扩展;向目标计算机的内存空间填写所述目标计算机支持的系统操作代码和功能与所述对象指令对应的目标指令代码,其中,所述目标计算机支持运行所述第二指令集;执行所述系统操作代码和所述目标指令代码以实现对所述对象指令的功能的模拟。2.根据权利要求1所述的指令功能模型的实现方法,其中,所述向目标计算机的内存空间填写所述目标计算机支持的系统操作代码和功能与所述对象指令对应的目标指令代码,包括:当所述对象指令的向量长度小于相应长度时,用符合所述第二指令集的一条目标指令代替所述对象指令,当所述对象指令的向量长度等于所述相应长度时,用符合所述第二指令集的至少两条目标指令代替所述对象指令。3.根据权利要求2所述的指令功能模型的实现方法,还包括:将所述至少两条目标指令分别计算得到的至少两部分计算结果进行拼接并写回目的操作数。4.根据权利要求3所述的指令功能模型的实现方法,其中,当用所述目标计算机支持的两条目标指令代替所述对象指令时,所述指令功能模型的实现方法还包括:将所述对象指令的向量操作数的有效位宽对半划分为第一部分和第二部分;使用所述两条目标指令中的第一目标指令对所述第一部分进行计算,并将所得到的第一计算结果进行暂存;使用所述两条目标指令中的第二目标指令对所述第二部分进行计算,并将所得到的第二计算结果与所述第一计算结果进行拼接以形成最终计算结果;以及将所述最终计算结果一次写回目的操作数。5.根据权利要求4所述的指令功能模型的实现方法,其中,所述使用所述两条目标指令中的第二目标指令对所述第二部分进行计算,并将所得到的第二计算结果与所述第一计算结果进行拼接以形成最终计算结果,包括:将所述第一计算结果和所述第二计算结果中的任何一个作为所述最终计算结果的连续高位,并且将所述第一计算结果和所述第二计算结果中的另一个作为所述最终计算结果的连续低位。6.根据权利要求1
‑
5中任一所述的指令功能模型的实现方法,还包括:当所述对象指令使能了静态舍入控制时,将所述目标计算机中用于存储指示静态舍入控制的字段的寄存器的值改写为指示静态舍入控制的舍入模式的值。7.根据权利要求1
‑
5中任一所述的指令功能模型的实现方法,还包括:当所述对象指令使能了异常抑制时,将所述目标计算机中用于存储指示异常抑制的字段的寄存器的值改写为指示异常抑制模式的值。8.根据权利要求1
‑
5中任一所述的指令功能模型的实现方法,还包括:对所述对象指令进行译码,以识别所述对象指令并得到所述对象指令的指令信息,其中,所述指令信息包括指令功能,所述指令功能包括所述第一指令集相对于所述第二指令
集的扩展功能。9.根据权利要求8所述的指令功能模型的实...
【专利技术属性】
技术研发人员:赵炎,
申请(专利权)人:海光信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。