Devices and methods for shifting and extracting compact data elements are disclosed. Devices and methods for performing right-shift operations on compact quadword data. For example, an embodiment of a processor includes: a decoder for decoding right-shift instructions to generate decoded right-shift instructions; a first source register for storing multiple compact four-word data elements; and an execution circuit for executing decoded right-shift instructions, which includes a shift circuit for the first and the first from the first source register, respectively. At least the first and second compact quadword data elements at the position of the two compact quadword data elements are moved right in the immediate value or in the control value in the second source register to generate the first and second right-shifted quadwords; the execution circuit is used to cause the selection of the most efficient set of bits of the first and second right-shifted quadwords to be written to the destination register, respectively. The lowest valid bit region of the position of the first and second four-character elements; and the destination register is used to store a specified set of the most valid bits of the first and second right-shifted four-character elements.
【技术实现步骤摘要】
用于将紧缩数据元素移位并提取紧缩数据元素的装置和方法
技术介绍
本专利技术的实施例总体上涉及计算机处理器的领域。更具体地,实施例涉及用于将紧缩数据元素移位并提取紧缩数据元素的装置和方法。相关技术描述指令集或指令集架构(ISA)是计算机架构中涉及编程的部分,包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置、以及外部输入和输出(I/O)。应当注意,术语“指令”在本文中一般是指宏指令——即,提供给处理器以供执行的指令——而不是微指令或微操作——即,该微指令或微操是处理器的解码器对宏指令进行解码的结果。微指令或微操作可以被配置成用于指示处理器上的执行单元执行操作以实现与宏指令相关联的逻辑。ISA与微架构不同,微架构是用于实现指令集的处理器设计技术的集合。具有不同微架构的处理器可以共享公共指令集。例如,奔腾4(Pentium4)处理器、酷睿TM(CoreTM)处理器、以及来自加利福尼亚州桑尼威尔(Sunnyvale)的超微半导体有限公司(AdvancedMicroDevices,Inc.)的多个处理器实现几乎相同版本的x86指令集(具有已随更新的版本加入的一些扩展),但具有不同的内部设计。例如,ISA的相同寄存器架构在不同的微架构中可使用公知的技术以不同方法来实现,包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)和引退寄存器堆)的一个或多个动态分配的物理寄存器。除非另外指定,否则短语“寄存器架构”、“寄存器堆”和“寄存器”在本文中用于指代对软件/编程者以及对指令指定寄存器的方式可见的寄存器架 ...
【技术保护点】
1.一种处理器,包括:解码器,用于对右移指令解码以生成经解码的右移指令;第一源寄存器,用于存储多个紧缩四字数据元素;执行电路,用于执行经解码的右移指令,所述执行电路包括移位电路,所述移位电路用于将分别来自所述第一源寄存器中的第一紧缩四字数据元素位置和第二紧缩四字数据元素位置的至少第一紧缩四字数据元素和第二紧缩四字数据元素右移在立即数值中或在第二源寄存器中的控制值中指定的量,以生成第一右移的四字和第二右移的四字;所述执行电路用于引起选择所述第一右移的四字和所述第二右移的四字的最高有效的位的指定集合用于被分别写入到目的地寄存器的第一四字数据元素位置和第二四字元素位置的最低有效的位区域;并且所述目的地寄存器用于存储所述第一右移的四字和所述第二右移的四字的最高有效的位的所述指定集合。
【技术特征摘要】
2017.09.29 US 15/721,4441.一种处理器,包括:解码器,用于对右移指令解码以生成经解码的右移指令;第一源寄存器,用于存储多个紧缩四字数据元素;执行电路,用于执行经解码的右移指令,所述执行电路包括移位电路,所述移位电路用于将分别来自所述第一源寄存器中的第一紧缩四字数据元素位置和第二紧缩四字数据元素位置的至少第一紧缩四字数据元素和第二紧缩四字数据元素右移在立即数值中或在第二源寄存器中的控制值中指定的量,以生成第一右移的四字和第二右移的四字;所述执行电路用于引起选择所述第一右移的四字和所述第二右移的四字的最高有效的位的指定集合用于被分别写入到目的地寄存器的第一四字数据元素位置和第二四字元素位置的最低有效的位区域;并且所述目的地寄存器用于存储所述第一右移的四字和所述第二右移的四字的最高有效的位的所述指定集合。2.如权利要求1所述的处理器,其中,所述移位电路用于将零插入在通过所述第一四字数据元素和所述第二四字数据元素的右移而变得可用的位的位置中。3.如权利要求1或2所述的处理器,进一步包括:舍入和/或饱和电路,用于在存储在所述目的地寄存器之前,舍入所述第一右移的四字和所述第二右移的四字的值和/或使所述第一右移的四字和所述第二右移的四字的值饱和。4.如权利要求3所述的处理器,其中,一个或多个饱和标志将响应于所述第一右移的四字和所述第二右移的四字被饱和而更新。5.如权利要求1或4所述的处理器,其中,所述第一右移的四字和所述第二右移的四字的最高有效的位的所述指定集合包括所述第一右移的四字和所述第二右移的四字的最高有效的32位。6.如权利要求1或5所述的处理器,其中,所述立即数值或所述第二源寄存器的所述控制值包括用于指示移位量的6位的值。7.如权利要求1或6所述的处理器,其中,所述第一源寄存器和所述目的地寄存器包括128位的紧缩数据寄存器。8.如权利要求7所述的处理器,其中,所述128位的紧缩数据寄存器包括xmm寄存器。9.一种方法,包括:对右移指令解码以生成经解码的右移指令;将多个紧缩四字数据元素存储在第一源寄存器中;将分别来自所述第一源寄存器中的第一紧缩四字数据元素位置和第二紧缩四字数据元素位置的至少第一紧缩四字数据元素和第二紧缩四字数据元素右移在立即数值中或在第二源寄存器中的控制值中指定的量,以生成第一右移的四字和第二右移的四字;选择所述第一右移的四字和所述第二右移的四字的最高有效的位的指定集合用于分别被写入到目的地寄存器的第一四字数据元素位置和第二四字数据元素位置的最低有效的位区域;以及将所述第一右移的四字和所述第二右移的四字的最高有效的位的所述指定集合写入到所述目的地寄存器。10.如权利要求9所述的方法,其中,移位电路用于将零插入在通过所述第一四字数据元素和所述第二四字数据元素的右移而变得可用的位的位置中。11.如权利要求9或10所述的方法,进一步包括:在写入到所述目的地寄存器之前,舍入所述第一右移的四字和所述第二右移的四字的值和/或使所述第一右移的四字和所述第二右移的四字的值饱和。12.如权利要求11所述的方法,进一步包括:响应于所述第一右移的四字和所述第二右移的四字被饱和,更新一个或多个饱和标志...
【专利技术属性】
技术研发人员:V·马杜里,E·乌尔德阿迈德瓦尔,R·凡伦天,M·查尼,J·考博尔,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。