访问静态随机存取存储器的方法、装置、设备和存储介质制造方法及图纸

技术编号:24330984 阅读:34 留言:0更新日期:2020-05-29 19:35
本公开涉及用于访问静态随机存取存储器的方法、装置、电子设备和计算机可读存储介质。该方法包括接收针对与静态随机存取存储器相关联的数据的访问请求;响应于访问请求是针对数据的写入请求,将数据的预定大小的多个部分交织地写入不同的多个静态随机存取存储器;以及响应于访问请求是针对数据的读取请求,从多个静态随机存取存储器交织地读取数据的预定大小的多个部分。本公开的实施例能够实现SRAM的多读多写而无需重新设计SRAM电路,因此能够以低成本的方式实现SRAM的多读多写操作。

Methods, devices, devices and storage media for accessing SRAM

【技术实现步骤摘要】
访问静态随机存取存储器的方法、装置、设备和存储介质
本公开涉及集成电路领域,更具体而言,涉及访问静态随机存取存储器(SRAM)的方法、装置、设备和计算机可读存储介质。
技术介绍
集成电路器件已经被广泛应用于日常工作和生活的各个方面。集成电路器件例如包括现场可编程门阵列(FPGA)、片上系统(SOC)和专用集成电路(ASIC)器件等。在FPGA、SOC和ASIC电路芯片设计中,SRAM被大量的使用,用来存储计算所需的数据,或者缓存计算的结果。一般而言,一个SRAM存储空间,可能被多个独立的访问设备,诸如计算单元,所访问。但是,SRAM只有一个读写端口。在此情形下,不同的访问设备在读写SRAM上就会出现冲突。经过仲裁,通常只有一个访问设备能够访问该SRAM,而其他的计算单元必须等待。为了解决SRAM单读单写的问题,业界已经提出各种解决方案。但是这些解决方案通常都是需要在电路层面重新设计SRAM,并且内部结构比常规的单读单写的单端口SRAM复杂的多,地址控制等逻辑需要成倍的增加。另外,在电路面积方面,随着端口的增加,面积也会成倍的增加,而且由于其内部结构复杂,会导致SRAM的工作频率下降。因此,现有的多读多写的SRAM成本高昂并且工作效率较低。
技术实现思路
根据本公开的示例实施例,提供了用于访问SRAM的方案。在本公开的第一方面中,提供用于访问静态随机存取存储器的方法。该方法包括接收针对与静态随机存取存储器相关联的数据的访问请求;响应于访问请求是针对数据的写入请求,将数据的预定大小的多个部分交织地写入不同的多个静态随机存取存储器;以及响应于访问请求是针对数据的读取请求,从多个静态随机存取存储器交织地读取数据的预定大小的多个部分。在本公开的第二方面中,提供一种用于访问静态随机存取存储器的装置。该装置包括接收模块和访问模块。接收模块被配置为接收针对与静态随机存取存储器相关联的数据的访问请求。访问模块被配置为响应于访问请求是针对数据的写入请求,将数据的预定大小的多个部分交织地写入不同的多个静态随机存取存储器;以及响应于访问请求是针对数据的读取请求,从多个静态随机存取存储器交织地读取数据的预定大小的多个部分。在本公开的第三方面中,提供一种电子设备。该电子设备包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现根据本公开的第一方面的方法。在本公开的第四方面中,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据本公开的第一方面的方法。应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1示出了本公开的实施例可以在其中实施的示例环境的示意图;图2示出了根据本公开的一个实施例的双读双写的SRAM的示意框图;图3示出了根据本公开的一个实施例的用于访问SRAM的方法的流程图;图4示出了根据本公开的一个实施例的用于访问SRAM的方法的具体流程图;图5示出了根据本公开的一个实施例的用于访问SRAM的装置的框图;以及图6示出了可以实施本公开实施例的计算设备的框图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。一般而言,电子设备可以根据设计需要包括一定容量的SRAM。例如,电子设备可以包括256KB的SRAM。常规方案中,可以使用单个256KB的SRAM来实现。如上文所述,在常规方案中,SRAM通常是单端口SRAM,其仅能够实现单读单写操作。即使有多端口SRAM,也是需要从电路层面另行设计,并且还降低了工作效率。根据本公开的实施例,提供了一种可以通过使用多个SRAM的SRAM组合来实现多读多写的SRAM方案,而无需对SRAM自身从电路层面进行重新设计。此外,根据本公开实施例的SRAM方案可以提高SRAM的读写效率。例如,对于需要256KB的SRAM的电子设备而言,可以向其提供2个128KB的SRAM来满足需求,或者也可以提供4个64KB的SRAM来满足需求,或者也可以提供1个128KB和2个64KB的SRAM来满足需求。通过使用多个SRAM,可以提高访问设备的访问效率。下文将对此进行具体描述。以下将参照附图来具体描述本公开的实施例。图1示出了本公开的实施例可以在其中实施的示例环境100的示意图。示例环境100示出了用于供多个访问设备经由电子设备,例如多路仲裁器,访问多个SRAM以实现对SRAM执行多读多写操作。访问设备可以例如是中央处理器、数字信号处理器等设备。可以理解,多路仲裁器仅是示例,也可以使用其它的电子器件或电路来实现该电子设备。多个访问设备102、104……106中的至少一个访问设备可以在一个访问周期内向多路仲裁器112发出数据访问请求。在本文中,访问指代读取或写入。例如,访问设备指代能够经由多路仲裁器112将数据写入SRAM并且从SRAM读取数据的设备,访问周期指代对SRAM的读取周期或写入周期,以及数据访问请求指代向SRAM写入数据的请求和从SRAM读取数据的请求。当在一个访问周期内,在仅有一个访问请求的情形下,多路仲裁器112根据访问请求来从多个SRAM读取数据或向其写入数据。当在一个访问周期内,在多个访问请求的情形下,多路仲裁器112基于多个访问请求来确定访问对象。在访问对象不冲突的情形下,可以在该访问周期内并行地访问多个SRAM。例如,当在一个访问周期内,如果访问设备102要对SRAM122进行读取,并且访问设备104要对SRAM124进行写入,则多路仲裁器112执行对SRAM122的读取操作并且执行对SRAM124的写入操作。在访问对象冲突的情形下,可以在该访问周期内根据优先级访问SRAM。例如,当在一个访问周期内,如果访问设备102和104举要对SRAM122进行读取,则多路仲裁器112根据预先确定的优先级来执行对SRAM122的读取操作。例如,如果访问设备102优先级较高,则多路仲裁器112读取访问设备102本文档来自技高网
...

