【技术实现步骤摘要】
一种指令执行方法及装置
[0001]本专利技术涉及协处理器
,尤其涉及一种指令执行方法及装置
。
技术介绍
[0002]指令集是计算机的基本组成部分之一,用于指导处理器执行各种操作
。
它包括命令
、
寄存器以及地址编码方式等信息
。
但是,二进制程序只能在具有与之相匹配的指令集的
CPU
上执行,若被执行的二进制程序所采用的指令集不与
CPU
使用的指令集匹配,则
CPU
无法执行该二进制
。
[0003]目前,通过软件转译的方式对指令集不匹配的二进制进行转译,得到与
CPU
架构相匹配的二进制或指令序列,然后再将转译后的二进制或指令序列输入至
CPU
中执行
。
但是,软件转译本身需要较高的时间成本,且转译后的二进制或指令片段执行效率通常相当低,这导致通过软件转译执行异指令集的二进制性能相当低下
。
[0004]因此,如何提高指令转译
/
指令模拟的效率,是当前亟需解决的技术问题
。
技术实现思路
[0005]本专利技术实施例提供一种指令执行方法及装置,用以解决现有技术中指令转译
/
指令模拟的效率较低的问题
。
[0006]第一方面,本专利技术实施例提供一种指令执行方法,包括:
CPU
在用户态执行指令的过程中,若确定当前指令为非法指令, ...
【技术保护点】
【技术特征摘要】
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
在内核态下获取所述模拟...
【专利技术属性】
技术研发人员:苏运强,张荣,
申请(专利权)人:上海芯联芯智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。