CN115017063B - 一种先进先出的数据缓存器及数据缓存系统 - Google Patents

一种先进先出的数据缓存器及数据缓存系统 Download PDF

Info

Publication number
CN115017063B
CN115017063B CN202210944539.7A CN202210944539A CN115017063B CN 115017063 B CN115017063 B CN 115017063B CN 202210944539 A CN202210944539 A CN 202210944539A CN 115017063 B CN115017063 B CN 115017063B
Authority
CN
China
Prior art keywords
pointer control
control module
data
control unit
address line
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
Application number
CN202210944539.7A
Other languages
English (en)
Other versions
CN115017063A (zh
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.)
Beijing Ziguang Xinneng Technology Co Ltd
Original Assignee
Beijing Ziguang Xinneng Technology 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 Beijing Ziguang Xinneng Technology Co Ltd filed Critical Beijing Ziguang Xinneng Technology Co Ltd
Priority to CN202210944539.7A priority Critical patent/CN115017063B/zh
Publication of CN115017063A publication Critical patent/CN115017063A/zh
Application granted granted Critical
Publication of CN115017063B publication Critical patent/CN115017063B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Static Random-Access Memory (AREA)

Abstract

本申请公开了一种先进先出的数据缓存器及数据缓存系统,应用于数字电路领域,该先进先出的数据缓存器包括:双端口随机存取存储器,第一指针控制模块以及第二指针控制模块;第一指针控制模块和第二指针控制模块通过多条地址线与双端口随机存取存储器的至少一个存储单元连接,第一指针控制模块连接的全部存储单元的集合为第一寻址范围,第二指针控制模块连接的全部存储单元的集合为第二寻址范围。通过切换地址线可以改变第一指针控制模块和第二指针控制模块连接的双端口随机存取存储器的存储单元的数量,也即可以改变第一指针控制模块和第二指针控制模块各自对应的先进先出FIFO队列的深度,可以使FIFO的深度满足多样化的应用需求。

Description

