CN116594560A - 一种存储器的控制方法、控制器、芯片、电子设备 - Google Patents

一种存储器的控制方法、控制器、芯片、电子设备 Download PDF

Info

Publication number
CN116594560A
CN116594560A CN202310548142.0A CN202310548142A CN116594560A CN 116594560 A CN116594560 A CN 116594560A CN 202310548142 A CN202310548142 A CN 202310548142A CN 116594560 A CN116594560 A CN 116594560A
Authority
CN
China
Prior art keywords
mask
bits
data
sram
read
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
CN202310548142.0A
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.)
Shenzhen Yunbao Intelligent Co ltd
Original Assignee
Shenzhen Yunbao Intelligent Co ltd
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 Shenzhen Yunbao Intelligent Co ltd filed Critical Shenzhen Yunbao Intelligent Co ltd
Priority to CN202310548142.0A priority Critical patent/CN116594560A/zh
Publication of CN116594560A publication Critical patent/CN116594560A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Static Random-Access Memory (AREA)

Abstract

本申请涉及一种存储器的控制方法、控制器、芯片、电子设备,所述存储器包括n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;所述方法包括:接收第一命令,解析所述第一命令得到第一起始位置、第一深度地址、第一访问长度和第一操作类型;所述第一起始位置为当前访问的第一个SRAM的编号,所述第一深度地址为当前访问的起始深度地址,所述第一操作类型为读操作;根据所述第一起始位置和所述第一访问长度生成第一使能信号;根据所述第一使能信号和所述第一深度地址从至少一个SRAM读出目标数据。

Description

