首页> 中国专利> 生成矢量谓词摘要

生成矢量谓词摘要

摘要

公开了设备和操作这种设备的方法。矢量处理电路在多个并行处理通道中执行数据处理,其中数据处理是在多个并行处理通道的子集中执行的,该子集由矢量谓词的被设置的位值确定。谓词监控电路响应于矢量谓词而根据矢量谓词的位值生成谓词摘要值。谓词摘要值的第一值指示对于矢量谓词的稀疏条件为真,当矢量谓词的位值包括对应于较高索引处的矢量元素的设置位以及紧随其后的对应于较低索引处的矢量元素的未设置位时,稀疏条件为真。谓词摘要值的第二值指示对于矢量谓词的稀疏条件不为真。因此,改进的谓词控制的矢量处理得到支持。

著录项

  • 公开/公告号CN112602059A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利权人 ARM有限公司;

    申请/专利号CN201980055370.6

  • 发明设计人 阿拉斯代尔·格兰特;

    申请日2019-10-17

  • 分类号G06F9/30(20060101);G06F9/38(20060101);

  • 代理机构11258 北京东方亿思知识产权代理有限责任公司;

  • 代理人杨佳婧

  • 地址 英国剑桥

  • 入库时间 2023-06-19 10:25:58

说明书

技术领域

本技术涉及数据处理领域。

背景技术

在包括在多个并行处理通道中执行数据处理的矢量处理电路的数据处理设备中,可以布置为仅在多个并行处理通道的子集中选择性地执行数据处理。此外,可以借助于矢量谓词(predicate)来提供对矢量处理电路的此种操作的控制,矢量谓词通常被提供为与多个并行处理通道的数量相对应的多个位值,并且可以将这些位值设置为指示特定的处理通道是否应是活动的。因此,矢量处理电路可以根据与矢量处理的迭代相关联地接收到的特定矢量谓词来不同地执行其数据处理操作,根据被提供来控制该迭代的矢量谓词的位值来激活和去激活处理通道。

发明内容

至少一些示例提供了一种设备,包括:矢量处理电路,在多个并行处理通道中执行数据处理,其中数据处理是在多个并行处理通道的子集中执行的,该子集由矢量谓词的被设置的位值确定;以及谓词监控电路,用于响应于矢量谓词而根据矢量谓词的位值生成谓词摘要值,其中谓词摘要值的第一值指示对于矢量谓词的稀疏条件为真,当矢量谓词的位值包括对应于较高索引处的矢量元素的设置位以及紧随其后的对应于较低索引处的矢量元素的未设置位时,稀疏条件为真,并且谓词摘要值的第二值指示对于矢量谓词的稀疏条件不为真。

至少一些示例提供了一种方法,包括:在多个并行处理通道的子集中执行矢量数据处理,该子集由矢量谓词的被设置的位值确定;以及根据矢量谓词的位值生成谓词摘要值,其中谓词摘要值的第一值指示对于矢量谓词的稀疏条件为真,当矢量谓词的位值包括对应于较高索引处的矢量元素的设置位以及紧随其后的对应于较低索引处的矢量元素的未设置位时,稀疏条件为真,并且谓词摘要值的第二值指示对于矢量谓词的稀疏条件不为真。

至少一些示例提供了一种设备,包括:用于在多个并行处理通道的子集中执行矢量数据装置的装置,该子集由矢量谓词的被设置的位值确定;以及用于根据矢量谓词的位值生成谓词摘要值的装置,其中谓词摘要值的第一值指示对于矢量谓词的稀疏条件为真,当矢量谓词的位值包括对应于较高索引处的矢量元素的设置位以及紧随其后的对应于较低索引处的矢量元素的未设置位时,稀疏条件为真,并且谓词摘要值的第二值指示对于矢量谓词的稀疏条件不为真。

