[发明专利]用于可变矩阵的DMA快速转置方法及装置有效
| 申请号: | 201511029788.X | 申请日: | 2015-12-31 |
| 公开(公告)号: | CN106933756B | 公开(公告)日: | 2023-01-03 |
| 发明(设计)人: | 樊广超;李祖松;杨思博;何苗平;冯睿鑫;赵晏伯 | 申请(专利权)人: | 北京国睿中数科技股份有限公司;中国电子科技集团公司第十四研究所 |
| 主分类号: | G06F13/16 | 分类号: | G06F13/16;G06F13/28 |
| 代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张大威 |
| 地址: | 100085 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 可变 矩阵 dma 快速 方法 装置 | ||
1.一种用于可变矩阵的DMA快速转置方法,其特征在于,包括以下步骤:
获取待转置矩阵大小,并根据预先设定的配置需求将所述待转置矩阵分解成多个待转置小矩阵,并获取所述每个待转置小矩阵的矩阵信息,其中,所述矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;其中,根据DMA的多种矩阵转置性能、所述待转置矩阵的类型、和/或所述DMA中SRAM的容量限制对所述矩阵行数、所述矩阵列数以及所述矩阵中每个元素的字节大小进行设定;
基于直接存储器访问DMA,根据所述每个待转置小矩阵的矩阵信息分别对所述DMA内部的SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,当所述每个待转置小矩阵依次被转置后,所述待转置矩阵完成转置;
根据所述每个待转置小矩阵的矩阵信息分别对所述DMA内部的SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,包括:
根据所述每个待转置小矩阵的矩阵信息分别读取所述每个待转置小矩阵中每行所对应的数据;
根据所述每个待转置小矩阵的矩阵信息分配多个SRAM块,并生成写入SRAM块的地址,并根据所述写入SRAM块的地址依次将所述每行所对应的数据写入至对应的SRAM块,其中,所述SRAM块的个数与所述每个待转置小矩阵的行数一致;其中,根据所述矩阵信息产生的AXI读取数据大小对应小矩阵的一行,并且对应SRAM块的大小;
当所述每个待转置小矩阵中的所有数据全部写入至对应的SRAM块时,根据所述每个待转置小矩阵的矩阵信息生成多个读取SRAM块地址;
根据所述多个读取SRAM块地址依次同时读取所述多个SRAM块,并依次将同时读取到的数据组成目标矩阵的一行,以完成所述每个待转置小矩阵的转置;其中,不同的小矩阵对应的SRAM块组成方式是不同的,根据所述矩阵信息产生的读取的SRAM地址具有多个,每次读取多个不同的SRAM小块;
使用两组相同大小的SRAM,一组SRAM在小矩阵通过AXI总线写出的时候,使用相同方法对另外一组SRAM分配对应大小的SRAM块,进行SRAM读写地址计算,同时读取AXI总线数据写入另外一组SRAM,当另外一组SRAM完成写入数据时,一组SRAM完成写出数据,两组功能互换,一组SRAM进行下一个小矩阵数据的写入,另外一组进行其中小矩阵数据的写出;
其中,根据矩阵信息发出对应大小的AXI读写信号;
其中,每个所述SRAM块的大小根据所述每个待转置小矩阵的矩阵信息确定,所述待转置小矩阵的矩阵大小不固定且均小于所述DMA中SRAM的容量。
2.一种用于可变矩阵的DMA快速转置装置,其特征在于,包括:
分解模块,用于获取待转置矩阵大小,并根据预先设定的配置需求将所述待转置矩阵分解成多个待转置小矩阵,并获取所述每个待转置小矩阵的矩阵信息,其中,所述矩阵信息包括矩阵行数、矩阵列数以及矩阵中每个元素的字节大小;其中,根据DMA的多种矩阵转置性能、所述待转置矩阵的类型、和/或所述DMA中SRAM的容量限制对所述矩阵行数、所述矩阵列数以及所述矩阵中每个元素的字节大小进行设定;
转置模块,用于基于直接存储器访问DMA,根据所述每个待转置小矩阵的矩阵信息对所述DMA内部的SRAM分成对应大小的SRAM块,并通过所述对应大小的SRAM块依次对所述每个待转置小矩阵进行转置,在所述每个待转置小矩阵依次被转置后,所述待转置矩阵完成转置;
其中,所述转置模块包括:
AXI总线控制单元,用于根据所述每个待转置小矩阵的矩阵参数发出对应的AXI读写信号,以分别读取所述每个待转置小矩阵中每行所对应的数据;
矩阵控制单元,用于根据所述每个待转置小矩阵的矩阵信息分配多个SRAM块,并生成写入SRAM块的地址,并根据所述写入SRAM块的地址依次将所述每行所对应的数据写入至对应的SRAM块,其中,所述SRAM块的个数与所述每个待转置的小矩阵的行数一致;其中,根据所述矩阵信息产生的AXI读取数据大小对应小矩阵的一行,并且对应SRAM块的大小;
所述矩阵控制单元还用于:在所述每个待转置小矩阵中的所有数据全部写入至对应的SRAM块时,根据所述每个待转置小矩阵的矩阵信息生成多个读取SRAM块地址;
所述AXI总线控制单元还用于:根据所述多个读取SRAM块地址依次同时读取所述多个SRAM块,并依次将同时读取到的数据组成目标矩阵的一行,以完成所述每个待转置小矩阵的转置;其中,不同的小矩阵对应的SRAM块组成方式是不同的,根据所述矩阵信息产生的读取的SRAM地址具有多个,每次读取多个不同的SRAM小块;
使用两组相同大小的SRAM,一组SRAM在小矩阵通过AXI总线写出的时候,使用相同方法对另外一组SRAM分配对应大小的SRAM块,进行SRAM读写地址计算,同时读取AXI总线数据写入另外一组SRAM,当另外一组SRAM完成写入数据时,一组SRAM完成写出数据,两组功能互换,一组SRAM进行下一个小矩阵数据的写入,另外一组进行其中小矩阵数据的写出;
其中,每个所述SRAM块的大小根据所述每个待转置小矩阵的矩阵信息确定,所述待转置小矩阵的矩阵大小不固定且均小于所述DMA中SRAM的容量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京国睿中数科技股份有限公司;中国电子科技集团公司第十四研究所,未经北京国睿中数科技股份有限公司;中国电子科技集团公司第十四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511029788.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种抗震柴油机冷却水箱
- 下一篇:一种给水处理用高速混凝反应器





