CN108234147B - Gpdsp中基于主机计数的dma广播数据传输方法 - Google Patents

Gpdsp中基于主机计数的dma广播数据传输方法 Download PDF

Info

Publication number
CN108234147B
CN108234147B CN201711480231.7A CN201711480231A CN108234147B CN 108234147 B CN108234147 B CN 108234147B CN 201711480231 A CN201711480231 A CN 201711480231A CN 108234147 B CN108234147 B CN 108234147B
Authority
CN
China
Prior art keywords
dma
data
broadcast
core
read
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.)
Active
Application number
CN201711480231.7A
Other languages
English (en)
Other versions
CN108234147A (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 CN201711480231.7A priority Critical patent/CN108234147B/zh
Publication of CN108234147A publication Critical patent/CN108234147A/zh
Application granted granted Critical
Publication of CN108234147B publication Critical patent/CN108234147B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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/287Multiplexed DMA
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开一种GPDSP中基于主机计数的DMA广播数据传输方法,该方法包括:由主机DMA启动DMA广播数据传输,生成广播读请求后经片上网络发送至核外;主机DMA接收各从DMA的读返回数据,并进行计数以确认数据传输是否完成,当确认完成数据传输时,主机DMA向所有从DMA发出清空缓冲命令,各从机DMA接收到所述空缓冲命令并执行清空缓冲操作后结束广播传输。本发明能够启动一次DMA传输事务实现DMA广播数据传输,且具有实现原理简单、成本低、DMA传输功耗及启动开销小、数据传输效率及DDR读效率高、传输带宽大等优点。

Description

GPDSP中基于主机计数的DMA广播数据传输方法
技术领域
本发明涉及GPDSP(General Purpose Digital Signal Processor,通用数字信号处理器)技术领域,尤其涉及一种GPDSP中基于主机计数的DMA(Director Memory Access,直接存储访问)广播数据传输方法。
背景技术
GPDSP是一种既保持嵌入式DSP基本特征和高性能低功耗的优势,又能够高效支持通用科学计算的新型体系结构,该结构能够克服一般DSP用于科学计算的上述问题,可同时提供对64位高性能计算机和嵌入式高精度信号处理的高效支持。该结构具有如下特征:①具有双精度浮点和64位顶点数据的直接表示,通用寄存器、数据总线、指令位宽64位以上,地址总线40位以上;②CPU与DSP异构多核紧密耦合,CPU核支持完整操作***,DSP核的标量单元支持操作***微核;③考虑CPU核、DSP核以及DSP核内向量阵列结构的统一编程模式;④保持它机交叉仿真调试,同时提供本地CPU宿主调试模式;⑤保留除位数之外的普通DSP的基本特征。
GPDSP通常由多个同构的64位处理单元组成处理阵列来获得较高浮点运算能力,然而由于GPDSP需处理的数据量巨大,导致GPDSP核内存储部件和核外存储部件之间需要交换大量的数据。核外存储空间存放的数据首先需要搬移到核内存储空间以方便内核进行计算,内核计算得到的结果需要搬移到核外存储空间进行保存,此时核内存储部件和核外存储部件之间的数据传输速率成为限制GPDSP处理速度的关键因素,与通用处理器相同,GPDSP也面临着“存储墙”的问题。
DMA可以在处理核进行数据计算的同时,后台高速进行数据搬移,搬移过程不需要处理核的参与,DMA能较好缓解“存储墙”问题。由于DMA技术将内核的计算操作和存储部件的数据搬移操作重叠执行,在一定程度上降低了核内存储部件和核外存储部件之间的数据传输速度对GPDSP处理性能的影响。然而随着GPDSP中集成的处理核数目的不断增加,现有DMA数据传输方式已不能满足多核并行处理对数据量的需求,高效多核DMA涉及必须考虑应用程序的访存需求和多核GPDSP的硬件结构特性。
如矩阵乘、快速傅里叶变换、HPL(High Performance Linpack)等常用算法和应用程序在多核GPDSP上并行实现时,所有内核在一段时间内可能会访问同一块存储空间,例如进行GEMM矩阵乘运算(C+=AB),A矩阵为共享矩阵,所有DSP核都需要矩阵A;如果使用传统的DMA传输方式,每个DSP核都发起点到点传输读取DDR同一个位置上的数据块,此时由于每个核到DDR的距离不同,导致可能出现不同的核读取的数据处在不同的DDR页上,这会导致DDR页命中丢失、DDR换页次数增多,同时增加了访存延时,大大降低了DDR的读效率;如果存在多个或所有核启动DMA传输事务,不仅会造成大量的功耗,还会造成网络的压力,而且对访问核外存储空间DDR时会出现竞争或者命中丢失等情况。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现原理简单、成本低、DMA传输功耗及启动开销小、数据传输效率及DDR读效率高且传输带宽大的GPDSP中基于主机计数的DMA广播数据传输方法。
为解决上述技术问题,本发明提出的技术方案为:
一种GPDSP中基于主机计数的DMA广播数据传输方法,该方法包括:由主机DMA启动DMA广播数据传输,生成广播读请求后经片上网络发送至核外存储空间;核外存储空间根据所述广播读请求将读返回数据发送至片上网络,GPDSP中各个核从片上网络中接收读返回数据并写入核内存储空间,主机DMA接收读返回数据并进行计数以确认数据传输是否完成。
作为本发明的进一步改进,所述确认传输是否完成具体包括:预先分别设置包括源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt的广播传输参数,所述源帧数SrcArrCnt用于配置核外搬移数据的帧数,所述源帧剩余单元数SrcEleCnt用于统计当前源帧中还未读取的数据单元数,所述目的帧数DstArrCnt用于配置写入核内存储空间的数据帧数,所述目的帧剩余单元数DstEleCnt用于统计当前目的帧中还未写完的数据单元数,根据所述广播传输参数的值确认数据传输是否完成。
作为本发明的进一步改进,所述源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt满足下式:
(SrcArrCnt+1)*SrcEleCnt==(DstArrCnt+1)*DstEleCnt;
其中SrcArrCnt+1为所需核外搬移数据的帧数,SrcEleCnt为当前源帧中还未读取的数据单元数,DstArrCnt+1为所需写入核内存储空间的数据帧数,DstEleCnt为当前目的帧中还未写完的数据单元数。
作为本发明的进一步改进,该方法还包括用于配置DMA传输模式的传输模式参数TMODE,当所述传输模式参数TMODE有效时,启动执行DMA广播数据传输。
作为本发明的进一步改进,所述广播读请求包括用于标识数据返回核信息的读返回选择向量RetVec,根据所述读返回选择向量RetVec确定读返回数据所需返回的目的核。
作为本发明的进一步改进,所述读返回选择向量RetVec具体有多位,每一位对应标识一个参与传输的参与核是否需要返回读返回数据的状态。
作为本发明的进一步改进:所述广播读请求还包括读地址、读掩码、读返回地址中一种或多种信息。
作为本发明的进一步改进,当确认完成数据传输时,还包括清空缓冲步骤,具体步骤为:主机DMA向所有从DMA发出清空缓冲命令,各从机DMA接收到所述空缓冲命令并执行清空缓冲操作,结束广播传输。
作为本发明的进一步改进,该方法的具体步骤为:
S1.预先分别设置包括源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt的广播传输参数;
S2.配置所述广播传输参数后主机DMA启动DMA广播数据传输,并根据所述广播传输参数生成广播读请求后经片上网络发送至核外存储空间;
S3.核外存储空间根据所述广播读请求将读返回数据发送至片上网络,GPDSP中各个核从片上网络中接收读返回数据并写入核内存储空间,主机DMA接收读返回数据并更新所述广播传输参数以进行计数;
S4.当主机DMA接收到最后一块数据时计数完成,主机DMA对所有DSP核发出清空缓冲的命令,从机DMA收到清空命令后执行清空操作,并在清空完成后根据中断使能位发出中断请求;当从机DMA缓存清空后,置位内部预先设置的广播结束寄存器BOR的值,广播传输事务结束。
作为本发明的进一步改进,所述步骤S3中主机DMA接收到读返回数据时,还包括数据有效判断步骤,具体步骤为:判断数据是否有效,如果为有效,将数据转发至核内存储空间,启动主机DMA进行计数,如果无效,直接启动主机DMA进行计数。
与现有技术相比,本发明的优点在于:
1)本发明GPDSP中基于主机计数的DMA广播数据传输方法,通过一次DMA传输事务把核外存储空间的同一块数据块搬移至芯片上的全部DSP内核的核内存储空间中,由主机DMA产生读请求并且对传输数据块进行计数来确认传输完成,使得只需要启动一个DSP核的DMA广播传输事务,可以将GPDSP的核外存储空间的同一块数据块以广播的形式传输给芯片上的所有DSP核,满足所有DSP核对数据的需求的传输方式,避免所有核同时启动DMA传输,能够有效降低DMA传输功耗及启动开销,减轻片上网络的拥堵。
2)本发明GPDSP中基于主机计数的DMA广播数据传输方法,可以实现类似于GEMM矩阵乘运算中(C+=AB)A矩阵的广播传输,且由于只需启动一次DMA传输事务就能满足所有DSP核对核外数据的需求,能大大减少核外存储空间DDR的换页次数,减少了DDR的访问次数,从而大大提高了DDR的读效率以及DDR的行命中率,同时有效提高了传输的带宽。
3)本发明GPDSP中基于主机计数的DMA广播数据传输方法,进一步通过设置源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt的广播传输参数,使得通过配置广播传输参数即可方便的实现DMA广播数据传输控制,从而简单、高效的实现启动一个DSP核的DMA广播传输事务,可以将GPDSP的核外存储空间的同一块数据块以广播的形式传输给芯片上的所有DSP核,且基于广播传输参数可以实现灵活配置。
附图说明
图1是本实施例采用的GPDSP体系结构原理示意图。
图2是本实施例中DMA在GPDSP中的位置及工作原理示意图。
图3是本发明具体实施例中实现DMA广播数据传输的原理示意图。
图4是本发明具体实施例中DMA广播数据传输传输参数字的原理示意图。
图5是本实施例实现DMA广播数据传输的实现流程示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1~5所示,本实施例GPDSP中基于主机计数的DMA广播数据传输方法包括:由主机DMA启动DMA广播数据传输,生成广播读请求后经片上网络发送至核外存储空间;核外存储空间根据广播读请求将读返回数据发送至片上网络,GPDSP中各个核从片上网络中接收读返回数据并写入核内存储空间,主机DMA接收读返回数据并进行计数以确认数据传输是否完成,即由发起DMA传输事务的DSP核作为主机在广播传输中负责产生读请求,同时为所有其他核的传输数据进行计数以确认数据传输完成。
本实施例上述方法,通过一次DMA传输事务把核外存储空间的同一块数据块搬移至芯片上的全部DSP内核的核内存储空间中,由主机DMA产生读请求并且对传输数据块进行计数来确认传输完成,使得只需要启动一个DSP核的DMA广播传输事务,可以将GPDSP的核外存储空间的同一块数据块以广播的形式传输给芯片上的所有DSP核,满足所有DSP核对数据的需求的传输方式,避免所有核同时启动DMA传输,能够有效降低DMA传输功耗及启动开销,减轻片上网络的拥堵。
本实施例上述方法可以实现类似于GEMM矩阵乘运算中(C+=AB)A矩阵的广播传输,且由于只需启动一次DMA传输事务就能满足所有DSP核对核外数据的需求,能大大减少核外存储空间DDR的换页次数,减少了DDR的访问次数,从而大大提高了DDR的读效率以及DDR的行命中率,同时有效提高了传输的带宽。
本实施例采用的GPDSP体系结构如图1所示,该多核GPDSP由内核节点、IO节点、片上网络、DDR控制器、核外存储部件DDR组成,其中每个内核节点包含两个DSP核,DDR控制器控制DDR数据的搬移,片上网络实现各DSP之间以及DSP和核外存储空间之间的数据通信。
如图2所示,本实施例中DMA在DSP核中通过配置总线PBUS与SPU相连,通过数据总线与核内存储空间(向量存储部件AM和标量存储部件SM)相连,通过核外总线接口与核外存储空间DDR相连;SPU标量处理单元负责给DMA产生传输参数字,使得DMA可以主动从核内存储空间搬移至核外存储空间或者从核外存储空间搬移至核内存储空间,DMA也可以被动接收来自片上网络的读写请求。
本实施例中,确认传输是否完成具体包括:预先分别设置包括源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt的广播传输参数,源帧数SrcArrCnt用于配置核外搬移数据的帧数,表示要从核外存储空间搬移的数据帧数为SrcArrCnt+1,源帧剩余单元数SrcEleCnt用于统计当前源帧中还未读取的数据单元数,数据单元为GPDSP中DMA传输的最小粒度;目的帧数DstArrCnt用于配置写入核内存储空间的数据帧数,表示写入核内存储空间的数据帧数为DstArrCnt+1,目的帧剩余单元数DstEleCnt用于统计当前目的帧中还未写完的数据单元数,根据广播传输参数的值确认数据传输是否完成。
本实施例通过设置源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt的广播传输参数,使得通过配置广播传输参数即可方便的实现DMA广播数据传输控制,从而简单、高效的实现启动一个DSP核的DMA广播传输事务,可以将GPDSP的核外存储空间的同一块数据块以广播的形式传输给芯片上的所有DSP核。
本实施例中,源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt满足下式:
(SrcArrCnt+1)*SrcEleCnt==(DstArrCnt+1)*DstEleCnt;
其中SrcArrCnt+1为所需核外搬移数据的帧数,SrcEleCnt为当前源帧中还未读取的数据单元数,DstArrCnt+1为所需写入核内存储空间的数据帧数,DstEleCnt为当前目的帧中还未写完的数据单元数。
本实施例DMA进行广播数据传输时,具体主机DMA将会对核外存储空间DDR中的一块数据块发起广播读请求,返回的数据发送给所有DSP核;由源帧数SrcArrCnt表示核外搬移数据的帧数,其值为SrcArrCnt+1,SrcEleCnt表示当前源帧剩余单元数,数据单元为DMA传输的最小单位,广播传输数据大小为(SrcArrCnt+1)*SrcEleCnt,当SrcEleCnt为0时,当前帧读请求计算完毕,SrcArrCnt的值减1;当SrcArrCnt为0并且SrcEleCnt也为0时,读请求计算完毕;DstArrCnt表示目的帧数,DstEleCnt表示当前目的帧剩余单元数,其中(SrcArrCnt+1)*SrcEleCnt==(DstArrCnt+1)*DstEleCnt。
本实施例中,还包括用于配置DMA传输模式的传输模式参数TMODE,当传输模式参数TMODE有效时,启动执行DMA广播数据传输,具体配置当TMODE=“2‘b11”时,传输模式为广播数据传输,即当TMODE=“2‘b11”时,由主机DMA启动广播数据传输。
本实施例中,广播读请求包括用于标识数据返回核信息的读返回选择向量RetVec,根据读返回选择向量RetVec确定读返回数据所需返回的目的核,即由发送的广播读请求中携带标志数据返回信息,各DSP核根据读返回选择向量RetVec的值确定是否需要返回读返回数据。读返回选择向量RetVecc共有n位,每一位对应标识一个DSP核是否需要返回读返回数据的状态,即每一位对应一个DSP核,表示是否需要返回数据给对应核。广播读请求还包括读地址、读掩码、读返回地址等,即由读请求携带读地址、读掩码、读返回地址、读返回选择向量RetVec等信息。
在具体实施例中,当TMODE=“2‘b11”(即DMA进行广播数据传输),配置好广播传输参数后,DMA发起广播数据传输,DMA根据广播参数SrcArrCnt、SrcEleCnt、DstArrCnt、DstEleCnt生成广播读请求传输至片上网络,读请求中包括读地址、读掩码、读返回地址和参数读返回选择向量RetVec,读返回选择向量RetVec共有n位,在广播传输中,信号RetVec的n位全为1,表示读返回数据返回全部的DSP核;核外存储空间根据读请求返回数据至片上网络,所有从机DMA经片上网络被动性地接收数据并写入核内。
本实施例在点到点DMA传输模式的基础上,通过配置5个参数:传输模式TMODE、源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt,目的帧数DstArrCnt、目的帧剩余单元数DstEleCnt来控制传输过程,由主机DMA依据配置好的传输参数生成广播数据传输请求,同时进行搬移数据的计数统计直至广播传输结束,能够启动一个DSP核的DMA广播传输事务,即可以将GPDSP的核外存储空间的同一块数据块以广播的形式传输给芯片上的所有DSP核。
本实施例中,当确认完成数据传输时,还包括清空缓冲步骤,具体步骤为:当主机DMA计数完成后,主机DMA向所有从DMA发出清空缓冲命令,各从机DMA接收到空缓冲命令并执行清空缓冲操作,清空完毕后此次传输事务结束。
本发明具体实施例中实现DMA广播数据传输数据如图3所示,其中芯片带有12个DSP核,每个核中带有独立的DMA和LM,LM为核内存储空间(包括向量存储部件AM和标量存储部件SM);Array表示搬移的帧,C0~C11表示每一行数据块,大小为512bits即8words。本次广播传输数据块大小4x96words;DMA发起广播数据传输,共传输4帧数据,每帧数据大小为96words。DDR按照图中箭头所示方向搬移数据,DMA每次先把DDR的一页数据搬完,再进行翻页搬移下一页数据;DDR根据读请求将数据发送至片上网络,从机DSP经网络被动性地接收数据。由上述可知,采用本实施例广播数据传输方式,能够极大地减少了DDR的换页次数、降低传输延时,有效减少了DDR的访问次数,同时提升了传输带宽以及DDR的读效率。
本发明具体实施例中DMA广播数据传输传输参数字如图4所示,具体包括传输模式TMODE、源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt,目的帧数DstArrCnt、目的帧剩余单元数DstEleCnt,其中TMODE位宽为2,当TMODE值为2‘b11时,DMA启动广播数据传输,从核外存储空间DDR中搬移同一数据块至12个DSP核中;SrcArrCnt为源帧单元数,位宽为32,最大帧数为2的32次方;SrcEleCnt为当前源帧剩余单元数,位宽为32,最大值为2的32次方减1;DstArrCnt为目的帧单元数,位宽为32,最大值为2的32次方;DstEleCnt为当前目的帧剩余单元数,最大值为2的32次方减1。
如图5所示,本实施例实现GPDSP中DMA广播数据传输的具体步骤为:
S1.预先分别设置包括源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt的广播传输参数;
S2.配置广播传输参数后主机DMA启动DMA广播数据传输,并根据广播传输参数SrcArrCnt、SrcEleCnt、DstArrCnt、DstEleCnt生成广播读请求,读请求中包括读地址、读掩码、读返回地址和参数读返回选择向量RetVec,生成的广播读请求经片上网络发送至核外存储空间;
S3.核外存储空间根据广播读请求将读返回数据发送至片上网络,GPDSP中各个核从片上网络中接收读返回数据并写入核内存储空间,主机DMA接收读返回数据并更新广播传输参数以进行本核传输数据计数;
S4.当主机DMA接收到最后一块数据时计数完成,主机DMA对所有DSP核发出清空缓冲的命令,从机DMA收到清空命令后执行清空操作,并在清空完成后根据中断使能位发出中断请求;当从机DMA缓存清空后,置位内部预先设置的广播结束寄存器BOR的值,广播传输事务结束。
本实施例中,步骤S3中主机DMA接收到读返回数据时,还包括数据有效判断步骤,具体步骤为:判断数据是否有效,如果为有效,将数据转发至核内存储空间,启动主机DMA进行计数,如果无效,直接启动主机DMA进行计数。
如图5所示,本实施例具体配置好广播数据传输参数字后,主机DMA发起广播数据传输,主机DMA给核外存储空间DDR发出广播读请求;DDR返回读返回数据到片上网络,主机DMA从片上网络接收每个核的读返回数据,其他所有核从片上网络上被动地接收读返回数据;如果主机DMA检测到数据有效则写入本核核内存储空间,无效则对数据进行计数;当主机计数完成后会对其他核发出清空缓冲的命令,从机把广播结束标识寄存器的值置1,完成清空操作后,如果中断使能位为1,则发出中断。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (9)

