数据交互系统、方法、大规模运算处理方法、设备及介质技术方案

技术编号:38593784 阅读:11 留言:0更新日期:2023-08-26 23:31
本发明专利技术涉及通信技术领域,尤其涉及一种数据交互系统、方法、大规模运算处理方法、设备及介质。该系统包括:第一处理器和第二处理器,用于分别执行不同运算以产生运算结果和运算完成指示;第一存储器用于存储运算结果;读写控制器与第一处理器、第二处理器以及第一存储器连接,读写控制器内置用于存储运算完成指示、以及运算结果在第一存储器中的存储信息的第二存储器;读写控制器用于选通第一存储器与产生运算结果的处理器通信以使该处理器将运算结果写第一存储器;以及在读写控制器检测到运算完成指示和存储信息写入第二存储器时选通第一存储器与另一处理器通信以从第一存储器读取运算结果。本发明专利技术的方案显著提升数据交互效率。效率。效率。

【技术实现步骤摘要】
数据交互系统、方法、大规模运算处理方法、设备及介质


[0001]本专利技术涉及通信
,尤其涉及一种数据交互系统、方法、大规模运算处理方法、设备及介质。

技术介绍

[0002]目前新技术的发展迅猛,一些领域的算法比如人工智能、基因分析等算法的规模越来越大,由于资源等方面的考虑,这些算法被分割在多个处理器中运行。这种分割的好处既能降低每一个处理器上的算法实现难度,也能够提高整体的效率。还有一些涉密算法,基于算法保密目的,也把算法拆分在多个处理器上运行,由于不同算法之间可能需要利用其他算法产生的数据,导致不同的处理器之间需要进行数据交互。
[0003]目前,传统处理器数据交互实现方式是在两个处理器之间加入一个双口RAM(又称DPRAM)芯片,如图1所示,其实现原理是:CPU1和CPU2约定好DPRAM的一部分空间为控制空间(如图1中的灰色部分区域),其他为数据空间部分。CPU1/CPU2根据监控控制空间里的信息,了解数据空间的数据信息,从而实现正确的操作。例如CPU1有部分数据要输送给CPU2,那么CPU1首先把数据写到DPRAM的一段落地址空间上,然后在CPU1输出控制寄存器上写1,并在对应寄存器上写上开始地址和数据长度。CPU2检测到控制寄存器上已经写1后,读取开始地址和数据长度的信息,根据这些信息从DPRAM对应的地址空间内读走数据。然而,传统处理器数据交互方式存在以下缺陷:由于DPRAM的容量限制,交换数据的量比较小。当需要交互的数据量比较大时,处理器需要多次写数据到DPRAM、写控制信息到DPRAM,不仅效率不高,而且浪费处理器的资源,因此亟需改进。

技术实现思路

