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

打包数据对齐加计算指令、处理器、方法和系统技术方案

技术编号:34367035 阅读:69 留言:0更新日期:2022-07-31 09:17
一种处理器包含解码单元,其用来对打包数据对齐加计算指令解码。该指令要指示一个或多个源打包数据操作数的第一集、一个或多个源打包数据操作数的第二集、至少一个数据元素偏移,该第一集要包含第一数据元素,该第二集将包含第二数据元素。运行单元响应于指令要存储结果打包数据操作数,其要包含结果数据元素,各具有利用一对的源打包数据操作数的第一集的数据元素和源打包数据操作数的第二集的数据元素执行的运算的值。运行单元要将至少一个数据元素偏移应用于源打包数据操作数的第一和第二集中的至少对应一个。至少一个数据元素偏移要抵消源打包数据操作数的第一和第二集中每对的数据元素之间的对应的任何缺乏。中每对的数据元素之间的对应的任何缺乏。中每对的数据元素之间的对应的任何缺乏。

Packed data alignment plus computing instructions, processors, methods, and systems

【技术实现步骤摘要】
打包数据对齐加计算指令、处理器、方法和系统


[0001]本文描述的实施例一般涉及处理器。特别地,本文描述的实施例一般涉及具有单指令、多数据(SIMD)架构的处理器。

技术介绍

[0002]许多处理器具有单指令多数据(SIMD)架构。在SIMD架构中,多个数据元素可被打包在一个寄存器或存储器位置内以作为打包数据或SIMD数据。在打包或SIMD数据中,寄存器或存储器位置的位可以逻辑分成数据元素序列。例如,128位宽的打包数据寄存器可以具有两个64位数据元素、四个32位数据元素、八个16位数据元素或十六个8位数据元素。打包数据或SIMD指令可以用来在打包或SIMD数据的多个数据元素或多对对应数据元素上同时且并行运算。处理器可以响应于打包数据或SIMD指令而具有并行或SIMD运行逻辑(例如,一个或多个SIMD运行单元)来在打包或SIMD数据同时且并行运算。
附图说明
[0003]可以通过参考下列描述以及用来图示实施例的附图而最好地理解本专利技术。在图中:图1是操作以执行打包数据对齐加计算指令的实施例的处理器的实施例的框图。
[0004]图2是执行打包数据对齐加计算指令的实施例的方法的实施例的方块流程图。
[0005]图3是图示打包数据对齐加计算操作的第一实施例的框图。
[0006]图4是操作以执行打包数据对齐加计算操作的实施例的运行单元的示例实施例的框图。
[0007]图5是图示打包数据对齐加计算操作的第二实施例的框图。
[0008]图6是图示打包数据对齐加计算操作的第三实施例的框图。
[0009]图7是适合于实现本专利技术的实施例的处理器的详细示例实施例的框图。
[0010]图8A是图示有序流水线(pipeline)的实施例和寄存器重命名乱序发出/运行流水线的实施例的框图。
[0011]图8B是处理器核的实施例的框图,该处理器核包含耦合于运行引擎单元的前端单元,并且该前端单元和运行引擎单元都耦合于存储器单元。
[0012]图9A是单个处理器核连同它到管芯上互连网络的连接以及它的等级2(L2)高速缓存的本地子集的实施例的框图。
[0013]图9B是图9A的处理器核的部分的展开图的实施例的框图。
[0014]图10是可以具有多于一个核、可以具有集成存储器控制器并且可以具有集成图形的处理器的实施例的框图。
[0015]图11是计算机架构的第一实施例的框图。
[0016]图12是计算机架构的第二实施例的框图。
[0017]图13是计算机架构的第三实施例的框图。
[0018]图14是计算机架构的第四实施例的框图。
[0019]图15是根据本专利技术的实施例用来将源指令集中的二进制指令转换成目标指令集中的二进制指令的软件指令转换器的使用的框图。
具体实施方式
[0020]本文公开的是打包数据对齐加计算指令、用来运行这些指令的处理器、在处理或运行指令时由处理器执行的方法以及结合一个或多个处理器来处理或运行指令的系统。在下列描述中,阐述许多具体细节(例如,具体指令操作、数据格式、处理器配置、微架构细节、操作序列等)。然而,实施例可以在没有这些具体细节的情况下实践。在其他实例中,未详细地示出众所周知的电路、结构和技术以免使本描述的理解模糊。
[0021]在一些实施例中,打包数据对齐加计算指令可以在具有SIMD架构的处理器中执行。在SIMD架构中,并行或SIMD运行逻辑(例如,一个或多个SIMD运行单元)通常设计成在打包或SIMD数据的相对于彼此具有特定数据元素对齐的数据元素上执行运算。作为示例,SIMD加法器单元可以设计成使第一和第二源打包数据中的处于相同的相对数据元素位置中的对应数据元素相加。类似地,各种各样的其他类型的SIMD运行单元(例如,SIMD乘法单元、SIMD比较单元、SIMD移位单元等)可以设计成在第一和第二源打包数据中处于相同的相对数据元素位置中的对应数据元素上运算。在对应数据元素上的这样的运算有时称为“垂直”SIMD运算。
[0022]其他SIMD运行单元不限于只在对应数据元素上运算和/或只执行“垂直”SIMD运算。相反,一些SIMD运行单元可以在非对应的数据元素上运算。作为一个示例,执行复数乘法指令的运行单元可以操作以使对应数据元素和非对应数据元素(例如,对角数据元素)都相乘,并且使乘法的积组合。然而,SIMD运行单元通常设计成在源打包数据中具有特定固定且不变的相对数据元素对齐的数据元素上运算。在没有本文公开的打包数据对齐加计算指令的情况下,如果预期在还未展现特定固定且不变的相对数据元素对齐的数据元素上运算,则一个或多个打包数据对齐操作通常需要在SIMD运行单元能够在预期的数据元素上运算之前执行。例如,可以在第一源打包数据操作数上执行初始移位、旋转、移位

