CN102541774A - 多粒度并行存储系统与存储器 - Google Patents

多粒度并行存储系统与存储器 Download PDF

Info

Publication number
CN102541774A
CN102541774A CN2011104605851A CN201110460585A CN102541774A CN 102541774 A CN102541774 A CN 102541774A CN 2011104605851 A CN2011104605851 A CN 2011104605851A CN 201110460585 A CN201110460585 A CN 201110460585A CN 102541774 A CN102541774 A CN 102541774A
Authority
CN
China
Prior art keywords
read
write
storage
data
storer
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
Application number
CN2011104605851A
Other languages
English (en)
Other versions
CN102541774B (zh
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.)
Shanghai Silang Technology Co ltd
Original Assignee
Institute of Automation of Chinese Academy of Science
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 Institute of Automation of Chinese Academy of Science filed Critical Institute of Automation of Chinese Academy of Science
Priority to CN201110460585.1A priority Critical patent/CN102541774B/zh
Publication of CN102541774A publication Critical patent/CN102541774A/zh
Application granted granted Critical
Publication of CN102541774B publication Critical patent/CN102541774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Static Random-Access Memory (AREA)

Abstract

本发明公开了一种支持行列多粒度并行读写的多粒度并行存储系统和存储器(300),该存储系统包括读写端口(301)和存储器(300),该存储器由W个存储块(305)和一个数据选通网络(302)构成,每个存储块(305)是由多个存储单元(303)构成的二维阵列,该二维阵列中的存储行(304)包含W个存储单元(303),每个存储块一次可读写一个存储行(304),其中W为2的n次方,n为自然数。本发明提出的存储系统可同时支持不同数据类型的矩阵行列数据并行读取,从而在根本上清除信号处理算法中转置操作的要求,提高信号处理算法执行效率。

Description