【技术保护点】
1.一种用于访问静态随机存取存储器的方法,包括:/n接收针对与静态随机存取存储器相关联的数据的访问请求;/n响应于所述访问请求是针对所述数据的写入请求,将所述数据的预定大小的多个部分交织地写入不同的多个静态随机存取存储器;以及/n响应于所述访问请求是针对所述数据的读取请求,从所述多个静态随机存取存储器交织地读取所述数据的预定大小的多个部分。/n

【技术特征摘要】
1.一种用于访问静态随机存取存储器的方法,包括:
接收针对与静态随机存取存储器相关联的数据的访问请求;
响应于所述访问请求是针对所述数据的写入请求,将所述数据的预定大小的多个部分交织地写入不同的多个静态随机存取存储器;以及
响应于所述访问请求是针对所述数据的读取请求,从所述多个静态随机存取存储器交织地读取所述数据的预定大小的多个部分。


2.根据权利要求1所述的方法,其中所述多个部分的所述预定大小是基于所述多个静态随机存取存储器的容量而确定的。


3.根据权利要求1所述的方法,其中接收的所述访问请求是来自第一访问设备的写入所述数据的第一请求,所述第一请求所针对的所述数据是第一数据,所述方法还包括:
接收来自第二访问设备的将第二数据写入所述多个静态随机存取存储器的第二请求;以及
以与对所述第一数据的所述多个部分交织地写入相并行的方式,将所述第二数据的多个部分交织地写入所述多个静态随机存取存储器。


4.根据权利要求3所述的方法,其中将所述第二数据的多个部分交织地写入所述多个静态随机存取存储器包括:
确定在一个写入周期内所述第一数据的所述多个部分中的第一部分将被写入的第一对象和所述第二数据的所述多个部分中的第二部分将被写入的第二对象,所述第一对象和所述第二对象分别是所述多个静态随机存取存储器之一;
响应于所述第一对象与所述第二对象不同,将所述第一部分和所述第二部分并行地写入所述第一对象和所述第二对象;以及
响应于所述第一对象与所述第二对象相同,将所述第一部分和所述第二部分之一写入所述第一对象。


5.根据权利要求4所述的方法,其中将所述第一部分和所述第二部分之一写入所述第一对象包括:
确定所述第一访问设备和所述第二访问设备的优先级;以及
响应于所述第二访问设备的优先级高于所述第一访问设备的优先级,
将所述第二部分写入所述第一对象,以及
将所述第一部分向所述第一对象的写入延迟至下一写入周期。


6.根据权利要求1所述的方法,其中接收的所述访问请求是来自第一访问设备的读取所述数据的第一请求,所述第一请求所针对的所述数据是第一数据,所述方法还包括:
接收来自第二访问设备的从所述多个静态随机存取存储器的读取第二数据的第二请求;以及
以与对所述第一数据的所述多个部分交织地读取相并行的方式,从所述多个静态随机存取存储器交织地读取所述第二数据的多个部分。


7.根据权利要求6所述的方法,其中从所述多个静态随机存取存储器交织地读取所述第二数据的多个部分包括:
确定在一个读取周期内所述第一数据的所述多个部分中的第一部分将被读取的第一对象和所述第二数据的所述多个部分中的第二部分将被读取的第二对象,所述第一对象和所述第二对象分别是所述多个静态随机存取存储器之一;
响应于所述第一对象与所述第二对象不同,从所述第一对象和所述第二对象并行地读取所述第一部分和所述第二部分;以及
响应于所述第一对象与所述第二对象相同,从所述第一对象读取所述第一部分和所述第二部分之一。


8.根据权利要求7所述的方法,其中从所述第一对象读取所述第一部分和所述第二部分之一包括:
确定所述第一访问设备和所述第二访问设备的优先级;以及
响应于所述第二访问设备的优先级高于所述第一访问设备的优先级,
从所述第一对象读取所述第二部分,以及
将从所述第一对象读取所述第一部分延迟至下一读取周期。


9.根据权利要求4或7所述的方法,其中确定所述第一对象包括:
从所述第一请求来确定用于访问所述第一数据的目的地地址;
基于所述目的地地址和预定的地址映射关系,确定与所述第一数据的所述第一部分相对应的目标地址;以及
基于所述目标地址中的至少一部分,确定与所述第一部分相对应的静态随机存取存储器。


10.一种用于访问静态随机存取存储器的装置,包括:
接收模块,被配置为接收针对与静态随机存取存储器相关联的数据的访问请求;
访问模块,被配置为
响应于所述访问请求是针对所述数据的写入请求,将所述数据的预定大小的多个部分交织地写入不同的多个静态随机存取存储器;以及
响应于所述访问请求是针对所述数据的读取请求,从所述多个静态随机存取存储器交织地读取所述数据的预定大小的多个部...

【专利技术属性】
技术研发人员:龚小章王京
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1