CN112749112A - 一种硬件流水结构 - Google Patents

一种硬件流水结构 Download PDF

Info

Publication number
CN112749112A
CN112749112A CN202011636972.1A CN202011636972A CN112749112A CN 112749112 A CN112749112 A CN 112749112A CN 202011636972 A CN202011636972 A CN 202011636972A CN 112749112 A CN112749112 A CN 112749112A
Authority
CN
China
Prior art keywords
dma
flow control
fifo
data
hardware
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
CN202011636972.1A
Other languages
English (en)
Other versions
CN112749112B (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.)
Wuxi Zhongxing Microsystem Technology Co ltd
Original Assignee
Wuxi Zhongxing Microsystem 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 Wuxi Zhongxing Microsystem Technology Co ltd filed Critical Wuxi Zhongxing Microsystem Technology Co ltd
Priority to CN202011636972.1A priority Critical patent/CN112749112B/zh
Publication of CN112749112A publication Critical patent/CN112749112A/zh
Application granted granted Critical
Publication of CN112749112B publication Critical patent/CN112749112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • Image Processing (AREA)

Abstract

本发明提供了一种硬件流水结构,包括多个DMA组和硬件加速单元组。所述DMA组包括对称的两个DMA,分别将数据流控制链表搬入对应的流控FIFO进行独立处理;多个流控FIFO用于控制对应DMA的逐步执行;控制状态机,用于通过解析流控信息实现控制和数据流水过程;硬件加速单元组包括输入FIFO,用于按序接收由所述DMA执行的流控FIFO中的控制信息,硬件加速单元,用于对来自输入FIFO中的数据进行并行处理;输出FIFO,用于保存所述硬件加速单元处理后的数据,按序搬移到预先确定的位置。本发明的硬件流水结构利用硬件流水自动完成,提高了数据流水的速度与效率。

Description

