翻译控制方法、二进制翻译方法、指令执行方法及装置制造方法及图纸

技术编号:38344759 阅读:12 留言:0更新日期:2023-08-02 09:24
本发明专利技术实施例提供一种翻译控制方法、二进制翻译方法、指令执行方法及装置,涉及计算机技术领域。其中的翻译控制方法包括:对总线上传输的数据进行实时监测;在监测到宿主机发送的取指请求的情况下,记录所述取指请求对应的取指目标地址;在监测到所述取指请求对应的取指结果,且所述取指结果需要进行翻译的情况下,向二进制翻译器发送第一指示;所述第一指示用于指示所述取指目标地址对应的基本块需要进行二进制翻译;从所述取指目标地址处重新取指,得到翻译后的目标指令;将所述目标指令发送至所述宿主机。本发明专利技术实施例可以提升宿主机的指令执行效率,提升二进制翻译性能。提升二进制翻译性能。提升二进制翻译性能。

【技术实现步骤摘要】
翻译控制方法、二进制翻译方法、指令执行方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种翻译控制方法、二进制翻译方法、指令执行方法及装置。

技术介绍

[0002]动态二进制翻译技术通常用于在宿主机上执行不同指令集的客户程序,其基本工作过程是将一段客户指令序列翻译成语义等价的宿主指令序列并执行。
[0003]在翻译过程中,客户程序会被划分为一个或多个基本块。当一个基本块被执行结束之后,再翻译下一个基本块并执行。如果要在宿主机中执行客户程序,宿主机需要在翻译态和执行态之间来回切换,严重影响二进制翻译性能和指令执行效率。

技术实现思路

