执行新增指令的系统及执行新增指令的方法技术方案

技术编号:33994673 阅读:54 留言:0更新日期:2022-07-02 10:34
本发明专利技术涉及一种执行新增指令的系统及执行新增指令的方法,该方法包含:接收一指令;判断该接收指令是否为新增指令;以及当该接收指令为新增指令时:生成一模拟标识,其中,该模拟标识为第一数值;根据该模拟标识,发出一系统管理中断;响应于该系统管理中断,进入一系统管理模式,并在该系统管理模式下模拟该接收指令的执行,产生一模拟执行结果;以及将该模拟执行结果存入一系统管理内存。由此,在不对处理器的微体系结构进行修改的情况下,就可以在前代处理器上实现后代处理器所新增支持的指令,从而大大减少了用于设计、测试等工作的工作量,所以可以节省大量的成本。所以可以节省大量的成本。所以可以节省大量的成本。

【技术实现步骤摘要】
执行新增指令的系统及执行新增指令的方法


[0001]本专利技术有关于一种执行指令的方法及系统,且特别有关于一种执行新增指令的方法及执行新增指令的系统。

技术介绍

[0002]随着处理器功能的增强,后代处理器往往会在前代处理器的基础上增加新的指令。在前代处理器上实现后代处理器所新增支持的新增指令时,往往需要对前代处理器的微体系结构进行修改。而对微体系结构进行修改,需要进行大量的设计、测试等工作,因而成本极高。
[0003]因此,如何在不修改前代处理器的微体系结构的前提下,在前代处理器的基础上实现后代处理器所新增支持的指令,已成为本领域需要解决的问题。

技术实现思路

