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

去交织跨距数据元素处理器、方法、系统和指令技术方案

技术编号:18894135 阅读:30 留言:0更新日期:2018-09-08 10:47
由处理器执行的方法包括接收指令。所述指令指示源操作数、指示跨距、指示出自于对于所指示的跨距的跨距数据元素位置的所有集合中的跨距数据元素位置的至少一个集合、以及指示至少一个目的地打包数据寄存器。该方法还包括响应于所述指令针对跨距数据元素位置的所指示的至少一个集合中的每个而将对应的结果打包数据操作数存储在处理器的对应目的地打包数据寄存器中。每个结果打包数据操作数包括多个数据元素,所述多个数据元素来自源操作数的跨距数据元素位置的对应指示的集合。集合的跨距数据元素位置彼此分开整数倍的所指示的跨距。还公开了其它方法、处理器、系统和机器可读介质。

To interleave spans, data elements, processors, methods, systems and instructions

The method executed by the processor includes receiving instructions. The instruction indicates the source operand, indicates the span, indicates at least one set of span data element positions from all sets of span data element positions for the indicated span, and indicates at least one destination packaged data register. The method also includes storing the corresponding result packaged data operands in the processor's corresponding destination packaged data registers in response to each of at least one set indicated by the instruction for the location of the spanning data elements. Each result wrapped data operand comprises a plurality of data elements from a set of corresponding indications of the location of spanning data elements of the source operand. The locations of the span data elements of the collection are separated from the indicated span by an integer multiple. Other methods, processors, systems and machine readable media are also disclosed.

