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所支持的“指令集”相对应。计算机科学领域中广泛认可两种类型的处理器架构:“标量”和“向量”。标量处理器被设计成执行对单个数 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。