当前位置: 首页 > 专利查询>英特尔公司专利>正文

对使用前缀的ISA指令的条件执行支持制造技术

技术编号:10281644 阅读:151 留言:0更新日期:2014-08-03 05:36
在一种实施例中,一种处理器包括指令解码器和执行单元,该指令解码器接收具有前缀和操作码的第一指令,并且,由该处理器的指令解码器生成以基于前缀确定的条件为基础执行的第二指令,该执行单元以基于前缀确定的条件为基础有条件地执行第二指令。

【技术实现步骤摘要】
【国外来华专利技术】对使用前缀的ISA指令的条件执行支持专利
[0001 ] 本专利技术的各实施例通常涉及指令处理装置。尤其,本专利技术的各实施例涉及具有对使用前缀的ISA指令的条件执行扩展的指令处理装置。背景诸如整数寄存器等的通用寄存器(GPR)中所涉及的指令被广泛用于诸如x86体系结构等的指令集体系结构(ISA)。大多数X86GPR(例如,整数寄存器,而不是x87或单指令多数据(SMD)/高级矢量扩展(AVX)寄存器)操作写入到整数寄存器并且操纵x86算术标志寄存器。例如,诸如ADD指令等加指令修改标志(例如,OF、SF、ZF、AF、CF和PF标志)并更新GPR目的地。诸如INC等递增指令也修改标志(例如,OF、SF、ZF、AF和PF)并更新GPR目的地。通常,这种标志修改是不必要的,甚至由于不必要的依赖关系链而增加了复杂性和潜在的性能影响。也可以由处理器基于一个或多个条件有条件地执行指令。通常,为了执行条件执行,X86GPR指令要求多个操作码或指令,例如,基于图6中的条件代码表中所示出的一个或多个测试字段(test field)。这样的要求可以消耗更多资源且降低处理器的性能。附图简述作为示例而非限制在附图的各图中阐释本专利技术的各实施例,附图中,类似的标号指示相似的元素。图1是阐释根据一种实施例的处理器的示例的框图。图2是阐释根据一种实施例的指令的示例的框图。图3是阐释根据一种实施例的处理器的示例的框图。图4是阐释标志寄存器的示例的框图。图5是阐释根据一种实施例与基于AVX的指令一起使用的VEX前缀编码的框图。图6是阐释常规条件代码表的框图。图7是阐释根据一种实施例的前缀编码表的框图。图8是阐释根据一种实施例的处理指令的方法的流程图。图9是阐释根据一种实施例的数据处理系统的示例的框图。图10是阐释根据另一实施例的数据处理系统的示例的框图。详细描述将参考下面讨论的细节描述本专利技术的各种实施例和各方面,且附图将阐释各种实施例。下列描述和附图阐释本专利技术,且不应被解释成限制本专利技术。描述了众多特定细节,以便提供对本专利技术的各种实施例的透彻理解。然而,在某些实例中,不描述公知的或常规的细节,以便提供对本专利技术的各实施例的简练讨论。本说明书中对“一种实施例”或“一个实施例”的引用意味着,结合该实时例描述的具体的特征、结构或特性可以被包括在本专利技术的至少一种实施例中。在本说明书中各处出现“在一个实施例中”的短语不一定都是指相同的实施例。根据一些实施例,在处理器处接收到的指令包括前缀和操作码。指令的前缀的一个或多个比特被用来指示一个或多个条件,在得到满足时,这些条件引起执行指令的操作码。前缀的不同的比特模式可以被用来指定操作码的条件执行的不同条件。指令的操作码可以表示整数通用寄存器(GPR)或存储器指令,例如x86兼容操作码(例如,x86传统操作码)。结果,单个指令可以包括指定操作码的条件执行的一个或多个条件的信息。另外,根据一种实施例,指令的前缀也被用来提供指示,即在由处理器执行指令的操作码时是否应当修改寄存器的标志。在一种实施例中,当在处理器处接收到指令时,诸如指令解码器等的处理逻辑被配置为检查前缀的一个或多个比特的比特模式,以便判断是否应当允许指令的操作码在执行时修改诸如标志寄存器、状态寄存器或条件代码寄存器等等的寄存器的标志。如果比特模式匹配预先确定的模式,则防止执行操作码的执行单元修改通常通过操作码的执行修改的标志。在一种实施例中,指令的前缀的比特模式可以被用来指示:1) 一个或多个条件,其判断是否执行指令的操作码;以及2)是否允许操作码的条件执行修改诸如标志寄存器、状态寄存器和/或条件代码寄存器等等的寄存器的一个或多个标志。因而,具有如缀和操作码的单个指令可以在前缀中包括所有信息,以确定有条件地执行操作码的一个或多个条件和/或判断操作码的条件执行是否可以修改寄存器的一个或多个标志。图1是阐释根据一种实施例的处理器的示例的框图。参见图1,处理器100可以表示任何种类的指令处理装置。例如,处理器101可以是通用处理器。处理器100可以是各种复杂指令集计算(CISC)处理器、各种精简指令集计算(RISC)处理器、各种超长指令字(VLIff)处理器、其各种混合或完全是其他类型的处理器中的任何。在一种实施例中,处理器100包括接收和解码指令106的指令解码器101。指令解码器101可以生成并输出反映指令106或是从中导出的一个或多个微操作、微代码、入口点、微指令、其他指令或其他控制信号。可以使用各种不同的机制来实现指令解码器101。合适的机制的示例包括但不限于微代码只读存储器(ROM)、查找表、硬件实现、可编程逻辑阵列(PLA)等等。处理器100还包括一个或多个执行单元102,其可以包括算术逻辑单元,或能够基于指令106执行操作的另一类型的逻辑单元。作为指令解码器101解码指令106的结果,执行单元102可以接收反映指令106或是从中导出的一个或多个微操作、微代码入口点、微指令、其他指令或其他控制信号。执行单元102可以作为指示一个或多个源操作数(SRC) 108的指令106的结果而操作,并把结果存储在由指令106指示的寄存器集105的一个或多个目的地操作数(DEST) 109中。执行单元102可以包括可操作为执行从指令106导出的指令或其他控制信号并据此执行操作的电路或其他执行逻辑(例如,与硬件和/或固件结合的软件)。执行单元102可以表示诸如逻辑单元、算术逻辑单元(ALU)、算术单元、整数单元等等的任何种类的执行单元。在一种实施例中,指令106可以隐含地指示和/或明确地指定(例如,通过一个或多个专用字段或比特集合)源和目的地操作数。操作数的合适的源和/或目的地的示例包括寄存器、存储器、即时指令(immediate of the instruction)及其组合。在各种实施例中,源和目的地操作数可以是8位、16位、32位或64位操作数,尽管不要求这一点。在一种实施例中,源操作数和目的地操作数中的一些或全部可以存储在寄存器集105的寄存器或存储器中。寄存器集可以是寄存器堆(register file)的一部分,以及潜在地是其他寄存器,例如状态寄存器、标志寄存器等等。寄存器可以是可以用来存储数据的存储位置或设备。寄存器集常常可以物理上位于具有执行单元的管芯上。寄存器可以在处理器外或从程序员的视角可见。例如,指令可以指定存储在寄存器中的操作数。只要各种不同类型的寄存器能够存储和提供在此描述的数据,它们就是合适的。可以重命名或不重命名寄存器。合适的寄存器的示例包括但不限于专用物理寄存器、使用寄存器重命名的动态分配物理寄存器、专用物理寄存器和动态分配物理寄存器的组合等等。备选地,源操作数和目的地操作数中的一种或多个可以存储在不同于寄存器的存储位置,诸如例如系统存储器中的位置。再参见图1,在一种实施例中,指令106可以包括如图2中所示出的至少一个前缀和操作码。参见图1和图2,图2的指令200可以表示图1的指令106。在一种实施例中,指令200包括前缀201和操作码202。当指令解码器101接收到指令200时,根据一种实施例,指令解码器101被配置为基于操作码202生成一个或多个微代码操作或微指令以便由执行单元102执行。另外,指令解码器101本文档来自技高网...
对使用前缀的ISA指令的条件执行支持

