A processor includes a decoding unit for decoding adjacent pairs of data elements in pairs. This directive directives to package data to include adjacent data element pairs, and to indicate destination storage location. The operation unit is coupled to the packaged data register and the decoding unit. In response to instructions, the running unit stores the result packaged data in the destination storage location, and the result packaged data includes adjacent data element pairs. As a result, each pair of adjacent data elements packaged data corresponds to different pairs of adjacent data elements of the source package data. As a result, the adjacent data elements of each pair of packaged data have been exchanged in the location of the adjacent data elements in each corresponding pair of packaged data relative to the source.
【技术实现步骤摘要】
【国外来华专利技术】邻接数据元素成对交换处理器、方法、系统和指令
本文所述的实施例一般涉及处理器。具体来说,本文所述的实施例一般涉及响应于指令而对打包数据进行操作的处理器。
技术介绍
许多处理器具有单指令多数据(SIMD)架构。在SIMD架构中,多个数据元素可作为打包数据或矢量数据来打包在一个寄存器或存储器位置内。在打包或矢量数据中,寄存器或存储器位置的比特可逻辑地分为数据元素序列。例如,128比特宽打包数据寄存器可具有两个64比特数据元素、四个32比特数据元素、八个16比特数据元素或十六个8比特数据元素。数据元素的每个可表示独立数据片(例如像素颜色分量、浮点数等),其可与其它数据片分开地操作和/或独立于其它数据片操作。在此类SIMD架构中,打包数据指令、矢量指令或SIMD指令可用来同时和/或并行地对此类打包数据或矢量操作数的多个数据元素或者两个此类打包数据或矢量操作数的多对数据元素进行操作。处理器可具有响应于同时和/或并行地对数据进行操作的指令的并行运行硬件。附图说明通过参考用来示出实施例的以下描述和附图,可以最好地了解本专利技术。在附图中:图1是可操作以执行邻接数据元素成对交换指令的实施例的处理器的实施例的框图。图2是执行邻接数据元素成对交换指令的实施例的方法的实施例的框流程图。图3是示出邻接数据元素成对交换操作的示例实施例的框图。图4是示出掩码邻接数据元素成对交换操作的第一示例实施例的框图。图5是示出掩码邻接数据元素成对交换操作的第二示例实施例的框图。图6是示出用来交换复数的实分量和虚分量的掩码邻接数据元素成对交换操作的更具体示例实施例的框图。图7是邻接数据元素成对交换 ...
【技术保护点】
1.一种处理器,包括:多个打包数据寄存器;解码单元,可操作以对邻接数据元素成对交换指令进行解码,所述邻接数据元素成对交换指令用来指示要包括多个邻接数据元素对的源打包数据,并且指示目的地存储位置;以及运行单元,与所述多个打包数据寄存器和所述解码单元耦合,所述运行单元响应于所述邻接数据元素成对交换指令而可操作以将结果打包数据存储在所述目的地存储位置中,所述结果打包数据包括多个邻接数据元素对,所述结果打包数据的邻接数据元素的每个对对应于所述源打包数据的邻接数据元素的不同对,所述结果打包数据的邻接数据元素的每个对中的所述邻接数据元素已经在相对于所述源打包数据的邻接数据元素的每个对应对中的所述邻接数据元素的位置中交换。
【技术特征摘要】
【国外来华专利技术】2015.12.22 US 14/9787361.一种处理器,包括:多个打包数据寄存器;解码单元,可操作以对邻接数据元素成对交换指令进行解码,所述邻接数据元素成对交换指令用来指示要包括多个邻接数据元素对的源打包数据,并且指示目的地存储位置;以及运行单元,与所述多个打包数据寄存器和所述解码单元耦合,所述运行单元响应于所述邻接数据元素成对交换指令而可操作以将结果打包数据存储在所述目的地存储位置中,所述结果打包数据包括多个邻接数据元素对,所述结果打包数据的邻接数据元素的每个对对应于所述源打包数据的邻接数据元素的不同对,所述结果打包数据的邻接数据元素的每个对中的所述邻接数据元素已经在相对于所述源打包数据的邻接数据元素的每个对应对中的所述邻接数据元素的位置中交换。2.如权利要求1所述的处理器,其中,所述解码单元要对不指示要控制数据元素的位置的交换的任何非操作码交换控制比特的所述指令进行解码。3.如权利要求1所述的处理器,其中,在相对于所述源打包数据的每个对应对中的所述邻接数据元素的位置中交换的所述结果打包数据的每个对中的所述邻接数据元素要对所述指令的操作码是隐式的。4.如权利要求1所述的处理器,其中,在相对于所述源打包数据的每个对应对中的所述邻接数据元素的位置中交换的所述结果打包数据的每个对中的所述邻接数据元素要对于所述指令的操作码是固定的。5.如权利要求1所述的处理器,其中,所述解码单元要对要仅指示要作为所述源打包数据的单个源操作数的所述指令进行解码。6.如权利要求1所述的处理器,其中,所述解码单元要对要指示要包括要作为多字节数据元素的所述邻接数据元素对的所述源打包数据的所述指令进行解码。7.如权利要求1所述的处理器,其中,所述解码单元要对要指示要包括要作为浮点数据元素的所述邻接数据元素对的所述源打包数据的所述指令进行解码。8.如权利要求1至7中的任一项所述的处理器,其中,所述解码单元要对要指示源打包数据操作掩码的所述指令进行解码。9.如权利要求8所述的处理器,其中,所述运行单元响应于所述指令而要存储要包括邻接数据元素的附加对的所述结果打包数据,所述邻接数据元素的附加对要对应于所述源打包数据的邻接数据元素的附加对,并且其要对应于所述源打包数据操作掩码的至少一个掩蔽出的掩码元素,并且其中所述结果打包数据的所述附加对中的所述邻接数据元素还没有在相对于邻接数据元素的所述对应附加对中的所述邻接数据元素的位置中交换。10.如权利要求9所述的处理器,其中,所述至少一个掩蔽出的掩码元素要包括单个掩蔽出的掩码元素,其要对应于所述结果打包数据的邻接数据元素的所述附加对的数据元素两者。11.如权利要求9所述的处理器,其中,所述至少一个掩蔽出的掩码元素要包括一对掩蔽出的掩码元素,其各自要对应于所述结果打包数据的邻接数据元素的所述附加对的所述数据元素的不同一个数据元素。12.如权利要求1至7中的任一项所述的处理器,其中,所述运行单元包括非控制交换逻辑,以在位置中相对于所述源打包数据的每个对应对中的所述邻接数据元素来交换所述结果打包数据的每个对中的所述邻接数据元素,而无需解释所述源打包数据的每个对的控制比特的一个或多个集合。13.如权利要求1至7中的任一项所述的处理器,其中,所述解码单元还要对混...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。