多粒度并行存储系统与存储器
技术领域
本发明属于存储技术领域,主要涉及嵌入式信号处理平台中的片上存储系统,特别是支持行列多粒度并行读写的多粒度并行存储系统和存储器。
背景技术
随着集成电路工艺的发展,芯片上可集成更多的运算部件和更大容量静态存储器SRAM容量。高速嵌入式信号处理芯片中可设计多个运算部件和多个大容量、大位宽的片上存储器,实现并行计算和并行存储。信号处理算法经常以矩阵的形式来组织输入/输出数据,并以矩阵为对象进行计算。矩阵数据一般按行或按列存放在存储器中。存储器读写端口位宽固定,并且顺序编址。当矩阵按行存放时,存储器可以一次性并行读写多个矩阵行元素,但无法一次性并行读写多个矩阵列元素;当矩阵按列存放时,存储器可以一次性并行读写多个矩阵列元素,但无法一次性并行读取多个矩阵列元素。
图1是传统的片上存储器的结构和编址方法的示意图,其中显示了当矩阵数据类型与存储单元一致时,矩阵元素在普通片上存储器中的位置。如图1所示,假定存储器读写端口101位宽为4,即存储器100的一行存放4个元素,一次操作可并行读写4个地址连续的元素;矩阵A的尺寸为4×4,矩阵第i行,第j列元素为aij,(0≤i<4,0≤j<4),按行存放在地址0处。此时,存储器100可一次性并行读写4个矩阵行元素,但由于矩阵列元素分布在存储器的多个存储行104中,所以一次只能读写一个矩阵列元素,无法并行读取矩阵列元素。
在信号处理系统中,在并行读写矩阵行元素的同时常常还需要并行读写矩阵列元素,如某信号处理算法输入三个矩阵(A,B,D),需要得到两个矩阵乘法结果:C=A×B,E=B×D;同时,信号处理系统中有4个运算单元可并行计算。那么在计算C=A×B时,需要并行读取矩阵B的4个行元素;在计算E=B×D时,需要并行读取矩阵B的4个列元素。因此,在整个算法实现过程中,即需要按行并行读取矩阵B,也需要按列并行读取矩阵B。但传统存储器结构只能按行并行读取,或按列并行读取。当存储器在每个时钟周期无法并行提供所需的4个操作数时,4个运算单元中只有一个处于工作状态,这必将降低整个系统的运算效率。
同时,矩阵的数据类型多种多样,常用的数据类型有8bit的字节类型、16bit的短字类型、32bit的整数类型和单精度浮点类型以及64bit的双精度浮点类型。而存储单元是固定一种数据类型,一个地址对应一个8bit数据或一个地址对应一个32bit数据。为了在存储器中用最基本的存储单元来表达所有数据类型,常用的做法是用多个连续的低位宽数据类型拼接成一个高位宽数据类型。如图2所示,假定存储单元是8bit的字节,而矩阵尺寸为4×2,数据类型为16bit的短字,按行存放,一个矩阵元素由两个连续8bit拼接而成。在图1中,矩阵数据类型与存储单元是一致的,矩阵列的元素地址为{3,7,11,15},列地址完全离散;但在图2中,矩阵数据类型与存储元不一致,矩阵列的元素地址为{2,3,6,7,10,11,14,15},列地址整体离散,部分连续。因此,在并行读写矩阵行、列元素时,还需要考虑矩阵元素的不同数据类型,采用不同的读写粒度。这里所述的“读写粒度”是指地址连续的存储单元的个数。
目前已有一些专利讨论如何实现矩阵行列的读写,但都没有在SRAM架构层次实现矩阵行列多粒度并行读取的功能。如美国专利US 6,084,771B(Processor With Register File Accessible By Row Column to Achieve DataArray Transposition)、中国专利200910043343.5(行列访问端口分离的矩阵寄存器文件)都提出了一种支持矩阵行列读取的寄存器文件,但矩阵数据仍存放在存储器中,读写矩阵行列时需要先将矩阵数据从存储器载入寄存器文件,再从寄存器文件读写矩阵行列;同时,由于寄存器文件容量非常少,每次操作只能读写整个矩阵的小部分数据;另外,它们都没有考虑如何支持不同的数据类型。美国专利US 7,802,049 B2(Random Access MemoryHave Fast Column Access)主要讨论了如何快速地从DRAM存储行中获取连续数据,但没有讨论矩阵行列的并行读取。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是克服传统的片上存储系统不能并行读写矩阵行列数据及无法跨行读写的缺点,提高存储系统和存储器的读写效率。
(二)技术方案
本发明提出的多粒度并行存储系统包括存储器读写端口和存储器,存储器读写端口的位宽为W,W为2的n次方,n为自然数;存储器包括W个存储块和一个数据选通网络;存储块的每一个均是由多个存储单元构成的二维阵列,该二维阵列中的存储行包含W个存储单元;每个存储块一次可读写一个存储行。
根据本发明,所述数据选通网络根据读写地址和读写粒度g从W个存储块中选择W个存储单元作为读写对象,所述读写粒度g是指地址连续的存储单元的个数,并且g=2k,k为自然数并满足0≤k≤K,K=log2W。
根据本发明,每g个相邻的存储块拼接成一个逻辑Bank,所有逻辑Bank的起始地址相同;
根据本发明,逻辑Bank内的存储块起始地址前后相接,每个逻辑Bank的寻址范围为0~gN-1,整个存储器的寻址范围为0~gN-1,其中N为一个存储块的大小。
根据本发明,所述存储器在进行读操作时,将读写地址和读写粒度发送给每个逻辑Bank,每个逻辑Bank读取g个存储单元并通过数据选通网络传递给存储器读写端口,W/g个逻辑Bank所读取的数据按从左到右的顺序拼接成位宽为W的输出数据。
根据本发明,所述存储器在进行写操作时,将所述存储器读写端口传递过来的数据拆分成g份,每份数据位宽为W/g,通过数据选通网络将第i份数据发送给第i个逻辑Bank,其中0≤i<g,同时将读写地址和读写粒度发送给每个逻辑Bank,每个逻辑Bank写入g个存储单元。
本发明还提出一种多粒度并行存储器,其包括W个存储块和一个数据选通网络,其中W为2的n次方,n为自然数;存储块的每一个均是由多个存储单元构成的二维阵列,该二维阵列中的存储行包含W个存储单元;每个存储块一次可读写一个存储行。
根据本发明,所述数据选通网络根据读写地址和读写粒度g从W个存储块中选择W个存储单元作为读写对象,所述读写粒度g是指地址连续的存储单元的个数。
根据本发明,每g个相邻的存储块拼接成一个逻辑Bank,所有逻辑Bank的起始地址相同;
根据本发明,逻辑Bank内的存储块起始地址前后相接,每个逻辑Bank的寻址范围为0~gN-1,整个存储器的寻址范围为0~gN-1,其中N为一个存储块的大小。
根据本发明,在进行读操作时,将读写地址和读写粒度发送给每个逻辑Bank,每个逻辑Bank读取g个存储单元并通过数据选通网络传递给存储器读写端口,W/g个逻辑Bank所读取的数据按从左到右的顺序拼接成位宽为W的输出数据。
根据本发明,在进行写操作时,将所述存储器读写端口传递过来的数据拆分成g份,每份数据位宽为W/g,通过数据选通网络将第i份数据发送给第i个逻辑Bank,其中0≤i<g,同时将读写地址和读写粒度发送给每个逻辑Bank,每个逻辑Bank写入g个存储单元。
(三)有益效果
本发明提出的多粒度并行存储系统和存储器具有多Bank的逻辑结构、支持多粒度并行读写模式和多粒度编址方法,可同时支持不同数据类型的矩阵行列数据并行读取,从而在根本上清除信号处理算法中转置操作的要求,提高信号处理算法执行效率。
附图说明
图1是传统的片上存储器的结构和编址方法的示意图,其中示出了当矩阵数据类型与存储单元一致时,矩阵元素在存储器中的位置;
图2是传统的片上存储器的结构和编址方法的另一示意图,其中示出了当矩阵数据位宽是存储单元的位宽的两倍时,矩阵元素在片上存储器中的位置;
图3是本发明的多粒度并行存储系统的存储器的逻辑结构示意图;
图4是本发明的多粒度并行存储系统在不同读写粒度下存储器的编址方式和逻辑Bank划分的示意图;
图5示出了本发明在读写粒度g=1、读写地址=4时,存储器读写数据与存储单元的对应关系,以及数据选通路径;
图6示出了读写粒度g=2、读写地址=4时,存储器读写数据与存储单元的对应关系,以及选通路径;
图7示出了读写粒度g=4、读写地址=4时,存储器读写数据与存储单元的对应关系,以及选通路径;
图8示出了当一尺寸为8×5的矩阵的数据位宽与存储单元位宽一致时,该矩阵元素与存储单元的映射关系;
图9示出了当一尺寸为8×5的矩阵的数据位宽为存储单元位宽的两倍时,该矩阵元素与存储单元的映射关系;
图10示出了存储块305与物理存储单元的映射关系;
图11示出了在图10示出的映射关系下所对应的存储单元,此时读写粒度g=1,读写地址为4;
图12示出了在图10示出的映射关系下所对应的存储单元,此时读写粒度g=2,读写地址为4;
图13示出了在图10示出的映射关系下所对应的存储单元,此时读写粒度g=4,读写地址为4;
图14示出了在图10示出的映射关系下的存储器的物理结构。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
为便于说明发明内容,各个数据位宽以存储单元为单位来度量,存储单元定义为存储器的编址单位,也是存储器可读写的最小数据位宽。描述过程中出现包含“位宽为W”的语句都需要理解成W个存储单元的比特位(bit)。如存储单元为8bit的字节类型时,读写端口位宽为4的存储器实际位宽为4×8=32bit。同时,所有对象从0开始,从左至右编号。另外,如前所述,“粒度”是指地址连续的存储单元的个数。在以下的描述过程中,约定以下符号:
■W:存储器读写端口位宽,必须为2的幂次方(即:W为2的n次方,n为自然数);
■K:K=log2W,K+1表示存储器支持的读写粒度种类;
■k:存储器读写粒度参数,为自然数,且0≤k≤K,实际读写粒度为g=2k
■g:g=2k,存储器读写粒度,1≤g≤W;
■N:一个存储块的大小。
本发明示意图中均假定W=4,但本发明适用于W为2的幂次方的其它情况。
(一)存储系统和存储器的逻辑结构
本发明所提出的存储系统的逻辑结构如图3所示。所述存储系统包括存储器300和存储器读写端口301,存储器读写端口301的位宽为W,存储器300由W个存储块305和一个数据选通网络302构成。每个存储块305是由存储单元303构成的二维阵列,该阵列中的存储行304必须包含W个存储单元303,每个存储块一次可读写一个存储行304。
需要说明的是,存储块305只是表示了存储单元303的逻辑结构,并不是物理结构。
数据选通网络302在逻辑上根据读写地址和读写粒度从W个存储块305中选择W个存储单元303作为读写对象。
本发明所提出的存储系统支持多种读写粒度,存储系统中每个存储块305的编址方法与图1中存储器编址一致,但在不同的读写粒度下,每个存储块305的起始地址各不相同。我们以参数k来表征不同的读写粒度,实际的读写粒度g=2k
图4示出了W=4时,存储器在不同读写粒度下每个存储块405的编址。对于读写粒度g,每g个相邻的存储块405拼接成一个逻辑Bank 406,所有逻辑Bank 406的起始地址相同;逻辑Bank 406内的存储块405起始地址前后相接,每个逻辑Bank 406的寻址范围为0~gN-1,整个存储器的寻址范围为0~gN-1。
存储器在进行读操作时,将读写地址和读写粒度发送给每个逻辑Bank406,每个逻辑Bank 406读取g个存储单元并通过数据选通网络302传递给存储器读写端口301,W/g个逻辑Bank 406所读取的数据按从左到右的顺序拼接成位宽为W的输出数据。
存储器在进行写操作时,将存储器读写端口301传递过来的数据拆分成g份,每份数据位宽为W/g,通过数据选通网络302将第i份数据发送给第i个逻辑Bank 406(0≤i<g),同时将读写地址和读写粒度发送给每个逻辑Bank 406。每个逻辑Bank 406写入g个存储单元。
图5示出了读写粒度g=1,读写地址为4时,存储器内部逻辑通路。数据选通网络502选通逻辑如图中所示,存储器读写端口501的数据与各个逻辑Bank 506中地址为4,粒度为1的存储单元503相对应。
图6示出了读写粒度g=2,读写地址为4时,存储器内部逻辑通路。数据选通网络602选通逻辑如图中所示,存储器读写端口601的数据与各个逻辑Bank 606中地址为4,粒度为2的存储单元603相对应。
图7示出了读写粒度g=4,读写地址为4时的存储器内部逻辑通路。数据选通网络702选通逻辑如图中所示,存储器读写端口701的数据与各个逻辑Bank 706中地址为4,粒度为4的存储单元703相对应。
为利用本发明所提出的多粒度并行存储系统和存储器并行读写矩阵行列数据,需要将矩阵元素按一定的规律存放在存储器中。
图8示出了当一矩阵的数据位宽与存储单元位宽一致时,该矩阵元素与存储单元的映射关系。如图8所示,假定矩阵尺寸为8×5,矩阵第i行,第j列元素为aij,(0≤i<8,0≤j<5),当矩阵数据类型与存储单元一致时,按读写粒度g=1划分逻辑Bank 806:第i个逻辑Bank 806中连续存放(行号%W==i)的矩阵行,其中“%”表示求模运算。在进行矩阵行列读写时,我们定义连续的W个行元素或W个列元素为一个数据组,如{a00,a01,a02,a03}是行元素构成的一个数据组,{a00,a10,a20,a30}是由列元素构成的一个数据组。整个矩阵划分成多个数据组,存储器每个时钟周期可并行读写一个数据组。此时矩阵元素在存储器中的位置如图8所示。当并行读写矩阵行数据组时,读写粒度g=W(这里假定W=4,也可以为其它2的幂次方)。第i行的第j个数据组的读写地址为
   矩阵起始地址+N×(i%W)+(i/W)×矩阵列数+(j×W)
其中“%”表示求模,“/”表示整除。当并行读写矩阵列数据组时,令读写粒度g=1,如图8所示。第i列的第j个数据组的读写地址:
   矩阵起始地址+i+(j×矩阵列数)
图9示出了当一矩阵的数据位宽为存储单元位宽的两倍时,该矩阵元素与存储单元的映射关系。如图9所示,当矩阵数据位宽为存储单元位宽的M倍时(我们假定M=2,但实际上M可以为2的任意幂次方),我们需要M个存储单元存储一个矩阵元素,令W’=W/M,此时按读写粒度g=M划分逻辑Bank 906:第i个逻辑Bank 906中连续存放(行号%W’==i)的矩阵行。在进行矩阵行列读写时,我们定义连续的W’个行元素或W’个列元素为一个数据组,如{a00,a01}是行元素构成的一个数据组,{a00,a10}是由列元素构成的一个数据组。整个矩阵划分成多个数据组,存储器每个时钟周期可并行读写一个数据组。此时矩阵元素在存储器中的位置如图9所示。当并行读写矩阵行数据组时,读写粒度g=W(这里假定W=4,也可以为其它2的幂次方)。则第i行的第j个数据组的读写地址为:
   矩阵起始地址+N×(i%W’)+(i/W’)×矩阵列数×M+(j×W)