一种存储器的控制方法、控制器、芯片、电子设备
技术领域
本申请涉及集成电路技术领域,具体涉及一种存储器的控制方法、控制器、芯片、电子设备。
背景技术
静态随机存储器(Static Random Access Memory,简称SRAM)是一种随机存储器,只要保持通电,SRAM中的数据就可以一直保存,由于SRAM不需要刷新,因此与需要定期刷新的动态随机存取存储器(Dynamic Random Access Memory,简称DRAM)相比,SRAM可以非常快速地访问,这使得SRAM成为需要快速、高效内存的应用程序的理想选择,例如计算机系统中的缓存和寄存器。SRAM的工作原理是使用一组六个晶体管来存储一位数据,这六个晶体管以特定的方式排列,形成一个存储单元,可以存储0或1,构成存储单元的六个晶体管被组织成两个交叉耦合的反相器,两个存取晶体管允许数据被读取或写入存储单元。
目前SRAM的读/写控制方案为主设备向SRAM控制器下发读/写指令,SRAM控制器根据该读/写指令控制SRAM进行读/写数据,SRAM进行读/写数据时,每次读/写数据是以一个深度地址为单位进行数据读/写的,其中,图1为要读/写的数据跨越SRAM的地址N和地址N+1的示意图,如果进行读/写操作的数据需要跨地址进行,例如需要将数据写入SRAM的地址N和地址N+1,又例如需要从地址N和地址N+1读取数据,则主设备需要向SRAM控制器下发两条读/写指令,该两条读/写指令分别用于进行地址N和地址N+1的数据读/写,导致数据处理速率低。
发明内容
本申请的目的在于提出一种存储器的控制方法、控制器、芯片、电子设备,提高SRAM控制器的数据处理速率。
为实现上述目的,本申请实施例提供一种存储器的控制方法,所述存储器包括n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;
所述方法包括:
接收第一命令,解析所述第一命令得到第一起始位置、第一深度地址、第一访问长度和第一操作类型;所述第一起始位置为当前访问的第一个SRAM的编号,所述第一深度地址为当前访问的起始深度地址,所述第一操作类型为读操作;
根据所述第一起始位置和所述第一访问长度生成SRAM的第一使能信号;
根据所述第一使能信号和所述第一深度地址从至少一个SRAM读出目标数据。
本申请实施例提供的存储器的控制方法,预先将存储器划分为n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;在对多个SRAM进行的读控制时,接收主设备下发的第一命令,所述第一命令包含有第一起始位置、第一深度地址、第一访问长度等信息,根据所述第一起始位置和所述第一访问长度可以确定当前访问是否跨地址以及确定一个或目标SRAM(即生成SRAM的第一使能信号),所述目标SRAM为存储要读取的目标数据的SRAM;由于将存储器划分为n个SRAM,可以对n个SRAM进行单独读取对应深度地址的数据,不同SRAM读取的数据可以是不同深度地址的,例如,n为2,SRAM位宽为64位,要读取一个128位数据,该一个128位数据在存储器中跨地址存储,则可以分别对2个SRAM进行读控制,读取第二个SRAM的深度地址N的第一个64位数据,读取第一个SRAM的深度地址N+1的第二个64位数据,将第一个64位数据和第二个64位数据进行拼接得到128位数据,因此,可以通过一条读指令来实现跨地址读取数据,从而大大提高了数据处理速率。
本申请实施例提供一种存储器的控制方法,所述存储器包括n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;
接收第二命令,解析所述第二命令得到第二起始位置、第二深度地址、第二访问长度、第二操作类型和待写数据;所述第二起始位置为当前访问的第一个SRAM的编号,所述第二深度地址为当前访问的起始深度地址,所述第二操作类型为写操作;
根据所述第二起始位置和所述第二访问长度生成SRAM的第二使能信号;
根据所述第二使能信号和所述第二深度地址将所述待写数据写入至少一个SRAM。
本申请实施例提供的存储器的控制方法,预先将存储器划分为n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;在对多个SRAM进行的写控制时,接收主设备下发的第二命令,所述第二命令包含有第二起始位置、第二深度地址、第二访问长度等信息,根据所述第二起始位置和所述第二访问长度可以确定当前访问是否跨地址以及确定一个或目标SRAM(即生成SRAM的第二使能信号),所述目标SRAM为存储要写入的目标数据的SRAM;由于将存储器划分为n个SRAM,可以对n个SRAM进行单独写入对应深度地址的数据,不同SRAM写入的数据可以是不同深度地址的,例如,n为2,SRAM位宽为64位,要写入一个128位数据,该一个128位数据在存储器中跨地址存储,则可以分别对2个SRAM进行写控制,将第一个64位数据写入第二个SRAM的深度地址N,将第二个64位数据写入第一个SRAM的深度地址N+1,因此,可以通过一条写指令来实现跨地址写入数据,从而大大提高了数据处理速率。
本申请实施例提供一种存储器的控制方法,所述存储器包括n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;
接收第三命令,解析所述第三命令得到第三起始位置、第三深度地址、第三访问长度、第三操作类型和改写操作数;所述第三起始位置为当前访问的第一个SRAM的编号,所述第三深度地址为当前访问的起始深度地址,所述第三操作类型为读改写操作;
根据所述第三起始位置和所述第三访问长度生成SRAM的第三使能信号;
根据所述第三使能信号和所述第三深度地址将待改写数据从至少一个SRAM中读出,并根据所述改写操作数将所述待改写数据进行改写后写入对应的至少一个SRAM。
本申请实施例提供的存储器的控制方法,预先将存储器划分为n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;在对多个SRAM进行的读改写控制时,接收主设备下发的第三命令,所述第三命令包含有第三起始位置、第三深度地址、第三访问长度等信息,根据所述第三起始位置和所述第三访问长度可以确定当前访问是否跨地址以及确定一个或目标SRAM(即生成SRAM的第三使能信号),读改写控制为先读后写,包括读控制和写控制,其中,所述目标SRAM为存储要读取的目标数据的SRAM;由于将存储器划分为n个SRAM,可以对n个SRAM进行单独读取对应深度地址的数据,不同SRAM读取的数据可以是不同深度地址的,例如,n为2,SRAM位宽为64位,要读取一个128位数据,该一个128位数据在存储器中跨地址存储,则可以分别对2个SRAM进行读控制,读取第二个SRAM的深度地址N的第一个64位数据,读取第一个SRAM的深度地址N+1的第二个64位数据,将第一个64位数据和第二个64位数据进行拼接得到128位数据;之后,将该128位数据写入对应的两个SRAM中,分别对2个SRAM进行写控制,将第一个64位数据写入第二个SRAM的深度地址N,将第二个64位数据写入第一个SRAM的深度地址N+1,因此,可以通过一条读指令来实现跨地址读改写数据,从而大大提高了数据处理速率。
本申请实施例还提供一种存储器的控制器,所述存储器包括n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;
所述系统包括命令接收模块和读操作模块,所述命令接收模块包括解码单元、使能单元和发送单元;
所述解码单元,用于接收第一命令,解析所述第一命令得到第一起始位置、第一深度地址、第一访问长度和第一操作类型;所述第一起始位置为当前访问的第一个SRAM的编号,所述第一深度地址为当前访问的起始深度地址,所述第一操作类型为读操作;
所述使能单元,用于根据所述第一起始位置和所述第一访问长度生成SRAM的第一使能信号;
所述发送单元,用于根据所述第一操作类型将所述第一使能信号和所述第一深度地址发送给所述读操作模块;
所述读操作模块,用于根据所述第一使能信号和所述第一深度地址从至少一个SRAM读出目标数据。
本申请实施例提供的存储器的控制器,预先将存储器划分为n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;在对多个SRAM进行的读控制时,接收主设备下发的第一命令,所述第一命令包含有第一起始位置、第一深度地址、第一访问长度等信息,根据所述第一起始位置和所述第一访问长度可以确定当前访问是否跨地址以及确定一个或目标SRAM(即生成第一使能信号),所述目标SRAM为存储要读取的目标数据的SRAM;由于将存储器划分为n个SRAM,可以对n个SRAM进行单独读取对应深度地址的数据,不同SRAM读取的数据可以是不同深度地址的,例如,n为2,SRAM位宽为64位,要读取一个128位数据,该一个128位数据在存储器中跨地址存储,则可以分别对2个SRAM进行读控制,读取第二个SRAM的地址N的第一个64位数据,读取第一个SRAM的地址N+1的第二个64位数据,将第一个64位数据和第二个64位数据进行拼接得到128位数据,因此,可以通过一条读指令来实现跨地址读取数据,从而大大提高了数据处理速率。
本申请实施例还提供一种芯片,包括如上所述的存储器的控制器。
本申请实施例还提供一种电子设备,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上所述的存储器的控制方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为SRAM访问跨地址的示意图。
图2为本申请一个实施例中一种存储器的控制方法的读操作流程图。
图3为本申请一个实施例中存储器和控制器的结构示意图。
图4为SRAM存储表项数据存在浪费存储空间的示意图。
图5为本申请一个实施例中多个SRAM存储表项数据的示意图。
图6为本申请一个实施例中一种16位掩码示例图。
图7为本申请一个实施例中另一种16位掩码示例图。
图8为本申请一个实施例中一种8位掩码示例图。
图9为本申请一个实施例中另一种8位掩码示例图。
图10为本申请一个实施例中一种存储器的控制方法的写操作流程图。
图11为本申请一个实施例中一种存储器的控制方法的读改写操作流程图。
图12为本申请一个实施例中一种实现存储器读控制的控制器的结构示意图。
图13为本申请一个实施例中一种实现存储器读/写控制的控制器的结构示意图。
图14为本申请一个实施例中一种实现存储器读/写/读改写控制的控制器的结构示意图。
图15为本申请一个实施例中一种流水线形式的存储器的控制器的结构示意图。
图16为本申请一个实施例中一种带旁路的存储器的控制器的结构示意图。
具体实施方式
附图的详细说明意在作为本申请的当前一些实施例的说明,而非意在代表本申请能够得以实现的仅有形式。应理解的是,相同或等同的功能可以由意在包含于本申请范围之内的不同实施例完成。
本申请的一个实施例提供一种存储器的控制方法,所述存储器为多Bank结构,所述存储器包括n个SRAM,可以是由n个SRAM拼接形成,即一个SRAM为一个Bank,所述n个SRAM按排列顺序进行编号,n大于1。
参阅图2,本实施例的方法包括:
步骤S11、接收第一命令,解析所述第一命令得到第一起始位置、第一深度地址、第一访问长度和第一操作类型;所述第一起始位置为当前访问的第一个SRAM的编号,所述第一深度地址为当前访问的起始深度地址,所述第一操作类型为读操作;
步骤S12、根据所述第一起始位置和所述第一访问长度生成SRAM的第一使能信号;
步骤S13、根据所述第一使能信号和所述第一深度地址从至少一个SRAM读出目标数据。
具体而言,本实施例的方法可以基于一个控制器来执行,图3为本实施例中列举的一个具体例子,图3示出了8个SRAM的存储器,即n=8,8个SRAM均与该控制器电连接,每个SRAM的位宽为32位(4字节),深度为256(对应SRAM的256个深度地址,一个深度地址的存储空间为32位),即每个SRAM的存储空间为8192位(32位*256);因此,所述存储器的一个深度地址的位宽为“32位*8=256位”,深度为256(对应存储器的256个深度地址,一个深度地址的存储空间为256位),8个SRAM按排列顺序编号为0、1、2、3、4、5、6、7,8个SRAM下称SRAM0、SRAM1、SRAM2、SRAM3、SRAM4、SRAM5、SRAM6、SRAM7。
以图3为例,在对8个SRAM进行的读控制时,步骤S11中接收主设备(Master)下发的第一命令(读命令),对所述第一命令进行解析可以得到第一起始位置、第一深度地址、第一访问长度和第一操作类型等信息,其中,该第一起始位置为当前访问的第一个SRAM的编号,即0~7中的任意一个;在对所述存储器进行读操作时,8个SRAM可以视为一个整体,整体可以进行32位*8=256位的大位宽数据的读取,所述存储器的每个深度地址存储空间为256位,本实施例支持对所述存储器的每个深度地址的256位中任意32位为单位的数据进行读操作。
例如,不跨地址的情形,第一起始位置是3,第一访问长度是3,表示从SRAM3开始读取数据,一直到SRAM6,总共要读取4个SRAM的数据,第一起始位置+第一访问长度=6,6小于7(7为最大SRAM编号),则不需要跨地址,要读取的数据均存储在所述存储器的第一深度地址。
例如,跨地址的情形,第一起始位置是6,第一访问长度是2,表示从SRAM6开始读取数据,一直到SRAM0,总共要读取3个SRAM的数据,第一起始位置+第一访问长度=6+2=8,8大于7(7为最大SRAM编号),则需要跨地址,要读取的数据存储在所述存储器的第一深度地址和第一深度地址的下一深度地址。
基于以上例子的描述可知,本实施例可以根据所述第一起始位置和所述第一访问长度确定是否存在跨地址以及需要从那几个SRAM的哪个深度地址读取数据,因此,步骤S12可以生成对应的第一使能信号,用于指示读操作。
需说明的是,由于将所述存储器划分为8个SRAM,因此步骤S13可以对8个SRAM进行单独读取对应深度地址的数据,不同SRAM读取的数据可以是不同深度地址的,例如对于上述跨地址的情形,分别向SRAM6、SRAM7和SRAM0发送读指令,假设第一深度地址为N,则可以读取SRAM6的地址N的32位数据,读取SRAM7的地址N的32位数据,读取SRAM0的地址N+1的32位数据。综上,基于本实施例的方法,主设备可以通过一条读指令来实现跨地址读取数据,不需要向控制器发送两条指令来实现对存储器的两个深度地址的数据的读取,从而大大提高了数据处理速率,使得控制器能够实现其所能支持的最大处理速率。
图3的存储器的一个深度地址能够存储256位数据,目前在存储表项数据时,是一个深度地址存储一个表项数据的,但一个表项数据大多并不是256位的,因此,会存在存储空间浪费的情形,例如图4所示。而通过本实施例的方法,能够支持分别对8个SRAM的每个深度地址的32位数据进行单独读/写,因此,对于存储器整体而言,可以将多个表项数据存储在同一深度地址,例如第一个表项数据的位宽为3*32位,第二个表项数据的位宽为4*32位,则可以将该第一个表项数据存储在SRAM0~SRAM2的地址N,将第二个表项数据存储在SRAM3~SRAM6的地址N,如图5所示,从而大大地节省了存储空间,能够存储更多的表项数据。
在一些实施例中,所述步骤S12具体包括步骤S121和步骤S122;
所述步骤S121包括:生成一个位宽为2n的第一掩码;其中,所述第一掩码的2n个位按排列顺序进行编号;对于所述第一掩码中的任意一位,若其对应的编号大于等于所述第一起始位置且小于等于所述第一起始位置与所述第一访问长度相加之和,则将所述第一掩码的所述任意一位设置为1;否则设置为0;
具体而言,继续以图3为例进行说明,n=8,即所述第一掩码的位宽为16,16个位按排列顺序进行编号,依次编号为0~15;
例如,不跨地址的情形,第一起始位置是3,第一访问长度是3,表示从SRAM3开始读取数据,一直到SRAM6,总共要读取4个SRAM的数据,第一起始位置+第一访问长度=6,即,所述第一掩码的第0~2个位的编号均小于3,所述第一掩码的第7~16个位的编号均大于6,因此,所述第一掩码的第1~2个位、第7~16个位的值均设置为0;所述第一掩码的第3~6个位的编号大于等于3且小于等于6,因此,所述第一掩码的第3~6个位均设置为1,对应生成的第一掩码即为图6所示的16位掩码。
例如,跨地址的情形,第一起始位置是6,第一访问长度是2,表示从SRAM6开始读取数据,一直到SRAM0,总共要读取3个SRAM的数据,第一起始位置+第一访问长度=6+2=8,即,所述第一掩码的第0~5个位的编号均小于6,所述第一掩码的第9~15个位的编号均大于8,因此,所述第一掩码的第0~5个位、第9~15个位的值均设置为0;所述第一掩码的第6~8个位的编号大于等于6且小于等于8,因此,所述第一掩码的第6~8个位均设置为1,对应生成的第一掩码即为图7所示的16位掩码。
所述步骤S122包括:根据所述第一掩码的低n位和高n位获得第一使能信号;其中,所述第一掩码的低n位与所述n个SRAM一一对应,所述第一掩码的高n位与所述n个SRAM一一对应。
具体而言,可以将所述第一掩码作为第一使能信号,所述第一掩码的低n位与所述n个SRAM一一对应,且与所述n个SRAM的第一深度地址对应,所述第一掩码的低n位中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能;所述第一掩码的高n位与所述n个SRAM一一对应,且与所述n个SRAM的第一深度地址的下一深度地址对应,所述第一掩码的高n位中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能。
也可以将所述第一掩码的低n位和高n位进行逻辑或运算得到一个n位掩码,该一个n位掩码作为第一使能信号,该一个n位掩码中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能。
在一些实施例中,所述步骤S13,具体包括:
当所述第一掩码的高n位均为0时,根据所述第一掩码的低n位和所述第一深度地址从至少一个SRAM读出目标数据;
当所述第一掩码的高n位至少存在一个位为1时,根据所述第一掩码的低n位和所述第一深度地址从至少一个SRAM读出第一读数据,并根据所述第一掩码的高n位和所述第一深度地址的下一个地址从至少一个SRAM读出第二读数据;
根据所述第一读数据和所述第二读数据得到目标数据,并输出所述目标数据。
具体而言,当将所述第一掩码作为第一使能信号时,可以根据所述第一掩码的低n位将使能的至少一个SRAM的第一深度地址的数据读出,并根据所述第一掩码的高n位将使能的至少一个SRAM的第一深度地址的下一深度地址的数据读出;当所述第一掩码为图6所示的16位掩码时,不存在跨地址访问,将SRAM3~SRAM6的第一深度地址的数据读出,并进行拼接得到目标数据;当所述第一掩码为图7所示的16位掩码时,存在跨地址访问,将SRAM6~SRAM7的第一深度地址的数据读出,并进行拼接得到第一读数据;将SRAM0的第一深度地址的下一深度地址的数据读出,作为第二读数据;按顺序将所述第一读数据和所述第二读数据进行拼接得到目标数据,并输出所述目标数据。
当将所述第一掩码的低n位和高n位进行逻辑或运算得到一个n位掩码,该一个n位掩码作为第一使能信号时,如果该一个n位掩码中的1是连续的,表示读访问不需要跨地址,将使能的至少一个SRAM的第一深度地址的数据读出;如果该一个n位掩码中的1是不连续的,表示读访问需要跨地址,将该一个n位掩码中高位连续的至少一个1所对应的使能的至少一个SRAM的第一深度地址的第一读数据读出,将该一个n位掩码中低位连续的至少一个1所对应的使能的至少一个SRAM的第一深度地址的下一地址的第二读数据读出,然后将两者进行拼接得到目标数据。
例如,将图6所示的16位掩码的低8位和高8位进行逻辑或运算得到图8所示的8位掩码,图8的8位掩码中的1是连续的,即第3~6位连续为1,表示读访问不需要跨地址;图8的8位掩码中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能,此时,根据图8的8位掩码将使能的SRAM3~SRAM6的第一深度地址的数据读出,并进行拼接得到目标数据;
又例如,将图7所示的16位掩码的低8位和高8位进行逻辑或运算得到图9所示的8位掩码,图9的8位掩码中的1是不连续的,即第6~7位为1,第0位为1,表示读访问需要跨地址;图9的8位掩码中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能,此时,根据图9的8位掩码将使能的SRAM6~SRAM7的第一深度地址的数据读出,并进行拼接得到第一读数据;将使能的SRAM0的第一深度地址的下一深度地址的数据读出,作为第二读数据;按顺序将所述第一读数据和所述第二读数据进行拼接得到目标数据,并输出所述目标数据。
在一些实施例中,每个SRAM的位宽为w;若所述第一掩码的低n位中有m1个1,则所述第一读数据的位宽为w*m1;若所述第一掩码的高n位中有m2个1,则所述第二读数据的位宽为w*m2;m1和m2均大于1。
在一些实施例中,参阅图10,所述方法还包括:
步骤S21、接收第二命令,解析所述第二命令得到第二起始位置、第二深度地址、第二访问长度、第二操作类型和待写数据;所述第二起始位置为当前访问的第一个SRAM的编号,所述第二深度地址为当前访问的起始深度地址,所述第二操作类型为写操作。
步骤S22、根据所述第二起始位置和所述第二访问长度生成SRAM的第二使能信号。
步骤S23、根据所述第二使能信号和所述第二深度地址将所述待写数据写入至少一个SRAM。
具体而言,以图3为例,在对多个SRAM进行的写控制时,步骤S21中接收主设备(Msater)下发的第二命令(写命令),对所述第二命令进行解析可以得到第二起始位置、第二深度地址、第二访问长度和第二操作类型等信息,其中,所述第二起始位置为当前访问的第一个SRAM的编号,即0~7中的任意一个;在对所述存储器进行数据读/写时,多个SRAM可以视为一个整体,整体可以进行32位*8=256位的大位宽数据的写操作,所述存储器的每个深度地址存储空间为256位,本实施例支持对所述存储器的每个深度地址的256位中任意32位为单位的数据进行写操作。
例如,不跨地址的情形,第二起始位置是3,第二访问长度是3,表示从SRAM3开始写数据,一直到SRAM6,将待写数据写入4个SRAM,第二起始位置+第二访问长度=6,6小于7(7为最大SRAM编号),则不需要跨地址,将待写数据写入SRAM3~SRAM6的第二深度地址。
例如,跨地址的情形,第二起始位置是6,第二访问长度是2,表示从SRAM6开始读取数据,一直到SRAM0,将待写数据写入3个SRAM,第二起始位置+第二访问长度=6+2=8,8大于7(7为最大SRAM编号),则需要跨地址,将待写数据写入SRAM6和SRAM7的第二深度地址、以及SRAM0的第二深度地址的下一深度地址。
基于以上例子的描述可知,本实施例可以根据所述第二起始位置和所述第二访问长度确定是否存在跨地址以及需要将待写数据写入哪几个SRAM的哪个深度地址,因此,步骤S22可以生成对应的第二使能信号,用于指示写操作。
需说明的是,由于将所述存储器划分为8个SRAM,因此步骤S23可以分别对8个SRAM进行单独的写数据,将待写数据写入不同SRAM的不同深度地址,例如对于上述不跨地址的情形,分别向SRAM6、SRAM7和SRAM0发送写指令,假设第二深度地址为N,则可以将第一个32位数据写入SRAM6的地址N,将第二个32位数据写入SRAM7的地址N,将第三个32位数据写入SRAM0的地址N+1。综上,基于本实施例的方法,主设备可以通过一条写指令来实现跨地址写数据,不需要向控制器发送两条写指令来实现将待写数据写入存储器的两个深度地址,从而大大提高了数据处理速率,使得控制器能够实现其所能支持的最大处理速率。
在一些实施例中,所述步骤S22包括步骤S221和步骤S222;
所述步骤S221包括:生成一个位宽为2n的第二掩码;其中,所述第二掩码的2n个位按排列顺序进行编号;对于所述第二掩码中的任意一位,若其对应的编号大于等于所述第二起始位置且小于等于所述第二起始位置与所述第二访问长度相加之和,则将所述第二掩码的所述任意一位设置为1;否则设置为0。
具体而言,继续以图3为例进行说明,n=8,即所述第二掩码的位宽为16,16个位按排列顺序进行编号,依次编号为0~15。
例如,不跨地址的情形,第二起始位置是3,第二访问长度是3,表示从SRAM3开始写入数据,一直到SRAM6,总共要对4个SRAM进行写操作,第二起始位置+第二访问长度=6,即,所述第二掩码的第0~2个位的编号均小于3,所述第二掩码的第7~16个位的编号均大于6,因此,所述第二掩码的第1~2个位、第7~16个位的值均设置为0;所述第二掩码的第3~6个位的编号大于等于3且小于等于6,因此,所述第二掩码的第3~6个位均设置为1,对应生成的第二掩码为图6所示的16位掩码。
例如,跨地址的情形,第二起始位置是6,第二访问长度是2,表示从SRAM6开始写入数据,一直到SRAM0,总共要对3个SRAM进行写操作,第二起始位置+第二访问长度
=6+2=8,即,所述第二掩码的第0~5个位的编号均小于6,所述第二掩码的第9~15个位的编号均大于8,因此,所述第二掩码的第0~5个位、第9~15个位的值均设置为0;所述第二掩码的第6~8个位的编号大于等于6且小于等于8,因此,所述第二掩码的第6~8个位均设置为1,对应生成的第二掩码为图7所示的16位掩码。
需说明的是,当对相同的SRAM进行写操作时的第二掩码,与对相同的SRAM进行读操作时的第一掩码是相同的。
所述步骤S222包括:根据所述第二掩码的低n位和高n位获得第二使能信号;其中,所述第二掩码的低n位与所述n个SRAM一一对应,所述第二掩码的高n位与所述n个SRAM一一对应。
具体而言,可以将所述第二掩码作为第二使能信号,所述第二掩码的低n位与所述n个SRAM一一对应,且与所述n个SRAM的第二深度地址对应,所述第二掩码的低n位中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能;所述第二掩码的高n位与所述n个SRAM一一对应,且与所述n个SRAM的第二深度地址的下一深度地址对应,所述第二掩码的高n位中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能。
也可以将所述第二掩码的低n位和高n位进行逻辑或运算得到一个n位掩码,该一个n位掩码作为第二使能信号,该一个n位掩码中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能。
在一些实施例中,所述步骤S23,包括:
当所述第二掩码的高n位均为0时,根据所述第二掩码的低n位和所述第二深度地址将所述待写数据写入至少一个SRAM;
当所述第二掩码的高n位至少存在一个位为1时,根据所述第二掩码的低n位和所述第二深度地址将第一写数据写入至少一个SRAM,并根据所述第二掩码的高n位和所述第二深度地址的下一个地址将第二写数据写入至少一个SRAM;其中,所述待写数据包括所述第一写数据和所述第二写数据。
具体而言,当将所述第二掩码作为第二使能信号时,可以根据所述第二掩码的低n位确定是否将数据写入使能的至少一个SRAM的第二深度地址,并根据所述第二掩码的高n位确定是否将数据写入使能的至少一个SRAM的第二深度地址的下一深度地址;当所述第二掩码为图6所示的16位掩码时,不存在跨地址访问,假设SRAM的位宽为32位,则将4个32位数据分别写入SRAM3~SRAM6的第二深度地址;当所述第二掩码为图7所示的16位掩码时,存在跨地址访问,假设SRAM的位宽为32位,则将前2个32位数据分别写入SRAM6~SRAM7的第二深度地址,并后1个32位数据写入SRAM0的第二深度地址的下一深度地址。
当将所述第二掩码的低n位和高n位进行逻辑或运算得到一个n位掩码,该一个n位掩码作为第二使能信号时,如果该一个n位掩码中的1是连续的,表示写访问不需要跨地址,将待写数据写入使能的至少一个SRAM的第二深度地址;如果该一个n位掩码中的1是不连续的,表示写访问需要跨地址,将第一写数据写入该一个n位掩码中高位连续的至少一个1所对应的使能的至少一个SRAM的第二深度地址,将第二写数据写入该一个n位掩码中低位连续的至少一个1所对应的使能的至少一个SRAM的第二深度地址的下一地址。
例如,当所述第二掩码为图6所示的16位掩码时,第二掩码低8位和高8位进行逻辑或运算得到图8所示的8位掩码,图8的8位掩码中的1是连续的,即第3~6位连续为1,表示写访问不需要跨地址;图8的8位掩码中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能,此时,假设SRAM的位宽为32位,则根据图8的8位掩码将4个32位数据分别写入使能的SRAM3~SRAM6的第二深度地址;
又例如,当所述第二掩码为图7所示的16位掩码时,第二掩码低8位和高8位进行逻辑或运算得到图9所示的8位掩码,图9的8位掩码中的1是不连续的,即第6~7位为1,第0位为1,表示读访问需要跨地址;图9的8位掩码中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能,此时,假设SRAM的位宽为32位,则根据图9的8位掩码将前2个32位数据(对应第一写数据)写入使能的SRAM6~SRAM7的第二深度地址;将后1个32位数据(对应第二写数据)写入使能的SRAM0的第二深度地址的下一深度地址。
在一些实施例中,每个SRAM的位宽为w;若所述第二掩码的低n位中有m3个1,则所述第一写数据的位宽为w*m3;若所述第二掩码的高n位中有m4个1,则所述第二写数据的位宽为w*m4;m3和m4均大于1。
在一些实施例中,参阅图11,所述方法还包括:
步骤S31、接收第三命令,解析所述第三命令得到第三起始位置、第三深度地址、第三访问长度、第三操作类型和改写操作数;所述第三起始位置为当前访问的第一个SRAM的编号,所述第三深度地址为当前访问的起始深度地址,所述第三操作类型为读改写操作;
步骤S32、根据所述第三起始位置和所述第三访问长度生成SRAM的第三使能信号;
步骤S33、根据所述第三使能信号和所述第三深度地址将待改写数据从至少一个SRAM中读出,并根据所述改写操作数将所述待改写数据进行改写后写入对应的至少一个SRAM。
以图3为例,在对多个SRAM进行的读控制时,步骤S31接收主设备(Master)下发的第三命令(读命令),对所述第三命令进行解析可以得到第三起始位置、第三深度地址、第三访问长度和第三操作类型等信息,其中,所述第三起始位置为当前访问的第一个SRAM的编号,即0~7中的一个;在对所述存储器进行读数据时,多个SRAM可以视为一个整体,整体可以进行32位*8=256位的大位宽数据的读取,所述存储器的每个深度地址存储空间为256位,本实施例支持对所述存储器的每个深度地址的256位中任意32位为单位的数据进行读操作。
例如,不跨地址的情形,第三起始位置是3,第三访问长度是3,表示从SRAM3开始读取数据,一直到SRAM6,总共要读取4个SRAM的数据并进行改写,第三起始位置+第三访问长度=6,6小于7(7为最大SRAM编号),则不需要跨地址,要读取的数据均存储在该4个SRAM的第三深度地址。
又例如,跨地址的情形,第三起始位置是6,第三访问长度是2,表示从SRAM6开始读取数据,一直到SRAM0,总共要读取3个SRAM的数据,第三起始位置+第三访问长度
=6+2=8,8大于7(7为最大SRAM编号),则需要跨地址,要读取的数据存储在SRAM6和SRAM7的第三深度地址,以及SRAM0的第三深度地址的下一深度地址。
基于以上例子的描述可知,本实施例可以根据所述第三起始位置和所述第三访问长度确定是否存在跨地址以及需要从那几个SRAM的哪个深度地址读取数据并进行改写,因此,步骤S32可以生成对应的第三使能信号,用于指示读改写操作。
需说明的是,由于将所述存储器划分为8个SRAM,因此步骤S13可以对8个SRAM进行单独读取对应深度地址的数据并进行改写,不同SRAM读取的数据可以是不同深度地址的,例如对于上述不跨地址的情形,分别向SRAM6、SRAM7和SRAM0发送读指令,假设第一深度地址为N,则可以读取SRAM6的地址N的32位数据,读取SRAM7的地址N的32位数据,读取SRAM0的地址N+1的32位数据,然后进行改写。改写指的是对读取的数据中的至少一个位进行修改,例如将某个位的1修改为0,或者将某个位的0修改为1,修改内容通过所述改写操作数进行描述,改写后的数据重新写回对应的至少一个SARM的对应地址中,如果从SRAM4的地址N中读取一个32位数据并进行改写,则在改写后,将改写的32位数据重新写回对应的SARM4的地址N。
需说明的是,本实施例能够支持任意一个或多个SRAM位宽的数据中的至少一个位的改写,特别适用于表项数据的修改。
在一些实施例中,所述步骤S32包括步骤S321和步骤S322;
所述步骤S321包括:生成一个位宽为2n的第三掩码;其中,所述第三掩码的2n个位按排列顺序进行编号;对于所述第三掩码中的任意一位,若其对应的编号大于等于所述第三起始位置且小于等于所述第三起始位置与所述第三访问长度相加之和,则将所述第三掩码的所述任意一位设置为1;否则设置为0;
所述步骤S322包括:根据所述第三掩码的低n位和高n位获得第三使能信号;其中,所述第三掩码的低n位与所述n个SRAM一一对应,所述第三掩码的高n位与所述n个SRAM一一对应。
具体而言,继续以图3为例进行说明,n=8,即所述第三掩码的位宽为16,16个位按排列顺序进行编号,依次编号为0~15;
例如,不跨地址的情形,第三起始位置是3,第三访问长度是3,表示从SRAM3开始读取待改写数据,一直到SRAM6,总共要读取4个SRAM的数据,第三起始位置+第三访问长度=6,即,所述第三掩码的第0~2个位的编号均小于3,所述第三掩码的第7~16个位的编号均大于6,因此,所述第三掩码的第1~2个位、第7~16个位的值均设置为0;所述第三掩码的第3~6个位的编号大于等于3且小于等于6,因此,所述第三掩码的第3~6个位均设置为1,对应生成的第三掩码为图6所示的16位掩码。
例如,跨地址的情形,第三起始位置是6,第三访问长度是2,表示从SRAM6开始读取待改写数据,一直到SRAM0,总共要读取3个SRAM的数据,第三起始位置+第三访问长度=6+2=8,即,所述第三掩码的第0~5个位的编号均小于6,所述第三掩码的第9~15个位的编号均大于8,因此,所述第三掩码的第0~5个位、第9~15个位的值均设置为0;所述第三掩码的第6~8个位的编号大于等于6且小于等于8,因此,所述第三掩码的第6~8个位均设置为1,对应生成的第三掩码为图7所示的16位掩码。
在一些实施例中,所述步骤S33,包括:
当所述第三掩码的高n位均为0时,根据所述第三掩码的低n位和所述第三深度地址从至少一个SRAM读出待改写数据;
当所述第三掩码的高n位至少存在一个位为1时,根据所述第三掩码的低n位和所述第三深度地址从至少一个SRAM读出第一待改数据,并根据所述第三掩码的高n位和所述第三深度地址的下一个地址从至少一个SRAM读出第二待改数据,根据所述第一待改数据和所述第二待改数据得到待改写数据。
具体而言,当将所述第三掩码作为第三使能信号时,可以根据所述第三掩码的低n位将使能的至少一个SRAM的第三深度地址的数据读出,并根据所述第三掩码的高n位将使能的至少一个SRAM的第三深度地址的下一深度地址的数据读出;在图4的例子中,不存在跨地址访问,将SRAM3~SRAM6的第三深度地址的数据读出,并进行拼接得到待改写数据;在图5的例子中,存在跨地址访问,将SRAM6~SRAM7的第三深度地址的数据读出,并进行拼接得到第一待改数据;将SRAM0的第三深度地址的下一深度地址的数据读出,作为第二待改数据;按顺序将所述第一待改数据和所述第二待改数据进行拼接得到待改写数据。
当将所述第三掩码的低n位和高n位进行逻辑或运算得到一个n位掩码,该一个n位掩码作为第三使能信号时,如果该一个n位掩码中的1是连续的,表示读访问不需要跨地址,将使能的至少一个SRAM的第三深度地址的数据读出;如果该一个n位掩码中的1是不连续的,表示读访问需要跨地址,将该一个n位掩码中高位连续的至少一个1所对应的使能的至少一个SRAM的第三深度地址的第一待改写数据读出,将该一个n位掩码中低位连续的至少一个1所对应的使能的至少一个SRAM的第三深度地址的下一地址的第二待改写数据读出,然后将两者进行拼接得到待改写数据。
当第三掩码为图6所示的16位掩码时,将第三掩码低8位和高8位进行逻辑或运算得到图8所示的8位掩码,图8的8位掩码中的1是连续的,即第3~6位连续为1,表示读访问不需要跨地址;图8的8位掩码中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能,此时,根据图8的8位掩码将使能的SRAM3~SRAM6的第三深度地址的数据读出,并进行拼接得到待改写数据;
当第三掩码为图7所示的16位掩码时,将第三掩码低8位和高8位进行逻辑或运算得到图9所示的8位掩码,图9的8位掩码中的1是不连续的,即第6~7位为1,第0位为1,表示读访问需要跨地址;图9的8位掩码中为1的位所对应的SRAM使能,为0的位所对应的SRAM非使能,此时,根据图9的8位掩码将使能的SRAM6~SRAM7的第三深度地址的数据读出,并进行拼接得到第一待改数据;将使能的SRAM0的第三深度地址的下一深度地址的数据读出,作为第二待改数据;按顺序将所述第三读数据和所述第二读数据进行拼接得到待改写数据。
在一些实施例中,每个SRAM的位宽为w;若所述第三掩码的低n位中有m5个1,则所述第一待改数据的位宽为w*m5;若所述第三掩码的高n位中有m6个1,则所述第二待改数据的位宽为w*m6;m5和m6均大于1。
本申请的另一个实施例提供一种存储器的控制器,所述存储器由n个SRAM拼接形成,所述n个SRAM按排列顺序进行编号,n大于1,例如图3所示;
参阅图12,所述控制器包括命令接收模块和读操作模块,所述命令接收模块包括解码单元、使能单元和发送单元;
所述解码单元,用于接收第一命令,解析所述第一命令得到第一起始位置、第一深度地址、第一访问长度和第一操作类型;所述第一起始位置为当前访问的第一个SRAM的编号,所述第一深度地址为当前访问的起始深度地址,所述第一操作类型为读操作;
所述使能单元,用于根据所述第一起始位置和所述第一访问长度生成SRAM的第一使能信号;
所述发送单元,用于根据所述第一操作类型将所述第一使能信号和所述第一深度地址发送给所述读操作模块;
所述读操作模块,用于根据所述第一使能信号和所述第一深度地址从至少一个SRAM读出目标数据。
在一些实施例中,所述使能单元,具体用于:
生成一个位宽为2n的第一掩码;其中,所述第一掩码的2n个位按排列顺序进行编号;
对于所述第一掩码中的任意一位,若其对应的编号大于等于所述第一起始位置且小于等于所述第一起始位置与所述第一访问长度相加之和,则将所述第一掩码的所述任意一位设置为1;否则设置为0;
根据所述第一掩码的低n位和高n位获得第一使能信号;其中,所述第一掩码的低n位与所述n个SRAM一一对应,所述第一掩码的高n位与所述n个SRAM一一对应。
在一些实施例中,所述读操作模块,具体用于:
当所述第一掩码的高n位均为0时,根据所述第一掩码的低n位和所述第一深度地址从至少一个SRAM读出目标数据;
当所述第一掩码的高n位至少存在一个位为1时,根据所述第一掩码的低n位和所述第一深度地址从至少一个SRAM读出第一读数据,并根据所述第一掩码的高n位和所述第一深度地址的下一个地址从至少一个SRAM读出第二读数据;
根据所述第一读数据和所述第二读数据得到目标数据,并输出所述目标数据。
在一些实施例中,每个SRAM的位宽为w;若所述第一掩码的低n位中有m1个1,则所述第一读数据的位宽为w*m1;若所述第一掩码的高n位中有m2个1,则所述第二读数据的位宽为w*m2;m1和m2均大于1。
在一些实施例中,参阅图13,所述控制器还包括写操作模块;
所述解码单元,还用于接收第二命令,解析所述第二命令得到第二起始位置、第二深度地址、第二访问长度、第二操作类型和待写数据;所述第二起始位置为当前访问的第一个SRAM的编号,所述第二深度地址为当前访问的起始深度地址,所述第二操作类型为写操作;
所述使能单元,还用于根据所述第二起始位置和所述第二访问长度生成SRAM的第二使能信号;
所述发送单元,还用于根据所述第二操作类型将所述第二使能信号和所述第二深度地址发送给所述写操作模块;
所述写操作模块,用于根据所述第二使能信号和所述第二深度地址将所述待写数据写入至少一个SRAM。
在一些实施例中,所述使能单元,具体用于:
生成一个位宽为2n的第二掩码;其中,所述第二掩码的2n个位按排列顺序进行编号;
对于所述第二掩码中的任意一位,若其对应的编号大于等于所述第二起始位置且小于等于所述第二起始位置与所述第二访问长度相加之和,则将所述第二掩码的所述任意一位设置为1;否则设置为0;
根据所述第二掩码的低n位和高n位获得第二使能信号;其中,所述第二掩码的低n位与所述n个SRAM一一对应,所述第二掩码的高n位与所述n个SRAM一一对应。
在一些实施例中,所述写操作模块,具体用于:
当所述第二掩码的高n位均为0时,根据所述第二掩码的低n位和所述第二深度地址将所述待写数据写入至少一个SRAM;
当所述第二掩码的高n位至少存在一个位为1时,根据所述第二掩码的低n位和所述第二深度地址将第一写数据写入至少一个SRAM,并根据所述第二掩码的高n位和所述第二深度地址的下一个地址将第二写数据写入至少一个SRAM;其中,所述待写数据包括所述第一写数据和所述第二写数据。
在一些实施例中,每个SRAM的位宽为w;若所述第二掩码的低n位中有m3个1,则所述第一写数据的位宽为w*m3;若所述第二掩码的高n位中有m4个1,则所述第二写数据的位宽为w*m4;m3和m4均大于1。
在一些实施例中,参阅图14,所述控制器还包括读改写模块;
所述解码单元,还用于接收第三命令,解析所述第三命令得到第三起始位置、第三深度地址、第三访问长度和第三操作类型;所述第三起始位置为当前访问的第一个SRAM的编号,所述第三深度地址为当前访问的起始深度地址,所述第三操作类型为读改写操作;
所述使能单元,还用于根据所述第三起始位置和所述第三访问长度生成SRAM的第三使能信号;
所述发送单元,还用于根据所述第三操作类型将所述第三使能信号和所述第三深度地址发送给所述写操作模块;
所述读改写模块,用于根据所述第三使能信号、第三深度地址将待改写数据从至少一个SRAM中读出,并根据所述改写操作数将所述待改写数据进行改写后写入对应的至少一个SRAM。
在一些实施例中,所述使能单元,还用于:
生成一个位宽为2n的第三掩码;其中,所述第三掩码的2n个位按排列顺序进行编号;
对于所述第三掩码中的任意一位,若其对应的编号大于等于所述第三起始位置且小于等于所述第三起始位置与所述第三访问长度相加之和,则将所述第三掩码的所述任意一位设置为1;否则设置为0;
根据所述第三掩码的低n位和高n位获得第三使能信号;其中,所述第三掩码的低n位与所述n个SRAM一一对应,所述第三掩码的高n位与所述n个SRAM一一对应。
在一些实施例中,所述读改写模块,用于:
当所述第三掩码的高n位均为0时,根据所述第三掩码的低n位和所述第三深度地址从至少一个SRAM读出待改写数据;
当所述第三掩码的高n位至少存在一个位为1时,根据所述第三掩码的低n位和所述第三深度地址从至少一个SRAM读出第一待改数据,并根据所述第三掩码的高n位和所述第三深度地址的下一个地址从至少一个SRAM读出第二待改数据,根据所述第一待改数据和所述第二待改数据得到待改写数据。
在一些实施例中,每个SRAM的位宽为w;若所述第三掩码的低n位中有m5个1,则所述第一待改数据的位宽为w*m5;若所述第三掩码的高n位中有m6个1,则所述第二待改数据的位宽为w*m6;m5和m6均大于1。
以上所描述的实施例的控制器仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上,可以根据实际的需要选择其中的部分或者全部模块来实现实施例的控制器的方案的目的。
需说明的是,上述实施例的控制器与上述实施例的控制方法对应,因此,上述实施例的控制器未详述部分可以参阅上述实施例的控制方法的内容得到,即上述实施例的控制方法记载的具体步骤内容可以理解为上述实施例的控制器所能够实现的功能,此处不再赘述。
在一些实施例中,参阅图15,所述控制器还包括输入接口、延时模块、读改写模块和输出接口,所述命令接收模块、所述读操作模块、所述延时模块、所述读改写模块、所述写操作模块和所述输出接口依次电连接,所述命令接收模块、所述读操作模块、所述延时模块、所述读改写模块以及所述写操作模块形成用于处理指令的流水线;第一命令、第二命令、第三命令依序经过所述命令接收模块、所述读操作模块、所述延时模块、所述读改写模块以及所述写操作模块,但对于读指令而言,会将写的时隙空出,即所述读操作模块不会对该写指令进行操作;对于写指令,会将读的时隙空出,即所述写操作模块不会对该读指令进行操作;
所述输入接口,用于输入第一命令、第二命令或第三命令;
所述解码单元,还用于接收第三命令,解析所述第三命令得到第三起始位置、第三深度地址、第三访问长度、第三操作类型和改写操作数;所述第三起始位置为当前访问的第一个SRAM的编号,所述第三深度地址为当前访问的起始深度地址,所述第三操作类型为读改写操作;
所述使能单元,还用于根据所述第三起始位置和所述第三访问长度生成第三使能信号;
所述发送单元,还用于根据所述第三操作类型将所述第三使能信号和所述第三深度地址发送给所述写操作模块;
所述延时模块,用于进行延时;具体而言,本实施例中设计读延时为2,一拍输出延时,一拍ECC延时;
所述读改写模块,用于根据所述第三使能信号、第三深度地址将待改写数据从至少一个SRAM中读出,并根据所述改写操作数将所述待改写数据进行改写后写入对应的至少一个SRAM;
所述输出接口,用于输出所述目标数据、所述第二命令的执行结果或所述第三命令的执行结果。
在一些实施例中,参阅图16,所述写操作模块还通过第一旁路(Bypass)与所述读改写模块连接,所述写操作模块还通过第二旁路(Bypass)与所述延时模块连接,所述写操作模块还通过第三旁路(Bypass)与所述读操作模块连接。
具体而言,由于本实施例的所述命令接收模块、所述读操作模块、所述延时模块、所述读改写模块以及所述写操作模块形成用于处理指令的流水线,如果写指令在前,而读指令或读改写指令在后,则为了避免前后指令处于不同流水线阶段而导致读操作或读改写操作错误时,没有读取正确的目标数据或待改写数据(可能读取了旧的数据,新的数据还未写入),因此设计了第一旁路、第二旁路、第三旁路,会将新写入的数据通过旁路直接发给读改写模块、延时模块或读模块,以提高效率以及数据处理正确性,如果读指令或读改写指令在前,写指令在后,则不需要通过第一旁路、第二旁路或第三旁路将写入的数据发给读改写模块、延时模块或读模块。
本申请实施例还提供一种芯片,包括上述实施例所述的存储器的控制器,还包括存储器由n个SRAM拼接形成,所述n个SRAM按排列顺序进行编号,n大于1,所述控制器与所述n个SRAM分别连接,实现对所述n个SRAM的单独读/写操作。
本申请的另一个实施例提出一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例所述的控制方法。
其中,电子设备还可以包括连接不同组件(包括存储器和处理器)的总线。存储器可以包括易失性存储器形式的计算机可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器。存储器也可以包括至少一个程序产品,所述程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。电子设备也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与所述电子设备交互的设备通信,和/或与使得所述电子设备能与一个或多个其他计算设备进行通信的任何设备(例如网卡)通信,这种通信可以通过输入/输出(I/O)接口进行,并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网LAN,广域网WAN和/或公共网络,例如因特网)通信。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (30)

