用于流水线插入的电路和方法

文档序号:6492782阅读:244来源:国知局
专利名称:用于流水线插入的电路和方法
技术领域
本发明一般地涉及在集成电路芯片结构之间传输数据,更具体地说,涉及一种用于在集成电路芯片结构之间传输数据的全新的结构和方法,其通过沿单个数据传输线的不同段同时传输(例如,流水线操作)不同数据部分,显著提高了现有数据传输线的利用率。
背景技术
随着集成电路芯片内器件大小的减小和时钟速度的增加,将数据从芯片的一个部分传输到另一个部分变得越来越困难。本质上,由于器件大小减小和时钟速度增加,即使数据传输线实际上保持相同大小,由于它们周围环境的不断减小,数据传输线实际上相对变得更长了。换言之,先前的数据传输线可能跨越10,000个器件,而同样大小的数据传输线现在可能跨越100,000个器件。
某些芯片在数据跨芯片传输时利用缓冲器来再驱动信号;但是,在某些点,随着缓冲器数量的增加,传输信号所需的时间不可接受地减少。因此,重新缓冲已传输的信号达到了减小返回的点,并且在某些情况下,无法适应器件大小的减小和时钟速度的增加。
集成电路设计者必须平衡时钟树以便考虑到跨芯片的数据传输的最大时间。无论何种时滞存在都必须最终出自时钟周期时间,这减慢了时钟。此外,时钟树消耗的功率占芯片整体功耗的很大一部分。以下描述的本发明通过提出一种用于在集成电路芯片结构之间传输数据的全新的结构和方法解决了这些问题,所述结构和方法通过沿单个数据传输线的不同段同时传输不同数据部分,显著提高了现有数据传输线的利用率。

发明内容
本发明通过以下方式在集成电路芯片上传输数据首先沿分段数据线的第一段传输第一数据部分,然后沿所述分段数据线的第二段传输所述第一数据部分,同时沿所述分段数据线的所述第一段传输第二数据部分。本发明将单个数据传输分成这样的不同数据部分,并且以后在所有所述不同数据部分已沿所述分段数据线的所有部分被单独地传输后,将所述不同数据部分重新装配成所述单个数据传输。
因此,本发明沿所述分段数据线的各段同时传输不同的数据部分,使得在所述分段数据线的所述第二段传送所述第一数据部分的同时,所述分段数据线的所述第一段同时传送所述第二数据部分。
更具体地说,本发明提供了一种具有分段数据线和置于所述分段数据线的各段之间的数据传输器的集成电路芯片。每个数据传输器都同时沿所述分段数据线的不同段传输不同的数据部分。在所述分段数据线的一端处的启动器(发送器)将单个数据传输分成不同的数据部分,并且在所述分段数据线的另一端处的收集器(接收器)在所有所述不同数据部分已沿所述分段数据线的所有部分被单独地传输后,将所述不同数据部分组合成所述原始的单个数据传输。
所述不同的数据部分包括独立于系统时钟的自定时数据部分。因此,所述数据传输器和所述数据接收器彼此同步,而不是与系统时钟同步。所述数据发送器和所述数据传输器适合于同时沿所述分段数据线的所述各段中的每个段传送所述自定时数据部分中的一个数据部分,使得所述分段数据线的所述各段中的每个段同时传送不同的自定时数据部分。
所述分段数据线可以是单个数据源与单个数据目标之间的单个数据通信线,或者是至少一个数据源与多个数据目标之间的数据通信网络。所述数据传输器(以及所述收集器)适合于当每个所述数据传输器将数据转发到下一个数据传输器时,将数据接收确认返回给先前的数据传输器(以及所述启动器)。
当与常规的数据传输系统相比时,本发明提供了相同的等待时间,但显著增加了吞吐量(对于给定大小的传输线而言)。例如,在常规的传输线需要一定数量的时钟周期(例如,10个时钟周期)来传送数据的单个部分(例如,1个字节)的情况下,本发明也只需要同样数量的时钟周期来传送同样的数据量。因此,本发明具有与常规的传输线相同的等待时间。但是,本发明提供了显著增加的吞吐量。常规系统一次只能沿整个数据传输线发送数据的一部分。与此相反,由于本发明沿数据传输线的不同段同时传送数据的不同部分,借助本发明,可以每隔一个时钟周期(例如,当接收到来自线中下一个传输器的确认时)发送一个新的数据部分。因此,通过显著增加吞吐量,本发明减少了在相同大小(和相同长度)的数据传输线上传输相同数据量所需的时钟周期数。