其中“%”表示求模,“/”表示整除。当并行读写矩阵列数据组时,令读写粒度g=M,如图8所示。第i列的第j个数据组的读写地址为:
   矩阵起始地址+i×M+(j×矩阵列数×M)
由此可见,通过指定不同的读写粒度,本发明所提出的存储系统和存储器可并行读写不同数据类型的矩阵行列数据。
(二)存储系统的电路结构
以上描述了本发明的存储系统和存储器的整体逻辑结构,该整体逻辑结构可以由多种具体的电路结构来实现。以下将详细描述实现本发明的的具体电路结构,其是一种物理结构;对于其它电路结构,如果可以抽象成本发明所述的逻辑结构,均应包含在本发明的保护范围之内。
在详细描述本发明的存储系统和存储器的电路结构之前,我们首先说明如何将图3中所述的存储块305映射成实际的物理存储单元。描述过程中我们仍假定存储器读写端口位宽为4,但在实际应用中,读写端口位宽可以为2的任何其他幂次方。
图10示出了存储块305与物理存储单元的映射关系。对于读写端口位宽为W的存储系统,从物理结构的角度,该存储系统由W个位宽为1的存储器1007组成。每个存储器1007可为传统的单端口存储器,一个时钟周期只能读写一个存储单元。存储器1007中的物理存储单元从0开始按顺序编址,W个地址相同的物理存储单元构成一个逻辑结构中的存储行1004,多个连续的存储行1004构成逻辑结构中的一个存储块1005。尺寸为N的存储块1005由N/W个存储行1004构成,图中假定N=16。
为使在不同读写粒度下,存储系统和存储器均能实现并行读写,本发明所示的电路结构利用一数据选通网络1002对读写数据进行重排列。读写数据顺序与物理存储行的行内映射关系如图10中的逻辑结构所示。每个存储块1001内的存储行映射关系相同;不同存储块1005之间的存储行映射关系不同。对于第i个存储块1005,(0≤i<W),其映射关系为:W个读写数据组成的一维向量,经循环右移i个元素后,与实际物理存储行1004中的物理存储单元一一对应。
在图10示出的映射关系下,当读写粒度g=1,读写地址为4时,图11示出了与其对应的物理存储单元。此时,读写数据按顺序存放在物理存储单元1103中。
在图10示出的映射关系下,当读写粒度g=2,读写地址为4时,图12示出了与其对应的物理存储单元。此时,读写数据按顺序存放在物理存储单元1203中。
在图10示出的映射关系下,当读写粒度g=4,读写地址为4时,图13示出了与其对应的物理存储单元。此时,读写数据按顺序存放在物理存储单元1303中。
在图10示出的映射关系下,本发明的存储系统的电路结构如图14所示。在图14中,存储系统包括W个存储器1407、移位产生器1414、行地址产生器1413、地址移位器1410、写移位器1412、读移位器1408、W个地址加法器1411和地址增量查找单元1409。
该存储系统的对外接口包括:读写粒度g、写数据、读数据、读写地址Addr、写使能WE。
W个存储器中的每个存储器1407均可为传统的单端口存储器,其具有写使能端、数据输入端、数据输出端和地址输入端。写使能WE直接输入到每个存储器1407的写使能端。
移位产生器1414和行地址产生器1413都具有一个输入端,地址Addr直接输入到移位产生器1414和行地址产生器1413的输入端,移位产生器1414用于根据当前输入的地址Addr产生移位值Shift,行地址产生器1413用于根据当前输入的地址Addr产生行地址RowAddr。对于位宽为W、存储块305尺寸为N的存储系统来说,Shift=(Addr%W)+(Addr/N),RowAddr=Addr/W。其中“%”表示求模操作,“/”表示整除操作。当W和N均为2的幂次方时,“%”操作可通过截取数据的低位实现;“/”操作可通过截取数据的高位实现。
地址移位器1410、写移位器1412、读移位器1408都包括一个移位控制端,移位产生器1414的输出端分别与地址移位器1410、写移位器1412、读移位器1408的移位控制端相连,用于将移位值Shift输入到地址移位器1410、写移位器1412、读移位器1408。
地址加法器1411具有两个输入端和一个输出端,行地址产生器1413生成的行地址RowAddr直接输入到所有W个地址加法器1411的每一个的一个输入端。地址加法器1411的另一个输入端接受来自地址移位器的输出数据。地址加法器1411用于将两个输入端输入的数据进行无符号相加,得到存储器1407的存储地址。W个地址加法器1411的输出端分别与W个存储器1407的地址输入端相连,以将读写地址输入到每个存储器1407的地址输入端。
地址增量查找单元1409具有一个输入端和W个输出端,读写粒度g直接输入到地址增量查找单元1409的输入端,地址增量查找单元1409的W个输出端直接与地址移位器1410的输入端相连。地址增量查找单元1409根据读写粒度g产生各个地址加法器1410的输入。对于位宽为W=2K的存储系统,一共为K+1种读写粒度,地址增量查找单元1409中的每列与一个读写粒度相对应。对于存储块305尺寸为N的存储系统来说,令D=N/W,则地址增量查找单元1409中的第i(0≤i≤K,从左至右)列的第j(0≤j<W,从下至上)个元素值为[(j/2i)×2i]×D,其中“/”表示整除。
地址移位器1410用于将输入的数据循环右移Shift个元素。地址移位器1410具有W个输出数据(i0,i1,i2,i3),其分别输入到W个地址加法器1411中的每一个的一个输入端。
写移位器1412的输入端直接接受外部的写数据,写移位器1412用于将输入的写数据循环右移Shift个元素,写移位器1412的W个输出数据(w0,w1,w2,w3)分别输入到W个存储器1407的数据输入端。
读移位器1408具有W个输入端,读移位器1408的W个输入端分别与W个存储器1407的数据输出端相连,接收W个存储器1407的W个输入数据(r0,r1,r2,r3),读移位器1408用于将输入的数据循环左移Shift个元素,并将读数据直接其输出端输出。
地址移位器1410、写移位器1412、读移位器1408的循环左移或循环右移的功能例如可以利用多路选择器实现,但也可以用其他功能器件实现。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种多粒度并行存储系统,包括存储器读写端口(301)和存储器(300),其特征在于:
所述存储器读写端口(301)的位宽为W,W为2的n次方,n为自然数;
该存储器(300)包括W个存储块(305)和一个数据选通网络(302);
所述存储块(305)的每一个均是由多个存储单元(303)构成的二维阵列,该二维阵列中的存储行(304)包含W个存储单元(303);
每个存储块(305)一次可读写一个存储行(304)。
所述数据选通网络(302)根据读写地址和读写粒度g从W个存储块(305)中选择W个存储单元(303)作为读写对象,所述读写粒度g是指地址连续的存储单元的个数,并且g=2k,k为自然数并满足0≤k≤K,K=log2W。
2.如权利要求1所述的存储系统,其特征在于:
每g个相邻的存储块(405)拼接成一个逻辑Bank(406),所有逻辑Bank(406)的起始地址相同。
3.如权利要求2所述的存储系统,其特征在于:
所述逻辑Bank(406)内的所述存储块(405)起始地址前后相接,每个逻辑Bank(406)的寻址范围为0~gN-1,整个存储器的寻址范围为0~gN-1,其中N为一个存储块(405)的大小。
4.如权利要求3所述的存储系统,其特征在于:
所述存储器(300)在进行读操作时,将读写地址和读写粒度发送给每个逻辑Bank(406),每个逻辑Bank(406)读取g个存储单元并通过数据选通网络(302)传递给存储器读写端口(301),W/g个逻辑Bank(406)所读取的数据按从左到右的顺序拼接成位宽为W的输出数据。
5.如权利要求3所述的存储系统,其特征在于:
所述存储器(300)在进行写操作时,将所述存储器(300)读写端口(301)传递过来的数据拆分成g份,每份数据位宽为W/g,通过数据选通网络(302)将第i份数据发送给第i个逻辑Bank(406),其中0≤i<g,同时将读写地址和读写粒度发送给每个逻辑Bank(406),每个逻辑Bank(406)写入g个存储单元。
6.一种多粒度并行存储器,其特征在于,包括W个存储块(305)和一个数据选通网络(302),其中W为2的n次方,n为自然数;
所述存储块(305)的每一个均是由多个存储单元(303)构成的二维阵列,该二维阵列中的存储行(304)包含W个存储单元(303);
每个存储块(305)一次可读写一个存储行(304)。
所述数据选通网络(302)根据读写地址和读写粒度g从W个存储块(305)中选择W个存储单元(303)作为读写对象,所述读写粒度g是指地址连续的存储单元的个数,并且g=2k,k为自然数并满足0≤k≤K,K=log2W。
7.如权利要求6所述的存储器,其特征在于:
每g个相邻的存储块(405)拼接成一个逻辑Bank(406),所有逻辑Bank(406)的起始地址相同;
8.如权利要求7所述的存储器,其特征在于:
所述逻辑Bank(406)内的存储块(405)起始地址前后相接,每个逻辑Bank(406)的寻址范围为0~gN-1,整个存储器的寻址范围为0~gN-1,其中N为一个存储块(405)的大小。
9.如权利要求8所述的存储器,其特征在于:
在进行读操作时,将读写地址和读写粒度发送给每个逻辑Bank(406),每个逻辑Bank(406)读取g个存储单元并通过数据选通网络(302)传递给存储器读写端口(301),W/g个逻辑Bank(406)所读取的数据按从左到右的顺序拼接成位宽为W的输出数据。
10.如权利要求8所述的存储器,其特征在于:
在进行写操作时,将所述存储器(300)读写端口(301)传递过来的数据拆分成g份,每份数据位宽为W/g,通过数据选通网络(302)将第i份数据发送给第i个逻辑Bank(406),其中0≤i<g,同时将读写地址和读写粒度发送给每个逻辑Bank(406),每个逻辑Bank(406)写入g个存储单元。
CN201110460585.1A 2011-12-31 2011-12-31 多粒度并行存储系统与存储器 Active CN102541774B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110460585.1A CN102541774B (zh) 2011-12-31 2011-12-31 多粒度并行存储系统与存储器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110460585.1A CN102541774B (zh) 2011-12-31 2011-12-31 多粒度并行存储系统与存储器