[0004]有鉴于此,有必要针对以上技术问题,提供一种数据交互系统、方法、大规模运算处理方法、设备及介质。
[0005]根据本专利技术的第一方面,提供了一种数据交互系统,所述系统包括:第一处理器和第二处理器,所述第一处理器和所述第二处理器用于分别执行不同运算以产生运算结果和运算完成指示;第一存储器,所述第一存储器用于存储所述运算结果;读写控制器,所述读写控制器与所述第一处理器、所述第二处理器以及所述第一存储器分别连接,所述读写控制器内置第二存储器,所述第二存储器为三端口存储器,三个端口分别与所述第一处理器、所述第二处理器以及所述读写控制器连接,所述第二存储器用于存储所述运算完成指示、以及存储所述运算结果在所述第一存储器中的存储信息;其中,所述读写控制器用于选通所述第一存储器与产生所述运算结果的处理器通信,以使产生所述运算结果的处理器将所述运算结果写入所述第一存储器;以及在所述读写控制器检测到所述运算完成指示和所述存储信息写入所述第二存储器时选通所述第一存储器与另一处理器通信,以使所述另一处理器基于所述第二存储器中的存储信息从所述
第一存储器读取所述运算结果。
[0006]在一些实施例中,所述读写控制器包括第一PCIe端点和第二PCIe端点;所述第一PCIe端点与第一处理器的PCIe根复合体连接,所述第二PCIe端点与第二处理器的PCIe根复合体连接。
[0007]在一些实施例中,所述读写控制器还包括选通控制单元;所述选通控制单元与所述第一PCIe端点、所述第二PCIe端点和所述第一存储器分别连接,所述选通控制单元用于选通所述第一处理器通过所述第一PCIe端点访问所述第一存储器,或者用于选通所述第二处理器通过所述第二PCIe端点访问所述第一存储器。
[0008]在一些实施例中,所述读写控制器还包括内部逻辑单元,所述第二存储器包括第一端口、第二端口和第三端口;所述第一端口与所述第一PCIe端点连接,所述第二端口与所述第二PCIe端点连接,所述第三端口与所述内部逻辑单元连接,所述内部逻辑单元还与所述第一PCIe端点和第二PCIe端点分别连接。
[0009]在一些实施例中,所述第一处理器配置用于:执行第一运算以生成第一运算结果,并在第一运算执行完成时生成第一运算完成指示:向所述选通控制单元发送通信请求以通过所述第一PCIe端点将所述第一运算结果写入所述第一存储器中,并获取所述第一运算结果在所述第一存储器中的起始地址和数据长度以得到第一存储信息;将所述第一存储信息和所述第一运算完成指示分别写入所述第二存储器的预设地址中。
[0010]在一些实施例中,所述内部逻辑单元配置用于:对所述第二存储器的所述预设地址进行循环检测;响应于所述预设地址中写入第一运算完成指示,则向所述选通控制单元发送通信请求以通过所述第二PCIe端点向所述第二处理器发送第一中断。
[0011]在一些实施例中,所述第二处理器配置用于:响应于接收到第一中断,则查看所述第一中断的中断源以从所述第二存储器的预设地址中读取所述第一运算结果的起始地址和数据长度;向所述选通控制单元发送通信请求以基于所述第一运算结果的起始地址和数据长度通过所述第二PCIe端点从所述第一存储器中读取所述第一运算结果。
[0012]在一些实施例中,所述第二处理器还配置用于:对所述第一运算结果执行第二运算以生成第二运算结果,并在第二运算完成时生成第二运算完成指示;向所述选通控制单元发送通信请求以通过所述第二PCIe端点将所述第二运算结果写入所述第一存储器中,并获取所述第二运算结果在所述第一存储器中的起始地址和数据长度以得到第二存储信息;将所述第二存储信息和所述第二运算完成指示分别写入所述第二存储器的预设地址中。
[0013]在一些实施例中,所述内部逻辑单元还配置用于:
响应于所述预设地址中写入第二运算完成指示,则通过所述第一PCIe端点向所述第一处理器发送第二中断。
[0014]在一些实施例中,所述第一处理器还配置用于:响应于接收到第二中断,则查看所述第二中断的中断源以从所述第二存储器的预设地址中读取所述第二运算结果的起始地址和数据长度;向所述选通控制单元发送通信请求以基于所述第二运算结果的起始地址和数据长度通过所述第一PCIe端点从所述第一存储器中读取所述第二运算结果,并基于所述第二运算结果执行后续运算。
[0015]在一些实施例中,所述选通控制单元配置用于:将所述第一处理器和所述第二处理器发送的通信请求按照时间先后顺序放入队列;依次从队列中取出通信请求,并基于通信请求选通所述第一存储器与所述第一PCIe端点连接或选通所述第一存储器与所述第二PCIe端点连接。
[0016]在一些实施例中,所述选通控制单元还配置用于:响应于通信请求的发送者为第一处理器,则选通所述第一存储器与所述第一PCIe端点连接;响应于通信请求的发送者为第二处理器,则选通所述第一存储器与所述第二PCIe端点连接。
[0017]在一些实施例中,所述读写控制器采用现场可编程逻辑门阵列搭建。
[0018]在一些实施例中,所述选通控制单元为Crossbar交换单元。
[0019]在一些实施例中,所述第一处理器和第二处理器均选自中央处理器、图形处理器、专用集成电路中的任意一个。
[0020]在一些实施例中,所述第一存储器为双倍速率同步动态随本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据交互系统,其特征在于,所述系统包括:第一处理器和第二处理器,所述第一处理器和所述第二处理器用于分别执行不同运算以产生运算结果和运算完成指示;第一存储器,所述第一存储器用于存储所述运算结果;读写控制器,所述读写控制器与所述第一处理器、所述第二处理器以及所述第一存储器分别连接,所述读写控制器内置第二存储器,所述第二存储器为三端口存储器,三个端口分别与所述第一处理器、所述第二处理器以及所述读写控制器连接,所述第二存储器用于存储所述运算完成指示、以及存储所述运算结果在所述第一存储器中的存储信息;其中,所述读写控制器用于:选通所述第一存储器与产生所述运算结果的处理器通信,以使产生所述运算结果的处理器将所述运算结果写入所述第一存储器;以及在所述读写控制器检测到所述运算完成指示和所述存储信息写入所述第二存储器时选通所述第一存储器与另一处理器通信,以使所述另一处理器基于所述第二存储器中的存储信息从所述第一存储器读取所述运算结果。2.根据权利要求1所述的数据交互系统,其特征在于,所述读写控制器包括第一PCIe端点和第二PCIe端点;所述第一PCIe端点与第一处理器的PCIe根复合体连接,所述第二PCIe端点与第二处理器的PCIe根复合体连接。3.根据权利要求2所述的数据交互系统,其特征在于,所述读写控制器还包括选通控制单元;所述选通控制单元与所述第一PCIe端点、所述第二PCIe端点和所述第一存储器分别连接,所述选通控制单元用于选通所述第一处理器通过所述第一PCIe端点访问所述第一存储器,或者用于选通所述第二处理器通过所述第二PCIe端点访问所述第一存储器。4.根据权利要求3所述的数据交互系统,其特征在于,所述读写控制器还包括内部逻辑单元,所述第二存储器包括第一端口、第二端口和第三端口;所述第一端口与所述第一PCIe端点连接,所述第二端口与所述第二PCIe端点连接,所述第三端口与所述内部逻辑单元连接,所述内部逻辑单元还与所述第一PCIe端点和第二PCIe端点分别连接。5.根据权利要求4所述的数据交互系统,其特征在于,所述第一处理器配置用于:执行第一运算以生成第一运算结果,并在第一运算执行完成时生成第一运算完成指示:向所述选通控制单元发送通信请求以通过所述第一PCIe端点将所述第一运算结果写入所述第一存储器中,并获取所述第一运算结果在所述第一存储器中的起始地址和数据长度以得到第一存储信息;将所述第一存储信息和所述第一运算完成指示分别写入所述第二存储器的预设地址中。6.根据权利要求5所述的数据交互系统,其特征在于,所述内部逻辑单元配置用于:对所述第二存储器的所述预设地址进行循环检测;响应于所述预设地址中写入第一运算完成指示,则向所述选通控制单元发送通信请求以通过所述第二PCIe端点向所述第二处理器发送第一中断。
7.根据权利要求6所述的数据交互系统,其特征在于,所述第二处理器配置用于:响应于接收到第一中断,则查看所述第一中断的中断源以从所述第二存储器的预设地址中读取所述第一运算结果的起始地址和数据长度;向所述选通控制单元发送通信请求以基于所述第一运算结果的起始地址和数据长度通过所述第二PCIe端点从所述第一存储器中读取所述第一运算结果。8.根据权利要求7所述的数据交互系统,其特征在于,所述第二处理器还配置用于:对所述第一运算结果执行第二运算以生成第二运算结果,并在第二运算完成时生成第二运算完成指示;向所述选通控制单元发送通信请求以通过所述第二PCIe端点将所述第二运算结果写入所述第一存储器中,并获取所述第二运算结果在所述第一存储器中的起始地址和数据长度以得到第二存储信息;将所述第二存储信息和所述第二运算完成指示分别写入所述第二存储器的预设地址中。9.根据权利要求8所述的数据交互系统,其特征在于,所述内部逻辑单元还配置用于:响应于所述预设地址中写入第二运算完成指示,则通过所述第一PCIe端点向所述第一处理器发送第二中断。10.根据...

【专利技术属性】
技术研发人员:黄广奎李仁刚张闯王敏谢志勇
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1