【技术实现步骤摘要】
本专利技术涉及计算机技术以及处理器技术,尤其涉及一种扩充指令的模拟方法和装置。
技术介绍
在处理器的升级和更新过程中,需要对二进制可执行程序中的指令进行扩充,从而形成了扩充指令。在对处理器的指令集中的指令进行扩充之后,需要对二进制可执行程序的扩充指令进行模拟执行,模拟执行的内容包括了对扩充指令的模拟、对扩充指令的验证等工作。现有技术中,在对二进制可执行程序的扩充指令进行测试的时候,需要将多条测试代码或者多条测试指令放置到扩充指令的位置处,然后重新对二进制可执行程序的代码程序进行扫描,重新记录二进制可执行程序的各指令的位置,然后执行二进制可执行程序的所有指令,进而对扩充指令进行测试。然而现有技术中,由于多条测试代码或者多条测试指令被放置到扩充指令的位置处,从而会该改变二进制可执行程序中的指令条数以及地址,从而在对二进制可执行程序的各扩充指令进行测试之前,需要先对二进制可执行程序的代码程序进行扫描,再完成对各扩充指令的测试过程,进而增加了对二进制可执行程序的扩充指令进行测试的时间,降低了测试的效率。
技术实现思路
本专利技术提供一种扩充指令的模拟方法和装置,用以解决现有技术中在对二进制可执行程序的各扩充指令进行测试之前,需要先对二进制可执行程序的代码程序进行扫描,再完成对各扩充指令的测试过程,进而增加了对二进制可执行程序的扩充指令进行测试的时间,降低了测试的效率的问题。本专利技术的一方面是提供一种扩充指令的模拟方法,包括:根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置,其中,所述用户态软中断指令与二进制可执行程序中的扩充指令 ...
【技术保护点】
一种扩充指令的模拟方法,其特征在于,包括:根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置,其中,所述用户态软中断指令与二进制可执行程序中的扩充指令对应;根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序。
【技术特征摘要】
1.一种扩充指令的模拟方法,其特征在于,包括:根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置,其中,所述用户态软中断指令与二进制可执行程序中的扩充指令对应;根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序。2.根据权利要求1所述的方法,其特征在于,在所述根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,还包括:接收替换指令,所述替换指令中包括各扩充指令以及与各扩充指令一一对应的用户态软中断指令;根据替换指令,将各扩充指令分别替换为与各扩充指令一一对应的用户态软中断指令。3.根据权利要求1所述的方法,其特征在于,所述用户态软中断指令中还包括:第一寄存器标识;在所述根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之前,还包括:根据所述用户态软中断指令,将所述用户态软中断指令的程序计数器PC值存储至与所述第一寄存器标识对应的寄存器中;相应的,在所述根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之后,还包括:根据所述用户态软中断指令的PC值,确定并模拟执行所述二进制可执行程序中与用户态软中断指令的PC值对应的指令。4.根据权利要求1所述的方法,其特征在于,在所述根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,还包括:接收第一存储指令,所述第一存储指令包括第二寄存器标识;根据所述第一存储指令,将具有与各扩充指令对应的指令模拟程序的指令集模拟器存储至内存中,并确定指令集模拟器在内存中的内存位置之后,将所述内存位置存储至与所述第二寄存器标识对应的寄存器中。5.根据权利要求1-4任一项所述的方法,其特征在于,在所述根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,还包括:接收第二存储指令,所述第二存储指令包括第三寄存器标识;根据所述第二存储指令,将各扩充指令的各指令信息,分别存储至与所述第三寄存器标识对应的寄存器中。6.根据权利要求5所述的方法,其特征在于,在所述根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之后,还包括:接收清除指令,所述清除指令包括所述第三寄存器标识;根据所述清除指令,清除与所述第三寄存器标识对应的寄存器中的各指令信息。7.一种扩充指令的模拟装置,其特征在于,包括:确定模块,用于根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置,其中,所述用户态软中断指令与二进制可执行程序中的扩充指令对应;执行模块,用于根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序。8.根据权利要求7所述的装置,其特征在于,还包括:替换模块,用于在所述确定模块根据二进制可执行程序中的用户态软中断指令,确定与扩充指令对应的指令模拟程序的内存位置之前,接收替换指令,所述替换指令中包括各扩充指令以及与各扩充指令一一对应的用户态软中断指令;根据替换指令,将各扩充指令分别替换为与各扩充指令一一对应的用户态软中断指令。9.根据权利要求7所述的装置,其特征在于,所述用户态软中断指令中还包括:第一寄存器标识;所述扩充指令的模拟装置,还包括:第一存储模块,用于在所述执行模块根据所述内存位置,调用并执行与扩充指令对应的指令模拟程序之前,根据...
【专利技术属性】
技术研发人员:薛双百,屈秋雯,
申请(专利权)人:龙芯中科技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。