1.一种GPDSP中基于主机计数的DMA广播数据传输方法,其特征在于,该方法包括:由主机DMA启动DMA广播数据传输,生成广播读请求后经片上网络发送至核外存储空间;核外存储空间根据所述广播读请求将读返回数据发送至片上网络,GPDSP中各个核从片上网络中接收读返回数据并写入核内存储空间,主机DMA接收读返回数据并进行计数以确认数据传输是否完成;
所述确认传输是否完成具体包括:预先分别设置包括源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt的广播传输参数,所述源帧数SrcArrCnt用于配置核外搬移数据的帧数,所述源帧剩余单元数SrcEleCnt用于统计当前源帧中还未读取的数据单元数,所述目的帧数DstArrCnt用于配置写入核内存储空间的数据帧数,所述目的帧剩余单元数DstEleCnt用于统计当前目的帧中还未写完的数据单元数,根据所述广播传输参数生成所述广播读请求,以及根据所述广播传输参数的值确认数据传输是否完成。
2.根据权利要求1所述的GPDSP中基于主机计数的DMA广播数据传输方法,其特征在于,所述源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt满足下式:
(SrcArrCnt+1)*SrcEleCnt==(DstArrCnt+1)*DstEleCnt;
其中SrcArrCnt+1为所需核外搬移数据的帧数,SrcEleCnt为当前源帧中还未读取的数据单元数,DstArrCnt+1为所需写入核内存储空间的数据帧数,DstEleCnt为当前目的帧中还未写完的数据单元数。
3.根据权利要求1或2所述的GPDSP中基于主机计数的DMA广播数据传输方法,其特征在于,该方法还包括用于配置DMA传输模式的传输模式参数TMODE,当所述传输模式参数TMODE有效时,启动执行DMA广播数据传输。
4.根据权利要求1或2所述的GPDSP中基于主机计数的DMA广播数据传输方法,其特征在于,所述广播读请求包括用于标识数据返回核信息的读返回选择向量RetVec,根据所述读返回选择向量RetVec确定读返回数据所需返回的目的核。
5.根据权利要求4所述的GPDSP中基于主机计数的DMA广播数据传输方法,其特征在于,所述读返回选择向量RetVec具体有多位,每一位对应标识一个参与传输的参与核是否需要返回读返回数据的状态。
6.根据权利要求5所述的GPDSP中基于主机计数的DMA广播数据传输方法,其特征在于,所述广播读请求还包括读地址、读掩码、读返回地址中一种或多种信息。
7.根据权利要求1或2所述的GPDSP中基于主机计数的DMA广播数据传输方法,其特征在于,当确认完成数据传输时,还包括清空缓冲步骤,具体步骤为:主机DMA向所有从DMA发出清空缓冲命令,各从机DMA接收到所述空缓冲命令并执行清空缓冲操作,结束广播传输。
8.根据权利要求1或2所述的GPDSP中基于主机计数的DMA广播数据传输方法,其特征在于,该方法的具体步骤为:
S1.预先分别设置包括源帧数SrcArrCnt、源帧剩余单元数SrcEleCnt、目的帧数DstArrCnt以及目的帧剩余单元数DstEleCnt的广播传输参数;
S2.配置所述广播传输参数后主机DMA启动DMA广播数据传输,并根据所述广播传输参数生成广播读请求后经片上网络发送至核外存储空间;
S3.核外存储空间根据所述广播读请求将读返回数据发送至片上网络,GPDSP中各个核从片上网络中接收读返回数据并写入核内存储空间,主机DMA接收读返回数据并更新所述广播传输参数以进行计数;
S4.当主机DMA接收到最后一块数据时计数完成,主机DMA对所有DSP核发出清空缓冲的命令,从机DMA收到清空命令后执行清空操作,并在清空完成后根据中断使能位发出中断请求;当从机DMA缓存清空后,置位内部预先设置的广播结束寄存器BOR的值,广播传输事务结束。
9.根据权利要求8所述的GPDSP中基于主机计数的DMA广播数据传输方法,其特征在于,所述步骤S3中主机DMA接收到读返回数据时,还包括数据有效判断步骤,具体步骤为:判断数据是否有效,如果为有效,将数据转发至核内存储空间,启动主机DMA进行计数,如果无效,直接启动主机DMA进行计数。
CN201711480231.7A 2017-12-29 2017-12-29 Gpdsp中基于主机计数的dma广播数据传输方法 Active CN108234147B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711480231.7A CN108234147B (zh) 2017-12-29 2017-12-29 Gpdsp中基于主机计数的dma广播数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711480231.7A CN108234147B (zh) 2017-12-29 2017-12-29 Gpdsp中基于主机计数的dma广播数据传输方法

