System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种多处理器系统及数据传输方法技术方案_技高网

一种多处理器系统及数据传输方法技术方案

技术编号:43221806 阅读:1 留言:0更新日期:2024-11-05 17:13
本申请公开了一种多处理器系统以及数据传输方法,包括:CU将目标数据通过绑定的第一端口单元写入到目的处理器,发送第一fence请求到第一端口单元,暂停执行指令;与第一端口单元连接的第二端口单元,接收第一端口单元转发的第一fence请求,并在确定第一fence请求对应的关联数据都成功写入后,通过第一端口单元向发送第一fence请求的CU反馈fence ACK;该CU接收到fence ACK后,继续执行指令,通过第一端口单元将与目标数据对应的同步信号写入目的处理器。应用本申请,能够在保证同步保序的同时,有效提高处理速度,降低延时。

【技术实现步骤摘要】

本申请涉及数据传输技术,特别涉及一种多处理器系统及数据传输方法


技术介绍

1、在目前的各类智能系统中,往往涉及到多个处理器之间的数据传输,其中,处理器例如可以是中央处理器(cpu)、图形处理器(gpu)或神经网络处理器(npu)等。不同处理器之间通常包括多个路径,由此在多个处理器的多个路径间的数据传输需要保证数据同步和保序。

2、目前对于多处理器的多路径数据传输,为保证数据同步和保序,通常在源处理器本地写入需要传输的目标数据,然后本地写入与该目标数据对应的同步信号,接下来再进行下一笔数据及其同步信号的本地写入;目的处理器远程轮询保存在源处理器的同步信号,当轮询到要消费的目标数据所对应的同步信号后,确定相应目标数据已经准备好,远程读取保存在源处理器的相应数据。上述数据传输方式中,目的处理器的远程轮询处理速度慢,延时长,效率低,因此使得整个数据传输的性能比较差。


技术实现思路

1、本申请提供一种多处理器系统及数据传输方法,能够在保证同步保序的同时,有效提高处理速度,降低延时。

2、为实现上述目的,本申请采用如下技术方案:

3、一种多处理器之间的数据传输方法,包括:

4、源处理器的运算单元将该运算单元需要发送的目标数据,通过该运算单元绑定的所述源处理器的第一端口单元写入到目的处理器,发送第一屏障请求到所述第一端口单元,并暂停执行指令队列中的指令;其中,所述源处理器包括多个所述运算单元,多个所述运算单元分别唯一绑定一个所述第一端口单元;p>

5、与所述第一端口单元连接的目的处理器的第二端口单元,接收所述第一端口单元转发的第一屏障请求,并在确定所述第一屏障请求对应的关联数据都成功写入后,通过所述第一端口单元向发送所述第一屏障请求的cu单元反馈屏障确认指令;

6、发送所述第一屏障请求的运算单元接收到所述屏障确认指令后,继续执行所述指令队列中的指令,通过所述第一端口单元将与所述目标数据对应的同步信号写入所述目的处理器。

7、较佳地,所述目标数据包括一个或多个目标数据包;

8、所述方法进一步包括:将用于请求将任一目标数据包写入所述目的处理器的写请求,通过所述第一端口单元传输到所述第二端口单元,所述第二端口单元对所述关联数据的写请求进行计数,得到当前计数结果,并在接收到所述第一屏障请求后,将所述当前计数结果与发送所述第一屏障请求的cu单元建立对应关系;所述第二端口单元在接收到用于确认所述任一目标数据包已经收到的第一确认指令后,对所述任一目标数据包的写请求对应的当前计数结果减1,作为新的当前计数结果。

9、较佳地,确定所述第一fence请求对应的关联数据都成功写入的方式包括:

10、当发送所述第一屏障请求的cu单元对应的当前计数结果减少到0时,确定所述第一屏障请求对应的关联数据都成功写入。

11、较佳地,所述方法进一步包括:

12、所述第二端口单元中设置若干表项;

