《一种矩阵转置的方法.pdf》由会员分享,可在线阅读,更多相关《一种矩阵转置的方法.pdf(5页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102253925 A (43)申请公布日 2011.11.23 CN 102253925 A *CN102253925A* (21)申请号 201010174342.7 (22)申请日 2010.05.18 G06F 17/16(2006.01) (71)申请人 江苏芯动神州科技有限公司 地址 215634 江苏省张家港保税区广东路 9 号 C 栋三层 (72)发明人 孙瑞玮 何苗平 (54) 发明名称 一种矩阵转置的方法 (57) 摘要 本发明公开了一种矩阵转置的方法, 将待转 置矩阵划分为不少于 1 个的子矩阵 ; 按顺序从一 个子矩阵中每次取出一行数据 ; 将。
2、取出的数据逐 个放入与子矩阵列数相同数量的矢量寄存器中 的、 与取出的数据在子矩阵中的行数相同的列中, 直到子矩阵中的所有行数据都放入到矢量寄存器 中 ; 将计算子矩阵在转置后矩阵中对应的位置 ; 按顺序逐个读取矢量寄存器的数据, 放入到转置 后矩阵中对应的位置, 直到所有矢量寄存器的数 据都放入到转置后矩阵中对应的位置, 重复上述 步骤直到待转置矩阵中的数据都放入到转置后矩 阵中对应的位置。 采用了本发明的技术方案, 能够 有效地提高矩阵转置的执行速度。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 1 页 说明书 2 页 附图 1 页 CN。
3、 102253931 A1/1 页 2 1. 一种矩阵转置的方法, 其特征在于, 包括以下步骤 : A、 将待转置矩阵划分为不少于 1 个的子矩阵 ; B、 按顺序从一个子矩阵中每次取出一行数据 ; C、 将取出的数据逐个放入与子矩阵列数相同数量的矢量寄存器中的、 与取出的数据在 子矩阵中的行数相同的列中 ; D、 重复步骤 B 和步骤 C, 直到子矩阵中的所有行数据都放入到矢量寄存器中, 再转至步 骤 E ; E、 计算子矩阵在转置后矩阵中对应的位置 ; F、 按顺序逐个读取矢量寄存器的数据, 放入到转置后矩阵中对应的位置, 直到所有矢 量寄存器的数据都放入到转置后矩阵中对应的位置 ; G、。
4、 重复步骤 B 到步骤 F, 直到待转置矩阵中的数据都放入到转置后矩阵中对应的位置。 2. 根据权利要求 1 所述的一种矩阵转置的方法, 其特征在于, 步骤 A 中, 子矩阵是 8 乘 8 矩阵。 3. 根据权利要求 2 所述的一种矩阵转置的方法, 其特征在于, 8 乘 8 矩阵中未占满的位 置补零。 4. 根据权利要求 1 所述的一种矩阵转置的方法, 其特征在于, 子矩阵与待转置矩阵等 同。 权 利 要 求 书 CN 102253925 A CN 102253931 A1/2 页 3 一种矩阵转置的方法 技术领域 0001 本发明涉及微处理器技术领域, 尤其涉及一种矩阵转置的方法。 背景技术。
5、 0002 随着处理器技术的进步, 用户通常期望和需要他们的计算机的性能越来越高, 因 此处理器的数据并行能力变的尤其重要。矩阵运算广泛存在于图像和信号处理领域, 转置 运算在其中应用很多。 0003 现有的矩阵转置技术方案的内容是 : 0004 1) 将待转置矩阵划分为多个小矩阵 ; 0005 2) 将小矩阵元素输入到矢量处理器中 ; 0006 3) 在矢量处理器中通过元素位移和交换完成小矩阵转置 ; 0007 4) 根据转置规则吧数据送至进行变换后的内存地址中 ; 0008 5) 将全部小矩阵组合为转置后的矩阵。 0009 这种矩阵转置技术方案由于在矢量处理器中通过元素位移和交换完成小矩阵。
6、转 置, 故转置处理速度比较慢, 转置需要较多的处理时间。 发明内容 0010 本发明的目的在于提出一种矩阵转置的方法, 能够有效地提高矩阵转置的执行速 度。 0011 为达此目的, 本发明采用以下技术方案 : 0012 一种矩阵转置的方法, 包括以下步骤 : 0013 A、 将待转置矩阵划分为不少于 1 个的子矩阵 ; 0014 B、 按顺序从一个子矩阵中每次取出一行数据 ; 0015 C、 将取出的数据逐个放入与子矩阵列数相同数量的矢量寄存器中的、 与取出的数 据在子矩阵中的行数相同的列中 ; 0016 D、 重复步骤 B 和步骤 C, 直到子矩阵中的所有行数据都放入到矢量寄存器中, 再转。
7、 至步骤 E ; 0017 E、 计算子矩阵在转置后矩阵中对应的位置 ; 0018 F、 按顺序逐个读取矢量寄存器的数据, 放入到转置后矩阵中对应的位置, 直到所 有矢量寄存器的数据都放入到转置后矩阵中对应的位置 ; 0019 G、 重复步骤 B 到步骤 F, 直到待转置矩阵中的数据都放入到转置后矩阵中对应的 位置。 0020 步骤 A 中, 子矩阵是 8 乘 8 矩阵。 0021 8 乘 8 矩阵中未占满的位置补零。 0022 子矩阵与待转置矩阵等同。 0023 采用了本发明的技术方案, 对于一个矩阵转置操作, 由于去除了在矢量处理器中 说 明 书 CN 102253925 A CN 102。
8、253931 A2/2 页 4 的元素位移和交换处理过程, 有效的提高了矩阵转置的执行速度。 附图说明 0024 图 1 是本发明具体实施方式中矩阵转置流程图。 具体实施方式 0025 下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。 0026 图 1 是本发明具体实施方式中矩阵转置流程图。如图 1 所示, 该矩阵转置流程包 括以下步骤 : 0027 步骤 101、 将待转置矩阵根据矢量寄存器划分为 1 个或者多个的子矩阵, 子矩阵可 以是 8 乘 8 矩阵, 8 乘 8 矩阵中未占满的位置补零。 0028 步骤 102、 按照子矩阵在待转置矩阵中的顺序, 从第一个子矩阵中按照行序。
9、取出第 一行的 8 个数据。 0029 步骤 103、 将取出的 8 个数据逐个放入 8 个矢量寄存器中的第一列中, 即子矩阵第 一行的第一个数据放入第一个矢量寄存器的第一列中, 子矩阵第一行的第二个数据放入第 二个矢量寄存器的第一列中, 如此类推。 0030 步骤 104、 判断第一个子矩阵中的所有行数据是否都放入到矢量寄存器中, 如果 否, 则转至步骤 102, 重复步骤 102 和步骤 103, 只不过是将子矩阵的第二行 8 个数据放入 8 个矢量寄存器的第二列, 如此类推 ; 如果是, 则转至步骤 105。 0031 步骤 105、 计算该子矩阵在转置后矩阵中对应的位置。 0032 步。
10、骤 106、 按矢量寄存器的顺序逐个读取矢量寄存器的数据, 即先读取一个矢量寄 存器中存储的该子矩阵的一列 8 个数据放入到转置后矩阵中对应的位置, 再读取下一个矢 量寄存器中存储的该子矩阵的一列 8 个数据放入到转置后矩阵中对应的位置, 直到所有矢 量寄存器的数据都放入到转置后矩阵中对应的位置。 0033 步骤 107、 判断是否所有的子矩阵数据都放入到转置后矩阵中, 如果否, 则转至步 骤102, 重复步骤102到步骤106去转置第二个子矩阵, 如此类推 ; 如果是, 则转至步骤108。 0034 步骤 108、 矩阵转置完成, 结束流程。 0035 以上所述, 仅为本发明较佳的具体实施方式, 但本发明的保护范围并不局限于此, 任何熟悉该技术的人在本发明所揭露的技术范围内, 可轻易想到的变化或替换, 都应涵盖 在本发明的保护范围之内。因此, 本发明的保护范围应该以权利要求的保护范围为准。 说 明 书 CN 102253925 A CN 102253931 A1/1 页 5 图 1 说 明 书 附 图 CN 102253925 A 。