至少一些示例提供了一种用于控制主机数据处理设备以提供指令执行环境的计算机程序,包括:矢量处理逻辑,用于在多个并行处理通道中执行数据处理,其中数据处理是在所述多个并行处理通道的子集中执行的,该子集由矢量谓词的被设置的位值确定;以及谓词监控逻辑,用于响应于矢量谓词而根据矢量谓词的位值生成谓词摘要值,其中谓词摘要值的第一值指示对于矢量谓词的稀疏条件为真,当矢量谓词的位值包括对应于较高索引处的矢量元素的设置位以及紧随其后的对应于较低索引处的矢量元素的未设置位时,稀疏条件为真,并且谓词摘要值的第二值指示对于矢量谓词的稀疏条件不为真。

附图说明

将结合附图中所示的本公开的实施例并仅通过示例的方式进一步描述本公开的技术,这些技术要结合以下描述来阅读,在附图中:

图1示意性地示出了一个示例实施例中的数据处理设备的总体布局;

图2A示意性地示出了对两个源矢量进行处理以生成目的地矢量的矢量处理,其中仅那些设置了矢量谓词的对应位值的通道是活动的;

图2B示意性地示出了根据一个示例实施例的设备;

图3A示意性地示出了一个示例实施例中用于生成表示稀疏条件的谓词摘要值的谓词监控电路;

图3B示出了示例实施例中当稀疏条件为真时的谓词摘要值的生成;

图3C示出了当稀疏条件不为真时的谓词摘要值的生成;

图4A、4B、4C和4D示出了对于在2位示例实施例中导致了四个不同的可能的谓词摘要值的矢量谓词的示例的谓词摘要值的生成;

图5A示意性地示出了示例实施例中被布置为针对矢量谓词的两个相等大小的部分生成第一谓词摘要值和第二谓词摘要值的谓词监控电路;

图5B示意性地示出了示例实施例中被布置为针对矢量谓词的第一部分和第二部分生成第一谓词摘要值和第二谓词摘要值的谓词监控电路;

图6示意性地示出了一个示例实施例中被布置为生成谓词摘要值和矢量谓词中的设置位的计数的谓词监控电路;

图7示意性地示出了一个示例实施例中与矢量处理电路相关联的、被布置为生成矢量指令摘要的矢量处理采样电路;

图8是示出根据一个示例实施例的方法采取的一系列步骤的流程图;

图9是示出根据一个示例实施例的方法采取的一系列步骤的流程图;以及

图10示意性地示出了示例实施例中的模拟器实现方式。

具体实施例

在一个示例中,提供了一种设备,包括:矢量处理电路,在多个并行处理通道中执行数据处理,其中数据处理是在多个并行处理通道的子集中执行的,该子集由矢量谓词的被设置的位值确定;以及谓词监控电路,用于响应于矢量谓词而根据矢量谓词的位值生成谓词摘要(summary)值,其中谓词摘要值的第一值指示对于矢量谓词的稀疏条件为真,当矢量谓词的位值包括设置的较高有效位以及紧随其后的未设置的较低有效位时,稀疏条件为真,并且谓词摘要值的第二值指示对于矢量谓词的稀疏条件不为真。

该设备的矢量处理电路被布置为在由矢量谓词的位值控制的多个并行处理通道中执行数据处理。设置与给定索引处的矢量元素相对应的位值会导致相应处理通道对于数据处理是活动的,而未设置与特定矢量元素相对应的位会导致相应处理通道对于数据处理是不活动的。可以为所执行的每个矢量处理指令使用不同的矢量谓词。在试图了解和提高矢量利用率时,捕获与谓词矢量指令有关的谓词信息很有用。但是,捕获整个矢量谓词很昂贵。诸如总体计数(population count)或三路指示器(示出了没有位/一些位/全部位被设置)之类的方法有局限性。例如,发明人已经意识到,总体计数和三路指示器都无法在连续的部分谓词(例如由于程序中的短循环)和稀疏谓词(例如由于程序(或许是循环)中的测试)之间区分。这种使用部分谓词的不同原因可能指向为了提高利用率的不同做法。因此,在以这种方式借助于矢量谓词控制矢量处理电路时,生成与矢量谓词的设置位和未设置位有关的信息是有用的。例如,可以在矢量处理的多个迭代中收集该信息(其中每个迭代可以具有不同设置的矢量谓词),以便收集关于执行矢量谓词控制的矢量处理的方式的统计数据。在这种情况下,已经发现生成谓词摘要值以使它指示对于矢量谓词的稀疏条件是否为真是有用的。当矢量谓词的位值包括与较高索引处的矢量元素相对应的设置位以及紧随其后的与较低索引处的矢量元素相对应的未设置位时,稀疏条件为真。相反,当在较高索引处的设置位以及紧随其后在较低索引处的未设置位的这种组合不成立时,稀疏条件不为真。这例如可能是因为矢量谓词的所有位都被设置,因为矢量谓词没有位被设置,或者因为在矢量谓词中找不到这种特定位组合。

