【技术实现步骤摘要】
执行新增指令的系统及执行新增指令的方法
[0001]本专利技术有关于一种执行指令的方法及系统,且特别有关于一种执行新增指令的方法及执行新增指令的系统。
技术介绍
[0002]随着处理器功能的增强,后代处理器往往会在前代处理器的基础上增加新的指令。在前代处理器上实现后代处理器所新增支持的新增指令时,往往需要对前代处理器的微体系结构进行修改。而对微体系结构进行修改,需要进行大量的设计、测试等工作,因而成本极高。
[0003]因此,如何在不修改前代处理器的微体系结构的前提下,在前代处理器的基础上实现后代处理器所新增支持的指令,已成为本领域需要解决的问题。
技术实现思路
[0004]为了解决上述问题,本专利技术提供一种执行新增指令的方法和执行新增指令的系统。
[0005]本专利技术提供一种执行新增指令的方法,包含:接收一指令;判断该接收指令是否为新增指令;以及当该接收指令为新增指令时,进入系统管理模式(System Management mode,SMM),并在该系统管理模式下通过执行至少一个旧指令来模拟该接收指令的执行。
[0006]本专利技术提供一种执行新增指令的系统,包含:一指令监视单元(monitor),判断一接收指令是否为新增指令;当该接收指令为增新指令时,该执行新增指令的系统进入系统管理模式,并在该系统管理模式下通过执行至少一个旧指令来模拟该接收指令的执行。
[0007]通过本专利技术提供的执行新增指令的方法与执行新增指令的系统,在不对处理器的微体系结构进行修改的情 ...
【技术保护点】
【技术特征摘要】
1.一种执行新增指令的方法,其特征在于,包含:接收指令;判断该接收指令是否为新增指令;以及当该接收指令为新增指令时,进入系统管理模式,并在该系统管理模式下通过执行至少一个旧指令来模拟该接收指令的执行。2.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:将私有寄存器中的模拟标识设置为第一数值;以及根据该私有寄存器中的该模拟标识进入该系统管理模式。3.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:将该接收指令译码为微指令,其中,该微指令中包含模拟标识;以及将该微指令的该模拟标识设置为第一数值。4.如权利要求3所述的执行新增指令的方法,其中,当该接收指令为新增指令时,该微指令为空操作微指令,其中,该空操作微指令的该模拟标识为该第一数值。5.如权利要求3所述的执行新增指令的方法,其中,当该接收指令为新增指令时,如果该接收指令需要访问内存,则该微指令为特殊微指令,该执行新增指令的方法还包含:当该特殊微指令的该模拟标识为该第一数值时,使用该特殊微指令对该接收指令进行权限检查,生成检查结果;以及将该检查结果存储到私有寄存器中。6.如权利要求5所述的执行新增指令的方法,其中,该检查结果包含虚拟地址、物理地址及错误代码。7.如权利要求5所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:根据该检查结果模拟该接收指令的执行。8.如权利要求3所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:根据该微指令的该模拟标识,发起系统管理中断;以及根据该系统管理中断,进入该系统管理模式。9.如权利要求8所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:当提交该微指令时,根据该微指令的该模拟标识,发起该系统管理中断。10.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:对该至少一个旧指令进行译码,获得至少一个微指令;以及执行该至少一个微指令;其中,该至少一个旧指令中的每个旧指令为指令集架构指令。11.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:将该接收指令的基本指令信息及运行环境信息存入系统管理内存;以及在该系统管理模式下,根据该系统管理内存中存储的该基本指令信息及该运行环境信息,通过执行该至少一个旧指令来模拟该接收指令的执行。12.如权利要求11所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:对该接收指令进行译码,获得该接收指令的该基本指令信息;将该接收指令的该基本指令信息存入私有寄存器;以及从该私有寄存器读取该基本指令信息,并将读取到的该基本指令信息存入该系统管理
内存。13.如权利要求11所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:在该系统管理模式下:根据该系统管理内存中存储的该接收指令的该基本指令信息产生该至少一个旧指令;以及执行该至少一个旧指令,以获得该接收指令的模拟执行结果。14.如权利要求13所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:在该系统管理模式下,将该模拟执行结果存入该系统管理内存。15.如权利要求14所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:在退出该系统管理模式时,将该系统管理内存中存储的该模拟执行结果写入架构寄存器。16.如权利要求11所述的执行新增指令的方法,其中,该基本指令信息包含该接收指令的指令指针、转义码、操作码、长度及操作数模式。17.如权利要求16所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:如果在执行该至少一个旧指令的过程中没有产生异常,则将保存在该系统管理内存中的该接收指令的该指令指针的值更新为:EIP+Length,其中,EIP为该指令指针更新前的值,Length为该长度。18.如权利要求16所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:如果在执行该至少一个旧指令的过程中产生了异常,并且该异常为陷阱时,则将保存在该系统管理内存中的该接收指令的该指令指针的值更新为:EIP+Length,其中,EIP为该指令指针更新前的值,Length为该长度。19.如权利要求11所述的执行新增指令的方法,其中,该运行环境信息包含运行模式。20.如权利要求19所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:如果该接收指令不能在该运行模式下执行,则产生译码异常;以及将该译码异常存入该系统管理内存,并在该系统管理内存中设置异常标识。21.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:判断在执行该至少一个旧指令的过程中是否产生了异常;以及若产生了该异常,则将该异常存入系统管理内存,并在该系统管理内存中设置异常标识。22.如权利要求21所述的执行新增指令的方法,其中,该异常包含译码异常及运行时异常。23.如权利要求21所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:根据该系统管理内存中存储的该异常标识,判断是否产生了该异常;以及如果判断结果为产生了该异常,则在退出该系统管理模式后,执行该异常的微码处理程序。24.如权利要求21所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:当该异常为陷阱时,在退出该系统管理模式时,使用该系统管理内存中存储的信息,恢复架构寄存器中存储的值。25.如权利要求1所述的执行新增指令的方法,其中,当该接收指令为新增指令,且该接
收指令的操作数为新增架构寄存器时,在该系统管理模式下,该新增架构寄存器是利用专用寄存器或系统管理内存进行模拟的。26.如权利要求25所述的执行新增指令的方法,当该新增架构寄存器为该接收指令的目的操作数时,还包含:模拟该接收指令的执行完成后,将该接收指令的模拟执行结果存入该专用寄存器或该系统管理内存。27.如权利要求26所述的执行新增指令的方法,当该新增架构寄存器为该接收指令的目的操作数时,还包含:退出该系统管理模式时,不把保存在该专用寄存器或该系统管理内存中的该模拟执行结果存入架构寄存器。28.如权利要求26所述的执行新增指令的方法,还包含:接收另一指令;以及当该另一指令为新增指令,且该新增架构寄存器为该另一指令的源操作数时,直接使用该专用寄存器或该系统管理内存中保存的该模拟执行结果,来模拟该另一指令的执行。29.如权利要求1所述的执行新增指令的方法,其中,当该接收指令为新增指令时,模拟该接收指令的执行的过程对操作系统或应用程序是透明的,其中,该接收指令来自该操作系统或该应用程序。30.如权利要求1所述的执行新增指令的方法,还包含:根据该接收指令的前缀、转义码及操作码判断该接收指令是否为新增指令。31.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令,且该接收指令包含内存操作数时,还包含:将该内存操作数的虚拟地址转换为物理地址;以及根据该物理地址读取该内存操作数的数值,其中,该物理地址不在系统管理内存中。32.如权利要求31所述的执行新增指令的方法,当该接收指令为新增指令,且该接收指令包含内存操作数时,还包含:通过物理内存直接访问接口,通过访问页表,将该内存操作数的虚拟地址转换为物理地址。33.如权利要求31所述的执行新增指令的方法,当该接收指令为新增指令,且该接收指令包含内存操作数时,还包含:通过模型特别寄存器,根据该物理地址读取该内存操作数的数值。34.如权利要求33所述的执行新增指令的方法,当该接收指令为新增指令,且该接收指令包含内存操作数时,还包含:将该模型特别寄存器的地址写入第一寄存器;将该物理地址写入第二寄存器;以及执行写模型特别寄存器指令,以将该内存操作数的数值存储到该模型特别寄存器中。35.如权利要求34所述的执行新增指令的方法,当该接收指令为新增指令,且该接收指令包含内存操作数时,还包含:执行读模型特别寄存器指令,以从该模型特别寄存器中读取该内存操作数的数值,并将读取到的该内存操作数的数值存储到该第二寄存器中。
36.如权利要求34所述的执行新增指令的方法,当该接收指令为新增指令,且该接收指令包含内存操作数时,还包含:执行完该写模型特别寄存器指令后,通过执行从物理地址加载微指令,将该内存操作数的数值从系统内存加载到该模型特别寄存器中。37.一种执行新增指令的系统,其特征在于,包含:指令监视单元,判断接收指令是否为新增指令;当该接收指令为增新指令时,该执行新增指令的系统进入系统管理模式,并在该系统管理模式下通过执行至少一个旧指令来模拟该接收指令的执行。38.如权利要求37所述的执行新增指令的系统,还包含:私有寄存器,耦接该指令监视单元,该私有寄存器包含模拟标识;当该接收指令为新增指令时,该指令监视单元将该私有寄存器中的该模拟标识设置...
【专利技术属性】
技术研发人员:王惟林,管应炳,杨梦晨,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。