一种先进先出的数据缓存器及数据缓存系统
技术领域
本申请涉及数字电路技术领域,特别是涉及一种先进先出的数据缓存器及数据缓存系统。
背景技术
微控制器是小型、多功能、价格低廉的设备,不论是经验丰富的电气工程师,还是业余爱好者、学生或其他学科的专业人员,都可以较为容易地对微控制器进行编程,由于微控制器具备适应性强、价格合理以及用户友好等特点,微控制器被应用在几乎所有电子产品上。
微控制器由中央处理单元,非易失性存储器,易失性存储器,外围设备和支持电路组成。其中,易失性存储器(即随机存取存储器,Random Access Memory,RAM)用于临时数据存储,通常采用双端口RAM,一个端口用于先进先出(First Input First Output,FIFO)队列进行写操作,另一个端口用于先进先出队列进行读操作,构成先进先出的数据缓存器。FIFO主要应用与突发传输,当读数据速率和写数据速率差异较大时,为了防止数据丢失,需要依据具体需求合理设计FIFO的深度,即FIFO的寻址范围。然而,目前微控制器的外围设备模块的用于接收和发送数据的FIFO的深度是固定的,在实际使用中,如果FIFO的深度设计的过浅,会出现FIFO的深度不能满足需求的情况,设计的过深又会造成资源的浪费,即使进行适中的设计,也会无法满足部分应用场景下的需求,导致数据丢失。
由此,如何在减少资源浪费的前提下使FIFO的深度可以满足多样化的应用需求,成为目前亟待解决的问题。
发明内容
基于上述问题,本申请提供了一种先进先出的数据缓存器及数据缓存系统,可以在减少资源浪费的前提下使FIFO的深度满足多样化的应用需求。
本申请实施例公开了如下技术方案:
第一方面,本申请提供了一种先进先出的数据缓存器,所述数据缓存器包括:双端口随机存取存储器,第一指针控制模块以及第二指针控制模块;
所述第一指针控制模块和所述第二指针控制模块通过多条地址线与所述双端口随机存取存储器的至少一个存储单元连接,所述第一指针控制模块连接的全部存储单元的集合为第一寻址范围,所述第二指针控制模块连接的全部存储单元的集合为第二寻址范围;
所述双端口随机存取存储器,用于存储所述第一指针控制模块和/或所述第二指针控制模块写入的数据;
所述第一指针控制模块,用于接收第一地址线切换请求,根据所述第一地址线切换请求,控制所述第一指针控制模块连接的存储单元的数量,得到更新后的第一寻址范围,向所述更新后的第一寻址范围内的存储单元写入数据或从所述更新后的第一寻址范围内的存储单元读取数据;
所述第二指针控制模块,用于接收第二地址线切换请求,根据所述第二地址线切换请求,控制所述第二指针控制模块连接的存储单元的数量,得到更新后的第二寻址范围,向所述更新后的第二寻址范围内的存储单元写入数据或从所述更新后的第二寻址范围内的存储单元读取数据。
可选地,所述第一指针控制模块,包括:第一写指针控制单元、第一读指针控制单元以及第一地址线控制单元;
所述第一写指针控制单元通过至少一条地址线与所述双端口随机存取存储器的至少一个存储单元的第一端口连接,所述第一读指针控制单元通过至少一条地址线与所述双端口随机存取存储器的所述至少一个存储单元的第二端口连接,与所述第一写指针控制单元和所述第一读指针控制单元连接的存储单元的数量受控于所述第一地址线控制单元;
所述第一地址线控制单元,用于接收第一地址线切换请求,根据所述第一地址线切换请求,控制所述第一写指针控制单元和所述第一读指针控制单元连接的存储单元的数量,得到更新后的第一寻址范围;
所述第一写指针控制单元,用于根据预设的寻址逻辑在所述更新后的第一寻址范围中确定待写入数据的存储单元,通过所述待写入数据的存储单元的第一端口,将数据写入所述待写入数据的存储单元;
所述第一读指针控制单元,用于根据预设的寻址逻辑在所述更新后的第一寻址范围中确定待读取数据的存储单元,通过所述待读取数据的存储单元的第二端口,从所述待读取数据的存储单元中读取数据;
所述寻址逻辑包括先进先出。
可选地,所述第一寻址范围和/或所述更新后的第一寻址范围包括固定范围和可调配置范围,所述第一寻址范围内的存储单元数量大于0。
可选地,所述第二指针控制模块,包括:第二写指针控制单元、第二读指针控制单元以及第二地址线控制单元;
所述第二写指针控制单元通过至少一条地址线与所述双端口随机存取存储器的至少一个存储单元的第一端口连接,所述第二读指针控制单元通过至少一条地址线与所述双端口随机存取存储器的所述至少一个存储单元的第二端口连接,或所述第二写指针控制单元和所述第二读指针控制单元不与所述双端口随机存取存储器的任一存储单元连接,与所述第二写指针控制单元和所述第二读指针控制单元连接的存储单元的数量受控于所述第二地址线控制单元;
所述第二地址线控制单元,用于接收第二地址线切换请求,根据所述第二地址线切换请求,控制所述第二写指针控制单元和所述第二读指针控制单元连接的存储单元的数量,得到更新后的第二寻址范围;
所述第二写指针控制单元,用于根据预设的寻址逻辑在所述更新后的第二寻址范围中确定待写入数据的存储单元,通过所述待写入数据的存储单元的第一端口,将数据写入所述待写入数据的存储单元;
所述第二读指针控制单元,用于根据预设的寻址逻辑在所述更新后的第二寻址范围中确定待读取数据的存储单元,通过所述待读取数据的存储单元的第二端口,从所述待读取数据的存储单元中读取数据;
所述寻址逻辑包括先进先出。
可选地,所述第二寻址范围和/或所述更新后的第二寻址范围包括可调配置范围,所述第二寻址范围内的存储单元数量大于等于0。
可选地,所述第一地址线控制模块,具体用于:
接收第一地址线切换请求;
根据所述第一地址线切换请求,控制所述配置范围内的至少一条指定地址线与对应的存储单元建立连接或断开连接,得到更新后的第一寻址范围。
可选地,所述第一地址线控制模块和/或所述第二地址线控制模块,还用于:
根据所述更新后的第一寻址范围和/或所述更新后的第二寻址范围,更新所述寻址逻辑。
第二方面,本申请提供了一种先进先出的数据缓存系统,包括上述第一方面中任一项所述的数据缓存器。
相较于现有技术,本申请具有以下有益效果:
本申请提供了一种先进先出的数据缓存器,该数据缓存器包括:双端口随机存取存储器,第一指针控制模块以及第二指针控制模块;第一指针控制模块和第二指针控制模块通过多条地址线与双端口随机存取存储器的至少一个存储单元连接,第一指针控制模块连接的全部存储单元的集合为第一寻址范围,第二指针控制模块连接的全部存储单元的集合为第二寻址范围;双端口随机存取存储器,用于存储第一指针控制模块和/或第二指针控制模块写入的数据;第一指针控制模块,用于接收第一地址线切换请求,根据第一地址线切换请求,控制第一指针控制模块连接的存储单元的数量,得到更新后的第一寻址范围,向更新后的第一寻址范围内的存储单元写入数据或从更新后的第一寻址范围内的存储单元读取数据;第二指针控制模块,用于接收第二地址线切换请求,根据第二地址线切换请求,控制第二指针控制模块连接的存储单元的数量,得到更新后的第二寻址范围,向更新后的第二寻址范围内的存储单元写入数据或从更新后的第二寻址范围内的存储单元读取数据。由此,通过切换地址线可以改变第一指针控制模块和第二指针控制模块连接的双端口随机存取存储器的存储单元的数量,也即可以分别或同时改变第一指针控制模块和第二指针控制模块各自对应的先进先出FIFO队列的深度,既可以使FIFO的深度满足多样化的应用需求,又可以避免数据存储资源的浪费。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种先进先出的数据缓存器结构图;
图2为本申请实施例提供的另一种先进先出的数据缓存器结构图。
具体实施方式
本发明提供的一种先进先出的数据缓存器及数据缓存系统可用于数字电路领域,上述仅为示例,并不对本发明提供的一种先进先出的数据缓存器及数据缓存系统的应用领域进行限定。
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”“第三”、和“第四”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“作为示例”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“作为示例”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“作为示例”或者“例如”等词旨在以具体方式呈现相关概念。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
正如前文描述,目前微控制器的外围设备模块的用于接收和发送数据的FIFO的深度是固定的,在实际使用中,如果FIFO的深度设计的过浅,会出现FIFO的深度不能满足需求的情况,设计的过深又会造成资源的浪费,即使进行适中的设计,也会无法满足部分应用场景下的需求,导致数据丢失。
发明人经过研究,发现微控制器具有多个外部设备模块,例如串行外设接口(Serial Peripheral Interface,SPI)、通用异步收发传输器(Universal AsynchronousReceiver Transmitter,UART)以及控制器域网(Controller Area Network,CAN)等。通常来说,相同功能的上述外部设备模块的数量至少有两个,例如,具有四个UART,然而,实际使用过程中,用户大多只会启用其中的一部分。
有鉴于此,本申请提供了一种先进先出的数据缓存器,该先进先出的数据缓存器包括:双端口随机存取存储器,第一指针控制模块以及第二指针控制模块;第一指针控制模块和第二指针控制模块通过多条地址线与双端口随机存取存储器的至少一个存储单元连接,第一指针控制模块连接的全部存储单元的集合为第一寻址范围,第二指针控制模块连接的全部存储单元的集合为第二寻址范围。通过切换地址线可以改变第一指针控制模块和第二指针控制模块连接的双端口随机存取存储器的存储单元的数量,也即可以分别或同时改变第一指针控制模块和第二指针控制模块各自对应的先进先出FIFO队列的深度,既可以使FIFO的深度满足多样化的应用需求,又可以避免数据存储资源的浪费。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,该图为本申请提供的一种先进先出的数据缓存器结构图,可应用于数字电路技术领域中的微控制器,该数据缓存器包括:双端口随机存取存储器101,第一指针控制模块102以及第二指针控制模块103。
第一指针控制模块102和第二指针控制模块103通过多条地址线与双端口随机存取存储器101的至少一个存储单元连接,第一指针控制模块102连接的全部存储单元的集合为第一寻址范围,第二指针控制模块103连接的全部存储单元的集合为第二寻址范围。
双端口随机存取存储器101:用于存储第一指针控制模块和/或第二指针控制模块写入的数据。
优选地,双端口随机存取存储器包含多个存储单元,作为示例,图1中的A0~A15表示同一随机存取存储器的16个数据存储单元,每个存储单元具有两个端口,一个端口用于向存储单元写入数据,另一个端口用于从存储单元读取数据。写入数据和读取数据可以是同步的,也可以是异步的。
第一指针控制模块102:用于接收第一地址线切换请求,根据第一地址线切换请求,控制第一指针控制模块连接的存储单元的数量,得到更新后的第一寻址范围,向更新后的第一寻址范围内的存储单元写入数据或从更新后的第一寻址范围内的存储单元读取数据。
优选地,该数据缓存器可以具有多个第一指针控制模块,图1仅示出了具有一个第一指针控制模块的情况。在该实施例中,第一寻址范围内的存储单元包括固定的A0~A7和可以控制是否与第一指针控制模块相连的A8~A15,即第一指针控制模块对应的第一先进先出FIFO队列的深度范围可以在8~16之间灵活配置。
作为示例,在本申请提供的另一实施例中,也可以具有两个第一指针控制模块,其中一个的寻址范围包括固定的A0~A3和可以控制是否与第一指针控制模块相连的A4~A10,另一个的寻址范围包括固定的A11~A15和可以控制是否与第一指针控制模块相连的A4~A10,上述内容仅为示例,不对本申请的保护范围进行限定,在实际应用中可以灵活调整第一指针控制模块的数量以及第一寻址范围。
作为示例,初始状态下,第一寻址范围可以是A0~A7,即第一指针控制模块对应的第一先进先出FIFO队列的深度为8,若第一指针控制模块102接收到例如将第一先进先出FIFO队列的深度设置为10的第一地址线切换请求,则可以控制与A8、A9这两个数据存储单元连接的地址线与第一指针控制模块相连,此时,更新后的第一寻址范围为A0~A9,也即第一先进先出FIFO队列的深度为10。而后,第一指针控制模块可以向A0~A9这10个存储单元内写入数据或从中读取数据。
第二指针控制模块103:用于接收第二地址线切换请求,根据第二地址线切换请求,控制第二指针控制模块连接的存储单元的数量,得到更新后的第二寻址范围,向更新后的第二寻址范围内的存储单元写入数据或从更新后的第二寻址范围内的存储单元读取数据。
优选地,该数据缓存器可以具有多个第二指针控制模块。图1仅示出了具有一个第二指针控制模块的情况,在该实施例中,第二寻址范围内的存储单元包括可以控制是否与第二指针控制模块相连的A8~A15,即第二指针控制模块对应的第二先进先出FIFO队列的深度范围可以在0~8之间灵活配置,FIFO深度为0表示放弃使用第二先进先出队列,也可以表示放弃使用第二先进先出队列连接的外部设备模块。第二指针控制模块可以与第一指针控制模块在功能上完全相同。
优选地,上述第一指针控制模块和第二指针控制模块连接相同功能或类型的外部设备模块,例如,第一指针控制模块连接一个UART,第二指针控制模块连接另一个UART。
本申请实施例提供了一种先进先出的数据缓存器,该先进先出的数据缓存器包括:双端口随机存取存储器,第一指针控制模块以及第二指针控制模块;第一指针控制模块和第二指针控制模块通过多条地址线与双端口随机存取存储器的至少一个存储单元连接,第一指针控制模块连接的全部存储单元的集合为第一寻址范围,第二指针控制模块连接的全部存储单元的集合为第二寻址范围;双端口随机存取存储器,用于存储第一指针控制模块和/或第二指针控制模块写入的数据;第一指针控制模块,用于接收第一地址线切换请求,根据第一地址线切换请求,控制第一指针控制模块连接的存储单元的数量,得到更新后的第一寻址范围,向更新后的第一寻址范围内的存储单元写入数据或从更新后的第一寻址范围内的存储单元读取数据;第二指针控制模块,用于接收第二地址线切换请求,根据第二地址线切换请求,控制第二指针控制模块连接的存储单元的数量,得到更新后的第二寻址范围,向更新后的第二寻址范围内的存储单元写入数据或从更新后的第二寻址范围内的存储单元读取数据。由此,通过切换地址线可以改变第一指针控制模块和第二指针控制模块连接的双端口随机存取存储器的存储单元的数量,也即可以分别或同时改变第一指针控制模块和第二指针控制模块各自对应的先进先出FIFO队列的深度,既可以使FIFO的深度满足多样化的应用需求,又可以避免数据存储资源的浪费。
参见图2,该图为本申请提供的另一种先进先出的数据缓存器结构图,可应用于数字电路技术领域中的微控制器,该数据缓存器包括:双端口随机存取存储器201,第一写指针控制单元2021,第一读指针控制单元2022,第一地址线控制单元2023,第二写指针控制单元2031,第二读指针控制单元2032以及第二地址线控制单元2033。
第一写指针控制单元2021通过至少一条地址线与双端口随机存取存储器201的至少一个存储单元的第一端口连接,第一读指针控制单元2022通过至少一条地址线与双端口随机存取存储器201的至少一个存储单元的第二端口连接,与第一写指针控制单元2021和第一读指针控制单元2022连接的存储单元的数量受控于第一地址线控制单元2023;第二写指针控制单元2031通过至少一条地址线与双端口随机存取存储器201的至少一个存储单元的第一端口连接,第二读指针控制单元2032通过至少一条地址线与双端口随机存取存储器201的至少一个存储单元的第二端口连接,或第二写指针控制单元2031和第二读指针控制单元2032不与双端口随机存取存储器201的任一存储单元连接,与第二写指针控制单元2031和第二读指针控制单元2032连接的存储单元的数量受控于第二地址线控制单元2033。
双端口随机存取存储器201:用于存储第一指针控制模块和/或第二指针控制模块写入的数据。
第一写指针控制单元2021:用于根据预设的寻址逻辑在第一寻址范围中确定待写入数据的存储单元,通过待写入数据的存储单元的第一端口,将数据写入待写入数据的存储单元。
作为示例,预设的寻址逻辑可以是先进先出,即按顺序写入数据,先写入的数据先被读取。优选地,第一寻址范围内的存储单元包括固定的A0~A7和可以控制是否与第一指针控制模块相连的A8~A15,即第一指针控制模块对应的第一先进先出FIFO队列的深度范围可以在8~16之间灵活配置。
第一读指针控制单元2022:用于根据预设的寻址逻辑在第一寻址范围中确定待读取数据的存储单元,通过待读取数据的存储单元的第二端口,从待读取数据的存储单元中读取数据。
第一地址线控制单元2023:用于接收第一地址线切换请求,根据第一地址线切换请求,控制第一写指针控制单元和第一读指针控制单元连接的存储单元的数量,得到更新后的第一寻址范围。
第二写指针控制单元2031:用于根据预设的寻址逻辑在更新后的第二寻址范围中确定待写入数据的存储单元,通过待写入数据的存储单元的第一端口,将数据写入待写入数据的存储单元。
第二读指针控制单元2032:用于根据预设的寻址逻辑在更新后的第二寻址范围中确定待读取数据的存储单元,通过待读取数据的存储单元的第二端口,从待读取数据的存储单元中读取数据。
第二地址线控制单元2033,用于接收第二地址线切换请求,根据第二地址线切换请求,控制第二写指针控制单元和第二读指针控制单元连接的存储单元的数量,得到更新后的第二寻址范围。
示例性地,上述第一地址线控制模块2023和上述第二地址线控制模块2033的功能可以完全相同,用于接收地址线切换请求,并根据地址线切换请求,控制配置范围内的至少一条指定地址线与对应的存储单元建立连接或断开连接。例如,可以参见图2,若当前状态下存储单元A0~A7连接第一指针控制模块,存储单元A8~A15连接第二指针控制模块,在第一地址线控制模块2023接收到例如将第一先进先出FIFO队列的深度设置为10的第一地址线切换请求,第二地址线控制模块2033接收到例如将第二先进先出FIFO队列的深度设置为6的第二地址线切换请求时,第一地址线控制模块2023可以控制第一指针控制模块与存储单元A8、A9通过地址线相连,第二地址线控制模块2033可以控制第二指针控制模块与存储单元A8、A9断开连接。
此外,地址线控制模块还可以根据更新后的第一寻址范围和/或更新后的第二寻址范围,更新寻址逻辑。
作为示例,若第一先进先出FIFO队列的初始深度为8,第一写指针写完数据后自动加一,则在空状态下进行8次加一后,该先进先出队列为满状态,不可继续写入数据;若经地址线控制模块切换地址线后,第一先进先出FIFO队列的深度变为10,则要在空状态下,第一写指针进行10次加一后,认为该先进先出队列为满状态,不可继续写入数据。空状态不可读取数据的判断逻辑与上述满状态不可写入数据的判断逻辑相似,上述仅为示例,不对本申请提供的数据缓存器的寻址逻辑进行限定。
本申请实施例提供了一种先进先出的数据缓存器,该先进先出的数据缓存器包括:双端口随机存取存储器,第一指针控制模块以及第二指针控制模块;第一指针控制模块和第二指针控制模块通过多条地址线与双端口随机存取存储器的至少一个存储单元连接,第一指针控制模块连接的全部存储单元的集合为第一寻址范围,第二指针控制模块连接的全部存储单元的集合为第二寻址范围;双端口随机存取存储器,用于存储第一指针控制模块和/或第二指针控制模块写入的数据;第一指针控制模块,用于接收第一地址线切换请求,根据第一地址线切换请求,控制第一指针控制模块连接的存储单元的数量,得到更新后的第一寻址范围,向更新后的第一寻址范围内的存储单元写入数据或从更新后的第一寻址范围内的存储单元读取数据;第二指针控制模块,用于接收第二地址线切换请求,根据第二地址线切换请求,控制第二指针控制模块连接的存储单元的数量,得到更新后的第二寻址范围,向更新后的第二寻址范围内的存储单元写入数据或从更新后的第二寻址范围内的存储单元读取数据。由此,通过切换地址线可以改变第一指针控制模块和第二指针控制模块连接的双端口随机存取存储器的存储单元的数量,也即可以分别或同时改变第一指针控制模块和第二指针控制模块各自对应的先进先出FIFO队列的深度,既可以使FIFO的深度满足多样化的应用需求,又可以避免数据存储资源的浪费。
在上述实施例的基础上,本申请实施例还提供了一种先进先出的数据缓存系统,包括如上述的数据缓存器。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于装置实施例,所以描述得比较简单,相关之处参见装置实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (8)