在一些实施例中,谓词摘要值的第一值指示谓词摘要值的第一值指示矢量谓词的位值的严格子集被设置,其中该设置位的严格子集不在包括矢量谓词的最低有效位的非连续序列中。谓词摘要值的第一值因此对应于矢量谓词的被设置的位值的严格子集。因此,应该理解的是,在这里提到“严格子集”时,这意味着它对应于比矢量谓词的所有位值少的位值被设置。这应该与上面使用的、用于描述那些被激活的通道的术语“多个并行处理通道的子集”的使用进行比较,这意味着当矢量谓词的所有位值都被设置时,矢量处理电路的多个并行处理通道的所有处理通道都可能是活动的。此外,谓词摘要值的第一值指示设置位的严格子集不是包含矢量谓词的最低有效位的连续序列。因此,如果设置位的严格子集是连续设置位的序列,则对于要生成的谓词值摘要的第一值来说,这不能包括矢量谓词的最低有效位。

相反地,在一些实施例中,谓词摘要值的第二值指示矢量谓词的位值的严格子集在连续序列中被设置。

此外,在一些实施例中,当连续序列包括矢量谓词的最低有效位时,谓词监控电路响应于矢量谓词以生成具有第二值的谓词摘要值。因此,当矢量谓词的位值的严格子集在连续序列中被设置并且该连续序列包括矢量谓词的最低有效位时,则谓词监控电路将生成谓词摘要值的第二值。

另外,还可以定义其他谓词摘要值,并且在一些实施例中,当矢量谓词没有位值被设置时,谓词监控电路响应于矢量谓词以生成具有谓词摘要值的第三值的谓词摘要值,并且当矢量谓词的所有位值都被设置时,生成具有谓词摘要值的第四值的谓词摘要值。

可能的情况是,这四个值是唯一感兴趣的谓词摘要值,并且此输出可以仅在两个位值中有效地表示,因此,在一些示例实施例中,谓词监控电路被布置为将谓词摘要值生成为2位的值。

在一些示例实施例中,谓词摘要值是同源(autologous)的。换句话说,被选择用来表示矢量谓词内的特定位模式(pattern)的谓词摘要值的特定位模式本身满足与定义矢量谓词的那些位模式的规则相同的规则。谓词摘要值的此属性可以找到各种应用,例如,允许将至少一个另外的矢量谓词与至少一个谓词摘要值组合,以便生成另外的谓词摘要值,其中,该另外的谓词摘要值于是将不仅准确地表示该至少一个另外的矢量谓词和原始谓词摘要值的组合,而且实际上表示该至少一个另外的矢量谓词和原始矢量谓词的组合。从而,可以实现当要生成多个矢量谓词的摘要时的各种处理效率。

对满足该同源属性的谓词摘要值的各种值的一个特定选择发生在以下实施例中,其中谓词摘要值的第三值是00,其中谓词摘要值的第二值是01,其中谓词摘要值的第一值是10,其中谓词摘要值的第四值是11。

在一些实施例中,谓词监控电路可以将矢量谓词细分为至少两个部分,并为每个部分生成谓词摘要值。因此,在一些实施例中,谓词监控电路响应于矢量谓词而根据矢量谓词的位值来生成第一谓词摘要值和至少一个另外的谓词摘要值,其中第一谓词摘要值和至少一个另外的谓词摘要值对应于矢量谓词的第一部分和至少一个另外的部分。