【技术保护点】
一种处理器,包括:指令解码器,其接收具有前缀和操作码的第一指令,并且由所述处理器的所述指令解码器生成以基于所述前缀确定的条件为基础执行的第二指令;以及执行单元,其以基于所述前缀确定的所述条件为基础有条件地执行所述第二指令。

【技术特征摘要】
【国外来华专利技术】1.一种处理器,包括: 指令解码器,其接收具有前缀和操作码的第一指令,并且由所述处理器的所述指令解码器生成以基于所述前缀确定的条件为基础执行的第二指令;以及 执行单元,其以基于所述前缀确定的所述条件为基础有条件地执行所述第二指令。2.如权利要求1所述的所述处理器,进一步包括把多个前缀转换成多个条件的前缀-条件表,其中,所述指令解码器在所述前缀-条件表中执行查找操作,以便把所述前缀转换成所述条件。3.如权利要求1所述的所述处理器,其特征在于,所述执行单元基于所述条件检查所述处理器的标志寄存器,以便判断所述标志寄存器的一个或多个标志是否满足从所述前缀导出的、执行所述第二指令的所述条件。4.如权利要求1所述的所述处理器,进一步包括标志修改覆盖逻辑,其基于所述第一指令的所述前缀防止所述执行单元修改所述处理器的标志寄存器。5.如权利要求1所述的所述处理器,其特征在于,所述指令解码器: 从所述第一指令提取所述前缀, 考虑所述处理器的能力,基于所述前缀判断所述第一指令是否有效,其中,如果所述第一指令有效,则所述执行单元仅执行所述第一指令,以及 如果基于所述处理器的能力所述前缀的一个或多个比特匹配预先确定的比特模式,则生成指示所述第一指令无效的异常。6.如权利要求5所述的所述处理器,其特征在于,在判断所述第一指令是否有效时,考虑标识所述处理器的类型的处理器标识符,所述指令解码器检查所述前缀的一个或多个比特的值。7.如权利要求1所述的所述处理器,其特征在于,所述标志修改逻辑进行: 如果所述前缀的一个或多个比特匹配第一预先确定的比特模式,则防止所述执行单元修改所述标志寄存器,以及 如果所述前缀的一个或多个比特匹配第二预先确定的比特模式,则允许所述执行单元修改所述标志寄存器。8.如权利要求1所述的所述处理器,其特征在于,在所述操作码包括受所述处理器支持的矢量指令时,所述前缀包括表示矢量长度的一个或多个比特。9.一种方法,包括: 在处理器处接收具有前缀和操作码的第一指令; 由所述处理器的指令解码器生成以基于所述前缀确定的条件为基础执行的第二指令;以及 由所述处理器的执行单元以基于所述前缀确定的条件为基础有条件地执行所述第二指令。10.如权利要求9所述的方法,其特征在于,生成第二指令包括在前缀-条件表中执行查找操作,以便把所述前缀转换成所...

【专利技术属性】
技术研发人员:J·D·库姆斯J·W·布兰德特R·凡伦天K·B·史密斯Z·安萨瑞M·洛克西金
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1