System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 订阅同步区制造技术_技高网

订阅同步区制造技术

技术编号:40669985 阅读:8 留言:0更新日期:2024-03-18 19:05
定义了可配置的同步分组(可以称为同步区)集合。处理器的任何一个可以属于同步区的任何一个。处理器中的每一个包括指示它属于哪个同步区的寄存器。如果处理器不属于同步区,它会持续地向同步控制器断言对该同步区的同步请求。如果处理器确实属于同步区,它将仅在到达其编译的代码集中所指示的同步区的同步点时,才断言其对该同步区的同步请求。

【技术实现步骤摘要】
【国外来华专利技术】

本公开涉及包括多个处理器的数据处理设备,并且特别地涉及涉及多个处理器中的一些处理器的同步的协调。


技术介绍

1、在处理用于复杂或大容量应用数据的上下文中,可以提供用于执行该数据的处理的处理设备。该处理设备可以用作工作加速器,某些数据的处理从主计算机系统卸载到该工作加速器。这种处理单元可以具有用于执行特定类型处理的专用硬件。

2、作为示例,在机器智能中找到这种专用加速器子系统可以使用的一个计算领域。如将为机器智能领域的技术人员所熟悉的,机器智能算法基于对“知识模型”执行迭代更新,该“知识模型”可以由多个互连节点的图来表示。每个节点的实施方案涉及数据的处理,并且图的互连对应于节点之间要交换的数据。通常,每个节点的处理中的至少一些可以独立于图中的一些或所有其他节点来执行,并且因此大型图为多线程提供了很大的机会。因此,专用于机器智能应用的处理设备可以包括很大程度的多线程。并行性的一种形式可以通过在同一芯片(即,同一晶粒)上布置多个处理器区块(tile)的方式来实现,每个处理器区块包括其自己单独的相应执行单元和存储器(包括程序存储器和数据存储器)。因此,程序代码的单独部分可以在区块的不同的区块上并行运行。

3、当提供包括并行操作的多个处理器的处理设备时,需要一种技术来防止在处理器上运行的一段代码在其所依赖的数据之前运行,该数据由在另一个处理器上的另一段代码提供。存在许多可能的方案来实现这一点,其中的一个在这里通过示例的方式描述为“bsp”,批量同步并行。根据bsp,每个处理单元在交替周期中执行计算阶段和交换阶段。在计算阶段期间,每个处理单元在处理单元上本地执行一个或多个计算任务,但是不与处理单元的任何其他通信其计算的任何结果。在交换阶段,每个处理单元被允许将来自先前计算阶段的计算的一个或多个结果交换到处理单元中的一个或多个其他处理单元和/或从处理单元中的一个或多个其他处理单元交换。此外,根据bsp原理,在从计算阶段过渡到交换阶段的结合处、从交换阶段过渡到计算阶段的结合处或者两者放置屏障同步。

4、为了协调处理器之间的同步(例如,屏障同步),可以提供中央同步控制器,用于从一组要一起同步的处理器中的每一个接收同步请求,并且一旦已经从一起参与同步的所有处理器接收到同步请求,就返回同步确认。


技术实现思路

1、在一些情况下,属于处理设备的处理器中的全部可以参与同步。然而,对于一些同步点,处理器中的一些可能没有数据与其他处理器交换。因此,已经提出允许处理设备中的一些处理器与处理设备的其他处理器异步操作。然而,在稍后的时间,可能需要两组或更多组处理器在同步点一起同步,这些处理器可能相对于彼此异步运行。因此,期望提供一种机制,使得不同的区块分组能够以灵活的方式同步。

2、根据第一方面,提供了一种数据处理设备,包括:多个处理器;以及同步控制器,该同步控制器包括被配置为从处理器接收参与同步的请求的电路,并且响应于接收到该请求,向处理器返回确认,其中处理器中的每一个包括:执行单元,该执行单元被配置为执行保存在相应处理器的存储器中的计算机可读指令集合;以及寄存器,该寄存器为可配置同步组集合中的每一个存储关于相应处理器是否属于相应可配置同步组的指示,其中对于处理器的第一个:可配置同步组的第一个的指示指示处理器的第一个不属于可配置同步组的第一个;并且可配置同步组的第二个的指示指示处理器的第一个确实属于可配置同步组的第二个,其中处理器的第一个包括电路,该电路被配置为响应于可配置同步组的第一个的指示,指示处理器的第一个不属于可配置同步组的第一个,向同步控制器断言(assert)参与可配置同步组的第一个的同步的请求,其中处理器的第一个的电路被配置为响应于处理器的第一个的执行单元到达在处理器的第一个的计算机可读指令集合中指示的可配置同步组的第二个的同步点,向同步控制器断言参与可配置同步组的第二个的同步的请求。

