数据传输方法及装置与流程

allin2025-05-29  100


本公开涉及计算机,尤其涉及一种数据传输方法及装置。


背景技术:

1、在计算机技术中,为了降低中央处理器(central processing unit,cpu)的消耗,可以基于零拷贝技术实现数据的传输。零拷贝技术是一种不需要使用cpu就可以将数据从一个存储区域复制到另一个存储区域,节约了cpu资源。同时,零拷贝技术减少了用户态的地址空间和内核态的地址空间之间因为上下文切换而带来的开销。


技术实现思路

1、一方面,提供一种数据传输方法,该方法包括:高级精简指令集计算机(advancedrisc machine,arm)建立与直接内存访问(direct memory access,dma)之间的通信通道,并通过该通信通道向dma发送用于指示arm对虚拟内存中的目标数据执行数据传输操作的第一指示信息。其中,该虚拟内存位于用户态。

2、在一些实施例中,该方法还包括:arm将dma使用的物理内存映射为虚拟内存,并将目标数据存储至虚拟内存中。

3、在一些实施例中,该方法还包括:arm向dma发送用于指示目标数据的数据长度的第二指示信息。

4、在一些实施例中,该方法还包括:获取dma的执行结果,该执行结果包括dma传输目标数据是否超时、是否完成目标数据的传输、是否成功传输目标数据中的一个或多个。arm根据该执行结果,确定dma执行数据传输的操作是否异常。

5、在一些实施例中,该方法还包括:arm向dma发送多个递增数,并从接收端获取该接收端接收到的递增数。其中,该多个递增数包括多个依次增大的数字。arm根据发送的多个递增数以及接收端接收到的递增数,确认dma传输的数据是否一致。

6、在一些实施例中,该方法还包括:arm与fpga连接,fpga用于通过逻辑分析仪获取与dma传输相关的数据并根据与dma传输相关的数据,确定dma传输的递增数是否一致,其中,与dma传输相关的数据包括与dma连接的fifo模块发送的数据以及接收的数据、dma的传输总线上的数据以及dma发送的数据

7、另一方面,提供一种数据传输方法,该方法包括:dma建立与arm之间的通信通道,并通过该通信通道接收来自arm的用于指示arm对目标数据执行数据传输操作的第一指示信息。其中,对目标数据和执行数据传输操作包括根据目标数据的内存地址,获取目标数据,或者,向目标数据的内存地址发送目标数据。dma根据第一指示信息,对目标数据进行传输操作。

8、在一些实施例中,该方法还包括:dma接收来自arm的用于指示所述目标数据的数据长度的第二指示信息。

9、在一些实施例中,dma传输目标数据的执行结果包括dma传输目标数据是否超时、是否完成目标数据的传输、是否成功传输目标数据中的一个或多个。该执行结果用于反映dma执行数据传输的操作是否异常。

10、在一些实施例中,该方法还包括:dma接收来自arm的多个递增数,该多个递增数包括多个依次增大的数字。dma向接收端发送所述多个递增数。该接收端用于接收dma发送的数据。

11、另一方面,提供一种数据传输装置。应用于arm,该装置包括:建立单元和发送单元。

12、其中,建立单元,被配置为:建立与dma之间的通信通道。

13、发送单元,被配置为:通过该通信通道向dma发送用于指示arm对虚拟内存中的目标数据执行数据传输操作的第一指示信息。其中,该虚拟内存位于用户态。

14、在一些实施例中,该装置还包括映射单元。映射单元,被配置为:将dma使用的物理内存映射为用户态的虚拟内存,并将目标数据存储至虚拟内存中。

15、在一些实施例中,发送单元,还被配置为:向dma发送用于指示目标数据的数据长度的第二指示信息。

16、在一些实施例中,该装置还包括获取单元。获取单元,被配置为:获取dma的执行结果,该执行结果包括dma传输目标数据是否超时、是否完成目标数据的传输、是否成功传输目标数据中的一个或多个。arm根据该执行结果,确定dma执行数据传输的操作是否异常。

17、在一些实施例中,发送单元,还被配置为:向dma发送多个递增数,并从接收端获取该接收端接收到的递增数。其中,该多个递增数包括多个依次增大的数字。arm根据发送的多个递增数以及接收端接收到的递增数,确认dma传输的数据是否一致。

