一种CPU的指令集兼容方法及其终端与流程

文档序号:11133549阅读:来源:国知局

技术特征:

1.一种CPU的指令集兼容方法,其特征在于,包括:

获取到AMD CPU运行SSSE3指令应用的命令,通过捕获所述SSSE3指令应用运行后的异常信号;

调用预置异常handler函数,并进行所述异常信号是否为SSSE3指令的判断,若是,则通过预置SSE1指令和预置SSE2指令模拟所述SSSE3指令,使得所述SSSE3指令应用成功运行。

2.根据权利要求1所述的CPU的指令集兼容方法,其特征在于,获取到AMD CPU运行SSSE3指令应用的命令,通过捕获所述SSSE3指令应用运行后的异常信号之前还包括:

进行内核初始化处理,注册所述预置异常handler函数。

3.根据权利要求1所述的CPU的指令集兼容方法,其特征在于,获取到AMD CPU运行SSSE3指令应用的命令,通过捕获所述SSSE3指令应用运行后的异常信号具体包括:

获取到所述AMD CPU运行SSSE3指令应用的命令,通过捕获SSSE3非法指令X86_TRAP_UD;

根据所述SSSE3非法指令X86_TRAP_UD发送所述SSSE3指令应用运行后的异常信号给所述AMD CPU。

4.根据权利要求1至3中任意一项所述的CPU的指令集兼容方法,其特征在于,调用预置异常handler函数,并进行所述异常信号是否为SSSE3指令的判断,若是,则通过预置SSE1指令和预置SSE2指令模拟所述SSSE3指令,使得所述SSSE3指令应用成功运行具体包括:

调用预置异常handler函数,添加若干个用于处理所述SSSE3指令的处理指令,并进行所述异常信号是否为所述SSSE3指令,若是,则执行分析当前所述SSSE3指令的指令格式步骤;

所述分析当前所述SSSE3指令的指令格式步骤具体包括:

通过get指令读取源操作数SRC;

判断所述源操作数SRC是存储在寄存器或是内存中,若存储在所述寄存器,则先读取所述寄存器的所述源操作数SRC到内存中;

当读取所述寄存器的所述源操作数SRC到内存中,或若判断所述源操作数SRC是存储在所述内存中,则通过所述预置SSE1指令和所述预置SSE2指令通过内存算法模拟所述SSSE3指令;

将模拟所述SSSE3指令之后的模拟结果写回所述内存或所述寄存器中,使得所述SSSE3指令应用成功运行。

5.根据权利要求4所述的CPU的指令集兼容方法,其特征在于,将模拟所述SSSE3指令之后的模拟结果写回所述内存或所述寄存器中,使得所述SSSE3指令应用成功运行具体包括:

将模拟所述SSSE3指令之后的模拟结果写回所述内存或所述寄存器中;

将所述内存或所述寄存器中的地址进行指向下一条所述处理指令;

根据指向下一条所述处理指令后通过调用预置异常handler函数获取到返回的所述异常信号,进行所述异常信号是否为所述SSSE3指令,若是,则执行所述分析当前所述SSSE3指令的指令格式步骤,直到若干个所述处理指令处理完毕。

6.一种CPU的指令集兼容终端,其特征在于,包括:

获取捕获单元,用于获取到AMD CPU运行SSSE3指令应用的命令,通过捕获所述SSSE3指令应用运行后的异常信号;

模拟指令单元,用于调用预置异常handler函数,并进行所述异常信号是否为SSSE3指令的判断,若是,则通过预置SSE1指令和预置SSE2指令模拟所述SSSE3指令,使得所述SSSE3指令应用成功运行。

7.根据权利要求6所述的CPU的指令集兼容终端,其特征在于,CPU的指令集兼容终端还包括:

注册单元,用于进行内核初始化处理,注册所述预置异常handler函数。

8.根据权利要求6所述的CPU的指令集兼容终端,其特征在于,获取捕获单元具体包括:

获取捕获子单元,用于获取到所述AMD CPU运行SSSE3指令应用的命令,通过捕获SSSE3非法指令X86_TRAP_UD;

异常信号子单元,用于根据所述SSSE3非法指令X86_TRAP_UD发送所述SSSE3指令应用运行后的异常信号给所述AMD CPU。

9.根据权利要求6至8中任意一项所述的CPU的指令集兼容终端,其特征在于,模拟指令单元具体包括:

调用判断子单元,用于调用预置异常handler函数,添加若干个用于处理所述SSSE3指令的处理指令,并进行所述异常信号是否为所述SSSE3指令的判断,若是,则触发格式分析子单元;

所述格式分析子单元具体包括:

源操作数读取模块,用于通过get指令读取源操作数SRC;

判断模块,用于判断所述源操作数SRC是存储在寄存器或是内存中,若存储在所述寄存器,则先读取所述寄存器的所述源操作数SRC到内存中;

内存算法模拟模块,用于当读取所述寄存器的所述源操作数SRC到内存中,或若判断所述源操作数SRC是存储在所述内存中,则通过所述预置SSE1指令和所述预置SSE2指令通过内存算法模拟所述SSSE3指令;

写回模块,用于将模拟所述SSSE3指令之后的模拟结果写回所述内存或所述寄存器中,使得所述SSSE3指令应用成功运行。

10.根据权利要求9所述的CPU的指令集兼容终端,其特征在于,写回模块具体包括:

写回子模块,用于将模拟所述SSSE3指令之后的模拟结果写回所述内存或所述寄存器中;

指向子模块,用于将所述内存或所述寄存器中的地址进行指向下一条所述处理指令;

处理指令执行子模块,用于根据指向下一条所述处理指令后通过调用预置异常handler函数获取到返回的所述异常信号,进行所述异常信号是否为所述SSSE3指令,若是,则触发所述格式分析子单元,直到若干个所述处理指令处理完毕。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1