CN119396410A 二进制翻译方法、二进制翻译器、电子设备及可读存储介质 (龙芯中科技术股份有限公司)_第1页
CN119396410A 二进制翻译方法、二进制翻译器、电子设备及可读存储介质 (龙芯中科技术股份有限公司)_第2页
CN119396410A 二进制翻译方法、二进制翻译器、电子设备及可读存储介质 (龙芯中科技术股份有限公司)_第3页
CN119396410A 二进制翻译方法、二进制翻译器、电子设备及可读存储介质 (龙芯中科技术股份有限公司)_第4页
CN119396410A 二进制翻译方法、二进制翻译器、电子设备及可读存储介质 (龙芯中科技术股份有限公司)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作数和第二操作数;第一操作数指向第一寄存2若识别到当前指令为间接跳转指令,则调用预置指令;所述预置指令执行预置计算逻辑,以计算所述目标PC值在哈希表中对应的目标索引从所述第二寄存器中读取所述目标索引值,并通过所述目标索引值查询2.根据权利要求1所述的方法,其特征在于,所述预置指令的指令码还包括第三操作对所述第一寄存器中存储的目标PC值的第一指定位与第二指定位执行根据所述哈希表的总长度确定所述第一指定位、所述第二指定位、定位为所述第二寄存器的第0位到第(j_1)位,所述第四指定位为所述第二寄存器的第j位3在执行态下,若查询到所述目标PC值命中所述哈希表通过所述目标索引值查询所述哈希表,如果存在所述目标索引值对应的如果存在所述目标索引值对应的目标项,而所述目标项中记所述第二寄存器用于存放所述预置指令的计指令执行模块,用于所述预置指令执行预置计算逻辑计算方式根据所述哈希表的总长度和所述哈希计算子模块,用于对所述第一寄存器中存储的目标PC第一确定模块,用于根据所述二进制翻译器的类型,确4定位为所述第二寄存器的第0位到第(j_1)位,所述第四指定位为所述第二寄存器的第j位第一查询子模块,用于通过所述目标索引值查询所述哈希表,第二查询子模块,用于通过所述目标索引值查询所述哈希表,第三查询子模块,用于通过所述目标索引值查询所述哈或指令被处理器执行时实现如权利要求1至9任一所述的行时实现如权利要求1至9任一所述的二进制翻译方5进制代码转换为另一种指令集架构的二进制代码。通过二进制翻译技术,可以使一种ISA[0003]随着微处理器性能的不断提升,通过二进制翻译在一种CPU体系架构下运行另一6序或指令,所述程序或指令被处理器执行时能够实现如前述中任一所述的二进制翻译方机程序被处理器执行时如前述中任一所述的二进制翻译方法所述预置指令的指令码包括第一操作数和第二操作数;所述第一操作数指向第一寄存器,中读取所述目标索引值,并通过所述目标索引值查询所述目标PC值是否命中所述哈希表,7象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互的代码片段进行翻译。本发明实施例的二进制翻译方法可应用于动态二进制翻译的场景,本发明实施例的二进制翻译器指的是动态二对执行到的片段进行翻译,将客户机指令(GUEST指令)以TB为单位,翻译成宿主机指令代码缓存中查找是否有已经翻译好的TB与程序计数器的当前值相对应。如果有,就跳转至翻译后的TB插入代码缓存中。8代码缓存中的地址(即所述间接跳转指令的跳转目标地址直接跳转到该跳转目标地址,的每一项可以包括如下两部分:GUEST指令的PC值和该PC值对应的翻译后指令在代码缓存9通过所述目标索引值查询所述哈希表,如果存在所述目标索引值对应的目标项,通过该目标索引值查询所述哈希表,如果不存在所述目标索引值对应的目标项,令码为32位。所述预置指令通过操作第一寄存器和第二寄存器实现计算目标索引值的操作数和所述第二操作数在所述指令码中占的位数根据所述宿主机平台的通用定点寄存器的指令码为32位,32位的指令码中包括21位的操作码、5位的第一操作数,5位的第二操作少了翻译执行间接跳转指令所需的指令数量,由此可以通过减少高频指令的指令翻译数置所述第三操作数中的立即数对应不同版本的二进制步骤S11、对所述第一寄存器中存储的目标PC值的第一指定位与第二指定位执行[0048]在本发明实施例中,所述预置指令可以执行步骤S11~S13实现计算目标PC值在哈项长度为16字节,则在使用第一类型的二进制翻译器时,可以根据二进制翻译器的类型确定预置指令具体的计算方式,如计算方式一。计算方式一中,可以根据哈希表的表项长度项长度为16字节,则在使用第二类型的二进制翻译器时,可以根据二进制翻译器的类型确定预置指令具体的计算方式,如计算方式二。计算方式二中,可以根据哈希表的表项长度的[31:16]位与[15:0]位按位进行异或计算,将异或计算的结果写在第二寄存器的[15:0][0070]参照图5,示出了本发明实施例另一个示例中预置指令执行预置计算逻辑的示意值的[23:12]位与[11:0]位按位进行异或计算,将异或计算的结果写在第二寄存器的[11:标索引值查询到的表项中存储的GUEST指令的PC值与该目标PC值一致,由此可以读取该表存储的GUEST指令的PC值与该目标P即为该目标PC值对应的GUEST指令翻译后的HOST指令在代码缓存中的TB首地址,也即下一操作数和所述第二操作数在所述指令码中占的位数根据所述宿主机平台的通用定点寄存[0092]本发明实施例提供了一种二进制翻译器,当二进制翻译器所述预置指令执行完成后,二进制翻译器可以从所述第二寄存器中读取所述目标索引值,少了翻译执行间接跳转指令所需的指令数量,由此可以通过减少高频指令的指令翻译数指令使所述处理器执行前述实施例的二进制翻译令由终端的程序或处理器执行时,使得终端能够执行前述实施例的二进制翻译方法的步[0099]这些计算机程序指令也可存储在能引导计算机或其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论