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

用于将打包四字移位并提取打包字的装置和方法制造方法及图纸

技术编号:21476854 阅读:27 留言:0更新日期:2019-06-29 04:37
用于将打包四字移位并提取打包字的装置和方法。方法含解码左移位指令以生成经解码的左移位指令;在第一源寄存器中存储多个包括符号位的打包四字数据元素;执行经解码的左移位指令,含将第一源寄存器中的分别来自第一和第二打包四字数据元素位置的第一和第二打包四字数据元素左移位在立即数值中或在第二源寄存器中的控制值中指定的量,将零写到由打包四字数据元素的左移位所暴露的位位置中;在移位电路实行左移位操作时维持符号位的副本;选择第一和第二经左移位的四字的含符号位的16个最高有效位,以分别被写到目的地寄存器的第一和第二四字数据元素位置的16个最低有效位区域,从而将符号位写到每个16个最低有效位区域的最高有效位位置。

【技术实现步骤摘要】
用于将打包四字移位并提取打包字的装置和方法
本专利技术的实施例一般地涉及计算机处理器的领域。更特别地,各实施例涉及用于移位和提取打包数据元素的装置和方法。
技术介绍
指令集或指令集架构(ISA)是与编程有关的计算机架构的一部分,包括原生数据类型、指令、寄存器架构、寻址模式、存储器架构、中断和异常处置以及外部输入和输出(I/O)。应当注意,术语“指令”在本文中一般指代宏指令——其是提供给处理器用于执行的指令——与微指令或微操作相对——其是处理器的解码器解码宏指令的结果。微指令或微操作可以被配置成命令处理器上的执行单元实行操作以实现与宏指令相关联的逻辑。ISA区别于微架构,微架构是用于实现指令集的处理器设计技术的集合。具有不同微架构的处理器可以共享公用的指令集。例如,Intel®奔腾4处理器、Intel®Core™处理器和来自加利福尼亚州森尼韦尔的超威半导体(AdvancedMicroDevices)公司的处理器实现x86指令集的几乎相同的版本(具有与较新的版本添加在一起的一些扩展),但是具有不同的内部设计。例如,ISA的相同寄存器架构可以使用公知的技术(包括专用物理寄存器、使用寄存器重命名机制(例如,使用寄存器别名表(RAT)、重排序缓冲器(ROB)和引退寄存器文件)的一个或多个动态分配的物理寄存器)在不同的微架构中以不同的方式实现。除非另外指定,否则短语寄存器架构、寄存器文件和寄存器在本文中用于指代对软件/编程者可见的寄存器架构、寄存器文件和寄存器以及指令指定寄存器的方式。在需要区别的情况下,形容词“逻辑的”、“架构的”或“软件可见的”将用于指示寄存器架构中的寄存器/文件,而不同的形容词将用于指明在给定微架构中的寄存器(例如,物理寄存器、重排序缓冲器、引退寄存器、寄存器池)。乘法累加是常见的数字信号处理操作,其计算两个数的乘积并将该乘积加到累加值。现有的单指令多数据(SIMD)微架构通过执行一系列指令来实现乘法累加操作。例如,可以利用如下方式实行乘法累加:乘法指令,然后是4路加法,并且然后是与目的地四字(quadword)数据的累加以生成两个64位饱和结果。附图说明根据结合以下附图的以下详细描述,可以获得对本专利技术的更好理解,在附图中:图1A和1B是图示根据本专利技术实施例的通用向量友好指令格式及其指令模板的框图;图2A-C是图示根据本专利技术实施例的示例性VEX指令格式的框图;图3是根据本专利技术一个实施例的寄存器架构的框图;以及图4A是图示根据本专利技术实施例的示例性有序取出、解码、引退流水线和示例性寄存器重命名、无序发布/执行流水线二者的框图;图4B是图示根据本专利技术实施例的要包括在处理器中的有序取出、解码、引退核心的示例性实施例和示例性寄存器重命名、无序发布/执行架构核心二者的框图;图5A是单个处理器核心连同它到管芯上互连网络的连接的框图;图5B图示了根据本专利技术实施例的图5A中的处理器核心的一部分的展开图;图6是根据本专利技术实施例的单核处理器和具有集成存储器控制器和图形元件(graphics)的多核处理器的框图;图7图示了根据本专利技术一个实施例的系统的框图;图8图示了根据本专利技术实施例的第二系统的框图;图9图示了根据本专利技术实施例的第三系统的框图;图10图示了根据本专利技术实施例的片上系统(SoC)的框图;图11图示了根据本专利技术实施例的对比将源指令集中的二进制指令转换为目标指令集中的二进制指令的软件指令转换器的使用的框图;图12图示了可以在其上实现本专利技术实施例的处理器架构;图13图示了根据一个实施例的包含实值和复值的多个打包数据元素;图14图示了根据本专利技术一个实施例的打包数据处理架构;图15图示了基于立即数中的值实行四字数据元素的右移位的一个实施例;图16图示了基于源寄存器中的值实行四字数据元素的右移位的一个实施例;图17图示了根据本专利技术一个实施例的用于实行四字数据元素的右移位的方法;图18图示了根据本专利技术另一实施例的用于实行四字数据元素的右移位的方法;图19图示了基于立即数中的值实行四字数据元素的左移位的一个实施例;图20图示了基于源寄存器中的值实行四字数据元素的左移位的一个实施例;图21图示了根据本专利技术一个实施例的用于实行四字数据元素的左移位的方法;以及图22图示了根据本专利技术另一实施例的用于实行四字数据元素的左移位的方法。具体实施方式在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对下面描述的本专利技术的实施例的透彻理解。然而,对于本领域技术人员而言将显而易见的是,可以在没有这些具体细节中的一些的情况下实践本专利技术的实施例。在其他实例中,以框图形式示出了公知的结构和设备,以避免模糊本专利技术实施例的基本原理。示例性处理器架构、指令格式和数据类型指令集包括一个或多个指令格式。给定的指令格式定义了各种字段(位的数目、位的位置),以便除其他之外还指定要实行的操作(操作码)和要对其实行该操作的(一个或多个)操作数。一些指令格式被通过指令模板(或子格式)的定义进一步分解。例如,给定的指令格式的指令模板可以被定义为具有指令格式的字段的不同子集(所包括的字段通常采用相同的次序,但是至少一些因为有较少字段被包括而具有不同的位位置)和/或定义为具有被不同地解释的给定字段。因此,ISA的每个指令被使用给定的指令格式表示(并且,如果被定义,则采用该指令格式的指令模板中的给定一个)并且包括用于指定操作和操作数的字段。例如,示例性加法(ADD)指令具有特定操作码和指令格式,该指令格式包括用来指定该操作码的操作码字段和用来选择操作数的操作数字段(源1/目的地和源2);并且该加法指令在指令流中的出现将使操作数字段中具有选择特定操作数的特定内容。本文中描述的(一个或多个)指令的实施例可以以不同格式体现。另外,以下详述示例性系统、架构和流水线。所述(一个或多个)指令的实施例可以在这样的系统、架构和流水线上执行,但不限于详述的那些。通用向量友好指令格式向量友好指令格式是适合于向量指令的指令格式(例如,存在特定于向量操作的某些字段)。虽然描述了其中通过向量友好指令格式支持向量和标量操作二者的实施例,但是替代实施例仅使用向量友好指令格式的向量操作。图1A-1B是图示根据本专利技术实施例的通用向量友好指令格式及其指令模板的框图。图1A是图示根据本专利技术实施例的通用向量友好指令格式及其A类指令模板的框图;而图1B是图示根据本专利技术实施例的通用向量友好指令格式及其B类指令模板的框图。具体地,针对通用向量友好指令格式100定义A类和B类指令模板,A类和B类指令模板二者都不包括存储器访问105指令模板和存储器访问120指令模板。在向量友好指令格式的情境中术语通用指代未被绑到任何特定指令集的指令格式。虽然将描述其中向量友好指令格式支持以下各项的本专利技术的实施例:具有32位(4字节)或64位(8字节)数据元素宽度(或尺寸)的64字节向量操作数长度(或尺寸)(并且因此,64字节向量由16个双字尺寸的元素组成,或者替代地由8个四字尺寸的元素组成);具有16位(2字节)或8位(1字节)数据元素宽度(或尺寸)的64字节向量操作数长度(或尺寸);具有32位(4字节)、64位(8字节)、16位(2字节)或8位(1字节)数据元素宽度(或尺寸)的32字节向量操作数长度(或尺寸);以及具有本文档来自技高网...

