CN106445831A - 一种存储单元和处理系统 - Google Patents
一种存储单元和处理系统 Download PDFInfo
- Publication number
- CN106445831A CN106445831A CN201510489873.8A CN201510489873A CN106445831A CN 106445831 A CN106445831 A CN 106445831A CN 201510489873 A CN201510489873 A CN 201510489873A CN 106445831 A CN106445831 A CN 106445831A
- Authority
- CN
- China
- Prior art keywords
- ram
- data
- port
- bit storage
- storage organization
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Static Random-Access Memory (AREA)
Abstract
本发明实施例公开了一种存储单元,所述存储单元包括至少一个单比特存储结构;每个单比特存储结构包括四个随机存取存储器RAM,分别为第一RAM、第二RAM、第三RAM和第四RAM;两个读出端口分别为第一读出端口和第二读出端口;两个写入端口,分别为第一写入端口和第二写入端口;其中,第一读出端口分别与第一RAM和第二RAM连接,用于读取第一RAM和第二RAM中存储的数据;第二读出端口分别与第三RAM和第四RAM连接,用于读取第三RAM和第四RAM中存储的数据;第一写入端口分别与第一RAM和第三RAM连接,用于向第一RAM和第三RAM写入数据;第二写入端口分别与第二RAM和第四RAM连接,用于向第二RAM和第四RAM写入数据。同时,本发明实施例还公开了一种处理系统。
Description
技术领域
本发明涉及硬件领域的存储器技术,尤其涉及一种存储单元和处理系统。
背景技术
随着电子技术的发展,自动化的应用越来越广泛,通常自动化的实现离不开处理系统,所述处理系统通常由处理器,存储器(Memory),仪器仪表以及人机交互接口等构成。
现有技术中,为了减少人力资本,自动化设备越来越大型化,而对大型自动化设备的控制涉及海量数据的存储和读取,因此为了满足处理系统控制需求,必须提高处理系统中Memory的数据存储容量。实际应用中通常可以通过提高Memory的访问带宽提高数据存储容量,常用的方法是倍频,即通过提高单位时间内对Memory的访问次数来提高数据访问带宽,假设原来单位时间内可以存储N次数据,倍频之后单位时间内可以存储2N或3N次数据,因此可以提高Memory的数据存储容量,但是由于单位时间可以提高的访问次数有限,使得通过倍频方法能够提高的数据存储容量也有限,很多情况下无法满足处理系统的控制需求,限制了处理系统的应用。
发明内容
为解决上述技术问题,本发明实施例期望提供一种存储单元和处理系统,能够提高数据存储容量,满足处理系统的控制需求,扩展了处理系统的应用。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供一种存储单元,所述存储单元包括至少一个单比特存储结构;
每个所述单比特存储结构包括四个随机存取存储器RAM,分别为第一RAM、第二RAM、第三RAM和第四RAM;两个读出端口分别为第一读出端口和第二读出端口;两个写入端口分别为第一写入端口和第二写入端口;
其中,所述第一读出端口分别与所述第一RAM和所述第二RAM连接,用于读取所述第一RAM和所述第二RAM中存储的数据;
所述第二读出端口分别与所述第三RAM和所述第四RAM连接,用于读取所述第三RAM和所述第四RAM中存储的数据;
所述第一写入端口分别与所述第一RAM和所述第三RAM连接,用于向所述第一RAM和所述第三RAM写入数据;
所述第二写入端口分别与所述第二RAM和所述第四RAM连接,用于向所述第二RAM和所述第四RAM写入数据。
可选的,所述存储单元还包括第一逻辑运算子单元和第二逻辑运算子单元;所述第一逻辑运算子单元与所述第一读出端口连接,所述第二逻辑运算子单元与所述第一写入端口连接;
所述第一逻辑运算子单元用于,在通过所述第一写入端口向所述单比特存储结构写入第一数据时,通过所述第一读出端口分别读取所述第一RAM中存储的第二数据和所述第二RAM中存储的第三数据,然后获取所述第二数据与所述第三数据的异或值;
所述第二逻辑运算子单元用于,当所述第一数据与所述异或值不同时,通过所述第一写入端口将所述第二数据取反后分别写入所述第一RAM和所述第三RAM。
可选的,所述存储单元包括两个单比特存储结构,分别为第一单比特存储结构和第二单比特存储结构;
其中,所述第一单比特存储结构的第一写入端口与所述第二单比特存储结构的第一写入端口连接组成所述存储单元的第一输入端口;
所述第一单比特存储结构的第二写入端口与所述第二单比特存储结构的第二写入端口连接组成所述存储单元的第二输入端口;
所述第二单比特存储结构的第一读出端口为所述存储单元的第一输出端口;
所述第二单比特存储结构的第二读出端口为所述存储单元的第二输出端口。
可选的,所述存储单元还包括第三逻辑运算子单元和第四逻辑运算子单元;所述第三逻辑运算子单元与所述第一单比特存储结构的第一读出端口连接,所述第四逻辑运算子单元与所述第一输入端口连接;
所述第三逻辑运算子单元用于,在通过所述第一输入端口向所述存储单元写入第四数据时,通过所述第一单比特存储结构的第一读出端口分别读取所述第一单比特存储结构的第一RAM中存储的第五数据和第二RAM中存储的第六数据,然后获取所述第五数据与所述第六数据的异或值;
所述第四逻辑运算子单元用于,当所述第四数据与所述异或值不同时,通过所述第一输入端口将所述第五数据取反后分别写入所述第一单比特存储结构的第一RAM和第三RAM,以及第二单比特存储结构的第一RAM和第三RAM。
可选的,所述存储单元还包括至少一个标志位存储器,每个标志位存储器对应一个单比特存储结构,所述标志位存储器用于存储对应的单比特存储结构的第一RAM、第二RAM、第三RAM和第四RAM的标志位。
可选的,所述存储单元包括一个单比特存储结构,为第三单比特存储结构,与所述第三单比特存储结构对应的标志位存储器为第四单比特存储结构;
所述标志位存储器用于,通过所述第四单比特存储结构的第一读出端口读出的数据,指示第三单比特存储结构的第一读出端口读出所述第三单比特存储结构的第一RAM或所述第三单比特存储结构的第二RAM中存储的数据;
通过所述第四单比特存储结构的第二读出端口读出的数据,指示第三单比特存储结构的第二读出端口读出所述第三单比特存储结构的第三RAM或所述第三单比特存储结构的第四RAM中存储的数据。
可选的,所述标志位存储器具体用于,当所述第四单比特存储结构的第一读出端口读出第七数据时,指示第三单比特存储结构的第一读出端口读出第一RAM存储的数据;
所述存储单元还包括第五逻辑运算子单元和第六逻辑运算子单元;所述第五逻辑运算子单元与所述第四单比特存储结构的第一读出端口连接,所述第六逻辑运算子单元与所述第四单比特存储结构的第一写入端口连接;
所述第五逻辑运算子单元用于,在通过所述第三单比特存储结构的第一写入端口向所述第三单比特存储结构的第一RAM写入新的数据后,通过第四单比特存储结构的第一读出端口分别读取第四单比特存储结构的第一RAM中存储的第八数据和第二RAM中存储的第九数据,然后获取所述第八数据与所述第九数据的异或值;
所述第六逻辑运算子单元用于,当所述异或值与所述第七数据不相同时,通过所述第四单比特存储结构的第一写入端口将所述第八数据取反后写入所述第四单比特存储结构的第一RAM和第三RAM。
可选的,所述存储单元包括一个单比特存储结构,为第五单比特存储结构,与所述第五单比特存储结构对应的标志位存储器包括两个单比特存储结构,分别为第六单比特存储结构和第七单比特存储结构;
其中,所述第六单比特存储结构的第一写入端口与所述第七单比特存储结构的第一写入端口连接组成所述标志位存储器的第一写入总端口;
所述第六单比特存储结构的第二写入端口与所述第七单比特存储结构的第二写入端口连接组成所述标志位存储器的第二写入总端口;
所述第七单比特存储结构的第一读出端口为所述标志位存储器的第一读出总端口;
所述第七单比特存储结构的第二读出端口为所述标志位存储器的第二读出总端口;
所述标志位存储器具体用于,通过所述第一读出总端口读出的数据,指示所述第五单比特存储结构的第一读出端口读出所述第五单比特存储结构中第一RAM或所述第五单比特存储结构中第二RAM中存储的数据;
通过所述第二读出总端口读出的数据,指示所述第五单比特存储结构的第二读出端口读出所述第五单比特存储结构的第三RAM或所述第五单比特存储结构的第四RAM中存储的数据。
第二方面,本发明实施例提供一种处理系统,包括上述任意一种存储单元。
本发明实施例提供了一种存储单元和处理系统,包括至少一个单比特存储结构;每个所述单比特存储结构包括四个随机存取存储器RAM,分别为第一RAM、第二RAM、第三RAM和第四RAM;两个读出端口分别为第一读出端口和第二读出端口;两个写入端口,分别为第一写入端口和第二写入端口;其中,所述第一读出端口分别与所述第一RAM和所述第二RAM连接,用于读取所述第一RAM和所述第二RAM中存储的数据;所述第二读出端口分别与所述第三RAM和所述第四RAM连接,用于读取所述第三RAM和所述第四RAM中存储的数据;所述第一写入端口分别与所述第一RAM和所述第三RAM连接,用于向所述第一RAM和所述第三RAM写入数据;所述第二写入端口分别与所述第二RAM和所述第四RAM连接,用于向所述第二RAM和所述第四RAM写入数据。相较于现有技术,采用四个RAM组成一个单比特(bit)存储结构,使得该单比特存储结构具有两个读出端口和两个写入端口,因此可以同时对所述单比特存储结构进行两次读操作和两次写操作,提高了该单比特存储结构的访问带宽,进而提高了包括该单比特存储结构的存储单元的数据存储容量,满足处理系统的控制需求,扩展了处理系统的应用。
附图说明
图1为本发明实施例提供的第一种存储单元的结构示意图;
图2为本发明实施例提供的第二种存储单元的结构示意图;
图3为本发明实施例提供的第三种存储单元的结构示意图;
图4为本发明实施例提供的第四种存储单元的结构示意图;
图5为本发明实施例提供的第五种存储单元的结构示意图;
图6为本发明实施例提供的第六种存储单元的结构示意图;
图7为本发明实施例提供的第七种存储单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供一种存储单元,所述存储单元包括至少一个单比特存储结构101,如图1所示。
每个所述单比特存储结构101包括四个随机存取存储器(Random-AccessMemory,RAM),分别为第一RAM1011、第二RAM1012、第三RAM1013和第四RAM1014;两个读出端口,分别为第一读出端口101i和第二读出端口101j;两个写入端口,分别为第一写入端口101p和第二写入端口101q。
其中,所述第一读出端口101i分别与所述第一RAM1011和所述第二RAM1012连接,用于读取所述第一RAM1011和所述第二RAM1012中存储的数据;所述第二读出端口101j分别与所述第三RAM1013和所述第四RAM1014连接,用于读取所述第三RAM1013和所述第四RAM1014中存储的数据;所述第一写入端口101p分别与所述第一RAM1011和所述第三RAM1013连接,用于向所述第一RAM1011和所述第三RAM1013写入数据;所述第二写入端口101q分别与所述第二RAM1012和所述第四RAM1014连接,用于向所述第二RAM1012和所述第四RAM1014写入数据。
由于第一RAM1011、第二RAM1012、第三RAM1013和第四RAM1014并非是完全独立的,而是通过第一读出端口101i、第二读出端口101j、第一写入端口101p和第二写入端口101q相互连接,这样可以使得所述第一RAM1011、第二RAM1012、第三RAM1013和第四RAM1014组成一个单比特存储结构101,该单比特存储结构101具有两个读出端口,两个写入端口,且仅对应一套地址空间,相当于两读两写的单比特存储器。
这样一来,采用四个RAM组成一个单比特存储结构,使得该单比特存储结构具有两个读出端口和两个写入端口,因此可以同时对所述单比特存储结构进行两次读操作和两次写操作,提高了该单比特存储结构的访问带宽,进而提高了存储单元的数据存储容量,满足处理系统的控制需求,扩展了处理系统的应用。
如图2所示,所述存储单元还包括第一逻辑运算子单元102和第二逻辑运算子单元103;所述第一逻辑运算子单元102与所述第一读出端口101i连接,所述第二逻辑运算子单元103与所述第一写入端口101p连接;所述第一逻辑运算子单元102用于,在通过所述第一写入端口101p向所述单比特存储结构101写入第一数据时,可以首先通过所述第一读出端口101i分别读取所述第一RAM1011中存储的第二数据和所述第二RAM1012中存储的第三数据,然后获取所述第二数据与所述第三数据的异或值;所述第二逻辑运算子单元103用于,当所述第一数据与所述异或值不同时,通过所述第一写入端口101p将所述第二数据取反后分别写入所述第一RAM1011和所述第三RAM1012。
示例的,现有技术在使用单比特存储器时通常会遇到如下情况,即对单比特存储器的读操作和写操作成对出现,即有读必有写,且读在前,写在后,读写操作之间存在一定的时间间隔。所以在实际应用中,可以首先根据具体情况设定第一读出端口101i、第二读出端口101j、第一写入端口101p和第二写入端口101q之间的对应关系,本发明实施例中假设第一读出端口101i与第一写入端口101p对应,第二读出端口101j与第二写入端口101q对应,即在通过第一写入端口101p写入数据时,首先需要通过第一读出端口101i读取数据,在通过第二写入端口101q写入数据时,首先需要通过第二读出端口101j读取数据。并且,由于单比特存储结构101的地址空间中包括多个地址,每个地址可以存储不同的数据,即可以通过第一写入端口101p向单比特存储结构101的任意一个地址写入第一数据。同时由于RAM为单比特存储器,因此每个RAM中存储的数据为0或1,第一数据也为0或1。
示例的,假设第一数据为0,第一读出端口101i读取的第一RAM1011中存储的第二数据为0,第二RAM1012中存储的第三数据为1,第二数据与第三数据的异或值为1,即第一逻辑运算子单元102获取的异或值为1,由于需要写入的第一数据与该异或值不同,因此所述第二逻辑运算子单元103可以将第一RAM1011存储的第二数据0取反后通过第一写入端口101p写入第一RAM1011和第三RAM1013,由于第二数据0取反后为1,即所述第二逻辑运算子单元将1分别写入第一RAM1011和第三RAM1013。这样一来,第一RAM1011中存储的第二数据变为1,而第二RAM1012中的数据仍然为1,此时第二数据与第三数据的异或值为0,与第一数据相同,表示已经通过第一写入端口101p将第一数据写入存储单元10;假设第一数据为1,第一RAM1011中存储的第二数据为0,第二RAM1012中存储的第三数据为1,第二数据与第三数据的异或值为1,此时该异或值与第一数据相同,即当前从第一读出端口读出的数据与第一数据相同,所以此时可以不进行写操作。
可选的,如图3所示,所述存储单元10可以包括两个单比特存储结构,分别为第一单比特存储结构101A和第二单比特存储结构101B;其中,所述第一单比特存储结构101A的第一写入端口与所述第二单比特存储结构101B的第一写入端口连接组成所述存储单元10的第一输入端口10p;所述第一单比特存储结构101A的第二写入端口与所述第二单比特存储结构的第二写入端口连接组成所述存储单元10的第二输入端口10q;所述第二单比特存储结构101B的第一读出端口为所述存储单元10的第一输出端口10i;所述第二单比特存储结构101B的第二读出端口为所述存储单元的第二输出端口10j。
示例的,如图4所示,所述存储单元还包括第三逻辑运算子单元104和第四逻辑运算子单元105;所述第三逻辑运算子单元104与所述第一单比特存储结构101A的第一读出端口101iA连接,所述第四逻辑运算子单元105与所述第一输入端口10p连接;所述第三逻辑运算子单元104用于,在通过所述第一输入端口10p向所述存储单元10写入第四数据时,通过所述第一单比特存储结构101A的第一读出端口101iA分别读取所述第一单比特存储结构101A的第一RAM1011A中存储的第五数据和第二RAM1012A中存储的第六数据,然后获取所述第五数据与所述第六数据的异或值;所述第四逻辑运算子单元105用于,当所述第四数据与所述异或值不同时,通过所述第一输入端口10p将所述第五数据取反后分别写入所述第一单比特存储结构101A的第一RAM1011A和第三RAM1013A,以及第二单比特存储结构101B的第一RAM1011B和第三RAM1013B。
假设当前需要通过所述第一输入端口10p向所述存储单元10写入第四数据1,第一单比特存储结构101A的第一RAM1011A存储的第五数据为0,第二RAM1012A存储的第六数据为0,则所述第三逻辑运算子单元104获取的第五数据与第六数据的异或值为0,与第四数据不相同,此时所述第四逻辑运算子单元105可以通过第一输入端口10p将第五数据0取反后将写入第一单比特存储结构101A的第一RAM1011A和第三RAM1013A,以及第二单比特存储结构101B的第一RAM1011B和第三RAM1013B,由于第五数据取反后为1,即第四逻辑运算子单元105将1写入第一单比特存储结构101A的第一RAM1011A和第三RAM1013A,以及第二单比特存储结构101B的第一RAM1011B和第三RAM1013B。此时,第一单比特存储结构101A的第一RAM1011A中的第五数据为1,而第六数据仍然为0,则第五数据与第六数据的异或值为1,与第四数据相同,表示已经通过第一输入端口10p将第四数据写入存储单元10;假设当前需要通过所述第一输入端口10p向所述存储单元10写入第四数据1,第一单比特存储结构101A的第一RAM1011A存储的第五数据为1,第二RAM1012A存储的第六数据为0,第三逻辑运算子单元104获取的第五数据与第六数据的异或值为1,与第四数据相同,此时可以不进行写操作。
同理,当通过第二输入端口10q写入数据1时,假设第一单比特存储结构101A的第三RAM1013A存储的数据为0,第四RAM1014A存储的数据为0,则第三RAM1013A存储的数据与第四RAM1014A存储的数据的异或值,该异或值为0,与当前需要写入的数据不相同,然后可以将第四RAM1013A存储的数据0取反后写入第一单比特存储结构101A的第二RAM1012A和第四RAM1014A,以及第二单比特存储结构101B的第二RAM1012B和第四RAM1014B,由于数据0取反后为1,即将1写入第一单比特存储结构101A的第二RAM1012A和第四RAM1014A,以及第二单比特存储结构101B的第二RAM1012B和第四RAM1014B。此时,第一单比特存储结构101A的第四RAM1014A中的数据为1,而第三RAM1013A存储的数据仍然为0,则两个数据的异或值为1,与当前需要写入的数据相同,表示已经通过第二输入端口10p将数据写入存储单元10;假设当前需要通过所述第二输入端口10q向所述存储单元10写入第四数据1,第一单比特存储结构101A的第三RAM1013A存储的第五数据为1,第四RAM1014A存储的第六数据为0,两个数据的异或值为1,与需要存储的数据1相同,此时可以不进行写操作。需要说明的是,存储单元10还可以包括其他逻辑子单元,用于完成上述具体操作,具体的过程与前述实施例中描述的第三逻辑运算子单元104和第四逻辑运算子单元105的工作过程类似,本发明实施例在此不做赘述。
由上述描述可知,存储单元10中写入第一单比特存储结构101A的第一RAM1011A和第三RAM1013A的数据与写入第二单比特存储结构101B的第一RAM1011B和第三RAM1013B相同,写入第一单比特存储结构101A的第二RAM1012A和第四RAM1014A的数据与写入第二单比特存储结构101B的第二RAM1012B和第四RAM1014B相同,因此从第一输出端口10i读出的数与第一单比特存储结构101A的第一读出端口101iA读出的数相同,从第二输出端口10j读出的数与第一单比特存储结构101A的第二读出端口101jA读出的数相同。因此可以通过第一输出端口10i和第二输出端口10j读取存储单元10中存储的数据,并且读操作完成之后不要求必须进行写操作,在通过第一输入端口10p和第二输入端口10q写入数据时,也不需要首先通过第一输出端口10i或第二输出端口10j读取数据,因此该类型的存储单元10没有读写造作的顺序限制,可以满足各种单比特存储的读写应用场景。
可选的,所述存储单元10还包括至少一个标志位存储器,每个标志位存储器对应一个单比特存储结构,所述标志位存储器用于存储分别与所述第一RAM、所述第二RAM、所述第三RAM和所述第四RAM对应的标志位。示例的,标志位存储器可以预设两个标志位,分别第一标志位、第二标志位、第三标志位和第四标志位,分别于第一RAM、所述第二RAM、所述第三RAM和所述第四RAM对应,例如,当第一标志位为1时,表示应该读取第一RAM的数据,此时可以通过与该标志位存储器对应的单比特存储结构的第一读出端口读取该单比特存储结构的第一RAM存储的数据。在读取单比特存储结构存储的数据时,可以首先读取与其对应的标志位存储器,确定新的数据存储在该单比特存储结构的具体位置,然后在读取该位置的信息作为单比特存储结构存储的数据。
可选的,如图5所示,所述存储单元10包括一个单比特存储结构,为第三单比特存储结构101C,与所述第三单比特存储结构101C对应的标志位存储器为第四单比特存储结构101D;所述标志位存储器用于,通过所述第四单比特存储结构101D的第一读出端口101iD读出的数据,指示第三单比特存储结构101C的第一读出端口101iC读出所述第三单比特存储结构101C的第一RAM1011C或所述第三单比特存储结构101C的第二RAM1012C中存储的数据;还用于通过所述第四单比特存储结构101D的第二读出端口101jD读出的数据,指示第三单比特存储结构101C的第二读出端口101jC读出所述第三单比特存储结构101C的第三RAM1013C或所述第三单比特存储结构101C的第四RAM1014C中存储的数据。将存储单元10封装之后,不体现标志位存储器的端口,体现在封装体外部的端口仅有第三单比特存储结构101C的第一读出端口101iC,第二读出端口101jC,第一写入端口101pC,第二写入端口101qC,所以可以得到两读两写的单比特存储器。
示例的,所述标志位存储器可以具体用于,当所述第四单比特存储结构101D的第一读出端口101iD读出第七数据时,表示第三单比特存储结构101C的第一读出端口101iC读出第一RAM1011C存储的数据;当所述第四单比特存储结构101D的第一读出端口101iD读出第十数据时,表示第三单比特存储结构101C的第一读出端口101iC读出第二RAM1012C存储的数据。假设通过第三单比特存储结构101C的第一写入端口101pC向第三单比特存储结构101C的第一RAM1011C中写入新的数据,则处理器下一次读取存储单元10中新存储的数据时,需要第四单比特存储结构101D指示第一RAM1011C的标志位有效,即指示新的数据存储的第一RAM1011C中,以免处理器无法分辨新数据的存储位置,导致读取到第三单比特存储结构101C其他RAM中存储的旧数据,引起系统紊乱。
具体的,如图6所示,所述存储单元10还包括第五逻辑运算子单元106和第六逻辑运算子单元107;所述第五逻辑运算子单元106与所述第四单比特存储结构101D的第一读出端口101iD连接,所述第六逻辑运算子单元107与所述第四单比特存储结构101D的第一写入端口101pD连接;所述第五逻辑运算子单元106用于,在通过所述第三单比特存储结构101C的第一写入端口101pC向所述第三单比特存储结构101C的第一RAM1011C写入新的数据后,通过第四单比特存储结构101D的第一读出端口101iD分别读取第四单比特存储结构101D的第一RAM1011D中存储的第八数据和第二RAM1012D中存储的第九数据,然后获取所述第八数据与所述第九数据的异或值;所述第六逻辑运算子单元107用于,当所述异或值与所述第七数据不相同时,通过所述第四单比特存储结构101D的第一写入端口101pD将所述第八数据取反后写入所述第四单比特存储结构101D的第一RAM1011D和第三RAM1013D。假设当第四单比特存储结构101D的第一读出端口101iD读出0时,表示第三单比特存储结构101C的第一读出端口101iC读出第一RAM1011C存储的数据;当所述第四单比特存储结构101D的第一读出端口101iD读出1时,表示第三单比特存储结构101C的第一读出端口101iC读出第二RAM1012C存储的数据。在通过所述第三单比特存储结构101C的第一写入端口101pC向所述第三单比特存储结构101C的第一RAM1011C写入1后,第五逻辑运算子单元106可以通过第四单比特存储结构101D的第一读出端口101iD读取第四单比特存储结构101D的第一RAM1011D中存储的第八数据,该数据为0,第二RAM1012D中存储的第九数据,该数据为1,此时可以获取到第八数据与所述第九数据的异或值为1,该异或值与第七数据0并不相同,表示标志位存储器并没有指示新的数据存储在第三单比特存储结构101C的第一RAM1011C中,所以第六逻辑运算子单元107可以通过所述第四单比特存储结构101D的第一写入端口101pD将所述第八数据取反后写入所述第四单比特存储结构101D的第一RAM1011D和第三RAM1013D,由于第八数据取反后为1,即第六逻辑运算子单元107将1写入第一RAM1011D和第三RAM1013D,此时第一RAM1011D中的存数数据为1,而第二RAM1012D中存储的数据仍然为1,所以两个数据的异或值为0,表示新的数据存储在第三单比特存储结构101C第一RAM1011C中,即第三单比特存储结构101C的第一读出端口101iC读出第一RAM1011C存储的数据。
进一步的,假设当第四单比特存储结构101D的第二读出端口101jD读出0时,表示第三单比特存储结构101C的第二读出端口101jC读出第三RAM1013C存储的数据;当所述第四单比特存储结构101D的第二读出端口101jD读出1时,表示第三单比特存储结构101C的第二读出端口101jC读出第四RAM1014C存储的数据。在通过所述第三单比特存储结构101C的第二写入端口101qC向所述第三单比特存储结构101C的第四RAM1014C写入1后,通过第四单比特存储结构101D的第二读出端口101jD读取到的第四单比特存储结构101D的第三RAM1013D中存储的数据,该数据为0,第四RAM1014D中存储的数据,该数据为1,此时两个数据的异或值为1,表示标志位存储器此时已经指示新的数据存储在第四RAM1014C中,可以不对标志位存储器的数据进行更改。需要说明的是,存储单元10还可以包括其他逻辑子单元,用于完成上述具体操作,具体的过程与前述实施例中描述的第五逻辑运算子单元106和第六逻辑运算子单元107的工作过程类似,本发明实施例在此不做赘述。
需要说明的是,在第一RAM1011C存储新数据后,不需要改变标志位存储器的数据的分析过程与上述不需要改变标志位存储器的数据的过程相同;在第四RAM1014C存储新数据后,需要改变标志位存储器的数据的分析过程与上述新数据存储在第一RAM1011C中改变标志位存储器的数据的过程相同,本发明在此不做赘述。
可选的,如图7所示,所述存储单元10包括一个单比特存储结构,为第五单比特存储结构101E,与所述第五单比特存储结构101E对应的标志位存储器包括两个单比特存储结构,分别为第六单比特存储结构101F和第七单比特存储结构101G。其中,所述第六单比特存储结构101F的第一写入端口与所述第七单比特存储结构101G的第一写入端口连接组成所述标志位存储器的第一写入总端口1002p;所述第六单比特存储结构101F的第二写入端口与所述第七单比特存储结构101G的第二写入端口连接组成所述标志位存储器的第二写入总端口1002q;所述第七单比特存储结构101G的第一读出端口为所述标志位存储器的第一读出总端口1002i;所述第七单比特存储结构101G的第二读出端口为所述标志位存储器的第二读出总端口1002j;所述标志位存储器具体用于,通过所述第一读出总端口1002i读出的数据,指示所述第五单比特存储结构101E的第一读出端口101iE读出所述第五单比特存储结构101E中第一RAM1011E或所述第五单比特存储结构101E中第二RAM1012E存储的数据;所述标志位存储器还具体用于,通过所述第二读出总端口1002j读出的数据,指示所述第五单比特存储结构的第二读出端口101jE读出所述第五单比特存储结构的第三RAM1013E或所述第五单比特存储结构101E的第四RAM1014E中存储的数据。将存储单元10封装之后,不体现标志位存储器的端口,体现在封装体外部的端口仅有第五单比特存储结构101E的第一读出端口101iE,第二读出端口101jE,第一写入端口101pE,第二写入端口101qE,所以可以得到两读两写的单比特存储器。
具体的,假设,所述标志位存储器的第一读出总端口1002i读出的数据为0时,指示所述第五单比特存储结构101E的第一读出端口101iE读出所述第五单比特存储结构101E中第一RAM1011E存数的数据,所述标志位存储器的第一读出总端口1002i读出的数据为1时,指示所述第五单比特存储结构101E的第一读出端口101iE读出所述第五单比特存储结构101E中第二RAM1012E存数的数据。在所述第五单比特存储结构101E的第一写入端口101pE向所述第五单比特存储结构101E中第一RAM1011E写入新的数据后,通过第六单比特存储结构101F的第一读出端口101iF分别读取第六单比特存储结构101F的第一RAM1011F中存储的数据和第二RAM1012F中存储的数据,并取两个数据的异或值输出;若所述异或值不为0,表示此时并没有指示新的数据存储在第五单比特存储结构101E中第一RAM1011E中,需要改变标志位存储器的数据,具体的,可以通过所述标志位存储器的第一写入总端口1002p将所述第一RAM1011F中存储的数据取反后写入第六单比特存储结构101F的第一RAM1011F和第三RAM1013F,以及第七单比特存储结构101G的第一RAM1011G和第三RAM1013G,使得标志位存储器指示新的数据存储在第五单比特存储结构101E的第一RAM1011E中。
例如,在通过所述第五单比特存储结构101E的第一写入端口101pE向所述第五单比特存储结构101E中第一RAM1011E写入1后,通过第六单比特存储结构101F的第一读出端口101iF读取第六单比特存储结构101F的第一RAM1011F中存储的数据,该数据为0,以及第二RAM1012D中存储的数据,该数据为1,然后获取两个数据的异或值为1,该异或值与0并不相同,表示标志位存储器并没有指示新的数据存储在第五单比特存储结构101E中第一RAM1011E中,可以通过所述标志位存储器的第一写入总端口1002p将所述第六单比特存储结构101F的第一RAM1011F中存储的数据取反后写入第六单比特存储结构101F的第一RAM1011F和第三RAM1013F,以及第七单比特存储结构101G的第一RAM1011G和第三RAM1013G,由于0取反后为1,即将1写入第六单比特存储结构101F的第一RAM1011F和第三RAM1013F,以及第七单比特存储结构101G的第一RAM1011G和第三RAM1013G,此时第六单比特存储结构101F的第一RAM1011F中的存数数据为1,第六单比特存储结构101F的第二RAM1012F中存储的数据仍然为1,所以两个数据的异或值为0。由于第六单比特存储结构101F和第七单比特存储结构101G公用第一写入总端口1002p和第二写入总端口1002q,因此第六单比特存储结构101F与第七单比特存储结构101G的各个RAM中存储相同的数,因此,从标志位存储器第一读出总端口1002i读出的数据为0,表示新的数据存储在第五单比特存储结构101E第一RAM1011E中,即在读取数据时第五单比特存储结构101E的第一读出端口101iE读出第一RAM1011E存储的数据。由于从标志位存储器的第一读出总端口1002i或第二读出总端口1002j读取数据时,不需要进行写入操作,所以在读取存储单元10的数据时,可以通过第一读出总端口1002i或第二读出总端口1002j确定标志位信息;而在向存储单元10存储新的数据后,由于可能会改变标志位存储器中RAM的数据,因此可以从第六单比特存储结构101F的第一读出端口101iF或第二读出端口101jF读取第六单比特存储结构101F中RAM的数据,并在需要改变标志位存储器中的数据时,通过写操作进行改变,这样一来,提高了标志位存储器的访问带宽,同时不限定标志位存储器的读写操作顺序,适用的范围较广。上述操作均可通过存储单元中包括的逻辑子单元完成,具体的过程可以参考前述实施例中的具体描述,本发明实施例在此不做赘述。
需要说明的是,如果第六单比特存储结构101F的第一读出端口101iF读出的数为0,此时已经指示新的数据存储在第五单比特存储结构101E中第一RAM1011E,可以不改变标志位存储器的数据,本发明实施例在此不做赘述。同时通过第二写入端口101qE向第五单比特存储结构101E的第四RAM1014E存储数据后,可以首先通过第六单比特存储结构101F的第二读出端口101jF读取第三RAM1013F与第四RAM1014F的数据,并根据该两个数据判断是否需要改变第六单比特存储结构101F的第四RAM1014F和第七单比特存储结构101G的第四RAM1014G的数据,具体的方法与上述方法相同,可以参照上述方法进行操作,本发明实施例在此不做赘述。
需要说明的是,存储单元10可以根据具体情况在设置其他逻辑子单元,示例的,其他逻辑子单元可以通过第一读出端口101i获取第一RAM1011存储的数据与第二RAM1012存储的数据的和值,或者还可以获取第一RAM1011存储的数据与第二RAM1012存储的数据的乘积;同理还可以通过第二读出端口101j获取第三RAM1013存储的数据与第四RAM1014存储的数据的和值,或者还可以获取第三RAM1013存储的数据与第四RAM1014存储的数据的乘积,本发明实施例对此不做限定。
本发明实施例提供了一种存储单元,可以采用四个RAM组成一个单比特存储结构,使得该单比特存储结构具有两个读出端口和两个写入端口,因此可以同时对所述单比特存储结构进行两次读操作和两次写操作,提高了该单比特存储结构的访问带宽,进而提高了由该单比特存储结构组成的存储单元的数据存储容量,满足处理系统的控制需求,扩展了处理系统的应用。
本发明实施例提供一种处理系统,包括上述任一实施例上述的存储单元10。由于采用存储单元10作为处理单元的存储装置,使得存储装置的访问带宽增加,进而增加了处理系统的数据存储容量,使得处理系统能够满足大型自动化设备的控制需求。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (9)
1.一种存储单元,其特征在于,所述存储单元包括至少一个单比特存储结构;
每个所述单比特存储结构包括四个随机存取存储器RAM,分别为第一RAM、第二RAM、第三RAM和第四RAM;两个读出端口分别为第一读出端口和第二读出端口;两个写入端口分别为第一写入端口和第二写入端口;
其中,所述第一读出端口分别与所述第一RAM和所述第二RAM连接,用于读取所述第一RAM和所述第二RAM中存储的数据;
所述第二读出端口分别与所述第三RAM和所述第四RAM连接,用于读取所述第三RAM和所述第四RAM中存储的数据;
所述第一写入端口分别与所述第一RAM和所述第三RAM连接,用于向所述第一RAM和所述第三RAM写入数据;
所述第二写入端口分别与所述第二RAM和所述第四RAM连接,用于向所述第二RAM和所述第四RAM写入数据。
2.根据权利要求1所述的存储单元,其特征在于,所述存储单元还包括第一逻辑运算子单元和第二逻辑运算子单元;所述第一逻辑运算子单元与所述第一读出端口连接,所述第二逻辑运算子单元与所述第一写入端口连接;
所述第一逻辑运算子单元用于,在通过所述第一写入端口向所述单比特存储结构写入第一数据时,通过所述第一读出端口分别读取所述第一RAM中存储的第二数据和所述第二RAM中存储的第三数据,然后获取所述第二数据与所述第三数据的异或值;
所述第二逻辑运算子单元用于,当所述第一数据与所述异或值不同时,通过所述第一写入端口将所述第二数据取反后分别写入所述第一RAM和所述第三RAM。
3.根据权利要求1所述的存储单元,其特征在于,所述存储单元包括两个单比特存储结构,分别为第一单比特存储结构和第二单比特存储结构;
其中,所述第一单比特存储结构的第一写入端口与所述第二单比特存储结构的第一写入端口连接组成所述存储单元的第一输入端口;
所述第一单比特存储结构的第二写入端口与所述第二单比特存储结构的第二写入端口连接组成所述存储单元的第二输入端口;
所述第二单比特存储结构的第一读出端口为所述存储单元的第一输出端口;
所述第二单比特存储结构的第二读出端口为所述存储单元的第二输出端口。
4.根据权利要求3所述的存储单元,其特征在于,所述存储单元还包括第三逻辑运算子单元和第四逻辑运算子单元;所述第三逻辑运算子单元与所述第一单比特存储结构的第一读出端口连接,所述第四逻辑运算子单元与所述第一输入端口连接;
所述第三逻辑运算子单元用于,在通过所述第一输入端口向所述存储单元写入第四数据时,通过所述第一单比特存储结构的第一读出端口分别读取所述第一单比特存储结构的第一RAM中存储的第五数据和第二RAM中存储的第六数据,然后获取所述第五数据与所述第六数据的异或值;
所述第四逻辑运算子单元用于,当所述第四数据与所述异或值不同时,通过所述第一输入端口将所述第五数据取反后分别写入所述第一单比特存储结构的第一RAM和第三RAM,以及第二单比特存储结构的第一RAM和第三RAM。
5.根据权利要求1所述的存储单元,其特征在于,
所述存储单元还包括至少一个标志位存储器,每个标志位存储器对应一个单比特存储结构,所述标志位存储器用于存储对应的单比特存储结构的第一RAM、第二RAM、第三RAM和第四RAM的标志位。
6.根据权利要求5所述的存储单元,其特征在于,所述存储单元包括一个单比特存储结构,为第三单比特存储结构,与所述第三单比特存储结构对应的标志位存储器为第四单比特存储结构;
所述标志位存储器用于,通过所述第四单比特存储结构的第一读出端口读出的数据,指示第三单比特存储结构的第一读出端口读出所述第三单比特存储结构的第一RAM或所述第三单比特存储结构的第二RAM中存储的数据;
通过所述第四单比特存储结构的第二读出端口读出的数据,指示第三单比特存储结构的第二读出端口读出所述第三单比特存储结构的第三RAM或所述第三单比特存储结构的第四RAM中存储的数据。
7.根据权利要求6所述的存储单元,其特征在于,
所述标志位存储器具体用于,当所述第四单比特存储结构的第一读出端口读出第七数据时,指示第三单比特存储结构的第一读出端口读出第一RAM存储的数据;
所述存储单元还包括第五逻辑运算子单元和第六逻辑运算子单元;所述第五逻辑运算子单元与所述第四单比特存储结构的第一读出端口连接,所述第六逻辑运算子单元与所述第四单比特存储结构的第一写入端口连接;
所述第五逻辑运算子单元用于,在通过所述第三单比特存储结构的第一写入端口向所述第三单比特存储结构的第一RAM写入新的数据后,通过第四单比特存储结构的第一读出端口分别读取第四单比特存储结构的第一RAM中存储的第八数据和第二RAM中存储的第九数据,然后获取所述第八数据与所述第九数据的异或值;
所述第六逻辑运算子单元用于,当所述异或值与所述第七数据不相同时,通过所述第四单比特存储结构的第一写入端口将所述第八数据取反后写入所述第四单比特存储结构的第一RAM和第三RAM。
8.根据权利要求5所述的存储单元,其特征在于,所述存储单元包括一个单比特存储结构,为第五单比特存储结构,与所述第五单比特存储结构对应的标志位存储器包括两个单比特存储结构,分别为第六单比特存储结构和第七单比特存储结构;
其中,所述第六单比特存储结构的第一写入端口与所述第七单比特存储结构的第一写入端口连接组成所述标志位存储器的第一写入总端口;
所述第六单比特存储结构的第二写入端口与所述第七单比特存储结构的第二写入端口连接组成所述标志位存储器的第二写入总端口;
所述第七单比特存储结构的第一读出端口为所述标志位存储器的第一读出总端口;
所述第七单比特存储结构的第二读出端口为所述标志位存储器的第二读出总端口;
所述标志位存储器具体用于,通过所述第一读出总端口读出的数据,指示所述第五单比特存储结构的第一读出端口读出所述第五单比特存储结构中第一RAM或所述第五单比特存储结构中第二RAM中存储的数据;
通过所述第二读出总端口读出的数据,指示所述第五单比特存储结构的第二读出端口读出所述第五单比特存储结构的第三RAM或所述第五单比特存储结构的第四RAM中存储的数据。
9.一种处理系统,其特征在于,包括权利要求1至权利要求8任意一项权利要求所述的存储单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510489873.8A CN106445831A (zh) | 2015-08-11 | 2015-08-11 | 一种存储单元和处理系统 |
PCT/CN2016/084533 WO2017024873A1 (zh) | 2015-08-11 | 2016-06-02 | 一种存储单元和处理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510489873.8A CN106445831A (zh) | 2015-08-11 | 2015-08-11 | 一种存储单元和处理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106445831A true CN106445831A (zh) | 2017-02-22 |
Family
ID=57983784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510489873.8A Withdrawn CN106445831A (zh) | 2015-08-11 | 2015-08-11 | 一种存储单元和处理系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106445831A (zh) |
WO (1) | WO2017024873A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021073128A1 (zh) * | 2019-10-16 | 2021-04-22 | 长鑫存储技术有限公司 | 测试电路及采用该测试电路的存储芯片 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101025996A (zh) * | 2006-02-21 | 2007-08-29 | 三星电子株式会社 | 多端口半导体存储器件及其信号输入/输出方法 |
CN101377950A (zh) * | 2007-08-29 | 2009-03-04 | 三星电子株式会社 | 在多端口存储器件中以最小化的总线面积来路由存取 |
US20110055491A1 (en) * | 2009-08-31 | 2011-03-03 | Infinera Corporation | Simultaneous switching of multiple time slots in an optical network node |
CN103309626A (zh) * | 2013-07-03 | 2013-09-18 | 盛科网络(苏州)有限公司 | 实现网络芯片多读写端口存储器的方法及相应存储器 |
CN104484128A (zh) * | 2014-11-27 | 2015-04-01 | 盛科网络(苏州)有限公司 | 基于一读一写存储器的多读多写存储器及其实现方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7440313B2 (en) * | 2006-11-17 | 2008-10-21 | Freescale Semiconductor, Inc. | Two-port SRAM having improved write operation |
US8284593B2 (en) * | 2010-04-14 | 2012-10-09 | Freescale Semiconductor, Inc. | Multi-port memory having a variable number of used write ports |
CN102385916B (zh) * | 2011-09-21 | 2013-12-04 | 清华大学深圳研究生院 | 一种具有读写分离的双端口sram单元6t结构 |
US9208853B2 (en) * | 2013-03-15 | 2015-12-08 | Intel Corporation | Dual-port static random access memory (SRAM) |
US9275710B2 (en) * | 2013-08-30 | 2016-03-01 | Taiwan Semiconductor Manufacturing Co., Ltd. | Three dimensional cross-access dual-port bit cell design |
-
2015
- 2015-08-11 CN CN201510489873.8A patent/CN106445831A/zh not_active Withdrawn
-
2016
- 2016-06-02 WO PCT/CN2016/084533 patent/WO2017024873A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101025996A (zh) * | 2006-02-21 | 2007-08-29 | 三星电子株式会社 | 多端口半导体存储器件及其信号输入/输出方法 |
CN101377950A (zh) * | 2007-08-29 | 2009-03-04 | 三星电子株式会社 | 在多端口存储器件中以最小化的总线面积来路由存取 |
US20110055491A1 (en) * | 2009-08-31 | 2011-03-03 | Infinera Corporation | Simultaneous switching of multiple time slots in an optical network node |
CN103309626A (zh) * | 2013-07-03 | 2013-09-18 | 盛科网络(苏州)有限公司 | 实现网络芯片多读写端口存储器的方法及相应存储器 |
CN104484128A (zh) * | 2014-11-27 | 2015-04-01 | 盛科网络(苏州)有限公司 | 基于一读一写存储器的多读多写存储器及其实现方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021073128A1 (zh) * | 2019-10-16 | 2021-04-22 | 长鑫存储技术有限公司 | 测试电路及采用该测试电路的存储芯片 |
Also Published As
Publication number | Publication date |
---|---|
WO2017024873A1 (zh) | 2017-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104111870B (zh) | 一种中断处理装置及中断处理方法 | |
CN102520902B (zh) | 基于单片块ram的并行写入多fifo实现方法 | |
CN106250321A (zh) | 2r1w存储器的数据处理方法及数据处理系统 | |
CN105243037A (zh) | 基于fpga的多通道数据记录与回放方法 | |
CN102789424B (zh) | 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器 | |
CN106158012B (zh) | Fpga片内sram的时序处理方法、片内sram及fpga | |
WO2020118713A1 (zh) | 位宽匹配电路、数据写入装置、数据读出装置和电子设备 | |
CN105577985A (zh) | 一种数字图像处理系统 | |
CN106445831A (zh) | 一种存储单元和处理系统 | |
CN107544937A (zh) | 一种协处理器、数据写入方法和处理器 | |
CN104035898B (zh) | 一种基于vliw类型处理器的访存系统 | |
CN110968538B (zh) | 一种数据缓冲方法和装置 | |
CN107123438A (zh) | 模拟多端口方法及模拟多端口记忆体 | |
CN104461796A (zh) | 用于嵌入式8051cpu的jtag调试模块及调试方法 | |
CN106293491A (zh) | 写请求的处理方法和内存控制器 | |
JP2016033818A (ja) | データ処理方法、装置、およびシステム | |
CN109739805A (zh) | 配置模块的参数的方法和配置模块的参数的装置 | |
CN105739919B (zh) | 资料存取系统及方法 | |
CN109522125A (zh) | 一种矩阵乘积转置的加速方法、装置及处理器 | |
CN101165805A (zh) | 多端口存储器存取控制模块 | |
CN103345377A (zh) | Fifo存储器控制方法及装置 | |
CN106528598B (zh) | 一种链的管理方法及物理设备 | |
CN108241585A (zh) | 大容量nvm接口控制器 | |
CN101882061A (zh) | 存储器控制方法和存储器控制装置 | |
TWI779938B (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170222 |