[0004]本专利技术实施例提供一种翻译控制方法、二进制翻译方法、指令执行方法及装置,可以解决在宿主机中执行客户程序时,宿主机需要在翻译态和执行态之间来回切换,影响二进制翻译性能和指令执行效率的问题。
[0005]第一方面,本专利技术实施例公开了一种翻译控制方法,应用于翻译控制器,所述翻译控制器与宿主机、二进制翻译器均连接在总线上;所述方法包括:对所述总线上传输的数据进行实时监测;在监测到所述宿主机发送的取指请求的情况下,记录所述取指请求对应的取指目标地址;在监测到所述取指请求对应的取指结果,且所述取指结果需要进行翻译的情况下,向所述二进制翻译器发送第一指示;所述第一指示用于指示所述取指目标地址对应的基本块需要进行二进制翻译;所述基本块为所述二进制翻译器的基本处理单位;从所述取指目标地址处重新取指,得到翻译后的目标指令;将所述目标指令发送至所述宿主机。
[0006]第二方面,本专利技术实施例公开了一种二进制翻译方法,应用于二进制翻译器,所述二进制翻译器与翻译控制器、宿主机均连接在总线上;所述方法包括:接收所述翻译控制器发送的第一指示;所述第一指示用于指示取指目标地址对应的基本块需要进行二进制翻译;所述取指目标地址为所述宿主机发送的取指请求中携带的地址;所述基本块为所述二进制翻译器的基本处理单位;对所述取指目标地址对应的基本块进行二进制翻译,得到翻译后的目标指令;所述目标指令属于所述宿主机支持的指令集;利用所述目标指令覆盖所述取指目标地址对应的基本块。
[0007]第三方面,本专利技术实施例公开了一种指令执行方法,所述宿主机与翻译控制器、二进制翻译器、内存均连接在总线上;所述方法包括:向所述内存发送取指请求,所述取指请求中携带取指目标地址;
接收所述内存返回的取指结果并执行;或者,接收所述翻译控制器发送的目标指令并执行;其中,所述目标指令为所述取指目标地址对应的基本块被翻译后得到的指令;所述取指结果与所述目标指令均属于所述宿主机支持的指令集。
[0008]第四方面,本专利技术实施例公开了一种翻译控制装置,应用于翻译控制器,所述翻译控制器与宿主机、二进制翻译器均连接在总线上;所述装置包括:监测模块,用于对所述总线上传输的数据进行实时监测;记录模块,用于在监测到所述宿主机发送的取指请求的情况下,记录所述取指请求对应的取指目标地址;第一指示发送模块,用于在监测到所述取指请求对应的取指结果,且所述取指结果需要进行翻译的情况下,向所述二进制翻译器发送第一指示;所述第一指示用于指示所述取指目标地址对应的基本块需要进行二进制翻译;所述基本块为所述二进制翻译器的基本处理单位;取指模块,用于从所述取指目标地址处重新取指,得到翻译后的目标指令;指令发送模块,用于将所述目标指令发送至所述宿主机。
[0009]第五方面,本专利技术实施例公开了一种二进制翻译装置,应用于二进制翻译器,所述二进制翻译器与翻译控制器、宿主机均连接在总线上;所述装置包括:第一指示接收模块,用于接收所述翻译控制器发送的第一指示;所述第一指示用于指示取指目标地址对应的基本块需要进行二进制翻译;所述取指目标地址为所述宿主机发送的取指请求中携带的地址;所述基本块为所述二进制翻译器的基本处理单位;翻译模块,用于对所述取指目标地址对应的基本块进行二进制翻译,得到翻译后的目标指令;所述目标指令属于所述宿主机支持的指令集;覆盖模块,用于利用所述目标指令覆盖所述取指目标地址对应的基本块。
[0010]第六方面,本专利技术实施例公开了一种指令执行装置,应用于宿主机,所述宿主机与翻译控制器、二进制翻译器、内存均连接在总线上;所述装置包括:取指请求发送模块,用于向所述内存发送取指请求,所述取指请求中携带取指目标地址;第一接收模块,用于接收所述内存返回的取指结果并执行;或者,第二接收模块,用于接收所述翻译控制器发送的目标指令并执行;其中,所述目标指令为所述取指目标地址对应的基本块被翻译后得到的指令;所述取指结果与所述目标指令均属于所述宿主机支持的指令集。
[0011]第七方面,本专利技术实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述第一方面的翻译控制方法,或者,执行前述第二方面的二进制翻译方法,或者,执行前述第三方面的指令执行方法。
[0012]本专利技术实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述第一方面的翻译控制方法,或者,执行前述第二方面的二进制翻译方法,或者,执行前述第三方面的指令执行方法。
[0013]本专利技术实施例包括以下优点:在本专利技术实施例中,宿主机无需感知动态二进制翻译过程,也不需要在执行指令和翻译客户程序之间来回切换,从而节省了上下文切换开销,提升了宿主机的指令执行效率。并且,本专利技术实施例将指令执行和二进制翻译独立开来,二进制翻译过程由二进制翻译器执行,二进制翻译器仅需在接收到第一指示的情况下对取指结果进行二进制翻译,无需关注指令执行过程,从而提升了二进制翻译性能。
附图说明
[0014]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1是本专利技术的一种翻译控制方法实施例的步骤流程图;图2是本专利技术的一种二进制翻译系统的架构示意图;图3是本专利技术的一种二进制翻译方法实施例的步骤流程图;图4是本专利技术的一种指令执行方法实施例的步骤流程图;图5是本专利技术的一种翻译控制装置的结构框图;图6是本专利技术的一种二进制翻译装置的结构框图;图7是本专利技术的一种指令执行装置的结构框图;图8是本专利技术示例提供的一种电子设备的结构框图。
具体实施方式
[0016]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0017]本专利技术的说明书和权利要求书中的术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种翻译控制方法,其特征在于,应用于翻译控制器,所述翻译控制器与宿主机、二进制翻译器均连接在总线上;所述方法包括:对所述总线上传输的数据进行实时监测;在监测到所述宿主机发送的取指请求的情况下,记录所述取指请求对应的取指目标地址;在监测到所述取指请求对应的取指结果,且所述取指结果需要进行翻译的情况下,向所述二进制翻译器发送第一指示;所述第一指示用于指示所述取指目标地址对应的基本块需要进行二进制翻译;所述基本块为所述二进制翻译器的基本处理单位;从所述取指目标地址处重新取指,得到翻译后的目标指令;将所述目标指令发送至所述宿主机。2.根据权利要求1所述的方法,其特征在于,在监测到所述取指请求对应的取指结果,且所述取指结果需要进行翻译的情况下,向所述二进制翻译器发送第一指示之前,所述方法还包括:在满足预设条件的情况下,确定所述取指结果需要进行翻译;其中,所述预设条件包括:所述取指结果中包括预先指定的非法指令,且所述取指目标地址为代码缓存中的地址;所述代码缓存用于存储预先指定的非法指令。3.根据权利要求2所述的方法,其特征在于,所述代码缓存为被所述宿主机初始化为用于存储预先指定的非法指令的缓存,且所述代码缓存的起始地址和结束地址被写入所述翻译控制器。4.根据权利要求1所述的方法,其特征在于,所述在监测到所述取指请求对应的取指结果,且所述取指结果需要进行翻译的情况下,向所述二进制翻译器发送第一指示,包括:在监测到所述取指请求对应的取指结果,且所述取指结果需要进行翻译的情况下,拦截所述取指结果并丢弃;向所述二进制翻译器发送第一指示。5.根据权利要求1所述的方法,其特征在于,所述从所述取指目标地址处重新取指,得到翻译后的目标指令,包括:在接收到第二指示的情况下,从所述取指目标地址处重新取指,得到翻译后的目标指令;其中,所述第二指示用于指示所述取指目标地址对应的基本块已被翻译为适配于所述宿主机的目标指令。6.一种二进制翻译方法,其特征在于,应用于二进制翻译器,所述二进制翻译器与翻译控制器、宿主机均连接在总线上;所述方法包括:接收所述翻译控制器发送的第一指示;所述第一指示用于指示取指目标地址对应的基本块需要进行二进制翻译;所述取指目标地址为所述宿主机发送的取指请求中携带的地址;所述基本块为所述二进制翻译器的基本处理单位;对所述取指目标地址对应的基本块进行二进制翻译,得到翻译后的目标指令;所述目标指令属于所述宿主机支持的指令集;利用所述目标指令覆盖所述取指目标地址对应的基本块。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
向所述翻译控制器发送第二指示;其中,所述第二指示用于指示所述取指目标地址对应的基本块已被翻译为适配于所述宿主机的目标指令。8.一种指令执行方法,其特征在于,应用于宿主机,所述宿主机与翻译控制器、二进制翻译器、内存均连接在总线上;所述方法包括:向所述内存发送取指请求,所述取指请求中携带取指目标地址;接收所述内存返回的取指结果并执行;或者,接收所述翻译控制器发送的目标指令并执行;其中,所述目标指令为所述取指目标地址...

【专利技术属性】
技术研发人员:余子濠唐丹包云岗
申请(专利权)人:北京开源芯片研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1