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

用于将紧缩数据元素移位并提取紧缩数据元素的装置和方法制造方法及图纸

技术编号:20796705 阅读:23 留言:0更新日期:2019-04-06 10:20
公开了用于将紧缩数据元素移位并提取紧缩数据元素的装置和方法。用于对紧缩四字数据执行右移操作的装置和方法。例如,处理器的一个实施例包括:解码器,用于对右移指令解码以生成经解码的右移指令;第一源寄存器,用于存储多个紧缩四字数据元素;执行电路,用于执行经解码的右移指令,该执行电路包括移位电路,该移位电路用于将分别来自第一源寄存器中的第一和第二紧缩四字数据元素位置的至少第一和第二紧缩四字数据元素右移在立即数值中或在第二源寄存器中的控制值中指定的量,以生成第一和第二右移的四字;执行电路用于引起选择第一和第二右移的四字的最高有效的位的指定集合用于分别被写入到目的地寄存器的第一和第二四字元素位置的最低有效的位区域;并且所述目的地寄存器用于存储第一和第二右移的四字的最高有效的位的指定集合。

Devices and methods for shifting and extracting compact data elements

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)和引退寄存器堆)的一个或多个动态分配的物理寄存器。除非另外指定,否则短语“寄存器架构”、“寄存器堆”和“寄存器”在本文中用于指代对软件/编程者以及对指令指定寄存器的方式可见的寄存器架构、寄存器堆和寄存器。在需要区分的情况下,形容词“逻辑的”、“架构的”,或“软件可见的”将用于指示寄存器架构中的寄存器/寄存器堆,而不同的形容词将用于规定给定微型架构中的寄存器(例如,物理寄存器、重新排序缓冲器、引退寄存器、寄存器池)。乘法-累加是常用的数字信号处理操作,该操作计算两个数的乘积并将该乘积加到累加值。现有的单指令多数据(SIMD)微架构通过执行指令序列来实现乘法-累加操作。例如,可利用乘法指令,随后是4路加法,并且然后是利用目的地四字数据的累加来执行乘法-累加,以生成两个64位饱和结果。附图说明结合以下附图,从以下具体实施方式可获得对本专利技术更好的理解,其中:图1A和图1B是图示出根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图;图2A-图2C是图示出根据本专利技术的实施例的示例性VEX指令格式的框图;图3是根据本专利技术的一个实施例的寄存器架构的框图;以及图4A是示图出根据本专利技术的实施例的示例性有序取出、解码、引退流水线以及示例性寄存器重命名的乱序发布/执行流水线两者的框图;图4B是图示出根据本专利技术的实施例的要包括在处理器中的有序取出、解码、引退核的示例性实施例和示例性寄存器重命名的乱序发布/执行架构核的框图;图5A是单个处理器核以及它与管芯上互连网络的连接的框图;图5B图示出根据本专利技术的实施例的图5A中的处理器核的部分的展开图;图6是根据本专利技术的实施例的具有集成存储器控制器和图形器件的单核处理器和多核处理器的框图;图7图示出根据本专利技术的一个实施例的系统的框图;图8图示出根据本专利技术的实施例的第二系统的框图;图9图示出根据本专利技术的实施例的第三系统的框图;图10图示出根据本专利技术的实施例的芯片上系统(SoC)的框图;图11图示出根据本专利技术的实施例的、对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图;图12图示出可在其上实现本专利技术的实施例的处理器架构;图13图示出根据一个实施例的包含实值和复值的多个紧缩数据元素;图14图示出根据本专利技术的一个实施例的紧缩数据处理架构;图15图示出基于立即数中的值来执行四字数据元素的右移的一个实施例;图16图示出基于源寄存器中的值来执行四字数据元素的右移的一个实施例;图17图示出基于立即数中的值来执行四字数据元素的左移的一个实施例;图18图示出基于源寄存器中的值来执行四字数据元素的左移的一个实施例;图19图示出根据本专利技术的一个实施例的用于执行四字数据元素的右移的方法;图20图示出根据本专利技术的一个实施例的用于执行四字数据元素的左移的方法;图21图示出根据本专利技术的一个实施例的用于执行四字数据元素的右移的方法;以及图22图示出根据本专利技术的一个实施例的用于执行四字数据元素的左移的方法。具体实施方式在下面的描述中,出于解释的目的,阐述了众多具体细节以便提供对下文所描述的本专利技术的实施例的透彻理解。然而,对本领域技术人员显而易见的是,可在没有这些具体细节中的一些细节的情况下实施本专利技术的实施例。在其他实例中,公知的结构和设备以框图形式示出,以避免使本专利技术的实施例的基本原理变得模糊。示例性处理器架构、指令格式和数据类型指令集包括一种或多种指令格式。给定的指令格式定义各种字段(位的数量、位的位置)以指定将要执行的操作(操作码)以及将对其执行该操作的(多个)操作数等等。通过指令模板(或子格式)的定义来进一步分解一些指令格式。例如,可将给定指令格式的指令模板定义为具有该指令格式的字段(所包括的字段通常按照相同顺序,但是至少一些字段具有不同的位的位置,因为较少的字段被包括)的不同子集,和/或定义为具有以不同方式进行解释的给定字段。由此,ISA的每一条指令使用给定的指令格式(并且如果经定义,则按照该指令格式的指令模板中的给定的一个指令模板)来表达,并包括用于指定操作和操作数的字段。例如,示例性ADD(加法)指令具有特定的操作码和指令格式,该特定的指令格式包括用于指定该操作码的操作码字段和用于选择操作数(源1/目的地以及源2)的操作数字段;并且该ADD指令在指令流中出现将使得在操作数字段中具有选择特定操作数的特定的内容。本文中所描述的(多条)指令的实施例能以不同的格式体现。另外,在下文中详述示例性系统、架构和流水线。(多条)指令的实施例可在此类系统、架构和流水线上执行,但是不限于详述的那些系统、架构和流水线。通用向量友好指令格式向量友好指令格式是适于向量指令(例如,存在专用于向量操作的特定字段)的指令格式。尽管描述了其中通过向量友好指令格式支持向量和标量操作两者的实施例,但是替代实施例仅使用通过向量友好指令格式的向量操作。图1A-图1B是图示根据本专利技术的实施例的通用向量友好指令格式及其指令模板的框图。图1A是图示根据本专利技术的实施例的通用向量友好指令格式及其A类指令模板的框图;而图1B是图示根据本专利技术的实施例的通用向量友好指令格式及其B类指令模板的框图。具体地,针对通用向量友好指令格式100定义A类和B类指令模板,这两者都包括无存储器访问105的指令模板和存储器访问120的指令模板。在向量友好指令格式的上下文中的术语“通用”是指不束缚于任何特定指令集的指令格式。尽管将描述其中向量友好指令格式支持以下情况的本专利技术的实施例:64字节向量操作数长度(或尺寸)与32位(4字节)或64位(8字节)数据元素宽度(或尺寸)(并且由此,64字节向量由16个双字尺寸的元素组成,或者替代地由8个四字尺寸的元素组成);64字节向量操作数长度(或尺寸)与16位(2字节)或8位(1字节)数据元素宽度(或尺寸);32字节向量本文档来自技高网...

【技术保护点】
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

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

1