1.一种先进先出的数据缓存器,其特征在于,所述数据缓存器包括:双端口随机存取存储器,第一指针控制模块以及第二指针控制模块;
所述第一指针控制模块和所述第二指针控制模块通过多条地址线与所述双端口随机存取存储器的至少一个存储单元连接,所述第一指针控制模块连接的全部存储单元的集合为第一寻址范围,所述第二指针控制模块连接的全部存储单元的集合为第二寻址范围;
所述双端口随机存取存储器,用于存储所述第一指针控制模块和/或所述第二指针控制模块写入的数据;
所述第一指针控制模块,用于接收第一地址线切换请求,根据所述第一地址线切换请求,控制所述第一指针控制模块连接的存储单元的数量,得到更新后的第一寻址范围,向所述更新后的第一寻址范围内的存储单元写入数据或从所述更新后的第一寻址范围内的存储单元读取数据;
所述第二指针控制模块,用于接收第二地址线切换请求,根据所述第二地址线切换请求,控制所述第二指针控制模块连接的存储单元的数量,得到更新后的第二寻址范围,向所述更新后的第二寻址范围内的存储单元写入数据或从所述更新后的第二寻址范围内的存储单元读取数据。
2.根据权利要求1所述的数据缓存器,其特征在于,所述第一指针控制模块,包括:第一写指针控制单元、第一读指针控制单元以及第一地址线控制单元;
所述第一写指针控制单元通过至少一条地址线与所述双端口随机存取存储器的至少一个存储单元的第一端口连接,所述第一读指针控制单元通过至少一条地址线与所述双端口随机存取存储器的所述至少一个存储单元的第二端口连接,与所述第一写指针控制单元和所述第一读指针控制单元连接的存储单元的数量受控于所述第一地址线控制单元;
所述第一地址线控制单元,用于接收第一地址线切换请求,根据所述第一地址线切换请求,控制所述第一写指针控制单元和所述第一读指针控制单元连接的存储单元的数量,得到更新后的第一寻址范围;
所述第一写指针控制单元,用于根据预设的寻址逻辑在所述更新后的第一寻址范围中确定待写入数据的存储单元,通过所述待写入数据的存储单元的第一端口,将数据写入所述待写入数据的存储单元;
所述第一读指针控制单元,用于根据预设的寻址逻辑在所述更新后的第一寻址范围中确定待读取数据的存储单元,通过所述待读取数据的存储单元的第二端口,从所述待读取数据的存储单元中读取数据;
所述寻址逻辑包括先进先出。
3.根据权利要求2所述的数据缓存器,其特征在于,所述第一寻址范围和/或所述更新后的第一寻址范围包括固定范围和可调配置范围,所述第一寻址范围内的存储单元数量大于0。
4.根据权利要求1所述的数据缓存器,其特征在于,所述第二指针控制模块,包括:第二写指针控制单元、第二读指针控制单元以及第二地址线控制单元;
所述第二写指针控制单元通过至少一条地址线与所述双端口随机存取存储器的至少一个存储单元的第一端口连接,所述第二读指针控制单元通过至少一条地址线与所述双端口随机存取存储器的所述至少一个存储单元的第二端口连接,或所述第二写指针控制单元和所述第二读指针控制单元不与所述双端口随机存取存储器的任一存储单元连接,与所述第二写指针控制单元和所述第二读指针控制单元连接的存储单元的数量受控于所述第二地址线控制单元;
所述第二地址线控制单元,用于接收第二地址线切换请求,根据所述第二地址线切换请求,控制所述第二写指针控制单元和所述第二读指针控制单元连接的存储单元的数量,得到更新后的第二寻址范围;
所述第二写指针控制单元,用于根据预设的寻址逻辑在所述更新后的第二寻址范围中确定待写入数据的存储单元,通过所述待写入数据的存储单元的第一端口,将数据写入所述待写入数据的存储单元;
所述第二读指针控制单元,用于根据预设的寻址逻辑在所述更新后的第二寻址范围中确定待读取数据的存储单元,通过所述待读取数据的存储单元的第二端口,从所述待读取数据的存储单元中读取数据;
所述寻址逻辑包括先进先出。
5.根据权利要求4所述的数据缓存器,其特征在于,所述第二寻址范围和/或所述更新后的第二寻址范围包括可调配置范围,所述第二寻址范围内的存储单元数量大于等于0。
6.根据权利要求3所述的数据缓存器,其特征在于,所述第一地址线控制模块,具体用于:
接收第一地址线切换请求;
根据所述第一地址线切换请求,控制所述配置范围内的至少一条指定地址线与对应的存储单元建立连接或断开连接,得到更新后的第一寻址范围。
7.根据权利要求2或4所述的数据缓存器,其特征在于,所述第一地址线控制模块和/或所述第二地址线控制模块,还用于:
根据所述更新后的第一寻址范围和/或所述更新后的第二寻址范围,更新所述寻址逻辑。
8.一种先进先出的数据缓存系统,其特征在于,包括权利要求1至7中任一项所述的数据缓存器。
CN202210944539.7A 2022-08-08 2022-08-08 一种先进先出的数据缓存器及数据缓存系统 Active CN115017063B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210944539.7A CN115017063B (zh) 2022-08-08 2022-08-08 一种先进先出的数据缓存器及数据缓存系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210944539.7A CN115017063B (zh) 2022-08-08 2022-08-08 一种先进先出的数据缓存器及数据缓存系统

