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

经改进的提取指令的装置和方法制造方法及图纸

技术编号:18367172 阅读:56 留言:0更新日期:2018-07-05 08:09
本申请公开了经改进的提取指令的装置和方法。描述了一种装置,该装置包含指令执行逻辑电路,该指令执行逻辑电路用于执行第一、第二、第三和第四指令。第一指令和第二指令二者从相应的第一和第二输入向量的多个第一不重叠部分中的一个部分中选择第一组输入向量元素。第一组具有第一位宽。多个第一不重叠部分中的每个部分具有与第一组相同的位宽。第三指令和第四指令两者从相应的第三和第四输入向量的多个第二不重叠部分中的一个部分中选择第二组输入向量元素。第二组具有比所述第一位宽大的第二位宽。多个第二不重叠部分中的每个部分具有与第二组相同的位宽。该装置包括掩码层电路,该掩码层电路用于在第一粒度下对第一和第三指令的第一和第二组进行掩码操作,其中利用该操作产生的相应结果是第一和第三指令的相应结果。该掩码层电路还用于在第二粒度下对第二和第四指令的第一和第二组进行掩码操作,其中利用该操作产生的相应结果是第二和第四指令的相应结果。

Improved device and method for extracting instruction

The application discloses an improved extraction instruction device and method. A device is described, which includes instruction execution logic circuit, which executes first, second, third and fourth instructions. The first instruction and the second instruction two select the first set of input vector elements from one part of a plurality of first and second non overlapping parts of the corresponding first and second input vectors. The first group has a first bit width. Each part of a plurality of first non overlapping parts has the same bit width as the first group. The third instruction and the fourth instruction select the second set of input vector elements from one part of a plurality of second non overlapping parts of the corresponding third and fourth input vectors. The second group has a second bit width wider than the first one. Each part of a plurality of second non overlapping parts has the same bit width as the second group. The device includes a mask layer circuit for the first and second groups of first and third instructions under the first granularity, in which the corresponding results generated by the operation are the corresponding results of the first and third instructions. The mask layer circuit is also used to perform mask operations on the first and second groups of the second and fourth instructions under the second granularity, in which the corresponding results generated by the operation are the corresponding results of the second and fourth instructions.