Publications (2)

Publication Number Publication Date
CN108234147A CN108234147A (zh) 2018-06-29
CN108234147B true CN108234147B (zh) 2021-06-18

Family

ID=62647085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711480231.7A Active CN108234147B (zh) 2017-12-29 2017-12-29 Gpdsp中基于主机计数的dma广播数据传输方法

Country Status (1)

Country Link
CN (1) CN108234147B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10761999B1 (en) * 2019-05-30 2020-09-01 Western Digital Technologies, Inc. Storage device with predictor engine of host turnaround time
CN114024920B (zh) * 2021-11-24 2023-10-27 苏州暴雪电子科技有限公司 一种用于片上消息网络的数据包路由方法
CN118170702A (zh) * 2024-05-13 2024-06-11 北京壁仞科技开发有限公司 Dma控制器以及用于广播的数据搬运方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521201A (zh) * 2011-11-16 2012-06-27 刘大可 多核数字信号处理器片上***及数据传输方法
CN104679689A (zh) * 2015-01-22 2015-06-03 中国人民解放军国防科学技术大学 一种用于gpdsp的采用从机计数的多核dma分段数据传输方法
CN104679691A (zh) * 2015-01-22 2015-06-03 中国人民解放军国防科学技术大学 一种用于gpdsp的采用主机计数的多核dma分段数据传输方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9680770B2 (en) * 2009-10-30 2017-06-13 Iii Holdings 2, Llc System and method for using a multi-protocol fabric module across a distributed server interconnect fabric

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521201A (zh) * 2011-11-16 2012-06-27 刘大可 多核数字信号处理器片上***及数据传输方法
CN104679689A (zh) * 2015-01-22 2015-06-03 中国人民解放军国防科学技术大学 一种用于gpdsp的采用从机计数的多核dma分段数据传输方法
CN104679691A (zh) * 2015-01-22 2015-06-03 中国人民解放军国防科学技术大学 一种用于gpdsp的采用主机计数的多核dma分段数据传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
32位高性能M_DSP中支持高效数据传输的DMA设计与验证;胡月安;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315;第3章 *
一种支持多种传输模式的DMA主机模块设计与实现;张帅;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315;摘要,第3章 *

Also Published As

Publication number Publication date
CN108234147A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN110647480B (zh) 数据处理方法、远程直接访存网卡和设备
US20190354500A1 (en) Multicore bus architecture with non-blocking high performance transaction credit system
US8645959B2 (en) Method and apparatus for communication between two or more processing elements
JP5787629B2 (ja) マシンビジョン用マルチプロセッサシステムオンチップ
US11803505B2 (en) Multicore bus architecture with wire reduction and physical congestion minimization via shared transaction channels
CN108234147B (zh) Gpdsp中基于主机计数的dma广播数据传输方法
JP2012038293A5 (zh)
CN103714026B (zh) 一种支持原址数据交换的存储器访问方法及装置
US10268416B2 (en) Method and systems of controlling memory-to-memory copy operations
CN110427337B (zh) 基于现场可编程门阵列的处理器内核及其运行方法
CN111708717A (zh) 数据拷贝方法、直接内存访问控制器及计算机***
CN116880773B (zh) 一种内存扩展装置及数据处理方法、***
WO2017177704A1 (zh) 一种多核dsp中edma不同带宽设备间通信的方法
US10216634B2 (en) Cache directory processing method for multi-core processor system, and directory controller
CN112527729A (zh) 一种紧耦合异构多核处理器架构及其处理方法
JP6679570B2 (ja) データ処理装置
JP2012043031A (ja) 共有キャッシュメモリ装置
US9372795B2 (en) Apparatus and method for maintaining cache coherency, and multiprocessor apparatus using the method
CN108062282B (zh) 一种gpdsp中dma数据合并传输方法
CN107807888B (zh) 一种用于soc架构的数据预取***及其方法
CN113138950A (zh) 在串联连接的电子装置之间提前发送完成的计算***
CN102736895B (zh) 一种实现寄存器文件间的数据传输方法及装置
US20230090126A1 (en) Device and method for reducing save-restore latency using address linearization
EP4206932A1 (en) Data processing apparatus and method
JP2000285081A (ja) ノード間データ通信方法

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