合并或其他打包数据对齐指令以在执行另一个指令来在第一源打包数据操作数的被移动或对齐的数据元素上执行运算之前使第一源打包数据操作数的数据元素移动或对齐。
[0023]然而,执行一个或多个单独打包数据对齐指令的需要可能趋向于具有一个或多个缺点。一个可能缺点是一个或多个打包数据对齐指令是单独指令,其可能趋向于花费附加时间来执行(例如,一个或多个时钟周期)和/或可能趋向于使用附加资源(例如,取单元、解码器、运行单元等)并且由此增加功率消耗。另一个可能缺点是打包数据对齐指令通常将它们的结果存回到架构寄存器(例如,打包数据寄存器),这可能使寄存器不可用于存储其他数据。有利地,本文公开的打包数据对齐加计算指令可以在相同的单指令的执行限度内组合打包数据对齐操作和计算操作两者。这可以有助于避免需要执行单独的打包数据对齐和计算指令,并且由此通常有助于提高性能、提高架构寄存器的可用性等。
[0024]图1是操作以执行打包数据对齐加计算指令102的实施例的处理器100的实施例的框图。在一些实施例中,处理器可以是通用处理器(例如,台式计算机、膝上型计算机或其他计算机中使用的类型的通用微处理器或中央处理单元(CPU))。备选地,处理器可以是专用
处理器。适合的专用处理器的示例包含但不限于数字信号处理器(DSP)、图像处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器和控制器(例如,微控制器)。处理器可以具有各种复杂指令集计算(CISC)架构、精简指令集计算(RISC)架构、超长指令字(VLIW)架构、混合架构、其他类型的架构中的任何,或具有不同架构(例如,不同的核可以具有不同架构)的组合。在一个具体示例实施例中,处理器可以是用作图像处理器单元的DSP,但本专利技术的范围不被如此限制。
[0025]在操作期间,处理器100可以接收打包数据对齐加计算指令102。例如,指令可以通过总线或其他互连从存储器接收。指令可以代表宏指令、汇编语言指令、机器代码指令或处理器的指令集的其他指令或控制信号。在一些实施例中,打包数据对齐加计算指令可以显式指定(例如,通过一个或多个字段或位集)或以其他方式指示(例如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器,包括:解码单元,用来对打包数据对齐加计算指令解码,所述打包数据对齐加计算指令用来指示一个或多个源打包数据操作数的第一集、指示一个或多个源打包数据操作数的第二集、指示至少一个数据元素偏移以及指示目的地存储位置,所述第一集要包含第一多个数据元素,所述第二集要包含第二多个数据元素;以及与所述解码单元耦合的运行单元,所述运行单元响应于所述打包数据对齐加计算指令用来将结果打包数据操作数存储在所述目的地存储位置中,所述结果打包数据操作数用来包含多个结果数据元素,所述多个结果数据元素各自要具有利用一对源打包数据操作数的所述第一集的数据元素和源打包数据操作数的所述第二集的数据元素执行的运算的值,其中所述运行单元要将所述至少一个数据元素偏移应用于源打包数据操作数的所述第一和第二集中至少对应的一个,并且其中所述至少一个数据元素偏移要抵消源打包数据操作数的所述第一和第二集中每对的数据元素之间的对应的任何缺乏。2.如权利要求1所述的处理器,其中所述解码单元要对所述指令解码,所述指令要指示仅要对应于一个或多个源打包数据操作数的所述第二集的单个数据元素偏移,并且其中每对中的所述数据元素要具有被所述至少一个数据元素偏移抵消的对应的缺乏。3.如权利要求1所述的处理器,其中所述解码单元要对所述指令解码,所述指令要指示要对应于一个或多个源打包数据操作数的所述第一集的第一数据元素偏移和要对应于一个或多个源打包数据操作数的所述第二集的第二数据元素偏移。4.如权利要求3所述的处理器,其中每对中的所述数据元素具有待通过将所述第一数据元素偏移应用于一个或多个源打包数据操作数的所述第一集以及将所述第二数据元素偏移应用于一个或多个源打包数据操作数的所述第二集而抵消的对应的缺乏。5.如权利要求...

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

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

1