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

数据元素选择和合并处理器、方法、系统和指令技术方案

技术编号:15190641 阅读:50 留言:0更新日期:2017-04-19 23:15
一种处理器,包括压缩数据寄存器以及用于对数据元素选择和合并指令进行解码的解码单元。指令要具有第一源压缩数据操作数(其要具有多个数据元素)和第二源操作数(其要具有多个屏蔽元素)。各屏蔽元素对应于相同相对位置中的不同数据元素。执行单元与解码单元耦合。执行单元响应指令而要在要通过指令所指示的目的地存储位置中存储结果压缩数据操作数。结果压缩数据操作数要包括第一源压缩数据操作数的所有数据元素,其对应于在结果压缩数据操作数的一部分中合并在一起的第二源操作数的未屏蔽的屏蔽元素。

【技术实现步骤摘要】
【国外来华专利技术】
本文所描述的实施例一般涉及处理器。具体来说,本文所描述的实施例一般涉及在处理器中处理压缩数据元素。
技术介绍
许多处理器具有单指令多数据(SIMD)架构。在SIMD架构中,多个数据元素可作为压缩数据或向量数据来压缩在一个寄存器或存储器位置内。在压缩数据中,寄存器或其他存储位置的位可在逻辑上划分为数据元素序列。例如,128位宽压缩数据寄存器可具有两个64位数据元素、四个32位数据元素、八个16位数据元素或十六个8位数据元素。数据元素的每个可表示独立的单独数据片(例如像素颜色、复数的分量等),可独立地和/或与其他数据片无关地对其进行操作。在SIMD架构中,压缩数据指令、向量指令或SIMD指令可同时和/或并行地对压缩数据操作数的多个数据元素或者两个压缩数据操作数中的多对数据元素进行操作。处理器可具有响应压缩数据指令以同时或并行地执行多个操作的并行执行硬件。各种不同类型的压缩数据指令是本领域已知的。一类压缩数据指令是混洗(shuffle)指令。混洗指令可用来通过使用所混洗的各数据元素的混洗控制位的对应集合将数据元素从源压缩数据操作数混洗到结果压缩数据操作数中的不同位置。但是,对某些应用使用这类混洗指令的一个缺点在于,对混洗的各数据元素需要混洗控制的多个位。这可趋向于将这种混洗控制所需的位的数量增加到超过某些应用的极限(例如超过能够适应指令的立即数的位的数量)。另外,它花费额外时间来创建或生成混洗控制位。附图说明通过参照用来示出实施例的以下描述和附图,可以最好地理解本专利技术。在附图中:图1是可操作以执行数据元素选择和合并指令的实施例的处理器的实施例的框图。图2是执行数据元素选择和合并指令的实施例的处理器中的方法的实施例的块流程图。图3是数据元素选择和合并操作的实施例的框图。图4是采用位屏蔽(mask)和合并操作的字节选择的具体示例实施例的框图。图5是采用字节屏蔽操作数和合并操作的字节选择的具体示例实施例的框图。图6是示出数据元素选择和合并指令在一些实施例中可如何用来处理网络分组的数据元素的框图。图7A-7C是数据元素选择和合并指令的若干实施例的框图。图8是压缩数据寄存器的适当集合的示例实施例的框图。图9是压缩数据操作屏蔽寄存器的适当集合的示例实施例的框图。图10是压缩数据操作屏蔽寄存器的示例实施例的简图,并且示出用作压缩数据操作屏蔽和/或用于屏蔽的位数取决于压缩数据宽度和数据元素宽度。图11A是示出有序流水线的实施例和寄存器重命名无序发出(issue)/执行流水线的实施例的框图。图11B是包括耦合到执行引擎单元并且均耦合到存储器单元的前端单元的处理器核的实施例的框图。图12A是单个处理器核连同其到管芯上互连网络的连接并且连同其2级(L2)高速缓存的本地子集的实施例的框图。图12B是图12A的处理器核的部分的扩大视图的实施例的框图。图13是可具有一个以上核、可具有集成存储器控制器并且可具有集成图形的处理器的实施例的框图。图14是计算机架构的第一实施例的框图。图15是计算机架构的第二实施例的框图。图16是计算机架构的第三实施例的框图。图17是片上系统架构的实施例的框图。图18是按照本专利技术的实施例的软件指令转换器用来将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式本文所公开的是数据元素选择和合并指令、执行指令的处理器、由处理器在处理或执行指令时执行的方法以及结合一个或多个处理器以处理或执行指令的系统。在以下描述中,阐述许多具体细节(例如具体指令操作、数据格式、处理器配置、微架构细节、操作序列等)。但是,在没有这些具体细节的情况下也可实施实施例。在其他实例中,没有详细示出众所周知的电路、结构和技术,以免模糊对本描述的理解。图1是可操作以执行数据元素选择和合并指令102的实施例的处理器100的实施例的框图。在一些实施例中,处理器可以是通用处理器(例如用于台式、膝上型或其他计算机中的类型的通用微处理器或中央处理器(CPU))。在一个方面,处理器可表示集成网络和/或分组相关处理的片上系统的通用核。在一个方面,数据元素选择和合并指令可允许通用处理器或核更有效地执行网络和/或分组处理。备选地,处理器可以是专用处理器。适当专用处理器的示例包括但不限于网络处理器、通信处理器、分组处理器、嵌入式分组处理引擎、交换(switch)芯片、数据平面处理器、密码处理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器(DSP)和控制器(例如微控制器)。处理器可具有各种复杂指令集计算(CISC)架构、精简指令集计算(RISC)架构、超长指令字(VLIW)架构、混合架构、其他类型的架构或者具有不同架构的组合(例如,不同核可具有不同架构)。在操作期间,处理器100可接收数据元素选择和合并指令102。例如,指令可在互连上从存储器接收。指令可表示宏指令、汇编语言指令、机器代码指令或者处理器的指令集的其他指令或控制信号。在一些实施例中,数据元素选择和合并指令可显式(explicitly)指定(例如经过一个或多个字段或位集合)、以其他方式指示(例如隐式(implicitly)指示)或者以其他方式具有第一源压缩数据操作数112(其要具有多个数据元素)。在一些实施例中,数据元素选择和合并指令可显式指定(例如经过一个或多个字段或位集合)、以其他方式指示(例如隐式指示)或者以其他方式具有(作为立即数而具有)第二源操作数104(其要具有对应多个屏蔽元素)。在所示的实施例中,第二源操作数104包括指令的立即数,例如4位立即数(imm4)、8位立即数(imm8)、16位立即数(imm16)或者32位立即数(imm32),这里只列举几个示例。立即数可具有作为屏蔽元素的屏蔽位。每个未屏蔽的屏蔽位可具有第一值(例如按照一种可能惯例(convention)的二进制一),而每个被屏蔽出的(masked-out)屏蔽位可具有第二不同值(例如按照一种可能惯例的二进制零)。在其他实施例中,第二源操作数104可选地可以是源压缩数据操作屏蔽116,其可选地可存储在压缩数据操作屏蔽寄存器118集合中。在又其他实施例中,第二源操作数104可选地可存储在通用寄存器119集合中。在又其他实施例中,第二源操作数104可选地可以是第二源压缩数据操作数,其可选地存储在压缩数据寄存器110集合中。指令还可指定或者以其他方式指示将要存储结果压缩数据操作数114的目的地存储位置。作为一个示例,指令可具有源和/或目的地操作数指定字段,以指定用于操作数的寄存器、存储器位置或其他存储位置。备选地,这些操作数的一个或多个可选地可对指令是隐式的(例如对指令的操作码是隐式的)。再次参照图1,处理器包括解码单元或解码器106。解码单元可对数据元素选择和合并指令进行接收和解码。解码单元可输出一个或多个相对低级指令或控制信号(例如一个或多个微指令、微操作、微码入口点、解码指令或控制信号等),其反映、表示相对高级数据元素选择和合并指令和/或从其中导出。在一些实施例中,解码单元可包括用于接收数据元素选择和合并指令的一个或多个输入结构(例如(一个或多个)端口、(一个或多个)互连、接口)、与其耦合以便对数据元素选择和合并指令进行辨别和解码的指令辨别和解码逻辑以及与其耦合以输本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580044339.html" title="数据元素选择和合并处理器、方法、系统和指令原文来自X技术">数据元素选择和合并处理器、方法、系统和指令</a>

【技术保护点】
一种处理器,包括:多个压缩数据寄存器;解码单元,用于对数据元素选择和合并指令进行解码,所述数据元素选择和合并指令具有第一源压缩数据操作数,所述第一源压缩数据操作数具有多个数据元素,并且所述数据元素选择和合并指令具有第二源操作数,所述第二源操作数要具有多个屏蔽元素,其中所述第二源操作数的各屏蔽元素对应于相同相对位置中的所述第一源压缩数据操作数的不同数据元素;以及与所述解码单元耦合的执行单元,所述执行单元响应所述数据元素选择和合并指令而在要通过所述数据元素选择和合并指令所指示的目的地存储位置中存储结果压缩数据操作数,所述结果压缩数据操作数包括所述第一源压缩数据操作数的所有数据元素,其对应于在所述结果压缩数据操作数的一部分中合并在一起的所述第二源操作数的未屏蔽的屏蔽元素。

【技术特征摘要】
【国外来华专利技术】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中的任一项所述的处理器,其中,所述处理器包括通用处理器,并且其中所述目的地存储...

【专利技术属性】
技术研发人员:ML梅蒙
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1