用于提供向量分散操作和聚集操作功能的指令和逻辑的制作方法

文档序号:12362720阅读:来源:国知局

技术特征:

1.一种处理器,包括:

解码器,用于解码第一单指令多数据(SIMD)指令,所述第一SIMD指令用于指示第一源寄存器、第二源寄存器、第三源寄存器、以及掩码寄存器,所述第一源寄存器具有第一多个数据元素,所述第二源寄存器具有第二多个数据元素,所述第二多个数据元素各自对应于所述第一多个数据元素中的不同数据元素,所述第三源寄存器具有多个索引,所述多个索引各自对应于所述第一多个数据元素中的不同数据元素,所述掩码寄存器具有多个掩码字段,所述多个掩码字段各自对应于所述第一多个数据元素中的不同数据元素;以及

一个或超过一个执行单元,与所述解码器耦合,并用于响应于经解码的第一SIMD指令:

对所述第一多个数据元素中的与具有第一值的掩码字段相对应的每个数据元素和所述第二多个数据元素的相应数据元素执行第一操作,以产生相应的结果数据元素,所述第一操作是二元操作和三元操作之一;以及

将每个结果数据元素存储至存储器中的由所述多个索引中的相应索引标识的位置。

2.如权利要求1所述的处理器,其特征在于,所述一个或超过一个执行单元用于响应于经解码的第一SIMD指令:对于将要被存储至存储器的每个结果数据元素,将相应掩码字段的值从所述第一值改变成第二值。

3.如权利要求1所述的处理器,其特征在于,具有所述第一值的每个掩码字段用于指示相应的结果数据元素尚未但需要被存储至存储器。

4.如权利要求1所述的处理器,其特征在于,具有第二值的每个掩码字段用于指示相应的结果数据元素已经被存储至存储器,或无需将相应的结果数据元素存储至存储器。

5.如权利要求1所述的处理器,其特征在于,所述一个或超过一个执行单元用于响应于经解码的第一SIMD指令:对所述第一多个数据元素中的与在将任何结果数据元素存储至存储器之前具有所述第一值的掩码字段相对应的每个数据元素执行所述第一操作。

6.如权利要求1-5中的任一项所述的处理器,其特征在于,所述第一操作是加法或乘法之一。

7.如权利要求1-5中的任一项所述的处理器,其特征在于,所述第一操作是二元的。

8.如权利要求7所述的处理器,其特征在于,所述第一操作是加法。

9.如权利要求7所述的处理器,其特征在于,所述第一操作是乘法。

10.如权利要求1-5中的任一项所述的处理器,其特征在于,所述第一操作是三元的。

11.如权利要求1-5中的任一项所述的处理器,其特征在于,每个掩码字段是单个位,并且每个第一值是二进制1。

12.如权利要求1-5中的任一项所述的处理器,其特征在于,所述第一源寄存器包括512位,且所述第一源寄存器的数据元素是32位数据元素和64位数据元素之一。

13.一种处理器,包括:

解码器,用于解码第一单指令多数据(SIMD)指令,所述第一SIMD指令用于指示第一源寄存器、第二源寄存器、第三源寄存器、以及掩码寄存器,所述第一源寄存器具有第一多个数据元素,所述第二源寄存器具有第二多个数据元素,所述第二多个数据元素各自对应于所述第一多个数据元素中的不同数据元素,所述第三源寄存器具有多个索引,所述多个索引各自对应于所述第一多个数据元素中的不同数据元素,所述掩码寄存器具有多个掩码字段,所述多个掩码字段各自对应于所述第一多个数据元素中的不同数据元素;以及

一个或超过一个执行单元,与所述解码器耦合,并用于响应于经解码的第一SIMD指令:

对所述第一多个数据元素中的与具有第一值的掩码字段相对应的每个数据元素和所述第二多个数据元素的相应数据元素执行第一操作,以产生相应的结果数据元素,所述第一操作是二元操作并且是加法和乘法之一;

将每个结果数据元素存储至存储器中的由所述多个索引中的相应索引标识的位置;以及

对于将要被存储至存储器的每个结果数据元素,将相应的掩码字段的值从所述第一值改变成第二值,其中具有所述第一值的每个掩码字段用于指示相应的结果数据元素尚未但需要被存储至存储器。

14.如权利要求13所述的处理器,其特征在于,所述一个或超过一个执行单元用于响应于经解码的第一SIMD指令:对所述第一多个数据元素中的与在将任何结果数据元素存储至存储器之前具有所述第一值的掩码字段相对应的每个数据元素执行所述第一操作。

15.如权利要求13-14中的任一项所述的处理器,其特征在于,每个掩码字段是单个位,并且每个第一值是二进制1。

16.如权利要求13-14中的任一项所述的处理器,其特征在于,所述第一操作是加法。

17.如权利要求13-14中的任一项所述的处理器,其特征在于,所述第一操作是乘法。

18.一种处理器,包括:

用于解码第一单指令多数据(SIMD)指令的装置,所述第一SIMD指令用于指示第一源寄存器、第二源寄存器、第三源寄存器、以及掩码寄存器,所述第一源寄存器具有第一多个数据元素,所述第二源寄存器具有第二多个数据元素,所述第二多个数据元素各自对应于所述第一多个数据元素中的不同数据元素,所述第三源寄存器具有多个索引,所述多个索引各自对应于所述第一多个数据元素中的不同数据元素,所述掩码寄存器具有多个掩码字段,所述多个掩码字段各自对应于所述第一多个数据元素中的不同数据元素;

用于响应于经解码的第一SIMD指令来执行以下操作的装置:对所述第一多个数据元素中的与具有第一值的掩码字段相对应的每个数据元素和所述第二多个数据元素的相应数据元素执行第一操作,以产生相应的结果数据元素,所述第一操作是二元操作和三元操作之一;以及

用于响应于经解码的第一SIMD指令来执行以下操作的装置:将每个结果数据元素存储至存储器中的由所述多个索引中的相应索引标识的位置。

19.一种处理器,包括:

解码器,用于解码第一单指令多数据(SIMD)指令,所述第一单指令多数据(SIMD)指令用于指定聚集操作和另一操作;以及

一个或超过一个执行单元,与所述解码器耦合,并用于响应于经解码的第一SIMD指令来执行所述聚集操作和所述另一操作。

20.一种处理器,包括:

解码器,用于解码第一单指令多数据(SIMD)指令,所述第一单指令多数据(SIMD)指令用于指定分散操作和另一操作;以及

一个或超过一个执行单元,与所述解码器耦合,并用于响应于经解码的第一SIMD指令来执行所述分散操作和所述另一操作。

21.一种处理器,包括:

多个寄存器,用于存储数据;

指令高速缓存,用于高速缓存指令;

指令取出单元,用于取出指令,所述指令包括第一单指令多数据(SIMD)指令;以及

解码器,用于解码所述第一SIMD指令,其中所述第一SIMD指令具有前缀,所述前缀的部分用于指定聚集操作和另一操作。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1