【技术保护点】
1.一种处理器,包括:解码器,用来解码左移位指令以生成经解码的左移位指令;第一源寄存器,用来存储多个打包四字数据元素,所述打包四字数据元素中的每个包括符号位;执行电路,用来执行经解码的左移位指令,所述执行电路包括具有符号保留逻辑的移位电路,所述移位电路用来将第一源寄存器中的分别来自第一和第二打包四字数据元素位置的第一和第二打包四字数据元素左移位在立即数值中或在第二源寄存器中的控制值中指定的量,所述左移位用来生成第一和第二经左移位的四字,所述移位电路将零写到由打包四字数据元素的左移位所暴露的位位置中;所述符号保留逻辑用来在所述移位电路实行左移位操作时维持符号位的副本;所述执行电路用来使得选择第一和第二经左移位的四字的包括符号位的16个最高有效位,以分别被写到目的地寄存器的第一和第二四字数据元素位置的16个最低有效位区域,从而将符号位写到每个16个最低有效位区域的最高有效位位置。

【技术特征摘要】
2017.12.21 US 15/8511451.一种处理器,包括:解码器,用来解码左移位指令以生成经解码的左移位指令;第一源寄存器,用来存储多个打包四字数据元素,所述打包四字数据元素中的每个包括符号位;执行电路,用来执行经解码的左移位指令,所述执行电路包括具有符号保留逻辑的移位电路,所述移位电路用来将第一源寄存器中的分别来自第一和第二打包四字数据元素位置的第一和第二打包四字数据元素左移位在立即数值中或在第二源寄存器中的控制值中指定的量,所述左移位用来生成第一和第二经左移位的四字,所述移位电路将零写到由打包四字数据元素的左移位所暴露的位位置中;所述符号保留逻辑用来在所述移位电路实行左移位操作时维持符号位的副本;所述执行电路用来使得选择第一和第二经左移位的四字的包括符号位的16个最高有效位,以分别被写到目的地寄存器的第一和第二四字数据元素位置的16个最低有效位区域,从而将符号位写到每个16个最低有效位区域的最高有效位位置。2.根据权利要求1所述的处理器,进一步包括:舍入电路,用来根据控制寄存器中指定的舍入模式对第一和第二经左移位的四字的16个最高有效位实行舍入操作。3.根据权利要求1或2所述的处理器,进一步包括:饱和电路,用来在在目的地寄存器中的存储之前使在第一和第二经左移位的四字的16个最高有效位中编码的值饱和。4.根据权利要求3所述的处理器,其中要响应于第一和第二经左移位的四字的16个最高有效位被饱和而更新一个或多个饱和标志。5.根据权利要求1或4所述的处理器,其中如果在立即数值中或控制值中指定的所述量高于阈值数目,则第一和第二经左移位的四字的16个最高有效位包括符号位的所有值。6.根据权利要求1或5所述的处理器,其中立即数值或第二源寄存器的控制值包括用来指示移位量的6位值。7.根据权利要求1或6所述的处理器,其中第一源寄存器和目的地寄存器包括128位打包数据寄存器。8.根据权利要求7所述的处理器,其中所述128位打包数据寄存器包括xmm寄存器。9.一种方法,包括:解码左移位指令以生成经解码的左移位指令;在第一源寄存器中存储多个打包四字数据元素,所述打包四字数据元素中的每个包括符号位;执行经解码的左移位指令,其中执行经解码的左移位指令包括:将第一源寄存器中的分别来自第一和第二打包四字数据元素位置的第一和第二打包四字数据元素左移位在立即数值中或在第二源寄存器中的控制值中指定的量,所述左移位用来生成第一和第二经左移位的四字;将零写到由打包四字数据元素的左移位所暴露的位位置中;在所述移位电路实行左移位操作时维持符号位的副本;选择第一和第二经左移位的四字的包括符号位的16个最高有效位,以分别被写到目的地寄存器的第一和第二四字数据元素位置的16个最低有效位区域,从而将符号位写到每个16个最低有效位区域的最高有效位位置。10.根据权利要求9所述的方法,进一步包括:根据控制寄存器中指定的舍入模式对第一和第二经左移位的四字的16个最高有效位实行舍入操作。11.根据权利要求9或10所述的方法,进一步包括:在在目的地寄存器中的存储之前,使在第一和第二经左移位的四字的16个最高有效位中编码的值饱和。12.根据权利要求11所述的方法,其中要响应于第一和第二经左移位的四字的16个最高有效位被饱和而更新一个或多个饱和标志。13.根据权利要求9或12所述的方法,其中如果在立...

【专利技术属性】
技术研发人员:E奥尔德艾哈迈德瓦尔R瓦伦丁M查尼V马杜里
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1