3、定义了一组可配置的同步分组(可以称为同步区)。处理器的任何一个可以属于同步区的任何一个。处理器中的每一个包括指示它属于哪个同步区的寄存器。如果处理器不属于同步区,它会持续地向同步控制器断言对该同步区的同步请求。如果处理器确实属于同步区,它将仅在到达其编译的代码集中所指示的同步区的同步点时,才断言其对该同步区的同步请求。以这种方式,一旦属于特定同步区的处理器的全部都到达同步点,同步控制器将从设备中的所有处理器(包括属于该区和不属于该区的那些处理器)接收到对该同步区的同步请求,并且可以继续使同步确认被发送到设备的处理器。

4、在一些实施例中,同步控制器的电路被配置为响应于数据处理设备的处理器的全部发出参与可配置同步组的第一个的同步的请求,向处理器中的每一个发出对应的确认。

5、在一些实施例中,同步控制器的电路被配置为:响应于参与可配置同步组的第一个的同步的请求,向外部同步控制器发出用于处理器与属于另外的设备的另外的处理器同步的另外的请求;以及随后,响应于从外部同步控制器接收到对另外的请求的另外的确认,向处理器中的每一个返回对处理器中的每一个的对应的确认。

6、在一些实施例中,包括外部同步控制器,其中外部同步控制器包括:存储器,该存储器存储用于可配置同步组的第一个的一组配置设置;以及电路,该电路被配置为:响应于从同步控制器接收的另外的请求,根据可配置同步组的第一个的配置设置,与另外的设备交换一个或多个附加请求和一个或多个附加确认。

7、在一些实施例中,对于属于可配置同步组的第一个的处理器中的每一个,相应处理器的执行单元被配置为在到达在属于可配置同步组的第一个的处理器之间实施的第一屏障同步时,发出参与可配置同步组的第一个的同步的请求,其中对于处理器的第一个,相应执行单元被配置为,当属于可配置同步组的第一个的处理器中的每一个的执行单元在第一同步屏障处暂停等待时,继续进行计算或数据交换,而不在第一屏障同步处等待。

8、在一些实施例中,可配置同步组的第二个的同步是第二屏障同步,其中处理器的第一个的执行单元被配置为:响应于接收到对参与可配置同步组的第二个的同步的请求的确认,继续通过第二屏障同步。

9、在一些实施例中,处理器的第一个的执行单元被配置为:通过进入交换阶段继续通过第二屏障同步,在交换阶段中,处理器的第一个进行以下中的至少一个:发送或接收数据。

10、在一些实施例中,处理器的第一个的执行单元被配置为在断言参与可配置同步组的第一个的同步的请求之后,执行更新可配置同步组的第一个的指示的更新指令,以指定处理器的第一个确实属于可配置同步组的第一个。

11、在一些实施例中,处理器的第一个的执行单元被配置为在断言参与可配置同步组的第二个的同步的请求之后,执行更新可配置同步组的第二个的指示的更新指令,以指定处理器的第一个不属于可配置同步组的第二个。

12、在一些实施例中,数据处理设备包括聚合电路,该聚合电路被配置为:响应于处理器的全部提供参与可配置同步组的第一个的同步的相应请求,向同步控制器提供第一本文档来自技高网...

【技术保护点】

1.一种数据处理设备,包括:

2.如权利要求1所述的数据处理设备,其中所述同步控制器的所述电路被配置为响应于所述数据处理设备的所述处理器的全部发出参与所述可配置同步组的第一个的所述同步的请求,向所述处理器中的每一个发出对应的确认。

3.如权利要求2所述的数据处理设备,其中所述同步控制器的所述电路被配置为:

4.如权利要求3所述的数据处理设备,包括所述外部同步控制器,其中所述外部同步控制器包括:

5.如任何前述权利要求所述的数据处理设备,其中,对于属于所述可配置同步组的第一个的处理器中的每一个,所述相应处理器的所述执行单元被配置为在到达在属于所述可配置同步组的第一个的所述处理器之间实施的第一屏障同步时,发出参与所述可配置同步组的第一个的所述同步的请求,

6.如任何前述权利要求所述的数据处理设备,其中所述可配置同步组的第二个的所述同步是第二屏障同步,其中所述处理器的第一个的所述执行单元被配置为:

7.如权利要求6所述的数据处理设备,其中所述处理器的第一个的所述执行单元被配置为:通过进入交换阶段继续通过所述第二屏障同步,在所述交换阶段中,所述处理器的第一个进行以下中的至少一个:发送或接收数据。

8.如任何前述权利要求所述的数据处理设备,其中所述处理器的第一个的所述执行单元被配置为,在断言参与所述可配置同步组的第一个的所述同步的请求之后,执行更新所述可配置同步组的第一个的指示的更新指令,以指定所述处理器的第一个确实属于所述可配置同步组的第一个。

9.如任何前述权利要求所述的数据处理设备,其中所述处理器的第一个的所述执行单元被配置为,在断言参与所述可配置同步组的第二个的所述同步的请求之后,执行更新所述可配置同步组的第二个的指示的更新指令,以指定所述处理器的第一个不属于所述可配置同步组的第二个。

10.如任何前述权利要求所述的数据处理设备,包括聚合电路,所述聚合电路被配置为:

11.如任何前述权利要求所述的数据处理设备,包括:

12.如任何前述权利要求所述的数据处理设备,其中所述处理器的第一个的所述电路包括第一多路复用器,所述第一多路复用器被配置为根据所述处理器的第一个不属于所述可配置同步组的第一个的指示,选择第一输入,以输出表示参与所述可配置同步组的第一个的所述同步的请求的第一信号。

13.如任何前述权利要求所述的数据处理设备,其中所述处理器的第一个的所述电路包括第二多路复用器,所述第二多路复用器被配置为根据所述处理器的第一个属于所述可配置同步组的第二个的指示,选择第二输入,以输出由所述执行单元控制的第二信号。

14.如权利要求13所述的数据处理设备,其中所述处理器的第一个的所述执行单元被配置为在到达同步点时执行同步指令,以使所述第二信号被设置成一种状态,以表示参与所述可配置同步组的第二个的所述同步的请求。

15.如任何前述权利要求所述的数据处理设备,其中所述可配置同步组的第二个包括属于一个或多个另外的数据处理设备的另外的处理器,

16.如任何前述权利要求所述的数据处理设备,其中所述处理器的第一个的所述执行单元被配置为在到达所述可配置同步组的第二个的同步点时,执行同步指令,以使断言参与所述可配置同步组的第二个的所述同步的请求。

17.如任何前述权利要求所述的数据处理设备,其中所述处理器的第一个的所述电路被配置为:

18.如任何前述权利要求所述的数据处理设备,其中所述处理器的第一个包括第一接口,所述第一接口被配置为接收所述可配置同步组的第一个的第一确认信号,

19.如任何前述权利要求所述的数据处理设备,其中所述数据处理设备是集成电路。

20.一种在包括多个处理器的数据处理设备中实施的方法,所述方法包括:

...

【技术特征摘要】
【国外来华专利技术】

1.一种数据处理设备,包括:

2.如权利要求1所述的数据处理设备,其中所述同步控制器的所述电路被配置为响应于所述数据处理设备的所述处理器的全部发出参与所述可配置同步组的第一个的所述同步的请求,向所述处理器中的每一个发出对应的确认。

3.如权利要求2所述的数据处理设备,其中所述同步控制器的所述电路被配置为:

4.如权利要求3所述的数据处理设备,包括所述外部同步控制器,其中所述外部同步控制器包括:

5.如任何前述权利要求所述的数据处理设备,其中,对于属于所述可配置同步组的第一个的处理器中的每一个,所述相应处理器的所述执行单元被配置为在到达在属于所述可配置同步组的第一个的所述处理器之间实施的第一屏障同步时,发出参与所述可配置同步组的第一个的所述同步的请求,

6.如任何前述权利要求所述的数据处理设备,其中所述可配置同步组的第二个的所述同步是第二屏障同步,其中所述处理器的第一个的所述执行单元被配置为:

7.如权利要求6所述的数据处理设备,其中所述处理器的第一个的所述执行单元被配置为:通过进入交换阶段继续通过所述第二屏障同步,在所述交换阶段中,所述处理器的第一个进行以下中的至少一个:发送或接收数据。

8.如任何前述权利要求所述的数据处理设备,其中所述处理器的第一个的所述执行单元被配置为,在断言参与所述可配置同步组的第一个的所述同步的请求之后,执行更新所述可配置同步组的第一个的指示的更新指令,以指定所述处理器的第一个确实属于所述可配置同步组的第一个。

9.如任何前述权利要求所述的数据处理设备,其中所述处理器的第一个的所述执行单元被配置为,在断言参与所述可配置同步组的第二个的所述同步的请求之后,执行更新所述可配置同步组的第二个的指示的更新指令,以指定所述处理器的第一个不属于所述可配置同步组的第二个。

10.如任何前述权利...

【专利技术属性】
技术研发人员:R·奥斯本S·菲利克斯
申请(专利权)人:图核有限公司
类型:发明
国别省市:

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

1