System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种伪双端口sram的读写控制方法、装置、电子设备及存储介质。
技术介绍
1、在数字ic设计领域常用静态随机存取存储器(static random access memory,sram)作为存储器件来存储数据,常用的sram包含单口sram (single-port,ram)、伪双口sram(two-port,ram)和双口sram(dual-port,ram)。在需要同一周期读写sram的场景中经常使用两种方案。第一种是直接使用伪双口sram或者双口sram,但是电路面积较大。另一种方案是使用是将多块单口sram组合使用,存在较大的读写冲突。
技术实现思路
1、本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。
2、为此,本专利技术的第一个目的在于提出一种伪双端口sram的读写控制方法,通过多块单端口sram和寄存器缓冲队列的组合,可以在具备单端口sram面积小的优点的同时,实现极低的读写冲突概率,使得多块单端口sram在允许读写冲突出现的场景下可以充当伪双口sram使用。
3、本专利技术的第二个目的在于提出一种伪双端口sram的读写控制装置。
4、本专利技术的第三个目的在于提出一种电子设备。
5、本专利技术的第四个目的在于提出一种存储有计算机数据的非瞬时计算机可读存储介质。
6、为达上述目的,本专利技术第一方面实施例提出了一种伪双端口sram的读写控制方法,其中,所述伪双端口静态
7、在从所述伪双端口sram中读取数据时,读取寄存器缓冲队列的各个数据表项,在数据读取请求对应的读取标签命中任一目标数据表项中标签,且读取标签对应数据有效位有效的情况下,则读取所述目标数据表项的数据,不读取伪双端口sram中单口sram的数据;
8、在所述伪双端口sram中需写入数据时,读取寄存器缓冲队列的各个数据表项,在数据写入项对应的写入标签未命中任一数据表项中标签时,将数据写入项插入到寄存器缓冲队列尾部,将数据写入项的写入有效位置为有效,并在寄存器缓冲队列中没有数据脏位的脏表项和数据写入项属于同一目标单口sram,且目标单口sram没有数据读取请求的情况下,将写入数据项直接写入到所属的目标单口sram中,缓冲队列中写入数据项的写入脏位不置为脏。
9、为达上述目的,本专利技术第二方面实施例提出了一种伪双端口sram的读写控制装置,其中,所述伪双端口静态随机存取存储器sram对外有两个端口,分别用于读取数据和写入数据,内部由多块单口sram和一个全相联映射的寄存器缓冲队列组成,所述寄存器缓冲队列每个数据表项包含数据有效位、数据脏位、数据、标签,所述装置包括:
10、第一读取模块,用于在从所述伪双端口sram中读取数据时,读取寄存器缓冲队列的各个数据表项,在数据读取请求对应的读取标签命中任一目标数据表项中标签,且读取标签对应数据有效位有效的情况下,则读取所述目标数据表项的数据,不读取伪双端口sram中单口sram的数据;
11、第一写入模块,用于在所述伪双端口sram中需写入数据时,读取寄存器缓冲队列的各个数据表项,在数据写入项对应的写入标签未命中任一数据表项中标签时,将数据写入项插入到寄存器缓冲队列尾部,将数据写入项的写入有效位置为有效,并在寄存器缓冲队列中没有数据脏位的脏表项和数据写入项属于同一目标单口sram,且目标单口sram没有数据读取请求的情况下,将写入数据项直接写入到所属的目标单口sram中,缓冲队列中写入数据项的写入脏位不置为脏。
12、为达上述目的,本专利技术第三方面实施例提出了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器所使用的数据,所述数据被所述至少一个处理器所使用,以使所述至少一个处理器能够执行第一方面所述的方法。
13、为了实现上述目的,本专利技术第四方面实施例提出了一种存储有计算机数据的非瞬时计算机可读存储介质,计算机数据用于使所述计算机执行第一方面所述的方法。
14、本专利技术实施例提供的伪双端口sram的读写控制方法、装置、电子设备和存储介质,其中,伪双端口静态随机存取存储器sram对外有两个端口,分别用于读取数据和写入数据,内部由多块单口sram和一个全相联映射的寄存器缓冲队列组成,数据写入或读取时会选择性的经过寄存器缓冲队列,减少单端口sram的读写冲突,由此,通过多块单端口sram和寄存器缓冲队列的组合,可以在具备单端口sram面积小的优点的同时,实现极低的读写冲突概率,使得多块单端口sram在允许读写冲突出现的场景下可以充当伪双口sram使用。
15、本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
本文档来自技高网...【技术保护点】
1.一种伪双端口SRAM的读写控制方法,其特征在于,其中,所述伪双端口静态随机存取存储器SRAM对外有两个端口,分别用于读取数据和写入数据,内部由多块单口SRAM和一个全相联映射的寄存器缓冲队列组成,所述寄存器缓冲队列每个数据表项包含数据有效位、数据脏位、数据、标签,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述在所述伪双端口SRAM中需写入数据时,读取寄存器缓冲队列的各个数据表项,在数据写入项对应的写入标签未命中任一数据表项中标签时,将数据写入项插入到寄存器缓冲队列尾部,将数据写入项的写入脏有效位置为有效,并在寄存器缓冲队列中没有数据脏位的脏表项和数据写入项属于同一目标单口SRAM,且目标单口SRAM没有数据读取请求的情况下,将写入数据项直接写入到所属的目标单口SRAM中,缓冲队列中写入数据项的写入脏位不置为脏,包括:
4.根据权利要求2或3所述的方法,其特征在于,其中,n,y是基于每个单口SRAM内包含的数据表项数确定的,且n和y的总和为读取标签或写入标签的总位数,当单
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.一种伪双端口SRAM的读写控制装置,其特征在于,其中,所述伪双端口静态随机存取存储器SRAM对外有两个端口,分别用于读取数据和写入数据,内部由多块单口SRAM和一个全相联映射的寄存器缓冲队列组成,所述寄存器缓冲队列每个数据表项包含数据有效位、数据脏位、数据、标签,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,装置还包括:
9.根据权利要求7所述的装置,其特征在于,所述第一写入模块,具体用于:
10.根据权利要求8或9所述的装置,其特征在于,其中,n,y是基于每个单口SRAM内包含的数据表项数确定的,且n和y的总和为读取标签或写入标签的总位数,当单端口SRAM数量为m,每个单端口SRAM的数据表项数为x时,n=,y=。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
13.一种电子设备,其特征在于,包括:
14.一种存储有计算机数据的非瞬时计算机可读存储介质,其特征在于,所述计算机数据用于使所述计算机执行根据权利要求1-6中任一项所述的方法。
...【技术特征摘要】
1.一种伪双端口sram的读写控制方法,其特征在于,其中,所述伪双端口静态随机存取存储器sram对外有两个端口,分别用于读取数据和写入数据,内部由多块单口sram和一个全相联映射的寄存器缓冲队列组成,所述寄存器缓冲队列每个数据表项包含数据有效位、数据脏位、数据、标签,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述在所述伪双端口sram中需写入数据时,读取寄存器缓冲队列的各个数据表项,在数据写入项对应的写入标签未命中任一数据表项中标签时,将数据写入项插入到寄存器缓冲队列尾部,将数据写入项的写入脏有效位置为有效,并在寄存器缓冲队列中没有数据脏位的脏表项和数据写入项属于同一目标单口sram,且目标单口sram没有数据读取请求的情况下,将写入数据项直接写入到所属的目标单口sram中,缓冲队列中写入数据项的写入脏位不置为脏,包括:
4.根据权利要求2或3所述的方法,其特征在于,其中,n,y是基于每个单口sram内包含的数据表项数确定的,且n和y的总和为读取标签或写入标签的总位数,当单端口sram数量为m,每个单端口sram的数据表项数为x时,n=,y=。
5.根据权利要求1所述的方法,其特征在于,所述方...
【专利技术属性】
技术研发人员:洪志博,蔡晔,
申请(专利权)人:北京微核芯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。