在一些实施例中,矢量谓词的第一部分和至少一个另外的部分的大小是相同的。在一些实施例中,矢量谓词的第一部分和至少一个另外的部分的大小是不同的。

除了生成谓词摘要值之外,谓词监控电路还可以生成与矢量谓词有关的其他信息。例如,在一些实施例中,谓词监控电路还响应于矢量谓词以生成指示矢量谓词中的设置位的计数的谓词计数值。

谓词监控电路可以被布置为响应于各种条件而返回谓词计数值,但是在一些实施例中,谓词监控电路响应于计数指令以返回指示矢量谓词中的设置位的计数的谓词计数值。

因此,计数指令可以是促使谓词监控电路返回谓词计数值的触发器,并且在一些实施例中,谓词监控电路可以另外返回其他信息。例如,谓词监控电路可以进一步响应于计数指令以返回谓词摘要值。

在设备包括矢量处理电路的情况下,以各种方式监控矢量处理电路的操作可能是有用的。因此,在一些实施例中,设备还包括与矢量处理电路相关联的矢量处理采样电路,以生成针对由矢量处理电路执行的矢量指令的矢量指令摘要,其中,矢量处理采样电路包括谓词监控电路。

可以根据各种条件来生成矢量指令摘要,但是在一些示例实施例中,矢量处理采样电路响应于采样触发条件以生成矢量指令摘要。

生成具有第一值和第二值中的至少一者的谓词摘要值在监控矢量处理电路的操作中可能特别有意义,因此,在一些实施例中,谓词监控电路还包括至少一个计数器,用于对具有第一值和第二值中的至少一者的谓词摘要值的生成的发生进行计数。因此,统计数据可以基于至少一个计数器来收集。

在一些这样的实施例中,谓词监控电路响应于计数摘要触发器以输出至少一个计数器的至少一个值。因此,计数摘要触发器可以各种方式定义,以便访问至少一个计数器的值并利用这种统计数据。

在一个示例中,提供了一种方法,该方法包括:在多个并行处理通道的子集中执行矢量数据处理,该子集由矢量谓词的被设置的位值确定;以及根据矢量谓词的位值生成谓词摘要值,其中谓词摘要值的第一值指示对于矢量谓词的稀疏条件为真,当矢量谓词的位值包括设置的较高有效位以及紧随其后的未设置的较低有效位时,稀疏条件为真,并且谓词摘要值的第二值指示对于矢量谓词的稀疏条件不为真。

在一个示例中,提供了一种设备,该设备包括:用于在多个并行处理通道的子集中执行矢量数据处理的装置,该子集由矢量谓词的被设置的位值确定;以及用于根据矢量谓词的位值生成谓词摘要值的装置,其中谓词摘要值的第一值指示对于矢量谓词的稀疏条件为真,当矢量谓词的位值包括设置的较高有效位以及紧随其后的未设置的较低有效位时,稀疏条件为真,并且谓词摘要值的第二值指示对于矢量谓词的稀疏条件不为真。

在一个示例中,提供了一种用于控制主机数据处理设备以提供指令执行环境的计算机程序,该计算机程序包括:矢量处理逻辑,在多个并行处理通道中执行数据处理,其中数据处理是在多个并行处理通道的子集中执行的,该子集由矢量谓词的被设置的位值确定;以及谓词监控逻辑,响应于矢量谓词而根据矢量谓词的位值生成谓词摘要值,其中谓词摘要值的第一值指示对于矢量谓词的稀疏条件为真,当矢量谓词的位值包括对应于较高索引处的矢量元素的设置位以及紧随其后的对应于较低索引处的矢量元素的未设置位时,稀疏条件为真,并且谓词摘要值的第二值指示对于矢量谓词的稀疏条件不为真。

现在参考附图描述一些特定的实施例。