Publications (2)

Publication Number Publication Date
CN115017063A CN115017063A (zh) 2022-09-06
CN115017063B true CN115017063B (zh) 2022-11-08

Family

ID=83065967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210944539.7A Active CN115017063B (zh) 2022-08-08 2022-08-08 一种先进先出的数据缓存器及数据缓存系统

Country Status (1)

Country Link
CN (1) CN115017063B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1434453A (zh) * 2002-01-23 2003-08-06 华为技术有限公司 使用一个双端口随机存储器实现两个先进先出队列的方法
CN101552041A (zh) * 2009-05-12 2009-10-07 北京中星微电子有限公司 一种fifo存储单元及其实现方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1236922A (zh) * 1999-05-27 1999-12-01 林光荣 存储器分体同时运行多平台计算机
CN100535873C (zh) * 2007-07-31 2009-09-02 华为技术有限公司 一种数据存储和读取的方法及数据存储装置
US8832408B2 (en) * 2007-10-30 2014-09-09 Spansion Llc Non-volatile memory array partitioning architecture and method to utilize single level cells and multi-level cells within the same memory
CN101840373B (zh) * 2010-01-28 2012-02-22 北京握奇数据系统有限公司 数据操作方法及装置
CN107220023B (zh) * 2017-06-29 2022-03-22 无锡中微亿芯有限公司 一种嵌入式可配置fifo存储器
CN109067562B (zh) * 2018-06-27 2021-07-30 武汉斗鱼网络科技有限公司 基于智能指针的动态配置更新方法及系统、服务器及介质
US20210281618A1 (en) * 2020-11-12 2021-09-09 Intel Corporation System, apparatus, and method for streaming input/output data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1434453A (zh) * 2002-01-23 2003-08-06 华为技术有限公司 使用一个双端口随机存储器实现两个先进先出队列的方法
CN101552041A (zh) * 2009-05-12 2009-10-07 北京中星微电子有限公司 一种fifo存储单元及其实现方法

