对来自多个指令集的指令进行译码的制作方法

文档序号:6361981阅读:274来源:国知局
专利名称:对来自多个指令集的指令进行译码的制作方法
技术领域
本发明涉及数据处理领域,尤其涉及对来自不同指令集的指令进行译码。
背景技术
可使用来自不同指令集的指令的处理器是已知的。例如,英国剑桥的ARM 具有使用ARM指令集和Thumb指令集的处理器,其中Thumb指令为16位宽,而ARM指令为32位宽。为了使译码器知道正在使用哪个指令集,在对指令进行编码时使用自由位来指示该指令为ARM指令还是Thumb指令。
在某些处理器架构中,存在明确定义该架构所支持的指令的编码集合,并且存在允许该架构的用户定义它们自身的指令的自由编码集合。在提供允许用户定义它们自身的指令的编码空间的处理器架构中,使用指令编码的位指示特定指令集会产生一些自身的问题。
因此,希望能够在不过分增加编码空间的同时允许用户定义它们自己的指令的条件下,提供多个指令集。发明内容
从第一方面看,本发明提供了一种数据处理设备,包括:用于对指令进行译码的指令译码器;以及用于响应于由所述指令译码器译码的指令而处理数据的处理器;所述指令译码器被配置为对来自多个不同指令集的指令进行译码,所述指令集包括基本指令集以及至少一个进阶指令集;所述基本指令集包括多个指令,其中每个指令包括用于唯一地标识所述指令的预定操作码,并且所述至少一个进阶指令集包括多个指令,其中每个指令包括用于标识所述至少一个进阶指令集中的所述指令的操作码;所述指令译码器被配置为根据基本译码规则集合对具有所述多个预定操作码中的一个预定操作码的指令进行译码,以及根据由指示符值判定的译码规则集合对具有所述至少一个进阶指令集的所述操作码中的一个操作码的指令进行译码,其中所述指示符值指示所述至少一个进阶指令集中的哪个进阶指令集当前将被译码。
本发明认识到提供用户可定义它们自身的指令的编码空间是有利的,然而本发明也认识到如果存在总是可被译码的基本指令集也是有利的。
本发明通过提供基本指令集和至少一个进阶指令集(further instruction set)来解决这些相互矛盾的需求,其中指令译码器根据基本规则集合来对基本指令集进行译码,译码器根据指示符值所判定的规则集合来对进阶指令集进行译码。
这样,通过简单地使用指示符值,可提供数种由不同规则译码的不同指令集。这意味着,相同的编码可被用来根据指示符值所指定的以及所选择的指令集定义不同的指令。这样,系统的用户可定义它们自身的指令,并且这些指令可具有指示符值将触发其使用的译码规则。
通过提供基本指令集从而使得它们可总是被译码,并且提供在指示符位被适当设置的情况下可被译码的进阶指令,在不过度增大编码空间的条件下提供了具有总是被定义的指令以及具有非常大量的进阶指令的优点。
在某些实施例中,所述指令译码器被配置为对至少两个进阶指令集进行译码,所述至少两个进阶指令集至少具有一些共同的操作码。
如果用于进阶指令集的编码空间被共享从而使得用于不同指令集中的指令的操作码相同但映像至不同指令也是有利的。这是编码空间的有效使用,并且意味着通过使用指示符值可定义大量的不同指令。
在某些实施例中,所述数据处理设备包括用于存储所述指示符值的状态寄存器。
虽然指示符值可被存储于许多地方,但在某些实施例中该指示符值被存储于状态寄存器中。这是存储指示符值的方便的地方且允许指示符值被简单地设置与读取。
在某些实施例中,所述指令译码器响应于指令集更新指令,将存储于所述状态寄存器中的所述指示符值设置为所述指令中指定的值,所述指令集更新指令为来自所述基本指令集的指令。
指示符值可由指令集更新指令更新。这样,希望使用特定指令集的程序设计者可简单地更新指示符值来指示此指令集,随后译码器将根据指示符值所指示的译码规则在进阶指令集的译码空间中对指令进行译码。当需要新的指令集时,指令集更新指令被简单地再次用以改变指示符值,以指示该新需要的指令集。
在某些实施例中,所述处理器被配置为响应于指示所述程序流将分支的分支指令而存储返回地址和所述指示符值,从而使得在从所述分支返回时,所述返回地址和指示符值能够被恢复。
当程序分支到子例程时,由于此子例程可使用不同的进阶指令集,所以可能会出现潜在问题。为了解决此问题,除了存储指示在该分支完成后程序应返回的下一指令的地址的返回地址之外,当前指示符值也被存储,从而使得在指示符值于子例程期间中被改变的情况下,指示符值可于该程序从该子例程返回时被重置为其初始值。
在某些实施例中,所述数据处理设备被配置为在所述分支之前重置所述指示符值。
虽然指示符值可在分支处保持不变,但在某些实施例中数据处理设备被配置为在分支之前重置指示符值。子例程可能无法顺利使用程序分支时使用的进阶指令集,并且在分支之前重置指示符值可能更为方便。然而,使指示符值保持原样也可能是方便的,因为基本指令集仍然可被译码,并且如果需要不同的进阶指令集,则无论如何都将需要重置指示符值。
在某些实施例中,所述返回地址和指示符值被存储于相同的链接寄存器中。
存储返回地址和指示符值的一种方式为将返回地址和指示符值存储于链接寄存器中。在本发明的实施例中,链接寄存器足够宽以存储指示符值和返回地址两者,因而将这两个值存储于容易存取的位置是有效且高效的方式。
在某些实施例中,所述链接寄存器的较高有效位(more significant bits)存储所述指示符值,并且所述链接寄存器的较低有效位(lower significant bits)存储所述返回地址。
链接寄存器的最高有效位可能不需要存储返回地址,因而可方便地被用于存储指示符值。
在其他实施例中,所述返回地址和指示符值响应于所述分支而被存储于堆栈中,并且在从所述分支返回时被从所述堆栈中读取。
如果本实施例不使用链接寄存器,则返回地址和指示符值可响应于分支而被推出堆栈。在此情形中,一旦从分支返回,它们将被从堆栈读回。
在某些实施例中,所述指令译码器响应于指示所述至少一个进阶指令集中的一个进阶指令集的所述指示符以及对所述至少一个进阶指令集中的具有以下操作码的指令的接收而生成例外,其中不存在用于该操作码的译码规则。
可设置数据处理设备以截获这样的指示符值,其中所述指示符值指定其中存在不具有译码规则的操作码的指令集。在此情形中,例外被生成,并且处理设备随后判定存在由不具有译码规则的指令所指定的操作码的原因。
在某些实施例中,所述指令译码器响应于检测到所述指示符值转变为指示以下的进阶指令集的值而生成例外,其中所述指令译码器不具有用于该指令集的译码规则。
替代地和/或另外地,可设置数据处理设备,以判定指示符值何时转变为指令译码器不具有译码规则的值。在此情形中,例外被生成,并且处理器再次判定此错误发生的原因。
在某些实施例中,用于所述基本指令集中的指令的所述预定操作码位于预定基本编码空间中,并且所述至少一个进阶指令集的所述操作码位于预定延伸编码空间中。
通过使用用于基本指令集的基本编码空间、和用于对多个进阶指令集进阶编码的进阶编码空间,可以方便地对基本指令集及进阶指令集两者的使用进行编码。这样,来自进阶指令空间的任何操作码都可被用于根据特定指令所在的指令集来指定该特定指令。该特定指令所在的指令集是由指示符值指示的,并且该指示符值将触发译码器使用适当的译码规则集合。
在某些实施例中,多个不同的指示符值标识所述至少一个进阶指令集中的一个进阶指令集。
虽然在某些实施例中存在单个指示符值标识指令集,但在其他实施例中可存在数个不同的指示符值。例如,如果处理器支持负地址(negative address),则由2所指示的指令集可方便地被2或-2所指示(取决于当前支持该负地址还是正地址)。
本发明的第二方面提供了一种对来自不同指令集的指令进行译码的方法,包括:接收指令;如果所述指令的操作码为来自基本指令集的指令的操作码,则根据用于所述基本指令集的译码规则对所述指令进行译码;以及如果所述指令的所述操作码为来自至少一个进阶指令集的指令的操作码,则根据指示符值所判定的译码规则集合对所述指令进行译码,其中所述指示符值指示所述至少一个进阶指令集中的哪个进阶指令集当前将被译码。
本发明的第三方面提供了一种虚拟机,该虚拟机由数据处理设备上执行的计算机程序提供,所述虚拟机根据本发明的第一方面的数据处理设备提供指令执行环境。
本发明的第四方面提供了 一种计算机程序产品,所述计算机程序产品包括指令集更新指令,所述指令集更新指令在数据处理器上运行时控制所述数据处理器将状态寄存器中的指示符值设置为所述指令集更新指令所指示的值;所述数据处理器的译码器根据基本译码规则集合对具有指示来自基本指令集的指令的操作码的指令进行译码,且根据所述指示符值所判定的译码规则集合对具有指示来自进阶指令集的指令的操作码的指令进行译码。
本发明的第五方面提供一种用于处理数据的装置,该装置包括:指令译码装置,用于对指令进行译码;以及处理装置,用于响应于指令译码装置所译码的指令而处理数据;所述指令译码装置用于对来自多个不同指令集的指令进行译码;所述指令集包括基本指令集以及至少一个进阶指令集;所述基本指令集包括多个指令,其中每个指令包含用于唯一地标识所述指令的预定操作码,而所述至少一个进阶指令集包括多个指令,其中每个指令包含用于标识所述至少一个进阶指令集中的所述指令的操作码;所述指令译码装置用于根据基本译码规则集合对具有所述多个预定操作码之一的指令进行译码;并且用于根据指示符值所判定的译码规则集合对具有所述至少一个进阶指令集的所述操作码之一的指令进行译码,其中该指示符值指示所述至少一个进阶指令集中的哪一个进阶指令集当前将被译码。


参考附图中所示的实施例,仅通过示例进一步描述本发明,其中:
图1示出了根据本发明实施例的数据处理设备;
图2示意性地示出了根据本发明实施例的指令译码器以及使用该指令译码器进行译码;
图3示意性地示出了根据本发明实施例的处理器译码器及寄存器;
图4示意性地示出了如何响应于无效的指令集指示符值而生成例外;
图5示意性地示出了包括分支指令的指令流;
图6示意性地示出了包括分支的指令流的执行,其中返回地址及值被推送至堆栈;
图7示出了说明根据本发明实施例的用于对指令进行译码的方法中的步骤的流程图8示意性地示出了根据本发明实施例的包括分支指令的指令流的译码及执行;以及
图9示出了本发明实施例的虚拟机实现。
具体实施方式
图1示出了具有处理器12的数据处理设备10。具有指令的程序被存储于数据储存装置20中,并且这些指令被提取单元(fetch unit) 16提取并被发送至译码器14。译码器14对这些指令进行译码,并且将译码后的指令发送至处理器12以供执行。
在此实施例中,译码器14被配置为根据基本译码规则集合对来自基本指令集的指令进行译码,并且根据专用于多个进阶指令集的译码规则对来自这些特定指令集之一的指令进行译码。因此,译码器14能够存取储存于寄存器库30中的状态寄存器32中的指令集指示符值ISASEL,并且能够存取与不同的指示符值相关的多个译码规则。指示符值指示哪个进阶指令集当前将被译码器14译码,并且响应于该值,译码器选择用于该进阶指令集编码空间中的指令的适当译码规则并相应地对它们进行译码。
数据处理发备10还包括堆栈40,其中处理器使用该堆栈来存储分支时的返回地址和指示符值(如将参照后面的附图在下文中描述)。
图2示意性地示出了根据本发明实施例的译码器14。用于指令编码的编码空间示意性地由块50示出。这示出了存在用于基本指令集的操作码的基本编码空间,并且存在用于进阶指令集的操作码的延伸编码空间(extension encoding space)。因此,每个进阶指令集可将整个延伸编码空间用于其操作码。
在当前正被译码的指令集的指示被提供给译码器,从而使得位于延伸编码空间中的任意指令能够根据正确规则被译码的情况下,上述情况是可能的。
这在图2中由译码器14中存储的基本译码规则60示出。这些译码规则对基本编码空间中的编码进行译码,并且译码器一直能够存取这些译码规则。
关于延伸编码空间中的编码的其他译码规则在图中被示意性地示出为62、64及66。译码器14可经由多路复用器72存取这些译码规则。多路复用器72响应于图1的状态寄存器32中存储的指令集标识符或指示符值70来选择供译码器14使用的译码规则集合。此标识符指示哪个特定指令集当前正被使用、以及哪些译码规则应该被用于落入延伸编码空间中的任意指令。因此,大量的不同指令可在相对较小的延伸编码空间中被编码,并且如果指示符值被适当设置,则该些指令可被译码器14译码。再者,译码器14可以一直对源自基本指令集的任意指令进行译码。
图3示意地示出了根据本发明实施例的数据处理设备10的一部分。在此示图中,可看出如何在状态寄存器74中定位指令集指示符值ISASEL70、以及处理器12如何响应于指令集更新指令而设置此值。因此,响应于指令集更新指令,此指令所指示的值被写入状态寄存器74中。此值随后被译码器14用来选择用于位于延伸编码空间中的指令的译码规则,此值指示指令从属的进阶指令集。
寄存器库30还包括分支链接寄存器76,该分支链接寄存器76被用于在程序流分支时存储当前指令集指示符值和返回地址。当程序分支时,该程序需要能够返回到原始的程序流,因此返回地址总是被存储。然而,由于在本发明的实施例中存在可被译码的不同的指令集,所以在程序分支时存储当前指令集指示符值从而使得当程序返回到原始的程序流时,该译码器可使用正确的译码规则是非常重要的。因此,除了存储返回地址外,也存储指令集指示符值。由于分支链接寄存器的尺寸以及该些地址的尺寸,分支链接寄存器中有足够的空间来方便地同时存储返回地址和指示符值。
应注意到,在本实施例中仅有单个分支链接寄存器72,因而如果程序再次分支,则该寄存器中的数据被写入至堆栈40中,并且分支链接寄存器随后被分支时的下一返回地址和指令集指示符值覆写。
图4示出了数据处理设备10的一部分,并且示出了不被处理器支持的指令集指示符值ISASEL如何被检测到以及如何生成陷阱(trap)。因此,在此实施例中,响应于指令集更新指令,处理器12发送新的ISASEL值至寄存器72以更新所存储的值。此新值传送通过比较器90且被与存储于储存装置80中的ISASEL值的集合相比较。储存装置80存储所有可能的指令集值,因而如果不存在匹配,则不匹配信号被比较器90发送并且生成了例外。如果存在匹配,则比较器90发送指示符值至寄存器72,且ISASEL的新值被设置。
图5示意性地示出了正被执行中的指令流,所述指令流包括分支指令。因此,在此实施例中,在功能2存在分支,并且链接寄存器存储返回地址和当前指令集指示符,且该当前指令集指示符在此情形中为O,指示当前不支持进阶指令集。该分支跳至的子例程随后被执行,且此子例程将指令集指示符值设置为3,指示其希望使用源自指示符值3所指定的进阶指令集的指令。该指令集随后再次分支,并且链接寄存器于此时被更新以存储用于此分支的返回地址以及指示符3(该指示符指示指令集指示符值于该程序返回该指令流的此部份时应被重置为3)。应注意,在此实施例中仅有单个链接寄存器,因此先前被存储于该链接寄存器中的值在此链接寄存器被覆写这些新值之前会被推送至堆栈。
已经跳至的子例程随后被执行,并且此子例程包括指令集更新指令,该指令集更新指令指示被指定为4的进阶指令集将被使用。因此,指令集指示符值被设置为4。响应于此子例程末尾的返回指令,来自链接寄存器的值被加载至关于返回地址的程序计数器以及关于指示符值的状态寄存器中(该指示符值在此情形中为3)。
图6示意性地示出了不具有分支链接寄存器的处理设备中的分支子例程。在此情形中,原始的指令流已将指令集指示符值设置为3,因而响应于分支指令,此指示符值与返回地址一起被推送至堆栈。在从子例程返回时,指示符值被从堆栈中弹出并被存储于状态寄存器74中,并且返回地址被存储于程序计数器中。
图7示出了说明根据本发明实施例的用于对指令进行译码的方法。指令在译码器处被接收,且该译码器根据指令的操作码来判断该指令是否源自于基本指令集。如果指令源自于基本指令集,则译码器根据基本指令集译码规则对指令进行译码。如果指令并非源自于基本指令集,则该指令必定源自于进阶指令集,所以译码器读取状态寄存器中的指示符值以判定此指令源自于哪个进阶指令集。随后,译码器根据此指示符值所指示的译码规则对该指令进行译码。
图8指示出了根据本发明实施例的在处理指令时执行的方法的步骤。最初,指令集更新指令被接收,且指示符值被响应于此指令而设置。响应此指示符值,源自进阶指令集编码空间的指令被根据该指示符所标识的译码规则而译码。
分支指令随后被接收,并且当前指示符值以及返回地址被存储。随后跳至该分支所指示的指令并执行后续指令。这些指令包括更新该指示符值的指令,因而该指示符值被更新。当指示从该分支返回时,指示符值从所存储的值恢复为该分支之前的值,而返回地址也被从储存装置中撷取并被用以重置程序计数器。
图9示出了可被使用的虚拟机实现。虽然前述实施例通过支持相关技术的用于操作特定处理硬件的设备和方法来实现本发明,但是也可提供硬件装置的所谓虚拟机实现。这些虚拟机实现在主机处理器530上运行,所述主机处理器530运行支持虚拟机程序510的主机操作系统520。一般,需要大型高速处理器来提供以合理速度执行的虚拟机实现,但此方式在某些情形中可被证明是合理的,例如当出于兼容性或重复使用的原因而希望运行另一处理器处的程序代码时。虚拟机程序510提供至应用程序500的应用程序接口,其中该应用程序接口与真实硬件所提供的应用程序接口相同,该真实硬件是虚拟机程序510所模拟的装置。因此,包括对于前述存储器存取的控制在内的程序指令可使用虚拟机程序510于应用程序500中加以执行,以模拟它们与虚拟机硬件之间的互动。
本发明的各种进一步的方面和特征在所附权利要求中被限定。在不脱离本发明的范围的条件下,可以对前面描述的实施例做出各种修改。
权利要求
1.一种数据处理设备,包括: 指令译码器,用于对指令进行译码;以及 处理器,用于响应于指令译码器所译码的指令而处理数据; 所述指令译码器被配置为对来自多个不同指令集的指令进行译码,所述指令集包括基本指令集以及至少一个进阶指令集; 所述基本指令集包括多个指令,所述基本指令集中的每个指令包含用于唯一地标识所述指令的预定操作码,并且所述至少一个进阶指令集包括多个指令,所述至少一个进阶指令集中的每个指令包含用于标识所述至少一个进阶指令集中的所述指令的操作码; 所述指令译码器被配置为根据基本译码规则集合对具有所述多个预定操作码中的一个预定操作码的指令进行译码,以及根据指示符值所判定的译码规则集合对具有所述至少一个进阶指令集的所述操作码中的一个操作码的指令进行译码,其中所述指示符值指示所述至少一个进阶指令集中的哪个进阶指令集当前将被译码。
2.如权利要求1所述的数据处理设备,其中所述指令译码器被配置为对至少二个进阶指令集进行译码,所述至少二个进阶指令集至少具有一些共同的操作码。
3.如任一前述权利要求所述的数据处理发备,其中所述数据处理设备包括状态寄存器,用于存储所述指示符值。
4.如权利要求3所述的数据处理设备,其中所述指令译码器响应于指令集更新指令,将存储于所述状态寄存器中的所述指示符值设置为所述指令中指定的值,所述指令集更新指令为来自所述基本指令集的指令。
5.如任一前述权利要求所述的数据处理设备,其中所述处理器被配置为响应于指示所述程序流将要分支的分支指令,存储返回地址和所述指示符值,从而使得在从所述分支返回时所述返回地址和指示符值能够被恢复。
6.如权利要求5所述的数据处理设备,其中所述数据处理设备被配置为在所述分支之前重置所述指示符值。
7.如权利要求5所述的数据处理设备,其中所述返回地址和指示符值被存储于相同的链接寄存器中。
8.如权利要求7所述的数据处理设备,其中所述链接寄存器的较高有效位存储所述指示符值,并且所述链接寄存器的较低有效位存储所述返回地址。
9.如权利要求7所述的数据处理设备,其中所述返回地址和指示符值响应于所述分支而被存储到堆栈,并且在从 所述分支返回时被从所述堆栈读出。
10.如任一前述权利要求所述的数据处理设备,所述指令译码器响应于指示所述至少一个进阶指令集中的一个进阶指令集的所述指示符以及对所述至少一个进阶指令集中的具有以下操作码的指令的接收而生成例外,其中不存在用于该操作码的译码规则。
11.如任一前述权利要求所述的数据处理设备,所述指令译码器响应于检测到所述指示符值变换为指示以下进阶指令集的值而生成例外,其中所述指令译码器不具有用于该进阶指令集的译码规则。
12.如任一前述权利要求所述的数据处理设备,其中用于所述基本指令集中的指令的所述预定操作码位于预定基本编码空间中,并且所述至少一个进阶指令集的所述操作码位于预定延伸编码空间中。
13.如任一前述权利要求所述的数据处理设备,其中多个不同的指示符值标识所述至少一个进阶指令集中的一个进阶指令集。
14.一种对来自不同指令集的指令进行译码的方法,包括: 接收指令; 如果所述指令的操作码为来自基本指令集的指令的操作码,则根据用于所述基本指令集的译码规则对所述指令进行译码;以及 如果所述指令的所述操作码为来自至少一个进阶指令集的指令的操作码,则根据指示符值所判定的译码规则集合对所述指令进行译码,其中所述指示符值指示所述至少一个进阶指令集中的哪个进阶指令集当前将被译码。
15.一种根据权利要求14对来自不同指令集的指令进行译码并处理译码后的指令的方法,包括响应于对指令集更新指令的接收而执行以下步骤: 根据用于所述基本指 令集的译码规则对所述指令进行译码;以及 响应于译码后的指令集更新指令,将所述状态寄存器中的所述指示符值设置为所述译码后的指令所指示的值。
16.如权利要求14或15所述的方法,其中响应于对指示所述程序流将分支的分支指令的接收: 存储返回地址和所述指示符的当前值,从而使得在从所述分支返回时所述返回地址和指示符值能够被恢复。
17.如权利要求16所述的方法,其中所述存储所述返回地址和指示符值的步骤包括:将所述值存储于相同的链接寄存器中。
18.如权利要求16所述的方法,其中所述存储所述返回地址和指示符值的步骤包括:将所述数存储到堆栈,并且响应于从分支指令返回而从所述堆栈读取所述值。
19.如权利要求14至18中任一项所述的方法,包括响应于指示所述至少一个进阶指令集中的一个进阶指令集的所述指示符以及对所述至少一个进阶指令集中的具有以下操作码的指令的接收而生成例外的步骤,其中不存在用于所述操作码的译码规则。
20.如权利要求14至19中任一项所述的方法,包括响应于检测到所述指示符值变换为指示以下进阶指令集的值而生成例外的步骤,其中所述指令译码器不具有用于该进阶指令集的译码规则。
21.一种虚拟机,所述虚拟机由在数据处理设备上执行的计算机程序提供,所述虚拟机根据权利要求1至12中任一项所述的数据处理设备提供指令执行环境。
22.—种计算机程序产品,包含指令集更新指令,所述指令集更新指令在数据处理器上运行时控制所述数据处理器将状态寄存器中的指示符值设置为所述指令集更新指令所指示的值,所述数据处理器的译码器根据基本译码规则集合对具有指示来自基本指令集的指令的操作码的指令进行译码,并且根据所述指示符值所判定的译码规则集合对具有指示来自进阶指令集的指令的操作码的指令进行译码。
23.一种处理数据的装置,包括: 指令译码装置,用于对指令进行译码;以及 处理装置,用于响应于指令译码装置所译码的指令而处理数据; 所述指令译码装置用于对来自多个不同指令集的指令进行译码,所述指令集包括基本指令集以及至少一个进阶指令集; 所述基本指令集包括多个指令,所述基本指令集中的每个指令包含用于唯一地标识所述指令的预定操作码,所述至少一个进阶指令集包括多个指令,所述至少一个进阶指令集中的每个指令包含用于标识所述至少一个进阶指令集中的所述指令的操作码; 所述指令译码装置用于根据基本译码规则集合对具有所述多个预定操作码中的一个预定操作码的指令进行译码,以及用于根据指示符值所判定的译码规则集合对具有所述至少一个进阶指令集的所述操作码中的一个操作码的指令进行译码,所述指示符值指示所述至少一个进阶指令集中的哪个进阶指令集当前将被译码。
24.一种基本如参考图1至9描述的数据处理设备。
25.—种基本如参考图1至9描述的方法。
26.—种基本如参考图1至9描述的虚拟机。
27.—种基本如参考图1至9描述 的计算机程序产品。
全文摘要
描述了能够对来自不同指令集的指令进行译码的数据处理设备、方法和计算机程序。该方法包括接收指令;如果所述指令的操作码为来自基本指令集的指令的操作码,则根据用于所述基本指令集的译码规则对所述指令进行译码;以及如果所述指令的所述操作码为来自至少一个进阶指令集的指令的操作码,则根据指示符值所判定的译码规则集合对所述指令进行译码,其中该指示符值指示所述至少一个进阶指令集中的哪个进阶指令集当前将被译码。
文档编号G06F9/30GK103154883SQ201180048887
公开日2013年6月12日 申请日期2011年9月29日 优先权日2010年10月12日
发明者西蒙·约翰·克拉斯克 申请人:Arm 有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1