CN104598391A - 一种待转置二维矩阵的分块线性存储读取方法及系统 - Google Patents

一种待转置二维矩阵的分块线性存储读取方法及系统 Download PDF

Info

Publication number
CN104598391A
CN104598391A CN201510031791.9A CN201510031791A CN104598391A CN 104598391 A CN104598391 A CN 104598391A CN 201510031791 A CN201510031791 A CN 201510031791A CN 104598391 A CN104598391 A CN 104598391A
Authority
CN
China
Prior art keywords
dimensional matrix
transposed
matrix
memory
equal
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.)
Pending
Application number
CN201510031791.9A
Other languages
English (en)
Inventor
姚永新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Empty Science And Technology Ltd Of Foshan City Intelligence Starfish
Original Assignee
Empty Science And Technology Ltd Of Foshan City Intelligence Starfish
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Empty Science And Technology Ltd Of Foshan City Intelligence Starfish filed Critical Empty Science And Technology Ltd Of Foshan City Intelligence Starfish
Priority to CN201510031791.9A priority Critical patent/CN104598391A/zh
Publication of CN104598391A publication Critical patent/CN104598391A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明提供一种待转置二维矩阵的分块线性存储读取方法及系统,所述方法包括将待转置矩阵分块,将分块后的矩阵进行存储以及读取存储数据进行转置操作。本发明通过分块存储待转置数据,并跳变读取待转置数据,提高了矩阵的转置效率,节省了转置时间。

Description

