(57)【要約】相互接続構造ファミリーと、スケーラビリティ、低レイテンシー、及び単一チップ実装を達成するべく、この相互接続構造を利用するスイッチ。開示されている相互接続構造及びスイッチは、スーパーコンピュータ相互接続、ＬＡＮスイッチ、ＩＰ及びＡＴＭスイッチ、電話局の基幹のスイッチング、オンデマンドのビデオのサーバ、メインフレーム・データベースサーバの相互接続網、高速ワークステーション相互接続網、及び当業者に公知であるその他多数を含む多種多様の適用をサポートする。
2004529516.tif 000002
【特許請求の範囲】
【請求項１】
相互接続構造であって、
各々が複数の入力ポート（２４０）及び複数の出力ポート（２４２）を備えた複数のノード（２０２）と、
複数の前記ノードと関連付けられたロジック（１９２０）と、
複数の前記ノードに含まれ、出力ポートｏｐｘを備えたノードＸとを有し、
前記ノードＸと関連付けられたロジックによって、入力端子セットＩＰＸの入力端子に進入するメッセージが前記出力ポートｏｐｘに送信されることが可能になるように、前記ノードＸが入力端子セットＩＰＸを備え、
メッセージＭＰが入力ポート・セットＩＰＸの入力ポートｐに到達し、且つ前記出力ポートｏｐｘからメッセージＭＰのターゲットへの経路が存在する場合に、入力ポート・セットＩＰＸに到達するメッセージの１つが、前記ノードＸを経由して進んでいないメッセージによって前記出力ポートｏｐｘがブロッキングされていない限りにおいて、この出力ポートｏｐｘに送信されるように、前記ノードＸと関連付けられた前記ロジックが作動可能であることを特徴とする相互接続構造。
【請求項２】
前記入力ポート・セットＩＰＸが任意のポートｑを含んでいて、
１）前記入力ポート・セットＩＰＸへの送信において、前記入力ポートｑが前記ノードｐを上回る優先権を有し、
２）前記入力ポートｑにメッセージＭｑが到達し、且つ前記出力ポートｏｐｘからメッセージＭｑのターゲットへの経路が存在する場合に、
前記ノードＸと関連付けられた前記ロジックは、メッセージＭＰが前記出力ポートｏｐｘに送信されないように作動することを特徴とする請求項１に記載の相互接続構造。
【請求項３】
更に、入力ポート・セットＩＰＸの構成要素から到達可能であるが、前記出力ポートｏｐｘからは到達不可能である相互接続構造出力ポートを有することを特徴とする請求項１に記載の相互接続構造。
【請求項４】
更に、入力ポート・セットＩＰＸの入力ポートから到達可能である各出力ポートが、前記出力ポートｏｐｘから到達可能であることを特徴とする請求項１に記載の相互接続構造。
【請求項５】
相互接続構造であって、
別個のノードＦＷ、ＦＢ、及びＦＸを含む複数の相互接続ノード（２０２）と、
メッセージ・セットＳＷのノードＦＷ経由での送信を含め、複数のメッセージを複数のノードを経由させて送信するための手段と、
メッセージ・セットＳＷのメッセージの一部のノードＦＷからノードＦＸまでを経由するルーティングを含め、メッセージ・セットＳＷのメッセージのノードＦＷ経由のルーティングに関する情報Ｉを送信するための手段と、
前記ノードＦＢ経由でメッセージをルーティングするように前記情報Ｉを用いるための、前記ノードＦＢに関連付けられた手段とを有することを特徴とする相互接続構造。
【請求項６】
更に、ノードＦＷからノードＦＢに送信されたメッセージ数を含む制御信号を前記記ノードＦＷからノードＦＢに送信するための手段を有することを特徴とする請求項５に記載の相互接続構造。
【請求項７】
相互接続構造であって、
ノードＸ、ノード・セットＴ、及びノードＹ及びＺを含むノード・セットＳを含む複数のノード（２０２）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
複数の前記ノードに接続された複数の出力ポート（２４２）と、
前記ノード経由の前記出力ポートへのデータの流れを制御するロジック（１９２０）とを有し、
前記ノードＸが、前記セットＳ内の任意のノードへデータを送信することが可能であり、
前記ノード・セットＴが、データを二者択一的に通過させる事が可能で、そうでない場合には前記ロジックによって前記ノードＸ経由で流れるように制御されるノードを含んでおり、
前記ノードＸを通過するデータにアクセス可能な任意の出力ポートが、前記ノードＹを通過するデータにも同様にアクセス可能であり、
複数の前記出力ポートが、前記ノードＸを通過するデータにはアクセス可能であるが、前記ノードＺを通過するデータにはアクセス不可能である出力ポートＯを含んでおり、
前記セットＴ内のノードを経由して送信されるデータ・メッセージの数を最大化させて、前記セットＴ内のノードからアクセス可能である出力ポート数が、前記ノードＸからアクセス可能である出力ポート数よりも小さくなるように、前記ノードＸ経由のデータの流れを前記ロジックが制御することを特徴とする相互接続構造。
【請求項８】
相互接続構造であって、
非交差ノード・セットＦＸ、ＦＹ、ＦＺ、及びＦＴを含む複数のノード（２０２）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
複数の前記ノードに接続された複数の出力ポートと、
前記ノード経由の前記出力ポートへのデータの流れを制御するロジックとを有し、
前記ノードＸが、前記ノード・セットＦＹ及びＦＺ内のノードを含む複数のノードにデータを送信することが可能であり、
ノード・セットＦＸ内のノードＸは、複数出力ポートのうちの出力ポートが前記ノードＸからはアクセス可能であるが、前記ノードＺからはアクセス不可能であることに対して、セットＦＺ内に対応するノードＺを有しており、
前記ノード・セットＴは、データを二者択一的に通過させることが可能で、そうでない場合には前記ロジックによって前記ノード・セットＦＸ内のノードを経由して流れるように制御されるノードを含んでおり、
前記ノード・セットＦＸ内のノードから前記ノード・セットＦＴ内のノードに送信されるデータ・メッセージの数を最大化させて、前記ノード・セットＦＴ内のノードからアクセス可能である出力ポート数が、前記ノード・セットＦＸ内のノードからアクセス可能である出力ポート数よりも小さくなるように、前記ノードノード・セットＦＸ経由のデータの流れを前記ロジックが制御することを特徴とする相互接続構造。
【請求項９】
相互接続構造であって、
ノードＸ、ノード・セットＴ、及びノードＹ及びＺを含むノード・セットＳを含む複数のノード（２０２）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
複数の前記ノードに接続された複数の出力ポートと、
前記ノード経由の前記出力ポートへのデータの流れを制御するロジック（１９２０）とを有し、
前記ノードＸが、前記セットＳ内の任意のノードへデータを送信することが可能であり、
前記ノード・セットＴが、データを二者択一的に通過させる事が可能で、そうでない場合には前記ロジックによって前記ノードＸ経由で流れるように制御されるノードを含んでおり、
前記ノードＸを通過するデータにアクセス可能な任意の出力ポートが、前記ノードＹを通過するデータにも同様にアクセス可能であり、
複数の前記出力ポートが、前記ノードＸを通過するデータにはアクセス可能であるが、前記ノードＺを通過するデータにはアクセス不可能である出力ポートＯを含んでおり、
前記セットＴ内のノードを経由して送信される有効なサービス品質（ＱｏＳ）ビットを備えたメッセージの数を最大化させて、前記セットＴ内のノードからアクセス可能である出力ポート数が、前記ノードＸからアクセス可能である出力ポート数よりも小さくなるように、前記ノードＸ経由のデータの流れを前記ロジックが制御することを特徴とする相互接続構造。
【請求項１０】
相互接続構造であって、
非交差ノード・セットＦＸ、ＦＹ、ＦＺ、及びＦＴを含む複数のノード（２０２）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
複数の前記ノードに接続された複数の出力ポートと、
前記ノード経由の前記出力ポートへのデータの流れを制御するロジックとを有し、
前記ノードＸが、前記ノード・セットＦＹ及びＦＺ内のノードを含む複数のノードにデータを送信することが可能であり、
ノード・セットＦＸ内のノードＸは、複数出力ポートのうちの出力ポートが前記ノードＸからはアクセス可能であるが、前記ノードＺからはアクセス不可能であることに対して、セットＦＺ内に対応するノードＺを有しており、
前記ノード・セットＴは、データを二者択一的に通過させることが可能で、そうでない場合には前記ロジックによって前記ノード・セットＦＸ内のノードを経由して流れるように制御されるノードを含んでおり、
前記ノード・セットＦＸ内のノードから前記ノード・セットＦＴ内のノードに送信されるハイクオリティなメッセージの数を最大化させて、前記ノード・セットＦＴ内のノードからアクセス可能である出力ポート数が、前記ノード・セットＦＸ内のノードからアクセス可能である出力ポート数よりも小さくなるように、前記ノードノード・セットＦＸ経由のデータの流れを前記ロジックが制御することを特徴とする相互接続構造。
【請求項１１】
相互接続構造であって、
別個のノードＮＦ、ＮＡ、及びＮＥを含む複数のノード（２０２）と、
前記ノードＮＦ、ＮＡ、及びＮＥ経由のメッセージのルーティングを制御する、前記ＮＦ、ＮＡ、及びＮＥの外部にある複数のスイッチ（６１８）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
相互接続構造を経由する１以上のヘッダ・ビットを含むメッセージＭＦとメッセージＭＡとを含み、複数のメッセージを送信するための手段と、
ノードＮＦに進入するように、前記メッセージＭＦのルーティングを行うための手段と、
ノードＮＡに進入するように、前記メッセージＭＡのルーティングを行うための手段と、
ノードＮＡ経由での前記メッセージＭＡのルーティングと、複数の前記スイッチの１以上の設定とを含む１以上の作業を実行するように、ノードＮＦからノードＮＥまでを経由するメッセージＭＦのルーティングに関する情報を用いるための手段とを有することを特徴とする相互接続構造。
【請求項１２】
相互接続構造であって、
複数の相互接続されたノード（２０２）であって、該ノードが、複数の入力ポート（２４０）及び複数の出力ポート（２４２）を備えており、ノードＸ及び該ノードＸの複数の出力ポートに含まれる出力ポートｏｐｘを含んでいる、複数の相互接続されたノードと、
前記ノードＸの入力ポート・セットＩＰＸであって、各々の入力ポートが前記ノードＸの出力ポートｏｐｘにデータを送信することが可能である、前記ノードＸの入力ポート・セットＩＰＸとを有し、
入力ポートｐが前記セットＩＰＸの構成要素であり、且つメッセージＭＰが入力ポートｐに到達する場合に、出力ポートｏｐｘへのデータ送信に対して入力ポートｐよりもより低い優先権を備え、且つセットＩＰＸの一構成要素にあるメッセージＭｑによって、メッセージＭＰの出力ポートｏｐｘへの送信が決してブロックされないように、前記入力ポート・セットＩＰＸ内の前記入力ポートが、出力ポートｏｐｘへのデータ送信に関して優先権関係を有することを特徴とする相互接続構造。
【請求項１３】
更に、
メッセージＭＰを送信することが可能な前記ノードＸの出力ポート・セットＯＭｐと、
前記出力ポートＯＭｐを、前記メッセージＭＰを経由させて送信するのが最も望まれるものから前記メッセージＭＰを経由させて送信するのが一番望まれないものまで順序付ける、前記ノードＸと関連付けられたロジックとを有し、
ノードＸに関連付けられた前記ロジックが、出力ポート・セットＯＭｐの最も望ましいブロックされていない構成要素に前記メッセージＭＰを送信することを特徴とする請求項１２に記載の相互接続構造。
【請求項１４】
前記相互接続構造は、該相互接続構造内の各ノードが最上位レベルＬから最下位レベル０まで階層的なレベルになっている複数レベル構造であり、
前記出力ポート・セットＯＭｐの出力ポート構成要素ｒが、レベルｎのノードｎｒに接続されており、且つ前記出力ポート・セットＯＭｐの出力ポート構成要素ｓがレベルｊのノードｊｓに接続されており、前記レベルｎが階層的にレベルｊよりも低く、更に前記ノードｎｒからメッセージＭＰのターゲットへの経路が存在する場合、前記ノードＸと関連付けられた前記ロジックによって、前記メッセーＭＰを経由させて送信させるのに前記ノードｎｒの方が前記ノードｊｓよりもより望ましくなることを特徴とする請求項１３に記載の相互接続構造。
【請求項１５】
相互接続構造であって、
複数の相互接続されたノード（２０２）であって、該ノードが、複数の入力ポート（２４０）及び複数の出力ポート（２４２）を備えており、出力ポートセットＯＰＥ内の各出力ポートが入力ポートｉｐｆにメッセージを送信可能であるように、入力ポートｉｐｆを含む入力ポートを備えたノードＦ、及び出力ポート・セットＯＰＥを含む複数の出力ポートを備えたノードＥを含んでいる、複数の相互接続されたノードと、
出力ポートｐが前記出力ポート・セットＯＰＥの構成要素であり、且つメッセージＭＰが出力ポートｐに到達する場合に、前記入力ポートｉｐｆへのデータ送信に対して前記出力ポートｐよりもより低い優先権を備え、且つ前記出力ポート・セットＯＰＥの一構成要素にあるメッセージＭｑによって、メッセージＭＰの入力ポートｉｐｆへの送信が決してブロックされないように、前記出力ポート・セットＯＰＥ内の前記出力ポートが、前記入力ポートｉｐｆへのデータ送信に関して優先権関係を有することを特徴とする相互接続構造。
【請求項１６】
更に、
メッセージＭＰを送信することが可能な、複数の前記相互接続ノード内に含まれる入力ポート・セットＩＰと、
前記出力ポートＩＰを、前記メッセージＭＰを経由させて送信するのが最も望まれるものから前記メッセージＭＰを経由させて送信するのが一番望まれないものまで順序付けるのが可能な、前記ノードＥと関連付けられたロジックとを有し、前記入力ポート・セットＩＰがブロックされいないかどうかの決定を行い、更に前記入力ポート・セットＩＰのブロックされていない一番望まれる前記構成要素に前記メッセージＭＰを送信することを特徴とする請求項１５に記載の相互接続構造。
【請求項１７】
前記相互接続構造は、該相互接続構造内の各ノードが最上位レベルＬから最下位レベル０まで階層的なレベルになっている複数レベル構造であり、
前記入力ポート・セットＩＰの入力ポート構成要素ｎｒが、レベルｎの上にあり、且つ前記入力ポート・セットＩＰの入力ポート構成要素ｊｓがレベルｊの上にあり、更に前記入力ポートｎｒからメッセージＭＰのターゲットへの経路が存在する場合、前記ノードＥと関連付けられた前記ロジックによって、前記入力ポートｎｒの方が前記入力ポートｊｓよりも前記メッセーＭＰのより望ましい受信者となることを特徴とする請求項１６に記載の相互接続構造。
【請求項１８】
相互接続構造であって、
ノード・セットに配置された複数の相互接続ノード（２０２）であって、前記ノード・セット内のノードが複数の入力ポート及び複数の出力ポートを備えている、複数の相互接続ノードと、
前記ノード・セットのノード・サブセットＳと、
前記ノード・サブセットＳの構成要素である出力ポートのサブセットである出力ポート・サブセットＴと、
前記ノード・セットのノード・サブセットＵと、
前記ノード・サブセットＵの構成要素である入力ポートのサブセットである入力ポート・サブセットＶと、
前記ノード・サブセットＳの構成要素である出力ポートのサブセットである出力ポート・サブセットＷであって、前記サブセットＷ内の前記出力ポートが、メッセージＭＰによって、該メッセージＭＰを前記入力ポート・サブセットＶの構成要素に対してターゲッティングする出力ポートを含むように規定される、出力ポート・サブセットと、
前記出力ポート・サブセットＴからデータを受信し、該データを前記入力ポート・サブセットＶに配信する相互接続網を含んでいるスイッチ相互接続下部構造Ｘと、
選択されたメッセージを前記入力ポート・サブセットＶ内のメッセージ・ターゲットへと前記出力ポート・サブセットＴ内に配信する、前記スイッチ相互接続下部構造のスイッチ設定のコレクションと、
前記出力ポート・サブセットＴから前記入力ポート・サブセットＶに最大数のメッセージを配信するように、各メッセージ送信時間にスイッチ設定の前記コレクションを決定する決定するロジック（１９２０）とを有することを特徴とする相互接続構造。
【請求項１９】
入力ポート・サブセットＶに送信されない前記出力ポート・サブセットＴにおけるメッセージが、各メッセージ送信時間に、前記入力ポート・サブセットＶ内に含まれない前記相互接続構造内にあるノードの入力ポートに送信されることを特徴とする請求項１８に記載の相互接続構造。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、計算用の相互接続構造及び通信システムに関する。特に、本発明は多重レベルの相互接続構造の中で用いられるスケーラブルな低レイテンシー・スイッチに関する。
【０００２】
（背景技術）
コンピュータ・サイエンス及び通信の分野における、永続的且つ顕著な未解決問題は、完全に負荷がかかっている状態で高いスループット、高い横断バンド幅を維持するスケーラブル、低レイテンシーな相互接続網が欠如していることである。ｂａｎｙｏｎ、ｏｍｅｇａ、及びｆａｔ−ｔｒｅｅネットワーク、マルチレベルのグリッド、トーラス、及びハイパーキューブ・ネットワーク等の現存の相互接続網設計では、制限なしのスケーリングを行って、更に通信による負荷がかかっている際の高レイテンシー及び高スループットをサポートしようとすると、種々の度合いにおいて全て失敗する。現存するネットワークの構造は、１９世紀の数学者及びそれより前の幾何学者によって開発され、メッセージ・ルーティング方法をサポートすることが全く意図されなかった。
【０００３】
必要なのは、概ね制限なしにスケーラブルであり、且つ低レイテンシー及び高スループットをサポートする、相互接続構造とその構造の中で相互接続網を形成するのに用いられる適切なスイッチとである。スケーラブルなスイッチを実装するのに非常時に適切である、多重レベル（Ｍｕｌｔｉｐｌｅ−Ｌｅｖｅｌ）で、最小ロジック（Ｍｉｎｉｍｕｍ−Ｌｏｇｉｃ）のネットワーク若しくは相互接続構造の例は、米国特許第５，９９６，０２０号及び第６，２８９，０２１号により完全に説明されている。
【０００４】
（発明の開示）
開示されているのは、相互接続構造ファミリーと、スケーラビリティ、低レイテンシー、及びシングルチップ実装を達成するべく、この相互接続構造を利用するスイッチである。開示されている相互接続構造及びスイッチは、スーパーコンピュータ相互接続網、ＬＡＮスイッチ、ＩＰ及びＡＴＭスイッチ、電話局の基幹のスイッチング、オンデマンド・ビデオのサーバ、メインフレーム・データベースサーバの相互接続網、高速ワークステーション相互接続網、及び当業者に公知であるその他多数を含む多種多様のアプリケーションをサポートする。
【０００５】
（発明を実施するための最良の形態）
図１Ａ及び図１Ｂでは、複数行のシリアルデータ・トランスミッタ及びスイッチング・セルが垂直向きの複数列に且つ多重レベルに配置されている、複数の高速な多重経路相互接続網１００の２つの実施例を示しているブロック図である。各レベルは、図１Ａに示される相互接続網中の垂直方向データ経路構造、図１Ｂに示される相互接続経路中の対角方向データ経路、及び両図面中の垂直方向制御信号経路１４０によって、各列で相互接続されている。Ｋ列が示されており、列０乃至列Ｋ−１として列挙されている。Ｊ＋１レベルが示されており、レベル０乃至レベルＪとして列挙されている。個々のレベルは、シリアルデータ送信１１４を実行する複数の行を含んでいる。各レベルで水平方向の行が、ノードアレイ１０８、置換ボックス１１０、及び先入れ先出しシリアル遅延手段（ＦＩＦＯ）と相互接続する。
【０００６】
メッセージ形式のシリアルデータが、データ入力ポートを介して相互接続網１００の中に入ることを許可される。データ入力要素１０２が、１以上の列で複数データポートを含む。入力ポートから相互接続網１００に進入するメッセージは、データバス１０２を介して直接、最上レベルにおけるノードアレイ１０８に進入する。制御信号バス１４０及び１０６上の信号は、関連するデータ経路が入力データを受入れるように利用可能でないことを示す。シリアルデータは、各垂直方向経路１４８におけるデータ出力ラインによって、相互接続網１００から送信される。各データ列は、複数の出力ポートに接続される。外部制御信号１６４が、外部デバイスがデータを受取る用意ができているか否かを、相互接続網に通知し得る。いくつかの相互接続網の実施例では、制御信号１６４が省かれて、最下レベルに達したメッセージが外部ポートに直接、接続される。
【０００７】
Ｋ個の列が示されている。１つの列は、メッセージを伝達するための複数の別個のデータ送信経路を含んでいる。例えば、１つの相互接続構造は、各々が２Ｊ個の下方向送信経路を備えている列をＫだけ有してもよく（Ｊ＋１が相互接続レベルの数）、更に、最大２Ｊ Ｋ個の入力ポート及び最大２Ｊ Ｋ個の出力ポートをサポートしていてよい。実施例によっては、データラインの数が２Ｊと異なっていてもよい。
【０００８】
理解を容易にするために、メッセージが相互接続網内で概ね左から上、且つ上から下へ流れるものとみなすことにする。この約束を設けるのは、理論的トポロジーの内部でのメッセージの動きを説明するためであって、ネットワークの構造的な空間制限を説明するものでないことに留意されたい。トポロジーは、折畳まれた形状、ねじれ形状、逆転された形状、ひだ状、若しくは、その他の任意の相対位置の変形がなされた、説明したトポロジーに相当するものであってよい。レベルの右側１３８に到達したメッセージは、左側１３６に進入するようにルーティングされる。相互接続網を介した個々のメッセージのルーティングは、ノードアレイ１０８の内部のノード及びセルによって制御される。クロック１２６は、ノードアレイ１０８、ＦＩＦＯ１１２、及び入出力タイミングのタイミングを制御する。メッセージが相互接続網に進入するときのタイミングは、外部タイミング信号１４６によって管理される。
【０００９】
限定されるものではないが、相互接続網１００の特性は、（１）制御信号を用い得るスイッチング・セルにメッセージ経路のアベイラビリティを伝達するように制御信号を用いていること、（２）常に利用可能なセルからの代替経路、（３）任意の入力から任意のポートまでの複数の接続経路（３）、相互接続網を介したメッセージ・ワームホーリングのうちの少なくとも１つが含まれる。
【００１０】
相互接続網１００の内部を移動するシリアル・メッセージは、ワームホール動作を継続させるように、利用可能な経路を常に有していて、相互接続網を介した移動時間を減少させるようにバッファ内には全く保有されないのが望ましい。動作特性に関連しているのは、各ノードにおいて１回のクロック周期内でロジック及び制御が実行を可能にし、且つ相互接続網を介したワームホールメッセージの送信を可能にするグローバルなタイミング機構である。ワームホール送信は、メッセージが相互接続網内部の複数のノードにまたがっている場合に、メッセージ尾部が入力ポートに進入する前にメッセージ頭部が出力ポートに到達するときにさえ、生じる。ワームホール・ルーティングは、メッセージが相互接続構造を介してノードからノードへ移動する際に、何らかの形態のハンドシェーキングなしに実行される。
【００１１】
相互接続網１００のいくつかの実施例では、出力制御ロジック１６２によって、最下レベルに到達したメッセージが特定され、且つルーティングされ、メッセージが適切なターゲット・ポート１６６に接続される。同一出力ポートにおいて、同一時間周期中に２つ以上のメッセージが生存している場合、相互接続網からの次の出力のためのメッセージを蓄えるようにバッファ１６０が用いられる。外部制御信号１６４は、外部ターゲットがメッセージを受取ることが可能であるか否かを出力ポートに通知する。出力制御の機能性は、以下でより詳細が説明される。ある代替実施例では、出力制御ロジック１６２と、バッファ１６６とが、省かれており、メッセージが最下レベルから各出力ポート１６６に直接、移動する。
【００１２】
図１Ａは、水平方向及び垂直方向のメッセージ経路と、垂直方向の制御信号とを示している。図１Ｂは、メッセージが水平方向若しくは若しくは対角方向に下側に移動し、制御信号が垂直方向に移動する代替実施例を示している。図１Ａでは、所定のノードアレイから１レベル低いアレイに、且つ１列右に移動するために、垂直方向のデータ経路を下側に移動するデータは、水平方向のデータ経路を直に右に移動する。図１Ｂでは、データは、ノードアレイから１レベル低く且つ１列右にあるノードアレイに直接、移動する。
【００１３】
図１Ｃは、多重レベル最小ロジック（ＭＬＭＬ）ネットワークを例示する、４シリンダ８列ネットワークが図示された模式的な絵画図である。シリアルメッセージ形式のデータが、図１Ｃの上部にシリンダ３として示されている最も外側にあるシリンダに配置された入力端末からネットワークに進入し、メッセージのヘッダ中で特定されるターゲット出力ポートに向かってノードからノードへと移動する。１つの時間周期内でデータは、次の角にあるノードに常に移動する。メッセージは、移動することによりこのメッセージがターゲット・ポートにより近付く場合には必ず、図１Ｃの下部レベルで示される内側シリンダに向かって移動する。
【００１４】
このネットワークは、２種類の送信経路を有している。一方はデータ用であり、他方は制御情報用である。図示されている実施例において、ネットワーク内の全てのノードが同一設計を備えていてよい。別の実施例で、ノードが互いに異なる設計及び特性を有していてもよい。ノードは、同一シリンダ上のノードから、若しくは自身が所属するシリンダの外側にあるシリンダからデータを受取り、同一シリンダ上のノードに、若しくは自身が所属するシリンダの内側にあるシリンダにデータを送信する。所定レベルにあるメッセージの第１ビットがシリンダの周囲を一様に移動するという意味で、複数のメッセージが中心軸の周囲を一様に回転して移動する。メッセージ・ビットがあるシリンダから、より内側のシリンダへ移動する際に、このメッセージ・ビットは内側シリンダのメッセージと正確に同期する。適用若しくは実施例に応じて、データが１以上の列若しくは角から相互接続網若しくはネットワークに進入したり、１以上の列若しくは角から退出したりしてもよい。
【００１５】
ノードは、より外側に配置されたシリンダに制御情報を送信し、更に、より内側に配置されたシリンダから制御情報を受信する。制御情報は、同じ角若しくは同じ列からノードに送信される。更に、入力ポートからメッセージを受信可能な最外側シリンダがメッセージを受取ることが不可能な場合に、その入力ポートに通知するべく、制御情報が最外側シリンダ上のノードからその入力ポートに送信される。同様に、出力ポートがデータ受信不可能なときはいつでも、この出力ポートが最内側シリンダ上のノードに制御情報を送信することが可能である。概して、任意のシリンダ上のノードが制御信号を送信して、それにより制御信号送信ノードがメッセージを受信することが不可能であることをノード若しくは入力ポートに通知する。ノードは、より内側に配置されたシリンダ上のノード若しくは出力ポートから制御信号を受信する。その制御信号によって、制御信号の受取り手は、自分のノードのシリンダのより内側にあるシリンダ上の第３ノードにメッセージを送信してよいかどうかが通知される。
【００１６】
図１Ｃに示されるネットワークにおいて、ノードＡが同一シリンダ上のノードＢにメッセージを送信し、更にノードＢが外側にあるシリンダ上のノードＪからデータを受信する場合、ノードＡはノードＪに独立に制御情報を送信する。ノードＡ及びノードＪからメッセージを受信するノードＢは、ノードＡとノードＪの間の制御情報の交換に関与しない。制御信号、データ・ルーティング・トポロジー及びメッセージ・ルーティング機構は、以下でその詳細が説明される。
【００１７】
図１Ｃにおいて、用語「シリンダ」及び「角」は位置を言及するのに用いられている。これらの用語は、「レベル」及び「列」（各々、図１Ａ及び図１Ｂで用いられており、更に今までの説明で用いられている）と類似している。図１Ｃでは、図１Ｂで示される配置と類似的に、データが水平方向若しくは対角方向に１つのシリンダから次のシリンダに移動し、制御信号が同じ角から外側のノードに送信される。図１Ｂのノードアレイ１０８は、ＭＬＭＬネットワークの同一角における同一シリンダ内のノードの列と類似している。
【００１８】
図１Ａと共に図２Ａを参照すると、ノードアレイ１０８は複数Ｒ個のセル２０２を含んでいる。ノードアレイ１０８は、相互接続網１００のあるレベルとある列との交差部分に配置されている。図示されている相互接続網１００は、水平方向の行２０８に１つのセルを有し、且つ垂直方向経路２１０上に１以上のセルを有する。行２０８は、所定レベルにおいてメッセージを１つの列から次の列に送信する水平方向のデータ経路である。行２０８は、データバス１１４に含まれる。１つのレベルには、複数Ｒ個のデータ行２０８が含まれる。１つの列には、複数Ｒ個の垂直方向のデータ経路２０４、及びＲ個の垂直方向制御信号経路２０６が含まれる。垂直方向データ経路２０４は、データバス１４２の構成要素であり、より低い次のレベルにメッセージを直列に送信する。垂直方向の経路２０６は、下位レベルのセルから上位レベルのセルに、若しくはセルが最上レベルにある場合には入力２０４に制御信号を運ぶ。経路２０６上の制御信号によって、上にある１つ若しくは複数のセルに、信号送信セルがメッセージを受取れないことが信号で伝えられる。セル２０２は、全ての水平方向の行２０８及び垂直方向のデータ経路２０４の交差部分に配置される。代替実施例では、異なるレベルにおいて行の数が異なっていてもよい。
【００１９】
実施例によっては、複数の垂直方向データ経路及び垂直方向制御信号経路が１つのセル若しくはセルのセットに接続されていてよい。ここで用いられているような用語「セル」は、行２０８と垂直方向データ経路２１０との交差部分に配置されたスイッチング要素を示している。左側からメッセージを受信するセルは、メッセージを次のいずれか：（１）次の列にある同一レベル上のセルに水平方向に、若しくは（２）下位レベルのセルに下方向に、スイッチすることが可能である。相互接続網及びネットワークを扱っている文献では、用語「ノード」は、相互接続網内部の単一スイッチ、セットになっているスイッチ、１以上の制御要素、若しくはインターネット等の地理的に分散しているネットワークの一部をなす完全なスイッチシステムのように、スイッチング構成要素を示して用いられることが多い。本説明では、「ノード」は、単一セル、若しくは同一ノードアレイ内で相互接続されたセルのセットを示している。単純な実施例では、１つのセルと、そのセルに対する制御ロジックがノードに含まれる。別の実施例では、複数のセルと、それらセルに対する制御ロジックの全て若しくは大部分がノードに含まれる。
【００２０】
置換ボックス１１０は、いくつかの列の間に配置され、水平方向に移動するメッセージの行と行の置換を生じる。先入れ先出し要素のアレイは、シリアル遅延要素が複数集まったものであり、以下でＦＩＦＯと示される。ＦＩＦＯが、行２０８に配置されている。ＦＩＦＯアレイ１１２が１以上の列の間に配置されている。垂直方向データ経路２０４が、対応する制御信号垂直方向経路２０６と関連付けられているので、垂直方向経路の組は副次列２１０のように呼ばれる。同様にして、メッセージ入力ポート２１４と関連する制御信号出力２１６とが、入力ポート２４０のように呼ばれ、データ出力経路２１８と関連する制御信号入力ポート２２０とが、出力ポート２４２のように呼ばれる。
【００２１】
データは、入力ポート２１４を通って最上部ノードに配置されたセル２０２に進入し、最下部レベルのセルから出力ポート２１８へと退出する。入力ポート２１４での制御信号２１６によって、関連する入力ポートがデータを受取ることが不可能であることを、外部入力デバイスに信号で伝えることが可能となる。制御信号入力ポート２２０は、後者が関連する出力ポートからデータを受信することが不可能であることを示し得る、外部デバイスからの信号を受取る。単一のラインとして示されているデータ経路２０４、制御信号経路２０６、及びデータ行２０８の各々は、セルの特性に応じて、１以上の信号経路を含んでよい。同一ノードアレイ内で１つに相互接続され、１つのノードとして一緒に機能するセルは、後で説明していく。
【００２２】
図２Ｂを参照すると、セルに対する方向的な仕様が説明されている。セル２０２は、１以上のメッセージを北若しくは西から受取って、東若しくは南に送信する。メッセージが次の列に直に、若しくは置換ボックスを通って移動する場合には、このメッセージが東に移動するものとして描かれている。同様に、メッセージが下位レベルに直に、若しくは置換ボックスを通って下側に移動する場合には、このメッセージは南に移動するように描かれている。これらの方向は、セルの内外に流れるデータ若しくは制御信号の方向を示すための約束として用いられる。レベルＬ、列Ｃにおけるメッセージは、次回のステップで次のいずれかに移動する：（１）レベルＬ、列（（Ｃ＋１）ｍｏｄ Ｋ）、若しくは（２）レベルＬ−１、列（（Ｃ−１）ｍｏｄ Ｋ）。ここでのＫは、列の数である。より一般的には、メッセージは、同じレベルに留まるか、若しくは下位レベルへと落ちながら、バッファリングされずに続いている次の列に常に動いていく。光学的な波長分割多重伝送方式（ＷＤＭ）の実施例では、種々のヘッダビットを運ぶために、全てのヘッダ・ビットが同一時間帯内に異なる波長を用いて進むことが可能である。データは、時間及び周波数領域的の両方にまたがって転送することが可能である。
【００２３】
図３Ａは、メッセージ・フォーマットの非常に適切な例を示している。相互接続網１００に進入するメッセージは、値「１」を有するトラフィック・ビット３０２、ターゲット行若しくはターゲット出力ポート２１８を特定するターゲット・ヘッダ３０４、及びペイロード３０６を含む。トラフィック・ビット３０２は、メッセージが存在しているかを示す。メッセージ・ヘッダ３０４は、アドレス３０８の最上位ビット（ＭＳＢ）が最初にきて、最下位ビット３１０が最後にきて、更に、次の最上位ビット３２６がＭＳＢに続くように、ターゲットの行数が２進コード化されている。代替実施例では、最下位ビットが最初になっている。所望に応じて、宛先列（図示せず）がヘッダに続けて２進コード化されてもよい。ペイロード３０６は、任意の入力ポート２１４から任意の出力行若しくは出力ポート２１８へ相互接続網１００内を送信されることが望ましいデータパケットを含んでいる。相互接続網１００のいくつかの実施例では、ペイロード３０６は、所定の最大長以下の種々の長さを有してよい。この最大長はタイミングの関数になっている。例えば、一方の（１回若しくは複数の）時間周期で相互接続網内により短いメッセージが受入れられ、他方の時間でより長いメッセージが受入れられ、更に、種々のメッセージ長のパターンが、外部コマンドにより制御された方法で繰返されていてよい。メッセージ３００の全長には、トラフィック・ビット３０２、ヘッダ３０４、及びペイロード３０６が含まれる。ペイロード３０６は、共有メモリ・キャッシュライン、スーパーコンピュータ内のプロセッサ間通信メッセージ、スイッチ若しくはルータ内のＡＴＭセル、イーサネット・フレーム、スイッチ若しくはルータ内のＩＰパケット、若しくは相互接続網の任意の入力ポートから任意の出力ポートへ転送が望まれる任意のその他のデータのようなデータのシリアル・ストリームである。
【００２４】
図３Ｂを参照すると、メッセージ３３０は、既に説明された（１つ若しくは複数の）ヘッダ及びペイロードに付加的に、優先ビット及び／又はサービス品質（ＱＯＳ）ビット３３２を含んでよい。このビットは、一方のメッセージが他方のメッセージを超える優先順位を有しているか、及び／又は相互接続網が他のメッセージ・トラフィックによって過密になった場合に、特定のメッセージが相互接続網内で廃棄されてもよいかどうかを特定するために用いられる。ＱＯＳビットは、例えば、優先順位の低いＡＴＭ（非同期転送モード）セル若しくはパケットを示すために、メッセージが相互接続網に進入する前に設定されてよい。更に、ＱＯＳビットは、例えば、相互接続構造内でのメッセージの年齢を追跡するために、メッセージが相互接続構造内にいる間に変更されてもよい。
【００２５】
図３Ｃを参照すると、メッセージ３００が南に下位レベルへと移動すると、ＭＳＢ Ｈ１ ３０８がメッセージから除去される。それゆえに、次の最上位ビットＨ２ ３２６が、次の下位レベルにおいてメッセージに対するＭＳＢとなる。ヘッダ長が変更されるときに望ましい副作用は、ヘッダの長さがレベル毎に１ビット減少されることである。ＭＳＢ−ビットのはぎ取りによって、セル内で必要とされるロジックの量が効果的に最小化される。メッセージ３００が、ターゲット出力ポートに到達すると、ヘッダ３０４の全てのビットが取除かれ、メッセージの移動時間が軽減される。トラフィック・ビット３０２は、行のヘッダ・ビットでない他のビットと共に、メッセージの第１ビットとして保持される。メッセージの受取り手が必要とする場合には、ターゲットのアドレスがペイロードの一部として含まれてもよい。
【００２６】
図４Ａは、メッセージ・ワームホーリングの描写と、セル間が相互接続された相互接続網の一例とが示された図である。各レベルにおける相互接続トポロジーは、図１中に示されている多重レベル最小ロジック・ネットワークの場合と同じである。簡潔化のために、この図は、レベル当り８行及び３列しか有していない。別の実施例では、より多くの行及び列を有しており、例えば（限定するものではないが）、レベル当り６４行乃至１０２４行、若しくはそれ以上の行と、１２列乃至２４列若しくはそれ以上の列とを有している。相互接続網のスケールは、効率的なスループットとワームホール・メッセージ送信とが保持される限り、制限なしに大きくなる。置換ボックス１１０が、列の間に挿入されてよい。ノードアレイ１０８中には、「同一」の配置が用いられる。ある同一配置は、示されているように対角線に沿ったセルの配置である。置換ボックスの配置は、以下に図１０の描写と関連して説明される。相互接続網は、図７Ｂに示される構成を用いて、１つのレベルにおいて単一のＦＩＦＯ構造１１２を有する。
【００２７】
図４Ａ中のノードのいくつかは、相互接続構造を通るメッセージの動きの規則を示すように「＋」を用いてマークされている。レベルＬからレベルＬ−１に移動するメッセージは、ルーティングの決定をする際にヘッダ・ビットＨＬが用いられる。実施例によっては、ビットＨＬがアドレスの最上位ビット３０８である。ＨＬ＝１を有するメッセージは、「＋」を用いてマークがなされているレベルＬノードから、レベルＬを離れてレベルＬ−１へと移動する。ＨＬ＝０を有するメッセージは、「＋」を用いてマークがなされていないレベルＬノードから、レベルＬを離れてレベルＬ−１へと移動する。レベルＬ上のノードを通る、メッセージのこの移動規則は、トラフィック・ビット、ヘッダ・ビットＨＬ、及びレベルＬ−１上のノードからの制御ビットだけに基づいているという点で効果的である。制御ビットの目的は、ブロッキング状態を示すことである。図４Ａに示されているメッセージの流れの例は、ブロッキングが生じないという仮定により単純化されている。
【００２８】
メッセージＭは、列０、レベル３、行３の北から相互接続構造に進入する。点線は、メッセージＭが相互接続構造を通ってワームホールを空ける際のメッセージＭの全経路を示している。メッセージＭは、第１ノードアレイの行３上に配置されたセルＡに進入する。メッセージＭに対する行ヘッダ３０４は２進法で「１００」であり、最下レベルの行４にあるターゲットを示している。北からセルに進入したメッセージは、すぐに東にルーティングされている。このメッセージは、第１ノードアレイを退出した後に東に移動して、メッセージが行３から行７に移動される置換ボックス□□□１を通過して、更に、南方向に、レベル２における上部のセル集団の中に配置されているセルＣに接続されているセルＢに進入する。図４Ａでは、上部集団の中のセルに接続されている、セルＣ等のセルは「＋」により指示が出されている。用語「セルの集団」は、図９を説明する際に、より詳細が説明される。簡潔化のために、経路４１０は、２つの信号：（１）南へのデータ経路２０４と、（２）南からの制御信号２０６とが含まれる単一ラインとして示されている。メッセージＭのヘッダのＭＳＢは、上側集団の中のセル宛先を特定する「１」になっている。それゆえに、セルＢは、メッセージをセルＣへと南にルーティングする。セルＢは、現在のＭＳＢを除去することによってヘッダを修正し、南方向にレベル２に送られる前にヘッダ・アドレスが、「１００」から「００」へと変更される。ノードＣを通って移動するメッセージは、行４、５、６、若しくは７における退出ポートを通って、相互接続構造から退出する。
【００２９】
メッセージＭがセルＣから東に移動して、置換ボックス□□□１を通って行７から行４に移動し、下部集団に接続されているセルＤへと進むように、北からセルに進入するメッセージが東にルーティングされる。Ｈ２は、ヘッダの新しいＭＳＢである。Ｈ２の値は「０」であり、それはメッセージＭが高さ０、１、４，若しくは５の高さで退出ポートを通って構造を退出するようにターゲティングされていることを示している。ヘッダのこの時点のＭＳＢは「０」であり、下部集団を示している。セルＤは、メッセージをセルＥへと南にルーティングする。セルＥを通過するメッセージは、行４若しくは行５のいずれかの出力ポートを通って相互接続構造を退出する。セルＤは、メッセージ・ヘッダを「００」から「０」に変更する。レベル１において、セルＥは、メッセージが、置換ボックス□□□１及びＦＩＦＯ１１２を通って、その次に相互接続網の右側に進むように東にルーティングする。メッセージは、西４１８に循環して、第１列の同じ行５に進入する。より適切な実施例では、例に示されている３個よりも多くの列を有していて、こんなに早くＦＩＦＯに進入しない。セルＦは、上部集団に接続されている。ＭＳＢ「０」は、下部集団を示している。セルＦは、メッセージＭを東にセルＧへとルーティングする。下部集団に接続されているセルＧは、メッセージをターゲット行である行４上を南及び東に送信する。メッセージは、次の列に移動して退出し、それにより相互接続網を通る経路が完了する。図４Ａは、相互接続網を通るメッセージのワームホーリングを図示している。図１Ｃは、末端部が進入する前に先頭が退出するような、ネットワークを通るメッセージのワームホーリングの、同様の例を示している。ブロックされていないメッセージは、相互接続構造を通るワームホーリングの間、平均してレベル当り１．５セルと出会う。
【００３０】
３ノードの集団によって、図示されている相互接続構造内における相互接続性が最も単純に示されている。この３ノード集団には、レベル０以外の任意のレベル上にある第１ノードが含まれる。あるレベルの上にあるこの第１ノードは、第１ノードと同一レベル上にある第２ノードにメッセージを送信することが可能である。第１ノードからメッセージを受信するためにアクセス可能な出力ポートのセットは、第２ノードからメッセージを受信するためにアクセス可能な出力ポートのセットと同じである。更に、第１ノードは、第３ノードにメッセージを送信することも可能である。第３ノードは、第１ノード及び第２ノードのレベルよりも低いレベル上にある。第３ノードからメッセージを受信するためにアクセス可能である出力ポートのセットは、第１ノードからアクセス可能な出力ポートのセットと等しくはないが、第１ノードからアクセス可能な出力ポートのセットのサブセットになっている。この方法により、メッセージがレベルを下げると、アクセス可能な出力ポートのターゲット数が減少する。メッセージがレベルを上げて移動することはないので、メッセージがアクセス可能な出力ポートの数を絞っていく作業の進行が損なわれることは決してない。
【００３１】
図４Ｂでは、図４Ａで説明された５列式の相互接続の実施例とトポロジー的には等価な、８行５列相互接続網の実施例の一例の配置を示している。各レベルにおける配置は、列の間に置換ボックスがなく、且つＦＩＦＯが１個のみ挿入されていて、チップ上により多くの制御ロジック用の空間を設けることが可能な、図７Ｃで示される構造と同じである。各ノードアレイ内でセルを特別な配置にすることにより、列の間の置換ボックスの効果と同等のものを得ることができる。特に、セルの位置は、西及び南のセルによって決定される。レベル０及び列０の配置は、同一の構成で説明されている。レベル０におけるセルは同一構成で配置されており、示されるように下側の左から上側の右への対角線上の配置として規定されている。列０内のセルも同様に、全てのレベルで同一構成に配置される。残りのノードアレイ１０８は、左から右、且つ下から上の順に配置される：列１、レベル１のノードアレイ内のセルが、列２、レベル１内のノードアレイのセルの前に配置され、以下は同様である。レベル１の配置は、レベル２よりも前になされ、以下同様である。セルの位置は、セルを同じ行において西方向に、且つ同じ垂直方向経路において南方向に検討していき、更に、現在のセルのレベルに対して変換列を適用することによって決定される。変換列は、図１０に対する詳細で説明される。
【００３２】
レベル１における行０上のセルは、数列Ｓ２ １０１２として示される、行０，１，０，１．．．上のレベル０セルの上に交互に配置される。更に、各レベル１行において、セルは、行０，１，０，１．．．上に交互に配置される（ｍｏｄ ２）。レベル２における行０上のセルは、数列Ｓ４ １０３０になっている行０，２，１，３，０．．．上のレベル１セルの上に交互に配置され、更に、各レベル１行において、セルは、行０，４，２，６，１，５，３，７，０．．．の上に交互に配置される（ｍｏｄ ４）。レベル３において、セルは、数列Ｓ８ １０３６になっている行０，４，２，６，１，５，３，７，０．．．の上に交互に配置される。図４Ａも参照すると、メッセージが行０で始まって、レベル３に残ったまま右に移動する。置換によって、メッセージは、行０から行４に移動し、次に行４から行２に移動し、更に行２から行６に移動し、以下同様にして移動する。図４Ａ及び図４Ｂに示される相互接続構造は、図１Ａ、図１Ｂ、及び図１Ｃで示される構造の変換列から類似的に形成される。
【００３３】
図４Ｂを参照すると、全ての行が、変換列によって規定されるセルへの南側の接続を有している。メッセージは、上部集団及び下部集団の上で常に互い違いになっている。上部集団に接続されているセルは「＋」で示されており、それにより互い違いの接続方式を図示されている。メッセージが最後の列（列４）から東に移動する場合、メッセージは列０に循環する前に程度５の置換ボックスを通過する。この程度５の置換ボックスは、以下で説明される変換列Ｓｎを連続されるように機能する。
【００３４】
図４Ｂは、セルの配置方法を説明しており、そこでは、セルがノードアレイ内で特別に配置され、集積回路チップ配置が効果的に単純化されることによって、各列の間の置換ボックスのレベル間効果が望ましく達成されている。Ｋ列を備えた相互接続構造に対しては、各々のレベルで単一の程度Ｋの置換ボックスが用いられており、それにより第１列に循環して戻るメッセージに対して、省かれた置換ボックスの効果が得られている。その結果が、図４Ｂに示される配置であり、それはトポロジー的には、各列の間に程度１の置換ボックスを備えた別の８行５列スイッチの場合と同じである。
【００３５】
異なるレベルにおける２つのメッセージが、同じ水平方向データ経路２０８に対して競合する場合は、下位レベルのメッセージが相互接続網の中により長時間いるであろうということから、より下位レベルのメッセージが優先権、優先順位の論理的な割当てを有する。優先順位の規則を実装するための適切な構造は、図５Ａ及び図５Ｂに図示されている。単純化のために、ノードアレイ当り１セルだけが示されており、列の間に配置され得る置換ボックス及び／又はＦＩＦＯは全て省かれている。図５Ａ及び図５Ｂは、各々が２つのレベル及び４つの列を有するセル配置を示している。セルＡは、同じレベルで次列にあるセルＢへと東方向に行２０８によって接続されている。
【００３６】
図５Ａは、メッセージＭ１ ５０２が北からセルＡに進入する場合を図示している。トラフィック・ビット３０２は、メッセージが存在することを示す「１」である。メッセージが北からセルに進入すると、このメッセージは同じレベルに留まって、次列のセルへと東方向に即座に移動する。それゆえに、１回のタイム・ステップでメッセージが１レベル下がって、１列右に移動するように、メッセージＭ１が行２０８上をセルＢへと東方向に進む。ヘッダの最上位ビット（ＭＳＢ）は、下位レベルのセルの特定集団を特定する。セルＢは、トラフィック・ビット及びＭＳＢを検討して、セルＢの南にあるセルがターゲットへの経路に含まれるかどうかを決定する。セルＢは、下からブロックされず、セルＦへと南方向にメッセージを送信する。北から進入するメッセージに対しての規則に従って、メッセージＭ１が行５２２上を次のセルＧへと東方向に即座にルーティングされる。
【００３７】
図５Ａは、北からセルに進入し、すぐに次列にあるセルＢへと東方向に移動するメッセージＭ１の流れを図示している。ヘッダが検討されて、メッセージＭ１はＦへと南方向に、次に東方向にルーティングされる。（１）メッセージＭ１のＭＳＢが、セルＦを含むターゲットの宛先への接続を示している、（２）メッセージＭ１が他のメッセージによってブロッキングされない、即ち、Ｆから行５２２が利用可能であるという理由で、メッセージＭ１が、セルＢからセルＦへ下がることが許可される。この例では、遅延することなく次の下位レベルにメッセージが移動可能である場合を図示している。上述のＡ乃至Ｇを直接接続するように、セルＡ、Ｂ、及びＦの中に複数のスイッチが設定される。
【００３８】
図５Ｂを参照すると、別例によって、同じメッセージＭ１が、北からセルＡに進入してセルＢへと東にルーティングされる。別のメッセージＭ２は、セルＦにおいて、メッセージＭ１を上回る２通りの方法で優先順位を有する：（１）メッセージＭ２が、セルＧへの進入について、メッセージＭ１を上回る優先順位を有することと、更に、（２）メッセージＭ２が、リンク５２２の使用についてメッセージＭ１を上回る優先順位を有することである。メッセージＭ１がセルＢに進入するときに、メッセージＭ２はセルＦに西方向から進入している。セルＦは、メッセージＭ２を、次のセルＧへと行５２２上の東方向にルーティングする。行５２２が、メッセージＭ２によってすぐに占有されるので、セルＦは北から、即ち、セルＢからメッセージを受取ることが不可能である。メッセージＭ１とメッセージＭ２との間の衝突を防ぐために、セルＦは、制御信号２０６をセルＢへと北方向に送信する。それにより、セルＢは、南方向にメッセージＭ１を送ることをブロックされる。セルＢが同様に制御信号を北方向に送信するように強制されて、それにより、メッセージＭ１が上述の起こり得る衝突から保護され、更にメッセージＭ１がセルＣへと東方向にルーティングされる。又、セルＢの上にいる可能性があるメッセージＭ３が、南方向に下がってくるのが防止される。あるレベルにおいて東に移動するメッセージは、次の下位レベルのセルへの接続を通過し、特定の接続に、ターゲットに接続するある経路が含まれなかったり、若しくは含まれたりしてよい。別の言い方をすれば、東に移動するメッセージは、メッセージ・ターゲットへの接続が含まれる、集団になっているセルの接続に出会う。
【００３９】
ターゲット集団への利用可能な接続がない場合は必ず、セルによって、メッセージが同じレベル上を東方向に送信される。セルＣがメッセージＭ１のヘッダを検討して、南方向のセルがターゲット集団の中にないことを判定する。従って、セルＣは、メッセージＭ１をセルＤへと東方向にルーティングするように強制される。上述の起こり得る衝突を防止するように、セルＣは、制御信号を北方向に送信し、それにより、セルＣの上に存在する可能性のあるメッセージＭ４が、下がってくることが防止される。次の列で、セルＤが、メッセージＭ１のターゲットへの経路中にあるセルＪに接続されており、更にセルＤは、セルＪによってブロックされていない。セルＤは、セルＪからの制御信号と共に現在のＭＳＢを検討して、メッセージＭ１をセルＪへと南方向に送信する。セルＦ及びセルＪは、ターゲット集団に入っており、セルＧは入っていない。セルＦは使用中（ｂｕｓｙ）だが、セルＪはそうでなく、メッセージＭ１がメッセージＭ１のターゲットの経路上にあるＪに送信されるという点で効果的である。
【００４０】
図５Ｂでは、メッセージＭ１の流れが説明されており、そこでは、メッセージＭ１のすぐ下を同時に移動するメッセージＭ２によって、メッセージの南への移動がブロックされている。メッセージＭ１は、同じレベルに留まって、利用可能な接続経路を探索する前に、２つ先の列にあるセルを訪れる。メッセージが東方向に移動するときは必ず、制御信号が北に送信され、上位にあるセルからメッセージが下に送信されて衝突を生じてしまうことが予防される。相互接続トポロジー、ブロッキング若しくはビジー信号送信（ｂｕｓｙ ｓｉｇｎａｌｉｎｇ）の望ましい効果は、任意のセルに進入するメッセージが、東方向への退出経路と、しばしば南方向への退出経路とを常に有するという点で効果的である。メッセージは常に移動しており、相互接続網を通って送信される際に、バッファリング若しくは格納によって保持されることは決してない。ターゲットに向かうメッセージの進行は、決して損なわれない。
【００４１】
図５Ａ及び図５Ｂは、各列において、垂直方向に接続されている異なるレベルにあるセルの対が示されている。例えば、セルＢ及びセルＦは、セルＧへのアクセスに対して競合している。図５Ｃは、図１Ｂ及び図１Ｃに図示されているような、「対角方向の」セルの相互接続を示している。対角方向の相互接続によって、次の下位レベルに移動するデータは、水平方向／鉛直方向配置の場合に生じるように、直に南方向に、次に東方向にセルを通過するというのではなく、直接的に次列にあるセルに移動する。例では、セルＦが北方向にセルＢへと制御信号を送信し、それにより、共通のターゲットであるセルＧがセルＦからのメッセージによって占有されることがセルＢに通知される。対角方向の相互接続設計は、図１Ａ、図５Ａ、及び図５Ｂに示されている、正確な水平方向及び垂直方向の配置とトポロジー的に類似している。顕著な差異は、（１）対角配置内のレベル間の対角メタライゼーション経路、（２）上位レベルのセルが衝突を生じるのを防止するように、スイッチ６１８が欠如していること、及び（３）対角配置内で、１つのセルは、西からの２つの入力端子を有し、且つ北からのものは有していないことである。
【００４２】
図５Ｃは、２つの行を通るメッセージのタイミング及び動きの一例を図示している。セルに進入するメッセージの相対的タイミングは、相互接続網の各レベルで左から右に、且つ各列で下から上に進んでいく。図５Ｃによって示される例では、メッセージ到達の順序は、Ｖ、Ｈ、Ｗ、Ｂ、Ｘ、Ｃ、Ｊ、及びＤである。タイミングについては、図２４Ａ及び図２４Ｂで示されるタイミング図に関して、より詳細な説明がなされる。図示された例では、セルＶに進入するメッセージがないので、セルＶによって、「使用中でない」ことを示す制御信号「０」が、セルＶと同じ列且つ上位レベルにあるセルＨに送信され、それにより、セルＨは、セルＶとセルＨとの共通のターゲットであるセルＷにメッセージを送信することが可能になる。メッセージＭ１がセルＨに進入し、その進入によって対角方向を南にセルＷへと移動することが可能になる。セルＷはメッセージＭ１のヘッダを検討して、メッセージ・ターゲットへの下方向の接続が存在しないことを判定し、それゆえにセルＷは、同じレベルのセルＸへとメッセージをルーティングする。セルＸがメッセージＭ１によって占有されるので、セルＷは、使用中の信号「１」を北方向に、同時にメッセージＭ２を受取っているセルＢへと送信する。下からのブロッキング信号のために、セルＢは東方向に、同じレベルにあるセルＣへメッセージＭ２を送信するように強制される。セルＢは、Ｃに接続されているセルによってセルＣにメッセージが送信されてしまうことをブロックするように、信号「１」を北方向に送信する。セルＸは、下からブロックされておらず、ターゲットに向けて南方向にメッセージＭ１を送信する。セルＣは、下からブロックされておらず、且つメッセージＭ２のターゲットへの経路上にあるセルＪに接続されている。セルＪは、制御信号「１」を受信し、メッセージＭ２を東方向にルーティングするように強制される。
【００４３】
そのようにして、セルＷはセルＢがメッセージを南方向にセルＸへと送信するのを防止する。次の時間周期には、セルＸから東方向への経路が開放されておおり、且つセルＢからのメッセージの収容が可能になっている。セルＷがセルＸの未来の状態を予測する能力を有する場合には、セルＷは、メッセージを下に送信することをセルＢに許可してもよい。しかしながら、セルＷがルーティングの決定をしている時点では、次の列にあるセルの状態は利用不可能になっていて、セルＷはセルＢをブロックする。
【００４４】
図６Ａ、図６Ｂ、及び図６Ｃは、垂直方向接続を備えたセルの一例のブロック図が示されており、セルを通してのメッセージのルーティングが図示されている。図示されているセルは、北Ｎからのメッセージ進入経路、西Ｗからのメッセージ進入経路、東Ｅへのメッセージ退出経路、南Ｓへのメッセージ退出経路、北ＢＮへのセル−ビジー（ｃｅｌｌ−ｂｕｓｙ）出力経路、及び南ＢＳからのセル−ビジー入力経路を有している。各方向への複数の経路、及び各方向からの複数の経路を備えたより複雑なセルは、以下で説明される。西からノードＷでセルに進入するメッセージＭ２は、次のいずれかのルーティングがなされる：（１）図６Ａに示されるように、次のレベルへと南にルーティングされる、若しくは（２）図６Ｃに示されるように、次の列へと東にルーティングされる。図６Ａ及び図６Ｂで示されるように、北２０４からのメッセージは常に東にルーティングされる。
【００４５】
行２０８によって、一方のセルの出力ラインＥが、同じレベルで次の列にある他方のセルの入力ラインＷに接続されている。列及び／又はレベルの間に配置され得る、置換ボックス１１０及びＦＩＦＯ１１２は、考察されていない。垂直方向データ経路２０４によって、出力ラインＳが南方向に、下位のレベルの同じ列にある別のセルの入力ラインＮへと接続されている。制御経路２０６によって、ビジー出力ラインＢＮが北方向に、次の上位レベルの同じ列にあるセルの入力ラインＢＳへと接続されている。遅延要素Ｄ６０４は、制御ロジックによって検討するために特定のメッセージ・ヘッダのビットを格納し、且つ以下でより詳細が説明されるようにレベル間のメッセージ・タイミングを調整を行う１ビット・シリアルレジスタである。各メッセージ・ビットは、遅延要素Ｄを通過する際に、わずかに１クロック周期、遅延される。遅延要素の一例としては、一種のＤフリップフロップ、若しくはクロックド・ダイナミック・シフトレジスタ又はクロックド・スタティック・シフトレジスタがある。セルの内部制御ロジックは、入ってくるメッセージの適切な第１ビット、遅延要素内に瞬間的に格納されるビット、及び適切な時間における制御信号を検討する。次に、この内部制御ロジックは、内部ゲートによって、メッセージが東方向若しくは南方向に方向付けられるように設定を行う。制御ロジックは、先読み情報を提供するべく、状態情報を垂直方向経路ＢＮ上の北方向に送信する。
【００４６】
図６Ａに示される例では、メッセージＭ２が西からセル２０２に進入する。セル・ロジックによって、メッセージ・ヘッダ３０４及び制御信号ＢＳが検討されて、このメッセージは垂直方向経路Ｓ ２０４上を南方向にルーティングされるものであるということが決定される。より望ましい実施例では、メッセージが南方向に送信される際にヘッダアドレスＭＳＢ ３０８が取除かれ、それにより、次の最上位ビット３２６が、次の下位レベルにおけるＭＳＢになる。トラフィック・ビット３０２は、ヘッダに保存される。ＭＳＢが取除かれた後、入力ラインＷと出力ラインＳとの間に直接的な接続６２６が作られ、２つの遅延要素がバイパスされる。セルは状態６００になっている。ヘッダ・ビットの除去のおかげで、続くメッセージの流れのタイミングは、１クロック周期だけ進められる点に利点がある。このスピード・アップによって、次の下位レベルにおけるメッセージは、上のレベルにあるメッセージよりも先に進むこと、若しくはより早く進むことが可能になり、望ましくは、上のレベルが制御信号が利用できるように、下位レベルのセルが適時な方法により制御信号ＢＮを生成することが可能になる。タイミングについては、以下でより詳しく説明される。
【００４７】
メッセージＭ２は南方向に移動するので、出力ラインＥは、西からの入力信号に接続されず、代わりに北の入力ラインＮに接続される。図６Ａにおけるセルの状態６００は、１ビット・レジスタであるラッチ６１２中に格納されている「０」によって表現される。更に、このラッチは、セルを通るメッセージの流れの残りを制御するのにも用いられる。制御信号ＢＮは、ラッチの出力に接続されて北方向に「０」を送信し、それにより、上のセルに対して、メッセージを南方向に入力ラインＮへと送信するのに後半が空いていることが示される。西からのメッセージＭ２が南方向にルーティングされると、北からの別のメッセージがセルに進入することを許可され、次の列にあるセルへの経路２０８に接続されるように、スイッチ６１８を通して即座に東にルーティングされる。北から東に移動するメッセージの移動時間に遅延は全く生じず、その結果、北からのメッセージＭ１が直接、次の列に接続されて、それにより、１つの時間周期内でメッセージＭ１が１レベル下且つ１列右に移動する。西から東に移動するメッセージは、遅延要素を全く通過しない。西から東に移動するメッセージは、２つのシフトレジスタ６０４を通過する。メッセージは、決してセルにバッファ、保持、保存、若しくは格納されない。
【００４８】
図６Ｂの例は、西からのメッセージがないか、若しくはメッセージ・ヘッダが無効になっているかのどちらかである。これらの場合はいずれも、南方向に送信されるメッセージはなく、北からの入力はスイッチ６１８を通して直接、東に接続される。上のセルに、そのセルが南にメッセージを送信可能であるということを示すために、値「０」が北に送信される。
【００４９】
図６Ｃに示されている例では、メッセージＭ３が、ラインＷ上を西からセル２０２に進入する。ヘッダＭＳＢ３０８と、南からの制御信号とがセル・ロジックによって検討される。南の経路にメッセージ・ターゲットに接続するものがないという理由から、メッセージが下がることは不可能であると、ビット３０８によって示されてもよいし、或いは、メッセージが下からブロックされているということが制御信号によって示されてもよい。例では、これらの状態のうちの一方若しくは両方が当てはまっていて、そのため、メッセージが東に出力ラインＥへとルーティングされる。このセルは、状態６４０になっている。ラッチ６１２に格納されている値「１」は、図６Ｃのセルの状態を表している。制御信号ＢＮは、このラッチに接続されており、南にメッセージを送信することのブロッキングを示すために、論上のセルに論理「１」を送信する。北のセルは、制御信号に従い、メッセージを下に送信しない。スイッチ６１８によって、第２遅延要素の出力ラインが東への出力ラインに接続され、北からのメッセージがセルに進入するのが防がれる。メッセージがセル内を西から東に移動する場合には、南のラインＳへの出力信号は、メッセージを南に送信しないのと同様の意味を持つ「０」に設定される。西から東へ移動するメッセージＭ３は、遅延要素を通過する際に、２クロック周期のわずかな遅延を経験する。
【００５０】
図６Ａ、図６Ｂ、及び図６Ｃは、セル２０２の状態を示している。状態６００では、あるメッセージが存在し、ヘッダにより、且つブロッキング信号がないことより、最終的にはメッセージがターゲットに接続される南方向に移動する。同時に、北からのメッセージＭ１が、次の列に直接接続するべく経路Ｅを用いることが許可される。ラインＷにメッセージが１つもない場合、若しくはメッセージ・ヘッダが無効な場合の状況では、北からのメッセージが東への経路を用いることを可能にする状態６３０が設定される。西からセルの何らかの出力ラインへの接続は存在せず、又、南に送信されるデータも存在しない。状態６４０では、メッセージが西から東に移動して、２クロック周期のわずかな遅延を経験し、北から進入可能なメッセージは存在しない。クロックド・シフトレジスタ等の遅延要素によって、西から東に移動するメッセージの速度が調整される。メッセージが南に移動する場合には、そのメッセージのタイミングが、そのレベルに残るメッセージに対して相対的に進められて、好ましくは、より下位レベルが適時な方法で北方向に制御信号を送信するための十分な時間が与えられるようになる。
【００５１】
より高速な、若しくはより緩徐な技術が用いられている別の実施例では、遅延要素の数が図示された実施例のものとは異なっていてもよい。いずれの場合においても、セルは、情報に基づいて作動するように、十分早期に下位レベルから制御情報を受信する。図６Ａは、北から東に接続されているメッセージＭ１を示している。このメッセージは、スイッチ６１８を通過し、０クロック周期の遅延をわずかに経験する。メッセージＭ２は、西から南に接続され、その際にメッセージのトラフィック・ビット３０２は、１クロック周期の遅延をわずかに経験する。メッセージＭ２の残りが経験するのはゼロ遅延であるが、実際の遅延には、接続経路ゲートの伝播遅延が含まれる。図６Ｂでは、北から東に接続され、同じく０クロック周期の遅延を経験するメッセージＭ１が同様に示されている。図６Ｃは、２つの遅延要素を通過する、西から東に接続されたメッセージＭ３ ６３０が示している。メッセージＭ３は、２クロック周期の遅延をわずかに経験する。
【００５２】
図１Ａ及び図１Ｂに関連して、図７Ａ乃至図７Ｆには、相互接続網のあるレベルにおける３つの主要な構成要素の種々の配置を図示した、相互接続網１００の代替的構成の実施例が示されている。この構成要素には：（１）ノードアレイ１０８、（２）置換ボックス１１０、及び（３）ＦＩＦＯ １１２が含まれる。この図示されている例は、相互接続網の単一のレベルを表している。一実施例では、通常は、レベル当り少なくとも１つのＦＩＦＯアレイと、レベル当り少なく１つの置換ボックスと一緒に、１つのノードアレイが列毎に割当てられる。置換ボックス１１０は、レベル０では用いられない。ＦＩＦＯ及びセル中のシフトレジスタを含む、各行において結合された遅延要素の総遅延は、全メッセージを収容するのに十分である。従って、繰返しブロックされたメッセージは、１つのレベルに完全に常駐して、最終的にメッセージが南に移動可能になるまで循環することができる。
【００５３】
図７Ａは、各列において、各ノードアレイ１０８の直後にある、置換ボックス１１０及びＦＩＦＯアレイ配置１１２を示している。相互接続構造１００の実施例の大部分が、ワームホール・ルーティング能力をサポートしているという点で効果的である。１つの列において、ＦＩＦＯ１１２と置換ボックス１１０との相対的な順序は任意である：先と後のいずれであってもよい。ＦＩＦＯアレイ１１２内の各ＦＩＦＯバッファの長さがメッセージ３００の長さよりも小さい場合には、メッセージは、南方向に下位レベルへと作動する前に、複数の列にまたがってもよい。最も右側の列１３８に到達したメッセージは、第１列１３６に戻るルーティング７０２がなされる。通常、１つのメッセージが複数のレベルにまたがってもよく、末端部が相互接続構造に進入する前に、ペイロードの先頭部分が相互接続構造１００を退出するという程度にさえ、及んでていてもよい。
【００５４】
図７Ｂは、図１Ａ及び図１Ｂの場合と同じ順番の置換ボックス１１０、ＦＩＦＯアレイ１１２、及びノードアレイ１０８が示されており、更にそれは、各レベルにＦＩＦＯが１つしか含まれないこと以外は図７Ａと類似している。１つの行の上にある全セルの中の複数のＦＩＦＯ及びシフトレジスタは、メッセージ全体を収容するのに十分大きくなっている。各行２０８の上に１つのＦＩＦＯが配置されており、全てのＦＩＦＯは同じ長さになっている。図４Ｂ及び図７Ｃに示されているのと同様に、列の間の置換ボックスが省かれ、単一の程度Ｍの置換ボックス７０６が含まれている。
【００５５】
図７Ｄは、列の数が十分に大きくて、置換ボックスが不要である場合に用いられる配置である。トラフィック量が低いと予想される位置に、１つのＦＩＦＯが配置されている。図７Ｅは、入力用に１つだけの列が用いられていて、予想されるトラフィック負荷を処理するのに適切な数の出力ポートが利用可能であるときのように、トラフィック密度が低い場合に用いるのに適切な配置を示している。この配置は、右から左への復帰経路を有していない。北から進入するメッセージは、最も右側の列７２６に到達する前に下位レベルに落ちるものとみなされている。最も右側のノードアレイＮ’７２６に到達するメッセージは、北からのメッセージに対して利用可能な出力経路がない場合にメッセージを受取らないノードアレイＮ’’７２４のセルへと、南方向に送信される。最も左側のセルＮ０に進入するメッセージは、西からのメッセージと競合しないので即座に次の列に移動する。図６Ａ及び図６Ｃを参照すると、Ｎ０のセルが北から東への直接的な接続しか含んでおらず、更に、Ｎ’のセルは東から南への直接的な接続を含んでおり、制御ロジックが省かれているという点が利点になっている。Ｎ’’のセルは、優先権を持っている別のメッセージが東に送られた場合に、北からのメッセージを拒否するスイッチ６１８を利用している。
【００５６】
セルの通常の動作では、南へのルーティングがなされたメッセージは、例えばシフトレジスタ等のセルの遅延要素をバイパスし、経路内のゲート数に基づく伝播遅延を経験する。複数のセルを通って南に連続的にルーティングされるメッセージは、下位レベルにおいて制御ロジックの適切な動作に不利な影響を及ぼし得る伝播遅延が蓄積されてしまう可能性がある。１ビット・シフトレジスタ等の遅延要素７１６が、異なる累積遅延を経験したメッセージ・ビットのタイミング、先端部を再割当てするべく各行の上に配置される。遅延要素を退出した後、全てのメッセージは、同一タイミングで次のアレイに進入する。この遅延要素は、クロック周期に対する伝播遅延の比に応じて、２列おき若しくは５列おきにわずかに配置される。図２４Ｂには、伝播遅延を処理する代替的な方法が図示されている。
【００５７】
列Ｋの数が非常に大きい場合には、行に沿ってセル間で十分な記憶領域が利用可能であって、メッセージ全体を含むことができ、それにより、図７Ｆの実施例に示されているように、ＦＩＦＯは不要若しくは不使用となる。Ｋ＝２Ｎで、且つＮが相互接続網のレベルの数よりも大きい場合には、置換ボックスは１つも用いられない、若しくは必要とされない。図７Ｅに示される配置の場合を除き、通常は、全てのレベルが同じ構成を有している。レベル０は、他のレベルと同様の配置を有するが、置換ボックスを有していない。例では、種々の実施例が示されている。上述の仕様に概ね従う別の構成も可能であり、それらが、相互接続構造若しくはネットワークにおいて必要な実装及び特定の性能を達成するうえで、特別な利点を備えている可能性もある。
【００５８】
図８Ａは、「カスケード・相互接続網」と呼ばれる、相互接続構造１００の非常に適切な実施例の１つである。メッセージが、１つの列の上部から進入し、複数のステップで移動する。各ステップは、下若しくは右に方向付けられており、右方向のステップは、メッセージが下方向に移動するのがブロックされている場合に実行される。これらのメッセージは、最下位レベルで集められる。メッセージ（同一の出力端子に対して競合してしまったメッセージ等）によっては、ＦＩＦＯの中への方向の修正、及びレベルの最も右側にある列において、右から左８１４に戻る循環がなされてよい。メッセージの入力を受取るのに１つだけの列が用いられて、且つメッセージ出力に２つ若しくは３つの列が用いられている場合には、最上位レベルにあるメッセージが、常に少数の列内で下がることがシミュレーションによって示されている。最も適切な配置は：（１）単一の入力列８０２を有し、（２）最上位レベルにおいて効果的となる少数列（ノードアレイ）を有し、（３）メッセージがＦＩＦＯ１１２に進入する可能性を減少させるようなＦＩＦＯ１１２の配置になっており、（４）メッセージを高速に下方向に移動させべく２セル・ノードが用いられており、且つ（５）バースト・トラフィックに適用するべく、所望に応じて、出力キュー８１０が用いられている。広範囲になっている状態では、上位レベルに配置されたＦＩＦＯにメッセージが決して進入しないので、上位レベルのＦＩＦＯは除去される。それゆえに、ＦＩＦＯは、大部分の下側への直接経路の左側に配置される。
【００５９】
最上位レベルにおける行の数が、入力ポートの数と等しくなっているのが最も適切である。出力ポートの数は、入力ポートの数と等しいか若しくはそれよりも大きくなっており、それにより複数の出力列によって、相互接続網からのメッセージが効果的に排出される。Ｉ／Ｏピンの数がチップ設計に対する制限要素になっているので、可能な限りより多くのノードアレイを実装するべく最大量のシリコンが用いられる。ブロックされていないメッセージが常に次の列において下側への経路を有するように、２セル・ノードが用いられる。ブロックされていないメッセージは、相互接続網の上部左側から「４５度」の対角方向経路を形成する。最も最適には、図８Ａに示されるように、ＦＩＦＯがこの対角方向のすぐ左側に配置される。
【００６０】
通常のトラフィックでは、メッセージは通常、この対角方向経路の右側に、ほんの少数の列だけ移動する。全メッセージの複合動作は、滝（カスケード）に似た流れになっている。メッセージによっては、方向修正をほとんど受けずに、対角方向に近い経路に移動する。他のメッセージは、より多くの方向修正を受けて、より右側で下部に到達する。出力列は、望ましくは、複数メッセージの大半が集められるように、対角方向から数列右側に配置される。メッセージがＦＩＦＯに進入する前に効果的に集められるように、出力列８３４が最下位レベルのＦＩＦＯ１１２のすぐ左側に配置されてよい。列８３４の出力デバイスが決してビジー状態にならない場合、最下位レベルのＦＩＦＯは省かれてもよい。
【００６１】
内側の列の数が、レベルの数の約１．５倍乃至２倍であるべきであるということが、シミュレーションによって示されている。例えば、１２８行の相互接続網は、７レベルを有してよく、且つ全部で１２列乃至１５列を有するべきである。メッセージは、最上位レベルではブロックされる可能性が低いため、従って、メッセージが最上位レベルにおいて全ての列を横切ることは決してあり得そうにない。即ち、入力の右側の全ての列においてノードアレイが必要ではない。ＦＩＦＯ及びノードアレイは、最上位レベルにおいて効果的に省かれ、それによりシリコン量が減少される。
【００６２】
カスケード相互接続網の配置のいくつかの実施例では、図８Ａに示されるように、各行に対して複数の出力列を有していてよく、それにより同じターゲットに方向付けられたメッセージに対して複数の退出経路が提供される。受信デバイスが複数のメッセージを一度に処理できる場合（例えば、バッファリングによって）、メッセージが外部からブロックされる可能性が更に減少する。ある代替実施例は、アドレス毎に１つの出力ポート及び１つの出力バッファのキューを有しており、好ましくは、Ｉ／Ｏポートの総数を減少させる。
【００６３】
図８Ｃを参照すると、オンチップ出力キュー８１０が、最下位レベル８０４において複数の列からメッセージを受取っている。各ターゲット・アドレスに対して１つのキューが割当てられ、そのキューの中の各バッファが１つのメッセージを保持している。最下位レベルに到達したメッセージは、キューが空である場合、若しくはキュー内の空のスロット８１２にルーティングされた場合、即座に相互接続網を退出する。キューが満杯である場合は、メッセージは、最下位レベルの行に残って、別の列のキューへの進入を試みる。メッセージは、出力ポート２１８を通してキューから排出される。実施例によっては、キューは外部出力デバイスから制御信号を受取り、そにれよりデバイスがいつデータを受取れないのか示される。
【００６４】
ＡＴＭセルは、使用中の状態でセルが廃棄されてよいかどうかを示している「サービス品質」（ＱＯＳ）ビットを有している。図３Ｂは、相互接続網の内部で用いるためのＱＯＳフィールド３３２を備えたメッセージが示されている。内部接続網が使用中でない場合、ＦＩＦＯに進入するメッセージはほとんどない。使用中の状態の間、メッセージは繰返しブロックされ、最終的にはメッセージがＦＩＦＯに進入する１つのレベルで循環するように強制される。一実施例では、メッセージがＦＩＦＯに進入すると、ＱＯＳフィールが検討される。相互接続網がビジー状態である場合には、このメッセージが廃棄されてよい。
【００６５】
最も単純な場合では、例えば、ＡＴＭセルで用いられるＱＯＳフィールドのようにＱＯＳがシングル・ビットになっており、ビットが設定されている場合、メッセージがＦＩＦＯに進入する際に廃棄される。別実施例では、メッセージがＦＩＦＯに進入する際に、ＱＯＳフィールドが増加／減少され、それによりメッセージが循環した回数の総数が示される。所定の値（例えば、０等）に達すると、メッセージが廃棄される。望ましくは、メッセージ間において広範囲の優先順位がサポートされるように、相互接続網に進入するメッセージは種々の初期ＱＯＳ設定を有してよい。ＱＯＳ処理は、下位レベルのいくつかでメッセージがＱ８２０からＦＩＦＯに進入する際に、最も適切に実行される。
【００６６】
図８Ａに示されているカスケード相互接続の実施例は、全ての入力ポートに対する単一のクロック信号、２セル・ノードによる減少されたレイテンシィー、最上位レベルにおける低いトラフィック密度、及びメッセージがＦＩＦＯに進入する可能性が低いカスケード様の流れが、利用されている非常に適切な設計である。１つの列がメッセージを入力するために用いられ、１より多くの列がメッセージの出力に用いられる。１２８個の入力端子、アドレス当りの出力ポートが３個になっている３８４個の出力端子、７つのレベル、１５個の内側列、及びモンテカルロ分布（Ｍｏｎｔｅ Ｃａｒｌｏ ｄｉｓｔｒｉｂｕｔｉｏｎ）のトラフィックを備えた構造のシミュレーションによって、相互接続構造を通るワームホーリングの際に、１つのメッセージが平均して約１０セルと出会うことが示されている。２５６個の入力ポート及び２５６個の出力ポートといった配置の５１２個のＩ／Ｏポート、８つのレベル、１５個の内側列を備え、更に、図８Ｃに示される出力バッファが用いられている代替実施例では、１つのメッセージはバッファに進入する前に約２０セルと出会う。トラフィックのばらつきを滑らかにするように、出力バッファが用いられる。オンチップ・バッファを用いることによって、同数のピンで、入力ポート及び出力ポートの数が２倍になる。
【００６７】
図８Ｂは、階段状の相互接続構造を示している模式的な図である。この階段状の相互接続構造は、１個だけの入力列と１個だけの出力列とを有し、右から左へ戻る接続とＦＩＦＯとは有していない。相互接続網１００のいくつかの実施例では、同一周期の間に１より多いメッセージが送信される出力ポートがない場合に、全てのメッセージは、左側に方向が修正されることなく各出力ポートにワームホールが空けられることが１つの特性になっている。効果的な配列の１つとして、ＦＩＦＯが不要で、全てのメッセージが出力ポートに同時に到達するものがある。この相互接続構造は「階段状相互接続網」として呼ばれる。メッセージは、最上部において最も左側の列８５０から進入し、メッセージが最下位レベルに近付くにつれて程度の小さいものに広げられて、最下部において最も右側の列８５４にある出力ポートへと水平方向に移動され、決して再循環されることはない。相互接続構造を通って、とり得る多数の可能な経路のうちの２例が、太線で示されている。例えば、ライン８５２は、急激に最下位レベルに下がっていくメッセージを図示している。ライン８５３は、最終的に最下部に到達する前に、右側にかなり頻繁に方向修正されているのを示している。１つの周期の間に、複数のメッセージが重複する出力アドレスを有さない場合には、図８Ｂに示されている階段状の相互接続網が最も適切である。階段状の相互接続網は、ＦＩＦＯを１つも使用せず、又、同様の能力のカスケード相互接続網に比べてほとんどノードアレイを用いない。１つの適切な設計規則では、最上位レベルが少なくとも３つの列を有し、列の総数がレベルの数の約２．０倍になっている必要がある。図８Ｂのこの例は、８つのレベル及び１７個の列を有し、この設計規則に従っている。
【００６８】
２つ以上のメッセージが同一アドレスに送られる等の、重複してはいけないという規則に違反してしまった場合の適用例では、メッセージの一方だけが成功する。他方の不成功メッセージが、成功メッセージがターゲットの出力ポートに到達するのを妨げないという点に利点がある。この不成功メッセージは、収集デバイスＬ ８５６による更なる処理のために集められるように、下位レベルの最も右側のノードへと方向修正がなされる。
【００６９】
階段状相互接続網の代替実施例では、メッセージのマルチキャスティングは、単一のペイロードに対して複数のヘッドを用いることによってサポートされる。マルチキャスティングは、単一の入力ポートからのペイロードが１つの時間周期の間に、複数の出力ポートに送られる場合に生じる。各ヘッダは、ペイロードに対するターゲット・アドレスを特定し、このアドレスは任意の出力ポートであってよい。同一周期の間で、１より多い入力ポートからメッセージを受信できる出力ポートが１つもないという規則がこの場合にも遵守されている。第１ヘッダは、以下で説明されるように処理され、続くペイロードの流れを方向付ける内部ラッチが制御ロジックによって設定される。そのレベルに対するルートを決定するアドレス・ビットが異なっているセルに到達するまで、第２ヘッダが、第１ヘッダの直後を第１ヘッダの経路に従っていく。ここで、第２ヘッダが、第１ヘッダとは異なる方向にルーティングされる。セル内の付加的なラッチによって、セルの外への二叉の流れが表わされ、且つ制御される。別の言い方をすれば、第２ヘッダは、アドレスが別方向を示して、且つ続くトラフィックが両方向からセルを退出するようにセルが接続をなすまで、第１ヘッダに従っていく。同様にして、第３ヘッダは、レベルが決定されるヘッダ・ビットによって異なる方向への分岐が示されるまで、最初の２つによって確立された経路に続いていく。上からメッセージを受信することができないことを示すべく、ヘッダがセルを通って左から右へ移動する際に、このヘッダによって使用中の信号が常に上側に送信される。
【００７０】
この規則は、第１ヘッダ、第２ヘッダ、及びその他のヘッダに対して常に遵守される。別の言い方をすれば、セルが上側に使用中の信号を送信すると、全てのヘッダが処理されるまで制御信号が保持され、それにより、第２ヘッダが第１ヘッダによって確立された経路を用いようとする試みが防止される。許されるヘッダ数は、チップの外部にあり得るタイミング信号の関数になっている。階段状相互接続網のマルチキャスティングの実施例は、外部のタイミング信号の制御下で、異なる時間において１つ、２つ、若しくは３以上のヘッダを備えるメッセージに適応することが可能である。マルチキャストでないメッセージは、第２ヘッダ及び第３ヘッダの代わりに、例えば全部が０である空のヘッダが後に続いている、単一のヘッダのみを有する。１つの周期内で全てのヘッダが一度処理されると、上述したように、ペイロードが最後のヘッダの直後に続く。
【００７１】
階段状相互接続網は、自己配線式クロスバーとして機能する点において効果がある。このメッセージ・ヘッダは、望ましくは全ての入力ポートから全ての出力ポートにペイロードを並列転送する、ラッチされた入力−出力の接続を生成する。クロスバーの内部の複雑性及び制御がＮ２とスケーリングされるのに対して、階段状相互接続網はＮ・ｌｏｇ２（Ｎ）としてスケーリングされる点に利点がある。２５６個のポートを備えたスイッチの例では、クロスバーが外部プロセッサによって設定される必要のある内部スイッチのオーダーが６４Ｋであるのに対して、自己配線式の階段状相互接続網は２５６×８２、若しくは１６Ｋのセルを有する。
【００７２】
図８Ａ及び図８Ｂに示される実施例では、入力ポート用に１つだけの列が用いられており、又、１回の時間周期の間に、入力ポートからの複数のメッセージが各々、同じ出力にアドレス指定される。複数の入力ポートは、複数の出力列を有し、出力ポート対入力ポートの比が１より大きくなっている一実施例によって、収容することが可能である。しかしながら、複数の出力列を用いるのとは対照的に、チップ上のＩ／Ｏポート、出力接続の総数を減少させることが可能であることから、単一の出力列を用いるのが好ましくなる可能性がある。単一の出力列は、相互接続網の内部のＦＩＦＯを出力ポートの間で共有されるバッファとして効果的に用いることによって、変動する出力状態を好適に満足させ得る。別のトラフィック状況では、最下位レベルにおける行は、同じ出力ポートに対して宛先指定されたメッセージで満たされ得る。これらのメッセージは、ヘッダが近くのポートに設定されている別のメッセージをブロックし得る。図８Ｃは、各出力ポート２１８に対してオンチップ・キュー８１０を用いる一実施例を示している。メッセージが最下位レベルの行８０６に到達すると、このメッセージはキュー内の最下位の利用可能スロット８１２に即座に送られる。このキューが空である場合には、メッセージは出力ポートを通って即座に退出する。キューが満杯である場合には、このメッセージは最下位レベルの行の上に残って、キューに接続されている他の列のキューへの更なる進入が試みられる。
【００７３】
各キュー８１０は、単一の出力ポート２１８へと外部に接続されており、望ましくは、Ｉ／Ｏピンの総数が最小化され、且つネットワーク内のブロッキングの量が減少される。出力ポートが６４個乃至１６，３８４個の範囲である相互接続網のシミュレーションによって、ほとんどの出力速度の変動に適応し、且つ最下位レベルを望ましく非密集状態に保つのに、キュー当り３乃至１０のバッファの深度が適切であることが示されている。メッセージは、ＦＩＦＯベースでキューから除去される。メッセージが相互接続網の内部で繰返しブロックされると、そのメッセージは、相互接続網に遅れて進入した他のメッセージよりも最下位レベルに到達するのにより時間を要する可能性がある。その結果、同一の出力ポートに送信された一連のメッセージは、順序が狂って退出する可能性がある。ある代替実施例では、キュー内の位置は、タイムスタンプ・ベースで、若しくはメッセージ・ヘッダ内の連続番号によって詰められる。キューは「ラウンドロビン」式に空にされ、それにより、到着及び退出の整列された順序が望ましく保存される。
【００７４】
相互接続網の２速度の実施例では、最下位レベルの行８０６と一致するクロック速度で、メッセージがキュー内の空スロット８１２に進入し、通常はより遅い異なるクロック速度で出力２１８を通って退出する。別の言い方をすると、キュー内のスロットは高速で満たされ、外部の出力デバイスと一致する別の速度で空にされる。ビデオ・オンデマンド・スイッチ等の適用では、パケット若しくはメッセージを高いビット速度でスイッチ中に受取り、これらのメッセージをより低速で配信する。より少数の高速入力ポートによって、より多くの出力ポートがサポートされる点が利点である。図３６Ｂでは、非常に少数の最上位レベルの行が入力の接続を有している入力構成が示されており、これは二速度の実施例に関して適切な構成である。
【００７５】
この相互接続ネットワークは、複数のレベルを含んでおり、その各レベルは複数のセルの集団を含んでいる。図９は、６つのセル集団：Ｕ、Ｖ、Ｗ、Ｘ、Ｙ、及びＺを図示している。集団Ｕ ９０２は、３つのレベルの最上位レベルの上にある。データは、ＩＮと記号が付けられたラインを通して、グループＵの中の所定のセルに進入することが可能である。このラインは、より高位のレベルに接続されてもよいし、若しくはネットワークの外部にあるソースからデータを受信してもよい。データは、ＯＵＴ ９１０と記号が付けられたラインを通って集団Ｘ、Ｙ、及びＺを出て行く。このラインは、より下位のレベルに接続されてもよいし、若しくは相互接続網の出力ポートであってもよい。集団Ｖ及びＷは、集団Ｕのレベルよりも下位にあり、更にその下位のレベルに集団Ｘ、Ｙ、及びＺがある。各集団は、１以上のデータ経路を含み、各経路はループ若しくはリングの構成になっている。集団Ｕの中のセルＡ ９０４は、他のセルＢ、Ｃ、Ｄ、Ｅ等に接続されている。メッセージの長さがセルの数と比較して長くなっているいくつかの実施例では、全メッセージがレベルの内部に適合するようにループ中にＦＩＦＯが含まれる。データ・ループ９２４の中を循環するメッセージは、集団Ｕから集団Ｖ、Ｗ、Ｘ、Ｙ、及びＺにというように、下位のレベルにある集団の中のセルへと下方向に移動する複数の機会を有する。セルＢに進入するメッセージは、集団Ｖの中のセルＪへと下に落ちる機会を有する。或いは、メッセージがセルＢからセルＣに移動する場合に、このメッセージは集団Ｗの中にあるセルへと下に落ちる機会を有する。実施例によっては、集団Ｖ及びＷは、各々上位及び下位の集団になっている。
【００７６】
セルＪがセルＢとメッセージのターゲット・ポートとを接続する経路上に配置されているときはいつでも、セルＢに進入するメッセージが、下位のレベルへセルＪに下方向に接続９１２上を移動してもよい。更に、セルＬがセルＪに接続されていて、且つ同一の時間間隔内に別のメッセージがセルＬからセルＪに移動する場合には、セルＪにメッセージを送信において下位レベルのセルＬがセルＢを上回る優先順位を有する。セルＬが上にあるセルＢに制御信号９１４を送信して、セルＢにメッセージを下に送信しないように通知することによって、優先順位の信号が送信される。いくつかの実施例では、更に、制御信号９１４によって、下向きの経路９１２上にあるスイッチ９２２が開けられ、それにより、信号送信されたセルからの任意のメッセージが、共有経路９１８上にあるメッセージと衝突することが防がれる。スイッチ９２２は、入力ポート９０８等の外部デバイスが制御信号を受取るのに失敗した場合に、メッセージが衝突するのを効果的に防ぐ。実施例によっては、下向きの経路９４０が１以上のレベルを飛越している。
【００７７】
全てのセルは、セル集団内において別のセル、若しくはＦＩＦＯへの退出経路９１８を有し、更に、全てのセルは、共通経路を共有する１以上の別のセルへの直接的な制御信号接続９１２若しくは間接的な制御信号接続（図示せず）を有する。あるセルが下向きにメッセージを送信しない場合には、このセルはこのメッセージを経路９１８上で同一集団の別のセルに送信する。制御信号を用いるメッセージ・ルーティングの重要な利点は、退出経路がセルから常に利用可能であるということである。メッセージは、決してセル内にバッファ、格納、保持、若しくは保存されず、セルを通過しながら常に移動している。更に、１つのレベルに残されたメッセージは、現在までに達成されているメッセージ・ターゲットに向かっての移動の進みを損なうことはない。別の言い方をすれば、このメッセージは、メッセージが現在の集団にいるときには、ターゲットから遠くに移動しない。このメッセージは現在の集団の中で、メッセージ・ターゲットへの経路上にある下位集団に接続されている別のセルと迅速に出会う。
【００７８】
更に、図２Ａも参照すると、データ・ループ９２４が同一レベルにおける１以上の行２０８と対応し、リンク９１２が垂直方向データ経路２１０と対応し、リンク９１８が列間の接続と対応し、更に制御信号９１４が垂直方向信号経路２０６と対応している。相互接続網のいくつかの実施例では、全ての集団によるセットが、任意の入力ポートから任意の出力ポートへのバイナリ・ツリー状の接続経路の集まりを形成する。図９を参照すると、任意の入力ポートから任意の出力ポートへ数多くの経路が存在している。
【００７９】
メッセージＭは、最上位レベルのレベルＪから最下位レベルのレベル０まで配置されたＪ＋１レベルの階層内に配置されている複数の相互接続セルを通過する。この相互接続構造は、複数の入力ポートを通って相互接続構造に進入し、格納されない複数の複数ビット・メッセージを転送する。複数のメッセージのうちの個々のメッセージＭは、自己ルーティング式（ｓｅｌｆ−ｒｏｕｔｉｎｇ）であり、メッセージの複数ビットのうちの一部だけが２セル間で送信され、複数ビット・メッセージが複数のセル間に渡っている、ワームホール・ルーティングを用いてセルを通って移動する。個々のメッセージＭは、メッセージＭがヘッダにより指定された出力ポートを通って相互接続構造を退出するために十分である４方法を含む複数の方法によって移動する。この４つの方法は：（１）１以上の出力ポート９１０が指定されているメッセージＭが、外部デバイスからセルに進入すること、（２）このメッセージＭが、バッファリングされずに、相互接続構造中のセルＡ ９０４を通って指定された出力ポートに移動すること、（３）このメッセージＭが、同一レベルにある異なるセルＪにバッファされずに、セルＬを通って移動すること、及び（４）メッセージＭが、宛先により近いレベルにおけるセルでバッファされずに、セルＢを通って移動することである。
【００８０】
図１０は、変換数列を生成するための方法、置換ボックス配置を生成する作業の第１段階を示しているテーブル図である。最も単純な数列Ｓ２は、数字で０，１，０．のように記述される、２列間での交互の変換である。２のべき乗である変換列は、変換列Ｓ２、Ｓ４、Ｓ８、Ｓ１６等から構成される。変換列Ｓ４ １０３０は、第１数列Ｓ２と、２だけ増加された第２数列Ｓ２ １０２４との２つの数列から生成される。第１変換列０，１，０は各値の後に空白が書込まれる。数列Ｓ２＋２が全ての空白位置に挿入され、０，２，１，３，０の数列Ｓ４が生じる。変換列Ｓ８ １０３６が、数列Ｓ４及び数列Ｓ４を４増加させたものから導出され、変換列０，４，２，６，１，５，３，７，０となる。同様にして、変換列Ｓ１６が、数列Ｓ８及び数列Ｓ８を８増加させたものから導出され、変換列０，８，４，１２，２，１０，６，４，１，９，５，１３，３，１１，７，１５，０となる。添字Ｒが、２のべき乗である場合には、所望のＲに達するまで、ここで説明され、図１０で示されるような増分及び併合の方法を続けることで、変換列ＳＲが好適に生成される。これらの数列は、巡回数列（ｇｒａｎｄ−ｔｏｕｒ ｓｅｑｕｅｎｃｅ）と呼ばれる。
【００８１】
変換列Ｓ４は、０，２，１，３，，０，２，．．．として与えられる。０基点の表記法を用いると、Ｓ４［ｉ］が、変換列のｉｔｈ番目の値を参照している。例えば、Ｓ４［０］＝０、Ｓ４［１］＝２である。変換列が４要素毎に繰返されることに注意されたい。即ち、Ｓ４［ｉ］＝Ｓ４［ｉ＋４］である。一般に、変換列はＳｎは、ｎ要素毎に繰返される。即ち、Ｓｎ［ｉ］＝Ｓｎ［ｉ＋ｎ］である（ここで、ｉは負でない整数である）。
【００８２】
後の使用のために、用語「下位集団」及び「上位集団」がここで定義される。下位集団は、変換列Ｓｎの中の数の値域の下位の半分に配置される全ての行の上にあるセルを含んでおり、上位集団は、上位の半分に配置される全ての行を含む。例えば、与えられた変換列Ｓ２（０，１，０，１，０．．．）では、行０が下位集団に入り、行１が上位集団に入る。変換列Ｓ４（０，２，１，３，０．．．）に関しては、行０及び行１が下位集団に入り、行２及び行３が上位集団に入る。増分された変換列Ｓ４＋４（４，６，５，７４．．．）の例では、行４及び行５が下位集団に入り、行６及び行７が上位集団に入る。一般的に、集団に関する場合の「上位」及び「下位」の定義は、２進法表示の行数Ｒと、行が配置されるレベルＪとから決定される。この行は、ビットＲＬ，ＲＬ−１，ＲＬ−２，．．．Ｒ２，Ｒ１，Ｒ０によって２進法形式で表わされる（ここで、Ｒｉは０若しくは１である）。レベルＪでは、行Ｒは、ＲＪ＝１の場合に上位の行として定義され、ＲＪ ＝０の場合に下位の行と規定される。８行の例では、変換は２進法表記を用いて以下のように記述される：
レベル０（Ｊ＝０）では、行０００，０１０，１００及び１１０が下位集団であり、００１，０１１，１０１，及び１１１が上位集団である（Ｒ０は、最も右側のビットである）。
【００８３】
レベル１（Ｊ＝１）では、行０００，００１，１００及び１０１が下位集団であり、０１０，１１０，０１１，及び１１１が上位集団である（Ｒ０は、最も中間のビットである）。
【００８４】
レベル２（Ｊ＝２）では、行０００，００１，０１０及び０１１が下位集団であり、１００，１０１，１１０，及び１１１が上位集団である（Ｒ０は、最も左側のビットである）。
【００８５】
メッセージ変換列を生成するためのこの方法の１つの望ましい結論として、１つおきの位置が連続的に変換列中央の下及び上になっている。例えば、８行変換列Ｓ８（０，４，２，６，１，５，３，７，０）において、交互の位置の第１セット（０，２，１，３，０）の値が全て、第２セット（４，６，５，７，４）の値よりも小さくなっている。従って、数列Ｓ８によって規定される経路に従うメッセージは、常に下位集団と上位集団との間を行ったり来たりし、更にそれが繰返され、その結果はこの方法によって生成される変換列の全てと一致している。変換列の更なる有利な結果は、メッセージＭ１及びＭ２が各々同じレベルに残る場合に、両方のメッセージが２Ｊ列を通って移動するまで（ここでＪはメッセージＭ１のレベル）、メッセージＭ２がメッセージＭ１をブロックする位置に再度こないことである。具体的な例をあげると、レベル５におけるメッセージＭ１がレベル４におけるメッセージＭ２によってブロックされた場合、このメッセージＭ１及びＭ２が再度、整列する前には、メッセージＭ１及びメッセージＭ２が他のメッセージによって各々３２（２５）回ブロックされる必要があり、これは非常に起こり難いことである。従って、図示される構造によって、メッセージのブロッキングが拡張されることが防止される。
【００８６】
相互接続網の最上位レベルに進入するメッセージは、複数の接続の間を、行の範囲の上側半分（上位集団）にある行と下側半分（下位集団）にある行とに、交互に下向きに進んでいく。メッセージが、ターゲットへの接続を南方向に有する最上位セルに到達すると、このメッセージは、範囲が減少されて行の総数が半分になっている次の下位レベルに下がる。例えば、相互接続網が各レベルで１６行有している場合、最上位レベルに進入するメッセージは、上位８行の数と下位８行の数との間を、即ち、上位集団と下位集団との間を交互に進む。決定をするのにＭＳＢが用いられる。次のレベルでは、メッセージは各々が４行である集団の間を行ったり来たりして、更に次のレベルでは、メッセージは各々が２行である集団の間を行ったり来たりする。最初が１６行の相互接続である集団の各レベルにおける大きさは、８になり、４になり、２になり、最終的に１になり、そこで、メッセージはヘッダで特定されるターゲット行に到達して、この相互接続網を退出する。
【００８７】
表記Ｐｎ，ｍが、置換ボックスを指定するのに用いられる。ここで、ｎは置換ボックスの中の行数であり、ｍは変換列の程度である。変換列の程度は、数列中の変換量を示している。第１程度の変換は、２つのノードの間での変換を行う。ｍ程度の変換は、数列中でｍ個の変換を行う。用語「置換ボックス」は、同一レベル上での隣接する列におけるセルの間で行から行への接続の受動セット（ｐａｓｓｉｖｅ ｓｅｔ）を示している。図１１Ａ乃至図１１Ｆは、１行、２行、４行、及び８行に関する変換配列を示している。図１１Ａは、変換列□□□１の１行に関しての単純な場合である。数列Ｓ１（０，０，０．．．）は、０から０へ直線的に渡っている接続を指定している。入力行が置換ボックスの左側にあり、出力行が右側にある。図１１Ｂは、数列Ｓ２（０，１，０，１．．．）から得られる変換配列□２，１を示している。数列Ｓ２［０］が、数列Ｓ２［１］に接続されている。即ち、行０が行１に接続されている。図１１Ｃは、数列Ｓ４（０，２，１，３，０．．．）からの変換列□□□１を示している。行０が行２に接続され、行１が行３に接続され、以下同様である。図１１Ｅ及び図１１Ｇは、数列Ｓ８及びＳ１６から各々得られる。置換ボックスを（数列Ｓ８を参照せずに）図表で生成する、１つの代替的な方法が図１１Ｅに示されている。置換ボックス□□□１は、上部左側の象限に配置された４行変換列□□□１と、下部左側の象限にこの置換ボックスの下に配置された一連の４つの水平方向ラインと、右側に配置された上部から下部へ及び下部から上部への８つの接続のセットとの組合わせから形成される。同様にして、図１１Ｇに示されるように、置換ボックス□□□１を上部左側の象限に配置し、８つの水平方向ラインをこの置換ボックス□□□１の下に配置し、更に、上部から下部へ且つ下部から上部への１６ラインの交差部分を右側に配置することによって、変換列□□６，１が、形成され得る。任意の２のべき乗の置換ボックスを得るように、帰納的な図式解法を無制限に続けることが可能である。
【００８８】
変換列が全ての行に対して同じになっている必要はなく、又、数列がレベル数に関連する周期若しくは同様の規則で繰返される必要もない。例えば、レベル２において、好適な変換列Ｓ４（０，２，１，３，０．．．）の代わりに変換列０，１，１，０，２，２，３，３が用いられてよい。確率的には、そのような変換列は、公平なメッセージの流れ、最小化されたブロッキング、及び少ない移動時間という望ましい統計的な特性は有していない。図１１Ｄは、置換ボックスの望ましくない例である、中線を横切る平行な接続によって生成される単純な配置の□Ｘ４，１を示している。全てのメッセージが中線を横切って、上位集団と下位集団との間で常に行き来をするのが望ましい。別の実施例では、メッセージがレベル毎に少なくとも１度は上位及び下位の行を訪れることを可能にする任意の変換列が用いられてよい。これらの変換列の性能は、巡回変換列よりも劣っている。
【００８９】
図１１Ｆ及び図１１Ｈは、無作為の組合わせから得られる置換ボックスを示している。図１１Ｆは、無作為の組合わせから得られる□Ｒ８，１の８行変換列を示している。行の下部にあるセットが、無作為に上半分の行と接続されており、上半分にある行に対してその逆もまた同様になっている。例えば、行０，１，２及び３が行６，４，５及び７と無作為に接続されており、上部の行の接続についても同様になっている。図１１Ｈは、１６行での無作為の置換ボックス□Ｒ１６，１である。相互接続網１００の好適実施例では、無作為の変換列は、相互接続網の全ての列で異なっている。代替実施例では、無作為に生成されたパターンが複数の位置で用いられてよい。相互接続網１００の種々の実施例を通って流れるメッセージのシミュレーションによって、図１１Ｆ及び図１３Ｂに示されるような無作為の変換列が、許容範囲にあるスループット率を生じることが示されている。相互接続網１００の有用な構造としては、巡回変換列が用いられる。
【００９０】
一般的に、変換列Ｓｎから生成される置換ボックス□ｎ，１の構成は、範囲（０，１，．．．，ｎ−１）にある全てのｉに対して、入力ポートＳｎ［ｉ］が出力ポートＳｎ［ｉ＋１］に接続されるという規則によって与えられる。無作為の置換ボックス□Ｒｎ，１は、全ての接続が中間線を横切ることを保証すると同時に、行のターゲットを無作為に組合わせることによって生成される。
【００９１】
変換列Ｓ８には、置換ボックス□□，１を構成するのに用いられる８行のセットを通るメッセージの流れが記述されている。図４Ｂ及び図７Ｃは、各レベルにおいて、単一の置換ボックスだけを有する配置が示されている。これらの例では、列から列への行の接続が直線的に渡っている。即ち、メッセージが東に移動する際に、行番号は変更されない。２つの変更によって、流れの記述は、８行変換列Ｓ８に変換される。第１の変更は、程度ｍの置換ボックス７０６を用いることである。第２の変更は、以下で説明されるように、ノードアレイ内のセルの異なる層間配置である。
【００９２】
程度ｍの置換ボックスは、連続して接続されているＭ個の（程度１の）置換ボックスの場合のメッセージの流れと同じ効果を生じる。図１２Ａ乃至図１２Ｄは、程度Ｍの置換ボックスの例を図示している。変換列Ｓ８（０，４，２，６，１，５，３，７，０，．．．）の場合は、点線で示されるように、行０を出発するメッセージが、３ステップ後の行６に移動する。行１を出発するメッセージが、３ステップ後の行７に移動する。置換ボックス□□，３は、連続して接続されている３つの□□，１置換ボックスの効果を生じる。図１２Ｂは、４つのステップによって生成される程度４の置換ボックス□□，４を示している。図１２Ｃは、５ステップ後で生成される□□，５を示している。図１２Ｄは、７ステップ後に生成される□□，７を示している。□□，０の場合と同じで、直線的に渡っている接続のセットである□□，８は示されていない。相互接続網１００の有用な一構成として、図７Ｃに図示されているように、レベル毎に単一の置換ボックスが用いられる。図１Ａ、図１Ｂ、図７Ａ、及び図７Ｂに示されるように、代替的な構成では、列毎に単一の置換ボックスが用いられる。
【００９３】
置換ボックス□□，９は、□□，１の場合と同一である。一般的に、置換ボックスＰｎ，ｍはＰｎ，ｑと同一である（ここで、ｑ ＝ ｍ＋ｎ＊（整数）である）。置換ボックスＰｎ，ｍの構成は、範囲（０，１，．．．，ｎ−１）内の全てのｉに対して入力ポートＳｎ［ｉ］が出力ポートＳｎ［ｉ＋ｍ］に接続されるという規則によって与えられる（ここで、ｍは変換列の程度である）。ｍが奇数の場合、無作為の置換ボックスＰＲｎ，ｍは、定義によりＰＲｎ，１と同一である。ｍが偶数の場合は、変換列は単に無作為の組合わせであり、そこでは、接続は中線を横切っていない。
【００９４】
図４Ａ及び図４Ｂに示されるブロック図の配置は、相互接続構造を通って移動するメッセージへの変換列の適用を図示している。図１３Ａは、前に図示された低密度の配置に比べて、セルを互いにより近接する緻密な「正方形」の配置にすることによって、実際のシリコン配置のより効率的な使用を示されている。列の間の変換列の効果は、水平方向の接続経路２０８及び垂直方向の接続経路２１０の上でのセルの特定な配置によって生成される。５レベル、１６行の相互接続網の３つの列と、上側の４レベルが示されている。レベル０は示されていない。任意の行を横切るメッセージの検討することによって、そのレベルに対する巡回変換列Ｓｎが得られていることが確認される。例えば、レベル４における行０が、０，８，４．．．と一連の変換列Ｓ１６に従っている。この配置の望ましい副次的な効果は、セルが常に、南方向及び東方向に接続されているセルに非常に近接して配置されることである。長いトレースが相互接続配置の内部に生じず、全てのセルとセルの接続が類似の長さを有していることが望ましい。
【００９５】
図１３Ａには、各レベルに沿った最大セル間距離を効果的に最小化させる、各ノードアレイ内での緻密なセル配置が示されている。しかしながら、右側の列は、最も左側の列にループバックされる必要がある。図１３Ｂでは、レーストラック配置が示されており、そこでは、戻り経路が１３９０がノードアレイによって占有され、望ましくは最大接続距離が最小化されている。ＦＩＦＯ（図示せず）のセットが、ループに沿って付加的に配置されてよい。
【００９６】
実施例によっては、相互接続構造は、大きさが２のべき乗になっていない等、非標準の特性を備えて構成されてよい。図１との併せて、図１４が、１１行の相互接続網を示している。２Ｌが１１以上になる最小の整数が４である（２４ ＝ １６）ので、相互接続構造はレベル０乃至レベル４を有する。各レベルは、１１行を有している。最上位レベルの１１行は、図９で示された構造の方法により、単一の集団に属する。メッセージがレベル４からレベル３に下がる際に、このメッセージは、２つの集団のうちの一方に移動する。これらの集団は、できるだけ等しい大きさに近付けられる。それゆえに、レベル３における下位集団は６つの行を含み、上位集団は５つの行を含んでいる。レベル４からレベル３に移動するメッセージＭは、同様にして行Ｒ、列Ｃにあるレベル４のセルから、行Ｒにあるレベル３のセルに移動する。Ｃ＜Ｋ−１の場合（ここでＫは列の総数である）には、このメッセージＭは列Ｃ＋１に移動し、Ｃ ＝ Ｋ−１の場合には、メッセージＭは次の列として参照される列０に移動する。
【００９７】
レベル２は４つの集団を含んでいる。下位の２集団は、レベル３の下位集団からメッセージを受信する。レベル３の下位集団は、レベル２において、２つの３行の集団に分けられる６つの行を含んでいる。上位の２集団は、レベル３の上位集団からメッセージを受信する。レベル３の上位集団は、レベル２において、２行の集団及び３行の集団に分割される５つの行を含んでいる。レベル３からレベル２に移動するメッセージＭは、レベル３の行３、列Ｃのセルからレベル２の行Ｒのセルに移動する。レベル１は、上位のレベルの２倍の集団（この場合には８集団）を含んでいる。３行の集団は、１行の集団及び２行の集団へと下側に接続する。２行の集団は、２つの１行の集団へと下側に接続する。レベル１における８つの集団は、各々２行、１行、２行、１行、２行、１行、１行、及び１行を含んでいる。レベル０は、１行の集団を１１個含んでおり、各行がメッセージに対するターゲットになっている。前と同様に、レベル１からレベル０に移動するメッセージＭが、同じ番号の行へと下に移動する。
【００９８】
図９を参照すると、行、データループに沿って移動するメッセージは、出力への経路に接続されている行へ下側に接続される若しくは接続されないセルを通って移動する。概して、メッセージを最終的なターゲット行に方向付けるバイナリ・ツリー状の方法が築かれている。メッセージは、最初に最上位レベルにおいて行から行に大きな移動を行い、続いて、連続する下位レベルでより小さな移動を行う。好適実施例では、最上位レベルにあるメッセージが、次の下位レベルにおいて、その下位レベルの上半分に配置されているセルに、次に下半分に配置されているセルに、交互に接続する。東に移動するメッセージが、そのメッセージにより特定される宛先にそのメッセージを最終的に接続させる下位レベルのセルへと、下側に接続されているセルに到達する前に、たった２列しか横切らないということに利点がある。次の下位レベルでは、行の間を移動する範囲が、好適には前のレベルの半分になっている。最終的に、メッセージがレベル１に到達すると、このメッセージは２つの行の間を行き来して、それにより、メッセージがこのメッセージのターゲット行から相互接続網を退出可能となる前に、メッセージ・ヘッダの１つだけ残っているビットが検討される。
【００９９】
あるレベルにおける行の数は、図１４に示されるように２のべき乗になっている必要はない。１１行の変換列を生成するための方法が記載されている。その目的は、任意の所定レベルに留まっている間に東に移動するメッセージの行から行への変換を特定する、行番号の置換を作ることである。この方法の第１ステップは、最上位レベルにおける行の数Ｒ（この例では１１）を、ほぼ等しい半分に分解することである。値１１は、２つの整数６と５とに分割される。大きい方の値６が、常に最初に書かれる。結果として生じた２つの値の６及び５は同様にして分解される。値６は、３と３とに分けられる。値５は、３と２とに分けられる。値３は、２と１とに分けられる。２か１に達すると処理が停止される。
【０１００】
以下の説明では、数列「Ｓｎ」は、値ｎの変換列を含む列を示している。Ｒを分解した後、次の作業は、１１行の変換列Ｓ１１を作成することである。前の処理のステップが逆にされる：数列Ｓ２及びＳ１から数列Ｓ３が生成され、数列Ｓ５が数列Ｓ３及びＳ２から生成され、数列Ｓ６が数列Ｓ３及びＳ３から作成され、そして最後に、数列Ｓ１１が数列Ｓ６及びＳ５から生成される。いずれの場合にも、より小さな２つの数列がより大きな変換列を作るのに用いられる。変換列Ｓ１は、０，０．．．と規定される。変換列Ｓ２は、０，１，０，１，．．．と規定され、これは東に移動するメッセージが、行０及び行１にあるセルへと交互に下側に接続されることを意味している。変換列Ｓ３は、最初に変換列Ｓ２の各値の後に空白位置を書込む：０，＿，１，＿，．．．ことによって、変換列Ｓ２及びＳ１から生成される。変換列Ｓ２（０，１，０，１，．．．）に含まれていない次に大きい整数は２であるので、従って、２が変換列Ｓ１に付加されて（２，２．．．）を生じる。後者の変換列（Ｓ１＋２）が、Ｓ２の空白位置に配置される。Ｓ３が変換列０，２，１，０，．．．となる。これは、３行の集団の上を東に移動するメッセージが交互に、行０，２，１，０，２，１，０，．．．をその順番通りに訪れることを意味している。
【０１０１】
変換列Ｓ５は、変換列Ｓ３及びＳ２から生成される。大きい方の変換列Ｓ３は、最初に各値の後に空白が書込まれる：０，＿，１，＿，２，。数列Ｓ３の中にない次に大きい整数は３であるので、数列Ｓ２（０，１）の各値にその３が付加される。その結果の（３，４）がＳ３の空白位置に挿入される。それゆえに、数列Ｓ５は変換列０，３，２，４，１，０．．．となる。変換列Ｓ６は、数列Ｓ３（０，２，１）と数列Ｓ３に次に利用可能な整数３を加えたものとから生成される。前と同様に、数列Ｓ３は、各値の後に空白位置が書込まれる：０，＿，２，＿，１，＿。値３が数列Ｓ３に付加され、その結果の（３，５，４）が空白位置に挿入される。数列Ｓ６は、変換列０，３，２，５，１，４，０，．．．になる。数列Ｓ１１は、変換列Ｓ６及びＳ５から生成される。再度、大きい方の数列Ｓ６は、最初に各値の後に空白位置が書込まれる：０，＿，３，＿，２，＿，５，＿，１，＿，４，＿。例では１が、行変換列を生成するために、逆の順番で用いられる。数列Ｓ１及びＳ２に対して事前に定義済みの変換列を用いると、数列の組Ｓ２及びＳ１から数列Ｓ３が得られ、数列の組Ｓ３及びＳ２から数列Ｓ５が得られ、数列の組Ｓ３及びＳ３から数列Ｓ６が得られ、更に数列の組Ｓ６及びＳ５から数列Ｓ１１が得られる。組の第１の値は、各数の後に空白位置が書込まれ、更に、増分された第２の値がその空白位置に書込まれる。増分される値は常に、第１の変換列の中の最大整数の次に大きい整数である。任意の変換列は、数列が繰返されることによって無制限の長さを有しているとみなされる。例えば、数列Ｓ３（０，２，１）は０，２，１， ０，２，１， ０，２，１，０，．．と拡張される。
【０１０２】
所定レベルにおいてメッセージが東に移動する際にメッセージをルーティングするための方法の望ましい成果は、メッセージが次の下位レベルで２集団の各々に交互に移動することである。例えば、Ｒが１１である場合、変換列Ｓ１１（０，６，３，９，２，８，５，１０，１，７，４）によって、メッセージが５行の上側の組６，９，８，１０，７と６行の下側の組０，３，２，５，１，４に交互に配置される。最上位レベルにおけるメッセージのＭＳＢが１である場合、ターゲット行は上位集団の中に入るように規定される。メッセージがたまたま下位集団の中の行にある場合、このメッセージは他方の集団の中にある行に都合よく配置されるように、１列だけ東に移動される必要がある。次の下位レベルでも、同じ交代が行われる。従って、次のレベルに下がる場合、メッセージがそのレベルからすぐに南に移動し得る可能性、若しくはそのメッセージが、次に南に移動可能な列へと東に１列だけ移動し得る可能性は約５０％である。各レベルにおいて、メッセージが相互接続網１００を通って南に移動する際に、メッセージは平均して約１．５個のセルを訪れる。奇数番号の集団の場合、いくつかの列では、メッセージがターゲット集団に到達するために２列東に移動する必要があり、それにより、全ての偶数番号の集団に対して、レベル毎の平均訪問数が僅かだけ増大される。
【０１０３】
図１５Ａ乃至図１５Ｄは、変換列Ｓ３、Ｓ５、Ｓ６及びＳ１１に対する置換ボックスの配置を示している。数列Ｓ３に対する変換列□□，１は、列の間を東に移動するメッセージを示しており、この数列Ｓ３に従って行から行への列が０，２，１，０になっている。行０にあるメッセージが次の列の行２に移動し、行１にあるメッセージが次の列の行０に移動し、更に、行２にあるメッセージが次の列の行１に移動する。図１５Ｂは、数列Ｓ５（０，３，２，４，１，０）に対する変換列□５，１を示している。行０のメッセージが次の列の行３に移動し、残りの行も同様にして移動する。図１５Ｃ及び図１５Ｄは、各々、変換列□６，１及び変換列□□，１を示している。
【０１０４】
図１６には、３ベースの相互接続網に対する変換列を生成するための方法が示されている。この方法は、図１０に示される２ベース相互接続構造と類似している。最小の数列Ｓ３３が３つの行を有し、０，１，２，０．．．と規定されている。次の３のべき乗は９であり、Ｓ３９が３つのＳ３３の複製から生成される。最初の複製は、各値の後に２つの空白位置を備えるように書かれている。次の数列は、次に利用可能な行番号３だけ増分され、各数の右側にある利用可能な第１番目の空白位置に書込まれる。第３番目の数列は、次の行番号６で増分され、残りの空白箇所に書込まれる。その結果の数列Ｓ３９が、０，３，６，１，４，７，２，５，８，０，．．．となる。次の３のべき乗のＳ３２７が、同様な方法で生成される。Ｓ３９が、各数の後に２つの空白位置を備えるように書込まれ、更に、連続的な増分された数列が間に書込まれて、数列Ｓ３２７が作られる。
【０１０５】
３ベースの置換ボックスは、Ｓ３Ｎ変換数列を用いて配置される。図１７は、変換列Ｓ３３から生成された３行の置換ボックス□□３，１が示されている。置換ボックス□□９，１は、変換列Ｓ３９から得られる。変換列□□３，１が上部左側の角に配置され、その変換列□□３，１の下に６つの水平方向行が配置され、更に、３乃至６の交差部分を作ることによって、置換ボックス□□９，１が図式解法的に生成され得る。置換ボックス□□２７，１は、変換列Ｓ３２７から得られる。この図式解法が、上部左側の角にある置換列□□９，１と、その置換列□□９，１の下にある１８の水平方向行と、９乃至１８の交差部によって図示されている。
【０１０６】
図１８は、３ベース、２７行の相互接続網の列１が示されている。列０の３レベル全てで恒等行列の配置が繰返されている。３ベース処理の利点は、２ベース処理よりもレベル数が小数であることである。例えば、図示されている３レベルの相互接続構造は、２７ポートをサポートする。２ベースのシステムでは、５レベルが必要であり、３２ポートをサポートする。３ベース処理の欠点は、３進法の値０，１，２を表現するために、メッセージ・ヘッダが、好適には、２つのバイナリ・ビットを用いて３ベース表記法で表現されることである。３ベース・セルは、メッセージが南に送られるべきであるか決定するために、２つのヘッダ・ビットを検証する。相互接続構造は、ノード当り単一セルの設計が用いられており、３セル設計は、利点を有するが、付加的な複雑性を含む可能性がある。その設計の詳細はここでは省くが、２セル（２ベース）設計に対する議論を検討することによって得られる。相互接続網１００の実施例では、システムの配置に任意のベース値を用いてよい。２ベースは、２進法の処理により当然サポートされており、ロジック・ゲート及びアドレス空間が効率的に使用されるようにする。ベースが２のべき乗以外の設計の利点は、限定的なものである。しかしながら、市場で現在市販されている大きな「低レイテンシィー」ネットワークと比較すると、より高オーダーのベース・システムは、費用及び性能の面で優れている。
【０１０７】
４ベース設計が用いられている相互接続網１００の一例では、前で説明された２ベース実施例と比較して、レベルの数が２だけ減少される。図１９Ａは、４ベース・セルを示している。図１９Ｂは、ルーティング情報に制御信号が用いられており、全てが同一レベル上にある４つのノードＡ、Ｂ、Ｃ、及びＤが図示されている。これらのノードの各々は、２つのデータ入力ポート、２つの制御信号入力ポート、３つのデータ出力ポート、及び２つの制御信号出力ポートを有している。ノードＶ（図示せず）が、ノードＡのレベルの下のレベル上にあり、ラインＳ０からデータを受信する。ノードＶと同一レベル上にあるノードＵ（図示せず）が、ノードＶに直接データを送信する。ノードＶと同一レベル上にあるノードＷ（図示せず）が、ノードＶから直接データを受信する。ノードＡ若しくはノードＤから、ラインＳ０を下方向にに送信されたデータは、ノードＶを通過して、ノードＷに直接移動する。ノードＶは、ラインＳ０から到達するデータの流れに影響を及ぼすことができない。ノードＶ、ノードＡ、及びノードＤの間には、ノードＷにデータを送信することの優先順位の関係が存在する。ノードＶが最も高い優先順位を有している。ノードＡは、次に高い優先順位を有しており、最後にノードＤが、データをノードＶに送信に対して最も低い優先順位を有している。
【０１０８】
ノードＡから到達可能な全てのポートを含む、システム出力ポートＯのセットは、ノードＢ、ノードＣ、及びノードＤから到達可能なシステム出力ポートのセットと一致している。ノード出力ポートＳ０、Ｓ１、Ｓ２、及びＳ３の各々は、次の下位レベルの上の異なるノードに通じている。次の下位レベルのあるノードから到達可能な出力ポートのセットは、出力ポートのセットＯの中にある出力ポートの１／４が含まれる。
【０１０９】
図１９Ｂでは、制御信号ＢＳ０を通してノードＡがビジー信号を受信し、その信号をノードＤに中継する。ある代替的な設計には、制御信号ＢＳ０の源からノードＤに直接延びるラインと、ノードＡからノードＤへの制御ラインとが含まれる。制御信号は、データの流れを制御するのに用いられる。制御信号がとる経路の詳細は重要でない。ＡＮＤゲートと共に、４つのセルの下にある図１９Ｂの４つのセルは、８データ入力ポート、４制御信号入力ポート、８データ出力ポート、及び４制御信号出力ポートを備えた単一ノードＸと見ることが可能である。
【０１１０】
北からのデータ入力信号は常に、直接、東にノードを通過する。西からの各データ入力は、３方向に転換され得る。東に退出する西からのデータは常に、入力ポートと同じレベル上にある出力ポートを通って退出する。入力ポート間の優先順位関係が存在しており、それは、ノード内の個々のセルの間の優先順位関係から引継がれたものである。ノードＸの入力ポートＷ０からのデータは、ノードＸの出力ポートＳ０からデータを送信することに対して、ノードＸの入力ポートＷ３を上回る優先順位を有する。
【０１１１】
ノードＳＷ（図示せず）にデータを送信するように配置された、各ノードＸの出力ポートｏｐｘの各々に対して、この出力ポートｏｐｘからデータが送信されるようにノードＸの入力ポートＩＰＸが配置される。この入力ポートは、出力ポートｏｐｘを通してデータを送信するための入力ポート・セットの最上位ランクの構成要素から、出力ポートｏｐｘを通してデータを送信するための入力ポート・セットの最下位ランクの構成要素まで順序付けされる。この方法で、出力ポートｏｐｘへのメッセージのアクセスが、位置ベースの優先順位機構（ｐｒｉｏｒｉｔｙ−ｂａｓｅｄ−ｏｎ−ｓｃｈｅｍｅ）によって規定される。入力ポートのセットＩＰＸに進入する各メッセージは、ターゲットを有する。このターゲットは、相互接続構造の出力ポートであってもよいし、若しくは別の構造に送込むターゲット・リングであってもよい。
【０１１２】
出力ポートｏｐｘにデータを送信するための入力ポート・セットＩＰＸの構成要素の間には、優先順位関係が存在する。この優先順位関係では、入力ポートｐが、入力ポート・セットＩＰＸの一構成要素になっている。
【０１１３】
メッセージＭＰが入力端子セットＩＰＸの入力ポートｐに到達し、且つ出力ポートｏｐｘからメッセージＭＰのターゲットへの経路が存在する場合、入力端子セットＩＰＸに到達するメッセージのうちの１つが、出力ポートｏｐｘを通して条件付きに送信される。メッセージが送信されるための条件は、出力ポートｏｐｘが、ノードＸを通って進行していないメッセージによってブロックされていないことである。１）入力ポートｑが入力ポートｐよりも出力ポートｏｐｘへの送信で高い優先順位を有し、更に２）入力ポートｑにメッセージＭｑが到達し、出力ポートｏｐｘからメッセージＭｑへのターゲットの経路が存在するように：入力ポートｐが入力端子セットＩＰＸの中に含まれる場合、メッセージＭｐは、出力ポートｏｐｘに送信されない。
【０１１４】
この例では、以下で説明されるように２レベルの制御とロジックとを単一レベルの内部で組合わせている。４ベース・ノードによって、南方向に４つの出力が提供され、メッセージを２つのレベルを通して下げる効果が複製される。省かれたレベルを通過してスキップすることの付加的な望ましい特性は、相互接続構造を通しての移動時間を減少させ、それにより低レイテンシィーを生じることである。図９も参照すると、あるレベルにおけるセルが、次の下位レベルにおいて、各々「上位」及び「下位」の集団として参照される２つの集団に接続されている。４ベース・セルは次のレベルの４集団のうちの１つと接続しており、バイナリ・ツリー状の経路に対して、効果的に「４ベース・ツリー」を生成する。各４ベース・セルは、南方向に４集団のうちの２つへの接続を有する。複数のセルが相互接続して、南方向への経路を共有する。図示されている４ベースの実施例では、４ベース・セルは、４集団のうちの２つへの接続を下側に有する。次の列では、セルは別の２集団への接続を有する。
【０１１５】
４ベース相互接続に対するメッセージ配置及びヘッダは、図３Ａに示されているのと同じである。図１９Ａを参照すると、メッセージが４集団のうちのどれに行くべきか決定するように、セルＡによってＭＳＢ１９０２、次の上位ビット１９２６、及びトラフィック・ビット１９０２が検討されている。各セルは、南方向に２つの経路を有する。メッセージがこの経路のうちの１つを使用できず、、それゆえに東にルーティングされる必要がある可能性も存在する。このルーティングは、状態６４０の２ベース・セルからメッセージが東にルーティングされるのと類似している。以下で説明されるように、メッセージが東に送信されると、経路を共有する北のセルが、制御信号ＢＮ１９０６により通知される。あるいは、ヘッダによって、南への２経路Ｓ０若しくはＳ２のうちの一方への移動が示されてもよい。経路Ｓ０は、同一ノードアレイ内の別のセルと共有されていてもよく、更に、セルＡが経路Ｓ０の使用に関して別のセルを上回る優先順位を有していてもよい。それゆえに、メッセージ・ヘッダによって経路Ｓ０を通してのターゲットが示されていて、且つ南からの制御信号によってその経路がブロックされていないことが示されている場合、セルＡによってメッセージが経路Ｓ０へと下に送信される。更に、セルＡは、経路Ｓ０を共有するセルＤに制御信号を送信する。セルＡが優先権を有していない経路Ｓ２上へのメッセージの送信を試みる場合、セルＡは経路Ｓ２の使用に関して優先権を有するセルＣからの制御信号の状態をチェックする。４ベース・セルは、直下にあるセル、若しくは共有出力経路Ｓ２上の優先権を有する同一ノードアレイ内のセルによってブロックされる可能性がある。セルＡは、優先権を有する出力経路Ｓ０を別のセルＤと共有しており、セルＤへの制御信号によって経路Ｓ０の使用に関する情報交換を行う。セルＡは、優先権を有さない出力経路をセルＣと共有しており、セルＣから制御信号を受信する。
【０１１６】
図１９Ｂは、同一ノードアレイ内にある４ベース・セルの配置が示されている。点線で示されるように、経路Ｓ０の使用に関して、セルＡがセルＤを上回る優先権を有している。セルＡは、経路Ｓ０上を南にメッセージを送信するときに、同時にセルＤに制御信号を送信する。各セルは、南方向に２経路を有しており、どの経路に優先権を有するかが太線によって示されている。優先順位の配置は、Ａ−Ｄ−Ｂ−Ｃ−Ａになっており、セルＡがセルＤより上の優先権を有し、セルＤがセルＢより上の優先権を有し、等のようになっている。あるセルが優先権を有さない経路上にメッセージを送信しようとする場合には、最初に、優先権を有するセルからの制御信号が検討される。
【０１１７】
図示されている例では、４ベース相互接続構造を構成するための基本的構成要素は、東からくる４つの信号を切換えること、及び北からの信号を直接東に通過させることが可能なノードである。同一の相互接続構造内で同種の別ノードが用いられてもよい。図解的な実施例が図１９Ｃ及び図１９Ｄに示されている。
【０１１８】
図１９Ｃ及び図１９Ｄでは、ラインＳ０が位置Ｗに通じている。位置Ｗは、１つのノード、若しくは１つのノード内の１つのセルであってよい。位置Ｗと同一レベル上にあるセルＶが、位置Ｗへのデータ送信に関する最も高い優先順位を有する。４つのセルＡ、Ｂ、Ｃ、及びＤの中で、位置Ｗへデータを送信することに関して、他の３セルを上回る優先権を有するセルは１つもない。１つの共通のロジックによって、セルＡ、Ｂ、Ｃ、及びＤから位置Ｗにメッセージを送信するための接続が決定される。セルＡ、Ｂ、Ｃ、及びＤは、別個のノードとみなされてよい。ノード・セットＯは、単一ノードＶを含むセットを示している。ノード・セットＲは、４つのノードＡ、Ｂ、Ｃ、及びＤを含むノード・セットを示している。ノード・セットＯからのメッセージは、位置Ｗへの送信に対して、ノード・セットＲを上回る優先権を有している。
【０１１９】
図１９Ｃに示されるノードは、４つの２×２スイッチ１９２２と、セルＡ、Ｂ、Ｃ、及びＤ にある４つのスイッチ１９１０とが含まれる。このノードは、西から任意の入力ポートに到達したメッセージを、同じ行の上の東の出力ポートへ、若しくは南の任意の出力ポートへ方向付けることが可能である。ノードと結合されている制御ロジック１９２０は、南からの４つのビジー信号、４つの入力メッセージからのトラフィック・ビット、及び４つの入力メッセージの各々からの２つの最上位ビットを含む、１６の入力ビットを受信する。このロジックは、セルＡ、Ｂ、Ｃ、及びＤにおける４つのスイッチの設定を行い、更に、４つの２×２スイッチの設定も行う。ノードと結合されているロジックは、１６ビットを入力信号として受信して、ビジー信号が含まれる、ノード状態を示す８ビットを生成する。図１９Ｄに示されるように、北方向へのこのビジー信号は、制御ロジック・ユニット１９２０若しくはノードＡ、Ｂ、Ｃ、及びＤによって生成される。
【０１２０】
このロジックによって用いられる規則では、経路Ｓ０へのアクセスに関してノードＡが最優先される優先順位機構が用いられているものとする。ノードＡにおけるメッセージが経路Ｓ０をターゲットにしていて、ノードＢにおけるメッセージが経路Ｓ０をターゲットにしていて、ノードＣにおけるメッセージが経路Ｓ１をターゲットにしており、ノードＤにはメッセージがないと仮定する。ノードＡにおけるメッセージがノードＡのターゲットに進むのを許可する際に、１つだけのメッセージが南に移動することが可能になるのに対して、別の規則では、２つのメッセージが南に移動することが可能になる。そのような一組の例によって、優先順位が厳密に位置に基づいている任意の規則を用いることの不利益が示されている。所定レベルにおけるメッセージが、より上位レベルからのメッセージと所定レベルにおいて１つの優先権を有するメッセージとを、上回る優先権を得るための効果的な手順が、他の機構に基づいている可能性もある。そのような２つの機構には、（１）最大数のメッセージがレベルを下げることを可能にすること、及び（２）ヘッダ内のサービス品質（ＱＯＳ）優先順位ビットに従ってメッセージに優先権を与えることが含まれる。
【０１２１】
図１９Ｃ及び図１９Ｄを参照すると、複合ノードＮが、複数のセル、制御ロジック要素、入力ポート、出力ポート、及びスイッチによって構成されている。複合ノードには、４つのセルＡ、Ｂ、Ｃ、及びＤ、制御ロジック１９２０、並びにスイッチ１９３０が含まれる。この複合ノードは、４つのデータ入力ポートＷ０、Ｗ１、Ｗ２、及びＷ３と、８つの出力ポートを有する。出力ポートのうちのＳ０、Ｓ１、Ｓ２、Ｓ３の４つは、出力ポート・セットＳへと集団にされる。出力ポートのうちのＥ０、Ｅ１、Ｅ２、及びＥ３の４つは、出力ポート・セットＥへと集団にされる。出力ポートＳを通って進むデータは、１つ下位のレベルの、ノードＮの１列右側にあるノードに進入する。出力ポートＥを通って進むデータは、同一レベルの、ノードＮの１列右側にあるノードに進入する。制御ロジック・ユニット１９２０は、出力ポート・セットＴを通して送信される制御信号及びメッセージ集団のヘッダ・ビットに基づいて制御の決定を行う。出力ポート・セットＴの中にある出力ポートはノードＮの入力ポートに接続される。
【０１２２】
複合ノードＮに進入する各メッセージＭに対して、このメッセージＭで指定されるターゲットの出力ポートへの、複合ノードを通る経路が存在する。制御ロジック１９２０は、メッセージ・ヘッダと、この制御ロジック１９２０により受信された制御信号とに基づいて、ノードＮ内のスイッチ及びノード間のスイッチを制御する。これらのノード及びスイッチは、ノードＰＭに送信可能なメッセージＭの数を増大若しくは最大化させるべく、ロジック・ユニット１９２０によって設定される。このノードＰＭは、１）ノードＮのレベルよりも下位のレベルにあるノードであり、且つ２）このノードＰＭを通る、メッセージＭのターゲットへの経路が存在するノードである。
【０１２３】
図１９Ｄのノードは、付加的な２×２スイッチ１９３０を有しており、望ましくは、西から到達するメッセージの任意の置換を実行することが可能になっている。制御ロジックは、入力信号の１６ビットを受取り、ノードの状態を表わす１０ビットを作り出す。所定の出力ポートに対して、ノードＡ、Ｂ、Ｃ、及びＤでのメッセージの間で競合が生じる可能性がなお、あるので、この場合にも、制御ロジックに複雑な手順が用いられてよい。
【０１２４】
一代替実施例では、図１９Ｃ及び図１９Ｄに図示されているノードを通るメッセージの流れを制御するロジックに、メッセージ・ヘッダ中のＱＯＳビットが用いられてもよく、それにより、高い優先順位を有するメッセージが低い優先順位を有するメッセージと対照的に、下位レベルに移動することの高い優先権が与えられる。ある場合には、優先順位は、まず第１にＱＯＳに基づいて設定され、第２にノード内の位置に基づいて設定される。
【０１２５】
図２０Ａは、４ベース・セルがどのようにしてノードアレイの内部及びレベル間に接続されるのかが示されている。レベル０にあるセルが、対角方向に沿って配置されている。レベル２では、セルＡが行−列−レベル位置［０，０，２］に配置されている。行０の上にあるセルは、各セルの上の表記で示されるように、Ｓ４変換列（０，２，１，３，０．．．）で南に接続される。太字で表示された値によって、どの経路が優先権を有するかが示されている。セルＡは、行０への南方向の接続をセルＤと共有する。セルＡは、行０の使用に対してセルＤを上回る優先権を有する。列０、レベル２において、複数のセルが対角方向に配置されており、南方向に直行する、優先権を有する接続を備えている。次の列の列１では、変換列Ｓ４の次の２位置の影響が及ぼされており、その後の列では、変換列Ｓ４が繰返される。第２の繰返しでは、第１の繰返しで優先権を有していなかった値に優先権が与えられる。行に沿って太字で示された値を検討すると、行に沿った相対的な優先権が示されている。レベル２で、メッセージが任意の２つの列を通って東に移動するときに、このメッセージは、レベル０における４行のうちの任意の行に下がる機会を有する。
【０１２６】
ノードアレイ内のレベル２にセルを配置する方法は、セルが対角方向に沿って配置されている第１列から開始される。数列Ｓ４（０，２，１，３，０．．．）を参照すると、優先権は、行番号と同じ値に割当てられる。次の番号によって、変換列Ｓ４の中にある組の別の行番号が与えられる。例えば、行０のセルＡが、行０及び行２へと南に接続されている。０はセルの行番号でもあるので、値０に優先権がある。次の列の列１では、セルＡが変換列Ｓ４の中の次の２つの値：１及び３を用いている。組の第１番目の値が優先権を有している。同様にして、列１のセルの残りが、連続的な変換列Ｓ４の規則に従って配置され、更に、第１番目の値に優先権が与えられる。次の列の列２では、変換列Ｓ４が同様に連続しており、全ての４つの値は２列だけで条件を満たされるので、優先順位が逆になる以外は同様にして変換列が繰返される。行０、列２のセルＡ’は、南方向に、列０におけるセルＡの行と同じ行０及び行２へ接続される。しかしながら、メッセージの流れの優先権は、プライム表記及び制御信号の方向の逆転によって示されるように逆になっている。メッセージが下からブロックされておらず、且つ接続されている他のセルによって共有経路が用いられていない場合に、４列を通り東に移動するメッセージが、任意の行に到達する機会だけでなく、優先権を持つ４つ行のいずれからも下がる機会を有することに利点がある結果になっている。変換列の数Ｓ４によって、セルの組の相互接続が決定される。
【０１２７】
本例では、メッセージが２つのレベルをジャンプして、それにより、望ましくは奇数番号のレベルが除去される。２つのヘッダ・アドレス・ビットが検討されており、セルは南方向に利用可能な４経路のうちの２つを有する。レベル数及び制御ロジックの量が軽減され、それにより移動時間が効果的に減少される。図示されている制御機構では、優先権が公平に配分されている南への単一メッセージ経路を２つの行が共有している。４ベース・セルは、所望の制御及びメッセージの流れを得るように、ノードアレイ内の他のセルと、西及び南方向へのセルと組合わせて配置されている。４ベースの実施例において東に移動するメッセージは、単一経路の実施例において東に移動するメッセージと比べて、２レベル相当の下への移動の概ね２倍の機会を有するということに利点がある。
【０１２８】
図２０Ｂは、１６行の４ベース・スイッチの１列を示している。南への共通経路を共有する一組のセルは、セル２００２乃至セル２００４に接続されている同じレベルの制御信号によって通信する。単純化のために、制御信号の接続は示されていない。４ベース・セルの配置は、各レベルで対角方向に沿ってセルを配置することによって与えられている。適切な大きさ及び程度の置換ボックスが、ノードアレイの東に配置されている。４ベース配置によって、変換列の２ステップが達成されるので、この変換列は程度２である。置換ボックス□□６，２が、レベル４で用いられており、置換ボックス□□□２がレベル２で用いられている。
【０１２９】
図２０Ａに対して考察された処理によって、ベース４・セル配置が生成される。レベル４に関しての南方向への相互接続パターンは、９０度回転され、南方向への平行な垂直経路の上に配置された置換ボックス□□６，１として与えられたものと同様である。１６セルが全て同じリスト内にあるので、最上位レベルでは１６セルの間の優先順位がラウンドロビン式になっている。同様にして、レベル２の南への相互接続パターンは、南への垂直方向接続の上に配置された置換ボックス□□，１として与えられたものと同じである。４つの優先順位リストになっているレベル２では、図１９Ｂに示される状態と類似している。
【０１３０】
図２０Ｂの相互接続網は、レベル２において、セルが図１９Ｂに図示される種類のノードを形成するように４集団にグループ化され得るという特性を有する。しかしながら、図２０Ｂのレベル４ノードの各セットが、レベル４の他のノードへと制御相互接続ラインと接続されている。それゆえに、レベル４内のノードを、図１９Ｂに図示される種類のノードを形成するように、４つの集団に分解することは不可能である。図２０Ｃに図示されている１６行４ベース相互接続網内にあるノードは、図１９Ｂに図示される種類のノードを形成するように、４つの集団に分解することが可能である。相互接続網内で用いられる置換に対して、多くの選択をすることが可能である。３つの置換Ｐ４、Ｑ４、及びＲ４が列及びスイッチ・アレイの間で用いられる。所望に応じて、処理能力を向上させるために置換Ｓ４が用いられてよい。用いる場合には、置換Ｓ４は、４回毎にだけ用いられる。レベル２の中にある行は、各々４行である４つの集団に分けられる。行０、１、２、及び３の上を進むメッセージは（他の３つの集団にある行の場合も）、高さ０、１、２、及び３の出力ポートを通ってのみ退出することが可能である。この置換ボックスＰ４は、４セル・ノードの各々が、レベル２の上の４つの行集団の各々にデータを送信することが可能であるように設計されている。
【０１３１】
図２０Ｃを参照すると、レベル４の上のノード２０２０の最も左側にあるセルが、レベル２の上の最も左側にあるノード２０２４にデータを送信する。左から２番目のセル２０２２は、レベル２の各列の内部の左から２番目のノード２０２８にデータを送信する。このパターンは、レベル４上の４つのノードの各々に対して連続している。置換Ｑ４は、連続する時間ステップにおいて、同じレベル４からのメッセージをブロックし得る、レベル２上のメッセージが存在しないことを保証する。置換Ｒ４は、連続するステップにおいて、第２のレベル４メッセージをブロックする位置にあるレベル４のメッセージが存在しないことを保証する。更に、置換Ｓ４は、４以上の時間ステップの間、同一レベルの上に残るメッセージの間の競合を減少させる。
【０１３２】
このパターンは、４つのセル・ノードを用いて、より大きな相互接続構造を作るように連続してもよい。各レベルの上に６４行を備えた相互接続構造は、以下のように規定された置換Ｐ６、Ｑ６、Ｒ６、及びＳ６を用いている。レベル６上の最も左側のノードは、レベル４の上の行０、１６、３２、及び４８に接続された４つの出力ポートを有する。最も左側にあるノードの次のノードは、行１、１７、３３、及び４９に接続された出力ポートを有する。この処理は、右からｎ番目のノードが行０＋ｎ、１６＋ｎ、３２＋ｎ、及び４８＋ｎに接続された出力ポートを有するように連続される。置換Ｑ６は、下位の６０行ｒをｒ＋４０にして、上位の４行ｒをｒ−６０にするようなものである。置換Ｒ４は、奇数行と偶数業とを交換し、置換Ｓ４は、下位の偶数番号の３０行ｒを行ｒ＋４にして、上位の偶数番号の２行を行Ｒ−６０にして、他の４行を固定する。置換Ｐ４、Ｑ４、Ｒ４、及びＳ４を生じるこのワイヤリング・パターンは、レベル２の６４行で４回繰返される。
【０１３３】
この処理は、各レベルに２５６行を備えた構造が、行０、６４、１２８、及び１９２に接続された、最も左側にあるノードの４つの出力ポートを有するように連続される。一般的に、各レベルに４Ｐ−１行を備えた構造は、次の下位レベルの行０、４Ｐ−１、２・４Ｐ−１、及び３・４Ｐ−１に接続された、最も左側にあるノードの４つの出力ポートを有しており、更に、最上位レベルの最も左側にあるノードの右のノードｎは、次の下位レベルの行０＋ｎ、４Ｐ−１＋ｎ、２・４ Ｐ−１＋ｎ、及び３・４ Ｐ−１＋ｎと接続される。
【０１３４】
その他の多種多様の置換も、同様に効果的に機能する。効果的な置換を生じるための一方法として、次の列及び下位レベルへの所望の接続を備えた無作為の置換を生成し、構造を通るトラフィックをシミュレートすることによって種々の置換を評点することがある。
【０１３５】
相互接続網の多くの例では、全ノードでの全接続が示されていない図２１Ａ及び図２１Ｂで示されるトポロジーで描かれているように、１つのセルが、同一レベル内の１つのセル及び下位レベルの１つのセルにデータを送信している。ネットワークの最も単純な例では、各ノードが、２つのデータ入力ポート、２つのデータ出力ポート、１つの制御ライン入力ポート、及び１つの制御ライン出力ポートを有する。１ノードが、きっかり１セルを含んでいる。セルＷ及びＸは、セルＡ、Ｂ及びＣよりも下位のレベルにある。セルＡは第１列にあり、セルＢ及びセルＷは第２列にあり、セルＣ及びセルＸは第３列にある。最も基本的な例では、ノード及びセルは、一度に１より多くのメッセージを受取ることができない。図２１Ａでは、セルＢとセルＷとが共にセルＸに直接データを送信することが可能である。セルＸへのデータ送信に対してのセルＢとセルＷとの間には、セルＸへのデータ送信に関してセルＷがセルＢを上回る優先順位を有するという優先順位関係が存在している。セルＷは、セルＸにデータを送信する際に、セルＢにも制御信号２０６を送信し、それにより、セルＷが経路２０８上をセルＸにデータを送信したことが示される。セルＸが所任意の所定時間に１メッセージだけしか受信できず、セルＷがセルＸにメッセージを送信する例では、セルＢはセルＸにメッセージを送信することができない。メッセージＭＡがセルＢに到達すると、セルＸがセルＢからメッセージＭＡのターゲットへの経路の上にあるのかどうかを判定するべく、セルＢにおけるロジックがメッセージＭＡのヘッダを検討する。セルＢは、以下の２条件が共に満たされる場合にのみセルＸにメッセージＭＡを送信する：（１）セルＢからメッセージＭＡのターゲットへの、セルＸを通る経路が存在する、（２）セルＸが、セルＢからのデータの受取りをブロッキングされていない。セルにおけるロジックは、メッセージＭＡをどこに送信するか決定するために、セルＷから制御信号と共にメッセージＭＡのヘッダを用いる。
【０１３６】
図２１Ａにおいて、セルＢからセルＸへのメッセージ相互接続ライン５５０、セルＷからセルＸへの相互接続ライン２０８、及びセルＷからセルＢへの制御信号の制御相互接続ライン２１０６は、全て別個のラインである。この構成には、データをＢに運ぶための、２つの異なる機構が導入されている。機構の一方は、図２１Ｂに図示されており、セルＢからセルＸへのメッセージ相互接続ラインがセルＷを通過している。この方法では、セルＷがセルＸへのデータ送信に用いるのと同じメッセージ相互接続ライン２１０８を用いて、セルＢがセルＸにデータ送信を行っており、それにより、セルＢからセルＸへのデータは、最初に経路２１０２上をセルＢからセルＷに進み、次に経路２１０８上をセルＷからセルＸへと進む。
【０１３７】
当業者は、一方のセルが他方よりも優先順位が高くなっている、セルＢ若しくはセルＷのいずれかからセルＸへメッセージを送信するのをサポートする制御相互接続ラインと、メッセージ相互接続ラインとを配置するための別の機構を想定することが可能であろう。例えば、図２１Ｄには、セルＶを通過するセルＢからセルＸへのメッセージ相互接続ラインと、セルＵを通過するセルＷからセルＢへの制御相互接続ラインとが図示されている。更に、この制御相互接続ラインは、複数のセルを通過し得る。図２１Ｃでは、セルＷによって１つの制御信号をセルＢに送信されており、更に、１つの制御信号がセルＵに送信されている。この制御信号は、同等であってもよいし、そうでなくてもよい。ノードＵからノードＢへの制御信号は、ノードＷからノードＵへの制御信号に依存してもよいし、そうでなくてもよい。メッセージ相互接続ライン及び制御相互接続ラインの物理的な配置は重要でない。しかしながら、与えられたセルＸにデータを送信するセルの間には、セルＸへのデータ送信に対する優先順位関係が存在しており、それにより、セルＷは、セルＸへのデータ送信に関してセルＢを上回る優先権を有している。この方法は、優先順位を強制するために制御信号を用いている。この制御信号は、他のネットワークで用いられるハンドシェーキング式（ｈａｎｄｓｈａｋｉｎｇ）とは異なっている：セルＢは、セルＸにメッセージを送信するためにセルＸの状態を知る必要がない。その代わりに、メッセージをどこに送信するか区別するために、セルＸとは別個のセルの状態についての情報を用いる。実際、セルＸとは別個のノードの状態を示す制御信号が、セルＸを通過することが可能である。制御信号が通る経路は重要でない。この制御信号は、概ね同じ機能性の別個の信号若しくはメッセージの一部である。説明された、制御信号の生成方法、制御信号の内容、及びノード相互接続網のトポロジーによって、効率性及び処理能力の向上が得られる。
【０１３８】
位置ベース優先権の方法が、効果的な方法で用いられる。セルＷがセルＢよりも下位レベルにあるので、セルＷにおけるメッセージがセルＢにおけるメッセージよりもネットワークに長くいる可能性を有する。この方法では、メッセージがネットワーク内にどのくらいの時間存在しているかということと関係付けられ、望ましくは、より古いメッセージに優先権が与えられる。更に、この方法によって、メッセージに対してセルから退出するための開放された経路が常に存在し、且つこの開放された経路がメッセージ出力ポートへのルート上に常に存在するという効果的な特性を組込むことが可能になる。更に、セルＢからのメッセージ相互接続ラインの各々が、同じレベルの上にある別のセル、若しくはより下位にあるセルＸのいずれかに通じているので、メッセージがターゲットの出力ポートへの進行を「後退」させることは決してない。これらの望ましい特性は、多種多様の相互接続網の中で実施することが可能である。
【０１３９】
代替実施例では、各セルが、同一レベルの１以上のセル、及び下位レベルの２以上のセルにデータを送信する。図２１Ｅには、セルＣ、Ｘ、及びＴへのデータ送信ラインを有する制御セルＢを備えた回路の一部が図示されている。セルＷが、セルＸへのデータ送信に関してセルＢを上回る優先権を有し、且つセルＳが、セルＴへのデータ送信に関してセルＢを上回る優先権を有している。制御相互接続ラインがセルＷからセルＢへ、且つセルＳからセルＢへ延びており、それにより優先権が行使される。図２１Ｆは、セルＢと同じレベルにあるセルＥ、Ｄ、及びＦを付加することによって、図２１Ｅに図示されているものを拡張したものである。付加された制御セルに対しての付加的な優先順位関係では：セルＷがセルＸへのデータ送信に関してセルＥを上回る優先権を有し、セルＳがセルＴへのデータ送信に関してセルＥを上回る優先権を有している。この優先順位関係を行使するように、別の制御相互接続ラインが、セルＷからセルＥ及びセルＢに、且つセルＳからセルＥ及びセルＢに延びている。多数の優先順位割当機構によって、セルＸ及びセルＴへのデータ送信に関するセルＢ及びセルＥの間の優先権が割当てられ、それらには以下の４つが含まれる：
（１）セルＥが、セルＸ及びセルＴへのデータ送信に対して、セルＢを上回る優先権を有し、
（２）セルＢが、セルＸ及びセルＴへのデータ送信に対して、セルＥを上回る優先権を有し、
（３）セルＢが、セルＸへのデータ送信に対して、セルＥを上回る優先権を有し、
（４）セルＥが、セルＴへのデータ送信に対して、セルＢを上回る優先権を有する。
【０１４０】
セルＥが、セルＸ及びセルＴへの送信に対してセルＢを上回る優先権を有する（１）の場合、セルＥからセルＢへの制御相互接続ラインが付加される。図２１Ｇに、セルＷ及びセルＳからの制御相互接続ラインがセルＥを通過している代替的な例が図示されている。セルＥに接続されたロジックによって、セルＥを通過する制御信号の修正が可能であってもよいし、若しくはセルＥがこの点に関して受動的で、これらの信号を修正せずに通過させてもよい。セルＥからセルＢへの制御信号によって、セルＢからセルＸへの経路が有効であること、セルＢからセルＴへの経路が有効であること、両経路が有効であること、若しくはいずれの経路も有効でないことが示される。
【０１４１】
図２１Ｇを参照すると、セルＢ及びセルＥが同じレベルの上にある。相互接続構造のセルＮに対して、セルＮからアクセス可能な出力ポートの組を示すのにＰ（Ｎ）が用いられる。相互接続構造の多くの実施例では、セルＢからアクセス可能な出力ポートＰ（Ｂ）は、セルＥからアクセス可能な出力ポートＰ（Ｅ）の場合と同じになっている。出力ポートのセットＰ（Ｓ）及びＰ（Ｗ）は交差しておらず、セットＰ（Ｂ）は、セットＰ（Ｓ）及びＰ（Ｗ）の和集合である。最終的にターゲット行に到達するまで、メッセージＭＡがレベルからレベルへと南方向に移動するにつれて、メッセージＭＡによってアクセス可能な出力ポートのセットが減少する。メッセージは、右に１列移動する。多数のセルとセルとの相互接続トポロジーが、図２１Ａ乃至図２１Ｎに図示されるトポロジーを含むこれらの特性を共有している。図示されている相互接続構造は、相互接続網、優先権、及び制御の特性によって、従来のネットワークと区別され、セル及びノードの特定の回路トポロジーだけで区別されているわけではない。例えば、図２１Ｆ乃至図２１Ｌの回路は、物理的に、若しくはトポロジー的に異なっているが、機能的には類似している。
【０１４２】
ここで説明された多くの例では、セルは、同一の時間周期内に、２つのメッセージを入力信号として受取ることが許されていない。これらの場合には、メッセージ相互接続ラインの共有を可能にするように、多くのロジック的に同等な方法が用いられる。図２１Ｈには、セルＢからセルＸ若しくはセルＴへのメッセージが、セルＥを通過することが可能になる一例が図示されている。代替的に、図２１Ｉには、セルＷを通過するセルＥからセルＸへのメッセージ相互接続リンクと、セルＳを通過するセルＥからセルＴへのメッセージ相互接続リンクとが図示されている。図２１Ｊに示されている相互接続構造は、セルＥからセルＴへと下に移動するメッセージが最初にセルＳ及びセルＷを通過していて、電気的な配置の内部で水平方向及び垂直方向のラインだけを別々に、且つ効果的に用いていること以外は、図２１Ｈに示されている構造と機能的に同等である。図２１Ｈと比較して、図２１Ｊは、セルＴ及びセルＸの各々に、２つのメッセージが進入可能になっていることが利点である。対角方向の構成は、図２１Ｊに示されるように、同一の列を下側に通過する接続経路と、次のセルへの第２の水平方向経路とを加えたものによって置換され得る。
【０１４３】
図２１Ｋは、メッセージがセルＢ若しくはセルＥから２×２スイッチＲ ２１１０を通過してセルＸ及びセルＴへ宛先指定されている別の例を図示している。このスイッチは、セルＥ及びセルＢによって、バー位置２１１２若しくはクロス位置２１１４に設定される。セルＸ及びセルＴへの送信に対してセルＥがセルＢを上回る優先権を有することは、セルＥがセルスイッチＲの設定に対してセルＢを上回る優先権を有することと同等である。制御及び優先順位ロジックは以下の通りである。セルＸ若しくはセルＴのいずれかが、セルＢ若しくはセルＥからメッセージを受取ることをブロックされている場合に、セルＷ及びＳがセルＥに通知を行う。メッセージＭＤがセルＥに到達する場合には、セルＸ及びセルＴのいずれがセルＥからメッセージＭＤのターゲットへの経路上にあるか判定するべく、メッセージＭＤのヘッダが検討される。経路上にあるセルがメッセージＭＤの受信をブロックされていない場合、次に、メッセージＭＤをメッセージのターゲットへと修正経路を下側に送信するように、セルＥによってスイッチＲが設定される。この修正経路がブロックされた場合、次にメッセージＭＤがセルＦに送信され、スイッチＲの制御がセルＢに渡される。セルＥにメッセージが１つも到達しない場合も同様にして、スイッチＲ上の制御がセルＢに与えられる。メッセージＭＤがターゲットに向かって別のレベルを下側に移動することが可能となるようにセルＥによってスイッチＲが設定され、ターゲットに向かってこの配置内のスイッチを通過するメッセージＭＤが存在し、且つセルＸ及びＴが共にブロックされていない場合、次に、メッセージＭＡ及びＭＤが、メッセージＭＡ及びＭＤのヘッダにより宛先指定されるターゲットに向かってスイッチＲを通って下側に移動する。これが、セルＢ及びセルＥが同時に次のレベルへと下側にメッセージを送信できる唯一の条件である。セルＥからセルＢへの制御信号によって、セルＸ及びセルＴの開放経路の有効性と、セルＢがセルＲを設定する権利を有しているかどうかとが示されている。セルＥからセルＢへの制御信号によって、セルＢがスイッチＲを設定する権利を有することが示されていて、且つメッセージＭＡがセルＢに到達する場合、次に、セルＸ及びセルＴのどれがメッセージＭＡのターゲットへの経路上にあるか判定するべく、セルＢによってＭＡのヘッダが検討される。経路上にあるセルがブロックされていない場合には、メッセージＭＡが宛先に向かって進み続けるように、且つメッセージＭＡが次のレベルへと下側に送信されるように、次に、セルＢがスイッチＲを設定する。次のレベルの上にあるセルが、セルＳ、Ｗ、若しくはＥからのメッセージのいずれかによってブロックされる場合、次に、メッセージＭＡがセルＣに送信される。セルＣへの送信に対してセルＢが最も高い優先順位を有しているので、経路は常に有効になっている。更に、セルＣからメッセージのターゲット行へのホップ数が、セルＢから同じ行へのホップ数と同じになっている。
【０１４４】
更に、図２１Ｋには、セルＸへのメッセージ送信に関して、セルＢがセルＥを上回る優先権を有し、セルＴへのメッセージ送信に関して、セルＥがセルＢを上回る優先権を有している代替的な優先権機構が図示されている。この優先権機構では、ターゲットに向かってメッセージが通過するときはいつでも、スイッチＲがバー位置２１１２に設定される。スイッチの現在位置で、次のレベルへと下側に適切に送信され得るメッセージが１つもない場合、次に、スイッチは、クロス位置に設定される。それゆえに、他方のスイッチ位置を上回る一方のスイッチ位置、この場合ではバー位置対クロス位置に関しての優先権が、セルＸへの送信に関してセルＥを上回るセルＢの優先権、及びセルＴへの送信に関してセルＢを上回るセルＥの優先権と同等になっている。セルＢ及びセルＥは、この優先権機構内で制御信号を交換する。この制御相互接続ライン及びメッセージ相互接続ラインは、このロジックを組込むための複数の方法によって配置されてよい。
【０１４５】
図２２及び図２３に図示されている２セル・ノードに関しては、２つのセルＢ及びセルＥとスイッチＲとが、図２１Ｌに図示されているように単一ノードＰへと複合されることが利点である。セルＢ及びセルＥが、２つの入力ポート及び２つの出力ポートを各々有しており、複合ノードＰが、４つの入力ポート及び４つの出力ポートを有している。所定ノードの入力ポートへのメッセージ送信の優先権は、送信ノードの位置だけでなく、ノードＰのどの入力ポートからメッセージが進入するかということにも依存する。図２１Ｍは、セルＢ及びセルＥからセルＴ及びセルＸへの接続経路を提供するようにスイッチＲが付加された、図２１Ｉに示される回路のセルＢ及びセルＥから形成されたノードＹを図示している。ノードＹの利点は、以下で説明されるより濃密な（ｒｉｃｈｅｒ）内部構造に比べて、用いられているロジック・ゲートがかなり少ないことである。このノードＹの別の利点は、図２１Ａ及び図２１Ｂに図示されるような単一セル・ノードの動作と比較して、向上された処理能力効率である。このノードＹは、他の２セル・ノードと概ね同じくらい、よき実行者である。図１Ｂ、１Ｃ、２１Ｋ、２１Ｌ、２１Ｍ及びその他において、データは、次の列にあるセルへと対角方向に下側に移動している。
【０１４６】
２つのより小さなセルのロジックがより効率的な計算ユニットへと複合されることに加えて、より大きなノード内にある相互接続構造が、望ましくは、より小さなセルが複合した相互接続構造よりも、より濃密になっていてもよい。図２１Ｋに示される構造では、セルＫからセルＣへ進むメッセージ、セルＤからセルＣへと進むメッセージ、セルＡからセルＦへと進むメッセージ、若しくはセルＪからセルＦへと進むメッセージがサポートされていないが、それらの接続が図２１ＬのノードＰ内に作られてもよい。ノードＰは、４つのうちの任意の入力ラインを４つのうちの任意の出力ラインに切換える能力を有することが利点である。別の実施例では、制御ラインによって、セルＪにセルＤ、Ａ及びＫの状態が通知され、セルＫにセルＡ、Ｄ、及びＪの状態が通知される。ノードＰからセルＣ及びセルＦまでの、ブロックされていないことが保証されている２経路が存在するので、ノードＰは常に、最大２メッセージを同時に受取ることが可能である。前と同様に、セルＡ及びセルＤは、ノードＰへのメッセージ送信に関して、セルＫ及びセルＪを上回る優先権を有する。更なる優先順位関係が、セルＫ及びセルＪの間に存在する。図２１Ｌの濃密なノードＰは、図２１Ｋの回路ではメッセージが同一レベルに残り得るのに対して、メッセージがより下位のレベルへと下側に進行可能な環境が存在するという点で、図２１ＫにおけるセルＢ及びセルＥを上回る利点を有している。例えば、ノードＤ及びノードＫにおいてメッセージが存在するが、ノードＡ及びノードＪには存在しない場合、メッセージが共にノードＰに進入し得るが、ノードＤにおけるメッセージだけが図２１Ｋに示される構造のセルＥに進入することが可能となっていてよい。
【０１４７】
図２１Ｋに示される、より小さな２セルＢ及びＥを複合させることによって、図２１Ｌに示される、より濃密に接続されたノードが生じる。一度、セルが複合されてしまえば、内部の相互接続構造及びノードのロジックは、多数の方法によって効果的に拡大及び濃密にされ得る。例えば、２より多くの相互接続ラインが同一レベル上のノードの間に挿入されてよい。図２１Ｎでは、５つのデータ入力ライン及び５つのデータ出力ラインを備えたノードＱが図示されている。データ出力ラインのうちの３つが同一レベルのノードに進み、データ出力ラインのうちの２つが下位レベルのノードに進んでいる。ノードＱからのこれら３つのデータ出力ラインは、３つの別個のノードＣ、Ｆ、及びＫに進められてもよいし、若しくは複数ラインのうちの２つ以上が同一ノードに方向付けられてもよい。例えば、メッセージ相互接続ラインが複数のメッセージを並列に運ぶバスとなり得るように、ノードＱからの３つ全てのラインがノードＣに接続されてよい。これらのバスは、電子的なバス等の並列接続であってもよいし、或いは時分割多重方式又は波長分割多重方式を用いて複数のメッセージを輸送する単一の光ファイバーであってもよい。バスについては、以下で詳細が説明される。
【０１４８】
位置ベースの優先権機構は、他の優先権機構と結び付けられてもよい。例えば、優先ビット若しくはＱＯＳフィールド３３２等のヘッダ内の情報によって、同一の出力ポート・セットに対して競合するメッセージに効果的に、より高い優先順位若しくはより低い優先順位が与えられる。図２１Ｌには、ノードＡ及びＤにおけるメッセージがノードＫ及びＪにおけるメッセージを上回る優先順位を有するが、ノードＫ及びＪにおける競合メッセージ間の優先順位が、ヘッダ内の優先権フィールドに基づき得る回路が図示されている。同じ方法が、ノードＰ内で効果的に用いられてよく、それにより、宛先が共にノードＸであるノードＰ内の２メッセージの場合、より高い優先順位を有するメッセージが勝つ。ヘッダ内で示される優先権は、メッセージが最初にスイッチに進入する前に設定されてもよいし、メッセージのスイッチ内での存続期間のインジケータであってもよいし、若しくはアプリケーションに関連する因子であってもよい。更に別の方法によれば、特定の優先権が位置に基づき、且つそれ以外の優先権が種々の時間で無作為に割当てられていてよい。無作為化は、望ましくない特定の流れのパターンが相互接続網内に発生しないという効果的な特性を有している。
【０１４９】
図２１Ａに図示されている分岐回路には、共にノードＸにデータを送信可能なノードＷ及びＢが示されている。ノードＢに接続されているロジックは、ノードＢを通るメッセージのルーティングを行うために、ノードＷを通るメッセージ・ルーティングに関連する情報を用いる。情報は、ノードＷとノードＢとの間の制御情報輸送ライン２０６を通して渡される。ノードＢからノードＸへのデータ輸送ライン５５０及びノードＷからノードＸへの輸送ライン２０８によって、ノードＷ及びノードＢがノードＸに直接、データ送信することが可能になる。ノードＷは、ノードＸへのデータ送信に関してノードＢを上回る優先権を有する。優先権は、ノードＷからノードＢに直接進む制御信号によって行使される。相互接続構造によっては、このラインは、制御信号を輸送という（有唯一の目的を有する。
【０１５０】
図２１Ｂに図示されている分岐回路には、共にノードＸにデータを送信可能なノードＷ及びＢが示されている。ノードＢに接続されているロジックは、ノードＢからノードＸへのメッセージのルーティングを行うために、ノードＷを通るメッセージ・ルーティングに関連する情報を用いる。情報は、ノードＷとノードＢとの間の制御情報輸送ラインを通して渡される。この制御情報輸送ラインは、ノードＷからノードＢへの制御情報の送信に、唯一用いられる。ノードＷは、ノードＸに直接、データ送信することが可能である。ノードＢは、ライン２０５上のノードＷを通してノードＸに間接的にデータを送信する。ノードＢは、ノードＸを通してデータを送信する能力を有しているが、ノードＸに直接、データを送信することはできず、そのため、ノードＢからのノードＷを通過するデータの経路をノードＷが変更することが不可能になっている。この設計では、ノードＷからノードＸに送信されたメッセージを輸送するために、且つノードＢからノードＸに送信されたメッセージを輸送するために、ノードＷからノードＸへのデータ輸送ライン２０８が効果的に用いられている。
【０１５１】
図２２Ａは、図２１Ｍに図示されているノードのような２セル・ノードを含む、８行３列相互接続構造の一例のブロック図が示されている。この相互接続構造は、各列毎にノードアレイ１０８及び置換ボックス１１０を含んでいる。ノードＹには、２つのセルＥ及びＢが含まれる。まず、最上位レベル（レベル３）では、各ノードＹが２つのセルを含んでおり、一方のセルは、行０、１、２、及び３から選択され、もう一方のセルは、行４、５、６、及び７の中から選択される。次の下位レベルでは、１つのセルには次のいずれかのようになっている２セルが含まれる：（ａ）一方のセルが行０及び行１から選択され、もう一方のセルが行２及び行３から選択される、若しくは（ｂ）一方のセルが行４及び行５から選択され、他方のセルが行６及び行７から選択される。置換ボックスが全ての列の間に用いられるので、所定レベルにおいて全てのノードアレイ内に同じ配置が用いられる。レベル１における各２セル・ノードは、２つの出力ポートに接続されるので、２セル相互接続網には、レベル０が必要でない、若しくは用いられない。レベル１において、行に沿って水平方向に移動するメッセージは、両ポートに直接接続される。別の言い方をすれば、レベル１ノードは、最下位ビット３１０を検討し、メッセージをターゲットの出力ポートにルーティングする。
【０１５２】
同一の垂直方向経路の上にあるセルは、同一の２セル・ノードＹの一部である。優先権を有するセルが円形で示されている。セルＥ及びセルＢからそれぞれ、レベル３に進入する２つのメッセージは、南への同一経路に対して競合する可能性、即ち、両メッセージが、同じ集団にターゲッティングされる可能性があるが、Ｅからのメッセージが優先権を有する。次の列では、優先権が予約されている。破線は、セルＢから出発する優先権を有さないメッセージが、セルＣに移動して優先権を獲得し、次に次列で優先権を失うのが示している。同様にして、点線は、セルＥを出発する優先権を有するメッセージが、セルＦに移動して優先権を失い、それにより、セルＢからのメッセージと競合しないことに利点がある。図面によって、メッセージが行に沿って移動するにつれてその優先権が切替わって、それにより互いのメッセージの通り道から外れるのが示されている。この破線及び点線はそれぞれ、Ｅ及びＢからノードＹに進入するメッセージが、望ましいことに、次列で再度競合しないのを示している。セルＥにおけるメッセージは、セルＦに移動し、又、セルＢにおけるメッセージは、セルＣに移動する。ここで、セルＣ及びセルＦは同一ノード内にない。任意の入力ポートから任意の出力ポートへの複数の経路が存在する。同一ノードから始まる複数のメッセージは、ターゲットに到達するために、複数の経路を利用する。この経路は、望ましくは、互いに分かれて、それにより、メッセージ間で繰返される競合を取除き、且つ相互接続網内のホット・スポット（ｈｏｔ ｓｐｏｔ）を防止する。
【０１５３】
変換列Ｓ４（０，２，１，３，０．．）によって、レベル２の行０から始まって水平方向に移動するメッセージの高さが規定される。ある第１ビットを有するメッセージＭの場合には、それは、列０、レベル３の行０に配置されたセルＥから、列１、レベル３の行２に配置されたセルＦに移動し、更に、レベル３を先へと移動し続ける。このメッセージの第１ビットは、高さ０から高さ２へと進み、次に、高さ１へと進み、以下同様にして、第１ビットが高さの列（０，２，１，３，０，２，１，３，０，．．．）に従って移動していく。セルＥが、列０、レベル２、行０のセルＳへと下側に接続されていることに留意されたい。セルＦは、列１、レベル２、行０のセルＴへと下側に接続されている。メッセージＭの第１ビットがスイッチの最上位レベルを横切って移動するような処理を続けると、このメッセージは、点線で示されるように、レベル２の上の行（０，２，１，３，０，２，１，３，０，．．．）の上のセルへと下側に接続される。更に、メッセージＭがレベル３を横切って移動する際に、点線で示されるように、数列（７，４，６，５，７，４，６，５，７，．．．）の高さでレベル２の上のノードへと下側に接続される。それゆえに、最上位レベルの任意の列におけるメッセージが、次のレベルの上位及び下位集団の両方への接続を効果的に有し、置換ボックスの望ましい特性が達成され得る。各セルでは、ブロックされていないメッセージが、メッセージ・ヘッダにより示されたターゲットへの下側への接続を常に有する。
【０１５４】
図２２Ｂには、図２２Ａに示されるのと概ね同等な代替的な配置が示されているが、置換ボックスが取除かれている。置換ボックスの除去によって、シリコン及び金属被覆の量が、望ましく減少される。行沿いに特定の配置を行うことによって、列間の変換列の効果が得られる。レベル３の４列を通って移動するメッセージは、レベル２の８行全てへの下側への接続を有する点が効果的である。図１３Ｂは、チップ空間を最大に利用し、セルとセルの最大接続距離を最小化するレーストラック平面図を示している。
【０１５５】
図４Ａを検討すると、相互接続網１００を通って移動する非ブロック・メッセージが、平均してレベル当り１．５セルと出会うのが示されている。メッセージは、無作為にセルと出会い、メッセージ・ターゲットへの下側への接続を有していない確率が５０％である。望ましくないことに、メッセージは次の列へと頻繁に移動する必要がある。メッセージの移動時間を減少させるために、２セル・ノードＹは、上位及び下位集団への接続を望ましくは有している。図２３を参照すると、２セル・ノードは、各々が上位及び下位の集団に接続可能な２つのセルＥ及びＢを含んでいる。ノード・ロジックが、西Ｗ１及びＷ２からの入力信号を共に検討し、それにより、進入し得る各メッセージの方向が決定される。この２セル・ノードは、２つの入力ポートのいずれか一方から、南Ｓ１若しくはＳ２への２つの接続のいずれかにメッセージをルーティングすることが可能な２×２スイッチ２３１０を含んでいる。更に、このノードは、所望の集団への経路が利用可能であるかを決定するために、南からの制御信号を検討する。
【０１５６】
西からの２つのメッセージが、南への経路経由の、同じ利用可能な集団に対して競合するときは、一方のメッセージが優先権を有する。優先権は、通常、セルの、次列の別のセルに対しての位置によって決定される。図２２に図示されるように、ある列において優先権を有さないメッセージが、次列では優先権を有するというように、優先権が交互になっている。西からの各メッセージが、異なる集団に行くように宛先が決定されており、且つ南への経路がブロックされていない場合には、望ましくは、両メッセージが南方向にルーティングされる。西からメッセージが１つだけ到達する場合には、望ましくは、このメッセージは南方向へのブロックされていない経路にルーティングされる。北から東への接続も同様になされ、それにより上のセルから東方向の経路へのアクセスが可能になる。下位集団が用いる、入力ポートＷ１からのメッセージが１つも利用可能でない場合には、入力ポートＮ１が出力ポートＥ１に接続され、下位集団が用いられない場合には、入力ポートＮ２が出力ポートＥ２に接続される。西からのメッセージが、南への利用可能な経路にルーティングされない場合、このメッセージは、出力ポートＥ１若しくはＥ２を通して東に送られる。東方向への経路が使用中のときは必ず、制御信号が北に送信される。
【０１５７】
図２３は、図２１Ｍに示されている回路のより詳細な図である。図２１Ｆ乃至図２１Ｎの回路は、種々の優先権機構を実施するのに用いられてよく、より濃密な内部相互接続網を実装し得る点で効果的である。図２１Ｍ及び図２３のノードＹは、最小のロジックを用いており、相互接続網１００内で効率的に機能する。
【０１５８】
図５Ｂを参照すると、セルＢに到達するメッセージＭ１は、このメッセージが直列経路５２２上を東方向に即座に移動するセルＦへと、南に移動するように宛先が指定されてよい。しかしながら、同時に下位レベルで東に移動しているメッセージＭ２が、セルＦからの共有経路の使用に関して、メッセージＭ１を上回る優先権を有している。優先権を行使するべく、下位のセルが時宜にかなった方法で制御信号を北方向に送信し、上位のセルがそれに反応して下側にメッセージを送信しないようになってよい。従って、セルＦからの制御信号は、セルＢが制御信号に対して反応するのに十分な時間で、上位レベルのセルＢに到達する。このために、メッセージＭ１がセルＢに到達する前に、メッセージＭ２がセルＦに到達する。いくつかの適切な回路では、所定レベルへメッセージが到達するタイミングは、直に北にあるレベルより１クロック周期ＴＣだけ早くなっている。
【０１５９】
メッセージは、行に沿ったＦＩＦＯ及びセル内のシフト・レジスタを通って連続的に移動する。メッセージＭ２のトラフィック・ビットＴ ３０２は、メッセージＭ１のトラフィック・ビットが上のセルに到達する１クロック周期前に、下位のセルに到達する。セル内の２つの遅延要素が、クロックにより駆動される２ビットのシフト・レジスタとして機能する。ルーティングの決定時に、トラフィック・ビットＴ及びメッセージＭ２の最上位ビットＭは、図２４Ａに示されるように、下位のセルの２つのシフト・レジスタの中にいる。この下位のセルが、タイミング信号２４０４を受信し、それにより、この下位のセルは、メッセージＭ２をいずれの方向に送信するか決定するために、２ビットＴ及びＭと、南からの制御信号との検討を行うようになる。この単一セル・ノード制御ロジックは、ルーティング決定のために３ビットの検討だけを行えばよくて、これは、１クロック周期ＴＣ内で容易に完了する。例において、内部接続は、メッセージＭ２を東に送信するようにされており、更に、制御信号「１」が北に送信されている。上位のセルが、メッセージの最初の２ビットを受信する前に、下位のセルが制御信号を生成し、送信する。換言すれば、上位のセルは、制御信号が上位のセルに送信されるときに、メッセージＭ１のトラフィック・ビットＴだけを受信する。次のクロック周期において、上位セルは、メッセージＭ１をどこに送信するか決定するための情報を全て利用することが可能になる。２セル・ノードは、ルーティングを決定するために６ビットの検討を行う。この検討は、１クロック周期内に容易に完了するものである。
【０１６０】
任意の所定レベルにおいて、異なる行にあるメッセージは、同時に東方向に移動する。各メッセージのヘッダ・ビットは、「垂直方向に整列」して、東に移動し、それにより、各ヘッダは、同一ノードアレイ内にある全ての他のメッセージと同時にセルに進入する。同様にして、セルから南に下がる、同一ノードアレイ内にある複数のメッセージが、水平方向に整列して一緒に移動する。
【０１６１】
異なるレベルにおける、同じ列のメッセージの相対的なタイミングが図２４Ｂに示されている。所定の列において、下位レベルのセルは、上のレベルのセルよりも先にメッセージの第１ビットＴを受取る。レベルＪのルーティング決定信号ＲＤ［Ｊ］２４０４は、レベルＪ＋１のタイミング信号ＲＤ［Ｊ＋１］２４０６よりも１クロック周期ＴＣ早く生じており、より上位レベルについても以下同様である。所定のノードアレイ１０８内の全てのセルは、同期して動作しており、全ては同一のタイミング信号によって駆動される。後縁部２４３０は、メッセージの終わりを信号通知している。各セル内に２つの遅延要素を備え、列の間にＦＩＦＯを有していない例では、先の西方向の列の後に、次列におけるタイミング信号が、２つのクロック周期Ｔｃｌｍ２４０８になっている。図５Ａ及び図６Ａを参照すると、南に移動するメッセージがセルのシフト・レジスタをバイパスしていて、次列のセルにすぐに接続されており；この場合には、メッセージがセル内のゲート６２６を通って移動する際に、わずかな伝播遅延ＴＰ２４２６が存在する。南に移動するメッセージは、シフト・レジスタの通過を回避する点が利点があるが、連続して通過するセルの数に比例する累積伝播遅延を経験する可能性がある。南に移動する場合に補正のために、下位レベルのクロックが各レベルで効果的にＴＰだけ遅延され、それにより、望ましくは、南に移動するメッセージが、下位レベルにおいて西から移動する他のメッセージと同期化される。伝播遅延を補正するための代替的な手段が、図７Ｅに示されており、そこでは、１ビットのシフト・レジスタ７１６が列間に適切に配置されている。このシフト・レジスタを退出するメッセージは、望ましくは、それらのそれまでの経路とは無関係に、同期化される。回路によっては、ノードアレイに進入するメッセージの一致したタイミングを確立するための方法及び確実に行うための方法を共に用いる。
【０１６２】
メッセージは、所定の最大長Ｌｍａｘを有する。メッセージ送信時間Ｔｍは、全メッセージがセルを通るための時間である。即ち、Ｔ＝Ｌｍａｘ・ＴＣである。メッセージがセルを通過し終わった直後に、続いてのメッセージがそのセルに進入することが可能である。メッセージ送信時間Ｔｍによって、次のタイミング信号が送信されるかが決定される（２４１２）。次列にある、ノードアレイ内のセルのタイミングは、各セル内の遅延要素の数（通常は２である）と、それに加えていくつかの列の間に存在し得るＦＩＦＯの長さによって決定される。
【０１６３】
全ての列に対するタイミング信号、及び入力制御動作と出力制御動作とに対するタイミング信号は、相互接続構造内の全てのノードアレイにタイミング信号を送信するクロック及び制御サブシステムによって生成される。タイミングの仕様は、セルとセルの通信の局所性のために、効果的に単純化される：セルが隣接する列若しくはレベル以外のより遠くと通信する必要がなく；更に同一ノードアレイ内の全セルが同一タイミングを有する。セル内のシフト・レジスタ及びＦＩＦＯによって、スイッチング要素の大半が形成される。同一レベルにある全セルが、同一クロックを用いる。異なるレベルにおけるクロックは、セルを通って南に移動する際の伝播遅延を補正するべく互いに関してわずかにずらされている。異なるレベルにおいてずらされるタイミングは、望ましくは、オン・チップの電力需要を平坦にする。レベルＪにおけるクロック２４２０は、図２４Ｃに示されるより上位のクロック２４１８と比べて、要素２４５６によって時間量ＴＰだけ遅延される。望ましくは、このクロック信号の配信が容易であり、更に、遅延要素ＤＰ２４５６は、増幅器若しくはバッファとして二役、機能し得る。ノードアレイ内の、クロックは、全ノードが同一タイミングを受信するようにツリーを用いて展開されてよい。
【０１６４】
同一のクロック信号と同様に、同一のタイミング信号によって、同一ノードアレイ内の全セルが制御される。通常は、２つのシフト・レジスタがセル内に含まれており、それによりレベル上に残っているメッセージは２クロック周期後に次列に到達する。最上位レベルの第一列のメッセージ・タイミング信号２４６０が、（同一レベルにおける）次列のタイミング信号を生成するために、２ビット・シフト・レジスタＤ２ ２４５０を通過させられ、残りの列についても以下同様である。ＦＩＦＯが列の間に含まれる場合、同様のＦＩＦＯが東へのノードに対するタイミング信号のための遅延要素として用いられる（図示せず）。南に下がるメッセージの伝播遅延ＴＰを補正するために、下位レベルのタイミング信号は、同じ量だけ遅延される（２４５８）。望ましくは、このタイミング信号２４６０の配信が容易であり、更に遅延要素ＤＰが増幅器若しくはバッファとして二役機能し得る。図２４Ｃでは、かなり少数の遅延要素を効果的に通過することによって、第１列からのクロック信号が伝播するのが示されている。相互接続構造１００の巨大単一チップの実施例では、セル及びノードを制御するのに少数のゲートだけが効果的に用いられており、それにより、望ましくは、高処理能力を供給する多数の列及びレベルが提供される。タイミング及び制御は大きなスケールになるという点が効果的であり、それにより、大きな相互接続網が容易にサポートされる。シフト・レジスタ及びＦＩＦＯを駆動するクロックが、隣接するレベルでスキューされるので、望ましくは、オン・チップ電力需要が単純化され、更に、電力供給の騒音が最小化される。図２４Ｄは、１つのノードアレイ内で全てのノードに平等にタイミング信号を配信するために３ベース展開を備えた、従来構造が示されている模式的な図である。
【０１６５】
メッセージが相互接続網を通って流れる際に、ノードによってメッセージの経路が東若しくは南に決定される。全メッセージのルーティングがノード内で実行される。図２５は、セル若しくはノードに対するロジックによって実行される動作が示された流れ図である。スタートアップ若しくはリセットにより、セルの出力端子及びラッチが全部ゼロの状態に設定され、それによりセルから送信されるメッセージが１つもないことが示される。メッセージは、均一に、且つ同期してレベルを横切って流れる。同一レベルにおいて、東に移動する全メッセージの第１ビットは、その他の全てのメッセージが同一ノードアレイに進入するのと同時に、任意の行におけるメッセージがセルに到達するように、西から東への伝播において均一に移動する。セル若しくはノードのいくつかのセットでは、各方向からの複数の入力信号経路を有する。
【０１６６】
時間２４０２において、トラフィック・ビット３０２及びＭＳＢ３０８が、ノードに進入している。西からの各入力経路に対して、制御ロジックが、メッセージが存在するかどうか決定するためにトラフィック・ビットを探索する。メッセージが存在しない場合には、その経路に対する更なるメッセージ処理が実行されない。そうでなければ、このノードは、有効なヘッダが存在するか決定するために、１以上のヘッダ・ビットを検討する。有効なヘッダが存在しない、若しくはメッセージが存在しない場合には、ノードの状態がスタート時の状態にリセットされる。無効なメッセージは決して下位レベルに送信されないので、有効なヘッダに対する試験は、相互接続網の最上位レベルだけで実行されればよい。西からの各入力経路に対して、このロジックにより、南への利用可能な接続に関しての、メッセージの適切な方向が決定される。例えば、ヘッダによってメッセージが上位集団に移動する必要があることが示されており、且つ上位集団への接続で利用可能なものがない場合、このメッセージは南方向にはルーティングされない。或いは、ノードがターゲットへの経路に接続されていて、ブロックされていない場合に、このメッセージが南にルーティングされる。南にルーティングすることのできないメッセージは、東に送信される。メッセージが東に送信されると、制御信号が北に送信され、それにより上からのメッセージを受取ることが不可能であることが示される。
【０１６７】
南方向にメッセージ・ターゲットへの接続経路を有する各メッセージに対して、制御ロジックは、南からの制御信号を検討することによってこの経路が利用可能であるかどうか決定する。更に、１より多くの南への出力経路が存在する場合、ノードに進入する複数のメッセージが、限定数の南への経路に対して競合する可能性がある。利用可能な経路よりも多数のメッセージが存在する場合、いずれのメッセージが南にルーティングされるか決定するのに優先権機構が用いられる。南に進むように宛先指定されたメッセージは、南からの制御信号によってブロックされている場合、若しくは同じ経路を利用しようとしている同一レベル上のより高い優先順位を有する別のメッセージによってブロックされている場合、東方向に送信される。メッセージが東に送信されると、ヘッダのＭＳＢがメッセージから除去され、次の最上位ビットが下位レベルにおいてＭＳＢとなり、又、トラフィック・ビットは常に保持される。メッセージが南に送信可能であるかどうかを決定する際には、次のクロック周期に、制御ロジックによってトラフィック・ビットが送信され、次に西から南への接続がなされて、それにより現在のＭＳＢは失われて、次の最上位ビットが下位レベルにおけるＭＳＢになる。ノード内のラッチ若しくはその他の記憶素子は、次のメッセージ周期までノードの接続状態を保持する。メッセージの最後には、このノードはリセットされて、次のタイミング信号２４０２のために待機し、メッセージ到達時間には、このノードは再度、次のメッセージの処理、若しくはメッセージの設定が可能な状態になる。
【０１６８】
要約すると、メッセージが存在するか判定し、存在する場合にメッセージの方向がいずれであるか決定するために、セルのシフト・レジスタ内のヘッダ・ビットをいつ検討するかを、ノードに通知するためにグローバル・タイミング信号が用いられている。メッセージが東に送信されると、制御信号が北にセルへと送信され、それにより北のセルは下側にメッセージを送信しないようになる。北の制御ロジックによって制御信号の監視及び行使が行われる。メッセージが南に進むように宛先指定される場合には、このノードによって、経路が利用可能であるかどうかを決定するために適切な制御信号が検討される。複数のメッセージが単一ノード内で南への制限数の経路に対して競合する場合には、いずれのメッセージを南方向に移動するかを決定するのに優先権機構が用いられる。各ノードの状態は、メッセージの終わりの信号に達するまでメッセージ・ルーティングの制御を行うように、１以上のラッチ、若しくはレジスタに保存される。制御ロジック及び相互接続トポロジーの望ましい成果は、メッセージがセルを退出するための開放された経路を常に有し、このメッセージが決してセルにバッファされず、更に、望ましくは、このルーティングの決定に最小量の制御ロジックが用いられていることである。
【０１６９】
図６Ａ乃至図６Ｃには、単一セルの３つの接続状態：西から南と北から東；北から東；及び西から東が示されている。図２１Ｍ、図２３、及び２６を参照すると、２セル・ノードは、Ａ乃至Ｐと名付けられている１６の接続状態を有している。西からのメッセージは、存在する場合には、上位若しくは下位の集団に移動するように宛先指定がなされる。経路Ｗ１における、可能性のある４つの状態は、（１）メッセージが１つも存在しない（ｎｕｌｌ）か、又はヘッダが無効である、（２）メッセージが存在するが、南への移動がブロッキングされている、（３）メッセージがＳ１を通して上位集団に接続されている、若しくは（４）メッセージが経路Ｓ２を通して下位集団に接続されている。同様に、経路Ｗ２に対しても同じ４つの状態が保持される。
【０１７０】
図２６は、入力経路Ｗ１が入力経路Ｗ２を上回る優先権を有する、２セル・ノードの一例に対する１６つの状態のテーブル図である。Ａでは、いずれの入力経路にもメッセージが存在せず、それゆえに北Ｎ１及びＮ２からの両接続がそれぞれ経路Ｅ１及びＥ２に接続されているのが示されている。経路Ｗ１及びＷ２にメッセージが存在しないときはいつでも、北からのそれぞれの入力信号が東に接続される。状態Ｂでは、経路Ｗ１にメッセージが存在せず、且つ経路Ｗ２上のメッセージがブロックされていて、それにより経路Ｗ２上のメッセージが東に送信される状態が示されている。メッセージが東に送信される場合は、常に、上からのメッセージをブロックするために、制御信号（図示せず）が北に送信される。状態Ｃは、経路Ｗ１にメッセージが存在せず、且つ経路Ｗ２におけるブロックされていないメッセージが、経路Ｓ１に接続するように宛先指定がなされているときの状態が示されている。２×２スイッチ２１１０が、経路Ｗ２を経路Ｓ１に接続している。状態Ｄは、経路Ｗ２が経路Ｓ２と接続すること以外は、状態Ｃと同様である。状態Ｅ、Ｉ、及びＭは、経路Ｗ１及びＷ２の入力状態が逆になっている点以外は、状態Ｂ、Ｃ、及びＤと同様である。状態Ｆでは、両入力信号が南への移動をブロックされている。状態Ｌ及びＯでは、２メッセージがセルに進入し、共に南方向にブロッキングされていない経路へとルーティングされているのが示されている。状態Ｋ及びＰでは、両メッセージが、ブロッキングされていない同一の経路へと南方向に進むように宛先指定がなされている場合の状態が示されている。経路Ｗ１が優先権を有するので、経路Ｗ１が経路Ｗ２を内部で、ノード内で、ブロックして、経路Ｗ２が東方向に接続される。ノードの代替的な変形実施例では、経路Ｗ２が経路Ｗ１を上回る優先権を有する。
【０１７１】
２セル・ノードを用いる相互接続構造は、単一セル式のものよりも、より大きな処理能力及びより低いレイテンシィーを有する。図２７は、西からの４つの入力接続及び北からの４つの入力接続を有する４セル・ノードが示されたブロック図である。この４セル・ノードは、Ａ、Ｂ、Ｃ、及びＤの４つのセルを含む。この４セル・ノードは、望ましくは、同じような大きさの２セルの実施例よりも、更により大きい処理能力及びより少ない移動時間を提供し、２セルの相互接続設計を拡張したものとしてみなすことが可能である。同様にして、２セル・ノード設計に基づく４セル・ノードの実装方法は、Ｎセルに拡張することが可能である（ここでＮは偶数である）。４×４スイッチによって、西から任意のセルに進入するメッセージが、南方向に上位若しくは下位集団へ任意の経路に接続することが可能になる。各集団に２接続が作られる。同一集団に対して２より多いメッセージが競合する場合には、どの行が他の行を上回る優先権を有するか決定するために「Ａ−Ｂ−Ｃ−Ｄ−Ａ」優先権機構が用いられる。南にルーティングされなかったメッセージは、次列に移動して、そこで、他の行と優位性が一致する行が存在しないという有利な結果を用いて、優先権が再スケジューリングされる。
【０１７２】
４セル・ノードと４ベース・ノードとは、前者がヘッダ・ビットを１つだけ検討し、１レベル下にメッセージを送信するという点で異なっている。後者は、２つのヘッダ・ビットを検討し、メッセージがレベルを１つ飛越して、１周期で２レベル進む。
【０１７３】
制御ロジックによって、西からの各メッセージのトラフィック・ビット及びＭＳＢが、南からの４つの制御信号と共に検討され、それによりメッセージをどのようにルーティングするかが決定される。このロジックは、いずれのメッセージが南への利用可能な経路を有するか判定し、同一経路に対して複数のメッセージが競合した場合に優先権を適用する。メッセージが東にルーティングされると、制御信号が北に送信される（図示せず）。下位レベルにおけるセルＥ、Ｆ、Ｇ、及びＨは、異なるレベルの内部にあってよい。
【０１７４】
図２８Ａ及び図２８Ｂには、相互接続構造の３２行の実施例を形成するための、４セル・ノードの相互接続網を示す配置が図示されている。最上位レベルの第１列において、示されるように、セルが二重の水平方向Ｖ字パターンに配置されている。各垂直方向ラインは、４つのメッセージ経路及び４つの制御信号を含む。レベル５の行０におけるメッセージは、行に沿って東に移動する際に、変換列Ｓ３２に従う。４セル・ノードは、同一の垂直方向ライン上に示された複数のセルを含んでおり、それらは、各列においていずれの行が接続するかを示している。変換列□□−３２によって、南方向への出力ポートがどのように次の下位レベルにおけるセルに接続するのかが決定されている。南方向への接続は常に、北のセルと同じ行である。例えば、最も左側にあるノードは、行０、８、２３、及び３１のセルを有している。文字Ａ、Ｂ、Ｃ、及びＤは、レベル４における、これらと同じ４行を示している。セルＡに進入するメッセージは、南方向に行０、８、２３、及び３１へと移動する機会を有する。これらの接続が、破線で示されている。レベル５における列１は、変換列Ｓ３２を用いて配置され、次列も同様である。列０、レベル４におけるセルは、示されるように２つの二重水平方向Ｖ字パターンを用いて配置され、列の残りは、変換列Ｓ１６を用いて配置される。図２８Ｂは、次の下位レベル、レベル３の配置を示している。４セル内部変換列２８１０及び２８１４が、図２８Ｃに示されている。
【０１７５】
最上位レベルの任意の行の上を移動するメッセージは、次の下位レベルにおけるセルへと南方向に移動する機会を有する。任意の２メッセージが、ブロッキングされていない２つの上位集団セルに移動することが可能であり、同様にして２つの下位集団セルへも移動可能である。ノードに進入する単一メッセージは、次の集団への２つの可能な接続を有しており、それにより、一方のセルがブロッキングされている場合に、他方が利用可能であるという点で効果的である。複数のメッセージが、南への同一経路に対して競合する場合、優先権機構が適用される。南方向に移動不可能であるメッセージは、同一行に沿って東方向にルーティングされる。４×４スイッチによって、前述した２セル・ノード及び単一経路の実施例よりも、メッセージに対して南へ移動するより多くの機会が提供される。付加的な制御ロジックは、メッセージ・トラフィックによる経路の大量占有を保持することによって、南方向に接続する垂直方向経路をより効率的に利用できるようにする点で効果的である。メッセージが、１より多くの南方向への経路を有するため、２セル・ノードよりも、全ブロッキング率がより低くなり、且つ効率的な処理能力がより向上される。
【０１７６】
図２９Ａには、以下で説明される、２セル・ノードの機能強化された変形実施例が示されている。スイッチＳ２は、下側への接続経路の付加的なセットを提供しており、それにより、処理量が効果的に増加される。相互接続能力を増大させるように、偏りのない優先権機構が用いられる。セルＡ及びＢがノードＮ１内にあり、セルＣ及びＤがノードＮ２内にある。両ノードは、レベルＪ＋１、列ｉにある。更に、図５Ｃを参照すると、全てのセルが対角方向に接続されている：ノードが、下位レベルにおける次列のセルへとデータを南東に送信しており、又、ノードが、同一列内のノードから制御信号を受信している。２×２スイッチＳ３によって、ノードＮ１及びＮ２が共に、セルＭ又はセルＮのいずれかにデータ送信することが可能になる。セルＭ及びＮは、レベルＪにおける上位のセットであり、セルＡ、Ｂ、Ｃ、及びＤからアクセス可能である。セルＫ及びＬは、レベルＪにおける下位のセットであり、同様にセルＡ、Ｂ、Ｃ、及びＤからアクセス可能である。セルＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇ、Ｈ及びＩは列ｉにあり、セルＫ、Ｌ、Ｍ及びＮは列ｉ＋１にある。セルＫへのメッセージ送信の優先権は、Ｈ、Ａ、Ｂ、Ｃ、Ｄの順番で与えられる。セルＬへのメッセージ送信の優先権は、Ｉ、Ｃ、Ｄ、Ａ、Ｂの順番で与えられる。セルＫの使用に対して、ノードＮ１がノードＮ２を上回る優先権を有し、セルＬに対して、ノードＮ２がノードＮ１を上回る優先権を有することに留意されたい。セルＭへのメッセージ送信の優先権は、Ｅ、Ｂ、Ａ、Ｄ、Ｃの順番で与えられる。セルＮへのメッセージ送信の優先権は、Ｆ、Ｄ、Ｃ、Ｂ、Ａの順番で与えられる。
【０１７７】
セルＫに送信するメッセージをセルＨが有する場合、セルＨはノードＮ１に制御信号を送信し、それによりセルＡ及びＢは、セルＫへのメッセージ送信がブロックされる。ノードＮ１がセルＨからブロッキング信号を受信する場合、若しくはノードＮ１がメッセージをセルＫに送信する場合、次にノードＮ１がノードＮ２にブロッキング信号を送信する。セルＫがブロックされておらず、且つセルＡにおけるメッセージが下位集団にターゲティングされた場合、ノードＮ１は、スイッチＳ１を「バー」に、若しくは垂直方向接続位置に設定する。同様にして、スイッチＳ２を「バー」位置に配置するように、ノードＮ１が制御をスイッチＳ２に送信し、それにより、太線で示されるようにセルＡからセルＫへの接続が生じる。セルＨ若しくはセルＡのいずれも、セルＫにメッセージを送信しない場合、セルＢが次の優先権を有する：セルＢがセルＫにメッセージを送信するように宛先指定された場合、スイッチＳ１が対角方向にクロス位置に設定され、ノードＮ２にブロッキング信号が送信され、更に、スイッチＳ２がバー位置に設定される。セルＫがブロックされていて、セルＡが下位セルにメッセージを送信するように宛先指定されていて、且つセルＬがセルＩ、Ｃ若しくはＤのいずれによってもブロックされていない場合、ノードＮ１はスイッチＳ１をクロス位置に設定し、ノードＮ２にブロッキング信号を送信し、更にスイッチＳ２をクロス位置に設定する。同様にして、下位レベルのセルＭ及びＮへのアクセスに対して、セルＣ及びＤがセルＡ及びＢを上回る優先権を有しており、更に、より低い優先順位でセルＫ及びＬにアクセスすることが可能である。セルＨ及びＩの一方だけが、セルＫ若しくはＬへと西にメッセージを送信する場合には、セルＡ又はＢのいずれかが、セルＫ又はＬにメッセージを送信することが可能である。別の例では、セルＡは、セルＫ若しくはセルＬにメッセージを送信するように宛先指定がなされ、それによりセルＨ若しくはセルＩからのメッセージが回避される。ノードＮ１は、スイッチＳ２を、セルＫ若しくはセルＬへの利用可能な接続に設定する。下位レベルに利用可能な経路が存在する場合に、上位レベルの４セルのうちのいずれもが、公平な優先権機構の下で、利用可能な経路へのアクセスを有する点が効果的である。
【０１７８】
図２９Ｂでは、別の変形実施例が示されており、そこでは、スイッチＳ４が下位レベルのセルからのメッセージを転送し、それによりメッセージが邪魔にならないところに効果的に移動されている。ノード内の通信ラインは示されていない。セルＡ若しくはＢのいずれか一方が、下位集団にメッセージ送信するように宛先指定がなされており、且つセルＨ若しくはＩのいずれか一方だけがメッセージを西に送信する場合、ノードＮ３は、メッセージを下側に送信可能である。この例では、セルＡは、メッセージを南方向にセルＫへと送信するように宛先指定がなされている。セルＡは、セルＬへの接続を有していない。セルＨ若しくはＩからのメッセージがセルＬに方向付けられるように、スイッチＳ４がノードＮ３によって設定され、それにより、望ましくは、セルＡがセルＫにメッセージを送信することが可能になる。図２９Ａでは、ノードＮ１にメッセージを方向付けるように、スイッチＳ２がノードＮ１によって設定されている。図２９Ｂでは、異なるノードからのメッセージが下位レベルに方向付けられるように、スイッチＳ４が、ノードＮ３によって設定されている。一般的に、ノードＮ３及びＮ４は、セルＸからのメッセージを方向付けるようにスイッチＳ４を設定する。ここで、セルＸは、この例の場合にはセルＨ若しくはＩのいずれかであり、ノードＮ３及びＮ４内のセルとは別個のものである。更に、セルＸは、ノードＮ３若しくはＮ４とは異なるレベルにある。ノードＮ３は２つのスイッチＳ５及びＳ４を制御する。スイッチＳ５は、ノードＮ３内にあるセルＡ及びＢからのメッセージを方向付け、スイッチＳ４は、自分自身とは別のノードからのメッセージの方向を制御する。
【０１７９】
図２９Ｂでは、セルＡ、Ｂ、Ｃ、及びＤが、２セルノードＮ３及びＮ４の各要素である。或いは、セルＡ、Ｂ、Ｃ、及びＤは、それら自身の間で通信する単一セルノードとみなすことも可能である：ここで、セルＮ３及びＮ４のセルＡ、Ｂ、Ｃ、及びＤは、８つの入力ポート及び８つの出力ポートを備えた単一の４セル・ノードを有する。更に、ノードには、ノードの近くに配置されたスイッチが含まれてもよいし、含まれなくてもよく、更に、制御ロジックがノード内にあってもよいし、若しくは一部がノード内にあってもよい。スイッチが配置されるノードとは別個のセル若しくはノードによって、図２９Ａ及び図２９Ｂに示されるＳ２、Ｓ３、及びＳ４等のスイッチが制御され得る。
【０１８０】
１つのノードが多数の入出力接続を有する相互接続構造の実装では、内部ロジックは、単一ノードの複雑性が相互接続ネットワーク全体とほぼ等しくなる程度にまで、非常に複雑になる。巨大ノードの複雑性を減少させ、タイミング及び制御を単純化させるように、複雑な個々のノードの各々が、以下で説明される種類の小さな「ノーダル（ｎｏｄａｌ）」相互接続によって置換されることが利点である。
【０１８１】
図３０は、そのような一実施例の上位２レベルが示されているブロック図であり、そこでは、ここで説明されるいくつかの構造を用いて実装され得る非常に多数の入力ポート及び出力ポートをノードが有している。別の言い方では、前述の巨大な相互接続構造１００は、（１）各データ及び各制御経路を、複数のデータ及び制御経路を含むバスと置換し、（２）各ノードを小さな完全な相互接続構造と置換することによって、形成される。種々の程度の倍率で自己相似していることから、できあがる相互接続構造が「フラクタル相互接続構造」と名付けられ、又、ノーダル相互接続が「フラクタル・ノード」と名付けられる。
【０１８２】
２列における代表的な接続が図３０に示されている。フラクタル・ノードＦＢ ３１０２は、多数の入力ポート及び出力ポートを処理するように、３つのレベルと少数の列を含んでいる。複数の出力経路が同一レベルに接続されており、且つ次のレベルへ下側に接続されている。ノードの相互接続ＦＢに進入するデータが、下にある２進基数設計と呼ばれ得る集団のうちの１つに転送される。フラクタル・ノード内部に２より多くのレベルが用いられると、メッセージはメッセージ・ターゲットにひときわ前進することになる。これは、２より大きい基数を用いることと同等である。
【０１８３】
図２１Ｆを参照すると、２つのノードＳ及びＷは、ノードＥ及びＢが、ノードＴ及びＸにメッセージを送信するのをブロックし得る。図３０に示されているこの構造は、各データ及び各制御経路が複数の経路によって置換され、複数のレベルへの接続が存在している点以外は、図２１Ｆの構造の場合と類似するマクロスケールのトポロジーを有する。図３０で図示される例の中の１経路が、４つの経路で置換えられる。フラクタル・ノードの実施例によっては、対角方向にあるのと同数の入力及び出力接続を水平方向に有する。別の実施例において、レベル間の対角方向の接続が、図２１Ｊに示される方法により垂直方向の接続と置換えられてもよい。
【０１８４】
図３０に図示されるフラクタル・ノードの例に留意されたい。ノードＦＢは、全相互接続構造の種々のレベルにおいて複数の行を含んでいる。例には、３つのレベルが示されており、各レベルは、図示されていない複数の行を含み得る。フラクタル・ノードＦＢ ３００２は、レベルＮにおいて８つの行を含み、レベルＮ−１において４つの行を含み、レベルＮ−２において４つの行を含み、更に、それは内部に複数の列を有している。このフラクタル・ノードは、１６行の全てから、同じ３レベルにまたがっている別のフラクタル・ノードＦＣ ３００４にデータを送信することが可能である。ノードＦＣにデータの送信が可能な全ノードの中で、ノードＦＢが最も高い優先順位を有しており、そのためノードＦＢからのメッセージは、ノードＦＣへの送信を決してブロックされない。
【０１８５】
ノードＦＢ内の内部構造は、前記で説明した種類のものである。レベルＮにおける行の数は、レベルＮ−１における行の数よりも大きくなっており、それにより、上位ノードからの全てのメッセージが下がってくるための空間を有するように、フラクタル・ノードの最上位レベルに十分な部屋を有する。複数の自由度によって、幅広いクラスの設計が可能である。当業者は、ここで説明された相互接続構造を修正して、多数の行から少数の行への送信を可能にするような種々の方法が分かるであろう。
【０１８６】
図２１Ｐには、単一ノードの通過を試みる複数のメッセージを制御するための基本的な方法が示されている。レベルＮにおける２つのノードＥ及びＢが、レベルＮ−１の１つのノードＸへとデータを下側に送信するように配置されている。レベルＮ−１におけるレベルＷが、ノードＸへの送信に対して最も高い優先順位を有している。レベルＮにおけるノードＥが、ノードＸへの送信に対して次に高い優先順位を有している。レベルＮにおけるノードＢが、ノードＸへの送信に対して最も低い優先順位を有している。図２１Ｐでは、メッセージがノードＷからノードＸに送信されかどうかを示すための、ノードＷからノードＥへの制御ラインが示されている。ノードＥからノードＢへの制御ラインによって、ノードＥ若しくはノードＷのいずれかがノードＸにメッセージを送信したかどうかが示される。
【０１８７】
図３０を参照すると、所定の時間ステップにおいて、レベルＮ−１のノード３０１０にメッセージを送信するように、レベルＮのノードＦＢが配置されている。次の時間ステップにおいて、レベルＮ−１のノード３０２０にメッセージを送信するように、レベルＮのノードＦＢが配置されている。レベルＮ−１のノード数がＮ−２のノード数と等しいので、これらのレベルの間の相互接続パターンは、図１Ａ、１Ｂ、及び１Ｃで示されるものと同じになる。メッセージがフラクタル・ノードの最も右側の列に到達すると、このメッセージはそのノードの一番左側の列に戻ることはないが、代わりに同一レベル若しくは下位レベルのノードに進む。この方法によって、ワームホール方式で移動する所定のメッセージが、種々のレベルにおける複数の巨大なノード間に配信され得る。
【０１８８】
自己相似相互接続構造の内部では、フラクタル・ノードが内部的に相互接続構造になっている。このフラクタル・ノードは、ここで説明した類のノードを含む。更に、これらのフラクタル・ノードは、ここで説明した類の構造の内部で接続される。Ｎ＋１は、巨大構造の中のレベル数を示しており、最下位レベル０から最上位レベルＮまで並べられている。レベルＮにおけるフラクタル・ノードは、固定されたターゲット・ビットを有さない８つの行、ターゲット・ビットが１つ固定された４つの行、ターゲット・ビットが２つ固定された４つの行を含んでいる。レベルＮ−１におけるフラクタル・ノードは、１つのターゲット・ビットが固定された８つの行、２つのターゲット・ビットが固定された４つの行、３つのターゲット・ビットが固定された４つの行を含んでいる。このパターンが、巨大構造のレベルを下までずっと連続している。巨大構造のタイミングとして、所定のメッセージが１つの小ノードを横切るのに費やされる時間よりも大きい時間間隔で、制御信号が送信される。この時間遅延によって、制御信号が種々のデバイスをより大きな距離だけ横切って進むことが可能になるという点で効果的である。
【０１８９】
図３０を参照すると、フラクタル・ノードＦＢは、レベルＮ、Ｎ−１、及びＮ−２にある。ノードＦＢの上位８行から退出するメッセージは、次列のフラクタル・ノードＦＣに送信される。下位８行からのメッセージもノードＦＣに進むことが可能であるが、これらのメッセージは更に、下位レベルにおいて接続されている別のノードにも進むことが可能である。ノードＦＢの１６行ｒ０、ｒ１、．．．ｒ１５に留意されたい。ノードＦＢの最下位４行を退出するメッセージは、レベルＮ−２において接続されているノードに進むことが可能である。ノードＦＢの行ｒ０を退出するメッセージは、レベルＮ−２におけるノードＦＰの最上位８行のうちの１つに進入することが可能である。ここで、ノードＦＰに進入する全てのメッセージは、ヘッダ・アドレスの最上位ビット（０，０）を備える出力に対するターゲティングが行われる。ノードＦＢの行ｒ１を退出するメッセージは、レベルＮ−２におけるノードＦＱの最上位８行のうちの１つに進入することが可能である。ここで、ノードＦＱに進入する全てのメッセージは、ヘッダ・アドレスの最上位ビット（０，１）を備える出力に対するターゲティングが行われる。同様にして、ノードＦＢの行ｒ２を退出するメッセージは、レベルＮ−２におけるノードＦＲの最上位８行のうちの１つに進入することが可能である。ここでノードＦＲに進入する全てのメッセージは、ヘッダ・アドレスの最上位ビット（１，０）を備える出力に対するターゲティングが行われる。最後に、ノードＦＢの行ｒ３を退出するメッセージは、レベルＮ−２におけるノードＦＳの最上位８行のうちの１つに進入することが可能である。ここでノードＦＳに進入する全てのメッセージは、ヘッダ・アドレスの最上位ビット（１，１）を備える出力に対するターゲティングが行われる。ノードＦＢの行ｒ４及びｒ５を退出するメッセージは、レベルＮ−１におけるノードＦＴの最上位８行のうちの２つに進入することが可能である。ここで、ＦＴに進入する全てのメッセージは、先頭ビット０を備える出力に対するターゲティングが行われる。行ｒ６及びｒ７を退出するメッセージは、ノードＦＸの最上位８行のうちの２つに進入する。ここで、ノードＦＸに進入する全てのメッセージは、先頭ビットが１である出力に対するターゲティングが行われる。この相互接続機構は、巨大構造のレベルを下側にずっと続いていく。
【０１９０】
巨大ネットワークの最も右側の列に到達するメッセージは、再び循環されて最も左側の列に進入し得る。しかしながら、フラクタル・ノード内のネットワークは、最も右側の列を出るメッセージが別のフラクタル・ノードに進むという特性を有している。図３１Ａを参照すると、フラクタル・ノードＦＸ ３１１０の最上位８行は、同一レベルにおけるノードＦＷ３１１２からのメッセージ、及び上位レベルにおけるノードＦＢ３００２からのメッセージを受信するように配置されている。ノードＦＷは、ＦＸのメッセージ送信に対してＦＢを上回る優先権を行使するべく制御信号３１１４をＦＢに送信する。
【０１９１】
図３１Ｂを参照すると、フラクタル・ネットワークの一実施例が、フラクタル・ノードのいくつかの出力ポートにおける付加的なロジックを含んでいる。ノードＦＢからの行ｒ６及びｒ７が、ｐ０及びｐ１とラベルされたエントリ・ポイント３１３０からノードＦＸの最上位８行のうちの２つに進入している。ノードＦＸと同一レベルにあるノードＦＷは、ノードＦＸにメッセージを送信することが可能である。ノードＦＷからの２行が、ノードＦＸのエントリ・ポイントｐ０及びｐ１にメッセージを送信する。ある所定の時間に、１つだけのメッセージが行ｒ６若しくはｒ７からノードＦＷを退出する場合、ノードＦＷにおけるスイッチ３１４２がそのメッセージをｐ０に送信する。ある所定の時間に、１つだけのメッセージがｐ０及びｐ１に接続されているノードＦＢのポートを退出する場合、ノードＦＢにおけるスイッチ３１４０がそのメッセージをｐ１に送信し、それにより、望ましくは、両ノードがノードＦＸにメッセージを送信することが可能になる。ノードＦＷからノードＦＢへの制御信号によって、ノードＦＷがポートｐ０及びｐ１にメッセージをいくつ送信しているかが示される。ノードＦＢにあるロジックが、ノードＦＢからノードＦＸに最大可能数のメッセージを送信することに対する適切な決定を行う。
【０１９２】
別の実施例では、ノードＦＢからノードＦＸに下がるＮデータライン、及びノードＦＷからのＮデータラインを含んでいてよい（ここで、Ｎは２よりも大きい）。ノードＦＷからノードＦＢへの制御信号によって、ノードＦＷでいくつの入力ポートが利用可能であるか示される。この情報と、ノードＦＸの下位ポートにノードＦＷがメッセージを送信したこととを関連させて用いることで、ノードＦＢは、ノードＦＸの利用可能な入力ポートにメッセージを送信し、それにより下側に最大数のメッセージを送信する点が効果的である。
【０１９３】
この機構は、ノードＦＢと同一レベルにあり、同様にノードＦＸに送信を行うノードＦＥ３１５０を考慮することによって、より一層一般化することが可能である。ノードＦＥは、ノードＦＥがノードＦＸにメッセージをいくつ送信し得るかということに関連する情報をノードＦＢから受信する。この機構は、ノードＦＷからノードＦＢへ、ノードＦＢからノードＦＥへ、更に場合によっては、ノードＦＥからノードＦＢへの制御情報の受渡しを必要とする。
【０１９４】
全説明の一般化及び類似の機構は、当業者には明らかであろう。図示された例は、小さなフラクタル・ノードである。当業者は、これらの方法を、より大きなフラクタル・ノードの構築に適用することが可能である。フラクタル・ノード間の制御信号に課せられるタイミングの要求条件が緩いので、各フラクタル・ノードがチップ上でネットワークである非常に巨大なネットワークを構築することが可能な点で効果的である。更に、これらの原理を拡張することによって、各フラクタル・ノードが、それ自体がチップ上のフラクタル・ノードで構成される非常に大きいネットワークになっている、超巨大ネットワークを、当業者が構築することが可能である。ここで説明されたネットワークのクラスの処理能力及び効率が、制限なしにスケーリングされるものであるという点で効果的である。サイズの唯一の制限は、パッケージングの制約により課せられる技術的な制限に起因するものである。任意の大きさの高性能相互接続網の構築を可能にする、自己相似性の、若しくはフラクタルの、ネットワークを用いることによって、この制約は解かれる。
【０１９５】
図３２を参照すると、試験メッセージをデータ・バス１０２及び１４２へ発行し、相互接続構造内部のデータと制御信号との経路へ、及びデータ退出経路１４８への接続３２１０を用いて、相互接続構造を通るこの試験メッセージの進行及び流れを監視することによって、任意選択的な組込み式自己テスト（ＢＩＳＴ）サブシステムが相互接続構造１００の動作の試験を行っている。内部の不完全な要素は、ＢＩＳＴシステムから送信された制御３２１６によりバイパスされ、望ましくは、動作の続行が可能になる。組込み式自己テストの結果、及び任意の救済的なバイパス若しくはその他の修理は、ステータス信号３２１４によって外部から信号送信されてよい。更に、このＢＩＳＴサブシステムによって、相互接続構造の動き及び状態についての現在情報及び統計的情報が作られてもよいし、又、この情報が外部から供給されてもよい。
【０１９６】
図３２は、適切な時間に１以上のメッセージを最上位レベルに送信し、且つ相互接続構造内を通るこのメッセージの進行を関しすることにより動作する、組込み式自己テスト（ＢＩＳＴ）サブシステム３２０２の一般的なブロック図を示している。競合する複数のメッセージが送信され、ＢＩＳＴの動作が検査される。このＢＩＳＴロジックは、メッセージのテーブル及び／又はメッセージを生成するためのアルゴリズムを含んでおり、それらのメッセージは、組込み式自己テストが実行される際に相互接続構造を通して送信される。好ましくは、十分な量のメッセージが生成されて、全てのセルが南及び東へのメッセージの処理を行う。
【０１９７】
ＢＩＳＴサブシステムからの接続は、全ての入力ポートにおいて、且つ各レベルにおける全セルのあらゆる制御信号経路及びデータ経路から、作られてよい。少なくとも１つのメッセージが別のメッセージによってブロッキングされ、それによりセルの制御能力が効果的に試験されるように、複数のメッセージが１つの入力ポートに投入される。セルから送信された制御信号を検査し、更に相互接続網が作動している間のメッセージの流れをサンプリングすることによって、好結果のブロッキングが監視される。ＢＩＳＴ手順の間、全てのセルが制御信号の生成及び受信を行うように、複数のメッセージ組合わせが送信される。
【０１９８】
組込み式自己テストが全範囲で完了した時には、相互接続構造内の全セルが、少なくとも１つのメッセージを南方向に、及び少なくとも１つのメッセージを東方向に通過させ、更に、少なくとも１つの制御信号の生成及び受信を行ったことなる。ＢＩＳＴの成功若しくは失敗程度を示す外部信号が生成される。不良セル若しくは不完全セルが、動作の間、更なるメッセージ・トラフィックからバイパスされる点で効果的である。不完全セルのテーブル若しくはリストがＢＩＳＴサブシステム内に格納され、この不完全セルはメッセージ処理から除去される。図３３では、不完全セル３３０２がどのようにして、メッセージの処理及び流れに損害を与えずに回路から除去されるかが示されている。ＢＩＳＴは、不完全セルが切離されるバイパス要素に信号３３０６を送信する。
【０１９９】
不完全セルは、東、南、若しくは北に全部が０の信号を送信する、全部が１の信号を送信する、若しくは無作為の信号を送信することで、不完全である可能性がある。或いは、不完全セルは、メッセージ・ヘッダ若しくは制御信号に応答するのを失敗する可能性がある。いずれにせよ、不完全セルの出力は、メッセージ処理から切離される。バイパス信号は、不完全セルの制御信号と組合わせれ、それにより「使用中」を意味する「１」が上のセルに常に送信され、それにより上のセルが不完全セルにメッセージを送信することが防止される。同様にして、南への出力信号も切られ、それにより南のセルもメッセージ若しくは無効なデータを決して受信しないようにされる。西からの入力信号は、遅延要素３３２０を通してセル３３１２の周囲にルーティングされる。図示されている遅延要素は、セルがメッセージを西から東に送信する場合と同一遅延を有する小さいＦＩＦＯである。東方向及び南方向への出力ポートは、相互接続構造から除去される。メッセージは、南からブロックされるセルと同様にして機能するバイパスを通過する。バイパスの正味の効果は、１つの特定の列においてメッセージが南に下がる機会を有さないということである。通常の相互接続網では、Ｉ／Ｏポート数をサポートするのに必要となるのよりも、多くの列を内部に含んでいる。それゆえに、バイパスを通って移動するメッセージは、南に移動する複数の機会をなお有している。不完全セルのバイパスの組込みは、図８Ａに示されるカスケード設計を用いることの別の理由である。全てのノードアレイに少なくとも１つのバイパスを含んでいる相互接続構造に対して、向上された信頼性を得る可能性がある。ノードアレイの各々に対して少なくとも１つのバイパス要素を含む相互接続構造に対して、更なる機能向上が得られる。
【０２００】
図示されている例では、１つのセルのバイパスが示されている。類似のバイパスが２セル及びＮセル・ノードに対して組込まれる。従っている原理は、東方向及び南方向への不完全な出力ポートが切離され、北の１つ若しくは複数のセルが南方向にメッセージを下げることを防止され、更に西から東への不完全な経路がバイパスされるというものである。ＢＩＳＴサブシステムと、不完全セルのバイパスは任意選択的な特性である。モンテカルロ・シミュレーションによって、図８Ａに示されるカスケード設計を用いる１０２４乃至６５，５３６のＩ／Ｏポートを備えた相互接続網は、入力ブロッキングを何ら用いずに９０％を越える入力速度を維持できることが示されている。本明細書で説明されている相互接続構造のスケーラブルな相互接続能力は、現行技術による組込み能力を、大幅に上回っている。ウェーハ・スケールの技術は、非常に大きな相互接続構造を獲得するための一方法である。多数のＩ／Ｏポートをサポートする複数の例で、チップ欠陥を処理するように、ＢＩＳＴサブシステム及び不完全セルのバイパスが実装されている。
【０２０１】
図３４では、少なくとも１つの相互接続チップ３４０８がスペア用チップ若しくは予備チップとして用いられるという望ましい特性を備えた複数の相互接続チップで構成される大きな相互接続システムのブロック図が示されている。この例では、図面の単純化のために、各相互接続は、４つの入力ポート及び４つの出力ポートだけを有している。システム３４０２は、４つの相互接続チップに予備用に相互接続チップが１つ加えられた３４０８、外部にある制御システム３４１６、入力マルチプレクサ３４０４、及び出力デマルチプレクサ３４１２を含んでいる。これらの構成要素は、全システムの半分を構成している。システムのＩ／Ｏポートの総数は、単一チップ数の２乗である。例えば、この構成での４ポート相互接続チップは、システム全体で４２若しくは１６のＩ／Ｏポートをサポートしている。２つの半システム２４０２が直列に用いられて、完全なシステムが形成される。
【０２０２】
各相互接続チップの電源が入れられると、組込まれたＢＩＳＴサブシステムが外部のコントローラ３４１６に動作の成功若しくは失敗を通知する。このコントローラは、システムが動作している間、チップの動作を監視する。電源が入っていて、且つシステムが動作している間、相互接続チップのうちの１つが回路から取外されて、予備チップ３４０８によって置換えられてよい。この入力マルチプレクサ３４０４は、入ってきたメッセージを２チップのうちの一方に方向付ける、一連の１×２スイッチを含んでいる。各チップの出力ポートは、２チップのうちの一方を選択して、メッセージ及び制御信号をシステムのコピー３４０２へとルーティングするデマルチプレクサ３４１４に接続される。
【０２０３】
図３５Ａは、完全な１６×１６システムを形成するように直列に接続された２つの不完全チップ・バイパス・サブシステム３４０２を含んでいるブロック図である。この例では、相互接続チップ３５０４が不完全であると判定されている。外部制御ユニット３４１６は、データ経路から不完全なチップを除外するために、入力３４０４及び出力３４１２ユニットに制御情報を送信する。この例では、通常はチップ番号２ ３５０４を通過し得るメッセージが、代わりにチップ番号３にルーティングされ、チップ番号３を通るはずであったメッセージが予備チップ３４０８を通るようにルーティングされ、以下同様である。この２つのサブシステムの間の相互接続網によって、左側のサブシステム上にあるチップからの各出力信号が、右側のサブシステムの４つのチップの各々の入力ポートへとルーティングされる。それにより、望ましくは、１６入力のいずれかに進入するメッセージが、最後の出力ポートのいずれかに運ばれる。
【０２０４】
図３５Ａでは、各サブシステム内に４つの相互接続チップと、付加的な１つの予備チップとが示されている。実施例によっては、各チップでサポートされるＩ／Ｏポートの数がここで示される４よりもはるかに大きく、例えば、６４乃至２５６になり得る。それゆえに、システムの容量は、６４２乃至２５６２となり得る。１つのサブシステムが複数の予備チップを含むということが最も効果的な点である。６４×６４システムのこの例では、８チップ若しくは１６チップの集団が、ブロック毎に１つの予備チップを備えている、１つのブロックとして処理される。従って、１つのシステムは、３３チップから成る４ブロック、若しくは９チップから成る８ブロックを含み、望ましくは、それにより複数のチップの故障に対する予備的な容量が提供される。
【０２０５】
図３５Ｂは、制御ユニット３４０４の代替的な実装が示されており、そこではスイッチ３４０６の機能が各チップ内で内部的に実行されている。この例では、各チップ３５１０が、内部Ｉ／Ｏ接続の各々について２つのＩ／Ｏポートを有している。内部の２×１出力スイッチ（図示せず）は、外部スイッチ３４１２と同等の機能が実行される。望ましくは、この例では、チップ当り２倍のＩ／Ｏポートを含んでしまうという代償を払って、入力ユニット３４０４及び出力ユニット３４１２が除去される。この代償は、全相互接続システムの大きさをＮの２乗にすることによって、埋合わせがなされる。
【０２０６】
行に沿って移動するあるメッセージは、ある列においてメッセージをブロックするが、次列でのブロックは行わない。図示されている構造では、可能なだけの列が含まれ、それにより、メッセージの南への移動に対して複数の機会が提供される。ノードを実装するのに非常に少量のロジックが用いられているので、技術的に課せられてしまう主要な制限は、Ｉ／Ｏピンの数が限られてしまうことである。これによって、Ｉ／Ｏポートの量に対するロジックの存在量（ａｂｕｎｄａｎｃｅ）が得られる。ロジックの相対的存在量は、ブロックされるメッセージの確率を大幅に減少させるように、可能な限り数多くの相互接続網を通る経路を作成するのに用いられる。
【０２０７】
図３６Ａでは、相互接続網内の最上位レベルが示されており、そこでは代替的な列が入力ポートに接続されており、それにより、Ｉ／Ｏ接続数とロジックとの比にして２だけ減少される。右側の２列は、別の例を示しており、そこでは、ノードアレイ内のセルの半分が入力ポートに接続されており、且つ次列では１つも接続されておらず、それによりセルとＩ／Ｏとの比が４：１になっている。図３６Ｂは、１つの２セル・ノードが１つの入力ポートだけしか有さず、それにより、ブロックされていない進入メッセージが、南に移動する機会を常に有する一例が示されている。入力接続のために１列しか用いられていないので、出力ポートと比べて入力ポートはほとんど含まれず、それにより、相互接続構造内部のトラフィック密度が低下し、更に、いくつかの適用に対しての少数対多数のＩ／Ｏ比がサポートされる点で効果的である。
【０２０８】
図７Ｃを参照すると、メッセージ全体が含むように、行に沿って十分な記憶領域を利用することが可能になっている。多数の列を用いる場合、十分な記憶領域、例えば、各列当り２以上の記憶要素が利用可能となり得て、それにより別個のＦＩＦＯを用いることなくセル内に全メッセージが収納される。ロジックは、ＦＩＦＯアレイの上よりも、むしろセル内でより効率的に消費される。例えば、８０ビットのメッセージ長は、約４０列を有する相互接続構造内に収納可能であり、それにより数多くの南への移動機会が提供される。チップ上で十分な数のロジックが利用可能でない場合、差異を作り出すためにＦＩＦＯが用いられる。
【０２０９】
列の総数と、入力接続を備えている列との比は、Ｉ／Ｏとロジックの量の比によって決定される。この利用可能ロジックは、可能な限り多数のノードアレイを生成するのに用いられ、それにより、メッセージがターゲット行に到達する一方で、望ましくは、相互接続網を通過する間に、ブロッキングをほとんど経験しない。図３６Ｃには、入力接続が一列だけに配置されている２セル・ノードを用いた一例が示されている。図示される設計を用いる利点は、望ましくは、外部の入力デバイスが単一のタイミング信号によって制御され、更に、セルとＩ／Ｏとの高い比が得られることである。メッセージは一箇所だけからしか行に進入できないため、最上位レベルに進入するメッセージは、南に移動する機会を多数有する。この例におけるメッセージ・トラフィック密度は非常に低くなっており、望ましくは、無視可能なブロッキングが生成され、且つ低レイテンシィーが得られる。
【０２１０】
図２４Ａ及び図２４Ｂでは、メッセージが、他のメッセージと同期して、相互接続網を通ってルーティングされるように、特定時間でセルに到達する必要があるのが示されている。図３６Ｄには、入力デバイスが任意の時間にメッセージを送信することが可能な構造が示されている。入力コントローラ及びデマルチプレクサ３６５０は、トラフィック・ビット３０２の到達を検出し、その列における別のメッセージと同期させながら、到達したメッセージを適切な列３６５２にルーティングする。融通の効く遅延要素３６５４が、タイミングの微調整を行うのに用いられ、それにより最上位レベルに進入する全メッセージが同期化される。
【０２１１】
図２４Ｂには、隣接するレベルを移動するメッセージの相対的なタイミングが示されている。セルは、一般的には単一クロック周期である制限的な時間周期を有し、それにより北のセルに対して制御信号の生成及び送信が行われる。タイミングの特定も、外部デバイスに対して保持される。セルがメッセージの第１ビットを受信し得る前に、最上位レベルのノードによって、外部デバイスに制御信号が送信される。Ｉ／Ｏの割合が高い場合には、信号が外に出てから戻るときの移動時間及び入力デバイス３７１０に対する内部処理の要求が、クロック周期を大幅に上回る可能性がある。
【０２１２】
図３７では、入力タイミングの制約が非常に緩められて、制御信号の生成、送信、及び応答を行うための十分な時間が可能になる構造が示されている。この設計は、制御信号が１つの列３７０６からとられ、メッセージが東にある別の列３７０８に投入されること以外は、図３６Ｃの単一列若しくは単一クロックの入力と類似している。セル３７２２においてブロックされたメッセージＭ１は、外部の入力デバイス３７１０に制御信号を送信する。この外部デバイスは、この外部デバイスがメッセージを入力ポート２１４に送信するかなり前に信号を受信する。融通のある遅延要素３６５４が、タイミングの調整を行うために用いられてよい。制御信号の出力とメッセージの入力との間の時間量は、行に沿ったＦＩＦＯ及びシフト・レジスタ内のビット総数をとって、クロック周期を乗じることにより計算される。例えば、クロック周期が１．２ナノ秒、ＦＩＦＯに含まれるビット数が８０、単一列３７０６と入力列３７０８との間が１０セル（合計２０ビット）の場合、反応時間は１．２×（８０＋２０）＝ １２０ナノ秒になる。この反応時間は、望ましくは、入力デバイスと通信するために電子的な信号が外に出て戻るまでに必要とする移動時間に、入力デバイスの処理時間を加えたものよりも長くなっている。メッセージＭ１は、制御信号が送信されてから１２０ナノ秒後に入力ポート１２０に到達する。ＦＩＦＯの長さは、必要な外部の反応時間に適用されるように、設定若しくは調整がなされてよい。入力セル３７２８がブロックされると、スイッチ６１８は北の外部入力デバイスからの入力を受入れず、望ましくは、何らかの不要なメッセージが相互接続構造に進入するのが防止される。
【０２１３】
セル３７１６におけるブロックされた別のメッセージＭ２も、同様にして外部デバイスに制御信号を送信する。使用中の出力列とメッセージ入力列との間に多数の列が存在するため、メッセージＭ２は入力列に到達する前に南方向３７１８に移動し得る。この場合には、「失敗（ｆａｌｓｅ）」の制御信号が生成される。この「失敗」の制御信号は、相互接続網が最上位レベルにおいて混雑してきた場合に、一度に入ってくる入力トラフィックを減少させ、それにより望ましくは、相互接続構造がビジー状態になった時に、外部からのメッセージ・トラフィックの受信を調整する自動的な機構を作り出して、相互接続構造を通る全トラフィック密度を低下させる。使用中の出力列とメッセージ入力列との間に、入力接続が１つも作られないため、制御信号が存在しないということは、対応するメッセージ入力ポートが利用可能であって、ブロックされていないということを常に意味している。
【０２１４】
ビジー信号出力が、ＦＩＦＯＳの直ぐ前の列内に存在する場合、入力タイミングの制約は緩和されるが、ビジー信号は決して失敗にはならない。
【０２１５】
図３８−移動時間ループ
図３８は、外部の反応時間制限を処理するための付加的な方法を示している。この模式的な構造では、外部の信号経路が、実質的には、ＦＩＦＯループ３８４０が１以上のメッセージをバッファするように用いられている。このループが空の場合に、入力デバイス３８１０がメッセージをループ中に送信することが許可される。このメッセージが入力ポート３８３８に到達すると、メッセージは、最上位レベルのセルが使用中でない場合にこのセルに進入することが許可される。セルが使用中である場合、このメッセージはオンチップＦＩＦＯ３８４６を通って進み、別の列及び行への接続を試みる。このメッセージが全ての試みをブロックされると、メッセージが同一若しくは異なる入力デバイスへと元の位置に循環され、そこではメッセージによってデバイスがループに別のメッセージを送信することが防止される。戻ったメッセージは、望ましくは、外部入力デバイスにそのデバイスがメッセージ送信することができないということを通知する制御信号として機能する。入力コントローラ３８３０に戻った後に、このメッセージは、進入の別の試みをするべく再度、相互接続網へと元の位置に送信される。ＦＩＦＯ３８４０及び３８４２は、共に、１以上のメッセージを含むのに十分大きくなっている。破線３８５０の下の構成要素は、通常、チップ内部にある。
【０２１６】
本発明は、種々の実施例を用いて説明されてきたが、これらの実施例は例示的なものであり、本発明の範囲はそれらにより制限されはしないことを理解されたい。これらの実施例に対して種々の変形、修正、付加及び改良が可能である。例えば、当業者には、本明細書で説明される構造及び方法を提供するのに必要なステップの実装が容易であろうし、又、示された処理のパラメータ、材料、及び寸法は例示のみが目的であって、所望の構造を得るために本発明の範囲内にある修正及び変形がなされ得ることを理解するであろう。本明細書で開示される本実施例の変形及び修正は、以下の請求項で示される本発明の精神及び範疇から離れることなく、本明細書で示される説明に基づき得る。
【０２１７】
本明細書の請求項では、特に断らない限りは、全てのものは「１以上」を示している。
【図面の簡単な説明】
【図１Ａ】
図１Ａは、ノードアレイ及び置換ボックスが複数の列及びレベルに配置された革新的な相互接続構造を示しており、水平方向及び垂直方向のデータ経路、垂直方向の制御信号経路、及び入力／出力構造が図示されている。
【図１Ｂ】
図１Ｂは、ノードアレイ及び置換ボックスが複数の列及びレベルに配置された革新的な相互接続構造の代替実施例を示しており、水平方向及び対角方向のデータ経路、垂直方向の制御信号経路が図示されている。。
【図１Ｃ】
図１Ｃは、多重レベル、最小ロジックのネットワーク若しくは相互接続構造の一例が図示された模式的な絵画図である。
【図２Ａ】
図２Ａは、ノードアレイ内のセルの間の局所的な相互接続の一例が図示された単純な模式図である。この図は、水平方向のデータ経路、若しくは「行」の上に配置されたセル接続を示しており、このセル接続は置換ボックスを経て隣接列内のセルへと接続され、更に、同一列内のセルへと「下向きの」の経路若しくは「上向きの」制御信号経路によって垂直方向に接続されている。
【図２Ｂ】
図２Ｂは、理解を容易にするように、且つ本明細書の文中で用いられる規約を定義するために、「北」、「南」、「東」、及び「西」と名付けられた４方向への別のセルへの相互接続が示されたセルの単純化された図である。
【図３Ａ】
図３Ａは、「トラフィック」ビット、２進コード化ビット、若しくはターゲットの行アドレスを指定するビットなどの種々の所定ビットを含むメッセージ・フォーマットの一例を示すテーブルである。概して、このメッセージ・フォーマットは、ペイロードが後に続くヘッダを含む。
【図３Ｂ】
図３Ｂは、クオリティ・オブ・サービス（ＱＯＳ）のコード化をサポートする代替的なメッセージ・フォーマットを示しているテーブルである。
【図３Ｃ】
図３Ｃは、メッセージが次のレベルに移動する際のメッセージ・ヘッダ修正が図示されたテーブルである。
【図４Ａ】
図４Ａは、８行３列の相互接続網の一例と、セルに対するデータ及び制御信号経路及び入力／出力（Ｉ／Ｏ）ラインの接続トポロジーが示されている詳細模式図である。破線はワームホール・メッセージの流れを図示している。
【図４Ｂ】
図４Ｂは、代替的だが、８行５列の相互接続網と機能的に同等なトポロジーを示している模式図である。
【図５Ａ】
図５Ａは、２つのレベル内部にあるセルを経由するメッセージ・ワームホーリングを図示するために２レベル、４列におけるセルが示された単純化されたブロック図である。
【図５Ｂ】
図５Ｂは、同様に２レベル、４列におけるセルが示された単純化されたブロック図であり、下位レベルのセルからの制御信号によるメッセージのブロッキングが示されている。メッセージはブロッキングされるが、メッセージは常に自由な経路を有しており、それにより別の列からの下側への移動を経てワームホールの進行が続けられる。
【図５Ｃ】
図５Ｃは、図１Ｂに図示された対角方向トポロジーを用いた２レベル、４列のセルが示されている単純化されたブロック図である。メッセージ・ワームホールは、セルを経由するが、制御信号によって一時的にブロックされ得る。先読制御信号を備えた図５Ｃの相互接続トポロジーは、第１メッセージがその時点でブロックされると、第２メッセージのブロッキングを防止する。この第２メッセージはブロッキングされずに即座に次のレベルへと移動する。
【図６Ａ】
図６Ａは、３つの内部状態にあるセルのうちの１つを図示している詳細の模式的なブロック図であり、メッセージの「垂直方向」及び「水平方向」の移動と、制御信号の変換及び受信が示されている。
【図６Ｂ】
図６Ｂは、３つの内部状態にあるセルのうちの１つを図示している詳細の模式的なブロック図であり、メッセージの「垂直方向」及び「水平方向」の移動と、制御信号の変換及び受信が示されている。
【図６Ｃ】
図６Ｃは、３つの内部状態にあるセルのうちの１つを図示している詳細の模式的なブロック図であり、メッセージの「垂直方向」及び「水平方向」の移動と、制御信号の変換及び受信が示されている。
【図７Ａ】
図７Ａは、相互接続構造の１つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びＦＩＦＯを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの１以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｂ】
図７Ｂは、相互接続構造の１つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びＦＩＦＯを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの１以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｃ】
図７Ｃは、相互接続構造の１つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びＦＩＦＯを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの１以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｄ】
図７Ｄは、相互接続構造の１つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びＦＩＦＯを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの１以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｅ】
図７Ｅは、相互接続構造の１つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びＦＩＦＯを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの１以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｆ】
図７Ｆは、相互接続構造の１つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びＦＩＦＯを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの１以上の適用に対して、ある特定の構成がより効果的になり得る。
【図８Ａ】
図８Ａは、市販されているシリコンを効率的に用いた相互接続構造の「階段状」実施例が図示された模式的なブロック図である。入力デバイスから始まり、相互接続構造内で分岐して、２つのターゲット出力ノードから相互接続構造を退出するラインが、メッセージのワームホールの流れの一例の動作を図示している。
【図８Ｂ】
図８Ｂは、階段状相互接続構造が示された模式図である。
【図８Ｃ】
図８Ｃは、トラフィックの状態がバースト状態であるときに処理能力を保持しながら、出力の接続数を減少させるオンチップ出力キューが図示された単純化されたブロック図である。最下位行上の複数列におけるセルがキューを提供する。
【図９】
図９は、セル、行、信号経路、レベル及び集団の関係が示された理論的な図である。任意の入力端子若しくはデバイスから、任意の出力端子若しくはデバイスに複数のデータ経路が延びている。
【図１０】
図１０は、置換ボックス配置を規定する数列を生成するための作業が図示されているテーブルである。
【図１１Ａ】
図１１Ａは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｂ】
図１１Ｂは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｃ】
図１１Ｃは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｄ】
図１１Ｄは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｅ】
図１１Ｅは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｆ】
図１１Ｆは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｇ】
図１１Ｇは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｈ】
図１１Ｈは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１２Ａ】
図１２Ａは、程度１の置換ボックスがＭ個、直列に接続されるという方法によって、メッセージの流れに影響を及ぼす「程度Ｍ」の置換ボックスが図示されている詳細図である。
【図１２Ｂ】
図１２Ｂは、程度１の置換ボックスがＭ個、直列に接続されるという方法によって、メッセージの流れに影響を及ぼす「程度Ｍ」の置換ボックスが図示されている詳細図である。
【図１２Ｃ】
図１２Ｃは、程度１の置換ボックスがＭ個、直列に接続されるという方法によって、メッセージの流れに影響を及ぼす「程度Ｍ」の置換ボックスが図示されている詳細図である。
【図１２Ｄ】
図１２Ｄは、程度１の置換ボックスがＭ個、直列に接続されるという方法によって、メッセージの流れに影響を及ぼす「程度Ｍ」の置換ボックスが図示されている詳細図である。
【図１３Ａ】
図１３Ａは、水平方向及び垂直方向の相互接続経路上へのセルの緻密且つ物理的な配置が図示されたブロック図である。
【図１３Ｂ】
図１３Ｂは、シリコンをより効率的に利用し、且つセル間のワイヤの長さを最小化させるように、水平方向及び垂直方向の相互接続経路に渡って、向上させる物理的な配置が示されている。この向上された配置によって、各レベルにおいて「レーストラックの流れ」が生じる。
【図１４】
図１４は、通常の２のべき乗設計に勝る、相互接続網クラスを備えた１１行相互接続構造が示された相互接続設計である。
【図１５Ａ】
図１５Ａは、通常の２のべき乗の大きさの設計に勝るべく、図１４に示された１１行相互接続網に用いられ得る置換ボックスの例が示された詳細図である。
【図１５Ｂ】
図１５Ｂは、通常の２のべき乗の大きさの設計に勝るべく、図１４に示された１１行相互接続網に用いられ得る置換ボックスの例が示された詳細図である。
【図１５Ｃ】
図１５Ｃは、通常の２のべき乗の大きさの設計に勝るべく、図１４に示された１１行相互接続網に用いられ得る置換ボックスの例が示された詳細図である。
【図１５Ｄ】
図１５Ｄは、通常の２のべき乗の大きさの設計に勝るべく、図１４に示された１１行相互接続網に用いられ得る置換ボックスの例が示された詳細図である。
【図１６】
図１６は、２のべき乗設計以外の相互接続網のクラス、３ベース設計に対する数列を生成するための動作が図示されたテーブルである。
【図１７】
図１７は、図１６に示される３ベース変換列から得られる、メッセージの次列への移動のための行−行接続経路を備えた置換ボックスが示された相互接続の詳細図である。
【図１８】
図１８は、３ベース設計を用いた２７行相互接続網の１列及び３レベルが示された相互接続の詳細図である。複数の列によって全相互接続網が形成される。
【図１９Ａ】
図１９Ａは、４ベース・ノードと、他のセルへのノード内の制御信号接続とに関連付けられたロジックの１セルを示した詳細なブロック図である。このロジックは、同時に２ヘッダ・ビットを検討して、それによりメッセージ・ルーティングが決定される。
【図１９Ｂ】
図１９Ｂは、４ベース・ノードを形成するための、４つの４ベース・セルの相互通信及び相互接続網が示されたブロック図である。メッセージ・ルーティングの、下位レベルへの経路を制御することに対しての、セル間での優先権が示されるラインが含まれている。
【図１９Ｃ】
図１９Ｃは、混雑を減少させるべく、複数の南への接続経路を含んでいる４ベース・ノードの一実施例が示された詳細なブロック図である。
【図１９Ｄ】
図１９Ｄは、混雑を更に減少させるべく、付加的な南への接続経路を含んでいる４ベース・ノードの別の実施例が示された詳細なブロック図である。
【図２０Ａ】
図２０Ａは、複数の列及びレベルにおいてセルと相互接続する４ベース、４行の相互接続網が示されたブロック図であり、均衡のとれたトラフィックの流れに対して、連続的な列で優先権を変更するための方法が示されている。
【図２０Ｂ】
図２０Ｂは、１６行相互接続網の１つの列の内部にある４ベース・セルが示されており、更に、レベル及び列の間の変換列と、セルの集団の間でのラウンドロビン特性が示されている。
【図２０Ｃ】
図２０Ｃは、４ベース相互接続網の一実施例における１列及び３レベルが示された詳細なブロック図である。
【図２１Ａ】
図２１Ａは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｂ】
図２１Ａは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｃ】
図２１Ｃは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｄ】
図２１Ｄは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｅ】
図２１Ｅは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｆ】
図２１Ｆは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｇ】
図２１Ｇは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｈ】
図２１Ｈは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｉ】
図２１Ｉは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｊ】
図２１Ｊは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｋ】
図２１Ｋは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｌ】
図２１Ｌは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｍ】
図２１Ｍは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｎ】
図２１Ｎは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｐ】
図２１Ｐは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２２Ａ】
図２２Ａは、相互接続網を経由する接続経路の濃密なセットを備えた２セル・ノードを用いている一実施例が示された詳細な相互接続図である。同一ノードから始まる複数の経路が、ホット・スポットを取除くように広がっている経路を用いて、任意のターゲット行に効率的に到達している。
【図２２Ｂ】
図２２Ｂは、入力端子から出力端子へ延びている複数の経路を備えた、２セル・ノードを用いている８行、４列の相互接続網の一例が示された詳細な相互接続図である。同一ノードから出発するメッセージは、任意の出力への複数の経路を有しており、この経路はホット・スポットを取除くように広がっている。
【図２３】
図２３は、２セル・ノード、ノードを経由するメッセージ・ワームホーリング、及び２レベルでのデータ及び制御信号によるノード接続が図示された模式的なブロック図である。
【図２４Ａ】
図２４Ａは、異なるレベルの共通の列内にある２セルが示され、且つこの２セルへのメッセージ到達の相対的なタイミングが示されているブロック図である。下位セルは、メッセージを受信し、メッセージが上位セルに到達する前にルーティングの決定を行う。このブロック図は、下位セルがルーティングの決定を行う時に、ヘッダ・ビットに関する両セル内のシフト・レジスタの内容を更に示している。
【図２４Ｂ】
図２４Ｂは、２つのレベルにおけるセルに対しての、メッセージの到達が示されたタイミング線図である。下位レベルは、次の上位レベルよりも先にルーティングの決定を行う。タイミングに関するスキューが異なるレベルで挿入され、それにより遅延の補正がなされる。メッセージ・タイミングの最後と、次列へのメッセージの到達とが同様に図示されている。
【図２４Ｃ】
図２４Ｃは、図２４Ｂに示されたタイミング信号及びクロックを、相互接続網の全ての列及びレベル内にある全セルに配信する相互接続網が図示されている単純化されたブロック図である。
【図２４Ｄ】
図２４Ｄは、１つのノードアレイ内で同等に、全ノードにタイミング信号を配信するためのベース３のファンアウトを備えている従来的な構造が示された模式的な図である。
【図２５】
図２５は、ノードに進入する１つ若しくは複数のメッセージに対するルーティングの決定を行うための作業が示された単純化された流れ図である。
【図２６】
図２６は、図２３に示された２セル・ノードの接続状態が示されたテーブルであり、南から受信した制御信号と共に、西から進入するメッセージのメッセージ・ヘッダの内容に基づくメッセージ・ルーティング及びノード内部の接続の決定が図示されている。
【図２７】
図２７は、続いてのレベルへの相互接続経路の濃密なセットを形成する内部スイッチを備えた４セル・ノードの一例を示すブロック図であり、下位レベルにおける複数ノード内のセルへの接続が示されている。
【図２８Ａ】
図２８Ａは、４セル・ノードを用いて形成された３２行相互接続構造が示されている詳細な相互接続図であり、隣接する列及びレベル内のセルに接続されるセルの接続が示されている。
【図２８Ｂ】
図２８Ｂは、４セル・ノードを用いて形成された３２行相互接続構造が示されている詳細な相互接続図であり、隣接する列及びレベル内のセルに接続されるセルの接続が示されている。
【図２８Ｃ】
図２８Ｃは、レベル間の置換ボックスが示された絵画図である。
【図２９Ａ】
図２９Ａは、図１Ｂ及び図５Ｃに示される対角方向トポロジーの、２レベル及び２列における複雑さが増大された２セル・ノードを示す単純化されたブロック図である。このノードは、相互接続経路及び制御信号の濃密なセットを有しており、同一ノード若しくは隣接列内のセルに対して競合するセルの優先権関係をサポートしている。
【図２９Ｂ】
図２９Ｂは、トポロジー的には異なるが機能的には図２９Ａに示されている２セル・ノードと同一である種々の内部セル、スイッチ、及び制御ロジックを備えた２セル・ノードの代替実施例が図示された単純化されたブロック図である。
【図３０】
図３０は、フラクタル・ノードを用いる相互接続構造を示している。
【図３１Ａ】
図３１Ａは、ノード間の接続の詳細を含め、フラクタル相互接続構造の２つのレベルが示された相互接続のブロック図である。
【図３１Ｂ】
図３１Ｂは、データを順序よく整列された状態に保ちながら、バスの最下部へのデータのルーティングを行うパッキング・デバイスが示された相互接続の図である。あるレベルにおける古いメッセージが、そのレベルに到達するより新しいメッセージを上回る優先権を有するように、メッセージの優先権によってルーティングがなされる。
【図３２】
図３２は、相互接続網内でテスト・メッセージ及び制御信号の生成を行い、且つ相互接続網を経由するメッセージが問題なく進行するのを監視する組込み式自己テスト（ＢＩＳＴ）サブシステムが示されている単純化されたブロック図である。
【図３３】
図３３は、損害を与えることなく相互接続網からセルを除去し、それによりオンチップ自己修復機能が実行される不完全セル・バイパスが示された、単純化されたブロック図である。
【図３４】
図３４は、予備チップを備えた複数チップ相互接続システムの半分が示されているブロック図である。この予備チップは、システム内で不完全チップを置換するために切換えられ得る。
【図３５Ａ】
図３５Ａは、複数チップ相互接続システムが図示されたブロック図であり、そこでは、図３４に示される複数チップ相互接続システム要素の２つの半分が相互接続して全システムを形成する。予備チップが不完全なチップを置換するようにシステム内で切換えられる。
【図３５Ｂ】
図３５Ｂは、チップをシステムの内外に切換えるための代替的な構造の詳細図である。
【図３６Ａ】
図３６Ａは、最上位レベルにおける入力接続を示した単純化されたブロック図であり、ある適用が必要とするものを満足させる配置が図示されている。
【図３６Ｂ】
図３６Ｂは、最上位レベルにおける入力接続を示した単純化されたブロック図であり、ある適用が必要とするものを満足させる配置が図示されている。
【図３６Ｃ】
図３６Ｃは、最上位レベルにおける入力接続を示した単純化されたブロック図であり、ある適用が必要とするものを満足させる配置が図示されている。
【図３６Ｄ】
図３６Ｄは、非同期入力信号の受信における相互接続網の作業が図示されている単純化されたブロック図であり、そこでは、任意の時間に到達する入力メッセージが、このメッセージと同期化されている特定の列にルーティングされる。
【図３７】
図３７は、外部入力デバイスに、そのデバイスが要求するタイミングよりも十分前に、外部制御信号を提供する相互接続構造の最上位レベルが示されている、単純化されたブロック図及び相互接続図である。この相互接続構造によって、制御信号が生成され、且つメッセージが入力デバイスに接続される。
【図３８】
図３８は、外部入力デバイスへの時宜にかなった制御信号を生成するための付加的な構造が示された、単純化されたブロック図及び相互接続線図であり、ブロックされて戻ったメッセージを外部デバイスへの通知のために用いる外部の「移動時間」ループが示されている。このブロックされたメッセージは、構造への進入の別の試みのためにこの相互接続構造に戻る。
【図１Ａ】
2004529516.tif 000003
【図１Ｂ】
2004529516.tif 000004
【図１Ｃ】
2004529516.tif 000005
【図２Ａ】
2004529516.tif 000006
【図２Ｂ】
2004529516.tif 000007
【図３Ａ】
2004529516.tif 000008
【図３Ｂ】
2004529516.tif 000009
【図３Ｃ】
2004529516.tif 000010
【図４Ａ】
2004529516.tif 000011
【図４Ｂ】
2004529516.tif 000012
【図５Ａ】
2004529516.tif 000013
【図５Ｂ】
2004529516.tif 000014
【図５Ｃ】
2004529516.tif 000015
【図６Ａ】
2004529516.tif 000016
【図６Ｂ】
2004529516.tif 000017
【図６Ｃ】
2004529516.tif 000018
【図７Ａ】
2004529516.tif 000019
【図７Ｂ】
2004529516.tif 000020
【図７Ｃ】
2004529516.tif 000021
【図７Ｄ】
2004529516.tif 000022
【図７Ｅ】
2004529516.tif 000023
【図７Ｆ】
2004529516.tif 000024
【図８Ａ】
2004529516.tif 000025
【図８Ｂ】
2004529516.tif 000026
【図８Ｃ】
2004529516.tif 000027
【図９】
2004529516.tif 000028
【図１０】
2004529516.tif 000029
【図１１Ａ】
2004529516.tif 000030
【図１１Ｂ】
2004529516.tif 000031
【図１１Ｃ】
2004529516.tif 000032
【図１１Ｄ】
2004529516.tif 000033
【図１１Ｅ】
2004529516.tif 000034
【図１１Ｆ】
2004529516.tif 000035
【図１１Ｇ】
2004529516.tif 000036
【図１１Ｈ】
2004529516.tif 000037
【図１２Ａ】
2004529516.tif 000038
【図１２Ｂ】
2004529516.tif 000039
【図１２Ｃ】
2004529516.tif 000040
【図１２Ｄ】
2004529516.tif 000041
【図１３Ａ】
2004529516.tif 000042
【図１３Ｂ】
2004529516.tif 000043
【図１４】
2004529516.tif 000044
【図１５Ａ】
2004529516.tif 000045
【図１５Ｂ】
2004529516.tif 000046
【図１５Ｃ】
2004529516.tif 000047
【図１５Ｄ】
2004529516.tif 000048
【図１６】
2004529516.tif 000049
【図１７】
2004529516.tif 000050
【図１８】
2004529516.tif 000051
【図１９Ａ】
2004529516.tif 000052
【図１９Ｂ】
2004529516.tif 000053
【図１９Ｃ】
2004529516.tif 000054
【図１９Ｄ】
2004529516.tif 000055
【図２０Ａ】
2004529516.tif 000056
【図２０Ｂ】
2004529516.tif 000057
【図２０Ｃ】
2004529516.tif 000058
【図２１Ａ】
2004529516.tif 000059
【図２１Ｂ】
2004529516.tif 000060
【図２１Ｃ】
2004529516.tif 000061
【図２１Ｄ】
2004529516.tif 000062
【図２１Ｅ】
2004529516.tif 000063
【図２１Ｆ】
2004529516.tif 000064
【図２１Ｇ】
2004529516.tif 000065
【図２１Ｈ】
2004529516.tif 000066
【図２１Ｉ】
2004529516.tif 000067
【図２１Ｊ】
2004529516.tif 000068
【図２１Ｋ】
2004529516.tif 000069
【図２１Ｌ】
2004529516.tif 000070
【図２１Ｍ】
2004529516.tif 000071
【図２１Ｎ】
2004529516.tif 000072
【図２１Ｐ】
2004529516.tif 000073
【図２２Ａ】
2004529516.tif 000074
【図２２Ｂ】
2004529516.tif 000075
【図２３】
2004529516.tif 000076
【図２４Ａ】
2004529516.tif 000077
【図２４Ｂ】
2004529516.tif 000078
【図２４Ｃ】
2004529516.tif 000079
【図２４Ｄ】
2004529516.tif 000080
【図２５】
2004529516.tif 000081
【図２６】
2004529516.tif 000082
【図２７】
2004529516.tif 000083
【図２８Ａ】
2004529516.tif 000084
【図２８Ｂ】
2004529516.tif 000085
【図２８Ｃ】
2004529516.tif 000086
【図２９Ａ】
2004529516.tif 000087
【図２９Ｂ】
2004529516.tif 000088
【図３０】
2004529516.tif 000089
【図３１Ａ】
2004529516.tif 000090
【図３１Ｂ】
2004529516.tif 000091
【図３２】
2004529516.tif 000092
【図３３】
2004529516.tif 000093
【図３４】
2004529516.tif 000094
【図３５Ａ】
2004529516.tif 000095
【図３５Ｂ】
2004529516.tif 000096
【図３６Ａ】
2004529516.tif 000097
【図３６Ｂ】
2004529516.tif 000098
【図３６Ｃ】
2004529516.tif 000099
【図３６Ｄ】
2004529516.tif 000100
【図３７】
2004529516.tif 000101
【図３８】
2004529516.tif 000102
【国際公開パンフレット】
2004529516.tif 000103
2004529516.tif 000104
2004529516.tif 000105
2004529516.tif 000106
2004529516.tif 000107
2004529516.tif 000108
2004529516.tif 000109
2004529516.tif 000110
2004529516.tif 000111
2004529516.tif 000112
2004529516.tif 000113
2004529516.tif 000114
2004529516.tif 000115
2004529516.tif 000116
2004529516.tif 000117
2004529516.tif 000118
2004529516.tif 000119
2004529516.tif 000120
2004529516.tif 000121
2004529516.tif 000122
2004529516.tif 000123
2004529516.tif 000124
2004529516.tif 000125
2004529516.tif 000126
2004529516.tif 000127
2004529516.tif 000128
2004529516.tif 000129
2004529516.tif 000130
2004529516.tif 000131
2004529516.tif 000132
2004529516.tif 000133
2004529516.tif 000134
2004529516.tif 000135
2004529516.tif 000136
2004529516.tif 000137
2004529516.tif 000138
2004529516.tif 000139
2004529516.tif 000140
2004529516.tif 000141
2004529516.tif 000142
2004529516.tif 000143
2004529516.tif 000144
2004529516.tif 000145
2004529516.tif 000146
2004529516.tif 000147
2004529516.tif 000148
2004529516.tif 000149
2004529516.tif 000150
2004529516.tif 000151
2004529516.tif 000152
2004529516.tif 000153
2004529516.tif 000154
2004529516.tif 000155
2004529516.tif 000156
2004529516.tif 000157
2004529516.tif 000158
2004529516.tif 000159
2004529516.tif 000160
2004529516.tif 000161
2004529516.tif 000162
2004529516.tif 000163
2004529516.tif 000164
2004529516.tif 000165
2004529516.tif 000166
2004529516.tif 000167
2004529516.tif 000168
2004529516.tif 000169
2004529516.tif 000170
2004529516.tif 000171
2004529516.tif 000172
2004529516.tif 000173
2004529516.tif 000174
2004529516.tif 000175
2004529516.tif 000176
2004529516.tif 000177
2004529516.tif 000178
2004529516.tif 000179
2004529516.tif 000180
2004529516.tif 000181
2004529516.tif 000182
2004529516.tif 000183
2004529516.tif 000184
2004529516.tif 000185
2004529516.tif 000186
2004529516.tif 000187
2004529516.tif 000188
2004529516.tif 000189
2004529516.tif 000190
2004529516.tif 000191
2004529516.tif 000192
2004529516.tif 000193
2004529516.tif 000194
2004529516.tif 000195
2004529516.tif 000196
2004529516.tif 000197
2004529516.tif 000198
2004529516.tif 000199
2004529516.tif 000200
2004529516.tif 000201
2004529516.tif 000202
2004529516.tif 000203
2004529516.tif 000204
2004529516.tif 000205
2004529516.tif 000206
2004529516.tif 000207
2004529516.tif 000208
2004529516.tif 000209
2004529516.tif 000210
2004529516.tif 000211
2004529516.tif 000212
2004529516.tif 000213
2004529516.tif 000214
2004529516.tif 000215
2004529516.tif 000216
2004529516.tif 000217
2004529516.tif 000218
2004529516.tif 000219
2004529516.tif 000220
2004529516.tif 000221
2004529516.tif 000222
2004529516.tif 000223
2004529516.tif 000224
2004529516.tif 000225
2004529516.tif 000226
2004529516.tif 000227
2004529516.tif 000228
2004529516.tif 000229
2004529516.tif 000230
2004529516.tif 000231
2004529516.tif 000232
2004529516.tif 000233
2004529516.tif 000234
2004529516.tif 000235
2004529516.tif 000236
2004529516.tif 000237
2004529516.tif 000238
2004529516.tif 000239
2004529516.tif 000240
2004529516.tif 000241
2004529516.tif 000242
2004529516.tif 000243
2004529516.tif 000244
【国際公開パンフレット（コレクトバージョン）】
2004529516.tif 000245
2004529516.tif 000246
【国際調査報告】
2004529516.tif 000247
2004529516.tif 000248