18、在一些实施例中,arm与fpga连接,fpga用于通过逻辑分析仪获取与dma传输相关的数据并根据与dma传输相关的数据,确定dma传输的递增数是否一致,其中,与dma传输相关的数据包括与dma连接的fifo模块发送的数据以及接收的数据、dma的传输总线上的数据以及dma发送的数据。

19、另一方面,提供一种数据传输装置,该装置包括:建立单元和接收单元、处理单元。建立单元,被配置为:响应于配置操作,建立与arm之间的通信通道。接收单元,被配置为:通过通信通道,接收来自arm的用于指示对虚拟内存中的目标数据执行数据传输操作的第一指示信息。其中,虚拟内存位于用户态。处理单元,被配置为:根据第一指示信息,传输虚拟内存中的目标数据。

20、在一些实施例中,接收单元,还被配置为:接收来自arm的用于指示目标数据的数据长度的第二指示信息。处理单元,还被配置为:根据第二指示信息,确定传输的目标数据的数据长度。

21、在一些实施例中,dma传输目标数据的执行结果包括dma传输目标数据是否超时、是否完成目标数据的传输、是否成功传输目标数据中的一个或多个。

22、在一些实施例中,接收单元,还被配置为:接收来自arm的多个递增数,该多个递增数包括多个依次增大的数字。发送单元,还被配置为:向接收端发送多个递增数。

23、又一方面,提供一种数据传输装置,包括处理器和通信接口。通信接口和处理器耦合。处理器用于运行计算机程序或指令,以实现上述任一实施例的数据传输方法。

24、又一方面,提供一种计算机可读存储介质。所述计算机可读存储介质存储有计算机程序指令,所述计算机程序指令在计算机(例如,服务器)上运行时,使得所述计算机执行如上述任一实施例所述的数据传输方法。

25、又一方面,提供一种计算机程序产品。所述计算机程序产品包括计算机程序指令,在计算机(例如,服务器)上执行所述计算机程序指令时,所述计算机程序指令使计算机执行如上述任一实施例所述的数据传输方法。

26、又一方面,提供一种计算机程序。当所述计算机程序在计算机(例如,服务器)上执行时,所述计算机程序使计算机执行如上述任一实施例所述的数据传输方法。



技术特征:

1.一种数据传输方法,其特征在于,应用于高级精简指令集计算机arm,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:

5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述arm与现场可编程逻辑门阵列fpga连接,所述fpga用于通过逻辑分析仪获取与dma传输相关的数据,并根据所述与dma传输相关的数据,确定所述dma传输的递增数是否一致,其中,所述与dma传输相关的数据包括与所述dma连接的fifo模块发送的数据及接收的数据、所述dma的传输总线上的数据及所述dma发送的数据。

7.一种数据传输方法,其特征在于,应用于dma,所述方法包括:

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

9.根据权利要求7或8所述的方法,其特征在于,所述dma传输目标数据的执行结果包括所述dma传输所述目标数据是否超时、是否完成所述目标数据的传输、是否成功传输所述目标数据中的一个或多个;所述执行结果用于反映所述dma执行数据传输的操作是否异常。

10.根据权利要求7-9任一项所述的方法,其特征在于,所述方法还包括:

11.一种数据传输装置,其特征在于,应用于arm,所述装置包括:

12.一种数据传输装置,其特征在于,应用于dma,所述装置包括:

13.一种数据传输装置,其特征在于,包括:处理器和存储器;所述存储器存储计算机指令,所述处理器用于运行所述计算机程序,以实现如权利要求1-6任一项所述的数据传输方法。

14.一种数据传输装置,其特征在于,包括:处理器和存储器;所述存储器存储计算机指令,所述处理器用于运行所述计算机程序,以实现如权利要求7-10任一项所述的数据传输方法。

15.一种非瞬态计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当计算机执行所述指令时,所述计算机执行上述权利要求1-6任一项所述的数据传输方法,或执行上述权利要求7-10任一项所述的数据传输方法。


技术总结
一种数据传输方法及装置,涉及计算机技术领域。该方法包括:ARM建立与DMA之间的通信通道,并通过该通信通道向DMA发送用于指示对位于用户态的虚拟内存中的目标数据执行数据传输操作的指示信息,以使得DMA可以根据该指示信息传输虚拟内存中的目标数据。

技术研发人员:郁鹏程
受保护的技术使用者:京东方科技集团股份有限公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-21604.html

最新回复(0)