(57)【特許請求の範囲】
【請求項１】
バッファを持たないノードを通してメッセージを自己ルーティング式に移動させる相互接続装置であって、
複数のノードと、
最下位行先レベルＬ0から最上位レベルＬJまで配列されるレベルからなる階層において、Ｊが０より大きい整数である場合に、複数のＪ＋１レベルを含むように配列される階層型多重レベル構造体において、前記ノードを選択的に結合する相互接続構造体の複数の相互接続ラインとを備え、
前記相互接続構造体が、複数の入力ポートを介して選別されない、前記相互接続構造体に入る複数の多数ビットメッセージを伝送し、前記複数のメッセージの個別のメッセージＭは自己ルーティング式であり、多くのノード間に延在するメッセージの前記多数ビットの一部のみが２つのノード間において通過するワームホール式ルーティングを用いてノードを通って移動し、
前記入力ポートは、そこに挿入されるメッセージと、その時点で前記相互接続構造にあるメッセージとの衝突を防止するべく、前記挿入されるメッセージのタイミングを制御するように構成されており、前記入力ポートによる衝突の防止が、全メッセージの前記複数のノードを通したワームホール式ルーティングの競合を解決し、
複数の方法において移動する前記個別メッセージＭが、前記メッセージＭが前記メッセージＭにより規定される出力ポートを通って前記相互接続構造体から出るのに有効な４つの手段を有し、前記４つの手段が、
（１）前記メッセージＭが前記相互接続構造体の外部のデバイスから前記相互接続構造体のノードに入り、前記メッセージＭが１つ或いはそれ以上の指定された出力ポートを指定する手段と、
（２）前記メッセージＭが、指定出力ポートにバッファリングされることなく、前記相互接続構造体のノードを通って移動する手段と、
（３）前記メッセージＭが、レベルＬk上の異なるノードにバッファリングされることなく、前記相互接続構造体の同じレベルＬk上のノードを通って移動する手段と、
（４）前記メッセージＭが、前記階層において前記レベルＬkより前記行先レベルＬ0に近いレベルＬi上のノードにバッファリングされることなく、前記相互接続構造体の前記レベルＬk上のノードを通って移動する手段とからなることを特徴とする相互接続装置。
【請求項２】
前記レベルＬk上のノードＮAkは複数の相互接続部を備え、前記複数の相互接続部が
前記レベルＬk上のノードＮBkからの直接データ入力相互接続部と、
前記レベルＬk上のノードＮDkへの直接データ出力相互接続部と、
レベルＬm上のノードＮCmからの直接データ入力相互接続部であって、ｍがｋより大きく、また前記相互接続構造体の外部のデバイスＤCからの直接データ入力相互接続部でもある、該直接データ入力相互接続部と、
前記相互接続構造体の外部デバイスＤEへの直接データ出力相互接続部であって、前記レベルＬi上のノードＮEiへの直接データ出力相互接続部でもあり、前記レベルＬiが前記階層において前記行先レベルＬ0により近いようにｋがｉより大きい、該直接データ出力相互接続部とを備えることを特徴とする請求項１に記載の相互接続装置。
【請求項３】
前記ノードＮAkへの直接相互接続を有するデバイスにおいて、前記ノードＮAkにデータを送出するための優先関係が存在し、それにより、
前記ノードＮAkへの直接相互接続部を有する前記レベルＬk上のノードＮBkがデバイスＤCより高い優先権を有し、前記デバイスＤCが前記レベルＬi上のノードＬCiであるか或いは前記相互接続構造体の外部のデバイスＤCであり、
前記ノードＮBkから前記ノードＮAkに送出されるメッセージＭB及び同じ時間間隔で前記デバイスＤCから前記ノードＮAkに送出されるメッセージＭCに対する優先関係により、前記メッセージＭBが送出され、前記メッセージＭCが送出されないことを特徴とする請求項２に記載の相互接続装置。
【請求項４】
前記相互接続構造体が、
メッセージ及び制御信号を搬送し、
また前記相互接続構造体がノードＮEを備え、前記ノードＮEが
ノードＮAからメッセージＭAを受信するための直接メッセージ入力相互接続部と、
ノードＮFからメッセージＭFを受信するための直接メッセージ入力相互接続部とを有し、
前記ノードＮAが制御ロジック及び前記ノードＮFから制御信号ＣAを受信するための制御入力相互接続部を備え、前記制御信号ＣAが、前記ノードＮAから前記ノードＮEへの前記メッセージ入力相互接続部より高い優先権を、前記ノードＮFから前記ノードＮEへの前記直接メッセージ入力相互接続部に与え、それにより
前記ノードＮFはメッセージＭFを前記ノードＮEに送出し、また前記ノードＮAへの遮断条件を指定する制御信号ＣAを送出し、
前記ノードＮA制御ロジックが前記遮断条件を指定する制御信号ＣAを受信し、前記制御信号ＣAに応答して前記メッセージＭFと同時に前記ノードＮEに到達するように指定される前記メッセージＭAの伝送を遮断し、前記遮断されたメッセージＭAが別にノードＮBに送出されるようになり、ここで前記ノードＮDが前記ノードＮEとは異なり、また前記ノードＮDが前記ノードＮAとは異なることを特徴とする請求項１に記載の相互接続装置。
【請求項５】
前記相互接続構造体が、
メッセージ及び制御信号を搬送し、
また前記相互接続構造体がノードＮEを備え、前記ノードＮEが、
ノードＮAからヘッダを有するメッセージＭAを受信するための直接メッセージ入力相互接続部と、
ノードＮFからメッセージＭFを受信するための直接メッセージ入力相互接続部とを備え、
前記ノードＮAが制御ロジック及び前記ノードＮFから制御信号ＣAを受信するための制御入力相互接続部を備え、前記制御信号ＣAが、前記ノードＮAから前記ノードＮEへの前記直接メッセージ入力相互接続部より高い優先権を、前記ノードＮFから前記ノードＮEへの前記直接メッセージ入力相互接続部に与え、同じ時間間隔において遮断制御信号ＣAの不在時に、前記ノードＮAに到達するメッセージＭAにより、前記ノードＮA制御ロジックが、前記メッセージＭAのヘッダを用いて前記メッセージＭAを伝送するための選択されたデバイスを確定することができ、前記選択されたデバイスが前記ノードＮEである場合には、前記メッセージＭAが前記ノードＮEに送出されるようになることを特徴とする請求項１に記載の相互接続装置。
【請求項６】
ノードＮAkの前記制御ロジックが、
第１の条件において、前記ノードＮAkが、前記ノードＮEiが前記メッセージＭAにより指定される指定出力ポートへの経路を有する前記レベルＬKより前記階層において前記行先レベルＬ0に近い前記レベルＬi上のノードＮEiへの直接出力相互接続部を有するか否かを判定し、
また第２の条件において、前記ノードＮEiが別のメッセージにより遮断されないか否かを判定し、
前記第１及び第２の条件が満足される場合に、ノードＮAkの前記制御ロジックが前記ノードＮEiに前記メッセージＭAを送出し、
前記第１及び第２の条件がいずれも満足されない場合には、ノードＮAkの前記制御ロジックが前記メッセージＭAをノードＮDに送出し、ここでノードＮAk及びノードＮDkが異なるノードであり、また前記ノードＮEi及び前記ノードＮDが異なるノードであることを特徴とする請求項５に記載の相互接続装置。
【請求項７】
前記レベルＬk上のノードＮAkに、前記相互接続ノードを通る経路を介してアクセス可能である複数のアクセス可能出力ポートを備える複数の出力ポートをさらに備え、
前記ノードＮAkにアクセス可能な前記アクセス可能出力ポートがそれぞれ、前記レベルＬKより前記階層において前記行先レベルＬ0に近いレベルＬi上のノードＮEiにもアクセス可能であり、前記ノードＮAkが前記ノードＮEiへの直接相互接続出力部を備えることを特徴とする請求項１に記載の相互接続装置。
【請求項８】
ノードＮEがノードＮAからの第１のデータ入力相互接続部と、ノードＮFからの第２のデータ入力相互接続部とを備え、
前記ノードＮAとノードＮFとの間の制御相互接続部が、メッセージを前記ノードＮEに送出する場合の競合を回避することを特徴とする請求項１に記載の相互接続装置。
【請求項９】
前記レベルＬkより前記階層において前記行先レベルＬ0に近いレベルＬi上のノードＮAiへの直接データ出力相互接続部を有し、また時間ＴにおいてノードＮCを通って移動し、前記ノードＮAに優先的に送出されるが、メッセージＭCがノードＮCkとは異なる前記レベルＬk上のノードに変向されるようにメッセージＭBによりノードＮAから遮断される前記メッセージＭCに関して優先関係を有する前記レベルＬk上のノードＮCkと、
前記レベルＬi上のノードＮDiへの直接データ出力相互接続部を有する前記レベルＬk上のノードＮGkであって、前記ノードＮDiが前記相互接続ノードを通り前記メッセージＭCにアクセス可能なアクセス可能出力ポートへの経路を有し、前記メッセージＭCが、ノードが下側レベルにメッセージＭCを配向する前記時間Ｔに後続する第１の時間ステップである時間Ｔ′において前記ノードＮGkを通るように変向される、該ノードＮGkとをさらに備え、
前記相互接続構造体により、前記メッセージＭBが前記時間Ｔ′において前記メッセージＭCを遮断する位置には存在しないようになることを特徴とする請求項１に記載の相互接続装置。
【請求項１０】
前記相互接続構造体がノードＮEと制御相互接続部とを更に備え、
前記ノードＮEがノードＮAからの第１のデータ入力相互接続部と、ノードＮFからの第２のデータ入力相互接続部とを備え、
前記ノードＮAとノードＮFとの間の前記制御相互接続部がメッセージを前記ノードＮEに送出する場合の競合を回避することを特徴とする請求項１に記載の相互接続構造体。
【請求項１１】
前記相互接続構造体が、
メッセージ及び制御信号を搬送し、
また前記相互接続構造体がノードＮEを備え、前記ノードＮEが、
ノードＮAからメッセージＭAを受信するための直接メッセージ入力相互接続部と、
ノードＮＦからメッセージＭFを受信するための直接メッセージ入力相互接続部とを備え、
前記ノードＮAが制御ロジック及び前記ノードＮFから制御信号ＣAを受信するための制御入力相互接続部を備え、
前記制御信号ＣAが、前記ノードＮAから前記ノードＮEへの前記メッセージ入力相互接続部より高い優先権を、前記ノードＮFから前記ノードＮEへの前記直接メッセージ入力相互接続部に与え、それにより、
前記ノードＮFが前記ノードＮEにメッセージＭFを送出し、また前記ノードＮAに対する遮断条件を指定する制御信号ＣAを送出し、
前記ノードＮAが前記遮断条件を指定する前記制御信号ＣAを受信し、前記制御信号ＣAに応答して前記メッセージＮFと同時に前記ノードＮEに到達するように指定される前記メッセージＭAの伝送を遮断し、前記遮断されたメッセージＭAが別にノードＮDに送出されるようになり、ここで前記ノードＮDが前記ノードＮEとは異なり、また前記ノードＮDが前記ノードＮAとは異なることを特徴とする請求項１０に記載の相互接続構造体。
【請求項１２】
前記相互接続構造体が、
メッセージ及び制御信号を搬送し、
また前記相互接続構造体がノードＮEを備え、前記ノードＮEが、
ノードＮAからヘッダを有するメッセージＭAを受信するための直接メッセージ入力相互接続部と、
ノードＮFからメッセージＭFを受信するための直接メッセージ入力相互接続部とを備え、
前記ノードＮAが制御ロジック及び前記ノードＮFから制御信号ＣAを受信するための制御入力相互接続部を備え、前記制御信号ＣAが、前記ノードＮAから前記ノードＮEへの前記直接メッセージ入力相互接続部より高い優先権を、前記ノードＮFから前記ノードＮEへの前記直接メッセージ入力相互接続部に与え、同じ時間間隔において遮断制御信号ＣAの不在時に、前記ノードＮAに到達するメッセージＭAにより、前記ノードＮA制御ロジックが、前記メッセージＭAのヘッダを用いて前記メッセージＭAを伝送するための選択されたデバイスを確定することができ、前記選択されたデバイスが前記ノードＮEである場合には、前記メッセージＭAが前記ノードＮEに送出されるようになることを特徴とする請求項１１に記載の相互接続構造体。
【請求項１３】
バッファを持たないノードを通してメッセージを自己ルーティング式に移動させる相互接続構造体を介してメッセージを移動する方法であって、
ある構造体において複数のデバイスを相互接続する過程であって、前記デバイスが複数のメッセージ入力端子及びメッセージ出力端子を備え、複数の相互接続ラインが、送出デバイスのメッセージ出力端子から受信デバイスのメッセージ入力端子への接続部を有する前記デバイスを相互接続する、該相互接続過程と、
１つの受信デバイスの前記入力メッセージ端子に結合される出力メッセージ端子を備える複数の送出デバイスにおいて優先権を割り当てる過程と、
１つ或いはそれ以上の指定された出力ポートに転送するために前記相互接続構造体にメッセージを入力する過程と、
多くのデバイス間に延在する多数ビットメッセージの一部のみが２つのデバイス間で通過するように前記デバイスを介してメッセージをワームホール式ルーティングする過程と、
自己ルーティングを用いて、前記１つ或いはそれ以上の出力ポートへの経路において、送出デバイスから受信デバイスまでバッファリングを用いずにメッセージを送出する過程であって、前記送出デバイスが、前記受信デバイスを要求せず、また前記受信デバイスから前記受信デバイスに前記メッセージを送出するための許可を受信しない、該送出過程と、
１つの受信デバイスにメッセージを送出する複数の送出デバイス間で通信する過程であって、前記１つの受信デバイスにメッセージを送出するための優先権を有する送出デバイスが、優先権を持たない送出デバイスの制御信号入力端子に相互接続ラインにより接続される制御信号出力端子を有し、優先権を有する前記送出デバイスが優先権のない送出デバイスに制御信号を送出する、該通信過程と、
目的とする受信デバイスへの優先権を持たない送出デバイスから送出されるようにメッセージを変向する過程であって、前記変向されたメッセージが別の受信デバイスに変向され、また前記別の受信デバイスが前記１つ或いはそれ以上の出力ポートへの経路上に存在する、該変向過程と、
挿入されるメッセージと、その時点で前記相互接続構造にあるメッセージとの衝突を防止するべく、前記挿入されるメッセージのタイミングを制御する過程であって、この衝突の防止が、全メッセージの前記複数のノードを通したワームホール式ルーティングの競合を解決する、該過程とを有することを特徴とする方法。
【請求項１４】
バッファを持たないノードを通してメッセージを自己ルーティング式に移動させる相互接続構造体を介してメッセージを移動する方法であって、
複数の直接ノードＮE入力相互接続部を用いて前記ノードＮEに複数のデバイスＤを相互接続する過程と、
前記ノードＮEにメッセージを送出するために前記ノードＮEへの直接入力相互接続部を備える前記デバイスＤにおいて優先関係を与える過程と、
多くのデバイス間に延在する多数ビットメッセージの一部のみが２つのデバイス間で通過するように前記デバイスＤを介してメッセージＭAをワームホール式ルーティングする過程と、
時間間隔ＴにおいてノードＮAから前記ノードＮEまでメッセージＭAを送出する過程とを有し、前記送出過程では、
前記時間間隔Ｔにおいて、メッセージＭAが前記ノードＮEへの直接入力相互接続部を有するＮAを通って移動し、前記メッセージＭAが前記時間間隔Ｔにおいて前記ノードＮEに送出されるように配向され、
また前記ノードＮEに送出される或いは前記ノードＮEに変向されるように配向されるメッセージＭFが、前記ノードＮFが、ノードＮEにメッセージを送出するために前記ノードＮAより高い優先権を有する前記時間間隔Ｔにおいて、前記ノードＮEへの直接入力相互接続部を有するＮFを通って移動しないことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記時間間隔Ｔにおいて、前記ノードＮFが前記ノードＮEにメッセージＭFを送出する場合に、前記時間間隔Ｔにおいて前記ノードＮAへのメッセージＭAの送出を中止する過程をさらに有することを特徴とする請求項１４に記載の方法。
【請求項１６】
ノードＮDに、ノードＮAに関して中止された前記メッセージＭAを送出する過程であって、前記ノードＮDが前記ノードＮA及び前記ノードＮEとは異なる、該過程をさらに有することを特徴とする請求項１５に記載の方法。
【請求項１７】
前記ノードＮAに前記ノードＮFを介して制御信号を送出し、前記メッセージＭAが前記ノードＮAに関して中止されるようにし、前記優先関係を実施する過程をさらに有することを特徴とする請求項１６に記載の方法。
【請求項１８】
メッセージＭを複数のノードＮ及び複数の相互接続ラインＬを備える相互接続構造体を介して複数の出力バッファＢまで移動させる過程と、
相互接続ラインＬ（ｐ，ｑ）がノードｐからノードｑまで直接データを搬送するように、前記複数の相互接続ラインＬを介して前記複数のノードを選択的に結合する過程と、
前記メッセージＭの目標となる前記出力バッファＢがノードＯ（Ｍ）の組に接続されるように、メッセージＭに対して前記ノードＯ（Ｍ）の組を確定する過程と、
多くのノード間に延在する多数ビットメッセージの一部のみが２つのノード間を通過するように、前記ノードＮを介して前記メッセージＭをワームホール式ルーティングする過程と、
前記メッセージＭの第１の部分が時間ｔにおいて前記ノードｐに配置される場合に、時間ｔ＋１において、前記メッセージＭが前記ノードｐとは異なるノードであるノードｓに配置されるように、前記時間ｔにおいて相互接続ラインＬ（ｐ，ｓ）上の前記メッセージＭを移動する過程と、
前記メッセージＭの前記第１の部分が前記時間ｔにおいて前記ノードｐに配置され、前記ノードｐから前記ノードＯ（Ｍ）の組のノードまでの最短経路がＨ個の相互接続ラインＬの横断部を含む場合に、前記ノードｑから前記ノードＯ（Ｍ）の組のノードまでの最短経路がＨ−１個の相互接続ラインＬの横断部を含むように、相互接続ラインＬ（ｐ，ｑ）を確定する過程と、
時間ｔにおいて、前記メッセージＭが別のメッセージにより前記相互接続ラインＬ（ｐ，ｑ）を用いて遮断されない場合に、時間ｔ＋１において、前記メッセージＭの前記第１の部分が前記ノードｑに配置されるように、時間ｔにおいて前記相互接続ラインＬ（ｐ，ｑ）上の前記メッセージＭを送出する過程と、
時間ｔにおいて前記メッセージが別のメッセージにより前記相互接続ラインＬ（ｐ，ｑ）を用いて遮断される場合に、時間ｔにおいて相互接続ラインＬ（ｐ，ｒ）上の前記メッセージＭを送出する過程とを有し、
前記ノードｒ及び前記ノードｐが異なるノードであり、また前記ノードｒ及び前記ノードｑが異なるノードであり、前記ノードｒから前記複数のノードＯ（Ｍ）のノードまでの前記最短経路がＨ個以下の相互接続ラインＬの横断部を備えることを特徴とする請求項１３に記載の方法。
【請求項１９】
メッセージＭを複数のノードＮ及び複数の相互接続ラインＬを備える相互接続構造体を介して複数の出力バッファＢに移動させる過程と、
相互接続ラインＬ（ｐ，ｑ）がノードｐからノードｑへ直接データを搬送するように、前記複数の相互接続ラインＬを介して前記複数のノードＮを選択的に結合する過程と、
前記メッセージＭの目標となる前記出力バッファＢがノードＯ（Ｍ）の組に接続されるように、メッセージＭに対して前記ノードＯ（Ｍ）の組を確定する過程と、
多くのノード間に延在する多数ビットメッセージの一部のみが２つのノード間を通過するように前記ノードＮを介して前記メッセージＭをワームホール式にルーティングする過程と、
前記メッセージＭの開始部分が時間ｔにおいて前記ノードｐに配置される場合に、時間ｔ＋１において、前記メッセージＭが前記ノードｔとは異なるノードであるノードｓに配置されるように、相互接続ラインＬ（ｐ，ｓ）上の前記メッセージＭを移動する過程と、
前記メッセージＭの前記開始部分が時間ｔにおいて前記ノードｐに配置され、前記ノードｐから前記ノードＯ（Ｍ）の組のノードまでの最短経路がＨ個の相互接続ラインＬの横断部を含む場合に、前記ノードｑから前記ノードＯ（Ｍ）の組のノードまでの最短経路がＨ−１個の相互接続ラインＬの横断部を含むように相互接続ラインＬ（ｐ，ｑ）を確定する過程と、
時間ｔにおいて、前記メッセージが別のメッセージにより前記相互接続ラインＬ（ｐ，ｑ）を用いることを遮断されない場合に、時間ｔ＋１において、前記メッセージＭの前記開始部分が前記ノードｑに配置されるように、前記相互接続ラインＬ（ｐ，ｑ）上の前記メッセージＭを送出する過程と、
前記ノードｒ及び前記ノードｐが異なるノードであり、前記ノードｒ及び前記ノードｑが異なるノードであり、時間ｔにおいて前記メッセージが別のメッセージにより前記相互接続ラインＬ（ｐ，ｑ）を用いることを遮断される場合に、相互接続ラインＬ（ｐ，ｒ）上の前記メッセージを送出し、その後ノードｓ及び前記ノードｐが異なるノードであり、前記ノードｓ及び前記ノードｑが異なるノードであり、前記ノードｓ及び前記ノードｒが異なるノードであり、前記ノードｓから前記複数のノードＯ（Ｍ）の前記ノードまでの最短経路がＨ個以下の相互接続ラインＬの横断部を備える場合に、時間ｔ＋１において前記相互接続ラインＬ（ｒ，ｓ）上の前記メッセージＭを送出する過程とを有することを特徴とする請求項１３に記載の方法。
【請求項２０】
データを送出する過程を含み、
前記データを送出する過程が、
複数のノードＮ及び所定のパターンで前記複数のノードＮを接続する複数の相互接続ラインＬを備える相互接続装置を設ける過程であって、前記相互接続装置は、バッファを持たないノードを通してメッセージを自己ルーティング式に移動させる、該過程と、
ノードＮA及び優先ノードＮPを備えるように前記複数の相互接続ラインＬを用いて前記複数のノードＮを接続する過程であって、
前記ノードＮAがメッセージＭAを受信するための直接メッセージ入力相互接続部を備え、また前記メッセージＭAを受信するための最優先権を有する優先ノードＮPを備える複数のノードに前記メッセージＭAを伝送するための複数の直接メッセージ出力相互接続部を備え、前記優先ノードＮPが前記メッセージＭAのヘッダにおけるルーティング情報及び前記複数の相互接続ラインＬ内の前記ノードＮAの位置により確定され、
前記優先ノードＮPが前記優先ノードＮPにメッセージを送出するために好適なノードＮBを備える複数のノードからメッセージＭP受信するための複数の直接メッセージ入力相互接続部を備え、前記好適なノードＮBが前記複数の相互接続ラインＬ内の前記ノードＮBの位置により確定される、該過程と、
多くのノード間に延在する多数ビットメッセージの一部のみが２つのノード間で通過するように前記ノードＮを介して前記メッセージＭAをワームホール式ルーティングする過程と、
前記ノードＮAが前記ノードＮBと同じである場合に、前記ノードＮAから前記ノードＮPまで前記メッセージＭPとして前記メッセージＭAを送出する過程と、
前記ノードＮAが前記ノードＮBと異なり、前記ノードＮBがメッセージＭBを前記ノードＮPに配向する場合、前記ノードＮBから前記ノードＮPに前記メッセージＭBを送出する過程とを有することを特徴とする請求項１３に記載の方法。
【請求項２１】
メッセージを送出する過程を含み、
前記データを送出する過程が、
同時に複数のメッセージＭを搬送するためのネットワークを設ける過程であって、前記ネットワークが、バッファを持たないノードを通してメッセージを自己ルーティング式に移動させ、
複数の出力ポートＰと、
複数のノードＮであって、前記個別のノードＮが複数の直接メッセージ入力相互接続部及び複数の直接メッセージ出力相互接続部を備え、前記個別のノードＮが前記複数の出力ポートＰの所定の出力ポートにメッセージＭを渡し、前記所定の出力ポートＰが前記メッセージＭにより指定される、該ノードと、
相互接続構造体における複数の相互接続ラインとを備える、該過程と、
最下位行先レベルＬ0から、前記最下位行先レベルＬ0から階層において最も離れた最上位レベルＬ1まで配列されるレベルからなる前記階層において、Ｊが０より大きい整数である場合に、複数のＪ＋１レベルを含むように階層型多重レベル構造体の前記ノードを選択的に結合する過程であって、前記出力ポートＰが前記最下位行先レベルＬ0のノードに接続される、該過程と、
前記ネットワークにおいて前記複数のノードＮのノードＮAを備える過程と、
多くのノード間に延在する多数ビットメッセージの一部のみが２つのノード間を通過するように前記ノードＮを介してメッセージＭをワームホール式ルーティングする過程と、
前記メッセージＭが、前記ノードＮAの前記直接メッセージ出力接続部を介して前記ノードＮAのレベル以下の低いレベルＬであるノードＮHまで送出されるように、ノードＮAの前記複数の直接メッセージ入力接続部に入り、前記ノードＮAの前記所定の出力ポートに対する接続部を削除することができる、メッセージＭの数を制限する過程であって、前記ノードＮHが前記メッセージＭの前記指定された所定の出力ポートＰへの経路を形成する、該過程とを有することを特徴とする請求項１３に記載の方法。
【請求項２２】
複数のノード及び複数の相互接続ラインを備える階層型相互接続構造体を介してメッセージを伝送する方法であって、前記相互接続構造体は、バッファを持たないノードを通してメッセージを自己ルーティング式に移動させ、前記方法が、
最下位行先レベルＬ0から最上位レベルＬJまで配列されるレベルからなる階層において、Ｊが０より大きい整数である場合、複数のＪ＋１レベルを備えるように配列される階層型多重レベル構造体のノードを選択的に結合する過程と、
前記相互接続構造体に、複数の入力ポートを介して選別されない複数のメッセージを入力する過程と、
挿入されるメッセージと、その時点で前記相互接続構造にあるメッセージとの衝突を防止するべく、前記挿入されるメッセージのタイミングを制御する過程であって、この衝突の防止が、全メッセージの前記複数のノードを通したワームホール式ルーティングの競合を解決する、該過程と、
自己ルーティングを用いて、多数ビットメッセージの一部のみが２つのノード間で通過するワームホール式ルーティングを用いてノードを通って前記複数のメッセージの個別のメッセージＭを移動させる過程であって、前記多数ビットメッセージが多くのノード間に延在し、前記メッセージＭが、前記メッセージＭが前記メッセージＭにより指定される出力ポートを通って前記相互接続構造体を出るのに有効な４つの方法を含む複数の方法において移動し、前記４つの方法が、
（１）前記相互接続構造体の外部デバイスからの前記相互接続構造体のノードに前記メッセージＭを入力する過程であって、前記メッセージＭが１つ或いはそれ以上の指定された出力ポートを指定する、該過程と、
（２）指定された出力ポートにバッファリングを用いることなく前記相互接続構造体のノードを介して前記メッセージＭを移動する過程と、
（３）同じレベルＬKの異なるノードにバッファリングを用いることなく前記相互接続構造体のレベルＬK上のノードを介して前記メッセージＭを移動する過程であって、前記異なるノードが指定された出力ポートへの経路も有する、該過程と、
（４）前記階層において、前記レベルＬKより前記指定レベルＬ0に近いレベルＬi上のノードにバッファリングを用いることなく前記相互接続構造体のレベルＬK上のノードを介して前記メッセージＭを移動する過程とを有する、該過程とを有することを特徴とする方法。
【請求項２３】
バッファを持たないノードを通してメッセージを自己ルーティング式に移動させる相互接続構造体内でメッセージを通信する方法であって、
最上位の階層レベルから最下位の階層行先レベルまでの複数の階層レベルを備える構造体内の複数のノード、あるレベルのある断面に及ぶ複数のノード及びある断面範囲に存在する複数のノードを配列する過程であって、前記ノードが同一レベルの入力メッセージ接続部、高次階層レベルの入力メッセージ接続部、同一レベルの出力メッセージ接続部及び低次レベルの出力メッセージ接続部を備える、該配列過程と、
メッセージを受信するために少なくとも１つの行先ノードを特定する過程と、
前記相互接続構造体のノードにおける第１のメッセージを発信する過程と、
多くのノード間に延在する多数ビットメッセージの一部のみが２つのノード間で通過するように前記複数のノードを介してメッセージをワームホール式ルーティングする過程と、
挿入されるメッセージと、その時点で前記相互接続構造にあるメッセージとの衝突を防止するべく、前記挿入されるメッセージのタイミングを制御する過程であって、この衝突の防止が、全メッセージの前記複数のノードを通したワームホール式ルーティングの競合を解決する、該過程と、
前記相互接続構造体のノード間で前記第１のメッセージを通信する過程とを有し、前記第１のメッセージを通信する過程が、
第１のノードにおいて、下側レベル上の第２のノードが行先ノードに対する経路上にあるか否かを判定する過程と、
前記第１のノードにおいて、前記第２のノードが第２のメッセージにより遮断されるか否かを判定する過程と、
前記第２のノードが行先ノードへの経路上に存在し、前記第２のノードが遮断されない場合に、バッファリングを用いることなく前記第２のノードに前記第１のメッセージを進める過程とを有し、
そうでない場合、前記第１のノードと同一レベル上の行先ノードへの経路上に存在する第３のノードにバッファリングを用いることなく前記メッセージを移動させる過程とを有することを特徴とする方法。
【請求項２４】
レベルＬJ上の前記ノードＡから直接メッセージを受信することができるノードであるレベルＬJ-1上のノードＢ及びＣと、
デバイスＤ及びＥとをさらに備え、前記デバイスがそれぞれ、Ｎが１より大きい場合に、レベルＬJ+N上のノード或いは前記ネットワークの外部のデバイスの何れかであり、前記ノードＢが前記デバイスＤに直接メッセージを送出することができ、前記ノードＣが前記デバイスＤに直接メッセージを送出することができ、また前記デバイスＤが前記デバイスＥに直接或いは間接にメッセージを送出することができず、前記デバイスＥは前記デバイスＤに直接或いは間接にメッセージを送出することができないことを特徴とする請求項１に記載の相互接続装置。
【請求項２５】
ネットワーク内の複数のノード間でメッセージを送出する過程を含み、
前記メッセージを送出する過程が、
ノードＤに直接メッセージを送出することができる複数のノードを選択する過程であって、前記ノードが前記ネットワーク内の相対位置を有する、該過程と、
前記ノードＤに直接メッセージを送出することができる前記複数のノード間で優先関係を確立する過程であって、前記優先関係が前記複数のノードの前記相対位置に依存する、該過程とを有することを特徴とする請求項２３に記載の方法。
【請求項２６】
前記複数のノードからなる前記ネットワーク内の前記相対位置にのみ依存して前記優先関係を確立する過程をさらに有することを特徴とする請求項２５に記載の方法。
【請求項２７】
前記ノードＤに直接メッセージを送出することができるノードＡにおいて、前記ノードＡから直接メッセージを受信することができる複数のノードを確定する過程と、
前記ノードＡに到達するメッセージＭに応じて、前記ノードＡから直接メッセージを受信できる前記複数のノードからなるノードを順序付けする過程であって、前記複数のノードが前記ノードＡから前記メッセージＭを受信するための受信ノードとしての望ましさに応じて順序付けされ、前記受信ノードとしての望ましさが前記メッセージＭに依存する、該過程とをさらに有することを特徴とする請求項２５或いは２６に記載の方法。
【請求項２８】
前記複数のノードの個別のノードの前記ネットワークにおける前記相対位置及び前記メッセージＭのヘッダ内の情報に依存して、前記ノードＡから前記ノードＮを受信する前記望ましさを順序付けする過程をさらに有することを特徴とする請求項２７に記載の方法。
【請求項２９】
最も望ましい受信ノードから最も望ましくない受信ノードまで前記ノードＡから前記メッセージＭを受信する前記望ましさを順序付けする過程をさらに有することを特徴とする請求項２８に記載の方法。
【請求項３０】
前記ノードＡから直接メッセージを受信できる前記複数のノードの前記ノードＤが、前記ノードＡからのメッセージＭの最も望ましい受信ノードであるか否かを判定する過程と、
ノードＡが前記ノードＤにメッセージを送信するための最も高い優先権を有するか否かを確定する過程と、
前記ノードＤが前記ノードＡからの前記メッセージＭの最も望ましい受信ノードであり、前記ノードＡがノードＤにメッセージを送出するための最も高い優先権を有する場合に、前記ノードＤに前記メッセージＭを送出する過程とをさらに有することを特徴とする請求項２９に記載の方法。
【請求項３１】
前記ノードＡから直接メッセージを受信することができる前記複数のノードの前記ノードＤが、前記ノードＡからの前記メッセージＭの最も望ましい受信ノードであるか否かを判定する過程と、
前記ノードＤにメッセージを送出するための前記ノードＡを含む１つ或いはそれ以上のノードに対して相対的優先権を確定する過程とをさらに有し、
前記ノードＤが前記ノードＡからの前記メッセージＭの最も望ましい受信ノードであり、前記メッセージＭが前記ノードＡから前記ノードＤに送出されない場合に、前記ノードＤにメッセージを送出するための前記ノードＡより高い優先権を有するノードＦが、前記ノードＡから前記メッセージＭを送出するのと同時にメッセージを送出することを特徴とする請求項２７乃至３０の何れか一項に記載の方法。
【請求項３２】
デバイスＤに直接メッセージを送出することができる前記ノードＡ及びノードＧの場合に、前記デバイスＤが前記ネットワークの外部デバイス或いは前記ネットワークの内部ノードかの何れかであり、
前記ノードＡが、前記デバイスＤに直接メッセージを送出するための前記ノードＧより高い優先権を有することを確定する過程と、
制御信号を前記ノードＧに送出するために前記ノードＡに対する通信経路を確立する過程であって、前記制御信号が前記ノードＡのより高い優先権を示す、該過程とをさらに有することを特徴とする請求項２５乃至３１の何れか一項に記載の方法。
【請求項３３】
前記デバイスＤに直接メッセージを送出するために前記ノードＧより高い優先権を前記ノードＡに割り当てる過程であって、前記ノードＧから前記デバイスＤまでメッセージを送出するための時間間隔が、前記ノードＡから前記ノードＤまでメッセージを送出するための時間間隔より短い、該過程をさらに有することを特徴とする請求項３２に記載の方法。
【請求項３４】
あるノードにおいて、メッセージヘッダ情報及び制御信号情報を用いて前記ネットワーク内のさらに別のノードにメッセージをルーティングする過程をさらに有することを特徴とする請求項３２或いは３３に記載の方法。
【請求項３５】
メッセージを送出するために、メッセージが多くのノードに及ぶワームホール式ルーティングを用いて、複数のノード間で通信するためのネットワークを含み、
前記ネットワークが、
ノードＡと、
前記ノードＡから直接メッセージを受信することができる１つ或いはそれ以上のノードと、
前記ノードＡに制御信号を送出することができる１つ或いはそれ以上のノードと、
前記ノードＡに制御信号を送出することができるが、前記ノードＡから直接メッセージを受信することができないノードＦとを備えることを特徴とする請求項１に記載の相互接続装置。
【請求項３６】
前記ノードＡとノードＥとを結合する第１のリンクであって、前記第１のリンクが前記ノードＥにメッセージを送出することができる、該第１のリンクと、
前記ノードＡにおけるロジックであって、前記ロジックはメッセージＭが何れのノードに送出されるかを確定することができ、また前記ロジックが前記ノードＡにおいて受信される制御信号に応答し、さらに前記メッセージＭのアドレス情報に応答する、該ロジックとをさらに備えることを特徴とする請求項３５に記載のネットワーク。
【請求項３７】
前記ノードＦを前記ノードＡに結合する第２のリンクであって、前記第２のリンクが前記ノードＡに制御信号を送出することができる、該第２のリンクと、
前記ノードＦを前記ノードＥに結合する第３のリンクであって、前記第３のリンクが前記ノードＥにメッセージを送出することができる、該第３のリンクとをさらに備えることを特徴とする請求項３６に記載のネットワーク。
【請求項３８】
メッセージＭ′を受信することができるノードＡ′であって、前記ノードＡが前記メッセージＭを受信することができる、該ノードＡ′と、
前記ノードＡ′から直接メッセージを受信できる１つ或いはそれ以上のノードと、
前記ノードＡから前記ノードＡ′までのリンクであって、前記リンクが制御情報を送出することができる、該リンクと、
前記ノードＡ′におけるロジックであって、前記ロジックが前記ノードＡから前記ノードＡ′まで送出される前記制御情報に応答し、前記制御情報に基づいて前記メッセージＭ′をルーティングすることができる、該ロジックと、
前記ノードＡからメッセージを受信することができるノードＢであって、前記ノードＡが前記ノードＢに前記メッセージＭをルーティングする、該ノードＢと、
前記ノードＡ′からメッセージを受信できるノードＢ′であって、前記ノードＡ′が前記ノードＢ′に前記メッセージＭ′をルーティングする、該ノードＢ′とをさらに備えることを特徴とする請求項３６に記載のネットワーク。
【請求項３９】
前記ノードＢからメッセージを受信することができる１つ或いはそれ以上のノードと、
前記ノードＢ′からメッセージを受信することができる１つ或いはそれ以上のノードと、
前記ノードＢ′から前記ノードＢまでのリンクであって、前記リンクが前記ノードＢに制御情報を送出することができる、該リンクと、
前記ノードＢにおけるロジックであって、前記ロジックが前記ノードＢ′からの前記制御情報に応答し、前記制御情報に基づいて前記メッセージＭをルーティングすることができる、該ロジックとをさらに備えることを特徴とする請求項３８に記載のネットワーク。
【請求項４０】
前記ノードＡから直接メッセージを受信するとができる前記１つ或いはそれ以上のノードが、ノードＢ及びノードＤを含み、前記ノードＡがメッセージＭを複製し、前記ノードＢに前記メッセージＭの第１の複製を送出し、前記ノードＢに前記メッセージＭの第２の複製を送出する能力を有することを特徴とする請求項３５乃至３８の何れか一項に記載のネットワーク。
【請求項４１】
メッセージが多くのノードに及ぶワームホール式ルーティングを用いて、ネットワーク内の複数のノード間でメッセージを送出するための装置を含み、
前記ネットワークは、バッファを持たないノードを通してメッセージを自己ルーティング式に移動させ、
前記装置が、
ノードＤに直接メッセージを送出することができる複数のノードと、
前記ノードＤに直接メッセージを送出するために前記複数のノード間で優先関係を確立するロジックであって、前記優先関係が前記ノードのネットワークにおける相対位置に依存する、該ロジックとを備えることを特徴とする請求項１に記載の相互接続装置。
【請求項４２】
ネットワーク内に配列され、メッセージが多くのノードに及ぶワームホール式ルーティングを用いてメッセージ通信を支援する複数のバッファを持たないノードであって、前記ネットワークが、バッファを持たないノードを通してメッセージを自己ルーティング式に移動させ、
１つ或いはそれ以上の出力ポートと、
メッセージを受信するための１つ或いはそれ以上の入力ポートであって、前記入力ポートの１つに到達するメッセージＭが、１つ或いはそれ以上の所定の行先出力ポートにおいて前記ネットワークを出るように指定され、前記入力ポートは、そこに挿入されるメッセージと、その時点で前記相互接続構造にあるメッセージとの衝突を防止するべく、前記挿入されるメッセージのタイミングを制御するように構成されており、前記入力ポートによる衝突の防止が、全メッセージの前記複数のノードを通したワームホール式ルーティングの競合を解決する、該入力ポートと、
前記バッファなしノードＡからバッファなしノードＢまで前記ネットワークを介して前記メッセージを移動するためのバッファなしノードにおける第１のリンクと、
前記バッファなしノードＡから直接或いは間接に前記メッセージＭを受信するためのバッファなしノードＥにおける第２のリンクであって、前記ノードＥが、前記バッファなしノードＢからメッセージを受信するために用いられる、該第２のリンクとを備えることを特徴とするノード。
【請求項４３】
前記バッファなしノードＡにおける第３のリンクであって、前記第３のリンクがバッファなしノードＣにメッセージを送出する、該第３のリンクをさらに備え、
前記ノードＡが前記ノードＢから直接或いは間接にメッセージを受信するために用いられ、
前記ノードＡが前記ノードＣから直接或いは間接にメッセージを受信するために用いられ、
前記ノードＣが前記ノードＢから直接或いは間接にメッセージを受信するために用いられ、さらに、
前記ノードＢが前記ノードＣから直接或いは間接にメッセージを受信するために用いられることを特徴とする請求項４２に記載の方法。
【請求項４４】
バッファを持たないスイッチアレイ素子を通してメッセージを自己ルーティング式に移動させるスケーラブル低ラテンシースイッチをさらに含み、
前記低ラテンシースイッチが、
多くのアレイ素子間に延在する多数ビットメッセージの一部のみが２つのアレイ素子間で通過するワームホール式ルーティングを用いて、複数の入力ポート及び複数の出力ポートに選択的に結合され、複数のスイッチアレイ素子を介して入力ポートから所定の出力ポートまでメッセージをルーティングするように構成される複数のスイッチアレイ素子を備え、
前記スイッチアレイ素子が複数の列Ｃi+1及び及び複数のレベルＬj+1に結合され、
前記入力ポートが最大レベルＬjの各スイッチアレイ素子に結合され、前記最上位レベルの前記各スイッチアレイ素子が利用可能である場合に、前記最上位レベルの前記各スイッチアレイ素子に前記メッセージを通信するように構成され、
あるレベル内の前記スイッチアレイ素子が、（ａ）下側レベル内の前記各スイッチアレイ素子が前記メッセージを前記所定の出力ポートに導く場合に、かつ（ｂ）前記下側レベル内の前記各スイッチアレイ素子が利用可能である場合に、前記メッセージを前記下側レベル内の前記各スイッチアレイ素子に伝送し、そうでない場合には前記メッセージを前記同一レベル上のスイッチアレイ素子に伝送するように構成され、
前記所定の出力ポートが最下位レベルＬ0の各スイッチアレイ素子に結合され、前記所定の出力ポートが利用可能である場合に、前記所定の出力ポートが前記最下位レベルの前記各スイッチアレイ素子から前記メッセージを受信するように構成されることを特徴とする請求項１に記載の相互接続装置。
【請求項４５】
あるレベル内の前記スイッチアレイ素子が、（ａ）下側レベル内の前記各スイッチアレイ素子が前記メッセージを前記所定の出力ポートに導く場合に、かつ（ｂ）前記下側レベル内の前記各スイッチアレイ素子が利用可能である場合に、前記下側レベルの同一列内の各スイッチアレイ素子に前記メッセージを伝送し、そうでない場合には同一レベル上のスイッチアレイ素子に前記メッセージを伝送するように構成されることを特徴とする請求項４４に記載のスイッチ。
【請求項４６】
あるレベル内の前記スイッチ素子が、前記スイッチアレイ素子が利用可能でない高次レベルの各スイッチアレイ素子を告知するように構成される、前記高次レベルの前記各スイッチアレイ素子に対する入力制御ラインを備えることを特徴とする請求項４４或いは４５に記載のスイッチ。
【請求項４７】
あるレベル上の少なくとも２つのスイッチアレイ素子間に選択的に配置されるレジスタをさらに備えることを特徴とする請求項４４乃至４６の何れか一項に記載のスイッチ。
【請求項４８】
前記メッセージが、前記所定の出力ポートに関する情報を含む自己配向型（self-directed）メッセージであることを特徴とする請求項４４乃至４７の何れか一項に記載のスイッチ。
【請求項４９】
前記メッセージがヘッダ部分及びペイロード部分を含む多数ビットメッセージであり、また前記スイッチアレイ素子が前記ヘッダ部分に基づいて前記メッセージをルーティングするように構成されることを特徴とする請求項４４乃至４８の何れか一項に記載のスイッチ。
【請求項５０】
前記メッセージがヘッダ部分及びペイロード部分を含む多数ビットメッセージであり、また前記スイッチアレイ素子が前記ヘッダ部分に基づいて前記メッセージをルーティングし、さらに前記ヘッダ部分から１ビットを除去するように構成されることを特徴とする請求項４４乃至４９の何れか一項に記載のスイッチ。
【請求項５１】
前記メッセージが多数ビットメッセージであり、
前記スイッチアレイ素子が前記メッセージに対するルーティング経路専用となるように構成され、
前記メッセージが前記専用ルーティング経路に沿って複数のスイッチアレイ素子間に分布することを特徴とする請求項４４乃至５０の何れか一項に記載のスイッチ。
【請求項５２】
前記最上位レベルの前記スイッチアレイ素子の数が、前記入力ポートの数より大きいことを特徴とする請求項４４乃至５１の何れか一項に記載のスイッチ。
【請求項５３】
前記スイッチアレイ素子が、複製されたメッセージとして前記メッセージを複製し、前記複製されたメッセージを複数の所定の出力ポートに伝送することができることを特徴とする請求項４４乃至５２の何れか一項に記載のスイッチ。
【請求項５４】
前記スイッチアレイ素子が、下側レベルの前記各スイッチアレイ素子の上側に配置されるより高次レベルの前記各スイッチアレイ素子と列をなして配列され、
前記列が副次列を、また前記レベルが副次レベルを備え、
前記スイッチアレイ素子が複数の制御セルを備え、前記制御セルが前記副次列の１つ及び前記副次レベルの１つに結合されることを特徴とする請求項４４乃至５３の何れか一項に記載のスイッチ。
【請求項５５】
１つのレベル上の複数の制御セルが各副次列に対応し、前記１つのレベル上の他の制御セルが各副次列に対応しないことを特徴とする請求項４４乃至５４の何れか一項に記載のスイッチ。
【請求項５６】
前記スイッチアレイ素子が、第１の内向きメッセージを受信するように構成される第１のポートを備える複数のメッセージ経路を備え、
前記第１のポートがビジーである場合に、ビジー信号出口ポートが第１のビジー信号を伝送するように構成され、
第２のポートが第１の外向きメッセージを伝送するように構成され、
第３のポートが第２の内向きメッセージを受信するように構成され、
前記第３のポートがビジーである場合に、第２のビジーポートが第２のビジー信号を伝送するように構成され、
第４のポートが第２の外向きメッセージを伝送するように構成され、
プロセッサが前記第１の内向きメッセージを処理して前記第１の外向きメッセージを形成し、かつ前記第２の内向きメッセージを処理して第２の外向きメッセージを形成するように構成されることを特徴とする請求項４５乃至５５の何れか一項に記載のスイッチ。
【請求項５７】
前記メッセージが光メッセージであり、
前記スイッチアレイ素子が電気−光学制御セルを備えることを特徴とする請求項４４乃至５６の何れか一項に記載のスイッチ。
【請求項５８】
前記メッセージが光メッセージであり、
前記スイッチアレイ素子がハイブリッド電気−光学制御セルを備えることを特徴とする請求項４４乃至５７の何れか一項に記載のスイッチ。
【請求項５９】
複数の第２の入力ポート及び複数の第２の出力ポートに選択的に結合され、第２の入力ポートから所定の第２の出力ポートまで前記メッセージに対する第２のメッセージをルーティングするように構成される複数の第２のスイッチアレイ素子をさらに備え、
前記第２のスイッチアレイ素子が複数の列Ｃj+1及び複数のレベルＬj+1に結合され、
前記第２の入力ポートが前記最上位レベルＬjの各第２のスイッチアレイ素子に結合され、また前記最上位レベルの前記各第２のスイッチアレイ素子が利用可能である場合に、前記第２のメッセージを最上位レベルの前記各第２のスイッチアレイ素子に伝送するように構成され、
あるレベルにおける前記第２のスイッチアレイ素子が、（ａ）下側レベルの前記各第２のスイッチアレイ素子が前記第２のメッセージを前記所定の第２の出力ポートに導く場合に、かつ（ｂ）前記下側レベルの前記各第２のスイッチアレイ素子が利用可能である場合に、前記下側レベルの前記各第２のスイッチアレイ素子に前記第２のメッセージを伝送し、そうでない場合には前記第２のメッセージを前記同一レベル上のスイッチアレイ素子に伝送するように構成され、
前記第２の出力ポートが最下位レベルＬ0の各第２のスイッチアレイ素子に結合され、また前記所定の第２の出力ポートが、前記所定の第２の出力ポートが利用可能である場合に、前記最下位レベルの前記各第２のスイッチアレイ素子から前記第２のメッセージを受信するように構成されることを特徴とする請求項４４乃至５８の何れか一項に記載のスイッチ。
【請求項６０】
複数の第２の入力ポート及び複数の第２の出力ポートに選択的に結合され、第２の入力ポートから所定の第２の出力ポートまで前記メッセージに対する第２のメッセージをルーティングするように構成される複数の第２のスイッチアレイ素子をさらに備え、
前記第２のスイッチアレイ素子が複数の列Ｃj+1及び複数のレベルＬj+1に結合され、
前記スイッチアレイ素子が第２のスイッチアレイ素子に結合され、
前記第２の入力ポートが前記最上位レベルＬjの各第２のスイッチアレイ素子に結合され、前記最上位レベルの前記各第２のスイッチアレイ素子が利用可能である場合に、前記第２のメッセージを前記最上位レベルの前記各第２のスイッチアレイ素子に伝送するように構成され、
あるレベルにおける前記第２のスイッチアレイ素子が、（ａ）下側レベルの各第２のスイッチアレイ素子が前記第２のメッセージを前記所定の第２の出力ポートに導く場合に、かつ（ｂ）前記下側レベルの前記各第２のスイッチアレイ素子が利用可能である場合に、前記下側レベルの前記各第２のスイッチアレイ素子に前記第２のメッセージを伝送し、そうでない場合には前記第２のメッセージを同一レベルのスイッチアレイ素子に伝送するように構成され、
前記第２の出力ポートが最下位レベルＬ0の各第２のスイッチアレイ素子に結合され、前記所定の第２の出力ポートが利用可能である場合に、前記所定の第２の出力ポートが、前記最上位レベルの前記各第２のスイッチアレイ素子から前記第２のメッセージを受信するように構成されることを特徴とする請求項４４乃至５９のいずれか一項に記載のスイッチ。
【請求項６１】
バッファを持たないスイッチアレイ素子を通してメッセージを自己ルーティング式に移動させるスケーラブル低ラテンシースイッチにおいて用いるためのスイッチアレイ素子をさらに含み、
前記スケーラブル低ラテンシースイッチは、多くのアレイ素子間に延在する多数ビットメッセージの一部のみが２つのアレイ素子間で通過するワームホール式ルーティングを用いて、複数の入力ポート及び複数の出力ポートに選択的に結合され、複数のスイッチアレイ素子を介して入力ポートから所定の出力ポートまでメッセージをルーティングするように構成され、
前記スイッチアレイ素子は、
内向きメッセージを受信するように構成される第１のポートと、
前記内向きメッセージを処理し、外向きメッセージを形成するように構成されるプロセッサと、
前記第１のポートがビジーである場合に、ビジー信号を伝送するように構成されるビジー信号出口ポートと、
前記外向きメッセージを伝送するように構成される第２のポートとを備えることを特徴とする請求項１に記載の相互接続装置。
【請求項６２】
第２の内向きメッセージを受信するように構成される第３のポートであって、
前記プロセッサが前記第２の内向きメッセージを処理し、第２の外向きメッセージを形成するように構成される、該第３のポートと、
前記第３のポートがビジーである場合に、第２のビジー信号を伝送するように構成される第２のビジーポートと、
前記第２の外向きメッセージを伝送するように構成される第４のポートとを備えることを特徴とする請求項６１に記載のスイッチアレイ素子。
【請求項６３】
前記メッセージがヘッダ部分及びペイロード部分を含み、
前記プロセッサが前記ヘッダ部分に基づいて前記メッセージをルーティングするように構成されることを特徴とする請求項６１或いは６２に記載のスイッチアレイ素子。
【請求項６４】
前記メッセージがヘッダ部分及びペイロード部分を含む多数ビットメッセージであり、
前記プロセッサが前記ヘッダ部分に基づいて前記メッセージをルーティングし、かつ前記ヘッダから１ビットを除去するように構成されることを特徴とする請求項６１乃至６３の何れか一項に記載のスイッチアレイ素子。
【請求項６５】
前記プロセッサが前記メッセージをルーティングするように構成されるスイッチであることを特徴とする請求項６１乃至６４の何れか一項に記載のスイッチアレイ素子。
【請求項６６】
前記メッセージが光メッセージであり、
前記スイッチアレイ素子が電気−光学制御セルを備えることを特徴とする請求項６１乃至６５の何れか一項に記載のスイッチアレイ素子。
【請求項６７】
前記メッセージが光メッセージであり、
前記スイッチアレイ素子がハイブリッド電気−光学制御セルを備えることを特徴とする請求項６１乃至６６の何れか一項に記載のスイッチアレイ素子。
【請求項６８】
バッファを持たないスイッチアレイ素子を通してメッセージを自己ルーティング式に移動させるスケーラブル低ラテンシースイッチにおいて用いるためのスイッチアレイ素子をさらに含み、
前記スケーラブル低ラテンシースイッチは、多くのアレイ素子間に延在する多数ビットメッセージの一部のみが２つのアレイ素子間で通過するワームホール式ルーティングを用いて、複数の入力ポート及び複数の出力ポートに選択的に結合され、複数のスイッチアレイ素子を介して入力ポートから所定の出力ポートまでメッセージをルーティングするように構成され、
前記スイッチアレイ素子は、
複数の列ポート及び複数のレベルポートと、
複数の制御セルとを備え、前記制御セルが前記列ポート及び前記レベルポートに結合され、また内向きメッセージを受信するように構成される第１のポートを備え、プロセッサが前記内向きメッセージを処理して外向きメッセージを形成するように構成され、ビジー信号出口ポートが、前記第１のポートがビジーである場合にビジー信号を伝送するように構成され、さらに第２のポートが前記外向きメッセージを伝送するように構成されることを特徴とする請求項１に記載の相互接続装置。
【請求項６９】
複数の入力ポート及び複数の出力ポートに選択的に結合される複数のスイッチアレイ素子を備えるスケーラブル低ラテンシースイッチを用いて、入力ポートから所定の出力ポートまでメッセージを転送する過程であって、前記スイッチアレイ素子が複数の列Ｃi+1及び複数のレベルＬj+1に結合され、前記スケーラブル低ラテンシースイッチは、バッファを持たないスイッチアレイ素子を通してメッセージを自己ルーティング式に移動させる、該メッセージを転送する過程をさらに含み、
前記メッセージを転送する過程が、
最上位レベルの各スイッチアレイ素子が利用可能である場合に、前記最上位レベルＬjの前記各スイッチアレイ素子におけるスイッチアレイ素子の前記入力ポートの１つから前記メッセージを通信する過程と、
（ａ）下側レベルの各スイッチアレイ素子が前記メッセージを前記所定の出力ポートに導く場合に、かつ（ｂ）前記下側レベルの前記各スイッチアレイ素子が利用可能である場合に、前記メッセージを前記下側レベルの前記各スイッチアレイ素子に伝送し、そうでない場合には同一レベルのスイッチアレイ素子に前記メッセージを伝送する過程と、
前記所定の出力ポートが利用可能である場合に、最下位レベルＬ0のスイッチアレイ素子から前記所定の出力ポートまで前記メッセージを伝送する過程と、
多くのアレイ素子間に延在する多数ビットメッセージの一部のみが２つのアレイ素子間で通過するワームホール式ルーティングを用いて、前記メッセージを前記入力ポートから前記複数のスイッチアレイ素子を介して前記所定の出力ポートまでルーティングする過程とを有することを特徴とする請求項２３に記載の方法。
【発明の詳細な説明】
技術分野
本発明は、コンピューティング及び通信システムのための相互接続構造に関するものである。本発明は特に、多重レベル相互接続構造において用いるためのスケーラブル低ラテンシースイッチに関するものである。
背景技術
コンピュータサイエンスの分野において未解決の重要な問題は、完全ロードされた条件の下で高スループット（高い断面帯域幅）を維持するスケーラブル低ラテンシー相互接続が存在しないことであった。バニヨン（banyon）、オメガ（omega）及びファットツリーネットワーク（fat tree network）、マルチレベルグリッド（multi-level grids）、トーラス及びハイパーキューブネットワーク（torus and hypercube network）のような既存の相互接続デザインは全て、様々な程度で、無制限のスケーラビリティーと、トラフィックのロード時の低ラテンシー及び高スループットの維持ができなかった。これらのネットワークの幾何学的構造は、１９世紀の数学者や更に古い幾何学者によって開発されたものであり、もともとメッセージルーティング方法をサポートすることは意図されていなかった構造である。
実質的に無制限のスケーラビリティーを有し、かつ低ラテンシー及び高スループットをサポートする、相互接続構造及び該相互接続構造において相互接続を形成するのに用いられる適切なスイッチが必要である。
これらの有利な特徴を有する相互接続構造及びスイッチは、スーパーコンピュータネットワーク及びＬＡＮやインターネットスイッチ構造及び電話交換器構造のようなネットワークスイッチ構造環境を含む多くの電子的なデザイン環境の用途において役立つ。
多くの電子的デザイン環境の目的は様々である。例えば、スーパーコンピュータの設計おける第１の目標は非常に短い待ち時間（ラテンシー）である。これに対し、ＬＡＮ／インターネットスイッチ構造の設計における主な目標はラテンシーではなくスケーラビリティーである。電話局の交換器での目標は、非常に高いスケーラビリティーと低いコストであり、ラテンシー及び帯域幅はあまり問題ではない。
スーパーコンピュータデザイン用のスイッチは、コストの嵩むシリコン加工技術を用いて形成される。設計上のパラメータは、スーパーコンピュータシステム全体にわたって特に規定され且つ不変である。詳述すると、スーパーコンピュータシステム全体にわたって、一般にワードサイズ、アドレッシングスキーム、サイズ、及びキャパシティは不変である。スーパーコンピュータシステムでは、ただ１つのコンパイラーフィロソフィー及びデザインや、オペレーティングシステム定義及び要求セットが通常用いられる。同様に、スーパーコンピュータシステムは、動作速度及び電圧についての１つの規定を有する。スーパーコンピュータは、互換性のある構成要素、メモリ、プロセッサ、電源等を利用している。
スーパーコンピュータデザインは、一般に、ＬＡＮ／インターネット回線より小さい最大サイズを有するが、ネットワークのサイズは極めて多様である。スーパーコンピュータデザインは、通常数百から数千の範囲のポートを有するが、ネットワークは、数百から数十万以上のポートを有するようなサイズを有している。スーパーコンピュータシステムは、複数の同一のスタック化集積回路により高いレベルの並列処理が可能なスイッチデザインを採用している。典型的には、スーパーコンピュータネットワークにおけるノードは１個の集積回路上に実現され、１個の回路基板上には２、３個しかノードは設けられない。ノード間の相互接続は複数の高額な高速ケーブルによってなされる。スーパーコンピュータデザインの並列処理を、アドレッシング及び制御発行、及びパッケージングに拡張して、待ち時間を短くし、ポートあたりの帯域幅を大きくすることができる。
スーパーコンピュータスイッチインプリメンテーションとは対称的に、例えばＬＡＮ／インターネットネットワークデザインのようなネットワーク用のスイッチは、通常異なる設計パラメータを有し得る複数の集積回路群を利用している。一般に、小型のネットワークのための設計パラメータは、大型のネットワーク用の設計パラメータとは概ね異なっている。例えば、大型のネットワークは「ツイストキューブ（twisted cube）」又は二次元型デザインを利用している。数十万のポートを有する巨大なネットワークは、複数のスイッチ回路を相互接続又はカスケード接続して超大型スイッチ用のメタトポロジーにすることにより形成される三次元又は四次元トポロジーを使用している。異なるメタトポロジーを有するＬＡＮ／インターネットネットワークを効率的に構築するため、特に適切な入力及び出力シグナルタイミングを与えるためには、異なるスイッチ回路のインプリメンテーションが必要である。ネットワークのビットレートは、スーパーコンピュータのビットレートより一般に遅く、広い範囲にわたっている。例えば、イーサネットは１０Ｍビット／秒のビットレートを利用している。トークンリングは１２Ｍビット／秒のレートを有する。ファストイーサネットは１００Ｍビット／秒のビットレートを達成し、ＡＴＭは２５〜６２２Ｍビット／秒のビットレートを達成している。
従来型のスイッチ技術は、相互接続構造技術をサポートする場合には多くの欠点を有している。第１に、既存のスイッチ構造又は技術で、相応なコストで約１２〜２４ポートより多数のポートをサポートできるものはない。例えば、８ポートのトークンリングスイッチは約１０，０００ドルのコストがかかる。８〜１６ポートの１０Ｍビット／秒イーサネットスイッチは、４，０００〜１０，０００ドルのコストがかかる。
相互接続スイッチ技術の第２の欠点は、１個のスイッチデザインが複数の異なる通信プロトコルをサポートしないことである。ピンリミテッドデザインは、例えばＡＴＭのような短いパケット長を有する通信プロトコルのみのために容易にサポートされる。パケットサイズが異なることは、集積回路チップの設計に直接影響を与え、従ってパケットサイズのばらつきが大きくなると、スイッチの仕様の設計に大きな違いがでてくる。例えば、スイッチは、集積回路スイッチ上の各ポートにおいて少なくとも１回最大パケットの全長をバッファリングする。従って、規定のＡＴＭパケットサイズは５３バイトであるため、ＡＴＭデザインのペイロードが小さくなると、集積回路におけるゲートを効率的に使用できることになる。イーサネットのパケットサイズは可変長であり、最大約２Ｋバイトである。そしてメッセージをバッファリングするためには多数のゲートが必要になる。同様に、トークンリングネットワークのパケットは、最大長４Ｋバイトであり、ファイバーチャネルサイズは実質的に無制限であり。メッセージのバッファリングのためには多くの回路面積が占められることになる。
ローカルエリアネットワークで使用するための一般的なスイッチ回路が必要である。更に必要なものはＩＥＥＥネットワーク仕様をインプリメントするネットワークを構築するための一般的なスイッチ回路である。
発明の概要
極めて有益な相互接続構造は、その相互接続構造を通して伝達されるメッセージのタイミング及びポジショニングに基づくデータフロー技術を利用している通信システム、ネットワーク、及び全ての型のコンピュータにおいて役立つ。スイッチング制御は、構造の複数のノードに分散されており、これによってグローバル制御機能及び複雑なロジック構造を与える監視コントローラを設ける必要がなくなる。この相互接続構造は、各ノードにおける処理及びストレージオーバーヘッドが最小限になる「変向（deflection）」又は「ホットポテト（hot potato）」システムとして動作する。グローバルコントローラ及びノードにおけるバッファリングをなくすことにより、相互接続構造における制御及びロジック構造の量が著しく低減し、全制御素子及びネットワーク相互接続素子が単純化され、メッセージ伝達の速度が高くなる。
スケーラブル低ラテンシースイッチは、この相互接続構造の有用性及び利点を拡張し、既存のネットワークの限界を打ち破る新規なメッセージルーティング方法を備えた新規な構造のセットを有する。スケーラブル低ラテンシースイッチを用いた相互接続構造の１つの実施例のスループットは、相互接続のサイズが無限大に近づいたとき２０％まで高められる。飛行時間（待ち時間又はラテンシー）は、たとえ相互接続構造が完全にロードされているときでも、ヘッダがネットワークに入るまでの時間は２倍以下である。スケーラブル低ラテンシースイッチを用いた「フラットラテンシー相互接続」と称されるこの相互接続構造の別の実施例は、１ノードあたり２以上の下向き経路を有し、サイズを無限大に近づいたとき４０％以上のスループットの改善がみられる。
本発明の或る態様によるスケーラブル低ラテンシースイッチデザインは、多重相互接続デザインの分野における極めて意欲的な目的を達成する。このスケーラブル低ラテンシースイッチは、さまざまな市場における多重デザインのカテゴリ用の多くの異なる集積回路レイアウトを満足させる。
スケーラブル低ラテンシースイッチは、多くの極めて単純な制御セル（ノード）からつくられている。この制御セルはアレイ（配列）をなすように配置されている。アレイにおける制御セルの数は、通常６４〜１０２４個の設計パラメータであり、通常２のべき乗である。このアレイはレベルと列に整列される。列の数は典型的には４〜２０以上の範囲である。各アレイが２J個の制御セルを有しているとき、レベルの数は典型的にはJ＋１である。このスケーラブル低ラテンシースイッチは、スイッチのサイズ、性能、及び型を決定する複数の設計パラメータに基づいて設計されている。数十万の制御セルを備えたスイッチが１個のチップ上にレイアウトされ、従ってスイッチの有用なサイズはネットワークの大きさではなくピンの数によって限定される。
スケーラブル低ラテンシースイッチの複数の設計パラメータは、スイッチを構成するための回路レイアウトを決定する。アレイにおける制御セルの数及びアレイの総数に加えて、他の設計上の選択がなされる。基本的な設計では、制御セルは２つのデータ入力ポートと２つのデータ出力ポートを有する。例えば「（セルが対になった）ペア式セル」デザインのようなより複雑な設計では、基本セルの要素を結合して、より大きい制御セルユニットを形成する。この大きいセルユニットはより複雑なノードを形成する。ペア式セルデザインのような複合セルの利点は、全体の待ち時間が短くなると共に、待ち時間の変動が小さくなることである。複合セルは、基本デザインと比較して待ち時間（ラテンシー）のばらつきが小さくなることから「フラットラテンシー」スイッチとも呼ばれる。このペア式セルデザインは、シングルセル２個分より多い数のゲートを有し得るが、フラットラテンシーのため、スーパーコンピュータにおける使用や、及びギガビットイーサネット及びＡＴＭスイッチのような高速ネットワーク用のスイッチング構造として使用するのに望ましい。
設計パラメータには更に、基本的タイミングスキーム及びパイプライン式ロジックスキームを含むタイミングの型が含まれている。パイプラインロジックは、ネットワークを通して「波状に伝播（リプルアップ）」し、従ってリプルアップデザインと呼ばれる、リプルアップパイプラインロジックは、より少ないクロック時間でネットワークを通してメッセージを伝達する。これに対しベーシックタイミングデザインでは、可能な最速のＩ／Ｏレートで集積回路チップを操作する。
典型的にはメッセージは最上位レベル（レベルＬ）において相互接続構造のアレイに入り、最下位レベル（レベル０）を通してアレイから出る。メッセージは、チップ上の制御セルをデータビットが左から右へ、或いは上から下へ移動していくことにより「ワームホール式に」移動する。単純なタイミングスキームでは、ヘッダビットが２回のパルスで（２クロックで）所定のレベル上のセルの間を移動し、且つ１クロックサイクルで異なるレベル上のノード間を移動する。ヘッダービットのようなペイロードビットは、２パルスで同じレベル上のセル間を移動し、効率的に１パルスでレベル間を下向きに移動する。リプルアップタイミングスキームでは、ヘッダー及びペイロードビットが所定のレベル上のノード間を移動するのに１パルス分の時間しかかけない。ペイロードビットはレベル間を下向きに移動するためには効果的に０パルスの時間しかかけない。ペア式セルデザインでは、メッセージは向きを変えられたときにのみ所定のレベルにおけるセル間を移動する。従って、変向されないメッセージは、入力ピンから出力ピンに直接移動するペイロードビットを有する。ピン対ピン接続は、メッセージがワームホール式に流れるのを可能にするタイミングスキームを用いて達成される。
このスイッチのいくつかの実施例は、１対全、又は１対多のメッセージの同報通信が行われるマルチキャスティングオプションを有する。マルチキャスティングオプションを用いる場合、任意の入力ポートが、所望に応じて複数の又は全ての出力ポートにメッセージを送ることができる。このメッセージはスイッチ内部で複製され、１つの出力ポートあたり１つの複製が生成される。マルチキャスト機能は、ＡＴＭ及びＬＡＮ／ＷＡＮスイッチ及びスーパーコンピュータに適したものである。マルチキャスティングは、集積回路ロジックを約２０〜３０％増やす追加の制御ラインを用いることにより直接的に実現される。リプルアップロジックと結びついたマルチキャストスイッチでは、このデザインがフラットラテンシー動作を有していることから、タイミング発行の複雑さが高まる。
実際のインプリメンテーションでは、相互接続構造のトポロジーを有するシリコンスイッチはピンリミテッドである。言い換えれば、スイッチを構築するために必要なロジックゲートの最小の数が使用できる数よりも実質的に小さい。集積回路チップのサイズが大きくなるにつれ、その二乗に比例して面積も増加し、また周囲の長さも比例して長くなる。従って、より大きな集積回路チップはＩ／Ｏピンの数によって保証されるより多くの数のゲートを有することになる。本発明のいくつかの実施例によれば、過剰なロジックゲートを用いることによって、低ラテンシーを達成している。本発明の他の実施例では、２Ｋバイト以上のＬＡＮメッセージが、過剰なロジックゲートを消費する多くのダイナミックＦＩＦＯバッファを有する。
多重レベル最小ロジック（MLML）ネットワークについては、1995年7月21日出願の、Coke S. Reedによる“MULTIPLE LEVEL MINIMUM LOGIC NETWORK”なる名称の米国特許出願第ネ08/505,513号に記載されており、この米国特許出願はここで引用することによりその全内容が本明細書と一体にされたものとする。多重レベル最小ロジックネットワークの光を用いる実施例は、最外シリンダ（最上位レベル）のノードがメッセージを受け取るための入力ポートを有する構造を有する。グローバルクロックのクロックパルス１回で、メッセージは最外シリンダのアンロックされたノードに挿入される。ノード間の光相互接続ライン（ファイバー）は、メッセージ全体が隣接するノードの間に収まるようにメッセージを伝達する。
多重レベル最小ロジックネットワークはメモリやバッファのような電子記憶素子を使用することなくメッセージを伝達するが、多重レベル最小ロジックネットワークの電子的デザインインプリメンテーションでは、ノード間の相互接続ラインが先入れ先出し（ＦＩＦＯ）バッファとして実現され得る。例えば、多重レベル最小ロジックネットワークの電子的な実施形態の一例は、主としてＦＩＦＯから構築され得、且つ少なくともノード間の移行の回数×メッセージ長×回路のクロックレートの最小待ち時間（ラテンシー）でチップを流れる。ＦＩＦＯバッファを取り除いた設計では、最小ラテンシーが、ノード間の移行の回数×回路のクロックレートとなり、実質的にラテンシーが低下する。更に、ＦＩＦＯバッファを取り除くことにより、チップをＦＩＦＯ素子ではなく主としてセル又はノードから構成することが可能となり、これによってワームホール式ルーティングを用いることにより待ち時間を著しく短くすることができると共により大きなネットワークに適合し得るようになるという利点が得られる。
スケーラブル低ラテンシースイッチを用いた相互接続構造は、メッセージをチップに挿入するための新規な方法によって集積回路チップを通したワームホール式ルーティングを達成する方法を採用する。あらゆるアングルで外側シリンダー上の各非遮断ノードにメッセージを同時に挿入するのではなく、全メッセージが列ＡとＢとの間に適合する場合のみ同時に２つの列及びＢに挿入される。メッセージは時間０において列０に挿入される。メッセージは時間ｔ0＋ｔCにおいて列１に挿入されるが、ここで時間ｔCはメッセージの第１ビットが最上位レベルにおいて列０から列１に移動するのにかかる時間である。メッセージは時刻ｔ0＋２ｔCにおいて列２に挿入され、以下同様である。このストラテジーはスイッチ内に既に存在する別のメッセージの内部ビットと１つのメッセージの第１ビットとの衝突を避けられるという利点を有する。従って、全メッセージ間のコンテンションは、第１ビットのみの間のコンテンションを解決することによって処理され、多くのセルを通してメッセージがワームホール式に移動するという望ましい結果が得られる。多くの場合、ペイロードの第１ビットは、ペイロードの末端が入る前にチップから出る。
本発明の或る態様では、低ラテンシーデザインが、入出力ピンの数によって保証される数の列の２倍〜４倍以上の列を備えたスイッチを構成することにより過剰な数のロジックゲートを用いて達成される。入力ピンの数より多い列は、入力接続を有しておらず、メッセージがスイッチを通過する際に別のメッセージによって変向される可能性を効果的に減らすことによりスイッチにおける輻輳を低下させる。待ち時間（ラテンシー）は、メッセージの向きの変更が達成するごとに長くなる。入力ラインに接続されていない追加の列を設けることによって、スイッチ内におけるメッセージフローの密度が実質的に低下し、待ち時間が短くなるという利点が得られる。本発明の種々の実施例では、様々な入力ポート及び列の構成が、メッセージフローの密度を調節及び調整し、Ｉ／Ｏ接続と比較して比較的豊富な内部ロジックを利用できるように定められる。
本発明の別の態様によれば、種々の出力ポート及び列の構成が、異なる内部接続目標をサポートするべく定められる。内部接続構造の主な２つのカテゴリは、スーパーコンピュータとネットワーク（ＬＡＮ／インターネット）デザイン構造である。スーパーコンピュータ出力ポート構成では、出力信号の列アドレスを無視しており、メッセージをスイッチから即座に出す。１つのメッセージは、１つの目標、つまり一組の外部バッファに対する複数の出口ポートを有する。たとえ多くの列がこの設計に含められていたとしても、スイッチのサイズは行の数に等しい。
これに対して、ネットワーク（ＬＡＮ）出力信号は、複数の行先の中の特定のメッセージの行先に関係する特定の列アドレスを使用し得る。出力構造のサイズは、行の数と外部列の数との積であり、スーパーコンピュータの出力構成と実質的に逆の出力構成である。
要約すると、スーパーコンピュータに適用され得る１つの出力デザインは、最も大きい帯域幅と最も短い待ち時間（ラテンシー）を与える。ネットワークに適用可能な第２のデザインは、最大の可能なポート数を与える。
本発明の種々の実施例によれば、スケーラブル低ラテンシースイッチが、多くの相互接続用途のための幅広い相互接続の目的をサポートする。スケーラブル低ラテンシースイッチは、フラットラテンシー制御セル及び１行制御セルをサポートする。このスイッチは、１パルスタイミング及びリプルアップロジックタイミングをサポートしている。スケーラブル低ラテンシースイッチは、実施例によってはマルチキャスティングをサポートしているものもあるが、マルチキャスティングをサポートしていない実施例もある。種々の実施例のスケーラブル低ラテンシースイッチは、メッセージフロー密度を可変式に設定する異なる入力ポート構成をサポートしており、且つ低ラテンシースーパーコンピュータから多重ポートＬＡＮまでの用途範囲に対する異なる出力ポート構成をサポートしている。このスイッチは、小さいスーパーコンピュータのメッセージから巨大なＬＡＮのメッセージまで様々なメッセージをサポートしている。
本発明の別の態様によれば、このスケーラブル低ラテンシースイッチは、ワームホール式ルーティングに加えてＭＬＭＬネットワークの特許を超えたいくつかの利点を有する光を利用する実施例として実現される。更に、或る実施例では、メッセージヘッダがペイロードのみを流す「スレーブ」光ネットワークにおけるゲートを設定する電子ネットワークにおいて処理される。この電子／光ハイブリッドスイッチは、各技術の優れた特徴を有益に利用している。
このスケーラブル低ラテンシースイッチにより多くの利点が得られる。このスイッチは、非常に広い帯域幅と非常に低いラテンシーを有するとともに、数千数万のポートの相互接続が１個のチップ上で容易に実現されるという利点を有する。
或る実施例では、スケーラブル低ラテンシースイッチが１個のチップ上で実現される。典型的には、従来のネットワークは、複数のケーブルを用いた、回路基板上で相互接続された独立したノードの集合として実現される。従来のインプリメンテーションはコストが嵩み、多くのチップ、回路基板及び高速のケーブルを必要とする。また従来のインプリメンテーションはたとえメッセージ密度が非常に低い場合でも数マイクロ秒から数百マイクロ秒の最適待ち時間（ラテンシー）を有している。これに対し、完全にロードされた５１２ポートのスケーラブル低ラテンシースイッチの待ち時間は、現在のＡＳＩＣ技術を用いて容易に２０〜１００ナノ秒以内が達成できる。
この相互接続構造及びスケーラブル低ラテンシースイッチの利点は、現在のネットワーク及び相互接続デザインの特徴と、スケーラブル低ラテンシースイッチを用いた構造の特徴とを比較した以下の表にまとめられている。
0004571239.tif 000002
0004571239.tif 000003
【図面の簡単な説明】
新規なものと考えられるここに説明する実施例の特徴は、特に添付の請求の範囲に記載されている。しかし、構造とその操作方法の双方に関連する本発明の実施例は、以下の実施例の説明と添付の図面を参照することにより最もよく理解されよう。異なる図面において類似の又は同一の要素には同じ符号を付して示してある。
第１Ａ図は、本発明のいくつかの実施例に適用される、スケーラブル低ラテンシースイッチの基本的な構成要素及びその基本的な構成要素の相互接続のための構造を模式的に示したブロック図である。
第１Ｂ図は、該ブロック図の１つのレベルにおける右左の接続を示した図である。
第１Ｃ図は、相互接続の一般的な実施例の模式図であって、制御セルがどのようにグループ化されているか、グループ間でどのように相互接続されているか、セルからセルへのデータフローの流れがどのようになっているか、及び制御信号がどのように接続されているかが示されている。
第１Ｄ図は、相互接続構造を通してメッセージの形態のデータが移動する一般的な方法を示した概観図である。
第２Ａ図、第２Ｂ図、及び第２Ｃ図は、第１Ａ図に示すスイッチを通して移動するメッセージのレイアウトを示す模式図である。第２Ａ図は、行ヘッダを有するメッセージに関するものである。第２Ｂ図は行及び列ヘッダの双方を有するメッセージに関するものである。第２Ｃ図はマルチキャスティング用のメッセージに関するものである。
第３図は、データ及びビジー信号接続のようなスイッチアレイの詳細な相互接続を含むスイッチアレイの相互接続を示した模式図である。
第４図は、通信技術の単純化した実施例における、スイッチに対するメッセージの入出力の制御及びタイミングを表す入力信号タイミング及び出力信号タイミングを示す模式的なタイミング図である。
第５Ａ図は、スイッチに対するトライステート入力接続を示す模式的な相互接続の図である。第５Ｂ図は、制御信号及びデータ信号が異なる時間に発生しているために、制御（出力）及びデータ（入力）のためにただ１つのピンを用いることができるトライステートタイミングを用いた第５Ａ図に示すスイッチに適用される制御タイミング信号を示すタイミング図である。
第６Ａ図及び第６Ｃ図はそれぞれ、８行のテーブル及び１６行のテーブルであり、第６Ｂ図はスイッチ内に制御セルを配置するための配置シーケンスを発生するための方法を示すグラフである。
第７Ａ図は、メッセージがその目標行への複数の経路を有する二分木型ルーティング技術を用いて第１Ａ図に示すスイッチを通してメッセージがどのようにルーティングされるかを示した模式的な相互接続の図である。
第７Ｂ図は、メッセージがそれらの目標に近づいたときメッセージの輻輳を低下させるために、より低いレベルにより多い数の行を有する実施例を示す模式図である。
第８Ａ図は、所定の目標への経路上のあるレベルから次の一段低いレベルまでメッセージを移動させる技術を示す模式的なブロック図である。
第８Ｂ図は、低いレベル上のメッセージが一段上のレベルのメッセージがすぐ下のレベルに移動するのを遮断でき、且つ遮断されたメッセージが、第８Ａ図に示す技術を用いて低いレベルに移動する別の機会を有することを示す模式的なブロック図である。
第９図は、１つの行におけるメッセージ経路とより低い行との関係を示すルーティング相互接続の図であって、相互接続構造を通してのエクスカーション（excursion）において１つのメッセージが同じメッセージによって遮断される可能性が非常に低くなるようにする場合の、第６Ｂ図に示す８行のテーブルによって示された相互接続から生ずる配置シーケンスの利点を強調して示している。
第１０図は、スイッチを通過するメッセージヘッダと、スイッチをメッセージが通過する際にメッセージヘッダの長さが短縮され、これによってメッセージがスイッチの最下位に達するまでに全ヘッダが除去されて、低ラテンシーとより単純な論理的処理が達成できることを示した模式図である。
第１１Ａ図は、先入れ先出し（ＦＩＦＯ）バッファを構成する一連の遅延素子を示す図であり、第１１Ｂ図は、遅延素子からなるダイナミックＦＩＦＯ構造であり、第１１Ｃ図は光ＦＩＦＯ構造である。
第１２Ａ図は、相互接続の同じ列の異なるレベルにおける制御ロジックの相対的なタイミングを示すグラフである。
第１２Ｂ図は、相互接続の同じレベルの異なる列における制御ロジックの相対的なタイミングを示すグラフである。
第１３Ａ図は、下向きに移動するメッセージに対する制御セルの状態の概要を示す図である。セルの状態はラッチに格納されている。論理的処理において用いられる遅延素子が図示されており、また上側のレベルへの、下向きの、及び左右の相互接続が示されている。
第１３Ｂ図は、右向きに移動するメッセージのための制御セルの状態の概略を示した図である。セルの状態はラッチに格納される。
第１４図は、制御セルを流れるメッセージフローを制御するために必要な一般的なロジック素子の流れ図である。この結果、制御セルの状態が、そのようなメッセージが存在する場合にメッセージを下向き又は右側に流すように設定される。
第１５Ａ図は、レベル０の上のレベルにおける制御セルの一実施例のロジックゲートを詳細に示した図である。この図は第１３Ａ図及び第１３Ｂ図に示したものの完全型であって、第１４Ａ図の流れ図に示す処理を実行する。
第１５Ｂ図は、第２Ｂ図に示す列アドレッシングを組み込んでいるメッセージのためのレベル０における制御セルの一実施例のロジックゲートを示した図である。
第１６Ａ図は、高速タイミング（中間レベル遅延なしの）スイッチ及びその制御セルのためのタイミング図である。全てのレベルのための全ての処理は、同じクロック時間に発生し、これによって待ち時間（ラテンシー）が短くなる。
第１６Ｂ図は、同じ列において接続された２つの高速制御セルの詳細図である。この高速「リプルアップ」ロジックが説明されている。
第１７図は、８行×４列の３２ポートスイッチを示す図であり、スイッチの完全な実施例を構成する全てのスイッチアレイにおける全ての制御セルのレイアウト及び相互接続が示されている。
第１８Ａ図は、フラットラテンシー制御セルの７つの状態を示す図であり、２行入力及び２つの上下入出力のセル内の相互接続が示されている。
第１８Ｂ図は、フラットラテンシー制御セルへの入力値の多くの組み合わせが、どのようにしてそれがある状態を決定するかを示す表である。この状態は、セルに入る０、１、２、３、又は４メッセージの流れの制御のために用いられる。
第１８Ｃ図は、第１８Ｂ図の表によって決定される状態を用いてロジックゲートを設定し、メッセージをセルを通してルーティングするフラットラテンシー制御セルの詳細図である。
第１８Ｄ図は、以下の図面において用いられるフラットラテンシー制御セルを簡略に表した図である。
第１９図は、フラットラテンシースイッチの完全な実施形態を構成する、１６行×４列の６４ポートフラットラテンシースイッチの完全な相互接続及びレイアウトを示す図である。全てのスイッチアレイにおける全ての制御セルの位置及び相互接続が示されており、この図面に基づいてレイアウトがどのように行われるかを説明する。
第２０Ａ図、第２０Ｂ図、及び第２０Ｃ図は、最大可能入力数と比較してスイッチの入力数を有益に少なくし、これによってメッセージ密度を低め且つスイッチ内の輻輳を低下させるフラットラテンシースイッチと１つの経路の最上位レベルの別の実施例を示す図である。
第２１Ａ図、第２１Ｂ図、及び第２１Ｃ図は、様々な有益なデザインの必要性のための１つのレベル又は複数のレベルにおける種々の左右の相互接続を示す図である。
第２２Ａ図は第２Ａ図において説明したメッセージのための、例えばスーパーコンピュータにおいて用いられる最も低いラテンシーを意図した低ラテンシー出力回路のブロック図である。第２２Ｂ図は、第２２Ａ図に示す図の要素の詳細図である。
第２３Ａ図は、第２Ｂ図において説明した行及び列アドレッシングを用いる、例えば非常に多くのポートを備えたＡＴＭ又は電話用スイッチのような高キャパシティースイッチを意図したスイッチの出力のブロック図である。第２３Ｂ図及び第２３Ｃ図は、第２３Ａ図の要素の詳細を示す。
第２４Ａ図は、１つの入力から１つの出力へのメッセージの送信を目的とした、又は多くの出力又は全ての出力ポートへのメッセージのブロードキャスティング（マルチキャスティング）のために第２Ｃ図において説明したメッセージを使用するマルチキャスト制御セルの構成要素を示す図である。
第２４Ｂ図、第２４Ｃ図、及び第２４Ｄ図は、マルチキャストメッセージが行に沿って右に移動する際のマルチキャスト制御セルの状態を示す図である。
第２５Ａ図、第２５Ｂ図、及び第２５Ｃ図は、多次元トポロジーに形成されたマルチチップスイッチのためのメッセージヘッダのレイアウトを示す図である。
第２６Ａ図は、多くの入出力ポートを備えたスイッチを構成するために複数のチップをどのように相互接続するかを示す模式図である。
第２６Ｂ図は、「ツイステッドキューブ」と称される第２Ｂ図の相互接続されたスイッチシステムを示す図である。
第２７図は、多数の入出力ポートを備えたスイッチを形成するため、複数のチップをどのように三次元構成に相互接続するかを示す模式図である。
第２８図は、多くの入出力ポートを備えたスイッチ（「４Ｄスイッチ」）を形成するために複数のチップをどのように四次元構成に相互接続するかを示す模式図である。
第２９Ａ図は、低ラテンシースイッチにメッセージを入れるために、メッセージをどのように半分のサイズの２つのメッセージに分割するかを示す図である。
第２９Ｂ図は、待ち時間（ラテンシー）が約１／２になるマスター／スレーブ関係を有するスイッチにおいて第２９Ａ図の分割されたメッセージを用いるスプリットヘッダスイッチのブロック図である。
第３０Ａ図は、電子−光スイッチによって処理された光メッセージのレイアウトを示す図である。
第３０Ｂ図は、第３０Ａ図において説明されたメッセージを処理する電子−光制御セルを示す図である。
第３０Ｃ図は、第３０Ａ図に示された光メッセージのための最上部又は入力制御セルを示す図である。
第３０Ｄ図は、光メッセージの処理において用いられる光増幅器／再生器を示す図である。
第３０Ｅ図は、第３０Ｂ図及び第３０Ｃ図に示す制御セルの配置及び相互接続、及びセルのファイバーによる相互接続を示す完全な電子−光スイッチを示す図である。
第３１図は、待ち時間を非常に短くし、且つ非常に高い帯域幅を得るために、マスター−スレーブ式に単純化された光制御セルに接続された電子制御セルからなるハイブリッド制御を示す図である。
第３２図は、第３１図に示す２つのタイプの制御セルを用いるハイブリッド電子光スイッチの一部及びそれらの相互接続を示す図である。
異なる図面における同じ符号は、類似の又は同一の要素を示す。
発明の実施の形態
高帯域通信及びコンピュータネットワークの用途で用いられるスケーラブル低ラテンシースイッチは、多くのタイプの機能及び幅広いキャパシティー及びパフォーマンス特性を発揮するために様々な異なる形態を有する。第１実施例は２のべき乗設計法則に基づくスイッチであって、メッセージのワームホール式伝達をサポートしており、１つのメッセージ長、ポイント−ポイントメッセージ伝達のみを取り扱い、１つのレベル当たり決まった数の行を有し、且つフラットラテンシー分布のために最適化されてはいない。この第１実施例のスイッチ１００の説明は、それに基づいて所望の追加的機能及び特徴が構築されるような設計上の基礎を構成する。追加的機能及び特徴には、一般にマルチキャスト（１対多）伝達の能力、可変長メッセージスイッチング、低ラテンシー伝達、マルチチップインプリメンテーション、及び光スイッチング構造の制御が含まれる。この相互接続構造の種々の実施例の詳細は、Reedによる米国特許出願第08/505,513号に記載されている。
第１Ａ図に示すように、スケーラブル低ラテンシースイッチ１００の或る実施例は、複数の列１６０、１６２、及び１６４、及び複数のレベル１３０、１３２、１３４、及び１３６に配置された多数の行のシリアルデータ伝送デバイスを有する。レベルは、各列においてデータバス１２２及び制御バス１２４の構造によって相互接続されている。Ｌ＋１レベルはレベル０  １３０、レベル１  １３２〜レベルＬ１３６のように番号が付されている。これらのレベルは複数の数の行Ｒ１７０を有する。この行はスイッチアレイ１２０のシーケンス及び所望に応じて各レベルの各行に沿って配置された先入れ先出し（ＦＩＦＯ）シリアル遅延素子１１４を相互接続するシリアルデータ伝達１２６を実行する。
メッセージの形態のシリアルデータは、全ての又は多くの列におけるデータ入力バス１０２を通してスイッチ１００に入る。データ入力バス１０２は、複数のシリアルデータ入力ポート１０４を有する。シリアルデータは各列のデータ出力ライン１５８を介してスイッチ１００から出る。データバスは、複数のシリアルデータ出力ポート１５４を有する。第２Ａ図にも示されているように、任意の入力ポート１０４に入るメッセージ２００は、好都合にメッセージヘッダにおいて特定された出力ポート１５４から出る。スイッチ１００の半導体チップインプリメンテーションからなる実施例では、入力ポート１０４は入力ピン接続を有し、出力ポート１５４はチップ上の出力ピン接続を有する。高速動作用に設計された別の実施例では、複数のピンが１つの入力ポート又は出力ポート接続を提供する。複数のチップが同時並行で動作して、大型で、高速の、極めて低いラテンシーのスイッチとなる。非常に多数のＩ／Ｏポート用に設計された更に別の実施例では、複数の特定の相互接続されたチップが１つのスイッチ１００のインプリメンテーションを構成する。
スイッチ１００のある実施例では、それぞれＲ１７０シリアルデータ伝送ラインを有する番号０、１、・・、Ｋ−１を付されたＫ個の列が、最大Ｒ×Ｋ個の入力ポート１０４と最大Ｒ×Ｋ個の出力ポート１５４を形成するように接続されている。データラインの数Ｒは、好ましくは２L以下であり、ここでＬ＋１はスイッチ１００のレベルの数である。スイッチ１００のある実施例では、Ｒ１７０が２Lに等しく、Ｋが好ましくは偶数であり、これによって後に説明する有利な最小メッセージブロッキングを達成する。スイッチ１００のある実施例では、下側のレベルｊにおける行１７０の数がその上のレベルｊ＋１における行の数より大きい。この実施例において、Ｒ１７０は最下位レベルにおける行の数である。表１は、好適なＫ及びＬの数値のワイドレンジ用のスイッチ１００のサイズの例である。スイッチ１００のいくつかの実施例では、アドレス指定可能なポートの数が行の数と等しく、列は都合良くポートへの帯域幅を実質的に高めている。
0004571239.tif 000004
第１Ａ図に示すように、それぞれ列１６０、１６２、及び１６４に関連する複数の列タイミング制御ライン１０８を通して、外部デバイスからのデータを各列が受け取ることができる状態であることを表す信号が送られる。各列における複数の使用可能ポートライン１０６及び列タイミング制御ライン１０８によって、対応するシリアル入力ポート１０４がデータの受信に利用できる状態にあることを表す信号が送られる。構造１１６に示す実施例では、複数のバッファ１１２がシリアルメッセージを受け取り、後に行われるインジェクション（injection）のために最上位レベルＬ１３６におけるスイッチアレイ１２０にそのデータを格納する。オプションの入力構造１１６は、入力バッファ１１２と共にメッセージ２００がスイッチ１００に入るタイミングを制御し、且つ後に行われるシリアルメッセージのバッファリング及びスイッチ１００の最上位レベル１３６にあるスイッチアレイ１２０へのインジェクションを制御する。スイッチ１００の別の実施例では、構造１１６が省略され、データは入力１０４から直接スイッチアレイ１２０に移動する。
各列における複数の出力制御ライン１５６は、外部デバイスからデバイスレディ信号を受け取る。この信号は、対応するシリアル出力ポート１５４からのメッセージ２００を外部デバイスが受信可能状態にあることを表す。出力構造１８０に示されている実施例では、複数の出力バッファ１５２がメッセージがスイッチ１００を通してルーティングされた後にそのメッセージを格納する。スイッチ１００の別の実施例では、構造１８０が省略されている。この実施例では、最下位レベルにおけるスイッチアレイ１２０が出力ポート１５４に直接接続されている。更に、出力制御ライン１５６は、同様に最下位レベルにおけるスイッチアレイ１２０に接続されている。
シリアルデータの形態のメッセージは入力１０４から最上位レベル１３６に入り、更にスイッチアレイ１２０に入る。或る実施形態では、メッセージはその後右に移動して次のスイッチアレイに動く。次のスイッチアレイは、そのメッセージが一段下のレベル１３４に送られるべきか、或いはそのメッセージが同じレベル１３６に維持されたまま右に動かされるべきかを決定する。同じレベルにとどまるメッセージは、隣の列のスイッチアレイ１２０に向かって右に移動した後に、一段下のレベルに下向きに移動する機会を有し得る。一段下のレベル１３４に落ちたメッセージは、そのレベルにおけるスイッチアレイに入り、そこでそのメッセージは即座に同じレベル１３４における右隣のスイッチアレイ１２０に移動する。上のレベルからスイッチアレイ１２０に入るメッセージは常にそのスイッチアレイから右側に向ける。左側からスイッチアレイ１２０に入るメッセージは右側又は下側に出る。
上のレベルからのメッセージが最右列１６４に入る場合、又は左からのメッセージが最右列に達する場合には、このメッセージはオプションのシリアルＦＩＦＯ遅延デバイス１１４に入る。ＦＩＦＯから出た後、このメッセージは行出口点１７２に運ばれる。或る実施例では、出口点１７２は入力ポート１０４と接続され、別の実施例では、この出口点は初めに同じレベルの同じ行の行入口点１７４に接続されるか、或いは別のチップ上の同じレベルの外部の点１７４と接続される。特定のレベルにとどまるメッセージは、それが右に移動して隣の列のスイッチアレイ１２０に入るたびに一段下のレベルに落ちる機会を有し得る。或る実施例では、ＦＩＦＯ１４４の長さが固定されており、別の実施例では、ＦＩＦＯが可変長で、効率的な可変長メッセージ処理が可能であり、更に別の実施例ではＦＩＦＯが完全に省略されている。ＦＩＦＯの構造及び機能は後に説明する。
メッセージ２００がスイッチ１００に入るタイミングは、列レディ信号１０８及びポートビジー信号１０６により調節される。このとき、メッセージの第１ビットがタイミング制御構造１４２によって決定された時間にスイッチに入る。この構造は、クロック信号１４０及びメッセージ長制御信号１４４により外部から制御される。同じ列の入力ポート１０４に入る全てのメッセージは、同時に入る。その列の右側に列に入るメッセージは、僅かに遅れた時間に入る。この場合、同じレベル上の全てのメッセージのヘッダビットは、たとえメッセージが異なる列におけるレベルに入った場合でも整列される。これに対し、Reedの米国特許出願第08/505,513号に開示されたＭＬＭＬネットワークにおいてはメッセージが全ての列に同時に入る。図面に示すスイッチ１００の実施例では、メッセージの「ワームホール式移動（ワームホーリング）」と称されるルーティング技術においてメッセージ全体の全てのビットではなく１又は２個のビットのみが列間にわたって延びる。列間タイミングは遅延素子１４８によって調節され、このタイミングについては後に説明する。スイッチ１００のある実施例では、所定のレベルにおけるスイッチアレイ１２０にメッセージが入るタイミングは、異なるレベルの同じ列の別のスイッチアレイにメッセージが入るタイミングとは異なっている。この実施例では、レベル間タイミングが遅延素子１４６によって調節される。別の実施例では、グローバルクロックタイミングが、多くの又は全てのレベルについて同一であり、遅延素子１４６は設けられない。
１つのレベルにおける接続
第１Ａ図と共に第１Ｂ図には、１つのレベルにおける右から左への行１８２の接続が示されている。右側の出口点１７２は同じレベルの行入口点１７４に左側から戻されて接続されている。いくつかの実施例では、右側から出るメッセージが同じレベルの左側の異なる行にルーティングされる順列１６６が用いられ得る。別の実施例では、右側の接続部が同じ行に接続される。第２１Ａ図、第２１Ｂ図、及び第２１Ｃ図にも左右の点を接続する別の方法が示されている。
一般化された実施形態
第１Ｃ図は、スイッチ１００を示す図である。この図面においては、制御セルや制御セル間の相互接続のような多くの構成要素が例示のために省略されている。（この図面では、用語「左」及び「右」は、それぞれ同じレベルのセルに接続された入力経路及び出力経路を意味する。）制御セル１８６は同じレベルにある１又はそれ以上のセルのグループに属する。グループ１９２は１又は２以上のデータループ１８４を有する。第１Ｃ図においては、最上位レベルが１つのグループＧ［２，１］１９２を有し、ここでは第１パラメータ（２）はレベルを表し、第２パラメータ（１）はそのレベルにおける特定のグループを表す。グループＧ［１，１］に含まれるセルＢ１８６は、他のセルと接続され、全体で連続的なデータループ１８４を形成している。ループ１８４を通して循環するメッセージ形態のデータは、セルＡ、Ｂ、Ｃ、Ｄ、Ｅ…を通して移動する。メッセージ長が長い実施例では、データループ１８４にＦＩＦＯが含められる。データループを循環するメッセージは、例えばＧ［２，１］からＧ［１，１］又はＧ［１，２］へのような下のレベルにおけるグループの任意のものに接続されたセルへ下向きに移動する。いくつかの実施例では、２つのグループが各グループの下で接続され、多数の「二分木」型接続経路の組を構成している。セルＢ１８６に入るメッセージは、下向きに落ち（１８８）てレベル１に入り、グループＧ［１，１］に入る機会を有する。隣のセルにあるメッセージ、この例ではセルＣは、別のグループＧ［１，２］に下向きに移動する機会を有し、このＧ［１，２］はメッセージを異なる目標の組１５４に接続する。いくつかの実施例では、メッセージが、下側のレベルの何れかのグループに落ちる機会を有する前に１つのグループにおける２以上のセルを移動する必要はない。
セル１８６Ｂに入るメッセージは、下側のレベルのセルＪへの相互接続部１８８に向けて優先的に下側に移動し得る。セルＪはメッセージターゲットＮ１５４でセルＢに接続する経路上に存在するからである。（下側のレベルに存在する）セルＬもセルＪに接続されている。メッセージがセルＬからセルＪに移動する場合、下側レベルのセルＬが優先権を有する。この優先権はセルＬによって信号化され、ビジー信号１９０が上のセルＢに送られ、セルＢにメッセージを下に送らないように伝える。いくつかの実施例では、下向き経路１８８上のスイッチ１９４も、ビジー信号１９０によってオンにされ、信号を受けたセルからの任意のメッセージが下側レベルの共通の経路上のメッセージと衝突するのを防止する。スイッチ１９４は、例えば１０４における入力のような外部のデバイスがビジー信号１９０を受け損なったときに衝突を防止する。
全てのセルはそのセルのグループの他のセル（又はＦＩＦＯ）への出口経路１９６を有し、全てのセルは共通経路を共有している他のセルへのビジー信号コネクション１９０を有している。何らかの理由でセルがメッセージを下に送らない場合は、そのセルは同じレベルの同じグループ１９２の他のセルへの相互接続１９６上にメッセージを送る。ビジー信号１９０の大きな利点は、出口経路１９６がそのセルグループにおける他のセルから入ってきたメッセージが常に利用できる点である。同じレベルに残っているメッセージはメッセージの目標に向かって下向きに移動してきた分を失うことはない。このメッセージは即座にメッセージ目標への経路上にある下側のグループに接続された同じグループにおける他のセルに入る。セルＡに入りセルＮから出るメッセージの経路は第１Ｃ図において実線で示されている。
第１Ａ図の実施例は、任意の入力から任意の出力１５４への多くの経路の存在を示している。
方法の外観
第１Ｄ図は、スイッチ１００を通してのメッセージのルーティング方法を示した概略図である。第１Ａ図、第２Ｃ図、及び第２Ａ図にも示されているように、一般に、メッセージが最上位レベルの相互接続１００に入り、下向き又は右向きに移動する。こうしてメッセージは最下位レベルのメッセージ目標行にルーティングされる。目標行のアドレスは、メッセージヘッダにおいてコード化されている。好適実施例では、目標アドレスの最上位ビットが、初めに現れ、最下位ビットが最後に現れる。ペイロードはヘッダの後にくる。（第２Ａ図及び第２Ｂ図で説明する）。
メッセージは、１つの制御セルから他の制御セルへ送られることによってスイッチ１００を通して移動する。スイッチ１００の構造は、メッセージがどのように制御されるかということに密接に関連しており、それについて以下説明する。制御セルは、各行の各列及びレベルの交差点に、即ち各制御アレイ上に配置されている。全ての処理は、１つの制御セル内で行われる。追加のメッセージルーティング要素は用いられていない。制御セルは、図示した実施例ではシフトレジスタの形態で１又は２ビットのストレージを有している。有益な点として、２ビットを超えるメッセージは、制御セル内に含められておらず、これによってロジックの必要性を減らし、セルを通してのメッセージの伝達速度が速められる。制御セルがメッセージの送り先を決定するとすぐに、セルは内部ゲートを設定し、メッセージを目標に向かって下向きに、或いは同じグループ内の右側のセルにルーティングする。メッセージは一般にワームホール式移動（ワームホーリング）と称される処理においてメッセージのビットが相互接続を通してセル間にまたがる状態で移動していき、このとき複数の制御セルにわたって存在している。
制御セルは常に右向きの使用可能な出口経路１９６を有しており、これによって左側から制御セルに入ってきたメッセージが常に出口を有する状態が確保される。望ましくはメッセージはバッファリングされない、つまり制御セルに保持されず、これによって制御セルを通して伝達される時間（ラテンシー）が短くなるという利点が得られる。セルは、望ましくは数ビットのヘッダビットと１又は２以上の近傍の制御セルからのビジー信号１９０を調べて、そのメッセージのルーティング先を決定する。この決定は、１クロック時間で簡単に行われる。制御セルがメッセージの目標につながる経路上のグループへの下向きの接続１８８を有しその接続が使用可能な状態である場合、メッセージは下向きに移動し、目標地点に近づく。そうでない場合は、メッセージは常に使用可能な右向きの経路を通って別の制御セルに送られ、そこでこのプロセスが反復される。
メッセージが下向きに送られるとき、最上位アドレスビットが取り除かれ、これによって都合良くヘッダの長さが短くなり、隣のセルがメッセージの方向を決定するために読まなければならないビット数が減る。隣のセルは都合良く適切なヘッダビットに即座にアクセスできる。適切なヘッダビットの前に他のアドレスビットは入ってこないからである。最上位ビットを取り除くことは非常に有益である。取り除かれたヘッダビットが相互接続を通してのメッセージの経路の現在の部分を決定するために既に使用された後であり、もはや不要であるためである。
メッセージが同じグループ内のセルに送られたとき、そのメッセージはメッセージの目標に向かって相互接続構造を横断するメッセージの進行経路を失ったわけではない。右隣のセルが、そのメッセージを目標地点に向けて送る。右側に送られたメッセージは望ましくは１又は２クロックの間だけ遅延される。相互接続の右側に達したメッセージは、第１Ｃ図を参照して説明したように、同じレベルの左側のセルに戻される。
制御セルは、メッセージをどのようにルーティングするかを決定するためにメッセージヘッダにおける数ビットと他の制御セルからの信号のみをモニタする。この決定は、１クロック時間の間に行われる。下向きに移動するメッセージは直接下のセルに接続され、送り手側のセルの内部シフトレジスタはバイパスする。ペイロードは１クロック時間しか遅延されない。制御セルが下向きの複数の経路を有する実施例（図示せず）では、非遮断メッセージが、常にメッセージの目標への接続を有している。この複数経路の実施例では、メッセージの第１ビットがスイッチ１００を出るのにかかる時間は、各ヘッダビットについての１クロック＋相互接続を通してのメッセージの伝達時に発生する変向の回数の１又は２倍である。望ましくはペイロードの第１ビットがペイロードの尾部がスイッチに入る前に出るように、メッセージがスイッチ１００を通してワームホール式に流れる。メッセージは、典型的には１ダース未満の変向回数で１０００行の内の１つに達する。ペイロードの第１ビットは都合良く１５又は２０クロック時間未満の時間で１０００のポートを有するスイッチから出る。
メッセージレイアウト
第２Ａ図に示すように、スイッチ１００に入るシリアルメッセージは、常に値１を有するトラフィックビット２０２、スイッチの最下位レベルの目標の行を特定する行ヘッダ２０４、及びシリアルデータビット２０６からなるペイロードを有する。行ヘッダ２０４は目標行アドレスの最上位ビット（ＭＳＢ）２０８が初めに、最下位ビット（ＬＳＢ）２１０が最後に現れるような形で最下位レベル目標行をエンコードする２進数である。ペイロード２０６はスイッチ１００内で任意の入力ポート１０４から任意の出力ポート１５４又は出力ポートのグループに伝達されるべきデータパケットを有する。スイッチ１００のいくつかの実施例では、ペイロード２０６が可変長であり得、従ってダイナミックタイミング構造１０４によって制御される。
第２Ｂ図に示すように、スイッチ１００の別の実施例では、最下位レベルの目標行が、上述のように行ヘッダ２０４によって決定され、目標列が列ヘッダ２１２によって決定される。列ヘッダは行数をコードする２進数を有する。この実施例では、第１ヘッダ２０４が第２Ａ図に示すような方式で目標行を決定し、第２ヘッダ２１２が目標列を特定する。この実施例では、メッセージが目標列に到達するまで最下位レベルを循環し得る。別の実施例では、メッセージが後に説明する第１使用可能バッファ１５２に即座に下向きに移動する。メッセージ２００の全長２１４には、トラフィックビット２０２、ヘッダ又はヘッダ群２０４及び２１２、及びペイロード２０６が含まれている。
第２Ｃ図に示すように、１対多ブロードキャスティングをサポートするスイッチ１００の別の実施例では、マルチキャストビット２２０がメッセージ２３０が１つの出力ポート１５４に伝達されるか、或いは多くの出力ポート、若しくは全ての出力ポートに伝達されるかを表す。マルチキャストビット２２０が０に設定されているときは、メッセージは１つの出力ポートを目標とし、メッセージの後続のビットは行ヘッダ２０４、所望に応じて含められる列ヘッダ２１２、及びペイロード２０６として取り扱われ、即ち第１Ａ図及び第２Ｂ図に示したものと同じ形に定められている。マルチビット２２０が１に設定されているときは、次の２つのビット位置が「上半分」２２４及び「下半分」２２６マーカとして用いられ、即ちこれらはメッセージがスイッチを通して移動する際にメッセージのステータスを表示する一対の１ビットレジスタ（メッセージヘッダ内）として用いられる。残りのビットは列ビットマスク２２８を構成する。マルチキャストセルの詳細は後に説明する。スイッチ１００の別の実施例では、マルチキャストメッセージが行入口点１７４を利用して任意のレベルの特定の行においてスイッチに入る。このメッセージは最下位レベル行の特定のサブセットを目標とする。
第２Ａ図、第２Ｂ図、第２Ｃ図には、メッセージが入力ポート１０４又は行入口点１７４においてスイッチ１００に入ったときのメッセージのレイアウトが示されている。このメッセージはそれがスイッチを通して進行する際に長さや他の特徴を変え得る。第２Ａ図、第２Ｂ図、及び第２Ｃ図に示すようにメッセージを適切に組み立てるのは入力ポート１０４に接続された外部のデバイスである。
スイッチアレイのレイアウト
第３図及び第１図に示されているように、スイッチアレイ１２０はそれぞれＲ個の制御セル３００を有する。スイッチアレイ１２０はスイッチ１００の各列及びレベルの交差点に配置されている。スイッチ１００のある実施例では、各スイッチアレイ１２０が垂直データライン３１６上に１つの制御セルを、水平行３６０上に１つの制御セルを有している。いくつかのスイッチアレイでは、制御セルが「同一の形態」に配置されている。即ち制御セルが下左から上右への対角線に沿って配置され、スイッチアレイの垂直位置が水平方向の座標と等しい。この同一形態はスイッチアレイ３４０として示されている。他のスイッチアレイレイアウトでは、制御セルが例えばスイッチアレイ３４２に示すように異なる形態に配置されている。所定のスイッチアレイにおける特定の制御セルの配置は、スイッチ１００の適切な動作のために重要であり、後に詳しく説明する。スイッチ１００の別の実施例では、２つの行３６０につき１つの制御セルが存在する（図示せず）。
スイッチ１００の或る実施例では、レベル１３０〜１３６のそれぞれが、Ｒ個のシリアルデータ行１２６を有し、それぞれ下側から０（３０６）〜Ｒ−１（３０８）と番号を付されている。各列１６０〜１６４は、上側レベルからのＲ個のシリアルデータライン１２２と下側レベルからのＲ個の制御（ビジー信号）ライン１２４を有している。入力ポート１０４のナンバリング３１８は、その下のスイッチアレイの制御セル３００の位置によって決定される。列０、レベルＬにおけるスイッチアレイ１２０は、行１に配置された制御セル３００を有する。セル［１，０，Ｌ］の位置は、制御セルの行、列、及びレベル番号のそれぞれによって与えられる。従って、入力ポート３１８はそれが接続された制御セルの行番号に一致する番号１が付される。
同様に、出力ポート３２０はそのポートが位置［２，０，０］において制御セル３２２に行２上で接続されていることから番号２が付されている。入力ポート３３０は、位置［０，Ｋ−１，Ｌ］においてそのポートが制御セル３２４に接続されていることから番号０が付されている。出力ポート３４４は、そのポートが位置［１，Ｋ−１，０］において制御セル３２８に接続されていることから番号１が付されている。
経路３１６は一段下のレベルにおけるスイッチアレイ内の制御セルに下向きにメッセージを送るためのシリアル通信ラインである。この経路はデータバス１２０の一部である。経路３６０は同じレベルの右隣の列にメッセージを伝達するためのシリアル通信ラインであり、データバス１２６の一部である。経路３３０は下側のレベルからのビジー信号であり、バス１２４の一部である。
いくつかの実施例では、スイッチ１００がスーパーコンピュータのマルチプロセッサの相互接続のための内部ネットワークとして構成される。この構成では、デバイス３５０がプロセッサの１つである。スイッチ１００の別の実施例では、デバイス３５０が例えばＡＴＭスイッチのようなスイッチングネットワークの１つの入力ポートからの接続を表し、この場合この実施例はＡＴＭスイッチのためのスイッチング構造として機能する。
第３図において、外部デバイス３５０とスイッチ１００との接続が示されている。外部デバイス３５０の位置は行２上の列０（１６０）である。外部デバイス３５８は異なる列１６４に接続されており、異なる列レディ信号を受け取る。同様に（図示せず）、外部デバイス３５０は出力ポート３７２、ポートのビジー信号３７４、及び列出力レディ信号１６８に接続されている。外部デバイス３５０の出力アドレスは行２、列０であり、これは入力アドレスと同一である。スイッチ１００の入力ポート１０４はレベルＬ１３６に配置されており、出力ポート１５４はレベル０（１３０）に配置されているか、レベル０のないスイッチ１００の実施例ではスイッチの下側レベルに配置されている。メッセージ２００がスイッチ１００を完全に通過したとき、メッセージの入力行及び列の固有の表示で使用可能なものはなくなる。スイッチ１００の用途又は使用法が、「ソースアドレス」が目標の受信者に使用可能なものであることを指定している場合には、ソースアドレス又は識別がメッセージのペイロード２０６内に含められる。
第３図に示すのは、接続パターンを示す分散した制御セルである。前のようなレイアウトと番号付けのスキームが以下の説明を簡単にするために用いられる。集積回路チップ上でのインプリメンテーションでは、制御セルが図面に示すよりより緊密にロジックゲートがパッケージングされる形でシリコン上に配置される。
Ｉ／Ｏ及び制御タイミング
スイッチ１００への入力インターフェースは、列ポートへの入力を支配する列タイミング及び制御信号によって達成される。第４図は、スイッチ１００にメッセージが入るタイミング４０２及びそこから出るタイミング４２０、及びそれを制御する制御及び列レディ信号が示されている。第１Ａ図、第２Ａ図、及び第３図にも示されているように、メッセージ２００は実施例のスイッチ１００に入力ポート１０４において入り、このメッセージはスイッチから出力ポート１５４を介して出ていく。メッセージの入力のタイミングは、列レディ信号１０８によって制御される。メッセージの第１ビット２０２は好ましくは列レディ信号１０８がアクティブになった後１クロック時間後にポート１０４に入る。入力ポート１０４に関連するポートビジー信号３０４がハイレベルになった場合、メッセージ２００は入力ポートに入力できなくなる。列レディ信号１０８は特定の列１０２にある全ての入力ポートを制御し、ポートビジー信号３０４は１つの入力ポート１０４のみにかかわる。外部デバイス３５０は入力ポート１０４がメッセージを受け取ることができるか否かを決定するために列レディ信号１０８とポートビジー信号３０４の双方を調べなければならない。
列レディ信号４０８及びポートビジー信号３０４のタイミングは、好ましくは第１ビット２０２がスイッチに入るタイミング４１０の１クロック時間先４３０である。入力バッファリング構造１１６を組み込んだスイッチ１００の実施例では、第１メッセージビット２０２の相対的なタイミング４１０は、タイミング信号４０８の後１クロック時間より長い時間であり得る。この実施例は都合良くタイミング要求を容易にしている。
スイッチから出たメッセージ４２０の第１ビット２０２は、時間４２８において出力ポート１５４に達し、この時間４２８は列レディ１５６の１クロック後である。列出力レディ信号１５６によって外部に信号として出力されるより早い時間４２６において、スイッチはメッセージを受け取ることができない外部デバイスを表す外部デバイスからの出力デバイスビジー信号３７６を受け取ることができる。例えば、この外部デバイスは一杯になったバッファであり得る。出ようとするメッセージが外部から遮断されているときは、このメッセージはスイッチ内に残り、後に外に出る。
出力制御構造１８０を組み込んだスイッチ１００の実施例では、列出力レディ信号１５６のタイミングとメッセージ４２０の第１ビットの到着のタイミングが、第４図に示されたように遅延される。これらの実施例では、時間４２０と４２８との間の時間が、長くなっており、これによって外部に接続されたデバイスのタイミング要求が容易になるという利点が得られる。スイッチ１００の別の実施例では、外部ビジー信号３７６が省略され、メッセージは常にそれがその目標ポートに達したときスイッチから出られるようになっている。
トライステートＩ／Ｏ及びタイミング
第３図に示すように、スイッチ１００の或る実施例では、各入力接続部が外部デバイス３５０からのメッセージ入力接続部１０４と結びついており、ポートビジー信号３０４が外部デバイスに結び付けられている。この実施例では、２つの外部接続部又はピンが各入力ポート接続のために必要である。同様に、同じ実施例では、２つの外部接続部３７２及び３７４が１つの出力接続をサポートするために必要である。第４図及び第５Ｂ図に示すように、時間４０８におけるポートレディ信号３０４の発信が、時間４１０においてメッセージ２００の第１ビット２０２が入ってくる１クロック時間４３０前に発生する。非重複タイミング条件のために、１つのトライステート接続５０４が２つの信号を取り扱うことができる。外部接続部５０４はトライステート入力構造５０２によって制御され、この構造は時間４０８にポートビジー信号を出力し、その後入力のためのメッセージ２００を受け取る。即ち、時間４０８においてトライステート入力構造５０２はタイミング信号ライン１０８から列レディ信号４０４を受け取る。時間４０４において、外部接続部５０４は１クロック時間５１２の間ポートビジー信号ライン３０４に接続される。時間４１０において、外部接続部５０４は入力ポート１０４に接続され、これはタイミング信号４０８が再び５１４が受け取られるまで持続する。トライステート入力接続部は入力ポート１０４及びポートビジー接続部３０４の代わりに設けられたものであり、これによって２つの外部接続部を１つのピンで置き換えることができるという利点が得られる。
同様に、１つのトライステート出力構造（図示せず）は、出力ポート３７２及び外部ポートビジー信号３７４のための１つの外部接続部を与える。このトライステート出力により、出力ピンの数を１／２に減らすことができるという利点が得られる。スイッチ１００の好適実施例では、全ての外部入力及び外部接続部がトライステートＩ／Ｏを用いる。トライステートコントロール５０４は以下の説明においては用いられず、その代わりにポート１０４及び１７４が、Ｉ／Ｏポートを表す。ここでトライステートＩ／Ｏが所望に応じて利用できるということを理解されたい。
配置シーケンスの方法
スイッチアレイ１２０内の制御セル３００のレイアウトによって（後に説明する）メッセージフローの順列が実現され、これはスイッチ１００の適切な動作と性能を達成している点で極めて有益である。第３図を参照されたい。所定のレベル及び列のスイッチアレイにおける制御セル３００のレイアウトは、配置シーケンスにより決定される。アレイシーケンスは、次のような規則に基づいて生成される。即ち所定の行３６０に沿った連続したセルは、一段下のレベルにおいて上下に配置された行に交互に配置される（図示せず）。即ち、このレイアウトは上側、下側、上側、下側というシーケンスに従っている。更に、このスイッチアレイのレイアウトは、常に、同じスイッチアレイ１２０における他の任意のセルのように制御セル３００が同じ行３６０又は垂直経路３１６に存在しないような方式で行われる。つまり各スイッチアレイ１２０における各行３６０上に常に制御セル３００が存在する。
第６Ａ図には、８行の配置発生方法が示されている。０から始まる番号付与を用いて、８つの位置（０，１，２，３，４，５，６，７）６０２が上半分シーケンス（４，５，６，７）６０４と下半分シーケンス（０，１，２，３）６０６に分割される。最終配置シーケンス６０８は、交互に前半及び後半シーケンスを合わせることによって形成される。第６Ｂ図を参照されたい。配置シーケンス６０８がグラフ６３２に示されている。ライン６３０はグラフを上半分と下半分に分割しており、シーケンスが上下上下の形で交互に並んでいることを示している。
上側及び下側シーケンスの任意の順列を用いて、配置アレイをつくり出すことができる。順列をつくるために規則を用いることは有益である。Ｒが１つのレベルにおける行の数、且つＮ＝Ｒ／４である場合、Ｎ番目ごとの値を選択し、必要に応じて反復する。例えば、８つの行６０２の場合、８／４＝２であることから、（４，５，６，７）６０４及び（０，１，２，３）６０６の内２番目ごとの値を選択し、（４，５，６，７）６１０及び（０，１，２，３）６１２のそれぞれを得る。これらの２つの順列が交互に結合されて配置シーケンス（０，４，２，６，１，５，３，７）６１４が形成される。このシーケンスはグラフ６３４に示されている。別の規則は、降順シーケンス（７，６，５，４）６２０及び（３，２，１，０）６２２を使用することである。これらが結合されてグラフ６３６に示す配置シーケンス６２４が形成される。このような交互に結合する処理によって、最終的なシーケンスが各位置において分割ライン６３０の上下に交互に存在することになる。一般に、上側の数（４，５，６，７）６０４の任意の順列は、下側のシーケンス（０，１，２，３）６０６の任意の順列と結合されて、８行の配置シーケンスがつくり出される。任意のシーケンスを選択し、スイッチのレイアウトに用いることができる。好ましくはスイッチ１００の実施例は、「Ｎ番目の値」規則に基づいて生成された配置シーケンスを用いる。配置シーケンスは、必要に応じてシーケンスが反復できるので長さに制限はない。例えば、シーケンス６１４を（０，４，２，６，１，５，３，７，０，４，２，６，１，５，３，７，０，）とすることができる。
第６Ｃ図は、上側昇順シーケンス６４２と下側昇順シーケンス６４４を合成して最終的なシーケンス６４４をつくり出すことにより与えられた１６本の行６４０の例を示す図である。「Ｎ番目値」規則を用いた別の例６５０では、６４２から６４４までの４番目ごとの値を用いて上側シーケンス６５２及び下側シーケンス６５４をそれぞれつくり出す。それらを合成して配置シーケンス６５８がつくられる。
この方法は、任意の偶数個の行の組に拡張され得る。行番号のシーケンスを第６Ａ図のように上側及び下側の１／２に分割する。各半分について順列をつくり、それを交互に合成して、２つの順列を１つの配置シーケンスにする。４行シーケンスは、上側シーケンス（２，３）と下側シーケンス（０，１）を合成し、（０，２，１，３）をつくることによって生成され得る。２行シーケンスは（０，１）ただ１つである。
奇数番目の行の場合は、行の番号のシーケンスを上側シーケンスと下側シーケンスとに分割するが、このとき中央の値を何れか任意の一方に割り当てる。次いで２つのシーケンスの順列と合成を行い、このときより多くの数を有する順列から始める。例えば、７行（０，１，２，３，４，５，６）、の場合は上側部分（３，４，５，６）と下側部分（０，１，２）とに分割する。この例では、上がシーケンスがより多くの数を有していることから、合成されたシーケンスは（３，０，４，１，５，２，６）となる。スイッチ１００の好適実施例は、奇数の行からつくらりれた行の組を有していない。
メッセージの流れ
スイッチに入るメッセージ２００は二分木の組によって導かれる経路に類似した経路に従ってヘッダ２０４に定められた目標行に達する。第７Ａ図は、最上位レベル７６０から入り最下位レベル７６６の目標行に達するメッセージＡを示す図である。メッセージＡのアドレスは行２である。即ち（Ｈ１，Ｈ２，Ｈ３）におけるメッセージヘッダ２０４は（０，１，０）であり、これは（下、上、下）を表す。メッセージフローの説明を簡単にするため、データ経路３１６は選択されたレベルの間のみが示されており、列は必ずしも垂直方向に整合しておらず、いくつかの代表的な行のみが示されている。
行７０２において右に移動するメッセージＡ７３０は制御セル７０４に入り、この制御セル７０４はレベル２  ７６２に配置された上側行７２０に接続されている。レベル２は論理的に２対の行の組に分割されており、それぞれ（１）上側行のセット７１０に配置された行と（２）下側行セット７１２の行である。ここで「上側」及び「下側」なる表記は、各レベルにおける行の位置を表すものではなく、その行が接続された下側の行の位置を表すものである。第７Ａ図及び第７Ｂ図では、レベル２の最上位置における行７１０がレベル１の最上位置７１６における行に接続されており、同様にレベル２の最下位行７１２は、レベル１の下側半分７１８に接続されている。第１Ｃ図に示すように行セットはグループ１９２と位相幾何学的に同一である。メッセージＡの最上位ビット０は下側行セットにおける目標行を表しており、セル７０４は上側行セット７１０における行７２０に接続されている。
メッセージＡは行７０２に残っており、右向きに移動してとなりの列のセル７０４に入る。セル７０６は下側行セット７１２における行７２２に下向きに接続されている。セル７０６はメッセージＡを行７２２に向かって下向きにルーティングする。従って、１又は２個の制御セルのみを通って右方向に移動するメッセージは、その目標に向かって下向きに降りる機会を有し得る。（後に説明する理由で）制御セル７０６がメッセージＡを下向きに送ることができない場合、メッセージはそのまま行７０２上を右方向に移動して、セル７０８に入り、このセル７０８は下側行セット７１２にも接続されており、やはり下側行セットに向かって下側に落ちる機会を有することになる。
レベル１  ７２６は上側及び下側行セット７１６及び７１８に論理的に分割される。レベル２における行７２０はレベル１の最上位７１６における行セットの対に接続されており、行７２２は最下位７１８における対に接続されている。ヘッダ２０４における次のアドレスビット１は、上側行セットを指定している。レベル２においてメッセージＡは行７２２上を右方向に移動してセル７２４に入る。セル７２４はレベル１の上側行セットに接続されている。セル７２４はメッセージをレベル１  ７６４の行７３４に下向きに移動させる。レベル０  ７６６は論理的に４対の行セットに分割されている。レベル０は最終的な目標地点レベルであり、各行セットの行には１つの上側行と１つの下側行しか含まれていない。ヘッダ２０４における最終アドレスビットは下側行セットを指定している。メッセージＡは行７３４上を右方向に移動し、上側に接続されたセル７３４を通って、下側に接続されたセル７３８に達する。セル７３８はメッセージを下向きに送り、最終目標行である行２  ７４４に至らしめる。
スイッチ１００のある実施例では、メッセージＡは最下位レベル行７４２上を右方向に移動し、最終的にメッセージはメッセージ列ヘッダ２１２において特定された列に位置するセルに達する。その列において、メッセージは出力ポート１５４又は出力構造１５０に向かって下向きに送られる。列アドレッシングを用いない別の実施例では、メッセージは次のセル７４６において即座に下向きに送られる。ヘッダアドレス０１０は、２の二進法表現であり、従ってメッセージＡは行２（７４２）において出力される。
任意の行の上で右方向に移動するメッセージは、一段下のレベルにある目標の行セットに向かって下向きに移動する複数の機会を有する。１つの行の上を行出口点１７２に向かって右方向に移動するメッセージは、左側にルーティングされ（図示せず）、同じ行セットにおける最左制御セルの行入口点１７４に戻される。最上位レベルにおける任意の行の上のメッセージは、最も下のレベルにおける任意の目標行への複数の経路を有する。各レベルにおいて、メッセージの方向、即ち下か右かを決定するために、メッセージヘッダ２０４のただ１つのビットを制御セルが調べる。最下位レベルでは、列ヘッダを有していないメッセージは即座にスイッチから出力され、列ヘッダ２１２を有しているメッセージは、そのメッセージが特定の列に達するまで右方向に移動するか、或いは列ヘッダを処理する制御構造１５０に向かって最下位行から即座に出力される。
行数が増加する場合
第１図及び第７Ａ図と共に第７Ｂ図を参照されたい。スイッチ１００の或る実施例では、１つのレベルにおける行の数は、１つ隣のレベルとは異なっている。即ち最上位レベルから最下位レベルに向かって行の数が増えている。任意の実施例では、スイッチ１００のサイズにかかわってくる行の数Ｒ１７０は、最下位レベルの番号である。スイッチ１００の好適実施例では、行の数Ｒは各レベルで同一であり、Ｒは２のべき乗である。第７Ｂ図では、スイッチ１００の３レベルの実施例が示されており、ここでは最上位レベルが４つの行７７４を有し、次の下側レベルが８つの行７７６を有し、最下位レベルが１６の行７７８を有する。行の数は各レベルで異なっている必要はない。例えば、ある実施例では、行の数が最上位レベルから下に向かって８、８、１６、１６、３２、及び６４である。別の実施例では行の数が３２、３２、３２、６４、６４、１２８、及び１２８である。
行の数が上のレベル７７４より多いレベル７７６に配置された行について、その行は上側のレベルのセルに接続された（７７０）制御セルと接続されていない（７７２）制御セルが交互に存在する。第３図を参照されたい。スイッチアレイ１２０は常に各行３６０上の制御セルを有している。第２０Ａ図、第２０Ｂ図、及び第２０Ｃ図を参照すると、スイッチ１００の１実施例は、外部デバイスの接続された最上位レベルにおいて全ての可能な入力接続を有していない。そのような実施例では、最上位レベルにメッセージフローが詰め込まれることが少ない。チップ上の使用可能なロジックゲートを都合良く用いるために、最上位レベルは、下側レベルよりより少ない数の行を有する形で実現される。
メッセージフロー及びメッセージブロッキング
異なるレベルにある２つのメッセージが同じデータ経路について競合したとき、下側のレベルにあるメッセージが優先権を与えられる。ここに開示する方法は、下側のレベルのメッセージが、スイッチ内により長い時間存在していた可能性が高いことから、下側のレベルのメッセージに優先権を与える。この優先権スキームを実現するための構造及び技術が第８Ａ図及び第８Ｂ図に示されている。
第８Ａ図及び第８Ｂ図には、単純化されたコントロールセルの相互接続が示されており、第８Ａ図及び第８Ｂ図の全てのセルは、スイッチアレイにおける異なる位置に配置されている。即ち各セルは２つのレベル８３０及び８３２と４つの列に配置されている。第１Ａ図、第２図、第３図、及び第７Ａ図にも示されているように、制御セル８０４はレベル３  ８３２のスイッチアレイ１２０内に配置されている。この制御セルは行３６０によって同じレベルで右隣の列にある制御セル８０６に接続されている。
ヘッダ８１２を備えたメッセージＡ  ８０２は上側のレベルから制御セル８０４に入る。メッセージＡのトラフィックビット２０２は１であり、これはそのメッセージがセル８０４に存在することを表している。メッセージが上側レベルから制御セルに入ったとき、メッセージは行３６０にとどまり、即座に右隣の列にある制御セルに移動する。メッセージＡは行３６０上を右方向にセル８０６まで進む。
メッセージＡのヘッダの最上位ビットは１であり、これはそのメッセージが一段下のレベルにおける上側行８５０を目標としていることを表している。制御セル８０６は、トラフィックビット２０２及び最上位ビット２０８を調べて、メッセージＡの隣のレベルの目標行が上側行セットであることを決定する。制御セル８０６は下向きに制御セル８２０に接続されており、この制御セル８２０はこの場合たまたま上側行セット８５０内にあった。従ってメッセージＡはシリアル経路３１６上を下向きにルーティングされて制御セル８２０に達する。上側レベルから入ったメッセージに対する規則に従って、メッセージＡはレベル２において行８２２上を即座に右方向に移動して隣のセル８２４に達する。
第８Ａ図において、メッセージＡ  ８０２のフローについて説明する。メッセージＡは上側レベルからレベル３に入り、右隣の列に移動し、即座に所望の上側行セット８５０にあるセルに向かって下向きにルーティングされる。メッセージＡはセル８０６からセル８２０に向けて移動される。メッセージＡの最上位ビット２０８が上側行セットに向けて下向きに移動することを示しており、且つ下からの別のメッセージによってそのメッセージが遮断（ブロック）されていないからである。これは、メッセージＡが遅延されることなく一段下のレベルへ移動できる場合の例を示したものである。
１つのレベルにおいて右方向に移動するメッセージは下向きの制御セルへの接続部を通過する。この接続部は、一段下のレベルにおける上側行セット８５０と下側行セット８５２との間に交互に存在する。別の実施例（図示せず）では、異なるメッセージＥが左側から制御セル８０６に入る。メッセージＥの最上位ビットは０であり、これはそのメッセージの目標地点が下側行セット８５２であることを表している。制御セル８０６は上側行セット８５０に接続されており、従って制御セル８０６はメッセージＥを右隣の列にルーティングしてメッセージはセル８０８に達する。
第８Ｂ図を参照すると、別の例では、同じメッセージＡ  ８０２が上側レベルから制御セル８０４に入り、前に説明したように右隣の制御セル８０６にルーティングされる。メッセージＡが制御セル８０６に入ると同時に、レベル２においてメッセージＢ  ８４０が制御セル８２０に左側から入る。メッセージＢは共有された経路８２２の使用に関して上側レベルからきたメッセージより優先権を有する。メッセージＢはそのまま行８２２上を右方向に移動しセル８２４に達し、これによってメッセージＡはセル８２０を通しての下向きの移動及び行８２２上の右向きの移動が遮断される。行８２２は即座にメッセージＢで占有されることから、制御セル８２０は上側レベル、即ち制御セル８０６からメッセージを受け取らなくなる。メッセージＡとＢとの衝突を防止するために、セル８２０は信号経路３３０に載せてビジー信号８４２をセル８０６に向かって上向きに流す。このビジー信号８４２によって制御セル８０６はメッセージＡの下向きの送信について遮断される。従って制御セル８０６はメッセージＡを右隣の列にあるセル８０８に右向きにルーティングする。セル８０６はビジー信号８４４を上向きに送信し、メッセージＡが上のレベルで発生し得るメッセージＣと衝突しないようにする。
制御セル８０８はメッセージＡのヘッダ８１２を調べ、メッセージＡがレベル２の上側行セット８５０を目標としていることを決定する。セル８０８が下側行セットに接続されていることから、セル８０８はメッセージＡを右隣のセル８１０にルーティングすることを強制される。上からのメッセージとの衝突を防止するために、セル８０８も上側レベルに向かってビジー信号８４６を送信する。上のセル８０８にあり得るメッセージＤはセル８０８に下向きに移動できなくなる。最終的に、隣の列にある制御セル８１０は上側行セット８５０に接続される。セル８１０のメッセージＡは下向きへの移動について遮断されず、従って制御セル８１０はメッセージＡをレベル２の制御セル８２６に下向きに流す。
第８Ｂ図において、すぐ下のレベルで同時に移動している別のメッセージＢによってメッセージがすぐに下向きに移動できないようになっている場合のメッセージＡの流れについて説明する。メッセージＡがレベル２の上側行セットに下向きに移動する前に、メッセージＡは２以上の列を右方向に移動する。メッセージが制御セルを通して右方向に移動するときは常に、セルはビジー信号をその上のセルに向かって送信し、上のセルがメッセージを下向きに落とせないようにする。
メッセージフローの関係
第８Ｂ図は、メッセージＡが下向きに移動するのをメッセージＢが遮断している状況を示す図である。同様に、メッセージＢは、メッセージ又は下のメッセージによって遮断されて、更に長い時間レベル２にとどまるように強制され得る。メッセージＢは、相互接続部の構造によってメッセージＡを秒単位の時間（a second time）遮断するような位置にくることが都合良く防止されている。レベル３にある制御セル８０６は、データ経路３１６によってレベル２のセル８２０に接続されており、セル８０６と同じ行の制御セル８１０はデータ経路８４８によってやはりレベル２にあるセル８２６に接続されている。セル８２６はセル８２０と同じ行には配置されず、これによってメッセージＢがメッセージＡを秒単位の時間遮断することを防止しており、且つ都合良く反復的な遮断の可能性を排除している。第６Ａ図及び第６Ｃ図に示す方法によって作られた配置シーケンスにより、１つのメッセージによる多重ブロッキングが回避される。
第９図は、それぞれレベル３（９０２）、レベル２（９０４）、及びレベル１（９０６）におけるセルの接続関係を示すグラフである。レベル３における配置シーケンス（０，４，２，６，１，５，３，７，０，...）６１４、レベル２における下側シーケンス（０，２，１，３，０，...）９１０及び上側シーケンス（４，６，５，７，４，...）９１２、及びレベル１におけるシーケンス（０，１，０，...）９１８がグラフの形で示されている。メッセージ経路Ａ  ６３４は、レベル３とレベル２との間の相互接続の関係を示す。任意の行、例えば行０上で始まるメッセージがその行にとどまっていることに注意されたい。メッセージ経路Ａは第１列９５２の行０から始まっており、その第１列９５２はやはり行０  ９６２にあるセルに下向きに（９２０）接続されている。次の列９５４では、行０が下向きに（９２４）行４  ９６４のセルに接続されており、次いで９５６では行２  ９６６のセルに接続されており、更にシーケンス６１４に従って接続されている。レベル２のメッセージ経路Ｂ９３４は、レベル２（９０４）とレベル１（９０６）との間の接続のシーケンスを示している。メッセージ経路Ｂ９３４は第１列９６２の行０から始まり、同様に行０  ９７２にあるセルに下向きに接続されている。隣の列では、行０は下向きに行２  ９７４のセルに接続されており、次いで行１  ９６６のセルに接続され更にシーケンス９１０に従って接続されている。
メッセージ接続回路Ａ６３４及びＢ９３４は、グラフ上で、２つの重要な配置シーケンスの特性を具体的に示している。第１に、経路Ａと経路Ｂは交互に下側行セット９４４と上側行セット９４２に下向きに接続されており、これによって第７Ａ図に示したメッセージルーティングか満足される。第２に、経路Ａは８つの列を横断するまで再度経路Ｂに接続されない。言い方を変えれば、経路Ａは経路Ｂと位置９６２及び９２０においてのみ下向きに接続されており、行１の間には８列分の幅がある。同様に、９６４から始まる経路Ｄ（図示せず）に第２列９５４において接続されている経路Ａ６３４上のメッセージは、８つの列を横断するまで経路Ｄと再び接続されていない。更に、列３における任意の行を移動しているメッセージは、そのメッセージが８つの列を通過して移動するまで同じレベル２の経路の下側９３４と接続しない。即ち、経路Ａ６３４と経路Ｂ９３４との間に示された接続関係は、レベル３における任意の行及び列において始まる任意の経路について当てはまることは殆どない。重要なことは、経路Ａ９５２において始まっているメッセージは、レベル２における３つの他のメッセージによって遮断され、同時に経路Ｂ９６２において始まるメッセージは、９２０においてブロッキング状態が再度発生し得る前にレベル１における４又は５の他のメッセージにおいて遮断される。従って、下側レベルにおける任意のメッセージによる多重ブロッキングの発生は静的に非常に重要である。レベル２における経路Ｂ９３４とレベル１における経路Ｃ９３６との間の関係は、経路Ｂ上のメッセージは９６２から９６８までの４つの列を横断するまで経路Ｃと出会わないというものである。
第９図は、メッセージＡとメッセージＢとの各接続関係を比較した図である。９６２における経路Ｂ上のメッセージは、初めに９５２における経路Ａのメッセージを遮断する位置にある。しかし、重要なことは、各メッセージが次の８回の移動を行う間、メッセージＢはメッセージＡを再び遮断する位置にはないということである。第９図にはまた、９６２における経路Ｂ上のメッセージを遮断する、レベル１における経路Ｃ９３６上のメッセージも示されている。経路Ｃ上のメッセージは、経路Ｂ上のメッセージを、両メッセージが４つの列を横断するまで再び遮断する位置にはない。この関係は、各レベルの任意の列の任意の行上に入るメッセージについて当てはまる。更に、レベル０を除く任意のレベルにある各メッセージは、それぞれのメッセージ及び各列横断において上側行セットと下側行セットが交互になっている。
スイッチ１００の別の実施例は、第６Ａ図、第６Ｂ図、及び第６Ｃ図について説明したような他のシーケンスを利用する。メッセージ２００が１回のパルス時間当たり少なくとも１回上側行セットと下側行セットとを接続できるような任意のシーケンスも使用され得る。このシーケンスは、必ずしも全ての行について同じである必要はなく、またレベルの番号や他の任意のデザイン規則に関連する時間について反復する必要はない。確立論的に、このようなシーケンスは、第６Ａ図で説明したような「Ｎ番目の値」規則を用いて生成されたもののような低ラテンシー、最小限のブロッキング、及び安定したメッセージフローという望ましい統計的性質を有していないことがある。
ヘッダ長縮小
メッセージがレベル間を伝搬するのに応じて、各レベルにおいて最上位ヘッダビットを除去することによりヘッダ長が縮小される。第１０図を参照すると、レベル３においてはメッセージの目標行アドレスが、３ビットＨ１、Ｈ２及びＨ３を含むメッセージヘッダ２０４において定義される。Ｈ１  ２０８はアドレスの最上位ビットであり、Ｈ２  １０５４は次の最上位ビットである。メッセージ２００は次の下側レベルに下方に移動するとき、トラフィックビット２０２は通常保持されるが、最上位ビットＨ１  ２０８はメッセージから除去される。レベル２では、それゆえＨ２  １０５４が最上位ビットになる。ヘッダ長変化の所望の副作用は、メッセージの長さがレベル当たり１ビットだけ低減するという点である。メッセージ２００がレベル０に到達するとき、ヘッダ２０４の全てのビットが都合よく除去されており、それゆえスイッチを通るペイロードビットの全通過時間（ラテンシー：待ち時間）が低減される。
現在レベルＭＳＢ２０８は通常トラフィックビット２０２に後続するので、全てのレベル（レベル１以上）における全制御セルの設計は同じであり、チップレイアウトの労力が低減されるという利点がある。メッセージが送出される際に現在ＭＳＢを除去する別の利点は、接近するメッセージの最初の２ビットしかバッファする必要がないという点である。別法では、ＭＳＢが除去されなかった場合には、適当なアドレスビットがセルにより検査されることができる前に、全ヘッダが入いるまで下側レベル処理が待機しなければならないであろう。この不利な方式では、８ビットヘッダは、１メッセージが入る各時間当たり、各セル内に９ビットがバッファされる必要があり、スイッチ１００の好適な実施例の制御処理の場合には１或いは２クロック周期のみであるのに対して、セル当たり９クロック周期を必要とする。
同期遅延デバイス
第１Ｂ図及び第３図と共に第１１Ａ図を参照すると、行３６０間を右側に移動するメッセージは、選択的なＦＩＦＯ構造体１１４に遭遇し、循環して戻り、再び第１の列に入るであろう。第１のメッセージの第１のビットが、第２のメッセージの内部ビットと衝突するのを防ぐために、１つのメッセージが任意のレベルにおいて１つの行に適合するように形成される。この理由のため、行に沿ってセル内に存在するシフトレジスタに加えて、付加的な遅延デバイスが用いられる場合もある。ＦＩＦＯアレイは、並列に配列され、各行３６０に接続される複数の個別の同期遅延デバイス１１００を備える。同期遅延デバイス１１００は、直列配列に接続される遅延素子１１０２を備える。クロック式同期遅延素子１１０２は、１ビットシフトレジスタ或いはＤフリップフロップとして機能し、１クロック周期において遅延素子に入るビットが、次のクロック周期において遅延素子の出力に現れる。直列遅延デバイス１１００を通るメッセージビットの全通過時間は、構造体１１００に含まれる遅延素子１１０２の数にクロック周期を掛け合わせたものである。メッセージ２００は、シリアル入力１１０６において左側からＦＩＦＯ構造体１１００に入り、出力１１０８を出る。クロック１１１０を用いて、遅延素子１１０２を同期させる。リセット信号（図示せず）は、全ての遅延素子及び他の論理素子を初期化する。第１１Ｂ図は、二相クロック１１１６を用いて、ＦＩＦＯ構造体を通るデータビットをシフトする動的シフトレジスタ１１１２を示す。動的シフトレジスタの利点は、フリップフロップ或いは同様の遅延素子に比べてトランジスタの数が削減される点である。
第１１Ｃ図は、同期遅延デバイスの光学的実施例１１１４を示す。圧電構造体を用いて、ファイバを物理的に延長してファイバ長を変更することにより、調整可能ファイバ遅延が実現される。パルス式光源１１１８により駆動される光ファイバ１１１６は、ファイバ長を通るメッセージ２００を搬送し、光信号をスイッチ１００によりさらに処理することができる形式に変換する光検出器１１２０により終端される。
レベル及び列タイミング
第８Ｂ図及び第１２Ａ図を参照すると、レベル３  ８３２に位置する制御セル８０６に入るメッセージＡ８０２は、メッセージＡがシリアルパス８２２を右側に移動する場合に、レベル２において制御セル８２０に落ちる場合もある。しかしながら、レベル２において右側に移動する同時発生のメッセージＢ８４０は、経路８２２の使用に関してメッセージＡより高い優先権を有する。その優先権を強要するために、制御セル８２０は適宜制御セル８０６まで上方にビジー信号８４２を送出し、後続のメッセージが下方にメッセージを送出されるのを防ぐ。こうしてビジー信号８４２が、後続セルがその信号に従うことができる十分な時間内に制御セル８０６に到達するように、メッセージフロータイミングが規定される。それゆえスイッチ１００の一実施例では、メッセージＢのトラフィックビット２０２は、メッセージＡのトラフィックビット２０２がセル８０６に到達する前にセル８２０に到達する。セルのスイッチアレイ１２０の全制御セルは、メッセージのトラフィックビットが、スイッチアレイの全セルに対して同時に到達するように同期して動作する。同じスイッチアレイ１２０の全セルは同じタイミング信号を受信する。
第１１Ａ図と共に第１２Ａ図を参照すると、クロック１１１０は制御セル３００内の遅延素子を制御する。ラッチセット信号１２０４は、クロック１１１０に対して遅延され、セルのラッチ（後に記載する）は、そのクロック周期において遅れて設定されるようになる１２１０。
一実施例では、下側レベルの制御セルは、上側レベルの同じ列内の制御セルに先行してメッセージ２００を受信する。異なるレベルにおける同じ列のメッセージの相対的タイミングが第１２Ａ図に示される。レベル０ラッチセット信号１２０４は、レベル１ラッチセット信号１２０６に１クロック周期先行して生じる。レベル１信号はレベル２  １２０８の場合の信号に１周期先行し、高次レベルの場合も同様である。ラッチセット信号はメッセージフローのタイミング及び制御において用いられる。タイミング信号１１１０、１２０４、１２０６及び１２０８は、全てのレベル及び列の場合に、遅延素子１４６及び１４８と共にタイミングユニット１４２により生成される。
第１２Ｂ図は、同じレベルにおける隣接列の相対的なタイミングを示す。メッセージ２００は、列のラッチセット信号１２２０が立ち上がる同じクロック周期１１１０における列１０において制御セルに入る。行３６０を右側に移動するメッセージは、そのメッセージが次の列ｊ＋１１２３２に到達する前に、所定数の遅延素子を通過する。ある実施例では、遅延素子は列間ＦＩＦＯバッファである。他の実施例では、遅延素子は制御セルの一部である。１つの遅延素子の時間周期は１クロック周期１２０２或いは２クロック周期である。列間の時間ｔc１２４０は、メッセージが次の列の次の制御セルに到達するためにかかる時間である。時間ｔcは、２つの列間の全ての遅延素子の遅延の和である。それゆえ次の列１２３０に対するラッチセット信号は、時間ｔc１２４０だけ遅延された第１の列１２２０に対するラッチセット信号である。
メッセージ２００は所定の最大長Ｌmsg２１４を有し、各ビットは所与の点を通過するのに１クロック周期必要とする。列ｊの制御セルを通過するのにメッセージが必要とする時間はインターバル１２２０により示され、次の列の場合がインターバル１２３２により示される。メッセージ間の時間ｔm１２４２は、制御セルを通過するのにメッセージが必要とする時間より少なくない。すなわちｔm＞＝Ｌmsg・ｔDである。メッセージが制御セルを通過した直後に、後続のメッセージが入れるようになる。それゆえメッセージ間時間ｔmは、次のラッチセット信号１２２４が送出される時間を確定する。任意の所与のレベルでは、異なる行上のメッセージは並列に右側に移動し、トラフィックビット２０２及び全メッセージの後続のビットは、「垂直整列状態」で右側に移動する。垂直整列状態では、各トラフィックビットは、同じスイッチアレイ内の全ての他のセルと同じ時間で制御セルに入る。同様に、同じスイッチアレイの制御セルから下方に入るメッセージは水平整列状態で互いに下方に移動する。時間ｔcがメッセージ間時間ｔn1より短い場合、メッセージは１制御セル以上に及ぶ。従ってメッセージはスイッチを通りワームホール式に進む。スイッチ１００の典型的な実施例では、時間ｔcは１或いは２クロック周期であり、ペイロードのテールが入る前にそのペイロードの最初のビットが相互接続構造体を出るという望ましい結果が生じる。
ある特定の制御セルに対するラッチセット信号のタイミングは、スイッチアレイのセルの列及びレベル位置に依存する。第１２Ａ図は、１つの列の多重レベルに対するメッセージタイミングのレベル間関係を示す。第１２Ｂ図は、１つのセルにおける隣接列に対するラッチセット信号の相対的なタイミングを示す。第１２Ａ図及び第１２Ｂ図の議論では、用語「レベルラッチセット」及び「列ラッチセット」は同じ信号であり、その説明の文脈に基づいている。第１Ａ図を参照すると、レベル０、列０におけるスイッチアレイのタイミングがマスタ信号を与える。レベル０、列０におけるスイッチアレイより大きいレベルは、１クロック周期１４６だけ遅延され、全てのレベルにおける第１の列のタイミングを完全に確定する。各レベルでは、右側に連続する列に対する信号はそれぞれ、時間ｔ１２４０の周期の間遅延素子１４８により遅延され、それにより右側への同じレベルにおける残りのスイッチアレイのタイミングを確定する。
制御セル状態
第１３Ａ図及び第１３Ｂ図は、制御セル素子及びその制御セルを通るメッセージルーティング機構のブロック図を示す。左からラインＷ１３０２において制御セル１３００に入るメッセージ２００は、（１）第１３Ａ図に示されるように、ラインＳ１３１２を通り次の下側レベルまで下方にルーティングされるか、或いは（２）第１３Ｂ図に示されるようにラインＥ１３０４を通り次の列まで右側にルーティングされるかのいずれかである。制御セル１３００は、ラインＮ１３１０における上方レベルからのメッセージ入口点、ラインＷ１３０２における左側からのメッセージ入口点、ラインＥ１３０４における右側へのメッセージ出口点、ラインＳ１３１２における下方へのメッセージ出口点、ラインＢＮ１３０８における上方レベルへのビジー信号出力、及びラインＢＳ１３０６への下方からのビジー信号入力を備える。図において用語「北」「南」「東」及び「西」は、方向「上方」「下方」「右側」及び「左側」をそれぞれ示す。
第３図、第１３Ａ図及び第１３Ｂ図を参照すると、シリアル経路３６０は、隣接列における同じ行の制御セルのラインＥ及びＷに接続する。シリアル経路３１６はラインＮ及びＳに接続し、シリアル経路３３０は同じ列の制御セルのラインＢＮ及びＢＳに接続する。ラッチセット信号１２４０は１３２８で制御セルに接続される。遅延素子Ｄ０及びＤ１１１０２は、特定のメッセージヘッダビットにおける「先取りする」ためのデバイスとして、及びメッセージフロータイミングを調整するためのデバイスとして与えられる。
第１３Ａ図では、メッセージＣがラインＷ１３０２を左側から制御セル１３００に入る。２つのメッセージビット、ラインＷにおけるＭＳＢ２０８及びＤ１におけるトラフィックビット２０２、並びにビジー信号ラインＢＳ１３０６が制御セルにより検査され、それが、そのメッセージがラインＳ１３１２を通り下方にルーティングされるかを判定する。入力ラインＷ１３０２はラインＳに接続され、相対的タイミング１３２２においてメッセージ２ビットを前方に進める。メッセージＣは下方に移動するため、ラインＥは左側から入力ラインＷに接続されない。その代わりに、ラインＥは上側レベルから入力ラインＮ１３１０に接続される。第１３Ａ図のセルの状態は、ラッチ１３１６、すなわち１ビットレジスタに格納される「０」により表される。ビジー信号は、ラインＢＮ１３０８まで上方に「０」を送出し、ラッチ出力に接続される。これは上記セルに対して、そのセルが相互接続部１３１０のラインＮまで下方にメッセージを自在に送出することを示す。またラッチ１３１６を用いて、そのセルを通る後続のメッセージデータビットの流れを制御する。上記のように、左側からのメッセージが下方にルーティングされる場合、ラインＮ１３１０における上側レベルからの別のメッセージはセルに入ることができ、そのメッセージはラインＥ１３０４において右側にルーティングされる。
第１３Ｂ図では、メッセージＢがラインＷ１３０２において左側から制御セル１３００に入る。ヘッダの最上位ビット２０８及び下側レベル１１３２からのラインＢＳ上のビジー信号が制御セルにより検査される。メッセージＭＳＢ２０８はそのメッセージが入ることができないということを示すか、或いはラインＢＳ１３０６上のビジー信号が、メッセージが下方から遮断されるということを示す信号値「１」であるかの何れかである。第１３Ｂ図の例では、これらの条件の一方或いは両方が当てはまる。メッセージＤは、遅延素子Ｄ１及びＤ０を通り出力ラインＥ１３０４まで右側にルーティングされる。ラッチ１３１６は「１」にセットされる。ラインＢＮ１３０８上のビジー信号は、信号値「１」であるラッチ１３１６に接続される。ビジー信号１３０８は、そのセルが下方にメッセージを送出することができないということを示すために上記セルに送出される。出力ラインＳ１３１２は「０」にセットされ、それは下方にメッセージを送出しないということと同等である。
制御セル細部及び流れ図
第１４図は制御セル１３００を通るメッセージフローを制御する方法を示す流れ図である。第１５Ａ図は、第１４図の流れ図により説明される制御セルの好適な実装の詳細図である。
第１３Ａ図及び第１３Ｂ図を参照すると、制御セル１３００に対する２つの状態が、各ブロック図において示される。第１３Ｂ図は、左側からのメッセージが同じレベルにおいて右側に移動する状態を示す。また第１３Ａ図は、左側からのメッセージが存在しない場合の状態を示す。
第１２Ａ図、第１３Ａ図及び第１３Ｂ図と共に第１４図を参照すると、ラッチセット信号１３２８が立ち上がる場合１４０４に、メッセージ方向を確定する１４０６ために必要とされる不可欠なデータは、制御セルの遅延素子において、さらに入力ラインＷ１３０２及び遮断信号ラインＢＳ１３０６において利用可能である。詳細には、ラッチセット信号が立ち上がる際に、メッセージトラフィックビット２０２は遅延素子Ｄ１１３２４に保持され、ヘッダ最上位ビット２０８は入力ラインＷ１３０２に存在する。これらの考えられる結果１４０８、１４１０及び１４１２は、メッセージ方向の確定に対する試験に起因する。第１に、左側からのメッセージが存在し、かつ下側レベルから遮断される、或いはメッセージヘッダが、メッセージが右側に移動しなければならない１４０８ということを規定する。第２に、左側からのメッセージが存在しない１４１０。第３に、左側からのメッセージが存在し、下側レベルから遮断されず、さらにヘッダが、メッセージが下方に移動しなければならない１４１２ということを示す。
後者の２つの場合には、左側からのメッセージが存在しない場合１４１０或いはメッセージが下方に移動する場合１４１２に、上方レベルへのビジー信号に関連して１つの場合として取り扱われる。これらの２つの場合の何れかにおいて、ラッチ１３１６は「０」に設定され、ラッチの出力は上側セルに上方に送出される。すなわち制御出力ＢＮ１３０８は通常ラッチ１３１６に接続される１４０２。メッセージが存在し、右側に移動しなければならない１４０８の場合の残りの場合には、ラッチは「１」に設定される。そのラッチを有効に用いて、セルの制御状態を格納し、それぞれ１メッセージサイクル用いてセルの論理ゲートを制御する。
第１０図と共に第１４図を参照すると、メッセージが存在し、下方に移動する１４１２の場合の特定の場合には、最上位ビット２０８はヘッダから除去され、ヘッダアドレスの次のビット１０５４が下側レベルにおける最上位ビットになる。信号値「１」は１クロック周期１４１４の間下方に送出され１４１２、ラインＳ１３１２上の信号は「１」に設定され、下方へのメッセージのトラフィックビット２０２を生成するようになる。次のクロック周期１４１４では、所望の新しい最上位ビット２０４、形式的にはビット１０５４が、入力ラインＮ１３１０における次の下側レベルのセルに送出される。周期１４１４の終了時に、ラインＷは、制御セルを通るメッセージの残りの部分のメッセージ持続期間に、すなわちラッチセット信号が再び立ち上がるまで１４０４、ラインＳ１４１６を通り下方に接続される。次のＭＳＢ１０５４はトラフィックビット２０２の直後に後続し、それにより現在ＭＳＢ２０８を除去し、メッセージタイミングが現在レベルのメッセージの前にジャンプし、下側レベルにおけるメッセージのタイミングと一致させるようにし、それにより１クロック周期だけ前進させる。制御信号１５００は、全ての遅延素子を設定し、「０」にラッチするスタート信号或いはリセット信号１４２０により初期化される。第１４図の流れ図は、下方及び右側への一本の経路を有するセルの場合の制御を示す。第１８Ａ図、第１８Ｂ図及び第１８Ｃ図に記載されるフラットラテンシーセルは、流れ図の概念により制御され、多重入力経路は互いに検査され、さらに同じレベル入力の優先権が考慮される。
第１２Ａ図及び第１２Ｂ図に示されるラッチセット信号の相対的タイミングは、下側レベル１２０４上のメッセージが、上側レベル１２０６のメッセージに先行する１クロック周期であることを示す。従って、下側メッセージは、１クロック周期だけメッセージの現在のタイミングの前にさらにジャンプする。さらにヘッダ長が減少することにより、１クロック周期の前にさらにジャンプが生じる。第１３Ａ図に模式的に示されるステップ１４１２、１４１４及び１４１６の効果は、所望のヘッダ長縮小が実行され、下側メッセージのトラフィックビット２０２が下側レベルにおけるタイミングと同期するようになることである。入力ラインＷ１３０２はラインＳ１３１２に直結され、２つの遅延素子Ｄ１及びＤ０が、２クロック周期だけメッセージタイミングを前進させる所望の効果を用いてバイパスされるようになる。
第１１図及び第１３Ａ図と共に第１５Ａ図を参照すると、セル１３００は制御セル実施例１５００としてさらに詳細に示される。セル１５００は、２つの遅延素子Ｄ１  １５１０及びＤ０  １５２０、ラッチ１３１６、入力及び出力接続部並びにメッセージフローを制御するための論理ゲートを示すゲートレベル図である。論理ゲートの多くはラッチ１３１６により制御される。ラッチが「１」に設定される場合、ラインＷ１３０２の左側からのメッセージは左側から右側に流れ、ラインＥ１３０４で出る。スイッチ１９４により、ラインＮ１３１０において接続される上側セルからのメッセージが、ラインＥで出力されるのを防ぐ。ラッチが「０」に設定される場合、左側からのメッセージはラインＳ１３１２から下方に流れる。ラッチ１３１６の値は通常、ラインＢＮ１３０８を通り上方に送出され、上記セルに対して、後続セルがメッセージを下方に送出することができるか否かを示す。ラインＮ１３１０における上側レベルからのメッセージは、ラインＥ１３０４を介して右側に流れることができる。
第２図及び第７図を参照すると、メッセージは、上側行セット或いは次ぎの下側レベルにおける下側行セットに接続される制御セルに入る。トラフィックビット２０２は、メッセージが存在するか否かを示しており、トラフィックビットが「０」である場合には、メッセージは存在せず、制御ルーティングは実際には下側メッセージに対するものと同じである。ヘッダ最上位ビット２０８は目標行先を示す。詳細には値「１」が上側行セットの目標先を示し、値「０」が下側行セットの目標先を示す。
0004571239.tif 000005
表２は、メッセージがセルを通るのはいずれの方向であるかを決定するための２つのメッセージビットの使用方法を表す。ラッチセット信号１３２８が立ち上がる際に、メッセージトラフィックビット２０２は遅延素子Ｄ１  １５１０にあり、ＭＳＢ２０８はラインＷ１３０２にある。上側に接続されるセルに入る「０」（下側セル行先）における最上位ビットを有するメッセージの場合には、メッセージは右側にルーティングされ、上側レベルへのセルは、メッセージを下方に送出しないように信号処理される。別法では、同じメッセージが下側に接続されるセルに入り、下側がら遮断されない場合には、メッセージが下方にルーティングされる。それゆえ、上側及び下側に接続されるセルの制御ロジックは、ヘッダ最上位ビットの値に対して相補性をなす。上側行セットに接続されるセル１５００の場合、ゲート１５５６が用いられる。セルが下側行セットに接続される場合には、ゲート１５７６が用いられる。上側に接続されるセルは、そのメッセージが右側に移動すべきかどうかを決定するための「０」を検索するため、遅延素子Ｄ１におけるトラフィックビット２０２を用いて、実際の右方向メッセージとメッセージ状態でない場合との間を識別しなければならない。
スイッチ１００の一実施例では、タイミングを用いて、メッセージがレベル「０」を出る時点を確定する。他の実施例では、列ヘッダ２０２が用いられる。第１５Ｂ図は、列ヘッダを処理するレベル「０」の特定の制御セルを示す。第２Ｂ図及び第１２図と共に第１５Ｂ図を参照すると、列ヘッダ２１２を含むメッセージ２００は、列ヘッダにおいてエンコードされる列数と制御セルの列数が一致する際に、レベル「０」制御セル１５５０を出る。ラッチセット信号１３２８がハイになる場合には、ヘッダロジック１５６８が制御ビット２０２及び同時に列ヘッダの全てのビットを観測する。そのヘッダアドレスが、そのセルが配置され、メッセージが下側１５５６から遮断されない場合の列数と一致する場合には、メッセージは下方１５６２にルーティングされる。出力から列ヘッダ２１２を削除するために、下側レベル１５６２へのラインＳは第１のペイロードビット２０６に接続される。ラッチ１５６６はセル１５５０の状態を格納しセル１５００のラッチ１３１６に対するのと同様にメッセージフローを制御する。
高速タイミング及び制御
第１２Ａ図は、スイッチ１００の一実施例のタイミング図である。その中でメッセージヘッダビットがレベル当たり１時間周期１２０２の速度でスイッチを通り下方に移動する。第１３Ｂ図は、行を右側に移動するメッセージがさらに２つの遅延素子１１０２を通り、２時間周期を有して、次のセルまで右側に移動するようになることを示す。第１６Ａ図は、ラテンシーを低減するように設計されるスイッチ１００の別の実施例のタイミング図である。この実施例では、所与の列における全てのレベルが同じラッチセット信号１６０４、１６０６及び１６０８等を受信する。この実施例では、ある行を右側に移動するメッセージヘッダ及びメッセージペイロードビットが１つの遅延素子のみを通過し、それゆえ１時間周期１１１０のみを有して右側に移動する。ヘッダビットは１時間周期を有して、次のレベルまで下方に移動する。下方に移動するペイロードビットは下側レベルにおけるセルに直結され、その遅延は１クロック周期未満である。遅延はセル内のゲートの伝搬遅延である。
第１６Ｂ図を参照すると、図示されるように、隣接セルにおける同じ列の２つの高速制御セル１６２０及び１６２２が接続される。時間周期１２０２の開始時点で、ラッチセット信号１６０４が立ち上がる場合には、左側１３０２から入るメッセージのトラフィックビット２０２及びＭＳＢ２０８はそれぞれ、ラインＷ１２０２及び遅延素子Ｄ０１６１８にある。回路１６１２の３つのゲートが、ビジー信号ＢＳ１３０６の値と共にこれらのビットを処理し、その直後にその結果を回路１６１４まで上方１３０８に送出する。同様に、回路１６１４はその上側レベルまで上方に出力を送出する。最下位レベルにおける回路１６１４は安定し、最初に出力を上方１３０８に送出し、リップル−アップするように上記回路を設定する。回路１６１４にレベル数を掛け合わせた伝搬遅延はクロック周期１２０２より小さい。全ての回路は、ラッチセット１６０４が立ち上がり、制御セル１６２０の状態を捕捉する場合に安定する。
３２ポートスイッチ
第１Ａ図と共に第１７図を参照すると、３２ポートスイッチ１７００の一実施例の一例が４つのレベル１７０２、１７０４、１７０６及び１７０８並びに４つの列１７８０、１７８２、１７８４及び１７８６を備える。各レベルは８つの行３６０を備える。その実施例におけるポートの数はレベル当たりの行数（８）に列数（４）を掛け合わせたものである。それゆえ例示のスイッチは８×４＝３２入力ポート１０４及び３２出力ポート１５４を備える。スイッチ１７００の記載を簡単にするために、ＦＩＦＯバッファ１１４及び選択的な入力並びに出力制御構造体１１０及び１５０のようないくつかの構成要素が第１７図から省略される。
第３図と共に第１７図を参照すると、制御セルを配列する従来の方法は、まず１つの列を選択し、さらにその列の各レベルにおいて識別構成体３４０に制御セルを配置する過程を有する。この例では、最も左側の列、列０  １７８０が選択される。レベル３  １７０２、列０  １７８０のスイッチアレイ１２０は、識別構成体内に配列される制御セルを有する。列０における制御セルの数字表記はセルの行数であると定義される。レベル３  １７０２における行０  １７１０は、第１の列１７８０に配置される制御セル１７１２を有し、そのセル内に示される数字表記は「０」である。同様に、同じ識別構成体及び表記は、列０  １７８０の全ての他のレベルにおいて配置される。
列０の配列を終了した後、スイッチのレイアウトの次のステップに対するレベルが選択される。任意のレベルが選択されるが、最も便宜的には最大レベル、すなわちこの例ではレベル３  １７０２が最初に選択される。制御セルはレベル３に渡って識別構成体内に配列される。制御セルの数字表記は配置シーケンスから導かれる。第６Ａ図及び第９図を参照すると、８行配置シーケンス６１４がスイッチ１７００に対して選択される。シーケンス６０８或いは６２４のような他の８行シーケンスも同様に選択される。シーケンス６１４を用いて、レベル３における行０  １７１０は、位置０において第１の制御セルを有する。制御セル１３００或いはリップル−アップセル１６２０の何れかがスイッチアレイ１２０において用いられてもよい。例示的な実施例では、レベル０より大きいスイッチの全てのセルが同じタイプのスイッチである。行０のセルの番号付与は、下方への行接続６３４を確定するシーケンス６１４（０，４，２，６，１，５，３，７，０，．．．）から行われる。それゆえ、行０（１７１２，１７１４，１７１６及び１７１８）上のセルの番号付与はそれぞれ０，４，２及び６である。行１  １７２０上の第１のセルは位置ｌにあり、その結果行（１７２２，１７２４，１７２６及び１７２８）上のセルはそれぞれ１，５，３，７の番号を付与される。同じ左側から右側へのレイアウト方法は、レベル３  １７０２における残りの行上の制御セルの番号付与に用いられる。
スイッチ１７００のレイアウトの次のステップでは、終了したレベルの直ぐ下側のレベル、すなわちレベル２  １７０４の制御セルの配置である。レベル３  １７０２の制御セルの番号は、レベル２制御セルが配置される場合を示す。レベル３、行０  １７１０、列１  １７８２では、制御セル１７１４は４を付され、相対的に下方のレベル１７４４上のセルが行４に配置されることを示す。左側から右側を継続すると、セル１７１６は番号２を付され、相対的に下方のレベル上のレベル２セルが行２上に配置されることを示す。最大レベルより低い全ての制御セルの行位置は、上方レベルにおけるセルの数値により判定される。
その次のステップはレベル２  １７０４に配置されるセルへの番号付与である。レベル２  １７０４は２つの行セット１７５０を備える。下側行セットシーケンスは（０，２，１，３，０，．．．）９１０である。上側行セットシーケンスは４を加えることにより生じ、その結果はシーケンス（４，６，５，７，４，．．．）９１２になる。レベル３に番号を付与するために記載された方法を用いて、レベル２における行０  １７３０上のセルは０，２，１及び３を付与される。残りの下側行は、同じシーケンス及び方法を用いて番号付与される。行４  １７４０上のセルは４，６，５及び７を付与され、同様にレベル２における残りの上側行セットにも番号が付与される。
レベル１  １７０６のセルは、そのセルより上のセルにおける番号を用いて同様に配置される。レベル１セルの番号付与は、４つの２行シーケンス（０，１，０，．．．）、（２，３，２，．．．）（４，５，４．．．）及び（６，７，６，．．．）９１８を用いる。レベル０  １７０８、最下位レベルは同様にレイアウトされる、すなわち制御セルは上記セルにおける番号を用いることにより適当な行上に配列される。レベル０  １７０８では、番号付与或いは制御セルは通常行番号であり、またそれは出力ポート１５４の番号付与も確定する。
要するにスイッチ１００の実施例のポート数は、レベル当たりの行数及び列１６４の数を選択することにより確定される。行Ｒの数は２Lであることが好ましく、Ｌ＋１がレベルの数である。セルは、最も左側の列１７８０、列０において、及び最上レベル１７０２に渡って識別構成体において最初にレイアウトされることが最も便宜的である。列０におけるセルの番号付与は行番号と同じである。スイッチアレイ１２０のセルの残りの部分の配置は左側から右側へ、上側から下側への流れにおいて行われる。行上のセルの番号付与は、そのレベルに対する配置シーケンスにより確定される。最上位レベルより下側のセルの配置はセルの番号により上向きに確定される。レベル０における番号付与は行番号と同じであり、出力ポート番号であるものと定義される。
フラットラテンシー制御セル状態
第１８Ａ図、第１８Ｂ図及び第１８Ｃ図を参照すると、左側からの２つの入力１８０２，上側レベル１８０４からの２つの入力、右側への２つの出力１８０６及び下側への２つの出力１８０８を有する制御セル１８００はフラットラテンシー制御セルと呼ばれる。左側からの入力ライン１８０２は、ラインＷ１及びＷ２を付され、上側レベルからの入力ライン１８０４はラインＮ１及びラインＮ２を付され、右側への出力ライン１８０６はラインＢ１及びＢ２を付され、さらに下方への出力ライン１８０８はラインＳ１及びＳ２を付される。さらに制御セル１８００は、第１８Ａ図では集合的にラインＢＮを付される、上側レベルへの２のビジー信号出力ライン１８１０を有し、下側レベルからの２つのビジー信号ライン１８１２を受信する。ビジー信号の１つのラインＢＳ１８１２は、第１８Ａ図の状態７の例においてのみ示される。
番号１から７の７つの許容可能な接続状態１８３０は、フラットラテンシー制御セル１８００の動作から生じる。入力ラインＷ２は、出力下側ラインＳ１  １８２０、出力下側ラインＳ２  １８２２或いは同じ行上の右側への出力ライン１８２４に接続されることができる。同様に、入力ラインＷ１は、出力下側ラインＳ１  １８２６、出力下側ラインＳ２  １８２２或いは同じ行上の右側への出力ラインＥ１に接続されることができる。出力下側ラインＳ１  １８２０は下側レベルにおける上側行セットに接続され、出力ラインＳ２は下側レベルにおける下側行セットに接続される。下側への同じ出力への２つの入力ラインＷ１及びＷ２の接続は許容されない１８２８。上側レベルからの入力ラインＭ１は、ラインＷ１がラインＥ１に接続されない場合に、右側への出力ラインＥ１  １８３４に接続される。入力ラインＮ２は、ラインＷ２がＥ２に接続されない場合に、ラインＥ２  １８３６に接続される。すなわちラインＷ１は出力ラインＥ１の使用においてラインＮ１より高い優先権を有し、同様にラインＷ２は出力ラインＥ２の使用においてラインＮ２より高い優先権を有する。入力ラインＷ１は出力ラインＥ１に接続される場合に、ビジー信号１８１０は上側レベルへのラインＢＮの適当な接続を介して上方に送出され、ラインＷ２がラインＥ２に接続される場合も同様である。下方に向かう出力ラインが左側からのいずれの入力ラインにも、例えばラインＳ１に接続されない場合には、メッセージが存在しないことを示す値「０」が下方１８３２に送出される。
フラットラテンシー制御テーブル
第１８Ａ図と共に第１８Ｂ図を参照すると、フラットラテンシー制御セル１８００の状態１８３０が、制御テーブル１８４０の最初の４つの列において示される項目の状態或いは値から導かれるように示される。ラインＷ１  １８４２において制御セル１８００に入るメッセージのヘッダアドレスは、そのメッセージが、ラインＳ１を通る次の下側レベルにおける上側行セットに、或いはラインＳ２を通る下側行セットの何れかに下方に移動することを確定する。ヘッダアドレスは、ラインＷ２  １８４４において入力するメッセージに対するのと同じ方法において動作する。２つのメッセージが行セットの上側半分に向けられる場合、或いは２つのメッセージが下側半分に向けられる場合には、ラインＷ１のメッセージはラインＷ２のメッセージより高い優先権を有し、ラインＷ２は下方に移動することはできず、代わりに右側に動く。ラインＷ１において入力するメッセージの方向は、ラインＷ２におけるメッセージに対する第１の列１８４２及び第２の列１８４４において示されるように、そのヘッダＭＳＢ２０４を検査することにより導かれる。ラインＷ１或いはラインＷ２においてメッセージが存在しない場合には、表示「ｎｏｎｅ」が示される。フラットラテンシー制御セル１８００は通常上側及び下側行セットに接続される。
また第３図を参照すると、下側レベル３１６への経路が、対応するビジー信号３３０により示されるように遮断される場合もある。第１８Ａ図では、ラインＳ１及びＳ２  １８０８の下方レベルへの２つの経路が２つのビジー信号１ラインＢＳ  １８１２により制御される。テーブル１８４０では、２つのビジー信号１８１２の状態が第３列  １８４６及び第４列１８４８においてそれぞれ与えられる。次の下側レベルにおける上側行セットへの出力ラインＳ１は、「１」によりビジー（遮断）として、「０」により非ビジーとして第３列１８４６において示され、第４列１８４８におけるラインＳ２の場合も同様である。「適用できない」場合の表記「ＭＡ」は、メッセージが特定の上側或いは下側行セットに向けられないということを示す。
テーブル１８４０の第１の行は、ラインＷ１及びＷ２におけるメッセージの両方が、上側行１８４２、１８４４に下方に移動することが好ましく、上側行への経路が、列１８４６における「０」により示されるように遮断されない場合を記載する。ラインＷ１のメッセージは優先権を有し、それゆえ列１８５０において示される上側行への出力ラインＳ１に接続される。ラインＷ２のメッセージは、列１８５２において示されるラインＥ２を通り右側に向けられる。この接続の状態は、第１８Ａ図においてテーブル１８４０の第５列において状態５  １８３０として示される。テーブル１８４０の次の行は、ラインＳ１が下側レベルから遮断され、それゆえ両方のメッセージがそれぞれの行上において右側に向けられるという点を除いて第１の列の条件と同じである。これは状態７  １８３０として示される。ラインＷ１或いはＷ２のメッセージがない状態では、各入力ラインは利用可能な出力下側ラインＳ１或いはＳ２に接続され、下方１８３２へのメッセージの送出及び上側レベル１８０４からの各入力ラインの遮断を防ぐ。同様に下方への出力は信号値「０」１８３２に直結される。
テーブル１８４２は、テーブル１８４０の最初の４列における項目の値がフラットラテンシー制御セル１８００の状態１８３０を確定することを示す。制御セル１８００の状態１８３０は、列６及び７  １８５４に示されるラッチＴ１及びＢ１、並びに列９及び１０  １０５６において示されるラッチＴ１及びＢ２の値セットを確定する。
フラットラテンシーロジック細部
第１８Ｂ図と共に第１８Ｃ図を参照すると、フラットラテンシー制御セルロジックの一部の実施例が示される。テーブル１８４０に列挙されるラッチを設定するロジックは省略される。ラッチＴ１及びＢ１  １８５４並びにラッチＴ１及びＢ２  １８５６は、入力ポートＷ１、Ｗ２、Ｎ１及びＮ２からの任意のメッセージのルーティングを制御する。さらにラインＢＮ１  １８７５及びＢＮ２  １８７７上のビジー信号の出力値は、ラッチから導かれる。出力ラインＥ１がメッセージの伝送で占有される場合には、ラインＢＮ１  １８７５におけるビジー信号は、行Ｂ１がビジーであることを示す信号値「１」に設定され、行Ｅ２における出力及びビジー信号ＢＮ２  １８７７の場合も同様である。トラフィックビット２０２が遅延素子Ｄ０に格納されるようにメッセージ２００がフラットラテンシー制御セル１８００に入った場合には、ラッチセット信号（図示せず）は、４つのラッチの設定を終了する、テーブル１８４０において確定される処理を初期化する。その処理は、メッセージ２００の連続ビットが下側或いは右側に所望にルーティングされるという有利な結果と共に、１クロック周期内で実行される。第１３Ａ図の場合に記載されるように、ヘッダの最上位ビット２０８は下方に移動するメッセージから除去される。
制御セルＡ１８０は上側レベルにおいてセルＢ１８００に接続され、セルＡのラインＢＮ１及びラインＮ１がそれぞれセルＢのラインＢＳ１及びＳ１に接続され、セルＡのラインＢＮ２及びラインＮ２がそれぞれ上側レベル（図示せず）における別のセルＣのラインＢＳ２及びＳ２に接続されるようになる。別の場合には、レベル９におけるセルＤのように、セルＤの全ての４つの接続ラインＢＮ１、Ｎ１、ＢＮ２及びＮ２がそれぞれ上側レベルへのセルＦのラインＢＳ１、Ｓ１、ＢＳ２及びＳ２に接続される。セルＡは通常、セルＡのラインＥ１及びＥ２がそれぞれセルＧのラインＷ１及びＷ２に接続されるように、１つのセルＤに対して右側に接続される。
フラットラテンシー制御セルシンボル
第１８Ｂ図及び第１８Ｄ図を参照すると、ラインＷ１のメッセージはラインＷ２のメッセージより高い優先権を有する。すなわち２つのメッセージがラインＳ１或いはＳ２において同じ非遮断行セットに下方に向けられる場合には、ラインＷ１のメッセージが優先権を有し、ラインＳ１或いはＳ２の出力に下方にルーティングされ、ラインＷ２のメッセージはラインＥ２にルーティングされる。制御セル１８００の別形態では、ラインＷ２のメッセージがラインＷ１のメッセージより高い優先権を有する。この別形態の制御セルのロジックは、テーブル１８４０においてラインＷ１及びＷ２を交換し、ラインＥ１及びＥ２を交換することにより確定される。第１８Ｄ図は、ラインＷ１がラインＷ２より高い優先権を有する場合のフラットラテンシー制御セル１８００のシンボル表現１８８０であり、その優先権は黒塗り部分１８８２により示される。ラインＷ２がラインＷ１より高い優先権を有する別形態では、下側のブロックが黒塗りされる。シンボル１８８０の何れの形態においても、上側レベルへの及び下側レベルからのビジー信号接続は、明瞭にするために省略される。この簡略化したシンボルを用いて、第１９図に与えられるフラットラテンシースイッチの全レイアウトの表示を簡単にする。別の優先権方式では、例示はしないが、Ｗ１は上側接続の場合に優先権を有し、Ｗ２は偶数列における下側接続の場合に優先権を有し、その優先権は奇数番号列の場合に保持される。
１６×４フラットラテンシースイッチ
第１図、第３図、第６Ａ図、第６Ｃ図、第１８Ａ図、第１８Ｃ図及び第１８Ｄ図と共に第１９図を参照すると、４つの列及び４つのレベルからなるフラットラテンシースイッチ１９００が記載される。各レベルは、０から１５で列挙される１６行１９０２を備える。フラットラテンシー制御セル１８００は、第１８Ａ図及び第１８Ｃ図に示されるように二対の垂直接続部を用いて２つの行を接続する。
制御アレイ１２０のセル１８００をレイアウトする方法が記載される。スイッチ１００の他の構成要素は、この記載及び図面から省略される。スイッチ１９００の入力ポート１０４の全数は、行数（１６）×列数（４）であり、すなわち６４である。出力ポート１５４の数は入力ポートの数と同じである。
第１図、第１８Ａ図及び第１８Ｃ図を参照すると、フラットラテンシー制御セル１８００は、ラインＳ１  １８７０及びＳ２  １８７２において下側レベルへの２つの出力を有する。セル１８００、レベル０のこの「二段出力」性質のため、制御セルはフラットラテンシースイッチの動作には用いられない。
スイッチアレイ１２０にフラットラテンシー制御セル１８００を配置するための方法は、最初に最下位レベルにおける識別構成体内にセルを配置する過程を伴う。従って制御セルはスイッチアレイ１２０の左下側から右上側まで延在する対角線に沿って配置される。レベル１９０２当たり１６行及びセル１８００当たり２行を与える場合、スイッチアレイは１６／２、すなわち８セルを使用する。一対の行の上側行において優先権１８８２を有する制御セル１８８０は、列０  １９１０において制御アレイ１８２０の対角線に沿って配置される。次の列、列１では、下側行１９０４において優先権を有する制御セルを用いて、制御アレイを満たす。１つの列から次の列に行優先権を入れ替えるこの方法は、スイッチ１９００の残りの部分のレイアウトにおいて用いられる。レベル１より高い全てのレベルに対する列０の他の制御アレイは、レベル１、すなわち最優先権セル１８８２の識別構成体と同じレイアウトを含む。これによりスイッチ１９００の最も左側の列及び最下位レベルのレイアウトが終了する。残りのスイッチアレイは、レベル２で開始し、最上位レベルが終了するまでの時点で１つのレベルまで移動する、各レベルにおける左側から右側への流れにおいてレイアウトされる。
ボックス１９１６の番号は、制御セル１８００が接続される下側レベルへのポート対１５４の最も下側の出力ポート番号を示す。セル１９１０はポート０に、またポート１に接続されるように示される。紙面が限られ、その番号はレイアウトプロセスに必要とされないため、第１９図において番号「１」は省略される。ボックス１９１６の番号を用いて、上記レベルにおける制御セルの配置を促進する。
また第９図を参照すると、レベル２では、行０に沿って右側に移動するメッセージがシーケンス（０，２，１，３，０，…）９１０に規定される接続部に後続する。第１のセル９０４は下方に向かって行０及び２に接続される。右側への次のセル１９２６は行１及び３に接続される。レベル１とレベル２との間の垂直相互接続パターン１９２２はシーケンス９１０を満足する接続部を形成する。セル９２４はレベル１においてそれぞれ行０及び２のセルに対する下側レベルに接続される。次の列（レベル２）では、セル１９２６は行１及び３においてそれぞれセルに対して下側レベルに接続する。スイッチアレイ間の垂直ボックス１９２８の番号は、配置シーケンス１９２０を示す（明瞭にするために、その対の最初の番号のみが示される）。レベル２の行０の検査により、制御セルが下側レベルに対して０，１，０及び１においてセル上に順番に配置されることが示される。シーケンス（０，１，０，１）はレベル２における連続ボックス１９２８の最下位デジットとして現れ、レベル２における制御セルの最下位行の位置を設定する。
レベル２では、セルの次の行が行２及び３に沿って配置される。列０における行２及び３のセルは、接続部１及び３の残りの対のみに接続される。下側レベルへの最も下側の列番号は０であるが、レイアウトプロセスの不明確さを避けるために、０は水平ボックス１９１６（レベル１とレベル２との間にある）においては繰り返されない。その代わりに値１が用いられる。すなわちボックス１９１６の各値は、下側レベルに接続されるセルの対の最も下側の行番号を示す。２つのセルが４つの行番号と共に用いられるため、シーケンスにおいて既に用いられていない場合には、最も下側の行が用いられる。後者の場合には、次の最も下側のセルが用いられる。従ってシーケンス０，１，４，５，８，９，１３，１４がレベル１より上側で用いられ（０，０，４，４，８，８，１３，３ではない）、上方に向かってそのレベルの配置を有利に促進する。レベル２より上側のボックス１９１６は上記ルールを用いて満たされ、その例示される値はレベル３におけるセルをレイアウトするために用いられる。
配置シーケンス（０，４，２，６，１，５，３，７，０，…）６１４は、制御セルを配置するためにレベル３において用いられる。レベル２と３との間の垂直相互接続パターン１９３２はシーケンス６１４により必要とされる接続部を満足する。第１９Ａ図では、６１４における各対の最初のデジットはボールドで示されるが、それはその対の第１のデジットのみが配置に用いられるためである。セル１９３０は下側レベルへの行０及び４に接続される。列０では、対角線において次のセルが行１及び５に接続され、その次のセルが２及び６に接続され、さらに対角線において４番目のセルが３及び７に接続される。すなわち４対の最初のデジットは一連の０，１，２及び３を形成する。
シーケンス（０，４，２，６，１，５，３，７，０，…）６１４から取り出される別のデジットにより、行レイアウトに用いられるシーケンス（０，２，１，３，０，…）が生じる。行０及び１に沿って、セル１８００は下側レベルへの接続部０，２，１及び３より上側に配置される。このシーケンスは、レベル３において一連の垂直ボックス１９２８の最下位デジットとして示される。行２及び３に沿って、セルは接続部１，３，０及び２より上側に配置される。列０の右側への列におけるレベル３の制御セルは、左側への垂直ボックス１９２８及び下方へのレベル間ボックス１９１６において同様の番号の接続部に配置される。レベル３より上側のレベル間ボックス１９２８はレベル２の場合に記載されるルールを用いて満たされる。
配置シーケンス（０，８，４，１２，１，９，５，１３，２，１０，６，１４，３，１１，７，１５，…）６５８はレベル４  １９５０をレイアウトするために用いられる。セル１９４０は行０及び８への下側レベルに接続される。対角線に沿って継続すると、次のセルが１及び９に接続され、その次のセルが２及び１０接続され、さらにそれが続く。相互接続パターン９４２がこの接続用件を満足する。レベル４の残りの部分は、６５８の対の最初のデジット、すなわち０，４，１，５，２，６，３，７，０，…から導かれるシーケンスを用いて最初に垂直ボックスを満たすことによりレイアウトされる。この系列を用いて、レベル４における垂直ボックス１９４４を満たす。制御セルは、左側及び各スイッチアレイの下側へのボックスからの同様の番号の接続部に配置される。第１９Ａ図では、フラットラテンシースイッチ１９００に対する制御セル１８００をレイアウトするために、ここに記載されるルールが適用されることを示す。
ラインＷ２においてセル１９１０に入るメッセージが優先権を有し、またレベル０において同じ行に移動することが好ましいラインＷ１における別のメッセージにより遮断されず、またその目標行が下側レベルから遮断されない場合には、行０におけるメッセージはメッセージ目標に対して、その直後に下方に送出される。従ってラインＷ１或いはラインＷ２における非遮断メッセージは通常下方に移動する。フラットラテンシースイッチ１９００の例示された実装及び使用法では、制御セル１８００に入るメッセージは遮断される可能性はほとんどなく、それゆえ一般にメッセージは左側から制御セルに入る各時点で下方に移動する。また第１７図を参照すると、スイッチ１７００のラテンシーは、メッセージが下方に移動する前に、メッセージが５０％の確率で次の列に移動するようになる。従って下方に落ちるメッセージは一般にその時間の半分において「不都合な」行セットに到達する。対照的にスイッチ１９００の場合、下方に落ちるメッセージは通常上側及び下側行セットへの接続部を有する。同様の装填条件を与える場合、スイッチ１７００はスイッチ１９００より５０％大きい平均ラテンシーを有する。さらにフライト時間、従ってスイッチ７００を通る１つのメッセージのラテンシーは最小値の１００％から２００％まで変化するのに対して、スイッチ１９００を通る１つのメッセージのラテンシーは全てのメッセージに対して概ね一定であり、一経路スイッチ１７００の最小ラテンシーと同じである。
入力ポート接続部
第８Ｂ図を参照すると、下側レベルにおいて右側に移動するメッセージＢ８４０は、上側レベルにおける別のメッセージＡ８０２の所定の下方への動きを遮断することができる８４２。メッセージＡが遮断された結果として、他のメッセージＣ８４４及びＤ８４６がメッセージＡにより同様に遮断されるようになる。メッセージＡが最初の段階で遮断されるのを避けられる場合には、メッセージＣ及びＤもまた遮断されないであろう。スイッチ内のメッセージの数が増加するにつれて、個々のメッセージの遮断の可能性も増大するであろう。また第４図を参照すると、列準備信号４０４が立ち上がり、入力ポートがまた遮断されていない時は常に、メッセージ２００はスイッチ１００に入ることができる。スイッチ１００の統計的解析が、任意の実施例のスイッチを増加する間にメッセージが遮断される可能性は、スイッチ内へのメッセージの入力の速度を低下させることにより著しく低減されることを示す。
スイッチ内への入力の最大速度（１００％）は、全てのポート１０４が各非遮断時間４０６におけるメッセージを受信する場合の条件として定義される。その速度は２５％から５０％の範囲に低減される場合には、スイッチ１００の大きさ及び特定の実施例により、メッセージの遮断及びラテンシーの分散のマイナスの効果が、重要ではない点であっても、著しく低減される。入力速度を低減するための１つの方法は、ポート１０４メータ等に接続される外部デバイスが、メッセージが注入される周波数の低減を規定することである。この技術は、スイッチへの外部デバイスに速度低減の責任を負わせるという点で不利である。別の方法は、列準備信号４０４が送出される速度を低減する過程を伴う。外部デバイスが、メッセージを注入するためにより長く待機しなければならない場合があるという欠点がある。これら速度低減方式のいずれの効果も有効なラテンシーを増加し、スイッチ１００の全スループットを減少させる。
第１７図及び第２０Ａ図を参照すると、８×４スイッチ１７００の最上位レベル１７０２が３２入力ポート１０４と共に示される。スイッチ１７００の別の実施例では、同じ最上位レベル２０１０が、半分未満の入力ラインを有する。最上位レベルにおける制御セル３００は入力ポートに接続されるか、或いは接続されない場合もある２１１２。第２０Ａ図の最初の２つの列は、不要にラテンシーを増加させることなく５０％まで入力速度を低減する方法を示す。さらに入力速度は、入力１０４に特定のセル２１１４を接続しないことにより低減及び調整される。スイッチ１７００の一実施例では、出力接続部１５４が、省略された入力ポート（図示せず）に対応するように同様に省略される。それゆえスイッチは入力及び出力ポートの数と同じ数を有する。別の実施例では、全３２出力ポート１５４が実装される。それゆえスイッチ１７００の別の実施例は３２入力及び３２出力ポートを有するか、或いは１６入力及び１６出力ポートを有するか、または１６入力３２出力ポートを有することができる。他の実施例の場合、装填要因及び性能上の理由により、他の接続数が選択されることもできる。全可能な入力数に対する入力１０４の数及び配列は、スイッチ１００内の最大メッセージフロー密度を確定する。メッセージフロー密度は、最大可能数に対するスイッチ内のメッセージの実際の数として定義される。
第１８Ｄ図、第１９図及び第２０Ｂ図を参照すると、フラットラテンシースイッチの入力速度は、第２０Ａ図の最初の２列に記載されるのと同じ方式を用いることにより５０％まで低減される。すなわち別の列におけるセル１８８０は入力接続部２０２４を備えない。第２０Ｃ図では、別の方法がセル１８８０の２つの上側入力ライン１８７４及び１８７６の一方のみに入力ポート１０４を接続する過程を伴う。同じ行において左側へのセルがその行優先権を有し、従ってその行が１０４からの入力を遮断するメッセージを含む可能性が小さいため、入力１０４は優先権２０７２及び２０７４を有さない行に接続されることが好ましい。さらにスイッチ入力速度を低減及び微調整するために、第２０Ｂ図及び第２０Ｃ図に示される方法の組み合わせが用いられる。詳細には、いくつかの列がセル２０７２当たり１つの入力のみを有し、第２０Ａ図における入力接続部と同様に他のセルは入力を有さない２０２４。
スイッチ１００の実施例のシリコン集積回路チップによる実装の入力（及び出力）ポートの数はピンにより制限される。すなわちチップ上で利用可能な入力及び出力接続部の数がスイッチの大きさを確定する。この状況は、制御セルを実装するために用いられる論理ゲートが比較的少量であることから生じる。技術的に確定される状況及び用いられる少量のゲートの組み合わせを与えることにより、論理能力は、ラテンシー及びメッセージフロー密度を低減するためにピン能力を超えて有利に用いられる。論理能力を活用する１つの方法は、より複雑なフラットラテンシーセル１８００における余剰の利用可能なロジックを使うことである。別の方法は、入力及び出力ポート接続部２１１２を低減し、その差を補うまでより多くの列を組み込むことである。第２０Ｂ図及び第２０Ｃ図に例示されるように、両方の方法を組み合わせて用いる場合もある。実際に利用可能なＩ／Ｏ接続部或いはピンは、スイッチの能力を確定する。例示の実装は、必要な列の最小数の２乃至４倍、或いはそれ以上を用いる。例えば６４ポートスイッチ１９００は、第２０Ｃ図の入力接続方法或いは第２０Ｂ図及び第２０Ｃ図に示される方法の組み合わせを用いることにより、８乃至１２内部列（第１９図の４列に対して）を実装される。
右側から左側への接続
第２１Ａ図、第２１Ｂ図及び第２１Ｃ図では、種々の東から西（すなわち右から左）への接続実装例が示される。第１図及び第３図と共に第２１Ａ図を参照すると、最も右側の列１６４におけるメッセージは選択的なＦＩＦＯバッファ１１４を通り、行出口点１７２に到達する。出口点１７２は、行３６２に沿って左側から右側に移動するメッセージの最も右側の位置である。点１７２のメッセージは、下側レベル或いは出力ポートに下方に連続的には移動しない。スイッチ１００の別の実施例では、メッセージは経路２１０４を左側に、同じ行の行入力点１７４まで伝送され、列０  １６０におけるスイッチアレイ１２０の制御セルに接続される。列０におけるメッセージは即座に、メッセージ目標行への連続的な行程において下方に移動する機会を有する。
第７図、第２０Ａ図及び第２１Ｂ図を参照すると、スイッチ１００の別の実施例が、外部に接続される入力ポート１０４に転送される１２０６行出口点１７２に到達するメッセージを有する。ＦＩＦＯ２１０８が、列タイミング要件を満足するようにメッセージのタイミングを調整する。未使用の行入力点２１２０は外部に接続され、最上位レベルより下側のレベルにおける点１７４においてスイッチに入るメッセージが、最下位レベルにおける全ての可能な行に必ずしも到達することはできないという制限と共に入力ポート１０４として機能する。例えば、レベル２における上側行セット７１０の行においてスイッチに入るメッセージは、レベル１における最下位行セット７１６の何れの行にも到達することができない。最上位レベルより下側のレベルにおいてスイッチに入るメッセージは、最上位レベルにおいて入るメッセージより少ないラテンシーを有する点で有利であるが、メッセージが到達することができる可能な目標の範囲に制限される。
第２１Ａ図及び第２１Ｂ図に示される接続部の組み合わせであるさらに別の実施例（図示せず）は、いくつかの出口点１７２が入力点１７４に接続され２１０４、一方他の出口点が未使用の入力ポート１０４に接続される２１０６。第２１Ｃ図を参照すると、スイッチ１００の別の実施例は、１つの行において連続的に遮断されたメッセージが他の行において下方に移動する別の機会を与えられるという利点を有し、異なる行２１１０における入力点１７４に接続される出口点１７２を備える。
第２Ａ図、第２Ｂ図及び第２Ｃ図を参照すると、メッセージ２００は概ねヘッダセクション及びペイロード２０６を有し、全長２１４を有する。スイッチ１００の任意の実施例に入る個々のメッセージの長さは変化する場合がある。スイッチは所定の最大の大きさまでの任意のメッセージ長を受け取ることができる。所与のスイッチ１００の場合、ヘッダのフォーマット及び大きさは、スイッチの実装により固定されるが、ペイロード２０６の長さは変化することができ、それゆえ全メッセージ長２１４は変化するようになる。第８Ｂ図及び第２１Ａ図の議論により、任意の列において上側レベルから制御セルに入るメッセージは、そのメッセージが同じ行２１０４における入力点に戻されるように繰り返し遮断される場合がある。メッセージが連続的に遮断される場合には、そのメッセージは、メッセージが上側レベルからその行に最初に入った列における制御セルに到達する。すなわちメッセージは、「ヘッド」或いはトラフィックビット２０２が、ペイロード２０６の「テール」或いは最後のビットを追跡している状態にある。従って列の記憶能力は、メッセージの全ビット２１４を含むのに十分である必要がある。
第１１Ａ図、第１３Ａ図、第１５Ａ図、第１６Ｂ図、第１７図及び第１８Ｃ図を参照し、制御セル１３００、１５００、１６２０及び１８００を検討すると、制御セルは、セルを通る左側から右側への通路において１つ或いはそれ以上の遅延素子１１０２を含む。これらの遅延素子は、セルによるメッセージのアドレスデコーディング及びメッセージルーティングに関係する。最初の列から最後の列まである行に沿って全制御セルの全遅延素子１１０２の総計を取ると、遅延素子の集合体はＦＩＦＯ記憶デバイスとしても機能する。例えば、制御セル１３００は２つの遅延素子を備える。スイッチ１７００は４つの列を有し、従って行の４つの制御セルの記憶能力は２×４、すなわち８ビットを有する。実際に、メッセージ長２１４は８より著しく大きいため、ＦＩＦＯ１１４を用いて、メッセージの大きさ２１４に対する行記憶能力を拡大する。メッセージ長が３２ビットである例を継続すると、各ＦＩＦＯ１１４の長さは（３２−８）すなわち２４ビットである。
第２０Ａ図、第２０Ｂ図、第２０Ｃ図を参照すると、入力１０４の全数に対して列の数を増加させることにより、スイッチ内のメッセージの遮断を低減し、ラテンシーを改善するという利点がもたらされる。列の数を増加させる別の利点は、行の記憶能力がそれに応じて増加するという点である。例えば１６列を有するスイッチ１７００の列形態における３２ビットメッセージは、ＦＩＦＯ１１４を全く利用しない。１６列は３２ビットメッセージを示す３２ビットの遅延の総量を生みだし、ヘッダがテイルと衝突せずにある行において循環することができる。Ｉ／Ｏ接続部に対して余剰の論理ゲートの技術的に課せられた条件を与えることにより、以前に議論したデータフロー密度の有利な減少に加えて、各行メッセージ記憶能力が増加するため、可能な限り多くの制御セルにおいて論理ゲートが有利に利用される。スイッチ１００の別の実施例では、論理ゲートを用いて可能な限り多くの下方への経路を形成する、すなわち入力１０４に接続されない付加的な列を形成する。メッセージ長２１４が利用可能なゲートとの関係において大きい実施例では、ＦＩＦＯ１１４が各行において用いられる。
低ラテンシー出力
第２２Ａ図は、最下位レベルにおける遮断を減少する低ラテンシー出力構造体を示す。第２Ａ図を参照すると、メッセージ２００は、スイッチの最下位レベルにおける目標行を規定する行ヘッダアドレス２０４を含む。第２２Ａ図の出力構造体を有するスイッチ１００の実施例は、列ヘッダ２１２を用いる。ヘッダ２０４において規定される目標行は、メッセージの最終的な行先であり、そのメッセージが配置される物理的な行は、メッセージが最下位レベルに到達する際に重要ではない。任意の最下位レベル行に到達するメッセージは、全ての列から並列に集められ、最終的な出力デバイス１７６に供給される。複数の列を用いて効率的に、帯域幅を増加及び目標２２０６に対するラテンシーを減少し、さらにより高いレベルにおける遮断を低減及び最小にする。最下位レベルに到達するメッセージは即座に下方に移動するため、そのメッセージは上側レベルのメッセージを潜在的に遮断するためにレベル０において右側に移動することはできない。その記載される出力方法は、最も早い可能な速度でメッセージのスイッチ１００を排出する点で有利であり、それにより上側レベルにおけるラテンシー及び渋滞を減少させる。
第１図及び第２２Ａ図を参照すると、スイッチ１００の一実施例では、出力構造体１８０は複数の外部デバイス或いはメッセージ目標２２０６を有する。これらのデバイスの数は最下位レベルにおける行数と同じである。バッファアレイ１５２のバッファ２２１０は、そのスイッチの最下位レベルにおける制御セル２２０２からシリアルにメッセージ２００を受け取る。この実施例は、セル２２０２がビジー信号入力を持たないように、バッファ２２１０がデータを受け取る準備を常にしているため、低ラテンシー応用例を目的とする。
第４図、第１２Ｂ図及び第２２Ｂ図を参照すると、メッセージのトラフィックビット２０２は、列準備信号４２２により示される時点でバッファ２２１０に到達する。メッセージ間の時間の最小量はメッセージ間時間ｔm１２４２である。バッファ２２１０はメッセージトラフィックビット２０２及びペイロード２０６をシリアルに受け取る。ヘッダ２０４は、第１０図の記載において議論されたようにメッセージから除去される。バッファ２２１０の内容はパラレルバス１７８により除去され、スーパーコンピュータのプロセッサ或いは制御ユニットのような目標１７６に送達される。その後バッファ２２１０はメッセージが存在しないことを示すために０にリセットされる。バッファ２２１０のメッセージの存在はバッファ内のトラフィックビット２０２により示される。トラフィックビットは、ペイロードがバッファ内にあり、次のサイクル４２２の前に除去されるべきであるということを示す。
第１図、第１２Ｂ図、第２２Ａ図及び第２２Ｂ図を参照すると、構造体２２０６におけるバッファ２２１０の入力タイミングは、そのバッファが異なる列において制御セル２２０２に接続されるため、各ＦＩＦＯ１１０２に対して異なる。時間差は制御セルにおける遅延素子から生じ、時間ｔc１２４０に等しい。列タイミング信号はタイミングポート１６８において外部的に利用可能である。
行及び列アドレス指定
第１図、第２図及び第１５Ｂ図を参照すると、列アドレスヘッダ２１２を有するメッセージ２００は特定の行及び列において出力ポートに向けられる。スイッチ１００の一実施例では、レベル０制御セル１５５０は列アドレス２１２を読み出し、そのアドレスが制御セルの列位置に一致する場合にはメッセージを下方に送出する。多くの列を有する相互接続構造体では、行先列に到達する前に、レベル０における行に優先的に落ちるレベル１のメッセージがそうならない間に、多くのセル１１５０を通り右側に移動するようになる。従ってレベル０制御セル１５５０を用いるスイッチ１００の実施例は、スイッチから常にメッセージを効率的に排出せず、それによりより高次のレベルにおけるメッセージ遮断の可能性を増加する。
第１図、第２３Ａ図、第２３Ｂ図及び第２３Ｃ図を参照すると、レベル０における出力構造体１８０は、遮断されない場合には、出力ポート１７６への行及び列アドレス２３０８と共に、即座にメッセージ２００を転送する。レベル０のメッセージＡは行０列２にアドレス指定される。メッセージＡは、列アドレス２１２を読み出し２３１４、経路２３１２において下方へのメッセージを出力制御２３２２に送出する制御セル２３１０に入り、そのメッセージはＦＩＦＯバッファ１１１２に至る経路２３２６において右側に移動し、バッファ１１１２は目標出力ポート１７６に接続される。次の列において優先的にセル２３１６に入るべきセル２３１６の上側のレベル１セルにおける別のメッセージ２００は、レベル０においてセル２３１０から右側に送出されるメッセージにより遮断されないことが好ましい。制御セル２３２２から経路２３３０において右側に移動するメッセージは、セル２３１６が、レベル０において制御セル２３１０に上方にビジー信号２３１６を送出することにより同じアドレス２３０８へのメッセージを下方に送出しないようにする。同じ行及び異なる列にアドレス指定されるセル２３１６の別のメッセージは、経路２３３０のセルにより遮断されない。それゆえ同時発生するメッセージが同じ行において異なる列に向けられるセル２３１０及び２３２２を用いるスイッチ１００の実施例では、レベル０における制御セル１５５０を用いる実施例において生じる遮断が生じない。
バス２３１８はビジー信号２３１６及びデータ経路２３１２を備え、制御セル２３１０を下側レベルへの構造体２３２０に接続する。構造体２３２０はＫ個の制御セル２３２２を備える。ただしＫは列の数である。
マルチキャスト制御
大型スイッチの所望の機構はマルチキャスト送信能力、すなわち多くの或いは全ての出力ポートへの１つのメッセージの送信である。別の実施例では１つのスイッチ１００が、１対全メッセージルーティング及び１対１メッセージルーティングを同時に実装する。この実施例の方法は、メッセージが次ぎの下側レベルに入る各時点で、マルチキャストメッセージが複製されることになる。所望の結果は、メッセージが最終的にレベル０に到達する際に、スイッチの全ての行に対して１つの複製が生成されるということである。その後マルチキャストメッセージはレベル０における各行に沿って右側に移動し、複製が各列において下方に降下し、全ての出力ポート１５４がメッセージの複製を受信するという望ましい結果が得られる。
第２４Ａ図はマルチキャストメッセージ２３０に対する制御セル２４００を示しており、第２４Ｂ図、第２４Ｃ図及び第２４Ｄ図は、マルチキャスト制御セル２４００の異なる状態を示す。ここで記載され、第２４Ａ図、第２４Ｂ図、第２４Ｃ図及び第２４Ｄ図に示されるマルチキャスト能力は、マルチキャスティングが付加的な制御セルロジックのコストで任意の実施例において構築されるように全ての他の実施例と矛盾しない。第２図、第１０図、第１２Ａ図、第１２Ｂ図、第１３Ａ図及び第１３Ｂ図と共に第２４Ａ図を参照すると、マルチキャストメッセージ２３０は、トラフィックビット２０２に後続するマルチキャストビット２２０と呼ばれるヘッダの第２のビットを含む。
マルチキャストビットが「０」に設定される場合には、そのメッセージは行ヘッダ２０４及び列ヘッダ２１２により確定される１つのポートに送出される。一対一伝送を制御するための技術は、第１２図、第１３図、第１４図及び第１５図に対して概ね記載されたのと同じである。付加的な遅延素子が、マルチキャストビット２２０を保持するために制御セル２４００に含まれる。トラフィックビット２０２が「１」であり、マルチキャストビットは「０」である場合には、一対一伝送を示しており、制御セル２４００は最上位ビット２０８及びビジー信号ＢＳ２４０６を検査し、メッセージが下方にルーティングされるか、或いは右側にルーティングされるかを判定する。メッセージ２３０は下方にルーティングされる場合には、トラフィックビット（「１」）及びマルチキャストビット（「０」）はラインＳ２４１２に下方に連続して送出される。２つのサイクルが終了した後、接続部が遅延素子０１とラインＳとの間に形成され、最上位ビット２０８に後続するビット１００４が、次のレベルにおける最上位ビットになるという有利な結果を生じる。そのメッセージは２ビットだけ前進し、第１２Ａ図及び第１２Ｂ図に示されるレベル間タイミング条件を保持する。
マルチキャストビット２２０が「１」である場合には、メッセージ２３０は、下側レベルにおける上側行及び下側行の両方がメッセージの複製を受信するまで右側にルーティングされる。メッセージ２３０が右側に移動する際に、そのメッセージは下側レベルの上側１０１５及び下側１０１６行まで優先的に降下する。第２４Ｂ図を参照すると、「上側」ビット２２４及び「下側」ビット２２６は最初に「１」に設定され、メッセージが下側レベルにおけるいずれの行にもまだ送出されていないということを示す。
第２４Ｂ図では、メッセージＦが、ラインＢＳ上の遮断信号が「０」であるような遮断されない制御セルに入る。メッセージＦの複製は右下側２４３２に送出される。制御セルは下側行上に配置され、それゆえ右側に向かう複製の「下側」ビット２２６は「０」に設定され、その分岐が満足された２４３４ということを記録する。マルチキャストメッセージの複製が下方２４１２に送出される際に、下方に向かう複製の上側２２４及び下側２２６ビットの両方が「１」にリセットされ、メッセージが下側レベルにおいて再び複製されるようになる。
第２４Ｃ図及び第２４Ｄ図を参照すると、メッセージＦが上側セルに接続されるセルに右側に移動する。このセルは下側２４３６から遮断され、メッセージは右側に継続する。メッセージＦは最終的に、上側セルに接続される非遮断制御セルに到達する。そのセルでは、メッセージＦの複製が最終的に下方２４３８にルーティングされ、右向きヘッダの「上側」ビット２４４が「０」２４４０に設定される。ここで上側及び下側マーカビットは０であり、メッセージが下側レベルにおいて複製されたことを示しており、メッセージがもはや右側に伝送されないようになる。
第２４Ｂ図、第２４Ｃ図及び第２４Ｄ図は、「１」のマルチキャストビットセットを有するメッセージを記載する。メッセージが下側レベルにおける適当な行まで２回降下するまで、メッセージは右側に移動する。メッセージが降下する場合に、マーカビット２２４及び２２６の両方が「１」に設定される。レベル０が到達されるまで、この複製はスイッチ内において継続される。相互接続構造体がＬレベルを含むため、Ｌ回の複製が行われ、２Ｌ行がメッセージの複製を含む。メッセージが降下する各時点で、下側レベルにおける２つの行の１つが上側半分に配置され、残りの１つが下側半分に配置される。この方法は、第７図において記載される２値木の全ての分岐が取られることを確実にする。最終的な結果はレベル０における全ての行がメッセージの複製を受信することである。
メッセージはスイッチ１００の外側に配向された場合、選択的な列ビットマーク２２８が形成される。ビットマークは一連のＫビットであり、それぞれスイッチ内の列を表す。ビットマークのビットが「１」に設定される場合、メッセージはその対応する列の全ての行に配向される。１対全マルチキャスティングを達成するために、列ビットマークの全てのビットは最初に「１」に設定され、その結果全ての列及び行がメッセージを受信する。別法では、列のサブセットが、ビットマーク素子のサブセットのみを「１」に設定することにより選択される場合もある。省略された列は「０」に設定される。この方法は１対多マルチキャスト能力を提供し、全ての行及び選択された列のみがメッセージを受信する。別法では、上側２２４及び下側２２６マーカビットの一方のみが最初に「１」に設定され、もう一方が「０」に設定される場合には、レベル０における上側行或いは下側行のみがメッセージを受信する。それゆえ、「０」或いは「１」に無関係に上側２２４及び下側２２６マーカビット並びに列マーカビット２２８を設定することは、マルチキャストメッセージを目標のサブセットに配向するという利点がある。
レベル０では、マルチキャストメッセージは各行において右側に移動し、左側に循環し、最後に全ての列を横断する。所与の行の場合、ビットマスクにおける各ビットを用いて、メッセージが各列において下方に送出されるか否かを指標する。メッセージが下側から遮断されず、列を表すビットが１である場合には、メッセージの複製は、ビットマスクを用いないという利点を有し、下方に送出される。第１５Ｂ図の場合に記載されるように、トラフィックビット２０２及びペイロード２０６のみがそのスイッチを出る。同時にメッセージの複製は右側に送出され、ビットマスクにおける列位置が「０」に設定され、列の行先が満足されたことを示す。メッセージが降下しない場合には、そのメッセージは右側への移動を継続し、ビットマスクは変更されない。遮断されたメッセージは循環し、最終的に再び遮断されたセルを通る。ビットマスクの全てのビットが０である場合には、全ての目標となる列がメッセージを受信したことを示しており、そのメッセージはレベル０においてそれ以上右側に伝送されない。
上記内容は、１つの入力ポートからレベル０における全ての行まで、さらにレベル０の各行から全列までメッセージをマルチキャストするための構造体及び技術を記載しており、それにより１対全伝送の所望の要件を満足する。選択された列の全ての行に対する１対多伝送も記載される。さらにマルチキャストメッセージ及び非マルチキャストメッセージルーティングは、同じスイッチ内で同時に生じるという利点がある。
２Ｄ、３Ｄ及び４Ｄシステム
メッセージフロー制御の形態及び方法は、スイッチ１００の実施例の利用可能なスループット及び効率が、スイッチの大きさの上限により確定されないように非制限的に増減する。スイッチの大きさが無限大に接近するに従って、全可能な入力に対する入力ポートの好ましい比（第２０Ａ図、第２０Ｂ図及び第２０Ｃ図の場合に記載される）は、概ね１対３から１対６の範囲になる。実際にスイッチ１００の任意の実施例における最大限の大きさに対する制限はデバイスのピン数である。従って１集積回路チップ実装の最大の大きさはピンにより制限される。スイッチは、技術的な制限により設定されず、著しく多いＩ／Ｏポートを有するように構成されることが好ましい。多数チップ実装は、概ね実用上の制限なしにポートの数を増減するための構造体及び技術を提供する。３つの方法が以下に与えられ、それぞれ２次元（２Ｄ）、３次元（３Ｄ）及び４次元（４Ｄ）相互接続法と呼ばれる。
第２５Ａ図、第２５Ｂ図及び第２５Ｃ図を参照すると、「ｎＤ」マルチチップスイッチの場合のメッセージのレイアウトが示される。２Ｄスイッチの場合のメッセージ２５０２は２つのヘッダ２０８及び２５０８を備える。３Ｄスイッチの場合のメッセージ２５０４は３つのヘッダ２０８、２５０８及び２５１０を備える。４Ｄスイッチの場合のメッセージ２５０６は４つのヘッダ２０８、２５０８、２５１０及び２５１２を備える。
第１図、第３図、及び第２５Ａ図と共に第２６Ａ図を参照すると、２Ｄスイッチ２６００は２つのスタック２６１０及び２６２０に接続することにより形成され、各スタックが、スイッチ１００の複製Ｃの１チップ実装体２６０２を備える。２Ｄスイッチ２６００の好適な実施例では、Ｃはレベル０における行数である。２つのスタックは特定の配列のバス接続部２６０４により接続される。第１のスタック２６１０のチップ２６２０の出力２６０４は、それぞれ第２のスタック２６１２の各チップ２６３２、２６３４、２６３６及び２６３８の１つの入力に接続される。メッセージ２５０６のヘッダ２０８が、そのメッセージが何れの出力２６０４に配向されるかを確定する。任意の入力ポート２６２２において入力するメッセージは、第２のスタック２６１２における任意のチップの入力ポートに転送される。第１０図の場合に記載されるように、メッセージ２５０２が第１のスタック２６１０のチップ２６２０を通過する場合に、ヘッダ２０８が除去される。
第２のスタックにおける集積回路チップ２６３０に入るメッセージ２５０２は、厳密にはヘッダ２０８としてヘッダ２５０８を処理する。従ってヘッダ２５０８は、第２のスタック２６１２に入るメッセージの場合に上記したヘッダ２０８と等価である。接続バス２６０４における任意の入力において入力するメッセージは、目標出力２６４０に転送されることが好ましい。また第２６Ｂ図を参照すると、２つのスタック２６１０及び２６１２（上記のように相互接続される）の結果的な組み合わせは、ここで「ツイストキューブ」と呼ばれ、一方のスタックはもう一方のスタックに対して９０度ねじれているということを示す。スイッチ１００の適当な２Ｄ実施例では、接続バス２６０４は全ての出力ポート１５４のセット及びＦＩＦＯバッファ１５２が省略された同じ行アドレス２２０６におけるビジー信号ポート３７６を備える。そのタイミングを検討するのを簡単にするために、スタック２６１０における所与の出力列ピン１５４は第２のスタック２６１２における同じ列において入力ポート１０４に接続され、同様にビジー信号３７６は同じ列ポートビジー信号３０４に接続される。複数Ｃの集積回路チップを備える２つのスタックを与える場合、出力アドレス２６２０の全数はＣ2である。
第２５Ｂ図と共に第２７図を参照すると、３Ｄ相互接続スイッチが示される。第２７図に示されるレイアウトに対して、接続バス２６０４の場合に記載された同じ相互接続方法を適用することにより、当業者はより高次のスイッチを製造することが可能となろう。３Ｄスイッチは３つの段２７１０、２７２０及び２７３０を備え、それぞれの段がＣスタックのＣ集積回路チップを備える。３Ｄスイッチ２７００の好適な実施例では、Ｃはチップのレベル０における行数である。メッセージ２５０４の３つの行ヘッダ２０８、２５０８及び２５１０はそのメッセージの出力アドレス２７２０を確定する。出力アドレスの全数はＣ3である。
第２５Ｃ図と共に第２８図を参照すると、４Ｄ相互接続スイッチが示される。第２８図に示されるレイアウトに対して、接続バス２６０４の場合に記載された同じ相互接続方法を適用することにより、当業者はより高次のスイッチを製造することができる。４Ｄスイッチは２つの方形マトリックス２８１０及び２８２０を有し、それぞれのマトリックスがＣ2ツイストキューブ２６００を備える。４Ｄスイッチ２８００の一実施例では、Ｃはチップのレベル０における行数である。メッセージ２５０６の４つの行ヘッダ２０８、２５０８、２５１０及び２５１２はメッセージの出力アドレス２２２０を確定する。出力アドレスの全数はＣ4である。
スプリットヘッダスイッチ
マイクロコンピュータネットワークのような高速システムにおいて用いられるスイッチに対する主な設計の目的は低ラテンシー（待ち時間）である。第１８Ａ図、第１８Ｂ図、第１８Ｃ図及び第１９図において議論された制御及び技術からなるフラットラテンシーシステム及び第１６Ａ図及び第１６Ｂ図において議論された高速タイミング制御、並びにその組み合わせは、スイッチ１００の一実施例を介するメッセージのラテンシー或いはフライト時間を低減するように機能する。ここまで議論してきた場合では、メッセージの全てのヘッダビットは、第１のペイロードビットが入るようになる前にスイッチ１００の実施例に入り、それがヘッダの長さ（所与のＩ／Ｏスピードの場合）が絶対最小ラテンシーを確定することを示す。第２９Ａ図及び第２９Ｂ図は２分の１までこの時間を低減し、かつ２分の１までスイッチを移動するためのペイロードにかかる時間を低減するスプリットヘッダ実施例を記載する。
第２９Ａ図を参照すると、メッセージ２００は２つのメッセージ２９０２及び２９０４に外部から「分割」され、それぞれのメッセージが元の半分の長さを有する。別のヘッダビット２０４はそれぞれ、スプリットメッセージの各ヘッダ内に形成される。偶数位置２９１０のヘッダビットは、メッセージＡ２９０２のヘッダになり、同様に奇数ビット２９１２はメッセージＢ２９０４のヘッダになる。ペイロード２０４は半分に分割され、それぞれ２つのメッセージのペイロード２９１４及び２９１６を形成する。
第１図及び第２０Ａ図と共に第２９Ｂ図を参照すると、セクションＴ２９２４及びＵ２９２６を備えるスプリットヘッダスイッチが示される。各セクションはマスタ２９３０及びスレーブ２０３２制御アレイの別のレベルにおいて形成される。制御セクション内の細部を除いて、セクションは第１図に示されるスイッチ１００に同等である。マスタ制御アレイレベル２９３０は、上記のような制御アレイ１２０を備え、制御フローバス２９２２が追加される。制御バス２９２２はＲ経路を備えており、Ｒはそのレベルにおける行数である。各制御経路の入力ラインはマスタ制御セルのラッチ出力に接続され、同じレベルにおいて同等に位置するスレーブ制御セルに設定されるラッチを転送或いは複製する。制御フローバス２９２２は、１つのレベルにある全てのマスタ制御セルにおける全ラッチの設定を転送する。制御経路の出力ラインはスレーブ制御セルのラッチに接続される。マスタ制御セルの論理ゲートはヘッダを処理し、そのセルのラッチを設定する。スレーブ制御セルは、ヘッダ処理する論理ゲート及び第１のヘッダビットを除去する論理素子を省略する。
メッセージＡ２９０２は、メッセージＢ２９０４が入力ポート２９２８においてセクションＵ２９２６に入るのと同時に、２９２６におけるスイッチ２９００のセクションＰ２９２４の最上位レベルに入る。第１のヘッダビット２９１０は、そのメッセージが次の下側レベルに下方に移動する際に、メッセージＡから除去される。メッセージＢはメッセージＡに同期して移動する。従ってメッセージＢは、メッセージＡが移動するのと同時に、下側或いは右側に移動する。次の下側レベルでは、メッセージＢがマスタ制御処理に入り、マスタからスレーブへのラッチ設定を複製することによりメッセージＡを用いてその移動が複製される。メッセージＢが下側に移動する際に、第１のヘッダビット２９１２は除去される。また第１２Ａ図を参照すると、スイッチ２９００のタイミングは、１クロック周期１１１０内に両方のビットを移動させる。従ってビットは、クロック周期当たり２レベルの速度で下側に移動する。次の下側レベルでは、再びメッセージＡがマスタ制御セルに入る。メッセージが最下位レベルまで下側に移動するに従って、メッセージＡ及びＢは別々にマスタ制御セルを通過し、ヘッダビットを失う。その対のそれぞれのメッセージは、２レベル及び１クロック周期毎に１ビットを失う。
あるレベルにおける全ての制御セルの全てのラッチの状態を複製する概念は、２つより大きいセクションまで拡張される場合もある。例えば、メッセージ２００が第２９Ａ図に記載されるように３或いは４又はそれ以上のメッセージに分割される場合には、その組のスプリットメッセージに対するフライト時間はその結果生じるメッセージの数により分割される。各レベルは１マスタ制御処理のみを有する。他のセクションはスレーブである。マスタセクションは、降順レベルにおいて全てのセクション中を循環する。
選択的メッセージレイアウト
第３０Ａ図は選択的メッセージのレイアウトを示す。第１のビット２０２はメッセージの存在を告知し、タイミングビットとして用いられる。ヘッダビット（Ｈ１、Ｈ２、…）３００２は、電子メッセージ２０２における選択的メッセージと同じ役割を果たす。一実施例では、ヘッダビット３００２は、電子的ヘッダ２０４において離間するのと同様な方法において選択的ヘッダ内を順次離間される。別の実施例では、ヘッダビットはファイバ内の同じ物理的空間を占め、従って同時に生じるが、ｎ個の異なる色、すなわち波長分割多重（ＷＤＮ）と呼ばれる技術を用いる。この方式ではｎ個の異なる利用可能な波長（ｌ1、ｌ2、…ｌn）が用いられる。波長スロットｌkの光の存在が、そのタイムスロットＨkの光の存在と同じ情報を搬送する。他の実施例では、複合的な方式が適用される。例えばｎ／２波長を用いて、２つのタイムスロットを占有する場合もある。選択的ペイロード３０１０はデータを搬送し、電子的ペイロード２０６が電子的メッセージ２００において行うのと同じ選択的メッセージの目的を果たす。第３０Ａ図は、多くのタイムスロット及び波長において搬送されるペイロードの情報を示す。無効時間３００８が与えられ、電子メッセージが全ての光メッセージを捕捉し、光ファイバ内を伝搬する光信号のジッタを相殺することができる。
光制御セル
第３０Ａ図と共に第３０Ｂ図を参照すると、電気光学制御セル３０３０の実施例が示される。光メッセージ３０００形式のデータが、入力ラインＮＷ３０３６及びＳ３０３８を通りセル３０３０に入る。データは、出力ラインＳＥ３０３４及びＮ３０３２を通りセルを出る。そのセルが最上位レベル上にある場合には、出力ポートＮ３０３２を通りセルへ出るメッセージＮは、すぐ上側のセルの入力ポートＳ３０３８に入るであろう。セル３０３０が最も下側のレベルにある場合には、出力ポート３０３４を出るデータはそのスイッチを出るであろう。セル３０３０が最下位レベルにない場合には、出力ラインＳＥ３０３４を通りセルを出るデータは入力ポートＮＥ３０３６を通り別のセルに入るであろう。
セル３０３０の動作はセル１３００の動作と同じである。セル３０３０はスイッチのレベルＪにあるセルである。ＡＮＤゲート３０４０は、ラッチセット３００２がハイになる時間ウインドウ中に、タイミングビット２０２がＡＮＤゲート３０４０に到達する場合にのみ、「１」の出力を有する。タイミングビット２０２は、入力ポート３０３６を通りセルに入るメッセージのヘッダの第１のビットである。タイミングビット２０２は、ファイバタップ３０６６を通って到来し、Ｏ／Ｅ素子３０６２により電子工学的に変換される。ラッチセットパルス３００２はタイミング源３０４２からゲート３０４０に到達する。ＡＮＤゲート３０４０は「０」から「１」に遷移する際に、遅延素子３０４４が時間遅延ｄh３０１６後にラッチＬ３０４６を「１」に設定し、その時間遅延がタイミングビット２０２とヘッダビット３００２との間の時間周期である。ラッチ３０４６は正方向エッジサンプルアンドホールド回路であり、ゲート３０４０及び３０５０と共にヘッダビット３００２の値を捕捉し、さらに保持する。それゆえラッチ３０４６は静的１ビットレジスタとして機能する。
同時に、入力ラインＳ３０３８においてセル３０３０に入る光信号の小部分が、パッシブファイバタップ３０６４によりＯ／Ｅ変換素子３０４８に配向される。素子３０４８は２つの機能を有する。１つの機能は入力３００８を通りスイッチに入るメッセージからの光第１ヘッダビット２０２の検出である。ビットが検出されない場合には、素子３０４８は出力値「０」を有する。ヘッダビット２０２が検出される場合には、素子３０４８は、時間間隔ｄh３００８の間高電気的信号（「１」）を生成し、その時間周期は全光ヘッダが所与の点を通過するためにかかる時間である。ラッチ３０４６は、入力３０３８を通って入るメッセージのタイミングビットが「１」であるか、或いはレベルＪに対するヘッダビットが「１」であるかの何れかの場合においてのみハイパルス（「１」）を生成する。セル３０３０は、次の下側レベルにおけるセルの上側行セット７１６に接続されるセルである。次の下側レベルにおける下側行セット７１８に接続されるセルは、ゲート３０５０を有し、それはゲート３０５２に置き換えたものである。
ヘッダビットが電子工学的に変換され、電子デバイスが電気吸収モジュレータ３０５４及び３０５６を設定する時間中に、メッセージＭは遅延ループ３０６０に格納される。メッセージＭは遅延ループ３０６０から遅延ｄＤスプリッタ３０５８に伝搬する。スプリッタ３０５８はメッセージＭの同一の複製を電気吸収モジュレータ３０５４及び３０５６に送達する。電気吸収モジュレータ３０５４及び３０５６の一方のみが所与の時間において通過する。それゆえ光は出力ポート３０３２及び３０３４の一方のみを通りセル３０３０を出ることができる。素子３０５４及び３０５６は、ラッチ３０４６が状態を変更するまで、少なくとも次のラッチセット信号３００２が到来するまで、ラッチＬ３０４６により設定される固定状態を保持する。セル３０３０は電気吸収モジュレータを用いて構成される。当業者は、電気吸収モジュレータを、半導体光増幅器或いはリチウムニオブ酸ゲートに置き換えるためにセルを変更することができるであろう。
光入力セル
また第３０Ｅ図を参照すると、制御セル３０３０は、最上位或いは入力レベルを除いてスイッチ３０７０の全てのレベルに配置される。第３０Ｃ図は、スイッチ３０７０の入力レベルにおいてのみ配置される電気光学入力セル３０９２を示す。光メッセージＥ３０００は、トラフィックビット２０２が、他のメッセージと同期して入力セル３０９２におけるスイッチに入る時点で、外部的に組み立てられる。詳細には、そのタイミングは、外部メッセージＥが、ラインＳ３０３８においてセルに入る別のメッセージＢと同時に入力３０３７においてセル３０９２に入る。電気光学スイッチ３０５４が通過に設定される場合には、各メッセージのトラフィックビットは、同時にファイバ３０３４に到達するようになる。クロック式シフトレジスタ１１００における電気光学的メッセージに加えて、光ファイバ内のデータストリーム或いはメッセージ３０００の性質は、データが解放される後の時間まで、データが静的状態に保持されないというものである。光メッセージ３０００は通常動作状態にある。それゆえ入力セル３０９２は通常、入力３０３７において適当に時間をおいてメッセージ３０００を受け取る。
３０３８における下方からのメッセージＢ３０００の場合には、メッセージＢは上記の素子により検出され、ラッチ３０４６がモジュレータ３０５４において光メッセージＢが到達する前に、「１」に設定される。メッセージＢがセル３０９２に入る結果として、モジュレータ３０５４は非通過に設定され、外部メッセージＥは吸収され、さらにラインＢＮ３０３３における電気的ビジー信号は、そのメッセージがスイッチ３０７０により受け取られていなかったということを示す外部デバイスに上方に送出される。従って外部デバイスは、次のラッチセット３００２サイクルにおける注入の間に、別のメッセージＥを構築する。
別法では、外部メッセージＥ３０００が入力３０３７においてセル３０９２に入り、メッセージがラインＳ３０３８に到達しない場合に、メッセージＥは電気光学スイッチ３０５４を通り、最上位レベルにおいてセル３０９２を介して、レベル３において制御セル３０３０に入る。ラインＢＮ３０３３上のビジー信号は、外部デバイスに対して、そのメッセージがスイッチにより受け取られたということを示す。
一実施例では、スイッチ３０７０のレベル０セルは、メッセージに対する出力デバイスにおいて空間が存在するということを示す光制御信号を受信する。この実施例では、レベル０におけるセルは、他のレベルにおけるセル３０３０と同一である。別の実施例では、スイッチのレベル０制御セルは、出力デバイスがメッセージ２００を受け取ることができないことを示すための電子的制御信号を受信する。この実施例では、レベル０セルはレベル１におけるセルとはわずかに異なり、ファイバ入力３０３８及び関連するＯ／Ｅ変換器４０４８が電子光学的のみの接続に置き換えられる。
光スイッチ
第３０Ｅ図は、ファイバの相互接続部、制御セル及び光スイッチ３０７０の他の構成要素を示す。この図は第１７図と同様である。さらにスイッチ３０７０は、図示されず、一対の隣接列間のファイバ３０８６の長さが全ての列の場合に同じではないように等間隔に配置される必要がある列ではない付加的な列を有する。メッセージは最上位３０７２において入り、最下位３０７６において出る。
また第１７図を参照すると、行上を右側に移動するメッセージは、そのメッセージが最終的に下側に移動することができる制御セルに到達するまで、優先的に下側に降下するか、或いは右側に移動し続ける。制御セルＡ３０３０に入り、優先的に右側に移動する光メッセージＭ３０００は、ラインＮがセルＢをラインＳ３０３８の上側レベルに接続するラインＮのセルＡを出るであろう。光メッセージＭは通常、対角線経路３０８２に沿ってラインＳＥ３０３４においてセルＢを出るであろう。セルＢは、次の下側行における次の列にあるセルＣにラインＳＥにおいて接続され、セルＣはセルＡのすぐ右側に置かれるようになる。明白な迂回経路の目的は、メッセージＭが、優先的にセルＢからセルＣに移動するセルＢの別のメッセージＮを遮断するために情報を与えるようにすることである。下側レベルのメッセージＮは、第８Ａ図及び第８Ｂ図の記載において議論したように、より高次のレベルのメッセージより高い優先権を有する。実際にメッセージは、移動のシーケンスを流れ、光スイッチ３０７０において生ずる遮断は、同一に形成されたスイッチ１７００を通って移動する電子的メッセージ２００の場合と同じである。
ファイバタップ３０６６及び３０６４において比較的小さなエネルギー損失を有する制御セルにおける３ｄＤスプリッタ３０５８は、光信号の振幅を減少させる。信号損失を補償するために、増幅器及び再生器３０９０が列間に挿入される。再生器３０９０は２つの機能を実行する。１つは光信号３０００をさらに処理するために十分な強度まで増幅することであり、もう１つはファイバにおいて搬送される２値情報を成形或いは再生し、信号対雑音品質を改善することである。半導体光増幅器或いはリチウムニオブ酸ゲートを用いる別の実施例では、信号はシステムにより劣化し、再生が必要とされる。
メッセージＭは、所与の時間において１列以上に及ぶ場合がある。実際にはメッセージの第１のビットが、メッセージの最後のビットがスイッチに入る前に、スイッチから出る場合もある。スイッチ３０７０の一実施例では、右側からの出力ラインは左側における同じレベルの入力ラインに直結される。この実施例では、全メッセージがあるレベルにおいて有利に適合し、メッセージの第１のビットが行の周りをループせず、メッセージの他の部分と衝突しないことを確実にする。この特性は、電子的及び光学的実装形態の両方に当てはまる。典型的には全てのメッセージは典型的には同じ長さではないということに注意されたい。
スイッチ３０７０のタイミング制御は、そのメッセージが、同時に所与のレベル及び列の全てのセルに到達するようにすることである。例として、制御セルを有する３つの列及び４つのレベル並びに入力セルを有する付加的なレベルを備える第３０Ｅ図の実施例を検討する。列０と列１との間の距離は、列１と列２との間の距離に等しいが、列２から列０への距離よりは短い。スイッチは２つの長さのメッセージ、すなわちショートメッセージＳ及びロングメッセージＭを搬送するように設計される。右向き出力ポート３０８５は同じ行上の入力ポート３０８３に直結される。さらに、ショートメッセージＳは同じ行上の２つのノード間に適合する。従って行Ｒ、レベルＷ及び列ＣにおけるセルＡ、並びに行Ｕ、レベルＷ及び列Ｃ＋１におけるセルＤの場合、ショートメッセージがセルＡからセルＢまで移動する場合に、メッセージＳの第１のヘッダビットがセルＤに到達する時点で、メッセージＳの最後のメッセージビットは既にセルＡのノードを出ている。
別の例では、メッセージが、４つのノードを通るだけ十分に長い時間所与のレベルに留まる。クロックＸは不規則的に刻時し、状態０、１及び２を巡回する。ある基準時間ｔ（ｏ）において、そのクロックＸは開始し、０を読み出す。ショートメッセージが時刻０において列１入力セル３０３０に挿入される。ショートメッセージＳは時刻０において列０のスイッチに挿入される。そのメッセージは変更されず、時刻ｔ1における列１のレベル３セルに到達する第１のヘッダビットを有する。メッセージＳはレベル３に留まり、時刻ｔ2において列２のレベル３セルに到達する第１のヘッダビットを有する。メッセージＳはレベル３に留まり、時刻ｔ3において列０のレベル３セルに到達する第１のヘッダビットを有する。遅延時間Ｄ１は、ｔ2−ｔ1と定義される。遅延時間Ｄ２はｔ3−ｔ2と定義される。そのクロックＸは時間Ｄ１において状態０から状態１まで遷移し、時間２×Ｄ１において状態「１」から状態ＴＷＯまで遷移し、時間２×Ｄ１＋Ｄ２において状態ＴＷＯから状態「０」まで遷移する。その時間間隔は、そのクロックが時間２×Ｄ１＋Ｄ２において状態「０」から状態「１」まで遷移するように延在する。
スイッチにメッセージを挿入するために、１つのパルスが加えられる。そのクロックが状態ｔに遷移する際に、ショートメッセージが列ｔの入力制御セルに挿入される。ショートメッセージが時刻ｔにおいて列Ｃの入力制御セルに挿入されることができる場合、ロングメッセージが時刻ｔ＋Ｄ１において列Ｃ入力制御セルに挿入されることができる。従って、ショートメッセージは整列され、ロングメッセージは整列される。スイッチタイミングの残りの部分は、セル間のファイバの長さ及び遅延ループの長さに依存する。ファイバ及び遅延ループの長さは、電子デバイスが正確にスイッチを操作するように、メッセージが、入力ポートＮＷ３０３６及びＳ３０３８に至る所与のセル３０３０に到達するように調整されることができる。遅延ループ３０６０は、適当な大きさに形成され、ループを通過するメッセージが、スイッチが切り替えられた後に電気光学スイッチ３０５４及び３０５６に到達するようになる。最終的に、遅延ループ３０６８は、何れかのポートから到達するメッセージが同時にそのセルを出るように調整される。
ハイブリッド電子工学／光学制御
第２９Ｂ図を参照すると、マスタ／スレーブ関係がスイッチを通るデータを効率的に移動する。スイッチ２９００は制御機能を実行し、その制御機能ではマスタ及びスレーブ実装形態が同じ技術及びマスタがスレーブを駆動することができるメッセージフローシステムを組み込む。スレーブが、通過するメッセージに関してパッシブに動作する。マスタ及びスレーブがメッセージフローに関して機能的に同一であるが、タイミングが異なる場合、そのタイミング差は調整され、スイッチ１００の有効なマスタ／スレーブ実施例を実現する。詳細には、比較的長いペイロード２０６を有するメッセージに対する最も低い可能なラテンシーを目的とする場合、メッセージヘッダのみを処理する電子的スイッチと共に、高速の非常に広帯域の光スイッチを制御することにより利点が得られる。
ハイブリッド電子工学／光学組合体は超低ラテンシー、高帯域幅スイッチを相互依存的に形成するために、二つの技術の最もよい部分を活用する。第３０Ａ図及び第３０Ｂ図を参照すると、光メッセージ３０００は比較的長いダーク時間３００８及び長いヘッダ３００４を有し、制御セル３０３０内の光学／電子工学デバイスにより処理される「ファット」（より長い時間間隔）光ビット３００２を含む。すなわち、光メッセージ３０００のペイロード３０１０部分は、完全なメッセージ長の小さな断片である。長いヘッダビット及びダーク時間３００８は、光タイミングのジッタを概ね相殺する。制御セル３０３０当たりのコストは、高価な高速検出器及び電気光学スイッチを用いないことにより低減される。ヘッダ及び制御セルに対する時間は、遅延ループ３０６０及び３０６８、約長さ１ｍにより形成される。さらに、遅延ループの無効な遅延は制御セルごとに繰り返される。一方スイッチ３０７０の全てのラッチ３０４６は、光ペイロード３０１０が入る前に事前に設定される場合には、遅延ループは用いられず、制御セルは極めて近接して配列され、スイッチを通る光ペイロードのフライト時間或いはラテンシーにおける大きさの減少の度合いよりより大きな利点をもたらす。
第３０Ｂ図及び第３１図を参照すると、制御セル３０３の高速電気−光学変換器３０４８及び３０６２は高価であり、適当な高速スイッチング電気吸収モジュレータもまた高価である。光スレーブセル３１００は両方のＥ／Ｏ変換器を削除し、より高速の電気光学スイッチ３１２４を用いる。セル３１００は低価格であり、セル３０３０は高速である。同じ形態の電子的スイッチ及びメッセージフローは、トラフィックビット２０２及び行ヘッダ２０４を含むメッセージヘッダのみを処理する。ペイロードが処理されないため、データ出力ポート１５４は電子的スイッチには用いられない。
第１６Ｂ図の議論において説明したような高速ロジックを用いる場合、所与の列における電子的スイッチ１６２０の全てのラッチは、最後のヘッダビットがスイッチに入った後の１クロック周期に設定される。例えば、１１ヘッダビットを有する１０レベルスイッチが動作する場合、ラッチ３１１６を設定するには５００Ｈｚで約２０ｎｓｅｃかかる。第２９Ｂ図のストリップヘッダスイッチを参照し、高速技術を用いる場合、設定時間は１０ｎｓｅｃまで低下する。電子的スイッチを通って下方に移動するヘッダビットと同時に、各ラッチ１０１６の状態は光スレーブセル３１００に外部的に複製される。１つの行及びレベルにおけるラッチは順番に、すなわち左側から右側に設定されるため、１つ或いはそれ以上の行の設定は、１つの出力ピン３１１４により伝送されるということに注意されたい。各行及び列相互接続部を含む各制御アレイ３１１２に対するタイミングストローブ信号３１１０を用いて、ラッチ状態信号を生成し、さらに信号３１２４を光スレーブセルのラッチ３１２８に複製する。ラッチ３１２８は１つの電気光学スイッチ３１３０或いは３１３２を通過状態に設定し、もう一方を非通過状態にする。電子光学スイッチ３１３０及び２１３２は、光ペイロードが到達する前に状態を変更するだけの十分な時間を有しており、結果的に低コストのデバイスが用いられる。
第３２図を参照すると、ハイブリッド電子工学／光学スイッチ３２００の一実施例では、第１７図において用いられた同じレイアウトルールが、電子工学及び光学セクション両方に対して用いられる。そのタイミングの違いを相殺するために、最初に電子的ヘッダが電子的スイッチに入り、ラッチ状態が光学セクション３１００に伝送される３１１４。全てのラッチが設定される場合、光ペイロードは送出され、遅延ループ３０６０及び３０６８を除くファイバが非常に短いため、非常に短い全経路長を通って移動後にペイロードが存在する。再生が用いられる場合、余分の経路長が加えられる。光ペイロードのテイルが光学セクションの最上位レベルに入るとすぐに、新しい電子的ヘッダが電子工学セクションに送出される。各セクションの相対的なラテンシーにより、電子工学及び光学処理が幾分オーバーラップすることが望まれ、それにより高速セクションに入るメッセージ間の無効な時間を低減する。
第３１図及び第３２図を参照すると、制御フローの相互接続部が、第１７図のスイッチ１７００から導かれるハイブリッド電子工学／光学スイッチ３２００の２つのレベル及び２つの列の場合に示される。電子工学セクションの各行に沿ったラッチ設定ｄ３１０６は、制御ライン３１１４を介して、光学セクションの同様に位置するラッチ３１００まで転送される。タイミングストローブ３１１２を用いて、１つの出力点からのラッチ設定を多重化する。
電気工学的マスタのタイミング同期が光学スレーブのタイミングと大きく異なる場合には、バッファを利用して、光スレーブが設定を必要とするまで、電子的に与えられるスイッチ設定を格納することができる。区画Ａ及びＢを有する２つの長いシフトレジスタがそれぞれの光学セルに関連する。光マスタは区画Ａにデータを送出する。区画Ｂが空きの場合、そのビットは区画Ａから区画Ｂまで流れる。光セルがデータを準備する場合、光セルは区画Ｂからデータ抽出する。
３つの異なる応用例が議論される。
第１の応用例は、１つのメッセージのみが光スイッチの最も短い行に適合する場合を議論する。そのスイッチに対する入力デバイスが目標にデータを送出する際に、デバイスはヘッダを電子的マスタスイッチに挿入する。そのデバイスは、遮断条件のため、データを注入するのを待機しなければならない。ヘッダの第１のビットが電子的マスタにより受け取られると直ぐに、光メッセージの構築がゲートの設定と共に開始される。光メッセージがスイッチアレイに入る際に、全てのスイッチが設定される。そのメッセージがスイッチアレイを移動する間に、他のメッセージが注入前に電子形式から光学形式に変換される。またさらに他のメッセージは再生される。そのさらなる他のメッセージはスイッチから出て、光学形式から電子工学形式に変換される。それゆえ光スイッチを通る全移動時間は、同時セルにより完全に隠蔽される。
第２の応用例は、並列式の電子工学的複製を活用し、いくつかのメッセージが光スイッチのレベルの１つの行を占有する際に用いられる。ラッチ設定の付加的なバッファリングが用いられる場合もある。そのスイッチの第２の形態では、光スイッチの各行はＫメッセージまでを含む。光スイッチはワームホール処理を実行しない。光学スイッチはＫ列を含む。その回路の電子的部分は、光スイッチのＫ個の電子的複製を含む。その複製はそれぞれワームホール状に実行する。光スイッチの列はＣ0，Ｃ1，．．．ＣK-1を付される。電子スイッチはＮ0，Ｎ1，．．．ＮK-1を付される。時間０では、電子工学スイッチｎは１つの光スイッチの光列ｎにデータを送出する。時間１では、電子工学スイッチｎは光スイッチｔ＋ｎ  ｍｏｄ  Ｋにデータを送出する。ラッチ設定はバッファリングを用いる場合もある。
第３の実施例は、光スイッチの各レベルにおけるいくつかのメッセージを促進する。ワームホールルーティングが用いられ、タイミング要件を満足するためにスイッチにおいてバッファリングが用いられる。そのスイッチはＫ個の複製、すなわち電子的スイッチのＮ0，Ｎ1，．．．ＮK-1及びＫ列Ｃ0，Ｃ1，．．．ＣK-1を有する１つの光スイッチを備える。電子的スイッチＮ１は、光スイッチの各セルに関連する一組の２つの長いバッファを備える。各電子的スイッチでは、ヘッダのワームホールルーティングが生じる。時間０では、スイッチＮ0はヘッダを処理し始め、そのスイッチの設定を光セルに送出する。時間Ｄでは、スイッチＮ1はデータを処理し始め、光セルにスイッチの設定を送出する。一般に、時間Ｄ0では、スイッチＮＫはデータを処理し始め、その設定を光スイッチに送出する。電子的スイッチがヘッダを処理し始める各時点で、光メッセージは構築処理を開始している。時間Ｋ（Ｄ＋１）では、電子的スイッチＮ１に関連する光メッセージが開始され、このセルはデータの波が光スイッチを通って送出されるように継続する。
本発明は種々の実施例をもとに記載されてきたが、これらの実施例は例示であり、本発明の範囲を制限するものではないということは理解されよう。ここで記載される実施例の多くの変形例、変更例、追加例及び改善例が可能である。例えば当業者は、ここに記載される構造体及び方法を実現するために必要とされるステップを容易に実装することができ、また当業者は処理パラメータ、材料及び寸法が例示のみにより与えられ、本発明の範囲内で所望の構造及び変更を実現するために変更されることができることは理解されよう。さらにそのスイッチは「左」、「右」、「上方」及び「下方」の方向に関する用語において説明される。この用語は例示の実施例の理解を助けるためにのみ用いられる。実際の方向は含まれない。さらに多くの異なる種類のデバイスが、限定はしないが、ワークステーション、コンピュータ、端末、ＡＴＭ交換器、電話中央局装置、イーサネット及びＩＰスイッチなどを含む相互接続構造体を用いて接続されることができる。
本説明及び請求の範囲は、多くの寸法において配列される相互接続構造体を参照する場合がある。寸法に対するこの参照は、相互接続構造体の形態を理解する上で有用である。しかしながらこれらの寸法は空間的な寸法に制限されるわけではなく、概ねある特定の方法において相互接続される一連のノードにも及ぶ。ここで開示される実施例の変形例及び変更例は、以下の請求の範囲に含まれる本発明の範囲及び精神から逸脱することなく、ここで説明される内容に基づいて実施されることができる。
【図１Ａ】
0004571239.tif 000006
【図１Ｂ】
0004571239.tif 000007
【図１Ｃ】
0004571239.tif 000008
【図１Ｄ】
0004571239.tif 000009
0004571239.tif 000010
【図２Ａ】
0004571239.tif 000011
【図２Ｂ】
0004571239.tif 000012
【図２Ｃ】
0004571239.tif 000013
【図３】
0004571239.tif 000014
【図４】
0004571239.tif 000015
【図５Ａ】
0004571239.tif 000016
【図５Ｂ】
0004571239.tif 000017
【図６Ａ】
0004571239.tif 000018
【図６Ｂ】
0004571239.tif 000019
【図６Ｃ】
0004571239.tif 000020
【図７Ａ】
0004571239.tif 000021
【図７Ｂ】
0004571239.tif 000022
【図８Ａ】
0004571239.tif 000023
【図８Ｂ】
0004571239.tif 000024
【図９】
0004571239.tif 000025
【図１０】
0004571239.tif 000026
【図１１Ａ】
0004571239.tif 000027
【図１１Ｂ】
0004571239.tif 000028
【図１１Ｃ】
0004571239.tif 000029
【図１２Ａ】
0004571239.tif 000030
【図１２Ｂ】
0004571239.tif 000031
【図１３Ａ】
0004571239.tif 000032
【図１３Ｂ】
0004571239.tif 000033
【図１４】
0004571239.tif 000034
【図１５Ａ】
0004571239.tif 000035
【図１５Ｂ】
0004571239.tif 000036
【図１６Ａ】
0004571239.tif 000037
【図１６Ｂ】
0004571239.tif 000038
【図１７】
0004571239.tif 000039
【図１８Ａ】
0004571239.tif 000040
【図１８Ｂ】
0004571239.tif 000041
【図１８Ｃ】
0004571239.tif 000042
【図１８Ｄ】
0004571239.tif 000043
【図１９】
0004571239.tif 000044
【図２０Ａ】
0004571239.tif 000045
【図２０Ｂ】
0004571239.tif 000046
【図２０Ｃ】
0004571239.tif 000047
【図２１Ａ】
0004571239.tif 000048
【図２１Ｂ】
0004571239.tif 000049
【図２１Ｃ】
0004571239.tif 000050
【図２２Ａ】
0004571239.tif 000051
【図２２Ｂ】
0004571239.tif 000052
【図２３Ａ】
0004571239.tif 000053
【図２３Ｂ】
0004571239.tif 000054
【図２３Ｃ】
0004571239.tif 000055
【図２４Ａ】
0004571239.tif 000056
【図２４Ｂ】
0004571239.tif 000057
【図２４Ｃ】
0004571239.tif 000058
【図２４Ｄ】
0004571239.tif 000059
【図２５Ａ】
0004571239.tif 000060
【図２５Ｂ】
0004571239.tif 000061
【図２５Ｃ】
0004571239.tif 000062
【図２６Ａ】
0004571239.tif 000063
【図２６Ｂ】
0004571239.tif 000064
【図２７】
0004571239.tif 000065
【図２８】
0004571239.tif 000066
【図２９Ａ】
0004571239.tif 000067
【図２９Ｂ】
0004571239.tif 000068
【図３０Ａ】
0004571239.tif 000069
【図３０Ｂ】
0004571239.tif 000070
【図３０Ｃ】
0004571239.tif 000071
【図３０Ｄ】
0004571239.tif 000072
【図３０Ｅ】
0004571239.tif 000073
【図３１】
0004571239.tif 000074
【図３２】
0004571239.tif 000075