1.一种存储器的控制方法,其特征在于,所述存储器包括n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;
所述方法包括:
接收第一命令,解析所述第一命令得到第一起始位置、第一深度地址、第一访问长度和第一操作类型;所述第一起始位置为当前访问的第一个SRAM的编号,所述第一深度地址为当前访问的起始深度地址,所述第一操作类型为读操作;
根据所述第一起始位置和所述第一访问长度生成SRAM的第一使能信号;
根据所述第一使能信号和所述第一深度地址从至少一个SRAM读出目标数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一起始位置和所述第一访问长度生成SRAM的第一使能信号,包括:
生成一个位宽为2n的第一掩码;其中,所述第一掩码的2n个位按排列顺序进行编号;
对于所述第一掩码中的任意一位,若其对应的编号大于等于所述第一起始位置且小于等于所述第一起始位置与所述第一访问长度相加之和,则将所述第一掩码的所述任意一位设置为1;否则设置为0;
根据所述第一掩码的低n位和高n位获得第一使能信号;其中,所述第一掩码的低n位与所述n个SRAM一一对应,所述第一掩码的高n位与所述n个SRAM一一对应。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一使能信号和所述第一深度地址从至少一个SRAM读出目标数据,包括:
当所述第一掩码的高n位均为0时,根据所述第一掩码的低n位和所述第一深度地址从至少一个SRAM读出目标数据;
当所述第一掩码的高n位至少存在一个位为1时,根据所述第一掩码的低n位和所述第一深度地址从至少一个SRAM读出第一读数据,并根据所述第一掩码的高n位和所述第一深度地址的下一个地址从至少一个SRAM读出第二读数据;
根据所述第一读数据和所述第二读数据得到目标数据,并输出所述目标数据。
4.根据权利要求3所述的方法,其特征在于,每个SRAM的位宽为w;若所述第一掩码的低n位中有m1个1,则所述第一读数据的位宽为w*m1;若所述第一掩码的高n位中有m2个1,则所述第二读数据的位宽为w*m2;m1和m2均大于1。
5.一种存储器的控制方法,其特征在于,所述存储器包括n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;
接收第二命令,解析所述第二命令得到第二起始位置、第二深度地址、第二访问长度、第二操作类型和待写数据;所述第二起始位置为当前访问的第一个SRAM的编号,所述第二深度地址为当前访问的起始深度地址,所述第二操作类型为写操作;
根据所述第二起始位置和所述第二访问长度生成SRAM的第二使能信号;
根据所述第二使能信号和所述第二深度地址将所述待写数据写入至少一个SRAM。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二起始位置和所述第二访问长度生成SRAM的第二使能信号,包括:
生成一个位宽为2n的第二掩码;其中,所述第二掩码的2n个位按排列顺序进行编号;
对于所述第二掩码中的任意一位,若其对应的编号大于等于所述第二起始位置且小于等于所述第二起始位置与所述第二访问长度相加之和,则将所述第二掩码的所述任意一位设置为1;否则设置为0;
根据所述第二掩码的低n位和高n位获得第二使能信号;其中,所述第二掩码的低n位与所述n个SRAM一一对应,所述第二掩码的高n位与所述n个SRAM一一对应。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二使能信号和所述第二深度地址将所述待写数据写入至少一个SRAM,包括:
当所述第二掩码的高n位均为0时,根据所述第二掩码的低n位和所述第二深度地址将所述待写数据写入至少一个SRAM;
当所述第二掩码的高n位至少存在一个位为1时,根据所述第二掩码的低n位和所述第二深度地址将第一写数据写入至少一个SRAM,并根据所述第二掩码的高n位和所述第二深度地址的下一个地址将第二写数据写入至少一个SRAM;其中,所述待写数据包括所述第一写数据和所述第二写数据。
8.根据权利要求7所述的方法,其特征在于,每个SRAM的位宽为w;若所述第二掩码的低n位中有m3个1,则所述第一写数据的位宽为w*m3;若所述第二掩码的高n位中有m4个1,则所述第二写数据的位宽为w*m4;m3和m4均大于1。
9.一种存储器的控制方法,其特征在于,所述存储器包括n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;
接收第三命令,解析所述第三命令得到第三起始位置、第三深度地址、第三访问长度、第三操作类型和改写操作数;所述第三起始位置为当前访问的第一个SRAM的编号,所述第三深度地址为当前访问的起始深度地址,所述第三操作类型为读改写操作;
根据所述第三起始位置和所述第三访问长度生成SRAM的第三使能信号;
根据所述第三使能信号和所述第三深度地址将待改写数据从至少一个SRAM中读出,并根据所述改写操作数将所述待改写数据进行改写后写入对应的至少一个SRAM。
10.根据权利要求9所述的方法,其特征在于,所述根据所述第三起始位置和所述第三访问长度生成SRAM的第三使能信号,包括:
生成一个位宽为2n的第三掩码;其中,所述第三掩码的2n个位按排列顺序进行编号;
对于所述第三掩码中的任意一位,若其对应的编号大于等于所述第三起始位置且小于等于所述第三起始位置与所述第三访问长度相加之和,则将所述第三掩码的所述任意一位设置为1;否则设置为0;
根据所述第三掩码的低n位和高n位获得第三使能信号;其中,所述第三掩码的低n位与所述n个SRAM一一对应,所述第三掩码的高n位与所述n个SRAM一一对应。
11.根据权利要求10所述的方法,其特征在于,所述根据所述第三使能信号和所述第三深度地址将待改写数据从至少一个SRAM中读出,包括:
当所述第三掩码的高n位均为0时,根据所述第三掩码的低n位和所述第三深度地址从至少一个SRAM读出待改写数据;
当所述第三掩码的高n位至少存在一个位为1时,根据所述第三掩码的低n位和所述第三深度地址从至少一个SRAM读出第一待改数据,并根据所述第三掩码的高n位和所述第三深度地址的下一个地址从至少一个SRAM读出第二待改数据,根据所述第一待改数据和所述第二待改数据得到待改写数据。
12.根据权利要求11所述的方法,其特征在于,每个SRAM的位宽为w;若所述第三掩码的低n位中有m5个1,则所述第一待改数据的位宽为w*m5;若所述第三掩码的高n位中有m6个1,则所述第二待改数据的位宽为w*m6;m5和m6均大于1。
13.一种存储器的控制器,其特征在于,所述存储器包括n个SRAM,所述n个SRAM按排列顺序进行编号,n大于1;
所述控制器包括命令接收模块和读操作模块,所述命令接收模块包括解码单元、使能单元和发送单元;
所述解码单元,用于接收第一命令,解析所述第一命令得到第一起始位置、第一深度地址、第一访问长度和第一操作类型;所述第一起始位置为当前访问的第一个SRAM的编号,所述第一深度地址为当前访问的起始深度地址,所述第一操作类型为读操作;
所述使能单元,用于根据所述第一起始位置和所述第一访问长度生成SRAM的第一使能信号;
所述发送单元,用于根据所述第一操作类型将所述第一使能信号和所述第一深度地址发送给所述读操作模块;
所述读操作模块,用于根据所述第一使能信号和所述第一深度地址从至少一个SRAM读出目标数据。
14.根据权利要求13所述的控制器,其特征在于,所述使能单元,具体用于:
生成一个位宽为2n的第一掩码;其中,所述第一掩码的2n个位按排列顺序进行编号;
对于所述第一掩码中的任意一位,若其对应的编号大于等于所述第一起始位置且小于等于所述第一起始位置与所述第一访问长度相加之和,则将所述第一掩码的所述任意一位设置为1;否则设置为0;
根据所述第一掩码的低n位和高n位获得第一使能信号;其中,所述第一掩码的低n位与所述n个SRAM一一对应,所述第一掩码的高n位与所述n个SRAM一一对应。
15.根据权利要求14所述的控制器,其特征在于,所述读操作模块,具体用于:
当所述第一掩码的高n位均为0时,根据所述第一掩码的低n位和所述第一深度地址从至少一个SRAM读出目标数据;
当所述第一掩码的高n位至少存在一个位为1时,根据所述第一掩码的低n位和所述第一深度地址从至少一个SRAM读出第一读数据,并根据所述第一掩码的高n位和所述第一深度地址的下一个地址从至少一个SRAM读出第二读数据;
根据所述第一读数据和所述第二读数据得到目标数据,并输出所述目标数据。
16.根据权利要求15所述的控制器,其特征在于,每个SRAM的位宽为w;若所述第一掩码的低n位中有m1个1,则所述第一读数据的位宽为w*m1;若所述第一掩码的高n位中有m2个1,则所述第二读数据的位宽为w*m2;m1和m2均大于1。
17.根据权利要求13所述的控制器,其特征在于,所述控制器还包括写操作模块;
所述解码单元,还用于接收第二命令,解析所述第二命令得到第二起始位置、第二深度地址、第二访问长度、第二操作类型和待写数据;所述第二起始位置为当前访问的第一个SRAM的编号,所述第二深度地址为当前访问的起始深度地址,所述第二操作类型为写操作;
所述使能单元,还用于根据所述第二起始位置和所述第二访问长度生成SRAM的第二使能信号;
所述发送单元,还用于根据所述第二操作类型将所述第二使能信号和所述第二深度地址发送给所述写操作模块;
所述写操作模块,用于根据所述第二使能信号和所述第二深度地址将所述待写数据写入至少一个SRAM。
18.根据权利要求17所述的控制器,其特征在于,所述使能单元,具体用于:
生成一个位宽为2n的第二掩码;其中,所述第二掩码的2n个位按排列顺序进行编号;
对于所述第二掩码中的任意一位,若其对应的编号大于等于所述第二起始位置且小于等于所述第二起始位置与所述第二访问长度相加之和,则将所述第二掩码的所述任意一位设置为1;否则设置为0;
根据所述第二掩码的低n位和高n位获得第二使能信号;其中,所述第二掩码的低n位与所述n个SRAM一一对应,所述第二掩码的高n位与所述n个SRAM一一对应。
19.根据权利要求18所述的控制器,其特征在于,所述写操作模块,具体用于:
当所述第二掩码的高n位均为0时,根据所述第二掩码的低n位和所述第二深度地址将所述待写数据写入至少一个SRAM;
当所述第二掩码的高n位至少存在一个位为1时,根据所述第二掩码的低n位和所述第二深度地址将第一写数据写入至少一个SRAM,并根据所述第二掩码的高n位和所述第二深度地址的下一个地址将第二写数据写入至少一个SRAM;其中,所述待写数据包括所述第一写数据和所述第二写数据。
20.根据权利要求19所述的控制器,其特征在于,每个SRAM的位宽为w;若所述第二掩码的低n位中有m3个1,则所述第一写数据的位宽为w*m3;若所述第二掩码的高n位中有m4个1,则所述第二写数据的位宽为w*m4;m3和m4均大于1。
21.根据权利要求13或17所述的控制器,其特征在于,所述控制器还包括读改写模块;
所述解码单元,还用于接收第三命令,解析所述第三命令得到第三起始位置、第三深度地址、第三访问长度、第三操作类型和改写操作数;所述第三起始位置为当前访问的第一个SRAM的编号,所述第三深度地址为当前访问的起始深度地址,所述第三操作类型为读改写操作;
所述使能单元,还用于根据所述第三起始位置和所述第三访问长度生成SRAM的第三使能信号;
所述发送单元,还用于根据所述第三操作类型将所述第三使能信号和所述第三深度地址发送给所述写操作模块;
所述读改写模块,用于根据所述第三使能信号、第三深度地址将待改写数据从至少一个SRAM中读出,并根据所述改写操作数将所述待改写数据进行改写后写入对应的至少一个SRAM。
22.根据权利要求21所述的控制器,其特征在于,所述使能单元,还用于:
生成一个位宽为2n的第三掩码;其中,所述第三掩码的2n个位按排列顺序进行编号;
对于所述第三掩码中的任意一位,若其对应的编号大于等于所述第三起始位置且小于等于所述第三起始位置与所述第三访问长度相加之和,则将所述第三掩码的所述任意一位设置为1;否则设置为0;
根据所述第三掩码的低n位和高n位获得第三使能信号;其中,所述第三掩码的低n位与所述n个SRAM一一对应,所述第三掩码的高n位与所述n个SRAM一一对应。
23.根据权利要求22所述的控制器,其特征在于,所述读改写模块,用于:
当所述第三掩码的高n位均为0时,根据所述第三掩码的低n位和所述第三深度地址从至少一个SRAM读出待改写数据;
当所述第三掩码的高n位至少存在一个位为1时,根据所述第三掩码的低n位和所述第三深度地址从至少一个SRAM读出第一待改数据,并根据所述第三掩码的高n位和所述第三深度地址的下一个地址从至少一个SRAM读出第二待改数据,根据所述第一待改数据和所述第二待改数据得到待改写数据。
24.根据权利要求23所述的控制器,其特征在于,每个SRAM的位宽为w;若所述第三掩码的低n位中有m5个1,则所述第一待改数据的位宽为w*m5;若所述第三掩码的高n位中有m6个1,则所述第二待改数据的位宽为w*m6;m5和m6均大于1。
25.根据权利要求17所述的控制器,其特征在于,所述控制器还包括输入接口、延时模块、读改写模块和输出接口,所述命令接收模块、所述读操作模块、所述延时模块、所述读改写模块、所述写操作模块和所述输出接口依次电连接,所述命令接收模块、所述读操作模块、所述延时模块、所述读改写模块以及所述写操作模块形成用于处理指令的流水线;
所述输入接口,用于输入第一命令、第二命令或第三命令;
所述解码单元,还用于接收第三命令,解析所述第三命令得到第三起始位置、第三深度地址、第三访问长度和第三操作类型;所述第三起始位置为当前访问的第一个SRAM的编号,所述第三深度地址为当前访问的起始深度地址,所述第三操作类型为读改写操作;
所述使能单元,还用于根据所述第三起始位置和所述第三访问长度生成第三使能信号;
所述发送单元,还用于根据所述第三操作类型将所述第三使能信号和所述第三深度地址发送给所述写操作模块;
所述延时模块,用于进行延时;
所述读改写模块,用于根据所述第三使能信号、第三深度地址将待改写数据从至少一个SRAM中读出,并根据所述改写操作数将所述待改写数据进行改写后写入对应的至少一个SRAM;
所述输出接口,用于输出所述目标数据、所述第二命令的执行结果或所述第三命令的执行结果。
26.根据权利要求25所述的控制器,其特征在于,所述写操作模块还通过第一旁路与所述读改写模块连接。
27.根据权利要求25所述的控制器,其特征在于,所述写操作模块还通过第二旁路与所述延时模块连接。
28.根据权利要求25所述的控制器,其特征在于,所述写操作模块还通过第三旁路与所述读操作模块连接。
29.一种芯片,其特征在于,包括权利要求13~26中任一项所述的存储器的控制器。
30.一种电子设备,包括处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~12中任一项所述的存储器的控制方法。
CN202310548142.0A 2023-05-15 2023-05-15 一种存储器的控制方法、控制器、芯片、电子设备 Pending CN116594560A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310548142.0A CN116594560A (zh) 2023-05-15 2023-05-15 一种存储器的控制方法、控制器、芯片、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310548142.0A CN116594560A (zh) 2023-05-15 2023-05-15 一种存储器的控制方法、控制器、芯片、电子设备