[0004]为了解决上述问题,本专利技术提供一种执行新增指令的方法和执行新增指令的系统。
[0005]本专利技术提供一种执行新增指令的方法,包含:接收一指令;判断该接收指令是否为新增指令;以及当该接收指令为新增指令时:生成一模拟标识,其中,该模拟标识为第一数值;根据该模拟标识,发出一系统管理中断;响应于该系统管理中断,进入一系统管理模式,并在该系统管理模式下模拟该接收指令的执行,产生一模拟执行结果;以及将该模拟执行结果存入一系统管理内存。
[0006]本专利技术提供一种执行新增指令的系统,包含:一系统管理内存;以及一指令监视单元(monitor),判断一接收指令是否为新增指令;当该接收指令为增新指令时,该执行新增指令的系统生成一模拟标识,根据该模拟标识,发出一系统管理中断;响应于该系统管理中断,进入一系统管理模式,并在该系统管理模式下模拟该接收指令的执行,产生一模拟执行结果;将该模拟执行结果存入该系统管理内存,其中,该模拟标识为第一数值。
[0007]通过本专利技术提供的执行新增指令的方法与执行新增指令的系统,在不对处理器的微体系结构进行修改的情况下,就可以在前代处理器上实现后代处理器所新增支持的指令。从而大大减少了用于设计、测试等工作的工作量,所以可以节省大量的成本。
附图说明
[0008]图1是显示根据本专利技术一实施例所述的执行新增指令的系统的示意图。
[0009]图2A是显示根据本专利技术第一实施例所述的处理器的结构图。
[0010]图2B是显示根据本专利技术第二实施例所述的处理器的结构图。
[0011]图2B1是显示根据本专利技术第二实施例所述的指令监视单元的结构图。
[0012]图2C是显示根据本专利技术第三实施例所述的处理器的结构图。
[0013]图2D是显示根据本专利技术第四实施例所述的处理器的结构图。
[0014]图2D1是显示根据本专利技术第四实施例所述的指令监视单元的结构图。
[0015]图3是显示根据本专利技术一实施例所述的处理接收指令的流程图。
[0016]图4是显示根据本专利技术一实施例所述的进入系统管理模式的流程图。
[0017]图5是显示根据本专利技术一实施例所述的模拟器的处理流程图。
[0018]图6是显示根据本专利技术一实施例所述的在系统管理模式下模拟执行接收指令的例子。
[0019]图7是显示根据本专利技术一实施例所述的退出系统管理模式的流程图。
[0020]图8是显示根据本专利技术一实施例所述的执行新增指令的流程图。
[0021]图9是显示根据本专利技术另一实施例所述的执行新增指令的流程图。
[0022]图10是显示根据本专利技术另一实施例所述的执行新增指令的流程图。
[0023]其中,附图中符号的简单说明如下:
[0024]100:执行新增指令的系统;110:处理器;112:指令监视单元;114:系统管理模式出/入口;1142:系统管理模式入口;1144:系统管理模式出口;116:专用硬件;120:操作系统;130:应用程序;132:新增指令;142:模拟器;201:指令旁路转换缓冲;202、202B、202D:指令快取;203:分支预测器;204、204C、204D:重命名单元;205:保留站;206:执行单元;207:访存单元;210、210B、210C、210D:指令监视单元;2101B、2101D:指令解析单元;2102B、2102D:指令判断单元;211:专用寄存器组;220、220B、220D:私有寄存器;221、221C、221D:微码控制单元;230、230B、230D:指令译码单元;240、240C、240D:重排缓冲区;245、245C、245D:指令提交单元;260:架构寄存器;EF、EF1~EFN:模拟标识;S301~S315、S401~S411、S501~S519、S701~S729、S801~S809、S901~S913、S1001~S1009:步骤。
具体实施方式
[0025]以下说明为完成专利技术的较佳实现方式,其目的在于描述本专利技术的基本精神,但并不用以限定本专利技术。实际的
技术实现思路
必须参考之后的权利要求范围。
[0026]必须了解的是,使用于本说明书中的”包含”、”包括”等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
[0027]于权利要求中使用如”第一”、"第二"、"第三"等词是用来修饰权利要求中的元件,并非用来表示元件之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
[0028]为了更好地描述本专利技术的实施例,下面先对本专利技术中用到的专用名词进行定义。
[0029]旧指令:被前代处理器原生支持的指令被称为原生指令(native instruction),也被称为已存在指令或旧指令。
[0030]未知指令:不被前代处理器原生支持的指令。
[0031]新增指令:与前代处理器相比,后代处理器所新增支持的指令。新增指令无法被前代处理器所辨识,因此对前代处理器而言属于未知指令。
[0032]新增架构寄存器:与前代处理器相比,后代处理器所新增支持的架构寄存器。新增架构寄存器在前代处理器中并不存在,因此在前代处理器上模拟执行使用新增架构寄存器的新增指令时,需要模拟新增架构寄存器。
[0033]无法辨识指令:未知指令中,除去新增指令之后剩余的那部分指令。即,无法辨识指令是指不被后代处理器原生支持的指令。
[0034]模型特别寄存器:处理器中的一类寄存器,可用于完成一些特定的功能。
[0035]陷阱:陷阱一般由软中断指令(比如INT指令)引起。当一条指令引起陷阱异常时,并不表示这条指令本身的执行出现错误。因此,当一条指令出现陷阱异常后,处理器会继续执行这条指令的下一条指令。举例来说,软件开发人员对软件程序码进行调试时,可在程序码中设置断点。在处理器上执行设置了断点的程序码时,执行到断点时,将产生一个陷阱,从而使得程序码在断点处暂停执行。软件开发人员通过处理陷阱的微码处理程序,可以查看程序码执行到断点时处理器中各架构寄存器的值或程序码中各个变本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种执行新增指令的方法,其特征在于,包含:接收指令;判断该接收指令是否为新增指令;以及当该接收指令为新增指令时:生成模拟标识,其中,该模拟标识为第一数值;根据该模拟标识,发出系统管理中断;响应于该系统管理中断,进入系统管理模式,并在该系统管理模式下模拟该接收指令的执行,产生模拟执行结果;以及将该模拟执行结果存入系统管理内存。2.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:将该接收指令译码为微指令,其中,该微指令包含该模拟标识;以及根据该微指令中的该模拟标识,发出该系统管理中断。3.如权利要求2所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:当提交该微指令时,根据该微指令的该模拟标识,发起该系统管理中断。4.如权利要求2所述的执行新增指令的方法,其中,当该接收指令为新增指令时,该微指令为空操作微指令。5.如权利要求2所述的执行新增指令的方法,其中,当该接收指令为新增指令时,如果该接收指令需要访问内存,则该微指令为特殊微指令,该执行新增指令的方法还包含:当该特殊微指令的该模拟标识为该第一数值时,使用该特殊微指令对该接收指令进行权限检查,生成检查结果。6.如权利要求5所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:将该检查结果存入私有寄存器;以及从该私有寄存器读取该检查结果,并将读取到的该检查结果存入该系统管理内存。7.如权利要求5所述的执行新增指令的方法,其中,该检查结果包含虚拟地址、物理地址及错误代码。8.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:将该模拟标识存储于私有寄存器的模拟标识字段中;以及根据该私有寄存器中的该模拟标识,进入该系统管理模式。9.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:将该接收指令的基本指令信息及运行环境信息存入该系统管理内存;以及在该系统管理模式下,根据该系统管理内存中存储的该基本指令信息及该运行环境信息,模拟该接收指令的执行。10.如权利要求9所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:对该接收指令进行译码,获得该接收指令的该基本指令信息;将该接收指令的该基本指令信息存入私有寄存器;以及从该私有寄存器读取该基本指令信息,并将读取到的该基本指令信息存入该系统管理内存。11.如权利要求9所述的执行新增指令的方法,其中,该基本指令信息包含该接收指令的指令指针、转义码、操作码、长度及操作数模式,该运行环境信息包含运行模式。
12.如权利要求1所述的执行新增指令的方法,当该接收指令为新增指令时,还包含:根据该系统管理内存中的该模拟执行结果退出该系统管理模式。13.如权利要求12所述的执行新增指令的方法,其中,该模拟执行结果包含异常标识,当该异常标识为第一异常值时,根据该系统管理内存中的该模拟执行结果退出该系统管理模式包含:从该系统管理内存的该模拟执行结果中读取异常编号;根据该异常编号判断异常类型;以及当该异常类型为陷阱时,使用该系统管理内存中存储的该模拟执行结果,恢复架构寄存器中存储的值,并执行与该异常编号对应的异常的微码处理程序。14.如权利要求12所述的执行新增指令的方法,其中,该模拟执行结果包含异常标识,当该异常标识为第一异常值时,根据该系统管理内存中的该模拟执行结果退出该系统管理模式还包含:从该系统管理内存的该模拟执行结果中读取异常编号;根据该异常编号判断异常类型;以及当该异常类型不是陷阱时,执行与该异常编号对应的异常的微码处理程序。15.如权利要求12所述的执行新增指令的方法,其中,该模拟执行结果包含异常标识,当该异常标识为第二异常值时,根据该系统管理内存中的该模拟执行结果退出该系统管理模式包含:使用该系统管理内存中存储的该模拟执行结果,恢复架构寄存器中存储的值;以及退出该系统管理模式。16.一种执行新增指令的系统,其特征在于,包含:系统管理内存;以及指令监视单元,判断接收指令是否为新增指令,当该接...

【专利技术属性】
技术研发人员:王惟林管应炳杨梦晨
申请(专利权)人:上海兆芯集成电路有限公司
类型:发明
国别省市:

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

1