一种指令执行方法及装置制造方法及图纸

技术编号:39602815 阅读:19 留言:0更新日期:2023-12-03 20:03
本发明专利技术实施例提供一种指令执行方法及装置,包括:

【技术实现步骤摘要】
一种指令执行方法及装置


[0001]本专利技术涉及协处理器
,尤其涉及一种指令执行方法及装置


技术介绍

[0002]指令集是计算机的基本组成部分之一,用于指导处理器执行各种操作

它包括命令

寄存器以及地址编码方式等信息

但是,二进制程序只能在具有与之相匹配的指令集的
CPU
上执行,若被执行的二进制程序所采用的指令集不与
CPU
使用的指令集匹配,则
CPU
无法执行该二进制

[0003]目前,通过软件转译的方式对指令集不匹配的二进制进行转译,得到与
CPU
架构相匹配的二进制或指令序列,然后再将转译后的二进制或指令序列输入至
CPU
中执行

但是,软件转译本身需要较高的时间成本,且转译后的二进制或指令片段执行效率通常相当低,这导致通过软件转译执行异指令集的二进制性能相当低下

[0004]因此,如何提高指令转译
/
指令模拟的效率,是当前亟需解决的技术问题


技术实现思路

[0005]本专利技术实施例提供一种指令执行方法及装置,用以解决现有技术中指令转译
/
指令模拟的效率较低的问题

[0006]第一方面,本专利技术实施例提供一种指令执行方法,包括:
CPU
在用户态执行指令的过程中,若确定当前指令为非法指令,则切换至内核态;
CPU
在内核态下将非法指令发送至协处理器;协处理器对非法指令进行模拟运行,得到模拟结果;
CPU
在内核态下获取模拟结果后,切换至用户态下继续执行后续指令

[0007]上述技术方案中,由于
CPU
是通用电路,而协处理器是专门用于对非法指令进行模拟的专用电路,因此,使用协处理器对非法指令进行模拟的效率会高于使用
CPU
对非法指令进行模拟的效率

通过内核和协处理器协同模拟,内核负责把需要模拟的指令取出来,然后协处理器来模拟指令,从而提高指令模拟的效率

[0008]可选的,协处理器对非法指令进行模拟运行,得到模拟结果,包括:协处理器对非法指令进行解析,得到解析结果;
CPU
在内核态下获得解析结果对应的寄存器数据,并将寄存器数据发送至协处理器;协处理器通过寄存器数据进行非法指令的模拟运行,得到模拟结果

[0009]可选的,还包括:在协处理器对非法指令进行解析的过程中,
CPU
切换至用户态并执行第一指令;第一指令为当前指令之外的任一或多条指令;得到解析结果之后,
CPU
在内核态下获得解析结果对应的寄存器数据之前,还包括:协处理器向
CPU
发送第一中断;
CPU
基于第一中断切换至内核态

[0010]可选的,还包括:在协处理器对非法指令进行解析的过程中,
CPU
在内核态下执行空等待;得到解析结果之后,
CPU
在内核态下获得解析结果对应的寄存器数据之前,还包括:协处理器向
CPU
发送第一中断

[0011]可选的,还包括:在协处理器对非法指令进行解析的过程中,
CPU
在内核态下执行第一忙等待,第一忙等待用于从协处理获得解析结果

[0012]可选的,还包括:在协处理器对非法指令进行模拟的过程中,
CPU
切换至用户态并执行第二指令;第二指令为当前指令之外的任一或多条指令;协处理器得到模拟结果之后,
CPU
在内核态下获取模拟结果之前,还包括:协处理器向
CPU
发送第二中断;
CPU
基于第二中断切换至内核态

[0013]可选的,还包括:在协处理器对非法指令进行模拟的过程中,
CPU
在内核态下执行空等待;协处理器得到模拟结果之后,
CPU
在内核态下获取模拟结果之前,还包括:协处理器向
CPU
发送第二中断

[0014]可选的,还包括:在协处理器对非法指令进行模拟的过程中,
CPU
在内核态下执行第二忙等待,第二忙等待用于从协处理器获得模拟结果

[0015]可选的,第一中断和第二中断是通过同一个向量化中断实现的,或通过不同的向量化中断实现

[0016]可选的,协处理器对非法指令进行模拟运行,得到模拟结果,包括:协处理器对非法指令进行解析,得到解析结果;协处理器根据解析结果,获取解析结果对应的影子寄存器数据;协处理器通过影子寄存器数据进行非法指令的模拟运行,得到模拟结果

[0017]可选的,协处理器通过影子寄存器数据进行非法指令的模拟运行,得到模拟结果之后,还包括:若非法指令与影子寄存器有关联关系,则将模拟结果写入影子寄存器中

[0018]第二方面,本专利技术实施例提供一种指令执行装置,包括:第一处理单元在用户态执行指令的过程中,若确定当前指令为非法指令,则切换至内核态;第一处理单元在内核态下将非法指令发送至第二处理单元;第二处理单元对非法指令进行模拟运行,得到模拟结果;第一处理单元在内核态下获取模拟结果后,切换至用户态下继续执行后续指令

[0019]可选的,第二处理单元对非法指令进行解析,得到解析结果;第一处理单元在内核态下获得解析结果对应的寄存器数据,并将寄存器数据发送至第二处理单元;第二处理单元通过寄存器数据进行非法指令的模拟运行,得到模拟结果

[0020]可选的,在第二处理单元对非法指令进行解析的过程中,第一处理单元切换至用户态并执行第一指令;第一指令为当前指令之外的任一或多条指令;第二处理单元向第一处理单元发送第一中断;第一处理单元基于第一中断切换至内核态

[0021]可选的,在第二处理单元对非法指令进行解析的过程中,第一处理单元在内核态下执行空等待;第二处理单元向第一处理单元发送第一中断

[0022]可选的,在第二处理单元对非法指令进行解析的过程中,第一处理单元在内核态下执行第一忙等待,第一忙等待用于从协处理获得解析结果

[0023]可选的,在第二处理单元对非法指令进行模拟的过程中,第一处理单元切换至用户态并执行第二指令;第二指令为当前指令之外的任一或多条指令;第二处理单元向第一处理单元发送第二中断;第一处理单元基于第二中断切换至内核态

[0024]可选的,在第二处理单元对非法指令进行模拟的过程中,第一处理单元在内核态下执行空等待;第二处理单元向第一处理单元发送第二中断

[0025]可选的,在第二本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种指令执行方法,其特征在于,包括:
CPU
在用户态执行指令的过程中,若确定当前指令为非法指令,则切换至内核态;所述
CPU
在内核态下将所述非法指令发送至协处理器;所述协处理器对所述非法指令进行模拟运行,得到模拟结果;所述
CPU
在内核态下获取所述模拟结果后,切换至用户态下继续执行后续指令
。2.
如权利要求1所述的方法,其特征在于,所述协处理器对所述非法指令进行模拟运行,得到模拟结果,包括:所述协处理器对所述非法指令进行解析,得到解析结果;所述
CPU
在内核态下获得所述解析结果对应的寄存器数据,并将所述寄存器数据发送至所述协处理器;所述协处理器通过所述寄存器数据进行所述非法指令的模拟运行,得到模拟结果
。3.
如权利要求2所述的方法,其特征在于,还包括:在所述协处理器对所述非法指令进行解析的过程中,所述
CPU
切换至用户态并执行第一指令;所述第一指令为所述当前指令之外的任一或多条指令;所述得到解析结果之后,所述
CPU
在内核态下获得所述解析结果对应的寄存器数据之前,还包括:所述协处理器向所述
CPU
发送第一中断;所述
CPU
基于所述第一中断切换至内核态
。4.
如权利要求2所述的方法,其特征在于,还包括:在所述协处理器对所述非法指令进行解析的过程中,所述
CPU
在内核态下执行空等待;所述得到解析结果之后,所述
CPU
在内核态下获得所述解析结果对应的寄存器数据之前,还包括:所述协处理器向所述
CPU
发送第一中断
。5.
如权利要求2所述的方法,其特征在于,还包括:在所述协处理器对所述非法指令进行解析的过程中,所述
CPU
在内核态下执行第一忙等待,所述第一忙等待用于从所述协处理获得解析结果
。6.
如权利要求3至5任一项所述的方法,其特征在于,还包括:在所述协处理器对所述非法指令进行模拟的过程中,所述
CPU
切换至用户态并执行第二指令;所述第二指令为所述当前指令之外的任一或多条指令;所述协处理器得到模拟结果之后,所述
CPU
在内核态下获取所述模拟...

【专利技术属性】
技术研发人员:苏运强张荣
申请(专利权)人:上海芯联芯智能科技有限公司
类型:发明
国别省市:

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

1