一种硬件流水结构
技术领域
本发明属于芯片设计领域,特别涉及一种硬件流水结构。
背景技术
在芯片开发设计的过程中,对多个硬件加速单元并行工作的数据流处理始终是一个非常棘手的问题。要保证硬件加速单元并行工作,需要有效的数据准备和调度手段。现有技术主要从三个方面来改进:软硬件协同优化、提高系统带宽和并行度,以及提高运行频率。其中系统带宽和并行度由硬件本身的局限和成本开销决定;而运行频率受制于芯片复杂度、工艺和功耗的影响已经达到极限。对于软硬件协同优化,例如在芯片中,受芯片成本和数据放置位置的限制,硬件加速单元不可能近距离获得大块保存数据的区域,而是需要从其他位置连续搬入数据到缓存之中,典型做法是将数据搬入硬件加速单元的缓存中,经过处理的数据从缓存中移除到需要保存的地址空间中,然后处理下一批数据,如此循环直到所有数据处理完毕。但数据的搬移效率又受限于芯片系统的整体带宽和硬件开销。如果仅靠软件组织和准备数据,上述数据的搬移显然会拖慢处理过程,一是由于软件无法快速响应,二是无法形成流水操作,大量时间浪费在软件和硬件加速单元之间的交互之上。一旦软硬件之间在整个数据处理过程中存在交互,则已形成的节拍会被打断,而且由于软件响应相比于硬件响应非常缓慢,效率会因此大幅降低。DMA的出现和引入对降低软件载荷和提高数据搬移效率起到了很大帮助,但DMA的调度和控制依然是一个无法回避的问题,如果DMA的每次操作都需要软件的参与,实质上依然无法形成有效流水,从而降低整个过程中的效率。
发明内容
本发明的目的在于提出一种高效快速的硬件流水结构,有效解决数据流水的调度和分配的问题。
根据本发明的第一方面,一种硬件流水结构包括多个DMA组和硬件加速单元组,所述DMA组包括:
对称的两个DMA,分别将数据流控制链表搬入对应的流控FIFO进行独立处理;
与所述每个DMA相对应的多个流控FIFO,用于控制对应DMA的逐步执行;
与所述每个DMA相对应的控制状态机,用于通过解析流控信息,实现控制和数据流水过程;
所述硬件加速单元组包括:
输入FIFO,用于按序接收由所述DMA执行的流控FIFO中的控制信息,
硬件加速单元,用于对来自所述输入FIFO中的数据进行并行处理;
输出FIFO,用于保存所述硬件加速单元处理后的数据,按序搬移到预先确定的位置。
优选地,所述两个DMA包括至少一个链表搬移DMA和至少一个数据搬移DMA,所述链表搬移DMA用于将链表信息搬移到流控FIFO,所述数据搬移DMA用于执行数据搬移。
优选地,所述控制状态机进一步被配置为,在流控FIFO中的当前控制信息搬移完成时,如果控制链表中的控制信息不是最后一条,则控制所述DMA继续搬取剩余的控制信息到流控FIFO中。
优选地,所述DMA组进一步包括:
与所述多个流控FIFO的栈结构,用于保存和恢复每个流控FIFO的执行过程。
优选地,所述DMA组进一步包括:
复用电路,用于控制当前流控FIFO进入控制状态寄存器,以实现多个流控FIFO的分时复用。
优选地,进一步包括存储空间,用于存储DMA的链表信息和硬件加速单元处理前后的数据。
优选地,所述DMA组通过外部总线访问所述存储空间。
优选地,所述DMA通过内部总线访问所述流控FIFO和所述硬件加速单元。
优选地,所述硬件加速单元包括运算协处理单元,或乘法单元。
优选地,所述两个DMA进一步配置为,第一DMA在获得初始指针并启动之后,将链表信息搬移到流控FIFO中,在执行流控FIFO的过程中,获取第二DMA的流控信息指针并将流控信息搬移到第二DMA中的流控FIFO中,以启动第二DMA,所述第二DMA的流控信息用于执行数据搬移。
相比于现有技术,本发明具有以下优点:
本发明的硬件流水结构利用多组DMA以及链表和硬件加速单元进行控制,只需要软件预先进行链表构造,利用硬件流水自动完成,极大地提高了数据流水的速度与效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明的硬件流水结构的示意图。
图2示出了根据本发明的流水结构的流水控制过程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明设计了一种高效快速的硬件流水结构,利用软件预先构造流控FIFO和数据流控制链表,利用DMA逐步将数据流控制链表搬入对应的流控FIFO中,流控FIFO为状态机提供控制信息,状态机再按序解析流控FIFO中的数据流控制链表,控制DMA按需求将数据搬入硬件加速单元输入FIFO中。在硬件加速单元完成数据处理并输出到输出FIFO后,再以同样方式将数据搬出,整个处理过程在数据流控制链表构造完成后完全由硬件主动完成,不再需要软件参与。为了提高DMA处理效率,同时采用对称的两个DMA组,实现控制流和数据流的有效分离,利用一个DMA搬移数据的同时,控制另一个DMA为其准备下一步操作,如此交替进行,进一步提高效率。
本发明具体的实现结构如图1所示,其硬件流水结构总体包括上连DMA组G0、硬件加速单元组G1和下连DMA组G2。
上连DMA组G0用于实现将数据由外部总线指定的位置搬移到硬件加速单元组的输入FIFO的功能,其中由两个DMA组成,一个DMA将链表信息搬移到流控FIFO中,称为链表搬移DMA,另一个DMA用于执行数据搬移,称为数据搬移DMA。
硬件加速单元组G1用于对输入FIFO中的数据进行并行处理,并输出到输出FIFO中。硬件加速单元可以为任意的硬件处理单元,如运算协处理单元,乘法单元等。
下连DMA组G2用于实现将数据由硬件加速单元组的输出FIFO搬移到外部总线指定位置的功能,其中由两个DMA组成,类似地,一个DMA将链表信息搬移到流控FIFO中,称为链表搬移DMA,另一个DMA用于执行数据搬移,称为数据搬移DMA。
所述上连DMA组包括两个控制状态机C0,用于接收并解析对应的流控FIFO中的控制信息,以对相对应的DMA进行控制,同时以出入栈的形式记录当前每一条流控FIFO执行的过程。只有当流控FIFO中的控制过程执行完毕,而且链表中的流控信息不是最后一条时,控制DMA继续搬取剩余的控制信息到流控FIFO中。
其中,所述上连DMA组所包括的两个DMA C1采用同样的对称设计和结构,所执行的具体功能由对应的流控FIFO中的控制信息实现。如上所述,其中一个DMA用于将链表信息搬移到流控FIFO中,另一个DMA主要执行数据搬移,所以其中一个DMA在获得初始指针并启动之后,先将对应的控制信息搬入流控FIFO中,在执行流控FIFO的过程中,获得另一个DMA的流控信息指针并将流控信息搬移到另一个DMA中的流控FIFO中,从而启动另一个DMA,另一个DMA的流控信息主要就是进行数据搬移,按序类推,逐步执行,直到所有数据被搬移完毕。所述控制状态机C0解析流控FIFO中的信息后,通过控制接口C2对DMA进行控制。
所述上连DMA组的两个控制状态机之间通过控制接口C4进行交互。由于其中的一个DMA为自己搬移链表,也为另外一个DMA搬移链表,所以需要知道对方执行的情况,同时预先将链表准备到流控FIFO中,同时执行数据搬移的DMA也需要知道另一个DMA的状态进行必要的同步等。
所述硬件流水结构进一步包括芯片存储空间C5,用于存储DMA的链表信息和硬件加速单元需要的数据以及数据处理结束之后的数据,其可以是芯片内指定的存储空间也可以是片外存储空间,所述存储空间的实际地址和位置由于DMA的调度和分配可能不同。
所述上连DMA组包括为外部总线路由C6和内部总线路由C9,上连DMA组和下连DMA组中的DMA都可以通过外部总线路由访问指定的存储空间;上连DMA组的DMA可以通过总线C7经外部总线访问指定的存储空间,通过总线C8访问内部的指定空间,例如流控FIFO,硬件加速单元的输入FIFO等。
DMA可以经内部总线路由后,通过内部总线路由到流控FIFO的访问总线C10进行流控FIFO的更新。每条流控FIFO对应不同的控制通道,一个完整的过程就是在获得对应的流控FIFO的链表指针后,流控FIFO的解复用电路C11将链表指针所在的信息搬移到流控FIFO中。
所述上连DMA组进一步包括单个DMA对应的n+1条流控FIFO C12,用于保存DMA的由链表指针指定的流控信息;控制状态机通过与对应流控FIFO和栈管理器的控制接口C3,逐个获取流控FIFO中的信息,控制对应的DMA执行,然后通过栈管理器记录中间过程转移到下一条流控FIFO继续解析并执行,直到对应的每条流控FIFO执行完毕。
所述上连DMA组进一步包括对应的n+1个流控FIFO的栈管理器C13,用于保存对应的流控FIFO的中间执行过程和状态,保证控制状态机在返回执行该条流控FIFO时,从对应的栈信息中恢复并执行。每条流控FIFO其实是分时复用执行的,复用电路C14控制当前的流控FIFO进入控制状态寄存器。
所述硬件加速单元组G1包括对应的n+1个硬件加速单元C16,硬件加速单元可以是现有技术中任何数据处理单元、电路或者结构等。本发明针对数据流的具体实现和处理,所以对硬件加速单元不做具体约束。硬件加速单元对应的n+1个输入FIFO C15的数据由对应DMA在执行流控FIFO中的控制信息之后连续按序搬入,直到所有数据处理完毕。硬件加速单元对应的n+1个输出FIFO C17用于保存硬件加速单元处理之后的数据,并最终由DMA在执行流控FIFO中的控制信息之后,按序连续搬移到指定位置,直到所有数据处理完毕。
类似的,所述下连DMA组C2包括控制状态机C18,用于接收并解析对应的流控FIFO中的控制信息,以对相对应的DMA进行控制,同时以出入栈的形式记录当前每一条流控FIFO执行的过程,只有当流控FIFO中的控制过程执行完毕,而且FIFO中的流控信息不是最后一条时,控制DMA继续搬取剩余的控制信息到流控FIFO中。
所述下连DMA组C2也包括两个DMA C20,采用与上连DMA组相同的对称设计和结构,所执行的具体功能由对应的流控FIFO中的控制信息实现。其中一个DMA用于将链表信息搬移到流控FIFO中,另一个DMA执行数据搬移,所以其中一个DMA在获得初始指针并启动之后,先将对应的控制信息搬入一个流控FIFO中,在执行该流控FIFO的过程中,获得另一个DMA的流控信息指针并将流控信息搬移到另一个DMA中的流控FIFO中,从而启动另一个DMA,另一个DMA的流控信息主要就是进行数据搬移,按序类推,逐步执行,直到所有数据被搬移完毕。控制状态机C18解析流控FIFO中的信息后通过与对应的DMA的控制接口C19对DMA进行控制。
所述下连DMA组C2中的两个控制状态机之间通过控制接口C21进行交互,由于其中的一个DMA为自己搬移链表,也为另外一个DMA搬移链表,所以需要知道对方执行的情况,同时预先将链表准备到流控FIFO中,而执行数据搬移的DMA也需要知道另一个DMA的状态进行必要的同步等。
所述下连DMA组C2中的DMA可以通过总线C22经外部总线访问指定的存储空间。
所述下连DMA组C2进一步包括外部总线路由C23和内部总线路由C25,上连DMA组和下连DMA组中的DMA都可以通过外部总线路由访问指定的存储空间;DMA通过内部总线路由,DMA通过总线C24可以访问内部不同的空间,例如流控FIFO,硬件加速单元的输出FIFO等。
所述下连DMA组进一步包括单个DMA对应的n+1条流控FIFO C27,用于保存DMA的由链表指针指定的流控信息。所述下连DMA组进一步包括但个DMA对应的流控FIFO的栈管理器C28,用于保存对应的流控FIFO的中间执行过程和状态,保证控制状态机在返回执行该条流控FIFO时从对应的栈信息中恢复并执行。每条流控FIFO对应不同的控制通道,由此流控FIFO解复用电路C26用于将链表信息搬移到对应的流控FIFO中。
每条流控FIFO其实是分时复用执行的,下连DMA组中的DMA复用电路C29控制当前的流控FIFO进入控制状态寄存器。
所述下连DMA组中的控制状态机通过与对应的流控FIFO和栈管理器的控制接口C30,逐个获取流控FIFO中的信息,控制对应的DMA执行之后通过栈管理器记录中间过程转移到下一条流控FIFO继续解析并执行,直到对应的每条流控FIFO被执行完毕。
通过上述硬件流水结构,利用多组DMA以及链表和硬件加速单元进行控制,在准备好控制链表之后,按序执行流控FIFO中控制信息,同时采取出入栈的管理方式保存或者恢复每一次流控操作,直到所有操作执行完毕。整个过程只需要软件在开始之前进行链表构造,然后利用硬件流水自动完成,极大地提高了数据流水的速度与效率。
需要说明的是,图1所示的硬件流水结构仅用于说明而非限定本发明的技术方案。本领域技术人员应当理解,在本发明基础上可以根据实际需要而对DMA分组数量和组内数量等做出容易想到的任意调整,以实现多次任意位置和任意数目的数据搬移。同样地,本领域技术人员应当理解,上述流水结构不依赖于硬件加速单元和对应的输入FIFO、输出FIFO而存在,因为上述硬件加速单元和对应的输入、输出FIFO可以对应于任意可以访问的存储空间。可选地,上述流控FIFO和栈管理器可以被移除,即流控方式可以用简单链表格式以固定方式实现,而不需要复杂的流控FIFO和栈管理器结构。而总线或总线路由可以用其他数据通路形式存在。总之,以上描述的结构仅为举例说明,不应将本发明限于上述示例的具体结构、参数或功能。
基于图1所示的上述硬件流水结构,图2为一个控制流水过程的流程图,该过程包括以下步骤:
步骤S0:控制流水过程开始;
步骤S1:通过软件构造DMA控制链表。
所述构造控制链表,包括构造不同DMA的流控FIFO的控制信息。链表搬移DMA启动并开始将对应链表搬移到流控FIFO,数据搬移DMA在获得流控FIFO中的控制信息后启动数据搬移。
步骤S2:通过软件指定上连和下连DMA组中的链表搬移DMA和数据搬移DMA,并指定链表搬移DMA的初始链表指针。
由于每组中的两个DMA采用相同的对称结构,区别仅在于执行的链表内容不同,以及进入各个DMA中的流控FIFO信息不同,所以软件需要指定链表搬移DMA的初始链表指针,由链表搬移DMA开始触发控制流。
步骤S3:软件使能上连和下连链表搬移DMA和硬件加速单元。
将上述使能控制打开之后,硬件流水结构即以设定的链表模式开始流水操作。
在步骤S3后,并行执行步骤S4.0,S4.1,S4.2的硬件过程:
步骤S4.0:上连链表搬移DMA根据指针指定的位置将控制信息搬移到流控FIFO中,然后执行步骤S5.0,为数据搬移DMA准备流控FIFO;
步骤S4.1:下连链表搬移DMA根据指针指定的位置将控制信息搬移到流控FIFO中,然后执行步骤S5.1,为数据搬移DMA准备流控FIFO;
步骤S4.2:如果输入FIFO中数据为空,硬件加速单元保持等待,否则,如果输入FIFO的数据准备好,则执行步骤S6.2;
步骤S5.0:上连链表搬移DMA执行流控FIFO中的一条控制信息,为上连数据搬移DMA准备流控FIFO中的一条控制信息,然后执行步骤S6.0检查链表是否搬移结束,同时,当上连数据搬移DMA在获得流控FIFO中的信息时,执行步骤S6.1;
步骤S5.1:下连链表搬移DMA执行流控FIFO中的一条控制信息,为下连数据搬移DMA准备流控FIFO中的一条控制信息,然后执行步骤S9.0,检查链表是否搬移结束,同时,当下连数据搬移DMA在获得流控FIFO中的信息时,执行步骤S8.1;
步骤S6.0:上连链表搬移DMA检查链表执行是否结束,如果未结束,则返回步骤S4.0继续链表搬移过程,如果结束,则执行步骤S7.0结束上连链表搬移DMA的操作;
步骤S6.1:上连数据搬移DMA执行流控FIFO中的一条控制信息,将数据写入硬件加速单元的输入FIFO中。在硬件加速单元获得输入FIFO数据后,执行步骤S6.2的启动操作,同时上连数据搬移DMA执行步骤S7.1,检查数据搬移是否结束;
步骤S6.2:硬件加速单元启动,并将处理后的数据写入输出FIFO,然后执行步骤S7.2,检查数据处理是否结束;
步骤S7.0:上连链表搬移DMA结束;
步骤S7.1:上连数据搬移DMA检查流控FIFO是否执行结束,如果未结束,则返回步骤S6.1继续数据搬移,如果结束,则执行步骤S8.0结束上连数据搬移DMA操作;
步骤S7.2:硬件加速单元检查数据处理是否结束,如果未结束,则返回步骤S6.2继续数据处理,如果结束,则执行步骤S8.2结束数据处理;
步骤S8.0:上连数据搬移DMA结束操作;
步骤S8.1:下连数据搬移DMA执行流控FIFO中的一条控制信息,将数据从硬件加速单元的输出FIFO中搬出;然后执行步骤S9.1检查流控FIFO是否结束;
步骤S9:下连链表搬移DMA检查链表执行是否结束,如果未结束,则返回步骤S5.1继续链表搬移过程,如果结束,则执行步骤S10.0结束下连链表搬移DMA的操作;
步骤S9.1:下连数据搬移DMA检查流控FIFO是否执行结束,如果未结束,则返回步骤S8.1继续数据搬移,如果结束,则执行步骤S10.1结束上连数据搬移DMA操作;
步骤S10.0:下连链表搬移DMA结束;
步骤S10.1:下连数据搬移DMA结束;
步骤S11:控制流水过程结束。
此外,本领域技术人员可以理解,图2所示的流程仅为举例说明,并不构成对本发明在细节上的限定。例如链表和流控方式可以用其他控制形式来实现,例如直接通过状态机控制。本领域技术人员还应理解,除芯片设计之外,本发明的实质方案同样适用于类似的设计场景,诸如FPGA,CPLD设计等。
从上述流程可以看出,本发明在由软件准备好控制链表之后,按序执行流控FIFO中控制信息,链表搬移和数据搬移操作交替执行,直到所有任务执行完毕,整个过程利用硬件流水自动完成,中间无需软件参与,极大地提高了数据流水的速度与效率。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种硬件流水结构,包括多个DMA组和硬件加速单元组,其特征在于:
所述DMA组包括:
对称的两个DMA,分别将数据流控制链表搬入对应的流控FIFO进行独立处理;
与所述每个DMA相对应的多个流控FIFO,用于控制对应DMA的逐步执行;
与所述每个DMA相对应的控制状态机,用于通过解析流控信息,实现控制和数据流水过程;
所述硬件加速单元组包括:
输入FIFO,用于按序接收由所述DMA执行的流控FIFO中的控制信息,
硬件加速单元,用于对来自所述输入FIFO中的数据进行并行处理;
输出FIFO,用于保存所述硬件加速单元处理后的数据,按序搬移到预先确定的位置。
2.根据权利要求1所述的硬件流水结构,其特征在于,所述两个DMA包括至少一个链表搬移DMA和至少一个数据搬移DMA,所述链表搬移DMA用于将链表信息搬移到流控FIFO,所述数据搬移DMA用于执行数据搬移。
3.根据权利要求1所述的硬件流水结构,其特征在于,所述控制状态机进一步被配置为,在流控FIFO中的当前控制信息搬移完成时,如果控制链表中的控制信息不是最后一条,则控制所述DMA继续搬取剩余的控制信息到流控FIFO中。
4.根据权利要求1所述的硬件流水结构,其特征在于,所述DMA组进一步包括:
与所述多个流控FIFO的栈结构,用于保存和恢复每个流控FIFO的执行过程。
5.根据权利要求4所述的硬件流水结构,其特征在于,所述DMA组进一步包括:
复用电路,用于控制当前流控FIFO进入控制状态寄存器,以实现多个流控FIFO的分时复用。
6.根据权利要求1所述的硬件流水结构,其特征在于,进一步包括存储空间,用于存储DMA的链表信息和硬件加速单元处理前后的数据。
7.根据权利要求6所述的硬件流水结构,其特征在于,所述DMA组通过外部总线访问所述存储空间。
8.根据权利要求1所述的硬件流水结构,其特征在于,所述DMA通过内部总线访问所述流控FIFO和所述硬件加速单元。
9.根据权利要求1所述的硬件流水结构,其特征在于,所述硬件加速单元包括运算协处理单元,或乘法单元。
10.根据权利要求1所述的硬件流水结构,其特征在于,所述两个DMA进一步配置为,第一DMA在获得初始指针并启动之后,将链表信息搬移到流控FIFO中,在执行流控FIFO的过程中,获取第二DMA的流控信息指针并将流控信息搬移到第二DMA中的流控FIFO中,以启动第二DMA,所述第二DMA的流控信息用于执行数据搬移。
CN202011636972.1A 2020-12-31 2020-12-31 一种硬件流水结构 Active CN112749112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011636972.1A CN112749112B (zh) 2020-12-31 2020-12-31 一种硬件流水结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011636972.1A CN112749112B (zh) 2020-12-31 2020-12-31 一种硬件流水结构