【技术实现步骤摘要】
经改进的提取指令的装置和方法本专利技术专利申请是国际申请号为PCT/US2011/067182,国际申请日为2011年12月23日,进入中国国家阶段的申请号为201180076304.0,名称为“经改进的提取指令的装置和方法”的专利技术专利申请的分案申请。背景
本专利技术一般涉及计算科学,且更具体地涉及经改进的提取指令的装置和方法。
技术介绍
图1示出了在半导体芯片上用逻辑电路实现的处理核100的高级图。该处理核包括流水线101。该流水线由各自被设计成在完全执行程序代码指令所需的多步骤过程中执行特定步骤的多个级组成。这些级通常至少包括:1)指令取出和解码;2)数据取出;3)执行;4)写回。执行级对由在先前级(例如在上述步骤1))中所取出和解码的指令所标识并在另一先前级(例如在上述步骤2))中被取出的数据执行由在先前级(例如在上述步骤1))中取出和解码的指令所标识的特定操作。被操作的数据通常是从(通用)寄存器存储空间102中取出的。在该操作完成时所创建的新数据通常也被“写回”寄存器存储空间(例如在上述级4))。与执行级相关联的逻辑电路通常由多个“执行单元”或“功能单元”103_1至103_N构成,这些单元各自被设计成执行其自身的唯一操作子集(例如,第一功能单元执行整数数学操作,第二功能单元执行浮点指令,第三功能单元执行从高速缓存/存储器的加载操作和/或到高速缓存/存储器的存储操作等等)。由所有这些功能单元执行的所有操作的集合与处理核100所支持的“指令集”相对应。计算机科学领域中广泛认可两种类型的处理器架构:“标量”和“向量”。标量处理器被设计成执行对单个数据集进行操作的指令,而向量处理器被设计成执行对多个数据集进行操作的指令。图2A和2B呈现了展示标量处理器与向量处理器之间的基本差异的比较示例。图2A示出标量AND(与)指令的示例,其中单个操作数集A和B一起进行“与”运算以产生奇异(或“标量”)结果C(即,AB=C)。相反,图2B示出向量AND指令的示例,其中两个操作数集A/B和D/E并行地分别一起进行“与”运算以同时产生向量结果C和F(即,A.AND.B=C以及D.AND.E=F)。根据术语学,“向量”是具有多个“元素”的数据元素。例如,向量V=Q,R,S,T,U具有五个不同的元素:Q、R、S、T和U。示例性向量V的“尺寸”是5(因为它具有5个元素)。图1还示出向量寄存器空间104的存在,该向量寄存器空间104不同于通用寄存器空间102。具体而言,通用寄存器空间102标准地用于存储标量值。这样,当各执行单元中的任一个执行标量操作时,它们标准地使用从通用寄存器存储空间102调用的操作数(并将结果写回通用寄存器存储空间102)。相反,当各执行单元中的任一个执行向量操作时,它们标准地使用从向量寄存器空间107调用的操作数(并将结果写回向量寄存器空间107)。可类似地分配存储器的不同区域以存储标量值和向量值。还应注意,存在位于功能单元103_1到103_N的相应输入处的掩码逻辑104_1到104_N,以及位于功能单元103_1到103_N的相应输出处的掩码逻辑105_1到105_N。在各种实现中,实际上仅实现这些层中的一个层——不过这并非严格要求。对于采用掩码的任何指令,输入掩码逻辑104_1到104_N和/或输出掩码逻辑105_1到105_N可用于控制哪些元素被该向量指令有效地操作。在此,从掩码寄存器空间106读取掩码向量(例如与从向量寄存器存储空间107读取的输入数据向量一起),并将该掩码向量呈现给掩码逻辑104、105层中的至少一层。在执行向量程序代码的过程中,每一向量指令无需要求全数据字。例如,一些指令的输入向量可能仅仅是8个元素,其他指令的输入向量可能是16个元素,其他指令的输入向量可能是32个元素,等等。因此,掩码层104/105用于标识完整向量数据字中的应用于特定指令的一组元素,以在多个指令之间实现不同的向量尺寸。通常,对于每一向量指令,掩码寄存器空间106中所保持的特定掩码模式被该指令调出,从掩码寄存器空间中被取出并且被提供给掩码层104/105中的任一者或两者,以“启用”针对该特定向量操作的正确元素集合。图3a至3e示出了现有技术VINSERT、VEXTRACT和VPERMUTE指令的逻辑操作。注意,相比于其实际名称,这些指令的名称已被缩略或以其它方式简化。图3a示出了现有技术VINSERT指令的逻辑操作。如图3a中观察到的,第一输入操作数对应于128位的信息301_A,而第二输入操作数对应于256位向量302_A。第三立即输入操作数(未示出)指定256位向量302_A的哪一半(下半部或右半部)将被第一输入操作数301_A的128位信息取代。所得的结构被存储在具有256位尺寸的目的地/结果向量中。128位信息301、输入向量302_A和结果是浮点值,其尺寸可为32位或64位。图3b示出了现有技术VEXTRACT指令的逻辑操作。如图3b中观察到的,第一输入操作数对应于256位向量301_B。第二立即输入操作数(未示出)指定256位输入向量301_B的哪一半(下半部或右半部)将覆写在目的地寄存器302_B中所存储的256位向量的最低阶128位上。输入向量301_B向量被结构化为浮点值,其尺寸为32位或64位。该指令格式可替换地指定存储器中的128位作为目的地,而非目的地寄存器302_B。图3c至3e示出了三个不同VPERMUTE指令(VPERMILPS、VPERMILPD、VPERM2F128)的相应逻辑操作。图3c示出了VPERMILPS指令的逻辑操作。如图3c中观察到的,VPERMILPS指令接受对应于256位输入向量的输入操作数301_C,该输入向量具有8个32位(单精度)浮点值。结果也是256位向量,该256位向量具有8个32位单精度浮点值作为其元素302_C。第二输入向量(未示出)针对结果的下半部中的4个元素中的每个元素唯一性地指定输入向量301_C的下半部中的4个元素301_C_1至301_C_4中的哪个元素将向输出元素提供其内容。图3c仅针对输出元素302_C_1和302_C_5示出了该操作。此处,输出元素302_C_1的内容可用输入元素301_C_1至301_C_4中任一者的内容填充。在(未示出的)第二输入向量中清楚表明输入元素301_C_1至301_C_4中的哪一个被选择来填充输出元素302_C_1。此处,第二输入向量包含针对输出向量中的8个元素中的每个元素的单独的2位控制字段。必须从输入向量301_C的下半部中选取结果302_C的下半部中的输出元素的源。同样,必须从输入向量301_C的上半部中选取结果302_C的上半部中的输出元素的源。尽管未在图3c中明确地示出,但输出元素302_C_2至302_C_4中每一者的内容藉由第二输入向量中包含的信息被唯一性地指定为输入元素301_C_1至301_C_4中的任一者。类似地,如图3c中观察到的,输出元素302_C_5的内容用输入元素301_C_5至301_C_8中任一者的内容来填充。同样,也在(未示出的)第二输入向量中清楚表明输入元素301_C_5至301_C_8中的哪一个被选择来填充输出元素302_C_5。经由(未示出的)第本文档来自技高网...
经改进的提取指令的装置和方法