Publications (2)

Publication Number Publication Date
CN102541774A true CN102541774A (zh) 2012-07-04
CN102541774B CN102541774B (zh) 2015-02-04

Family

ID=46348707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110460585.1A Active CN102541774B (zh) 2011-12-31 2011-12-31 多粒度并行存储系统与存储器

Country Status (1)

Country Link
CN (1) CN102541774B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097223A1 (zh) * 2011-12-31 2013-07-04 中国科学院自动化研究所 多粒度并行存储系统与存储器
CN103218314A (zh) * 2013-04-19 2013-07-24 中国科学院自动化研究所 一种应用于并行滤波运算的数据缓存装置
CN103902507B (zh) * 2014-03-28 2017-05-10 中国科学院自动化研究所 一种面向可编程代数处理器的矩阵乘法计算装置及方法
CN107748674A (zh) * 2017-09-07 2018-03-02 中国科学院微电子研究所 面向比特粒度的信息处理系统
CN107783910A (zh) * 2016-08-25 2018-03-09 东芝存储器株式会社 存储器系统以及处理器系统
US9966932B2 (en) 2013-04-19 2018-05-08 Beijing Smartlogic Technology Ltd. Parallel filtering method and corresponding apparatus
CN109144963A (zh) * 2017-06-26 2019-01-04 阿里巴巴集团控股有限公司 一种重做日志持久化方法及设备
CN109445696A (zh) * 2018-10-21 2019-03-08 山西达鑫核科技有限公司 网络聚合存储的信息存储装备
CN109635236A (zh) * 2018-11-06 2019-04-16 海南大学 对称矩阵的下三角部分存储装置和并行读取方法
CN110096450A (zh) * 2018-01-29 2019-08-06 北京思朗科技有限责任公司 多粒度并行存储系统及存储器
CN110704018A (zh) * 2019-08-26 2020-01-17 深圳芯英科技有限公司 一种数据缓存器及数据处理方法
CN112328172A (zh) * 2020-10-27 2021-02-05 北京百度网讯科技有限公司 数据存储方法、装置及数据读取方法、装置
CN113542770A (zh) * 2021-06-15 2021-10-22 杭州未名信科科技有限公司 一种dct变换方法及dct变换电路系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840383A (zh) * 2010-04-28 2010-09-22 中国科学院自动化研究所 支持连续/离散地址多数据并行访问的可配置存储器结构

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101840383A (zh) * 2010-04-28 2010-09-22 中国科学院自动化研究所 支持连续/离散地址多数据并行访问的可配置存储器结构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
柯文德,李家兰,彭志平: "一种并行高速读取的存储器模型", 《计算机应用与软件》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097223A1 (zh) * 2011-12-31 2013-07-04 中国科学院自动化研究所 多粒度并行存储系统与存储器
CN103218314A (zh) * 2013-04-19 2013-07-24 中国科学院自动化研究所 一种应用于并行滤波运算的数据缓存装置
US9966932B2 (en) 2013-04-19 2018-05-08 Beijing Smartlogic Technology Ltd. Parallel filtering method and corresponding apparatus
CN103902507B (zh) * 2014-03-28 2017-05-10 中国科学院自动化研究所 一种面向可编程代数处理器的矩阵乘法计算装置及方法
CN107783910A (zh) * 2016-08-25 2018-03-09 东芝存储器株式会社 存储器系统以及处理器系统
CN107783910B (zh) * 2016-08-25 2021-05-28 东芝存储器株式会社 存储器系统以及处理器系统
CN109144963A (zh) * 2017-06-26 2019-01-04 阿里巴巴集团控股有限公司 一种重做日志持久化方法及设备
CN107748674A (zh) * 2017-09-07 2018-03-02 中国科学院微电子研究所 面向比特粒度的信息处理系统
CN107748674B (zh) * 2017-09-07 2021-08-31 中国科学院微电子研究所 面向比特粒度的信息处理系统
CN110096450B (zh) * 2018-01-29 2021-05-11 北京思朗科技有限责任公司 多粒度并行存储系统及存储器
CN110096450A (zh) * 2018-01-29 2019-08-06 北京思朗科技有限责任公司 多粒度并行存储系统及存储器
CN109445696A (zh) * 2018-10-21 2019-03-08 山西达鑫核科技有限公司 网络聚合存储的信息存储装备
CN109635236A (zh) * 2018-11-06 2019-04-16 海南大学 对称矩阵的下三角部分存储装置和并行读取方法
CN110704018A (zh) * 2019-08-26 2020-01-17 深圳芯英科技有限公司 一种数据缓存器及数据处理方法
CN112328172A (zh) * 2020-10-27 2021-02-05 北京百度网讯科技有限公司 数据存储方法、装置及数据读取方法、装置
CN113542770A (zh) * 2021-06-15 2021-10-22 杭州未名信科科技有限公司 一种dct变换方法及dct变换电路系统
CN113542770B (zh) * 2021-06-15 2023-11-03 杭州未名信科科技有限公司 一种dct变换方法及dct变换电路系统