从以下参考附图的详细说明可以更好地理解本发明,这些附图是图1是根据本发明的数据传输系统的示意图;图2是图1中示出的启动器与传输器之间的接口的示意图;图3是图1中示出的启动器与收集器之间的接口的示意图;图4是允许图2和3中示出的状态机正确地前进的发明结构的示意图;图5是根据本发明的数据传输系统的示意图;以及图6是示出了本发明的优选方法的流程图。
具体实施例方式
如上所述,本发明通过提出一种用于在集成电路芯片结构之间传输数据的全新的结构和方法解决了常规的数据传输问题,所述结构和方法通过沿单个数据传输线的不同段同时传输不同数据部分,显著提高了现有数据传输线的利用率。本发明使用存储元件来实现同时的多个数据传输。本发明采用的方法将跨芯片通信分成较短的自定时元件,其可以利用自定时请求和确认握手来分解确认响应返回前必须通过的总距离,这显著减少了一则信息停留在给定导线段上的总时间。
更具体地说,参考图1,本发明通过以下方式在集成电路芯片上传输数据首先沿分段数据线120-122的第一段120传输第一数据部分,然后沿所述分段数据线的第二段121传输所述第一数据部分,同时沿所述分段数据线的所述第一段120传输第二数据部分。本发明将单个数据传输分成这样的不同数据部分,并且以后在所有所述不同数据部分已沿所述分段数据线的所有部分被单独地传输后,将所述不同数据部分重新装配成所述单个数据传输。因此,本发明沿所述分段数据线的各段同时传输不同的数据部分,使得在所述分段数据线的所述第二段121传送所述第一数据部分的同时,所述分段数据线的所述第一段120同时传送所述第二数据部分。
更具体地说,本发明提供了一种具有一个或多个分段数据线120-122和置于所述分段数据线的各段之间的数据传输器112的集成电路芯片。每个数据传输器112都同时沿所述分段数据线的不同段传输不同的数据部分。在所述分段数据线的一端处的启动器(发送器)111将单个数据传输分成不同的数据部分,并且在所述分段数据线的另一端处的收集器(接收器)114在所有所述不同数据部分已沿所述分段数据线的所有部分被单独地传输后,将所述不同数据部分组合成所述原始的单个数据传输。所述数据源和目标被示为时钟逻辑A116和B115,它们可以工作在相同或不同的时钟速率。
所述不同的数据部分包括独立于系统时钟的自定时数据部分。因此,所述数据传输器和所述数据接收器彼此同步,而不是与任何系统时钟(115,116)同步。所述数据发送器和所述数据传输器适合于同时沿所述分段数据线的所述各段中的每个段传送所述自定时数据部分中的一个数据部分,使得所述分段数据线的所述各段中的每个段同时传送不同的自定时数据部分。
更具体地说,图2示出了启动器111(其具有时钟域部分和自定时域部分)与一个传输器112(其在自定时域中)之间的交互。当启动器111将单个数据传输分成多个数据部分时通信发生。每个所述数据部分都被存储在启动器111中的许多锁存器202中的一个锁存器中。锁存器202的大小优选地与传输线的宽度相匹配,使得单独的锁存器内的所有数据可以沿分段数据线120-122被同时传输。启动器利用时钟状态机200来确保被传输的数据是有效的,如根据图4(在以下讨论)更详细示出的。启动器111内的自定时状态机204控制多路转换器206以从锁存器202之一选择将被传递给下一个相邻的下游传输器112的数据。自定时状态机向下一个随后的传输器112做出请求并在传输器112接收和验证数据后接收来自该传输器的确认。一旦接收到确认,多路转换器206就从不同的锁存器202选择数据并将该数据传输到相邻的下游传输器112。因此,由于接收到确认要快得多(因为它来自放置得比数据目标更接近数据源的传输器),本发明减少了信号传输时间。
依次地,每个传输器112都与下一个下游传输器通信直到数据到达收集器为止。当每个数据传输器将数据转发到下一个数据传输器时,所述数据传输器适合于将数据接收确认返回给上一个数据传输器(和启动器)。因此,所述传输器112共同作用以允许分段数据线120-122的每个不同段都同时传送数据的不同部分。
图3示出了收集器114如何将数据的各部分重新装配成其被提供给启动器111的相同宽度。换言之,收集器114在所有所述不同数据部分已被沿所述分段数据线的所有部分单独地传输后,将所述不同的数据部分组合成原始的单个数据传输。当接收到所述数据的每个部分时,它被存储在收集器114内的单独锁存器300中。收集器114使用相同类型的自定时状态机204和时钟状态机200以便将已传送的数据从自定时域转回时钟域(尽管此时钟域可能工作在与先前的时钟域不同的频率)。
图4中示出的结构允许自定时状态机204适当地前进和控制。如可以在图4中看到的,MuellerC-器件400具有请求(Rec1)和确认(Ack2)输入和Ack1输出。根据Mueller C-器件400的工作,如果Rec1与Ack2不同,则存在未完成的请求,并且如果它们相同,则数据已被捕获到该级的锁存器中并发出Ack1。Ack1(如由异或器件404中执行的延时403比较所确定的)的任何边沿都代表状态更改,并且因此被用于发信号告知状态机中的更改。为生成此脉冲,Ack1被发送通过边沿检测电路(延时403和异或门404),由此在每个边沿产生一个脉冲。此脉冲是对项405中的状态机的锁存器定时的脉冲,项405被用于在状态机逻辑402中进行前进和控制。
所述分段数据线可以是单个数据源与单个数据目标之间的单个数据通信线,或者是至少一个数据源与多个数据目标之间的数据通信网络,如图5所示。更具体地说,图5示出了可用于沿多个分段数据路径传输数据的扩展器113。扩展器113具有接收N组接收信号并执行判优的能力,如果不存在冲突,则将它们路由到转发路径上。如果存在冲突,则N组已接收的信号将需要缓冲/时延器件,直到第一组将传输阶段清零。一旦第一组将传输阶段清零,则下一组时间缓冲的接收信号将被路由,直到所有N组接收信号将扩展器清零。因此,图5示出了允许多个目的地的异步发送/接收装置。
图6示出了本发明的流程图。在项600中,本发明将单个数据传输分解为不同的数据部分。接着,在项602中,本发明沿分段数据线的第一段传输第一数据部分。在项604中,本发明沿分段数据线的第二段传输第一数据部分并沿第一段传输第二数据部分。在项606中,本发明在所有所述不同数据部分已沿所述分段数据线的所有部分被单独地传输后,将不同的数据部分重新装配成所述单个数据传输当与常规的数据传输系统相比时,本发明提供了相同的等待时间,但显著增加了吞吐量(对于给定大小的传输线而言)。例如,常规的单字节传输线可能包括4个缓冲器以便克服过度的阻容(RC)效应。这些缓冲器将传输线分为5个部分。在本实例中,假设从传输线的一端(数据源)到另一端(数据目标)传送1个字节数据需要5个时钟周期,因为假设每个缓冲器要消耗一个额外的时钟周期。在接收到数据后,确认信号将需要额外的5个时钟周期来返回到传输线的起始处。因此,沿此类常规数据传输线传输1个字节数据将需要10个时钟周期。因此,沿相同的常规传输线传输5个字节数据将需要50个时钟周期。
与此相反,通过本发明,使用4个传输器将类似的单字节传输线分成5个段。在此实例中,传输器将被置于与上述常规数据传输线中缓冲器被放置的位置相同的位置。将第一字节的数据从启动器中的单字节缓冲器之一发送到第一传输器将需要一个时钟周期,并且将确认从第一传输器发送回启动器将需要另一个时钟周期。在第三个时钟周期上,启动器将沿数据传输线的第一段传输来自不同的单字节缓冲器的第二字节的数据,同时第一传输器正同时将第一部分的数据发送到下一个传输器(例如,线中的第二个传输器)。在第四个周期上,第二传输器将确认发送给第一传输器,并且第一传输器同时将确认发送给启动器。通过本发明,此过程将被重复,直到所有5个字节的数据都被传送。通过本发明,每隔一个时钟周期(例如,从线中的下一个传输器接收到确认时)就可以发送一个新的字节的数据。
因此,通过所述发明性的数据传输线,第一字节的数据将在10个时钟周期内被传输,并且因此本发明与上述的常规传输线具有相同的等待时间。但是,在第11个时钟周期,所述发明性的数据传输线正在沿数据传输线的第一段传输第5个字节的数据(而常规的系统在第11个时钟周期将只开始传输第2个字节的数据)。所述发明性的数据传输线中的第5个字节的数据类似地将需要10个时钟周期来完成其从传输线的起点到传输线的末端的旅程。因此,在本发明中,所有5个字节将在21个时钟周期内被传输,这显著短于常规系统所需的50个时钟周期。因此,通过显著增加吞吐量,本发明减少了在相同大小(和相同长度)的数据传输线上传输相同量的数据所需的时钟周期数。
尽管根据优选实施例描述了本发明,但是本领域的技术人员将认识到,可以在所附权利要求的精神和范围内对本发明做出修改。
权利要求
1.一种集成电路芯片,所述集成电路芯片包括分段数据线;以及置于所述分段数据线的各段之间的数据传输器,其中所述数据传输器适合于同时沿所述分段数据线的各段传输不同的数据部分,使得所述分段数据线的第一段传送第一数据部分,并且所述分段数据线的第二段同时传送第二数据部分。
2.根据权利要求1的集成电路芯片,还包括与所述分段数据线相连的收集器,其中所述收集器适合于将所述不同的数据部分组合成单个数据传输。
3.根据权利要求2的集成电路芯片,还包括适合于将所述单个数据传输分解成所述不同的数据部分的启动器。
4.根据权利要求2的集成电路芯片,其中所述不同的数据部分包括自定时数据部分。
5.根据权利要求1的集成电路芯片,其中所述分段数据线包括在单个数据源与单个数据目标之间的单个数据通信线。
6.根据权利要求1的集成电路芯片,其中所述分段数据线包括在至少一个数据源与多个数据目标之间的数据通信网络。
7.根据权利要求1的集成电路芯片,其中所述数据传输器适合于当每个所述数据传输器将数据转发到下一个数据传输器时,将数据接收确认返回给先前的数据传输器。
8.一种集成电路芯片,所述集成电路芯片包括数据源;数据目标;分段数据线,所述分段数据线在所述数据源与所述数据目标之间;数据发送器,所述数据发送器与所述数据源和所述分段数据线的第一段相连,其中所述数据发送器适合于准备来自所述数据源的数据以便沿所述分段数据线进行传输;至少一个数据传输器,所述数据传输器与所述分段数据线的所述第一段和所述分段数据线的第二段相连,其中所述数据传输器适合于将数据接收确认发送给所述数据发送器并且适合于沿所述分段数据线的所述第二段传输所述数据,使得所述分段数据线的所述第一段传送第一数据部分,并且所述分段数据线的所述第二段同时传送第二数据部分;以及数据接收器,所述数据接收器与所述分段数据线的所述第二段和所述数据目标相连,其中所述数据接收器适合于准备来自所述分段数据线的所述第二段的数据以便由所述数据目标进行接收。
9.根据权利要求8的集成电路芯片,其中所述数据发送器、所述数据传输器以及所述数据接收器被彼此同步。
10.根据权利要求8的集成电路芯片,其中所述数据发送器适合于将从所述数据源接收的数据段分解成多个更小的自定时数据部分。
全文摘要
本发明通过以下方式在集成电路芯片上传输数据首先沿分段数据线(120-122)的第一段(120)传输第一数据部分,然后沿所述分段数据线的第二段(121)传输所述第一数据部分,同时沿所述分段数据线的所述第一段传输第二数据部分。本发明将单个数据传输分成这样的不同数据部分,并且以后在所有所述不同数据部分已沿所述分段数据线的所有部分被单独地传输后,将所述不同数据部分重新装配成所述单个数据传输。
文档编号G06F13/42GK1846315SQ200480024968
公开日2006年10月11日 申请日期2004年7月1日 优先权日2003年7月1日
发明者R·S·霍顿, D·W·米尔顿, C·R·奥格尔维, P·M·沙涅里, S·T·文特罗内 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1