【技术实现步骤摘要】
去交织跨距数据元素处理器、方法、系统和指令
本文描述的实施例一般涉及处理器。具体地,本文描述的实施例一般涉及可操作以处理具有跨距布局或布置的数据的处理器。
技术介绍
结构阵列(AoS)是广泛使用的数据结构或布置。如它的名字所意指的,AoS典型地包括结构的阵列或序列,所述结构各自包括多个数据元素。每个结构的数据元素一般表示不同类型的数量、值或事物。作为一个说明性示例,每个结构的数据元素可表示对应像素的不同类型的颜色分量(例如红(R)、绿(G)和蓝(B)颜色分量)。典型地,每个结构具有相同数量的数据元素,并且表示不同类型的数量、值或事物的数据元素以相同顺序布置在每个结构中。这促使AoS具有“跨距”数据布置或模式,其中表示不同类型的数量、值或事物的数据元素驻留在相等间距或“跨距”数据元素位置处。这样的AoS通常存储在存储器中。为了处理数据元素,处理器可将数据元素从AoS加载到它的内部寄存器中。可被用于将AoS的数据元素从存储器加载到内部处理器寄存器中的一种类型的指令是矢量加载指令。当被执行时,矢量加载指令可加载AoS的连续数据元素的矢量的价值,并且将它们存储在矢量或打包数据寄存器中,而无需重新布置或重新排序数据元素。可用于将AoS的数据元素从存储器加载到内部处理器寄存器中的另一种类型的指令是收集指令。通常,收集指令可指示为将要收集的每个数据元素存储收集索引或偏移的打包数据寄存器。每个收集索引可表示存储器地址信息,以及各自可指示将要收集的对应数据元素的潜在性非连续位置。当被执行时,收集指令可促进处理器执行单独的收集或加载操作,以从对应的位置收集每个数据元素,所述对应位置由收集索引指示。收集的数据元素然后可存储在矢量或打包数据寄存器中。附图说明通过参考以下描述和被用于示出实施例的附图,可最佳地理解本公开。附图中:图1是合适的结构阵列(AoS)的示例实施例的框图。图2是具有指令集的处理器的实施例的框图,所述指令集包括去交织跨距数据元素指令的实施例和/或交织具有跨距的数据元素指令的实施例中的至少一个。图3是执行选择性去交织跨距数据元素指令的实施例的方法的实施例的框流程图。图4是处理器的实施例的框图,所述处理器可操作以执行选择性去交织跨距数据元素指令的实施例。图5是选择性去交织跨距数据元素操作的示例实施例的框图。图6是具有位掩码以指示跨距数据元素位置的一个或多个集合的选择性去交织跨距数据元素操作的第一特定示例实施例的框图。图7是具有偏移的序列以指示跨距数据元素位置的一个或多个集合的选择性去交织跨距数据元素操作的第二特定示例实施例的框图。图8是处理器的实施例的框图,所述处理器可操作以执行掩蔽的(可选地选择性)去交织跨距数据元素指令的实施例。图9是掩蔽的完整去交织跨距数据元素操作的示例实施例的框图。图10是掩蔽的选择性去交织跨距数据元素操作的示例实施例的框图。图11是选择性交织具有跨距的数据元素操作的示例实施例的框图。图12是掩蔽的选择性交织具有跨距的数据元素操作的示例实施例的框图。图13A示出AVX指令格式的示例实施例,所述AVX指令格式包括VEX前缀、真操作码字段、ModR/M字节、SIB字节、位移字节和IMM8。图13B示出来自图13A的哪些字段构成完整操作码字段和基础操作字段。图13C示出来自图13A的哪些字段构成寄存器索引字段。图14A是示出一般矢量友好指令格式和其类别A指令模板的示例实施例的框图。图14B是示出根据本公开的实施例的一般矢量友好指令格式和其类别B指令模板的框图。图15是特定矢量友好指令格式的实施例的框图。图16是本公开实施例中的寄存器架构的框图。图17A是示出有序管线的实施例和寄存器重命名、乱序发布/运行管线的实施例两者的框图。图17B是示出有序架构核的实施例和寄存器重命名、乱序发布/运行架构核的实施例两者的框图。图18A是根据本公开实施例的单个处理器核,连同与它的到管芯上互连网络的连接以及连同它的等级2(L2)高速缓冲存储器的本地子集的框图。图18B是根据本公开实施例的在图18A中的处理器核的部分的展开图。图19是根据本公开实施例的处理器的框图,所述处理器可具有多于一个核、集成存储器控制器以及集成图形。图20是系统的示例实施例的框图。图21是系统的第一更具体示例实施例的框图。图22是系统的第二更具体示例实施例的框图。图23是片上系统的示例实施例的框图。图24是根据本公开实施例的与软件指令转换器的使用对照来将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。具体实施方式本文公开的是去交织跨距数据元素指令的实施例和交织具有跨距的数据元素指令的实施例。还公开了用于执行这些指令的处理器的实施例、当执行这些指令时由处理器执行的方法的实施例、合并一个或多个处理器以执行这些指令的系统的实施例以及存储或以其它方式提供这些指令的程序或机器可读介质的实施例。在一些实施例中,处理器可具有用于执行这些指令中的至少一项的逻辑(例如用于解码指令的解码单元或其它单元或逻辑,以及用于运行或执行指令的运行单元或其它单元或逻辑)。在以下描述中,陈述了许多特定细节(例如特定数据布置、指令操作、处理器配置、微架构细节、操作的序列等)。然而,可在没有这些特定细节的情况下实践实施例。在其它实例中,公知的电路、结构或技术未被详细地示出以避免使本描述的理解模糊。图1是合适的结构阵列(AoS)100的示例实施例的框图。AoS包括第零个结构S[0]、第一个结构S[1]等等,到第N个结构S[N]。本公开的范畴不限于结构的任何已知数量,尽管通常结构的数量可能十分庞大。在该示例中,每个结构包括至少三个数据元素,以及可以可选地包括零个或更多附加的数据元素。具体地,第零个结构S[0]包括数据元素a0、b0、c0,以及可以可选地包括零个或更多其它数据元素。同样地,第一结构S[1]包括数据元素a1、b1、c1,以及可以可选地包括零个或更多其它数据元素。此外,第N个结构S[N]包括数据元素aN、bN、cN,以及可以可选地包括零个或更多其它数据元素。本公开的范畴不限于每结构的数据元素的任何已知数量。在各种实施例中,每个结构可具有两个、三个、四个、五个、六个、七个、八个、九个、十个、多于十个、多于二十个、或多于一百个数据元素,仅举几个示例。a-类型数据元素(例如,a0、a1、aN)、b-类型数据元素(例如,b0、b1、bN),以及c-类型数据元素(例如,c0、c1、cN)可表示不同类型的数量、值或事物。作为一个说明性示例,a-类型、b-类型、和c-类型数据元素可表示不同对应像素的红(R)、绿(G)、和蓝(B)颜色分量。在这样的情况下,AoS可包括数据元素R0、G0、B0、R1、G1、B1、R2、G2、B2、R3、G3、B3等等。作为另一说明性示例,每个结构可包括附加的阿尔法(A)透明/不透明分量。在这样的情况下,AoS可包括数据元素R0、G0、B0、A0、R1、G1、B1、A1、R2、G2、B2、A2、R3、G3、B3、A3等等。RGB和RGBA数据经常被用在计算机和具有显示器/屏幕以表示像素的外观的其它电子装置中。又在另一说明性示例中,每个结构可替换地是两数据元素结构,其含有共同表示复数的实数(r)和虚数(i)。在这样的情况下,AoS本文档来自技高网...

