CN105589820B - 一种数据传输缓冲装置 - Google Patents

一种数据传输缓冲装置 Download PDF

Info

Publication number
CN105589820B
CN105589820B CN201510973648.1A CN201510973648A CN105589820B CN 105589820 B CN105589820 B CN 105589820B CN 201510973648 A CN201510973648 A CN 201510973648A CN 105589820 B CN105589820 B CN 105589820B
Authority
CN
China
Prior art keywords
register
data transmission
data
transmission buffer
stage
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
CN201510973648.1A
Other languages
English (en)
Other versions
CN105589820A (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.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
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 Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201510973648.1A priority Critical patent/CN105589820B/zh
Publication of CN105589820A publication Critical patent/CN105589820A/zh
Application granted granted Critical
Publication of CN105589820B publication Critical patent/CN105589820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明提供了一种数据传输缓冲装置,所述装置包括:第一寄存器及第二寄存器;当所述第一寄存器与所述第二寄存器同时产生满信号时,且有数据输入,所述装置输出的反馈应答信号无效;其中,当所述反馈应答信号无效时,当前一级的所述装置的上一级所述装置保持当前的数据传输,确保数据传输在发生一拍阻塞时,只插入一个传输气泡,提高数据传输速率;如此,在数据传输路径中插入该装置即可打断原有的较长走线,使得主频的性能不再受核间走线过长的限制;另外,因所述第一寄存器及所述第二寄存器为乒乓结构,这种乒乓结构可以避免因插入寄存器导致在传输路径上产生与寄存器级数相应的传输气泡的现象,提高了数据传输速率。

Description

一种数据传输缓冲装置
技术领域
本发明属于数据传输技术领域,尤其涉及一种数据传输缓冲装置。
背景技术
在处理器体系架构设计领域,由于受限于单核处理器性能的瓶颈,目前多采用多核架构来提升处理器芯片的整体性能,因此处理器芯片中多核间的大规模数据交换的效率和速度就成为了一个技术关键。而伴随着集成电路工艺技术的进步,互联线延时逐渐成为电路延时路径的主要组成部分,而处理器芯片中核与核间往往物理距离较大,这就导致了当前的处理器芯片设计中核间路径存在较大延时,成为关键路径从而制约了处理器芯片主频的提高。
现有技术中,为了防止走线过长而提高系统主频的方法一般是在数据传输路径上插入一定级数的寄存器,但这样的话,被插入的每一级寄存器都需要知道最后一级的传输是否阻塞,一旦发现最后一级阻塞,所有寄存器都暂停传送,这样才能保证阻塞发生时传输不出现错误。等到阻塞结束恢复数据传送时,传输路径上加入了与插入寄存器级数相应的气泡,影响数据传输速率。并且,这种直接在可阻塞的连续传输总线上直接插入寄存器的方式,最后一级的传输反馈信号需要连接到其前面的每一级寄存器上,导致连线较多。
基于此,目前亟需一种传输缓冲装置,以可以解决数据传输路径走线较长,传输速率受到影响且系统主频难以提高的技术问题。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种数据传输缓冲装置,用于解决现有技术中,在提高处理器芯片主频时,数据传输路径走线较长,且因插入寄存器导致在传输路径上产生与寄存器级数相应的传输气泡,进而影响传输速率的技术问题。
本发明提供一种数据传输缓冲装置,所述装置包括:第一寄存器及第二寄存器;
当所述第一寄存器与所述第二寄存器同时产生满信号,且有数据输入时,所述装置输出的反馈应答信号无效;其中,
当所述反馈应答信号无效时,当前一级的所述装置的上一级所述装置保持当前的数据传输,确保数据传输在发生一拍阻塞时,只插入一个传输气泡,提高数据传输速率。
上述方案中,当所述第一寄存器与所述第二寄存器不同时产生满信号时,所述装置输出的反馈应答信号有效;其中,
当所述反馈应答信号有效时,当前一级的所述装置的上一级所述装置更新为传输下一笔数据。
上述方案中,所述装置的输入端口及输出端口为一组单向数据传输总线接口。
上述方案中,所述单向数据传输总线接口通过单向数据传输总线协议传输数据;其中,所述协议为:
当总线空闲时及数据传输完成时,输出的所述反馈应答信号有效;
当数据传输阻塞时,输出的所述反馈应答信号无效。
上述方案中,所述第一寄存器及所述第二寄存器的大小根据所述单向数据传输总线的控制线、地址线及数据线的位宽总和确定。
上述方案中,当所述第一寄存器与所述第二寄存器不同时产生空信号时,所述装置输出数据。
上述方案中,当所述第一寄存器与所述第二寄存器不同时产生满信号时,所述装置还接收输入数据。
上述方案中,所述装置的个数根据走线长度确定。
上述方案中,所述第一寄存器及所述第二寄存器为乒乓寄存器。
上述方案中,当读指针与写指针分别指向不同的寄存器,且所述装置的输出端口不发生阻塞且输入端口无数据输入时,所述第一寄存器及所述第二寄存器同时产生空信号。
本发明提供了一种数据传输缓冲装置,所述装置包括:第一寄存器及第二寄存器;当所述第一寄存器与所述第二寄存器同时产生满信号时,且有数据输入,所述装置输出的反馈应答信号无效;其中,当所述反馈应答信号无效时,当前一级的所述装置的上一级所述装置保持当前的数据传输,确保数据传输在发生一拍阻塞时,只插入一个传输气泡,提高数据传输速率;如此,在数据传输路径中插入该装置即可打断原有的较长走线,使得主频的性能不再受核间走线过长的限制;另外,因所述第一寄存器及所述第二寄存器为乒乓结构,这种乒乓结构可以避免因插入寄存器导致在传输路径上产生与寄存器级数相应的传输气泡的现象,提高了数据传输速率。
附图说明
图1为本发明实施例提供的数据缓冲装置的整体结构示意图;
图2为本发明实施例提供的两个数据缓冲装置的端口连接示意图;
图3为本发明实施例提供的单向数据传输总线的时序及乒乓寄存器的输入、输出端口的时序示意图;
图4为本发明实施例提供的第一数据传输装置的内部结构示意图。
具体实施方式
为了可以解决数据传输路径走线较长,传输速率受到影响且系统主频难以提高的技术问题,本发明提供了一种数据传输缓冲装置,所述装置包括:第一寄存器及第二寄存器;当所述第一寄存器与所述第二寄存器同时产生满信号,且有数据输入时,所述装置输出的反馈应答信号无效;其中,当所述反馈应答信号无效时,当前一级的所述装置的上一级所述装置保持当前的数据传输,确保数据传输在发生一拍阻塞时,只插入一个传输气泡,提高数据传输速率。
下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。
本实施例提供一种数据传输缓冲装置,如图1所示,所述装置包括:第一寄存器1及第二寄存器2;其中,所述第一寄存器1及第二寄存器2为乒乓寄存器。当所述第一寄存器1与所述第二寄存器2同时产生满信号,且有数据输入时,所述装置输出的反馈应答信号无效;当所述第一寄存器1与所述第二寄存器2不同时产生满信号时,所述缓冲装置输出的反馈应答信号有效。
当所述反馈应答信号无效时,当前一级的所述数据传输缓冲装置的上一级所述数据传输缓冲装置保持当前的数据传输,确保数据传输在发生一拍阻塞时,只插入一个传输气泡,提高数据传输速率。当所述反馈应答信号有效时,当前一级的所述数据传输缓冲装置的上一级所述数据传输缓冲装置更新为传输下一笔数据。
进一步地,当所述第一寄存器1与所述第二寄存器2不同时产生满信号时,所述装置的输入端口还接收输入数据。当所述第一寄存器1与所述第二寄存器2不同时产生空信号时,所述装置的输出端口输出数据。
实际应用时,所述装置可以至少包括一个,具体的个数根据实际走线的长度确定。当两个装置级联时,端口连接示意图如图2所示,具体地,级联装置包括:第一数据传输缓冲装置21及第二数据传输缓冲装置22;第一数据传输缓冲装置21及第二数据传输缓冲装置22都包括输入端口和输出端口,所述输入端口包括:输入使能端口、输入地址端口、输入字节使能端口、输入数据端口、所述输出端口包括:输出使能端口、输出地址端口、输出字节使能端口、输出数据端口;所述端口还包括:对输入的应答wack端口、下一级对输出的应答wackNext端口。其中,所述对输入的应答wack端口用于对上一级数据缓冲装置返回应答信号wack;所述下一级对输出的应答wackNext端口用于接收下一级数据缓冲装置返回的应答信号wackNext。
这里,所述第一数据传输缓冲装置21输入端口及输出端口为一组单向数据传输总线接口;通过单向数据传输总线协议传输数据;其中,所述协议为:当总线空闲时及数据传输完成时,输出的所述反馈应答信号wack有效,在有效时更新传输下一笔数据;当数据传输阻塞时,输出的所述反馈应答信号wack无效,保持当前的传输操作。这里,第一数据传输缓冲装置21及第二数据传输缓冲装置22中都包括有两个乒乓寄存器。所述乒乓寄存器的大小根据所述单向数据传输总线的控制线、地址线及数据线的位宽总和确定。所述单向数据传输总线的时序及乒乓寄存器的输入、输出端口的时序如图3所示。
在图3中,以标号为A~I的9次传输操作为例,当输出端口的传输不被阻塞时,如图3中输出端口标号为Ao、Bo、Do、Fo、Go、Io的传输所示,wackNext当拍返回;当输出端口的传输被阻塞时,如图3中输出端口标号为Co、Eo、Ho的传输所示,wackNext延迟返回。当输出端口有阻塞,且输入端口还有传输输入时,乒乓寄存器被写满,输入端口的传输被阻塞,如图3中输入端口标号为Ei、Gi的传输所示。
以第一数据传输装置21为例,第一数据传输缓冲装置21的输入信号来自上一级数据传输缓冲装置的控制线、地址线、数据线及第二数据传输缓冲装置22返回的应答信号wackNext;第一数据传输缓冲装置21的输出信号传输至第二数据传输缓冲装置22的控制线、地址线、数据线;并且向上一级数据缓冲装置反馈应答信号wack。
这里,在第一数据缓冲装置21中,当两个寄存器不同时产生满信号时,其输入端口就可以接收传输,且向上一级反馈的应答信号wack有效。那么第一数据缓冲装置21的上一级数据传输缓冲装置可以更新为下一笔数据传输。
当两个寄存器同时产生满信号,且继续有数据输入时,第一数据缓冲装置21向上一级反馈的应答信号wack无效,那么第一数据缓冲装置21的上一级数据传输缓冲装置保持当前的数据传输。
当两个寄存器不同时产生空信号时,所述装置还输出数据,同时当在第二数据缓冲装置22返回的应答信号wackNext有效时,所述第一数据缓冲装置21更新为传输下一笔数据。
具体地,所述第一数据缓冲装置21的内部结构图如图4所示,r0和r1代表两个寄存器,寄存器大小由控制线、地址线及数据线的位宽总和确定;wptr和rptr分别代表写指针和读指针,指向r0或r1。当wptr和rptr分别指向r0和r1两个寄存器时,此时如果输出不阻塞的同时没有输入操作,则两个乒乓寄存器都为空,产生empty信号;如果输出阻塞的同时还有输入操作,则两个乒乓寄存器都为满,产生full信号,full信号取反生成wack信号输出给上一级,即向上一级返回的应答信号wack无效。
本发明实施例提供的数据传输缓冲装置在数据传输路径中插入该装置即可打断原有的较长走线,使得主频的性能不再受核间走线过长的限制;另外,因所述第一寄存器及所述第二寄存器为乒乓结构,这种乒乓结构可以避免因插入寄存器导致在传输路径上产生与寄存器级数相应的传输气泡的现象,提高了数据传输速率。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种数据传输缓冲装置,应用在处理器芯片中多核间的大规模数据交换领域,其特征在于,当两个所述数据传输缓冲装置级联时,级联装置包括:第一数据传输缓冲装置及第二数据传输缓冲装置,所述第一数据传输缓冲装置及所述第二数据传输缓冲装置分别包括:第一寄存器及第二寄存器;
当所述第一数据传输缓冲装置中的所述第一寄存器与所述第二寄存器同时产生满信号,且有数据输入时,所述第一数据传输缓冲装置向上一级数据传输缓冲装置输出的反馈应答信号无效,所述第一数据传输缓冲装置中的所述第一寄存器及所述第二寄存器为乒乓寄存器;其中,
当所述反馈应答信号无效时,当前一级的所述装置的上一级所述装置保持当前的数据传输,确保数据传输在发生一拍阻塞时,只插入一个传输气泡,提高数据传输速率;所述当前一级的所述装置为所述第一数据传输缓冲装置,所述上一级所述装置为所述第一数据传输缓冲装置的上一级数据传输缓冲装置。
2.如权利要求1所述的装置,其特征在于,当所述第一寄存器与所述第二寄存器不同时产生满信号时,所述装置输出的反馈应答信号有效;其中,
当所述反馈应答信号有效时,当前一级的所述装置的上一级所述装置更新为传输下一笔数据。
3.如权利要求1所述的装置,其特征在于,所述装置的输入端口及输出端口为一组单向数据传输总线接口。
4.如权利要求3所述的装置,其特征在于,所述单向数据传输总线接口通过单向数据传输总线协议传输数据;其中,所述协议为:
当总线空闲时及数据传输完成时,输出的所述反馈应答信号有效;
当数据传输阻塞时,输出的所述反馈应答信号无效。
5.如权利要求4所述的装置,其特征在于,所述第一寄存器及所述第二寄存器的大小根据所述单向数据传输总线的控制线、地址线及数据线的位宽总和确定。
6.如权利要求1所述的装置,其特征在于,当所述第一寄存器与所述第二寄存器不同时产生空信号时,所述装置输出数据。
7.如权利要求2所述的装置,其特征在于,当所述第一寄存器与所述第二寄存器不同时产生满信号时,所述装置还接收输入数据。
8.如权利要求1所述的装置,其特征在于,所述装置的个数根据所述处理器芯片中多核间的走线长度确定。
9.如权利要求1所述的装置,其特征在于,当读指针与写指针分别指向不同的寄存器,且所述装置的输出端口不发生阻塞且输入端口无数据输入时,所述第一寄存器及所述第二寄存器同时产生空信号。
CN201510973648.1A 2015-12-22 2015-12-22 一种数据传输缓冲装置 Active CN105589820B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510973648.1A CN105589820B (zh) 2015-12-22 2015-12-22 一种数据传输缓冲装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510973648.1A CN105589820B (zh) 2015-12-22 2015-12-22 一种数据传输缓冲装置

Publications (2)

Publication Number Publication Date
CN105589820A CN105589820A (zh) 2016-05-18
CN105589820B true CN105589820B (zh) 2019-01-15

Family

ID=55929415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510973648.1A Active CN105589820B (zh) 2015-12-22 2015-12-22 一种数据传输缓冲装置

Country Status (1)

Country Link
CN (1) CN105589820B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153679A (zh) * 2016-12-05 2018-06-12 腾讯科技(深圳)有限公司 一种数据加载、数据处理的方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10221206A1 (de) * 2002-05-13 2003-12-04 Systemonic Ag Burst Zugriffsverfahren auf Co-Prozessoren
CN1791089A (zh) * 2004-12-17 2006-06-21 华为技术有限公司 提高编译码处理效率的方法
CN101094304A (zh) * 2006-06-23 2007-12-26 凌阳科技股份有限公司 可节省内存的影像缩放系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10221206A1 (de) * 2002-05-13 2003-12-04 Systemonic Ag Burst Zugriffsverfahren auf Co-Prozessoren
CN1791089A (zh) * 2004-12-17 2006-06-21 华为技术有限公司 提高编译码处理效率的方法
CN101094304A (zh) * 2006-06-23 2007-12-26 凌阳科技股份有限公司 可节省内存的影像缩放系统

Also Published As

Publication number Publication date
CN105589820A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
US10802995B2 (en) Unified address space for multiple hardware accelerators using dedicated low latency links
US8867573B2 (en) Transferring data between asynchronous clock domains
US7702827B2 (en) System and method for a credit based flow device that utilizes PCI express packets having modified headers wherein ID fields includes non-ID data
US7219175B1 (en) Method and system for improving the latency in a data transmission system
US20070180310A1 (en) Multi-core architecture with hardware messaging
JP2011170868A (ja) 改善された計算アーキテクチャ用パイプライン加速器、関連システム、並びに、方法
US8589614B2 (en) Network system with crossbar switch and bypass route directly coupling crossbar interfaces
US7243177B1 (en) Method and system for throttling data packets in a data transmission system
JP2007220046A (ja) バス装置、バスシステムおよび情報転送方法
KR20080094728A (ko) 다중 프로세서 코어들을 위한 공통 아날로그 인터페이스
CN105589820B (zh) 一种数据传输缓冲装置
US20030070014A1 (en) Data transfer in host expansion bridge
US20090063736A1 (en) Low power digital interface
US20170212759A1 (en) Asynchronous instruction execution apparatus and method
CN103995786B (zh) 高速缓存一致性消息的传输方法和装置
WO2020087248A1 (zh) 多核芯片数据总线布线结构和数据发送的方法
US7920596B2 (en) Method for high speed framing and a device having framing capabilities
JP2009094778A (ja) 高速ネットワークシステム及び関連装置
CN101097555A (zh) 芯片上处理数据的方法和系统
JP2001142852A (ja) 高速並列計算用同期及び通信制御装置
WO2024103015A1 (en) Retimer training and status state machine synchronization across multiple integrated circuit dies
WO2024086639A1 (en) Pcie retimer providing failover to redundant endpoint and multiple endpoint switching using synchronized multi-tile data interface
US9317289B2 (en) Acknowledgement forwarding
WO2024086641A1 (en) Data lane deskew and rate adaptation in a package containing multiple circuit dies
CN118277318A (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
GR01 Patent grant
GR01 Patent grant