Also Published As

Publication number Publication date
CN115017063A (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
FI78210C (sv) Sätt och anordning för uppkoppling av en sluten ring genom en telefonv äxel
US5742847A (en) M&A for dynamically generating and maintaining frame based polling schedules for polling isochronous and asynchronous functions that guaranty latencies and bandwidths to the isochronous functions
CN101174245B (zh) 混合数据存储的方法和装置及混合存储设备
EP1192753B1 (en) Method and apparatus for shared buffer packet switching
US5083269A (en) Buffer device suitable for asynchronous transfer mode communication
KR920000035A (ko) 인터페이스 시스템 및 데이타 전송 제어방법
EP2077504A1 (en) Data packet transmitting/receiving system, data packet transmitting/receiving method and data packet transmitting/receiving program
CN108958950A (zh) 电子存储设备的任务管理方法、主机和存储装置
CN110795382A (zh) 一种基于fpga的通用异步收发传输器以及片上系统
CN115017063B (zh) 一种先进先出的数据缓存器及数据缓存系统
KR100505689B1 (ko) 송수신 흐름에 따라 공유 버퍼 메모리의 할당량을제어하는 송수신 네트워크 제어기 및 그 방법
CN101699421B (zh) 串口共享的方法和服务端
CN109298888B (zh) 队列的数据存取方法及装置
CN109446130A (zh) 一种i/o设备状态信息的获取方法及系统
US7047347B2 (en) Data transfer method for Universal Serial Bus device
EP0932322A2 (en) ATM layer device controlling method and ATM layer device
CN208888804U (zh) 一种多处理器电子设备
EP0060535A2 (en) Multiprocessor network
US4251684A (en) Data storage systems
US6831920B1 (en) Memory vacancy management apparatus and line interface unit
CN113660180B (zh) 一种数据存储方法、装置、终端及存储介质
CN116048893B (zh) 光纤总线接口的测试方法及相关设备
GB1581837A (en) Peripheral device controller for a data processing system
CN115087968A (zh) 数据传输方法及装置
CN113051197A (zh) 数据传输、数据处理装置及方法、计算机设备及存储介质

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