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
buffer unit
described device
data transmission
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
CN105320490B (zh) 用于异步fifo电路的方法和设备
CN101867511B (zh) 流控帧发送方法、相关设备及系统
JP6377844B2 (ja) Sfenceを用いずに最適化されたpio書込みシーケンスを用いるパケット送信
US7418524B2 (en) Universal serial bus (USB) extension
KR102223441B1 (ko) 패킷 송신을 위한 최적화된 크레딧 리턴 메커니즘
CN105515926B (zh) 一种基于fpga的二进制同步通信协议控制器
KR101298862B1 (ko) Pci 익스프레스를 통해 ⅰd 기반 스트림을 가능하게 하는 방법 및 장치
TW201633165A (zh) 用於交易型具緩衝區記憶體中之先行識別之技術
WO2014065873A1 (en) Control messaging in multislot link layer flit
CN101645053B (zh) 一种提高数据传输效率的方法及装置
US8977882B2 (en) System for data transfer between asynchronous clock domains
CN102073611B (zh) 一种i2c总线控制系统及方法
TW201319819A (zh) 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和計算裝置
KR20040041644A (ko) 향상된 범용 입력/출력 아키텍쳐에서의 에러 포워딩
CN108462620B (zh) 一种吉比特级SpaceWire总线系统
JP6746791B2 (ja) クロックゲーティングイネーブルの生成
US8199648B2 (en) Flow control in a variable latency system
KR20150077288A (ko) 멀티코어 프로세서들에 대한 내부 및 외부 액세스를 갖는 룩-어사이드 프로세서 유닛
CN105589820B (zh) 一种数据传输缓冲装置
Kaur et al. An approach for designing a universal asynchronous receiver transmitter (UART)
CN106789295A (zh) 一种SpaceWire总线通讯系统及其监视设备
CN105808476A (zh) 跨时钟域数据的传输方法及装置
CN108170616B (zh) 利用锁存器实现跨时钟域信号传输的系统
US9288163B2 (en) Low-latency packet receive method for networking devices
TW202306365A (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