CN103677655A - 一种二维数组数据流在存储器上的读写方法及装置 - Google Patents
一种二维数组数据流在存储器上的读写方法及装置 Download PDFInfo
- Publication number
- CN103677655A CN103677655A CN201210364001.5A CN201210364001A CN103677655A CN 103677655 A CN103677655 A CN 103677655A CN 201210364001 A CN201210364001 A CN 201210364001A CN 103677655 A CN103677655 A CN 103677655A
- Authority
- CN
- China
- Prior art keywords
- subspace
- memory
- read
- dimensional array
- concordance list
- 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
Images
Landscapes
- Static Random-Access Memory (AREA)
Abstract
本发明提出二维数组在存储器上的读写方法,包括:1.1,每个R×C的二维数组单元划分成N×N个大小相同的子数据块,单位时间内存储器读写数据量均为N个子数据块;1.2,大小为R×C×(N+1)/N的存储器空间划分为(N+1)×N个子空间,并唯一编号;1.3,建立存储空间占用索引表,包含(N+1)×N个与子空间对应的索引项;1.4,依次将二维数组单元按照第一维度写入空闲的子空间,设置写入的子空间的索引项为占用;最早于第一个第二维度的数组元素全部写入存储器之后开始读出操作:按照第二维度从存储器依次读出二维数组单元,设置读出的子空间的索引项为空闲,释放读出的子空间。本发明还提出了用于上述方法的装置。
Description
技术领域
本发明涉及数字信号处理领域,尤其涉及一种二维数组数据流在存储器上的读写方法及装置。
背景技术
在当前的数字信号处理中,常常要对二维数组进行处理,更多的场景是对连续的二维数组数据流进行持续不断的处理,数据量大,持续时间长,处理速度要求高,处理时间有限,而且处理顺序与数据源产生顺序正交,比如无线通信中的时域频域二维通信数据的处理,以子信道为单位,子信道是个时域频域的二维数组,基带处理装置一次接收一组跨所有子信道的完整的频域数据,需要等收到一定时长的数据,达到一个子信道要求的时间长度,才能开始启动处理,数据不完整时只能先缓存。
为了保持数据处理流水线通路不间断,通常采用乒乓缓存技术,使用两块相同大小数据单元缓存区,一块接收下一个二维数组数据,一块用于当前二维数组数据处理,两块循环使用,达到乒乓缓存效果。其不足之处在于:在二维数组数据量大时,需要开辟大量的存储器空间,成为***的一个巨大的资源负担,并且随着***容量的增加,比如无线宽带通信,随着通信带宽和时隙的扩大,该问题会越来越严重。
发明内容
为了解决上述问题,本发明提出了一种二维数组数据流在存储器上的读写方法,该方法针对的场景是:在单位时间T内,所述存储器的读出和写入的数据总量相同,输入数据流按照第一维度写入存储器空闲部分,输出数据流同时按照第二维度从存储器占用部分读出。该方法包括以下步骤:
1.1,将每个大小为S,S=R×C的二维数组单元划分成N×N个大小相同的子数据块,其中R和C都能被N整除,N≥2,在单位时间T内,存储器的读出和写入的数据总量均为N个子数据块;
1.2,将大小为S×(N+1)/N的存储器的存储空间划分为(N+1)×N个与子数据块同样大小的存储器子空间;
1.3,建立一个存储空间占用索引表,所述索引表总共包含(N+1)×N个索引项,每个索引项与一个存储器子空间相互唯一对应,用于指示存储器子空间的占用/空闲状态;
1.4,依次将二维数组单元按照第一维度顺序写入空闲的存储器子空间,同时设置写入的子空间所对应的索引项为占用;最早于第一个第二维度的数组元素全部写入存储器之后开始读出操作:按照第二维度顺序从存储器依次读出二维数组单元,同时设置读出的子空间所对应的索引项为空闲,并释放已读出的子空间。
上述步骤1.4中,所述读出操作最早于第一个第二维度的数组元素全部写入存储器之后才开始是为了保证能够按照第二维度顺序读出数据流。优选的,所述读出操作可以在一个完整二维数组单元全部写入存储器之后才开始。
优选的,在单位时间T内,数据流的写入和读出可以采用并发进行的方式,也可以采用分时复用存储器访问的方式,只要在相同的单位时间T内,写入和读出存储器的数据量相同,均为N个子数据块,则无论采用何种方式,数据流的存储器都不会发生上溢出或下溢出。
优选的,在单位时间T内,N个子数据块的读写可以为单次存储器访问操作,也可以为一系列存储器访问操作。
本发明也可用于多维数组数据流的读写,对于K维数组数据,K≥3,需要先转化为K-1层二维数组,参照本发明分步实现。
本发明是根据空间占用索引表,调度分配空闲的存储器子空间,实现存储器子空间的循环调用,达到以S×(N+1)/N大小的存储器实现二维数组数据流的乒乓缓存的目的。优选的,根据空间占用索引表调度分配空闲的存储器子空间的算法可以进一步采用如下的具体步骤来实现:
步骤1.3中,所述索引表分为两个部分,其中第一部分为一个包含N×N个索引项的二维索引表,支持从两个维度的访问操作,可以是二维索引链表或者二维矩阵索引表,第二部分包含其它N个索引项,所述索引表的所有索引项初始化为空闲;
步骤1.4具体包括:
1.4.1,将第一个二维数组单元按照列方向写入空闲的存储器子空间,并在索引表第一部分按照列方向填入写入的子空间的编号;
在单位时间T内,二维数组数据流的读出和写入的数据量等于N个子数据块,则从初始经过单位时间N×T后,第一个完整的二维数组单元就完成了写入,存储器被占用N×N个子空间,空间占用索引表的第一部分记录了相应的存储器子空间编号,未使用的N个子空间块被记录在空间占用索引表的第二部分。
1.4.2,将第二个二维数组单元按照列方向写入空闲的存储器子空间,并且在索引表第一部分按照行方向填入被写入的子空间的编号,该编号在索引表第二部分顺序读取;同时按照行方向从存储器读出第一个二维数组单元,并且在索引表第二部分顺序填入被读出子空间的编号,该编号在索引表第一部分按照行方向读取;索引表更新的时间点可以参考下段描述。
在(N+1)×T单位时间内,进行的是第二个二维数组单元第一列子数据块的所有数组元素的写入,同时进行第一个二维数组单元第一行子数据块的所有数组元素的读出。被写入的子空间的编号在空间占用索引表第二部分读取;被读出子空间的编号在索引表第一部分的行方向读取出;在单位时间结束时,被读出释放的N个存储器子空间才被记录在空间占用索引表第二部分,写满新数据的N个原空闲存储器子空间的编号,按照行方向才被记录在索引表第一部分,取代被读出的存储器子空间的编号。
在(N+2)×T到(N+N)×T单位时间内,参照上段描述继续进行数据流的写入和读出操作,在(N+N)×T单位时间结束时,第二个二维数组单元被完全写入存储器,第一个二维数组单元完成所有元素的输出。
1.4.3,将第三个二维数组单元按照列方向写入空闲的存储器子空间,并且在索引表第一部分按照列方向填入被写入的子空间的编号,该编号在索引表第二部分顺序读取;同时按照行方向从存储器读出第二个二维数组单元,并且在索引表第二部分顺序填入被读出子空间的编号,该编号在索引表第一部分按照列方向读取;
在(2N+1)×T单位时间内,进行的是第三个二维数组单元第一列子数据块的所有数组元素的输入,同时进行第二个二维数组单元第一行子数据块的所有数组元素的输出;由于第二个二维数组单元在存储器子空间复用过程中,子空间分配方向发生了改变,所以被读出子空间的编号在空间占用索引表第一部分按照列方向读取;被写入的子空间的编号在空间占用索引表第二部分读取;在单位时间结束时,被读出释放的N个存储器子空间才被记录在空间占用索引表第二部分,写满新数据的N个原空闲存储器子空间的编号,按照列方向才被记录在索引表第一部分,取代被读出的存储器子空间的编号。
在(2N+2)×T到(2N+N)×T单位时间内,参照上段描述继续进行数据流的写入和读出操作。在(2N+N)×T单位时间结束时,第三个二维数组单元被完全写入存储器,第二个二维数组单元完成所有元素的输出。
1.4.4,第奇数序号的二维数组单元读出时,参照步骤1.4.2进行,第偶数序号的二维数组单元读出时,参照步骤1.4.3进行。
优选的,由于维度的等效性,上述调度分配的行操作和列操作可以进行统一的互换,不影响方法的实施效果。当输入数据流按照行方向写入存储器空闲部分,输出数据流按照列方向从存储器占用部分读出时,相应的,在空间占用索引表第一部分填入或读取子空间编号所依照的行列顺序也将进行互换。
优选的,上述具体实现方法中,只要根据索引表中的子空间的编号就可以找到数据的存储位置,因此,存储器子空间存储方向可以和二维数组单元生成方向相同或不同,其存储方向可以任意设定,在数据流读取过程中保持一致即可,不会影响方法的实施效果。
本发明还提出了一种用于二维数组数据流存取的装置,包括以下部分:存储器单元,空间占用索引表单元,读写地址计算单元和存储器读写控制单元;所述存储器单元被划分为(N+1)×N个与子数据块同样大小的存储器子空间;所述空间占用索引表单元包含一个N×N的二维寄存器组和一个大小为N的一维寄存器组,用于记录存储器子空间的编号,还包含一个二维数组单元序号奇偶标记器,用于控制二维寄存器组的编号读取方向;所述读写地址计算单元根据空间占用索引表单元提供的存储器子空间的编号和存储器读写控制单元提供的读写相对地址,计算出存储器子空间的绝对地址,向存储器读写控制单元输出;所述存储器读写控制单元根据读写地址计算单元提供的绝对地址、外部输入的数据,生成存储器单元的访问控制时序。
本发明提出的另一种用于二维数组数据流存取的装置,包括以下部分:存储器单元,空间占用索引表单元,存储器子空间选择单元和存储器读写控制单元;所述存储器单元划分为(N+1)×N个与子数据块同样大小的存储器子空间,还包含一个读通道多路选择器和一个写通道多路选择器,根据存储器子空间选择单元提供的读选择信号选通输出存储器子空间,根据存储器块选择单元提供的写选择信号选通输入存储器子空间;所述空间占用索引表单元包含一个N×N的二维寄存器组和一个大小为N的一维寄存器组,用于记录存储器子空间的编号,还包含一个二维数组单元序号奇偶标记器,用于控制二维寄存器组的编号读取方向;所述存储器子空间选择单元根据空间占用索引表提供的存储器子空间的编号,向存储器单元输出读、写存储器子空间的选择信号;所述存储器读写控制单元根据外部输入的数据,生成存储器单元的访问控制时序。
优选的,上段所述装置中的空间占用索引表单元和存储器子空间选择单元可以用一个存储器子空间复用选择单元代替。所述存储器子空间复用选择单元内部集成一个存储器子空间轮换状态机,根据存储器子空间的地址空间信息,向存储器单元输出读、写存储器子空间块的选择信号。
本发明针对输入输出具有维度正交特性的二维数组数据流,用(N+1)/N倍(N≥2)二维数组数据量大小的存储器,实现了二维数组数据流的乒乓缓存,而常规方法实现二维数组数据流的乒乓缓存需要2S大小的存储器。根据实际应用,在二维数组数据可分的合理N值范围内,N值越大,节省的存储器容量越大。
与现有技术相比,本发明的优点在于:1,可节省二维数组数据流的存储空间;2,存储器子空间的分割大小一致,子数据块存储的格式一致,简化了数据存储的过程,方便了数据流的读取访问,提高了存储器访问效率。
附图说明
图1是实施例一的8T时间内的数据流存取的调度顺序示意图;
图2是实施例一的第1个单位时间T内,存储器子空间块0、1的存储方向示意图;
图3是实施例一的第3个单位时间T内,存储器子空间块0、3的读出方向,以及存储器子空间块2、5的存储方向示意图;
图4是实施例二所描述的装置的结构示意图;
图5是实施例三所描述的装置的结构示意图;
图6是实施例四所描述的装置的结构示意图。
具体实施方式
下面结合附图,通过具体实施例对本发明做进一步详细说明。
实施例一
本实施例描述R=6,C=4,N=2时,二维数组数据流在存储器上的读写方法。设定二维数组数据流的一个完整二维数组单元的大小为S(S=6×4,R=6,C=4),将一个完整二维数组单元分成N×N(N=2)个相同大小的子数据块,形成一个二维的数据矩阵,每个子数据块数据量为3×2;二维数组数据流在指定的单位时间T内,写入和读出存储器的数据量相同,都是2个数据块大小为12,保证数据流的存储器不发生上溢出或下溢出。输入数据流按照列方向写入空闲存储器,输出数据流按照行方向从存储器读出。最早于第一行所有元素全部存在存储器上之后才能开始数据流输出,起始时间定义为0。
本实施例为了便于描述取N=2,但在实际应用时并不限于N=2,在二维数组数据可分的合理N值范围内,N值尽量取大,节省的存储器容量越大。如图1所示,本实施例在二维数组数据流的一个完整二维数组单元全部存在存储器上之后才开始数据流输出。图1中,横轴为时间轴,以单位时间T推进;从时间轴开始从上往下,第一行是输入二维数组数据流子数据块,子数据块编号的第一个数字为完整二维数组单元的序号,第二个数字为二维数组单元内部子数据块的编号;第二行是输出二维数组数据流子数据块,编号含义相同;第三行是存储器,存储器子空间的大小与子数据块相同,在时间0时刻存储器的子空间上面是存储器子空间编号,后续时刻存储器的每个子空间上的编号对应的是二维数组子数据块,表示存储了相应子数据块的数据;第四行是存储器空间占用索引表,分两部分,上面的是空间占用索引矩阵,下面是空闲空间索引队列,调度过程中记录的是存储器子空间的编号或者基地址。
设定二维数组数据流的存储器空间总量需要S×3/2,等同于6个上述子数据块;首先将存储器分成6个相同大小的存储子空间,编号标记,如图1所示从0到5进行编号;建立有6项索引的空间占用索引表,初始化为空闲值;空间占用索引表分为两个部分,其中第一部分含2×2项,建立为二维索引链表或者二维矩阵索引表,可以支持从两个维度的访问操作,剩余2项索引表为第二部分,如图0时刻所示。
下面结合图1描述8T时间内的数据流存取方法,后续时间是这些过程的循环,不再重复描述。
步骤a,在前2T时间内,接收二维数组输入数据流的第一个完整二维数组单元,该完整二维数组单元分成2×2个相同大小的子数据块;假定输入数据流按照列方向生成,按照列方向顺序写入空闲存储器,每填充一个存储器子空间块,就将子空间块编号按照列方向填入空间占用索引表。经过2个单位时间T,一个完整二维数组单元完成输入,存储器空间被占用4个子空间块,空间占用索引表的第一部分记录了相应的存储器子空间块编号。未使用的2个子空间块被记录在空间占用索引表的第二部分。
本实施例的存储器子空间的存储方向和数据流二维数组单元生成方向相同,如图2所示,在第1个单位时间T内,子空间块0、子空间块1的数据存储方向和子数据块1-0、子数据块1-1的数据生成方向相同。
步骤b,在第3个单位时间T内,进行第二个二维数组单元第一个和第二个列元素(即子数据块2-0、2-1)的输入,同时进行第一个二维数组单元第一个到第三个行元素(即子数据块1-0、1-2)的输出;输出地址按照空间占用索引表第一部分的行方向读取出子空间块编号进行计算;输入地址按照空间占用索引表第二部分读取出子空间块编号进行计算;在单位时间结束时,被读出释放的2个存储器子空间块编号被顺序记录在空间占用索引表第二部分;写满新数据的原空闲存储器子空间块编号,被填入空间占用索引表第一部分的索引项,取代被输出的存储器子空间块编号。
如图3所示,在第3个单位时间T内,子空间块0、子空间块3的数据读出方向和子数据块1-0、子数据块1-2的数据生成方向正交,子空间块2、子空间块5的数据存储方向和子数据块2-0、子数据块2-1的数据生成方向相同。
步骤c,在第4个单位时间T内,参照步骤b进行数据流的输入输出操作。在第4个单位时间T结束时,第二个二维数组单元被完全写入存储器,第一个二维数组单元完成所有元素的输出。
步骤d,在第5个单位时间T内,进行第三个二维数组单元第一个和第二个列元素的输入,同时进行第二个二维数组单元第一个到第三个行元素的输出;由于第二个二维数组单元在存储器子空间复用过程中,存储方向发生了改变,所以其输出地址按照空间占用索引表第一部分的列方向读取出子空间块编号进行计算;输入地址按照空间占用索引表第二部分读取出子空间块编号进行计算;其余操作与步骤b相同。
步骤e,在第6个单位时间T内,参照步骤d进行数据流的输入输出操作,只是输出地址按照空间占用索引表第一部分的列方向读取出子空间块编号进行计算。
步骤f,第奇数序号的二维数组单元输出时,参照步骤b到c进行,第偶数序号的二维数组单元输出时,参照步骤d到e进行。
在上述实现中,为了简洁,空间占用索引表第一部分使用了2维数组,也可以采用2维链表的结构来实现。
本实施例的调度分配空闲存储器子空间的算法采用空间占用索引表读取顺序与二维数组元素顺序关联的方案,由于维度的等效性,可以将上述的行操作换为列操作,同时列操作换为行操作,不影响算法的实施效果。此外,本实施例存储器子空间的存储方向和数据流二维数组单元生成方向相同,简化了数据存储的过程,方便了数据流的读取访问,提高了存储器访问效率。实际应用时,存储器子空间的存储方向也可以和数据流二维数组单元生成方向不相同,存储器子空间的存储方向可以任意设定,只要在数据流读取过程中保持一致即可,不会影响子空间调度算法的实施效果。
本实施例中N=2,使用了3S/2大小的存储器实现了二维数组数据流的乒乓缓存,相比通常的乒乓缓存方法节省了S/2大小的存储器。
实施例二
本实施例描述一个用于实施例一的二维数组数据流的存储器读写装置,R=6,C=4,N=2。
本实施例的装置的结构示意图如图4所示,可以电路集成在通信基带处理器中,该装置包括存储器单元,空间占用索引表单元,读写地址计算单元和存储器读写控制单元;
存储器单元统一编址,按照二维数组子数据块大小,将存储器单元分为6块连续、大小相同的地址区域。
上述空间占用索引表单元分为两部分,第一部分采用2×2的寄存器组,第二部分采用1×2的寄存器组,每个索引项用于记录存储器子空间的区域编号;空间占用索引表单元内部还集成二维数组单元序号奇偶标记器,用于控制2×2的寄存器组记录的区域编号的读取方向。
上述读写地址计算单元根据空间占用索引表单元提供的地址空间信息和存储器读写控制单元提供的读写相对地址,计算出数据在存储器子空间中存放的绝对地址,向存储器读写控制单元输出。
上述存储器读写控制单元根据读写地址计算单元提供的绝对地址、外部输入的数据,生成存储器单元的访问控制时序。
本实施例的存储器使用了嵌入式单端口静态存储器,数据流输入输出分时共享同一访问界面,单端口静态存储器的访问速率是数据流速度的2倍。也可以使用嵌入式双端口静态存储器,数据流输入输出使用各自的访问界面,双端口静态存储器的访问速率和数据流速度相同;也可以应用其他类型的存储器,保证存储器的访问速率和数据流速度匹配即可。
实施例三
本实施例描述又一个用于实施例一的二维数组数据流的存储器读写装置,R=6,C=4,N=2。
本实施例的装置的结构示意图如图5所示,可以电路集成在通信基带处理器中,该装置包括存储器单元,空间占用索引表单元,存储器子空间选择单元和存储器读写控制单元。
上述存储器单元统一编址,按照二维数组数据子块大小,将存储器单元分为6块大小相同,物理独立的存储器块;内部包含一个读通道多路选择器和一个写通道多路选择器,根据存储器子空间选择单元提供的读选择信号选通输出存储器子空间块,根据存储器子空间选择单元提供的写选择信号选通输入存储器子空间块。对外可以提供同时的输入输出操作。存储器可以使用嵌入式单端口静态存储器,也可以使用双端口静态存储器,或其他类型的存储器,本实施例采用了嵌入式单端口静态存储器。
上述空间占用索引表单元第一部分采用2×2的寄存器组,第二部分采用1×2的寄存器组;用于记录存储器子空间的区域编号;空间占用索引表单元内部还集成二维数组单元序号奇偶标记器,用于控制二维寄存器组输出区域编号的读取方向。
上述存储器子空间选择单元根据空间占用索引表单元提供的地址空间信息,向存储器单元输出读、写存储器子空间块的选择信号。
上述存储器读写控制单元根据外部输入的数据,生成存储器单元的访问控制时序。
实施例四
本实施例还描述一个用于实施例一的二维数组数据流的存储器读写装置,R=6,C=4,N=2。
本实施例的装置的结构示意图如图6所示,可以电路集成在通信基带处理器中,该装置包括存储器单元,存储器子空间复用选择单元和存储器读写控制单元。
上述存储器单元和实施例三中的存储器单元结构一致。
上述存储器读写控制单元根据外部输入的数据,生成存储器单元的访问控制时序。
上述存储器子空间复用选择单元内部集成一个存储器子空间轮换状态机,根据存储器子空间的地址空间信息,向存储器单元输出读、写存储器子空间块的选择信号。按照实施例一描述的存储器子空间的调度算法,经过有限次数的轮换后,会出现子空间轮换状态的重复,因此经过有限次数的轮换后,可以使用一个固定状态转移序列的状态机来实现这种固定的轮换次序,从而省略空间占用索引表单元的使用。
由于上述存储器单元内部的存储器子空间块结构的相同性,可以在每次数据的输入过程中选择空闲存储器子空间块的任意一个来先存放数据,即可以任意调配空闲存储器子空间块顺序来存储输入数据,进而优化存储器块轮换达到重复所需要的次数,减少存储器块轮换状态机的状态数目,优化电路结构。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种二维数组数据流在存储器上的读写方法,所述二维数组数据流由R×C的二维数组单元组成,其特征在于,包括以下步骤:
1.1,将每个二维数组单元划分成N×N个大小相同的子数据块,其中R和C都能被N整除,N≥2,在单位时间T内,存储器的读出和写入的数据总量均为N个子数据块;
1.2,将大小为R×C×(N+1)/N的存储器的存储空间划分为(N+1)×N个与子数据块同样大小的存储器子空间,并建立唯一编号;
1.3,建立一个存储空间占用索引表,所述索引表总共包含(N+1)×N个索引项,每个索引项与一个存储器子空间相互唯一对应,用于指示存储器子空间的占用/空闲状态;
1.4,依次将二维数组单元按照第一维度顺序写入空闲的存储器子空间,同时设置写入的子空间所对应的索引项为占用;最早于第一个第二维度的数组元素全部写入存储器之后开始读出操作:按照第二维度顺序从存储器依次读出二维数组单元,同时设置读出的子空间所对应的索引项为空闲,并释放已读出的子空间。
2.根据权利要求1所述的方法,其特征在于步骤1.4,所述读出操作在一个完整二维数组单元全部写入存储器之后才开始。
3.根据权利要求1所述的方法,其特征在于,在单位时间T内,存储器的读出和写入,采用并发进行的方式,或者采用分时复用存储器访问的方式。
4.根据权利要求1所述的方法,其特征在于,在单位时间T内,N个子数据块的读写为单次存储器访问操作或者为一系列存储器访问操作。
5.根据权利要求1所述的方法,其特征在于,对于K维数组数据,K≥3,先转化为K-1层二维数组,再按照步骤1.1至步骤1.4分步实现。
6.根据权利要求1所述的方法,其特征在于:
步骤1.3中,所述索引表分为两个部分,其中第一部分为一个包含N×N个索引项的二维索引表,第二部分包含其它N个索引项,所述索引表的所有索引项初始化为空闲;
步骤1.4具体包括:
1.4.1,将第一个二维数组单元按照列方向写入空闲的存储器子空间,并在索引表第一部分按照列方向填入写入的子空间的编号;
1.4.2,将第二个二维数组单元按照列方向写入空闲的存储器子空间,并且在索引表第一部分按照行方向填入被写入的子空间的编号,该编号在索引表第二部分顺序读取;同时按照行方向从存储器读出第一个二维数组单元,并且在索引表第二部分顺序填入被读出子空间的编号,该编号在索引表第一部分按照行方向读取;
1.4.3,将第三个二维数组单元按照列方向写入空闲的存储器子空间,并且在索引表第一部分按照列方向填入被写入的子空间的编号,该编号在索引表第二部分顺序读取;同时按照行方向从存储器读出第二个二维数组单元,并且在索引表第二部分顺序填入被读出子空间的编号,该编号在索引表第一部分按照列方向读取;
1.4.4,第奇数序号的二维数组单元读出时,按照步骤1.4.2进行,第偶数序号的二维数组单元读出时,按照步骤1.4.3进行。
7.根据权利要求6所述的方法,其特征在于,行操作和列操作进行互换。
8.根据权利要求6所述的方法,其特征在于,存储器子空间存储方向和二维数组单元生成方向不相同。
9.一种用于权利要求6的装置,其特征在于,包括以下部分:存储器单元,空间占用索引表单元,读写地址计算单元和存储器读写控制单元;
所述存储器单元被划分为(N+1)×N个与子数据块同样大小的存储器子空间;
所述空间占用索引表单元包含一个N×N的二维寄存器组和一个大小为N的一维寄存器组,用于记录存储器子空间的编号,还包含一个二维数组单元序号奇偶标记器,用于控制二维寄存器组的编号读取方向;
所述读写地址计算单元根据空间占用索引表单元提供的存储器子空间的编号和存储器读写控制单元提供的读写相对地址,计算出存储器子空间的绝对地址,向存储器读写控制单元输出;
所述存储器读写控制单元根据读写地址计算单元提供的绝对地址、外部输入的数据,生成存储器单元的访问控制时序。
10.一种用于权利要求6的装置,其特征在于,包括以下部分:存储器单元,空间占用索引表单元,存储器子空间选择单元和存储器读写控制单元;
所述存储器单元划分为(N+1)×N个与子数据块同样大小的存储器子空间;还包含一个读通道多路选择器和一个写通道多路选择器,根据存储器子空间选择单元提供的读选择信号选通输出存储器子空间,根据存储器块选择单元提供的写选择信号选通输入存储器子空间;
所述空间占用索引表单元包含一个N×N的二维寄存器组和一个大小为N的一维寄存器组,用于记录存储器子空间的编号,还包含一个二维数组单元序号奇偶标记器,用于控制二维寄存器组的编号读取方向;
所述存储器子空间选择单元根据空间占用索引表提供的存储器子空间的编号,向存储器单元输出读、写存储器子空间的选择信号;
所述存储器读写控制单元根据外部输入的数据,生成存储器单元的访问控制时序。
11.一种用于权利要求6的装置,其特征在于,包括以下部分:存储器单元,存储器子空间复用选择单元,存储器读写控制单元,
所述存储器单元划分为(N+1)×N个与子数据块同样大小的存储器子空间;还包含一个读通道多路选择器和一个写通道多路选择器,根据存储器子空间复用选择单元提供的读选择信号选通输出存储器子空间,根据存储器子空间复用选择单元提供的写选择信号选通输入存储器子空间;
所述存储器子空间复用选择单元内部集成一个存储器子空间轮换状态机,根据存储器子空间的地址空间信息,向存储器单元输出读、写存储器子空间块的选择信号;
所述存储器读写控制单元根据外部输入的数据,生成存储器单元的访问控制时序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210364001.5A CN103677655B (zh) | 2012-09-26 | 2012-09-26 | 一种二维数组数据流在存储器上的读写方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210364001.5A CN103677655B (zh) | 2012-09-26 | 2012-09-26 | 一种二维数组数据流在存储器上的读写方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103677655A true CN103677655A (zh) | 2014-03-26 |
CN103677655B CN103677655B (zh) | 2016-12-21 |
Family
ID=50315368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210364001.5A Expired - Fee Related CN103677655B (zh) | 2012-09-26 | 2012-09-26 | 一种二维数组数据流在存储器上的读写方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103677655B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107545011A (zh) * | 2016-06-29 | 2018-01-05 | 高德信息技术有限公司 | 一种数据读取方法及装置 |
CN108257582A (zh) * | 2018-01-30 | 2018-07-06 | 广东中星微电子有限公司 | 一种图像的显示缓冲方法和装置 |
CN109582230A (zh) * | 2018-11-20 | 2019-04-05 | 深圳松诺技术有限公司 | 一种基于矩阵式索引的数据存取方法及存取*** |
CN111356094A (zh) * | 2020-01-07 | 2020-06-30 | 北京简约纳电子有限公司 | 一种sim短消息处理方法及装置 |
CN111597239A (zh) * | 2020-04-10 | 2020-08-28 | 中科驭数(北京)科技有限公司 | 数据对齐的方法及装置 |
CN112564670A (zh) * | 2020-11-20 | 2021-03-26 | 核工业二〇八大队 | 一种音频大地电磁数据工频噪声干扰的滤波方法 |
CN117368571A (zh) * | 2023-12-08 | 2024-01-09 | 深圳市鼎阳科技股份有限公司 | 一种实时频谱分析仪及其数据处理方法 |
WO2024098687A1 (zh) * | 2022-11-11 | 2024-05-16 | 深圳市中兴微电子技术有限公司 | 交织数据的处理方法、装置、存储介质及电子装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828773A (zh) * | 2005-03-04 | 2006-09-06 | 中国科学院计算技术研究所 | 多维数组在动态随机存取存储器上的快速读写方法及装置 |
CN101470678A (zh) * | 2007-12-29 | 2009-07-01 | 中国科学院声学研究所 | 基于突发乱序的存储器控制器、***及其访存调度方法 |
CN102023944A (zh) * | 2010-12-18 | 2011-04-20 | 浙江大学 | 一种存储器多模访问控制方法及其片上sram存储器控制*** |
CN102375694A (zh) * | 2010-08-20 | 2012-03-14 | 杭州华三通信技术有限公司 | 数据处理方法和装置 |
-
2012
- 2012-09-26 CN CN201210364001.5A patent/CN103677655B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1828773A (zh) * | 2005-03-04 | 2006-09-06 | 中国科学院计算技术研究所 | 多维数组在动态随机存取存储器上的快速读写方法及装置 |
CN101470678A (zh) * | 2007-12-29 | 2009-07-01 | 中国科学院声学研究所 | 基于突发乱序的存储器控制器、***及其访存调度方法 |
CN102375694A (zh) * | 2010-08-20 | 2012-03-14 | 杭州华三通信技术有限公司 | 数据处理方法和装置 |
CN102023944A (zh) * | 2010-12-18 | 2011-04-20 | 浙江大学 | 一种存储器多模访问控制方法及其片上sram存储器控制*** |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107545011A (zh) * | 2016-06-29 | 2018-01-05 | 高德信息技术有限公司 | 一种数据读取方法及装置 |
CN108257582A (zh) * | 2018-01-30 | 2018-07-06 | 广东中星微电子有限公司 | 一种图像的显示缓冲方法和装置 |
CN109582230A (zh) * | 2018-11-20 | 2019-04-05 | 深圳松诺技术有限公司 | 一种基于矩阵式索引的数据存取方法及存取*** |
CN109582230B (zh) * | 2018-11-20 | 2022-04-08 | 深圳松诺技术有限公司 | 一种基于矩阵式索引的数据存取方法及存取*** |
CN111356094A (zh) * | 2020-01-07 | 2020-06-30 | 北京简约纳电子有限公司 | 一种sim短消息处理方法及装置 |
CN111356094B (zh) * | 2020-01-07 | 2021-09-03 | 北京简约纳电子有限公司 | 一种sim短消息处理方法及装置 |
CN111597239A (zh) * | 2020-04-10 | 2020-08-28 | 中科驭数(北京)科技有限公司 | 数据对齐的方法及装置 |
CN112564670A (zh) * | 2020-11-20 | 2021-03-26 | 核工业二〇八大队 | 一种音频大地电磁数据工频噪声干扰的滤波方法 |
CN112564670B (zh) * | 2020-11-20 | 2023-11-21 | 核工业二〇八大队 | 一种音频大地电磁数据工频噪声干扰的滤波方法 |
WO2024098687A1 (zh) * | 2022-11-11 | 2024-05-16 | 深圳市中兴微电子技术有限公司 | 交织数据的处理方法、装置、存储介质及电子装置 |
CN117368571A (zh) * | 2023-12-08 | 2024-01-09 | 深圳市鼎阳科技股份有限公司 | 一种实时频谱分析仪及其数据处理方法 |
CN117368571B (zh) * | 2023-12-08 | 2024-03-01 | 深圳市鼎阳科技股份有限公司 | 一种实时频谱分析仪及其数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103677655B (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103677655A (zh) | 一种二维数组数据流在存储器上的读写方法及装置 | |
US7733892B2 (en) | Buffer management method based on a bitmap table | |
CN103714038B (zh) | 一种数据处理方法和装置 | |
CN107077882B (zh) | 一种dram刷新方法、装置和*** | |
CN106302260B (zh) | 4个读端口4个写端口全共享报文的数据缓存处理方法及数据处理*** | |
US20110252215A1 (en) | Computer memory with dynamic cell density | |
EP2684133B1 (en) | Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers | |
CN102279818A (zh) | 支持有限共享的向量数据访存控制方法及向量存储器 | |
JP2022508028A (ja) | 3次元画像処理におけるデータの読み書き方法とシステム、記憶媒体及び端末 | |
CN103019974A (zh) | 存储器访问处理方法及控制器 | |
CN103605478B (zh) | 存储地址标示、配置方法和数据存取方法及*** | |
CN102520902B (zh) | 基于单片块ram的并行写入多fifo实现方法 | |
CN104035903A (zh) | 一种基于可重构技术的二维数据访问动态自适应方法 | |
CN102118304B (zh) | 一种信元交换方法和装置 | |
CN102981965A (zh) | 一种nand flash文件*** | |
CN215341078U (zh) | 存储访问电路、集成芯片及电子设备 | |
CN101980140B (zh) | 一种ssram访问控制*** | |
CN104778130B (zh) | 一种支持容量与组相联度灵活可配的核外高速缓存装置 | |
JP6059360B2 (ja) | バッファ処理方法及び装置 | |
CN202332303U (zh) | 一种多通道实时直读存储器结构 | |
CN109314658A (zh) | 网络交换设备及时隙交换的方法 | |
CN102006087B (zh) | 基于sram的卷积交织方法及其装置 | |
CN107293318B (zh) | 一种可配位宽的嵌入式存储器 | |
CN105511807A (zh) | 一种基于存储设备的数据存储管理方法及*** | |
CN106325757A (zh) | 一种存储结构及其存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20191121 Granted publication date: 20161221 |
|
PD01 | Discharge of preservation of patent | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20200710 Granted publication date: 20161221 |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161221 Termination date: 20200926 |