图1示意性地示出了可以体现本公开的技术的各种示例的数据处理设备10。该设备包括数据处理电路12,该数据处理电路12响应于其执行的指令序列而对数据项执行数据处理操作。这些指令从数据处理设备访问的存储器14中并且以本领域普通技术人员将熟悉的方式撷取,为此目的,提供了获取电路16。此外,由获取电路16撷取的指令被传递到指令解码器电路18,该指令解码器电路18生成控制信号,该控制信号被布置为控制处理电路12和一组寄存器20以及加载/存储单元12的配置和操作的各个方面。通常,数据处理电路12可以以流水线的方式布置,但是其细节与本公开的技术无关。本领域普通技术人员将熟悉图1所示的一般配置,并且仅出于简洁的目的而省略其进一步的详细描述。如在图1中可以看到的,寄存器20每个都包括用于多个数据元素的存储装置,使得处理电路可以将数据处理操作应用于指定寄存器内的指定数据元素,或者可以将数据处理操作应用于指定寄存器内的指定的一组数据元素(“矢量”)。特别地,所图示的数据处理设备涉及矢量化数据处理操作的执行,并且具体地涉及对于保存在寄存器20中的数据元素运行矢量指令,矢量指令的运行取决于控制哪个矢量处理通道是活动的矢量谓词,下面将参考一些具体实施例对其进行更详细的说明。数据处理电路12在运行指令时所需的数据值以及由于这些数据处理指令而产生的数据值通过加载/存储单元22被写入存储器14或从存储器14中读出。还应注意,通常可以将图1中的存储器14视为计算机可读存储介质的示例,本公开的技术的指令通常作为预定义的指令序列(“程序”)的一部分可以存储在该计算机可读存储介质上,然后由处理电路运行。但是,处理电路可以通过网络接口等从各种不同的源(例如RAM、ROM、ROM等)访问此类程序。

图2A示意性地示出了矢量处理电路,该矢量处理电路可以例如存在于图1所示的设备10的处理电路12中。示出了两个源矢量寄存器A和B,从中获取元素并形成对指定操作“OP”的输入,其结果被写入目的地矢量寄存器的相应元素中。特别要注意的是,还示出了矢量谓词,并且该矢量谓词中的位的设置控制了矢量处理中涉及哪些“通道”,即源寄存器和目的地寄存器的哪些相应元素。在所示的示例中,在8位矢量谓词中设置了三个位,因此对从源矢量寄存器A和B中获取的三对相应的元素执行三个相应的操作,从而生成了三个结果以用于目的地矢量寄存器的相应元素。还应当注意,在图2A的示例中,示出了8元素矢量寄存器和8位矢量谓词,但是本公开的技术绝不限于矢量寄存器或矢量谓词的特定大小。

图2B示意性地示出了一个示例实施例中的设备50。设备50包括矢量处理电路51,矢量处理电路51被布置成在多个并行处理通道中执行数据处理(例如如图2A所示),并且为此目的而访问寄存器52内的矢量寄存器。因此,寄存器52中的源矢量寄存器被访问,以形成数据处理操作的输入,并且由于这些操作而产生的结果值被写入寄存器52的目的地矢量寄存器中。矢量谓词53也被示为从寄存器52中撷取并传递给矢量处理电路51。应该注意,这种图示选择是为了突出矢量谓词53的使用,并且不必将矢量谓词单独存储在矢量处理电路51和寄存器52的外部。然而,此图示有助于理解谓词53的本质及其对矢量处理电路51的影响以及该值也被谓词监控电路54接收的事实。谓词监控电路54被布置为接收矢量谓词53,并根据矢量谓词中的位的设置来生成谓词摘要值55。谓词摘要值55取决于矢量谓词53的特定方式可能会发生变化,因此谓词监控电路54执行的处理可能会发生变化。下面将参考以下附图描述其不同示例。

图3A示意性地示出了谓词监控电路60的配置的一个示例。用于该电路的输入是由矢量谓词的各个元素提供的,在该示例中,仅出于图示清楚的目的仅示出了四个元素。谓词监控电路60包括一组三个“非”门61、62、63和一组“与”门64、65、66。最后的“或”门67组合来自这三个“与”门的输出。输出是谓词摘要值的示例,该示例中的谓词摘要值直接对应于“稀疏条件”指示符。对图3A的门结构的检查表明,要使稀疏条件为真,矢量谓词的位值必须使得对应于较高索引处的矢量元素的位(在图3A中较左位置处)必须被设置,并且紧随其后(在图3A中向右阅读)的是对应于较低索引处的矢量元素的未被设置的位。换句话说,将矢量谓词的较左处的位视为“较高有效”而将矢量谓词的较右处的位视为“较低有效”,则稀疏条件要求矢量谓词的位值包含设置的较高有效位以及紧随其后的未被设置的较低有效位(或门67的输出为1)。如果不满足这种位布置,则稀疏条件不为真(或门67的电路输出为0)。图3B示出了对于稀疏条件为真的矢量谓词中的位的示例设置,而图3C示出了对于稀疏条件不为真的矢量谓词中的位的设置示例。

图4A-4D示出了根据2位的输出配置的谓词摘要生成电路(作为谓词监控电路的一部分)的另一示例配置,其中,输出的4种可能位模式中的每一种表示对于矢量谓词的设置位的不同识别状态。图4A示出了一个示例,其中矢量谓词的一些(但不是全部)位被设置,而且这些位从下(右手)端开始是连续的。图4B显示了一个示例,其中一些(但不是全部)位被设置,而且这些位是稀疏的(不是从下(右手)端开始连续)。图4C示出了没有位被设置的示例。图4D示出了所有位都被设置的示例。参考图4A至4D,还要注意,另外使用的特定的2位模式(编码)具有自身同源(autological)的特性,即谓词摘要值具有与它们指示的特性相同的特性。换句话说,在4A的示例中,输出“01”满足生成该输出所依据的定义,即,一些但不是全部位被设置并且设置位从低端开始是连续的。在图4B中,输出“10”满足以下定义:一些位被设置,但是稀疏的(不是从低端连续)。图4C中“00”的输出满足以下定义:没有位被设置。图4D中“11”的输出满足以下定义:所有位均被设置。编码的此属性具有额外的优势,即可以通过将相同的谓词摘要值生成规则应用于矢量谓词、矢量谓词的部分或谓词摘要值的任何衔接来生成谓词摘要值。

例如,矢量谓词0001111100110011具有谓词摘要值“10”(因为它是稀疏的)。

但是,该矢量谓词也可以分为两部分:

00011111,具有谓词摘要值“01”(由于从低端开始连续设置了一些位);和

00110011,具有谓词摘要值“10”(因为一些位被设置,但是稀疏的)。

衔接起来,这两个谓词摘要值会给出“0101”,它本身是稀疏的,并且本身会生成谓词摘要值“10”。

图5A示意性地示出了谓词监控电路80,其中,矢量谓词的输入被分成两个部分,对于每部分,摘要谓词值由相应的摘要生成电路81和82生成。图5B示意性地图示了类似的布置,其中输入矢量谓词分为多个部分,对于每部分,谓词摘要值被生成,但是图5B的谓词监控电路90与5A的谓词监控电路80的不同之处在于:图5A中的谓词监控电路80的输入矢量谓词将矢量谓词拆分为两个相等大小的部分(在所示示例中,每个部分都是8元素矢量的四个元素),图5B中的谓词监控电路90将矢量谓词划分为两个大小不同的部分(在所示示例中为6元素部分和2元素部分)。此外,关于图5A和图5B,应当注意,谓词监控电路的每个示例中的摘要生成电路实例不需要都是活动的,因此可以单独为矢量谓词的子部分生成谓词摘要值。

图6示意性地示出了一个示例实施例中的设备100。这里,谓词监控电路102不仅包括谓词摘要值生成电路104,而且还包括计数生成电路106。摘要生成电路104被布置为生成谓词摘要值108(如上所述),而计数生成电路106被布置为生成谓词计数值110,该谓词计数值110指示对于矢量谓词中被设置的位数的计数。计数生成电路106的操作可以是可选的,并且在这样的示例中,可以由设备接收的计数指令触发,例如作为图1的示例中的获取单元16从存储器14获取的指令之一。计数指令触发器也可以由谓词监控输出控件112接收,该谓词监控输出控件112确定谓词监控电路的输出将是什么。因此,谓词监控输出控件112接收摘要生成电路104和计数生成电路106两者的输出,即分别是谓词摘要值108和谓词计数值110。因此,例如,当计数生成电路不活动时,谓词监控输出控件可仅使谓词摘要值作为输出提供,而响应于计数指令触发,谓词监控输出控制电路112可另外提供谓词计数值作为输出的一部分。