【技术保护点】
1.一种处理器,包括:多个向量寄存器;指令解码电路,用于解码提取指令,所述提取指令包括向量扩展组件和立即数,所述向量扩展组件包括:第一字节字段,用于指示所述提取指令的格式,第二字节字段,用于标识所述多个向量寄存器的一个或多个子集、且用于标识所述提取指令的相应操作码映射,所述一个或多个子集包括源向量寄存器和目的地向量寄存器,以及第三字节字段,用于指示打包数据元素长度、且用于指定与所述提取指令相对应的操作码编码的部分;以及执行电路,用于执行由所述提取指令指定的操作,其中,响应于所述指令解码电路解码所述提取指令,所述执行电路用于从所述源向量寄存器中的位置提取128位数据、并将所述128位数据写入所述目的地向量寄存器,其中,从中提取所述128位数据的位置是基于所述立即数来选择的。

【技术特征摘要】
1.一种处理器,包括:多个向量寄存器;指令解码电路,用于解码提取指令,所述提取指令包括向量扩展组件和立即数,所述向量扩展组件包括:第一字节字段,用于指示所述提取指令的格式,第二字节字段,用于标识所述多个向量寄存器的一个或多个子集、且用于标识所述提取指令的相应操作码映射,所述一个或多个子集包括源向量寄存器和目的地向量寄存器,以及第三字节字段,用于指示打包数据元素长度、且用于指定与所述提取指令相对应的操作码编码的部分;以及执行电路,用于执行由所述提取指令指定的操作,其中,响应于所述指令解码电路解码所述提取指令,所述执行电路用于从所述源向量寄存器中的位置提取128位数据、并将所述128位数据写入所述目的地向量寄存器,其中,从中提取所述128位数据的位置是基于所述立即数来选择的。2.如权利要求1所述的处理器,其特征在于,所述第一字节字段、第二字节字段、以及第三字节字段在所述提取指令中顺序地排列。3.如权利要求1所述的处理器,其特征在于,所述目的地向量寄存器来自与所述源向量寄存器不同的寄存器空间。4.如权利要求1所述的处理器,其特征在于,所述128位数据作为打包数据元素被存储在所述源向量寄存器中。5.如权利要求4所述的处理器,其特征在于,所述打包数据元素包括一个或多个整数值。6.如权利要求1所述的处理器,其特征在于,所述源向量寄存器是N位寄存器,且所述目的地向量寄存器是M位寄存器,其中N>M。7.如权利要求6所述的处理器,其特征在于,所述源向量寄存器是YMM寄存器,且所述目的地向量寄存器是XMM寄存器。8.如权利要求1所述的处理器,其特征在于,所述第三字节字段还包括:四位字段,用于指示用于除所述提取指令之外的特定指令的特定源寄存器或目的地寄存器,所述四位字段在所述提取指令中设置为1111以指示所述四位字段未编码操作数。9.如权利要求1所述的处理器,其特征在于,进一步包括:比例、索引、基址(SIB)字节,能用于执行用于所述提取指令的地址生成。10.如权利要求1-9中的任一项所述的处理器,其特征在于,进一步包括:位移因数字节,包括能用于地址生成的位移字段。11.一种方法,包括:解码提取指令,所述提取指令包括向量扩展组件和立即数,所述向量扩展组件包括:第一字节字段,用于指示所述提取指令的格式,第二字节字段,用于标识多个向量寄存器的一个或多个子集、且用于标识所述提取指令的相应操作码映射,所述一个或多个子集包括源向量寄存器和目的地向量寄存器,以及第三字节字段,用于指示打包数据元素长度、且用于指定与所述提取指令相对应的操作码编码的部分;以及执行由所述提取指令指定的操作,其中,响应于所述提取指令的解码,执行电路用于从所述源向量寄存器中的位置提取128位数据、并将所述128位数据写入所述目的地向量寄存器,基于所述立即数来选择从中提取所述128位数据的所述位置。12.如权利要求11所述的方法,其特征在于,所述第一字节字段、第二字节字段、以及第三字节字段在所述提取指令中顺序地排列。13.如权利要求11所述的方法,其特征在于,所述目的地向量寄存器来自与所述源向量寄存器不同的寄存器空间。14.如权利要求11所述的方法,其特征在于,所述128位数据作为打包数据元素被存储在所述源向量寄存器中。15.如权利要求14所述的...

【专利技术属性】
技术研发人员:E·乌尔德阿迈德瓦尔R·凡伦天J·考博尔圣阿德里安B·L·托尔M·J·查尼Z·斯波伯A·格雷德斯廷
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1