用于可变矩阵的DMA快速转置方法及装置制造方法及图纸

技术编号:15791846 阅读:89 留言:0更新日期:2017-07-09 22:19
本发明专利技术公开了一种用于可变矩阵的DMA快速转置方法及装置,其中,该方法包括以下步骤:获取待转置矩阵大小,并根据预先设定的配置需求将待转置矩阵分解成多个待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,其中,矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;基于直接存储器访问DMA,根据每个待转置的小矩阵的矩阵信息对DMA内部的SRAM分成对应大小的SRAM块,并通过对应大小的SRAM块依次对每个待转置小矩阵进行转置,当每个待转置小矩阵依次被转置后,待转置矩阵完成转置。该方法适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。

【技术实现步骤摘要】
用于可变矩阵的DMA快速转置方法及装置
本专利技术涉及数据信号处理领域,尤其涉及一种用于可变矩阵的DMA快速转置方法及装置。
技术介绍
DMA(DirectionalMemoryAccess,直接内存访问)是数字信号处理器中用于快速数据交换的重要技术,一般数字信号处理经常需要对矩阵进行转置处理,矩阵转置的性能影响到最终的计算性能。相关技术,一般采用DMA乒乓流水的方式以进行矩阵转置,具体地,根据固定的行列将矩阵分成固定大小的小矩阵以实现矩阵转置。但是,这样不能适用于不同类型的矩阵转置,同时也不能提高矩阵转置效率。
技术实现思路
本专利技术的目的旨在至少在一定程度上解决上述的技术问题之一。为此,本专利技术的一个目的在于提出一种用于可变矩阵的DMA快速转置方法,该方法适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。本专利技术的第二个目的在于提出一种用于可变矩阵的DMA快速转置装置。为达上述目的,本专利技术第一方面实施例提出了一种用于可变矩阵的DMA快速转置方法,包括以下步骤:获取待转置矩阵大小,并根据预先设定的配置需求将所述待转置矩阵分解成多个待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,其中,所述矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;基于直接存储器访问DMA,根据所述每个待转置小矩阵的矩阵信息对DMA内部的SRAM分成对应大小的SRAM块,并通过对应大小的SRAM块依次对所述每个待转置小矩阵进行转置;当所述每个待转置小矩阵依次被转置后,所述待转置矩阵完成转置。根据本专利技术实施例的用于可变矩阵的DMA快速转置方法,根据预先设定的配置需求将待转置矩阵分解成多个待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,基于直接存储器访问DMA,根据每个待转置小矩阵的矩阵信息对DMA内部的SRAM分成对应大小的SRAM块,再通过对应大小的SRAM块依次对每个待转置小矩阵进行转置,当每个待转置小矩阵依次转置后待转置矩阵完成转置,该方法适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。在本专利技术的一个实施例中,所述根据所述每个待转置小矩阵的矩阵信息分别对所述DMA内部的SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,包括:根据所述每个待转置小矩阵的矩阵信息分别读取所述每个待转置的小矩阵中每行所对应的数据;根据所述每个待转置小矩阵的矩阵信息分配多个SRAM(StaticRandomAccessMemory,静态随机存取存储器)块,并生成写入SRAM块的地址,并根据所述写入SRAM块的地址依次将所述每行所对应的数据写入至对应的SRAM块,其中,所述SRAM块的个数与所述每个待转置小矩阵的行数一致;当所述每个待转置小矩阵中的所有数据全部写入至对应的SRAM块时,根据所述每个待转置小矩阵的矩阵信息生成多个读取SRAM块地址;根据所述多个读取SRAM块地址依次同时读取所述多个SRAM块,并依次将同时读取到的数据组成目标矩阵的一行,以完成所述每个待转置小矩阵的转置。在本专利技术的一个实施例中,所述的用于可变矩阵的DMA快速转置方法,每个所述SRAM块的大小根据所述每个待转置小矩阵的矩阵信息确定。在本专利技术的一个实施例中,所述的用于可变矩阵的DMA快速转置方法,其中,所述预先设定的配置需求包括每个待转置小矩阵的矩阵参数,所述矩阵参数包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小,通过以下参数确定所述预先设定的配置需求:所述DMA的多种矩阵转置性能、所述待转置矩阵的类型、和/或所述DMA中SRAM的容量限制。为达上述目的,本专利技术第二方面实施例提出了一种用于可变矩阵的DMA快速转置装置,包括:分解模块,用于获取待转置矩阵大小,并根据预先设定的配置需求将所述待转置矩阵分解成多个待转置小矩阵,并获取所述每个待转置小矩阵的矩阵信息,其中,所述矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;转置模块,用于基于直接存储器访问DMA,根据所述每个待转置小矩阵的矩阵信息对DMA内部SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,在所述每个待转置小矩阵依次被转置后,所述待转置矩阵完成转置。根据本专利技术实施例的用于可变矩阵的DMA快速转置装置,分解模块根据预先设定的配置需求将待转置矩阵分解为待转置小矩阵,转置模块基于直接存储器访问DMA,根据预先设定的配置需求中的每个待转置的小矩阵的矩阵信息对DMA内部SRAM分成对应大小的SRAM块,通过对应大小的SRAM块依次对每个待转置的小矩阵进行转置,在每个待转置小矩阵依次被转置后待转置矩阵完成转置,该装置适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。在本专利技术的一个实施例中,所述转置模块包括:AXI(AdvancedeXtensibleInterfac,总线协议)总线控制单元,用于根据所述每个待转置小矩阵的矩阵参数发出对应的AXI读写信号,以分别读取所述每个待转置小矩阵中每行所对应的数据;矩阵控制单元,用于根据所述每个待转置小矩阵的矩阵信息分配多个SRAM块,并生成写入SRAM块的地址,并根据所述写入SRAM块的地址依次将所述每行所对应的数据写入至对应的SRAM块,其中,所述SRAM块的个数与所述每个待转置小矩阵的行数一致;所述矩阵控制单元还用于:在所述每个待转置小矩阵中的所有数据全部写入至对应的SRAM块时,根据所述每个待转置的小矩阵的矩阵信息生成多个读取SRAM块地址;所述AXI总线控制单元还用于:根据所述多个读取SRAM块地址依次同时读取所述多个SRAM块,并依次将同时读取到的数据组成目标矩阵的一行,以完成所述每个待转置小矩阵的转置。在本专利技术的一个实施例中,所述的用于可变矩阵的DMA快速转置装置,每个所述SRAM块的大小根据所述每个待转置小矩阵的矩阵信息确定。在本专利技术的一个实施例中,如权利要求5所述的用于可变矩阵的DMA快速转置装置,其中,所述预先设定的配置需求包括每个待转置小矩阵的矩阵参数,所述矩阵参数包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小,所述分解模块通过以下参数确定所述预先设定的配置需求:所述DMA的多种矩阵转置性能、所述待转置矩阵的类型、和/或所述DMA中SRAM的容量限制。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,图1为根据本专利技术一个实施例的用于可变矩阵的DMA快速转置方法的流程图;图2为根据本专利技术一个实施例的待转置的小矩阵进行转置的流程图;图3根据本专利技术一个具体实施例的用于可变矩阵的DMA快速转置方法的流程图;图4为根据本专利技术一个实施例的用于可变矩阵的DMA快速转置装置的结构示意图;图5为根据本专利技术一个具体实施例的用于可变矩阵的DMA快速转置装置的结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解本文档来自技高网...
用于可变矩阵的DMA快速转置方法及装置

【技术保护点】
一种用于可变矩阵的DMA快速转置方法,其特征在于,包括以下步骤:获取待转置矩阵大小,并根据预先设定的配置需求将所述待转置矩阵分解成多个待转置小矩阵,并获取所述每个待转置小矩阵的矩阵信息,其中,所述矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;基于直接存储器访问DMA,根据所述每个待转置小矩阵的矩阵信息对所述DMA内部的SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,当所述每个待转置小矩阵依次被转置后,所述待转置矩阵完成转置。

【技术特征摘要】
1.一种用于可变矩阵的DMA快速转置方法,其特征在于,包括以下步骤:获取待转置矩阵大小,并根据预先设定的配置需求将所述待转置矩阵分解成多个待转置小矩阵,并获取所述每个待转置小矩阵的矩阵信息,其中,所述矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;基于直接存储器访问DMA,根据所述每个待转置小矩阵的矩阵信息对所述DMA内部的SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,当所述每个待转置小矩阵依次被转置后,所述待转置矩阵完成转置。2.如权利要求1所述的用于可变矩阵的DMA快速转置方法,其特征在于,根据所述每个待转置小矩阵的矩阵信息分别对所述DMA内部的SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,包括:根据所述每个待转置小矩阵的矩阵信息分别读取所述每个待转置小矩阵中每行所对应的数据;根据所述每个待转置小矩阵的矩阵信息分配多个SRAM块,并生成写入SRAM块的地址,并根据所述写入SRAM块的地址依次将所述每行所对应的数据写入至对应的SRAM块,其中,所述SRAM块的个数与所述每个待转置小矩阵的行数一致;当所述每个待转置小矩阵中的所有数据全部写入至对应的SRAM块时,根据所述每个待转置小矩阵的矩阵信息生成多个读取SRAM块地址;根据所述多个读取SRAM块地址依次同时读取所述多个SRAM块,并依次将同时读取到的数据组成目标矩阵的一行,以完成所述每个待转置小矩阵的转置。3.如权利要求2所述的用于可变矩阵的DMA快速转置方法,其特征在于,每个所述SRAM块的大小根据所述每个待转置小矩阵的矩阵信息确定。4.如权利要求1所述的用于可变矩阵的DMA快速转置方法,其特征在于,其中,所述预先设定的配置需求包括每个待转置小矩阵的矩阵参数,所述矩阵参数包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小,通过以下参数确定所述预先设定的配置需求:所述DMA的多种矩阵转置性能、所述待转置矩阵的类型、和/或所述DMA中SRAM的容量限制。5.一...

【专利技术属性】
技术研发人员:樊广超李祖松杨思博何苗平冯睿鑫赵晏伯
申请(专利权)人:北京国睿中数科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1