图7示意性地示出了一个示例实施例中的设备120。矢量处理电路121具有提供的相关矢量处理采样电路122,其被布置为监控矢量处理电路的操作并提供矢量指令摘要127,以允许理解矢量处理电路的操作。特别地,矢量处理采样电路包括谓词监控电路123,其可以根据上述示例中的任何一个来配置。捕获与在矢量处理电路112的操作中使用的矢量谓词有关的谓词信息对于帮助理解矢量利用是有用的。然而,为执行的每个矢量操作捕获整个谓词是昂贵的,并且由于这个原因,谓词监控电路123被布置为生成构成矢量指令摘要的部分或全部的谓词摘要值。

谓词监控电路还包括计数器124,其被配置为对特定谓词摘要值的生成的发生进行计数。在该示例中,计数器124被提供为两个计数器,以根据关于图4A-4D描述的2位配置来对谓词概要值的生成的发生进行计数。更具体地,所提供的两个计数器对具有输出值“01”的谓词值的生成的发生(即,当一些但不是全部的位被设置并且它们从低端连续时)的计数以及对具有值“10”的谓词摘要值的生成的发生(即一些位被设置但这些位是稀疏的(不从低端连续))进行计数。这使得能够在由于短循环而导致的连续部分谓词与由于循环中的测试而导致的稀疏谓词之间进行区分。捕获此信息可能指向使用矢量谓词的不同原因,并且可能指向用于提高利用率的不同动作方案。矢量处理采样122可以响应于采样触发条件125,该采样触发条件可以根据系统要求而被不同地定义。然而,在所示的示例中,当计数器124中的至少一个达到阈值时,满足采样触发条件。响应于此,计数器124生成计数摘要126,其然后可以形成用于形成输出的矢量指令摘要127的一部分。该输出可以在设备120内使用或传递到系统的另一部件,以用于分析、存储和/或作为响应而采取动作。

图8是示出根据一个示例实施例的方法采取的步骤序列的流程图。可以认为该流程开始于步骤150,在步骤150,确定是否存在要执行的矢量处理指令。所示的方法仅涉及这样的矢量处理,因此当不为真时,流程在步骤150自行循环。但是,当为真时,流程进行到步骤151,在此确定矢量谓词是否具有设置的较高有效位以及紧随其后的未设置的较低有效位。换句话说,确定矢量谓词的位值是否包括对应于较高索引处的矢量元素的设置位以及紧随其后的对应于较低索引处的矢量元素的未设置位。如果为真,则在步骤152用第一值生成谓词摘要值,而如果不为真,则在步骤153用第二值生成谓词摘要值。第一值和第二值例如可以是根据上面给出的示例之一的“10”和“01”。但是,此特定编码不是必需的。最终在步骤154,在具有矢量谓词中的设置位的那些通道中执行由指令定义的矢量数据处理。然后,流程返回到步骤150。

图9是示出根据一个示例实施例采取的步骤序列的流程图。可以认为该流程开始于步骤160,在步骤160,确定是否存在要执行的矢量处理指令。当这不为真时,流程在步骤160自行循环。但是,当这为真时,流程进行到步骤161,在此确定矢量谓词是否未设置任何位。如果为真,则在步骤162,谓词摘要值被生成为“00”。否则,流程进行到步骤163,在此确定矢量谓词是否设置了所有位。如果为真,则在步骤164,谓词摘要值被输出为“11”。否则,在步骤165,确定矢量谓词是否设置了一些但不是全部的位,这些位从较低索引端(即,矢量谓词的最低有效位端)开始连续。如果为真,则在步骤166,谓词摘要值被生成为“01”。否则,在步骤167,谓词摘要值被生成为“10”,指示设置了一些位,但是这些位是稀疏的,即不从下端连续。无论经由哪种路径设置谓词概要值,流程然后进行至步骤168,在步骤168中,如在具有谓词中的设置位的那些通道中所执行的矢量处理指令所定义的,矢量数据处理被执行。然后,流程返回到步骤160。