Publications (1)

Publication Number Publication Date
CN116594560A true CN116594560A (zh) 2023-08-15

Family

ID=87607535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310548142.0A Pending CN116594560A (zh) 2023-05-15 2023-05-15 一种存储器的控制方法、控制器、芯片、电子设备

Country Status (1)

Country Link
CN (1) CN116594560A (zh)

Similar Documents

Publication Publication Date Title
US5617348A (en) Low power data translation circuit and method of operation
JP2968486B2 (ja) メモリ、メモリサブシステム、メモリ装置およびメモリシステムアドレス方法
US20070168777A1 (en) Error detection and correction in a CAM
JP3666689B2 (ja) 仮想アドレス変換方法
KR20060124598A (ko) 기억 장치
US20080209087A1 (en) Method and Apparatus for Transferring Data from a Memory Subsystem to a Network Adapter by Extending Data Lengths to Improve the Memory Subsystem and PCI Bus Efficiency
JPH0362144A (ja) 情報処理システムのメモリアクセスを速くする方法及びこの方法を実施するためのシステム
CN108538332A (zh) 与非门闪存的读取方法
CN116594560A (zh) 一种存储器的控制方法、控制器、芯片、电子设备
JPH07248963A (ja) Dram制御装置
JPH0362243A (ja) 情報処理システムにおいてメモリアクセスを速くする装置
JPH0192851A (ja) アドレス空間切替装置
US7333106B1 (en) Method and apparatus for Z-buffer operations
US6219757B1 (en) Cache flush operation for a stack-based microprocessor
JP2004146051A (ja) データ読み取り動作及び書き込み動作を同時に実行可能な集積回路及び方法
JP2000285671A (ja) 半導体メモリ
JPH1091593A (ja) マイクロプロセッサと付加的計算ユニットとを含むデータ処理装置
US20020016886A1 (en) Method and apparatus for simultaneously accessing the tag and data arrays of a memory device
JPH09114660A (ja) データ処理装置
JP3152345B2 (ja) キャッシュメモリ
JP2523662B2 (ja) メモリアクセス回路
JPH1049437A (ja) ダイナミックram制御装置
KR100433515B1 (ko) 입출력 모듈 전용 정적램 초기화 장치 및 방법
JP2003196087A (ja) マイクロコントローラのメモリアドレッシング方法及びページマッピング装置
JP3217815B2 (ja) アドレス変換方式

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