13、所述第二端口单元在首次接收到所述写请求后,或者,在接收到所述第一屏障请求且将所述当前计数结果与发送所述第一屏障请求的运算单元建立对应关系后,选择一个当前未使用的表项作为当前表项;在所述关联数据的写请求开始计数时,设置其当前计数结果对应于所述当前表项;

14、所述第二端口单元在确定发送所述第一屏障请求的运算单元对应的当前计数结果减少到0后,释放该当前计数结果对应的表项,将该表项作为未使用的表项。

15、较佳地,所述将目标数据通过与该运算单元绑定的所述源处理器的第一端口单元写入到目的处理器,包括:

16、所述运算单元中的指令处理子单元接收到对应任一目标数据包的写指令后,从本地高带宽存储器加载所述任一目标数据包发送给所述源处理器的片上网络单元,所述片上网络单元确定所述第一端口单元,并将所述任一目标数据包通过所述第一端口单元传输到所述第二端口单元;所述运算单元中的访存处理子单元将所述写指令转换为所述写请求后通过所述第一端口单元传输到所述第二端口单元;

17、所述第二端口单元在接收到所述写请求和所述任一目标数据包后,通过片上网络单元将所述任一目标数据包保存到所述目的处理器的高带宽存储器。

18、较佳地,所述发送第一屏障请求到所述第一端口单元并暂停执行指令队列中的指令,包括:所述运算单元中的指令处理子单元接收第一屏障指令后暂停执行所述指令队列中的指令,所述运算单元中的访存处理子单元将所述第一屏障指令转换为所述第一屏障请求后发送给所述第一端口单元。

19、较佳地,所述片上网络单元确定所述第一端口单元的方式包括:所述第一端口单元的标识等于所述运算单元的标识对所述源处理器中的端口单元个数取余的结果。

20、一种多处理器系统,包括:源处理器和目的处理器;所述源处理器包括多个运算单元、多个第一端口单元和第一高带宽存储器单元,所述目的处理器包括多个第二端口单元和第二高带宽存储器单元;

21、所述源处理器中的运算单元,用于将本运算单元需要发送的目标数据从所述第一高带宽存储器单元中加载,并通过与本运算单元唯一绑定的第一端口单元写入到目的处理器,发送第一屏障请求到绑定的第一端口单元,并暂停执行指令队列中的指令;还用于在接收到屏障确认指令后,继续执行所述指令队列中的指令,通过与本运算单元绑定的第一端口单元将与所述目标数据对应的同步信号写入所述目的处理器的第二高带宽存储器单元中;

22、所述源处理器中的每个第一端口单元,用于接收与本第一端口单元绑定的运算单元发出的所述目标数据、所述第一屏障请求和所述目标数据的同步信号,并转发给所述目的处理器中与本第一端口单元连接的第二端口单元;还用于将与本第一端口单元连接的第二端口单元发来的屏障确认指令转发给本第一端口单元绑定的运算单元;

23、所述源处理器中的第一高带宽存储器单元,用于保存需要发送的目标数据;

24、所述目的处理器中的每个第二端口单元,用于接收与本第二端口单元连接的源处理器的第一端口单元发来的所述目标数据、所述第一屏障请求和所述目标数据的同步信号,并在确定所述第一屏障请求对应的关联数据都成功写入后,通过与本第二端口单元连接的第一端口单元向发送所述第一屏障请求的运算单元反馈屏障确认指令;还用于将所述目标数据和所述目标数据的同步信号发送给所述第二高带宽存储器单元;

25、所述第二高带宽存储器单元,用于保存所述目标数据和所述同步信号。

26、较佳地,所述目标数据包括一个或多个目标数据包;

27、所述运算单元,进一步用于将用于请求将任一目标数据包写入所述目的处理器的写请求,通过与本运算单元绑定的第一端口单元传输到与该第一端口单元连接的第二端口单元;

28、所述第二端口单元,进一步用于接收与本第二端口单元连接的第一端口单元转发的所述写请求,并对所述关联数据的写请求进行计数,得到当前计数结果,并在接收到所述第一屏障请求后,将所述本文档来自技高网...