图10示出了可以使用的模拟器实现方式。尽管较早描述的实施例在用于操作支持有关技术的特定处理硬件的设备和方法方面实现了本发明,但是也可能提供根据本文描述的实施例的指令执行环境,该指令执行环境通过使用计算机程序来实现。此类计算机程序通常被称为模拟器,只要此类计算机程序提供了基于软件的硬件体系结构实现方案。各种模拟器计算机程序包括模拟器、虚拟机、模型和二进制转换器,包括动态二进制转换器。通常,模拟器实现方式可在支持模拟器程序210的主机处理器230上运行,可选地在主机操作系统220上运行。在一些布置中,硬件与所提供的指令执行环境之间可能存在多层模拟,和/或在同一主机处理器上提供多个不同的指令执行环境。从历史上看,已经需要功能强大的处理器来提供以合理的速度运行的模拟器实现方式,但是在一些情况下(例如出于兼容性或重用原因而希望运行另一个处理器的本机代码时),这种方法可能是合理的。例如,模拟器实现方式可以提供具有主处理器硬件不支持的附加功能的指令执行环境,或者提供通常与不同硬件体系结构相关联的指令执行环境。在1990年冬季USENIX会议(第53-63页)中Robert Bedichek的“一些有效的架构模拟技术”中给出了对模拟的概述。

就先前已经参考特定硬件构造或特征描述实施例的程度而言,在模拟的实施例中,可以由合适的软件构造或特征提供等同功能。例如,特定电路可以在模拟的实施例中实现为计算机程序逻辑。类似地,可以在模拟的实施例中将诸如寄存器或高速缓存之类的存储器硬件实现为软件数据结构。在主机硬件(例如,主机处理器230)上存在前述实施例中提及的一个或多个硬件元件的布置中,在适当的情况下,一些模拟的实施例可以利用主机硬件。

模拟器程序210可以存储在计算机可读存储介质(可以是非暂态介质)上,并且向目标代码200提供程序接口(指令执行环境),该程序接口与模拟器程序210建模的硬件架构的应用程序接口相同。因此,目标代码200的程序指令(包括要由模拟的矢量处理电路执行的矢量处理指令)可以在使用模拟器程序210的指令执行环境中执行,因此,实际上没有上述设备示例的硬件特征的主机计算机230可以模拟这些特征。

总体而言,公开了设备和操作这种设备的方法。矢量处理电路在多个并行处理通道中执行数据处理,其中数据处理是在多个并行处理通道的由设置的矢量谓词的位值确定的子集中执行的。谓词监控电路响应于矢量谓词以根据矢量谓词的位值生成谓词摘要值。谓词摘要值的第一值指示矢量谓词的稀疏条件为真,当矢量谓词的位值包括对应于较高索引处的矢量元素的设置位以及紧随其后的与较低索引处的矢量元素对应的未设置位时,稀疏条件为真。谓词摘要值的第二值指示矢量谓词的稀疏条件不为真。因此,改进的谓词控制的矢量处理得以支持。

在本申请中,词语“被配置为……”用于表示设备的元件具有能够执行所定义的操作的配置。在本文中,“配置”是指硬件或软件的互连的布置或方式。例如,设备可以具有提供所定义的操作的专用硬件,或者处理器或其他处理设备可被编程以执行该功能。“被配置为”并不意味着需要以任何方式改变设备元件以提供所定义的操作。

尽管这里已经参考附图详细描述了说明性实施例,但是应当理解,本发明不限于那些精确的实施例,并且本领域的技术人员可以在不脱离由所附权利要求书限定的本发明的范围的情况下在其中进行各种改变、增加和修改。例如,在不脱离本发明的范围的情况下,可以将从属权利要求的特征与独立权利要求的特征进行各种组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号