一种待转置二维矩阵的分块线性存储读取方法及系统
技术领域
本发明涉及存储器读取技术领域,尤其涉及一种待转置二维矩阵的分块线性存储读取方法及系统。
背景技术
目前,SAR成像处理系统中常用SDRAM作为数据的存储介质。由于SDRAM的结构特点,SDRAM对于顺序的地址跳变访问可以达到非常高的读写速率,但在地址跳变的随机访问情况下,大量的换行操作严重降低了访问效率。因此,采用行进列出或者列进行出的方法进行矩阵的转置,效率很低。
因此现有技术有待于进一步的改进。
发明内容
鉴于上述现有技术中的不足之处,本发明的目的在于为用户提供一种待转置二维矩阵的分块线性存储读取方法及系统,旨在解决现有技术中采用行进列出或者列进行出的方法进行矩阵的转置,效率较低的缺陷。
本发明解决技术问题所采用的技术方案如下:
一种待转置二维矩阵的分块线性存储读取方法,其中,所述方法包括步骤:
S1、将待转置二维矩阵A(j,i)划分为M×L个大小相等的子矩阵Aml
A ml = A 00 A 01 . . . A 0 ( L - 1 ) A 10 A 11 . . . A 1 ( L - 1 ) . . . . . . . . . . . . A ( M - 1 ) 0 A ( M - 1 ) 1 A 00 A ( M - 1 ) ( L - 1 )
其中,0≤i<NR,0≤j<NA,NR为二维矩阵A(j,i)的总列数,NA为二维矩阵A(j,i)的总列数,每个子矩阵Aml的大小为NA’×NR’,NA’=NA/M,NR’=NR/L,0≤m≤(M-1),0≤l≤(L-1);
S2、将每个子矩阵Aml的元素存入存储器的存储空间的同一物理行中,有:
Bml(NR'·p+q)=Aml(p,q),0≤p≤NA’,0≤q≤NR’;
B(L×NA'×NR'+M×NA'×NR'+k)=Bml(k),0≤k≤NA’×NR’;
存储器的存储空间的同一物理行的存储大小为2n字节,其中n为正整数;
S3、当进行转置时,从存储器的存储空间的每一物理行中隔NR个点取出一个点进行转置。
所述待转置二维矩阵的分块线性存储读取方法,其中,所述步骤S2中当n为偶数时,则M和L均等于2n/2
所述待转置二维矩阵的分块线性存储读取方法,其中,所述步骤S2中当n为奇数时,则M等于2(n-1)/2,且L等于2(n+1)/2
一种待转置二维矩阵的分块线性存储读取方法,其中,包括:
子矩阵获取模块,用于将待转置二维矩阵A(j,i)划分为M×L个大小相等的子矩阵Aml
A ml = A 00 A 01 . . . A 0 ( L - 1 ) A 10 A 11 . . . A 1 ( L - 1 ) . . . . . . . . . . . . A ( M - 1 ) 0 A ( M - 1 ) 1 A 00 A ( M - 1 ) ( L - 1 )
其中,0≤i<NR,0≤j<NA,NR为二维矩阵A(j,i)的总列数,NA为二维矩阵A(j,i)的总列数,每个子矩阵Aml的大小为NA’×NR’,NA’=NA/M,NR’=NR/L,0≤m≤(M-1),0≤l≤(L-1);
写入模块,用于将每个子矩阵Aml的元素存入存储器的存储空间的同一物理行中,有:
Bml(NR'·p+q)=Aml(p,q),0≤p≤NA’,0≤q≤NR’;
B(L×NA'×NR'+M×NA'×NR'+k)=Bml(k),0≤k≤NA’×NR’;
存储器的存储空间的同一物理行的存储大小为2n字节,其中n为正整数;
转置模块,用于当进行转置时,从存储器的存储空间的每一物理行中隔NR个点读取出一个点进行转置。
所述待转置二维矩阵的分块线性存储读取系统,其中,所述步骤S2中当n为偶数时,则M和L均等于2n/2
所述待转置二维矩阵的分块线性存储读取系统,其中,所述步骤S2中当n为奇数时,则M等于2(n-1)/2,且L等于2(n+1)/2
本发明提供一种待转置二维矩阵的分块线性存储读取方法及系统,所述方法包括将待转置矩阵分块,将分块后的矩阵进行存储以及读取存储数据进行转置操作。本发明通过分块存储待转置数据,并跳变读取待转置数据,提高了矩阵的转置效率,节省了转置时间。
附图说明
图1为本发明所述待转置二维矩阵的分块线性存储读取方法较佳实施例的流程图。
图2为本发明所述待转置二维矩阵的分块线性存储读取系统较佳实施例的结构框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
请参见图1,图1是本发明所述待转置二维矩阵的分块线性存储读取方法较佳实施例的流程图。如图1所示,所述待转置二维矩阵的分块线性存储读取方法,包括以下步骤:
步骤S100、将待转置二维矩阵A(j,i)划分为M×L个大小相等的子矩阵Aml
A ml = A 00 A 01 . . . A 0 ( L - 1 ) A 10 A 11 . . . A 1 ( L - 1 ) . . . . . . . . . . . . A ( M - 1 ) 0 A ( M - 1 ) 1 A 00 A ( M - 1 ) ( L - 1 )
其中,0≤i<NR,0≤j<NA,NR为二维矩阵A(j,i)的总列数,NA为二维矩阵A(j,i)的总列数,每个子矩阵Aml的大小为NA’×NR’,NA’=NA/M,NR’=NR/L,0≤m≤(M-1),0≤l≤(L-1)。
步骤S200、将每个子矩阵Aml的元素存入存储器的存储空间的同一物理行中,有:
Bml(NR'·p+q)=Aml(p,q),0≤p≤NA’,0≤q≤NR’;
B(L×NA'×NR'+M×NA'×NR'+k)=Bml(k),0≤k≤NA’×NR’;
存储器的存储空间的同一物理行的存储大小为2n字节,其中n为正整数;
当n为偶数时,则M和L均等于2n/2;当n为奇数时,则M等于2(n-1)/2,且L等于2(n+1)/2
步骤S300、当进行转置时,从存储器的存储空间的每一物理行中隔NR个点取出一个点进行转置。
如果采用行进列出的传统读取方式,访问A(j,i)的一行中的所有数据,数据地址是连续的;如果访问A(j,i)的一列中的所有数据,数据的地址跳变间隔为NR。显然,访问列时,每读写一个数据,SDRAM就需要进行一次换行操作,访问效率大大降低。通过本发明的方法访问A(j,i)中的一行只需要进行L次换行,访问一列只需要M次换行。假设换行操作需要nrowchange个时钟周期,行内操作都是单周期的,那么此时行访问的效率为 &eta; R = N R &prime; N R &prime; + n rowchange , 列访问的效率为 &eta; A = N A &prime; N A &prime; + n rowchange . 由此可见,本发明基于SDRAM行内操作的流水能力,从数据矩阵中划分出一个分布在两维空间的子数据块,将一个子数据块映射到SDRAM的一行内,这样对SDRAM一行内数据的连续访问就可以实现访问二维数据的目的,使对数据矩阵的两维访问速度达到平衡,降低了转置所需的时间,提高了访问效率。
基于上述方法,本发明还提供了待转置二维矩阵的分块线性存储读取系统。如图2所示,其为本发明所述待转置二维矩阵的分块线性存储读取系统较佳实施例的结构框图,所述系统包括:
子矩阵获取模块100,用于将待转置二维矩阵A(j,i)划分为M×L个大小相等的子矩阵Aml
A ml = A 00 A 01 . . . A 0 ( L - 1 ) A 10 A 11 . . . A 1 ( L - 1 ) . . . . . . . . . . . . A ( M - 1 ) 0 A ( M - 1 ) 1 A 00 A ( M - 1 ) ( L - 1 )
其中,0≤i<NR,0≤j<NA,NR为二维矩阵A(j,i)的总列数,NA为二维矩阵A(j,i)的总列数,每个子矩阵Aml的大小为NA’×NR’,NA’=NA/M,NR’=NR/L,0≤m≤(M-1),0≤l≤(L-1)。
写入模块200,用于将每个子矩阵Aml的元素存入存储器的存储空间的同一物理行中,有:
Bml(NR'·p+q)=Aml(p,q),0≤p≤NA’,0≤q≤NR’;
B(L×NA'×NR'+M×NA'×NR'+k)=Bml(k),0≤k≤NA’×NR’;
存储器的存储空间的同一物理行的存储大小为2n字节,其中n为正整数。
转置模块300,用于当进行转置时,从存储器的存储空间的每一物理行中隔NR个点读取出一个点进行转置。
进一步地实施例,在所述待转置二维矩阵的分块线性存储读取系统中,所述步骤S2中当n为偶数时,则M和L均等于2n/2
进一步地实施例,在所述待转置二维矩阵的分块线性存储读取系统中,所述步骤S2中当n为奇数时,则M等于2(n-1)/2,且L等于2(n+1)/2
综上所述,本发明提供一种待转置二维矩阵的分块线性存储读取方法及系统,所述方法包括将待转置矩阵分块,将分块后的矩阵进行存储以及读取存储数据进行转置操作。本发明通过分块存储待转置数据,并跳变读取待转置数据,提高了矩阵的转置效率,节省了转置时间。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

Claims (6)

1.一种待转置二维矩阵的分块线性存储读取方法,其特征在于,所述方法包括步骤:
S1、将待转置二维矩阵A(j,i)划分为M×L个大小相等的子矩阵Aml
A ml = A 00 A 01 . . . A 0 ( L - 1 ) A 10 A 11 . . . A 1 ( L - 1 ) . . . . . . . . . . . . A ( M - 1 ) 0 A ( M - 1 ) 1 A 00 A ( M - 1 ) ( L - 1 )
其中,0≤i<NR,0≤j<NA,NR为二维矩阵A(j,i)的总列数,NA为二维矩阵A(j,i)的总列数,每个子矩阵Aml的大小为NA’×NR’,NA’=NA/M,NR’=NR/L,0≤m≤(M-1),0≤l≤(L-1);
S2、将每个子矩阵Aml的元素存入存储器的存储空间的同一物理行中,有:
Bml(NR'·p+q)=Aml(p,q),0≤p≤NA’,0≤q≤NR’;
B(L×NA'×NR'+M×NA'×NR'+k)=Bml(k),0≤k≤NA’×NR’;
存储器的存储空间的同一物理行的存储大小为2n字节,其中n为正整数;
S3、当进行转置时,从存储器的存储空间的每一物理行中隔NR个点取出一个点进行转置。
2.根据权利要求1所述待转置二维矩阵的分块线性存储读取方法,其特征在于,所述步骤S2中当n为偶数时,则M和L均等于2n/2
3.根据权利要求1所述待转置二维矩阵的分块线性存储读取方法,其特征在于,所述步骤S2中当n为奇数时,则M等于2(n-1)/2,且L等于2(n+1)/2
4.一种待转置二维矩阵的分块线性存储读取方法,其特征在于,包括:
子矩阵获取模块,用于将待转置二维矩阵A(j,i)划分为M×L个大小相等的子矩阵Aml
A ml = A 00 A 01 . . . A 0 ( L - 1 ) A 10 A 11 . . . A 1 ( L - 1 ) . . . . . . . . . . . . A ( M - 1 ) 0 A ( M - 1 ) 1 A 00 A ( M - 1 ) ( L - 1 )
其中,0≤i<NR,0≤j<NA,NR为二维矩阵A(j,i)的总列数,NA为二维矩阵A(j,i)的总列数,每个子矩阵Aml的大小为NA’×NR’,NA’=NA/M,NR’=NR/L,0≤m≤(M-1),0≤l≤(L-1);
写入模块,用于将每个子矩阵Aml的元素存入存储器的存储空间的同一物理行中,有:
Bml(NR'·p+q)=Aml(p,q),0≤p≤NA’,0≤q≤NR’;
B(L×NA'×NR'+M×NA'×NR'+k)=Bml(k),0≤k≤NA’×NR’;
存储器的存储空间的同一物理行的存储大小为2n字节,其中n为正整数;
转置模块,用于当进行转置时,从存储器的存储空间的每一物理行中隔NR个点读取出一个点进行转置。
5.根据权利要求4所述待转置二维矩阵的分块线性存储读取系统,其特征在于,所述步骤S2中当n为偶数时,则M和L均等于2n/2
6.根据权利要求4所述待转置二维矩阵的分块线性存储读取系统,其特征在于,所述步骤S2中当n为奇数时,则M等于2(n-1)/2,且L等于2(n+1)/2
CN201510031791.9A 2015-01-21 2015-01-21 一种待转置二维矩阵的分块线性存储读取方法及系统 Pending CN104598391A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510031791.9A CN104598391A (zh) 2015-01-21 2015-01-21 一种待转置二维矩阵的分块线性存储读取方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510031791.9A CN104598391A (zh) 2015-01-21 2015-01-21 一种待转置二维矩阵的分块线性存储读取方法及系统

Publications (1)

Publication Number Publication Date
CN104598391A true CN104598391A (zh) 2015-05-06

Family

ID=53124199

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510031791.9A Pending CN104598391A (zh) 2015-01-21 2015-01-21 一种待转置二维矩阵的分块线性存储读取方法及系统

Country Status (1)

Country Link
CN (1) CN104598391A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750435A (zh) * 2015-03-31 2015-07-01 宁波高新区宁源科技服务有限公司 一种待转置二维矩阵的分块线性存储读取方法
CN108053855A (zh) * 2017-11-29 2018-05-18 北京时代民芯科技有限公司 一种基于sdram芯片的矩阵转置方法
WO2018192161A1 (zh) * 2017-04-19 2018-10-25 上海寒武纪信息科技有限公司 运算装置及方法
US10896369B2 (en) 2017-04-06 2021-01-19 Cambricon Technologies Corporation Limited Power conversion in neural networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110208901A1 (en) * 2010-02-25 2011-08-25 Jung Wook Kim Memory Systems and Methods of Operating the Same
CN102279386A (zh) * 2011-05-12 2011-12-14 西安电子科技大学 基于fpga的sar成像信号处理数据转置方法
CN103135096A (zh) * 2013-01-11 2013-06-05 北京理工大学 一种合成孔径雷达成像处理转置存储方法和数据访问方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110208901A1 (en) * 2010-02-25 2011-08-25 Jung Wook Kim Memory Systems and Methods of Operating the Same
CN102279386A (zh) * 2011-05-12 2011-12-14 西安电子科技大学 基于fpga的sar成像信号处理数据转置方法
CN103135096A (zh) * 2013-01-11 2013-06-05 北京理工大学 一种合成孔径雷达成像处理转置存储方法和数据访问方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
边明明等: "实时SAR成像系统矩阵转置方法研究与实现", 《计算机工程与应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750435A (zh) * 2015-03-31 2015-07-01 宁波高新区宁源科技服务有限公司 一种待转置二维矩阵的分块线性存储读取方法
US10896369B2 (en) 2017-04-06 2021-01-19 Cambricon Technologies Corporation Limited Power conversion in neural networks
WO2018192161A1 (zh) * 2017-04-19 2018-10-25 上海寒武纪信息科技有限公司 运算装置及方法
CN108053855A (zh) * 2017-11-29 2018-05-18 北京时代民芯科技有限公司 一种基于sdram芯片的矩阵转置方法
CN108053855B (zh) * 2017-11-29 2021-01-08 北京时代民芯科技有限公司 一种基于sdram芯片的矩阵转置方法

Similar Documents

Publication Publication Date Title
US7921245B2 (en) Memory system and device with serialized data transfer
EP3403184B1 (en) Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory
US8612723B2 (en) System and method for storing a sparse matrix
US6353910B1 (en) Method and apparatus for implementing error correction coding (ECC) in a dynamic random access memory utilizing vertical ECC storage
CN107209703B (zh) 双列直插式存储器模块(dimm)以及将数据写入到dimm的方法
US9042194B2 (en) Refresh method, refresh address generator, volatile memory device including the same
CN108053855B (zh) 一种基于sdram芯片的矩阵转置方法
CN104598391A (zh) 一种待转置二维矩阵的分块线性存储读取方法及系统
US8438448B2 (en) Decoding method and device for low density generator matrix codes
US9823863B1 (en) Sub-blocks and meta pages for mapping table rebuild
CN104993837B (zh) 一种卷积交织方法和卷积交织器
US20080195823A1 (en) Method and apparatus for convolutional interleaving/de-interleaving technique
CN102005241A (zh) 半导体存储器件及其控制方法
US20140052912A1 (en) Memory device with a logical-to-physical bank mapping cache
US11755235B2 (en) Increasing random access bandwidth of a DDR memory in a counter application
KR101331738B1 (ko) 비휘발성 메모리를 위한 수정된 판독 동작
CN102567243B (zh) 存储设备的刷新处理方法和存储设备
CN108665940B (zh) Ecc编码电路、解码电路以及存储器控制器
CN108062289B (zh) 快速傅里叶变换fft地址换序方法、信号处理方法及装置
US9715343B2 (en) Multidimensional partitioned storage array and method utilizing input shifters to allow multiple entire columns or rows to be accessed in a single clock cycle
CN110474647B (zh) 有限域构造的ldpc码的译码方法、装置、译码器及存储介质
CN112947854B (zh) 一种基于双通道ddr3的sar数据存储和访问方法及装置
US20230307036A1 (en) Storage and Accessing Methods for Parameters in Streaming AI Accelerator Chip
CN113542770B (zh) 一种dct变换方法及dct变换电路系统
CN113553009B (zh) 数据读取方法、数据写入方法及数据读写方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150506

RJ01 Rejection of invention patent application after publication