CN110096450B - 多粒度并行存储系统及存储器 - Google Patents
多粒度并行存储系统及存储器 Download PDFInfo
- Publication number
- CN110096450B CN110096450B CN201810083362.XA CN201810083362A CN110096450B CN 110096450 B CN110096450 B CN 110096450B CN 201810083362 A CN201810083362 A CN 201810083362A CN 110096450 B CN110096450 B CN 110096450B
- Authority
- CN
- China
- Prior art keywords
- read
- memory
- write
- data
- address
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Input (AREA)
Abstract
本发明提供了一种多粒度并行存储系统及存储器,包括:设置有W个存储块以及一个数据选通网络的存储器、存储器读写端口、选通器以及地址加法器;存储器根据空间划分系数K将存储块划分成一系列大小为W*2K字节的区域存储空间;选通器选取读写模式,该系统进一步包括:分别用于计算普通读写模式和区块并行读写模式、离散并行读写模式以及渐步并行读写模式下的步进或地址偏移并提供数据访存信息的第一读写处理模块、第二读写处理模块和第三读写处理模块;地址加法器用于将输入基址以及上述各模块中的偏移或步进进行无符号相加得到访存地址;数据选通网络用于根据读写地址、读写粒度g、摆放粒度g’和访存信息并行访问区域存储空间中的存储块。
Description
技术领域
本发明涉及存储技术领域,具体涉及一种多粒度并行存储系统及存储器。
背景技术
随着集成电路工艺的发展,芯片上可集成更多的运算部件和更大容量静态存储器SRAM、高速嵌入式信号处理芯片中可设计多个运算部件和多个大容量、大位宽的片上存储器,实现并行计算和并行存储。信号处理算法经常以矩阵的形式来组织输入/输出数据,并以矩阵为对象进行计算。矩阵数据一般按行或按列存放在存储器中。存储器的读写端口固定,并且顺序编址。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:现有技术中的存储器只能单纯地并行读写矩阵行或列的数据,但是在面对外部应用中的多种数据操作类型时,例如复数操作、查表操作以及非线性操作等操作时,由于目前的并行读写方式并不能与上述各类型操作相适应,导致存储系统中数据的访存速度慢,降低了整体读写效率。
发明内容
本发明的目的是针对现有技术的缺陷,提供了一种多粒度并行存储系统及存储器,用于解决现有技术中在面对外部应用时,多类型的数据操作的访存速度慢,数据处理效率低的问题。
根据本发明的一个方面,提供了一种多粒度并行存储系统,包括:存储器、存储器读写端口、选通器以及地址加法器,其中,存储器包括W个存储块以及一个数据选通网络;存储器根据空间划分系数K将W个存储块划分成一系列的区域存储空间,每个区域存储空间的大小为W*2K字节;选通器用于选取数据的读写模式,则存储系统进一步包括:第一读写处理模块,用于计算数据在普通读写模式以及区块并行读写模式下的步进并提供数据的访存信息;第二读写处理模块,用于计算数据在离散并行读写模式下的地址偏移并提供数据的访存信息;第三读写处理模块,用于计算数据在渐步并行读写模式下的步进并提供数据的访存信息;则地址加法器用于将外部输入基址以及第一读写处理模块、第二读写处理模块、或者第三读写处理模块输出的偏移或步进进行无符号相加,得到存储器的读写地址;数据选通网络用于根据读写地址、读写粒度g、摆放粒度g’和访存信息并行访问区域存储空间中的存储块。
可选地,普通读写模式包括:行访存方式以及列访存方式;则第一读写处理模块进一步包括:第一行方式计算模块以及第一列方式计算模块;其中,第一行方式计算模块用于计算普通读写模式下行访存方式的步进及访存信息;第一列方式计算模块用于计算普通读写模式下列访存方式的步进及访存信息。
可选地,存储器在进行普通读写模式中行访存方式的读/写操作时,将读写地址、读写粒度g、摆放粒度g’和访存信息发送给数据选通网络,以选取读写地址所在的区域存储空间,并以该读写地址为起始地址访问连续的W个存储块,读取/写入相应的存储数据,若为读操作则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据;存储器在进行普通读写模式中列访存方式的读/写操作时,将读写地址、读写粒度g、摆放粒度g’和访存信息发送给数据选通网络,以所述读写地址为起始地址,选取并访问所述读写地址所在的存储空间开始的64/g个区域存储空间,每个区域存储空间访问g个存储块,读取/写入相应的数据;其中,若为读操作则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据。
可选地,第一读写处理模块进一步用于:根据读写粒度并行读写逻辑空间中来自同一区块的数据。
可选地,第二读写处理模块进一步包括:第一偏移计算模块,用于根据预先配置的偏移信息计算全部存储空间中数据的地址偏移;以及,第二偏移计算模块,用于根据预先配置的偏移信息计算局部存储空间中数据的地址偏移。
可选地,存储器在进行离散并行读操作时,将外部输入基址和地址偏移发送给数据选通网络,根据基址和地址偏移读取每个存储块上对应地址的数据,并将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据;其中,存储器选取基址为起始地址的存储行并向下寻址,并且每个存储块独立寻址;存储器在进行离散并行写模式时,将对应数据按字节写入外部输入基址为起始地址的向下偏移相应地址的存储空间中。
可选地,渐步并行读写模式包括:连续访存方式以及间步访存方式;则第三读写处理模块进一步包括:第一连续方式计算模块以及第一间步方式计算模块;其中,第一连续方式计算模块用于计算渐步并行读写模式下连续访存方式的步进及访存信息;第一间步方式计算模块用于计算渐步并行读写模式下间步访存方式的步进及访存信息。
可选地,存储器在进行渐步并行读写模式中连续访存方式的读写操作时,将读写地址、读写粒度g、摆放粒度g’和访存信息发送给数据选通网络,以选取读写地址所在的区域存储空间,以该读写地址为起始地址,连续读/写W个存储块;其中,若为读操作,则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据;
存储器在进行渐步并行读写模式中的间步访存方式的读写操作时,将读写地址、读写粒度g、摆放粒度g’和访存信息发送给数据选通网络,以选取读写地址所在的区域存储空间,以该读写地址为起始地址,间隔g字节的地址间步访问存储空间中的存储块,并读取/写入相应数据;其中,若为读操作,则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据。
可选地,空间划分系数K的取值范围为0-13,以动态划分区域存储空间。
根据本发明的另一个方面,提供了一种存储器,包括:W个存储块以及一个数据选通网络;其中,存储器根据空间划分系数K将存储块划分成一系列区域存储空间,每个区域存储空间的大小为W*2K字节;数据选通网络用于根据所述读写地址、读写粒度g、摆放粒度g’和访存信息并行访问区域存储空间中的存储块。
由此可见,本发明提供的多粒度并行存储系统及存储器在支持矩阵行列数据并行读写操作的基础上,还能够进一步支持数据的渐步并行读写操作、离散并行读写操作以及区块并行读写操作,从而实现在面对外部应用时,能够根据外部应用的数据操作类型选择与其相适应的读写操作类型,加快数据的访存速度,提升数据的访存效率。同时,本发明提供的多粒度并行存储系统中还能够根据外部配置数值来灵活划分区域存储空间,支持数据拼接摆放,提升数据读写操作的灵活性。
附图说明
图1为本发明提供的多粒度并行存储系统的逻辑结构图;
图2a为本发明提供的多粒度并行存储系统的存储器的一种逻辑存储块的划分示意图;
图2b为本发明提供的多粒度并行存储系统的存储器的另一种逻辑存储块的划分示意图;
图3为本发明提供的多粒度并行存储系统的存储器的一种存储空间的数据存储结构图;
图4为本发明提供的多粒度并行存储系统的存储器的另一种存储空间的数据存储结构图;
图5为本发明提供的多粒度并行存储系统的存储器的另一种存储空间的数据存储结构图;
图6为本发明提供的多粒度并行存储系统的存储器的另一种存储空间的数据存储结构图;
图7为本发明提供的多粒度并行存储系统的存储器的另一种存储空间的数据存储结构图;
图8为本发明提供的多粒度并行存储存储器的结构图。
具体实施方式
为充分了解本发明之目的、特征及功效,借由下述具体的实施方式,对本发明做详细说明,但本发明并不仅仅限于此。
图1为本发明提供的多粒度并行存储系统的逻辑结构图。如图1所示,本发明提供的多粒度并行存储系统包括:存储器110、存储器读写端口120、选通器130、地址加法器140、第一读写处理模块150、第二读写处理模块160以及第三读写处理模块170。其中,存储器110包括W(W为2的n次方,n为自然数)个存储块111以及一个数据选通网络112,存储器读写端口120的位宽为W字节。
首先介绍选通器130。选通器130用于根据外部输入的配置信息选取数据的读写模式。上述数据读写模式至少包括:并行读取/写入多个矩阵行或列的普通读写模式、并行读取/写入逻辑空间中同一区块的存储空间的区块并行读写模式、并行读取/写入逻辑空间中离散存储空间的离散并行读写模式、以及渐步并行读写模式。选通器130在根据外部输入的配置信息选取数据的读写模式之后,将对应数据发送至对应的读写处理模块中。
具体地,多粒度并行存储系统中的读写处理模块至少包括:用于计算在普通读写模式以及区块并行读写模式下的步进、并提供数据的访存信息的第一读写处理模块150,用于计算数据在离散并行读写模式下的地址偏移并提供数据的访存信息的第二处理模块160、以及用于计算数据在渐步并行读写模式下的步进并提供数据的访存信息第三读写处理模块170。具体实施中,上述计算方式可以由本领技术人员根据实际情况进行设置,本发明对此不作限定。并且,可以理解的是,上述三个模块可以单独设置,也可以合成设置在一个模块中,本发明对此不作限定。
其中,第一读写处理模块150进一步包括:用于计算普通读写模式下行访存方式的步进及数据的访存信息的第一行方式计算模块151、以及用于计算普通读写模式下列访存方式的步进及数据的访存信息的第一列方式计算模块152。第一行方式计算模块151以及第一列方式计算模块152将上述计算所得的访存信息发送至存储器110(具体地,访存信息被发送至存储器110中的数据选通网络112中),以用于访问存储器110中对应读写地址的存储数据;同时将上述计算所得的步进发送至地址加法器140,以供地址加法器140将外部输入基址和上述步进进行无符号相加得到存储器的读写地址。
第二读写处理模块160进一步包括:第一偏移计算模块161以及第二偏移计算模块162。第一偏移计算模块161用于根据预先配置的偏移信息计算全部存储空间中数据的地址偏移,即对应计算存储器中全部存储空间中数据的地址偏移;第二偏移计算模块162用于根据预先配置的偏移信息计算局部存储空间中数据的地址偏移,即对应计算存储器中部分存储块中的存储空间或者部分存储块中部分存储空间中数据的地址偏移。预先配置的偏移信息能够确定所计算的局部存储空间的位置和大小,其可以由本领域技术人员根据实际情况进行设置,本发明对此不作限定。
第三处理模块170进一步包括:第一连续方式计算模块171以及第一间步方式计算模块172。第一连续方式计算模块171用于计算渐步并行读写模式下连续访存方式的步进及数据的访存信息;第一间步方式计算模块172用于计算渐步并行读写模式下间步访存方式的步进及数据的访存信息。第一连续方式计算模块171和第一间步方式计算模块172将上述访存信息发送存储器110,以用于访问存储器110中对应地址的存储数据;同时将计算所得的步进发送给地址加法器140,以供地址加法器140将外部输入的基址和上述步进进行无符号相加得到存储器的读写地址。
接下来介绍存储器110。如图1所示,存储器110根据外部配置的空间划分系数K将W个存储块111划分为一系列的区域存储空间113(如图1中黑色虚线框出部分所示)。每个区域存储空间113的大小为W*2K字节。具体实施中,K的取值范围为0-13,以实现动态划分区域存储空间。例如,当K的取值为0时,区域存储空间113的大小为20行(即1行),W字节的存储单元,如图2a所示;当K的取值为1时,区域存储空间113的大小为21行(即2行),2W字节的存储单元,如图2b所示,等等。在这里,区域存储空间的划分是根据外部配置的K进行的,与以往根据数据粒度来固定划分逻辑存储块的方式相比,其划分更具灵活性,能够适应外部的多种配置操作,支持多种数据拼接摆放,以用于面向外部应用时执行对应的小型矩阵操作。数据选通网络112用于根据接收到的读写地址、读写粒度g、摆放粒度g’和访存信息并行访问区域存储空间中的存储块。
具体地,首先介绍存储器在进行普通读写模式中行访存方式的读操作和写操作。存储器在进行读操作时,根据数据选通网络接收到的读写地址、读写粒度g(g=2KGC,KGC为自然数且1≤g≤W)、摆放粒度g’(g=2KG,KG为自然数且1≤g’≤W)和访存信息,选取上述读写地址所在的区域存储空间,并以上述读写地址为起始地址访问连续的W个存储块,从而读取各个存储块中相应的存储数据,并将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据。
举例说明,如图3所示,图3为存储器的一种存储空间的数据存储结构图。其中包含64个存储块,外部配置K=2,则每个区域存储空间的大小为4行,256字节,读写粒度g=64。每个单元格内存放为字节数据,每个单元格中的数字代表该每个单元格对应的数据地址。在这里,要说明的是,图3中仅示出了存储器中的两个区域存储空间310(即区域存储空间0,对应图3中浅色阴影区域)和320(即区域存储空间1,对应图3中深色阴影区域),其余区域存储空间的编址与图3所示两个区域存储空间编址方式类似,图3中不再进行多余展示。具体地,当存储器以普通读写模式的行访存方式对区域存储空间中的64个连续的存储块进行读操作时,若g’=2,地址Addr=258,即以地址258(图3中逻辑存储块320中黑色虚线框所框出的存储单元格)为起始寻址地址,依次读取逻辑存储块320第一行中存储块2-存储块63-存储块0-存储块1的数据,将读取数据拼接为512bit的数据为:
321_320_319_318_....._263_262_261_260_259_258(此处数据用与该数据对应的存储地址表示)。
当进行写操作时,数据选通网络接收到读写地址、读写粒度g和访存信息,选取上述读写地址所在的区域存储空间,以上述读写地址为起始地址访问连续的W个存储块,并在存储块中写入相应的存储数据。具体实施中,上述写操作与读操作的方式类似,此处不再赘述。
存储器在进行普通读写模式中列访存方式的读操作时,将读写地址、读写粒度g和访存信息发送给数据选通网络,以选取上述读写地址开始的64/g个连续的区域存储空间,并以该读写地址为起始地址访问64/g个区域存储空间,每个区域存储空间访问g个存储块,读取相应的数据,并将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据。
举例说明,如图4所示,图4为存储器的一种存储空间的数据存储结构图。其中,其中包含64个存储块,外部配置K=2,则区域存储空间410、420以及430等的大小为4行,256字节,设置读写粒度g=2。每个单元格存放为字节数据,每个单元格中的数字代表该每个单元格对应的数据地址。当存储器以普通读写模式中的列访存方式对区域存储空间的存储块进行读操作时,若g’=2,读取地址为00,则选取读取地址00所在存储空间开始的32个连续的区域存储空间,访问区域存储空间410(即区域存储空间0,图中浅色阴影标示部分)中的存储块0-存储块1、区域存储空间420(即区域存储空间1,图中深色阴影标示部分)中存储块0-存储块1、区域存储空间430(即区域存储空间3,图中斜线阴影标示部分)中存储块0-存储块1…依次类推。读取数据按从左到右的顺序从高位向低位拼接为512bit的数据:7937_7936…513_512_257_256_01_00(此处数据用与该数据对应的存储地址表示)。
在进行普通读写模式中列访存方式的写操作时,将读写地址、读写粒度g和访存信息发送给数据选通网络,以选取上述读写地址开始的64/g个连续的区域存储空间,并以该读写地址为起始地址访问64/g个连续的区域存储空间,每个区域存储空间访问g个存储块,写入相应的数据。具体实施中,上述写操作与对应方式的读操作的实现过程类似,此处不再赘述。
其中,第一读写处理模块还进一步用于:根据读写粒度并行读写存储空间中来自同一区块的数据。具体地,如图5所示,其中包含64个存储块,外部配置K=2,g=2,g’=64(即列访存方式),则读取数据为从高向底排列为:8000_7999_…576_575_320_319_64_63。从图5可以看出,对于逻辑存储空间而言,读取的数据来自于同一区块,即分别来自存储块0以及存储块63。具体实施中,数据在写入存储块时以行访存方式写入,以列访存方式读取。因此,上述区块并行读写操作可用于处理二维滤波数据,能够显著提升数据访问速度及处理效率。
存储器在进行离散并行读操作时,将外部输入基址和地址偏移发送给数据选通网络,根据基址和地址偏移读取每个存储块上对应地址的数据,并将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据;其中,存储器选取基址为起始地址的存储行并向下寻址,并且每个存储块独立寻址。存储器在进行离散并行写模式时,将对应数据按字节写入外部输入基址为起始地址的向下偏移相应地址的存储空间中。
举例说明,如图6所示,图6为存储器的一种存储空间的数据存储结构图。其中,图6所示存储器包含64个存储块,外部配置K=2,g’=64,读写粒度g=64。图6中示出了三个区域存储空间,分别为区域存储空间610(图中浅色阴影标示部分)、区域存储空间620(图中深色阴影标示部分)以及区域存储空间630(图中斜线阴影标示部分)。则在进行离散并行读操作时,若基址为00,偏移地址从高位向低位排列依次为:01_04_08_00_…_00_07_03_01_05_04_07_09,则依次从存储块0向存储块63中读取数据,其读取数据对应为:127_318_573_60_…_07_454_197_68_323_258_449_576。具体实施中,离散并行读写操作操作可用于数据处理中的查表以及数据的非线性处理操作,由于地址偏移可以由用户根据实际需要进行外部配置,因此其在进行数据读写操作时不仅具有较高的处理效率,还具有较高灵活性。
渐步并行读写模式包括:间步访存方式以及连续访存方式。具体地,如图7所示,图7中渐步并行读写模式中1个区域存储空间的存储空间划分示意图。其中,图7中外部配置K=3,g’=2。在渐步并行读写模式中,KG的取值范围为0-4。
存储器在进行渐步并行读写模式中连续访存方式的读写操作时,具体为将读写地址、读写粒度g(g=64)和访存信息发送给数据选通网络,以选取读写地址所在的区域存储空间,然后以上述读写地址为起始地址,访问连续的W个存储块,并读取/写入相应数据;其中,若为读操作,则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据。
如图7所示,当以渐步并行读写模式中的连续访存方式进行读操作时,如图7所示地址连续读取512bit的数据(Addr=0):
63_62_61_60_59_58_57_56…_07_06_05_04_03_02_01_00(此处的数据用与该数据对应的存储地址表示)。
存储器在进行渐步并行读写模式中的间步访存方式读写操作时,将读写地址、读写粒度g(g!=64)和访存信息发送给数据选通网络,以选取读写地址所在的区域存储空间,以该读写地址为起始地址,并间隔g字节的地址间步访问存储空间;其中,若为读操作,则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据。
如图7所示,当以渐步并行读写模式中的间步访存方式进行读操作时,若读写粒度g=2KGC=2(KGC!=6),间步读取512bit的数据:125_124_121_120_117_116_113_112…_13_12_09_08_05_04_01_00(此处的数据用与该数据对应的存储地址表示)。具体实施中,在面向外部应用时,渐步并行读写模式可应用于复数操作。以图7所示的存储空间为例,当进行32bit的复数操作时,KG的取值为2,则可以将复数的实部和虚部交叉存放于存储空间中,以实现对应复数计算操作。
由此可见,本发明提供的多粒度并行存储系统在支持矩阵行列数据并行读写操作的基础上,还能够进一步支持数据的渐步并行读写操作、离散并行读写操作以及区块并行读写操作,从而实现在面对外部应用时,能够根据外部应用中不同的数据操作类型选择与其相适应类型的读写操作,加快数据的访存速度并提升数据的访存效率。同时,本发明提供的多粒度并行存储系统中的存储器还能够根据外部配置数据来灵活划分逻辑存储块,从而进一步支持数据拼接摆放,提升数据存储过程的灵活性。
图8为本发明提供的多粒度并行存储器800的逻辑结构图。如图8所示,存储器800包括W(W为2的n次方,n为自然数)个存储块810以及一个数据选通网络820。存储器800根据外部配置的空间划分系数K将存储块810划分成一系列区域存储空间830,每个区域存储空间830的大小为即W*2K字节。数据选通网络820用于根据读写地址、读写粒度g和访存信息并行访问存储块810中的区域存储空间830。存储器的具体结构和工作原理可参照上述存储系统实施例中的相应描述,此处不再赘述。
本发明提供的存储器具备512bit的并行读写能力,可支持8bit、16bit、32bit、64bit、128bit、256bit的数据读写操作,并进一步支持渐步并行读写操作、离散并行读写操作、区块并行读写操作以及数据拼接摆放,能够实现不规则寻址,进一步提升了存储器的访问速度和数据处理效率。
本发明中所提到的各种模块、电路均为由硬件实现的电路,虽然其中某些模块、电路集成了软件,但本发明所要保护的是集成软件对应的功能的硬件电路,而不仅仅是软件本身。
本领域技术人员应该理解,附图或实施例中所示的装置结构仅仅是示意性的,表示逻辑结构。其中作为分离部件显示的模块可能是或者可能不是物理上分开的,作为模块显示的部件可能是或者可能不是物理模块。
最后,需要注意的是:以上列举的仅是本发明的具体实施例子,当然本领域的技术人员可以对本发明进行改动和变型,倘若这些修改和变型属于本发明权利要求及其等同技术的范围之内,均应认为是本发明的保护范围。
Claims (9)
1.一种多粒度并行存储系统,包括:存储器、存储器读写端口、选通器以及地址加法器,其中,所述存储器包括W个存储块以及一个数据选通网络;其特征在于,所述存储器根据空间划分系数K将W个存储块划分成一系列的区域存储空间,每个区域存储空间的大小为W*2K字节;
所述选通器用于选取数据的读写模式,则所述存储系统进一步包括:
第一读写处理模块,用于计算数据在普通读写模式以及区块并行读写模式下的步进并提供数据的访存信息;
第二读写处理模块,用于计算数据在离散并行读写模式下的地址偏移并提供数据的访存信息;
第三读写处理模块,用于计算数据在渐步并行读写模式下的步进并提供数据的访存信息;
则所述地址加法器用于将外部输入的基址以及所述第一读写处理模块、第二读写处理模块、或者第三读写处理模块输出的偏移或步进进行无符号相加,得到所述存储器的读写地址;
所述数据选通网络用于根据所述读写地址、读写粒度g、摆放粒度g’和访存信息并行访问所述区域存储空间中的存储块;
其中,所述第一读写处理模块进一步用于:根据读写粒度并行读写逻辑空间中来自同一区块的数据。
2.根据权利要求1所述的存储系统,其特征在于,所述普通读写模式包括:行访存方式以及列访存方式;则所述第一读写处理模块进一步包括:第一行方式计算模块以及第一列方式计算模块;其中,所述第一行方式计算模块用于计算普通读写模式下行访存方式的步进及访存信息;第一列方式计算模块用于计算普通读写模式下列访存方式的步进及访存信息。
3.根据权利要求1或2所述的存储系统,其特征在于,所述存储器在进行普通读写模式中行访存方式的读/写操作时,将读写地址、读写粒度g、摆放粒度g’和访存信息发送给数据选通网络,以选取所述读写地址所在的区域存储空间,并以该读写地址为起始地址访问连续的W个存储块,读取/写入相应的存储数据,若为读操作则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据;
所述存储器在进行普通读写模式中列访存方式的读/写操作时,将读写地址、读写粒度g、摆放粒度g’和访存信息发送给数据选通网络,以所述读写地址为起始地址,选取并访问所述读写地址所在的存储空间开始的64/g个区域存储空间,每个存储空间访问g个存储块,读取/写入相应的数据;其中,若为读操作则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据。
4.根据权利要求1所述的存储系统,其特征在于,所述第二读写处理模块进一步包括:第一偏移计算模块,用于根据预先配置的偏移信息计算全部存储空间中数据的地址偏移;以及,第二偏移计算模块,用于根据预先配置的偏移信息计算局部存储空间中数据的地址偏移。
5.根据权利要求1或4所述的存储系统,其特征在于,所述存储器在进行离散并行读操作时,将外部输入基址和所述地址偏移发送给数据选通网络,根据所述基址和所述地址偏移读取每个存储块上对应地址的数据,并将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据;其中,所述存储器选取所述基址为起始地址的存储行并向下寻址,并且每个存储块独立寻址;
所述存储器在进行离散并行写模式时,将对应数据按字节写入外部输入基址为起始地址的向下偏移相应地址的存储空间中。
6.根据权利要求1所述的存储系统,其特征在于,所述渐步并行读写模式包括:连续访存方式以及间步访存方式;则所述第三读写处理模块进一步包括:第一连续方式计算模块以及第一间步方式计算模块;其中,所述第一连续方式计算模块用于计算渐步并行读写模式下连续访存方式的步进及访存信息;第一间步方式计算模块用于计算渐步并行读写模式下间步访存方式的步进及访存信息。
7.根据权利要求1或6所述的存储系统,其特征在于,所述存储器在进行渐步并行读写模式中连续访存方式的读写操作时,将读写地址、读写粒度g、摆放粒度g’和访存信息发送给所述数据选通网络,以选取所述读写地址所在的区域存储空间,以所述读写地址为起始地址,连续读取/写入W个存储块;其中,若为读操作,则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据;
所述存储器在进行渐步并行读写模式中间步访存方式的读写操作时,将读写地址、读写粒度g、摆放粒度g’和访存信息发送给所述数据选通网络,以选取所述读写地址所在的区域存储空间,以所述读写地址为起始地址,间隔g字节的地址间步访问存储空间的存储块,并读取/写入相应数据;其中,若为读操作,则将所读取的数据按从左到右的顺序拼接为位宽为W字节的输出数据。
8.根据权利要求1所述的存储系统,其特征在于,所述空间划分系数K的取值范围为0-13,以动态划分所述区域存储空间。
9.一种存储器,所述存储器包括W个存储块以及一个数据选通网络;其特征在于,所述存储器根据空间划分系数K将存储块划分成一系列区域存储空间,每个区域存储空间的大小为W*2K字节;所述数据选通网络用于根据读写地址、读写粒度g、摆放粒度g’和访存信息并行访问所述区域存储空间中的存储块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810083362.XA CN110096450B (zh) | 2018-01-29 | 2018-01-29 | 多粒度并行存储系统及存储器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810083362.XA CN110096450B (zh) | 2018-01-29 | 2018-01-29 | 多粒度并行存储系统及存储器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096450A CN110096450A (zh) | 2019-08-06 |
CN110096450B true CN110096450B (zh) | 2021-05-11 |
Family
ID=67442696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810083362.XA Active CN110096450B (zh) | 2018-01-29 | 2018-01-29 | 多粒度并行存储系统及存储器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096450B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110704018B (zh) * | 2019-08-26 | 2020-11-06 | 深圳芯英科技有限公司 | 一种数据缓存器及数据处理方法 |
CN110704369B (zh) * | 2019-10-09 | 2023-06-06 | 苏州盛科通信股份有限公司 | 存储器及其控制方法 |
CN111158757B (zh) * | 2019-12-31 | 2021-11-30 | 中昊芯英(杭州)科技有限公司 | 并行存取装置和方法以及芯片 |
CN114064588B (zh) * | 2021-11-24 | 2023-04-25 | 建信金融科技有限责任公司 | 存储空间调度方法及系统 |
CN117193650B (zh) * | 2023-09-13 | 2024-04-05 | 东莞市奇海实业有限公司 | 基于大文件的固态硬盘管理方法、装置、设备以及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078364A1 (en) * | 2009-09-30 | 2011-03-31 | Hynix Semiconductor Inc. | Solid state storage system for controlling reserved area flexibly and method for controlling the same |
CN102541749A (zh) * | 2011-12-31 | 2012-07-04 | 中国科学院自动化研究所 | 多粒度并行存储系统 |
CN102541774A (zh) * | 2011-12-31 | 2012-07-04 | 中国科学院自动化研究所 | 多粒度并行存储系统与存储器 |
-
2018
- 2018-01-29 CN CN201810083362.XA patent/CN110096450B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078364A1 (en) * | 2009-09-30 | 2011-03-31 | Hynix Semiconductor Inc. | Solid state storage system for controlling reserved area flexibly and method for controlling the same |
CN102541749A (zh) * | 2011-12-31 | 2012-07-04 | 中国科学院自动化研究所 | 多粒度并行存储系统 |
CN102541774A (zh) * | 2011-12-31 | 2012-07-04 | 中国科学院自动化研究所 | 多粒度并行存储系统与存储器 |
Non-Patent Citations (1)
Title |
---|
浮点乘累加处理单元的FPGA实现;金席 等;《计算机与数字工程》;20061031;第165-170页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110096450A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096450B (zh) | 多粒度并行存储系统及存储器 | |
US5812147A (en) | Instruction methods for performing data formatting while moving data between memory and a vector register file | |
US9146696B2 (en) | Multi-granularity parallel storage system and storage | |
US11403173B2 (en) | Multiple read and write port memory | |
US6825841B2 (en) | Granularity memory column access | |
US9171593B2 (en) | Multi-granularity parallel storage system | |
US20190361631A1 (en) | Storage device, chip and method for controlling storage device | |
CN111310115B (zh) | 数据处理方法、装置及芯片、电子设备、存储介质 | |
KR20180006645A (ko) | 메모리 버퍼를 포함하는 메모리 시스템 | |
US20080301400A1 (en) | Method and Arrangement for Efficiently Accessing Matrix Elements in a Memory | |
EP1481319B1 (en) | Method and apparatus for parallel access to multiple memory modules | |
CN111694513A (zh) | 包括循环指令存储器队列的存储器器件和方法 | |
EP2911052B1 (en) | Apparatus for mutual-transposition of scalar and vector data sets and related method | |
CN113704142B (zh) | 片上存储的地址重映射电路 | |
US11755235B2 (en) | Increasing random access bandwidth of a DDR memory in a counter application | |
US6801209B1 (en) | Method and apparatus for storing data in a block-based memory arrangement | |
CN113052291B (zh) | 数据处理方法和装置 | |
GB2204721A (en) | Method and apparatus for determining available memory size | |
US20230307036A1 (en) | Storage and Accessing Methods for Parameters in Streaming AI Accelerator Chip | |
KR970066883A (ko) | 최적화된 메모리 공간과 넓은 데이터 입/출력을 구비하는 메모리 및 그것을 이용하는 시스템과 방법 | |
US11699468B2 (en) | Memory device, semiconductor system, and data processing system | |
CN112802513A (zh) | 一种动态可重构的ram读写方式 | |
KR102565238B1 (ko) | 공유 메모리와 캐시인터리빙을 고려한 어드레스 매핑 장치 및 방법 | |
JPH05307600A (ja) | データの読込及び読出回路 | |
US7457937B1 (en) | Method and system for implementing low overhead memory access in transpose operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 201306 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: 102400 floor 402, building 11, No.1 Yanfu Road, Yancun Town, Fangshan District, Beijing Patentee before: Beijing Si Lang science and Technology Co.,Ltd. |