CN106933756A - 用于可变矩阵的dma快速转置方法及装置 - Google Patents
用于可变矩阵的dma快速转置方法及装置 Download PDFInfo
- Publication number
- CN106933756A CN106933756A CN201511029788.XA CN201511029788A CN106933756A CN 106933756 A CN106933756 A CN 106933756A CN 201511029788 A CN201511029788 A CN 201511029788A CN 106933756 A CN106933756 A CN 106933756A
- Authority
- CN
- China
- Prior art keywords
- matrix
- transposition
- minor
- dma
- treat
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling 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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种用于可变矩阵的DMA快速转置方法及装置,其中,该方法包括以下步骤:获取待转置矩阵大小,并根据预先设定的配置需求将待转置矩阵分解成多个待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,其中,矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;基于直接存储器访问DMA,根据每个待转置的小矩阵的矩阵信息对DMA内部的SRAM分成对应大小的SRAM块,并通过对应大小的SRAM块依次对每个待转置小矩阵进行转置,当每个待转置小矩阵依次被转置后,待转置矩阵完成转置。该方法适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。
Description
技术领域
本发明涉及数据信号处理领域,尤其涉及一种用于可变矩阵的DMA快速转置方法及装置。
背景技术
DMA(Directional Memory Access,直接内存访问)是数字信号处理器中用于快速数据交换的重要技术,一般数字信号处理经常需要对矩阵进行转置处理,矩阵转置的性能影响到最终的计算性能。相关技术,一般采用DMA乒乓流水的方式以进行矩阵转置,具体地,根据固定的行列将矩阵分成固定大小的小矩阵以实现矩阵转置。但是,这样不能适用于不同类型的矩阵转置,同时也不能提高矩阵转置效率。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的一个目的在于提出一种用于可变矩阵的DMA快速转置方法,该方法适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。
本发明的第二个目的在于提出一种用于可变矩阵的DMA快速转置装置。
为达上述目的,本发明第一方面实施例提出了一种用于可变矩阵的DMA快速转置方法,包括以下步骤:获取待转置矩阵大小,并根据预先设定的配置需求将所述待转置矩阵分解成多个待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,其中,所述矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;基于直接存储器访问DMA,根据所述每个待转置小矩阵的矩阵信息对DMA内部的SRAM分成对应大小的SRAM块,并通过对应大小的SRAM块依次对所述每个待转置小矩阵进行转置;当所述每个待转置小矩阵依次被转置后,所述待转置矩阵完成转置。
根据本发明实施例的用于可变矩阵的DMA快速转置方法,根据预先设定的配置需求将待转置矩阵分解成多个待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,基于直接存储器访问DMA,根据每个待转置小矩阵的矩阵信息对DMA内部的SRAM分成对应大小的SRAM块,再通过对应大小的SRAM块依次对每个待转置小矩阵进行转置,当每个待转置小矩阵依次转置后待转置矩阵完成转置,该方法适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。
在本发明的一个实施例中,所述根据所述每个待转置小矩阵的矩阵信息分别对所述DMA内部的SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,包括:根据所述每个待转置小矩阵的矩阵信息分别读取所述每个待转置的小矩阵中每行所对应的数据;根据所述每个待转置小矩阵的矩阵信息分配多个SRAM(Static Random Access Memory,静态随机存取存储器)块,并生成写入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(Advanced eXtensible Interfac,总线协议)总线控制单元,用于根据所述每个待转置小矩阵的矩阵参数发出对应的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快速转置方法及装置。
图1为根据本发明一个实施例的用于可变矩阵的DMA快速转置方法的流程图。
如图1所示,该用于可变矩阵的DMA快速转置方法可以包括:
S11,获取待转置矩阵大小,并根据预先设定的配置需求将待转置矩阵分解成多个待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,其中,矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小。
需要说明的是,矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小等,可以理解,这3个参数都是可变参数,可以根据需要对矩阵的行数、矩阵的列数以及矩阵中每个元素的字节大小进行设定,需要进行再次设定时,可以同时对3个矩阵参数进行设定也可以选其中一个到3个不等根据需求进行设定。举例而言,一次转置的最小矩阵M行*N列*Abyte(字节),M、N、A都是可配置的,其中M,N的值可以为但不限于4、8、16、32等,A可以为但不限于1、2、4、8等。
其中,通过以下参数可确定预先设定的配置需求:DMA的多种矩阵转置性能、待转置矩阵的类型、和/或DMA中SRAM的容量限制。
S12,基于直接存储器访问DMA,根据每个待转置小矩阵的矩阵信息参数分别对DMA内部的SRAM分成对应大小的SRAM块,并通过对应大小的SRAM块依次对每个待转置的小矩阵进行转置,当每个待转置小矩阵依次被转置后待转置矩阵完成转置。
具体而言,如图2所示,步骤S12可包括如下步骤:
S121,根据每个待转置小矩阵的矩阵信息分别读取每个待转置小矩阵中每行所对应的数据。
S122,根据每个待转置小矩阵的矩阵信息生成多个SRAM块,并生成写入SRAM块的地址,并根据写入SRAM块的地址依次将每行所对应的数据写入至对应的SRAM块,其中,SRAM块的个数与每个待转置小矩阵的行数一致。
也就是说,根据可变矩阵信息产生的AXI读取数据大小对应小矩阵的一行,并且对应SRAM块的大小。
S123,当每个待转置小矩阵中的所有数据全部写入至对应的SRAM块时,根据每个待转置小矩阵的矩阵信息生成多个读取SRAM块地址。
S124,根据多个读取SRAM块地址依次同时读取多个SRAM块,并依次将同时读取到的数据组成目标矩阵的一行,以完成每个待转置小矩阵的转置。
需要说明的是,不同的小矩阵对应的SRAM块组成方式是不同的,根据可变矩阵信息产生的读取的SRAM地址具有多个,每次读取多个不同的SRAM小块。综上,本发明实施例的用于可变矩阵的DMA快速转置方法可以根据矩阵信息的不同,写入sram的地址是不同的,sram的组成方式是不同的,针对不同矩阵,对AXI总线的读写请求不同。由此,在控制面积,功耗的同时更加有针对性的提高了性能和效率。
根据本发明实施例的用于可变矩阵的DMA快速转置方法,根据预先设定的配置需求将待转置矩阵分解成多个待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,基于直接存储器访问DMA,根据每个待转置小矩阵的矩阵信息对DMA内部的SRAM分成对应大小的SRAM块,再通过对应大小的SRAM块依次对每个待转置小矩阵进行转置,当每个待转置小矩阵依次转置后待转置矩阵完成转置,该方法适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。
为了使得本领域技术人员能够更加清楚地了解本发明,下面将结合图3进行详细描述。
举例而言,如图3所示,首先,根据预先设定的配置需求配置小矩阵的传输参数,如小矩阵的矩阵信息(如矩阵行数、矩阵列数以及矩阵中每个元素的字节大小等)(步骤S301)。之后,可根据小矩阵的传输参数配置大矩阵(即待转置矩阵),并启动DMA(步骤S302)。之后,基于DMA读取已配置的小矩阵的每一行,其中,根据矩阵信息的不同,一次读取小矩阵的一行大小不同(步骤S303)。同时,可计算写入Sram的地址,其中,根据矩阵信息的不同,写入SRAM的地址不同(步骤S304)。之后,DMA中的AXI总线可根据计算的写入Sram的地址将读取已配置的小矩阵的每一行的数据写入对应的Sram块中(步骤S305)。当判断该小矩阵读完(步骤S306)之后,可计算读取Sram的地址(步骤S307)。DMA根据读取Sram的地址同时读取多个SRAM块,并将每次读取到的数据写到目的小矩阵的一行,即将每次读取到的数据作为目的小矩阵的行数据(步骤S308)。当判断小矩阵写完(步骤S309)之后,继续写下一个小矩阵(步骤S310),当检测所有小矩阵写出完毕(步骤S311)时,可判断DMA矩阵转置完成(步骤S312)。也就是说,在小矩阵全部写入SRAM后,矩阵转置时,同时读取多个SRAM小块,拼成一行目的的小矩阵的数据,通过总线写出。
根据本发明实施例的用于可变矩阵的DMA快速转置方法,根据预先设定的配置需求将待转置矩阵分解成多个待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,基于直接存储器访问DMA,根据每个待转置小矩阵的矩阵信息对DMA内部的SRAM分成对应大小的SRAM块,再通过对应大小的SRAM块依次对每个待转置小矩阵进行转置,当每个待转置小矩阵依次转置后待转置矩阵完成转置,该方法适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。
与上述几种实施例提供的用于可变矩阵的DMA快速转置方法相对应,本发明的一种实施例还提供一种用于可变矩阵的DMA快速转置装置,由于本发明实施例提供的用于可变矩阵的DMA快速转置装置与上述实施例提供的用于可变矩阵的DMA快速转置方法相对应,因此在前述用于可变矩阵的DMA快速转置方法的实施方式也适用于本实施例提供的用于可变矩阵的DMA快速转置装置,在本实施例中不再详细描述。图4为根据本发明一个实施例的用于可变矩阵的DMA快速转置装置的结构示意图。如图4所示,该装置包括:分解模块10、转置模块20。
其中,分解模块10用于获取待转置矩阵大小,并根据预先设定的配置需求将待转置矩阵分解为待转置小矩阵,并获取每个待转置小矩阵的矩阵信息,其中,矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小,转置模块20用于基于直接存储器访问DMA,根据每个待转置小矩阵的矩阵信息对DMA内部的SRAM分成对应大小的SRAM块,并通过对应大小的SRAM块依次对每个待转置小矩阵进行转置,SRAM模块,用于在小矩阵转置时,根据参数分成相应大小的多个sram块,每个sram块保存小矩阵的一行。不同参数的sram块大小是不同的,在小矩阵写出时,多个sram块同时输出数据,拼成写出小矩阵的一行,在每个待转置小矩阵依次被转置后,待转置矩阵完成转置。
具体而言,转置模块20包括:AXI总线控制单元201用于根据每个待转置小矩阵的矩阵信息发出对应的AXI读写信号,以分别读取每个待转置小矩阵中每行所对应的数据,矩阵控制单元202用于根据每个待转置小矩阵的矩阵信息分配多个SRAM块,并生成写入SRAM块的地址,并根据所述写入SRAM块的地址依次将每行所对应的数据写入至对应的SRAM块,其中,SRAM块的个数与每个待转置小矩阵的行数一致,矩阵控制单元202还用于在每个待转置小矩阵中的所有数据全部写入至对应的SRAM块时,根据每个待转置小矩阵的矩阵信息生成多个读取SRAM块地址,AXI总线控制单元201还用于根据多个读取SRAM块地址依次同时读取多个SRAM块,并依次将同时读取到的数据组成目标矩阵的一行,以完成每个待转置小矩阵的转置。
在本发明的一个实施例中,每个SRAM块的大小根据每个待转置小矩阵的矩阵信息确定。
在本发明的一个实施例中,分解模块10通过以下参数确定预先设定的配置需求:DMA的多种矩阵转置性能、待转置矩阵的类型、和/或DMA中SRAM的容量限制。
根据本发明实施例的用于可变矩阵的DMA快速转置装置,分解模块根据预先设定的配置需求将待转置矩阵分解为待转置小矩阵,转置模块基于直接存储器访问DMA,根据预先设定的配置需求中的每个待转置的小矩阵的矩阵信息对DMA内部SRAM分成对应大小的SRAM块,通过对应大小的SRAM块依次对每个待转置的小矩阵进行转置,在每个待转置小矩阵依次被转置后待转置矩阵完成转置,该装置适用于多种类型矩阵的DMA转置,提高了DMA转置的效率。
图5为根据本发明一个具体实施例的用于可变矩阵的DMA快速转置装置的结构示意图。
其中,有标准AXI3协议的总线接口,AXI总线控制模块501用来根据矩阵信息发出对应大小的AXI读写信号,一组临时存放矩阵数据的sram,一组矩阵控制寄存器502用来根据矩阵信息计算写入sram的矩阵地址,和读出sram的矩阵地址,在通用DMA中增加了矩阵转置功能,使用矩阵转置计算单元,将大矩阵分解为多个小矩阵的转置,每次根据一次转置的最小矩阵M行*N列,矩阵的点数大小Abyte,这3个可变的参数,使用标准的AXI3总线读取对应大小的数据,产生写入SRAM的地址,根据可变参数灵活组织多个SRAM块,将M行写入SRAM的不同块中。小矩阵全部读入完成后,再根据可变参数产生读SRAM的地址,每次同时读取多个SRAM块,组成目的矩阵的一行,最终通过总线写出小矩阵,完成小矩阵的转置,在每个待转置小矩阵依次被转置后待转置矩阵完成转置,该装置适用于多种类型矩阵的DMA转置,提高了DMA转置的效率
根据本发明实施例的用于可变矩阵的DMA快速转置装置,将大矩阵分解为多个小矩阵的转置,使用标准的AXI3总线读取对应大小的数据,产生写入SRAM的地址,根据可变参数灵活组织多个SRAM块,将M行写入SRAM的不同块中。小矩阵全部读入完成后,再根据可变参数产生读SRAM的地址,每次同时读取多个SRAM块,组成目的矩阵的一行,最终通过总线写出小矩阵,完成小矩阵的转置,在每个待转置小矩阵依次被转置后,待转置矩阵完成转置。
根据本发明实施例的用于可变矩阵的DMA快速转置装置,同样可应用乒乓流水进行矩阵转置,乒乓流水是指如果SRAM的面积大小允许,使用两组相同大小的SRAM,一组SRAM在小矩阵通过AXI总线写出的时候,使用相同方法对另外一组SRAM分配对应大小的SRAM块,进行SRAM读写地址计算,同时读取AXI总线数据写入另外一组SRAM。当另外一组SRAM完成写入数据时,这组SRAM完成写出数据,两组功能互换,这组SRAM进行下一个小矩阵数据的写入,另外一组进行其中小矩阵数据的写出。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
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.一种用于可变矩阵的DMA快速转置装置,其特征在于,包括:
分解模块,用于获取待转置矩阵大小,并根据预先设定的配置需求将所述待转置矩阵分解成多个待转置小矩阵,并获取所述每个待转置小矩阵的矩阵信息,其中,所述矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;
转置模块,用于基于直接存储器访问DMA,根据所述每个待转置小矩阵的矩阵信息对所述DMA内部的SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,在所述每个待转置小矩阵依次被转置后,所述待转置矩阵完成转置。
6.如权利要求5所述的用于可变矩阵的DMA快速转置装置,其特征在于,所述转置模块包括:
AXI总线控制单元,用于根据所述每个待转置小矩阵的矩阵参数发出对应的AXI读写信号,以分别读取所述每个待转置小矩阵中每行所对应的数据;
矩阵控制单元,用于根据所述每个待转置小矩阵的矩阵信息分配多个SRAM块,并生成写入SRAM块的地址,并根据所述写入SRAM块的地址依次将所述每行所对应的数据写入至对应的SRAM块,其中,所述SRAM块的个数与所述每个待转置的小矩阵的行数一致;
所述矩阵控制单元还用于:在所述每个待转置小矩阵中的所有数据全部写入至对应的SRAM块时,根据所述每个待转置小矩阵的矩阵信息生成多个读取SRAM块地址;
所述AXI总线控制单元还用于:根据所述多个读取SRAM块地址依次同时读取所述多个SRAM块,并依次将同时读取到的数据组成目标矩阵的一行,以完成所述每个待转置小矩阵的转置。
7.如权利要求6所述的用于可变矩阵的DMA快速转置装置,其特征在于,每个所述SRAM块的大小根据所述每个待转置小矩阵的矩阵信息确定。
8.如权利要求5所述的用于可变矩阵的DMA快速转置装置,其特征在于,其中,所述预先设定的配置需求包括每个待转置小矩阵的矩阵参数,所述矩阵参数包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小,所述分解模块通过以下参数确定所述预先设定的配置需求:
所述DMA的多种矩阵转置性能、所述待转置矩阵的类型、和/或所述DMA中SRAM的容量限制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511029788.XA CN106933756B (zh) | 2015-12-31 | 2015-12-31 | 用于可变矩阵的dma快速转置方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511029788.XA CN106933756B (zh) | 2015-12-31 | 2015-12-31 | 用于可变矩阵的dma快速转置方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933756A true CN106933756A (zh) | 2017-07-07 |
CN106933756B CN106933756B (zh) | 2023-01-03 |
Family
ID=59443728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511029788.XA Active CN106933756B (zh) | 2015-12-31 | 2015-12-31 | 用于可变矩阵的dma快速转置方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933756B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328315A (zh) * | 2021-11-22 | 2022-04-12 | 北京智芯微电子科技有限公司 | 基于dma的数据预处理方法、dma部件及芯片结构 |
CN115248664A (zh) * | 2022-09-22 | 2022-10-28 | 北京东远润兴科技有限公司 | 数据的读写方法、装置、设备及存储介质 |
CN116150055A (zh) * | 2022-12-09 | 2023-05-23 | 中国科学院空天信息创新研究院 | 基于片上缓存的数据访问方法、装置及转置方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093474A (zh) * | 2007-08-13 | 2007-12-26 | 北京天碁科技有限公司 | 利用矢量处理器实现矩阵转置的方法和处理系统 |
CN102253925A (zh) * | 2010-05-18 | 2011-11-23 | 江苏芯动神州科技有限公司 | 一种矩阵转置的方法 |
CN102508803A (zh) * | 2011-12-02 | 2012-06-20 | 南京大学 | 一种矩阵转置存储控制器 |
CN103048644A (zh) * | 2012-12-19 | 2013-04-17 | 电子科技大学 | 合成孔径雷达成像系统的矩阵转置方法及转置装置 |
CN103412284A (zh) * | 2013-08-29 | 2013-11-27 | 西安电子科技大学 | 基于dsp芯片的sar成像系统中矩阵转置方法 |
CN104679690A (zh) * | 2015-01-22 | 2015-06-03 | 中国人民解放军国防科学技术大学 | 用于gpdsp的基于乒乓机制支持数据乱序返回的dma矩阵转置传输方法 |
-
2015
- 2015-12-31 CN CN201511029788.XA patent/CN106933756B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101093474A (zh) * | 2007-08-13 | 2007-12-26 | 北京天碁科技有限公司 | 利用矢量处理器实现矩阵转置的方法和处理系统 |
CN102253925A (zh) * | 2010-05-18 | 2011-11-23 | 江苏芯动神州科技有限公司 | 一种矩阵转置的方法 |
CN102508803A (zh) * | 2011-12-02 | 2012-06-20 | 南京大学 | 一种矩阵转置存储控制器 |
CN103048644A (zh) * | 2012-12-19 | 2013-04-17 | 电子科技大学 | 合成孔径雷达成像系统的矩阵转置方法及转置装置 |
CN103412284A (zh) * | 2013-08-29 | 2013-11-27 | 西安电子科技大学 | 基于dsp芯片的sar成像系统中矩阵转置方法 |
CN104679690A (zh) * | 2015-01-22 | 2015-06-03 | 中国人民解放军国防科学技术大学 | 用于gpdsp的基于乒乓机制支持数据乱序返回的dma矩阵转置传输方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114328315A (zh) * | 2021-11-22 | 2022-04-12 | 北京智芯微电子科技有限公司 | 基于dma的数据预处理方法、dma部件及芯片结构 |
CN115248664A (zh) * | 2022-09-22 | 2022-10-28 | 北京东远润兴科技有限公司 | 数据的读写方法、装置、设备及存储介质 |
CN115248664B (zh) * | 2022-09-22 | 2023-01-10 | 北京东远润兴科技有限公司 | 数据的读写方法、装置、设备及存储介质 |
CN116150055A (zh) * | 2022-12-09 | 2023-05-23 | 中国科学院空天信息创新研究院 | 基于片上缓存的数据访问方法、装置及转置方法和装置 |
CN116150055B (zh) * | 2022-12-09 | 2023-12-29 | 中国科学院空天信息创新研究院 | 基于片上缓存的数据访问方法、装置及转置方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106933756B (zh) | 2023-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102013106154B4 (de) | Speichersystem und Ein-Chip-System mit linearer Adress-Remapping-Logik | |
AU771163B2 (en) | Simultaneous addressing using single-port rams | |
CN105608490B (zh) | 细胞阵列计算系统以及其中的通信方法 | |
DE102006062024B4 (de) | Halbleiterspeichervorrichtung | |
CN106933756A (zh) | 用于可变矩阵的dma快速转置方法及装置 | |
DE60001913T2 (de) | Mustergenerator für eine testvorrichtung von paketbasierten speichern | |
US20080177909A1 (en) | Content Terminated DMA | |
JP2009526323A5 (zh) | ||
DE102007050864A1 (de) | Verfahren und Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen | |
DE102013018135B4 (de) | Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen | |
DE102006043311A1 (de) | Speichersystem | |
US10552307B2 (en) | Storing arrays of data in data processing systems | |
EP1564646A3 (en) | Configurable embedded processor | |
GB2494257A (en) | Memory interface with a clock channel, command bus and address bus. | |
DE112020003736B4 (de) | Nichtflüchtige multiport-speichervorrichtung mit bankzuordnung und verwandte systeme und verfahren | |
DE112019002100T5 (de) | Zugriff auf dram durch wiederverwendung von pins | |
US5586303A (en) | Structure and method for providing a cache memory of selectable sizes | |
CN108390648A (zh) | 一种基于fpga的高斯白噪声发生器 | |
JP2011003160A5 (zh) | ||
CN109871939B (zh) | 一种图像处理方法及图像处理装置 | |
DE202014011350U1 (de) | FFT- Beschleuniger | |
DE102012202174A1 (de) | Mikrocomputer | |
DE102020106206A1 (de) | Technologien zum Bereitstellen mehrerer Fehlerkorrekturebenen | |
DE112020003028T5 (de) | Vorrichtungen und verfahren zum reparieren von defekten speicherzellen basierend auf einer spezifizierten fehlerrate für bestimmte speicherzellen | |
EP3931704B1 (en) | Accelerating access to memory banks in a data storage system |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180920 Address after: 100085 west 4 Street 5, five street, Haidian District, Beijing. Applicant after: BEIJING CGT CO.,LTD. Applicant after: The 14th Research Institute of China Electronics Technology Group Corporation Address before: 100085 Haidian District, Beijing, Shanghai Information Road 5 Street high Li two thousand science and Technology Building 4 story West. Applicant before: BEIJING CGT CO.,LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |