一种矩阵转置的方法技术

技术编号:6889905 阅读:420 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种矩阵转置的方法,将待转置矩阵划分为不少于1个的子矩阵;按顺序从一个子矩阵中每次取出一行数据;将取出的数据逐个放入与子矩阵列数相同数量的矢量寄存器中的、与取出的数据在子矩阵中的行数相同的列中,直到子矩阵中的所有行数据都放入到矢量寄存器中;将计算子矩阵在转置后矩阵中对应的位置;按顺序逐个读取矢量寄存器的数据,放入到转置后矩阵中对应的位置,直到所有矢量寄存器的数据都放入到转置后矩阵中对应的位置,重复上述步骤直到待转置矩阵中的数据都放入到转置后矩阵中对应的位置。采用了本发明专利技术的技术方案,能够有效地提高矩阵转置的执行速度。

【技术实现步骤摘要】

本专利技术涉及微处理器
,尤其涉及。
技术介绍
随着处理器技术的进步,用户通常期望和需要他们的计算机的性能越来越高,因此处理器的数据并行能力变的尤其重要。矩阵运算广泛存在于图像和信号处理领域,转置运算在其中应用很多。现有的矩阵转置技术方案的内容是1)将待转置矩阵划分为多个小矩阵;2)将小矩阵元素输入到矢量处理器中;3)在矢量处理器中通过元素位移和交换完成小矩阵转置;4)根据转置规则吧数据送至进行变换后的内存地址中;5)将全部小矩阵组合为转置后的矩阵。这种矩阵转置技术方案由于在矢量处理器中通过元素位移和交换完成小矩阵转置,故转置处理速度比较慢,转置需要较多的处理时间。
技术实现思路
本专利技术的目的在于提出,能够有效地提高矩阵转置的执行速度。为达此目的,本专利技术采用以下技术方案,包括以下步骤A、将待转置矩阵划分为不少于1个的子矩阵;B、按顺序从一个子矩阵中每次取出一行数据;C、将取出的数据逐个放入与子矩阵列数相同数量的矢量寄存器中的、与取出的数据在子矩阵中的行数相同的列中;D、重复步骤B和步骤C,直到子矩阵中的所有行数据都放入到矢量寄存器中,再转至步骤E;E、计算子矩阵在转置后矩阵中对应的位置;F、按顺序逐个读取矢量寄存器的数据,放入到转置后矩阵中对应的位置,直到所有矢量寄存器的数据都放入到转置后矩阵中对应的位置;G、重复步骤B到步骤F,直到待转置矩阵中的数据都放入到转置后矩阵中对应的位置。步骤A中,子矩阵是8乘8矩阵。8乘8矩阵中未占满的位置补零。子矩阵与待转置矩阵等同。采用了本专利技术的技术方案,对于一个矩阵转置操作,由于去除了在矢量处理器中的元素位移和交换处理过程,有效的提高了矩阵转置的执行速度。 附图说明图1是本专利技术具体实施方式中矩阵转置流程图。 具体实施例方式下面结合附图并通过具体实施方式来进一步说明本专利技术的技术方案。图1是本专利技术具体实施方式中矩阵转置流程图。如图1所示,该矩阵转置流程包括以下步骤步骤101、将待转置矩阵根据矢量寄存器划分为1个或者多个的子矩阵,子矩阵可以是8乘8矩阵,8乘8矩阵中未占满的位置补零。步骤102、按照子矩阵在待转置矩阵中的顺序,从第一个子矩阵中按照行序取出第一行的8个数据。步骤103、将取出的8个数据逐个放入8个矢量寄存器中的第一列中,即子矩阵第一行的第一个数据放入第一个矢量寄存器的第一列中,子矩阵第一行的第二个数据放入第二个矢量寄存器的第一列中,如此类推。步骤104、判断第一个子矩阵中的所有行数据是否都放入到矢量寄存器中,如果否,则转至步骤102,重复步骤102和步骤103,只不过是将子矩阵的第二行8个数据放入8 个矢量寄存器的第二列,如此类推;如果是,则转至步骤105。步骤105、计算该子矩阵在转置后矩阵中对应的位置。步骤106、按矢量寄存器的顺序逐个读取矢量寄存器的数据,即先读取一个矢量寄存器中存储的该子矩阵的一列8个数据放入到转置后矩阵中对应的位置,再读取下一个矢量寄存器中存储的该子矩阵的一列8个数据放入到转置后矩阵中对应的位置,直到所有矢量寄存器的数据都放入到转置后矩阵中对应的位置。步骤107、判断是否所有的子矩阵数据都放入到转置后矩阵中,如果否,则转至步骤102,重复步骤102到步骤106去转置第二个子矩阵,如此类推;如果是,则转至步骤108。步骤108、矩阵转置完成,结束流程。以上所述,仅为本专利技术较佳的具体实施方式,但本专利技术的保护范围并不局限于此, 任何熟悉该技术的人在本专利技术所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本专利技术的保护范围之内。因此,本专利技术的保护范围应该以权利要求的保护范围为准。本文档来自技高网...

【技术保护点】
1.一种矩阵转置的方法,其特征在于,包括以下步骤:A、将待转置矩阵划分为不少于1个的子矩阵;B、按顺序从一个子矩阵中每次取出一行数据;C、将取出的数据逐个放入与子矩阵列数相同数量的矢量寄存器中的、与取出的数据在子矩阵中的行数相同的列中;D、重复步骤B和步骤C,直到子矩阵中的所有行数据都放入到矢量寄存器中,再转至步骤E;E、计算子矩阵在转置后矩阵中对应的位置;F、按顺序逐个读取矢量寄存器的数据,放入到转置后矩阵中对应的位置,直到所有矢量寄存器的数据都放入到转置后矩阵中对应的位置;G、重复步骤B到步骤F,直到待转置矩阵中的数据都放入到转置后矩阵中对应的位置。

【技术特征摘要】
1.一种矩阵转置的方法,其特征在于,包括以下步骤A、将待转置矩阵划分为不少于1个的子矩阵;B、按顺序从一个子矩阵中每次取出一行数据;C、将取出的数据逐个放入与子矩阵列数相同数量的矢量寄存器中的、与取出的数据在子矩阵中的行数相同的列中;D、重复步骤B和步骤C,直到子矩阵中的所有行数据都放入到矢量寄存器中,再转至步骤E;E、计算子矩阵在转置后矩阵中对应的位置;F、按顺序逐个读取矢量寄存器的数据,放入到转置后...

【专利技术属性】
技术研发人员:孙瑞玮何苗平
申请(专利权)人:江苏芯动神州科技有限公司
类型:发明
国别省市:32

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

1