Publications (2)

Publication Number Publication Date
CN112749112A true CN112749112A (zh) 2021-05-04
CN112749112B CN112749112B (zh) 2021-12-24

Family

ID=75651113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011636972.1A Active CN112749112B (zh) 2020-12-31 2020-12-31 一种硬件流水结构

Country Status (1)

Country Link
CN (1) CN112749112B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342721A (zh) * 2021-07-06 2021-09-03 无锡众星微系统技术有限公司 存储控制器dma设计方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173939A (ja) * 1991-12-24 1993-07-13 Nec Corp マルチマイクロプロセッサシステムの障害保守方式
US20030074502A1 (en) * 2001-10-15 2003-04-17 Eliel Louzoun Communication between two embedded processors
CN1641614A (zh) * 2004-01-16 2005-07-20 株式会社东芝 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路
JP2005293435A (ja) * 2004-04-05 2005-10-20 Konica Minolta Business Technologies Inc データ転送装置およびその設定方法
KR100758272B1 (ko) * 2006-04-26 2007-09-12 한국전자통신연구원 데이터 무 복사 파일 이동 방법
CN102567256A (zh) * 2011-12-16 2012-07-11 龙芯中科技术有限公司 处理器系统及其多通道内存拷贝dma加速器和方法
CN102650976A (zh) * 2012-04-01 2012-08-29 中国科学院计算技术研究所 一种支持单根io虚拟化用户级接口控制装置及其方法
CN103714027A (zh) * 2014-01-10 2014-04-09 浪潮(北京)电子信息产业有限公司 一种直接内存存取控制器的数据传输方法及装置
CN103888293A (zh) * 2014-02-25 2014-06-25 电子科技大学 多通道fc网络数据仿真系统的数据通道调度方法
US20170039150A1 (en) * 2015-08-03 2017-02-09 Pure Storage, Inc. Emulating a remote direct memory access ('rdma') link between controllers in a storage array
CN106502935A (zh) * 2016-11-04 2017-03-15 郑州云海信息技术有限公司 Fpga异构加速系统、数据传输方法及fpga
CN108228498A (zh) * 2017-12-21 2018-06-29 深圳开阳电子股份有限公司 一种dma控制装置和图像处理器
CN110188059A (zh) * 2019-05-17 2019-08-30 西安微电子技术研究所 数据有效位统一配置的流控式fifo缓存结构及方法
CN111459879A (zh) * 2020-06-02 2020-07-28 浙江欣奕华智能科技有限公司 一种数据处理方法和片上系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05173939A (ja) * 1991-12-24 1993-07-13 Nec Corp マルチマイクロプロセッサシステムの障害保守方式
US20030074502A1 (en) * 2001-10-15 2003-04-17 Eliel Louzoun Communication between two embedded processors
CN1641614A (zh) * 2004-01-16 2005-07-20 株式会社东芝 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路
JP2005293435A (ja) * 2004-04-05 2005-10-20 Konica Minolta Business Technologies Inc データ転送装置およびその設定方法
KR100758272B1 (ko) * 2006-04-26 2007-09-12 한국전자통신연구원 데이터 무 복사 파일 이동 방법
CN102567256A (zh) * 2011-12-16 2012-07-11 龙芯中科技术有限公司 处理器系统及其多通道内存拷贝dma加速器和方法
CN102650976A (zh) * 2012-04-01 2012-08-29 中国科学院计算技术研究所 一种支持单根io虚拟化用户级接口控制装置及其方法
CN103714027A (zh) * 2014-01-10 2014-04-09 浪潮(北京)电子信息产业有限公司 一种直接内存存取控制器的数据传输方法及装置
CN103888293A (zh) * 2014-02-25 2014-06-25 电子科技大学 多通道fc网络数据仿真系统的数据通道调度方法
US20170039150A1 (en) * 2015-08-03 2017-02-09 Pure Storage, Inc. Emulating a remote direct memory access ('rdma') link between controllers in a storage array
CN106502935A (zh) * 2016-11-04 2017-03-15 郑州云海信息技术有限公司 Fpga异构加速系统、数据传输方法及fpga
CN108228498A (zh) * 2017-12-21 2018-06-29 深圳开阳电子股份有限公司 一种dma控制装置和图像处理器
CN110188059A (zh) * 2019-05-17 2019-08-30 西安微电子技术研究所 数据有效位统一配置的流控式fifo缓存结构及方法
CN111459879A (zh) * 2020-06-02 2020-07-28 浙江欣奕华智能科技有限公司 一种数据处理方法和片上系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
L. ROTA: ""PCIe DMA Architecture for Multi-Gigabyte Per Second Data Transmission"", 《N IEEE TRANSACTIONS ON NUCLEAR SCIENCE》 *
余再祥: ""DMA并行传输机制的设计与实现", 《微电子学与计算机》 *
石文侠: ""一种支持全双工数据传输的多通道DMA控制器设计"", 《微电子学与计算机》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342721A (zh) * 2021-07-06 2021-09-03 无锡众星微系统技术有限公司 存储控制器dma设计方法
CN113342721B (zh) * 2021-07-06 2022-09-23 无锡众星微系统技术有限公司 存储控制器dma设计方法

Also Published As

Publication number Publication date
CN112749112B (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
CN106790599B (zh) 一种基于多核无锁环形缓冲区的共生虚拟机通信方法
US8984494B1 (en) Scheduling generated code based on target characteristics
JP6103647B2 (ja) プロセッサシステム及びアクセラレータ
US8990783B1 (en) Scheduling generated code based on target characteristics
CN110187965B (zh) 神经网络的运行优化及数据处理方法、设备及存储介质
US20110265093A1 (en) Computer System and Program Product
CN105183698A (zh) 一种基于多核dsp的控制处理系统和方法
US8832712B2 (en) System and method for synchronizing threads using shared memory having different buffer portions for local and remote cores in a multi-processor system
TW202029064A (zh) 多路徑神經網路、資源配置的方法及多路徑神經網路分析器
US9274831B2 (en) Information processing apparatus, information processing method, and storage medium
CN112749112B (zh) 一种硬件流水结构
US6813703B2 (en) Emulation system for data-driven processor
CN111694675A (zh) 任务调度方法及装置、存储介质
US11467836B2 (en) Executing cross-core copy instructions in an accelerator to temporarily store an operand that cannot be accommodated by on-chip memory of a primary core into a secondary core
CN111404818A (zh) 一种面向通用多核网络处理器的路由协议优化方法
CN107943592A (zh) 一种面向gpu集群环境的避免gpu资源争用的方法
CN109558226B (zh) 一种基于核间中断的dsp多核并行计算调度方法
CN114356534B (zh) 一种处理单元任务调度方法和装置
CN114371920A (zh) 一种基于图形处理器加速优化的网络功能虚拟化系统
CN116306424A (zh) 一种基于可调级数裕量改进的动态扩增逐层优化算法的pisa架构芯片资源排布方法
EP4142217A1 (en) Inter-node communication method and device based on multiple processing nodes
CN109426529A (zh) 基于x窗口系统图形绘制的方法、装置及终端
Teimouri et al. Alleviating scalability limitation of accelerator-based platforms
Keller et al. Overview of Rediflow II development
CN113992941B (zh) 基于无服务器函数计算的云边协同视频分析系统与方法

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