【技术实现步骤摘要】
【国外来华专利技术】
本文所描述的实施例一般涉及处理器。具体来说,本文所描述的实施例一般涉及在处理器中处理压缩数据元素。
技术介绍
许多处理器具有单指令多数据(SIMD)架构。在SIMD架构中,多个数据元素可作为压缩数据或向量数据来压缩在一个寄存器或存储器位置内。在压缩数据中,寄存器或其他存储位置的位可在逻辑上划分为数据元素序列。例如,128位宽压缩数据寄存器可具有两个64位数据元素、四个32位数据元素、八个16位数据元素或十六个8位数据元素。数据元素的每个可表示独立的单独数据片(例如像素颜色、复数的分量等),可独立地和/或与其他数据片无关地对其进行操作。在SIMD架构中,压缩数据指令、向量指令或SIMD指令可同时和/或并行地对压缩数据操作数的多个数据元素或者两个压缩数据操作数中的多对数据元素进行操作。处理器可具有响应压缩数据指令以同时或并行地执行多个操作的并行执行硬件。各种不同类型的压缩数据指令是本领域已知的。一类压缩数据指令是混洗(shuffle)指令。混洗指令可用来通过使用所混洗的各数据元素的混洗控制位的对应集合将数据元素从源压缩数据操作数混洗到结果压缩数据操作数中的不同位置。但是,对某些应用使用这类混洗指令的一个缺点在于,对混洗的各数据元素需要混洗控制的多个位。这可趋向于将这种混洗控制所需的位的数量增加到超过某些应用的极限(例如超过能够适应指令的立即数的位的数量)。另外,它花费额外时间来创建或生成混洗控制位。附图说明通过参照用来示出实施例的以下描述和附图,可以最好地理解本专利技术。在附图中:图1是可操作以执行数据元素选择和合并指令的实施例的处理器的实施例的框图。图2是 ...
【技术保护点】
一种处理器,包括:多个压缩数据寄存器;解码单元,用于对数据元素选择和合并指令进行解码,所述数据元素选择和合并指令具有第一源压缩数据操作数,所述第一源压缩数据操作数具有多个数据元素,并且所述数据元素选择和合并指令具有第二源操作数,所述第二源操作数要具有多个屏蔽元素,其中所述第二源操作数的各屏蔽元素对应于相同相对位置中的所述第一源压缩数据操作数的不同数据元素;以及与所述解码单元耦合的执行单元,所述执行单元响应所述数据元素选择和合并指令而在要通过所述数据元素选择和合并指令所指示的目的地存储位置中存储结果压缩数据操作数,所述结果压缩数据操作数包括所述第一源压缩数据操作数的所有数据元素,其对应于在所述结果压缩数据操作数的一部分中合并在一起的所述第二源操作数的未屏蔽的屏蔽元素。
【技术特征摘要】
【国外来华专利技术】2014.09.19 US 14/4915481.一种处理器,包括:多个压缩数据寄存器;解码单元,用于对数据元素选择和合并指令进行解码,所述数据元素选择和合并指令具有第一源压缩数据操作数,所述第一源压缩数据操作数具有多个数据元素,并且所述数据元素选择和合并指令具有第二源操作数,所述第二源操作数要具有多个屏蔽元素,其中所述第二源操作数的各屏蔽元素对应于相同相对位置中的所述第一源压缩数据操作数的不同数据元素;以及与所述解码单元耦合的执行单元,所述执行单元响应所述数据元素选择和合并指令而在要通过所述数据元素选择和合并指令所指示的目的地存储位置中存储结果压缩数据操作数,所述结果压缩数据操作数包括所述第一源压缩数据操作数的所有数据元素,其对应于在所述结果压缩数据操作数的一部分中合并在一起的所述第二源操作数的未屏蔽的屏蔽元素。2.如权利要求1所述的处理器,其中,所述解码单元要对要具有作为所述第二源操作数的立即数的所述指令进行解码,所述第二源操作数要具有所述屏蔽元素,并且其中所述屏蔽元素是屏蔽位。3.如权利要求1所述的处理器,其中,所述解码单元要对要具有所述第二源操作数的所述指令进行解码,所述第二源操作数要作为所述处理器的压缩数据操作屏蔽寄存器集合的压缩数据操作屏蔽寄存器,其中所述处理器的指令集的多个其他指令指定所述压缩数据操作屏蔽寄存器集合的寄存器以提供判定操作数。4.如权利要求1所述的处理器,其中,所述解码单元要对要具有所述第二源操作数的所述指令进行解码,所述第二源操作数要具有作为屏蔽位的所述多个屏蔽元素。5.如权利要求1所述的处理器,其中,所述解码单元要对要具有所述第二源操作数的所述指令进行解码,所述第二源操作数要作为压缩数据操作数,并且其中所述屏蔽元素要作为屏蔽数据元素。6.如权利要求1所述的处理器,其中,所述执行单元响应所述指令而要存储所述结果压缩数据操作数,其要包括在所述结果压缩数据操作数的最低有效部分中并且按照与所述第一源压缩数据操作数中相同的顺序合并在一起的所述所有数据元素。7.如权利要求1所述的处理器,其中,所述执行单元响应所述指令而要存储所述结果压缩数据操作数,其要包括在所述结果压缩数据操作数的最高有效部分中并且按照与所述第一源压缩数据操作数中相同的顺序合并在一起的所述所有数据元素。8.如权利要求1所述的处理器,其中,所述执行单元响应所述指令而要存储所述结果压缩数据操作数,其要具有要省略所述第一源压缩数据操作数的所有数据元素的所述合并的数据元素,所述数据元素对应于所述第二源操作数的被屏蔽出的屏蔽元素,并且其中所述第一源压缩数据操作数要具有至少一个数据元素,其对应于与未屏蔽的屏蔽元素对应的数据元素之间的被屏蔽出的屏蔽元素。9.如权利要求1至8中的任一项所述的处理器,其中,所述解码单元要对要具有指示所述第一源压缩数据操作数的所述数据元素的大小的一个或多个位的所述指令进行解码。10.如权利要求1至8中的任一项所述的处理器,其中,所述解码单元要对要具有所述第一源压缩数据操作数的所述指令进行解码,所述第一源压缩数据操作数要具有至少128位的位宽度,并且要具有从多个8位数据元素和多个16位数据元素中选取的多个数据元素,并且其中所述目的地存储位置包括所述处理器的压缩数据寄存器。11.如权利要求1至8中的任一项所述的处理器,其中,所述解码单元要对要具有操作码的所述指令进行解码,所述操作码要指示所述第一源压缩数据操作数的所述所有数据元素,其对应于要在所述结果压缩数据操作数的所述部分中合并在一起的所述第二源操作数的所述未屏蔽的屏蔽元素,而不管所述第一源压缩数据操作数中的所述数据元素的任何特定布置,并且不管所述第二源操作数中的所述屏蔽元素的任何特定布置。12.如权利要求1至8中的任一项所述的处理器,其中,所述处理器包括通用处理器,并且其中所述目的地存储...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。