【技术保护点】
1.一种处理器,包括:多个打包数据寄存器;解码单元,用于解码指令,所述指令用于指示源操作数、用于指示跨距、用于指示出自于对于所指示的跨距的跨距数据元素位置的所有集合中的跨距数据元素位置的至少一个集合、以及用于指示所述多个打包数据寄存器的至少一个目的地打包数据寄存器;以及运行单元,与所述多个打包数据寄存器耦合,并且与所述解码单元耦合,所述运行单元响应于所述指令针对跨距数据元素位置的所指示的至少一个集合中的每个来将对应的结果打包数据操作数存储在所述多个打包数据寄存器的对应的目的地打包数据寄存器中,每个结果打包数据操作数用于包括多个数据元素,所述多个数据元素将会来自所述源操作数的跨距数据元素位置的对应的所指示的集合,其中所述集合的跨距数据元素位置将会彼此分开整数倍的所指示的跨距。

【技术特征摘要】
2017.02.28 US 15/4455771.一种处理器,包括:多个打包数据寄存器;解码单元,用于解码指令,所述指令用于指示源操作数、用于指示跨距、用于指示出自于对于所指示的跨距的跨距数据元素位置的所有集合中的跨距数据元素位置的至少一个集合、以及用于指示所述多个打包数据寄存器的至少一个目的地打包数据寄存器;以及运行单元,与所述多个打包数据寄存器耦合,并且与所述解码单元耦合,所述运行单元响应于所述指令针对跨距数据元素位置的所指示的至少一个集合中的每个来将对应的结果打包数据操作数存储在所述多个打包数据寄存器的对应的目的地打包数据寄存器中,每个结果打包数据操作数用于包括多个数据元素,所述多个数据元素将会来自所述源操作数的跨距数据元素位置的对应的所指示的集合,其中所述集合的跨距数据元素位置将会彼此分开整数倍的所指示的跨距。2.如权利要求1所述的处理器,其中,所述解码单元要解码所述指令,所述指令能够仅指示跨距数据元素位置的所述所有集合的子集。3.如权利要求1所述的处理器,其中,所述解码单元要解码所述指令,所述指令能够指示跨距数据元素位置的所述所有集合的不同子集。4.如权利要求1所述的处理器,其中,所述运行单元响应于所述指令要存储比跨距数据元素位置的所述所有集合更少的结果打包数据操作数。5.如权利要求1所述的处理器,其中,所述解码单元要解码所述指令,所述指令要指示对于跨距数据元素位置的所指示的至少一个集合中的每个的对应值,以及其中,每个值将会指示跨距数据元素位置的对应集合。6.如权利要求1所述的处理器,其中,所述解码单元要解码所述指令,所述指令要指示对应值,所述对应值是对于跨距数据元素位置的所指示的至少一个集合中的每个的偏移和索引中的一个。7.如权利要求1所述的处理器,其中,所述解码单元要解码所述指令,所述指令要指示掩码,所述掩码要具有对于跨距数据元素位置的所述所有集合中的每个的不同对应部分,以及其中,所述掩码的每个不同部分要具有第一值和第二值中的一个,所述第一值用于将跨距数据元素位置的所述对应集合包括在跨距数据元素位置的所述至少一个集合中,以及所述第二值用于不将跨距数据元素位置的所述对应集合包括在跨距数据元素位置的所述至少一个集合中。8.如权利要求1所述的处理器,其中,所述解码单元要解码所述指令,所述指令要指示位掩码,所述位掩码要指示跨距数据元素位置的所述至少一个集合。9.如权利要求1到8中任一项所述的处理器,其中,所述解码单元要解码所述指令,所述指令要指示所述跨距,所述跨距能够包含至少五个数据元素位置。10.如权利要求1到8中任一项所述的处理器,其中,所述解码单元要解码所述指令,所述指令能够指示不同跨距以及所述指令要通过以下之一来指示所述跨距:所述指令的立即数的值;以及要被存储在要由所述指令指示的寄存器中的值。11.如权利要求1到8中任一项所述的处理器,其中,所述解码单元要解码所述指令,所述指令要指示至少一个打包数据操作掩码。12.如权利要求11所述的处理器,其中,所述运行单元要响应于所述指令针对跨距数据元素位置的所指示的至少一个集合中的每个来存储所述对应的结果打包数据操作数,其中每个结果打包数据操作数要包括所述多个数据元素,所述多个数据元素将会来自所述源操作数的跨距数据元素位置的所述对应的所指示的集合的未掩蔽数据元素位置,所述未掩蔽数据元素位置将会对应于所述至少一个打包数据操作掩码的未掩蔽的掩码元素。13.如权利要求1到8中任一项所述的处理器,其中,所述解码单元要解码所述指令,所述指令要指示对于所述结果打包数据操作数中的每个的不同对应打包数据操作掩码。14.如权利...

【专利技术属性】
技术研发人员:M普洛特尼科夫E奥尔德阿梅德瓦尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1