CN1703025A - 双向环路互连上单分组到达的流量控制方法和设备 - Google Patents
双向环路互连上单分组到达的流量控制方法和设备 Download PDFInfo
- Publication number
- CN1703025A CN1703025A CNA2005100739372A CN200510073937A CN1703025A CN 1703025 A CN1703025 A CN 1703025A CN A2005100739372 A CNA2005100739372 A CN A2005100739372A CN 200510073937 A CN200510073937 A CN 200510073937A CN 1703025 A CN1703025 A CN 1703025A
- Authority
- CN
- China
- Prior art keywords
- grouping
- clock cycle
- loop structure
- numbered
- distance
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000002457 bidirectional effect Effects 0.000 title abstract description 10
- 239000004065 semiconductor Substances 0.000 claims abstract description 39
- 230000015572 biosynthetic process Effects 0.000 claims description 42
- 238000005755 formation reaction Methods 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 38
- 230000008878 coupling Effects 0.000 claims description 7
- 238000010168 coupling process Methods 0.000 claims description 7
- 238000005859 coupling reaction Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/43—Loop networks with decentralised control with synchronous transmission, e.g. time division multiplex [TDM], slotted rings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明的实施方案总体上涉及网络中的数据流量控制,尤其是双向环路互连中的分组流量控制。一种方法的一个实施方案包括:根据在半导体芯片上的源节点和目的地节点之间的距离在一个时钟周期内在这两个节点之间在双向环路互连上以第一方向或与第一方向相反的第二方向发送分组。一种设备的一个实施方案包括:半导体芯片,它包括一个双向环路互连和与该双向环路互连耦合的多个节点,其中该双向环路互连可以根据源节点和目的地节点之间的距离在一个时钟周期内以顺时针或逆时针方向传输分组。实施方案确保了在任意时钟周期内单个分组能够到达目的地节点。示例应用包括芯片多处理。
Description
技术领域
本发明的实施方案总体上涉及网络中的流量控制,尤其是双向环路互连中的分组流量控制。
背景技术
计算机网络中的流量控制机制管理着从源节点到目的地节点的分组传送。典型的流量控制机制包括布线和逻辑以控制并发到达目的地节点的多个分组。但这种机制有若干缺点。
首先,如果目的地节点能够同时处理的分组少于能够在一个时钟周期内到达的分组,可能需要额外的硬件来缓冲到达的分组,直到目的地节点能够处理它们为止。另外,目的地节点可能能够同时处理的分组和在一个周期内能够到达的分组一样多,仍然需要显著的附加硬件。这个附加硬件给空间严重受限的半导体芯片带来了特定的问题。
第二,在目的地节点可能需要仲裁逻辑来确定接收分组的次序。除了增加了逻辑的复杂性之外,分组等待时间可能由于仲裁的原因而导致显著增加。不能在分组到达的时钟周期内接收它,相反,分组必须等待。结果是系统的整体性能降低。
在环路拓扑中,并发的多分组到达是特别要关注的问题。如果一个分组必须在环路上等待直到目的地节点接收该分组,那么等待的分组之后的分组在环路上的前进都会被阻塞。结果是目的地节点上发生了不必要的拥塞。这种情况显著地增加了分组等待时间并降低了环路的峰值吞吐量。
因此,在本领域中需要克服由并发的多分组到达导致的缺点,在环路拓扑中尤其如此。
发明内容
为了克服上述的缺陷,在本发明的一个方面,提供了一种方法,包括:在半导体芯片上,根据源节点和目的地节点之间的距离在一个时钟周期内以第一方向在第一环路结构上从源节点向目的地节点发送分组或以与第一方向相反的第二方向在第二环路结构上从源节点向目的地节点发送分组。
在本发明的另一个方面,提供了一种方法,包括:在偶数编号的时钟周期内在半导体芯片的第一环路结构上接收来自源节点的分组;并在奇数编号的时钟周期内在半导体芯片的第二环路结构上接收来自源节点的分组。
在本法发明的又一个方面,提供了一种方法,包括:选择在半导体芯片上的顺时针环路结构和逆时针环路结构中的一个环路结构以把分组从源节点传输到目的地节点;计算在所选择的环路结构上源节点和目的地节点之间的距离;确定计算出的距离是偶数还是奇数个时钟周期;根据确定出的距离在第一时钟周期把分组从源节点发送到目的地节点;根据所选择的环路结构在第二时钟周期内在目的地节点接收分组。
在本发明的又一个方面,提供了一种半导体芯片,包括:第一环路结构,以第一方向发送分组;第二环路结构,以与第一方向相反的第二方向发送分组;和与第一和第二环路相耦合的多个节点,第一和第二环路结构根据到目的地节点的距离在一个时钟周期内把分组发送到目的地节点。
本发明还提供了一种系统,包括:一个多处理器芯片,包括:多个节点,和与节点耦合的多个环路结构,用于根据源节点和目的地节点之间的距离在时钟周期内从源节点向目的地节点传输分组,该多个环路结构中的第一个环路结构以第一方向传输分组,而该多个环路结构中的第二个环路结构以和第一方向相反的第二方向传输分组;和与该多处理器芯片耦合的总线。
本发明还提供了一种机器可读介质,其上存储了实施一种方法的多个可执行指令,该方法包括:选择在顺时针环路结构和逆时针环路结构中的一个上从源节点传输分组到目的地节点;计算在所选择的环路结构上从源节点到目的地节点之间的距离;确定计算出的距离是偶数还是奇数个时钟周期;根据确定出的距离在第一时钟周期内从源节点向目的地节点发送分组;根据所选择的环路结构在第二时钟周期内在目的地节点上接收分组。
本发明还提供了另一种机器可读介质,其上存储了实施一种方法的多个可执行指令,该方法包括:在半导体芯片上,根据源节点和目的地节点之间的距离在一个时钟周期内以第一方向在第一环路结构上从源节点向目的地节点发送分组或以与第一方向相反的第二方向在第二环路结构上从源节点向目的地节点发送分组。
附图说明
图1是依照本发明的一种实施方案的半导体芯片,包括耦合到单个双向环路互连的多个节点。
图2是依照本发明的一种实施方案的半导体芯片,包括耦合到多个单向和/或双向环路互连的多个节点。
图3是依照本发明的一种实施方案的方法的流程图。
图4是依照本发明的一种实施方案的与双向环路互连耦合的分组队列结构。
图5是实现本发明的实施方案的计算机系统的框图。
具体实施方式
本发明的实施方案可以提供一种在一个时钟周期内在双向环路上的目的地节点上的单分组到达的方法。在一种实施方案中,该方法可以包括根据源节点和目的地节点的(按照时钟周期测量的)距离在预定的和/或动态确定的时钟周期内在半导体芯片的双向环路互连上把分组从源节点发送到目的地节点。在这种实施方案中,该方法还可以包括:如果两个节点之间的距离是偶数,就在偶数时钟周期内在环路互连上以顺时针方向发送分组,并在奇数时钟周期内以逆时针方向发送分组。该方法还可以包括:如果两个节点之间的距离是奇数,就在奇数时钟周期内以顺时针方向发送分组,并在偶数时针周期内以逆时针方向发送分组。
本发明的实施方案还可以提供一种半导体芯片,包括一个双向环路互连和与该双向环路互连耦合的节点,其中该双向环路互连可以在源和目的地节点之间传输分组。每个节点还可包括若干队列,以在根据分组将经过的距离是偶数或奇数以及分组将经过的方向是顺时针或逆时针而在传输之前保存选择的分组。
本发明的实施方案可以有利地确保在目的地节点上一个时钟周期内的单分组到达,由此克服了多分组到达机制的问题。尤其,这些实施方案可以避免典型流量控制机制的附加硬件以及仲裁逻辑的复杂度。此外,这些实施方案可以确保双向环路互连上的分组到达而不会显著增加双向环路互连上的分组等待时间也不会显著降低双向环路互连上的峰值吞吐量。因此,可以简化目的地节点上的峰值流量控制。这些实施方案对用于芯片多处理的片上双向环路互连尤其有用。
图1是依照本发明的一种实施方案的半导体芯片,包括耦合到双向环路互连的多个节点。节点110(1)到110(n)可以在多个不同的访问点或访问站与双向环路互连120相连。分组可以按照顺时针方向或逆时针方向在互连120上的节点110(1)到110(n)之间穿行。
节点110(1)到110(n)可以包括处理器、高速缓冲存储器体、存储器接口、全局一致性引擎接口、输入/输出接口和在半导体芯片上发现的任意其它这种分组处理部件。
在图1中,在本发明的一种实施方案里,通过逻辑地将单个大容量共享高速缓冲存储器划分为若干子集可以将节点110(1)到110(n)实现为高速缓冲存储器体节点。每个高速缓冲存储器体节点可以包括单个高速缓冲存储器中的一部分地址空间,并且可以独立地服务于对单个高速缓冲存储器中该部分地址空间的块请求(读、写、使无效等等)。在互连120上,每个高速缓冲存储器体节点可以有它自己的访问点或访问站。
在图1中,互连120可以包括多个单向线(未示出),其中第一组单向线可以按照顺时针方向传输分组,第二组可以按照逆时针方向传输分组。每组单向布线可以有一个具体的目的(例如,发送地址命令)或者具有通用目的(例如,支持多种分组类型(地址请求、数据、高速缓冲存储器一致性协议消息等))。可选地,可以指定每一组单向线传输单一分组类型。
可选地,在图1中,互连120可以包括多个能够在两个方向上传输分组的双向线。在这种备选实施方案中,该半导体芯片可以包括开关逻辑,用于将所述线切换到希望的方向以在特定的事务期间传输分组。
互连120可以按照各种不同的速率传输分组。例如,互连120可以按照每时钟周期一个或多个节点的速率或每两个或更多时钟周期一个节点的速率传输分组。很多因素可以决定传输速率,包括通信量、时钟速率、节点间的距离等等。通常,一个节点必须等到已经在互连120上并位于该节点的任意分组通过该节点后才能将分组放到互连120上。
图2是依照本发明的一种实施方案的半导体芯片,包括耦合到多个环路互连的多个节点。节点210(1)到210(n)可以在多个不同的访问点或访问站与环路互连220(1)到220(m)相连。每个节点可以选择环路互连220(1)到220(m)中的任何一个以便在其上把分组传输到另一节点。
在一种实施方案中,图2中的所有互连都可以是单向的,其中一些互连只以顺时针方向传输分组而其它互连只以逆时针方向传输分组。
在一种备选实施方案中,图2中的一些互连可以是单向的,而其它的,则是双向的。在这种备选实施方案中,单向互连中的一些可以只在顺时针方向上传输分组而其它只在逆时针方向上传输分组。双向互连可以在两个方向上传输分组,与图1中的双向互连的操作一致。
图3是依照本发明的一种实施方案的方法的流程图。在图3中,该方法可以确保在双向环路互连上的目的地节点上在一个给定的时钟周期内的单分组到达。在一种实施方案中,节点在双向环路互连上可以以顺时针或逆时针方向发送和接收分组。该双向环路互连可以包括以顺时针方向传输分组的第一组线(它可以包括第一环路结构)和以逆时针方向传输分组的第二组线(它可以包括第二环路结构)。该双向环路互连可以看作是一系列时隙(slot),每个时隙在每个时钟周期内把分组从一个访问点或访问站携带到下一个访问点或访问站。
在图3中,源节点(如图2的节点210(1))可以选择(310)顺时针或逆时针环路结构,以在其上把分组从与环路结构相耦合的源节点传输到目的地节点。在一个实施例中,所述选择可以基于在两个环路结构上达到目的地节点将要经过的时隙的数目。例如,如果在顺时针环路结构上经过的时隙的数量小于在逆时针环路结构上经过的时隙的数量,源节点可以选择顺时针环路结构。
可选地,所述选择可以基于在两个环路结构上到达目的地节点要经过的节点数,这里可以选择分组在其上经过节点较少的环路结构。在另一备选实施方案中,所述选择可以基于经过两个环路结构的时钟周期数,这里所选择的环路结构可能占用较少的时钟周期来传输分组。可选地,所述选择可以基于环路结构上的通信量,这里所选择的环路结构可以具有较少通信量。可以用任意其它这种标准来确定该选择。
在图3中,源节点可以计算(315)到所选择的环路结构上的目的地节点的距离。该距离可被计算为到达目的地节点的时钟周期数。在一种备选实施方案中,距离可以被计算数到达目的地节点的所经历的节点数。可以用任意其它这种标准来确定源和目的地节点之间的距离。
在图3中,源节点可以确定(320)计算出的距离是偶数或奇数个时钟周期远。如果计算出的距离是偶数个时钟周期,源节点可以确定(325)所选择的环路结构是顺时针还是逆时针环路结构。如果所选择的环路结构是顺时针的的环路结构,那么源节点可以在一个偶数编号的时钟周期内把分组发送(330)到目的地节点以便确保该分组在一个偶数编号的时钟周期内到达该目的地节点。如果所选择的环路结构是逆时针的的环路结构,那么源节点可以在一个奇数编号的时钟周期内把分组发送(335)到目的地节点以确保该分组在一个奇数编号的时钟周期内到达目的地节点。
在图3中,如果源节点确定(320)计算出的距离是奇数个时钟周期远,那么源节点可以确定(340)所选择的环路是顺时针还是逆时针环路结构。如果所选择的环路结构是顺时针的环路结构,那么源节点就可以在一个奇数编号的时钟周期内把分组发送(345)到目的地节点以确保该分组在一个偶数编码的时钟周期内到达该目的地节点。如果所选择的环路结构是逆时针的的环路结构,那么源节点可以在一个偶数编号的时钟周期内把分组发送(350)到目的地节点以确保该分组在一个奇数编码的时钟周期内到达目的地节点。
表1示出了图3所描述的发送分组的方法中所用的逻辑。该表条目给出了不同场景下源节点的发送时钟周期。对一个给定的传输方向(顺时针或逆时针方向)和从源节点到目的地节点的偶数或奇数距离而言,该表条目表明了该源节点可以在偶数编号还是奇数编号的时钟周期内发送分组。
环路方向 | 从源到目的地节点的距离偶 奇 |
顺时针 | 偶 奇 |
逆时针 | 奇 偶 |
表1.分组发送规则
在图3中,目的地节点可以确定(355)分组正在到达顺时针和逆时针环路结构中的哪一个。例如,目的地节点可以轮询顺时针和逆时针环路结构以确定分组在哪个环路上到达。在本发明的这个实施方案中,分组可以在顺时针环路结构上到达并在偶数编号的时钟周期内由目的地节点接收(360)。分组可以在逆时针环路结构上到达并在奇数编号的时钟周期内由目的地节点接收(365)。可以设想分组可以到达的其它实施方案。
由本发明的实施方案实现的根本规则是目的地节点可以只在偶数编号的时钟周期内从顺时针环路结构接收分组并只在奇数编号的时钟周期内从逆时针环路结构接收分组。这可以确保在任意时钟周期内只有单个分组到达目的地节点。源节点的发送规则可以公式化以满足该根本规则。
假定,依照本发明的一种实施方案,例如,源节点n(i)计算它与目的地节点n(j)之间的距离,此处,距离是d(i,j)。如果目的地节点n(j)在顺时针环路结构上距离源节点n(i)是偶数个时钟周期远,节点n(i)可以在偶数编号的时钟周期C上发送分组到n(j),因为到达的时钟周期C+d(i,j)是偶数,即偶数加上偶数等于偶数。因而,可以满足根本规则。
同样,依照本发明的一种实施方案,例如,如果目的地节点n(j)在顺时针环路结构上距源节点n(i)奇数个时钟周期远,节点n(i)可以在偶数编码的时钟周期C上向节点n(j)发送分组,因为到达的时钟周期C+d(i,j)是奇数,即偶数加上奇数等于奇数。因而,可以再次满足根本规则。
在一种备选实施方案中,双向环路互连可以包括两个单向环路互连以在相反的方向上传输分组。在这种实施方案中,其中一个以顺时针方向传输分组的单向环路互连可以包括第一环路结构,并且以逆时针方向传输分组的另一单向环路互连可以包括第二环路结构。
在其它备选实施方案中,双向环路互连可以包括一个单向环路互连和一个双向环路互连或两个双向环路互连。与前面描述的实施方案类似,其中一个互连可以包括第一环路结构,另一个互连可以包括第二环路结构。
将会理解,双向环路互连并不限于一个或两个环路结构,而是可以包括任意数量的环路结构以在多个方向上传输分组,所述多个方向不限于顺时针和逆时针方向。
半导体芯片的实施方案可以实现依照本发明的实施方案的方法。在一种实施方案中,半导体芯片可以包括一个双向环路互连和与该双向环路互连相耦合的节点,其中该双向环路互连可以根据到目的地节点的距离在预定的和/或动态确定的时钟周期内把分组发送到目的地节点。每个节点可以包括一个减法器、可编程有限状态机、或处理器来计算在顺时针或逆时针方向上到目的地节点的距离。
在该实施方案中,每个节点可以包括多个队列以选择性地存储要发送到目的地节点的分组,这里每个队列可以根据将要发送分组的方向和时钟周期而存储分组。在一种实施方案中,每个节点可以对环路互连上的顺时针和逆时针方向各维护两个要发送的分组的队列,总共四个队列。第一个队列可以存储要在偶数编号的时钟周期内以顺时针方向发送的分组。第二个队列可以存储要在奇数编号的时钟周期内以顺时针方向发送的分组。同样,第三个队列可以存储要在偶数编号的时钟周期内在逆时针方向上发送的分组。第四个队列可以存储要在奇数编号的时钟周期内在逆时针方向上发送的分组。
图4是依照本发明的一种实施方案的分组队列结构。在图4中,示出了两个在双向环路互连上以顺时针方向传输分组的队列。同样的配置(未示出)可以用于逆时针方向上的分组传输。
在图4中,第一个队列410(1)可以保存要在偶数编号的时钟周期内在顺时针方向上发送的分组(目的地是偶数距离远的分组)。第二个队列410(2)可以保存要在奇数编号的时钟周期内以顺时针方向发送的分组(目的地是奇数距离远的分组)。
在图4中,队列多路复用器420可以在时钟信号线425上接收时钟信号以触发对队列410(1)和410(2)之一的选择。如果时钟信号表明当前时钟周期是偶数,队列多路复用器420可以从第一队列410(1)选择一个分组。如果时钟信号表明当前时钟周期是奇数,队列多路复用器420可以从第二队列410(2)选择一个分组。
如果分组在当前时钟周期内没有到达互连120上的节点,节点多路复用器430可以将分组从所选择的队列注入到互连120上。如果一个分组在当前时钟周期内到达节点,节点多路复用器430可以允许到达的分组前进。如果这个节点是目的地节点,开关逻辑435可以将到达的分组引导到该节点-例如节点处理器440或任意节点部件中。如果这个节点不是目的地节点,开关逻辑435可以引导到达的分组在互连120上继续前进。节点多路复用器430可以等待直到下一个合适的偶数或奇数时钟周期才在到达的分组通过之后将来自队列的分组注入。开关逻辑435可以引导从队列注入的分组经过互连120。
将会理解,可以使用开关逻辑或能够把分组引导到节点或在互连上的任意这种硬件和/或软件。
当环路互连上的通信量均匀时,一半目的地节点可以是偶数距离远而一半可以是奇数距离远。如果一个未占用的时隙在一个偶数编号的时钟周期内到达一个节点,该时隙可以用来自偶数队列的分组填充,并且如果该未占用的时隙在一个奇数周期内到达一个节点,该时隙可用来自奇数队列的分组填充。因而,不管一个空时隙何时到达,该节点总能够注入一个等待分组(如果它有的话)以维持环路互连的完全利用、高峰值吞吐量和低分组等待时间。
本发明的实施方案可以通过通信总线与包括其它半导体芯片的系统耦合。当分组到达或离开半导体芯片时该总线可以依照本发明的实施方案传输分组。在一种实施方案中,该总线可以传输从半导体芯片拒绝的分组,条件是该被拒绝的分组在一定时间周期-例如在经过了半导体芯片的环路互连上的节点多次或已经过了多个时钟周期,后没有被接收。
图5是一种计算机系统的框图,该计算机系统包括一种体系结构状态,包括依照本发明的一种实施方案使用的一个或多个多处理器和存储器。在图5中,计算机系统500可以包括与处理器总线520耦合的一个或多个多处理器510(1)到510(n),处理器总线520可以与系统逻辑530耦合。一个或多个多处理器510(1)到510(n)中的每一个可以是N-位处理器并且可以包括一个解码器(未示出)和一个或多个N-位寄存器(未示出)。依照本发明的一种实施方案,一个或多个多处理器510(1)到510(n)中的每一个可以包括一个双向环路互连(未示出)以耦合到N-位处理器、解码器、和一个或多个N-位寄存器。
系统逻辑530可以通过总线550与系统存储器540耦合,并通过外部总线560与非-易失性存储器570及一个或多个外围设备580(1)-580(m)耦合。外部总线560可以表示例如一个或多个外围部件互连(PCI)总线、PCI专业组(SIG)PCI局部总线规范(2.2修订本,1998年12月18日发布);工业标准结构(ISA)总线;扩展ISA(EISA)总线,BCPR Service Inc;EISA规范,1992 3.12修订版,1992年发布;通用串行总线(USB),USB规范1.1版,1998年9月23日发布;以及类似的外部总线。非易失性存储器570可以是静态存储器器件,诸如只读存储器(ROM)或者是闪速存储器。外部设备580(1)-580(m)可以包括例如键盘;鼠标或其它指点设备;大容量存储设备,如硬盘驱动器、光盘(CD)驱动器、光碟和数字视频光盘(DVD)驱动器;显示器等等。
本发明的实施方案可以用根据本发明的教义编程的任意类型的计算-例如通用微处理器来实现。本发明的实施方案因而还包括一种计算机可读介质,它可以包括用来对处理器编程以执行依照本发明的实施方案的方法的指令。这个介质可以包括但不限于任意类型的盘如软盘、光盘和CD-ROM。
可以理解用来实现本发明的实施方案的软件的结构可以采用任意期望的形式,例如单个或多个程序。可以进一步理解本发明的一种实施方案的方法可以由软件、硬件或其组合来实现。
上面是对本发明的优选实施方案的详细论述。对申请人授权的本发明的完整的范围由下文的权利要求定义。意谓着权利要求的范围可以覆盖除了上述那些实施方案和它们的等效方案之外的其它实施方案。
Claims (43)
1.一种方法,包括:
在半导体芯片上,根据源节点和目的地节点之间的距离在一个时钟周期内以第一方向在第一环路结构上从源节点向目的地节点发送分组或以与第一方向相反的第二方向在第二环路结构上从源节点向目的地节点发送分组。
2.权利要求1的方法,其中第一和第二环路结构包括一个双向环路结构。
3.权利要求1的方法,其中第一方向是顺时针方向,而第二方向是逆时针方向。
4.权利要求1的方法,还包括:
选择以第一和第二方向中的哪一个方向发送分组;
计算在所选择的方向上源节点和目的地节点之间的距离;以及
确定计算出的距离是奇数还是偶数个时钟周期,
其中所述选择包括选择要经过的节点较少的方向。
5.权利要求4的方法,其中所述发送包括:
如果计算出的距离是偶数并且所选择的方向是顺时针,就在偶数编号的时钟周期内发送分组;和
如果计算出的距离是偶数并且所选择的方向是逆时针,就在奇数编号的时钟周期内发送分组。
6.权利要求4的方法,其中所述发送包括:
如果计算出的距离是奇数并且所选择的方向是顺时针,就在奇数编号的时钟周期内发送分组;和
如果计算出的距离是奇数并且所选择的方向是逆时针,就在偶数编号的时钟周期内发送分组。
7.权利要求1的方法,其中所述发送包括:
在偶数编号的时钟周期内以第一方向发送来自第一队列的分组;
在奇数编号的时钟周期内以第一方向发送来自第二队列的分组;
在偶数编号的时钟周期内以第二方向发送来自第三队列的分组;以及
在奇数编号的时钟周期内以第二方向发送来自第四队列的分组;
8.权利要求7的方法,
其中第一队列保存要发送到在第一环路结构上偶数距离远的目的地节点的分组;
其中第二队列保存要发送到在第一环路结构上奇数距离远的目的地节点的分组;
其中第三队列保存要发送到在第二环路结构上偶数距离远的目的地节点的分组;以及
其中第四队列保存要发送到在第二环路结构上奇数距离远的目的地节点的分组;
9.权利要求1的方法,其中时钟周期是偶数编号或奇数编号的时钟周期。
10.一种方法,包括:
在偶数编号的时钟周期内在半导体芯片的第一环路结构上接收来自源节点的分组;以及
在奇数编号的时钟周期内在半导体芯片的第二环路结构上接收来自源节点的分组。
11.权利要求10的方法,其中第一环路结构以第一方向传输分组,而第二环路结构以第二方向传输分组。
12.权利要求11的方法,其中第一方向是顺时针方向,而第二方向是逆时针方向。
13.权利要求11的方法,其中第一方向是逆时针方向,而第二方向是顺时针方向。
14.权利要求10的方法,其中环路结构是双向的。
15.权利要求10的方法,还包括:
在偶数编号的时钟周期内轮询第一环路结构;以及
在奇数编号的时钟周期内轮询第二环路结构。
16.一种方法,包括:
选择在半导体芯片上的顺时针环路结构和逆时针环路结构中的一个环路结构以把分组从源节点传输到目的地节点;
计算在所选择的环路结构上源节点和目的地节点之间的距离;
确定计算出的距离是偶数还是奇数个时钟周期;
根据确定出的距离在第一时钟周期把分组从源节点发送到目的地节点;以及
根据所选择的环路结构在第二时钟周期内在目的地节点接收分组。
17.权利要求16的方法,其中第一时钟周期包括偶数编号的时钟周期和奇数编号的时钟周期,第二时钟周期包括偶数编号的时钟周期和奇数编号的时钟周期。
18.权利要求16的方法,其中所述发送包括:
如果计算出的距离是偶数并且所选择的环路结构是顺时针环路结构,就在偶数编号的时钟周期内发送分组;
如果计算出的距离是偶数并且所选择的环路结构是逆时针环路结构,就在奇数编号的时钟周期内发送分组;
如果计算出的距离是奇数并且所选择的环路结构是顺时针环路结构,就在奇数编号的时钟周期内发送分组;以及
如果计算出的距离是奇数并且所选择的环路结构是逆时针环路结构,就在偶数编号的时钟周期内发送分组。
19.权利要求16的方法,其中所述接收包括:
如果所选择的环路结构是顺时针环路结构,就在偶数编号的时钟周期接收分组;和
如果所选择的环路结构是逆时针环路结构,就在奇数编号的时钟周期接收分组。
20.一种半导体芯片,包括:
第一环路结构,以第一方向发送分组;
第二环路结构,以与第一方向相反的第二方向发送分组;和
与第一和第二环路相耦合的多个节点,第一和第二环路结构根据到目的地节点的距离在一个时钟周期内把分组发送到目的地节点。
21.权利要求20的半导体芯片,其中第一方向是顺时针方向,而第二方向是逆时针方向。
22.权利要求20的半导体芯片,其中每个节点包括:
一个减法器,以计算到目的地节点的距离。
23.权利要求20的半导体芯片,其中每个节点包括:
一个可编程有限状态机,被编程以计算到目的地节点的距离。
24.权利要求20的半导体芯片,其中每个节点包括:
一个处理器,用于:
选择在第一和第二环路结构中的哪一个上传输分组,
计算在所选择的环路结构上到目的地节点的距离,以及
确定该距离是偶数还是奇数个时钟周期;
以及
多个队列,以在根据确定出的距离和所选择的环路结构在发送之前有选择地保存分组。
25.权利要求24的半导体芯片,
其中多个队列中的第一个队列保存在确定出的距离是偶数的情况下要在第一环路结构上发送的分组;
其中多个队列中的第二个队列保存在确定出的距离是奇数的情况下要在第一环路结构上发送的分组;
其中多个队列中的第三个队列保存在确定出的距离是偶数的情况下要在第二环路结构上发送的分组;
其中多个队列中的第四个队列保存在确定出的距离是奇数的情况下要在第二环路结构上发送的分组。
26.权利要求25的半导体芯片,每个节点还包括:
第一多路复用器,以选择第一和第二队列中的一个而响应偶数编号或奇数编号的时钟周期在第一环路结构上发送分组;
第二多路复用器,以选择第三和第四队列中的一个而响应偶数编号或奇数编号的时钟周期在第二环路结构上发送分组。
27.权利要求26的半导体芯片,每个节点还包括:
第三多路复用器,以从第一多路复用器或已经在第一环路结构上的其它分组中选择分组以发送到目的地节点。
28.权利要求26的半导体芯片,每个节点还包括:
第四多路复用器,以从第二多路复用器或已经在第二环路结构上的其它分组中选择分组以发送到目的地节点。
29.权利要求24的半导体芯片,其中所述处理器还用来:
确定在偶数编号的时钟周期还是在奇数编号的时钟周期内在所选择的环路结构上发送分组。
30.权利要求24的半导体芯片,其中所述处理器还用来:
确定在偶数编号的时钟周期还是在奇数编号的时钟周期内接收分组;
根据确定出的时钟周期确定在第一和第二环路结构中的哪一个上接收分组;以及
在确定出的时钟周期内轮询所确定出的环路结构以得到分组。
31.一种系统,包括:
一个多处理器芯片,包括:
多个节点,和
与节点耦合的多个环路结构,用于根据源节点和目的地节点之间的距离在时钟周期内从源节点向目的地节点传输分组,该多个环路结构中的第一个环路结构以第一方向传输分组,而该多个环路结构中的第二个环路结构以和第一方向相反的第二方向传输分组;以及
与该多处理器芯片耦合的总线。
32.权利要求31的系统,其中第一方向是顺时针方向,而第二方向是逆时针方向。
33.权利要求31的系统,其中第一方向是逆时针方向,而第二方向是顺时针方向。
34.权利要求34的系统,其中所述节点中的至少一个节点是总线接口,用于在偶数编号的时钟周期内在该多个环路结构中的第一个环路结构上接收分组,并且在奇数编号的时钟周期内在该多个环路结构中的第二个环路结构上接收分组,并在此后的一个时钟周期内向该总线传输分组。
35.权利要求34的系统,其中每个节点每时钟周期只接收一个分组。
36.一种机器可读介质,其上存储了实施一种方法的多个可执行指令,该方法包括:
选择在顺时针环路结构和逆时针环路结构中的一个上从源节点传输分组到目的地节点;
计算在所选择的环路结构上从源节点到目的地节点之间的距离;
确定计算出的距离是偶数还是奇数个时钟周期;
根据确定出的距离在第一时钟周期内从源节点向目的地节点发送分组;以及
根据所选择的环路结构在第二时钟周期内在目的地节点上接收分组。
37.权利要求36的机器可读介质,其中第一时钟周期包括偶数编号的时钟周期和奇数编号的时钟周期,第二时钟周期包括偶数编号的时钟周期和奇数编号的时钟周期。
38.权利要求36的机器可读介质,其中所述发送包括:
如果计算出的距离是偶数并且所选择的环路结构是顺时针环路结构,就在偶数编号的时钟周期内发送分组;
如果计算出的距离是偶数并且所选择的环路结构是逆时针环路结构,就在奇数编号的时钟周期内发送分组;
如果计算出的距离是奇数并且所选择的环路结构是顺时针环路结构,就在奇数编号的时钟周期内发送分组;以及
如果计算出的距离是奇数并且所选择的环路结构是逆时针环路结构,就在偶数编号的时钟周期内发送分组。
39.权利要求36的机器可读介质,其中所述接收包括:
如果所选择的环路结构是顺时针环路结构,在偶数编号的时钟周期内接收分组;
如果所选择的环路结构是逆时针环路结构,在奇数编号的时钟周期内接收分组。
40.一种机器可读介质,其上存储了实施一种方法的多个可执行指令,该方法包括:
在半导体芯片上,根据源节点和目的地节点之间的距离在一个时钟周期内以第一方向在第一环路结构上从源节点向目的地节点发送分组或以与第一方向相反的第二方向在第二环路结构上从源节点向目的地节点发送分组。
41.权利要求40的机器可读介质,还包括:
选择以第一和第二方向中的哪一个发送分组;
计算在所选择的方向上源节点和目的地节点之间的距离;
确定计算出的距离是偶数还是奇数个时钟周期,
其中所述选择包括选择要经过的节点较少的方向。
42.权利要求41的机器可读介质,其中所述发送包括:
如果计算出的距离是偶数并且所选择的方向是顺时针,就在偶数编号的时钟周期内发送分组;并且
如果计算出的距离是偶数并且所选择的方向是逆时针,就在奇数编号的时钟周期内发送分组。
43.权利要求41的机器可读介质,其中所述发送包括:
如果计算出的距离是奇数并且所选择的方向是顺时针,就在奇数编号的时钟周期内发送分组;并且
如果计算出的距离是奇数并且所选择的方向是逆时针,就在偶数编号的时钟周期内发送分组。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/855355 | 2004-05-28 | ||
US10/855,355 US7551564B2 (en) | 2004-05-28 | 2004-05-28 | Flow control method and apparatus for single packet arrival on a bidirectional ring interconnect |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1703025A true CN1703025A (zh) | 2005-11-30 |
CN1703025B CN1703025B (zh) | 2012-06-20 |
Family
ID=34839028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100739372A Active CN1703025B (zh) | 2004-05-28 | 2005-05-27 | 双向环路互连上单分组到达的流量控制方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7551564B2 (zh) |
KR (1) | KR100692350B1 (zh) |
CN (1) | CN1703025B (zh) |
DE (1) | DE102005022110B4 (zh) |
GB (1) | GB2414643B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420380B (zh) * | 2008-11-28 | 2012-11-14 | 西安邮电学院 | 一种双层双环型片上系统 |
CN116349208A (zh) * | 2020-09-25 | 2023-06-27 | 华为技术有限公司 | 路由方法及数据转发系统 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7295509B2 (en) | 2000-09-13 | 2007-11-13 | Qualcomm, Incorporated | Signaling method in an OFDM multiple access system |
US9130810B2 (en) | 2000-09-13 | 2015-09-08 | Qualcomm Incorporated | OFDM communications methods and apparatus |
US9137822B2 (en) | 2004-07-21 | 2015-09-15 | Qualcomm Incorporated | Efficient signaling over access channel |
US9148256B2 (en) | 2004-07-21 | 2015-09-29 | Qualcomm Incorporated | Performance based rank prediction for MIMO design |
US9246560B2 (en) | 2005-03-10 | 2016-01-26 | Qualcomm Incorporated | Systems and methods for beamforming and rate control in a multi-input multi-output communication systems |
US9154211B2 (en) | 2005-03-11 | 2015-10-06 | Qualcomm Incorporated | Systems and methods for beamforming feedback in multi antenna communication systems |
US8446892B2 (en) | 2005-03-16 | 2013-05-21 | Qualcomm Incorporated | Channel structures for a quasi-orthogonal multiple-access communication system |
US9461859B2 (en) | 2005-03-17 | 2016-10-04 | Qualcomm Incorporated | Pilot signal transmission for an orthogonal frequency division wireless communication system |
US9143305B2 (en) | 2005-03-17 | 2015-09-22 | Qualcomm Incorporated | Pilot signal transmission for an orthogonal frequency division wireless communication system |
US9520972B2 (en) | 2005-03-17 | 2016-12-13 | Qualcomm Incorporated | Pilot signal transmission for an orthogonal frequency division wireless communication system |
US9184870B2 (en) | 2005-04-01 | 2015-11-10 | Qualcomm Incorporated | Systems and methods for control channel signaling |
US9408220B2 (en) | 2005-04-19 | 2016-08-02 | Qualcomm Incorporated | Channel quality reporting for adaptive sectorization |
US9036538B2 (en) | 2005-04-19 | 2015-05-19 | Qualcomm Incorporated | Frequency hopping design for single carrier FDMA systems |
US8565194B2 (en) | 2005-10-27 | 2013-10-22 | Qualcomm Incorporated | Puncturing signaling channel for a wireless communication system |
US8879511B2 (en) | 2005-10-27 | 2014-11-04 | Qualcomm Incorporated | Assignment acknowledgement for a wireless communication system |
US8611284B2 (en) | 2005-05-31 | 2013-12-17 | Qualcomm Incorporated | Use of supplemental assignments to decrement resources |
US8462859B2 (en) | 2005-06-01 | 2013-06-11 | Qualcomm Incorporated | Sphere decoding apparatus |
US9179319B2 (en) | 2005-06-16 | 2015-11-03 | Qualcomm Incorporated | Adaptive sectorization in cellular systems |
US8599945B2 (en) | 2005-06-16 | 2013-12-03 | Qualcomm Incorporated | Robust rank prediction for a MIMO system |
US8885628B2 (en) | 2005-08-08 | 2014-11-11 | Qualcomm Incorporated | Code division multiplexing in a single-carrier frequency division multiple access system |
US20070041457A1 (en) | 2005-08-22 | 2007-02-22 | Tamer Kadous | Method and apparatus for providing antenna diversity in a wireless communication system |
US9209956B2 (en) | 2005-08-22 | 2015-12-08 | Qualcomm Incorporated | Segment sensitive scheduling |
US8644292B2 (en) | 2005-08-24 | 2014-02-04 | Qualcomm Incorporated | Varied transmission time intervals for wireless communication system |
US9136974B2 (en) | 2005-08-30 | 2015-09-15 | Qualcomm Incorporated | Precoding and SDMA support |
US9210651B2 (en) | 2005-10-27 | 2015-12-08 | Qualcomm Incorporated | Method and apparatus for bootstraping information in a communication system |
US9225488B2 (en) | 2005-10-27 | 2015-12-29 | Qualcomm Incorporated | Shared signaling channel |
US8693405B2 (en) | 2005-10-27 | 2014-04-08 | Qualcomm Incorporated | SDMA resource management |
US9088384B2 (en) | 2005-10-27 | 2015-07-21 | Qualcomm Incorporated | Pilot symbol transmission in wireless communication systems |
US8582509B2 (en) | 2005-10-27 | 2013-11-12 | Qualcomm Incorporated | Scalable frequency band operation in wireless communication systems |
US9225416B2 (en) | 2005-10-27 | 2015-12-29 | Qualcomm Incorporated | Varied signaling channels for a reverse link in a wireless communication system |
US8477684B2 (en) | 2005-10-27 | 2013-07-02 | Qualcomm Incorporated | Acknowledgement of control messages in a wireless communication system |
US8045512B2 (en) | 2005-10-27 | 2011-10-25 | Qualcomm Incorporated | Scalable frequency band operation in wireless communication systems |
US9172453B2 (en) | 2005-10-27 | 2015-10-27 | Qualcomm Incorporated | Method and apparatus for pre-coding frequency division duplexing system |
US9144060B2 (en) | 2005-10-27 | 2015-09-22 | Qualcomm Incorporated | Resource allocation for shared signaling channels |
US8582548B2 (en) | 2005-11-18 | 2013-11-12 | Qualcomm Incorporated | Frequency division multiple access schemes for wireless communication |
US8831607B2 (en) | 2006-01-05 | 2014-09-09 | Qualcomm Incorporated | Reverse link other sector communication |
KR20130064492A (ko) | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 링 토폴로지 메모리 시스템의 동작 방법 |
US20170085475A1 (en) * | 2015-09-23 | 2017-03-23 | Qualcomm Incorporated | Configurable and scalable bus interconnect for multi-core, multi-threaded wireless baseband modem architecture |
US10573598B2 (en) * | 2017-09-28 | 2020-02-25 | Xilinx, Inc. | Integration of a programmable device and a processing system in an integrated circuit package |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4587651A (en) | 1983-05-04 | 1986-05-06 | Cxc Corporation | Distributed variable bandwidth switch for voice, data, and image communications |
KR970003527B1 (ko) * | 1994-05-14 | 1997-03-18 | 재단법인 한국전자통신연구소 | 파장분할 다중화 방식을 이용한 양방향 다채널 광 링 통신망 |
US6108338A (en) * | 1995-12-28 | 2000-08-22 | Dynarc Inc. | Method and device for dynamic synchronous transfer mode in a dual ring topology |
CN1285201C (zh) * | 1997-05-13 | 2006-11-15 | 世嘉股份有限公司 | 数据传输方法及使用该方法的游戏机和外围设备 |
US6112283A (en) * | 1998-08-06 | 2000-08-29 | Intel Corporation | Out-of-order snooping for multiprocessor computer systems |
CA2310949A1 (en) * | 1999-06-15 | 2000-12-15 | Jon Anderson | Wideband optical packet ring network |
KR100318431B1 (ko) * | 1999-12-24 | 2001-12-24 | 박종섭 | 양방향 오실레이터와 카운터를 이용한 지연고정루프 |
US6891828B2 (en) * | 2001-03-12 | 2005-05-10 | Network Excellence For Enterprises Corp. | Dual-loop bus-based network switch using distance-value or bit-mask |
GB2374242B (en) * | 2001-04-07 | 2005-03-16 | Univ Dundee | Integrated circuit and related improvements |
US7142504B1 (en) * | 2001-04-25 | 2006-11-28 | Cisco Technology, Inc. | Fault tolerant network traffic management |
US7016969B1 (en) * | 2001-05-11 | 2006-03-21 | Cisco Technology, Inc. | System using weighted fairness decisions in spatial reuse protocol forwarding block to determine allowed usage for servicing transmit and transit traffic in a node |
US7054951B1 (en) * | 2001-07-02 | 2006-05-30 | Cisco Technology, Inc. | Plug and play node addition in a dual ring topology network using locally significant ring identifiers for determining routing decisions |
US20030196076A1 (en) * | 2001-07-02 | 2003-10-16 | Globespan Virata Incorporated | Communications system using rings architecture |
US7212490B1 (en) * | 2001-07-06 | 2007-05-01 | Cisco Technology, Inc. | Dynamic load balancing for dual ring topology networks |
US6959358B2 (en) * | 2001-07-06 | 2005-10-25 | Micron Technology, Inc. | Distributed content addressable memory |
EP1495412B1 (en) * | 2002-03-22 | 2012-11-28 | Alandro Consulting NY LLC | Scalable high performance 3d graphics |
CN1292567C (zh) * | 2002-06-22 | 2006-12-27 | 华为技术有限公司 | Ip环分布式带宽处理方法 |
US6965560B2 (en) * | 2002-07-10 | 2005-11-15 | I/O Controls Corporation | Multi-tier, hierarchical fiber optic control network |
KR100493234B1 (ko) * | 2002-11-25 | 2005-06-02 | 한국전자통신연구원 | 노드 시스템, 이를 이용한 이중링 통신 시스템 및 그 통신방법 |
US7339941B2 (en) * | 2004-02-13 | 2008-03-04 | Broadcom Corporation | Connecting ethernet based system on a chip integrated circuits in a ring topology |
-
2004
- 2004-05-28 US US10/855,355 patent/US7551564B2/en not_active Expired - Fee Related
-
2005
- 2005-05-12 DE DE102005022110.6A patent/DE102005022110B4/de active Active
- 2005-05-25 GB GB0510690A patent/GB2414643B/en active Active
- 2005-05-27 CN CN2005100739372A patent/CN1703025B/zh active Active
- 2005-05-27 KR KR1020050045075A patent/KR100692350B1/ko active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420380B (zh) * | 2008-11-28 | 2012-11-14 | 西安邮电学院 | 一种双层双环型片上系统 |
CN116349208A (zh) * | 2020-09-25 | 2023-06-27 | 华为技术有限公司 | 路由方法及数据转发系统 |
Also Published As
Publication number | Publication date |
---|---|
DE102005022110B4 (de) | 2016-03-10 |
GB2414643A (en) | 2005-11-30 |
US7551564B2 (en) | 2009-06-23 |
DE102005022110A1 (de) | 2006-01-19 |
CN1703025B (zh) | 2012-06-20 |
GB0510690D0 (en) | 2005-06-29 |
KR100692350B1 (ko) | 2007-03-09 |
GB2414643B (en) | 2006-08-09 |
US20050265238A1 (en) | 2005-12-01 |
KR20060046227A (ko) | 2006-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1703025A (zh) | 双向环路互连上单分组到达的流量控制方法和设备 | |
US7984247B2 (en) | External memory controller node | |
CN1702858A (zh) | 具有双向环路互连的多处理器芯片 | |
CN87104185A (zh) | 转换信息的方法和开关 | |
CN1922598A (zh) | 用于支持pci桥中的多功能pci设备的延迟事务的方法与装置 | |
CN1271540C (zh) | 用于在对称多处理器系统中发送分组的方法和装置 | |
CN1109307C (zh) | 在处理器单元之间交换数据的系统 | |
CN1426560A (zh) | 具有不同资源访问方案的系统集成代理程序 | |
CN1957564A (zh) | 环形互连上的分组的同步无缓冲流控制的方法和装置 | |
CN1804822A (zh) | 多中断的缓存装置和方法 | |
CN1282326C (zh) | 基于智能网卡的计算机间用户级并行通信的方法 | |
CN1287314A (zh) | 带有具用于一个共用存储器的接口的多个处理器的装置 | |
CN1924832A (zh) | 多重处理环境中基于因果性的存储器访问排序 | |
JP2003122706A (ja) | データ処理システム | |
CN1602014A (zh) | 为网络处理器调度连接的方法与装置 | |
CN1920802A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |