用于gpdsp的基于乒乓机制支持数据乱序返回的dma矩阵转置传输方法

文档序号:8361385阅读:743来源:国知局
用于gpdsp的基于乒乓机制支持数据乱序返回的dma矩阵转置传输方法
【技术领域】
[0001] 本发明主要涉及到通用数字信号处理器(GeneralPurposeDigitalSignal Processor,DSP)领域,特指一种适用于通用数字信号处理器中直接存储访问(Direct MemoryAccess,DMA)部件的用于GPDSP的基于兵兵机制支持数据乱序返回的DMA矩阵转 置传输方法。
【背景技术】
[0002] 现有技术中,有从业者提出了一种"通用计算数字信号处理器(GPDSP) ",其公开 了一种既能保持嵌入式DSP基本特征和高性能低功耗的优势,又能高效支持通用科学计算 的新型体系结构一一多核微处理器GPDSP。GPDSP将嵌入式信号处理与通用科学计算相结 合,既保持DSP嵌入式信号处理中的高度实时计算和低功耗的优点,又实现对通用科学计 算的精度和通用性的支持。GPDSP提供了对64位运算的支持,可以实现对计算精度和寻址 空间的大幅提升;GPDSP对操作系统进行了多层次支持,明显提高了GPDSP对任务管理、文 件控制、进程调度、中断管理的软硬件支持,方便了通用任务调度操作。与此同时,多层次的 支持方案也带来了硬件实现的灵活性;该方案也提出了面向"CPU+DSP"的统一并行编程方 法,利于增强高级语言编程,特别是对多核、向量运算阵列等并行资源的开发效率,利于增 强GPDSP通用性和易用性,利于扩展GPDSP可支持的应用范围。
[0003] 尽管GPDSP具备上述显著优点,但是性能的提高是微处理器发展中永恒不变的主 题。随着GPDSP性能的不断提高,单位时间内能处理的数据量越来越多,而"存储墙"问题 限制了内核数据量的供给速度。为了防止内核处于"饥饿"状态,需采用后台执行的直接存 储访问部件DM操作完成数据搬移。这样可以在内核进行运算的同时进行数据搬移,隐藏 部分或大部数据搬移时间。
[0004] 当前存在一些关键应用程序需要使用大量矩阵转置操作,这些应用程序包括 图形图像和视频处理领域中的滑窗类算法,科学计算领域中的HPL(HighPerformance Linpack)测试集,和信号处理领域的傅里叶变换及离散傅里叶变换等。为了提高这些关 键应用程序的运行速度,要求直接存储访问部件DM在后台搬移数据的同时能完成矩阵转 置操作,这样当内核在进行运算时,无需再次对矩阵进行转置操作,从而显著提升运算的性 能。
[0005] 现有的直接存储访问部件DMA设计在支持矩阵转置传输时存在较大局限,它们一 般要求矩阵转置的数据粒度与直接存储访问部件DM的带宽相同,以便独立控制每个返回 数据生成它们的写地址。这种方式实现的矩阵转置操作一次只能处理单位粒度的数据,在 直接存储访问部件DM的数据带宽远大于矩阵数据粒度的情况下,传输效率十分低下。同 时,由于写地址的生成只能是按读请求发出的顺序进行,所以此种方案只能保证数据顺序 返回情况下的正确性,在读请求的数据在乱序返回时,该方法不能完成矩阵转置操作。

【发明内容】

[0006] 本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一 种原理清晰、工作可靠、适用范围广、能提高效率、具有较佳灵活性的用于GPDSP的基于乒 乓机制支持数据乱序返回的DM矩阵转置传输方法。
[0007] 为解决上述技术问题,本发明采用以下技术方案:
[0008] 一种用于GPDSP的基于乒乓机制支持数据乱序返回的DM矩阵转置传输方法,在 直接存储访问部件DM的内部设有深度为Y、宽度为Y*Nbits的矩阵转置寄存器,当直接存 储访问部件DM进行矩阵转置传输时,发出的读请求中包含返回数据应写入到矩阵转置寄 存器中的行位置信息,形成矩阵转置寄存器写地址;当直接存储访问部件DM接受到返回 数据后,根据矩阵转置寄存器写地址将数据写入矩阵转置寄存器的相应行;当矩阵转置寄 存器按配置的数据粒度要求被写满后,数据从矩阵转置寄存器中以列的方式读出,并依据 已配置的传输参数信息计算出写地址,完成矩阵转置的操作;在上述过程中,所述矩阵转置 寄存器为两个,在上一个矩阵转置寄存器进行读操作时,开始进行下一个矩阵转置寄存器 的写操作,将两次连续矩阵转置的读写矩阵转置寄存器操作并行处理。
[0009] 作为本发明的进一步改进:当传输的矩阵数据粒度为Nbits时,在上一批次Y个 读请求的数据全部返回到矩阵转置寄存器中的一个后,即发出下一批次的Y个读请求,新 的返回数据写入另一个矩阵转置寄存器。
[0010] 作为本发明的进一步改进:所述传输的具体流程为:
[0011] Sl:配置直接存储访问部件DM的传输参数;
[0012] S2 :直接存储访问部件DM传输启动;若为矩阵转置传输模式,则直接存储访问部 件DM发出第一批次的矩阵转置的读请求;
[0013] S3:当读数据从目标存储返回后,直接存储访问部件DM将其写入第一矩阵转置 寄存器MTRO;
[0014] S4 :当第一矩阵转置寄存器MTRO被写满后,数据被按列读出,同时直接存储访问 部件DM发出下一批矩阵转置的读请求,这些读请求的返回数据返回到第二矩阵转置寄存 器MTRl;
[0015] S5 :当第二矩阵转置寄存器MRTl写满后,以按列读出方式取出其中的数据,同 时直接存储访问部件DM再发出矩阵转置读请求,这些数据返回到第一矩阵转置寄存器 MTRO;
[0016] S6 :循环上述步骤S2~S5,按照上述规律进行传输,直到数据全部传输完成。
[0017] 作为本发明的进一步改进:所述步骤Sl中,所述传输参数包括传输模式、传输数 据规模、源地址和目的地址信息。
[0018] 作为本发明的进一步改进:所述步骤S2中,每个所述读请求包含一个矩阵转置 标识信号和用来指示返回数据应写入到矩阵转置寄存器中的位置信息,即转置寄存器写地 址。
[0019] 作为本发明的进一步改进:在所述步骤S2~S5中,通过控制信号Sel对第一矩阵 转置寄存器MTRO和第二矩阵转置寄存器MTRl进行选择;在进行矩阵转置前,第一矩阵转 置寄存器MTRO的控制状态机STATEtl处于IDLE^状态,第二矩阵转置寄存器MTRl的状态机 STATE1处于IDLEi状态,Sel信号为0 ;当数据有效信号Data_Ready到达时,由于Sel= 0, STATEtl转换到WrtC1状态,对第一矩阵转置寄存器MTRO进行写操作;当写满后,Sel信号转为 1,STATEtl转换到Rd^状态;当读完第一矩阵转置寄存器MTRO后,STATE^自动转换到IDLE。 状态;在第一矩阵转置寄存器MTRO进行读操作的同时,由于Sel= 1,当下次Data_Ready 到达时,STATE1转换到Wrti状态,对第二矩阵转置寄存器MTRl进行写操作,写操作完后Sel 信号转为〇,STATE1转换到Rdi状态;读操作完后,STATEi自动转换到IDLEi状态。
[0020] 与现有技术相比,本发明的优点在于:本发明的用于GPDSP的基于乒乓机制支持 数据乱序返回的DM矩阵转置传输方法,为数据返回乱序情况下的矩阵转置给出了一种合 理的解决方法;整体上具有实现结构简单紧凑、原理清晰、工作可靠、适用范围广、用户编程 简单等优点,在应用时对配置的DM参数信息不需要进行复杂的计算,通过采用乒乓机制, 大大提高了矩阵转置传输的效率,同时传输数据粒度可配置,因此可以支持Nbits和2*N bits两种粒度,具有较高的灵活性。综上所述,本发明能在DM传输过程中快速完成乱序返 回数据的矩阵转置操作,有利于提高整个芯片的计算性能。
【附图说明】
[0021] 图1是本发明方法在具体应用中的流程示意图。
[0022] 图2是本发明在具体实施例中采用64bits数据粒度时转置寄存器写入过程示意 图。
[0023] 图3是本发明在具体实施例中采用64bits数据粒度时转置寄存器读出过程示意 图。
[0024] 图4是本发明在具体实施例中采用128bits数据粒度时转置寄存器写入过程示意 图。
[0025] 图5是本发明在具体实施例中采用128bits数据粒度时转置寄存器读出过程示意 图。
[0026] 图6是本发明在具体实施例中采用乒乓缓存机制的实现状态示意图。
【具体实施方式】
[0027] 以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
[0028] 本发明的用于GPDSP的基于乒乓机制支持数据乱序返回的DM矩阵转置传输方 法,其矩阵转置的数据粒度可以进行配置,支持Nbits和2*Nbits两种数据粒度。
[0029] 为了完成数据乱序返回情况下的矩阵转置操作,本发明在直接存储访问部件 DMA(DirectMemoryAccess,DMA)的内部设有深度为Y、宽度为Y*Nbits的矩阵转置寄存 器(DMA的数据带宽为Y*Nbits)。
[0030] 当直接存储访问部件DM进行矩阵转置传输时,发出的读请求中包含返回数据应 写入到矩阵转置寄存器中的行位置信息,即矩阵转置寄存器写地址WrtMTRAddr。当直接存 储访问部件DMA接受到返回数据后,根据矩阵转置寄存器写地址WrtMTRAddr将数据写入矩 阵转置寄存器的相应行。
[0031] 当矩阵转置寄存器按配置的数据粒度要求被写满后,数据从矩阵转置寄存器中以 列的方式读出,并发给地址生成模块。地址生成
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1