CN105389277A - Gpdsp中面向科学计算的高性能dma部件 - Google Patents

Gpdsp中面向科学计算的高性能dma部件 Download PDF

Info

Publication number
CN105389277A
CN105389277A CN201510718802.0A CN201510718802A CN105389277A CN 105389277 A CN105389277 A CN 105389277A CN 201510718802 A CN201510718802 A CN 201510718802A CN 105389277 A CN105389277 A CN 105389277A
Authority
CN
China
Prior art keywords
dma
core
read
data
write
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
CN201510718802.0A
Other languages
English (en)
Other versions
CN105389277B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201510718802.0A priority Critical patent/CN105389277B/zh
Publication of CN105389277A publication Critical patent/CN105389277A/zh
Application granted granted Critical
Publication of CN105389277B publication Critical patent/CN105389277B/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
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA

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

本发明公开了一种GPDSP中面向科学计算的高性能DMA部件,其包括:主机部分,用来根据配置的传输参数完成读写请求计算,包括逻辑通道控制器和2个通用物理通道;从机部分,用来同时为DMA做主机读核外存储体数据返回核内存储体时提供通道以及核外设备读写核内存储体提供通道;它包含缓存核外读写请求的FIFO、专用通道仲裁器、矩阵转置模块、读写AM专用通道、读写SM专用通道;当访问核内的请求从读写请求FIFO中流出后,专用通道仲裁器根据请求包的标志信号和目的地址将请求发往不同模块;总线控制器,主机部分和从机部分均与总线控制器相连。本发明具有能够支持多种传输模式、能够提高数据传输速度、提高程序执行效率等优点。

Description

GPDSP中面向科学计算的高性能DMA部件
技术领域
本发明主要涉及到多核通用数字处理器(General-PurposeDigitalSignalProcessor,简称GPDSP)的直接存储访问部件(DirectMemoryAccess,DMA)领域,特指一种GPDSP中面向科学计算的高性能DMA部件,该DMA部件能够支持多种特殊传输模式,用于提高GPDSP中源和目的存储体之间的数据传输速度,提高程序执行效率。
背景技术
GPDSP主要应用于科学计算等高性能应用领域,这些领域需要处理的数据量非常巨大,对GPDSP的数据处理能力要求极高。为了满足计算需求,GPDSP一般集成多个核心,每个核心具备较多的并行计算单元,这些计算单元从外设DDR存储部件中读取源数据,之后将计算出的结果存放到外设DDR存储部件中。
由于存储器访问带宽的发展速度跟不上处理器的计算能力的需求,形成了“存储墙”问题,其已成为继续提升DSP计算性能最主要的阻碍。为有效缓解这一挑战,直接存储控制器(DirectMemoryAccessController,DMA)在DSP核内存储空间和核外存储空间之间提供高效的数据交互通路,在CPU完成对DMA的相关参数配置后,能够以后台的方式完成核内外存储之间的数据搬移,从而可以隐藏数据搬移所花费的时间,降低程序运行时间。
但是,GPDSP应用场景中的一些特殊性,导致传统DMA部件无法满足其应用需求。
1、在HPL(HighPerformanceLinpack)、傅里叶变换、离散傅里叶变换等科学计算应用程序和图形、视频应用领域中存在的滑窗类算法中都有大量的矩阵乘运算,需要DMA对矩阵中的数据完成转置操作。传统的DMA部件每拍只能完成一个字的转置,较低的传输带宽使得GPDSP的计算核心经常处于“饥饿”状态,严重影响GPDSP性能的发挥。
2、当在GPDSP上实现HPL(HighPerformanceLinpack)和快速傅里叶变换(FastFourierTransform,FFT)等常用算法时,往往某几个DSP核或所有DSP核在一个时间段所处理的数据是相同的或者是存放在地址连续的外设空间中。当多核同时访问(读或写)某一外设时,会增大片上互连网络的负载,降低数据传输的速度。同时若外设为双倍速率同步动态随机存储器(DoubleDataRateSDRAM,DDR),如果前后两个请求来自不同核,这些请求可能落在不同的页中,导致DDR频繁换页,降低DDR的访问效率。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种能够支持多种传输模式、能够提高数据传输速度、提高程序执行效率的GPDSP中面向科学计算的高性能DMA部件。
为解决上述技术问题,本发明采用以下技术方案:
一种GPDSP中面向科学计算的高性能DMA部件,其包括:
主机部分,用来根据配置的传输参数完成读写请求计算,包括逻辑通道控制器和2个通用物理通道;
从机部分,用来同时为DMA做主机读核外存储体数据返回核内存储体时提供通道以及核外设备读写核内存储体提供通道;它包含缓存核外读写请求的FIFO、专用通道仲裁器、矩阵转置模块、读写AM专用通道、读写SM专用通道;当访问核内的请求从读写请求FIFO中流出后,专用通道仲裁器根据请求包的标志信号和目的地址将请求发往不同模块;
总线控制器,主机部分和从机部分均与总线控制器相连。
作为本发明的进一步改进:所述主机部分用来接收CPU对DMA传输参数的配置并读取传输参数,接收并保存CPU强制启动DMA的事件或者外部到达的DMA同步事件;当DMA的事件达到后,DMA读取对应逻辑通道的传输参数,根据传输参数向源、目的存储发送读写请求,控制数据传输的进程。
作为本发明的进一步改进:所述逻辑通道控制器用来完成DMA传输参数的配置以及对DMA同步事件的响应,提取参数RAM中传输参数发送到通用物理通道中。
作为本发明的进一步改进:所述逻辑通道控制器中包含DMA全局控制寄存器模块、保存DMA触发事件的2个事件队列以及保存DMA传输控制参数字的参数RAM及其读写控制逻辑。
作为本发明的进一步改进:所述参数RAM由8个分立的双端口存储体组成,每个存储体的宽度为字宽、深度为64;每组传输参数包含8个参数字,分别保存在参数RAM的8个存储体中。
作为本发明的进一步改进:所述通用物理通道根据传输参数完成读写请求的计算以及控制DMA数据传输的过程。
作为本发明的进一步改进:所述从机部分中如果是矩阵转置传输读返回的数据则将数据发往矩阵转置模块,如果是非矩阵转置传输则根据请求的种类以及目的地址将该请求发往对应的专用通道;矩阵转置模块将读返回的数据进行转置处理;各专用通道将相关请求做处理,使得DMA发出去的请求满足目标存储体的协议要求。
作为本发明的进一步改进:所述DMA部件具有以下工作模式:
(a)点到点传输模式:用于一般二维数据的搬移;
(b)矩阵转置传输模式:使DMA能够在数据搬移过程完成8m*8n矩阵的转置操作;
(c)分段传输模式:允许主核DMA顺序地读取核外DDR3中不同块的数据分别传输到本核以及其他相关核的核内存储体中;
(d)核间同步传输模式:用于保证将核内数据搬移核外DDR3时,让相关核的DMA搬移的每一帧数据写往DDR3的同一页中;在核间同步传输模式下,等到所有相关核全部传输完一帧后,相关核的DMA才能开始传输下一帧。
与现有技术相比,本发明的优点在于:
1、本发明的GPDSP中面向科学计算的高性能DMA部件,在高效支持普通二维数据传输的基础上,还能高效地支持矩阵转置处理,并能有效缓解多核同时读写访问DDR3造成带宽降低的问题,除此之外该DMA还需要为其他主设备访问核内存储体提供通道。
2、本发明的GPDSP中面向科学计算的高性能DMA部件,能够支持多种传输模式。其中,点到点传输用于一般二维数据的搬移;矩阵转置传输使得DMA能够高效地在数据搬移过程完成8m*8n矩阵的转置操作,提高有大量矩阵乘法运算的程序的执行效率;分段传输允许主核DMA顺序地读取核外DDR3中不同块的数据分别传输到本核以及其他相关核的核内存储体中,避免多核同时读核外存储体DDR3时造成系统环路阻塞以及DDR3频繁翻页问题;核间同步传输用于保证将核内数据搬移核外DDR3时,让相关核的DMA搬移的每一帧数据写往DDR3的同一页中,在核间同步传输模式下,需要等到所有相关核全部传输完一帧后,相关核的DMA才能开始传输下一帧,这样保证了即使多个核的数据落在在同一页中,避免DDR3的频繁翻页问题。
附图说明
图1是本发明在具体应用实例中微处理器体系结构的示意图。
图2是本发明的DMA部件在Matrix2内核位置示意图。
图3是本发明DMA部件的结构示意图。
图4是本发明在具体应用实例中的工作流程示意图。
图5是本发明在具体应用实例中点到点传输模式的示例图。
图6是本发明在具体应用实例中矩阵转置传输模式实现的示意图。
图7是本发明在具体应用实例中矩阵转置传输源存储体中待搬移数据的示意图。
图8是本发明在具体应用实例中矩阵转置寄存器读出写入过程的示意图。
图9是本发明在具体应用实例中分段传输模式时专用参数字的示意图。
图10是本发明在具体应用实例中核间同步传输结构的示意图。
图11是本发明在具体应用实例中核间同步传输的流程示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图1所示,为本发明在具体应用实例中微处理器体系结构的示意图。该多核微处理器包括DSP超节点、片上互连网络和外设。其中,每个DSP超节点由一个Matrix2内核构成,片上互连网络完成各DSP超节点之间、DSP超节点与外设之间的数据通信,外设为DDR。
如图2所示,为本发明的DMA部件在Matrix2内核中的位置示意图。DMA部件在Matrix2内核中与外设配置总线PBUS、向量存储VM(VectorMemory,VM)和标量存储SM(ScalarMemory,SM)等部件相连。其中,PBUS用来完成DMA传输参数的配置;AM和SM是Matrix2的核内存储体,它们通过DMA部件完成与核外的数据的通信。
如图3所示,为本发明GPDSP中面向科学计算的高性能DMA部件在具体实施例中的结构示意图。该DMA部件包括:
主机部分,用来根据配置的传输参数完成读写请求计算,由逻辑通道控制器和2个通用物理通道组成。其中,逻辑通道控制器用来完成DMA传输参数的配置以及对DMA同步事件的响应,提取参数RAM中传输参数发送到通用物理通道中。逻辑通道控制器中包含DMA全局控制寄存器模块、保存DMA触发事件的2个事件队列以及保存DMA传输控制参数字的参数RAM及其读写控制逻辑。通用物理通道根据传输参数完成读写请求的计算以及控制DMA数据传输的过程。其中,参数RAM由8个分立的双端口存储体组成,每个存储体的宽度为字宽、深度为64,本发明DMA每组传输参数包含8个参数字,分别保存在参数RAM的8个存储体中。本发明参数RAM最多可以保存64组传输参数,前20组参数空间与20个逻辑通道对应,可以通过相应的事件直接读取,后面44组参数只用于实现参数连接。参数RAM比传统寄存器可以存储更多的参数,同时也方便DMA传输结束时的进行参数写回和保存传输现场,易于实现DMA参数连接功能。
从机部分,包含缓存核外读写请求的FIFO、专用通道仲裁器、矩阵转置模块、读写AM专用通道、读写SM专用通道等模块。当访问核内的请求从读写请求FIFO中流出后,专用通道仲裁器根据请求包的标志信号和目的地址将请求发往不同模块。如果是矩阵转置传输读返回的数据则将数据发往矩阵转置模块,如果是非矩阵转置传输则根据请求的种类(读或写)以及目的地址将该请求发往对应的专用通道。其中,矩阵转置模块将读返回的数据进行转置处理;各专用通道将相关请求做处理,使得DMA发出去的请求满足目标存储体的协议要求。
总线控制器,主机部分和从机部分均与总线控制器相连。
本发明的DMA部件具备20个优先级可配置的逻辑通道,可以响应20个同步触发事件,每个逻辑通道映射参数RAM中一个地址;采用参数RAM结构,最多可保存64组DMA传输参数;2个固定优先级的通用物理通道,各自根据不同的参数配置情况完成读写请求相关信息的计算;支持8字数据总线位宽,为高带宽数据传输提供基础。
本发明的DMA部件具备主机和从机功能,DMA部件做主机时根据用户配置的DMA传输参数计算读写请求信息,从源存储体中读取数据;DMA部件做从机时接收并转发核外设备访问核内存储体的请求,包括:DMA部件做主机时读核外存储体返回的数据以及核外其他主机设备访问核内存储体(AM/SM)的读写请求。
在具体应用实例中,本发明的主机部分需要完成的功能包括:(1)接收CPU对DMA传输参数的配置并读取传输参数;(2)接收并保存CPU强制启动DMA的事件或者外部到达的DMA同步事件;(3)当DMA的事件达到后,DMA读取对应逻辑通道的传输参数,根据传输参数向源、目的存储发送读写请求,控制数据传输的进程。
在具体应用实例中,本发明的从机部分同时为DMA做主机读核外存储体数据返回核内存储体时提供通道以及核外设备读写核内存储体提供通道,为了节省硬件资源,DMA读核外数据返回与核外设备写核内存储体的通道共用。
如图4所示,为本发明在具体应用实例中的工作流程示意图。以DMA完成读核外写核内的数据搬移为例,其工作流程包含传输参数配置、DMA读过程、DMA写过程等过程,完成一次传输具体可以分成以下5个步骤:
S1:DMA传输控制参数以及全局控制寄存器配置;
DMA做主机时,通过配置总线配置DMA的全局寄存器,并将传输控制参数(包括传输方式、源起初地址、搬移的量、目的地址、源/目的地址索引)写到参数RAM中。
S2:参数提取以及通道仲裁;
当DMA触发事件发生或者配置事件置位寄存器(ESR)后,将对应的逻辑通道号翻译成地址后,读取该事件在参数RAM中对应空间的DMA传输控制参数,并根据配置的优先级寄存器将参数发送到对应的通用物理通道中。
S3:通用通道进行读操作;
当通用物理通道收到参数RAM中的传输参数后,根据传输参数中不同传输方式计算读写请求,并向DMA内部总线控制器连续发起读请求操作,直到所有读请求发送完毕。
S4:读数据返回写操作;
当数据从源存储体返回到DMA后,将数据以及目的地址等相关写请求信息保存到缓存中;读出缓存的数据后,专用通道仲裁器根据返回的目的地址将写请求发到对应的专用通道上;经过专用通道完成相关处理使之满足DMA与目标存储体之间的协议要求后,经总线控制器发到目的存储体相关的数据通路上。
S5:传输完成与参数写回;
DMA每发出一次读写请求,DMA信息计数模块进行一次计数操作,通过计数信息检测DMA传输状态,判断DMA是否传输完成。传输完成后将当前状态参数写回到对应参数RAM中。
本发明的GPDSP中面向科学计算的高性能DMA部件包含以下多种工作模式:
点到点传输模式:参见图5,在GPDSP中,本发明DMA部件中点到点传输模式的功能是完成核外存储体(DDR)与核内某存储体(AM或SM)之间一帧或多帧数据的搬移,其中每一帧由1个或多个单元数据组成。点到点传输模式支持帧同步和块同步两种模式,帧同步(一维)表示DMA传完一帧之后DMA暂时结束传输,将当前状态写会到参数存储体中,当同一个事件再次触发DMA时,DMA重新从参数RAM中读取参数,在上次传输状态的基础上继续传输;块同步(二维)表示DMA一次性、连续地完成一块(多帧)数据的传输。配置参数时在保证源和目的总的单元数相等即(源帧数*源帧单元数=目的帧数*目的帧单元数)的基础上,通过配置参数源帧单元数不同于目的帧单数,DMA可以达到将源二维数据进行压缩或拉伸操作。
实现点到点传输的关键是读地址、目的地址、以及读掩码的计算。如果DMA读的数据在某一帧范围内,则读地址为上次的读地址加上次读取有效字地址;如果读完一帧,则读地址还要另外再加上两帧之间的帧索引地址。目的地址计算方法与读地址类似。由于存储体数据带宽以及数据总线为8字,读掩码用来表示本次读请求从源存储中读出的数据哪些有效,目的存储体通过该信号将有效字写到对应的地址空间中,计算读掩码时应避免跨行读/写源/目的存储体的情况出现。
矩阵转置传输模式:在GPDSP中,本发明DMA部件中矩阵转置传输功能是DMA将源存储体中的数据搬移到目的存储中的过程中完成转置的操作,本发明DMA需要完成8n*8m(8n行*8m列,m、n为正整数)数据量的转置操作。本发明DMA需要支持数据乱序返回。搬移方案:将待搬移的8n*8m矩阵划分成n*m个8*8的基本矩阵,然后以基本矩阵为单位,按照从左至右、从上至下的顺序,顺序搬移各个基本矩阵。在图7给出的例子中,搬移基本矩阵的顺序是A、B、C、D、E、F。
DMA实现矩阵转置传输需要完成源、目的地址计算以及将返回的数据进行转置处理。矩阵转置实现结构如图6所示,在通用通道0(1)中完成矩阵转置源、目的地址计算以及数据在转置寄存器中的行号计算;转置寄存器由8个宽度为64位,深度为8的寄存器文件构成。转置寄存器通过按行写入、按列读出的方式来完成8*8数据的转置操作,图中两个转置寄存器用于实现乒乓操作,提高矩阵转置传输效率。
实现转置处理的具体方式是,在通用通道0或通用通道1中连续计算出1个待搬移基本矩阵的读请求(读地址、源数据在基本矩阵中的行号与矩阵转置传输标志信号)发往源存储体,之后暂停读请求计算与发送。当数据从源存储体返回DMA后,如果是矩阵转置传输标志信号为高,则将返回的数据根据返回的行编号写入转置寄存器对应行位置,如图8(b)所示。当发出的读请求全部返回后,转置寄存器将被写满,即一个8*8的基本矩阵已经写入转置寄存器中,此时按照如图8(a)所示的方式,从第一列开始顺序地将数据读出发往对应的通用物理通道。通用通道接收经过转置处理的数据时,计算对应的目的地址与对应的数据一并发往目的存储体,与此同时重新开始计算下个基本矩阵的读请求相关信息。如此循环直到所有数据完成转置搬移。
乒乓机制的优势原理:由于数据是乱序返回,在只有一个转置寄存器模块,DMA通用通道必须要将转置寄存器模块中的数据全部读完才能开始发送新读请求,否则造成新的数据覆盖原始还未读出的数据。而采用基于两套转置寄存器的乒乓机制时,通用通道开始读转置寄存器中的数据时即可开始发送新的读请求,将新返回的数据保存在另一个转置寄存器中,从而提高传输效率。
分段传输模式:DMA分段传输功能是将外设DDR中某一大块数据分成许多小块,分别传输到多个核中AM/SM存储体中,避免多个核同时读DDR3造成片上互连网络阻塞以及DDR频繁翻页导致访问延迟增加。DDR中待读取的数据共有512帧,每帧48*12字,DMA分段传输将各块(每块48字)数据按照一定规律搬移到12个核的AM中,其摆放方式为,每个核的相同帧的数据的起始地址都是相同的,同一核内的相邻帧的数据的起始地址是存在索引的,每个核512帧,每帧48个字。
图9是分段传输专用的传输参数示意图。为实现本发明,特别增加了一个分段传输专用的DMA传输参数字。在此参数字中包括传输模式(TMODE)、循环分段模式(BMODE)、循环次数(BSHIFT)、循环步长(BSTEP)、分段粒度(BCNT)。循环分段模式共有12位,每一位对应一个内核,其中值为“1”的位表示DMA读取的DDR数据应返回给对应的核。循环次数BSHIFT是指:当DMA给某核传完一块数据后,DMA给其他核传完BSHIFT块数据再给该核传输数据。循环步长是指:下一段数据传输时,循环分段模式循环右移的长度。分段粒度表示每一块数据的大小,单位为字。块地址索引为目的某核中相邻两块数据起始地址差。
本发明分段传输实现机制为例进行说明。配置分段传输粒度(BCNT)为48,源帧数为512,每帧12*48个字,分段传输模式(BMODE)为12’h001(第一块数据从核0开始),BSTEP为11(循环右移11位相当于左移1位,第二次给核1传输),BSHIFT为11(传完12个核后,重新从核0开始),块索引地址为48字地址。DMA分段传输在进行读操作时,会按照核0第0块,核1第0块的顺序依次从DDR中读取数据,每读完一小块数据BSHIFT减1,当给每个核传输完一块数据后BSHIFT减到0,然后恢复到初始值11,回到起始核,给核0传输,如此循环直到传输完成。
在此期间源地址连续递增。而目的地址会形成两个地址偏移,第一个是核0的第0帧与核1的第0帧之间的地址偏移,第二个是核11的第0帧与核0的第1帧之间的地址偏移。
当核0开始传输每一帧的时候记录这一块的初始地址,每当BCNT为0时,即传输完成一个核时,目的地址重载这一块的初始地址,BSHIFT减1。当BSHIFT为0时,目的地址在重载初始地址的基础上加上块索引,配成新的1帧的初始地址,并且记录下来,重载循环次数。
除此之外,DMA分段传输读操作时,发出的请求带一个返回选择向量RetVector,其用来指示片上互连网络将分段传输读返回数据返回给目标内核。BMODE为RetVector初始值,当发出BCNT字大小数据的分段传输请求后,对RetVector进行循环向右移位,移位的位数为BSTEP,生成下一个BCNT大小数据对应的RetVector。若RetVector被移位BSHIFT次,则RetVector进行重载。
分段传输的结束机制有两种方案,一种是主核计数的方案,一种是从核计数的方案。
主核计数是指:分段传输时,当从源存储中读取数据并发送到目的核后,将计数信息发往主核的DMA,主核通过统计计数信息当所有核都接收完数据后,向各个相关从核DMA发送特殊信号,从核收到特殊信号进行分段传输结束处理比如向指控部件发送分段传输结束中断信号。
从核计数是指,在每一个参与分段传输的从核DMA中配备一个专用的寄存器用于记录本核需要接受的数据量,该核每收到一次分段传输的数据,即更新一次计数信息。当该寄存器变到0时,表示该核接收完所有的数据,进行结束处理。作为从机计数的主核,当所有读请求全部发出DMA后即进行结束处理。
核间同步传输模式:DMA核间同步传输的目的是使同时启动的多个核的核内到核外的DMA点到点传输中的每一帧都读出并写出后,再开始下一帧的读和写,这样可以保证对核外存储空间访问时地址的连续性,从而增加DDR的行命中率,减少访存时间。
核间同步需要设置的参数在点到点传输所需参数的基础上新增SEMAPHORE,其表示DMA核间同步传输的使能位,新增的PTPMASK表示参与DMA核间同步传输的核,共12位。
如图10所示是DMA核间同步传输结构,它包含一个同步单元,由一个12位的寄存器组成,与12个核相匹配。核间同步传输流程如图11所示,当参与核间同步的各个核的DMA的通用通道收到传输参数并检测到进行核间同步传输后,开始进行读核内写核外操作,当某核DMA完成一帧数据传输后,拉高该DMA的p2pover_syn信号。同步单元对应的寄存器接收该信号,同步单元将接收到得12个核DMA的传输结果发给各个核。在每个DMA中设计一套检测同步单元与PTPMASK是否匹配的逻辑,当检测到二者一致时,该核开始传输下一帧数据,并且拉低p2pover_syn信号;如果检测二者不一致,则在传输完当前帧后,DMA传输中止,进入等待状态直到二者匹配上;当传完最后一帧后,DMA进行传输事务结束的相关处理。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (8)

1.一种GPDSP中面向科学计算的高性能DMA部件,其特征在于,包括:
主机部分,用来根据配置的传输参数完成读写请求计算,包括逻辑通道控制器和2个通用物理通道;
从机部分,用来同时为DMA做主机读核外存储体数据返回核内存储体时提供通道以及核外设备读写核内存储体提供通道;它包含缓存核外读写请求的FIFO、专用通道仲裁器、矩阵转置模块、读写AM专用通道、读写SM专用通道;当访问核内的请求从读写请求FIFO中流出后,专用通道仲裁器根据请求包的标志信号和目的地址将请求发往不同模块;
总线控制器,主机部分和从机部分均与总线控制器相连。
2.根据权利要求1所述的GPDSP中面向科学计算的高性能DMA部件,其特征在于,所述主机部分用来接收CPU对DMA传输参数的配置并读取传输参数,接收并保存CPU强制启动DMA的事件或者外部到达的DMA同步事件;当DMA的事件达到后,DMA读取对应逻辑通道的传输参数,根据传输参数向源、目的存储发送读写请求,控制数据传输的进程。
3.根据权利要求1所述的GPDSP中面向科学计算的高性能DMA部件,其特征在于,所述逻辑通道控制器用来完成DMA传输参数的配置以及对DMA同步事件的响应,提取参数RAM中传输参数发送到通用物理通道中。
4.根据权利要求3所述的GPDSP中面向科学计算的高性能DMA部件,其特征在于,所述逻辑通道控制器中包含DMA全局控制寄存器模块、保存DMA触发事件的2个事件队列以及保存DMA传输控制参数字的参数RAM及其读写控制逻辑。
5.根据权利要求4所述的GPDSP中面向科学计算的高性能DMA部件,其特征在于,所述参数RAM由8个分立的双端口存储体组成,每个存储体的宽度为字宽、深度为64;每组传输参数包含8个参数字,分别保存在参数RAM的8个存储体中。
6.根据权利要求1所述的GPDSP中面向科学计算的高性能DMA部件,其特征在于,所述通用物理通道根据传输参数完成读写请求的计算以及控制DMA数据传输的过程。
7.根据权利要求1所述的GPDSP中面向科学计算的高性能DMA部件,其特征在于,所述从机部分中如果是矩阵转置传输读返回的数据则将数据发往矩阵转置模块,如果是非矩阵转置传输则根据请求的种类以及目的地址将该请求发往对应的专用通道;矩阵转置模块将读返回的数据进行转置处理;各专用通道将相关请求做处理,使得DMA发出去的请求满足目标存储体的协议要求。
8.根据权利要求1~7中任意一项所述的GPDSP中面向科学计算的高性能DMA部件,其特征在于,所述DMA部件具有以下工作模式:
(a)点到点传输模式:用于一般二维数据的搬移;
(b)矩阵转置传输模式:使DMA能够在数据搬移过程完成8m*8n矩阵的转置操作;
(c)分段传输模式:允许主核DMA顺序地读取核外DDR3中不同块的数据分别传输到本核以及其他相关核的核内存储体中;
(d)核间同步传输模式:用于保证将核内数据搬移核外DDR3时,让相关核的DMA搬移的每一帧数据写往DDR3的同一页中;在核间同步传输模式下,等到所有相关核全部传输完一帧后,相关核的DMA才能开始传输下一帧。
CN201510718802.0A 2015-10-29 2015-10-29 Gpdsp中面向科学计算的高性能dma部件 Active CN105389277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510718802.0A CN105389277B (zh) 2015-10-29 2015-10-29 Gpdsp中面向科学计算的高性能dma部件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510718802.0A CN105389277B (zh) 2015-10-29 2015-10-29 Gpdsp中面向科学计算的高性能dma部件

Publications (2)

Publication Number Publication Date
CN105389277A true CN105389277A (zh) 2016-03-09
CN105389277B CN105389277B (zh) 2018-04-13

Family

ID=55421578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510718802.0A Active CN105389277B (zh) 2015-10-29 2015-10-29 Gpdsp中面向科学计算的高性能dma部件

Country Status (1)

Country Link
CN (1) CN105389277B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201939A (zh) * 2016-06-30 2016-12-07 中国人民解放军国防科学技术大学 面向gpdsp架构的多核目录一致性装置
CN107911159A (zh) * 2017-10-12 2018-04-13 北京电子工程总体研究所 一种基于wifi协议的星载无线容错通讯系统
CN109144889A (zh) * 2018-06-25 2019-01-04 中国科学院声学研究所 基于fpga的超声检测数据存储模块及fpga电路
CN110018851A (zh) * 2019-04-01 2019-07-16 北京中科寒武纪科技有限公司 数据处理方法、相关设备及计算机可读介质
CN110928818A (zh) * 2019-12-09 2020-03-27 Oppo广东移动通信有限公司 直接存储访问、处理器和电子设备
CN111061997A (zh) * 2019-12-19 2020-04-24 中国人民解放军国防科技大学 面向稀疏矩阵向量乘的数据传输方法及dma传输装置
CN111258642A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258639A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258640A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258638A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
WO2021011189A1 (en) * 2019-07-15 2021-01-21 Daniel Kilsdonk Facilitating sequential data transformations via direct memory access
CN112882986A (zh) * 2021-03-12 2021-06-01 中国人民解放军国防科技大学 一种带有超节点以及超节点控制器的众核处理器
CN112970010A (zh) * 2018-11-09 2021-06-15 赛灵思公司 流式传输平台流和架构

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745707A (en) * 1994-07-20 1998-04-28 Nec Corporation Bus control device for computer system having computer and DMA device
JPH10326250A (ja) * 1997-05-26 1998-12-08 Nec Corp Dma転送制御装置
CN104679689A (zh) * 2015-01-22 2015-06-03 中国人民解放军国防科学技术大学 一种用于gpdsp的采用从机计数的多核dma分段数据传输方法
CN104679691A (zh) * 2015-01-22 2015-06-03 中国人民解放军国防科学技术大学 一种用于gpdsp的采用主机计数的多核dma分段数据传输方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745707A (en) * 1994-07-20 1998-04-28 Nec Corporation Bus control device for computer system having computer and DMA device
JPH10326250A (ja) * 1997-05-26 1998-12-08 Nec Corp Dma転送制御装置
CN104679689A (zh) * 2015-01-22 2015-06-03 中国人民解放军国防科学技术大学 一种用于gpdsp的采用从机计数的多核dma分段数据传输方法
CN104679691A (zh) * 2015-01-22 2015-06-03 中国人民解放军国防科学技术大学 一种用于gpdsp的采用主机计数的多核dma分段数据传输方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201939B (zh) * 2016-06-30 2019-04-05 中国人民解放军国防科学技术大学 面向gpdsp架构的多核目录一致性装置
CN106201939A (zh) * 2016-06-30 2016-12-07 中国人民解放军国防科学技术大学 面向gpdsp架构的多核目录一致性装置
CN107911159A (zh) * 2017-10-12 2018-04-13 北京电子工程总体研究所 一种基于wifi协议的星载无线容错通讯系统
CN109144889A (zh) * 2018-06-25 2019-01-04 中国科学院声学研究所 基于fpga的超声检测数据存储模块及fpga电路
CN109144889B (zh) * 2018-06-25 2022-11-25 中国科学院声学研究所 基于fpga的超声检测数据存储模块及fpga电路
CN112970010A (zh) * 2018-11-09 2021-06-15 赛灵思公司 流式传输平台流和架构
CN111258642B (zh) * 2018-11-30 2022-10-04 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258639B (zh) * 2018-11-30 2022-10-04 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258639A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258640A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258638A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258642A (zh) * 2018-11-30 2020-06-09 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN111258640B (zh) * 2018-11-30 2022-10-04 上海寒武纪信息科技有限公司 数据处理方法、处理器、数据处理装置及存储介质
CN110018851A (zh) * 2019-04-01 2019-07-16 北京中科寒武纪科技有限公司 数据处理方法、相关设备及计算机可读介质
WO2021011189A1 (en) * 2019-07-15 2021-01-21 Daniel Kilsdonk Facilitating sequential data transformations via direct memory access
CN110928818A (zh) * 2019-12-09 2020-03-27 Oppo广东移动通信有限公司 直接存储访问、处理器和电子设备
CN110928818B (zh) * 2019-12-09 2023-06-16 Oppo广东移动通信有限公司 直接存储访问、处理器和电子设备
CN111061997A (zh) * 2019-12-19 2020-04-24 中国人民解放军国防科技大学 面向稀疏矩阵向量乘的数据传输方法及dma传输装置
CN112882986A (zh) * 2021-03-12 2021-06-01 中国人民解放军国防科技大学 一种带有超节点以及超节点控制器的众核处理器
CN112882986B (zh) * 2021-03-12 2023-07-18 中国人民解放军国防科技大学 一种带有超节点以及超节点控制器的众核处理器的应用方法

Also Published As

Publication number Publication date
CN105389277B (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
CN105389277A (zh) Gpdsp中面向科学计算的高性能dma部件
CN107301455B (zh) 用于卷积神经网络的混合立方体存储系统及加速计算方法
US8930593B2 (en) Method for setting parameters and determining latency in a chained device system
US20140181427A1 (en) Compound Memory Operations in a Logic Layer of a Stacked Memory
US8880745B2 (en) Efficient scheduling of transactions from multiple masters
US20070162637A1 (en) Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions
CN103714026B (zh) 一种支持原址数据交换的存储器访问方法及装置
CN104679691B (zh) 一种用于gpdsp的采用主机计数的多核dma分段数据传输方法
US11403104B2 (en) Neural network processor, chip and electronic device
CN112035388B (zh) 一种基于PCI-e通道的高性能加解密方法
CN104679689B (zh) 一种用于gpdsp的采用从机计数的多核dma分段数据传输方法
CN103049241A (zh) 一种提高cpu+gpu异构装置计算性能的方法
WO2021115208A1 (zh) 神经网络处理器、芯片和电子设备
CN102521179A (zh) 一种dma读操作的实现装置和方法
US8902915B2 (en) Dataport and methods thereof
CN104503948A (zh) 支持多核网络处理架构的紧耦合自适应协处理系统
CN113900974A (zh) 一种存储装置、数据存储方法及相关设备
CN103577161A (zh) 一种面向大数据的数据频度并行处理方法
JP6679570B2 (ja) データ処理装置
CN104679670A (zh) 一种面向fft和fir的共享数据缓存结构及管理方法
WO2021115149A1 (zh) 神经网络处理器、芯片和电子设备
CN104679690A (zh) 用于gpdsp的基于乒乓机制支持数据乱序返回的dma矩阵转置传输方法
CN110515872A (zh) 直接内存存取方法、装置、专用计算芯片及异构计算系统
US8886844B2 (en) Efficient scheduling of read and write transactions in dynamic memory controllers
US7774513B2 (en) DMA circuit and computer system

Legal Events

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