Also Published As

Publication number Publication date
CN102541774B (zh) 2015-02-04

Similar Documents

Publication Publication Date Title
CN102541774B (zh) 多粒度并行存储系统与存储器
CN102541749B (zh) 多粒度并行存储系统
CN108701473B (zh) 用于数据移动的设备及方法
CN108780432A (zh) 用于高速缓存无效的设备及方法
Zheng et al. Spara: An energy-efficient ReRAM-based accelerator for sparse graph analytics applications
CN107590085B (zh) 一种具有多级缓存的动态可重构阵列数据通路及其控制方法
CN100538886C (zh) 多维数组在动态随机存取存储器上的快速读写方法和装置
EP0446721A2 (en) Distributed processing memory
CN103810111A (zh) 有源存储器件中的地址生成的方法及其处理元件
KR20190110154A (ko) 데이터 경로에서의 컴퓨팅 장치 및 방법
CN111433758A (zh) 可编程运算与控制芯片、设计方法及其装置
CN110476212B (zh) 用于存储器中数据交换网络的设备及方法
WO2013097223A1 (zh) 多粒度并行存储系统与存储器
CN103744644A (zh) 采用四核结构搭建的四核处理器系统及数据交换方法
CN103927270A (zh) 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法
US9176929B2 (en) Multi-granularity parallel FFT computation device
WO2013097228A1 (zh) 多粒度并行存储系统
CN111124999B (zh) 一种支持存储内计算的双模计算机架构
Sun et al. Energy-efficient SQL query exploiting RRAM-based process-in-memory structure
CN102411557B (zh) 多粒度并行fft计算装置
CN109614145A (zh) 一种处理器核心结构及数据访存方法
CN101930355A (zh) 实现寄存器文件分组编址、读写控制方法的寄存器电路
CN101930356B (zh) 用于浮点协处理器的寄存器文件分组编址、读写控制方法
Nair et al. Fpga acceleration of gcn in light of the symmetry of graph adjacency matrix
Egloff et al. Storage class memory with computing row buffer: A design space exploration

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20171130

Address after: 102412 Beijing City, Fangshan District Yan Village Yan Fu Road No. 1 No. 11 building 4 layer 402

Patentee after: Beijing Si Lang science and Technology Co.,Ltd.

Address before: 100190 Zhongguancun East Road, Beijing, No. 95, No.

Patentee before: Institute of Automation, Chinese Academy of Sciences

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Building C, No. 888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai Silang Technology Co.,Ltd.

Address before: 102412 room 402, 4th floor, building 11, No. 1, Yanfu Road, Yancun Town, Fangshan District, Beijing

Patentee before: Beijing Si Lang science and Technology Co.,Ltd.