CN110199502A - 排列环状网络 - Google Patents
排列环状网络 Download PDFInfo
- Publication number
- CN110199502A CN110199502A CN201780081847.9A CN201780081847A CN110199502A CN 110199502 A CN110199502 A CN 110199502A CN 201780081847 A CN201780081847 A CN 201780081847A CN 110199502 A CN110199502 A CN 110199502A
- Authority
- CN
- China
- Prior art keywords
- data transmission
- loop network
- communication
- communication node
- transmission station
- 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
- 238000004891 communication Methods 0.000 claims abstract description 295
- 230000005540 biological transmission Effects 0.000 claims abstract description 179
- 230000001360 synchronised effect Effects 0.000 claims abstract description 38
- 238000012546 transfer Methods 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 15
- 238000007363 ring formation reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 239000011159 matrix material Substances 0.000 description 16
- 230000004044 response Effects 0.000 description 12
- 230000014759 maintenance of location Effects 0.000 description 9
- 125000004122 cyclic group Chemical group 0.000 description 6
- 235000008694 Humulus lupulus Nutrition 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000009885 systemic effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
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/422—Synchronisation for ring networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/08—Intermediate station arrangements, e.g. for branching, for tapping-off
- H04J3/085—Intermediate station arrangements, e.g. for branching, for tapping-off for ring networks, e.g. SDH/SONET rings, self-healing rings, meashed SDH/SONET networks
-
- 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/46—Interconnection of networks
- H04L12/4637—Interconnected ring systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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
- H04L2012/421—Interconnected ring systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Separation Using Semi-Permeable Membranes (AREA)
- Polysaccharides And Polysaccharide Derivatives (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Immobilizing And Processing Of Enzymes And Microorganisms (AREA)
- Lubricants (AREA)
Abstract
一种排列环状网络包括多个双向源同步环状网络,每个双向源同步环状网络具有多个数据传输站与多个通信节点。每一个通信节点都耦接至所述多个双向源同步环状网络中的每一个双向源同步环状网络的数据传输站中的一个。
Description
相关申请
本申请要求2017年11月17日所提交的名称为“排列环状网络(Permutated RingNetwork)”美国专利申请第15/816,374号的优先权,并且该美国专利申请要求2016年11月23日所提交的名称为“排列环状网络(Permutated Ring Network)”美国临时申请第62/425,798号的优先权,且其通过引用形式而并入本文。
技术领域
本发明涉及具有多个环的排列环状网络,该排列环状网络提供了可扩展、高带宽、低等待时间的点对点芯片上通信解决方案。
相关技术
芯片上通信系统展现出扩展问题,并且芯片间通信节点数以及对于芯片上数据带宽的需求也总是在增加。高速串行/解串行(SERDES)通信协议趋向于提供每引脚(pin)为每秒100Gb的操作带宽。因此,具有1000个引脚的芯片可能需要高达每秒100兆位元的芯片输入/输出(I/O)带宽。需要提供芯片上通信带宽来支持这些规格。需要这种带宽的系统的示例包括用于机架规模数据中心的交换结构、神经网络、GPU计算系统、系统层级现场可编程门阵列(FPGAs)、片上系统(SoC)的众核系统、以及用于高性能多核且多组的末级高速缓存的一致性存储器总线(coherence memory bus)。
芯片上通信的物理限制包括芯片上线长度,芯片上线长度对于延迟与操作频率而言至为关键。长的线使性能劣化,因为频率对于网络带宽具有第一阶效应。高扇出(fan-out)节点通过产生位置和路由拥塞并对网络增加门和线延迟来进一步降低带宽。
芯片上通信网络典型地被实现作为响应于一共用时钟信号而操作的同步系统。时钟分配对于构建大规模高带宽的芯片上网络而言带来重大障碍。更具体地,时钟偏斜(skew)将限制网络的操作频率,而所需要的时钟功率可能对网络带来限制。
此外,在典型的通信网络拓扑中存在关于放大通信节点数并且维持高操作频率的挑战。
典型的通信网络拓扑包括:(1)全网状拓扑,(2)交叉开关拓扑,以及(3)环面网络拓扑。对于这些网络拓扑中的每一种而言,系统的延迟和操作频率将因互连的线长度增加而劣化。此外,高扇出节点将导致位置和路由拥塞,其将进一步降低系统的速度和功率性能。
在全网状拓扑中,带宽可定义为值N*(N-1)/2,其中N是网络中的节点数。然而,全网状拓扑系统的扇出随节点数(N)增加而增加。
在交叉开关拓扑中,所需要的多路复用器的数量随网络中节点数(N)增加而增加,其缩放因子为N**2。此外,每一多路复用器的输出数随节点数N增加而增加,其缩放因子为N。
在环面网络拓扑中,吞吐量并不随节点数(N)增加而缩放。然而,节点的扇出不期望地随节点数(N)增加而增加,其缩放因子为Log(N)。
因为这些网络拓扑是利用芯片上互连(其并非完美线路)而实施,这些网络的延迟和操作频率将随线路长度增加而严重劣化。此外,高扇出节点将导致位置和路由拥塞,位置和路由拥塞将降低网络的速度和功率性能。
就一方面而言,因为与摩尔定律(Moore’s law)关联的缩放以及新的计算范例的出现增加了芯片上通信节点的数量,所以会需要有更多的芯片上带宽。然而,当使用常规的网络拓扑时,增加芯片上节点数将因线路长度和路由拥塞的增加而降低系统带宽。因此,一种芯片上带宽缩放“墙”有效地限制了芯片上通信网络的成长。
因此,会需要有能够克服芯片上带宽缩放墙的改良网络拓扑。进一步还需要使这种通信网络能够容易缩放,能够向数以千计或更多的芯片上通信节点之间提供通信。进一步还需要这种通信网络能够以高带宽操作,这提供高达每秒千兆位元(peta-bit)的芯片上通信带宽。进一步还需要这种通信网络具有低等待时间(例如,低于100ns的等待时间)。
发明内容
因此,本发明提供了一种排列环状网络,所述排列环状网络包括多个通信节点以及多个双向源同步环状网络,其每一个都具有多个数据传输站。每一个通信节点都耦接到每一个所述双向源同步环状网络中的其中一个数据传输站。用以在环状网络上传送数据的源同步技术缓解了时钟分配挑战。双向源同步环状网络的数量可经选择,以提供在各种通信节点之间进行通信所需的带宽。在这种方式中,本发明的排列环状网络可容易缩放。
鉴于以下描述和附图,将更完整理解本发明。
附图简单说明
图1A是根据本发明的一个实施例的包括八个通信节点和三个双向源同步环状网络的排列环状网络的框图。
图1B是根据本发明的一个实施例的说明图1A的排列环状网络的通信链路中的一个通信链路的框图。
图1C是根据本发明的一个实施例的说明图1B的各种信号的源同步时序的波形图。
图2是根据本发明的一个实施例的定义了图1A的排列环状网络的三个环状网络的通信节点和数据传输站之间的连接的互连矩阵。
图3是根据本发明的一个实施例的定义了通过图1A的排列环状网络的通信节点之间的业务流的路由表。
图4是根据本发明的一个实施例的定义了图3的路由表的相邻数据传输站之间的带宽的带宽估计表。
图5是根据本发明的替代实施例的包括八个通信节点和三个双向源同步环状网络到的排列环状网络的框图。
图6是根据本发明的一个实施例的定义了在图5的排列环状网络的三个环状网络的通信节点和数据传输站之间的连接的互连矩阵。
图7是根据本发明的一个实施例的定义了通过图5的排列环状网络的通信节点之间的业务流的路由表。
图8是根据本发明的一个实施例的定义了图7的路由表的相邻数据传输站之间的带宽的带宽估计表。
图9是根据本发明的替代实施例的包括八个通信节点和四个双向源同步环状网络的排列环状网络的框图。
图10是根据本发明的一个实施例的定义了图9的排列环状网络的四个环状网络的通信节点和数据传输站之间的连接的互连矩阵。
图11是根据本发明的一个实施例的定义了通过图9的排列环状网络的通信节点之间的业务流的路由表。
图12是根据本发明的一个实施例的说明通信节点与相应的数据传输站的框图。
图13是根据本发明的替代实施例的说明通信节点与相应的数据传输站的框图。
具体实施方式
一般而言,本发明提供了一种排列环状网络架构,其包括在多个网络节点之间共享的多个双向源同步通信环。源同步技术用于缓解时钟分配挑战,其中传送节点将时钟和数据发送至接收节点。该接收节点利用所接收的时钟来锁存数据。时钟扇出受限于数据总线宽度的大小。时钟偏斜是由时钟和相对应数据之间的延迟关系所设定。注意源同步技术将仅对于点对点互连(例如,环状网络)起作用。需要各种芯片上互连资源以实施点对点网络。然而,摩尔定律预测了随着处理技术的演进,金属层的数量将向上放大、金属间距将减少、而且每单位面积上将有更多线可用,由此提供了实施点对点网络所需的芯片上互连资源。
双向源同步环状网络提供了本发明的排列环状网络架构的建构区块。双向环状网络是一种简单的点对点网络,其提供了为1的扇出(即,网络的每一个节点的每一个方向中有1个输入与1个输出)。然而,双向源同步环状网络具有基本的性能限制,在本文中被称为“跳跃损耗(hopping loss)”。跳跃损耗在消息需要在位于环状网络上的传送节点和接收节点之间的节点上“跳跃”时发生。如下文更详细描述的,通过使相邻节点之间的可用路径最大化,可使本发明的排列环状网络中的跳跃损耗最小化或消除。通过使用源同步信令技术,可在排列环状网络上实现高速、低偏斜和低功率的通信。在特别的实施例中,本发明的排列环状网络可以实现大约一千个芯片上通信节点、以及每秒千兆位元的芯片上通信带宽。排列环状网络提供了功率效率以及针对广范围的网络尺寸、芯片上资源限制、带宽要求和应用特定优化的解决方案。
图1A是根据本发明的一个实施例的排列环状网络100的框图。在所示的实施例中,排列环状网络100包括八个通信节点N0-N7以及三个双向源同步环状网络101、102和103,其各被制造于同一集成电路芯片上。如下文将更详细描述,环状网络101-103中的每一个都用作通信信道。虽然所示排列环状网络100包括八个通信节N0-N7和三个通信信道101-103,但应理解在其他实施例中也可以使用其他数量的通信节点和信道。一般而言,在芯片上的通信节点的数量是由数值N来标识,且双向环状网络的数量是由数值M来标识。通信信道的数量(M)经选择以在通信网络的带宽与通信网络的面积-功率限制之间提供适当的折衷。进行此选择的基础在下文进一步详细描述。
通信信道101-103中的每一个都包括多个数据传输站,该多个数据传输站通过双向链路(互连)而连接。更具体而言,通信信道101包括数据传输站A0-A7,通信信道102包括数据传输站B0-B7,且通信信道103包括数据传输站C0-C7。通信信道101的双向链路以实线来示出,该实线将数据传输站A0-A7连接成环。通信信道102的双向链路以虚线来示出,该虚线将数据传输站B0-B7连接成环。通信信道103的双向链路以点虚线来示出,该点虚线将数据传输站C0-C7连接成环。该双向链路允许在顺时针与逆时针两个方向上同时传送数据/时钟信号。
一般而言,数据传输站A0-A7、B0-B7以及C0-C7中的每一个提供了接口,该接口使得数据可在通信节点N0-N7与通信信道101-103之间转移。数据传输站A0-A7、B0-B7和C0-C7以及通信节点N0-N7的结构和操作细节在下文中更详细提供。
一般而言,通信信道101-103中的每一个被耦接以接收主时钟信号。因此,在图1A的示例中,通信信道101、102和103耦接以分别接收主时钟信号CKA、CKB和CKC。在所示实施例中,数据传输站A0、B0和C0耦接以分别接收主时钟信号CKA、CKB和CKC。然而,在其他实施例中,通信信道101、102和103中的其他数据传输站可耦接以分别接收主时钟信号CKA、CKB与CKC。虽然示出三个单独的主时钟信号CKA、CKB和CKC,但可理解主时钟信号CKA、CKB和CKC中的每一个可源自单个主时钟信号。在所描述的实施例中,主时钟信号CKA、CKB与CKC中的每一个具有相同的频率。
常规的时钟生成电路(例如锁相环电路)可用于产生主时钟信号CKA、CKB和CKC。在所描述的实施例中,主时钟信号可具有大约5GHz或更高的频率。然而,应理解在其他实施例中,主时钟信号可具有其他频率。主时钟信号的频率和电压可根据环状网络架构的带宽需求和功率优化而缩放。在所示实施例中,数据传输站A0、B0和C0分别接收主时钟信号CKA、CKB和CKC。其他数据传输站中的每一个从与其相邻的邻近者接收其时钟信号。即,主时钟号CKA、CKB和CKC有效率地分别依序传送至通信信道101、102和103的每一个数据传输站。
通信信道101、102和103中的每一个都分别相对于与其相对应的主时钟信号CKA、CKB和CKC以源同步方式操作。图1B是说明了在通信信道101中的数据传输站A0与数据传输站A1之间的通信链路中的一个通信链路的框图,其中此通信链路允许以源同步方式根据主时钟信号CKA而从数据传输节点A0内的站逻辑120将消息MSG_A传送至数据传输节点A1内的站逻辑130。应理解,也存在有相同的通信链路用于根据主时钟信号CKA以源同步方式从数据传输站A1传送消息至数据传输站A0(即,提供了双向通信)。进一步应理解,在通信信道101-103中的每一个中的数据传输站的每一相邻对都具有类似的双向源同步通信链路。
图1B说明了用于从数据传输站A0将消息和时钟信号传送至数据传输站A1的数据传输站A0和A1的相关部分,包括站逻辑120、延迟线路121、多路复用器122、时钟信号线路141、消息总线142以及站逻辑130。图1C为根据本发明的一个实施例的说明了图1B的各种信号的源同步时序波形图。
一般而言,数据传输站A0可于两个路径上传送输出消息。在第一路径中,站逻辑120所接收(例如,从相邻的数据传输站A7接收)的消息MSG_A被转发到数据传输站A1。在这种情况中,站逻辑130将消息MSG_A转发至多路复用器122。多路复用器122受控制以路由此消息作为输出消息MSG_AIN。站逻辑120和多路复用器122引入关于主时钟信号CKA的延迟DA0。
在第二路径中,由耦接至数据传输站A0的通信节点(例如,通信节点N1)所提供的消息路由通过多工器122。多路复用器122受控制以路由此消息作为输出消息MSG_AIN。通信节点和多路复用器122将关于主时钟信号CKA的延迟DA0引入该消息。图1C说明了存在于主时钟信号CKA与被传送的消息MSG_AIN之间的延迟DA0。
因为被传送的消息MSG_0AIN关于主时钟信号CKA而延迟,故使用延迟线路121来将延迟D121添加到主时钟信号CKA,由此产生数据传输站A0的被传送的时钟信号CKAIN。延迟线路121所引入的延迟D121经选择以确保时钟信号CKAIN具有相对于从数据传输站A0传送的消息MSG_AIN的适当设定和保持时间。在一个实施例中,延迟线路121的延迟D121被均衡为上述节点延迟DA0。即,利用数据传输站A0(和(一个或多个)相关联的通信节点)的已知内部延迟将被传送的消息MSG_AIN同步至被传送的时钟消息CKAIN。
注意用于实施数据传输站A0和A1之间的时钟信号线路141和消息总线142的结构141D和142D可能呈现显著延迟(例如,缓冲器延迟)。时钟信号线路结构141D和消息总线结构142D所引入的延迟分别表示为延迟D141和D142。因此,由数据传输站A0所接收到的时钟信号CKAoUT相对于数据传输站A0所传送的时钟信号CKAIN延迟了D141。同样地,数据传输站A1所接收到的消息MSG_AOUT相对于数据传输站A0所传送的消息MSG_AIN延迟了D142。此关系示于图1C中。为了维持数据传输站A0所建立的所期望设定和保持时间(当产生CKAIN和MSG_AIN时),延迟D141和D142必须相同。因此非常重要的是,用以实施时钟信号线路结构141D和消息总线结构142D的线路与缓冲器是要经高度均衡和平衡的,以使设定和保持时间损耗最小化。即,时钟路径结构141D和消息总线结构142D应于数据传输站A0与A1之间提供基本上相同的传输特性,使得在接收的数据传输站A1处可通过接收到的时钟信号CKAOUT和接收到的消息MSG_AOUT维持被传送的时钟信号CKAIN和被传送的消息MSG_AIN的相对相位。
根据上述示例,时钟路径141和消息142作为波管线系统操作,其中在消息总线142上传送的消息是以源同步方式利用时钟路径141上传送的时钟信号而被锁存至接收节点中。以这种方式,消息以主时钟信号CKA的频率从数据传输站A0传送到数据传输站A1,这允许数据从数据传输站A0快速转移到数据传输站A1。在正常操作期间,在数据传输站A0-A7、B0-B7和C0-C7中的每一个内的站逻辑响应于对应的接收到的时钟信号而锁存传入的消息。
因为实施了点对点源同步通信,时钟信号线路结构141D和消息总线结构142D的线路与缓冲器延迟D141和D142将不会使通信信道101-103的操作频率劣化。根据一个实施例,主时钟信号CKA、CKB和CKC的频率高于用以操作通信节点N0-N7的局部时钟信号的频率。
因为数据传输站的站逻辑具有相对简单的设计,故可在相对高的频率下执行排列环状网络上的消息传送。通信节点N0-N7通常包括较为复杂的设计,且可在比主时钟信号CKA、CKB和CKC的频率更慢的频率下操作。即,当通信节点N0-N7可以在主时钟信号CKA、CKB和CKC的频率下接收来自排列环状网络的消息时,通信节点N0-N7并不需要以主时钟信号CKA、CKB和CKC的频率来响应。
注意通信信道101-103的环形配置使得由数据传输站A0、B0和C0(例如,接收主时钟信号CKA、CKB和CKC的数据传输站)所接收的消息必须分别被重新同步到主时钟信号CKA、CKB和CKC。例如,将从数据传输站A7传送到数据传输站A0的消息同步至数据传输站A7内的主时钟信号CKA的延迟版本。因此,时钟域交叉同步在数据传输站A0内是必要的(即,从数据传输站A7接收到的消息必须与在数据传输站A0内的主时钟信号CKA重新同步)。在一个实施例中,重新同步电路(未示出)通过响应于接收自数据传输站A7的传入时钟信号将该传入时钟信号锁存至第一触发器中而执行此同步操作。在该第一触发器的输出处所提供的消息接着响应于主时钟信号CKA被锁存至第二触发器中。第二触发器提供了经同步的消息MSG_A,经同步的消息MSG_A被提供至站逻辑120。此经同步的消息MSG_A响应于主时钟信号CKA而存储于站逻辑120中。
现转至排列环状网络100的拓扑,通信节点N0-N7中的每一个耦接至三个通信信道101-103中的每一个通信信道中的数据传输站A0-A7、B0-B7和C0-C7中的唯一一个。例如,通信节点N0连接至通信信道101中的数据传输站A1、通信信道102中的数据传输站B0以及通信信道103中的数据传输站C0。下表1定义根据所描述的实施例的在每一个通信节点N0-N7与数据传输站A0-A7、B0-B7和C0-C7之间的连接。注意在通信节点N1-N7和数据传输站A0-A7、B0-B7和C0-C7之间的物理连接并未清楚示于图1A中以求清晰。
表1
图2重新排序了表1的数据,以提供三个通信信道101-103的互连矩阵200,其中互连矩阵200由通信信道101-103中的每一个通信信道的数据传输站进行排序。此互连矩阵200使得容易确定在通信信道101-103中的每一个通信信道上的通信节点N0-N7之间的跳跃数量。注意通信节点N0-N7耦接至三个通信信道101-103中具有不同相对位置的数据传输站。如下文将更详细描述的,此配置允许在通信节点之间多样化且有效地路由消息。
图3是路由表300,路由表300根据本发明实施例而定义了通过排列环状网络100于通信节点N0-N7之间的业务流。例如,通信节点N0和N1是利用通信信道101上数据传输站A0和A1之间的路径通信。沿此路径的跳跃数量由横越通信信道101的区段数所定义。因为数据传输站A0和A1在通信信道101上是彼此相邻的(即,在数据传输站A0和A1之间存在一个区段),因此在节点N0和N1之间的通信路径是由一次跳跃(1H)所组成。
如路由表300所示,在节点N0-N7之间的通信路径中的大部分都包括唯一的一个跳跃通信路径。然而,因为存在有三个通信信道101-103所提供的24个唯一通信区段、以及28个唯一通信节点对,因此排列环状网络100无法在通信节点对中的每一对之间提供唯一的一个跳跃通信路径。因此,路由表300针对通信节点对中的四个(即,节点对N0和N7;节点对N1和N2;节点对N3和N5;节点对N4和N6)提供两次跳跃(2H)通信路径。例如,节点N0和N7利用三个不同的两次跳跃路径而进行通信,该三个不同的两次跳跃路径包括在通信信道101上于数据传输站A7、A0和A1之间的第一路径、在通信信道102上于数据传输站B0、B1和B2之间的第二路径、以及在通信信道103上于数据传输站C6、C7和C0之间的第三路径。
在数据传输站A0-A7、B0-B7和C0-C7之间的通信将在源同步网络所允许的最高频率下操作。此频率并不随通信节点数和通信信道数放大而降低。要理解通信信道101-103中的每一个都包括用于初始化、仲裁、流控制和错误处理的规定。在一个实施例中,这些规定可利用良好地建立的技术来提供。
图4是带宽估计表400,带宽估计表400定义了排列环状网络100的路由表300的相邻数据传输站之间的带宽。因此,根据路由表300,在数据传输站A0和A1之间的链路可被用以于通信节点N0和N1之间、通信节点N0和N7之间、以及通信节点N1和N2之间传送数据。
在所描述的示例中,有四对通信节点利用三个2次跳跃(2-hop)路径进行通信。更具体而言,通信节点N0和N7利用三个2-hop路径A7-A0-A1、C6-C7-C0以及B0-B1-B2进行通信;通信节点N1和N2利用三个2-hop路径A0-A1-A2、C3-C4-C5和B4-B5-B6进行通信;通信节点N3和N5利用三个2-hop路径A3-A4-A5、C7-C0-C1和B3-B4-B5进行通信;且通信节点N4和N6利用三个2-hop路径A4-A5-A6、C2-C3-C4和B7-B0-B1进行通信。在所描述的示例中,利用三个2-hop路径的通信节点对被视为是较低容量对,其不需要如其他通信节点对那样大的带宽。在本示例中,使用三个2-hop路径的分配给每个通信节点对之间的通信的带宽被(任意地)限制为相邻数据传输站之间的链路的可用带宽的60%(例如,分配到节点N0和N7之间的通信的带宽被限制为由数据传输站A0和A1之间的链路提供的带宽的60%)。
以通信节点N0和N7为例,节点N0和N7之间有三条2-hop路径,(即A7-A0-A1、C6-C7-C0和B0-B1-B2)。如果所分配的带宽在这三条2-hop路径中被平均划分,则这个所分配的带宽占每个相关链路的可用带宽的20%(60%/3)。
考虑所有12个上述2-hop路径,分配给节点N0-N7、N1-N2、N3-N5和N4-N6之间的通信的带宽占以下数据传输站A1-A2、A3-A4、A5-A6、A0-A7、B1-B2、B3-B4、B5-B6、B0-B7、C0-C1、C2-C3、C4-C5和C6-C7之间的链路上的带宽的20%。这使这些链路的带宽的80%可用于通过这些链路所提供的一次跳跃(1-hop)路径而耦接的通信节点。例如,在数据传输站A1和A2之间的链路的带宽的80%被分配到通信节点N0和N2之间的1-hop连接,而在数据传输站A1和A2之间的链路的带宽的20%被分配到通信节点N1和N2之间的2-hop连接。
类似地,考虑所有12个上述2-hop路径,分配给节点N0-N7、N1-N2、N3-N5和N4-N6之间的通信的带宽占了下述数据传输站之间的链路的带宽的40%:A0-A1、A4-A5、B0-B1、B4-B5、C3-C4和C0-C7。这使这些链路的带宽的60%可用于通过这些链路所提供的1-hop路径而耦接的通信节点。例如,在数据传输站A0和A1之间的链路的带宽的60%被分配到通信节点N0和N1之间的1-hop连接,而在数据传输站A0和A1之间的链路的带宽的20%被分配到通信节点N0和N7之间的2-hop连接,并且数据传输站A0和A1之间的链路的带宽的20%被分配到通信节点N1和N2之间的2-hop连接。
注意数据传输站之间有一些链路并未被用于任何上述12个2-hop路径。在这些实例中,未被用于该2-hop路径的链路的带宽的100%都可用于连接相关联的通信节点。在本示例中,数据传输站A2-A3、A6-A7、B2-B3、B6-B7、C1-C2以及C5-C6之间的链路的带宽的100%都可用于在通信节点对N2-N3、N6-N7、N3-N7、N2-N6、N3-N6和N2-N7之间分别提供1-hop通信。
注意表400示出根据上述描述的相邻数据传输站之间可用的1-hop带宽。在图1至图4的示例中,通信信道101-103中的每一个的总1-hop带宽是6.6,其比简单双向环状网络(其具有为2的对应的1-hop带宽)有超过3倍(3x)的提升。因此,在排列环状网络100中使用三个通信信道导致比三个简单双向环状网络提升了3.3倍(3.3x)带宽。注意带宽提升随通信信道的数量增加而变得更为显著。
在图1至图4的示例中,每一对通信节点之间的1-hop带宽不相等。因此,在排列环状网络中,各个通信节点的放置应经选择以与各通信节点的通信要求匹配。在图1至图4的示例中,期望将具有较高带宽要求的通信节点对定位在节点位置N2-N3、N6-N7、N3-N7、N2-N6、N3-N6以及N2-N7处。因此,通信节点的通信模式(communication patterns)对于排列环状网络100的设计而言是重要的考虑。换言之,节点的通信模式对于互连矩阵300的优化而言是重要的考虑。
如上所述,排列环状网络100的通信路径中的一些需要两次跳跃,这导致了基本的上述性能限制,这在本文中称之为“跳跃损耗”。如上所述,排列环状网络100于通信节点N0-N7之间提供了24对1-hop链路以及28个可能的唯一连接。因为无法为每一个可能的通信节点对提供唯一的1-hop连接,所以存在跳跃损耗(因为有些连接必须为多跳跃连接)。为了使总1-hop带宽达最大化,互连矩阵200和路由表300通过以下列条件予以优化:(1)使唯一单跳跃连接的数量最大化,以及(2)对于剩余的多跳跃连接对而言,将路径多样性最大化并将每一个跳跃路径中的跳跃数量最小化。
互连矩阵200和路由表300由网络大小以及通信节点N0-N7的应用特定的带宽要求所确定。举例而言,在具有有限的面积或功率预算的网络中,规定的信道数量最不可能足以完全消除“跳跃损耗”,因此互连矩阵和路由表经设计以使所有通信节点之间的总带宽最大化。若网络要求通信节点对的子集必须具有零跳跃损耗以避免显著的性能劣化,则该互连矩阵经设计以满足这个约束。给定足够的通信信道,即可构建出具有广播能力的非阻塞、容许错误的通信。实施这种设计的各种方式在下文中更详细描述。
以下结合图5至图8来更详细描述特定示例,其中排列环状网络可以被设计以用于与通信节点的特定集合一起使用。
图5是说明排列环状网络500的框图,排列环状网络500包括通过通信信道101-103连接的八个通信节点CPU_0、CPU_1、CPU_2、CPU_3、MB_0、MB_1、MB_2以及MB_3,排列环状网络500包括数据传输站A0-A7、B0-B7和C0-C7。通信信道101-103和数据传输站A0-A7、B0-B7以及C0-C7系已在上文中描述。通信节点CPU_0、CPU_1、CPU_2以及CPU_3中的每一个是芯片上处理器,并且通信节点MB_0、MB_1、MB_2以及MB_3中的每一个是芯片上存储器组,其中处理器CPU_0、CPU_1、CPU_2以及CPU_3中的每一个可访问存储器组MB_0、MB_1、MB_2以及MB_3中的每一个、以及其他处理器中的每一个(例如处理器CPU_0可以访问处理器CPU_1、CPU_2以及CPU_3中的每一个)。
图6是互连矩阵600,互连矩阵600指定了在通信节点CPU_0、CPU_1、CPU_2、CPU_3、MB_0、MB_1、MB_2以及MB_3与数据传输站A0-A7、B0-B7和C0-C7之间的连接。图7是路由表700,路由表700指定用以链接各种通信节点对的数据传输站、以及每一个链路中所包括的跳跃数量。图8是带宽估计表800,带宽估计表800定义了在排列环状网络500的路由表700的相邻数据传输站之间的带宽。
互连矩阵600和路由表700是根据通信节点CPU_0、CPU_1、CPU_2、CPU_3、MB_0、MB_1、MB_2和MB_3、以及数据传输站A0-A7、B0-B7和C0-C7的特定要求而选择的。
通信信道102和103(包括数据传输站B0-B7和C0-C7)用于处理器CPU_0、CPU_1、CPU_2和CPU_3与存储器库MB_0、MB_1、MB_2和MB_3之间的通信。更具体而言,利用通信信道102和103,处理器CPU_0、CPU_1、CPU_2和CPU_3中的每一个处理器具有到存储器组MB_0、MB_1、MB_2和MB_3中的每一个存储器组的唯一1-hop连接。因此1-hop链路的完整带宽可用于处理器CPU_0、CPU_1、CPU_2和CPU_3与存储器组MB_0、MB_1、MB_2和MB_3之间的通信(参见带宽估计表800)。在存储器库MB_0、MB_1、MB_2和MB_3之间没有通信链路(因为在所描述的示例中,存储器库MB_0、MB_1、MB_2和MB_3并不必须彼此通信)。
通信信道101(包括数据传输站A0-A7)用于处理器CPU_0、CPU_1、CPU_2和CPU_3之间的通信以及其他存储器互连功能,包括仲裁、同步、高速缓存监听、广播和组播。如图8所示,处理器CPU_0至CPU_3之间的可用带宽小于处理器CPU_0至CPU_3和存储器组MB_0至MB_3之间的可用带宽。然而,在所描述的示例中,处理器CPU_0、CPU_1、CPU_2和CPU_3之间的通信可容许在通信信道101上存在的跳跃损耗。
以下结合图9至图11来更详细描述可经设计以用于通信节点的特定集合的排列环状网络的另一具体实施例。图9是说明了包括通过四个通信信道101-104所连接的八个通信节点N0-N7的排列环状网络900的框图,排列环状网络900包括数据传输站A0-A7、B0-B7、C0-C7和D0-D7。通信信道101-103以及数据传输站A0-A7、B0-B7和C0-C7已在上文中描述,并且额外的通信信道104和数据传输站D0-D7是相似的。通信信道104的添加使可用的1-hop链路的总数量增加达32个,使得在通信节点N0-N7之间的28个可能链路中的每一个都可利用1-hop链路来实施。因此,可于排列环状网络900中完全消除跳跃损耗(即,每一个通信节点都可直接与每一个其他通信节点通信),由此产生完全非阻塞的网络。在所描述的实施例中,排列环状网络制造于单个集成电路芯片上。
图10是互连矩阵1000,互连矩阵1000指定了在通信节点N0-N7与数据传输站A0-A7、B0-B7、C0-C7和D0-D7之间的连接。图11是路由表1100,路由表1100指定了用以链接各个通信节点对的数据传输站、以及在每一个链路中所包括的跳跃数量。注意这些链路中的每一个都具有为1.0(即,在相邻的数据传输站之间的可用带宽的100%)的估计带宽。
在图9至图11的实施例中,在每一个通信节点N0-N7与通信信道101-104之间存在四对连接。排列环状网络900的带宽可受此配置限制。即,排列环状网络900的峰值带宽可由通信节点N0-N7与通信信道101-104之间的互连所限制。因此,虽然排列环状网络900的峰值带宽能够支持彼此之间同时通信的所有节点N0-N7的带宽需求,但可能没有足够的带宽以将消息从通信节点N0-N7传输到通信信道101-104。在此实例中,通信信道101-104将具有额外(未使用)的带宽。这种额外的带宽有数个优点,包括:(1)在通信节点处较少拥塞(例如,在每一个通信节点处有四对线(与七对线相比,其否则需要七对线以允许通信节点同时与七个其他通信节点进行通信)),(2)每一对通信节点可经由其他信道来进行通信,使得排列环状网络900提供路径多样性(并且因而提供了错误容许)(即,因为排列环状网络900具有过多的带宽,因此每一个源通信节点都可视情况使用其指定信道以外的信道来与目标通信节点进行通信)。当然,这将会招致一些不必要的跳跃损耗。然而,排列环状网络900的额外带宽可以吸收一些有限量的跳跃损耗),以及(3)排列环状网络900的通信信道101-104可利用排列环状网络900的额外带宽来提供其他重要通信功能(例如广播和组播)。
如上所述,每一个数据传输站在通信节点和对应的通信信道之间转移数据(或在该对应的通信信道上的相邻的数据传输站之间转发数据)。现将利用包括数据传输站A1、通信节点N0和通信信道101的特定示例来更详细描述数据传输站、通信节点和通信信道的操作。应理解其他数据传输站以类似于数据传输站A1的方式操作(并且其他通信节点是以类似于通信节点N0的方式操作)。
图12是简化框图,其说明了根据本发明的一个实施例的通信节点N0和数据传输站A1。
数据传输站A1包括站逻辑1201、多路复用器1202、接收FIFO 1203、传送FIFO 1204以及延迟线路1205,其专用于通信信道101上顺时针方向的消息(例如,M1_IN和M1_OUT)和顺时针方向的时钟信号(例如,CK1_IN和CK1_OUT)的传播。数据传输站A1进一步包括站逻辑1211、多路复用器1212、接收FIFO 1213、传送FIFO 1214以及延迟线路1215,其专用于通信信道101上逆时针方向的消息(例如,M2_IN和M2_OUT)以及逆时针方向的时钟信号(例如CK2_IN和CK2_OUT)的传播。仲裁逻辑1210、延迟线路1220和多路复用器1225用以考虑在顺时钟方向和逆时钟方向上接收到的同时消息间的冲突并且向通信节点N0传送消息/时钟信号。
通信节点N0包括通信节点逻辑1230、接收FIFO 1231、传送FIFO 1232、延迟线路1234、通信节点时钟发生器1235以及同步器电路1236。一般而言,通信节点时钟发生器1235产生局部时钟信号CK_N0,该局部时钟信号CK_N0用以控制通信节点N0内的大部分操作。例如,通信节点逻辑1230响应于该局部时钟信号CK_N0而控制通信节点N0的操作,该通信节点N0的操作包括从接收FIFO 1231读取消息、以及对传送FIFO 1232写入消息。
现将更详细描述“顺时钟方向”的数据传输电路。注意“逆时钟方向”的数据传输电路是以类似的方式操作。
存在与数据传输站A1相关联的两组源同步互连总线。在顺时钟方向上,从相邻的数据传输站A2接收传入的消息M1_IN和源同步时钟信号CK1_IN,并且将发出的消息M1_OUT以及源同步时钟信号CK1_OUT传送到相邻的数据传输站A0。在逆时钟方向上,从相邻的数据传输站A0接收传入的消息M2_IN以及源同步时钟信号CK2_IN,并且将发出的消息M2_OUT以及源同步时钟信号CK2_OUT传送到相邻的数据传输站A2。这些时钟信号CK1_IN和CK2_IN两者都源自对应的通信信道101的主时钟信号CKA。
当消息M1_IN抵达数据传输站A1时,它会被站逻辑电路1201响应于源时钟信号CK1_IN而锁存。站逻辑1201确定该接收到的消息M1_IN是否是目标为(寻址)数据传输站A1。若是,则站逻辑1201将该接收到的消息M1_IN写入接收FIFO 1203(例如,通过激活对应的写入使能信号WE1)。以类似的方式,站逻辑1211将目标为数据传输站A1的逆时钟方向消息M2_IN写入接收FIFO 1213(例如,通过激活对应的写入使能信号WE2)。当消息被存储在接收FIFO 1203和1213中时,站逻辑电路1201和1211通知仲裁电路1210。作为响应,仲裁电路1210控制来自接收FIFO 1203和1213的读取操作,并且控制多路复用器1225以将消息M1_IN或M2_IN作为消息M_IN路由到通信节点N0的接收FIFO 1231。仲裁电路1210所实施的读取操作响应于源时钟信号CK1_IN或CK2_IN中的任意选择的一个而执行。在所示示例中,仲裁电路1210利用源时钟信号CK1_IN而执行从接收FIFO 1203和1213读取操作。仲裁电路1210利用常规仲裁策略来控制这些消息M1_IN和M2_IN的读出,该常规仲裁策略指定只要在FIFO1203或1213任一者中出现消息,就总是由仲裁电路1210读出消息。以这种方式,存储于接收FIFO 1203和1213中的消息利用预先定义的仲裁策略而被依序发送至通信节点N0。
仲裁电路1210也控制多路复用器1225以将用于从接收FIFO1203和1213读取消息的源时钟信号(例如在本示例中的源时钟信号CK1_IN)路由至延迟线路1220,延迟线路1220延迟该接收到的时钟信号以产生输入时钟信号CK_IN。延迟线路1220所引入的延迟经选择以使设定和保持时间相对于消息M_IN最大化。
消息M_IN是以源同步方式写入,其中消息M_IN响应于输入时钟信号CK_IN而被锁存到接收FIFO 1231中。响应于局部时钟信号CK_N0,消息M_IN被依序读出接收FIFO 1231而至控制节点逻辑1230。
若该接收到的消息M1_IN并非目标为数据传输站A1(即,消息在数据传输站A1上“跳跃”),则站逻辑1201控制多路复用器1202将该接收到的消息路由到数据传输站A0作为输出消息M1_OUT。延迟线路1205将延迟引入源时钟信号CK1_IN以生成输出时钟信号CK1_OUT,该时钟信号CK1_OUT也被路由至数据传输站A0。延迟线路1205引入延迟,该延迟经选择而使得消息M1_OUT相对于输出时钟信号CK1_OUT而具有适当的设定和保持时间(以结合图1B和图1C所述的上述方式)。
通信节点N0也可产生传送到数据传输站A1的消息。在一个实施例中,通信节点逻辑1230生成消息M_N0,消息M_N0被写入至局部时钟信号CK_N0的时钟域中的传送FIFO 1232中。于输入时钟信号CK_IN的时钟域中从传送FIFO 1232读取出这个消息M_N0。注意到,即使是在没有接收到消息M1_IN或M2_IN时,仲裁电路1210也总是使多路复用器1225路由被选择的源时钟信号CK1_IN以生成输入时钟信号CK_IN。从传送FIFO 1232所读取的消息M_N0被提供至数据传输站A1中的传送FIFO 1204和1214。通信节点逻辑1230向同步器电路1236提供写入使能信号W3和W4,同步器电路1236将这些写入使能信号W3和W4与输入时钟信号CK_IN同步,由此分别产生同步写入使能信号WE3和WE4。这些写入使能信号WE3和WE4分别被提供至传送FIFO 1204和1214,其中该写入使能信号WE3和WE4允许通信节点N0将消息M_N0写入到传送FIFO 1204或1214中的所期望的一个。消息M_N0是利用输出时钟信号CK_OUT而以源同步方式写入被选择的传送FIFO 1204或1214,该输出时钟信号CK_OUT是用以从传送FIFO1232读取消息M_N0的输入时钟信号CK_IN的延迟版本。在所示示例中,延迟线路1234将适当的延迟引入到该输入时钟信号CK_IN从而生成该输出时钟信号CK_OUT,从而使得将关于从传送FIFO 1232所读取的消息M_N0的设定和保持时间最大化。
假设消息M_N0是存储在传送FIFO 1204中。在这个情形中,站逻辑1201激活读取使能信号RE1,使能信号RE1使消息M_N0被读出到多路复用器1202。站逻辑1201控制多路复用器1202以在通信信道101上路由此消息M_N0作为输出消息M1_OUT。注意站逻辑1201确保此输出消息M1_OUT具有与对应的输出时钟信号CK1_OUT相适当的相位关系。即,输出消息M1_OUT被路由以使得此消息的设定和保持时间可相对于输出时钟信号CK1_OUT而被最大化。
站逻辑1211以类似于从传送FIFO 1214读取消息(利用读取使能信号RE2)、以及通过多路复用器1212路由这些消息作为输出消息M2_OUT的方式操作。
图12的实施例有利地使实施本发明的排列环状网络所需的时钟发生器的数量最小化。
图13是简化框图,其描述了根据本发明的替代实施例的通信节点N0和数据传输站A1。图12和图13中的相似元件是以相似元件符号来标示。因此,图13的数据传输站A1包括专用于顺时钟方向消息传播的站逻辑1201、多路复用器1202、接收FIFO 1203、传送FIFO 1204以及延迟线路1205,以及专用于逆时钟方向消息传播的站逻辑1211、多路复用器1212、接收FIFO 1213、传送FIFO 1214以及延迟线路1215。通信节点N0包括通信节点逻辑1230、接收FIFO 1231、传送FIFO 1232以及通信节点时钟发生器1235和同步电路1236,其已结合图12而在上文中描述。
一般而言,图13的通信节点N0包括到数据传输站(CN-DTS)时钟生成电路1301(其生成局部时钟信号CK_CD)的通信节点,该通信节点用以控制通信节点N0和数据传输站A1之间的数据转移。(这与图12中利用来自通信信道101的时钟信号CK1_IN以及CK2_IN来控制通信节点N0与数据传输站A1之间数据转移的实施例相反)。
因此,在图13的实施例中,CK_CD信号是用以从通信节点N0的传送FIFO 1232读取消息M_N0到数据传输站A1中的传送FIFO 1204和1214。延迟线路1302将延迟引入到CK_CD时钟信号以生成延迟输出时钟信号CK_OUT,延迟输出时钟信号CK_OUT被提供至数据传输站A1中的传送FIFO1204和1214。延迟线路1302所引入的延迟经选择以使关于消息M_N0的设定和保持时间最大化。同步电路1236将通信节点逻辑1230所提供的写入使能信号W3和W4与时钟信号CK_CD同步,从而分别提供写入使能信号WE3和WE4,其分别被提供至数据传输站A1的传送FIFO 1204和1214。消息M_N0被以源同步方式、分别响应于写入使能信号WE3和WE4以及输出时钟信号CK_OUT而被锁存至传送FIFO 1204和1214中。虽然若没有消息M_N0被传送则传送FIFOs 1204和1214不需要CK_CD时钟信号,但是此CK_CD时钟信号被连续传送到数据传输站A1,因为数据传输站A1利用此CK_CD时钟信号进行从数据传输站A1到通信节点N0的对消息的源同步转移(如下文将更详细描述的那样)。
从通信信道101所接收、且存储于数据传输站A1的接收FIFO1203和1213中的消息M1_IN和M2_IN由仲裁电路1310读出至多路复用器1225。仲裁电路1310利用常规仲裁策略来控制这些消息M1_IN与M2_IN的读出,该常规仲裁策略指定只要在FIFO 1203或1213任一中存在消息,消息就将总是由协商电路1310读出。
仲裁电路1310控制多路复用器1225选择性地将所检索的消息M1_IN和M2_IN路由到通信节点N0的接收FIFO 1230作为输入消息M_IN。在图13的实施例中,仲裁电路1310接收通信节点N0所提供的CK_CD时钟信号(并且在CK_CD时钟信号域中操作)。因此,消息响应于CK_CD时钟信号而被读出接收FIFOs 1203和1213。在数据传输站A1内的延迟线路1303将延迟引入到该CK_CD时钟信号,由此提供输入时钟信号CK_IN,输入时钟信号CK_IN用于以源同步方式将由多路复用器1225提供的消息M_IN转移到通信节点N0的接收FIFO 1231。延迟线路1303所引入的延迟经选择以使此源同步转移的设定和保持时间最大化。
根据本发明的一个实施例,CK_CD时钟信号的频率经选择以使通信节点N0与数据传输站A1之间的带宽要求最佳化。CK_CD时钟信号可具有除了频率通信节点域时钟信号CK_N0以及通信信道101的时钟信号CK1_IN和CK2_IN的频率之外的频率。此外,CK_CD时钟信号的频率在每一个通信节点N0-N7内不同。举例而言,在上述结合图1至图4所描述的实施例(其实施八个通信节点N0-N7以及三个通信信道101-103)中,通信节点N4和N5仅可经由数据传输站A4-A5以全带宽的60%进行通信。在此示例中,CK_CD时钟信号的频率可被设定为通信信道的频率的60%(例如,CK1_IN或CK2_IN的60%),并且仍提供所需的数据转移容量。
在图9至图11的实施例(其实施八个通信节点N0-N7以及四个通信信道101-104)中,可以通过将每一个通信节点N0-N7中的CK_CD时钟信号的频率设定为比通信信道101-104的频率更快的频率来利用排列环状网络800的额外频率。以这种方式,图13的实施例提供用于优化排列环状网络的操作频率的良好灵活性。
本发明的排列环状网络架构在通信节点数量(N)和通信信道数量(M)两者上皆可缩放。数据传输站的操作频率将不会被缩放排列环状网络架构而减慢。此外,加大通信信道数量(M)将对排列环状网络架构的总带宽提供高度非线性的改进。
本发明的排列环状网络架构可用以实施高带宽切换芯片、为芯片上多核心系统提供互连、为图形处理器单元(GPU)芯片提供互连、为系统等级FPGA提供互连、或实施用于高性能多核心且多组的末级高速缓存存储器的一致性存储器总线。
本发明虽已结合数个实施例加以描述,但是应理解本发明并不限于所公开的实施例,且能够有对于本领域技术人员而言明显的各种修改。因此,本发明仅由所附权利要求限制。
Claims (13)
1.一种排列环状网络,包括:
多个双向源同步环状网络,每一个双向源同步环状网络具有多个数据传输站;以及
多个通信节点,其中所述通信节点中的每一个通信节点都耦接至所述多个双向源同步环状网络中的每一个双向源同步环状网络中的所述数据传输站中的一个数据传输站。
2.如权利要求1所述的排列环状网络,其中所述通信节点中的每一个通信节点都包括到其他通信节点中的每一个通信节点的连接,其中所述连接包括在相邻的数据传输站之间的直接连接。
3.如权利要求1所述的排列环状网络,其中唯一一对相邻的数据传输站在所述通信节点的每一对之间提供连接。
4.如权利要求1所述的排列环状网络,其中所述双向源同步环状网络在第一时钟域中操作,并且所述通信节点中的至少一个通信节点在与所述第一时钟域不同的第二时钟域中操作。
5.如权利要求1所述的排列环状网络,进一步包括路由表,所述路由表定义所述双向源同步环状网络上用于在通信节点的可能对中的每一对之间通信的通信路径。
6.如权利要求5所述的排列环状网络,其中所述路由表指定:所述通信节点的可能对的第一群组,所述通信节点的可能对的所述第一群组通过包括所述数据传输站中的恰好两个数据传输站的所述双向源同步环状网络上的路径来通信;以及所述通信节点的可能对的第二群组,所述通信节点的可能对的所述第二群组通过包括所述数据传输站中的两个以上的数据传输站的所述双向源同步环状网络上的路径来通信。
7.如权利要求6所述的排列环状网络,其中所述第一群组包括需要第一通信带宽的通信节点对,且所述第二群组包括需要第二通信带宽的通信节点对,其中所述第一通信带宽大于所述第二通信带宽。
8.如权利要求5所述的排列环状网络,其中所述路由表指定:所述通信节点的可能对的第一群组,所述通信节点的可能对的所述第一群组通过所述双向源同步环状网络中的单个双向源同步环状网络上的路径来通信;以及所述通信节点的可能对的第二群组,所述通信节点的可能对的所述第二群组通过所有所述双向源同步环状网络上的路径来通信。
9.如权利要求1所述的排列环状网络,其中所述排列环状网络包括至少三个双向源同步环状网络。
10.如权利要求1所述的排列环状网络,其中所述数据传输站与所述通信节点之间的通信以源同步方式来执行。
11.如权利要求1所述的排列环状网络,其中所述数据传输站和所述通信节点被制造于单个集成电路芯片上。
12.如权利要求1所述的排列环状网络,其中所述通信节点耦接至在所述双向源同步网络中具有不同相对位置的数据传输站。
13.一种用于在集成电路芯片上的多个通信节点之间传输数据的方法,包括:
将消息从所述通信节点传送至多个双向环状网络,其中所述双向环状网络中的每一个双向环状网络都包括连接成环的多个数据传输站,并且所述传输节点中的每一个传输节点都将消息传送至所述双向环状网络中的每一个双向环状网络中的数据传输站;以及
以一源同步方式在所述双向环状网络的所述数据传输站之间传送所述消息。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662425798P | 2016-11-23 | 2016-11-23 | |
US62/425,798 | 2016-11-23 | ||
US15/816,374 US11196587B2 (en) | 2016-11-23 | 2017-11-17 | Permutated ring network |
US15/816,374 | 2017-11-17 | ||
PCT/US2017/062632 WO2018098087A1 (en) | 2016-11-23 | 2017-11-20 | Permutated ring network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110199502A true CN110199502A (zh) | 2019-09-03 |
CN110199502B CN110199502B (zh) | 2021-11-12 |
Family
ID=62144518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780081847.9A Active CN110199502B (zh) | 2016-11-23 | 2017-11-20 | 排列环状网络 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11196587B2 (zh) |
EP (1) | EP3545424B1 (zh) |
JP (1) | JP7019709B2 (zh) |
KR (1) | KR102214880B1 (zh) |
CN (1) | CN110199502B (zh) |
CA (1) | CA3044675C (zh) |
ES (1) | ES2932256T3 (zh) |
TW (2) | TWI834374B (zh) |
WO (1) | WO2018098087A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070662A (zh) * | 2020-07-31 | 2022-02-18 | 上海国际货币经纪有限责任公司 | 消息总线系统 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11360934B1 (en) | 2017-09-15 | 2022-06-14 | Groq, Inc. | Tensor streaming processor architecture |
US11868804B1 (en) | 2019-11-18 | 2024-01-09 | Groq, Inc. | Processor instruction dispatch configuration |
US11114138B2 (en) | 2017-09-15 | 2021-09-07 | Groq, Inc. | Data structures with multiple read ports |
US11243880B1 (en) | 2017-09-15 | 2022-02-08 | Groq, Inc. | Processor architecture |
US11170307B1 (en) | 2017-09-21 | 2021-11-09 | Groq, Inc. | Predictive model compiler for generating a statically scheduled binary with known resource constraints |
US11537687B2 (en) | 2018-11-19 | 2022-12-27 | Groq, Inc. | Spatial locality transform of matrices |
US11115147B2 (en) | 2019-01-09 | 2021-09-07 | Groq, Inc. | Multichip fault management |
US10691632B1 (en) * | 2019-03-14 | 2020-06-23 | DeGirum Corporation | Permutated ring network interconnected computing architecture |
WO2020240833A1 (ja) * | 2019-05-31 | 2020-12-03 | 三菱電機株式会社 | 冗長ネットワーク装置、冗長ネットワーク方法、冗長ネットワークプログラム、及び、送信経路冗長化システム |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6657969B1 (en) * | 1999-06-29 | 2003-12-02 | Cisco Technology, Inc. | Generation of synchronous transport signal data used for network protection operation |
US6992975B1 (en) * | 2000-08-15 | 2006-01-31 | Cisco Technology, Inc. | Multiple ring support within a single network element |
US7710878B1 (en) * | 2003-01-10 | 2010-05-04 | Verizon Laboratories Inc. | Method and system for allocating traffic demands in a ring network |
US20100188972A1 (en) * | 2009-01-27 | 2010-07-29 | Knapp David J | Fault tolerant network utilizing bi-directional point-to-point communications links between nodes |
US20100262788A1 (en) * | 2005-09-07 | 2010-10-14 | Benjamin Tsien | Pre-coherence channel |
CN102472998A (zh) * | 2010-06-09 | 2012-05-23 | Abb研究有限公司 | 安全时钟同步 |
CN103715766A (zh) * | 2013-12-18 | 2014-04-09 | 南京国电南自电网自动化有限公司 | 一种环网分布式母线保护同步方法 |
WO2016099766A1 (en) * | 2014-12-17 | 2016-06-23 | Intel Corporation | High bandwidth core to network-on-chip interface |
WO2016105817A1 (en) * | 2014-12-22 | 2016-06-30 | Intel Corporation | Link delay based routing apparatus for a network-on-chip |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4501021A (en) | 1982-05-03 | 1985-02-19 | General Signal Corporation | Fiber optic data highway |
JPH06332852A (ja) | 1993-05-20 | 1994-12-02 | Hitachi Ltd | データ転送システム |
US5535213A (en) | 1994-12-14 | 1996-07-09 | International Business Machines Corporation | Ring configurator for system interconnection using fully covered rings |
DE69832691D1 (de) | 1997-02-17 | 2006-01-12 | Comm & Control Electronics Ltd | Lokales kommunikationssystem |
JP3001455B2 (ja) | 1997-04-24 | 2000-01-24 | 甲府日本電気株式会社 | データ転送装置 |
US7027447B2 (en) * | 2000-02-29 | 2006-04-11 | Texas Instruments Incorporated | Communications interface between clock domains with minimal latency |
US7509403B1 (en) | 2000-09-28 | 2009-03-24 | Alcatel-Lucent Usa Inc. | Method and apparatus for SONET/SDH ring load balancing |
US7356030B2 (en) | 2000-11-17 | 2008-04-08 | Foundry Networks, Inc. | Network switch cross point |
US7212490B1 (en) * | 2001-07-06 | 2007-05-01 | Cisco Technology, Inc. | Dynamic load balancing for dual ring topology networks |
ITMI20012088A1 (it) * | 2001-10-10 | 2003-04-10 | Cit Alcatel | Metodo per propagare l'informazione di guasto in una rete rpr e relativo tipo di pacchetto rpr |
JP2004193686A (ja) | 2002-12-06 | 2004-07-08 | Nec Access Technica Ltd | カメラ付き携帯端末 |
US20070255874A1 (en) | 2006-04-28 | 2007-11-01 | Jennings Kevin F | System and method for target device access arbitration using queuing devices |
US20100268977A1 (en) | 2009-04-17 | 2010-10-21 | Himax Media Solutions, Inc. | Method and apparatus for accessing memory units |
US8713277B2 (en) | 2010-06-01 | 2014-04-29 | Apple Inc. | Critical word forwarding with adaptive prediction |
US9268691B2 (en) | 2012-06-11 | 2016-02-23 | Intel Corporation | Fast mechanism for accessing 2n±1 interleaved memory system |
US9552619B2 (en) | 2012-08-08 | 2017-01-24 | Megachips Corporation | Image processing apparatus and image processing interface circuit |
US9292456B2 (en) | 2013-09-16 | 2016-03-22 | Freescale Semiconductor, Inc. | System and method for data synchronization across digital device interfaces |
CN107430166B (zh) | 2015-04-16 | 2020-01-10 | 瑞萨电子株式会社 | 半导体器件及扫描测试方法 |
US20180173534A1 (en) | 2016-12-20 | 2018-06-21 | Intel Corporation | Branch Predictor with Branch Resolution Code Injection |
US10459866B1 (en) * | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
-
2017
- 2017-11-17 US US15/816,374 patent/US11196587B2/en active Active
- 2017-11-20 EP EP17874768.9A patent/EP3545424B1/en active Active
- 2017-11-20 WO PCT/US2017/062632 patent/WO2018098087A1/en unknown
- 2017-11-20 ES ES17874768T patent/ES2932256T3/es active Active
- 2017-11-20 TW TW111142434A patent/TWI834374B/zh active
- 2017-11-20 TW TW106140090A patent/TWI786073B/zh active
- 2017-11-20 CA CA3044675A patent/CA3044675C/en active Active
- 2017-11-20 CN CN201780081847.9A patent/CN110199502B/zh active Active
- 2017-11-20 KR KR1020197017873A patent/KR102214880B1/ko active IP Right Grant
- 2017-11-20 JP JP2019547589A patent/JP7019709B2/ja active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6657969B1 (en) * | 1999-06-29 | 2003-12-02 | Cisco Technology, Inc. | Generation of synchronous transport signal data used for network protection operation |
US6992975B1 (en) * | 2000-08-15 | 2006-01-31 | Cisco Technology, Inc. | Multiple ring support within a single network element |
US7710878B1 (en) * | 2003-01-10 | 2010-05-04 | Verizon Laboratories Inc. | Method and system for allocating traffic demands in a ring network |
US20100262788A1 (en) * | 2005-09-07 | 2010-10-14 | Benjamin Tsien | Pre-coherence channel |
US20100188972A1 (en) * | 2009-01-27 | 2010-07-29 | Knapp David J | Fault tolerant network utilizing bi-directional point-to-point communications links between nodes |
CN102472998A (zh) * | 2010-06-09 | 2012-05-23 | Abb研究有限公司 | 安全时钟同步 |
CN103715766A (zh) * | 2013-12-18 | 2014-04-09 | 南京国电南自电网自动化有限公司 | 一种环网分布式母线保护同步方法 |
WO2016099766A1 (en) * | 2014-12-17 | 2016-06-23 | Intel Corporation | High bandwidth core to network-on-chip interface |
WO2016105817A1 (en) * | 2014-12-22 | 2016-06-30 | Intel Corporation | Link delay based routing apparatus for a network-on-chip |
Non-Patent Citations (2)
Title |
---|
AYAN MANDAL等: ""Architectural simulations of a fast, source-synchronous ring-based Network-on-Chip design"", 《2012 IEEE 30TH INTERNATIONAL CONFERENCE ON COMPUTER DESIGN (ICCD)》 * |
张勇: ""嵌入式系统中互连网络流量控制及优化"", 《中国博士学位论文全文数据库——信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070662A (zh) * | 2020-07-31 | 2022-02-18 | 上海国际货币经纪有限责任公司 | 消息总线系统 |
Also Published As
Publication number | Publication date |
---|---|
CA3044675A1 (en) | 2018-05-31 |
EP3545424B1 (en) | 2022-10-19 |
EP3545424A4 (en) | 2020-07-22 |
CN110199502B (zh) | 2021-11-12 |
US20180145850A1 (en) | 2018-05-24 |
JP7019709B2 (ja) | 2022-02-15 |
TW202324975A (zh) | 2023-06-16 |
TWI834374B (zh) | 2024-03-01 |
CA3044675C (en) | 2023-08-29 |
TW201828764A (zh) | 2018-08-01 |
EP3545424A1 (en) | 2019-10-02 |
WO2018098087A1 (en) | 2018-05-31 |
JP2019536399A (ja) | 2019-12-12 |
ES2932256T3 (es) | 2023-01-17 |
US11196587B2 (en) | 2021-12-07 |
KR102214880B1 (ko) | 2021-02-09 |
TWI786073B (zh) | 2022-12-11 |
KR20190085540A (ko) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110199502A (zh) | 排列环状网络 | |
US10027433B2 (en) | Multiple clock domains in NoC | |
Zhao et al. | SD-MAC: Design and synthesis of a hardware-efficient collision-free QoS-aware MAC protocol for wireless network-on-chip | |
US9634866B2 (en) | Architecture and method for hybrid circuit-switched and packet-switched router | |
EP2589186B1 (en) | Providing a bufferless transport method for multi-dimensional mesh topology | |
US20110103799A1 (en) | Systems And Methods For On-Chip Data Communication | |
JP2016525290A (ja) | NoCを構成するための方法及びシステム並びにコンピュータ可読記憶媒体 | |
EP3545653B1 (en) | Distributed control synchronized ring network architecture | |
US8503482B2 (en) | Interconnects using self-timed time-division multiplexed bus | |
CN102780936B (zh) | 无阻塞通信的光片上网络系统及其通信方法 | |
Jain et al. | Asynchronous bypass channels: Improving performance for multi-synchronous nocs | |
CN111786911A (zh) | 一种混合无线光片上网络架构及其多播路由算法 | |
Bista et al. | A new approach for energy-balanced data aggregation in wireless sensor networks | |
Pande et al. | The (low) power of less wiring: Enabling energy efficiency in many-core platforms through wireless noc | |
Shamim et al. | Energy-efficient wireless interconnection framework for multichip systems with in-package memory stacks | |
WO2009110588A1 (ja) | データ転送装置及び方法並びに半導体回路 | |
Weber et al. | Exploring asynchronous end-to-end communication through a synchronous NoC | |
Zhao et al. | MTNET: Design and optimization of a wireless SOC test framework | |
Liu et al. | Topologies in distributed machine learning: Comprehensive survey, recommendations and future directions | |
Naqvi et al. | A multi-credit flow control scheme for asynchronous NoCs | |
Mitra | LAWI: A load balanced architecture for wireless network on chip | |
CN110417681A (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 |