使用于互连结构的可缩放低等待时间开关的制作方法

文档序号:7579812阅读:910来源:国知局
专利名称:使用于互连结构的可缩放低等待时间开关的制作方法
技术领域
本发明涉及计算与通信系统的互连结构,特别涉及一种用于多层互连结构的可缩放低等待时间开关。
在计算机科学领域里长久以来重要而未解决的问题为缺乏一个可缩放低等待时间的互连结构,其在满载情况下仍能承受高输贯率(throughout)(高横截面带宽)。现存的互连设计如banyon,omega及fat-tree网络,多层栅格(grid),凸圆状(torus)及超立方体网络在不同程度上皆缺乏无限缩放的功能及支持通讯载荷时的低等待时间及高输贯率。这些网络的几何形状由十九世纪的数学家及更早的几何学家所发展而成,却从未企图支持一消息发送的方法。
需要一互连结构及一合适的开关以用于形成实际可无限缩放并支持低等待时间及高输贯率的互连结构。
具有这些优点特性的一互连结构及开关在许多电子设计环境应用范畴包括超级计算机网络及如局域网(LAN)/互联网开关架构及电话开关架构的网络开关架构环境中是有用的。
各种电子设计环境的目的是不同的。例如,设计超级计算机的主要目的在于低等待时间。相较之下,局域网/互联网开关架构设计的主要目的却在于可缩放性,而非等待时间。另外,电话中央办公室开关的主要目的在于高可缩放性及低成本,而较少关心等待时间及带宽。
用于超级计算机设计的开关使用昂贵硅制造技术来制造。设计参数经特殊定义且一成不变地遍及于超级计算机。尤其字大小、寻址方案、尺寸和容量在超级计算机中一般是不变的。单一编译器的原理设计及操作系统的定义和需求组一般用于超级计算机中。同样地,超级计算机系统包含单一定义的操作速度及电压。超级计算机利用相容的元件,存储器、处理器、电源等。
虽然网络规模的变化很大,一超级计算机的设计一般具有比局域网(LAN)/互联网为小的最大规模。一超级计算机的设计通常具有从数百个到几千个端口(ports)的范围大小,而一网络容量的范围却有数百到数千个或更多的端口。一超级计算机系统藉由多个相同的叠层集成电路的使用而使用具高度并行的开关设计。通常,提供超级计算机网络的节点于只有少数节点制作于电路板上的单一集成电路芯片上。节点的互连以多条昂贵的高速电缆来连接。超级计算机的设计并行延伸至地址及控制方面的问题和封装以达成减少等待时间及增加每个端口的带宽。
与超级计算机开关实施成对比,用于一网络设计如LAN/互联网设计的开关一般是利用可能具有不同设计参数的多个集成电路。一般而言,小型网络的设计参数实质上是与大型网络的设计参数不同的。例如,大型网络有时使用一扭曲立方或二维的设计。具有数十万个端口的超大型网络通常使用三维或四维拓扑,其由互连或串接多个开关电路至超大型开关的meta(元)-拓扑所形成。需要开关电路的不同实施以有效构筑具有不同meta-拓扑的LAN/互联网,尤其供应适合的输入和输出信号时序。网络比特速率通常比超级计算机的比特速率来得慢且大为不同。例如,乙太网络(ethemet)使用10Mbit/s速率。令牌环(token ring)具有12Mbit/s的速率。一快速乙太网络达到100Mbit/s的速率,而ATM达到25Mbit/s至622Mbit/s的速率。
传统开关技术在互连结构技术的支持有许多的缺失。首先,没有开关架构或技术可以合理价格来支持超过12至24个端口。例如,八个端口的令牌环网络开关的价格约为$10,000。八至十六个端口的乙太网络开关的价格范围为$4,000至$10,000。
互连开关技术的第二缺失为单一开关设计无法支持多重不同通信协议。引脚限制的设计容易只支持具有一小的分组长度如ATM的通信协议。不同的分组大小直接影响集成电路芯片设计,使得分组大小的广泛差异性导致在设计开关规格上有很大的不同性。例如,一开关至少有一次为集成电路开关中的每个端口缓冲最大分组尺寸的整个长度。因此,所定义的ATM分组大小为53字节,使得ATM设计的小型有效载荷会引起集成电路中门的有效利用。乙太网络的分组大小为有变化的且范围可达到约2K字节,其需要许多门以缓冲一消息。同样地,令牌环网络的分组大小范围可达到约4K字节,且光纤通道大小实际上没有限制,其使用大型电路面积作消息的缓冲。
需要用于局域网使用的一般开关电路,更需要的是用于建造提供IEEE网络规格的网络的一普通开关电路。
一非常有用的互连结构对所有类型的计算机,网络和使用一种根据藉由互连结构通讯的消息的时序和定位的数据流技术的通信系统有用。开关控制分布于此结构中的多个节点,而可避免提供一整体控制功能以及复杂逻辑结构的管理控制装置。该互连结构以一“偏离(deflection)”或“烫手山芋(hotpotato)”系统操作,其中可减少在每一节点上的处理和储存。整体控制装置的去除和在节点的缓冲大大地减少该互连结构中的控制和逻辑结构的数量,简化整个控制元件和网络互连元件以及改善消息通信的速度性能。
可缩放低等待时间开关延伸了互连结构的使用和好处且包括伴随一新颖消息发送方法的一新颖结构组以避免先前存在网络受到限制。当该互连结构尺寸趋近无限时,使用可缩放低等待时间开关的互连结构的简单实施例的输贯量可多出20%。飞行时间(time-of-flight)(等待时间)一般不会超过首标(header)进入网络实耗时间的两倍,甚至当该互连结构处于完全负载的情况。使用可缩放低等待时间开关的互连结构的另一实施例,称为“平坦等待时间互连结构”,在每个节点具有二或多个向下路径,且当规模趋近无限时改善其输贯量超出40%。
根据本发明的一构想,可缩放低等待时间开关设计符合在多重互连设计种类的高度采取攻势的目的。该可缩放低等待时间开关在广大的市场中满足许多不同集成电路的布局以用于多重设计种类。
该可缩放低等待时间开关是由许多非常简单的控制单元(节点)所组成。该控制单元排列成阵列方式。在一阵列中的控制单元数目为一设计参数,一般范围为64至1024且通常为二的乘方。该阵列排列成层和行。一般行数的范围为4至20或更多。当每一阵列包含2J个控制单元,层数一般为J+1。根据决定开关尺寸,效能和种类的多种设计参数而设计该可缩放低等待时间开关。具有数十万个控制单元的开关布局于单一芯片中,使得开关的有用尺寸受到引脚数的限制,而不是网络规模。
该可缩放低等待时间开关的多重设计参数决定了用于建构开关的一电路布局。除了每一阵列的控制单元数目和阵列总数,可作其他设计的选择。在一基本设计中,该控制单元具有两个数据输入端口和两个数据输出端口。更复杂的设计如一“配对单元”的设计,其结合基本单元的元件以形成较大型的控制单元。该较大型的控制单元形成更复杂的节点。如“配对单元”设计的混合单元的好处为具有较低的整个等待时间和减少等待时间的差异性。与该基本设计相较之下,该混合单元可以称为“平坦等待时间”开关,此乃因等待时间差异性的减少。该配对单元设计包括比两个单独单元更多的门,但因为平坦等待时间可适用于超级计算机和作为如Gigabit乙太网络和ATM开关的快速网络的开关结构。
设计参数还包括时序类型,其包括一基本时序图和流水线逻辑图。该流水线逻辑在网络中“起涟波”,因此被称为起涟波型(ripple-up)设计。起涟波型流水线逻辑以较少时钟周期藉由网络传输消息。相较之下,该基本时序设计以最快可能的I/O速率操作一集成电路芯片。
消息一般是由顶层(第L层)进入该互连结构的阵列且由底层(第0层)离开。消息如“虫蛀的孔”穿过芯片中的控制单元,数据比特由左至右和由上至下而移动。在一简单时序图中,首标比特在二段时间(二个时钟周期)移动于一既定层中单元之间,且在一短时间移动于不同层的节点之间。有效载荷比特,像首标比特一样,使用二个短时间在相同层中由一单元移至另一单元,且瞬间有效地由一层向下移动至另一层。在起涟波型时序图中首标和有效载荷比特只使用一短时间于既定层中节点之间移动。有效载荷比特瞬间有效地由一层向下通过另一层。在该配对单元设计中,只有当偏离时,消息才会在既定层的单元之间移动。因此,未偏离的消息具有直接由输入引脚移动至输出引脚的有效载荷比特。使用可使消息如虫蛀的孔穿过的时序图而达到引脚与引脚的连结。
该开关的一些实施例包括一多元播送(multicasting)的选择,其中可执行一对所有或一对多的消息传播。以使用多元播送选择,任何输入端口可选择地传送消息至许多或所有输出端口。该消息在开关中被复制,以每个输出端口产生一副本。多元播送功能适合于ATM和LAN/WAN开关以及超级计算机。多元播送以直进模式进行,其使用另一控制线以增加约20%至30%的集成电路逻辑。一多元播送开关结合起涟波型逻辑会增加时序的复杂性,特别当设计包括了平坦等待时间操作。
在一实际实施中,一具有互连结构拓扑的硅开关受到引脚限制。换句话说,制造该开关所需的逻辑门的最小数目实质上比所得的数目来得小。当集成电路芯片尺寸增加时,面积以平方增加而周长以线性增加。因此,一较大型集成电路芯片具有比I/O引脚数所保证的门来得多。根据本发明的一些实施例,使用过多逻辑门以达到低等待时间。根据本发明的其他实施例,2K字节或更多的LAN消息包括许多动态先入先出(FIFO)缓冲器以消耗过多逻辑门。
Coke S.Reed在1995年7月21日申请的美国专利申请案号08/505,513,案名为“MULTIPLE LEVEL MINIMUM LOGIC NETWORK(多级最小逻辑网络)”,公开了一多层最小逻辑(MLML)网络,其全部包含在此文中作为参考。多层最小逻辑网络的光学实施例具有一结构,其中一最外面圆柱(顶层)的节点具有输入端口以接收消息。在一全局时钟的短时间内,消息被插入至该最外面圆柱(顶层)的未锁节点之中。节点间的光学互连线(光纤)传送消息使得整个消息适合于相邻节点之间。
虽然多层最小逻辑网络传送消息没有使用电子存储装置如存储器或缓冲器,但在多层最小逻辑网络的电子设计实施中,节点间的互连线可以先入先出(First-in,First-out,FIFO)缓冲器进行。例如,多层最小逻辑网络的一电子版的一可能实施例主要是由FIFO构成,且藉由芯片中节点间的至少转接数乘以消息长度乘以电路时钟速率而有一最小等待时间。去除FIFO缓冲器的电子设计将导致节点转接数乘以电路时钟速率的一最小等待时间。再者,去除FIFO缓冲器可允许芯片主要是由单元或节点所组成而不是FIFO元件,其有利于允许更大的网络适合于一芯片以及利用虫蛀的孔型路径而大大地减少等待时间。
使用可缩放低等待时间开关的互连结构使用藉由插入消息至芯片的新颖过程达到虫蛀的孔型路径通过集成电路芯片的方法。如果整个消息适合于第A和B行之间,消息会同时被插入于第A和B行,而非同时以每一角度插入消息于外面圆柱的每一未锁节点之中。消息在时间0时被插入至第0行。消息在时间t0+tc时被插入至第1行,其中时间tc为消息的第一比特在顶层由第0行移至第1行的时间。消息在时间t0+2tc时被插入至第2行,以此类推。此方法有利于避免一消息的第一比特与已在开关中的另一消息的一内部比特相冲突。因此,所有消息之间的竞争以解决只具有消息如虫蛀的孔通过许多单元的所欲结果的第一比特之间的竞争来处理。在许多实例中,有效载荷的第一比特在有效载荷的尾端比特进入之前离开该芯片。
根据本发明的一构想,使用由具有比输入和输出引脚数所保证的行数多二至四倍或更多的行数的开关所构成的过多逻辑门达到较低等待时间设计。在过多输入引脚数的行中没有输入连结,其以有效减少一消息在通过该开关时间为另一消息所偏离的可能性来减少开关中的竞争。等待时间随每一偏离的出现而增长。供应未连接于输入线的其他行实质上会减少开关内的消息流密度和有利于减少等待时间。在本发明的各个实施例中,定义不同的输入端口和行组态以调整和协调消息流密度,且利用比I/O连接为多的内部逻辑。
根据本发明的另一构想,定义不同的输出端口和行组态以支持不同互连目的。互连结构的两个主要种类为超级计算机和网络(LAN/互联网)设计结构。一超级计算机的输出端口组态忽视一输出信号的行地址且立刻自该开关汲取一消息。一消息具有多个至一目标的离开端口,即一组外部缓冲器。开关的尺寸等于列数,尽管许多行包括于此设计中。
相较之下,一网络(LAN)输出信号可使用一与多个目的地的一特殊消息目的地有关的特殊行地址。该输出结构的大小为列数乘以外部行数,一输出组态实质上是与一超级计算机的输出组态相反。
总而言之,一种可应用于超级计算机的输出设计供应一最高的带宽和最低的等待时间。可应用于网络的第二种设计供应可能的最大端口数目。
根据本发明的不同实施例,一可缩放低等待时间开关支持一广大范围的互连目标以用于许多互连应用。该可缩放低等待时间开关支持平坦等待时间控制单元和单列控制单元。该开关支持单一短时间的时序和起涟波逻辑时序。在一些实施例中,该可缩放低等待时间开关支持多元播送(multicasting)而在其他实施例中该可缩放低等待时间开关不支持多元播送。该可缩放低等待时间开关的各种实施例支持不同输入端口结构以达到各种设定的消息流密度,且支持不同输出端口结构以应用于低等待时间超级计算机至多端口LANs的范畴中。该开关支持自小型超级计算机消息至巨大型LAN消息的各种消息。
根据本发明的另一构想,该可缩放低等待时间开关可作为一光学实施例,除了虫蛀的孔路径外,其具有几个好处优于MLML网络专利,此外,在一些实施例中,一消息首标在一电子网络中会经过处理,该电子网络设定门在一“从属”光学网络,只携带有效载荷。该电/光混合开关有益于利用每一技术的优良特色。
在一些实施例中,该可缩放低等待时间开关可制作于一单一芯片上。一般来说,传统网络是作为独立节点的一收集站,其与电路板和多重电缆互连。该传统实施昂贵且需要许多芯片,电路板和高速电缆。该传统实施具有一等待时间,最理想为几微秒甚至到非常低消息密度的几百微秒。相较之下,以使用现在的ASIC技术,一全载的512-端口可缩放低等待时间开关的等待时间容易落在20-100纳秒范围中。
互连结构与可缩放低等待时间开关的好处在下表中描述,该表比较了现今传统网络和使用可缩放低等待时间开关的结构的互连设计特征
有关结构和操作方法的本发明实施例请参阅附图的说明,俾得一更深入的了解。在不同图中使用相同标号表示类似或相同的项目。
图1A为以概观形式说明可应用于本发明的几个实施例的一可缩放低等待时间开关的基本元件和互连该基本元件的结构的方块图。
图1B为说明该方块图的一层中由右至左的连接图。
图1C为该互连结构的一般化实施例的摘要示意图,其说明控制单元如何成为组群的元件,如何互连组群,数据如何由一单元流通至另一单元以及如何连接控制信号。
图1D为以消息形式移动数据通过该互连结构的一般方法的概观图。
图2A,2B和2C为说明传送通过图1A所示的开关的消息布局的示意图;图2A涉及有一列首标的一消息;图2B涉及具有列及行首标的消息;图2C涉及用于多元播送的一消息。
图3为说明开关阵列互连的示意互连图,其包括详细的开关阵列互连关系,例如数据和占用信号的连接。
图4为说明输入信号时序和输出信号时序的时序图,其描述在一通信技术的简化实施例中消息进入和离开开关的时序和控制。
图5A为显示一三态输入端连接于该开关的摘要示意连接图;图5B为应用于图5A所示的开关的控制时序信号的时序图,其使用三态时序以允许只使用单一引脚以用于控制(输出)和数据(输入),因为控制和数据信号是在不同时间产生。
图6A和6C分别为8-列表和16-列表,图6B为说明一种产生用于分配控制单元于开关内的位置序列的方法的示意图。
图7A说明如何使用一二叉树状发送技术将消息发送通过图1A所示的开关,其中消息具有多个路径到达其目标列。
图7B说明一实施例,其较低层具有一增加的列数以利当消息到达其目标前减少消息拥塞。
图8A为说明用于在一路径上将消息由一层移至下个较低层的消息而至一预定目标的技术的示意方块图。
图8B显示在一较低层的一消息可阻挡在下个较高层的消息立刻移至较低层,且该被阻挡的消息有另一机会使用图8A所说明的技术移至较低层。
图9为传送互连图,其说明在一列的一消息路径与在较低层的列的连结关系以及强调因图6B显示的8-列表所描述互连方式的位置序列,以达到在一后续过程通过该互连结构的一消息为相同消息所阻挡的可能性非常低的好处。
图10为说明当消息通过该开关时,一消息首标通过该开关及缩短该消息首标的长度的示意图,使得在消息到达该开关底部之前将整个首标移除,此有利于造成较低等待时间和较简单的逻辑处理。
图11A为构成一先入先出(FIFO)缓冲器的一串连延迟元件,图11B为一种由延迟元件所组成的动态FIFO缓冲器,以及图11C为一光学FIFO结构。
图12A为显示在互连的相同行中不同层的控制逻辑的相对时序图。
图12B为显示在互连的相同列中不同层的控制逻辑的相对时序图。
图13A为用于一向下移动的消息的控制单元状态的概要图。该单元的状态储存于一锁存器中。也显示用于逻辑处理的延迟元件以及向上向下向左向右的互连方式。
图13B为用于一向右移动的消息的一控制单元状态的概要图。该单元的状态储存于一锁存器中。
图14为控制消息流通过一控制单元所需的一般逻辑元件的流程图。如果此消息存在的话,此结果是为设定控制单元的状态,使其送出向下或向右的消息。
图15A为高于第0层的一些层的控制单元实施例的逻辑门的详细说明图。此为图13A和图13B的完整说明,以及进行图14的流程图所述的处理过程。
图15B为在第0层的控制单元实施例的逻辑门的详细说明图,用于结合图2B所示的行定址的消息。
图16A为高速时序(无层间延迟)开关及其控制单元的时序图。所有层的处理过程在相同时钟周期发生,因而减少等待时间。
图16B为连接于相同行的二个高速控制单元的详细说明图,讨论该高速“起涟波”逻辑。
图17为一8列乘以4行的32端口开关图,其显示在所有开关阵列中所有控制单元的布局及互连方式,该开关阵列构成一开关的完整实施例。
图18A显示一平坦等待时间控制单元的七种状态,亦即在二列输入及二个向上向下输入和输出的单元的互连方式。
图18B为描述至一平坦等待时间控制单元的许多输入值的结合如何决定其是在哪一个状态的表格。该状态用以控制进入该单元的0,1,2,3或4个消息流。
图18C为一平坦等待时间控制单元的详细示意图,其使用图18B的表所决定的状态以设定该逻辑门因而发送消息通过该单元。
图18D为一代表用于后面附图中的一平坦等待时间控制单元的简明符号。
图19说明一16列乘以4行的64-端口平坦等待时间开关的完整互连方式及布局,其形成一平坦等待时间开关的完整实施例。其显示在所有开关阵列中所有控制单元的位置及互连方式,以及讨论如何进行布局。
图20A,20B和20C为单一路径和平坦等待时间开关的顶层的另一实施例,相对于最大可能的输入数,其有利于减少至开关的输入数目,因而降低消息密度和减少开关内的拥塞。
图21A,21B和21C显示在一层和各层的不同右至左互连方式,以用于各种有利的设计需求。
图22A为一低等待时间输出电路的方块图,用于图2A所描述的消息以及企图为最低可能等待时间所用,如用于一超级计算机;图22B为图22A所示的一元件的详细图。
图23A为使用图2B所描述的列和行定址的一开关输出的方块图,且企图为一大容量开关所使用,例如具有非常多端口的一ATM或电话开关;图23B和图23C详细说明图23A的元件。
图24A为使用图2C所描述消息的一多元播送控制单元的元件方块图,以达到传送一消息由一输入端至一输出端的目的,或是为广播(多元播送)一消息至许多输出端或所有输出端口。
图24B,24C和24D以整个形式说明当一多元播送消息沿一列移向右时的一多元播送控制单元的状态。
图25A,25B和25C为描述以一多维拓扑形成的多芯片开关的消息首标布局。
图26A为说明如何互连多个芯片以产生具有许多输入输出端口的开关的示意图。
图26B为一代表图2D互连开关系统的符号,意指为“扭曲立方”。
图27为说明如何以三维结构互连多个芯片以产生具有相当多输入输出端口的一开关的示意图。
图28为说明如何以四维结构互连多个芯片以产生具有非常多输入输出端口的一开关(“4D开关”)的示意图。
图29A说明如何将一消息分割成为原来大小的一半的二个消息以进入一低等待时间开关。
图29B为一分割首标开关的方块图,其在一具有主从关系的开关中使用图29A的分割消息,以减少约两倍的低等待时间。
图30A为显示为一电-光开关所处理的一光学消息的布局。
图30B为处理图30A所描述的消息的一电-光控制单元。
图30C为用于图30A所描述的光学消息的最上面或输入控制单元。
图30D为用于处理一光学消息的光学放大器/再生器的符号。
图30E为一完整电-光开关,其显示图30B和图30C所描述的控制单元的互连方式以及单元的光纤互连方式。
图31为由以一主从关系连接于一简化的光学控制单元的一电子控制单元所组成的一混合控制装置,以达到显著减少等待时间以及达到非常高带宽的目的。
图32为使用图31所描述的两种类型的控制单元的一部分的混合电-光开关以及其互连方式。
在不同附图中所使用的相同符号表示相似或相同项目。
用于高带宽通信和计算机网络应用的可缩放低等待时间开关具有许多交互结构以执行许多类型的功能和大范围的电容量和效能特征。第一实施例描述一开关衍生自二的乘方设计规则,支持消息虫蛀孔路由选择,只处理单一消息长度,点对点消息传输,每一层具有一固定列数,且不适合一平坦等待时间分布。开关100的第一实施例的描述形成建立所欲的额外功能和特征的基础。额外功能和特征一般包括多元播送(一对多)传输能力,各种长度消息的切换,低等待时间传输,多芯片实施,以及一光纤开关的控制。该互连结构的不同实施例在Reed的美国专利申请号08/505,513中仔细讨论。
请参阅图1A,该可缩放低等待时间开关100的一实施例包括串连数据传输装置的多列排列在多行160,162和164中以及在多层130,132,134和136上。在每一行中以数据总线122和控制总线124的结构互连各层。L+1层以第0层130,第1层132,至第L层136列出。这些层包括多个列R170。该列执行一串连数据传输126,沿每一列或每一层互连一开关阵列120的序列和一光学先入先出(FIFO)串连延迟元件114。
以一消息形式的串连数据经过所有数据输入总线102或由许多行进入开关100。该数据输入总线102包括多个串连数据输入端口104。串连数据藉由在每行的数据输出线158离开该开关100。该数据总线包括多个串连数据输出端口154。也请参阅图2A,有利于进入任何输入端口104的消息200离开该消息首标所指定的该输出端口154。在一实施例中,由开关100的一半导体芯片实施所组成,在该芯片中,该输入端口104包括一输入引脚连接点,以及一输出端口154包括一输出引脚连接点。在为高速操作所设计的另一实施例中,多个引脚作为一单一输入端口或输出端口连接点。多个芯片并行操作以产生一大型,高速,非常低等待时间的开关。在为非常多的I/O端口所设计的再另一实施例中,多个特别互连的芯片构成该开关100的单一实施。
在开关100的实施例中,K行以0,1,...,K-1列出,包含R个串连数据传输线170的每行连接产生达到R乘以K个输入端口104,且达到R乘K个输出端口154。该数据线数目R较佳是等于或小于2L,其中L+1为开关100的层数。在开关100的一实施例中,R170等于2L且K较佳为一偶数以达到有利的最小消息阻挡,此将在后面讨论之。在开关100的一实施例中,在一较低的第j层的列数170大于在其上的第j+1层的列数;在此实例中,R170意指底层的列数。表一举出用于大范围较佳的K和L值的开关100大小的实例。在开关100的一些实施例中,地址端口数与列数相同,该行为该端口有利地提供一带宽的实质增加。
表一
请参阅图1A,每条行时序控制线与行160,162和164相连,多个行时序控制线108发出该个别行已准备接收来自一外部装置的数据的信号。在每行的多个端口取得线106,配合行时序-控制线108,发出可获得一对应串连输入端口104以接收数据信号。在结构116所示的一实施例中,多个缓冲器112串连消息且将其储存以用于后续注入于顶层L136的开关阵列120中。选择的输入结构116配合输入缓冲器112以控制进入该开关100的消息200的时序,以及控制后续的缓冲和注入该串连消息于在该开关100的顶层136的一开关阵列120中。在开关100的另一实施例中,省略该结构116且数据立刻自输入端口104移至该开关阵列120。
在每行的多个输出控制线156接收来自一外部装置的一装置准备信号。该信号表示该外部装置已准备接收来自一对应的串连输出端口154的一消息200。在显示于输出结构180的一实施例,在发送一消息通过开关100之后,多个输出缓冲器152储存该消息。在开关100的另一实施例中,省略该结构180。在此实施例中,在底层的一开关阵列120直接连接于输出端口154。此外,输出控制线156同时连接于在底层的该开关阵列120。
为串连数据形式的消息自输入端口104进入至该开关阵列120的最上层136。在一实施中,该消息接着向右移至下一个开关阵列。该下一个开关阵列决定是否该消息应往下传送至下一个较低层134,或是是否其应向右传送且仍然在同一层136。在一消息向右移至在下一行的开关阵列120之后,仍然在同一层的该消息可能有一机会向下移至下一个较低层。一向下落至该下一个较低层134的一消息进入在那层的开关阵列,在那儿其可以立刻向右移至在同一层134的下一个开关阵列120。由上层进入一开关阵列120的消息总是离开该开关阵列而向右。由左进入一开关阵列120的消息离开该开关阵列而向右或向下。
若一消息由上层进入一最右行164或是若一消息由左到达该最右行164,该消息进入可选择的串连FIFO延迟元件114。在离开该FIFO之后,该消息传递至列出口点172。在一实施例中,出口点172连接于输入端口104,在另一实施例中,该点内部连接于在相同层的相同列的列入口点174,或外部连接于在另一芯片的相同层的该点174。每当一消息向右且进入下一行的该开关阵列120,仍然在一特别层的一消息可能有一机会向下落至该下一个较低层。在一实施例中,FIFO 144的长度固定;在另一实施例中,FIFO144的长度不同以允许有效率的各种长度消息处理;在再另一实施例中,皆省略FIFO。该FIFO的结构和功能将在后面讨论之。
进入该开关100的消息200的时序藉由行准备信号108配合端口占用信号106来调节,使得该信号的第一比特在时序控制结构142所决定的时间进入该开关。该结构由时钟信号140和消息长度控制信号144作外部控制。进入相同行的一输出端口104的所有消息在相同时间进入。进入一行而至该行的右边的消息在较晚时间进入,使得在相同层的所有消息的首标比特可排列,即使这些消息进入不同行的层中。相较之下,在Reed的美国专利申请号08/505,513所讨论的MLML网络中,消息是同时进入所有行。在该开关100的图示说明实施例中,只有一比特延伸于行间,而不是在例行技术中整个消息的所有比特皆称为消息“虫蛀孔”。行间的时序由延迟元件148来调节,该时序将在后面讨论之。在该开关100的一实施例中,进入一给定层的一开关阵列120的一消息的时序不同于进入不同层相同行的另一开关阵列的消息的时序。在此实施列中,层间的时序由延迟元件146来调节。在另一实施例中,整个时钟时序对许多或所有层来说为相同的,且省略该延迟元件146。
一层中的连接请参阅图1B并配合图1A,其显示在一层中由右至左的列连接。右手边的出口点172向后连接至左而至在相同层的一列输入点174。在一些实施例中,可使用一排列166,其中离开右手边的一消息发送至相同层的左手边的一不同列。在其他实施例中,右手边的一连接点连接至相同的列。图21A,21B和21C也显示连接左边和右边点的其他方式。
一般化实施例图1C为开关100的一般图。在此图中,为明白起见,许多元件如控制单元和控制单元之间的互连结构则省略(在此图中的名词“左”和“右”分别意指连接至相同层的单元的一输入路径和一输出路径)。控制单元186为相同层的一或多个群组单元的元件。一群组192包含一或多个数据回路184。在图1C,顶层包括一群组G[2,1]192,其中第一参数(2)表示该层且第二参数(2)表示该层的一特殊群组。在群组G[1,1]内的单元B186连结于其他单元而一起形成一连续数据回路184。以循环通过回路184的消息形式的数据移动通过单元A,B,C,D,E及至更远。在消息长度为长的一些实施例中,一FIFO包括在数据回路184之中。在一数据回路循环的一消息有机会向下移至较低层的任何连接群组的单元,如从G[2,1]至G[1,1]或至G[1,2]。在一些实施例中,二群组相连接于每一群组之下而构成几组多重“二叉树状(binary tree)”型式的连接路径。进入单元B186的一消息有机会向下188落至第一层的群组G[1,2]之中。在下一单元(在此实施例为单元C)的一消息有机会落至另一群组G[1,2],可将该消息连接至不同组的目标154。在一些实施例中,在有机会落至较低层的任何群组之前,一消息不必移动通过一群组中二个以上的单元。
进入单元B186的一消息可优先向下移动于互连结构188而至较低层的单元J,因为单元J位在连结单元B与消息目标N154的一路径之上。单元L(在较低层)也连接至单元J。若一消息由单元L移至单元J,那么在较低层的单元L具有优先权。该优先权由单元L发出信号,该单元L传送占用信号190至上面的单元B以通知单元B不要往下传送消息。在一些实施例中,在向下路径188的开关194也由占用信号190来启动,以避免来自发出信号单元的任何消息与在较低层的共享路径上的消息相冲突。当一外部装置如一输入104无法给予占用信号190时,开关194可有利于避免冲突。
所有单元具有一离开路径196至单元群组中的另一单元(或至一FIFO),且所有单元具有至其他单元的一占用信号连接点190,可共享一共同路径。若基于任何原因一单元不能向下传送消息,该单元传送消息于互连结构196之中而至相同层的相同群组192的另一单元。占用信号190的显著好处为从单元群组的另一单元进入的一消息可获得一离开路径196。仍在一层中的消息不能失去向下前进的机会以向前移至该消息目标。该消息立刻面对连接于在至该消息目标的路径上的较低群组的相同层的其他单元。进入单元A和离开单元N的一消息路径在图1C中以粗线显示。
图1A的检查显示许多路径存在于任何输入至任何输出154之中。
方法概观图1D为发送消息通过开关100的方法的概观图。也请参阅图1A,1C和2A,一般来说,消息进入在顶层的互连结构100且向下移至右边,其中发送该消息在底层的消息目标列。该目标列地址编码于该消息的首标中。在一较佳实施例中,先出现该目标地址的最高有效比特和最后出现最低有效比特。该有效载荷接续该首标(在图2A和图2B中讨论)。
消息以自一控制单元通过另一控制单元的方式移动通过开关100。该开关100的结构与消息如何控制有亲密的关系且将会在下面仔细讨论之。一控制单元位于每行与每层间的交叉点的每列,因此在每一控制阵列中。所有的处理在该简单控制单元中执行。不需利用额外的消息发送元件。一控制单元只包含一或二个储存比特,其在一例示的实施例中为一移位寄存器的形式。有利地,在一控制单元包含不超过消息的二个比特以减少逻辑需求和加速一消息通过该单元。一旦该控制单元决定将消息传送至何处后,该单元设定内部门和发送消息向下至目标或向右至在相同群组的一单元。一般而言,在称为虫蛀孔路由选择方式的过程中当消息的比特以一单元至一单元方式通过该互连结构使消息跨过多个控制单元。
一控制单元总是具有一可获得的离开路径至右边196,以确保自左边进入一控制单元的消息具有一可获得的出口。如所预期的,一消息从未缓冲或保留在一控制单元中,此有利于减少通过一控制单元的时间(等待时间)。该单元只检查一些首标比特和来自一或多个邻近控制单元的一占用信号190以决定发送消息至何处。可在单一时钟周期容易执行此决定。若该控制单元具有一连接点向下至在连接至该消息目标的路径上的群组以及可取得该连接点,则该消息向下传送移动该消息更接近该目标。否则,总是可获得路径中传送该消息向右至另一控制单元,在其中重复该过程。
当向下传送一消息和去除该最高有效地址比特以有利于缩短首标的长度和减少比特数目时,下一个单元必须准备决定该消息的方向。该下一个单元可有效存取适当首标比特,因为无其他地址比特连续在适当首标比特之前。去除该最高有效比特是有利的,因为该去除的首标比特已被用来决定消息路径通过该互连结构的目前部分且已不再需要。
当传送一消息至在相同群组的一单元时,该消息不会失去向前完成横越该互连结构至该消息目标。向右之下一个单元企图传送该消息至该目标。向右传送的一消息可依需要被延迟一或二个时钟周期。到达该互连结构右手边的一消息被发送回至在相同层左边的单元,如图1C描述中所讨论。
一控制单元只监测该消息首标的一些比特以及来自另一控制单元的一信号以决定如何发送该消息。在一时钟周期中执行此决定。向下移动的消息直接连接于在下面的单元以越过该传送单元的内部移位寄存器。该有效载荷被延迟不超过一个以上的时钟周期。在实施例中(图未示),其中一控制单元具有多个向下路径,一未被阻挡的消息总是具有一连接点至该消息目标。在多重路径的实施例中,离开开关100的消息的第一比特所经过的时间为每一首标比特的一个时钟周期加上一或二倍的转向数,该转向是在消息通过该互连结构时发生。消息以虫蛀孔方式通过开关100使得该有效载荷的第一比特可如预期在该有效载荷的尾端进入该开关之前即离开。一般消息以少于12个转向数到达一千列的其中一个。该有效载荷的第一比特以少于15或20个时钟周期迅速离开一1000-端口的开关。
消息布局请参阅图2A,进入开关100的一串连消息包括一总是具有一值ONE的通讯比特(traffic bit)202;一列首标204以鉴定在开关底层的目标列;以及一由串连数据比特206所组成的有效载荷。该列首标204为一底层目标列的二进制编码,此模式使得该目标列地址的最高有效比特(MSB)208先出现且最低有效比特(LSB)210最后出现。该有效载荷206包含在开关内欲自任何输入端口传送至任何输入端口或输出端口群组的数据分组。在开关100的一些实施例中,该有效载荷206可以为各种长度,其由动态时序结构142所控制。
请参阅图2B,在开关100的另一实施例中,该底层目标列如上面所述是由该列首标204所决定,且该目标行由行首标212所决定。该行首标包含行数的二进制编码。在此实施例中,该第一首标204以图2A所描述的模式决定该目标列,并且第二首标代表该目标行。在此实施例中,该消息可以在底层循环直至其到达该目标行为止。在另一实施例中,该消息立刻向下移至第一可获得的缓冲器152,此将在后面讨论之。该消息200的总长度214包括该通讯比特202,该首标204及212和该有效载荷206。
请参阅图2C,在开关100的另一实施例中,该开关100支持点对多点的广播,一多元播送比特220表示该消息230是否将被传输至一输出端口154或至许多输出端口,或至所有输出端口。当该多元播送比特220设为ZERO(“0”),该消息准确指向一输出端口,且处理该消息中的连续比特成为列首标204,可选择行首标212以及有效载荷206,亦即如图2A和2B所描述的相同定义。当该多元播送比特220设为ONE(“1”),下两个比特位置作为“上半部”224和“下半部”226标志,亦即,利用它们作为一对单一比特寄存器(在该消息首标之内)以表示当消息移动通过开关时的消息状态。该剩余比特构成一行比特标志228。多比特播送过程的详细内容将在后面讨论之。在开关100的另一实施例中,多元播送消息使用列入口点174进入任何层的特定列的开关。此消息朝向底层列的特定子集。
图2A,2B和2C描述由输入端口104或列入口点174进入开关100的消息布局。当消息前进通过开关时,该消息的长度和其他特征可改变。适当组合如图2A,2B和2C所描述的消息为连接至输入端口104的一外部装置的责任。
开关阵列布局请参阅图3并配合图1,每个开关阵列120包含R个控制装置300。一开关阵列120位于开关100中每行与每层的交叉点。在开关100的一实施例中,每一个开关阵列120在任何垂直数据线316上刚好包含一个控制单元且在任何水平列360上刚好包含一个控制单元。在一些开关阵列中,控制单元以“单位组态”方式排列,也就是说,沿下左至上右的对角线,其中开关阵列中的垂直位置相同于水平坐标。该单位组态以开关阵列340显示。在其他开关阵列布局中,控制单元以不同组态排列,如开关阵列342所示。在一既定开关阵列中的控制单元的特殊排列为开关100适当操作的一关键所在,将在后面讨论之。在开关100的另一实施例中,每两列360有一个控制单元(图未示)。
在开关100的一实施例中,第130至136层中的每层包含R个串连数据列126,自下而上由0 306编号至R-1308。第160至164行的每行包含来自上层的R个串连数据线122以及包含来自下层的R个控制(占用信号)线124。一输出端口的编号318由在其下面的开关阵列的控制单元的位置来决定。在第0行,第L层的开关阵列120包含一个控制单元300位于第1列。单元[1,0,L]的位置分别由控制单元的列,行和层数来决定。因此,输入端口318编号为1以配合连结于其上的控制单元的列数。
同样地,输出端口320编号为2,因为该端口连接在第2列的控制单元322的位置为[2,0,0]。输入端口330编号为0是因为该端口连接至在位置为
的控制单元324。输出端口344编号为1是因为该端口连接至在位置为[1,K-1,0]的控制单元328。
路径316为一串连传输线用以传输一消息向下至底下一层的开关阵列内的一控制单元,该路径为数据总线120的一元件。路径360为一串连传输线用以传输一消息向右至在相同层的下一行,且其为数据总线126的一元件。路径330为一来自较低层的占用信号,且为总线124的一元件。
在一些实施例中,开关100构成内部网络用以互连一超级计算机的多个处理器。在此结构中,装置350为其中一个处理器。在开关100的另一实施例中,装置350代表来自一开关网络的一输入端口的一连接点,例如在ATM开关之内,其中此实施例作为ATM开关的开关光纤。
图3说明外部装置350与开关100的连接。外部装置350位于第2列,第0行160。外部装置358连接在不同行164并接收一不同的行准备信号。同样地(图未示),外部装置350连结于输出端口372,该端口的占用信号374以及行输出准备信号168。外部装置350的输出地址为第2列第0行,其与输入地址相同。开关100的输入端口104位于第L层136,且输出端口154位于第0层130,或是在省略第0层的开关100的一实施例的最下层。当一消息200完全通过开关100时,没有该消息的进入列和行的固有指示。若开关100的应用或使用指定目标接受者可获得“源地址”,那么源地址或确认包含于该消息的有效载荷之内。
图3显示以稀疏形式展开控制单元来说明连接的图样。该布局与编号方式也用来简化后续的说明。在一集成电路芯片的实施中,该控制单元排列在硅之上,以此方式使包装逻辑门比图中所示更为紧密。
I/O及控制时序至开关100的输入接口由行时序和控制信号来完成,该控制信号管理进入该行端口。图4显示进入402和离开420开关100的一消息时序,以及控制它的控制和行准备信号。也请参阅图1A,2A和3,一消息200由输入端口104进入开关100的实施例中,且该消息自输出端口154离开开关。消息的进入时序由行准备信号108控制。消息的第一比特202较佳是在行准备信号108活化后的一周期进入端口104。若与输入端口104有关联的端口占用信号304到达高状态,那么消息200会被限制进入该输入端口。行准备信号108控制所有位于一特定行102的输入端口,然而端口占用信号304只与一输入端口104有关系。外部装置350必须检查行准备信号108与端口占用信号304以决定是否输入端口104可接收一消息。
行准备信号108与端口占用信号304的时序较佳是在第一比特202的时序410前的一时钟周期430进入开关。在结合输入缓冲结构116的开关实施例中,第一消息比特202的相对时序410可大于在时序信号408后的一时钟周期,此实施例有利于使时序需求变得简单。
离开开关的消息420的第一比特202在时间428到达输出端口154,该时间为行准备156之后的一时钟周期。在较早期间426,由行输出准备信号156发出外部信号,该开关可接受来自一外部装置的一输出装置占用信号376,其说明该外部装置无法接受一消息。例如,该外部装置为一充满的缓冲器。当企图离开的消息为外部所阻挡,其仍留在该开关且企图晚一点离开。
在配合输出控制结构180的开关100实施例中,行输出准备信号156的时序与消息420的第一比特的到达受到图4所示者的延迟。在这些实施例中,周期426和428之间的时间会增加而有利于使外部连接装置的时序需求变得简单。在开关100的另一实施例中则省略外部占用信号376,且当消息到达其目标端口时,该消息总是会离开该开关。
三态I/O及时序请参阅图3,在开关100的一实施例中,每一输入连接点与来自外部装置350的一消息输入连接点以及至外部装置的一端口占用信号304有关连。在此实施例中,每个输入端口连接点需要二个外部连接点或引脚。同样地,在相同实施例中,需要二个外部连接点372和374支持一输出连接点。请参阅图4和5B,在时间408发出端口准备信号304是在时间410消息200的第一比特202进入之前一时钟周期发生。因为未重叠的时序状况,所以单一三态连接504可调节此二信号。该外部连接504由三态输入结构502来控制,该外部连接504在时间408输出端口准备信号304,且接着接收消息200以输入。亦即,在时间408,三态输入结构502接收来自时序信号线108的行准备信号404。在时间404,该外部连接504连接于端口占用信号线304达一个时钟周期。在时间410,该外部连接504连结于输入端口104直至时序信号408再度被接收514为止。三态输入连接取代了输入端口104和端口占用连接304,有利于取代具有单一引脚的二个外部连接。
同样地,一三态输出结构(图未示)为输出端口372和外部端口占用连接374提供单一外部连接。该三态输出有利于减少两倍的输出引脚数。在开关100的较佳实施例中,所有外部输入与输出连接使用三态I/O。三态控制504在任何后续的讨论不会被指出,取而代之的是端口104和174作为I/O端口以了解可选择地取得三态I/O。
配置序列方法在开关阵列120内的控制单元300的布局完成消息流的排列(将在后面讨论之),其好处在于达成开关100的成功操作和执行。请参阅图3,在既定层和行的开关阵列120中的控制单元300的布局由配置序列决定。该配置序列是依循沿一既定列360的连续单元较佳地交替位于在下一层的上面和下面位置列(图未示)的规则而产生。也就是说,该布局依循顺序为上,下,上,下等等,再者,当任何其他单元在相同开关阵列120中时,该开关阵列布局总是以无控制单元位于相同列360或垂直路径316的模式执行,并且总是有一控制单元300在每一开关阵列120的每列360中。
图6A说明了8列的配置产生方法。使用零开始编号,将8个位置(0,1,2,3,4,5,6,7)602分成一上半部序列(4,5,6,7)604和一下半部序列(0,1,2,3)606。最后配置序列608由交替和合并该上和下半部序列所形成。请参阅图6B,其显示配置序列608在区域632中。线630将该区域分成上和下部分,且显示序列以上-下-上-下等形式交替。
该上和下序列的任何排列分别可用于产生一配置序列,其有利于使用一规则产生一排列,其中R为一层的列数且N=R/4,选择每一第N值,如有需要可重复。例如,对8列602来说,8/4=2所以自(4,5,6,7)604和(0,1,2,3)606选择每一第二个值以分别获得(4,5,6,7)610和(0,2,1,3)612。这二种排列合并成交替序列以形成配置序列(0,4,2,6,1,5,3,7)614。此序列以图示于区域634中。另一规则是使用下降序列(7,6,5,4)620和(3,2,1,0)622,这些合并以形成配置序列624,以区域636显示。该交替-合并操作确保了最后序列横越在每个位置之上和下分割线630。一般来说,上面数字(4,5,6,7)604的任何排列和下面序列(0,1,2,3)606的任何排列合并以产生一8列配置序列。可选择和使用任何序列以布局一开关,开关100的较佳实施例使用以刚给的“第N值”规则所产生的配置序列。所用的一配置序列没有限制的长度,可依需要重复序列。例如,序列614可作为(0,4,2,6,1,5,3,7,0,4,2,6,1,5,3,7,0)。
图6C说明了16列640的实例,以合并上642和下644上升序列以产生该最后序列646而成。在另一实例650则使用“第N值”规则,使用来自642和644的每一第四值以分别产生上652和下654序列,这些合并以产生配置序列658。
此方法可延伸至任何偶数组的列。分割列数序列为二个相同等分上和下,如图6A所举的实例,形成每一等分的排列和交替合并该排列为一单一配置排列。一4列序列可由合并上(2,3)和下(0,1)序列来产生以生成(0,2,1,3)。唯一二列序列为(0,1)。
在奇数列的实例中,分割列数序列为上和下序列,具有中间值,随意指定为他们的其中一种。然后排列和合并该二序列,由具有多个值的排列开始。例如,给予7列(0,1,2,3,4,5,6),分成上(3,4,5,6)和下(0,1,2)部分,在此实施例中,上序列具有较多的值,所以合并的序列变成(3,0,4,1,5,2,6)。开关100的较佳实施例不包含由奇数列所组成的列组。
消息流进入该开关的一消息200以依循相似于由一二叉树状组所引导的路径的路径到达首标204所定义的目标列。图7A说明进入顶层及到达底层目标列的消息A。消息A的地址为第二列,亦即,在(H1,H2,H3)消息首标204为(0,1,0),其表示(下,上,下)。为简化消息流的描述,只显示一数据路径316于选定层之间,不需要在垂直排列显示行,且只显示一些代表的列。
在列702中向右移动的消息A730面对向下连接至位于第二层762的一上列720的控制单元704。第二层逻辑地分成二对列组(1)位于上列组710的列,以及(2)位于下列组712的列。该指示“上”和“下”并不表示在个别层的列位置,而是指向下连接至列的列位置。在图7A和7B,第二层的顶端部分的列710连接于第一层顶端716的列。同样地,第二层的底列712连接于第一层的底下半部718。一列组在拓扑上与图1C所讨论的一群组192相同。消息A的最高有效比特为ZERO,其表示为较低列组的目标列,然而单元704连接至在较高列组710的一列720。
消息A仍留在列702且向右移至在下一行的单元706。单元706向下连接至在较低列组712的列722。单元706向下发送消息A至列722。因此,向右移动只通过一或二个控制单元的一消息较具有一机会向下落至其目标。若(为后面所讨论的原因)控制单元706无法向下传送消息A,则该消息持续在列702的右边,且面对也连接于较低列组712的单元708,该消息又有一机会向下落至较低列组。
第一层764逻辑地分成二对上和下列组716和718。在第二层的列720连接至在第一层的顶端716的该对列组,且列722连接至在底部718的该对列组。在首标204之下一地址比特ONE代表一上列组。在第二层,消息A在列722中向右移至连接于第一层的上列组712的单元724。单元724向下发送消息至第一层764的列734。第0层766逻辑地分成四对列组。第0层为最终目的层且列的每一列组刚好包括一上列和一下列。在首标204的最后地址比特代表一下列组。消息A在列722中向右移动且通过上连接单元736而至一下连接单元738。单元738向下发送消息至最终目标列,即第二列744。
在开关100的一实施例,消息A在底层列742中向右移动直至该消息面对位于消息行首标212所指定行的一单元。在此行,该消息向下传送至输出端口154或输出结构150。在另一没有使用行定址的实施例中,该消息立刻向下传送至下一单元746。该首标地址“010”为一二进制标记“2”,因此消息A离开第二列742。
在任何列中向右移动的一消息具有多重机会向下移至在下个较低层的目标列组。在一列中向右移动的一消息向左发送(图未示)至在相同列组的最左控制单元的列入口点174。在顶层任何列中的消息有利于具有多重路径至最底层的任何目标列。在每一层,消息首标204中只有一比特被一控制单元检查以决定该消息的方向向下或向右。在底层,没有行首标的一消息立刻离开该开关;具有一行首标212的一消息向右移动直至该消息到达该特定行为止,或者该消息立刻离开底列而至处理该行首标的一控制结构150。
增加列数请参阅图7B并配合图1和7A,在开关100的一实施例,每层的列数可以不同,自上而下增加数目。在另一实施例,与开关100大小有关的列数R170为底层的数目。在开关100的一较佳实施例,每层的列数R皆相同。R为2的乘方。图7B显示开关100的实施例的三层,其中顶层有四列774,下一层有八列776且底层有十六列778。每层的列数不需要是相异的。例如,在一实施例的列数自上层而下可有8,8,16,16,32和64的列数。另一举出的实施例具有的列数为32,32,32,64,64,128和128。
给定位于一层776的一列,其列数大于其上一层774的列数。该列具有控制单元交替连接770且不连接772至一单元而至上层。也请参阅图3,一开关阵列120在每列360总是有一个控制单元。也请参阅图20A,20B和20C,开关100的一实施例不是在连接至一外部装置的顶层皆有可能的输出连接点。在此实施例中,顶层较少有消息流拥塞情形。为充分使用芯片中可获得的逻辑门,顶层具有较下层为少的列数。
消息流和消息阻挡当在不同层的二个消息竞争相同的数据路径,在下层的消息具有优先权。在此所描述的方法给予下层消息优先权是因为后者可能会在开关中待较长的时间。用于实施此优先权的结构和技术在图8A和8B中说明。
图8A和8B显示一简化的控制单元的互连方式,图8A和8B的所有单元在开关阵列中位置不同,它们在两层830和832以及四行中。也请参阅图1A,2,3和7A,控制单元804位于在第三层832的一开关阵列120中。该控制单元藉由列360连接至右边而至在相同层的下一行的控制单元806。
具有首标812的消息A802自上层进入控制单元804。该消息A通讯比特202为ONE,其表示一消息在单元804中。当一消息自上层进入一控制单元,该消息仍留在列360中且立刻向右移至在下一行的控制单元。消息A在列360中向右进行至单元806。
该消息A首标的最高有效比特为ONE其表示该消息朝向底下一层的一上列850。控制单元806检查通讯比特202和最高有效比特208,且决定消息A之下一层目标列为一上列组。控制单元806向下连接至控制单元820,此发生在上列组850中。因此在一串连路径316中向下发送消息A至控制单元820。依循用于自上层进入的消息的规则,在列822中立刻向右发送消息A至第二层的下一个单元824。
在图8A中描述消息A802的流。消息A自上层进入第三层,向右移动至下一行,且立刻被发送至在所欲的上列组850的一单元。将消息A自单元806导向单元820是因为消息A的最高有效比特208表示落至一上列组且该消息未被来自下面的另一消息所阻挡。此描述表示此实施例中允许一消息A没有延迟地被移至下一个较低层中。
在一层中向右移动的消息通过向下连结点之上而至控制单元。该连接交替于下个较低层之上850和下852列组之间。在另一实例中(图未示),一不同的消息E自左进入控制单元806。消息E的最高有效比特为ZERO,其表示该消息朝向一下列组852。控制单元806连接至上列组850,因此控制单元806向右发送消息E至下一行而至单元808。
请参阅图8B,在另一实例中,相同消息A802自上层进入控制单元804且向右发送至控制单元806,如前面所述。在消息A进入控制单元806的同时,在第二层的消息B自左进入控制单元820。消息B较来自上层的消息具有优先权使用共享路径822。消息B在列822中持续向右至单元824,因而阻挡消息A向下移动通过单元820及在列822中向右移动。因为列822立刻为消息B所占据,所以控制单元820无法接收来自上层(亦即来自控制单元806)的消息。为避免消息A和B相冲突,单元820向上传送占用信号至在信号路径330上的单元806。控制单元806因而为占用信号842所阻挡而无法向下传送消息A。因此,单元806向右发送消息A至下一行的单元808。单元806向上传送占用信号842以保护消息A免于与一消息C在上层中发生可能碰撞。
控制单元808检查消息A的首标812且决定消息A朝向在第二层的一上列组850。因为单元808连接于一下列组,单元808被强迫再度向右发送消息A至单元810。为避免上述可能的冲突,单元808也传送占用信号至上层。可避免一可能在单元808之上的消息D落至单元808。最后,在下一行的控制单元810连接至一上列组850。因为在单元810的消息A不会为下面所阻挡,所以单元810向下传送消息A至在第二层的控制单元826。
在图8B中描述了消息A的流,其中消息为下面同时直接向右移动的另一消息B所阻挡而无法立即往下移动。在消息A向下移动至第二层的一上列组之前,消息A出入二行以上而向右。不管何时消息向右移动通过一控制单元,该单元总是传送一占用信号向上至在其上的单元,其禁止后者将消息向下发送。
消息流关系图8B说明消息B阻挡消息A向下移动。同样地,消息B可能为一消息或下面的消息所阻挡而变成被迫留在第二层达一段延长时间。有利于避免消息B在使消息A二度为互连结构所阻挡的一位置。在第三层的控制单元806藉由数据通道316连接至第二层的单元820,在与单元806相同列的控制单元810藉由数据通道848连接至也在第二层的单元826。单元826不是位在与单元820相同的列上以期望避免消息B二度阻挡消息A,以及有利于消除重复阻挡的可能性。由图6A和6C所描述的方法所产生的该配置序列可避免为单一消息多重阻挡。
图9分别说明在第3层902,第2层904和第1层906的单元连接关系。在第3层的该配置序列(0,4,2,6,1,5,3,7,0,...)614,第2层的下序列(0,2,1,3,0,...)910与上序列(4,6,5,7,4,...)912以及第1层的序列(0,1,0,...)918以附图显示。消息路径A 634显示第3层与第2层之间的互连关系。注意的是在任何一列如第0列开始的消息仍留在那列。消息路径A自第一行952的第0列开始,该第一行952向下920连接至也在第0列962的一单元。在下一行954,第0列向下924连接至第4列964的一单元,然后在956连接至第2列966的一单元等等,此根据序列614。在第二层的消息路径B934显示第2层904与第1层906之间的连接序列。消息路径B自第一行962的第0列开始,且向下连接至也在第0列972的一单元。在下一行,第0列向下连接至第2列974的一单元,然后至第1列966的一单元等等,此根据序列910。
消息连接路径A634和B934图示证明该配置序列的二个重要性质。首先,路径A和路径B交替向下连接至下列组944和上列组942,其符合图7A所描述的消息发送路径。其次,路径A不再与路径B连接直至已横越八行为止。不同的是路径A向下连接至在位置962和920(八行的全部范围)的路径B。同样地,在第二行954连接至起始于964的路径D(图未示)的路径A 634上的消息不再与路径D连接,直至已横越八行为止。再者,在第3层的任何列中移动的消息没有与在934下面的第二层路径连接,直至该消息已移动通过八行。也就是说,路径A 634和B 934之间所显示的些许连接关系为起始于第三层的任何行和列的任何路径而保留。重要的是,在920阻挡情况再度发生之前,起始于路径A 952的消息为第二层的3个其他消息所阻挡且同时起始于路径B 962的消息为第一层的4或5个其他消息所阻挡。因此,为较低层的任何消息的多重阻挡的发生在统计上是大大地不可能。第二层的路径B934与第一层的路径C 936之间的关系为路径B的消息不会面临路径C,直至已横越四行962至968为止。
图9比较消息路径A与消息路径B的个别连接关系。在962路径B的消息起初位于阻挡在952路径B的消息。然而,重要的是,在每个消息之后续八个序列移动中,消息B不在阻挡消息A的位置上。图9也说明在第一层的路径C 936的消息阻挡962路径B的消息。路径C的消息不会位于再度阻挡路径B的消息的位置上,直至消息已横越四行。此关系为进入个别层的任何列和任何行的消息而保留。再者,除了第0层之外的任何层的每个消息可以总是交替于上列组和下列组,在每一行传送。
开关100的其他实施例使用其他序列,例如图6A,6B和6C的讨论中所描述。可使用任何序列以允许一消息200至少有一周期连接至上和下列组。所有列的序列未必是必须相同,序列也不必重复与层数或任何其他设计规则有关的周期。此序列可以不必有如使用图6A所讨论的“Nth Value”规则产生的公平消息流,最少阻挡及低等待时间的统计性质。
首标长度缩短当消息在层之间传送,首标长度在每层中移除最高有效首标比特而缩短。请参阅图10,在第三层中,消息的目标列地址定义为包含三个比特H1,H2和H3的消息首标204。H1 208为地址的最高有效比特,且H2 1054为下个最高有效比特。当消息200向下移至下面较低层时,最高有效比特H1 208会自消息中移除,虽然通讯比特202总是被保留。在第二层,H2 1054因而变成最高有效比特。首标长度改变所预期的副作用为消息长度在每一层被减少一个比特。当消息200到达第0层时,首标204的所有比特会被移除,因而减少有效载荷比特通过开关传送(等待时间)的所有时间。
因为此层的MSB 208总是依循通讯比特202,所以在所有层(在第0层)的所有控制单元的设计是相同,其可简化芯片布局。当向下传送消息时,去除目前的MSB的另一好处为一控制单元只须缓冲一接近消息的前二个比特。或者,若MSB未被移除,那么下层的单元将必须等候直至整个首标在适当地址比特为单元所检查之前进入。在此不利的情况下,一8-比特首标需要在消息每次进入单元时有九个比特被缓冲于每个单元中,与开关100的较佳实施例的控制单元只须一或二个时钟周期相较,每一单元将花费九个时钟周期。
同步延迟元件请参阅图11A并配合图1B和3,向右移动通过一列360的消息遇到一适当FIFO结构114且循环回至第一行。为避免第一消息的第一比特与第二消息的一内部比特相碰撞,产生一消息以符合每层的一列,为此理由,除了沿着一列使用一寄存器,可使用另一延迟装置。该FIFO阵列包括多个并行排列的独立同步延迟装置1100,且每个连接至一列360。该同步延迟装置1100包括串连排列连接的延迟元件1102。一时钟延迟元件1102的功能像是一比特移位寄存器或是一D触发器,使得在一时钟周期进入该延迟元件的一比特在下一时钟周期的该延迟元件的输出端出现。一消息比特通过串连的延迟元件装置1100的整个传送时间为包含于结构1100的延迟元件数乘以时钟周期。一消息200由串连输出端1106的左边进入FIFO结构1100且在输出端1108离开。时钟1110用于同步化延迟元件1102。一复位信号(图未示)初始化所有延迟元件及其他逻辑元件。图11B显示使用一双重相位时钟1116以位移数据比特通过该FIFO结构的一动态移位寄存器1112。当与一触发器或相似延迟元件相较,动态移位寄存器的好处为可减少晶体管数目。
图11C显示一同步延迟装置的一光学实施例1114。可调整光纤延迟可由使用压电材料结构来完成以实体延展该光纤且改变光纤长度。由一脉冲光源所驱动的一光纤1116传递消息200通过光纤长度且为一光学检测器1120所终止,该光学检测器将该光学信号转换成可为开关100进一步处理的形式。
层和行时序请参阅图8B和12A,进入位于第三层832的控制单元806的消息A 802可企图落至在第二层的控制单元820,其中该消息A在串连路径822中向右移动。然而,在第二层向右移动的同时存在的消息B 840较消息A更具优先权使用路径822。为迫使优先权,控制单元820传送占用信号842向上至控制单元806以适时模式避免后者向下传送消息。因此,指定消息流时序使该占用信号842到达控制单元806,此时间足够使后者的单元作用于该信号。因此,在开关100的一实施例,消息B的通讯比特202在消息A的通讯比特202到达单元806之前先到达单元820。在一既定的开关阵列120中所有控制单元同步操作,使消息的通讯比特同时到达开关阵列中的单元。在相同的开关阵列120的所有单元接收相同时序信号。
请参阅图12A并配合图11A,时钟1110控制在控制单元300中的延迟元件。相对于时钟1110,锁存设定信号1204被延迟1210使得单元的锁存(将在后面讨论的)在时钟周期中晚些被设定。
在一实施例中,在下层的控制单元比上面层相同行的一控制单元先接收到消息200。在不同层相同行的消息的相对时序显示于图12A中。第0层的锁存设定信号1204比第1层的锁存设定信号1206早发生一个时钟周期。第一层信号在第二层1208的前一个周期,以此类推至较高层。该锁存设定信号用于消息流的时序和控制。用于所有层和行的时序信号1110,1204,1206和1208由时序单元并配合延迟元件146和148来产生。
图12B描述在相同层的相邻行的相对时序。一消息200在相同时钟周期1110进入第j行的一控制单元,其中行的锁存设定信号1220为高状态。在一列360中向右移动的消息在消息到达下一行j+1 1232之前通过一定数目的延迟元件。在一些实施例,该延迟元件为在行间的FIFO缓冲器。在其他实施例,该延迟元件为一控制单元的一部分。单一延迟元件的时间周期为一个时钟周期1202或二个周期。该行对行时间tc1240为消息到达下一行的下一个控制单元所花的时间。该时间tc为二行间所有延迟元件延迟的总和。因此,下一行1230的锁存设定信号为时间tc1242所延迟的第一行1220的锁存设定信号。
一消息200具有一预定最大长度Lmag214且每一比特花一个时钟周期移动通过一给定的点。消息通过第j行的控制单元的时间以间隔1222来表示,而在下一行以间隔1232表示。消息间的时间tm1242不小于消息通过一控制单元的时间,亦即,tm≥Lmag.tD。在一消息通过一控制单元之后马上允许一后面的消息进入单元。因此,时间tm决定何时传送下一个锁存设定信号1224。在任何给定层,不同列的消息以并行方式移向右,使得所有消息的通讯比特202和后面比特以“垂直对准方式”移向右。在垂直对准方式中,每个通讯比特同时进入一控制单元,而所有其他单元在相同开关阵列中。同样地,在相同开关阵列中自控制单元向下落的消息一起以水平对准方式向下移动。当时间tc小于消息间的时间tm,那么该消息会横越超过一个以上的控制单元。因此该消息以虫蛀孔路由选择通过开关。开关100的一般实施例中,时间tc为一或二个时钟周期,结果有效载荷的前面比特在有效载荷的尾端进入之前离开该互连结构。
一特定控制单元的锁存设定信号的时序由在开关阵列中单元的行和层位置来决定。图12A描述在单行多层的消息时序的层间关系。图12B描述单层相邻行的锁存设定信号的相对时序。在图12A和12B的讨论中,该名词“层锁存设定”和“行锁存设定”意指相同信号,此乃根据描述的内容。请参阅图1A,在第0层第0行的开关阵列的时序提供主信号。在第0层第0行的开关阵列上面的层被延迟一个时钟周期146,其完全决定所有层的第一行时序。在每一层,每个至连续行而至右的信号被延迟元件148延迟一段时间t1240,因而决定在相同层的剩余开关阵列至右的时序。
控制单元状态图13A和13B显示控制单元元件和通过控制单元中的消息发送机构的方块图。自左边进入在第W行1302的控制单元1300的一消息200为(1)向下发送通过线S 1312而至底下一层,如图13A所示,或是(2)向右发送消息通过线E 1304而至下一行,如图13B所示。一控制单元1300具有一自线N 1310上层的消息入口点,一自线W 1302左边的消息入口点,一至线E 1304右边的消息出口点,一向下至线S 1312的消息出口点,一至线BN 1303上层的占用信号输出端,以及一由下至线BS 1306的占用信号输入端。在图中,该名词“北”,“南”,“东”和“西”分别意指“上”,“下”,“右”和“左”的方向。
请参阅图3,13A和13B,串连路径360连接在相邻行相同列的控制单元的线E和线W。串连路径316连接线N和S,以及串连路径330连接相同行的控制单元的线BN和线BS。一锁存设定信号1204连接至在1328的控制单元。延迟元件D0和D1 1102提供作为“向前看”特定消息首标比特的装置或作为调整消息流时序的装置。
在图13A中,消息C自线W 1302的左边进入控制单元1300。二个消息比特(即线W的MSB 208及D1中的通讯比特202)以及占用信号线BS 1306由控制单元检查且该单元决定消息要藉由线S 1312而向下发送。输入线W1302连接至线S,使消息在相对时序1322前二个比特。因为消息C向下移动,线L不自左边连接至输入线W。取而代之者是将线E自上层连接至输入线N 1310。在图13A中的单元状态以ZERO表示,其储存于锁存器1316(一个比特寄存器)之中。该占用信号传送一ZERO向上至线BN 1308,其连接至锁存输出端。此表示该单元自由传送消息向下至互连结构1310的线N。锁存器1316也用于控制通过单元的后续消息数据比特流。如前面所讨论,当一信号自左向下发送时,允许来自线N 1310的上层的另一消息进入该单元,其中该信号于线E 1304中向右发送。
在图13B中,消息自线W 1302左边进入控制单元1300。该首标的最高有效比特208及来自下层的线BS上的占用信号为控制单元所检查。以消息MSB 208表示消息无法掉落,或是在线BS 1306上的占用信号为信号值ONE以表示消息为下面所阻挡。在图13B的实例中,这些情况的其中一个或两者为真的。消息D向右发送通过延迟元件D1和D0而至输出线E 1304。锁存器1316设定为ONE。在线BN的占用信号1308连接至信号值为ONE的锁存器1316。占用信号1308被传送至上面的单元以表示其被阻挡向下传送信号。输出线S 1312设为ZERO,其相当于不向下传送信号。
控制单元详细说明和流程12为说明控制消息流通过一控制单元1300方法的流程图。图15A为图14的流程图所描述的控制单元的一较佳实施例的详细说明。
请参阅图13A和13B,控制单元1300的两种状态显示于个别方块图中。图13A显示消息自左边向下移动至底下一层的状态。图13B显示消息在相同层自左边向右移动的状态。图13A也表示没有自左边而来的消息的状态。
请参阅图14并配合图12A,13A和13B。当锁存设定信号1328达高状态1404时,在控制单元的延迟元件以及输入线W 1302和阻挡信号线BS 1306中可获得决定消息方向1406所需的必要数据。尤其,当锁存设定信号达高状态时,消息通讯比特202被保留在延迟元件D1 1324且首标最高有效比特存在于输入线W 1302上。三种可能的结果1408,1410和1412导因于消息方向决定的测试。首先,自左而来的消息是存在的并为下层所阻挡,或者消息首标表示消息必须向右移动1408。其次,没有存在自左边而来的消息1410。第三,自左而来的消息存在且并未为下层所阻挡,以及消息首标表示消息必须向下移动1412。
后面两个情况(即没有存在自左边而来的消息1410或当消息向下移动1412,以占用信号至上层的单一情况来处理。在此二情况的其中一种,锁存器1316设定为ZERO且锁存输出向上传送至上面的单元。亦即,控制输出BN 1308总是连接1402至锁存器1316。在消息存在且必须向右移动1408的其他情况当中,锁存器设定为ONE。可使用该锁存器来储存单元的控制状态以及后续控制具有个别消息周期的单元逻辑门。
请参阅图14并配合图10,在消息存在且向右移动的特殊情况,最高有效比特208自首标中去除,于是在首标地址的下一个比特1054于是变成在下层的最高有效比特。该信号值ONE被向下传送1412达一时钟周期1414,使得线S1312上的信号被设定为ONE而产生向下消息的通讯比特202。在下个时钟周期1414,所欲的新最高有效比特204(以前的比特1054)被传送至在输出线N1310的底下一层的单元。在完成周期1414时,输出线W向下连接通过线S 1416,使其他消息流通过控制单元,直至该锁存设定信号再度达高状态1404。该下个最高有效比特1054立刻跟随通讯比特202,因而去除现在的最高有效比特208且有利于允许消息时序跳至在此层的消息之前以配合下层消息的时序,因而提前一个时钟周期。以设定所有延迟元件和锁存器为ZERO的一开始或复位信号1420来初始化控制单元1500。图14的流程图描述控制一具有单一向下路径和至右的单元。图18A,18B和18C所描述的一平坦等待时间单元由一般化流程图来控制,其中一起检查多重输入路径且额外考虑相同层的优先权。
图12A和12B所示的锁存设定信号的相对时序显示在下层1204的消息比上层1206的消息提前一个时钟周期。因此,一向下消息跳至该消息的现在时序的前一个时钟周期。再者,首标长度的减短导致另一跳跃至前一个时钟周期。图13A所示意的步骤1412,1414和1416的效果为执行所欲的首标长度缩减且向下消息的通讯比特变成与下层的时序同步化。输入线W 1302直接连接于线S 1312,使得两个延迟元件D1和D0被越过而达到提前消息时序二个时钟周期的所欲效果。
请参阅图15A并配合图11和13A,其更进一步详细说明控制单元1300,如控制单元实施例1500。单元1500为一门级图显示两个延迟元件D1 1510和D0 1512,锁存器1316,输出和输入连接线以及逻辑门用以控制消息流。许多逻辑门为锁存器1316所控制。当锁存器设定为ONE,在线W 1302上自左而来的消息自左至右流通,自线E 1304离开。开关194可避免来自连接于线N1310的上面单元的消息离开线E。当锁存器设定为ZERO,自左而来的消息向下流通而离开线S 1312。锁存器1316的值总是被向上传送通过线BN 1308以指示上面的单元是否可以向下传送消息。来自线N 1310的上层的一消息被允许藉由线E 1304而流向右。
请参阅图2和图7,一消息进入连接至在底下一层的一上列组或是下列组的一控制单元。该通讯比特202表示消息是否存在。若该通讯比特为ZERO,那么没有消息存在且控制路径与实际向下消息相同。该首标的最高有效比特208表示指定的目的地。尤其,值ONE表示在上列组的目标,而值ZERO表示在下列组的目标。
表二<
表二综合了两种消息比特的使用以决定消息由那个方向通过单元。当锁存设定信号1328达高状态时,消息通讯比特在延迟元件D1 1510以及该最高有效比特208在线W 1302。在具有最高有效比特设定为ZERO(下面单元目的地)的消息进入一上连接单元的情况中,该消息向右发送且发出信号给至上层的单元不要将消息向下传送。或者,若相同消息进入一下连接单元且不为下面所阻挡,则向下发送该消息。因此,相对于该首标最高有效比特的值,下和上连接单元的控制逻辑相互补。在使用连接至上列组的单元1500的情况中,使用门1576。在连接至下列组的单元的情况中,则使用门1576。应注意的是因为上连接单元寻求ZERO以决定是否该消息应向右移动,所以在延迟元件D1的该通讯比特202必须被用来分辨实际往右消息和无消息的情况。
在开关100的一些实施例中,使用时序来决定何时消息离开第0层。在其他实施例,则使用行首标212。图15B显示在第0层处理该行首标的特殊控制单元。请参阅图15B并配合图2B和12,当在行首标所编码的行数符合控制单元的行数时,一包含一行首标212的消息200离开第0层的控制单元1550。当锁存设定信号1328变成高状态时,该首标逻辑1568同时检视控制比特202及行首标的所有比特。若该首标地址符合单元所在位置的行数以及该消息未被下面所阻挡1556,则向下发送该消息1562。为避免行首标212输出,至下层1562的线S连接至第一有效载荷比特206。锁存器1566储存单元的状态且以类似形式控制消息流至单元1500的锁存器1316。
高速时序及控制图12A为开关100的实施例的时序图,其中消息首标比特以每层一个时间周期1202的速度向下移动通过该开关。图13B表示在一列中向右移动的消息通过两个延迟元件1102,以致使用两个时间周期向右移动至下一个单元。图16A为设计用来减少等待时间的开关100的另一实施例的时序图。在此实施例中,在一给定行的所有层接收相同锁存设定信号1604,1606和1608等等。在此实施例中,消息首标和在一列中向右移动的消息有效载荷比特只通过一个延迟元件,因此只使用一时间周期1110向右移动。首标比特使用一时间周期向下移动至下一层。向下移动的有效载荷比特直接连接至下层的单元且延迟少于一时钟周期。该延迟是指单元内少数门的传播延迟。
请参阅图16B,其显示在相邻层相同行的两个高速控制单元1620和1622的连接。在时间周期1202开始及锁存设定信号1604达高状态时,自左1302进入的消息的通讯比特202和MSB 208分别在线W 1302和延迟元件D01618。电路1612的三个门随占用信号BS 1306值处理这些比特,并立刻向上1308传送结果至电路1614。同样地,电路1614向上传送其输出1308至上面一层。在最底层的电路1614稳定下来,首先向上传送输出及以起涟波方式设定上面的电路。电路1614的传播延迟乘以层数小于一个时钟周期1202。当锁存设定信号1604达高状态且捕获控制单元1620的状态时,所有电路稳定下来。
32-端口开关请参阅图17并配合图1A,一32-端口开关的实施例有四层1702,1704,1706和1708以及四行1780,1782,1784和1786。一层包括8-列360。在实施例中的端口数为每层的列数(8)乘以行数(4)。因此,举例说明的开关包括8*4=32个输入端口104和32个输出端口154。为简化开关1700的描述,所以省略图17的一些元件,例如FIFO缓冲器114和选择的输入和输出控制结构110和150。
请参阅图17并配合图3,排列控制单元的简便方法包括先选择单行,并且该行的每层以同一组态340配置控制单元。在此实例中选择最左边一行,第0行1780。在第0行1780,第3层1702的开关阵列120具有排列成同一组态的控制单元。在第0行的控制单元数字标示定义为该单元的列数。在第3层1702的第0列1710具有一控制单元1712位于第一行1780,且在单元中的数字标示为“0”。同样地,相同组态和标示放在第0行1780的其他所有层。
在完成第0行的排列后,为下一步骤在开关布局中选择一层,可选择任何层,但最方便是先选择最上层,亦即在此实例中的第3层1702。该控制单元以同一组态排列而横跨第3层。在控制单元中的数字标示源自于一配置序列。请参阅图6A和图9,为开关1700选择一8-列配置序列614,其他8-列序列如序列608或624同样可以选择。使用序列614,第3层的第0列1710在位置0上具有第一控制单元。控制单元1300或是起涟波纹单元1620可用于该开关阵列120中。在图示说明的实施例中,在第0层上面开关的所有单元为相同型式的开关。在第0列的单元编号来自序列614(0,4,2,6,1,5,3,7,0,...),其决定向下连接的列634。因此,在第0列(1712,1714,1716和1718)的单元编号分别为0,4,2和6。第1列1720的第一单元在位置1,以致在列(1722,1724,1726和1728)的单元编号为1,5,3,7。相同左至右布局方法被用来编号第3层1702的剩余列的控制单元。
开关1700的布局之下一步骤为在刚完成的层的下面一层配置控制单元,亦即第2层1704。在第3层1702的控制单元号码表示第2层的控制单元的配置地方。在第3层,第0列1710,第1行1782,控制单元1714编号为4,其表示在相对下层1744的单元配置在第4列。持续自左至右,单元1716编号为“2”,其表示在相对下层1744的第2层单元配置在第2列。在最上层底下的所有控制单元的列位置由上层的单元编号数所决定。
下一步骤为配置在第2层1704的单元的编号。第2层1704包括两个列组1750。下列组序列为(0,2,1,3,0,...)910。上列组序列以加4而获得,结果得到序列(4,6,5,7,4,...)912。使用上述方法编号第3层,在第2层第0列1730的单元编号为0,2,1和3,其余的下面列使用相同序列和方法编号。第4列1740的单元编号为4,6,5和7,同样用于第2层的其余上列组。
在第1层1706的单元同样使用在其上的单元的号码来配置。第1层的单元编号使用四个2-列序列(0,1,0,...),(2,3,2,...),(4,5,4,...)和(6,7,6,...)918。第0层1708(最底层)也是同样布局,也就是说,以使用上面单元的号码来配置控制单元于适当列中。在第0层1708,控制单元的编号为列数,其也决定了输出端口154的编号。
总而言之,开关100的实施例的端口数由选择每层的行数164和列数来决定。列数R较佳为2L,其中L+1为层数。最方便是先以相同组态来布局单元,自最左边的行1780,第0行且横跨最上层1702。在第0行的单元编号与列数相同。在开关阵列120中剩余单元的配置是以左至右顶至底序列来进行。在一列的单元编号由该层的配置序列所决定。在顶层下面的单元配置由向上的单元数所决定。在第0层的编号与列数相同,并定义成输出端口的数目。
平坦-等待时间控制单元状态请参阅图18A,18B和18C,具有两个自左1802而来的输入,两个自上层1804而来的输入,两个至右1806的输出及两个向下1808的输出的一控制单元1800称为平坦-等待时间控制单元。自左1802而来的输入线标示为线W1和W2,自上1804而来的输入线标示为线N1和N2,至右1806的输出线标示为线E1和E2,以及往下1808的输出线标示为线S1和S2。控制单元1800另有二个至上层的占用信号输出线1810,如图18A的标示线BN;并且接收来自下层的二个占用信号输出线1812,如图18A的标示线BS。在图18A的状态7实例中只显示一个占用信号输出线BS 1812。
七种允许的连接状态(编号由1至7)1830起因于平坦-等待时间控制单元1800的操作。输入线W2可连接至相同列的向下输出线S1 1820,向下输出线S2 1822或向右输出线E2 1824。同样地,输入线W1可连接于相同列的向下输出线S1 1826,向下输出线S2 1822或向右输出线E1。向下输出线S1 1820连接至下面一层的上列组,以及输出线S2连接至下面一层的下列组。输入线W1和W2连接至相同向下输出线是不被允许的1828。当线W1不连接至线E1时,来自上层的输入线N1连接至向右的输出线E1 1834。当线W2不连接至线E2时,输入线N2连接至输出线E2 1836。亦即,线W1在使用输出线E1优先于输入线N1,且同样地,线W2在使用输出线E2上优先于输入线N2。当输入线W1连接至输出线E1时,藉由适当连接线BN向上传送一占用信号1810至上层,且同样地发生在输入线W2连接至输出线E2。当一向下输出线不连接于来自左边的输入线如线S1时,表示无消息存在的值ZERO向下传送1832。
平坦-等待时间控制表请参阅图18B并配合图18A,显示平坦-等待时间控制单元1800的状态1830衍生自控制表1840前四栏所示的项目状态或值。由线W1 1842进入控制单元1800的消息的首标地址决定消息向下移动,藉由线S1至下面一层的上列组或藉由线S2至下列组。首标地址以相同方式操作使消息进入线W21844。若此二消息指向列组的上半部或指向下半部,那么在线W1的消息较线W2的消息更具优先权,且不允许后者向下移动而是向右移动。进入线W1的消息的方向以检查其首标MSB 204来决定,如第一栏1842所表示,而第二栏则用于在线W2的消息。在无消息于线W1或W2的情况下,以“none”标示。平坦-等待时间控制单元1800总是连接至上和下列组。
也请参阅图3,可阻挡至下层316的路径,如对应的占用信号330所表示。在图18A中,至下层316的线S1和S2 1808的二个路径由线BS 1812上的二个占用信号所控制。在表1840中,二个占用信号1812的状态分别显示于第三栏1846和第四栏1848。至下面一层的上列组的输出线S1在第三栏1846中以“1”表示占用(阻挡),或者以“0”表示不占用,且同样用于第四栏1848的线S2。以“na”标示“not applicable”表示一消息未指向特定的上或下列组。
表1840的第一列描述在线W1和W2上的消息较佳向下移至上列组1842,1844且至上列的路径未被阻挡,在栏1846中以“0”表示。在线W1的消息具有优先权,因此连接至输出线S1而至上列组,如栏1850所示。在线W2的消息经由线E2指向右,如栏1852所示。此连接状态显示于表1840的第五栏及图18A的状态5 1830。在表1840的下一列描述与第一列相同的状况,除了线S1为下层所阻挡,因此此二消息朝右至各个列,此以状态71830表示。在线W1或W2上无消息的状况下,个别输入线连接至一可获得的向下输出线S1或S2,以避免消息向下传送1832以及避免个别输入线为上层1804所阻挡。相同地,向下输出直接连接至信号值ZERO 1832。
表1842显示表1840的前四栏中的项目值决定平坦-等待时间控制单元1800的状态1830。该控制单元1800的状态1830决定锁存器T1和B1所设定的值,如第六和七栏1854所示,以及决定锁存器T1和T2所设定的值如第九和十栏1856所示。
平坦-等待时间逻辑详细说明请参阅图18C并配合图18B,其显示部分平坦-等待时间控制单元逻辑的实施例。省略设定表1840所编号的锁存的逻辑。锁存器T1和B1 1854以及锁存T1和B2 1856控制来自输入端口W1,W2,N1和N2的任何消息的发送。此外,在线BN1 1875和BN2 1877上的占用信号的输出值衍生自锁存。当输出线E1为消息传输所占用,在线BN1 1875上的占用信号设定为信号值ONE,表示列E1为占用的,且同样地用于列E2的输出和占用信号BN21877。当消息200已进入平坦-等待时间控制单元1800使得通讯比特202储存于延迟元件D0时,一锁存设定信号(图未示)启动表1840所定义的处理以达成四个锁存器的设定。在一时钟周期内执行处理有助于消息200的连续比特向下或向右发送。如图13A所描述,首标的最高有效比特208自向下移动的消息中去除。
控制单元A 1800连接至上层的单元B 1800,使得单元A的线BN1和线N1分别连接至单元B的线BS1和线S1,且单元A的线BN2和线N2分别连接至上层的另一单元C的线BS2和线S2(图未示)。在另一实例中,如在第Q层的单元D,单元D的四条连接线BN1,N1,BN2和N2分别连接于至上层的单元F的线BS1,S1,BS2和S2。单元A总是连接至单一单元G使得单元A的线E1和E2分别连接至右边而至单元G的线W1和W2。
平坦等待时间控制单元符号请参阅图18B和图18D,在线W1上的消息优先于在线W2上的消息,亦即,若此二消息指向下面线S1或S2的相同未阻挡的列组目标,那么在线W1上的消息具有优先权且被向下发送至线S1或S2的输出,以及在线W2上的消息被发送至线E2。在控制单元1800的一替换型式中,线W2上的消息优先于线W1上的消息。此替换控制单元的逻辑由表1840中的交换线W1和W2及交换线E1和E2所定义。当线W1优先于线W2时,图18D为平坦等待时间控制单元1800的符号代表1880,以实黑1882表示优先权。在替换型式中,线W2优先于线W1,底下的方块为实黑。在符号1880的任一型式中,为清楚起见,省略连接至上层和来自下层的占用信号。此简明符号用于简化平坦等待时间开关的整个布局的描述,说明于图19。在一替代优先权方式,未图示说明,在偶数行中W1具有向上连接的优先权而W2有向下连接优先权,在奇数行优先权则相反。
16乘4的平坦等待时间开关请参阅图19并配合图1,3,6A,6C,18A,18C和18D,其描述四行和四层的平坦-等待时间开关1900。每层包含16列1902,自0编号至15。平坦-等待时间控制单元1800连接两列和两对垂直连接线,如图18A和18C所示。
现在说明控制阵列120中布局单元1800的方法,在此描述与图示中省略开关100的其他元件。开关1900的输入端口104数目为列数(16)乘以行数(4)或为64。输出端口154的数目与输入端口数相同。
请参阅图1,18A和18C,平坦-等待时间控制单元1800具有两个输出至在线S1 1870和S2 1872的下层。因为单元1800的此“双重输出”特性,所以第0层的控制单元不用于平坦-等待时间开关的操作。
在开关阵列120中配置平坦-等待时间控制单元1800的方法包括先在最底层(所有行的第1层)以相同组态配置单元。因此,控制单元沿着自开关阵列120的下左延伸至上右的对角线配置。每层1902给予16列及每个单元1800给予2列,因此一开关阵列使用16/2或8个单元。在这对列的顶列具有优先权1882的控制单元1880沿着第0行1910的控制阵列120的对角线配置。在下一行(第1行),在底列具有优先权的控制单元用于填满控制阵列。自一行更替至下一行的列优先权的方法用于开关1900布局的其余部分。用于第1层上面所有层的第0行的其他控制阵列包含与第1层相同的布局,亦即,顶端优先权单元1882的同等组态,此完成开关1900的最左边一行和最底层的布局。自第2层开始其余开关阵列以左至右序列布局于每层中,且在一时间向上移动一层,直至完成最顶层。
在箱型区1916的号码表示与控制单元1800连接的至下层的一对端口154的最低输出端口数。显示单元1910连接至第0端口,且也连接至第1端口。在图19中省略数字“1”,因为空间受到限制且在布局过程中不需要数字。在箱型区1916的号码用于帮助上面层的控制单元的配置。
也请参阅图9,在第2层,沿第0列向右移动的消息依循序列(0,2,1,3,0,...)所指定的连接。第一单元1924连接至下面的第0列和第2列。至右1926的下个单元连接至第1列和第3列。第1层和第2层之间的垂直互连图样1922形成符合序列910的连接。单元1924分别连接至下层而至第一层第0列和第2列的单元。在下一行(第2层),单元1926分别连接至下层而至第1列和第3列的单元。开关阵列间垂直箱型区1928的号码表示配置序列1920(为清楚起见,只显示该对的第一号码)。检查第2层第0列显示控制单元连续地以0,1,0和1位在单元之上而至下层。序列(0,1,0,1)以最底的阿拉伯数字出现在第2层控制单元的连续箱型区1928,而建立第2层的底列位置。
在第2层,单元的下一列沿第2列和第3列配置。在第0行的第2列和第3列的单元连接至其他连接对1和3。至下层的最低列数为0,但为避免布局过程中的模糊不清,在水平箱型区1916(在第1层和第2层之间)不重复0。取而代之的是使用值1。亦即,在箱型区1916的每个值表示连接至下层的该对单元的最低列数。因为二个单元使用四个列数,所以使用最低列,除非其已用于序列中。在后者的实例中使用下个最低数目。因此,序列0,1,4,5,8,9,13,14用在第1层之上(而不是0,0,4,4,8,8,13,3)以有助于上面层的单元配置。以使用所描述规则填满在第2层之上的箱型区1916,且所说明的值用于布局第3层的单元。
配置序列(0,4,2,6,1,5,3,7,0,...)614用于第3层以布局配置控制单元。第2层和第3层之间的垂直互连图样1932符合序列614所需的连接。在图19A中,614中每对的第一阿拉伯数字以粗体字表示,因为只使用该对的第一阿拉伯数字来配置。单元1930连接于至下层的第0列和第4列。在第0行,在对角线中的下个单元连接第1列和第5列,再下个单元连接第2列和第6列,且在对角线中的第四个单元连接第3列和第7列。亦即,四对的第一个阿拉伯数字形成序列0,1,2和3。
自序列(0,4,2,6,1,5,3,7,0,...)614而来的替代阿拉伯数字产生序列(0,2,1,3,0,...)以用于列的布局。沿第0列和第1列,单元1800配置于至下层的连接0,1,2和3。此序列以第3层的一系列垂直箱型区1928的底下的阿拉伯数字显示。沿第2列和第3列,单元配置于连接1,3,0和2之上。第3层的控制单元以行至第0行右边方式配置于垂直箱型区1928中相似数字的交叉点而至左边和下面层间的箱型区1916。以使用第2层所述的规则填满在第3层之上的层间箱型区1928。
配置序列(0,8,4,12,1,9,5,13,2,10,6,14,3,11,7,15,...)658用于布局第4层1950。单元1940连接于至第0列和第8列的下层,持续该对角线,下个单元连接至第1列和第9列,然后下个单元连接至第2列和第10列,以此类推。该互连图样1942符合此连接需要。第4层的其余部分以使用源自658的每对的第一个阿拉伯数字的序列,也就是0,4,1,5,2,6,3,7,0,...,先填满垂直箱型区来布局。此序列用于填满第4层的垂直箱型区1944。该控制单元配置于自箱型区至左和每个开关阵列下面的相似数字的交叉点。图19A说明此文中用于布局平坦等待时间开关1900的控制单元1800的所述规则的应用。
若由线W2进入单元1910的消息未被具有优先权的线W1上的另一消息所阻挡而且也优先移至第0层的相同列,以及若目标列未为下层所阻挡那么在第0列的消息立刻被向下传送至消息目标。因此,线W2或线W2上未被阻挡的消息总是向下移动。在平坦等待时间开关1900说明的实行及使用,进入控制单元1800的消息被阻挡的可能性非常小,因此每次消息自左进入控制单元后一般是向下移动。也请参阅图17,开关1700的等待时间就是在消息向下移动之前消息移至下一行的机率为50%。因此,向下落的消息有一半的时间一般是到达“错误”列组。相较之下,对开关1900来说,向下落的消息总是有利于连接至上和下列组。在既定的相似载荷情况中,开关1700的平均等待时间较开关1900多50%。再者,流通时间使单一消息通过开关1900的等待时间差异由最小值的100%至200%,因而通过开关1900的单一消息的等待时间对所有消息而言几乎为固定的,且与单一路径开关1700的最小等待时间相同。
输入端口连接请参阅图8B,在下层移向右的一消息B840可以阻挡842在上层的另一消息A802向下移动,结果消息A被阻挡,其他消息C844和D846同样为消息A所阻挡。假设在第一种情况避免消息A被阻挡,那么消息C和D也不会被阻挡。当开关中消息数目增加,个别消息被阻挡的可能性则增加。也请参阅图4,允许消息200进入开关100,不管何时行准备信号404到达高状态且输出端口也未被阻挡406。开关100的统计分析显示在通过开关的任何实施例期间,降低消息输入至开关的速率可显著减少消息被阻挡的可能性。
输入至开关的最大速率(100%)定义在当所有端口104在每次未阻挡的时间406接收一消息的情况。若依赖于开关100的尺寸和特别实施例而将速率降低25%至50%的范围,则在等待时间分散的消息阻挡及负面影响则可大大地降低,甚至于微不足道。将低输入速率的方法之一为指定连接于端口104计量器或其他外部装置来减少注入信号的频率,不利的是,此技术承担开关外部的装置速率减少的责任。另一替代方法包括减少行准备信号的传送速率,不利的是,外部装置必须等候较长的时间以注入信号。不管是哪一种减少速率方式,其影响为增加有效等待时间及减少开关100的总输贯量。
请参阅图17和图20A,其显示八乘四开关1700的顶层1702具有32个输入端口104。在开关1700的另一实施例中,相同顶层2010具有少于一半的输入线。在顶层的控制单元300可连接至一输入端口或不连接2112。图20A的前两行说明在无增加等待时间的不预期效果情况下可减少速率至50%的方法。可以不连接特定单元2114至输出104来更进一步减少和调整该输入速率。在开关1700的一实施例中,同样以对应于省略的输入端口(图未示)的模式省略输出连接154。因此,开关具有相同数目的输入端口和输出端口。在另一实施例中,可操作32个输入端口。因此,开关1700的另一实施例可具有32个输入端口和32个输出端口,或16个输入端口和16个输出端口,或是16个输入端口和32个输出端口。在其他实施例可选择其他连接数目,依赖于载荷因子及效能的考虑。输入104的数目和排列与整个可能数相较决定开关内的最大消息流密度。消息流密度定义为开关内消息的实际数目而不是最大可能数目。
请参阅图18D,19和20B,以使用图20A的前二行所描述的相同方式可减少平坦等待时间开关的输入速率至50%。亦即,在另外行的单元1880没有输入连接2024。在图20C中,另一方法包括只连接单元1880的两个向上输入线1874和1876的其中一条至输入端口104。输入104较佳是连接至无优先权2072和2074的列,因为在相同列,至左的单元给予该列优先权,因此该列较无可能包含阻挡输入104的消息。为进一步减少和微调开关输入速率,使用图20B和20C所示的方法组合,尤其,一些行的每个单元2072只有一个输入,且其他行则无2024,相似于图20A的输出连接。
开关100的一实施例的硅集成电路芯片实施的输入(及输出)端口数受到引脚的限制。亦即,芯片中可获得的输入和输出连接数决定开关的大小。此情况起因于用于实施控制单元的比较少量的逻辑门。给定此组技术决定的情况及使用独特少量的门,使用多于引脚容量的逻辑容量以减少等待时间和消息流密度。利用逻辑容量的一种方法是在较复杂的平坦等待时间单元1800花费额外可获得的逻辑。另一种方法为减少输入和输出端口连接2112和结合更多行以构成差异。可组合此两种方法,如图20B和20C所举例。实际上,可取得的I/O连接或引脚决定开关的容量。此说明的实施使用2至4的乘方或更多倍的最少所需行数。例如,以使用图20C的输入连接方法或图20B和20C的结合方法,64-端口开关1900以8至12内部行(与图19的四行相较)来实施。
右至左连接在图21A,21B和21C中,说明不同东至西(或左至右)的连接实施。请参阅图21A并配合图1和3,最右行164的消息通过选择的FIFO缓冲器114且到达一列出口点172。该出口点172为沿一列360自左至右移动的消息的最右位置。在点172的消息无法成功向下移动至下面的层和输出端口。在开关100的一些实施例中,消息在路径2104中向左传输至在相同列的列出口点174且连接至在第0行160的开关阵列120的控制单元。在第0行的消息立刻有机会向下移动而持续朝向消息目标列。
请参阅图7,20A和21B,开关的另一实施例具有消息到达列出口点172,其转送2106至一不与外部连接的输入端口104。FIFO 2108调整该消息的时序以符合行时序需要。未使用的列入口点2120可与外部连接且作为一输入端口104,但是在由顶层下面的一层的点174进入开关的消息不必到达底层的所有可能列的限制下,例如,由第2层的上列组的列进入开关的消息不能到达在第1层的底部列组716的任何列。由顶层下面的层进入开关的消息比进入顶层的消息更有利于获得较低的等待时间,但是限制在消息可到达的可能目标的范围内。
在再另一实施例(图未示)中,其为图21A与21B所示的连接的组合,一些出口点172连接2104至入口点174,而其他出口点连接2106至未使用的输入端口104。请参阅图21C,开关100的另一实施例包括一出口点172,其连接于不同列2110的入口点174,其有利于持续被阻挡于一列中的消息有其他的机会向下移至其他列中。
请参阅图2A,2B和2C,消息200一般包括一首标部分和一有效载荷206,具有一总长度214。进入开关100的任何实施例的个别消息的长度不同。该开关可接受任何消息长度达到一预特定的最大尺寸。对一给定的开关100实施例而言,根据开关的实施,首标的格式和大小为固定,但有效载荷的长度可以不同,因而造成总消息长度214不同。根据图8B和图21A的讨论,自任何行的上层进入控制单元的消息可被重复阻挡,使得消息循环回至在相同列2104的入口点174。在消息持续被阻挡的情况下,消息到达该行的控制单元,那儿为消息自上层先进入列的地方。亦即,消息在“首标”或通讯比特202追赶“尾端”或有效载荷206的最后比特的情况中。因此,一列的储存容量为足够容纳消息的所有比特214。
请参阅图11A,13A,15A,16B,17和18C以及检查控制单元1300,1500,1620和1800,在通过单元的左至右路径中,一控制单元包含一或多个延迟元件1102。这些延迟元件参与单元的地址解码和消息发送。沿一列自第一行至最后一行聚集所有延迟元件1102于所有控制单元,延迟元件的聚集也可作为一个FIFO储存装置。例如,控制单元1300包含两个延迟元件。开关1700具有四行,因此一行的四个控制单元的储存容量为2乘4,或8个比特。实际上,消息长度214远大于8,因此FIFO 114可用于扩充列储存容量至消息大小214。持续以消息长度为32个比特为例,每个FIFO 114的长度为(32-8)或24个比特。
请参阅图20A,20B和20C,相对于输入104的总数,增加行数有助于减少开关内消息的阻挡以及改善等待时间。增加行数的另一好处为一列的储存容量可相对增加。例如,在具有16行的开关另一实例中的32比特消息完全不用FIFO 114。16行可产生32比特延迟的聚集,其表示一32比特消息可在一列中循环,首标和尾端不会相冲突。与I/O连接相较,过多逻辑门利用技术的情况,除了如前面所讨论有助于减少数据流密度外,逻辑门可用于许多控制单元,此乃因增加每列的消息储存容量。在开关100的


实施例中,该逻辑门可用于尽可能产生许多路径,亦即,产生不连接于输入104的额外的行。在与可获得门有关系的消息长度214为大的一实施例中,FIFO114用于每一列中。
低等待时间输出图22A显示一低等待时间输出结构,其可减少底层的阻挡。请参阅图2A,一消息200包含一列首标地址204,其指定开关底层的目标列。具有图22A的输出结构的开关100实施例确实使用行首标212。首标204所指定的目标列为消息的最后目的地,且当消息到达底层时,消息所在的物理行为无形(immaterial)。到达任何底层列的消息自所有行中并行收集且供应给最终输出装置176。事实上,多个行用于增加带宽和减少到目标2206的等待时间,以及减少较高层的阻挡。因为到达底层的消息立刻向下移动,因此该消息从未在第0层向右移动以试图阻挡在上层的消息。所描述的输出方法有助于以最快可能速率汲取开关100的消息,因而减少在上层的等待时间和拥塞。
请参阅图1和2A,在开关100的实施例中,输出结构180包括多个外部装置或消息目标2206。这些装置的数目与底层的列数相同。在缓冲器阵列152中的一缓冲器2210一连串接收来自开关底层的控制单元2202的消息200。此实施例可用于低等待时间应用,因为该缓冲器2210总是准备接收数据,使得单元2202没有一占用信号输出。该单元2202总是立刻向下传送该消息。
请参阅图4,12B和22B,消息的通讯比特202在行准备信号422所表示的时间到达缓冲器2210。消息间的最少时间量为消息间时间tm1242。缓冲器2210一连串地接收消息通讯比特202和有效载荷206。如图10描述所讨论,该首标204自该消息中移除。缓冲器2210的内容物为并行的总线178所移除且递送至目标176,例如超级计算机的处理器或控制单元。于是该缓冲器2210复位为零以表示无消息存在。在缓冲器2210中有消息的存在以缓冲器中的通讯比特202来表示。该通讯比特表示有效载荷在缓冲器中且在下一个周期422之前将被移除。
请参阅图1,12B,22A和22B,在结构2206中的缓冲器2210的输出时序对每个FIFO 1102来说为不同,因为这些缓冲器连接至在不同行的控制单元2202。时间差异衍生自控制单元中的延迟元件且等于时间tc1240。该行时序信号可由时序端口168的外部获得。
列及行地址请参阅图1,2B和15B,具有一行地址首标的消息200朝向在特定列和行的输出端口。在开关100的实施例中,若该地址符合控制单元的行位置,第0层的控制单元1550读取行地址212且向下传送消息。在具有许多行的互连结构中,消息在到达目的行之前有机会向右移动通过许多单元1550,而避免优先落至第0层的列的第1层消息作此动作。因此,使用第0层控制单元1550的开关100实施例无法总是有效地汲取来自开关的消息,因而增加消息为上层阻挡的可能性。
请参阅图1,23A,23B和23C,在第0层的输出结构180立刻转送未被阻挡和具有列及行地址2308的消息200至输出端口176。在第0层的消息A被定址于第0列第2行。消息A进入读取2314行地址212及在路径2312向下传送消息至输出控制2322的控制单元2310,其中该消息在路径2326向右移动至连接于目标输出端口176的FIFO缓冲器1112。在单元2316上面的第1层单元且优先落至下一行的单元2316的另一消息200如预期地未被自第0层的单元2310向右传送的消息所阻挡。自单元2316在路径2330中向右移动的消息以向上传送占用信号2316至第0层的控制单元2310来阻挡单元2316向下传送消息至相同地址2308。在单元2316中定址于相同列及不同行的另一消息不会被路径2330上的单元所阻挡。因此,在使用单元2310和2322的开关100实施例中,同时发生的消息朝向相同列不同行不会导致阻挡,该阻挡是发生在使用第0层的控制单元1550的实施例中。
多元播送控制大型开关所欲的特色为多元播送传输能力,即传送单一消息至许多或所有输出端口。在另一实施例中,单一开关100同时支持一对所有消息发送以及一对一消息发送。此实施例的方法为每当该消息落至底下一层时即复制一多元播送消息。所预期的结果为当消息最后到达第0层时产生一副本给开关的每列。于是该多元播送消息沿第0层的每列向右移动,且一副本向下落至每行,结果所有输出端口154接收该消息的副本。
图24A显示用于多元播送消息230的控制单元2400,且图24B,24C和24D图显示多元播送控制单元2400的不同状态。在此所描述及图24A,24B,24C和24D所显示的多元播送能力与所有其他实施例一致,使得以额外控制单元逻辑的成本可选择性地建立多元播送于任何实施例中。请参阅图24A并配合图2,10,12A,12B,13A和13B,多元播送消息230在首标上包含第二比特,其称为接续通讯比特202的多元播送比特220。
当多元播送比特设定为ZERO时,该消息被传送至由列首标204和行首标212所决定的单一端口。用于控制点对点传输的技术与图12,13,14和15所描述的技术相同。另一延迟元件包括于控制单元2400之中以维持该多元播送比特220。当通讯比特202为ONE且该多元播送比特为ZERO以表示点对点传输时,控制单元2400检查最高有效比特208和占用信号BS2406以决定消息是否向下或向右发送。当消息230向下发送时,该通讯比特(ONE)和多元播送比特(ZERO)连续往下传送至线S 2412。在完成两个周期之后,连接延迟元件D1和线S,有利于得到的结果是接续最高有效比特208的比特1004变成下一层的最高有效比特。该消息提前2个比特以维持层间时序需要,如图12A和12B所示。
当多元播送比特220为ONE,消息230被向右发送直至下层的上列和下列已接收该消息的副本。当消息230向右移动,该消息优先落至底下层的上列1015和下列1016。请参阅图24B,“上”比特224和“下”比特226起始是设定于ONE,其表示该消息至今未被传送至下层的任一列。
在图24B中,消息F进入控制单元而未被阻挡,使得在线BS上的阻挡信号为ZERO。消息F的副本则往下和往右传送2432。该控制单元位于下列,因此往右的副本的“下”比特226被设定为ZERO以记录分支已符合2434。当多元播送消息的副本被往下传送2412,往下的副本的“上”比特224和“下”比特226被复位为ONE,使得该消息在下层再度被复制。
请参阅图24C和24D,消息F向右移至与上面单元连接的一单元。此单元为下面所阻挡2436且该消息持续向右。消息F的副本最后到达与上面单元连接的未被阻挡的控制单元。在该单元中,消息F最后被向下发送2438且往右的首标的“上”比特224被设定为ZERO 2440。上和下标记比特现在设定为ZERO以表示该消息已在下层被复制,所以该消息不再往右传输。
图24B,24C和24D描述一消息,其具有多元播送比特设为ZERO。该消息向右移动直至该消息二度落至下层的适当列中。当该消息落下时标记比特224和226会被设定为ONE。在此开关中持续此复制直至到达第0层。因为该互连结构包括L个层,所以复制L个,其导致2L个列包含该消息的副本。每当该消息落下时,下层中两列的其中一个位于上半部而另一个位于下半部。此方法可确保图7所示的二叉树的分支皆可使用。最后结果为第0层的所有列接收该消息的副本。
当该消息源自于该开关的外部时,则产生可选择的行比特屏蔽228。比特遮罩为一系列的K比特,每个代表开关中的一行。当该比特遮罩的一比特被设定为ONE,该消息朝向对应行的所有列。为完成一对所有的多元播送,该行比特遮罩的所有比特起始设为ZERO,结果所有行和列接收该消息。或者,以只设定该比特遮罩元件的子集为ONE来选择行的子集。该省略的行设定为ZERO。该方法提供一对多的多元播送能力,其中所有列和唯一选择的行接收该消息。或者,若只有上224和下226标记比特的其中一个起初设定于ONE且另一个设为ZERO,那么只有第0层的上列或下列接收该消息。因此,个别设定上224和下226标记比特以及行比特遮罩228为ZERO或ONE将有利将多元播送消息导向目标的子集。
在第0层,多元播送消息在每列中向右移动,向左循环且最后横越所有的行。对一既定的列来说,比特遮罩的每个比特用于标记是否该消息在个别行中已被向下传送。若该消息未被下面所阻挡且代表行的比特为1,那么该消息的副本(最好没有比特遮罩)被往下传送。如图15B所述,只有通讯比特202和有效载荷206离开该开关。同时,该消息的副本也被往右传送且在比特遮罩的行位置设为ZERO,其表示行目标已符合,若该消息被阻挡下落,该消息持续向右移动且该比特遮罩未被改变。一被阻挡的消息循环且最后再度通过该被阻挡的单元。当该比特遮罩的所有比特为ZERO以表示所有目标行已接收该消息,该消息在第0层中不再向右传输。
前面描述多元播送一消息自一输入端口至第0层的所有列以及自第0层的每列至所有行的结构和技术,因而满足一对所有(one-to-all)传输的所欲需求。也描述一对许多(one-to-many)传输至选择行的所有列。再者,多元播送消息及非多元播送消息发送有助于同时发生在相同开关中。
2D,3D及4D系统消息流控制的拓扑和方法以未限制方式控制规模,使得开关100实施例的可使用输贯量和效率不是由开关尺寸的上限所决定。当开关尺寸到达无限时,输入端口对所有可能输入(如图20A,20B和20C所讨论)的较佳比率可能在1∶3至1∶6的范围中。实际上,对开关100任何实施例的最大尺寸的限制为装置的引脚数。因此,单一集成电路芯片实施的最大尺寸受到引脚的限制。期望所制成的开关具有比技术限制所设定I/O的端口来得多。多个芯片实施在几乎无实际限制的情况下提供了增加端口数的结构和技术。下面提供三种方法,称为二维(2D),三维(3D)和四维(4D)互连方法。
请参阅图25A,25B和25C,其显示用于“nD”多重芯片开关的消息布局。用于2D开关的消息2502具有两个首标208和2508。用于3D开关的消息2504具有三个首标208,2508和2510。用于4D开关的消息2506具有四个首标208,2508,2510和2512。
请参阅图26A并配合图1,3和25A,2D开关2600由连接两个堆栈2610和2612所形成,每个堆栈包含多个C的开关100单芯片实施2602。2D开关2600的一较佳实施例,C为第0层的列数。两个堆栈以总线连接2604的特殊排列所连接。在第一堆栈2610中的芯片2620的每个输出2604连接至第二堆栈中每个芯片2632,2634,2636和2638的一输入。消息2506的首标208决定输出2604该消息至何处。进入任何输入端口2622的消息被传送至第二堆栈2612中任何芯片的输入端口。如图10所讨论,当消息2502通过第一堆栈2610的芯片2620时会去除该首标208。
进入第二堆栈的一集成电路芯片2630的消息2502以与首标208完全相同的方式处理该首标2508。因此,首标2508与前面所讨论的首标208同样用于进入第二堆栈2612的消息。进入连接总线2604的任何输入的消息期望能被传送至目标输出2640。也请参阅图26B,两个堆栈2610和2612的所得结构(如上面所描述的互连方式)在此意指一“扭曲立方”,其表示一堆栈相对于另一个而扭曲90度。在开关100的适合2D实施例中,连接总线2604包括所有输出端口154组及在相同列地址2206的个别占用信号端口376而省略FIFO缓冲器152。为简化时序的考虑,在堆栈2610的输出行端口154连接至第二堆栈2612的相同行的输入端口104,且同样地用于连接占用信号376至相同行端口占用信号304。给定两个包含多个C集成电路芯片的堆栈,输出地址2620的总数为C2。
请参阅图27并配合图25B,其显示3D互连开关。应用图27说明的用于连接总线2604在该布局所描述的相同互连方法,本领域的技术人员能够组装较高维的开关。该3D开关包括三层2710,2720及2730,每层包括C个集成电路芯片的C个堆叠。在该3D开关2700的较佳实施例,C为芯片第0层的列数。消息2504的3个列首标208,2508及2510决定该消息的输出地址2720。输出地址的总数为C3。
请参阅图28并配合图25C,其显示4D互连开关。应用图28说明的用于连接总线2604在布局所描述的相同互连方法,本领域的技术人员能够组装较高维的开关。该4D开关包括两个方形矩阵2810及2820,每个矩阵包括C2个扭曲立方2600。在该4D开关2800的一实施例,C为芯片第0层的列数。消息2506的4个列首标208,2508,2510及2512决定该消息的输出地址2220。输出地址的总数为C4。
分裂首标开关用于如超级计算机网络的高速系统的开关的主要设计目的为低等待时间。图18A,18B,18C和19所讨论的控制和拓扑的平坦等待时间系统及图16A和16B所讨论的高速时序控制以及结合两者用于减少消息通过开关100的实施例的等待时间或通过时间。在目前所讨论的实例中,消息的所有首标比特在第一有效载荷比特进入之前进入开关100的实施例,其表示该首标的长度(用于一既定的I/O速度)决定绝对最小等待时间。图29A和29B描述一分离首标实施例,其减少两倍的时间且减少两倍有效载荷通过该开关的时间。
请参阅图29A,消息200被外部“分离”成两个消息2902和2904,每个消息具有一半的原来长度。另外的首标比特204分别形成为该分裂消息的个别首标。在偶数位置2910的首标比特变成消息A 2902的首标,且同样地奇数比特2912变成消息B 2902的首标。该有效载荷204分成两半,其分别形成二个消息的有效载荷2914和2916。
请参阅图29B并配合图1和20A,其显示一分裂首标开关。该开关包括两部分T 2924及U 2926。每部分在主2930及从2032控制阵列的交替层中形成。除了控制单元的内部详细说明之外,一部分等于图1所示的开关100。主控制阵列层2930包含前面所述的控制阵列120,其加入控制流总线2922。控制总线2922包含R个路径,其中R为该层的列数。每个控制路径的输入线连接至每个主控制单元的布局输出以及传送或复制设置于相同层相同情况的从属控制单元的锁存器。控制流总线2922传送在一层中的所有主控制单元的所有锁存设置。一控制路径的输出线连接至该从属控制单元的锁存器。在主控制单元的逻辑门处理和设置锁存器在该单元之中。从属控制单元则省略处理该首标的逻辑门以及移除第一首标比特的逻辑元件。
在消息B 2904在输入端口2928进入该部分U 2926的同时,消息A 2902于输入端口2926进入开关2900的部分T 2924的顶层。当该消息向下移动至底下一层时,该第一首标比特2910自消息A中移除。该消息B与该消息A同步移动,因此在该消息A移动的同时,该消息B向下或向右移动。在底下一层中,该消息B进入主控制单元且其移动为该消息A所复制,其以自主要至从属复制锁存设置。当该消息B向下移动时,该第一首标比特2912被移除。也请参阅图12A,开关2900的时序允许此二比特在单一时钟周期1110中移动。因此,每个时钟周期比特以两层的速率向下移动。在该底下一层中,该消息A再度进入主控制单元。当消息向下移动至底层,消息A与消息B交替通过主控制单元以及失去首标比特。每个消息在每两层和每一时钟周期中失去一个比特。
复制一层中所有控制单元的所有锁存状态的概念可延伸至超过两部分。例如,若消息200以图29A所描述的模式分裂成3或4或更多个消息,那么用于分裂消息设定的流通时间由消息所得的数目来分。每层只有一个主控制部分,其他部分为从属。在往下的层中该主要部分在所有部分中旋转。
光学消息布局图30A显示一光学消息的布局。该第一比特202宣布一消息的存在且作为一时序比特。首标比特(H1,H2,…,Hn)3002在光学消息中具有与电子消息202相同的功能。在一实施例中,该首标比特3002在光学首标中彼此相间隔,其方式相似于电子首标204中的间隔。在另一实施例中,所有首标比特占去光纤中相同实体空间,因此同时发生,但是使用n种不同颜色,此技术称为波分复用(WDM)。在此方式中,使用n种不同获得的波长(l1,l2,…,ln)。波隙(wavelength slot)lk的光存在传达与时隙(time slot)Hk的光存在相同的数据。在另一实施例中,使用混合的方式。例如,可使用n/2波长占用两个时间位置。该光学有效载荷3010载送数据及在光学消息中提供如同于电子有效载荷206用于电子消息200的目的。图30A说明载送于多个时隙与波隙的有效载荷数据。提供停顿时间(dead time)3008以允许电子追赶上光子以及计算在光纤中传送的光学信号的颤动(jitter)。
光学控制单元请参阅图30B并配合图30A,其显示电-光控制单元3030的一实施例。为光学信号3000形式的数据藉由输入线NW 3036和S 3038进入单元3030。数据藉由输出线SE 3034和N 3032离开单元。若该单元303不在最上层,那么藉由输出端口N 3034离开单元的消息M将直接由上进入该单元的输入端口S 3038。若该单元在最下层,那么离开输出端口N 3032的数据将离开该开关。若该单元3030不在最下层,那么藉由输入线SE 3034离开单元的数据将藉由输入端口NE 3036进入另一单元。
单元3030的操作相似于单元1300的操作。单元3030为开关的第J层的一单元。AND(“与”)闸3040只有NOE输出,其为时序比特202在timewindow(时窗)期间到达AND闸3040之处,其中锁存设定3002为高状态。时序比特202为藉由输入端口3036进入该单元的消息首标的第一比特。时序比特202穿过光纤抽头3066且由O/E元件3062将其转换成电子。锁存设定脉冲3002自时序来源3042到达门3040。当AND闸3040由ZERO变成ONE,延迟元件3044在一时间延迟dh3016之后设定锁存器L 3046为ONE,该时间延迟dh为时序比特202与首标比特3002之间的时间。锁存器3046为一正缘取样保持电路(positive-edge,sample-and-hold circuit)(配合门3040和3050),其捕获和保持首标比特3002的值。因此锁存器3046可作为一静态-比特寄存器。
目前,由输入线S3038进入单元3030的光学信号的一小部分由无源光纤抽头(passive fiber tap)3064导向O/E转换元件3048。元件3048具有两种功能,一个功能是自藉由输入3038进入开关的消息检测光学第一首标比特202。若无检测到比特,元件3048具有输出值ZERO。若检测到首标比特202,元件3048产生一高电子信号(ONE)持续一段时间dh3008,此期间为用于整个光学首标通过一给定点的时间,锁存器3046只有在进入通过输入3038的消息的时序比特为ONE或第J层的首标比特为ONE的情况下才会产生一高脉冲(ONE)。单元3030为连接至下面一层的单元中上列组716的一单元。连接至下面一层的下列组718的一单元具有门3052为门3050所取代。
在首标比特转换成电子及电子装置设定电吸收调制器(electro-absorptionmodulator)3054和3056的期间,消息M储存于延迟回路3060之中。消息M由延迟回路3060前进至3dD分解器(splitter)3058。分解器3058递送与消息M相同的副本至电吸收调制器3054和3056。只有电吸收调制器3054和3056的其中一个在一既定时间为透明,因此,允许光纤藉由输出端口3032和3034的其中一个离开单元3030。元件3054和3056仍留在锁存器L 3046所设定的固定状态,直至锁存器3046改变状态,至少直至下一锁存设定信号3002到达为止。
单元3030是使用电吸收调制器所建构而成。熟习该技艺的人士能够修改该单元以半导体光学放大器或铌酸锂门(lithium niobate gate)取代该电吸收调制器。
光学输入单元也请参阅图30E,控制单元3030位于开关3070的所有层,除了顶层或输入层之外。图30C说明一种电-光输入单元3092,其只位于开关3070的输入层。光学信号E 3000在通讯比特202与其他消息同步由输入单元3091进入开关的时候由外部组成。尤其,时序就是若外部消息E由输入3037进入单元3092,且同时另一消息B由线S 3038进入该单元,以及电-光开关3054设为透明,那么每一消息的通讯比特同时到达光纤3034。在至一产生时钟移位寄存器1100的电子消息目标中,光纤中数据流或消息3000的本性为数据不会维持在静态,直至较晚时间释放该数据为止。一光学信号3000总是在移动中。因此,输入单元3092总是在输入3037接收一适当计时消息3000。
在来自向下方向3038的消息B 3000的情况中,消息B由前面讨论的元件来检测,且在外部消息E到达调制器3054之前,锁存器3046设为ONE。在消息B进入单元3092之后,该调制器3054设为非透明,吸收外部消息E,且在线BN 3033上的电子占用信号向上传送至外部装置,其表示该消息不为开关3037所接收。该外部装置接续建构另一消息E以注入于下一锁存设定3002周期中。
或者,当外部信号E 3000由输入3037进入单元3092且无消息到达线S3038时,消息E通过电-光开关3054以在上层离开该单元和进入第3层的控制单元3030。线BN 3033上的占用信号表示至外部装置的消息不为开关所接收。
在一实施例中,开关3070的第0层单元接收光学控制信号,其表示在输出装置中存有空间给一消息。在此实施例中,第0层的单元与其他层的单元3030相同。在另一实施例中,开关的第0层控制单元接收电子控制信号以表示输出装置无法接收一消息200。在此实施例中,第0层的单元与第1层的单元些微不同,其中光纤输出3038和相关的O/E转换器4048为单独电子连接所取代。
光学开关图30E显示光纤,控制单元及光学开关3070的其他元件的互连结构。此图相似于图17,此外,开关3070可具有其他行(图未示)。且非所有的行必须同等相间隔,使得在一对相邻行之间的光纤3086的长度不是在所有的行皆相同。消息自顶部3072进入而自底部3076离开。
也请参阅图17,在一列中向右移动的消息可优先向下掉落或持续向右,直至该消息到达一控制单元以允许该消息最后向下移动。离开控制单元A3030和优先向右移动的光学信号M 3000自线N 3080离开单元A,其中该线N连接于至线S 3038上的至上层的该单元B。光学信号总是沿对角路径3082由线SE 3034离开单元B。单元B连接于线SE而至下行下列的单元C,使得单元C直接至单元A的右边。明显约圆形行径的目的为该消息M可以即时提供消息以阻挡单元B的另一消息优先自单元B移至单元C。在下层的消息M优先于在较上层的消息,如图8A和8B描述所讨论。事实上,消息流,移动顺序及在光学开关3070中发生的阻挡与电子消息200移动通过相同组态的开关1700的情况相同。
每个控制单元的一3dD分离器结合光纤抽头3066和3064的光能量的少量流失造成光学信号振幅的衰减。为调节信号的流失,放大器和再生器3090插入于一些行之间。再生器3090执行两种功能放大该光学信号3000为足够的强度以进一步处理,以及改变或再生光纤所载送的二进制数据,改善信号及噪音品质。在使用半导体光学放大器或铌酸锂门的另一实施例中,信号通过系统会减弱,故需要再生。
消息M可在一既定时间跨过一行以上。事实上,消息的前面比特可以在消息的后面比特进入该开关之前离开该开关。在开关3070的一实施例中,来自右边的输出线直接连接至在左边的相同层的输入线。在此实施例中,整个消息完全适合在一层中,以确保消息的第一比特不会环绕一列并与消息的另一部分相冲突。此特性可应用于电子和光学的实施。应注意所有的消息一般是不会有相同的长度。
开关3070的时序控制使得消息同时到达既定层和行的所有单元。作为图示说明的实例,考虑具有三行的图30E的实施例和具有控制单元的四层以及具有输出单元的另一层。第0行与第1行之间的距离等于第1行与第2行之间的距离,但小于第2行至第0行的距离。将该开关设计成载送两种长度的消息,即短消息S和长消息M。右手边的输出端口3085直接连接于在相同列的输入端口3083。此外,短消息S适合在相同列的二节点之间。因此,对在第R列,第W层和第C行的单元A以及在第U列,第W层和第C+1行的单元B而言,若消息自单元A移至单元B,那么在消息S的第一首标比特到达单元B的时间t时,消息S的最后首标比特已经在单元A的节点左边。
在另一实例中,一消息待在一既定层足够长的时间以通过四个节点。一时钟X不规则滴答且出现状态0,1和2。在一参考时间t(0),时钟X开始且读取0。短消息在时间0插入第一行的输入单元3030。一短消息在时间0插入至第0行的开关。该消息未偏离且具有第一首标比特,其在时间t1到达在第一行第3层的单元。该消息S仍留在第3层且具有第一首标比特,其在时间t2到达在第2行第3层的单元。该消息S仍留在第3层且具有第一首标比特,其在时间t3到达在第0行第3层的单元。一延迟时间D1定义为t2-t1。一延迟时间D2定义为t3-t2,该时钟X在时间D1自状态ZERO变成状态ONE,在时间2*D1自状态ONE变成状态TWO以及在时间2*D1+D2自状态TWO变成状态ZERO。此期间以此方式延伸,使得该时钟X将在时间2*D1+D2自状态ZERO变成状态ONE。
使用简单规则将消息插入至该开关。当时钟转变成状态t,短消息被插入在第t行的输入控制单元。若该短消息可以在时间t被插入在第C行的输入控制单元,那么长消息可以在时间t+D1被插入在第C行的输入控制单元。因此,该短消息可被对准且该长消息也可被对准。该开关时序的其余部分则依赖于单元间的光纤长度及延迟回路的长度。该光纤与延迟回路的长度可以调整。使得消息到达一既定单元3030而至输入端口NW 3036和S3038,以此方式可使电子准确地操作该开关。该延迟回路3060被制成适当尺寸,使得在该开关切换之后通过此回路的消息到达电-光开关3054和3056。最后,调整延迟回路3068使得自任何端口到达的消息同时离开该单元。
混合电子/光学控制请参阅图29B,一主/从关系可以有效移动数据通过一开关。一开关2900执行控制功能,其中主和从实施配合相同拓扑和消息流系统使得主要部分可以驱动从属部分。该从属部分依据消息的通过而被动作用。主和从相对于消息流在功能上是相同但在时序上有差异,可调整时序差异以提供成功的开关100的主从实施例。尤其,基于具有较长有效载荷206的消息的最低可能等待时间的目的,以控制具有只处理消息首标的电子开关的快且非常高带宽的光学开关来获得好处。
该混合电子/光学结合有助于利用两者技术的最好特色以配合产生一超低等待时间及非常高带宽开关。请参阅图30A和30B,一光学消息3000具有较长的黑暗时间3008及长首标3004,包含“肥”(较长的期间)光学比特3002,其可为控制单元3030内的光学/电子装置处理。换句话说,光学消息3000的有效载荷3010部分为整个消息长度的一小部分。宽首标比特和黑暗时间3008对考虑光学时序中的颤动为必须的。以避免使用昂贵的高速检测器及电-光开关可减少每个控制单元3030的成本。用于首标和控制处理的时间由延迟回路3060和3068来调整,其以一公尺长度的等级。再者,在每个控制单元中重复未产生的延迟回路延迟。另一方面,当在光学有效载荷3010进入之前复位开关3070中的所有锁存器3046时,没有使用延迟回路且该控制单元以相邻方式排列,产生一等级以上的震动以减少流通时间或通过该开关的光学有效载荷等待时间。
请参阅图30B和31,控制单元3030的高速电-光转换器3048和3062为昂贵的且适合的快速切换电吸收调制器也是花费高。一光学从属单元3100去除此二E/O转换器并使用低速电-光开关3124。单元3100在成本上少一等级,在速度上高一等级。相同拓扑和消息流的电子开关只处理包括通讯比特202和列首标204的消息首标。因为无有效载荷可处理,所以在电子开关中无使用数据输出端口154。
使用图16讨论中所描述的快速逻辑,在最后首标比特已进入该开关之后,既定行的电子开关1620的所有锁存设定为一个时钟周期。例如,以500Hz执行的具有11个首标比特的第10层开关使用约20纳秒设定该锁存器3116。请参阅图29B的分裂首标开关及使用高速技术,设定时间降至10纳秒。在首标比特向下移动通过该电子开关的同时,每个锁存器1616的状态在外部复制给光学从属单元3100。应注意的是因为在一列和层的锁存依序由左至右设定,所以一或多列的设定由单一输出引脚3114传输。使用用于包括每列和行交叉处的每个控制阵列的一时序选通信号(timing strobe signal)3110以产生锁存状态信号和复制该信号3124给该光学从属单元锁存器3128。锁存器3128设定电-光开关3130或3132为透明的及另一个为非透明的。在光学有效载荷到达之前,电-光开关3130或3132具有足够的时间改变状态,所以可使用较低廉的装置。
请参阅图32,在混合电子/光学开关3200的一实施例中,用于图17的相同布局规则用于电子和光学部分。为考虑时序上的差异,电子首标先进入该电子开关并且传输该锁存状态至光学部分3100。当所有锁存器被设置时,传送光学有效载荷通过,且因为除了延迟回路3060和3068之外的光纤非常短,所以该有效载荷在移动通过非常短的总路径长度之后离开。若使用再生,则加入额外路径长度。只要该光学有效载荷的尾端已进入光学部分的顶层,则新电子首标马上传送至电子部分。依据每个部分的相对等待时间,可预期电子和光学的处理有一些重叠,因而减少消息进入较快部分之间的停顿时间。
请参阅图31和32,其显示控制流的互连方式,用于衍生自图17的开关1700的混合电子/光学开关3200两层和两行。沿电子部分的每列的锁存设定d 3106藉由控制线3114传送至在光学部分的可能位置的锁存器3100。使用时序选通3112自一输出引脚多路复用锁存设置。
当电子主要部分之一的时序同步化有别于光学从属部分的时序时,可使用缓冲器以储存电子所提供的开关设定,直至该光学从属部分需要该设定为止。与每个光学单元有关的是具有两个隔间A和B的两个长移位寄存器。该光学主要部分传送数据至隔间A。若隔间B为空的,则比特由隔间A流至隔间B。当光学单元已为数据准备好,该光学单元自隔间B获得数据。
在此讨论三种不同的应用。
第一种应用讨论的情况为只有一消息比特适合于光学开关的最短列。当至开关的一输入装置传送数据至目标时,该装置注入首标于电子主开关中。因为阻挡情况,所以该装置必须等候注入数据。当首标的第一个比特一被电子主要部分所接收,则该光学消息立刻随门设置而建构。当该光学消息进入该开关阵列时,设定所有开关。在消息通过该开关阵列的同时,其他消息在注入之前自电子形式转换成光学形式。也再生另外的其他消息。另外的其他消息离开该开关且自光学形式转换成电子形式。因此,通过光学开关的所有时间完全为同时处理过程所隐藏。
第二种应用利用并行电子复制,且当几个消息占据光学开关的一层的单列时使用。可使用锁存设置的额外缓冲。在开关的第二种形式,光学开关的每列包含K个消息。该光学开关不能执行虫蛀孔方式。该光学开关包含K行。电路的电子部分包括光学开关的K个电子副本。每个副本以虫蛀孔方式执行。在该光学开关的行标示为C0,C1,…,Ck-1。该电子开关标示为N0,N1,…,Nk-1。在时间0,该电子开关n传送数据至一个光学开关的光学行n。在时间t,该电子开关n传送数据至光学开关t+n mod K。该锁存设置可使用缓冲。
第三种应用支持在光学开关的每层的几个消息。使用虫蛀孔发送方式和在开关中使用缓冲以符合时序需要。该开关包括K个电子开关的副本N0,N1,…,Nk-1以及一个具有K行C0,C1,…,Ck-1的光学开关。电子开关NJ具有一组两个长缓冲器,其与光学开关的每个单元相连结。在每个电子开关中发生首标的虫蛀孔发送方式。在时间0,开关N0开始处理首标和传送开关设置至光学单元。在时间D,开关N1开始处理首标和传送开关设置至光学单元。一般来说,在时间JD,开关NJ开始处理数据及传送设定至光学开关。每当电子开关开始处理首标时,光学消息开始结构的处理。在时间K(D+1),与电子开关N1有关的光学消息被放出,且当数据波被传送通过该光学开关时此过程将持续。
本发明的实施例已详加描述,以上所描述不应用来加以限定本发明的权利要求。本发明可以由本领域的技术人员进行各种修改,然皆不脱离所附权利要求的保护范围。再者,该开关以“向左”,“向右”,“向上”和“向下”的方向名词作描述,所包含的名词只为与图示说明的实施例一致起见,无暗示实际的方向性。此外,许多不同形式的装置可连接,其使用的互连结构包括但不限于工作站,计算机,终端机,ATM开关,电话中央办公室设备,乙太网络和IP开关等等。
此描述及权利要求有时意指以多重维排列的一互连结构。此所举的方向有助于了解互连结构的型态,然而,这些方向不是限定于空间的方向但一般意指以特殊模式互连的节点群组。本发明可以由本领域的技术人员进行各种修改,然皆不脱离所附权利要求的保护范围。
权利要求
1.一种互连装置,其包括多个节点;以及多个互连线于一互连结构之中,且选择性地以分层体系的多层结构耦合该节点,其包括多个j+1层,j为大于0的整数,以分层体系方式由一最低目的层L0排列至最高层Lj,该互连结构以不分类方式传送多个进入该互连结构的多比特消息通过多个输入端口,该多个消息的一个别消息M使用虫蛀孔路由选择(wormhole routing)进行自我路由选择(self-routing)且移动通过节点,其中只有一部分的该多比特消息在两节点间的运输途中,该多比特消息延伸于多个节点中,该个别消息M以多个方式移动,其包括四种方式以足够使该消息M通过该消息M指定的一输出端口而离开该互连结构,该四种方式为(1)该消息M自该互连结构外部的一装置进入该互连结构中的一节点,该消息M指定一或多个指定输出端口;(2)没有经由缓冲,该消息M移动通过该互连结构中的一节点而至一指定输出端口;(3)没有经由缓冲,该消息M移动通过该互连结构的第Lk层上的一节点而至在相同层Lk的一不同节点;以及(4)没有经由缓冲,该消息M移动通过该互连结构的第Lk层上的一节点而至在分层体系中比第Lk层更接近于该目的层L0的第Li层上的一节点。
2.如权利要求1所述的互连装置,其中该第Lk层上的一节点NAk具有多个互连点,其包括一直接数据输入互连点,来自该第Lk层的一节点NBk;一直接数据输出互连点,至该第Lk层的一节点NDk;一直接数据输入互连点,来自一第Lm层上的一节点NCm,其中m大于k,或是来自该互连结构外部的一装置DC;以及一直接数据输出互连点,至该互连接构外部的一装置DE;或是一直接数据输出互连点,至该第Li层上的一节点NEi,其中k大于i,使得该第Li层更接近于分层体系中的该目的层L0。
3.如权利要求2所述的互连装置,其中在具有一直接互连点至该节点NAk的装置中,存在一优先关系以传送数据至该节点NAk,使得在具有一直接互连点至该节点NAk的该第Lk层上的一节点NBk的优先级在一装置DC之上,其中该装置DC为在该第Li层上的一节点NCi或是该互连结构外部的一装置DC;该优选关系使一消息MB,由该节点NBk送至该节点NAk,并在相同时间间隔内使一消息MC由该装置DC送至该节点NAk,导致该消息MB被送出而避免该消息MC被送出。
4.如权利要求1所述的互连装置,其中该互连结构载送消息和控制信号,该互连结构包括一节点NE,该节点NE包括一直接消息输入互连点,用以接收来自一节点NA的一消息MA;以及一直接消息输入互连点,用以接收来自一节点NF的一消息MF;且该节点NA具有一控制逻辑和一控制输入互连点用以接收来自该节点NF的一控制信号CA,该控制信号CA强迫自该节点NF至该节点NE的该直接消息输入互连点优先于自该节点NA至该节点NE的该消息输入互连点,使得该节点NF传送一消息MF至该节点NE且送出一控制信号CA以指定一阻挡条件给该节点NA,该节点NA控制逻辑接收指定该阻挡条件的控制信号CA且以阻挡该消息MA的传输与该消息MF同时到达该节点NE而响应该控制信号CA,导致被阻挡的消息MA以另一方式送至一节点ND,其中该节点ND与该节点NE不同,且该节点ND与该节点NA不同。
5.如权利要求1所述的互连装置,其中该互连结构载送消息和控制信号,该互连结构包括一节点NE,该节点NE包括一直接消息输入互连点,用以接收来自一节点NA的一消息MA,该消息MA具有一首标;以及一直接消息输入互连点,用以接收来自一节点NF的一消息MF;且该节点NA具有一控制逻辑和一控制输入互连点,用以接收来自该节点NF的一控制信号CA,该控制信号CA强迫自该节点NF至该节点NE的该直接消息输入互连点优先于自该节点NA至该节点NE的该直接消息输入互连点,使得在缺乏一阻挡控制信号CA的情况下,到达该节点NA的消息MA在相同时间间隔使节点NA控制逻辑使用消息MA的首标来确定一选择的装置以发送该消息MA,在选择的装置是节点NE的情况下,该消息MA被发送到节点NE。
6.如权利要求5所述的互连装置,其中节点NAk的该控制逻辑确定是否,在一第一条件下,该节点NAk具有直接输出互连至在分层体系中比第Lk层更靠近目标层L0的第i层上的一节点NEi,其中该节点NEi具有通路至由消息MA指定的输出端口;以及是否,在一第二条件下,该节点NEi被另一个消息阻挡;以及当满足该第一和第二条件时,节点NAk的该控制逻辑发送消息MA至该节点NEi;以及当不都满足该第一和第二条件时,节点NAk的该控制逻辑发送消息MA至一节点ND,其中节点NAk和节点NDk不同,并且节点NEi和节点ND不同。
7.如权利要求1所述的互连装置,还包括多个输出端口,包括多个可访问的输出端口,其可访问第Lk层上的一节点NAk,该可访问的输出端口可通过该互连节点经一通路来访问;以及每个可访问该节点NAk的可访问输出端口还可访问在分层体系中比该第Lk层更靠近该目标层L0的一第Li层上的节点NEi,该节点NAk具有一直接输出互连至该节点NEi。
8.如权利要求1所述的互连装置,其中一节点NE具有来自一节点NA的一第一数据输入互连和来自一节点NF的一第二数据输入互连;以及该节点NA和节点NF之间的一控制互连解决竞争以发送消息至该节点NE。
9.如权利要求1所述的互连装置,还包括第Lk层上的一节点NCk,具有一直接数据输出互连至在分层体系中比该第Lk层更靠近该目标层L0的一第Li层上的一节点NAi,并且具有相对于一消息MC的优先关系,该消息MC在时间T移动通过该节点NC并且被优选发送到该节点NA,但是被一消息MB从节点NA阻挡,使得该消息MC被转向至与节点NCk不同的该第Lk层上的一节点;第Lk层上的一节点NGk,具有一直接数据输出互连至该第Li层上的一节点NDi,该节点NDi具有一通路通过该互连节点至可访问该消息MC的可访问输出端口,该消息MC在一时间T′被转向而通过该节点NGk,一第一时间步骤接续一节点使消息MC导向一较低层的时间T,其中该互连结构不允许该消息MB在该时间T′位于阻挡该消息MC的位置。
10.一种互连结构,其包括多个节点;以及多个互连线于一互连结构之中,且以一结构选择性地连接该节点,该互连结构以不分类方式传送多个进入该互连结构的多比特消息通过多个输入端口,该多个消息的一个别消息M使用虫蛀孔路由选择进行自我路由选择且移动通过该节点,其中只有一部分的该多比特消息在两节点间的运输途中,该多比特消息延伸于多个节点中,该互连结构包括一节点NE,具有来自一节点NA的一第一数据输入互连点以及来自一节点NF的一第二数据输入互连点;以及一控制互连点,介于该节点NA与该节点NF之间以解决竞争而传送消息至该节点NF。
11.如权利要求10所述的互连装置,其中该互连结构载送消息和控制信号,该互连结构包括一节点NE,该节点NE包括一直接消息输入互连点,用以接收来自一节点NA的一消息MA;以及一直接消息输入互连点,用以接收来自一节点NF的一消息MF;且该节点NA具有一控制逻辑和一控制输入互连点用以接收来自该节点NF的一控制信号CA,该控制信号CA强迫自该节点NF至该节点NE的该直接消息输入互连点优先于自该节点NA至该节点NE的该消息输入互连点,使得该节点NF传送一消息MF至该节点NE,以及传送一指定一阻挡条件的控制信号CA至该节点NA,该节点NA控制逻辑接收指定该阻挡条件的控制信号CA且以阻挡该消息MA的传送与该消息MF同时到达该节点NE来响应该控制信号CA,导致被阻挡的消息MA以另一方式送至该节点ND,其中该节点ND与该节点NE不同,且该节点ND与该节点NA不同。
12.如权利要求11所述的互连装置,其中该互连结构载送消息和控制信号,该互连结构包括一节点NE,该节点NE包括一直接消息输入互连点,用以接收来自一节点NA的一消息MA,该消息MA具有一首标;以及一直接消息输入互连点,用以接收来自一节点NF的一消息MF;且该节点NA具有一控制逻辑和一控制输入互连点用以接收来自该节点NF的一控制信号CA,该控制信号CA强迫自该节点NF至该节点NE的该直接消息输入互连点优先于自该节点NA至该节点NE的该直接消息输入互连点,使得一消息MA在缺乏一阻挡控制信号CA的情况下以相同时间间隔到达该节点NA,导致该节点NA控制逻辑使用该消息MA的一首标以决定一选定装置以传送该消息MA,在此情况下该选定装置为该节点NE,然后将该消息MA送至该节点NE。
13.一种移动消息通过一互连结构的方法,其包括以一结构互连多个装置,该装置具有多个消息输入端和多个消息输出端,多个互连线以由一传送装置的一消息输出端至一接收装置的一消息输入端的连接方式互连该装置;在多个具有输出消息端连接于一单一接收装置的消息输入端的传送装置当中指定一优先权;输入一消息至该互连结构以转送至一或多个被指定的输出端口;虫蛀孔路由选择一消息通过该装置,使得只有一部分的该多比特消息在两装置间的运输途中,该多比特消息延伸于多个装置中;在无缓冲下使用自我路由选择方式传送一消息由一传送装置至一接收装置,而途中至一或多个输出端口,该传送装置不请求该接收装置从该接收装置接收传送该消息至该接收装置的许可;在传送消息至一单一接收装置的多个传送装置之间进行通信,一传送装置具有优先权以传送消息至该单一接收装置,该单一接收装置具有一控制信号输出端,藉由一互连线连接至一无优先权的传送装置的一控制信号输入端,该具有优先权的传送装置传送一控制信号至该无优先权的传送装置;以及将一原本由无优先权的传送装置传送至所欲的接收装置的消息转向,该转向的消息被转向至另一接收装置,该另一接收装置在至该一或多个输出端口的途中。
14.一种移动消息通过一互连结构的方法,其包括使用多个直接节点NE输入互连方式互连多个装置D至一节点NE;在具有一直接输入互连点至该节点NE的装置D中强迫一优先关系以传送一消息至该节点NE;虫蛀孔路由选择一消息MA通过该装置D,使得只有一部分的该多比特消息在两装置间的运输途中,该多比特消息MA延伸于多个装置中;在一时间周期T将一消息MA自一节点NA传送至该节点NE,在该时间周期T,一消息MA通过具有一直接输入互连方式的节点NA移至该节点NE,该消息MA在该时间周期T内被指向送至该节点NE;以及在该时间周期T,无被指向送至该节点NE或转向至该节点NE的消息MF移动通过具有一直接输入互连点至该节点NE的一节点NF,其中该节点NF优先于该节点NA将消息送至该节点NE。
15.如权利要求14所述的方法,其还包括若在该时间周期T,该节点NF送出一消息MF至该节点NE,则在该时间周期T中止消息MA传送至该节点NA。
16.如权利要求15所述的方法,其还包括将中止传送至该节点NA的该消息MA传送至一节点ND,该节点ND与该节点NA和该节点NE不同。
17.如权利要求16所述的方法,其还包括藉由该节点NF将一控制信号传送至该节点NA,导致该消息MA被中止送至该节点NA,且强迫该优先关系。
18.一种移动消息M通过一互连结构的方法,该互连结构包括多个节点N和多个互连线L至多个输出缓冲器B,该方法包括藉由该多个互连线L选择性连接该多个节点N,使得一互连线L(p,q)直接载送数据由一节点p至一节点q;为一消息M决定一组节点O(M),使得作为该消息M目标的该输出缓冲器B连接于该组节点O(M);虫蛀孔路由选择该消息M通过该节点N,使得只有一部分的该多比特消息在两节点间的运输途中,该多比特消息M延伸于多个节点中;若该消息M的一第一部分在一时间t时位于该节点p,然后在该时间t移动该消息M于一互连线L(p,s)上,使得在时间t+1时,该消息M位于一节点s,其中该节点s和该节点p为不同的节点;若该消息M的第一部分在该时间t时位于该节点p,且从该节点p至该组节点O(M)中的一节点的最短路径包括横越的H条互连线L,其决定一条互连线L(p,q),使得从该节点q至该组节点O(M)中的一节点的最短路径包括横越的H-1条互连线L;若在时间t,该消息M没有被其他消息阻挡使用该互连线L(p,q),于是在时间t于该互连线L(p,q)上传送该消息M,使得在时间t+1,该消息M的第一部分位于该节点q;以及若在时间t,该消息M被其他消息阻挡使用该互连线L(p,q),于是在时间t将该消息M传送于一互连线L(p,r)上,其中该节点r和该节点p为不同的节点,且该节点r和该节点q为不同的节点,以及从该节点r至该组节点O(M)中的一节点的最短路径包括横越的不大于H条互连线L。
19.一种移动消息M通过一互连结构的方法,该互连结构包括多个节点N和多个互连线L至多个输出缓冲器B,该方法包括藉由该多个互连线L选择性连接该多个节点N,使得一互连线L(p,q直接载送数据由一节点p至一节点q;为一消息M决定一组节点O(M),使得作为该消息M目标的该输出缓冲器B连接于该组节点O(M);虫蛀孔路由选择该消息M通过该节点N,使得只有一部分的该多比特消息在两节点间的运输途中,该多比特消息M延伸于多个节点中;若该消息M的一起始部分在一时间t时位于该节点p,然后在该时间t移动该消息M于一互连线L(p,s)上,使得在时间t+1时该消息M位于一节点s,其中该节点s和该节点p为不同的节点;若该消息M的起始部分在该时间t时位于该节点p,且从该节点p至该组节点O(M)中的一节点的最短路径包括横越的H条互连线L,其决定一条互连线L(p,q),使得从该节点q至该组节点O(M)中的一节点的最短路径包括横越的H-1条互连线L;若在时间t,该消息M没有被其他消息阻挡使用该互连线L(p,q),于是在时间t将该消息M传送于该互连线L(p,q)上,使得在时间t+1,该消息M的起始部分位于该节点q;以及若在时间t,该消息M被其他消息阻挡使用该互连线L(p,q),于是在时间t将该消息M传送于一互连线L(p,r)上,其中该节点r和该节点p为不同的节点,且该节点r和该节点q为不同的节点,于是在时间t+1将该消息M传送于该互连线L(r,s)上,其中该节点s和该节点p为不同的节点,且该节点s和该节点q为不同的节点,该节点s和该节点r为不同的节点,从该节点s至该组节点O(M)中的一节点的最短路径包括横越的不大于H条互连线L。
20.一种传送数据的方法,其包括提供包括多个节点N和多个互连线L的一互连装置,该多个互连线L以一预定方式连接该多个节点N;使用该多个互连线L连接该多个节点N以包括一节点NA,其具有一直接消息输入互连点以接收一消息MA且具有多个直接消息输出互连点以传送该消息MA至多个节点,该多个节点包括一优先的节点NP,其具有最高优先权以接收该消息MA,该优先的节点NP由该消息MA的一首标中的路由选择信息以及在该多个互连线L内该节点NA的位置所决定;该优先的节点NP具有多个直接消息输入互连点以接收来自多个节点的一消息MA,该多个节点包括一优选的节点NB,其优选用以传送一消息至该优选的节点NP,该优选的节点NB由在该多个互连线L内该节点NB的位置所决定;虫蛀孔路由选择该消息MA通过该节点N,使得只有一部分的该多比特消息在两节点间的运输途中,该多比特消息MA延伸于多个节点中;若该节点NA和该节点NB相同,传送该消息MA如同该消息Mp自该节点NA传送至该节点NP;以及若该节点NA和该节点NB不相同且该节点NB将一消息MB导向至该节点NP,那么将该消息MB自该节点NB传送至该节点NP。
21.一种传送消息的方法,其包括提供一网络用以同时载送多个消息M,其并发地包括多个输出端口P;多个节点N,该个别的节点N包括多个直接消息输入互连点和多个直接消息输出互连点,该个别的节点N用以传送消息M至预定的该多个输出端口P的输出端口,该预定的输出端口P由该消息M指定;以及一互连结构的多个互连线;以分层体系的多层结构方式选择性地连接该节点以包括多个即J+1层,J为大于0的整数,以分层体系方式由一最低目的层L0排列至最高层LJ,在分层体系中该最高层LJ与该最低目的层L0相距最远,该输出端口P连接于在该最低目的层L0的节点,在该网络中包括该多个节点N的一节点NA;虫蛀孔路由选择一消息M通过该节点N,使得只有一部分的该多比特消息在两节点间的运输途中,该多比特消息M延伸于多个节点中;限制被允许进入该节点NA的多个直接消息输入互连点的消息数目以消除该节点NA的该预定输出端口的拥塞情形,使得该消息M被传送通过该节点NA的多个直接消息输出互连点而至节点NH,其为不比该节点NA的层高的第L层,该节点NH形成至该消息M的该预定输出端口P的路径。
22.一种传送一消息通过一分层体系的互连结构的方法,该互连结构包括多个节点和多个互连线,该方法包括以分层体系的多层结构排列方式选择性地连接该节点以包括多个J+1层,J为大于0的整数,以分层体系方式由一最低目的层L0排列至最高层LJ;输入多个消息至该互连结构以不分类方式通过多个输入端口;使用虫蛀孔路由选择自我路由选择移动该多个消息的一个别消息M通过该节点,其中只有一部分的该多比特消息在两节点间的运输途中,该多比特消息延伸于多个节点中,该消息M以多个方式移动,其包括四种方式以足够使该消息M通过该消息M指定的一输出端口而离开该互连结构,该四种方式包括(1)自该互连结构外部的一装置将该消息M输入至在该互连结构中的一节点,该消息M指定一或多个指定输出端口;(2)没有经由缓冲,移动该消息M通过该互连结构中的一节点而至一指定输出端口;(3)没有经由缓冲,移动该消息M通过在该互连结构的第Lk层上的一节点而至在相同第Lk层的一不同节点,该不同节点还具有至指定输出端口的一通路;以及(4)没有经由缓冲,移动该消息M通过在该互连结构的第Lk层上的一节点而至在分层体系中比第Lk层更接近于该目的层L0的第Li层上的节点。
23.一种在一互连结构中传输消息的方法,其包括以一结构排列多个节点,该结构包括多个分层体系层,由一最高分层体系层至一最低分层体系目标层,多个节点跨越一层的一横切面,以及多个节点在一横切面上跨越,该节点在相同层中具有一输入消息连接点,在一较高分层体系层上具有一输入消息连接点,在相同层具有一输出消息连接点,在一较低分层体系层上具有一输出消息连接点;至少指定一目标节点以接收一消息;在该互连结构中的一节点发起一第一消息;虫蛀孔路由选择一消息通过该多个节点,使得只有一部分的该多比特消息在两节点间的运输途中,该多比特消息延伸于多个节点中;在该互连结构中传输该第一消息由一节点至另一节点,其步骤包括在一第一节点决定在一较低层的一第二节点是否在至一目的节点的途中;在该第一节点决定该第二节点是否为一第二消息所阻挡;当该第二节点在至一目的节点的途中且该第二消息未被阻挡时,以无缓冲方式使该第一消息前进至该第二节点;以及否则以无缓冲方式使该消息横越至与该第一节点相同层的一第三节点,该第三节点在至一目的节点的途中。
全文摘要
一可缩放低等待时间开关延伸了用于所有类型的计算机,网络和通信系统的多层极最小化逻辑互连结构的功能,该多层级最小化逻辑互连结构利用一种根据消息移动通过互连结构的时序和位置的数据流技术。该可缩放低等待时间开关以一结构分布于多个节点,而避免使用提供整体控制功能和复杂逻辑结构的管理控制装置,而该互连结构系以一“偏离”或“烫手山芋”系统操作,其中可减少在每一节点上的处理和储存。使用可缩放低等待时间开关的互连结构使用籍由插入消息至芯片的新颖过程达到虫蛀孔路由选择通过集成电路芯片的方法。如果整个消息符合于第A和B行之间,消息会同时被插入于第A和B行,而非同时以每一角度插入消息于外面圆柱的每一未锁节点。消息在时间0时被插入至第0行。消息在时间t
文档编号H04L12/56GK1249874SQ98803004
公开日2000年4月5日 申请日期1998年1月22日 优先权日1997年1月24日
发明者约翰·E·赫西 申请人:英特拉克蒂克控股公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1