【技术保护点】

1.一种多处理器之间的数据传输方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述目标数据包括一个或多个目标数据包;

3.根据权利要求2所述的方法,其特征在于,确定所述第一fence请求对应的关联数据都成功写入的方式包括:

4.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:

5.根据权利要求1、2、3或4所述的方法,其特征在于,所述将目标数据通过与该运算单元绑定的所述源处理器的第一端口单元写入到目的处理器,包括:

6.根据权利要求1、2、3或4所述的方法,其特征在于,所述发送第一屏障请求到所述第一端口单元并暂停执行指令队列中的指令,包括:所述运算单元中的指令处理子单元接收第一屏障指令后暂停执行所述指令队列中的指令,所述运算单元中的访存处理子单元将所述第一屏障指令转换为所述第一屏障请求后发送给所述第一端口单元。

7.根据权利要求5所述的方法,其特征在于,所述片上网络单元确定所述第一端口单元的方式包括:所述第一端口单元的标识等于所述运算单元的标识对所述源处理器中的端口单元个数取余的结果。

8.一种多处理器系统,其特征在于,包括:源处理器和目的处理器;所述源处理器包括多个运算单元、多个第一端口单元和第一高带宽存储器单元,所述目的处理器包括多个第二端口单元和第二高带宽存储器单元;

9.根据权利要求8所述的系统,其特征在于,所述目标数据包括一个或多个目标数据包;

10.根据权利要求9所述的系统,其特征在于,在所述第二端口单元中,确定所述第一屏障请求对应的关联数据都成功写入的方式包括:

11.根据权利要求10所述的系统,其特征在于,所述第二端口单元,进一步用于设置表项,还用于在首次接收到所述写请求后,或者,在接收到所述第一屏障请求且将所述当前计数结果与发送所述第一屏障请求的运算单元建立对应关系后,选择一个当前未使用的表项作为当前表项;在所述关联数据的写请求开始计数时,设置其当前计数结果对应于所述当前表项;又用于在确定发送所述第一屏障请求的运算单元对应的当前计数结果减少到0后,释放该当前计数结果对应的表项,将该表项作为未使用的表项。

12.根据权利要求8、9、10或11所述的系统,其特征在于,所述源处理器进一步包括片上网络单元,所述运算单元包括指令处理子单元和访存处理子单元;

13.根据权利要求8、9、10或11所述的系统,其特征在于,所述源处理器进一步包括片上网络单元,所述运算单元包括指令处理子单元和访存处理子单元;

...

【技术特征摘要】

1.一种多处理器之间的数据传输方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述目标数据包括一个或多个目标数据包;

3.根据权利要求2所述的方法,其特征在于,确定所述第一fence请求对应的关联数据都成功写入的方式包括:

4.根据权利要求3所述的方法,其特征在于,所述方法进一步包括:

5.根据权利要求1、2、3或4所述的方法,其特征在于,所述将目标数据通过与该运算单元绑定的所述源处理器的第一端口单元写入到目的处理器,包括:

6.根据权利要求1、2、3或4所述的方法,其特征在于,所述发送第一屏障请求到所述第一端口单元并暂停执行指令队列中的指令,包括:所述运算单元中的指令处理子单元接收第一屏障指令后暂停执行所述指令队列中的指令,所述运算单元中的访存处理子单元将所述第一屏障指令转换为所述第一屏障请求后发送给所述第一端口单元。

7.根据权利要求5所述的方法,其特征在于,所述片上网络单元确定所述第一端口单元的方式包括:所述第一端口单元的标识等于所述运算单元的标识对所述源处理器中的端口单元个数取余的结果。

8.一种多处理器系统,其特征在于,包括:源处理器和目的处理器;所述源处理器包括多个运算单元、多...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名
申请(专利权)人:上海壁仞科技股份有限公司
类型:发明
国别省市:

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

1