CN109739786A - 一种dma控制器和异构加速系统 - Google Patents

一种dma控制器和异构加速系统 Download PDF

Info

Publication number
CN109739786A
CN109739786A CN201910016298.8A CN201910016298A CN109739786A CN 109739786 A CN109739786 A CN 109739786A CN 201910016298 A CN201910016298 A CN 201910016298A CN 109739786 A CN109739786 A CN 109739786A
Authority
CN
China
Prior art keywords
data
dma
descriptor
processing equipment
data processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910016298.8A
Other languages
English (en)
Other versions
CN109739786B (zh
Inventor
王峰
张静东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201910016298.8A priority Critical patent/CN109739786B/zh
Publication of CN109739786A publication Critical patent/CN109739786A/zh
Priority to PCT/CN2019/103683 priority patent/WO2020143237A1/zh
Application granted granted Critical
Publication of CN109739786B publication Critical patent/CN109739786B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明公开了一种DMA控制器,该DMA控制器包括:反馈模块、描述符控制模块和数据接口模块;其中,数据接口模块包括第一子模块和第二子模块,第一子模块,用于与第一数据处理设备建立通信连接,第二子模块用于与DMA搬移器建立通信连接;描述符控制模块,用于接收第一数据处理设备发送的数据搬移请求,并解析数据搬移请求,获得描述符;将描述符发送给DMA搬移器,以使DMA搬移器基于描述符在第二数据处理设备和加速设备之间进行数据搬移;反馈模块,用于接收DMA搬移器反馈的搬移完成通知信息,并通知第一数据处理设备数据搬移已完成。该DMA控制器可增大DMA的灵活性。本发明还公开了一种异构加速系统,具有相应的技术效果。

Description

一种DMA控制器和异构加速系统
技术领域
本发明涉及数据处理技术领域,特别是涉及一种DMA控制器和一种异构加速系统。
背景技术
随着异构加速日益广泛的应用,基于诸如FPGA的加速设备也发展迅速。FPGA通过PCIE接口与服务器主机连接,服务器主机通过PCIE接口将需要加速的数据发送给FPGA,FPGA处理完成后通过PCIE接口返回相关的数据。在PCIE接口两侧的服务器主机与FPGA的数据传输中,数据传输量很大,为了提升传输速率,于是在PCIE接口引入DMA机制,解决了与服务器主机之间的大数据量的传输问题。
该DMA(Direct Memory Access,直接内存存取)机制主要:接收来自服务器主机的相关指令,然后执行数据搬移,数据搬移完成后向服务器主机发送中断。也就是说,PEIE接口中的DMA功能主要分为两个,一个是DMA控制器,用于负责接收和解析来自服务器主机端的指令,另一个是DMA搬移器,用于负责根据指令在服务器主机的内存和FPGA的片上存储器之间搬移对应的数据。
目前,加速卡的连接方式越来越多样化,如可通过PCIE接口与服务器主机连接,也可以通过光口或其他接口实现加速卡之间的互联。但是,现有的DMA控制器与PCIE模块合在一起,不能单独使用,这样使得控制方式单一,只能通过PCIE接收来自服务器主机端的指令,而不能接收来自其他户用逻辑master(如通过FPGA进行数据加速处理的服务器主机之外的其他服务器主机或其他能够发出指令的终端)的指令。如此,便限制了DMA的灵活性和可复用性。
综上所述,如何有效地通过DMA的灵活性和可复用性等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种DMA控制器和一种异构加速系统,以提升DMA的灵活性,进一步提高异构加速处理模式的灵活性。
为解决上述技术问题,本发明提供如下技术方案:
一种DMA控制器,包括:反馈模块、描述符控制模块和数据接口模块;
其中,所述数据接口模块包括第一子模块和第二子模块,所述第一子模块,用于与第一数据处理设备建立通信连接,所述第二子模块用于与DMA搬移器建立通信连接;
所述描述符控制模块,用于接收所述第一数据处理设备发送的数据搬移请求,并解析所述数据搬移请求,获得描述符;将所述描述符发送给所述DMA搬移器,以使所述DMA搬移器基于所述描述符在第二数据处理设备和加速设备之间进行数据搬移;
所述反馈模块,用于接收所述DMA搬移器反馈的搬移完成通知信息,并通知所述第一数据处理设备数据搬移已完成。
优选地,所述反馈模块,具体用于以向所述第一数据处理设备发送中断信号的方式,通知所述第一数据处理设备数据搬移已完成。
优选地,还包括:多任务处理模块,所述多任务处理模块包括:
描述表处理单元,用于接收所述DMA搬移器或发送的描述符表,并将所述描述符表内的描述符逐个读取后传递给所述缓存单元;
缓存单元,用于接收所述描述符,并按照接收顺序将所述描述符发送给所述DMA搬移器。
优选地,所述缓存单元,具体用于在所述搬移完成通知信息与所述描述符表中最后一个待执行的描述符匹配时,向所述第一数据处理设备发送数据搬移已完成的通知消息。
优选地,所述第二子模块包括用于发送数据的发送单元和用于接收数据的接收单元。
优选地,所述第一子模块的通信协议类型为PEIC、Avalon-MM和Avalon-ST中至少一种。
一种异构加速系统,包括:
第一数据处理设备、加速设备、DMA搬移器、第二数据处理设备和如上述的DMA控制器;
其中,所述第一数据处理设备与所述DMA控制器通过所述第一子模块建立通信连接,所述DMA控制器与所述DMA搬移器通过所述第二子模块建立通信连接,所述第二数据处理设备与所述加速设备通过所述DMA搬移器实现数据搬移。
优选地,所述第二数据处理设备与所述加速设备通过所述DMA搬移器执行所述DMA控制器发送的描述符实现数据搬移。
优选地,所述DMA搬移器在基于所述DMA控制器发送的描述符完成数据搬移之后,将所述描述符的ID返还给所述DMA控制器,所述DMA控制器接收到所述ID后,向所述第一数据处理设备发送中断信号。
优选地,所述加速设备为GPGPU、Xeon Phi和FPGA中的任意一种。
本发明实施例所提供的DMA控制器,包括:反馈模块、描述符控制模块和数据接口模块;其中,数据接口模块包括第一子模块和第二子模块,第一子模块,用于与第一数据处理设备建立通信连接,第二子模块用于与DMA搬移器建立通信连接;描述符控制模块,用于接收第一数据处理设备发送的数据搬移请求,并解析数据搬移请求,获得描述符;将描述符发送给DMA搬移器,以使DMA搬移器基于描述符在第二数据处理设备和加速设备之间进行数据搬移;反馈模块,用于接收DMA搬移器反馈的搬移完成通知信息,并通知第一数据处理设备数据搬移已完成。
在该DMA控制器中,专门设置有用于与第一数据处理设备建立通信连接的第一子模块,以及专门设置有用于与DMA搬移器建立通信连接的第二子模块。且描述符控制模块,可接收第一数据处理设备发送的数据搬移请求,并解析数据搬移请求,获得描述符;将描述符发送给DMA搬移器。DMA搬移器接收到该描述符之后,便可基于描述符在第二数据处理设备和加速设备之间进行数据搬移,并在完成数据搬移之后,向DMA控制器发送搬移完成通知信息。在DMA控制器中的反馈模块接收DMA搬移器反馈的搬移完成通知信息,便可通知第一数据处理设备数据搬移已完成。也就是说,该DMA控制器可接收第二数据处理设备以外的第一数据处理设备发送的数据迁移请求,且基于该数据迁移请求最终实现第二数据处理设备与加速设备之间的数据迁移。如此,基于DMA控制器,第一数据处理设备便可令加速设备对第二数据处理设备中的相关计算进行加速处理,增大了DMA的灵活性。
相应地,本发明实施例还提供了与上述DMA设备相对应的异构加速系统,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种DMA控制器的结构示意图;
图2为本发明实施例中DMA控制器对数据搬移请求的处理流程示意图;
图3为本发明实施例中一种异构加速系统的结构示意图;
图4为本发明实施例中一种异构加速系统。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
需要说明的是,第一子模块和第二子模块中的第一和第二仅用于区别不同的接口模块,并非指接口模块之间具有次第、先后顺序或轻重程度等含义。具体的,第一子模块即指DMA设备中能够与第一数据处理设备建立通信连接的接口模块,第二子模块即指DMA设备中能够与DMA搬移器建立通信连接的接口模块。
相应的,第一处理设备和第二处理设备中的第一和第二仅用于区别两个涉及到的处理设备不为同一个处理设备。具体的,即第一处理设备为发送数据迁移请求的设备,而第二处理设备为数据加速处理过程中的被加速对象设备,如常见的基于FPGA的加速卡对CPU的数据处理进行加速,其中被加速对象设备即为CPU。
请参考图1,图1为本发明实施例中一种DMA控制器的结构示意图,该设备包括:
反馈模块100、描述符控制模块200和数据接口模块300;其中,数据接口模块包括第一子模块301和第二子模块302,第一子模块,用于与第一数据处理设备建立通信连接,第二子模块用于与DMA搬移器建立通信连接;描述符控制模块,用于接收第一数据处理设备发送的数据搬移请求,并解析数据搬移请求,获得描述符;将描述符发送给DMA搬移器,以使DMA搬移器基于描述符在第二数据处理设备和加速设备之间进行数据搬移;反馈模块,用于接收DMA搬移器反馈的搬移完成通知信息,并通知第一数据处理设备数据搬移已完成。
由于第一数据处理设备的类型可多样化,因而DMA搬移器中的第一子模块可为能够与不同的第一数据处理设备实现通信的模块,如PEIC模块、Avalon-MM模块和Avalon-ST模块中至少一种。即第一子模块内的通信协议可为PCIE、Avalon-MM和Avalon-ST中的至少一种。相应地,第二子模块为能够与DMA搬移器实现通信连接的模块即可,如,第二子模块为能够与使用PEIE接口进行通信的MDA搬移器建立通信的即可。具体的,第二子模块具体可以包括用于发送数据的发送单元和用于接收数据的接收单元。例如,在TX_ST(发送)端口和RX_ST(接收)端口相应实现数据发送和数据接收。
其中,描述符控制模块内可设置寄存器组,以便第一数据处理设备访问DMA控制器。
为了便于描述,下面以DMA控制器对数据搬移请求进行处理的整体过程为例,对DMA控制器进行详细说明。
请参考图2,图2为本发明实施例中DMA控制器对数据搬移请求的处理流程示意图。该数据请求处理过程,包括:
S101、接收第一数据处理设备发送的数据搬移请求,并解析数据搬移请求,获得进行数据搬移的描述符。
其中,第一数据处理设备可具体为用户逻辑master,如具有用户逻辑的常见设备(智能手机、CPU和智能图像/视频/语音采集设备等)。第一数据处理设备可通过第一子模块与DMA控制器建立通信连接。
DMA控制器接收到第一数据处理设备发送的数据搬移请求之后,可对数据搬移请求进行解析,解析得到数据搬移的描述符。其中,该描述符可具有唯一标识的ID,另外,在该描述符中,可记录待搬移的数据的源位置、目的位置和数据长度等常见用于进行数据搬移的信息。
S102、将描述符发送给DMA搬移器,以便搬移器利用描述符在第二数据处理设备和加速设备之间进行数据搬移。
得到描述符之后,可将描述符发送给DMA搬移器。该DMA搬移器可位于PCIE内部,DMA搬移器得到描述符之后,便将与之相连接第二数据处理设备和加速设备之间进行数据搬移。其中,加速设备可包括但不限于GPGPU、Xeon Phi和FPGA,GPGPU为最常见的加速卡,通过PCI-e(同PCIE)与第二数据处理设备相连;GPU最早为用于图形处理卡,即显卡,目前演变为加速卡;Xeon Phi为intel生产的协处理器,通过PCI-e与第二数据处理设备相连;FPGA加速卡以其硬件处理速度显著,同样为即插即用的加速卡。
具体的,被搬移的数据对象、以及数据搬移的方向均可从描述符中得知,关于如何基于描述符,实现第二数据处理设备与加速设备之间的数据搬移过程可参见常见的数据搬移过程,在此不再赘述。
在DMA搬移完成数据搬移之后,可向DMA控制器发送搬移完成通知信息。
S103、接收DMA搬移器反馈的搬移完成通知信息。
DMA控制器接收到DMA搬移器反馈的搬移完成通知信息。具体的,接收该通知的方式可具体为通过检测RX_ST接收端口的方式,得知DMA搬移器完成数据搬移信息。
S104、向第一数据处理设备发送数据搬移完成的通知消息。
在接收到搬移完成通知信息之后,便可向第一数据处理设备发送数据搬移晚点的通知消息。具体的,DMA控制器可利用反馈模块进行通知。具体的,反馈模块,具体用于以向第一数据处理设备发送中断信号的方式,通知第一数据处理设备数据搬移已完成。
在实际用于中,在本发明实施例所提供的DMA控制器,除可接收第一数据处理设备发送的数据搬移请求,还接收第二数据处理设备发出的数据搬移请求。具体的,可通过切换与第一子模块相连接的设备即可,如将第二数据处理设备与第一子模块接通便可实现目前常见的,以第二数据处理设备自身作为控制端,实现自身数据加速处理。
本发明实施例所提供的DMA控制器,包括:反馈模块、描述符控制模块和数据接口模块;其中,数据接口模块包括第一子模块和第二子模块,第一子模块,用于与第一数据处理设备建立通信连接,第二子模块用于与DMA搬移器建立通信连接;描述符控制模块,用于接收第一数据处理设备发送的数据搬移请求,并解析数据搬移请求,获得描述符;将描述符发送给DMA搬移器,以使DMA搬移器基于描述符在第二数据处理设备和加速设备之间进行数据搬移;反馈模块,用于接收DMA搬移器反馈的搬移完成通知信息,并通知第一数据处理设备数据搬移已完成。
在该DMA控制器中,专门设置有用于与第一数据处理设备建立通信连接的第一子模块,以及专门设置有用于与DMA搬移器建立通信连接的第二子模块。且描述符控制模块,可接收第一数据处理设备发送的数据搬移请求,并解析数据搬移请求,获得描述符;将描述符发送给DMA搬移器。DMA搬移器接收到该描述符之后,便可基于描述符在第二数据处理设备和加速设备之间进行数据搬移,并在完成数据搬移之后,向DMA控制器发送搬移完成通知信息。在DMA控制器中的反馈模块接收DMA搬移器反馈的搬移完成通知信息,便可通知第一数据处理设备数据搬移已完成。也就是说,该DMA控制器可接收第二数据处理设备以外的第一数据处理设备发送的数据迁移请求,且基于该数据迁移请求最终实现第二数据处理设备与加速设备之间的数据迁移。如此,基于DMA控制器,第一数据处理设备便可令加速设备对第二数据处理设备中的相关计算进行加速处理,增大了DMA的灵活性。
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
优选地,为了提高DMC控制器的处理速度,还可在本发明实施例中所提供的DMC控制器中增加多任务处理模块,使得DMC控制器可一次性处理批量的指令(描述符表)。即在DMC控制器中设置如下的多任务处理模块。该多任务处理模块包括:
描述表处理单元,用于接收DMA搬移器或发送的描述符表,并将描述符表内的描述符逐个读取后传递给缓存单元;
缓存单元,用于接收描述符,并按照接收顺序将描述符发送给DMA搬移器。
如此,便可针对描述符表进行数据搬移,即实现执行批量的指令,而无需数据迁移控制器多次输入指令或数据搬移请求,以简化数据处理流程。相应地,在执行批量指令时,需在完成所有的指令之后,再向第一数据处理设备发送数据搬移已完成的通知信息。具体的,即缓存单元,具体用于在搬移完成通知信息与描述符表中最后一个待执行的描述符匹配时,向第一数据处理设备发送数据搬移已完成的通知消息。
实施例二:
相应于上面的方法实施例,本发明实施例还提供了一种异构加速系统,下文描述的异构加速系统与上文描述的DMA控制器可相互对应参照。
请参考图3,图3为本发明实施例中一种异构加速系统的结构示意图,该系统,包括:
加速设备401、DMA搬移器402、第一数据处理设备403、第二数据处理设备400和如上述的DMA控制器404;
其中,第一数据处理设备与DMA控制器通过第一子模块301建立通信连接,DMA控制器与DMA搬移器通过第二子模块302建立通信连接,第二数据处理设备与加速设备通过DMA搬移器实现数据搬移。
其中,加速设备为GPGPU、Xeon Phi和FPGA中的任意一种。
其中,第二数据处理设备与加速设备通过DMA搬移器执行DMA控制器发送的描述符实现数据搬移。
其中,DMA搬移器在基于DMA控制器发送的描述符完成数据搬移之后,将描述符的ID返还给DMA控制器,DMA控制器接收到ID后,向第一数据处理设备发送中断信号。
应用本发明实施例所提供的加速异构系统,加速设备、DMA搬移器、第一数据处理设备、第二数据处理设备、和如上述的DMA控制器;其中,第一数据处理设备与DMA控制器通过第一子模块建立通信连接,DMA控制器与DMA搬移器通过第二子模块建立通信连接,第二数据处理设备与加速设备通过DMA搬移器实现数据搬移。
第一数据处理设备可向DMA控制器发送数据搬移请求,DMA控制器接收到数据搬移请求之后,对数据搬移请求进行解析,得到描述符,然后,将描述符发送给DMA搬移器。DMA搬移器接收到该描述符之后,便可基于描述符在第二数据处理设备和加速设备之间进行数据搬移,并在完成数据搬移之后,向DMA控制器发送搬移完成通知信息。在DMA控制器中的反馈模块接收DMA搬移器反馈的搬移完成通知信息,便可通知第一数据处理设备数据搬移已完成。也就是说,在本系统中,除第二数据处理设备以外的第一数据处理设备,可通过发送的数据迁移请求,最终实现第二数据处理设备与加速设备之间的数据迁移,进而达到数据处理的加速。如此,基于DMA控制器,第一数据处理设备便可令加速设备对第二数据处理设备中的相关计算进行加速处理,增大了DMA的灵活性。
实施例三:
为了便于本领域技术人员更好地理解本发明实施例所提供的技术方案,下面以具体的应用场景为例,对本发明实施例所提供的技术方案进行详细说明。
请参考图4,图4为本发明实施例中一种异构加速系统,其中,DCM(DescribeControl master,描述控制master模块)同上文中的反馈模块,DMS(Describe ControlService,描述控制master模块)同上文中的描述符控制模块,DTS(describe tableService,描述表服务模块),同上文中的描述表处理单元,FIFO(First in First out,在本文中为队列的具体实现),同上文中的缓存单元。
该DMA控制器独立于PCIE模块,且拥有多个独立的Avalon-MM和Avalon-ST接口(实现上文中的第一子模块的作用),各个接口对应的功能清晰,可以选择连接在PCIE的模块上,用于接收来自第二数据处理设备端的指令,也可以选择连接在其他用户逻辑上,用于接收来自用户逻辑的指令,这样就解决了master源单一的问题。
同时在DMA控制器内部设置存储描述符表的FIFO,这样可以执行单一指令(单一描述符),也可以执行批量的指令(描述符表),这样DMA控制器的效率和灵活性都大大增强。
DCS模块内部有一组寄存器,第二数据处理设备或者用户逻辑通过DCS模块访问寄存器,DCS模块根据寄存器的信息生成对应描述符,通过TX_ST端口发给DMA搬移器,DMA搬移器执行指令进行相关数据的搬移。如果要搬移的数据是一个描述符表(描述符的大小可与FIFO的大小向对应,例如,常见的FIFO的大小所对应的描述符表最多包含128个描述符,可以少于128个)内的某个描述符对应的数据,DMA搬移器会通过DTS模块将描述符表搬进DMA控制器内部的FIFO,然后FIFO会将描述符表中的每一个描述符通过TX_ST端口发给DMA搬移器执行,DMA搬移器执行完数据搬移后,会返回刚才执行完的描述符的ID,ID是每个描述符在描述符表中的标识。ID通过RX_ST端口发给DCM模块,DCM模块判断这是否是描述符表中的最后一个描述符,如果是最后一个,表示整个描述符表已经执行完,DCM会向第二数据处理设备或者用户逻辑发送中断,以告知本次的数据搬移已经执行完。
DMA控制器不再与PCIE模块绑定,可接收区别于第二数据处理设备的第一数据处理设备的数据迁移请求。通过切换与DMA控制器的第一子模块的设备,还可以接收来自第二数据处理设备的数据迁移请求,或接收非第二数据处理设备的其他具有用户逻辑的第一数据处理设备的数据迁移请求。另外,可以可执行单一描述符,也可以批量执行整个描述符表内描述符。
相比较与PCIE模块功能合并的DMA控制器,独立的DMA控制器的灵活性和可移植性以及可扩展性都大大增强。另外,独立的DMA控制器还可以作为独立的IP核,为加速卡的开发提供便利,缩短开发周期。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

Claims (10)

1.一种DMA控制器,其特征在于,包括:反馈模块、描述符控制模块和数据接口模块;
其中,所述数据接口模块包括第一子模块和第二子模块,所述第一子模块,用于与第一数据处理设备建立通信连接,所述第二子模块用于与DMA搬移器建立通信连接;
所述描述符控制模块,用于接收所述第一数据处理设备发送的数据搬移请求,并解析所述数据搬移请求,获得描述符;将所述描述符发送给所述DMA搬移器,以使所述DMA搬移器基于所述描述符在第二数据处理设备和加速设备之间进行数据搬移;
所述反馈模块,用于接收所述DMA搬移器反馈的搬移完成通知信息,并通知所述第一数据处理设备数据搬移已完成。
2.根据权利要求1所述的DMC控制器,其特征在于,所述反馈模块,具体用于以向所述第一数据处理设备发送中断信号的方式,通知所述第一数据处理设备数据搬移已完成。
3.根据权利要求1所述的DMC控制器,其特征在于,还包括:多任务处理模块,所述多任务处理模块包括:
描述表处理单元,用于接收所述DMA搬移器或发送的描述符表,并将所述描述符表内的描述符逐个读取后传递给所述缓存单元;
缓存单元,用于接收所述描述符,并按照接收顺序将所述描述符发送给所述DMA搬移器。
4.根据权利要求3所述的DMA控制器,其特征在于,所述缓存单元,具体用于在所述搬移完成通知信息与所述描述符表中最后一个待执行的描述符匹配时,向所述第一数据处理设备发送数据搬移已完成的通知消息。
5.根据权利要求1所述的DMA控制器,其特征在于,所述第二子模块包括用于发送数据的发送单元和用于接收数据的接收单元。
6.根据权利要求1至5任一项所述的DMA控制器,其特征在于,所述第一子模块的通信协议类型为PEIC、Avalon-MM和Avalon-ST中至少一种。
7.一种异构加速系统,其特征在于,包括:
第一数据处理设备、加速设备、DMA搬移器、第二数据处理设备和如权利要求1至6任一项所述的DMA控制器;
其中,所述第一数据处理设备与所述DMA控制器通过所述第一子模块建立通信连接,所述DMA控制器与所述DMA搬移器通过所述第二子模块建立通信连接,所述第二数据处理设备与所述加速设备通过所述DMA搬移器实现数据搬移。
8.根据权利要求7所述的异构加速系统,其特征在于,所述第二数据处理设备与所述加速设备通过所述DMA搬移器执行所述DMA控制器发送的描述符实现数据搬移。
9.根据权利要求8所述的异构加速系统,其特征在于,所述DMA搬移器在基于所述DMA控制器发送的描述符完成数据搬移之后,将所述描述符的ID返还给所述DMA控制器,所述DMA控制器接收到所述ID后,向所述第一数据处理设备发送中断信号。
10.根据权利要求7所述的异构加速系统,其特征在于,所述加速设备为GPGPU、XeonPhi和FPGA中的任意一种。
CN201910016298.8A 2019-01-08 2019-01-08 一种dma控制器和异构加速系统 Active CN109739786B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910016298.8A CN109739786B (zh) 2019-01-08 2019-01-08 一种dma控制器和异构加速系统
PCT/CN2019/103683 WO2020143237A1 (zh) 2019-01-08 2019-08-30 一种dma控制器和异构加速系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910016298.8A CN109739786B (zh) 2019-01-08 2019-01-08 一种dma控制器和异构加速系统

Publications (2)

Publication Number Publication Date
CN109739786A true CN109739786A (zh) 2019-05-10
CN109739786B CN109739786B (zh) 2022-02-18

Family

ID=66363809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910016298.8A Active CN109739786B (zh) 2019-01-08 2019-01-08 一种dma控制器和异构加速系统

Country Status (2)

Country Link
CN (1) CN109739786B (zh)
WO (1) WO2020143237A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190842A (zh) * 2019-12-30 2020-05-22 Oppo广东移动通信有限公司 直接存储器访问、处理器、电子设备和数据搬移方法
CN111367839A (zh) * 2020-02-21 2020-07-03 苏州浪潮智能科技有限公司 一种主机端与fpga加速器之间的数据同步方法
WO2020143237A1 (zh) * 2019-01-08 2020-07-16 郑州云海信息技术有限公司 一种dma控制器和异构加速系统
CN112115096A (zh) * 2020-09-16 2020-12-22 天津津航计算技术研究所 一种基于嵌入式微处理器的数据传输控制方法
CN112115082A (zh) * 2020-09-17 2020-12-22 盛科网络(苏州)有限公司 一种dma控制器及其数据传输方法
CN116112826A (zh) * 2023-01-06 2023-05-12 上海拿森汽车电子有限公司 一种sent数据采集方法、计算机设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599717B (zh) * 2022-11-15 2023-03-10 浪潮电子信息产业股份有限公司 一种数据搬移方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106164A (zh) * 2011-11-09 2013-05-15 深圳市德赛微电子技术有限公司 一种高效dma控制器
CN105323184A (zh) * 2015-10-08 2016-02-10 盛科网络(苏州)有限公司 节约ram资源实现流量统计的方法及装置
US9501436B1 (en) * 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
CN106547709A (zh) * 2016-11-24 2017-03-29 盛科网络(苏州)有限公司 灵活配置多通道dma控制器的方法及装置
CN106951388A (zh) * 2017-03-16 2017-07-14 湖南博匠信息科技有限公司 一种基于PCIe的DMA数据传输方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793342B (zh) * 2012-11-02 2017-02-08 中兴通讯股份有限公司 一种多通道直接内存存取dma控制器
CN107562659A (zh) * 2016-06-30 2018-01-09 中兴通讯股份有限公司 一种数据搬移装置及方法
CN109739786B (zh) * 2019-01-08 2022-02-18 郑州云海信息技术有限公司 一种dma控制器和异构加速系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106164A (zh) * 2011-11-09 2013-05-15 深圳市德赛微电子技术有限公司 一种高效dma控制器
US9501436B1 (en) * 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
CN105323184A (zh) * 2015-10-08 2016-02-10 盛科网络(苏州)有限公司 节约ram资源实现流量统计的方法及装置
CN106547709A (zh) * 2016-11-24 2017-03-29 盛科网络(苏州)有限公司 灵活配置多通道dma控制器的方法及装置
CN106951388A (zh) * 2017-03-16 2017-07-14 湖南博匠信息科技有限公司 一种基于PCIe的DMA数据传输方法及系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020143237A1 (zh) * 2019-01-08 2020-07-16 郑州云海信息技术有限公司 一种dma控制器和异构加速系统
CN111190842B (zh) * 2019-12-30 2021-07-20 Oppo广东移动通信有限公司 直接存储器访问、处理器、电子设备和数据搬移方法
CN111190842A (zh) * 2019-12-30 2020-05-22 Oppo广东移动通信有限公司 直接存储器访问、处理器、电子设备和数据搬移方法
JP7270113B2 (ja) 2020-02-21 2023-05-09 ▲蘇▼州浪潮智能科技有限公司 ホスト側とfpgaアクセラレータと間のデータ同期方法
CN111367839B (zh) * 2020-02-21 2021-06-29 苏州浪潮智能科技有限公司 一种主机端与fpga加速器之间的数据同步方法
WO2021164452A1 (zh) * 2020-02-21 2021-08-26 苏州浪潮智能科技有限公司 一种主机端与fpga加速器之间的数据同步方法
JP2022554039A (ja) * 2020-02-21 2022-12-27 ▲蘇▼州浪潮智能科技有限公司 ホスト側とfpgaアクセラレータと間のデータ同期方法
CN111367839A (zh) * 2020-02-21 2020-07-03 苏州浪潮智能科技有限公司 一种主机端与fpga加速器之间的数据同步方法
US11762790B2 (en) 2020-02-21 2023-09-19 Inspur Suzhou Intelligent Technology Co., Ltd. Method for data synchronization between host side and FPGA accelerator
CN112115096A (zh) * 2020-09-16 2020-12-22 天津津航计算技术研究所 一种基于嵌入式微处理器的数据传输控制方法
CN112115082A (zh) * 2020-09-17 2020-12-22 盛科网络(苏州)有限公司 一种dma控制器及其数据传输方法
CN116112826A (zh) * 2023-01-06 2023-05-12 上海拿森汽车电子有限公司 一种sent数据采集方法、计算机设备和存储介质
CN116112826B (zh) * 2023-01-06 2024-03-26 上海拿森汽车电子有限公司 一种sent数据采集方法、计算机设备和存储介质

Also Published As

Publication number Publication date
WO2020143237A1 (zh) 2020-07-16
CN109739786B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN109739786A (zh) 一种dma控制器和异构加速系统
Forencich et al. Corundum: An open-source 100-gbps nic
US6233643B1 (en) Apparatus including a host processor and communications adapters interconnected with a bus
US9710410B2 (en) Camera control slave devices with multiple slave device identifiers
CN103440219B (zh) 一种通用总线转换桥ip核
CN102185833B (zh) 一种基于fpga的fc i/o并行处理方法
CN101061468A (zh) 用于扩展串行外围接口的系统、方法和设备
CN109710548A (zh) 一种dma控制数据传输方法、系统及设备
CN105786752B (zh) 一种计算设备与fpga间的usb通信方法和通信系统
JP5194014B2 (ja) データワードストリーム処理装置
JPS58501923A (ja) サブシステムコントロ−ラのためのインタ−フェイス回路
CN103595598A (zh) 一种基于光纤的远程透明传输串口服务器及其控制模式
CN111338808B (zh) 一种协同计算方法及系统
CN110636139A (zh) 一种云负载均衡的优化方法及系统
CN110188059A (zh) 数据有效位统一配置的流控式fifo缓存结构及方法
CN102739486B (zh) 一种同步数据传输总线系统及方法
CN102207920A (zh) 一种bvci总线到ahb总线的转换桥
US6178180B1 (en) Communications adapter for processing ATM and ISDN data
EP0270896B1 (en) Data link and method of transferring data for personal computer system
EP3686738A1 (en) Device and method for accelerating graphics processor units, and computer readable storage medium
CN110113209A (zh) 基于mipi协议的设备间通信方法及设备拓扑结构
CN114513383B (zh) 基于原始套接字的实时以太网现场总线数据包处理方法
CN114445260A (zh) 基于fpga的分布式gpu通信的方法及装置
CN109189711B (zh) 基于以太网的串行控制台接口及其应用方法
CN109918325A (zh) 基于Avalon总线的接口转换桥、接口转换方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant