(57)【特許請求の範囲】
【請求項１】
相互接続網であって、
各々が複数の入力ポート（２４０）及び複数の出力ポート（２４２）を備えた複数のノード（２０２）であって、複数の列及び複数のレベルを有するアレイを形成するように配置された、該複数のノード（２０２）と、
複数の前記ノードと関連付けられたロジック（１９２０）と、
複数の前記ノードに含まれ、出力ポートｏｐｘを備えたノードＸとを有し、
前記ノードＸと関連付けられたロジックによって、入力端子セットＩＰＸの入力端子に進入するメッセージが前記出力ポートｏｐｘに送信されることが可能になるように、前記ノードＸが入力端子セットＩＰＸを備え、
メッセージＭＰが入力ポート・セットＩＰＸの入力ポートｐに到達し、且つ前記出力ポートｏｐｘからメッセージＭＰのターゲットへの経路が存在する場合に、入力ポート・セットＩＰＸに到達するメッセージの１つが、前記ノードＸを経由して進んでいないメッセージによって前記出力ポートｏｐｘがブロッキングされていない限りにおいて、この出力ポートｏｐｘに送信されるように、前記ノードＸと関連付けられた前記ロジックが作動可能であり、
前記ロジックが、ブロッキングされているメッセージを遅延させ、ブロッキングされていないメッセージを遅延させずに送信し、
前記ロジックが、メッセージの連続したブロッキングが複数回連続して生じることがないように構成される変換列を規定する、前記アレイの列とレベルとの間に選択的に配置された複数の置換ボックスを備えており、
前記ロジックが、クロックを遅延させるための複数の遅延要素を備え、前記送信されるブロッキングされていないメッセージが他のメッセージと同期化されるようにクロックを遅延し、
前記出力ポートｏｐｘへ送信される前記ブロッキングされていないメッセージが、前記ブロッキングされているメッセージよりも早く進み、ブロッキングを示す制御信号をより早く生成することができるようにすることを特徴とする相互接続網。
【請求項２】
前記入力ポート・セットＩＰＸが任意のポートｑを含んでいて、
１）前記入力ポート・セットＩＰＸへの送信において、前記入力ポートｑが前記ノードｐを上回る優先権を有し、
２）前記入力ポートｑにメッセージＭｑが到達し、且つ前記出力ポートｏｐｘからメッセージＭｑのターゲットへの経路が存在する場合に、
前記ノードＸと関連付けられた前記ロジックは、メッセージＭＰが前記出力ポートｏｐｘに送信されないように作動することを特徴とする請求項１に記載の相互接続網。
【請求項３】
更に、入力ポート・セットＩＰＸの構成要素から到達可能であるが、前記出力ポートｏｐｘからは到達不可能である相互接続網出力ポートを有することを特徴とする請求項１に記載の相互接続網。
【請求項４】
更に、入力ポート・セットＩＰＸの入力ポートから到達可能である各出力ポートが、前記出力ポートｏｐｘから到達可能であることを特徴とする請求項１に記載の相互接続網。
【請求項５】
相互接続網であって、
別個のノードＦＷ、ＦＢ、及びＦＸを含む複数の相互接続ノード（２０２）であって、複数の列及び複数のレベルを有するアレイを形成するように配置された、該複数のノード（２０２）と、
メッセージ・セットＳＷのノードＦＷ経由での送信を含め、複数のメッセージを複数のノードを経由させて送信するための手段と、
メッセージ・セットＳＷのメッセージの一部のノードＦＷからノードＦＸまでを経由するルーティングを含め、メッセージ・セットＳＷのメッセージのノードＦＷ経由のルーティングに関する情報Ｉを送信するための手段と、
前記ノードＦＸを経由して進んでいないメッセージによって、前記ノードＦＸの出力ポートがブロッキングされていない限りにおいて、前記ノードＦＢ経由でメッセージをルーティングするように前記情報Ｉを用いるための、前記ノードＦＢに関連付けられた手段と、
ノードＦＷからノードＦＸに送信されたメッセージ数を含む制御信号を前記ノードＦＷからノードＦＢに送信するための手段と、
前記アレイの列とレベルとの間に選択的に配置され、メッセージのブロッキングが複数回連続して生じることがないように構成される変換列を規定するための置換ボックス手段と、
ブロッキングされているメッセージを遅延させ、ブロッキングされていないメッセージを遅延させずに送信するための手段と、
前記送信されるブロッキングされていないメッセージが他のメッセージと同期化されるようにクロックを遅延させるための遅延手段とを有し、
前記出力ポートへ送信される前記ブロッキングされていないメッセージが、前記ブロッキングされているメッセージよりも早く進み、ブロッキングを示す制御信号をより早く生成することができるようにすることを特徴とする相互接続網。
【請求項６】
相互接続網であって、
ノードＸ、ノード・セットＴ、及びノードＹ及びＺを含むノード・セットＳを含む複数のノード（２０２）であって、複数の列及び複数のレベルを有するアレイを形成するように配置された、該複数のノード（２０２）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
複数の前記ノードに接続された複数の出力ポート（２４２）と、
前記ノード経由の前記出力ポートへのデータの流れを制御するロジック（１９２０）とを有し、
前記ノードＸが、前記セットＳ内の任意のノードへデータを送信することが可能であり、
前記ノード・セットＴが、データを二者択一的に通過させる事が可能で、そうでない場合には前記ロジックによって前記ノードＸ経由で流れるように制御されるノードを含んでおり、
前記ノードＸを通過するデータにアクセス可能な任意の出力ポートが、前記ノードＹを通過するデータにも同様にアクセス可能であり、
複数の前記出力ポートが、前記ノードＸを通過するデータにはアクセス可能であるが、前記ノードＺを通過するデータにはアクセス不可能である出力ポートＯを含んでおり、
前記ノードＸを経由して進んでいないデータによって、前記ノードＸの出力ポートがブロッキングされていない限りにおいて、前記セットＴ内のノードを経由して送信されるデータ・メッセージの数を最大化させて、前記セットＴ内のノードからアクセス可能である出力ポート数が、前記ノードＸからアクセス可能である出力ポート数よりも小さくなるように、前記ノードＸ経由のデータの流れを前記ロジックが制御し、
前記ロジックが、前記相互接続網のトラフィックによって前記ノードＸにてブロッキングされているデータ・メッセージを遅延させ、前記ノードＸを通過するブロッキングされていないデータ・メッセージを遅延させずに送信するように、前記データ・メッセージのタイミングを制御し、
前記ロジックが、クロックを遅延させるための複数の遅延要素を備え、前記送信されるブロッキングされていないメッセージが他のメッセージと同期化されるようにクロックを遅延し、
前記ノードＸを通過する前記ブロッキングされていないデータ・メッセージが、前記ブロッキングされているメッセージよりも早く進み、ブロッキングを示す制御信号をより早く生成することができるようにし、
前記ロジックが、メッセージのブロッキングが複数回連続して生じることがないように構成される変換列を規定する、前記アレイの列とレベルとの間に選択的に配置された複数の置換ボックスを備えていることを特徴とする相互接続網。
【請求項７】
相互接続網であって、
非交差ノード・セットＦＸ、ＦＹ、ＦＺ、及びＦＴを含む複数のノード（２０２）であって、複数の列及び複数のレベルを有するアレイを形成するように配置された、該複数のノード（２０２）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
複数の前記ノードに接続された複数の出力ポートと、
前記ノード経由の前記出力ポートへのデータの流れを制御するロジックとを有し、
前記ノードＸが、前記ノード・セットＦＹ及びＦＺ内のノードを含む複数のノードにデータを送信することが可能であり、
ノード・セットＦＸ内のノードＸは、複数出力ポートのうちの出力ポートが前記ノードＸからはアクセス可能であるが、前記ノードＺからはアクセス不可能であることに対して、セットＦＺ内に対応するノードＺを有しており、
前記ノード・セットＦＴは、データを二者択一的に通過させることが可能で、そうでない場合には前記ロジックによって前記ノード・セットＦＸ内のノードを経由して流れるように制御されるノードを含んでおり、
前記ノード・セットＦＸを経由して進んでいないデータによって、前記ノード・セットＦＸの出力ポートがブロッキングされていない限りにおいて、前記ノード・セットＦＸ内のノードから前記ノード・セットＦＴ内のノードに送信されるデータ・メッセージの数を最大化させて、前記ノード・セットＦＴ内のノードからアクセス可能である出力ポート数が、前記ノード・セットＦＸ内のノードからアクセス可能である出力ポート数よりも小さくなるように、前記ノード・セットＦＸ経由のデータの流れを前記ロジックが制御し、
前記ロジックが、前記相互接続網のトラフィックによって前記ノード・セットＦＸにてブロッキングされているデータ・メッセージを遅延させ、前記ノード・セットＦＸを通過するブロッキングされていないデータ・メッセージを遅延させずに送信するように、前記データ・メッセージのタイミングを制御し、
前記ロジックが、クロックを遅延させるための複数の遅延要素を備え、前記送信されるブロッキングされていないメッセージが他のメッセージと同期化されるようにクロックを遅延し、
前記ノード・セットＦＸを通過する前記ブロッキングされていないメッセージが、前記ブロッキングされているメッセージよりも早く進み、ブロッキングを示す制御信号をより早く生成することができるようにし、
前記ロジックが、データのブロッキングが複数回連続して生じることがないように構成される変換列を規定する、前記アレイの列とレベルとの間に選択的に配置された複数の置換ボックスを備えていることを特徴とする相互接続網。
【請求項８】
相互接続網であって、
ノードＸ、ノード・セットＴ、及びノードＹ及びＺを含むノード・セットＳを含む複数のノード（２０２）であって、複数の列及び複数のレベルを有するアレイを形成するように配置された、該複数のノード（２０２）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
複数の前記ノードに接続された複数の出力ポートと、
前記ノード経由の前記出力ポートへのデータの流れを制御するロジック（１９２０）とを有し、
前記ノードＸが、前記セットＳ内の任意のノードへデータを送信することが可能であり、
前記ノード・セットＴが、データを二者択一的に通過させる事が可能で、そうでない場合には前記ロジックによって前記ノードＸ経由で流れるように制御されるノードを含んでおり、
前記ノードＸを通過するデータにアクセス可能な任意の出力ポートが、前記ノードＹを通過するデータにも同様にアクセス可能であり、
複数の前記出力ポートが、前記ノードＸを通過するデータにはアクセス可能であるが、前記ノードＺを通過するデータにはアクセス不可能である出力ポートＯを含んでおり、
前記ノードＸを経由して進んでいないデータによって、前記ノードＸの出力ポートがブロッキングされていない限りにおいて、前記セットＴ内のノードを経由して送信される有効なサービス品質（ＱｏＳ）ビットを備えたメッセージの数を最大化させて、前記セットＴ内のノードからアクセス可能である出力ポート数が、前記ノードＸからアクセス可能である出力ポート数よりも小さくなるように、前記ノードＸ経由のデータの流れを前記ロジックが制御し、
前記ロジックが、前記相互接続網のトラフィックによって前記ノードＸにてブロッキングされているメッセージを遅延させ、前記ノードＸを通過するブロッキングされていないメッセージを遅延させずに送信するように、前記メッセージのタイミングを制御し、
前記ロジックが、クロックを遅延させるための複数の遅延要素を備え、前記送信されるブロッキングされていないメッセージが他のメッセージと同期化されるようにクロックを遅延し、
前記ノードＸを通過する前記ブロッキングされていないメッセージが、前記ブロッキングされているメッセージよりも早く進み、ブロッキングを示す制御信号をより早く生成することができるようにし、
前記ロジックが、メッセージのブロッキングが複数回連続して生じることがないように構成される変換列を規定する、前記アレイの列とレベルとの間に選択的に配置された複数の置換ボックスを備えていることを特徴とする相互接続網。
【請求項９】
相互接続網であって、
非交差ノード・セットＦＸ、ＦＹ、ＦＺ、及びＦＴを含む複数のノード（２０２）であって、複数の列及び複数のレベルを有するアレイを形成するように配置された、該複数のノード（２０２）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
複数の前記ノードに接続された複数の出力ポートと、
前記ノード経由の前記出力ポートへのデータの流れを制御するロジックとを有し、
前記ノードＸが、前記ノード・セットＦＹ及びＦＺ内のノードを含む複数のノードにデータを送信することが可能であり、
ノード・セットＦＸ内のノードＸは、複数出力ポートのうちの出力ポートが前記ノードＸからはアクセス可能であるが、前記ノードＺからはアクセス不可能であることに対して、セットＦＺ内に対応するノードＺを有しており、
前記ノード・セットＦＴは、データを二者択一的に通過させることが可能で、そうでない場合には前記ロジックによって前記ノード・セットＦＸ内のノードを経由して流れるように制御されるノードを含んでおり、
前記ノード・セットＦＸを経由して進んでいないメッセージによって、前記ノード・セットＦＸの出力ポートがブロックされていない限りにおいて、前記ノード・セットＦＸ内のノードから前記ノード・セットＦＴ内のノードに送信されるハイクオリティなメッセージの数を最大化させて、前記ノード・セットＦＴ内のノードからアクセス可能である出力ポート数が、前記ノード・セットＦＸ内のノードからアクセス可能である出力ポート数よりも小さくなるように、前記ノード・セットＦＸ経由のデータの流れを前記ロジックが制御し、
前記ロジックが、前記相互接続網のトラフィックによって前記ノード・セットＦＸにてブロッキングされているメッセージを遅延させ、前記ノード・セットＦＸを通過するブロッキングされていないメッセージを遅延させずに送信するように、前記メッセージのタイミングを制御し、
前記ロジックが、クロックを遅延させるための複数の遅延要素を備え、前記送信されるブロッキングされていないメッセージが他のメッセージと同期化されるようにクロックを遅延し、
前記ノード・セットＦＸを通過する前記ブロッキングされていないメッセージが、前記ブロッキングされているメッセージよりも早く進み、ブロッキングを示す制御信号をより早く生成することができるようにし、
前記ロジックが、メッセージのブロッキングが複数回連続して生じることがないように構成される変換列を規定する、前記アレイの列とレベルとの間に選択的に配置された複数の置換ボックスを備えていることを特徴とする相互接続網。
【請求項１０】
相互接続網であって、
別個のノードＮＦ、ＮＡ、及びＮＥを含む複数のノード（２０２）であって、複数の列及び複数のレベルを有するアレイを形成するように配置された、該複数のノード（２０２）と、
前記ノードＮＦ、ＮＡ、及びＮＥ経由のメッセージのルーティングを制御する、前記ＮＦ、ＮＡ、及びＮＥの外部にある複数のスイッチ（６１８）と、
前記ノードを接続する複数の相互接続経路（２０４、２０８）と、
相互接続網を経由する１以上のヘッダ・ビットを含むメッセージＭＦとメッセージＭＡとを含む、複数のメッセージを送信するための手段であって、前記メッセージＭＦに含まれる前記ヘッダ・ビットが、前記メッセージＭＦが前記相互接続網を進むのにつれて繰り返し取り除かれ、前記ヘッダ・ビットが繰り返し取り除かれることにより、前記相互接続網を通過するタイミングが進み、前記相互接続網を通過するタイミングが進むことにより、メッセージのタイミングが先に進められる、該手段と、
ノードＮＦに進入するように、前記メッセージＭＦのルーティングを行うための手段と、
ノードＮＡに進入するように、前記メッセージＭＡのルーティングを行うための手段と、
前記ノードＮＦを経由して進んでいないメッセージによって、前記ノードＮＦの出力ポートがブロッキングされていない限りにおいて、ノードＮＡ経由での前記メッセージＭＡのルーティングと、複数の前記スイッチの１以上の設定と、ブロッキングを示す制御信号の生成とを含む１以上の作業を実行するように、ノードＮＦからノードＮＥまでを経由するメッセージＭＦのルーティングに関する情報を用いるための手段であって、メッセージの連続したブロッキング複数回連続して生じることがないように構成される変換列を規定する、前記アレイの列とレベルとの間に選択的に配置された複数の置換ボックスを備えている、該情報を用いるための手段と、
前記メッセージのタイミングが進められた前記メッセージＭＦが他のメッセージと同期化されるようにクロックを遅延させるための遅延手段とを有していることを特徴とする相互接続網。
【請求項１１】
相互接続網であって、
複数の相互接続されたノード（２０２）であって、該ノードが、複数の列及び複数のレベルを有するアレイを形成するように配置され、かつ複数の入力ポート（２４０）及び複数の出力ポート（２４２）を備えており、ノードＸ及び該ノードＸの複数の出力ポートに含まれる出力ポートｏｐｘを含んでいる、複数の相互接続されたノードと、
前記ノードＸの入力ポート・セットＩＰＸであって、各々の入力ポートが前記ノードＸの出力ポートｏｐｘにデータを送信することが可能である、前記ノードＸの入力ポート・セットＩＰＸと、
入力ポートｐが前記セットＩＰＸの構成要素であり、且つメッセージＭＰが入力ポートｐに到達する場合に、出力ポートｏｐｘへのデータ送信に対して入力ポートｐよりもより低い優先権を備え、且つ前記ノードＸを経由して進んでいないメッセージによって前記出力ポートｏｐｘがブロッキングされていない限りにおいて、セットＩＰＸの一構成要素にあるメッセージＭｑによって、メッセージＭＰの出力ポートｏｐｘへの送信が決してブロックされないように、出力ポートｏｐｘへのデータ送信に関して優先権関係を有する前記入力ポート・セットＩＰＸ内の前記入力ポートと、
前記相互接続網のトラフィックによって前記ノードＸにてブロッキングされているメッセージを遅延させ、前記ノードＸを通過するブロッキングされていないメッセージを遅延させずに送信するように、前記メッセージのタイミングを制御するロジックとを有し、
前記ロジックが、クロックを遅延させるための複数の遅延要素を備え、前記送信されるブロッキングされていないメッセージが他のメッセージと同期化されるようにクロックを遅延し、
前記ノードＸを通過する前記ブロッキングされていないメッセージが、前記ブロッキングされているメッセージよりも早く進み、ブロッキングを示す制御信号をより早く生成することができるようにし、
前記ロジックが、メッセージのブロッキングが複数回連続して生じることがないように構成される変換列を規定する、前記アレイの列とレベルとの間に選択的に配置された複数の置換ボックスを含むことを特徴とする相互接続網。
【請求項１２】
更に、
メッセージＭＰを送信することが可能な前記ノードＸの出力ポート・セットＯＭｐと、
前記出力ポートＯＭｐを、前記メッセージＭＰを経由させて送信するのが最も望まれるものから前記メッセージＭＰを経由させて送信するのが一番望まれないものまで順序付ける、前記ノードＸと関連付けられたロジックとを有し、
ノードＸに関連付けられた前記ロジックが、出力ポート・セットＯＭｐの最も望ましいブロックされていない構成要素に前記メッセージＭＰを送信することを特徴とする請求項１１に記載の相互接続網。
【請求項１３】
前記相互接続網は、該相互接続網内の各ノードが最上位レベルＬから最下位レベル０まで階層的なレベルになっている複数レベル構造であり、
前記出力ポート・セットＯＭｐの出力ポート構成要素ｒが、レベルｎのノードｎｒに接続されており、且つ前記出力ポート・セットＯＭｐの出力ポート構成要素ｓがレベルｊのノードｊｓに接続されており、前記レベルｎが階層的にレベルｊよりも低く、更に前記ノードｎｒからメッセージＭＰのターゲットへの経路が存在する場合、前記ノードＸと関連付けられた前記ロジックによって、前記メッセーＭＰを経由させて送信させるのに前記ノードｎｒの方が前記ノードｊｓよりもより望ましくなることを特徴とする請求項１２に記載の相互接続網。
【請求項１４】
相互接続網であって、
複数の相互接続されたノード（２０２）であって、該ノードが、複数の列及び複数のレベルを有するアレイを形成するように配置され、かつ複数の入力ポート（２４０）及び複数の出力ポート（２４２）を備えており、出力ポートセットＯＰＥ内の各出力ポートが入力ポートｉｐｆにメッセージを送信可能であるように、入力ポートｉｐｆを含む入力ポートを備えたノードＦ、及び出力ポート・セットＯＰＥを含む複数の出力ポートを備えたノードＥを含んでいる、複数の相互接続されたノードと、
出力ポートｐが前記出力ポート・セットＯＰＥの構成要素であり、且つメッセージＭＰが出力ポートｐに到達する場合に、前記入力ポートｉｐｆへのデータ送信に対して前記出力ポートｐよりもより低い優先権を備え、且つ前記ノードＥを経由して進んでいないメッセージによって前記出力ポートｏｐｘがブロッキングされていない限りにおいて、前記出力ポート・セットＯＰＥの一構成要素にあるメッセージＭｑによって、メッセージＭＰの入力ポートｉｐｆへの送信が決してブロックされないように、前記入力ポートｉｐｆへのデータ送信に関して優先権関係を有する前記出力ポート・セットＯＰＥ内の前記出力ポートと、
前記相互接続網のトラフィックによって前記ノードＥにてブロッキングされているメッセージを遅延させ、前記ノードＥを通過するブロッキングされていないメッセージを遅延させずに送信するように、前記メッセージのタイミングを制御するロジックとを有し、
前記ロジックが、クロックを遅延させるための複数の遅延要素を備え、前記送信されるブロッキングされていないメッセージが他のメッセージと同期化されるようにクロックを遅延し、
前記ノードＥを通過する前記ブロッキングされていないメッセージが、前記ブロッキングされているメッセージよりも早く進み、ブロッキングを示す制御信号をより早く生成することができるようにし、
前記ロジックが、メッセージのブロッキングが複数回連続して生じることがないように構成される変換列を規定する、前記アレイの列とレベルとの間に選択的に配置された複数の置換ボックスを含むことを特徴とする相互接続網。
【請求項１５】
更に、
メッセージＭＰを送信することが可能な、複数の前記相互接続ノード内に含まれる入力ポート・セットＩＰと、
前記出力ポートＩＰを、前記メッセージＭＰを経由させて送信するのが最も望まれるものから前記メッセージＭＰを経由させて送信するのが一番望まれないものまで順序付けるのが可能な、前記ノードＥと関連付けられたロジックとを有し、前記入力ポート・セットＩＰがブロックされていないかどうかの決定を行い、更に前記入力ポート・セットＩＰのブロックされていない一番望まれる前記構成要素に前記メッセージＭＰを送信することを特徴とする請求項１４に記載の相互接続網。
【請求項１６】
前記相互接続網は、該相互接続網内の各ノードが最上位レベルＬから最下位レベル０まで階層的なレベルになっている複数レベル構造であり、
前記入力ポート・セットＩＰの入力ポート構成要素ｎｒが、レベルｎの上にあり、且つ前記入力ポート・セットＩＰの入力ポート構成要素ｊｓがレベルｊの上にあり、更に前記入力ポートｎｒからメッセージＭＰのターゲットへの経路が存在する場合、前記ノードＥと関連付けられた前記ロジックによって、前記入力ポートｎｒの方が前記入力ポートｊｓよりも前記メッセーＭＰのより望ましい受信者となることを特徴とする請求項１５に記載の相互接続網。
【請求項１７】
相互接続網であって、
ノード・セットに配置された複数の相互接続ノード（２０２）であって、前記ノード・セット内のノードが、複数の列及び複数のレベルを有するアレイを形成するように配置され、かつ複数の入力ポート及び複数の出力ポートを備えている、複数の相互接続ノードと、
前記ノード・セットのノード・サブセットＳと、
前記ノード・サブセットＳの構成要素である出力ポートのサブセットである出力ポート・サブセットＴと、
前記ノード・セットのノード・サブセットＵと、
前記ノード・サブセットＵの構成要素である入力ポートのサブセットである入力ポート・サブセットＶと、
前記ノード・サブセットＳの構成要素である出力ポートのサブセットである出力ポート・サブセットＷであって、前記サブセットＷ内の前記出力ポートが、メッセージＭＰによって、該メッセージＭＰを前記入力ポート・サブセットＶの構成要素に対してターゲッティングする出力ポートを含むように規定される、出力ポート・サブセットと、
前記出力ポート・サブセットＴからデータを受信し、該データを前記入力ポート・サブセットＶに配信する相互接続網を含んでいるスイッチ相互接続下部構造Ｘと、
選択されたメッセージを前記入力ポート・サブセットＶ内のメッセージ・ターゲットへと前記出力ポート・サブセットＴ内に配信する、前記スイッチ相互接続下部構造のスイッチ設定のコレクションと、
前記ノード・サブセットＳを経由して進んでいないメッセージによって、前記ノード・サブセットＳの出力ポートがブロッキングされていない限りにおいて、少なくとも一部が前記出力ポート・サブセットＷから前記入力ポート・サブセットＶに送信されたメッセージによって決定されたメッセージを、前記出力ポート・サブセットＴから前記入力ポート・サブセットＶに最大数配信するように、各メッセージ送信時間にスイッチ設定の前記コレクションを決定するロジック（１９２０）とを有し、
前記ロジックが、前記相互接続網のトラフィックによって前記ノードＸにてブロッキングされているメッセージを遅延させ、前記ノードＸを通過するブロッキングされていないメッセージを遅延させずに送信するように、前記メッセージのタイミングを制御し、
前記ロジックが、クロックを遅延させるための複数の遅延要素を備え、前記送信されるブロッキングされていないメッセージが他のメッセージと同期化されるようにクロックを遅延し、
前記ノードＸを通過する前記ブロッキングされていないメッセージが、前記ブロッキングされているメッセージよりも早く進み、ブロッキングを示す制御信号をより早く生成することができるようにし、
前記ロジックが、メッセージのブロッキングが複数回連続して生じることがないように構成される変換列を規定する、前記アレイの列とレベルとの間に選択的に配置された複数の置換ボックスを備えていることを特徴とする相互接続網。
【請求項１８】
入力ポート・サブセットＶに送信されない前記出力ポート・サブセットＴにおけるメッセージが、各メッセージ送信時間に、前記入力ポート・サブセットＶ内に含まれない前記相互接続網内にあるノードの入力ポートに送信されることを特徴とする請求項１７に記載の相互接続網。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、計算用の相互接続構造及び通信システムに関する。特に、本発明は多重レベルの相互接続構造の中で用いられるスケーラブルな低レイテンシー・スイッチに関する。
【０００２】
（背景技術）
コンピュータ・サイエンス及び通信の分野における、永続的且つ顕著な未解決問題は、完全に負荷がかかっている状態で高いスループット、高い横断バンド幅を維持するスケーラブル、低レイテンシーな相互接続網が欠如していることである。banyon、omega、及びfat-treeネットワーク、マルチレベルのグリッド、トーラス、及びハイパーキューブ・ネットワーク等の現存の相互接続網設計では、制限なしのスケーリングを行って、更に通信による負荷がかかっている際の高レイテンシー及び高スループットをサポートしようとすると、種々の度合いにおいて全て失敗する。現存するネットワークの構造は、19世紀の数学者及びそれより前の幾何学者によって開発され、メッセージ・ルーティング方法をサポートすることが全く意図されなかった。
【０００３】
必要なのは、概ね制限なしにスケーラブルであり、且つ低レイテンシー及び高スループットをサポートする、相互接続構造とその構造の中で相互接続網を形成するのに用いられる適切なスイッチとである。スケーラブルなスイッチを実装するのに非常時に適切である、多重レベル（Multiple-Level）で、最小ロジック（Minimum-Logic）のネットワーク若しくは相互接続構造の例は、米国特許第5,996,020号及び第6,289,021号により完全に説明されている。
【０００４】
（発明の開示）
開示されているのは、相互接続構造ファミリーと、スケーラビリティ、低レイテンシー、及びシングルチップ実装を達成するべく、この相互接続構造を利用するスイッチである。開示されている相互接続構造及びスイッチは、スーパーコンピュータ相互接続網、LANスイッチ、IP及びATMスイッチ、電話局の基幹のスイッチング、オンデマンド・ビデオのサーバ、メインフレーム・データベースサーバの相互接続網、高速ワークステーション相互接続網、及び当業者に公知であるその他多数を含む多種多様のアプリケーションをサポートする。
【０００５】
（発明を実施するための最良の形態）
図１Ａ及び図１Ｂでは、複数行のシリアルデータ・トランスミッタ及びスイッチング・セルが垂直向きの複数列に且つ多重レベルに配置されている、複数の高速な多重経路相互接続網１００の２つの実施例を示しているブロック図である。各レベルは、図１Ａに示される相互接続網中の垂直方向データ経路構造、図１Ｂに示される相互接続経路中の対角方向データ経路、及び両図面中の垂直方向制御信号経路１４０によって、各列で相互接続されている。K列が示されており、列0乃至列K−1として列挙されている。J+1レベルが示されており、レベル0乃至レベルJとして列挙されている。個々のレベルは、シリアルデータ送信１１４を実行する複数の行を含んでいる。各レベルで水平方向の行が、ノードアレイ１０８、置換ボックス１１０、及び先入れ先出しシリアル遅延手段（FIFO）と相互接続する。
【０００６】
メッセージ形式のシリアルデータが、データ入力ポートを介して相互接続網１００の中に入ることを許可される。データ入力要素１０２が、1以上の列で複数データポートを含む。入力ポートから相互接続網１００に進入するメッセージは、データバス１０２を介して直接、最上レベルにおけるノードアレイ１０８に進入する。制御信号バス１４０及び１０６上の信号は、関連するデータ経路が入力データを受入れるように利用可能でないことを示す。シリアルデータは、各垂直方向経路１４８におけるデータ出力ラインによって、相互接続網１００から送信される。各データ列は、複数の出力ポートに接続される。外部制御信号１６４が、外部デバイスがデータを受取る用意ができているか否かを、相互接続網に通知し得る。いくつかの相互接続網の実施例では、制御信号１６４が省かれて、最下レベルに達したメッセージが外部ポートに直接、接続される。
【０００７】
K個の列が示されている。1つの列は、メッセージを伝達するための複数の別個のデータ送信経路を含んでいる。例えば、1つの相互接続構造は、各々が2J個の下方向送信経路を備えている列をKだけ有してもよく（J+1が相互接続レベルの数）、更に、最大2J K個の入力ポート及び最大2J K個の出力ポートをサポートしていてよい。実施例によっては、データラインの数が2Jと異なっていてもよい。
【０００８】
理解を容易にするために、メッセージが相互接続網内で概ね左から上、且つ上から下へ流れるものとみなすことにする。この約束を設けるのは、理論的トポロジーの内部でのメッセージの動きを説明するためであって、ネットワークの構造的な空間制限を説明するものでないことに留意されたい。トポロジーは、折畳まれた形状、ねじれ形状、逆転された形状、ひだ状、若しくは、その他の任意の相対位置の変形がなされた、説明したトポロジーに相当するものであってよい。レベルの右側１３８に到達したメッセージは、左側１３６に進入するようにルーティングされる。相互接続網を介した個々のメッセージのルーティングは、ノードアレイ１０８の内部のノード及びセルによって制御される。クロック１２６は、ノードアレイ１０８、FIFO１１２、及び入出力タイミングのタイミングを制御する。メッセージが相互接続網に進入するときのタイミングは、外部タイミング信号１４６によって管理される。
【０００９】
限定されるものではないが、相互接続網１００の特性は、（１）制御信号を用い得るスイッチング・セルにメッセージ経路のアベイラビリティを伝達するように制御信号を用いていること、（２）常に利用可能なセルからの代替経路、（３）任意の入力から任意のポートまでの複数の接続経路（３）、相互接続網を介したメッセージ・ワームホーリングのうちの少なくとも1つが含まれる。
【００１０】
相互接続網１００の内部を移動するシリアル・メッセージは、ワームホール動作を継続させるように、利用可能な経路を常に有していて、相互接続網を介した移動時間を減少させるようにバッファ内には全く保有されないのが望ましい。動作特性に関連しているのは、各ノードにおいて1回のクロック周期内でロジック及び制御が実行を可能にし、且つ相互接続網を介したワームホールメッセージの送信を可能にするグローバルなタイミング機構である。ワームホール送信は、メッセージが相互接続網内部の複数のノードにまたがっている場合に、メッセージ尾部が入力ポートに進入する前にメッセージ頭部が出力ポートに到達するときにさえ、生じる。ワームホール・ルーティングは、メッセージが相互接続構造を介してノードからノードへ移動する際に、何らかの形態のハンドシェーキングなしに実行される。
【００１１】
相互接続網１００のいくつかの実施例では、出力制御ロジック１６２によって、最下レベルに到達したメッセージが特定され、且つルーティングされ、メッセージが適切なターゲット・ポート１６６に接続される。同一出力ポートにおいて、同一時間周期中に2つ以上のメッセージが生存している場合、相互接続網からの次の出力のためのメッセージを蓄えるようにバッファ１６０が用いられる。外部制御信号１６４は、外部ターゲットがメッセージを受取ることが可能であるか否かを出力ポートに通知する。出力制御の機能性は、以下でより詳細が説明される。ある代替実施例では、出力制御ロジック１６２と、バッファ１６６とが、省かれており、メッセージが最下レベルから各出力ポート１６６に直接、移動する。
【００１２】
図１Aは、水平方向及び垂直方向のメッセージ経路と、垂直方向の制御信号とを示している。図１Bは、メッセージが水平方向若しくは若しくは対角方向に下側に移動し、制御信号が垂直方向に移動する代替実施例を示している。図１Aでは、所定のノードアレイから1レベル低いアレイに、且つ1列右に移動するために、垂直方向のデータ経路を下側に移動するデータは、水平方向のデータ経路を直に右に移動する。図１Bでは、データは、ノードアレイから1レベル低く且つ1列右にあるノードアレイに直接、移動する。
【００１３】
図１Cは、多重レベル最小ロジック（MLML）ネットワークを例示する、4シリンダ8列ネットワークが図示された模式的な絵画図である。シリアルメッセージ形式のデータが、図１Cの上部にシリンダ３として示されている最も外側にあるシリンダに配置された入力端末からネットワークに進入し、メッセージのヘッダ中で特定されるターゲット出力ポートに向かってノードからノードへと移動する。1つの時間周期内でデータは、次の角にあるノードに常に移動する。メッセージは、移動することによりこのメッセージがターゲット・ポートにより近付く場合には必ず、図１Cの下部レベルで示される内側シリンダに向かって移動する。
【００１４】
このネットワークは、2種類の送信経路を有している。一方はデータ用であり、他方は制御情報用である。図示されている実施例において、ネットワーク内の全てのノードが同一設計を備えていてよい。別の実施例で、ノードが互いに異なる設計及び特性を有していてもよい。ノードは、同一シリンダ上のノードから、若しくは自身が所属するシリンダの外側にあるシリンダからデータを受取り、同一シリンダ上のノードに、若しくは自身が所属するシリンダの内側にあるシリンダにデータを送信する。所定レベルにあるメッセージの第1ビットがシリンダの周囲を一様に移動するという意味で、複数のメッセージが中心軸の周囲を一様に回転して移動する。メッセージ・ビットがあるシリンダから、より内側のシリンダへ移動する際に、このメッセージ・ビットは内側シリンダのメッセージと正確に同期する。適用若しくは実施例に応じて、データが1以上の列若しくは角から相互接続網若しくはネットワークに進入したり、1以上の列若しくは角から退出したりしてもよい。
【００１５】
ノードは、より外側に配置されたシリンダに制御情報を送信し、更に、より内側に配置されたシリンダから制御情報を受信する。制御情報は、同じ角若しくは同じ列からノードに送信される。更に、入力ポートからメッセージを受信可能な最外側シリンダがメッセージを受取ることが不可能な場合に、その入力ポートに通知するべく、制御情報が最外側シリンダ上のノードからその入力ポートに送信される。同様に、出力ポートがデータ受信不可能なときはいつでも、この出力ポートが最内側シリンダ上のノードに制御情報を送信することが可能である。概して、任意のシリンダ上のノードが制御信号を送信して、それにより制御信号送信ノードがメッセージを受信することが不可能であることをノード若しくは入力ポートに通知する。ノードは、より内側に配置されたシリンダ上のノード若しくは出力ポートから制御信号を受信する。その制御信号によって、制御信号の受取り手は、自分のノードのシリンダのより内側にあるシリンダ上の第3ノードにメッセージを送信してよいかどうかが通知される。
【００１６】
図１Cに示されるネットワークにおいて、ノードAが同一シリンダ上のノードBにメッセージを送信し、更にノードBが外側にあるシリンダ上のノードJからデータを受信する場合、ノードAはノードJに独立に制御情報を送信する。ノードA及びノードJからメッセージを受信するノードBは、ノードAとノードJの間の制御情報の交換に関与しない。制御信号、データ・ルーティング・トポロジー及びメッセージ・ルーティング機構は、以下でその詳細が説明される。
【００１７】
図１Cにおいて、用語「シリンダ」及び「角」は位置を言及するのに用いられている。これらの用語は、「レベル」及び「列」（各々、図１A及び図１Bで用いられており、更に今までの説明で用いられている）と類似している。図１Cでは、図１Bで示される配置と類似的に、データが水平方向若しくは対角方向に1つのシリンダから次のシリンダに移動し、制御信号が同じ角から外側のノードに送信される。図１Bのノードアレイ１０８は、MLMLネットワークの同一角における同一シリンダ内のノードの列と類似している。
【００１８】
図１Aと共に図２Aを参照すると、ノードアレイ１０８は複数R個のセル２０２を含んでいる。ノードアレイ１０８は、相互接続網１００のあるレベルとある列との交差部分に配置されている。図示されている相互接続網１００は、水平方向の行２０８に1つのセルを有し、且つ垂直方向経路２１０上に1以上のセルを有する。行２０８は、所定レベルにおいてメッセージを1つの列から次の列に送信する水平方向のデータ経路である。行２０８は、データバス１１４に含まれる。1つのレベルには、複数R個のデータ行２０８が含まれる。1つの列には、複数R個の垂直方向のデータ経路２０４、及びR個の垂直方向制御信号経路２０６が含まれる。垂直方向データ経路２０４は、データバス１４２の構成要素であり、より低い次のレベルにメッセージを直列に送信する。垂直方向の経路２０６は、下位レベルのセルから上位レベルのセルに、若しくはセルが最上レベルにある場合には入力２０４に制御信号を運ぶ。経路２０６上の制御信号によって、上にある1つ若しくは複数のセルに、信号送信セルがメッセージを受取れないことが信号で伝えられる。セル２０２は、全ての水平方向の行２０８及び垂直方向のデータ経路２０４の交差部分に配置される。代替実施例では、異なるレベルにおいて行の数が異なっていてもよい。
【００１９】
実施例によっては、複数の垂直方向データ経路及び垂直方向制御信号経路が1つのセル若しくはセルのセットに接続されていてよい。ここで用いられているような用語「セル」は、行２０８と垂直方向データ経路２１０との交差部分に配置されたスイッチング要素を示している。左側からメッセージを受信するセルは、メッセージを次のいずれか：（１）次の列にある同一レベル上のセルに水平方向に、若しくは（２）下位レベルのセルに下方向に、スイッチすることが可能である。相互接続網及びネットワークを扱っている文献では、用語「ノード」は、相互接続網内部の単一スイッチ、セットになっているスイッチ、1以上の制御要素、若しくはインターネット等の地理的に分散しているネットワークの一部をなす完全なスイッチシステムのように、スイッチング構成要素を示して用いられることが多い。本説明では、「ノード」は、単一セル、若しくは同一ノードアレイ内で相互接続されたセルのセットを示している。単純な実施例では、1つのセルと、そのセルに対する制御ロジックがノードに含まれる。別の実施例では、複数のセルと、それらセルに対する制御ロジックの全て若しくは大部分がノードに含まれる。
【００２０】
置換ボックス１１０は、いくつかの列の間に配置され、水平方向に移動するメッセージの行と行の置換を生じる。先入れ先出し要素のアレイは、シリアル遅延要素が複数集まったものであり、以下でFIFOと示される。FIFOが、行２０８に配置されている。FIFOアレイ１１２が1以上の列の間に配置されている。垂直方向データ経路２０４が、対応する制御信号垂直方向経路２０６と関連付けられているので、垂直方向経路の組は副次列２１０のように呼ばれる。同様にして、メッセージ入力ポート２１４と関連する制御信号出力２１６とが、入力ポート２４０のように呼ばれ、データ出力経路２１８と関連する制御信号入力ポート２２０とが、出力ポート２４２のように呼ばれる。
【００２１】
データは、入力ポート２１４を通って最上部ノードに配置されたセル２０２に進入し、最下部レベルのセルから出力ポート２１８へと退出する。入力ポート２１４での制御信号２１６によって、関連する入力ポートがデータを受取ることが不可能であることを、外部入力デバイスに信号で伝えることが可能となる。制御信号入力ポート２２０は、後者が関連する出力ポートからデータを受信することが不可能であることを示し得る、外部デバイスからの信号を受取る。単一のラインとして示されているデータ経路２０４、制御信号経路２０６、及びデータ行２０８の各々は、セルの特性に応じて、1以上の信号経路を含んでよい。同一ノードアレイ内で1つに相互接続され、1つのノードとして一緒に機能するセルは、後で説明していく。
【００２２】
図２Bを参照すると、セルに対する方向的な仕様が説明されている。セル２０２は、1以上のメッセージを北若しくは西から受取って、東若しくは南に送信する。メッセージが次の列に直に、若しくは置換ボックスを通って移動する場合には、このメッセージが東に移動するものとして描かれている。同様に、メッセージが下位レベルに直に、若しくは置換ボックスを通って下側に移動する場合には、このメッセージは南に移動するように描かれている。これらの方向は、セルの内外に流れるデータ若しくは制御信号の方向を示すための約束として用いられる。レベルL、列Cにおけるメッセージは、次回のステップで次のいずれかに移動する：（１）レベルL、列（(C+1)mod K）、若しくは（２）レベルL−1、列（(C−1)mod K）。ここでのKは、列の数である。より一般的には、メッセージは、同じレベルに留まるか、若しくは下位レベルへと落ちながら、バッファリングされずに続いている次の列に常に動いていく。光学的な波長分割多重伝送方式（WDM）の実施例では、種々のヘッダビットを運ぶために、全てのヘッダ・ビットが同一時間帯内に異なる波長を用いて進むことが可能である。データは、時間及び周波数領域的の両方にまたがって転送することが可能である。
【００２３】
図３Aは、メッセージ・フォーマットの非常に適切な例を示している。相互接続網１００に進入するメッセージは、値「1」を有するトラフィック・ビット３０２、ターゲット行若しくはターゲット出力ポート２１８を特定するターゲット・ヘッダ３０４、及びペイロード３０６を含む。トラフィック・ビット３０２は、メッセージが存在しているかを示す。メッセージ・ヘッダ３０４は、アドレス３０８の最上位ビット（MSB）が最初にきて、最下位ビット３１０が最後にきて、更に、次の最上位ビット３２６がMSBに続くように、ターゲットの行数が2進コード化されている。代替実施例では、最下位ビットが最初になっている。所望に応じて、宛先列（図示せず）がヘッダに続けて2進コード化されてもよい。ペイロード３０６は、任意の入力ポート２１４から任意の出力行若しくは出力ポート２１８へ相互接続網１００内を送信されることが望ましいデータパケットを含んでいる。相互接続網１００のいくつかの実施例では、ペイロード３０６は、所定の最大長以下の種々の長さを有してよい。この最大長はタイミングの関数になっている。例えば、一方の（1回若しくは複数の）時間周期で相互接続網内により短いメッセージが受入れられ、他方の時間でより長いメッセージが受入れられ、更に、種々のメッセージ長のパターンが、外部コマンドにより制御された方法で繰返されていてよい。メッセージ３００の全長には、トラフィック・ビット３０２、ヘッダ３０４、及びペイロード３０６が含まれる。ペイロード３０６は、共有メモリ・キャッシュライン、スーパーコンピュータ内のプロセッサ間通信メッセージ、スイッチ若しくはルータ内のATMセル、イーサネット・フレーム、スイッチ若しくはルータ内のIPパケット、若しくは相互接続網の任意の入力ポートから任意の出力ポートへ転送が望まれる任意のその他のデータのようなデータのシリアル・ストリームである。
【００２４】
図３Bを参照すると、メッセージ３３０は、既に説明された（1つ若しくは複数の）ヘッダ及びペイロードに付加的に、優先ビット及び／又はサービス品質（QOS）ビット３３２を含んでよい。このビットは、一方のメッセージが他方のメッセージを超える優先順位を有しているか、及び／又は相互接続網が他のメッセージ・トラフィックによって過密になった場合に、特定のメッセージが相互接続網内で廃棄されてもよいかどうかを特定するために用いられる。QOSビットは、例えば、優先順位の低いATM（非同期転送モード）セル若しくはパケットを示すために、メッセージが相互接続網に進入する前に設定されてよい。更に、QOSビットは、例えば、相互接続構造内でのメッセージの年齢を追跡するために、メッセージが相互接続構造内にいる間に変更されてもよい。
【００２５】
図３Cを参照すると、メッセージ３００が南に下位レベルへと移動すると、MSB H1 ３０８がメッセージから除去される。それゆえに、次の最上位ビットH2 ３２６が、次の下位レベルにおいてメッセージに対するMSBとなる。ヘッダ長が変更されるときに望ましい副作用は、ヘッダの長さがレベル毎に1ビット減少されることである。MSB−ビットのはぎ取りによって、セル内で必要とされるロジックの量が効果的に最小化される。メッセージ３００が、ターゲット出力ポートに到達すると、ヘッダ３０４の全てのビットが取除かれ、メッセージの移動時間が軽減される。トラフィック・ビット３０２は、行のヘッダ・ビットでない他のビットと共に、メッセージの第1ビットとして保持される。メッセージの受取り手が必要とする場合には、ターゲットのアドレスがペイロードの一部として含まれてもよい。
【００２６】
図４Ａは、メッセージ・ワームホーリングの描写と、セル間が相互接続された相互接続網の一例とが示された図である。各レベルにおける相互接続トポロジーは、図１中に示されている多重レベル最小ロジック・ネットワークの場合と同じである。簡潔化のために、この図は、レベル当り8行及び3列しか有していない。別の実施例では、より多くの行及び列を有しており、例えば（限定するものではないが）、レベル当り64行乃至1024行、若しくはそれ以上の行と、12列乃至24列若しくはそれ以上の列とを有している。相互接続網のスケールは、効率的なスループットとワームホール・メッセージ送信とが保持される限り、制限なしに大きくなる。置換ボックス１１０が、列の間に挿入されてよい。ノードアレイ１０８中には、「同一」の配置が用いられる。ある同一配置は、示されているように対角線に沿ったセルの配置である。置換ボックスの配置は、以下に図１０の描写と関連して説明される。相互接続網は、図７Bに示される構成を用いて、1つのレベルにおいて単一のFIFO構造１１２を有する。
【００２７】
図４A中のノードのいくつかは、相互接続構造を通るメッセージの動きの規則を示すように「＋」を用いてマークされている。レベルLからレベルL−1に移動するメッセージは、ルーティングの決定をする際にヘッダ・ビットHLが用いられる。実施例によっては、ビットHLがアドレスの最上位ビット３０８である。HL＝1を有するメッセージは、「＋」を用いてマークがなされているレベルLノードから、レベルLを離れてレベルL−1へと移動する。HL＝0を有するメッセージは、「＋」を用いてマークがなされていないレベルLノードから、レベルLを離れてレベルL−1へと移動する。レベルL上のノードを通る、メッセージのこの移動規則は、トラフィック・ビット、ヘッダ・ビットHL、及びレベルL−1上のノードからの制御ビットだけに基づいているという点で効果的である。制御ビットの目的は、ブロッキング状態を示すことである。図４Aに示されているメッセージの流れの例は、ブロッキングが生じないという仮定により単純化されている。
【００２８】
メッセージMは、列0、レベル3、行3の北から相互接続構造に進入する。点線は、メッセージMが相互接続構造を通ってワームホールを空ける際のメッセージMの全経路を示している。メッセージMは、第1ノードアレイの行3上に配置されたセルAに進入する。メッセージMに対する行ヘッダ３０４は2進法で「100」であり、最下レベルの行4にあるターゲットを示している。北からセルに進入したメッセージは、すぐに東にルーティングされている。このメッセージは、第1ノードアレイを退出した後に東に移動して、メッセージが行3から行7に移動される置換ボックス□□□１を通過して、更に、南方向に、レベル2における上部のセル集団の中に配置されているセルCに接続されているセルBに進入する。図４Ａでは、上部集団の中のセルに接続されている、セルＣ等のセルは「＋」により指示が出されている。用語「セルの集団」は、図９を説明する際に、より詳細が説明される。簡潔化のために、経路４１０は、2つの信号：（１）南へのデータ経路２０４と、（２）南からの制御信号２０６とが含まれる単一ラインとして示されている。メッセージＭのヘッダのMSBは、上側集団の中のセル宛先を特定する「1」になっている。それゆえに、セルBは、メッセージをセルCへと南にルーティングする。セルBは、現在のMSBを除去することによってヘッダを修正し、南方向にレベル2に送られる前にヘッダ・アドレスが、「100」から「00」へと変更される。ノードCを通って移動するメッセージは、行４、５、６、若しくは７における退出ポートを通って、相互接続構造から退出する。
【００２９】
メッセージMがセルCから東に移動して、置換ボックス□□□１を通って行7から行4に移動し、下部集団に接続されているセルDへと進むように、北からセルに進入するメッセージが東にルーティングされる。H2は、ヘッダの新しいMSBである。H2の値は「0」であり、それはメッセージMが高さ0、1、４，若しくは5の高さで退出ポートを通って構造を退出するようにターゲティングされていることを示している。ヘッダのこの時点のMSBは「0」であり、下部集団を示している。セルDは、メッセージをセルEへと南にルーティングする。セルEを通過するメッセージは、行4若しくは行5のいずれかの出力ポートを通って相互接続構造を退出する。セルDは、メッセージ・ヘッダを「00」から「0」に変更する。レベル1において、セルEは、メッセージが、置換ボックス□□□１及びFIFO１１２を通って、その次に相互接続網の右側に進むように東にルーティングする。メッセージは、西４１８に循環して、第1列の同じ行5に進入する。より適切な実施例では、例に示されている3個よりも多くの列を有していて、こんなに早くFIFOに進入しない。セルFは、上部集団に接続されている。MSB「0」は、下部集団を示している。セルFは、メッセージMを東にセルGへとルーティングする。下部集団に接続されているセルGは、メッセージをターゲット行である行4上を南及び東に送信する。メッセージは、次の列に移動して退出し、それにより相互接続網を通る経路が完了する。図４Aは、相互接続網を通るメッセージのワームホーリングを図示している。図１Cは、末端部が進入する前に先頭が退出するような、ネットワークを通るメッセージのワームホーリングの、同様の例を示している。ブロックされていないメッセージは、相互接続構造を通るワームホーリングの間、平均してレベル当り1.5セルと出会う。
【００３０】
3ノードの集団によって、図示されている相互接続構造内における相互接続性が最も単純に示されている。この3ノード集団には、レベル0以外の任意のレベル上にある第1ノードが含まれる。あるレベルの上にあるこの第1ノードは、第1ノードと同一レベル上にある第2ノードにメッセージを送信することが可能である。第1ノードからメッセージを受信するためにアクセス可能な出力ポートのセットは、第2ノードからメッセージを受信するためにアクセス可能な出力ポートのセットと同じである。更に、第1ノードは、第3ノードにメッセージを送信することも可能である。第3ノードは、第1ノード及び第2ノードのレベルよりも低いレベル上にある。第3ノードからメッセージを受信するためにアクセス可能である出力ポートのセットは、第1ノードからアクセス可能な出力ポートのセットと等しくはないが、第1ノードからアクセス可能な出力ポートのセットのサブセットになっている。この方法により、メッセージがレベルを下げると、アクセス可能な出力ポートのターゲット数が減少する。メッセージがレベルを上げて移動することはないので、メッセージがアクセス可能な出力ポートの数を絞っていく作業の進行が損なわれることは決してない。
【００３１】
図４Bでは、図４Ａで説明された5列式の相互接続の実施例とトポロジー的には等価な、8行5列相互接続網の実施例の一例の配置を示している。各レベルにおける配置は、列の間に置換ボックスがなく、且つFIFOが1個のみ挿入されていて、チップ上により多くの制御ロジック用の空間を設けることが可能な、図７Cで示される構造と同じである。各ノードアレイ内でセルを特別な配置にすることにより、列の間の置換ボックスの効果と同等のものを得ることができる。特に、セルの位置は、西及び南のセルによって決定される。レベル0及び列0の配置は、同一の構成で説明されている。レベル0におけるセルは同一構成で配置されており、示されるように下側の左から上側の右への対角線上の配置として規定されている。列0内のセルも同様に、全てのレベルで同一構成に配置される。残りのノードアレイ１０８は、左から右、且つ下から上の順に配置される：列1、レベル1のノードアレイ内のセルが、列2、レベル1内のノードアレイのセルの前に配置され、以下は同様である。レベル1の配置は、レベル2よりも前になされ、以下同様である。セルの位置は、セルを同じ行において西方向に、且つ同じ垂直方向経路において南方向に検討していき、更に、現在のセルのレベルに対して変換列を適用することによって決定される。変換列は、図１０に対する詳細で説明される。
【００３２】
レベル1における行0上のセルは、数列S2 １０１２として示される、行0,1,0,1...上のレベル0セルの上に交互に配置される。更に、各レベル1行において、セルは、行0,1,0,1...上に交互に配置される（mod 2）。レベル2における行0上のセルは、数列S4 １０３０になっている行0,2,1,3,0...上のレベル1セルの上に交互に配置され、更に、各レベル1行において、セルは、行0,4,2,6,1,5,3,7,0...の上に交互に配置される（mod 4）。レベル3において、セルは、数列S8 １０３６になっている行0,4,2,6,1,5,3,7,0...の上に交互に配置される。図４Ａも参照すると、メッセージが行0で始まって、レベル3に残ったまま右に移動する。置換によって、メッセージは、行0から行4に移動し、次に行4から行2に移動し、更に行2から行6に移動し、以下同様にして移動する。図４Ａ及び図４Ｂに示される相互接続構造は、図１Ａ、図１Ｂ、及び図１Ｃで示される構造の変換列から類似的に形成される。
【００３３】
図４Ｂを参照すると、全ての行が、変換列によって規定されるセルへの南側の接続を有している。メッセージは、上部集団及び下部集団の上で常に互い違いになっている。上部集団に接続されているセルは「＋」で示されており、それにより互い違いの接続方式を図示されている。メッセージが最後の列（列4）から東に移動する場合、メッセージは列0に循環する前に程度5の置換ボックスを通過する。この程度5の置換ボックスは、以下で説明される変換列Snを連続されるように機能する。
【００３４】
図４Ｂは、セルの配置方法を説明しており、そこでは、セルがノードアレイ内で特別に配置され、集積回路チップ配置が効果的に単純化されることによって、各列の間の置換ボックスのレベル間効果が望ましく達成されている。K列を備えた相互接続構造に対しては、各々のレベルで単一の程度Kの置換ボックスが用いられており、それにより第1列に循環して戻るメッセージに対して、省かれた置換ボックスの効果が得られている。その結果が、図４Bに示される配置であり、それはトポロジー的には、各列の間に程度1の置換ボックスを備えた別の8行5列スイッチの場合と同じである。
【００３５】
異なるレベルにおける2つのメッセージが、同じ水平方向データ経路２０８に対して競合する場合は、下位レベルのメッセージが相互接続網の中により長時間いるであろうということから、より下位レベルのメッセージが優先権、優先順位の論理的な割当てを有する。優先順位の規則を実装するための適切な構造は、図５Ａ及び図５Ｂに図示されている。単純化のために、ノードアレイ当り1セルだけが示されており、列の間に配置され得る置換ボックス及び／又はFIFOは全て省かれている。図５Ａ及び図５Ｂは、各々が2つのレベル及び4つの列を有するセル配置を示している。セルＡは、同じレベルで次列にあるセルＢへと東方向に行２０８によって接続されている。
【００３６】
図５Ａは、メッセージM1 ５０２が北からセルAに進入する場合を図示している。トラフィック・ビット３０２は、メッセージが存在することを示す「1」である。メッセージが北からセルに進入すると、このメッセージは同じレベルに留まって、次列のセルへと東方向に即座に移動する。それゆえに、1回のタイム・ステップでメッセージが1レベル下がって、1列右に移動するように、メッセージM1が行２０８上をセルBへと東方向に進む。ヘッダの最上位ビット（MSB）は、下位レベルのセルの特定集団を特定する。セルBは、トラフィック・ビット及びMSBを検討して、セルBの南にあるセルがターゲットへの経路に含まれるかどうかを決定する。セルBは、下からブロックされず、セルFへと南方向にメッセージを送信する。北から進入するメッセージに対しての規則に従って、メッセージM1が行５２２上を次のセルGへと東方向に即座にルーティングされる。
【００３７】
図５Ａは、北からセルに進入し、すぐに次列にあるセルＢへと東方向に移動するメッセージＭ1の流れを図示している。ヘッダが検討されて、メッセージM1はFへと南方向に、次に東方向にルーティングされる。（１）メッセージM1のMSBが、セルFを含むターゲットの宛先への接続を示している、（２）メッセージM1が他のメッセージによってブロッキングされない、即ち、Fから行５２２が利用可能であるという理由で、メッセージM1が、セルBからセルFへ下がることが許可される。この例では、遅延することなく次の下位レベルにメッセージが移動可能である場合を図示している。上述のA乃至Gを直接接続するように、セルA、B、及びFの中に複数のスイッチが設定される。
【００３８】
図５Bを参照すると、別例によって、同じメッセージM1が、北からセルAに進入してセルBへと東にルーティングされる。別のメッセージM2は、セルFにおいて、メッセージM1を上回る2通りの方法で優先順位を有する：（１）メッセージM2が、セルGへの進入について、メッセージM1を上回る優先順位を有することと、更に、（２）メッセージM2が、リンク５２２の使用についてメッセージM1を上回る優先順位を有することである。メッセージM1がセルBに進入するときに、メッセージM2はセルFに西方向から進入している。セルFは、メッセージM2を、次のセルGへと行５２２上の東方向にルーティングする。行５２２が、メッセージM2によってすぐに占有されるので、セルFは北から、即ち、セルBからメッセージを受取ることが不可能である。メッセージM1とメッセージM2との間の衝突を防ぐために、セルFは、制御信号２０６をセルBへと北方向に送信する。それにより、セルBは、南方向にメッセージM1を送ることをブロックされる。セルBが同様に制御信号を北方向に送信するように強制されて、それにより、メッセージM1が上述の起こり得る衝突から保護され、更にメッセージM1がセルCへと東方向にルーティングされる。又、セルBの上にいる可能性があるメッセージM3が、南方向に下がってくるのが防止される。あるレベルにおいて東に移動するメッセージは、次の下位レベルのセルへの接続を通過し、特定の接続に、ターゲットに接続するある経路が含まれなかったり、若しくは含まれたりしてよい。別の言い方をすれば、東に移動するメッセージは、メッセージ・ターゲットへの接続が含まれる、集団になっているセルの接続に出会う。
【００３９】
ターゲット集団への利用可能な接続がない場合は必ず、セルによって、メッセージが同じレベル上を東方向に送信される。セルCがメッセージM1のヘッダを検討して、南方向のセルがターゲット集団の中にないことを判定する。従って、セルCは、メッセージM1をセルDへと東方向にルーティングするように強制される。上述の起こり得る衝突を防止するように、セルCは、制御信号を北方向に送信し、それにより、セルCの上に存在する可能性のあるメッセージM4が、下がってくることが防止される。次の列で、セルDが、メッセージM1のターゲットへの経路中にあるセルJに接続されており、更にセルDは、セルJによってブロックされていない。セルDは、セルJからの制御信号と共に現在のMSBを検討して、メッセージM1をセルJへと南方向に送信する。セルF及びセルJは、ターゲット集団に入っており、セルGは入っていない。セルFは使用中(busy)だが、セルJはそうでなく、メッセージM1がメッセージM1のターゲットの経路上にあるJに送信されるという点で効果的である。
【００４０】
図５Bでは、メッセージM1の流れが説明されており、そこでは、メッセージM1のすぐ下を同時に移動するメッセージM2によって、メッセージの南への移動がブロックされている。メッセージM1は、同じレベルに留まって、利用可能な接続経路を探索する前に、2つ先の列にあるセルを訪れる。メッセージが東方向に移動するときは必ず、制御信号が北に送信され、上位にあるセルからメッセージが下に送信されて衝突を生じてしまうことが予防される。相互接続トポロジー、ブロッキング若しくはビジー信号送信（busy signaling）の望ましい効果は、任意のセルに進入するメッセージが、東方向への退出経路と、しばしば南方向への退出経路とを常に有するという点で効果的である。メッセージは常に移動しており、相互接続網を通って送信される際に、バッファリング若しくは格納によって保持されることは決してない。ターゲットに向かうメッセージの進行は、決して損なわれない。
【００４１】
図５Ａ及び図５Ｂは、各列において、垂直方向に接続されている異なるレベルにあるセルの対が示されている。例えば、セルＢ及びセルＦは、セルGへのアクセスに対して競合している。図５Cは、図１B及び図１Cに図示されているような、「対角方向の」セルの相互接続を示している。対角方向の相互接続によって、次の下位レベルに移動するデータは、水平方向／鉛直方向配置の場合に生じるように、直に南方向に、次に東方向にセルを通過するというのではなく、直接的に次列にあるセルに移動する。例では、セルFが北方向にセルBへと制御信号を送信し、それにより、共通のターゲットであるセルGがセルFからのメッセージによって占有されることがセルBに通知される。対角方向の相互接続設計は、図１Ａ、図５Ａ、及び図５Ｂに示されている、正確な水平方向及び垂直方向の配置とトポロジー的に類似している。顕著な差異は、（１）対角配置内のレベル間の対角メタライゼーション経路、（２）上位レベルのセルが衝突を生じるのを防止するように、スイッチ６１８が欠如していること、及び（３）対角配置内で、1つのセルは、西からの2つの入力端子を有し、且つ北からのものは有していないことである。
【００４２】
図５Cは、2つの行を通るメッセージのタイミング及び動きの一例を図示している。セルに進入するメッセージの相対的タイミングは、相互接続網の各レベルで左から右に、且つ各列で下から上に進んでいく。図５Cによって示される例では、メッセージ到達の順序は、V、H、W、B、X、C、J、及びDである。タイミングについては、図２４Ａ及び図２４Ｂで示されるタイミング図に関して、より詳細な説明がなされる。図示された例では、セルVに進入するメッセージがないので、セルVによって、「使用中でない」ことを示す制御信号「0」が、セルVと同じ列且つ上位レベルにあるセルHに送信され、それにより、セルHは、セルVとセルHとの共通のターゲットであるセルWにメッセージを送信することが可能になる。メッセージM1がセルHに進入し、その進入によって対角方向を南にセルWへと移動することが可能になる。セルWはメッセージM1のヘッダを検討して、メッセージ・ターゲットへの下方向の接続が存在しないことを判定し、それゆえにセルWは、同じレベルのセルXへとメッセージをルーティングする。セルXがメッセージM1によって占有されるので、セルWは、使用中の信号「1」を北方向に、同時にメッセージM2を受取っているセルBへと送信する。下からのブロッキング信号のために、セルBは東方向に、同じレベルにあるセルCへメッセージM2を送信するように強制される。セルBは、Cに接続されているセルによってセルCにメッセージが送信されてしまうことをブロックするように、信号「1」を北方向に送信する。セルXは、下からブロックされておらず、ターゲットに向けて南方向にメッセージM1を送信する。セルCは、下からブロックされておらず、且つメッセージM2のターゲットへの経路上にあるセルJに接続されている。セルJは、制御信号「1」を受信し、メッセージM2を東方向にルーティングするように強制される。
【００４３】
そのようにして、セルWはセルBがメッセージを南方向にセルXへと送信するのを防止する。次の時間周期には、セルXから東方向への経路が開放されておおり、且つセルBからのメッセージの収容が可能になっている。セルWがセルXの未来の状態を予測する能力を有する場合には、セルWは、メッセージを下に送信することをセルBに許可してもよい。しかしながら、セルWがルーティングの決定をしている時点では、次の列にあるセルの状態は利用不可能になっていて、セルWはセルBをブロックする。
【００４４】
図６Ａ、図６Ｂ、及び図６Ｃは、垂直方向接続を備えたセルの一例のブロック図が示されており、セルを通してのメッセージのルーティングが図示されている。図示されているセルは、北Nからのメッセージ進入経路、西Wからのメッセージ進入経路、東Eへのメッセージ退出経路、南Sへのメッセージ退出経路、北BNへのセル-ビジー（cell-busy）出力経路、及び南BSからのセル-ビジー入力経路を有している。各方向への複数の経路、及び各方向からの複数の経路を備えたより複雑なセルは、以下で説明される。西からノードWでセルに進入するメッセージM2は、次のいずれかのルーティングがなされる：（１）図６Ａに示されるように、次のレベルへと南にルーティングされる、若しくは（２）図６Ｃに示されるように、次の列へと東にルーティングされる。図６Ａ及び図６Ｂで示されるように、北２０４からのメッセージは常に東にルーティングされる。
【００４５】
行２０８によって、一方のセルの出力ラインＥが、同じレベルで次の列にある他方のセルの入力ラインWに接続されている。列及び／又はレベルの間に配置され得る、置換ボックス１１０及びFIFO１１２は、考察されていない。垂直方向データ経路２０４によって、出力ラインSが南方向に、下位のレベルの同じ列にある別のセルの入力ラインNへと接続されている。制御経路２０６によって、ビジー出力ラインBNが北方向に、次の上位レベルの同じ列にあるセルの入力ラインBSへと接続されている。遅延要素D６０４は、制御ロジックによって検討するために特定のメッセージ・ヘッダのビットを格納し、且つ以下でより詳細が説明されるようにレベル間のメッセージ・タイミングを調整を行う1ビット・シリアルレジスタである。各メッセージ・ビットは、遅延要素Dを通過する際に、わずかに1クロック周期、遅延される。遅延要素の一例としては、一種のDフリップフロップ、若しくはクロックド・ダイナミック・シフトレジスタ又はクロックド・スタティック・シフトレジスタがある。セルの内部制御ロジックは、入ってくるメッセージの適切な第1ビット、遅延要素内に瞬間的に格納されるビット、及び適切な時間における制御信号を検討する。次に、この内部制御ロジックは、内部ゲートによって、メッセージが東方向若しくは南方向に方向付けられるように設定を行う。制御ロジックは、先読み情報を提供するべく、状態情報を垂直方向経路BN上の北方向に送信する。
【００４６】
図６Ａに示される例では、メッセージM2が西からセル２０２に進入する。セル・ロジックによって、メッセージ・ヘッダ３０４及び制御信号BSが検討されて、このメッセージは垂直方向経路S ２０４上を南方向にルーティングされるものであるということが決定される。より望ましい実施例では、メッセージが南方向に送信される際にヘッダアドレスMSB ３０８が取除かれ、それにより、次の最上位ビット３２６が、次の下位レベルにおけるMSBになる。トラフィック・ビット３０２は、ヘッダに保存される。MSBが取除かれた後、入力ラインWと出力ラインSとの間に直接的な接続６２６が作られ、2つの遅延要素がバイパスされる。セルは状態６００になっている。ヘッダ・ビットの除去のおかげで、続くメッセージの流れのタイミングは、1クロック周期だけ進められる点に利点がある。このスピード・アップによって、次の下位レベルにおけるメッセージは、上のレベルにあるメッセージよりも先に進むこと、若しくはより早く進むことが可能になり、望ましくは、上のレベルが制御信号が利用できるように、下位レベルのセルが適時な方法により制御信号BNを生成することが可能になる。タイミングについては、以下でより詳しく説明される。
【００４７】
メッセージM2は南方向に移動するので、出力ラインEは、西からの入力信号に接続されず、代わりに北の入力ラインNに接続される。図６Ａにおけるセルの状態６００は、1ビット・レジスタであるラッチ６１２中に格納されている「0」によって表現される。更に、このラッチは、セルを通るメッセージの流れの残りを制御するのにも用いられる。制御信号BNは、ラッチの出力に接続されて北方向に「0」を送信し、それにより、上のセルに対して、メッセージを南方向に入力ラインNへと送信するのに後半が空いていることが示される。西からのメッセージM2が南方向にルーティングされると、北からの別のメッセージがセルに進入することを許可され、次の列にあるセルへの経路２０８に接続されるように、スイッチ６１８を通して即座に東にルーティングされる。北から東に移動するメッセージの移動時間に遅延は全く生じず、その結果、北からのメッセージM1が直接、次の列に接続されて、それにより、1つの時間周期内でメッセージM1が1レベル下且つ1列右に移動する。西から東に移動するメッセージは、遅延要素を全く通過しない。西から東に移動するメッセージは、2つのシフトレジスタ６０４を通過する。メッセージは、決してセルにバッファ、保持、保存、若しくは格納されない。
【００４８】
図６Bの例は、西からのメッセージがないか、若しくはメッセージ・ヘッダが無効になっているかのどちらかである。これらの場合はいずれも、南方向に送信されるメッセージはなく、北からの入力はスイッチ６１８を通して直接、東に接続される。上のセルに、そのセルが南にメッセージを送信可能であるということを示すために、値「0」が北に送信される。
【００４９】
図６Cに示されている例では、メッセージM3が、ラインW上を西からセル２０２に進入する。ヘッダMSB３０８と、南からの制御信号とがセル・ロジックによって検討される。南の経路にメッセージ・ターゲットに接続するものがないという理由から、メッセージが下がることは不可能であると、ビット３０８によって示されてもよいし、或いは、メッセージが下からブロックされているということが制御信号によって示されてもよい。例では、これらの状態のうちの一方若しくは両方が当てはまっていて、そのため、メッセージが東に出力ラインEへとルーティングされる。このセルは、状態６４０になっている。ラッチ６１２に格納されている値「1」は、図６Cのセルの状態を表している。制御信号BNは、このラッチに接続されており、南にメッセージを送信することのブロッキングを示すために、論上のセルに論理「1」を送信する。北のセルは、制御信号に従い、メッセージを下に送信しない。スイッチ６１８によって、第2遅延要素の出力ラインが東への出力ラインに接続され、北からのメッセージがセルに進入するのが防がれる。メッセージがセル内を西から東に移動する場合には、南のラインSへの出力信号は、メッセージを南に送信しないのと同様の意味を持つ「0」に設定される。西から東へ移動するメッセージM3は、遅延要素を通過する際に、2クロック周期のわずかな遅延を経験する。
【００５０】
図６Ａ、図６Ｂ、及び図６Ｃは、セル２０２の状態を示している。状態６００では、あるメッセージが存在し、ヘッダにより、且つブロッキング信号がないことより、最終的にはメッセージがターゲットに接続される南方向に移動する。同時に、北からのメッセージM1が、次の列に直接接続するべく経路Ｅを用いることが許可される。ラインＷにメッセージが1つもない場合、若しくはメッセージ・ヘッダが無効な場合の状況では、北からのメッセージが東への経路を用いることを可能にする状態６３０が設定される。西からセルの何らかの出力ラインへの接続は存在せず、又、南に送信されるデータも存在しない。状態６４０では、メッセージが西から東に移動して、2クロック周期のわずかな遅延を経験し、北から進入可能なメッセージは存在しない。クロックド・シフトレジスタ等の遅延要素によって、西から東に移動するメッセージの速度が調整される。メッセージが南に移動する場合には、そのメッセージのタイミングが、そのレベルに残るメッセージに対して相対的に進められて、好ましくは、より下位レベルが適時な方法で北方向に制御信号を送信するための十分な時間が与えられるようになる。
【００５１】
より高速な、若しくはより緩徐な技術が用いられている別の実施例では、遅延要素の数が図示された実施例のものとは異なっていてもよい。いずれの場合においても、セルは、情報に基づいて作動するように、十分早期に下位レベルから制御情報を受信する。図６Ａは、北から東に接続されているメッセージM1を示している。このメッセージは、スイッチ６１８を通過し、0クロック周期の遅延をわずかに経験する。メッセージM2は、西から南に接続され、その際にメッセージのトラフィック・ビット３０２は、1クロック周期の遅延をわずかに経験する。メッセージM2の残りが経験するのはゼロ遅延であるが、実際の遅延には、接続経路ゲートの伝播遅延が含まれる。図６Ｂでは、北から東に接続され、同じく0クロック周期の遅延を経験するメッセージM1が同様に示されている。図６Ｃは、2つの遅延要素を通過する、西から東に接続されたメッセージM3 ６３０が示している。メッセージM3は、2クロック周期の遅延をわずかに経験する。
【００５２】
図１Ａ及び図1Ｂに関連して、図７Ａ乃至図７Ｆには、相互接続網のあるレベルにおける3つの主要な構成要素の種々の配置を図示した、相互接続網１００の代替的構成の実施例が示されている。この構成要素には：（１）ノードアレイ１０８、（２）置換ボックス１１０、及び（３）FIFO １１２が含まれる。この図示されている例は、相互接続網の単一のレベルを表している。一実施例では、通常は、レベル当り少なくとも1つのFIFOアレイと、レベル当り少なく1つの置換ボックスと一緒に、1つのノードアレイが列毎に割当てられる。置換ボックス１１０は、レベル0では用いられない。FIFO及びセル中のシフトレジスタを含む、各行において結合された遅延要素の総遅延は、全メッセージを収容するのに十分である。従って、繰返しブロックされたメッセージは、1つのレベルに完全に常駐して、最終的にメッセージが南に移動可能になるまで循環することができる。
【００５３】
図７Ａは、各列において、各ノードアレイ１０８の直後にある、置換ボックス１１０及びFIFOアレイ配置１１２を示している。相互接続構造１００の実施例の大部分が、ワームホール・ルーティング能力をサポートしているという点で効果的である。1つの列において、FIFO１１２と置換ボックス１１０との相対的な順序は任意である：先と後のいずれであってもよい。FIFOアレイ１１２内の各FIFOバッファの長さがメッセージ３００の長さよりも小さい場合には、メッセージは、南方向に下位レベルへと作動する前に、複数の列にまたがってもよい。最も右側の列１３８に到達したメッセージは、第1列１３６に戻るルーティング７０２がなされる。通常、1つのメッセージが複数のレベルにまたがってもよく、末端部が相互接続構造に進入する前に、ペイロードの先頭部分が相互接続構造１００を退出するという程度にさえ、及んでていてもよい。
【００５４】
図７Bは、図１Ａ及び図１Ｂの場合と同じ順番の置換ボックス１１０、FIFOアレイ１１２、及びノードアレイ１０８が示されており、更にそれは、各レベルにFIFOが1つしか含まれないこと以外は図７Ａと類似している。1つの行の上にある全セルの中の複数のFIFO及びシフトレジスタは、メッセージ全体を収容するのに十分大きくなっている。各行２０８の上に1つのFIFOが配置されており、全てのFIFOは同じ長さになっている。図４B及び図７Cに示されているのと同様に、列の間の置換ボックスが省かれ、単一の程度Mの置換ボックス７０６が含まれている。
【００５５】
図７Dは、列の数が十分に大きくて、置換ボックスが不要である場合に用いられる配置である。トラフィック量が低いと予想される位置に、1つのFIFOが配置されている。図７Eは、入力用に1つだけの列が用いられていて、予想されるトラフィック負荷を処理するのに適切な数の出力ポートが利用可能であるときのように、トラフィック密度が低い場合に用いるのに適切な配置を示している。この配置は、右から左への復帰経路を有していない。北から進入するメッセージは、最も右側の列７２６に到達する前に下位レベルに落ちるものとみなされている。最も右側のノードアレイN'７２６に到達するメッセージは、北からのメッセージに対して利用可能な出力経路がない場合にメッセージを受取らないノードアレイN''７２４のセルへと、南方向に送信される。最も左側のセルN0に進入するメッセージは、西からのメッセージと競合しないので即座に次の列に移動する。図６Ａ及び図６Ｃを参照すると、N0のセルが北から東への直接的な接続しか含んでおらず、更に、N'のセルは東から南への直接的な接続を含んでおり、制御ロジックが省かれているという点が利点になっている。N''のセルは、優先権を持っている別のメッセージが東に送られた場合に、北からのメッセージを拒否するスイッチ６１８を利用している。
【００５６】
セルの通常の動作では、南へのルーティングがなされたメッセージは、例えばシフトレジスタ等のセルの遅延要素をバイパスし、経路内のゲート数に基づく伝播遅延を経験する。複数のセルを通って南に連続的にルーティングされるメッセージは、下位レベルにおいて制御ロジックの適切な動作に不利な影響を及ぼし得る伝播遅延が蓄積されてしまう可能性がある。1ビット・シフトレジスタ等の遅延要素７１６が、異なる累積遅延を経験したメッセージ・ビットのタイミング、先端部を再割当てするべく各行の上に配置される。遅延要素を退出した後、全てのメッセージは、同一タイミングで次のアレイに進入する。この遅延要素は、クロック周期に対する伝播遅延の比に応じて、2列おき若しくは5列おきにわずかに配置される。図２４Bには、伝播遅延を処理する代替的な方法が図示されている。
【００５７】
列Kの数が非常に大きい場合には、行に沿ってセル間で十分な記憶領域が利用可能であって、メッセージ全体を含むことができ、それにより、図７Fの実施例に示されているように、FIFOは不要若しくは不使用となる。K＝2Nで、且つNが相互接続網のレベルの数よりも大きい場合には、置換ボックスは1つも用いられない、若しくは必要とされない。図7Eに示される配置の場合を除き、通常は、全てのレベルが同じ構成を有している。レベル0は、他のレベルと同様の配置を有するが、置換ボックスを有していない。例では、種々の実施例が示されている。上述の仕様に概ね従う別の構成も可能であり、それらが、相互接続構造若しくはネットワークにおいて必要な実装及び特定の性能を達成するうえで、特別な利点を備えている可能性もある。
【００５８】
図８Ａは、「カスケード・相互接続網」と呼ばれる、相互接続構造１００の非常に適切な実施例の1つである。メッセージが、1つの列の上部から進入し、複数のステップで移動する。各ステップは、下若しくは右に方向付けられており、右方向のステップは、メッセージが下方向に移動するのがブロックされている場合に実行される。これらのメッセージは、最下位レベルで集められる。メッセージ（同一の出力端子に対して競合してしまったメッセージ等）によっては、FIFOの中への方向の修正、及びレベルの最も右側にある列において、右から左８１４に戻る循環がなされてよい。メッセージの入力を受取るのに1つだけの列が用いられて、且つメッセージ出力に2つ若しくは3つの列が用いられている場合には、最上位レベルにあるメッセージが、常に少数の列内で下がることがシミュレーションによって示されている。最も適切な配置は：（１）単一の入力列８０２を有し、（２）最上位レベルにおいて効果的となる少数列（ノードアレイ）を有し、（３）メッセージがFIFO１１２に進入する可能性を減少させるようなFIFO１１２の配置になっており、（４）メッセージを高速に下方向に移動させべく2セル・ノードが用いられており、且つ（５）バースト・トラフィックに適用するべく、所望に応じて、出力キュー８１０が用いられている。広範囲になっている状態では、上位レベルに配置されたFIFOにメッセージが決して進入しないので、上位レベルのFIFOは除去される。それゆえに、FIFOは、大部分の下側への直接経路の左側に配置される。
【００５９】
最上位レベルにおける行の数が、入力ポートの数と等しくなっているのが最も適切である。出力ポートの数は、入力ポートの数と等しいか若しくはそれよりも大きくなっており、それにより複数の出力列によって、相互接続網からのメッセージが効果的に排出される。I／Oピンの数がチップ設計に対する制限要素になっているので、可能な限りより多くのノードアレイを実装するべく最大量のシリコンが用いられる。ブロックされていないメッセージが常に次の列において下側への経路を有するように、2セル・ノードが用いられる。ブロックされていないメッセージは、相互接続網の上部左側から「45度」の対角方向経路を形成する。最も最適には、図８Ａに示されるように、FIFOがこの対角方向のすぐ左側に配置される。
【００６０】
通常のトラフィックでは、メッセージは通常、この対角方向経路の右側に、ほんの少数の列だけ移動する。全メッセージの複合動作は、滝（カスケード）に似た流れになっている。メッセージによっては、方向修正をほとんど受けずに、対角方向に近い経路に移動する。他のメッセージは、より多くの方向修正を受けて、より右側で下部に到達する。出力列は、望ましくは、複数メッセージの大半が集められるように、対角方向から数列右側に配置される。メッセージがFIFOに進入する前に効果的に集められるように、出力列８３４が最下位レベルのFIFO１１２のすぐ左側に配置されてよい。列８３４の出力デバイスが決してビジー状態にならない場合、最下位レベルのFIFOは省かれてもよい。
【００６１】
内側の列の数が、レベルの数の約1.5倍乃至2倍であるべきであるということが、シミュレーションによって示されている。例えば、128行の相互接続網は、７レベルを有してよく、且つ全部で12列乃至15列を有するべきである。メッセージは、最上位レベルではブロックされる可能性が低いため、従って、メッセージが最上位レベルにおいて全ての列を横切ることは決してあり得そうにない。即ち、入力の右側の全ての列においてノードアレイが必要ではない。FIFO及びノードアレイは、最上位レベルにおいて効果的に省かれ、それによりシリコン量が減少される。
【００６２】
カスケード相互接続網の配置のいくつかの実施例では、図８Ａに示されるように、各行に対して複数の出力列を有していてよく、それにより同じターゲットに方向付けられたメッセージに対して複数の退出経路が提供される。受信デバイスが複数のメッセージを一度に処理できる場合（例えば、バッファリングによって）、メッセージが外部からブロックされる可能性が更に減少する。ある代替実施例は、アドレス毎に1つの出力ポート及び1つの出力バッファのキューを有しており、好ましくは、I／Oポートの総数を減少させる。
【００６３】
図８Cを参照すると、オンチップ出力キュー８１０が、最下位レベル８０４において複数の列からメッセージを受取っている。各ターゲット・アドレスに対して1つのキューが割当てられ、そのキューの中の各バッファが1つのメッセージを保持している。最下位レベルに到達したメッセージは、キューが空である場合、若しくはキュー内の空のスロット８１２にルーティングされた場合、即座に相互接続網を退出する。キューが満杯である場合は、メッセージは、最下位レベルの行に残って、別の列のキューへの進入を試みる。メッセージは、出力ポート２１８を通してキューから排出される。実施例によっては、キューは外部出力デバイスから制御信号を受取り、そにれよりデバイスがいつデータを受取れないのか示される。
【００６４】
ATMセルは、使用中の状態でセルが廃棄されてよいかどうかを示している「サービス品質」（QOS）ビットを有している。図３Bは、相互接続網の内部で用いるためのQOSフィールド３３２を備えたメッセージが示されている。内部接続網が使用中でない場合、FIFOに進入するメッセージはほとんどない。使用中の状態の間、メッセージは繰返しブロックされ、最終的にはメッセージがFIFOに進入する1つのレベルで循環するように強制される。一実施例では、メッセージがFIFOに進入すると、QOSフィールが検討される。相互接続網がビジー状態である場合には、このメッセージが廃棄されてよい。
【００６５】
最も単純な場合では、例えば、ATMセルで用いられるQOSフィールドのようにQOSがシングル・ビットになっており、ビットが設定されている場合、メッセージがFIFOに進入する際に廃棄される。別実施例では、メッセージがFIFOに進入する際に、QOSフィールドが増加／減少され、それによりメッセージが循環した回数の総数が示される。所定の値（例えば、0等）に達すると、メッセージが廃棄される。望ましくは、メッセージ間において広範囲の優先順位がサポートされるように、相互接続網に進入するメッセージは種々の初期QOS設定を有してよい。QOS処理は、下位レベルのいくつかでメッセージがQ８２０からFIFOに進入する際に、最も適切に実行される。
【００６６】
図８Ａに示されているカスケード相互接続の実施例は、全ての入力ポートに対する単一のクロック信号、2セル・ノードによる減少されたレイテンシィー、最上位レベルにおける低いトラフィック密度、及びメッセージがFIFOに進入する可能性が低いカスケード様の流れが、利用されている非常に適切な設計である。1つの列がメッセージを入力するために用いられ、1より多くの列がメッセージの出力に用いられる。128個の入力端子、アドレス当りの出力ポートが3個になっている384個の出力端子、7つのレベル、15個の内側列、及びモンテカルロ分布（Monte Carlo distribution）のトラフィックを備えた構造のシミュレーションによって、相互接続構造を通るワームホーリングの際に、1つのメッセージが平均して約10セルと出会うことが示されている。256個の入力ポート及び256個の出力ポートといった配置の512個のI／Oポート、8つのレベル、15個の内側列を備え、更に、図８Cに示される出力バッファが用いられている代替実施例では、1つのメッセージはバッファに進入する前に約20セルと出会う。トラフィックのばらつきを滑らかにするように、出力バッファが用いられる。オンチップ・バッファを用いることによって、同数のピンで、入力ポート及び出力ポートの数が2倍になる。
【００６７】
図８Bは、階段状の相互接続構造を示している模式的な図である。この階段状の相互接続構造は、1個だけの入力列と1個だけの出力列とを有し、右から左へ戻る接続とFIFOとは有していない。相互接続網１００のいくつかの実施例では、同一周期の間に1より多いメッセージが送信される出力ポートがない場合に、全てのメッセージは、左側に方向が修正されることなく各出力ポートにワームホールが空けられることが1つの特性になっている。効果的な配列の1つとして、FIFOが不要で、全てのメッセージが出力ポートに同時に到達するものがある。この相互接続構造は「階段状相互接続網」として呼ばれる。メッセージは、最上部において最も左側の列８５０から進入し、メッセージが最下位レベルに近付くにつれて程度の小さいものに広げられて、最下部において最も右側の列８５４にある出力ポートへと水平方向に移動され、決して再循環されることはない。相互接続構造を通って、とり得る多数の可能な経路のうちの2例が、太線で示されている。例えば、ライン８５２は、急激に最下位レベルに下がっていくメッセージを図示している。ライン８５３は、最終的に最下部に到達する前に、右側にかなり頻繁に方向修正されているのを示している。1つの周期の間に、複数のメッセージが重複する出力アドレスを有さない場合には、図８Bに示されている階段状の相互接続網が最も適切である。階段状の相互接続網は、FIFOを1つも使用せず、又、同様の能力のカスケード相互接続網に比べてほとんどノードアレイを用いない。1つの適切な設計規則では、最上位レベルが少なくとも3つの列を有し、列の総数がレベルの数の約2.0倍になっている必要がある。図８Bのこの例は、8つのレベル及び17個の列を有し、この設計規則に従っている。
【００６８】
2つ以上のメッセージが同一アドレスに送られる等の、重複してはいけないという規則に違反してしまった場合の適用例では、メッセージの一方だけが成功する。他方の不成功メッセージが、成功メッセージがターゲットの出力ポートに到達するのを妨げないという点に利点がある。この不成功メッセージは、収集デバイスL ８５６による更なる処理のために集められるように、下位レベルの最も右側のノードへと方向修正がなされる。
【００６９】
階段状相互接続網の代替実施例では、メッセージのマルチキャスティングは、単一のペイロードに対して複数のヘッドを用いることによってサポートされる。マルチキャスティングは、単一の入力ポートからのペイロードが1つの時間周期の間に、複数の出力ポートに送られる場合に生じる。各ヘッダは、ペイロードに対するターゲット・アドレスを特定し、このアドレスは任意の出力ポートであってよい。同一周期の間で、1より多い入力ポートからメッセージを受信できる出力ポートが1つもないという規則がこの場合にも遵守されている。第1ヘッダは、以下で説明されるように処理され、続くペイロードの流れを方向付ける内部ラッチが制御ロジックによって設定される。そのレベルに対するルートを決定するアドレス・ビットが異なっているセルに到達するまで、第2ヘッダが、第1ヘッダの直後を第1ヘッダの経路に従っていく。ここで、第2ヘッダが、第1ヘッダとは異なる方向にルーティングされる。セル内の付加的なラッチによって、セルの外への二叉の流れが表わされ、且つ制御される。別の言い方をすれば、第2ヘッダは、アドレスが別方向を示して、且つ続くトラフィックが両方向からセルを退出するようにセルが接続をなすまで、第1ヘッダに従っていく。同様にして、第3ヘッダは、レベルが決定されるヘッダ・ビットによって異なる方向への分岐が示されるまで、最初の2つによって確立された経路に続いていく。上からメッセージを受信することができないことを示すべく、ヘッダがセルを通って左から右へ移動する際に、このヘッダによって使用中の信号が常に上側に送信される。
【００７０】
この規則は、第1ヘッダ、第2ヘッダ、及びその他のヘッダに対して常に遵守される。別の言い方をすれば、セルが上側に使用中の信号を送信すると、全てのヘッダが処理されるまで制御信号が保持され、それにより、第2ヘッダが第1ヘッダによって確立された経路を用いようとする試みが防止される。許されるヘッダ数は、チップの外部にあり得るタイミング信号の関数になっている。階段状相互接続網のマルチキャスティングの実施例は、外部のタイミング信号の制御下で、異なる時間において1つ、2つ、若しくは3以上のヘッダを備えるメッセージに適応することが可能である。マルチキャストでないメッセージは、第2ヘッダ及び第3ヘッダの代わりに、例えば全部が0である空のヘッダが後に続いている、単一のヘッダのみを有する。1つの周期内で全てのヘッダが一度処理されると、上述したように、ペイロードが最後のヘッダの直後に続く。
【００７１】
階段状相互接続網は、自己配線式クロスバーとして機能する点において効果がある。このメッセージ・ヘッダは、望ましくは全ての入力ポートから全ての出力ポートにペイロードを並列転送する、ラッチされた入力−出力の接続を生成する。クロスバーの内部の複雑性及び制御がN2とスケーリングされるのに対して、階段状相互接続網はN・log2(N)としてスケーリングされる点に利点がある。256個のポートを備えたスイッチの例では、クロスバーが外部プロセッサによって設定される必要のある内部スイッチのオーダーが64Kであるのに対して、自己配線式の階段状相互接続網は256×82、若しくは16Kのセルを有する。
【００７２】
図８Ａ及び図８Ｂに示される実施例では、入力ポート用に1つだけの列が用いられており、又、1回の時間周期の間に、入力ポートからの複数のメッセージが各々、同じ出力にアドレス指定される。複数の入力ポートは、複数の出力列を有し、出力ポート対入力ポートの比が1より大きくなっている一実施例によって、収容することが可能である。しかしながら、複数の出力列を用いるのとは対照的に、チップ上のI／Oポート、出力接続の総数を減少させることが可能であることから、単一の出力列を用いるのが好ましくなる可能性がある。単一の出力列は、相互接続網の内部のFIFOを出力ポートの間で共有されるバッファとして効果的に用いることによって、変動する出力状態を好適に満足させ得る。別のトラフィック状況では、最下位レベルにおける行は、同じ出力ポートに対して宛先指定されたメッセージで満たされ得る。これらのメッセージは、ヘッダが近くのポートに設定されている別のメッセージをブロックし得る。図８Cは、各出力ポート２１８に対してオンチップ・キュー８１０を用いる一実施例を示している。メッセージが最下位レベルの行８０６に到達すると、このメッセージはキュー内の最下位の利用可能スロット８１２に即座に送られる。このキューが空である場合には、メッセージは出力ポートを通って即座に退出する。キューが満杯である場合には、このメッセージは最下位レベルの行の上に残って、キューに接続されている他の列のキューへの更なる進入が試みられる。
【００７３】
各キュー８１０は、単一の出力ポート２１８へと外部に接続されており、望ましくは、I／Oピンの総数が最小化され、且つネットワーク内のブロッキングの量が減少される。出力ポートが64個乃至16,384個の範囲である相互接続網のシミュレーションによって、ほとんどの出力速度の変動に適応し、且つ最下位レベルを望ましく非密集状態に保つのに、キュー当り3乃至10のバッファの深度が適切であることが示されている。メッセージは、FIFOベースでキューから除去される。メッセージが相互接続網の内部で繰返しブロックされると、そのメッセージは、相互接続網に遅れて進入した他のメッセージよりも最下位レベルに到達するのにより時間を要する可能性がある。その結果、同一の出力ポートに送信された一連のメッセージは、順序が狂って退出する可能性がある。ある代替実施例では、キュー内の位置は、タイムスタンプ・ベースで、若しくはメッセージ・ヘッダ内の連続番号によって詰められる。キューは「ラウンドロビン」式に空にされ、それにより、到着及び退出の整列された順序が望ましく保存される。
【００７４】
相互接続網の2速度の実施例では、最下位レベルの行８０６と一致するクロック速度で、メッセージがキュー内の空スロット８１２に進入し、通常はより遅い異なるクロック速度で出力２１８を通って退出する。別の言い方をすると、キュー内のスロットは高速で満たされ、外部の出力デバイスと一致する別の速度で空にされる。ビデオ・オンデマンド・スイッチ等の適用では、パケット若しくはメッセージを高いビット速度でスイッチ中に受取り、これらのメッセージをより低速で配信する。より少数の高速入力ポートによって、より多くの出力ポートがサポートされる点が利点である。図３６Ｂでは、非常に少数の最上位レベルの行が入力の接続を有している入力構成が示されており、これは二速度の実施例に関して適切な構成である。
【００７５】
この相互接続ネットワークは、複数のレベルを含んでおり、その各レベルは複数のセルの集団を含んでいる。図９は、6つのセル集団：U、V、W、X、Y、及びZを図示している。集団U ９０２は、3つのレベルの最上位レベルの上にある。データは、INと記号が付けられたラインを通して、グループUの中の所定のセルに進入することが可能である。このラインは、より高位のレベルに接続されてもよいし、若しくはネットワークの外部にあるソースからデータを受信してもよい。データは、OUT ９１０と記号が付けられたラインを通って集団X、Y、及びZを出て行く。このラインは、より下位のレベルに接続されてもよいし、若しくは相互接続網の出力ポートであってもよい。集団V及びWは、集団Uのレベルよりも下位にあり、更にその下位のレベルに集団X、Y、及びZがある。各集団は、1以上のデータ経路を含み、各経路はループ若しくはリングの構成になっている。集団Uの中のセルA ９０４は、他のセルB、C、D、E等に接続されている。メッセージの長さがセルの数と比較して長くなっているいくつかの実施例では、全メッセージがレベルの内部に適合するようにループ中にFIFOが含まれる。データ・ループ９２４の中を循環するメッセージは、集団Uから集団V、W、X、Y、及びZにというように、下位のレベルにある集団の中のセルへと下方向に移動する複数の機会を有する。セルBに進入するメッセージは、集団Vの中のセルJへと下に落ちる機会を有する。或いは、メッセージがセルBからセルCに移動する場合に、このメッセージは集団Wの中にあるセルへと下に落ちる機会を有する。実施例によっては、集団V及びWは、各々上位及び下位の集団になっている。
【００７６】
セルJがセルBとメッセージのターゲット・ポートとを接続する経路上に配置されているときはいつでも、セルBに進入するメッセージが、下位のレベルへセルJに下方向に接続９１２上を移動してもよい。更に、セルLがセルJに接続されていて、且つ同一の時間間隔内に別のメッセージがセルLからセルJに移動する場合には、セルJにメッセージを送信において下位レベルのセルLがセルBを上回る優先順位を有する。セルLが上にあるセルBに制御信号９１４を送信して、セルBにメッセージを下に送信しないように通知することによって、優先順位の信号が送信される。いくつかの実施例では、更に、制御信号９１４によって、下向きの経路９１２上にあるスイッチ９２２が開けられ、それにより、信号送信されたセルからの任意のメッセージが、共有経路９１８上にあるメッセージと衝突することが防がれる。スイッチ９２２は、入力ポート９０８等の外部デバイスが制御信号を受取るのに失敗した場合に、メッセージが衝突するのを効果的に防ぐ。実施例によっては、下向きの経路９４０が1以上のレベルを飛越している。
【００７７】
全てのセルは、セル集団内において別のセル、若しくはFIFOへの退出経路９１８を有し、更に、全てのセルは、共通経路を共有する1以上の別のセルへの直接的な制御信号接続９１２若しくは間接的な制御信号接続（図示せず）を有する。あるセルが下向きにメッセージを送信しない場合には、このセルはこのメッセージを経路９１８上で同一集団の別のセルに送信する。制御信号を用いるメッセージ・ルーティングの重要な利点は、退出経路がセルから常に利用可能であるということである。メッセージは、決してセル内にバッファ、格納、保持、若しくは保存されず、セルを通過しながら常に移動している。更に、1つのレベルに残されたメッセージは、現在までに達成されているメッセージ・ターゲットに向かっての移動の進みを損なうことはない。別の言い方をすれば、このメッセージは、メッセージが現在の集団にいるときには、ターゲットから遠くに移動しない。このメッセージは現在の集団の中で、メッセージ・ターゲットへの経路上にある下位集団に接続されている別のセルと迅速に出会う。
【００７８】
更に、図２Ａも参照すると、データ・ループ９２４が同一レベルにおける1以上の行２０８と対応し、リンク９１２が垂直方向データ経路２１０と対応し、リンク９１８が列間の接続と対応し、更に制御信号９１４が垂直方向信号経路２０６と対応している。相互接続網のいくつかの実施例では、全ての集団によるセットが、任意の入力ポートから任意の出力ポートへのバイナリ・ツリー状の接続経路の集まりを形成する。図９を参照すると、任意の入力ポートから任意の出力ポートへ数多くの経路が存在している。
【００７９】
メッセージＭは、最上位レベルのレベルJから最下位レベルのレベル0まで配置されたJ+1レベルの階層内に配置されている複数の相互接続セルを通過する。この相互接続構造は、複数の入力ポートを通って相互接続構造に進入し、格納されない複数の複数ビット・メッセージを転送する。複数のメッセージのうちの個々のメッセージMは、自己ルーティング式（self-routing）であり、メッセージの複数ビットのうちの一部だけが2セル間で送信され、複数ビット・メッセージが複数のセル間に渡っている、ワームホール・ルーティングを用いてセルを通って移動する。個々のメッセージMは、メッセージMがヘッダにより指定された出力ポートを通って相互接続構造を退出するために十分である4方法を含む複数の方法によって移動する。この4つの方法は：（１）1以上の出力ポート９１０が指定されているメッセージMが、外部デバイスからセルに進入すること、（２）このメッセージMが、バッファリングされずに、相互接続構造中のセルＡ ９０４を通って指定された出力ポートに移動すること、（３）このメッセージＭが、同一レベルにある異なるセルJにバッファされずに、セルLを通って移動すること、及び（４）メッセージMが、宛先により近いレベルにおけるセルでバッファされずに、セルBを通って移動することである。
【００８０】
図１０は、変換数列を生成するための方法、置換ボックス配置を生成する作業の第1段階を示しているテーブル図である。最も単純な数列S2は、数字で0,1,0.のように記述される、2列間での交互の変換である。2のべき乗である変換列は、変換列S2、S4、S8、S16等から構成される。変換列S4 １０３０は、第1数列S2と、２だけ増加された第2数列S2 １０２４との2つの数列から生成される。第1変換列0,1,0は各値の後に空白が書込まれる。数列S2＋2が全ての空白位置に挿入され、0,2,1,3,0の数列S4が生じる。変換列S8 １０３６が、数列S4及び数列S4を4増加させたものから導出され、変換列0,4,2,6,1,5,3,7,0となる。同様にして、変換列S16が、数列S8及び数列S8を8増加させたものから導出され、変換列0,8,4,12,2,10,6,4,1,9,5,13,3,11,7,15,0となる。添字Rが、2のべき乗である場合には、所望のRに達するまで、ここで説明され、図１０で示されるような増分及び併合の方法を続けることで、変換列SRが好適に生成される。これらの数列は、巡回数列（grand-tour sequence）と呼ばれる。
【００８１】
変換列S4は、0,2,1,3,,0,2,...として与えられる。0基点の表記法を用いると、S4[i]が、変換列のith番目の値を参照している。例えば、S4[0]=0、S4[1]=2である。変換列が4要素毎に繰返されることに注意されたい。即ち、S4[i]=S4[i+4]である。一般に、変換列はSnは、n要素毎に繰返される。即ち、Sn[i]=Sn[i+n]である（ここで、iは負でない整数である）。
【００８２】
後の使用のために、用語「下位集団」及び「上位集団」がここで定義される。下位集団は、変換列Snの中の数の値域の下位の半分に配置される全ての行の上にあるセルを含んでおり、上位集団は、上位の半分に配置される全ての行を含む。例えば、与えられた変換列S2（0,1,0,1,0...）では、行0が下位集団に入り、行1が上位集団に入る。変換列S4（0,2,1,3,0...）に関しては、行0及び行1が下位集団に入り、行2及び行3が上位集団に入る。増分された変換列S4+4（4,6,5,74...）の例では、行4及び行5が下位集団に入り、行6及び行7が上位集団に入る。一般的に、集団に関する場合の「上位」及び「下位」の定義は、2進法表示の行数Rと、行が配置されるレベルJとから決定される。この行は、ビットRL,RL-1,RL-2,...R2,R1,R0によって2進法形式で表わされる（ここで、Riは0若しくは1である）。レベルJでは、行Rは、RJ＝1の場合に上位の行として定義され、RJ =0の場合に下位の行と規定される。8行の例では、変換は2進法表記を用いて以下のように記述される：
レベル0（J=0）では、行000,010,100及び110が下位集団であり、001,011,101,及び111が上位集団である（R0は、最も右側のビットである）。
【００８３】
レベル1（J=1）では、行000,001,100及び101が下位集団であり、010,110,011,及び111が上位集団である（R0は、最も中間のビットである）。
【００８４】
レベル2（J=2）では、行000,001,010及び011が下位集団であり、100,101,110,及び111が上位集団である（R0は、最も左側のビットである）。
【００８５】
メッセージ変換列を生成するためのこの方法の1つの望ましい結論として、１つおきの位置が連続的に変換列中央の下及び上になっている。例えば、8行変換列S8（0,4,2,6,1,5,3,7,0）において、交互の位置の第1セット（0,2,1,3,0）の値が全て、第2セット（4,6,5,7,4）の値よりも小さくなっている。従って、数列S8によって規定される経路に従うメッセージは、常に下位集団と上位集団との間を行ったり来たりし、更にそれが繰返され、その結果はこの方法によって生成される変換列の全てと一致している。変換列の更なる有利な結果は、メッセージM1及びM2が各々同じレベルに残る場合に、両方のメッセージが2J列を通って移動するまで（ここでJはメッセージM1のレベル）、メッセージM2がメッセージM1をブロックする位置に再度こないことである。具体的な例をあげると、レベル5におけるメッセージM1がレベル4におけるメッセージM2によってブロックされた場合、このメッセージM1及びM2が再度、整列する前には、メッセージM1及びメッセージM2が他のメッセージによって各々32(25)回ブロックされる必要があり、これは非常に起こり難いことである。従って、図示される構造によって、メッセージのブロッキングが拡張されることが防止される。
【００８６】
相互接続網の最上位レベルに進入するメッセージは、複数の接続の間を、行の範囲の上側半分（上位集団）にある行と下側半分（下位集団）にある行とに、交互に下向きに進んでいく。メッセージが、ターゲットへの接続を南方向に有する最上位セルに到達すると、このメッセージは、範囲が減少されて行の総数が半分になっている次の下位レベルに下がる。例えば、相互接続網が各レベルで16行有している場合、最上位レベルに進入するメッセージは、上位8行の数と下位8行の数との間を、即ち、上位集団と下位集団との間を交互に進む。決定をするのにMSBが用いられる。次のレベルでは、メッセージは各々が4行である集団の間を行ったり来たりして、更に次のレベルでは、メッセージは各々が2行である集団の間を行ったり来たりする。最初が16行の相互接続である集団の各レベルにおける大きさは、8になり、4になり、2になり、最終的に1になり、そこで、メッセージはヘッダで特定されるターゲット行に到達して、この相互接続網を退出する。
【００８７】
表記Pn,mが、置換ボックスを指定するのに用いられる。ここで、nは置換ボックスの中の行数であり、mは変換列の程度である。変換列の程度は、数列中の変換量を示している。第1程度の変換は、2つのノードの間での変換を行う。m程度の変換は、数列中でm個の変換を行う。用語「置換ボックス」は、同一レベル上での隣接する列におけるセルの間で行から行への接続の受動セット（passive set）を示している。図１１Ａ乃至図１１Ｆは、1行、２行、４行、及び8行に関する変換配列を示している。図１１Ａは、変換列□□□１の1行に関しての単純な場合である。数列S1（0,0,0...）は、0から0へ直線的に渡っている接続を指定している。入力行が置換ボックスの左側にあり、出力行が右側にある。図１１Ｂは、数列S2（0,1,0,1...）から得られる変換配列□2,1を示している。数列S2[0]が、数列S2[1]に接続されている。即ち、行0が行1に接続されている。図１１Ｃは、数列S4（0,2,1,3,0...）からの変換列□□□１を示している。行0が行2に接続され、行1が行3に接続され、以下同様である。図１１E及び図１１Gは、数列S8及びS16から各々得られる。置換ボックスを（数列S8を参照せずに）図表で生成する、1つの代替的な方法が図１１Eに示されている。置換ボックス□□□１は、上部左側の象限に配置された4行変換列□□□１と、下部左側の象限にこの置換ボックスの下に配置された一連の4つの水平方向ラインと、右側に配置された上部から下部へ及び下部から上部への8つの接続のセットとの組合わせから形成される。同様にして、図１１Gに示されるように、置換ボックス□□□1を上部左側の象限に配置し、8つの水平方向ラインをこの置換ボックス□□□1の下に配置し、更に、上部から下部へ且つ下部から上部への16ラインの交差部分を右側に配置することによって、変換列□□6,1が、形成され得る。任意の2のべき乗の置換ボックスを得るように、帰納的な図式解法を無制限に続けることが可能である。
【００８８】
変換列が全ての行に対して同じになっている必要はなく、又、数列がレベル数に関連する周期若しくは同様の規則で繰返される必要もない。例えば、レベル2において、好適な変換列S4（0,2,1,3,0...）の代わりに変換列0,1,1,0,2,2,3,3が用いられてよい。確率的には、そのような変換列は、公平なメッセージの流れ、最小化されたブロッキング、及び少ない移動時間という望ましい統計的な特性は有していない。図１１Dは、置換ボックスの望ましくない例である、中線を横切る平行な接続によって生成される単純な配置の□X4,1を示している。全てのメッセージが中線を横切って、上位集団と下位集団との間で常に行き来をするのが望ましい。別の実施例では、メッセージがレベル毎に少なくとも1度は上位及び下位の行を訪れることを可能にする任意の変換列が用いられてよい。これらの変換列の性能は、巡回変換列よりも劣っている。
【００８９】
図１１F及び図１１Hは、無作為の組合わせから得られる置換ボックスを示している。図１１Fは、無作為の組合わせから得られる□R8,1の8行変換列を示している。行の下部にあるセットが、無作為に上半分の行と接続されており、上半分にある行に対してその逆もまた同様になっている。例えば、行0,1,2及び3が行6,4,5及び7と無作為に接続されており、上部の行の接続についても同様になっている。図１１Hは、16行での無作為の置換ボックス□R16,1である。相互接続網１００の好適実施例では、無作為の変換列は、相互接続網の全ての列で異なっている。代替実施例では、無作為に生成されたパターンが複数の位置で用いられてよい。相互接続網１００の種々の実施例を通って流れるメッセージのシミュレーションによって、図１１F及び図１３Bに示されるような無作為の変換列が、許容範囲にあるスループット率を生じることが示されている。相互接続網１００の有用な構造としては、巡回変換列が用いられる。
【００９０】
一般的に、変換列Snから生成される置換ボックス□n,1の構成は、範囲（0,1,...,n-1）にある全てのiに対して、入力ポートSn[i]が出力ポートSn[i+1]に接続されるという規則によって与えられる。無作為の置換ボックス□Rn,1は、全ての接続が中間線を横切ることを保証すると同時に、行のターゲットを無作為に組合わせることによって生成される。
【００９１】
変換列S8には、置換ボックス□□,1を構成するのに用いられる8行のセットを通るメッセージの流れが記述されている。図４B及び図７Cは、各レベルにおいて、単一の置換ボックスだけを有する配置が示されている。これらの例では、列から列への行の接続が直線的に渡っている。即ち、メッセージが東に移動する際に、行番号は変更されない。2つの変更によって、流れの記述は、8行変換列S8に変換される。第1の変更は、程度mの置換ボックス７０６を用いることである。第2の変更は、以下で説明されるように、ノードアレイ内のセルの異なる層間配置である。
【００９２】
程度mの置換ボックスは、連続して接続されているM個の（程度1の）置換ボックスの場合のメッセージの流れと同じ効果を生じる。図１２Ａ乃至図１２Ｄは、程度Mの置換ボックスの例を図示している。変換列S8（0,4,2,6,1,5,3,7,0,...）の場合は、点線で示されるように、行0を出発するメッセージが、3ステップ後の行6に移動する。行1を出発するメッセージが、3ステップ後の行7に移動する。置換ボックス□□,3は、連続して接続されている3つの□□,1置換ボックスの効果を生じる。図１２Bは、4つのステップによって生成される程度4の置換ボックス□□,4を示している。図１２Cは、5ステップ後で生成される□□,5を示している。図１２Dは、7ステップ後に生成される□□,7を示している。□□,0の場合と同じで、直線的に渡っている接続のセットである□□,8は示されていない。相互接続網１００の有用な一構成として、図７Cに図示されているように、レベル毎に単一の置換ボックスが用いられる。図１Ａ、図１Ｂ、図７Ａ、及び図７Ｂに示されるように、代替的な構成では、列毎に単一の置換ボックスが用いられる。
【００９３】
置換ボックス□□,9は、□□,1の場合と同一である。一般的に、置換ボックスPn,mはPn,qと同一である（ここで、q = m+n*(整数)である）。置換ボックスPn,mの構成は、範囲（0,1,...,n-1）内の全てのiに対して入力ポートSn[i]が出力ポートSn[i+m]に接続されるという規則によって与えられる（ここで、ｍは変換列の程度である）。mが奇数の場合、無作為の置換ボックスPRn,mは、定義によりPRn,1と同一である。mが偶数の場合は、変換列は単に無作為の組合わせであり、そこでは、接続は中線を横切っていない。
【００９４】
図４Ａ及び図４Ｂに示されるブロック図の配置は、相互接続構造を通って移動するメッセージへの変換列の適用を図示している。図１３Ａは、前に図示された低密度の配置に比べて、セルを互いにより近接する緻密な「正方形」の配置にすることによって、実際のシリコン配置のより効率的な使用を示されている。列の間の変換列の効果は、水平方向の接続経路２０８及び垂直方向の接続経路２１０の上でのセルの特定な配置によって生成される。5レベル、16行の相互接続網の3つの列と、上側の4レベルが示されている。レベル0は示されていない。任意の行を横切るメッセージの検討することによって、そのレベルに対する巡回変換列Snが得られていることが確認される。例えば、レベル4における行0が、0,8,4...と一連の変換列S16に従っている。この配置の望ましい副次的な効果は、セルが常に、南方向及び東方向に接続されているセルに非常に近接して配置されることである。長いトレースが相互接続配置の内部に生じず、全てのセルとセルの接続が類似の長さを有していることが望ましい。
【００９５】
図１３Ａには、各レベルに沿った最大セル間距離を効果的に最小化させる、各ノードアレイ内での緻密なセル配置が示されている。しかしながら、右側の列は、最も左側の列にループバックされる必要がある。図１３Ｂでは、レーストラック配置が示されており、そこでは、戻り経路が１３９０がノードアレイによって占有され、望ましくは最大接続距離が最小化されている。FIFO（図示せず）のセットが、ループに沿って付加的に配置されてよい。
【００９６】
実施例によっては、相互接続構造は、大きさが2のべき乗になっていない等、非標準の特性を備えて構成されてよい。図１との併せて、図１４が、11行の相互接続網を示している。2Lが11以上になる最小の整数が4である（24 = 16）ので、相互接続構造はレベル0乃至レベル4を有する。各レベルは、11行を有している。最上位レベルの11行は、図９で示された構造の方法により、単一の集団に属する。メッセージがレベル4からレベル3に下がる際に、このメッセージは、2つの集団のうちの一方に移動する。これらの集団は、できるだけ等しい大きさに近付けられる。それゆえに、レベル3における下位集団は6つの行を含み、上位集団は5つの行を含んでいる。レベル4からレベル3に移動するメッセージMは、同様にして行R、列Cにあるレベル4のセルから、行Rにあるレベル3のセルに移動する。C＜K−1の場合（ここでKは列の総数である）には、このメッセージMは列C+1に移動し、C = K−1の場合には、メッセージMは次の列として参照される列0に移動する。
【００９７】
レベル2は4つの集団を含んでいる。下位の2集団は、レベル3の下位集団からメッセージを受信する。レベル3の下位集団は、レベル2において、2つの3行の集団に分けられる6つの行を含んでいる。上位の2集団は、レベル3の上位集団からメッセージを受信する。レベル3の上位集団は、レベル2において、2行の集団及び3行の集団に分割される5つの行を含んでいる。レベル3からレベル2に移動するメッセージMは、レベル3の行3、列Cのセルからレベル2の行Rのセルに移動する。レベル1は、上位のレベルの2倍の集団（この場合には8集団）を含んでいる。3行の集団は、1行の集団及び2行の集団へと下側に接続する。2行の集団は、2つの1行の集団へと下側に接続する。レベル1における8つの集団は、各々2行、1行、2行、1行、2行、1行、1行、及び1行を含んでいる。レベル0は、1行の集団を11個含んでおり、各行がメッセージに対するターゲットになっている。前と同様に、レベル1からレベル0に移動するメッセージMが、同じ番号の行へと下に移動する。
【００９８】
図９を参照すると、行、データループに沿って移動するメッセージは、出力への経路に接続されている行へ下側に接続される若しくは接続されないセルを通って移動する。概して、メッセージを最終的なターゲット行に方向付けるバイナリ・ツリー状の方法が築かれている。メッセージは、最初に最上位レベルにおいて行から行に大きな移動を行い、続いて、連続する下位レベルでより小さな移動を行う。好適実施例では、最上位レベルにあるメッセージが、次の下位レベルにおいて、その下位レベルの上半分に配置されているセルに、次に下半分に配置されているセルに、交互に接続する。東に移動するメッセージが、そのメッセージにより特定される宛先にそのメッセージを最終的に接続させる下位レベルのセルへと、下側に接続されているセルに到達する前に、たった2列しか横切らないということに利点がある。次の下位レベルでは、行の間を移動する範囲が、好適には前のレベルの半分になっている。最終的に、メッセージがレベル1に到達すると、このメッセージは2つの行の間を行き来して、それにより、メッセージがこのメッセージのターゲット行から相互接続網を退出可能となる前に、メッセージ・ヘッダの1つだけ残っているビットが検討される。
【００９９】
あるレベルにおける行の数は、図１４に示されるように2のべき乗になっている必要はない。11行の変換列を生成するための方法が記載されている。その目的は、任意の所定レベルに留まっている間に東に移動するメッセージの行から行への変換を特定する、行番号の置換を作ることである。この方法の第1ステップは、最上位レベルにおける行の数R（この例では11）を、ほぼ等しい半分に分解することである。値11は、2つの整数6と5とに分割される。大きい方の値6が、常に最初に書かれる。結果として生じた2つの値の６及び5は同様にして分解される。値6は、3と3とに分けられる。値5は、3と2とに分けられる。値3は、2と1とに分けられる。2か1に達すると処理が停止される。
【０１００】
以下の説明では、数列「Sn」は、値nの変換列を含む列を示している。Rを分解した後、次の作業は、11行の変換列S11を作成することである。前の処理のステップが逆にされる：数列S2及びS1から数列S3が生成され、数列S5が数列S3及びS2から生成され、数列S6が数列S3及びS3から作成され、そして最後に、数列S11が数列S6及びS5から生成される。いずれの場合にも、より小さな2つの数列がより大きな変換列を作るのに用いられる。変換列S1は、0,0...と規定される。変換列S2は、0,1,0,1,...と規定され、これは東に移動するメッセージが、行0及び行1にあるセルへと交互に下側に接続されることを意味している。変換列S3は、最初に変換列S2の各値の後に空白位置を書込む：0,_,1,_,...ことによって、変換列S2及びS1から生成される。変換列S2（0,1,0,1,...）に含まれていない次に大きい整数は2であるので、従って、2が変換列S1に付加されて（2,2...）を生じる。後者の変換列（S1+2）が、S2の空白位置に配置される。S3が変換列0,2,1,0,...となる。これは、3行の集団の上を東に移動するメッセージが交互に、行0,2,1,0,2,1,0,...をその順番通りに訪れることを意味している。
【０１０１】
変換列S5は、変換列S3及びS2から生成される。大きい方の変換列S3は、最初に各値の後に空白が書込まれる：0,_,1,_,2,。数列S3の中にない次に大きい整数は3であるので、数列S2（0,1）の各値にその3が付加される。その結果の（3,4）がS3の空白位置に挿入される。それゆえに、数列S5は変換列0,3,2,4,1,0...となる。変換列S6は、数列S3（0,2,1）と数列S3に次に利用可能な整数3を加えたものとから生成される。前と同様に、数列S3は、各値の後に空白位置が書込まれる：0,_,2,_,1,_。値3が数列S3に付加され、その結果の（3,5,4）が空白位置に挿入される。数列S6は、変換列0,3,2,5,1,4,0,...になる。数列S11は、変換列S6及びS5から生成される。再度、大きい方の数列S6は、最初に各値の後に空白位置が書込まれる：0,_,3,_,2,_,5,_,1,_,4,_。例では1が、行変換列を生成するために、逆の順番で用いられる。数列S1及びS2に対して事前に定義済みの変換列を用いると、数列の組S2及びS1から数列S3が得られ、数列の組S3及びS2から数列S5が得られ、数列の組S3及びS3から数列S6が得られ、更に数列の組S6及びS5から数列S11が得られる。組の第1の値は、各数の後に空白位置が書込まれ、更に、増分された第2の値がその空白位置に書込まれる。増分される値は常に、第1の変換列の中の最大整数の次に大きい整数である。任意の変換列は、数列が繰返されることによって無制限の長さを有しているとみなされる。例えば、数列S3（0,2,1）は0,2,1, 0,2,1, 0,2,1,0,..と拡張される。
【０１０２】
所定レベルにおいてメッセージが東に移動する際にメッセージをルーティングするための方法の望ましい成果は、メッセージが次の下位レベルで2集団の各々に交互に移動することである。例えば、Rが11である場合、変換列S11（0,6,3,9,2,8,5,10,1,7,4）によって、メッセージが5行の上側の組6,9,8,10,7と6行の下側の組0,3,2,5,1,4に交互に配置される。最上位レベルにおけるメッセージのMSBが1である場合、ターゲット行は上位集団の中に入るように規定される。メッセージがたまたま下位集団の中の行にある場合、このメッセージは他方の集団の中にある行に都合よく配置されるように、1列だけ東に移動される必要がある。次の下位レベルでも、同じ交代が行われる。従って、次のレベルに下がる場合、メッセージがそのレベルからすぐに南に移動し得る可能性、若しくはそのメッセージが、次に南に移動可能な列へと東に1列だけ移動し得る可能性は約50%である。各レベルにおいて、メッセージが相互接続網１００を通って南に移動する際に、メッセージは平均して約1.5個のセルを訪れる。奇数番号の集団の場合、いくつかの列では、メッセージがターゲット集団に到達するために2列東に移動する必要があり、それにより、全ての偶数番号の集団に対して、レベル毎の平均訪問数が僅かだけ増大される。
【０１０３】
図１５Ａ乃至図１５Ｄは、変換列S3、S5、S6及びS11に対する置換ボックスの配置を示している。数列S3に対する変換列□□,1は、列の間を東に移動するメッセージを示しており、この数列S3に従って行から行への列が0,2,1,0になっている。行0にあるメッセージが次の列の行2に移動し、行1にあるメッセージが次の列の行0に移動し、更に、行2にあるメッセージが次の列の行1に移動する。図１５Bは、数列S5（0,3,2,4,1,0）に対する変換列□5,1を示している。行0のメッセージが次の列の行3に移動し、残りの行も同様にして移動する。図１５C及び図１５Dは、各々、変換列□6,1及び変換列□□,1を示している。
【０１０４】
図１６には、3ベースの相互接続網に対する変換列を生成するための方法が示されている。この方法は、図１０に示される2ベース相互接続構造と類似している。最小の数列S33が3つの行を有し、0,1,2,0...と規定されている。次の3のべき乗は9であり、S39が3つのS33の複製から生成される。最初の複製は、各値の後に2つの空白位置を備えるように書かれている。次の数列は、次に利用可能な行番号3だけ増分され、各数の右側にある利用可能な第1番目の空白位置に書込まれる。第3番目の数列は、次の行番号6で増分され、残りの空白箇所に書込まれる。その結果の数列S39が、0,3,6,1,4,7,2,5,8,0,...となる。次の3のべき乗のS327が、同様な方法で生成される。S39が、各数の後に2つの空白位置を備えるように書込まれ、更に、連続的な増分された数列が間に書込まれて、数列S327が作られる。
【０１０５】
3ベースの置換ボックスは、S3N変換数列を用いて配置される。図１７は、変換列S33から生成された3行の置換ボックス□□3,1が示されている。置換ボックス□□9,1は、変換列S39から得られる。変換列□□3,1が上部左側の角に配置され、その変換列□□3,1の下に6つの水平方向行が配置され、更に、3乃至6の交差部分を作ることによって、置換ボックス□□9,1が図式解法的に生成され得る。置換ボックス□□27,1は、変換列S327から得られる。この図式解法が、上部左側の角にある置換列□□9,1と、その置換列□□9,1の下にある18の水平方向行と、9乃至18の交差部によって図示されている。
【０１０６】
図１８は、3ベース、27行の相互接続網の列1が示されている。列0の3レベル全てで恒等行列の配置が繰返されている。3ベース処理の利点は、2ベース処理よりもレベル数が小数であることである。例えば、図示されている3レベルの相互接続構造は、27ポートをサポートする。2ベースのシステムでは、5レベルが必要であり、32ポートをサポートする。3ベース処理の欠点は、3進法の値0,1,2を表現するために、メッセージ・ヘッダが、好適には、2つのバイナリ・ビットを用いて3ベース表記法で表現されることである。3ベース・セルは、メッセージが南に送られるべきであるか決定するために、2つのヘッダ・ビットを検証する。相互接続構造は、ノード当り単一セルの設計が用いられており、3セル設計は、利点を有するが、付加的な複雑性を含む可能性がある。その設計の詳細はここでは省くが、2セル（2ベース）設計に対する議論を検討することによって得られる。相互接続網１００の実施例では、システムの配置に任意のベース値を用いてよい。2ベースは、2進法の処理により当然サポートされており、ロジック・ゲート及びアドレス空間が効率的に使用されるようにする。ベースが2のべき乗以外の設計の利点は、限定的なものである。しかしながら、市場で現在市販されている大きな「低レイテンシィー」ネットワークと比較すると、より高オーダーのベース・システムは、費用及び性能の面で優れている。
【０１０７】
4ベース設計が用いられている相互接続網１００の一例では、前で説明された2ベース実施例と比較して、レベルの数が2だけ減少される。図１９Ａは、4ベース・セルを示している。図１９Ｂは、ルーティング情報に制御信号が用いられており、全てが同一レベル上にある4つのノードA、B、C、及びDが図示されている。これらのノードの各々は、2つのデータ入力ポート、2つの制御信号入力ポート、3つのデータ出力ポート、及び2つの制御信号出力ポートを有している。ノードV（図示せず）が、ノードAのレベルの下のレベル上にあり、ラインS0からデータを受信する。ノードVと同一レベル上にあるノードU（図示せず）が、ノードVに直接データを送信する。ノードVと同一レベル上にあるノードW（図示せず）が、ノードVから直接データを受信する。ノードA若しくはノードDから、ラインS0を下方向にに送信されたデータは、ノードVを通過して、ノードWに直接移動する。ノードVは、ラインS0から到達するデータの流れに影響を及ぼすことができない。ノードV、ノードA、及びノードDの間には、ノードWにデータを送信することの優先順位の関係が存在する。ノードVが最も高い優先順位を有している。ノードAは、次に高い優先順位を有しており、最後にノードDが、データをノードVに送信に対して最も低い優先順位を有している。
【０１０８】
ノードAから到達可能な全てのポートを含む、システム出力ポートOのセットは、ノードB、ノードC、及びノードDから到達可能なシステム出力ポートのセットと一致している。ノード出力ポートS0、S1、S2、及びS3の各々は、次の下位レベルの上の異なるノードに通じている。次の下位レベルのあるノードから到達可能な出力ポートのセットは、出力ポートのセットOの中にある出力ポートの１／4が含まれる。
【０１０９】
図１９Bでは、制御信号BS0を通してノードAがビジー信号を受信し、その信号をノードDに中継する。ある代替的な設計には、制御信号BS0の源からノードDに直接延びるラインと、ノードAからノードDへの制御ラインとが含まれる。制御信号は、データの流れを制御するのに用いられる。制御信号がとる経路の詳細は重要でない。ANDゲートと共に、4つのセルの下にある図１９Bの4つのセルは、8データ入力ポート、4制御信号入力ポート、8データ出力ポート、及び4制御信号出力ポートを備えた単一ノードXと見ることが可能である。
【０１１０】
北からのデータ入力信号は常に、直接、東にノードを通過する。西からの各データ入力は、3方向に転換され得る。東に退出する西からのデータは常に、入力ポートと同じレベル上にある出力ポートを通って退出する。入力ポート間の優先順位関係が存在しており、それは、ノード内の個々のセルの間の優先順位関係から引継がれたものである。ノードXの入力ポートW0からのデータは、ノードXの出力ポートS0からデータを送信することに対して、ノードXの入力ポートW3を上回る優先順位を有する。
【０１１１】
ノードSW（図示せず）にデータを送信するように配置された、各ノードXの出力ポートopxの各々に対して、この出力ポートopxからデータが送信されるようにノードXの入力ポートIPXが配置される。この入力ポートは、出力ポートopxを通してデータを送信するための入力ポート・セットの最上位ランクの構成要素から、出力ポートopxを通してデータを送信するための入力ポート・セットの最下位ランクの構成要素まで順序付けされる。この方法で、出力ポートopxへのメッセージのアクセスが、位置ベースの優先順位機構（priority-based-on-scheme）によって規定される。入力ポートのセットIPXに進入する各メッセージは、ターゲットを有する。このターゲットは、相互接続構造の出力ポートであってもよいし、若しくは別の構造に送込むターゲット・リングであってもよい。
【０１１２】
出力ポートopxにデータを送信するための入力ポート・セットIPXの構成要素の間には、優先順位関係が存在する。この優先順位関係では、入力ポートpが、入力ポート・セットIPXの一構成要素になっている。
【０１１３】
メッセージMPが入力端子セットIPXの入力ポートpに到達し、且つ出力ポートopxからメッセージMPのターゲットへの経路が存在する場合、入力端子セットIPXに到達するメッセージのうちの1つが、出力ポートopxを通して条件付きに送信される。メッセージが送信されるための条件は、出力ポートopxが、ノードXを通って進行していないメッセージによってブロックされていないことである。１）入力ポートqが入力ポートpよりも出力ポートopxへの送信で高い優先順位を有し、更に２）入力ポートqにメッセージMqが到達し、出力ポートopxからメッセージMqへのターゲットの経路が存在するように：入力ポートpが入力端子セットIPXの中に含まれる場合、メッセージMpは、出力ポートopxに送信されない。
【０１１４】
この例では、以下で説明されるように2レベルの制御とロジックとを単一レベルの内部で組合わせている。4ベース・ノードによって、南方向に4つの出力が提供され、メッセージを2つのレベルを通して下げる効果が複製される。省かれたレベルを通過してスキップすることの付加的な望ましい特性は、相互接続構造を通しての移動時間を減少させ、それにより低レイテンシィーを生じることである。図９も参照すると、あるレベルにおけるセルが、次の下位レベルにおいて、各々「上位」及び「下位」の集団として参照される2つの集団に接続されている。4ベース・セルは次のレベルの4集団のうちの1つと接続しており、バイナリ・ツリー状の経路に対して、効果的に「4ベース・ツリー」を生成する。各4ベース・セルは、南方向に4集団のうちの2つへの接続を有する。複数のセルが相互接続して、南方向への経路を共有する。図示されている4ベースの実施例では、4ベース・セルは、4集団のうちの2つへの接続を下側に有する。次の列では、セルは別の2集団への接続を有する。
【０１１５】
4ベース相互接続に対するメッセージ配置及びヘッダは、図３Ａに示されているのと同じである。図１９Ａを参照すると、メッセージが4集団のうちのどれに行くべきか決定するように、セルＡによってMSB１９０２、次の上位ビット１９２６、及びトラフィック・ビット１９０２が検討されている。各セルは、南方向に2つの経路を有する。メッセージがこの経路のうちの1つを使用できず、、それゆえに東にルーティングされる必要がある可能性も存在する。このルーティングは、状態６４０の2ベース・セルからメッセージが東にルーティングされるのと類似している。以下で説明されるように、メッセージが東に送信されると、経路を共有する北のセルが、制御信号BN１９０６により通知される。あるいは、ヘッダによって、南への2経路S0若しくはS2のうちの一方への移動が示されてもよい。経路S0は、同一ノードアレイ内の別のセルと共有されていてもよく、更に、セルAが経路S0の使用に関して別のセルを上回る優先順位を有していてもよい。それゆえに、メッセージ・ヘッダによって経路S0を通してのターゲットが示されていて、且つ南からの制御信号によってその経路がブロックされていないことが示されている場合、セルAによってメッセージが経路S0へと下に送信される。更に、セルAは、経路S0を共有するセルDに制御信号を送信する。セルAが優先権を有していない経路S2上へのメッセージの送信を試みる場合、セルAは経路S2の使用に関して優先権を有するセルCからの制御信号の状態をチェックする。4ベース・セルは、直下にあるセル、若しくは共有出力経路S2上の優先権を有する同一ノードアレイ内のセルによってブロックされる可能性がある。セルAは、優先権を有する出力経路S0を別のセルDと共有しており、セルDへの制御信号によって経路S0の使用に関する情報交換を行う。セルAは、優先権を有さない出力経路をセルCと共有しており、セルCから制御信号を受信する。
【０１１６】
図１９Bは、同一ノードアレイ内にある4ベース・セルの配置が示されている。点線で示されるように、経路S0の使用に関して、セルAがセルDを上回る優先権を有している。セルAは、経路S0上を南にメッセージを送信するときに、同時にセルDに制御信号を送信する。各セルは、南方向に2経路を有しており、どの経路に優先権を有するかが太線によって示されている。優先順位の配置は、A-D-B-C-Aになっており、セルAがセルDより上の優先権を有し、セルDがセルBより上の優先権を有し、等のようになっている。あるセルが優先権を有さない経路上にメッセージを送信しようとする場合には、最初に、優先権を有するセルからの制御信号が検討される。
【０１１７】
図示されている例では、4ベース相互接続構造を構成するための基本的構成要素は、東からくる4つの信号を切換えること、及び北からの信号を直接東に通過させることが可能なノードである。同一の相互接続構造内で同種の別ノードが用いられてもよい。図解的な実施例が図１９C及び図１９Dに示されている。
【０１１８】
図１９C及び図１９Dでは、ラインS0が位置Wに通じている。位置Wは、1つのノード、若しくは1つのノード内の1つのセルであってよい。位置Wと同一レベル上にあるセルVが、位置Wへのデータ送信に関する最も高い優先順位を有する。4つのセルA、B、C、及びDの中で、位置Wへデータを送信することに関して、他の3セルを上回る優先権を有するセルは1つもない。1つの共通のロジックによって、セルA、B、C、及びDから位置Wにメッセージを送信するための接続が決定される。セルA、B、C、及びDは、別個のノードとみなされてよい。ノード・セットOは、単一ノードVを含むセットを示している。ノード・セットRは、4つのノードA、B、C、及びDを含むノード・セットを示している。ノード・セットOからのメッセージは、位置Wへの送信に対して、ノード・セットRを上回る優先権を有している。
【０１１９】
図１９Cに示されるノードは、4つの2×2スイッチ１９２２と、セルA、B、C、及びD にある4つのスイッチ１９１０とが含まれる。このノードは、西から任意の入力ポートに到達したメッセージを、同じ行の上の東の出力ポートへ、若しくは南の任意の出力ポートへ方向付けることが可能である。ノードと結合されている制御ロジック１９２０は、南からの4つのビジー信号、4つの入力メッセージからのトラフィック・ビット、及び4つの入力メッセージの各々からの2つの最上位ビットを含む、16の入力ビットを受信する。このロジックは、セルA、B、C、及びDにおける4つのスイッチの設定を行い、更に、4つの2×2スイッチの設定も行う。ノードと結合されているロジックは、16ビットを入力信号として受信して、ビジー信号が含まれる、ノード状態を示す8ビットを生成する。図１９Dに示されるように、北方向へのこのビジー信号は、制御ロジック・ユニット１９２０若しくはノードA、B、C、及びDによって生成される。
【０１２０】
このロジックによって用いられる規則では、経路S0へのアクセスに関してノードAが最優先される優先順位機構が用いられているものとする。ノードAにおけるメッセージが経路S0をターゲットにしていて、ノードBにおけるメッセージが経路S0をターゲットにしていて、ノードCにおけるメッセージが経路S1をターゲットにしており、ノードDにはメッセージがないと仮定する。ノードAにおけるメッセージがノードAのターゲットに進むのを許可する際に、1つだけのメッセージが南に移動することが可能になるのに対して、別の規則では、2つのメッセージが南に移動することが可能になる。そのような一組の例によって、優先順位が厳密に位置に基づいている任意の規則を用いることの不利益が示されている。所定レベルにおけるメッセージが、より上位レベルからのメッセージと所定レベルにおいて1つの優先権を有するメッセージとを、上回る優先権を得るための効果的な手順が、他の機構に基づいている可能性もある。そのような2つの機構には、（１）最大数のメッセージがレベルを下げることを可能にすること、及び（２）ヘッダ内のサービス品質（QOS）優先順位ビットに従ってメッセージに優先権を与えることが含まれる。
【０１２１】
図１９C及び図１９Dを参照すると、複合ノードNが、複数のセル、制御ロジック要素、入力ポート、出力ポート、及びスイッチによって構成されている。複合ノードには、4つのセルA、B、C、及びD、制御ロジック１９２０、並びにスイッチ１９３０が含まれる。この複合ノードは、4つのデータ入力ポートW0、W1、W2、及びW3と、8つの出力ポートを有する。出力ポートのうちのS0、S1、S2、S3の4つは、出力ポート・セットSへと集団にされる。出力ポートのうちのE0、E1、E2、及びE3の4つは、出力ポート・セットEへと集団にされる。出力ポートSを通って進むデータは、1つ下位のレベルの、ノードNの1列右側にあるノードに進入する。出力ポートEを通って進むデータは、同一レベルの、ノードNの1列右側にあるノードに進入する。制御ロジック・ユニット１９２０は、出力ポート・セットTを通して送信される制御信号及びメッセージ集団のヘッダ・ビットに基づいて制御の決定を行う。出力ポート・セットTの中にある出力ポートはノードNの入力ポートに接続される。
【０１２２】
複合ノードNに進入する各メッセージMに対して、このメッセージMで指定されるターゲットの出力ポートへの、複合ノードを通る経路が存在する。制御ロジック１９２０は、メッセージ・ヘッダと、この制御ロジック１９２０により受信された制御信号とに基づいて、ノードN内のスイッチ及びノード間のスイッチを制御する。これらのノード及びスイッチは、ノードPMに送信可能なメッセージMの数を増大若しくは最大化させるべく、ロジック・ユニット１９２０によって設定される。このノードPMは、１）ノードNのレベルよりも下位のレベルにあるノードであり、且つ２）このノードPMを通る、メッセージMのターゲットへの経路が存在するノードである。
【０１２３】
図１９Dのノードは、付加的な2×2スイッチ１９３０を有しており、望ましくは、西から到達するメッセージの任意の置換を実行することが可能になっている。制御ロジックは、入力信号の16ビットを受取り、ノードの状態を表わす10ビットを作り出す。所定の出力ポートに対して、ノードA、B、C、及びDでのメッセージの間で競合が生じる可能性がなお、あるので、この場合にも、制御ロジックに複雑な手順が用いられてよい。
【０１２４】
一代替実施例では、図１９C及び図１９Dに図示されているノードを通るメッセージの流れを制御するロジックに、メッセージ・ヘッダ中のQOSビットが用いられてもよく、それにより、高い優先順位を有するメッセージが低い優先順位を有するメッセージと対照的に、下位レベルに移動することの高い優先権が与えられる。ある場合には、優先順位は、まず第1にQOSに基づいて設定され、第2にノード内の位置に基づいて設定される。
【０１２５】
図２０Ａは、4ベース・セルがどのようにしてノードアレイの内部及びレベル間に接続されるのかが示されている。レベル0にあるセルが、対角方向に沿って配置されている。レベル2では、セルAが行−列−レベル位置[0,0,2]に配置されている。行0の上にあるセルは、各セルの上の表記で示されるように、S4変換列（0,2,1,3,0...）で南に接続される。太字で表示された値によって、どの経路が優先権を有するかが示されている。セルAは、行0への南方向の接続をセルDと共有する。セルAは、行0の使用に対してセルDを上回る優先権を有する。列0、レベル2において、複数のセルが対角方向に配置されており、南方向に直行する、優先権を有する接続を備えている。次の列の列1では、変換列S4の次の2位置の影響が及ぼされており、その後の列では、変換列S4が繰返される。第2の繰返しでは、第1の繰返しで優先権を有していなかった値に優先権が与えられる。行に沿って太字で示された値を検討すると、行に沿った相対的な優先権が示されている。レベル2で、メッセージが任意の2つの列を通って東に移動するときに、このメッセージは、レベル0における4行のうちの任意の行に下がる機会を有する。
【０１２６】
ノードアレイ内のレベル2にセルを配置する方法は、セルが対角方向に沿って配置されている第1列から開始される。数列S4（0,2,1,3,0...）を参照すると、優先権は、行番号と同じ値に割当てられる。次の番号によって、変換列S4の中にある組の別の行番号が与えられる。例えば、行0のセルAが、行0及び行2へと南に接続されている。0はセルの行番号でもあるので、値0に優先権がある。次の列の列1では、セルAが変換列S4の中の次の2つの値：1及び3を用いている。組の第1番目の値が優先権を有している。同様にして、列1のセルの残りが、連続的な変換列S4の規則に従って配置され、更に、第1番目の値に優先権が与えられる。次の列の列2では、変換列S4が同様に連続しており、全ての4つの値は2列だけで条件を満たされるので、優先順位が逆になる以外は同様にして変換列が繰返される。行0、列2のセルA’は、南方向に、列0におけるセルAの行と同じ行0及び行2へ接続される。しかしながら、メッセージの流れの優先権は、プライム表記及び制御信号の方向の逆転によって示されるように逆になっている。メッセージが下からブロックされておらず、且つ接続されている他のセルによって共有経路が用いられていない場合に、4列を通り東に移動するメッセージが、任意の行に到達する機会だけでなく、優先権を持つ4つ行のいずれからも下がる機会を有することに利点がある結果になっている。変換列の数S4によって、セルの組の相互接続が決定される。
【０１２７】
本例では、メッセージが2つのレベルをジャンプして、それにより、望ましくは奇数番号のレベルが除去される。2つのヘッダ・アドレス・ビットが検討されており、セルは南方向に利用可能な4経路のうちの2つを有する。レベル数及び制御ロジックの量が軽減され、それにより移動時間が効果的に減少される。図示されている制御機構では、優先権が公平に配分されている南への単一メッセージ経路を2つの行が共有している。4ベース・セルは、所望の制御及びメッセージの流れを得るように、ノードアレイ内の他のセルと、西及び南方向へのセルと組合わせて配置されている。4ベースの実施例において東に移動するメッセージは、単一経路の実施例において東に移動するメッセージと比べて、2レベル相当の下への移動の概ね2倍の機会を有するということに利点がある。
【０１２８】
図２０Bは、16行の4ベース・スイッチの1列を示している。南への共通経路を共有する一組のセルは、セル２００２乃至セル２００４に接続されている同じレベルの制御信号によって通信する。単純化のために、制御信号の接続は示されていない。4ベース・セルの配置は、各レベルで対角方向に沿ってセルを配置することによって与えられている。適切な大きさ及び程度の置換ボックスが、ノードアレイの東に配置されている。4ベース配置によって、変換列の2ステップが達成されるので、この変換列は程度2である。置換ボックス□□6,2が、レベル4で用いられており、置換ボックス□□□2がレベル2で用いられている。
【０１２９】
図２０Aに対して考察された処理によって、ベース4・セル配置が生成される。レベル4に関しての南方向への相互接続パターンは、90度回転され、南方向への平行な垂直経路の上に配置された置換ボックス□□6,1として与えられたものと同様である。16セルが全て同じリスト内にあるので、最上位レベルでは16セルの間の優先順位がラウンドロビン式になっている。同様にして、レベル2の南への相互接続パターンは、南への垂直方向接続の上に配置された置換ボックス□□,1として与えられたものと同じである。4つの優先順位リストになっているレベル2では、図１９Bに示される状態と類似している。
【０１３０】
図２０Bの相互接続網は、レベル2において、セルが図１９Bに図示される種類のノードを形成するように4集団にグループ化され得るという特性を有する。しかしながら、図２０Bのレベル4ノードの各セットが、レベル4の他のノードへと制御相互接続ラインと接続されている。それゆえに、レベル4内のノードを、図１９Bに図示される種類のノードを形成するように、4つの集団に分解することは不可能である。図２０Cに図示されている16行4ベース相互接続網内にあるノードは、図１９Bに図示される種類のノードを形成するように、4つの集団に分解することが可能である。相互接続網内で用いられる置換に対して、多くの選択をすることが可能である。3つの置換P4、Q4、及びR4が列及びスイッチ・アレイの間で用いられる。所望に応じて、処理能力を向上させるために置換S4が用いられてよい。用いる場合には、置換S4は、4回毎にだけ用いられる。レベル2の中にある行は、各々4行である4つの集団に分けられる。行0、1、2、及び3の上を進むメッセージは（他の3つの集団にある行の場合も）、高さ0、1、2、及び3の出力ポートを通ってのみ退出することが可能である。この置換ボックスP4は、4セル・ノードの各々が、レベル2の上の4つの行集団の各々にデータを送信することが可能であるように設計されている。
【０１３１】
図２０Cを参照すると、レベル4の上のノード２０２０の最も左側にあるセルが、レベル2の上の最も左側にあるノード２０２４にデータを送信する。左から2番目のセル２０２２は、レベル2の各列の内部の左から2番目のノード２０２８にデータを送信する。このパターンは、レベル4上の4つのノードの各々に対して連続している。置換Q4は、連続する時間ステップにおいて、同じレベル4からのメッセージをブロックし得る、レベル2上のメッセージが存在しないことを保証する。置換R4は、連続するステップにおいて、第2のレベル4メッセージをブロックする位置にあるレベル4のメッセージが存在しないことを保証する。更に、置換S4は、4以上の時間ステップの間、同一レベルの上に残るメッセージの間の競合を減少させる。
【０１３２】
このパターンは、4つのセル・ノードを用いて、より大きな相互接続構造を作るように連続してもよい。各レベルの上に64行を備えた相互接続構造は、以下のように規定された置換P6、Q6、R6、及びS6を用いている。レベル6上の最も左側のノードは、レベル4の上の行0、16、32、及び48に接続された4つの出力ポートを有する。最も左側にあるノードの次のノードは、行1、17、33、及び49に接続された出力ポートを有する。この処理は、右からn番目のノードが行0+n、16+n、32+n、及び48+nに接続された出力ポートを有するように連続される。置換Q6は、下位の60行rをr+40にして、上位の4行rをr-60にするようなものである。置換R4は、奇数行と偶数業とを交換し、置換S4は、下位の偶数番号の30行rを行r+4にして、上位の偶数番号の2行を行R-60にして、他の4行を固定する。置換P4、Q4、R4、及びS4を生じるこのワイヤリング・パターンは、レベル2の64行で4回繰返される。
【０１３３】
この処理は、各レベルに256行を備えた構造が、行0、64、128、及び192に接続された、最も左側にあるノードの4つの出力ポートを有するように連続される。一般的に、各レベルに4P-1行を備えた構造は、次の下位レベルの行0、4P-1、2・4P-1、及び3・4P-1に接続された、最も左側にあるノードの4つの出力ポートを有しており、更に、最上位レベルの最も左側にあるノードの右のノードnは、次の下位レベルの行0+n、4P-1+n、2・4 P-1+n、及び3・4 P-1+nと接続される。
【０１３４】
その他の多種多様の置換も、同様に効果的に機能する。効果的な置換を生じるための一方法として、次の列及び下位レベルへの所望の接続を備えた無作為の置換を生成し、構造を通るトラフィックをシミュレートすることによって種々の置換を評点することがある。
【０１３５】
相互接続網の多くの例では、全ノードでの全接続が示されていない図２１Ａ及び図２１Ｂで示されるトポロジーで描かれているように、1つのセルが、同一レベル内の1つのセル及び下位レベルの1つのセルにデータを送信している。ネットワークの最も単純な例では、各ノードが、2つのデータ入力ポート、2つのデータ出力ポート、1つの制御ライン入力ポート、及び1つの制御ライン出力ポートを有する。1ノードが、きっかり1セルを含んでいる。セルW及びXは、セルA、B及びCよりも下位のレベルにある。セルAは第1列にあり、セルB及びセルWは第2列にあり、セルC及びセルXは第3列にある。最も基本的な例では、ノード及びセルは、一度に1より多くのメッセージを受取ることができない。図２１Ａでは、セルBとセルＷとが共にセルXに直接データを送信することが可能である。セルXへのデータ送信に対してのセルBとセルWとの間には、セルXへのデータ送信に関してセルWがセルBを上回る優先順位を有するという優先順位関係が存在している。セルWは、セルXにデータを送信する際に、セルBにも制御信号２０６を送信し、それにより、セルWが経路２０８上をセルXにデータを送信したことが示される。セルXが所任意の所定時間に1メッセージだけしか受信できず、セルWがセルXにメッセージを送信する例では、セルBはセルXにメッセージを送信することができない。メッセージMAがセルBに到達すると、セルXがセルBからメッセージMAのターゲットへの経路の上にあるのかどうかを判定するべく、セルBにおけるロジックがメッセージMAのヘッダを検討する。セルBは、以下の2条件が共に満たされる場合にのみセルXにメッセージMAを送信する：（１）セルBからメッセージMAのターゲットへの、セルXを通る経路が存在する、（２）セルXが、セルBからのデータの受取りをブロッキングされていない。セルにおけるロジックは、メッセージMAをどこに送信するか決定するために、セルWから制御信号と共にメッセージMAのヘッダを用いる。
【０１３６】
図２１Ａにおいて、セルBからセルXへのメッセージ相互接続ライン５５０、セルWからセルXへの相互接続ライン２０８、及びセルWからセルBへの制御信号の制御相互接続ライン２１０６は、全て別個のラインである。この構成には、データをBに運ぶための、2つの異なる機構が導入されている。機構の一方は、図２１Ｂに図示されており、セルBからセルXへのメッセージ相互接続ラインがセルWを通過している。この方法では、セルWがセルXへのデータ送信に用いるのと同じメッセージ相互接続ライン２１０８を用いて、セルBがセルXにデータ送信を行っており、それにより、セルBからセルXへのデータは、最初に経路２１０２上をセルBからセルWに進み、次に経路２１０８上をセルWからセルXへと進む。
【０１３７】
当業者は、一方のセルが他方よりも優先順位が高くなっている、セルB若しくはセルWのいずれかからセルXへメッセージを送信するのをサポートする制御相互接続ラインと、メッセージ相互接続ラインとを配置するための別の機構を想定することが可能であろう。例えば、図２１Dには、セルVを通過するセルBからセルXへのメッセージ相互接続ラインと、セルUを通過するセルWからセルBへの制御相互接続ラインとが図示されている。更に、この制御相互接続ラインは、複数のセルを通過し得る。図２１Cでは、セルWによって1つの制御信号をセルBに送信されており、更に、1つの制御信号がセルUに送信されている。この制御信号は、同等であってもよいし、そうでなくてもよい。ノードUからノードBへの制御信号は、ノードWからノードUへの制御信号に依存してもよいし、そうでなくてもよい。メッセージ相互接続ライン及び制御相互接続ラインの物理的な配置は重要でない。しかしながら、与えられたセルXにデータを送信するセルの間には、セルXへのデータ送信に対する優先順位関係が存在しており、それにより、セルWは、セルXへのデータ送信に関してセルBを上回る優先権を有している。この方法は、優先順位を強制するために制御信号を用いている。この制御信号は、他のネットワークで用いられるハンドシェーキング式（handshaking）とは異なっている：セルBは、セルXにメッセージを送信するためにセルXの状態を知る必要がない。その代わりに、メッセージをどこに送信するか区別するために、セルXとは別個のセルの状態についての情報を用いる。実際、セルXとは別個のノードの状態を示す制御信号が、セルXを通過することが可能である。制御信号が通る経路は重要でない。この制御信号は、概ね同じ機能性の別個の信号若しくはメッセージの一部である。説明された、制御信号の生成方法、制御信号の内容、及びノード相互接続網のトポロジーによって、効率性及び処理能力の向上が得られる。
【０１３８】
位置ベース優先権の方法が、効果的な方法で用いられる。セルWがセルBよりも下位レベルにあるので、セルWにおけるメッセージがセルBにおけるメッセージよりもネットワークに長くいる可能性を有する。この方法では、メッセージがネットワーク内にどのくらいの時間存在しているかということと関係付けられ、望ましくは、より古いメッセージに優先権が与えられる。更に、この方法によって、メッセージに対してセルから退出するための開放された経路が常に存在し、且つこの開放された経路がメッセージ出力ポートへのルート上に常に存在するという効果的な特性を組込むことが可能になる。更に、セルBからのメッセージ相互接続ラインの各々が、同じレベルの上にある別のセル、若しくはより下位にあるセルXのいずれかに通じているので、メッセージがターゲットの出力ポートへの進行を「後退」させることは決してない。これらの望ましい特性は、多種多様の相互接続網の中で実施することが可能である。
【０１３９】
代替実施例では、各セルが、同一レベルの1以上のセル、及び下位レベルの2以上のセルにデータを送信する。図２１Eには、セルC、X、及びTへのデータ送信ラインを有する制御セルBを備えた回路の一部が図示されている。セルWが、セルXへのデータ送信に関してセルBを上回る優先権を有し、且つセルSが、セルTへのデータ送信に関してセルBを上回る優先権を有している。制御相互接続ラインがセルWからセルBへ、且つセルSからセルBへ延びており、それにより優先権が行使される。図２１Fは、セルBと同じレベルにあるセルE、D、及びFを付加することによって、図２１Eに図示されているものを拡張したものである。付加された制御セルに対しての付加的な優先順位関係では：セルWがセルXへのデータ送信に関してセルEを上回る優先権を有し、セルSがセルTへのデータ送信に関してセルEを上回る優先権を有している。この優先順位関係を行使するように、別の制御相互接続ラインが、セルWからセルE及びセルBに、且つセルSからセルE及びセルBに延びている。多数の優先順位割当機構によって、セルX及びセルTへのデータ送信に関するセルB及びセルEの間の優先権が割当てられ、それらには以下の4つが含まれる：
（１）セルEが、セルX及びセルTへのデータ送信に対して、セルBを上回る優先権を有し、
（２）セルBが、セルX及びセルTへのデータ送信に対して、セルEを上回る優先権を有し、
（３）セルBが、セルXへのデータ送信に対して、セルEを上回る優先権を有し、
（４）セルEが、セルTへのデータ送信に対して、セルBを上回る優先権を有する。
【０１４０】
セルEが、セルX及びセルTへの送信に対してセルBを上回る優先権を有する（１）の場合、セルEからセルBへの制御相互接続ラインが付加される。図２１Gに、セルW及びセルSからの制御相互接続ラインがセルEを通過している代替的な例が図示されている。セルEに接続されたロジックによって、セルEを通過する制御信号の修正が可能であってもよいし、若しくはセルEがこの点に関して受動的で、これらの信号を修正せずに通過させてもよい。セルEからセルBへの制御信号によって、セルBからセルXへの経路が有効であること、セルBからセルTへの経路が有効であること、両経路が有効であること、若しくはいずれの経路も有効でないことが示される。
【０１４１】
図２１Gを参照すると、セルB及びセルEが同じレベルの上にある。相互接続構造のセルNに対して、セルNからアクセス可能な出力ポートの組を示すのにP(N)が用いられる。相互接続構造の多くの実施例では、セルBからアクセス可能な出力ポートP(B)は、セルEからアクセス可能な出力ポートP(E)の場合と同じになっている。出力ポートのセットP(S)及びP(W)は交差しておらず、セットP(B)は、セットP(S)及びP(W)の和集合である。最終的にターゲット行に到達するまで、メッセージMAがレベルからレベルへと南方向に移動するにつれて、メッセージMAによってアクセス可能な出力ポートのセットが減少する。メッセージは、右に1列移動する。多数のセルとセルとの相互接続トポロジーが、図２１Ａ乃至図２１Ｎに図示されるトポロジーを含むこれらの特性を共有している。図示されている相互接続構造は、相互接続網、優先権、及び制御の特性によって、従来のネットワークと区別され、セル及びノードの特定の回路トポロジーだけで区別されているわけではない。例えば、図２１Ｆ乃至図２１Ｌの回路は、物理的に、若しくはトポロジー的に異なっているが、機能的には類似している。
【０１４２】
ここで説明された多くの例では、セルは、同一の時間周期内に、2つのメッセージを入力信号として受取ることが許されていない。これらの場合には、メッセージ相互接続ラインの共有を可能にするように、多くのロジック的に同等な方法が用いられる。図２１Ｈには、セルBからセルX若しくはセルTへのメッセージが、セルEを通過することが可能になる一例が図示されている。代替的に、図２１Iには、セルWを通過するセルEからセルXへのメッセージ相互接続リンクと、セルSを通過するセルEからセルTへのメッセージ相互接続リンクとが図示されている。図２１Jに示されている相互接続構造は、セルEからセルTへと下に移動するメッセージが最初にセルS及びセルWを通過していて、電気的な配置の内部で水平方向及び垂直方向のラインだけを別々に、且つ効果的に用いていること以外は、図２１Hに示されている構造と機能的に同等である。図２１Hと比較して、図２１Jは、セルT及びセルXの各々に、2つのメッセージが進入可能になっていることが利点である。対角方向の構成は、図２１Jに示されるように、同一の列を下側に通過する接続経路と、次のセルへの第2の水平方向経路とを加えたものによって置換され得る。
【０１４３】
図２１Kは、メッセージがセルB若しくはセルEから2×2スイッチR ２１１０を通過してセルX及びセルTへ宛先指定されている別の例を図示している。このスイッチは、セルE及びセルBによって、バー位置２１１２若しくはクロス位置２１１４に設定される。セルX及びセルTへの送信に対してセルEがセルBを上回る優先権を有することは、セルEがセルスイッチRの設定に対してセルBを上回る優先権を有することと同等である。制御及び優先順位ロジックは以下の通りである。セルX若しくはセルTのいずれかが、セルB若しくはセルEからメッセージを受取ることをブロックされている場合に、セルW及びSがセルEに通知を行う。メッセージMDがセルEに到達する場合には、セルX及びセルTのいずれがセルEからメッセージMDのターゲットへの経路上にあるか判定するべく、メッセージMDのヘッダが検討される。経路上にあるセルがメッセージMDの受信をブロックされていない場合、次に、メッセージMDをメッセージのターゲットへと修正経路を下側に送信するように、セルEによってスイッチRが設定される。この修正経路がブロックされた場合、次にメッセージMDがセルFに送信され、スイッチRの制御がセルBに渡される。セルEにメッセージが1つも到達しない場合も同様にして、スイッチR上の制御がセルBに与えられる。メッセージMDがターゲットに向かって別のレベルを下側に移動することが可能となるようにセルEによってスイッチRが設定され、ターゲットに向かってこの配置内のスイッチを通過するメッセージMDが存在し、且つセルX及びTが共にブロックされていない場合、次に、メッセージMA及びMDが、メッセージMA及びMDのヘッダにより宛先指定されるターゲットに向かってスイッチRを通って下側に移動する。これが、セルB及びセルEが同時に次のレベルへと下側にメッセージを送信できる唯一の条件である。セルEからセルBへの制御信号によって、セルX及びセルTの開放経路の有効性と、セルBがセルRを設定する権利を有しているかどうかとが示されている。セルEからセルBへの制御信号によって、セルBがスイッチRを設定する権利を有することが示されていて、且つメッセージMAがセルBに到達する場合、次に、セルX及びセルTのどれがメッセージMAのターゲットへの経路上にあるか判定するべく、セルBによってMAのヘッダが検討される。経路上にあるセルがブロックされていない場合には、メッセージMAが宛先に向かって進み続けるように、且つメッセージMAが次のレベルへと下側に送信されるように、次に、セルBがスイッチRを設定する。次のレベルの上にあるセルが、セルS、W、若しくはEからのメッセージのいずれかによってブロックされる場合、次に、メッセージMAがセルCに送信される。セルCへの送信に対してセルBが最も高い優先順位を有しているので、経路は常に有効になっている。更に、セルCからメッセージのターゲット行へのホップ数が、セルBから同じ行へのホップ数と同じになっている。
【０１４４】
更に、図２１Kには、セルXへのメッセージ送信に関して、セルBがセルEを上回る優先権を有し、セルTへのメッセージ送信に関して、セルEがセルBを上回る優先権を有している代替的な優先権機構が図示されている。この優先権機構では、ターゲットに向かってメッセージが通過するときはいつでも、スイッチRがバー位置２１１２に設定される。スイッチの現在位置で、次のレベルへと下側に適切に送信され得るメッセージが1つもない場合、次に、スイッチは、クロス位置に設定される。それゆえに、他方のスイッチ位置を上回る一方のスイッチ位置、この場合ではバー位置対クロス位置に関しての優先権が、セルXへの送信に関してセルEを上回るセルBの優先権、及びセルTへの送信に関してセルBを上回るセルEの優先権と同等になっている。セルB及びセルEは、この優先権機構内で制御信号を交換する。この制御相互接続ライン及びメッセージ相互接続ラインは、このロジックを組込むための複数の方法によって配置されてよい。
【０１４５】
図２２及び図２３に図示されている2セル・ノードに関しては、2つのセルB及びセルEとスイッチRとが、図２１Lに図示されているように単一ノードPへと複合されることが利点である。セルB及びセルEが、2つの入力ポート及び2つの出力ポートを各々有しており、複合ノードPが、4つの入力ポート及び4つの出力ポートを有している。所定ノードの入力ポートへのメッセージ送信の優先権は、送信ノードの位置だけでなく、ノードPのどの入力ポートからメッセージが進入するかということにも依存する。図２１Mは、セルB及びセルEからセルT及びセルXへの接続経路を提供するようにスイッチRが付加された、図２１Iに示される回路のセルB及びセルEから形成されたノードYを図示している。ノードYの利点は、以下で説明されるより濃密な(richer)内部構造に比べて、用いられているロジック・ゲートがかなり少ないことである。このノードYの別の利点は、図２１Ａ及び図２１Ｂに図示されるような単一セル・ノードの動作と比較して、向上された処理能力効率である。このノードYは、他の2セル・ノードと概ね同じくらい、よき実行者である。図１Ｂ、１Ｃ、２１Ｋ、２１Ｌ、２１Ｍ及びその他において、データは、次の列にあるセルへと対角方向に下側に移動している。
【０１４６】
2つのより小さなセルのロジックがより効率的な計算ユニットへと複合されることに加えて、より大きなノード内にある相互接続構造が、望ましくは、より小さなセルが複合した相互接続構造よりも、より濃密になっていてもよい。図２１Ｋに示される構造では、セルKからセルCへ進むメッセージ、セルDからセルCへと進むメッセージ、セルAからセルFへと進むメッセージ、若しくはセルJからセルFへと進むメッセージがサポートされていないが、それらの接続が図２１LのノードP内に作られてもよい。ノードPは、4つのうちの任意の入力ラインを4つのうちの任意の出力ラインに切換える能力を有することが利点である。別の実施例では、制御ラインによって、セルJにセルD、A及びKの状態が通知され、セルKにセルA、D、及びJの状態が通知される。ノードPからセルC及びセルFまでの、ブロックされていないことが保証されている2経路が存在するので、ノードPは常に、最大2メッセージを同時に受取ることが可能である。前と同様に、セルA及びセルDは、ノードPへのメッセージ送信に関して、セルK及びセルJを上回る優先権を有する。更なる優先順位関係が、セルK及びセルJの間に存在する。図２１Lの濃密なノードPは、図２１Kの回路ではメッセージが同一レベルに残り得るのに対して、メッセージがより下位のレベルへと下側に進行可能な環境が存在するという点で、図２１KにおけるセルB及びセルEを上回る利点を有している。例えば、ノードD及びノードKにおいてメッセージが存在するが、ノードA及びノードJには存在しない場合、メッセージが共にノードPに進入し得るが、ノードDにおけるメッセージだけが図２１Kに示される構造のセルEに進入することが可能となっていてよい。
【０１４７】
図２１Kに示される、より小さな2セルB及びEを複合させることによって、図２１Lに示される、より濃密に接続されたノードが生じる。一度、セルが複合されてしまえば、内部の相互接続構造及びノードのロジックは、多数の方法によって効果的に拡大及び濃密にされ得る。例えば、2より多くの相互接続ラインが同一レベル上のノードの間に挿入されてよい。図２１Nでは、5つのデータ入力ライン及び5つのデータ出力ラインを備えたノードQが図示されている。データ出力ラインのうちの3つが同一レベルのノードに進み、データ出力ラインのうちの2つが下位レベルのノードに進んでいる。ノードQからのこれら3つのデータ出力ラインは、3つの別個のノードC、F、及びKに進められてもよいし、若しくは複数ラインのうちの2つ以上が同一ノードに方向付けられてもよい。例えば、メッセージ相互接続ラインが複数のメッセージを並列に運ぶバスとなり得るように、ノードQからの3つ全てのラインがノードCに接続されてよい。これらのバスは、電子的なバス等の並列接続であってもよいし、或いは時分割多重方式又は波長分割多重方式を用いて複数のメッセージを輸送する単一の光ファイバーであってもよい。バスについては、以下で詳細が説明される。
【０１４８】
位置ベースの優先権機構は、他の優先権機構と結び付けられてもよい。例えば、優先ビット若しくはQOSフィールド３３２等のヘッダ内の情報によって、同一の出力ポート・セットに対して競合するメッセージに効果的に、より高い優先順位若しくはより低い優先順位が与えられる。図２１Lには、ノードA及びDにおけるメッセージがノードK及びJにおけるメッセージを上回る優先順位を有するが、ノードK及びJにおける競合メッセージ間の優先順位が、ヘッダ内の優先権フィールドに基づき得る回路が図示されている。同じ方法が、ノードP内で効果的に用いられてよく、それにより、宛先が共にノードXであるノードP内の2メッセージの場合、より高い優先順位を有するメッセージが勝つ。ヘッダ内で示される優先権は、メッセージが最初にスイッチに進入する前に設定されてもよいし、メッセージのスイッチ内での存続期間のインジケータであってもよいし、若しくはアプリケーションに関連する因子であってもよい。更に別の方法によれば、特定の優先権が位置に基づき、且つそれ以外の優先権が種々の時間で無作為に割当てられていてよい。無作為化は、望ましくない特定の流れのパターンが相互接続網内に発生しないという効果的な特性を有している。
【０１４９】
図２１Ａに図示されている分岐回路には、共にノードXにデータを送信可能なノードW及びBが示されている。ノードBに接続されているロジックは、ノードBを通るメッセージのルーティングを行うために、ノードWを通るメッセージ・ルーティングに関連する情報を用いる。情報は、ノードWとノードBとの間の制御情報輸送ライン２０６を通して渡される。ノードBからノードXへのデータ輸送ライン５５０及びノードWからノードXへの輸送ライン２０８によって、ノードW及びノードBがノードXに直接、データ送信することが可能になる。ノードWは、ノードXへのデータ送信に関してノードBを上回る優先権を有する。優先権は、ノードWからノードBに直接進む制御信号によって行使される。相互接続構造によっては、このラインは、制御信号を輸送という(有唯一の目的を有する。
【０１５０】
図２１Bに図示されている分岐回路には、共にノードXにデータを送信可能なノードW及びBが示されている。ノードBに接続されているロジックは、ノードBからノードXへのメッセージのルーティングを行うために、ノードWを通るメッセージ・ルーティングに関連する情報を用いる。情報は、ノードWとノードBとの間の制御情報輸送ラインを通して渡される。この制御情報輸送ラインは、ノードWからノードBへの制御情報の送信に、唯一用いられる。ノードWは、ノードXに直接、データ送信することが可能である。ノードBは、ライン２０５上のノードWを通してノードXに間接的にデータを送信する。ノードBは、ノードXを通してデータを送信する能力を有しているが、ノードXに直接、データを送信することはできず、そのため、ノードBからのノードWを通過するデータの経路をノードWが変更することが不可能になっている。この設計では、ノードWからノードXに送信されたメッセージを輸送するために、且つノードBからノードXに送信されたメッセージを輸送するために、ノードWからノードXへのデータ輸送ライン２０８が効果的に用いられている。
【０１５１】
図２２Ａは、図２１Ｍに図示されているノードのような2セル・ノードを含む、8行3列相互接続構造の一例のブロック図が示されている。この相互接続構造は、各列毎にノードアレイ１０８及び置換ボックス１１０を含んでいる。ノードYには、2つのセルE及びBが含まれる。まず、最上位レベル（レベル3）では、各ノードYが2つのセルを含んでおり、一方のセルは、行0、1、2、及び3から選択され、もう一方のセルは、行4、5、6、及び7の中から選択される。次の下位レベルでは、1つのセルには次のいずれかのようになっている2セルが含まれる：（ａ）一方のセルが行0及び行1から選択され、もう一方のセルが行2及び行3から選択される、若しくは（ｂ）一方のセルが行4及び行5から選択され、他方のセルが行6及び行7から選択される。置換ボックスが全ての列の間に用いられるので、所定レベルにおいて全てのノードアレイ内に同じ配置が用いられる。レベル1における各2セル・ノードは、2つの出力ポートに接続されるので、2セル相互接続網には、レベル0が必要でない、若しくは用いられない。レベル1において、行に沿って水平方向に移動するメッセージは、両ポートに直接接続される。別の言い方をすれば、レベル1ノードは、最下位ビット３１０を検討し、メッセージをターゲットの出力ポートにルーティングする。
【０１５２】
同一の垂直方向経路の上にあるセルは、同一の2セル・ノードYの一部である。優先権を有するセルが円形で示されている。セルE及びセルBからそれぞれ、レベル3に進入する2つのメッセージは、南への同一経路に対して競合する可能性、即ち、両メッセージが、同じ集団にターゲッティングされる可能性があるが、Eからのメッセージが優先権を有する。次の列では、優先権が予約されている。破線は、セルBから出発する優先権を有さないメッセージが、セルCに移動して優先権を獲得し、次に次列で優先権を失うのが示している。同様にして、点線は、セルEを出発する優先権を有するメッセージが、セルFに移動して優先権を失い、それにより、セルBからのメッセージと競合しないことに利点がある。図面によって、メッセージが行に沿って移動するにつれてその優先権が切替わって、それにより互いのメッセージの通り道から外れるのが示されている。この破線及び点線はそれぞれ、E及びBからノードYに進入するメッセージが、望ましいことに、次列で再度競合しないのを示している。セルEにおけるメッセージは、セルFに移動し、又、セルBにおけるメッセージは、セルCに移動する。ここで、セルC及びセルFは同一ノード内にない。任意の入力ポートから任意の出力ポートへの複数の経路が存在する。同一ノードから始まる複数のメッセージは、ターゲットに到達するために、複数の経路を利用する。この経路は、望ましくは、互いに分かれて、それにより、メッセージ間で繰返される競合を取除き、且つ相互接続網内のホット・スポット（hot spot）を防止する。
【０１５３】
変換列S4（0,2,1,3,0..）によって、レベル2の行0から始まって水平方向に移動するメッセージの高さが規定される。ある第1ビットを有するメッセージMの場合には、それは、列0、レベル3の行0に配置されたセルEから、列1、レベル3の行2に配置されたセルFに移動し、更に、レベル3を先へと移動し続ける。このメッセージの第1ビットは、高さ0から高さ2へと進み、次に、高さ1へと進み、以下同様にして、第1ビットが高さの列（0,2,1,3,0,2,1,3,0,...）に従って移動していく。セルEが、列0、レベル2、行0のセルSへと下側に接続されていることに留意されたい。セルFは、列１、レベル2、行0のセルTへと下側に接続されている。メッセージMの第1ビットがスイッチの最上位レベルを横切って移動するような処理を続けると、このメッセージは、点線で示されるように、レベル2の上の行（0,2,1,3,0,2,1,3,0,...）の上のセルへと下側に接続される。更に、メッセージMがレベル3を横切って移動する際に、点線で示されるように、数列（7,4,6,5,7,4,6,5,7,...）の高さでレベル2の上のノードへと下側に接続される。それゆえに、最上位レベルの任意の列におけるメッセージが、次のレベルの上位及び下位集団の両方への接続を効果的に有し、置換ボックスの望ましい特性が達成され得る。各セルでは、ブロックされていないメッセージが、メッセージ・ヘッダにより示されたターゲットへの下側への接続を常に有する。
【０１５４】
図２２Ｂには、図２２Ａに示されるのと概ね同等な代替的な配置が示されているが、置換ボックスが取除かれている。置換ボックスの除去によって、シリコン及び金属被覆の量が、望ましく減少される。行沿いに特定の配置を行うことによって、列間の変換列の効果が得られる。レベル3の4列を通って移動するメッセージは、レベル2の8行全てへの下側への接続を有する点が効果的である。図１３Ｂは、チップ空間を最大に利用し、セルとセルの最大接続距離を最小化するレーストラック平面図を示している。
【０１５５】
図４Ａを検討すると、相互接続網１００を通って移動する非ブロック・メッセージが、平均してレベル当り1.5セルと出会うのが示されている。メッセージは、無作為にセルと出会い、メッセージ・ターゲットへの下側への接続を有していない確率が50%である。望ましくないことに、メッセージは次の列へと頻繁に移動する必要がある。メッセージの移動時間を減少させるために、2セル・ノードYは、上位及び下位集団への接続を望ましくは有している。図２３を参照すると、2セル・ノードは、各々が上位及び下位の集団に接続可能な2つのセルE及びBを含んでいる。ノード・ロジックが、西W1及びW2からの入力信号を共に検討し、それにより、進入し得る各メッセージの方向が決定される。この2セル・ノードは、2つの入力ポートのいずれか一方から、南S1若しくはS2への2つの接続のいずれかにメッセージをルーティングすることが可能な2×2スイッチ２３１０を含んでいる。更に、このノードは、所望の集団への経路が利用可能であるかを決定するために、南からの制御信号を検討する。
【０１５６】
西からの2つのメッセージが、南への経路経由の、同じ利用可能な集団に対して競合するときは、一方のメッセージが優先権を有する。優先権は、通常、セルの、次列の別のセルに対しての位置によって決定される。図２２に図示されるように、ある列において優先権を有さないメッセージが、次列では優先権を有するというように、優先権が交互になっている。西からの各メッセージが、異なる集団に行くように宛先が決定されており、且つ南への経路がブロックされていない場合には、望ましくは、両メッセージが南方向にルーティングされる。西からメッセージが1つだけ到達する場合には、望ましくは、このメッセージは南方向へのブロックされていない経路にルーティングされる。北から東への接続も同様になされ、それにより上のセルから東方向の経路へのアクセスが可能になる。下位集団が用いる、入力ポートW1からのメッセージが1つも利用可能でない場合には、入力ポートN1が出力ポートE1に接続され、下位集団が用いられない場合には、入力ポートN2が出力ポートE2に接続される。西からのメッセージが、南への利用可能な経路にルーティングされない場合、このメッセージは、出力ポートE1若しくはE2を通して東に送られる。東方向への経路が使用中のときは必ず、制御信号が北に送信される。
【０１５７】
図２３は、図２１Mに示されている回路のより詳細な図である。図２１F乃至図２１Nの回路は、種々の優先権機構を実施するのに用いられてよく、より濃密な内部相互接続網を実装し得る点で効果的である。図２１M及び図２３のノードYは、最小のロジックを用いており、相互接続網１００内で効率的に機能する。
【０１５８】
図５Ｂを参照すると、セルＢに到達するメッセージＭ1は、このメッセージが直列経路５２２上を東方向に即座に移動するセルＦへと、南に移動するように宛先が指定されてよい。しかしながら、同時に下位レベルで東に移動しているメッセージＭ2が、セルFからの共有経路の使用に関して、メッセージＭ1を上回る優先権を有している。優先権を行使するべく、下位のセルが時宜にかなった方法で制御信号を北方向に送信し、上位のセルがそれに反応して下側にメッセージを送信しないようになってよい。従って、セルFからの制御信号は、セルBが制御信号に対して反応するのに十分な時間で、上位レベルのセルBに到達する。このために、メッセージＭ1がセルBに到達する前に、メッセージＭ2がセルFに到達する。いくつかの適切な回路では、所定レベルへメッセージが到達するタイミングは、直に北にあるレベルより1クロック周期TCだけ早くなっている。
【０１５９】
メッセージは、行に沿ったFIFO及びセル内のシフト・レジスタを通って連続的に移動する。メッセージＭ2のトラフィック・ビットT ３０２は、メッセージＭ1のトラフィック・ビットが上のセルに到達する1クロック周期前に、下位のセルに到達する。セル内の2つの遅延要素が、クロックにより駆動される2ビットのシフト・レジスタとして機能する。ルーティングの決定時に、トラフィック・ビットT及びメッセージＭ2の最上位ビットMは、図２４Ａに示されるように、下位のセルの2つのシフト・レジスタの中にいる。この下位のセルが、タイミング信号２４０４を受信し、それにより、この下位のセルは、メッセージＭ2をいずれの方向に送信するか決定するために、2ビットT及びMと、南からの制御信号との検討を行うようになる。この単一セル・ノード制御ロジックは、ルーティング決定のために3ビットの検討だけを行えばよくて、これは、1クロック周期TC内で容易に完了する。例において、内部接続は、メッセージＭ2を東に送信するようにされており、更に、制御信号「1」が北に送信されている。上位のセルが、メッセージの最初の2ビットを受信する前に、下位のセルが制御信号を生成し、送信する。換言すれば、上位のセルは、制御信号が上位のセルに送信されるときに、メッセージＭ1のトラフィック・ビットTだけを受信する。次のクロック周期において、上位セルは、メッセージＭ1をどこに送信するか決定するための情報を全て利用することが可能になる。2セル・ノードは、ルーティングを決定するために6ビットの検討を行う。この検討は、1クロック周期内に容易に完了するものである。
【０１６０】
任意の所定レベルにおいて、異なる行にあるメッセージは、同時に東方向に移動する。各メッセージのヘッダ・ビットは、「垂直方向に整列」して、東に移動し、それにより、各ヘッダは、同一ノードアレイ内にある全ての他のメッセージと同時にセルに進入する。同様にして、セルから南に下がる、同一ノードアレイ内にある複数のメッセージが、水平方向に整列して一緒に移動する。
【０１６１】
異なるレベルにおける、同じ列のメッセージの相対的なタイミングが図２４Ｂに示されている。所定の列において、下位レベルのセルは、上のレベルのセルよりも先にメッセージの第1ビットTを受取る。レベルJのルーティング決定信号RD[J]２４０４は、レベルJ+1のタイミング信号RD[J+1]２４０６よりも1クロック周期TC早く生じており、より上位レベルについても以下同様である。所定のノードアレイ１０８内の全てのセルは、同期して動作しており、全ては同一のタイミング信号によって駆動される。後縁部２４３０は、メッセージの終わりを信号通知している。各セル内に2つの遅延要素を備え、列の間にFIFOを有していない例では、先の西方向の列の後に、次列におけるタイミング信号が、2つのクロック周期Tclm２４０８になっている。図５Ａ及び図６Ａを参照すると、南に移動するメッセージがセルのシフト・レジスタをバイパスしていて、次列のセルにすぐに接続されており；この場合には、メッセージがセル内のゲート６２６を通って移動する際に、わずかな伝播遅延TP２４２６が存在する。南に移動するメッセージは、シフト・レジスタの通過を回避する点が利点があるが、連続して通過するセルの数に比例する累積伝播遅延を経験する可能性がある。南に移動する場合に補正のために、下位レベルのクロックが各レベルで効果的にTPだけ遅延され、それにより、望ましくは、南に移動するメッセージが、下位レベルにおいて西から移動する他のメッセージと同期化される。伝播遅延を補正するための代替的な手段が、図７Eに示されており、そこでは、1ビットのシフト・レジスタ７１６が列間に適切に配置されている。このシフト・レジスタを退出するメッセージは、望ましくは、それらのそれまでの経路とは無関係に、同期化される。回路によっては、ノードアレイに進入するメッセージの一致したタイミングを確立するための方法及び確実に行うための方法を共に用いる。
【０１６２】
メッセージは、所定の最大長Lmaxを有する。メッセージ送信時間Tmは、全メッセージがセルを通るための時間である。即ち、T＝Lmax・TCである。メッセージがセルを通過し終わった直後に、続いてのメッセージがそのセルに進入することが可能である。メッセージ送信時間Tmによって、次のタイミング信号が送信されるかが決定される（２４１２）。次列にある、ノードアレイ内のセルのタイミングは、各セル内の遅延要素の数（通常は2である）と、それに加えていくつかの列の間に存在し得るFIFOの長さによって決定される。
【０１６３】
全ての列に対するタイミング信号、及び入力制御動作と出力制御動作とに対するタイミング信号は、相互接続構造内の全てのノードアレイにタイミング信号を送信するクロック及び制御サブシステムによって生成される。タイミングの仕様は、セルとセルの通信の局所性のために、効果的に単純化される：セルが隣接する列若しくはレベル以外のより遠くと通信する必要がなく；更に同一ノードアレイ内の全セルが同一タイミングを有する。セル内のシフト・レジスタ及びFIFOによって、スイッチング要素の大半が形成される。同一レベルにある全セルが、同一クロックを用いる。異なるレベルにおけるクロックは、セルを通って南に移動する際の伝播遅延を補正するべく互いに関してわずかにずらされている。異なるレベルにおいてずらされるタイミングは、望ましくは、オン・チップの電力需要を平坦にする。レベルJにおけるクロック２４２０は、図２４Cに示されるより上位のクロック２４１８と比べて、要素２４５６によって時間量TPだけ遅延される。望ましくは、このクロック信号の配信が容易であり、更に、遅延要素DP２４５６は、増幅器若しくはバッファとして二役、機能し得る。ノードアレイ内の、クロックは、全ノードが同一タイミングを受信するようにツリーを用いて展開されてよい。
【０１６４】
同一のクロック信号と同様に、同一のタイミング信号によって、同一ノードアレイ内の全セルが制御される。通常は、2つのシフト・レジスタがセル内に含まれており、それによりレベル上に残っているメッセージは2クロック周期後に次列に到達する。最上位レベルの第一列のメッセージ・タイミング信号２４６０が、（同一レベルにおける）次列のタイミング信号を生成するために、2ビット・シフト・レジスタD2 ２４５０を通過させられ、残りの列についても以下同様である。FIFOが列の間に含まれる場合、同様のFIFOが東へのノードに対するタイミング信号のための遅延要素として用いられる（図示せず）。南に下がるメッセージの伝播遅延TPを補正するために、下位レベルのタイミング信号は、同じ量だけ遅延される（２４５８）。望ましくは、このタイミング信号２４６０の配信が容易であり、更に遅延要素DPが増幅器若しくはバッファとして二役機能し得る。図２４Cでは、かなり少数の遅延要素を効果的に通過することによって、第1列からのクロック信号が伝播するのが示されている。相互接続構造１００の巨大単一チップの実施例では、セル及びノードを制御するのに少数のゲートだけが効果的に用いられており、それにより、望ましくは、高処理能力を供給する多数の列及びレベルが提供される。タイミング及び制御は大きなスケールになるという点が効果的であり、それにより、大きな相互接続網が容易にサポートされる。シフト・レジスタ及びFIFOを駆動するクロックが、隣接するレベルでスキューされるので、望ましくは、オン・チップ電力需要が単純化され、更に、電力供給の騒音が最小化される。図２４Dは、1つのノードアレイ内で全てのノードに平等にタイミング信号を配信するために3ベース展開を備えた、従来構造が示されている模式的な図である。
【０１６５】
メッセージが相互接続網を通って流れる際に、ノードによってメッセージの経路が東若しくは南に決定される。全メッセージのルーティングがノード内で実行される。図２５は、セル若しくはノードに対するロジックによって実行される動作が示された流れ図である。スタートアップ若しくはリセットにより、セルの出力端子及びラッチが全部ゼロの状態に設定され、それによりセルから送信されるメッセージが1つもないことが示される。メッセージは、均一に、且つ同期してレベルを横切って流れる。同一レベルにおいて、東に移動する全メッセージの第1ビットは、その他の全てのメッセージが同一ノードアレイに進入するのと同時に、任意の行におけるメッセージがセルに到達するように、西から東への伝播において均一に移動する。セル若しくはノードのいくつかのセットでは、各方向からの複数の入力信号経路を有する。
【０１６６】
時間２４０２において、トラフィック・ビット３０２及びMSB３０８が、ノードに進入している。西からの各入力経路に対して、制御ロジックが、メッセージが存在するかどうか決定するためにトラフィック・ビットを探索する。メッセージが存在しない場合には、その経路に対する更なるメッセージ処理が実行されない。そうでなければ、このノードは、有効なヘッダが存在するか決定するために、1以上のヘッダ・ビットを検討する。有効なヘッダが存在しない、若しくはメッセージが存在しない場合には、ノードの状態がスタート時の状態にリセットされる。無効なメッセージは決して下位レベルに送信されないので、有効なヘッダに対する試験は、相互接続網の最上位レベルだけで実行されればよい。西からの各入力経路に対して、このロジックにより、南への利用可能な接続に関しての、メッセージの適切な方向が決定される。例えば、ヘッダによってメッセージが上位集団に移動する必要があることが示されており、且つ上位集団への接続で利用可能なものがない場合、このメッセージは南方向にはルーティングされない。或いは、ノードがターゲットへの経路に接続されていて、ブロックされていない場合に、このメッセージが南にルーティングされる。南にルーティングすることのできないメッセージは、東に送信される。メッセージが東に送信されると、制御信号が北に送信され、それにより上からのメッセージを受取ることが不可能であることが示される。
【０１６７】
南方向にメッセージ・ターゲットへの接続経路を有する各メッセージに対して、制御ロジックは、南からの制御信号を検討することによってこの経路が利用可能であるかどうか決定する。更に、1より多くの南への出力経路が存在する場合、ノードに進入する複数のメッセージが、限定数の南への経路に対して競合する可能性がある。利用可能な経路よりも多数のメッセージが存在する場合、いずれのメッセージが南にルーティングされるか決定するのに優先権機構が用いられる。南に進むように宛先指定されたメッセージは、南からの制御信号によってブロックされている場合、若しくは同じ経路を利用しようとしている同一レベル上のより高い優先順位を有する別のメッセージによってブロックされている場合、東方向に送信される。メッセージが東に送信されると、ヘッダのMSBがメッセージから除去され、次の最上位ビットが下位レベルにおいてMSBとなり、又、トラフィック・ビットは常に保持される。メッセージが南に送信可能であるかどうかを決定する際には、次のクロック周期に、制御ロジックによってトラフィック・ビットが送信され、次に西から南への接続がなされて、それにより現在のMSBは失われて、次の最上位ビットが下位レベルにおけるMSBになる。ノード内のラッチ若しくはその他の記憶素子は、次のメッセージ周期までノードの接続状態を保持する。メッセージの最後には、このノードはリセットされて、次のタイミング信号２４０２のために待機し、メッセージ到達時間には、このノードは再度、次のメッセージの処理、若しくはメッセージの設定が可能な状態になる。
【０１６８】
要約すると、メッセージが存在するか判定し、存在する場合にメッセージの方向がいずれであるか決定するために、セルのシフト・レジスタ内のヘッダ・ビットをいつ検討するかを、ノードに通知するためにグローバル・タイミング信号が用いられている。メッセージが東に送信されると、制御信号が北にセルへと送信され、それにより北のセルは下側にメッセージを送信しないようになる。北の制御ロジックによって制御信号の監視及び行使が行われる。メッセージが南に進むように宛先指定される場合には、このノードによって、経路が利用可能であるかどうかを決定するために適切な制御信号が検討される。複数のメッセージが単一ノード内で南への制限数の経路に対して競合する場合には、いずれのメッセージを南方向に移動するかを決定するのに優先権機構が用いられる。各ノードの状態は、メッセージの終わりの信号に達するまでメッセージ・ルーティングの制御を行うように、1以上のラッチ、若しくはレジスタに保存される。制御ロジック及び相互接続トポロジーの望ましい成果は、メッセージがセルを退出するための開放された経路を常に有し、このメッセージが決してセルにバッファされず、更に、望ましくは、このルーティングの決定に最小量の制御ロジックが用いられていることである。
【０１６９】
図６Ａ乃至図６Ｃには、単一セルの3つの接続状態：西から南と北から東；北から東；及び西から東が示されている。図２１Ｍ、図２３、及び２６を参照すると、2セル・ノードは、A乃至Pと名付けられている16の接続状態を有している。西からのメッセージは、存在する場合には、上位若しくは下位の集団に移動するように宛先指定がなされる。経路W1における、可能性のある4つの状態は、（１）メッセージが1つも存在しない（null）か、又はヘッダが無効である、（２）メッセージが存在するが、南への移動がブロッキングされている、（３）メッセージがS1を通して上位集団に接続されている、若しくは（４）メッセージが経路S2を通して下位集団に接続されている。同様に、経路W2に対しても同じ4つの状態が保持される。
【０１７０】
図２６は、入力経路W1が入力経路W2を上回る優先権を有する、2セル・ノードの一例に対する16つの状態のテーブル図である。Aでは、いずれの入力経路にもメッセージが存在せず、それゆえに北N1及びN2からの両接続がそれぞれ経路E1及びE2に接続されているのが示されている。経路W1及びW2にメッセージが存在しないときはいつでも、北からのそれぞれの入力信号が東に接続される。状態Bでは、経路W1にメッセージが存在せず、且つ経路W2上のメッセージがブロックされていて、それにより経路W2上のメッセージが東に送信される状態が示されている。メッセージが東に送信される場合は、常に、上からのメッセージをブロックするために、制御信号（図示せず）が北に送信される。状態Cは、経路W1にメッセージが存在せず、且つ経路W2におけるブロックされていないメッセージが、経路S1に接続するように宛先指定がなされているときの状態が示されている。2×2スイッチ２１１０が、経路W2を経路S1に接続している。状態Dは、経路W2が経路S2と接続すること以外は、状態Cと同様である。状態E、I、及びMは、経路W1及びW2の入力状態が逆になっている点以外は、状態B、C、及びDと同様である。状態Fでは、両入力信号が南への移動をブロックされている。状態L及びOでは、2メッセージがセルに進入し、共に南方向にブロッキングされていない経路へとルーティングされているのが示されている。状態K及びPでは、両メッセージが、ブロッキングされていない同一の経路へと南方向に進むように宛先指定がなされている場合の状態が示されている。経路W1が優先権を有するので、経路W1が経路W2を内部で、ノード内で、ブロックして、経路W2が東方向に接続される。ノードの代替的な変形実施例では、経路W2が経路W1を上回る優先権を有する。
【０１７１】
2セル・ノードを用いる相互接続構造は、単一セル式のものよりも、より大きな処理能力及びより低いレイテンシィーを有する。図２７は、西からの4つの入力接続及び北からの4つの入力接続を有する4セル・ノードが示されたブロック図である。この4セル・ノードは、A、B、C、及びDの4つのセルを含む。この4セル・ノードは、望ましくは、同じような大きさの2セルの実施例よりも、更により大きい処理能力及びより少ない移動時間を提供し、2セルの相互接続設計を拡張したものとしてみなすことが可能である。同様にして、2セル・ノード設計に基づく4セル・ノードの実装方法は、Nセルに拡張することが可能である（ここでNは偶数である）。4×4スイッチによって、西から任意のセルに進入するメッセージが、南方向に上位若しくは下位集団へ任意の経路に接続することが可能になる。各集団に2接続が作られる。同一集団に対して2より多いメッセージが競合する場合には、どの行が他の行を上回る優先権を有するか決定するために「A−B−C−D−A」優先権機構が用いられる。南にルーティングされなかったメッセージは、次列に移動して、そこで、他の行と優位性が一致する行が存在しないという有利な結果を用いて、優先権が再スケジューリングされる。
【０１７２】
4セル・ノードと4ベース・ノードとは、前者がヘッダ・ビットを1つだけ検討し、1レベル下にメッセージを送信するという点で異なっている。後者は、2つのヘッダ・ビットを検討し、メッセージがレベルを1つ飛越して、1周期で2レベル進む。
【０１７３】
制御ロジックによって、西からの各メッセージのトラフィック・ビット及びMSBが、南からの4つの制御信号と共に検討され、それによりメッセージをどのようにルーティングするかが決定される。このロジックは、いずれのメッセージが南への利用可能な経路を有するか判定し、同一経路に対して複数のメッセージが競合した場合に優先権を適用する。メッセージが東にルーティングされると、制御信号が北に送信される（図示せず）。下位レベルにおけるセルE、F、G、及びHは、異なるレベルの内部にあってよい。
【０１７４】
図２８Ａ及び図２８Ｂには、相互接続構造の32行の実施例を形成するための、4セル・ノードの相互接続網を示す配置が図示されている。最上位レベルの第1列において、示されるように、セルが二重の水平方向V字パターンに配置されている。各垂直方向ラインは、4つのメッセージ経路及び4つの制御信号を含む。レベル5の行0におけるメッセージは、行に沿って東に移動する際に、変換列S32に従う。4セル・ノードは、同一の垂直方向ライン上に示された複数のセルを含んでおり、それらは、各列においていずれの行が接続するかを示している。変換列□□-32によって、南方向への出力ポートがどのように次の下位レベルにおけるセルに接続するのかが決定されている。南方向への接続は常に、北のセルと同じ行である。例えば、最も左側にあるノードは、行0、8、23、及び31のセルを有している。文字A、B、C、及びDは、レベル4における、これらと同じ4行を示している。セルAに進入するメッセージは、南方向に行0、8、23、及び31へと移動する機会を有する。これらの接続が、破線で示されている。レベル5における列1は、変換列S32を用いて配置され、次列も同様である。列0、レベル4におけるセルは、示されるように2つの二重水平方向V字パターンを用いて配置され、列の残りは、変換列S16を用いて配置される。図２８Ｂは、次の下位レベル、レベル3の配置を示している。4セル内部変換列２８１０及び２８１４が、図２８Ｃに示されている。
【０１７５】
最上位レベルの任意の行の上を移動するメッセージは、次の下位レベルにおけるセルへと南方向に移動する機会を有する。任意の2メッセージが、ブロッキングされていない2つの上位集団セルに移動することが可能であり、同様にして2つの下位集団セルへも移動可能である。ノードに進入する単一メッセージは、次の集団への2つの可能な接続を有しており、それにより、一方のセルがブロッキングされている場合に、他方が利用可能であるという点で効果的である。複数のメッセージが、南への同一経路に対して競合する場合、優先権機構が適用される。南方向に移動不可能であるメッセージは、同一行に沿って東方向にルーティングされる。4×4スイッチによって、前述した2セル・ノード及び単一経路の実施例よりも、メッセージに対して南へ移動するより多くの機会が提供される。付加的な制御ロジックは、メッセージ・トラフィックによる経路の大量占有を保持することによって、南方向に接続する垂直方向経路をより効率的に利用できるようにする点で効果的である。メッセージが、1より多くの南方向への経路を有するため、2セル・ノードよりも、全ブロッキング率がより低くなり、且つ効率的な処理能力がより向上される。
【０１７６】
図２９Ａには、以下で説明される、2セル・ノードの機能強化された変形実施例が示されている。スイッチS2は、下側への接続経路の付加的なセットを提供しており、それにより、処理量が効果的に増加される。相互接続能力を増大させるように、偏りのない優先権機構が用いられる。セルA及びBがノードN1内にあり、セルC及びDがノードN2内にある。両ノードは、レベルJ+1、列iにある。更に、図５Cを参照すると、全てのセルが対角方向に接続されている：ノードが、下位レベルにおける次列のセルへとデータを南東に送信しており、又、ノードが、同一列内のノードから制御信号を受信している。2×2スイッチS3によって、ノードN1及びN2が共に、セルM又はセルNのいずれかにデータ送信することが可能になる。セルM及びNは、レベルJにおける上位のセットであり、セルA、B、C、及びDからアクセス可能である。セルK及びLは、レベルJにおける下位のセットであり、同様にセルA、B、C、及びDからアクセス可能である。セルA、B、C、D、E、F、G、H及びIは列iにあり、セルK、L、M及びNは列i+1にある。セルKへのメッセージ送信の優先権は、H、A、B、C、Dの順番で与えられる。セルLへのメッセージ送信の優先権は、I、C、D、A、Bの順番で与えられる。セルKの使用に対して、ノードN1がノードN2を上回る優先権を有し、セルLに対して、ノードN2がノードN1を上回る優先権を有することに留意されたい。セルMへのメッセージ送信の優先権は、E、B、A、D、Cの順番で与えられる。セルNへのメッセージ送信の優先権は、F、D、C、B、Aの順番で与えられる。
【０１７７】
セルKに送信するメッセージをセルHが有する場合、セルHはノードN1に制御信号を送信し、それによりセルA及びBは、セルKへのメッセージ送信がブロックされる。ノードN1がセルHからブロッキング信号を受信する場合、若しくはノードN1がメッセージをセルKに送信する場合、次にノードN1がノードN2にブロッキング信号を送信する。セルKがブロックされておらず、且つセルAにおけるメッセージが下位集団にターゲティングされた場合、ノードN1は、スイッチS1を「バー」に、若しくは垂直方向接続位置に設定する。同様にして、スイッチS2を「バー」位置に配置するように、ノードN1が制御をスイッチS2に送信し、それにより、太線で示されるようにセルAからセルKへの接続が生じる。セルH若しくはセルAのいずれも、セルKにメッセージを送信しない場合、セルBが次の優先権を有する：セルBがセルKにメッセージを送信するように宛先指定された場合、スイッチS1が対角方向にクロス位置に設定され、ノードN2にブロッキング信号が送信され、更に、スイッチS2がバー位置に設定される。セルKがブロックされていて、セルAが下位セルにメッセージを送信するように宛先指定されていて、且つセルLがセルI、C若しくはDのいずれによってもブロックされていない場合、ノードN1はスイッチS1をクロス位置に設定し、ノードN2にブロッキング信号を送信し、更にスイッチS2をクロス位置に設定する。同様にして、下位レベルのセルM及びNへのアクセスに対して、セルC及びDがセルA及びBを上回る優先権を有しており、更に、より低い優先順位でセルK及びLにアクセスすることが可能である。セルH及びIの一方だけが、セルK若しくはLへと西にメッセージを送信する場合には、セルA又はBのいずれかが、セルK又はLにメッセージを送信することが可能である。別の例では、セルAは、セルK若しくはセルLにメッセージを送信するように宛先指定がなされ、それによりセルH若しくはセルIからのメッセージが回避される。ノードN1は、スイッチS2を、セルK若しくはセルLへの利用可能な接続に設定する。下位レベルに利用可能な経路が存在する場合に、上位レベルの4セルのうちのいずれもが、公平な優先権機構の下で、利用可能な経路へのアクセスを有する点が効果的である。
【０１７８】
図２９Bでは、別の変形実施例が示されており、そこでは、スイッチS4が下位レベルのセルからのメッセージを転送し、それによりメッセージが邪魔にならないところに効果的に移動されている。ノード内の通信ラインは示されていない。セルA若しくはBのいずれか一方が、下位集団にメッセージ送信するように宛先指定がなされており、且つセルH若しくはIのいずれか一方だけがメッセージを西に送信する場合、ノードN3は、メッセージを下側に送信可能である。この例では、セルAは、メッセージを南方向にセルKへと送信するように宛先指定がなされている。セルAは、セルLへの接続を有していない。セルH若しくはIからのメッセージがセルLに方向付けられるように、スイッチS４がノードN3によって設定され、それにより、望ましくは、セルAがセルKにメッセージを送信することが可能になる。図２９Ａでは、ノードN1にメッセージを方向付けるように、スイッチS2がノードN1によって設定されている。図２９Bでは、異なるノードからのメッセージが下位レベルに方向付けられるように、スイッチS4が、ノードN3によって設定されている。一般的に、ノードN3及びN4は、セルXからのメッセージを方向付けるようにスイッチS4を設定する。ここで、セルXは、この例の場合にはセルH若しくはIのいずれかであり、ノードN3及びN4内のセルとは別個のものである。更に、セルXは、ノードN3若しくはN4とは異なるレベルにある。ノードN3は2つのスイッチS5及びS4を制御する。スイッチS5は、ノードN3内にあるセルA及びBからのメッセージを方向付け、スイッチS4は、自分自身とは別のノードからのメッセージの方向を制御する。
【０１７９】
図２９Bでは、セルA、B、C、及びDが、2セルノードN3及びN4の各要素である。或いは、セルA、B、C、及びDは、それら自身の間で通信する単一セルノードとみなすことも可能である：ここで、セルN3及びN4のセルA、B、C、及びDは、8つの入力ポート及び8つの出力ポートを備えた単一の4セル・ノードを有する。更に、ノードには、ノードの近くに配置されたスイッチが含まれてもよいし、含まれなくてもよく、更に、制御ロジックがノード内にあってもよいし、若しくは一部がノード内にあってもよい。スイッチが配置されるノードとは別個のセル若しくはノードによって、図２９Ａ及び図２９Ｂに示されるS2、S3、及びS4等のスイッチが制御され得る。
【０１８０】
1つのノードが多数の入出力接続を有する相互接続構造の実装では、内部ロジックは、単一ノードの複雑性が相互接続ネットワーク全体とほぼ等しくなる程度にまで、非常に複雑になる。巨大ノードの複雑性を減少させ、タイミング及び制御を単純化させるように、複雑な個々のノードの各々が、以下で説明される種類の小さな「ノーダル（nodal）」相互接続によって置換されることが利点である。
【０１８１】
図３０は、そのような一実施例の上位2レベルが示されているブロック図であり、そこでは、ここで説明されるいくつかの構造を用いて実装され得る非常に多数の入力ポート及び出力ポートをノードが有している。別の言い方では、前述の巨大な相互接続構造１００は、（１）各データ及び各制御経路を、複数のデータ及び制御経路を含むバスと置換し、（２）各ノードを小さな完全な相互接続構造と置換することによって、形成される。種々の程度の倍率で自己相似していることから、できあがる相互接続構造が「フラクタル相互接続構造」と名付けられ、又、ノーダル相互接続が「フラクタル・ノード」と名付けられる。
【０１８２】
2列における代表的な接続が図３０に示されている。フラクタル・ノードFB ３１０２は、多数の入力ポート及び出力ポートを処理するように、3つのレベルと少数の列を含んでいる。複数の出力経路が同一レベルに接続されており、且つ次のレベルへ下側に接続されている。ノードの相互接続FBに進入するデータが、下にある2進基数設計と呼ばれ得る集団のうちの1つに転送される。フラクタル・ノード内部に2より多くのレベルが用いられると、メッセージはメッセージ・ターゲットにひときわ前進することになる。これは、2より大きい基数を用いることと同等である。
【０１８３】
図２１Fを参照すると、2つのノードS及びWは、ノードE及びBが、ノードT及びXにメッセージを送信するのをブロックし得る。図３０に示されているこの構造は、各データ及び各制御経路が複数の経路によって置換され、複数のレベルへの接続が存在している点以外は、図２１Fの構造の場合と類似するマクロスケールのトポロジーを有する。図３０で図示される例の中の1経路が、4つの経路で置換えられる。フラクタル・ノードの実施例によっては、対角方向にあるのと同数の入力及び出力接続を水平方向に有する。別の実施例において、レベル間の対角方向の接続が、図２１Jに示される方法により垂直方向の接続と置換えられてもよい。
【０１８４】
図３０に図示されるフラクタル・ノードの例に留意されたい。ノードFBは、全相互接続構造の種々のレベルにおいて複数の行を含んでいる。例には、3つのレベルが示されており、各レベルは、図示されていない複数の行を含み得る。フラクタル・ノードFB ３００２は、レベルNにおいて8つの行を含み、レベルN−1において4つの行を含み、レベルN−2において4つの行を含み、更に、それは内部に複数の列を有している。このフラクタル・ノードは、16行の全てから、同じ3レベルにまたがっている別のフラクタル・ノードFC ３００４にデータを送信することが可能である。ノードFCにデータの送信が可能な全ノードの中で、ノードFBが最も高い優先順位を有しており、そのためノードFBからのメッセージは、ノードFCへの送信を決してブロックされない。
【０１８５】
ノードFB内の内部構造は、前記で説明した種類のものである。レベルNにおける行の数は、レベルN−1における行の数よりも大きくなっており、それにより、上位ノードからの全てのメッセージが下がってくるための空間を有するように、フラクタル・ノードの最上位レベルに十分な部屋を有する。複数の自由度によって、幅広いクラスの設計が可能である。当業者は、ここで説明された相互接続構造を修正して、多数の行から少数の行への送信を可能にするような種々の方法が分かるであろう。
【０１８６】
図２１Pには、単一ノードの通過を試みる複数のメッセージを制御するための基本的な方法が示されている。レベルNにおける2つのノードE及びBが、レベルN−1の1つのノードXへとデータを下側に送信するように配置されている。レベルN−1におけるレベルWが、ノードXへの送信に対して最も高い優先順位を有している。レベルNにおけるノードEが、ノードXへの送信に対して次に高い優先順位を有している。レベルNにおけるノードBが、ノードXへの送信に対して最も低い優先順位を有している。図２１Pでは、メッセージがノードWからノードXに送信されかどうかを示すための、ノードWからノードEへの制御ラインが示されている。ノードEからノードBへの制御ラインによって、ノードE若しくはノードWのいずれかがノードXにメッセージを送信したかどうかが示される。
【０１８７】
図３０を参照すると、所定の時間ステップにおいて、レベルN−1のノード３０１０にメッセージを送信するように、レベルNのノードFBが配置されている。次の時間ステップにおいて、レベルN−1のノード３０２０にメッセージを送信するように、レベルNのノードFBが配置されている。レベルN−1のノード数がN−2のノード数と等しいので、これらのレベルの間の相互接続パターンは、図１Ａ、１Ｂ、及び１Ｃで示されるものと同じになる。メッセージがフラクタル・ノードの最も右側の列に到達すると、このメッセージはそのノードの一番左側の列に戻ることはないが、代わりに同一レベル若しくは下位レベルのノードに進む。この方法によって、ワームホール方式で移動する所定のメッセージが、種々のレベルにおける複数の巨大なノード間に配信され得る。
【０１８８】
自己相似相互接続構造の内部では、フラクタル・ノードが内部的に相互接続構造になっている。このフラクタル・ノードは、ここで説明した類のノードを含む。更に、これらのフラクタル・ノードは、ここで説明した類の構造の内部で接続される。N+1は、巨大構造の中のレベル数を示しており、最下位レベル0から最上位レベルNまで並べられている。レベルNにおけるフラクタル・ノードは、固定されたターゲット・ビットを有さない8つの行、ターゲット・ビットが1つ固定された4つの行、ターゲット・ビットが2つ固定された4つの行を含んでいる。レベルN−1におけるフラクタル・ノードは、1つのターゲット・ビットが固定された8つの行、2つのターゲット・ビットが固定された4つの行、3つのターゲット・ビットが固定された4つの行を含んでいる。このパターンが、巨大構造のレベルを下までずっと連続している。巨大構造のタイミングとして、所定のメッセージが1つの小ノードを横切るのに費やされる時間よりも大きい時間間隔で、制御信号が送信される。この時間遅延によって、制御信号が種々のデバイスをより大きな距離だけ横切って進むことが可能になるという点で効果的である。
【０１８９】
図３０を参照すると、フラクタル・ノードFBは、レベルN、N−1、及びN−2にある。ノードFBの上位8行から退出するメッセージは、次列のフラクタル・ノードFCに送信される。下位8行からのメッセージもノードFCに進むことが可能であるが、これらのメッセージは更に、下位レベルにおいて接続されている別のノードにも進むことが可能である。ノードFBの16行r0、r1、...r15に留意されたい。ノードFBの最下位4行を退出するメッセージは、レベルN−2において接続されているノードに進むことが可能である。ノードFBの行r0を退出するメッセージは、レベルN−2におけるノードFPの最上位8行のうちの1つに進入することが可能である。ここで、ノードFPに進入する全てのメッセージは、ヘッダ・アドレスの最上位ビット（0,0）を備える出力に対するターゲティングが行われる。ノードFBの行r1を退出するメッセージは、レベルN−2におけるノードFQの最上位8行のうちの1つに進入することが可能である。ここで、ノードFQに進入する全てのメッセージは、ヘッダ・アドレスの最上位ビット（0,1）を備える出力に対するターゲティングが行われる。同様にして、ノードFBの行r2を退出するメッセージは、レベルN−2におけるノードFRの最上位8行のうちの1つに進入することが可能である。ここでノードFRに進入する全てのメッセージは、ヘッダ・アドレスの最上位ビット（1,0）を備える出力に対するターゲティングが行われる。最後に、ノードFBの行r3を退出するメッセージは、レベルN−2におけるノードFSの最上位8行のうちの1つに進入することが可能である。ここでノードFSに進入する全てのメッセージは、ヘッダ・アドレスの最上位ビット（1,1）を備える出力に対するターゲティングが行われる。ノードFBの行r4及びr5を退出するメッセージは、レベルN−1におけるノードFTの最上位8行のうちの2つに進入することが可能である。ここで、FTに進入する全てのメッセージは、先頭ビット0を備える出力に対するターゲティングが行われる。行r6及びr7を退出するメッセージは、ノードFXの最上位8行のうちの2つに進入する。ここで、ノードFXに進入する全てのメッセージは、先頭ビットが1である出力に対するターゲティングが行われる。この相互接続機構は、巨大構造のレベルを下側にずっと続いていく。
【０１９０】
巨大ネットワークの最も右側の列に到達するメッセージは、再び循環されて最も左側の列に進入し得る。しかしながら、フラクタル・ノード内のネットワークは、最も右側の列を出るメッセージが別のフラクタル・ノードに進むという特性を有している。図３１Ａを参照すると、フラクタル・ノードFX ３１１０の最上位8行は、同一レベルにおけるノードFW３１１２からのメッセージ、及び上位レベルにおけるノードFB３００２からのメッセージを受信するように配置されている。ノードFWは、FXのメッセージ送信に対してFBを上回る優先権を行使するべく制御信号３１１４をFBに送信する。
【０１９１】
図３１Bを参照すると、フラクタル・ネットワークの一実施例が、フラクタル・ノードのいくつかの出力ポートにおける付加的なロジックを含んでいる。ノードFBからの行r6及びr7が、p0及びp1とラベルされたエントリ・ポイント３１３０からノードFXの最上位8行のうちの2つに進入している。ノードFXと同一レベルにあるノードFWは、ノードFXにメッセージを送信することが可能である。ノードFWからの2行が、ノードFXのエントリ・ポイントp0及びp1にメッセージを送信する。ある所定の時間に、1つだけのメッセージが行r6若しくはr7からノードFWを退出する場合、ノードFWにおけるスイッチ３１４２がそのメッセージをp0に送信する。ある所定の時間に、1つだけのメッセージがp0及びp1に接続されているノードFBのポートを退出する場合、ノードFBにおけるスイッチ３１４０がそのメッセージをp1に送信し、それにより、望ましくは、両ノードがノードFXにメッセージを送信することが可能になる。ノードFWからノードFBへの制御信号によって、ノードFWがポートp0及びp1にメッセージをいくつ送信しているかが示される。ノードFBにあるロジックが、ノードFBからノードFXに最大可能数のメッセージを送信することに対する適切な決定を行う。
【０１９２】
別の実施例では、ノードFBからノードFXに下がるNデータライン、及びノードFWからのNデータラインを含んでいてよい（ここで、Nは2よりも大きい）。ノードFWからノードFBへの制御信号によって、ノードFWでいくつの入力ポートが利用可能であるか示される。この情報と、ノードFXの下位ポートにノードFWがメッセージを送信したこととを関連させて用いることで、ノードFBは、ノードFXの利用可能な入力ポートにメッセージを送信し、それにより下側に最大数のメッセージを送信する点が効果的である。
【０１９３】
この機構は、ノードFBと同一レベルにあり、同様にノードFXに送信を行うノードFE３１５０を考慮することによって、より一層一般化することが可能である。ノードFEは、ノードFEがノードFXにメッセージをいくつ送信し得るかということに関連する情報をノードFBから受信する。この機構は、ノードFWからノードFBへ、ノードFBからノードFEへ、更に場合によっては、ノードFEからノードFBへの制御情報の受渡しを必要とする。
【０１９４】
全説明の一般化及び類似の機構は、当業者には明らかであろう。図示された例は、小さなフラクタル・ノードである。当業者は、これらの方法を、より大きなフラクタル・ノードの構築に適用することが可能である。フラクタル・ノード間の制御信号に課せられるタイミングの要求条件が緩いので、各フラクタル・ノードがチップ上でネットワークである非常に巨大なネットワークを構築することが可能な点で効果的である。更に、これらの原理を拡張することによって、各フラクタル・ノードが、それ自体がチップ上のフラクタル・ノードで構成される非常に大きいネットワークになっている、超巨大ネットワークを、当業者が構築することが可能である。ここで説明されたネットワークのクラスの処理能力及び効率が、制限なしにスケーリングされるものであるという点で効果的である。サイズの唯一の制限は、パッケージングの制約により課せられる技術的な制限に起因するものである。任意の大きさの高性能相互接続網の構築を可能にする、自己相似性の、若しくはフラクタルの、ネットワークを用いることによって、この制約は解かれる。
【０１９５】
図３２を参照すると、試験メッセージをデータ・バス１０２及び１４２へ発行し、相互接続構造内部のデータと制御信号との経路へ、及びデータ退出経路１４８への接続３２１０を用いて、相互接続構造を通るこの試験メッセージの進行及び流れを監視することによって、任意選択的な組込み式自己テスト（BIST）サブシステムが相互接続構造１００の動作の試験を行っている。内部の不完全な要素は、BISTシステムから送信された制御３２１６によりバイパスされ、望ましくは、動作の続行が可能になる。組込み式自己テストの結果、及び任意の救済的なバイパス若しくはその他の修理は、ステータス信号３２１４によって外部から信号送信されてよい。更に、このBISTサブシステムによって、相互接続構造の動き及び状態についての現在情報及び統計的情報が作られてもよいし、又、この情報が外部から供給されてもよい。
【０１９６】
図３２は、適切な時間に1以上のメッセージを最上位レベルに送信し、且つ相互接続構造内を通るこのメッセージの進行を関しすることにより動作する、組込み式自己テスト（BIST）サブシステム３２０２の一般的なブロック図を示している。競合する複数のメッセージが送信され、BISTの動作が検査される。このBISTロジックは、メッセージのテーブル及び／又はメッセージを生成するためのアルゴリズムを含んでおり、それらのメッセージは、組込み式自己テストが実行される際に相互接続構造を通して送信される。好ましくは、十分な量のメッセージが生成されて、全てのセルが南及び東へのメッセージの処理を行う。
【０１９７】
BISTサブシステムからの接続は、全ての入力ポートにおいて、且つ各レベルにおける全セルのあらゆる制御信号経路及びデータ経路から、作られてよい。少なくとも1つのメッセージが別のメッセージによってブロッキングされ、それによりセルの制御能力が効果的に試験されるように、複数のメッセージが1つの入力ポートに投入される。セルから送信された制御信号を検査し、更に相互接続網が作動している間のメッセージの流れをサンプリングすることによって、好結果のブロッキングが監視される。BIST手順の間、全てのセルが制御信号の生成及び受信を行うように、複数のメッセージ組合わせが送信される。
【０１９８】
組込み式自己テストが全範囲で完了した時には、相互接続構造内の全セルが、少なくとも1つのメッセージを南方向に、及び少なくとも1つのメッセージを東方向に通過させ、更に、少なくとも1つの制御信号の生成及び受信を行ったことなる。BISTの成功若しくは失敗程度を示す外部信号が生成される。不良セル若しくは不完全セルが、動作の間、更なるメッセージ・トラフィックからバイパスされる点で効果的である。不完全セルのテーブル若しくはリストがBISTサブシステム内に格納され、この不完全セルはメッセージ処理から除去される。図３３では、不完全セル３３０２がどのようにして、メッセージの処理及び流れに損害を与えずに回路から除去されるかが示されている。BISTは、不完全セルが切離されるバイパス要素に信号３３０６を送信する。
【０１９９】
不完全セルは、東、南、若しくは北に全部が0の信号を送信する、全部が1の信号を送信する、若しくは無作為の信号を送信することで、不完全である可能性がある。或いは、不完全セルは、メッセージ・ヘッダ若しくは制御信号に応答するのを失敗する可能性がある。いずれにせよ、不完全セルの出力は、メッセージ処理から切離される。バイパス信号は、不完全セルの制御信号と組合わせれ、それにより「使用中」を意味する「1」が上のセルに常に送信され、それにより上のセルが不完全セルにメッセージを送信することが防止される。同様にして、南への出力信号も切られ、それにより南のセルもメッセージ若しくは無効なデータを決して受信しないようにされる。西からの入力信号は、遅延要素３３２０を通してセル３３１２の周囲にルーティングされる。図示されている遅延要素は、セルがメッセージを西から東に送信する場合と同一遅延を有する小さいFIFOである。東方向及び南方向への出力ポートは、相互接続構造から除去される。メッセージは、南からブロックされるセルと同様にして機能するバイパスを通過する。バイパスの正味の効果は、1つの特定の列においてメッセージが南に下がる機会を有さないということである。通常の相互接続網では、I／Oポート数をサポートするのに必要となるのよりも、多くの列を内部に含んでいる。それゆえに、バイパスを通って移動するメッセージは、南に移動する複数の機会をなお有している。不完全セルのバイパスの組込みは、図８Ａに示されるカスケード設計を用いることの別の理由である。全てのノードアレイに少なくとも1つのバイパスを含んでいる相互接続構造に対して、向上された信頼性を得る可能性がある。ノードアレイの各々に対して少なくとも1つのバイパス要素を含む相互接続構造に対して、更なる機能向上が得られる。
【０２００】
図示されている例では、1つのセルのバイパスが示されている。類似のバイパスが2セル及びNセル・ノードに対して組込まれる。従っている原理は、東方向及び南方向への不完全な出力ポートが切離され、北の1つ若しくは複数のセルが南方向にメッセージを下げることを防止され、更に西から東への不完全な経路がバイパスされるというものである。BISTサブシステムと、不完全セルのバイパスは任意選択的な特性である。モンテカルロ・シミュレーションによって、図８Ａに示されるカスケード設計を用いる1024乃至65,536のI／Ｏポートを備えた相互接続網は、入力ブロッキングを何ら用いずに90%を越える入力速度を維持できることが示されている。本明細書で説明されている相互接続構造のスケーラブルな相互接続能力は、現行技術による組込み能力を、大幅に上回っている。ウェーハ・スケールの技術は、非常に大きな相互接続構造を獲得するための一方法である。多数のI／Oポートをサポートする複数の例で、チップ欠陥を処理するように、BISTサブシステム及び不完全セルのバイパスが実装されている。
【０２０１】
図３４では、少なくとも1つの相互接続チップ３４０８がスペア用チップ若しくは予備チップとして用いられるという望ましい特性を備えた複数の相互接続チップで構成される大きな相互接続システムのブロック図が示されている。この例では、図面の単純化のために、各相互接続は、4つの入力ポート及び4つの出力ポートだけを有している。システム３４０２は、4つの相互接続チップに予備用に相互接続チップが1つ加えられた３４０８、外部にある制御システム３４１６、入力マルチプレクサ３４０４、及び出力デマルチプレクサ３４１２を含んでいる。これらの構成要素は、全システムの半分を構成している。システムのI／Oポートの総数は、単一チップ数の2乗である。例えば、この構成での4ポート相互接続チップは、システム全体で42若しくは16のI／Oポートをサポートしている。2つの半システム２４０２が直列に用いられて、完全なシステムが形成される。
【０２０２】
各相互接続チップの電源が入れられると、組込まれたBISTサブシステムが外部のコントローラ３４１６に動作の成功若しくは失敗を通知する。このコントローラは、システムが動作している間、チップの動作を監視する。電源が入っていて、且つシステムが動作している間、相互接続チップのうちの1つが回路から取外されて、予備チップ３４０８によって置換えられてよい。この入力マルチプレクサ３４０４は、入ってきたメッセージを2チップのうちの一方に方向付ける、一連の1×2スイッチを含んでいる。各チップの出力ポートは、2チップのうちの一方を選択して、メッセージ及び制御信号をシステムのコピー３４０２へとルーティングするデマルチプレクサ３４１４に接続される。
【０２０３】
図３５Ａは、完全な16×16システムを形成するように直列に接続された2つの不完全チップ・バイパス・サブシステム３４０２を含んでいるブロック図である。この例では、相互接続チップ３５０４が不完全であると判定されている。外部制御ユニット３４１６は、データ経路から不完全なチップを除外するために、入力３４０４及び出力３４１２ユニットに制御情報を送信する。この例では、通常はチップ番号2 ３５０４を通過し得るメッセージが、代わりにチップ番号3にルーティングされ、チップ番号3を通るはずであったメッセージが予備チップ３４０８を通るようにルーティングされ、以下同様である。この2つのサブシステムの間の相互接続網によって、左側のサブシステム上にあるチップからの各出力信号が、右側のサブシステムの4つのチップの各々の入力ポートへとルーティングされる。それにより、望ましくは、16入力のいずれかに進入するメッセージが、最後の出力ポートのいずれかに運ばれる。
【０２０４】
図３５Ａでは、各サブシステム内に4つの相互接続チップと、付加的な1つの予備チップとが示されている。実施例によっては、各チップでサポートされるI／Oポートの数がここで示される4よりもはるかに大きく、例えば、64乃至256になり得る。それゆえに、システムの容量は、642乃至2562となり得る。1つのサブシステムが複数の予備チップを含むということが最も効果的な点である。64×64システムのこの例では、8チップ若しくは16チップの集団が、ブロック毎に1つの予備チップを備えている、1つのブロックとして処理される。従って、1つのシステムは、33チップから成る4ブロック、若しくは9チップから成る8ブロックを含み、望ましくは、それにより複数のチップの故障に対する予備的な容量が提供される。
【０２０５】
図３５Bは、制御ユニット３４０４の代替的な実装が示されており、そこではスイッチ３４０６の機能が各チップ内で内部的に実行されている。この例では、各チップ３５１０が、内部I／O接続の各々について2つのI／Oポートを有している。内部の2×1出力スイッチ（図示せず）は、外部スイッチ３４１２と同等の機能が実行される。望ましくは、この例では、チップ当り2倍のI／Oポートを含んでしまうという代償を払って、入力ユニット３４０４及び出力ユニット３４１２が除去される。この代償は、全相互接続システムの大きさをNの2乗にすることによって、埋合わせがなされる。
【０２０６】
行に沿って移動するあるメッセージは、ある列においてメッセージをブロックするが、次列でのブロックは行わない。図示されている構造では、可能なだけの列が含まれ、それにより、メッセージの南への移動に対して複数の機会が提供される。ノードを実装するのに非常に少量のロジックが用いられているので、技術的に課せられてしまう主要な制限は、I／Oピンの数が限られてしまうことである。これによって、I／Oポートの量に対するロジックの存在量（abundance）が得られる。ロジックの相対的存在量は、ブロックされるメッセージの確率を大幅に減少させるように、可能な限り数多くの相互接続網を通る経路を作成するのに用いられる。
【０２０７】
図３６Ａでは、相互接続網内の最上位レベルが示されており、そこでは代替的な列が入力ポートに接続されており、それにより、I／O接続数とロジックとの比にして2だけ減少される。右側の2列は、別の例を示しており、そこでは、ノードアレイ内のセルの半分が入力ポートに接続されており、且つ次列では1つも接続されておらず、それによりセルとI／Oとの比が4：1になっている。図３６Bは、1つの2セル・ノードが1つの入力ポートだけしか有さず、それにより、ブロックされていない進入メッセージが、南に移動する機会を常に有する一例が示されている。入力接続のために1列しか用いられていないので、出力ポートと比べて入力ポートはほとんど含まれず、それにより、相互接続構造内部のトラフィック密度が低下し、更に、いくつかの適用に対しての少数対多数のI／O比がサポートされる点で効果的である。
【０２０８】
図７Cを参照すると、メッセージ全体が含むように、行に沿って十分な記憶領域を利用することが可能になっている。多数の列を用いる場合、十分な記憶領域、例えば、各列当り2以上の記憶要素が利用可能となり得て、それにより別個のFIFOを用いることなくセル内に全メッセージが収納される。ロジックは、FIFOアレイの上よりも、むしろセル内でより効率的に消費される。例えば、80ビットのメッセージ長は、約40列を有する相互接続構造内に収納可能であり、それにより数多くの南への移動機会が提供される。チップ上で十分な数のロジックが利用可能でない場合、差異を作り出すためにFIFOが用いられる。
【０２０９】
列の総数と、入力接続を備えている列との比は、I／Oとロジックの量の比によって決定される。この利用可能ロジックは、可能な限り多数のノードアレイを生成するのに用いられ、それにより、メッセージがターゲット行に到達する一方で、望ましくは、相互接続網を通過する間に、ブロッキングをほとんど経験しない。図３６Cには、入力接続が一列だけに配置されている2セル・ノードを用いた一例が示されている。図示される設計を用いる利点は、望ましくは、外部の入力デバイスが単一のタイミング信号によって制御され、更に、セルとI／Oとの高い比が得られることである。メッセージは一箇所だけからしか行に進入できないため、最上位レベルに進入するメッセージは、南に移動する機会を多数有する。この例におけるメッセージ・トラフィック密度は非常に低くなっており、望ましくは、無視可能なブロッキングが生成され、且つ低レイテンシィーが得られる。
【０２１０】
図２４Ａ及び図２４Ｂでは、メッセージが、他のメッセージと同期して、相互接続網を通ってルーティングされるように、特定時間でセルに到達する必要があるのが示されている。図３６Ｄには、入力デバイスが任意の時間にメッセージを送信することが可能な構造が示されている。入力コントローラ及びデマルチプレクサ３６５０は、トラフィック・ビット３０２の到達を検出し、その列における別のメッセージと同期させながら、到達したメッセージを適切な列３６５２にルーティングする。融通の効く遅延要素３６５４が、タイミングの微調整を行うのに用いられ、それにより最上位レベルに進入する全メッセージが同期化される。
【０２１１】
図２４Ｂには、隣接するレベルを移動するメッセージの相対的なタイミングが示されている。セルは、一般的には単一クロック周期である制限的な時間周期を有し、それにより北のセルに対して制御信号の生成及び送信が行われる。タイミングの特定も、外部デバイスに対して保持される。セルがメッセージの第1ビットを受信し得る前に、最上位レベルのノードによって、外部デバイスに制御信号が送信される。I／Oの割合が高い場合には、信号が外に出てから戻るときの移動時間及び入力デバイス３７１０に対する内部処理の要求が、クロック周期を大幅に上回る可能性がある。
【０２１２】
図３７では、入力タイミングの制約が非常に緩められて、制御信号の生成、送信、及び応答を行うための十分な時間が可能になる構造が示されている。この設計は、制御信号が1つの列３７０６からとられ、メッセージが東にある別の列３７０８に投入されること以外は、図３６Ｃの単一列若しくは単一クロックの入力と類似している。セル３７２２においてブロックされたメッセージM1は、外部の入力デバイス３７１０に制御信号を送信する。この外部デバイスは、この外部デバイスがメッセージを入力ポート２１４に送信するかなり前に信号を受信する。融通のある遅延要素３６５４が、タイミングの調整を行うために用いられてよい。制御信号の出力とメッセージの入力との間の時間量は、行に沿ったFIFO及びシフト・レジスタ内のビット総数をとって、クロック周期を乗じることにより計算される。例えば、クロック周期が1.2ナノ秒、FIFOに含まれるビット数が80、単一列３７０６と入力列３７０８との間が10セル（合計20ビット）の場合、反応時間は1.2×（80+20）＝ 120ナノ秒になる。この反応時間は、望ましくは、入力デバイスと通信するために電子的な信号が外に出て戻るまでに必要とする移動時間に、入力デバイスの処理時間を加えたものよりも長くなっている。メッセージM1は、制御信号が送信されてから120ナノ秒後に入力ポート１２０に到達する。FIFOの長さは、必要な外部の反応時間に適用されるように、設定若しくは調整がなされてよい。入力セル３７２８がブロックされると、スイッチ６１８は北の外部入力デバイスからの入力を受入れず、望ましくは、何らかの不要なメッセージが相互接続構造に進入するのが防止される。
【０２１３】
セル３７１６におけるブロックされた別のメッセージM2も、同様にして外部デバイスに制御信号を送信する。使用中の出力列とメッセージ入力列との間に多数の列が存在するため、メッセージM2は入力列に到達する前に南方向３７１８に移動し得る。この場合には、「失敗（false）」の制御信号が生成される。この「失敗」の制御信号は、相互接続網が最上位レベルにおいて混雑してきた場合に、一度に入ってくる入力トラフィックを減少させ、それにより望ましくは、相互接続構造がビジー状態になった時に、外部からのメッセージ・トラフィックの受信を調整する自動的な機構を作り出して、相互接続構造を通る全トラフィック密度を低下させる。使用中の出力列とメッセージ入力列との間に、入力接続が1つも作られないため、制御信号が存在しないということは、対応するメッセージ入力ポートが利用可能であって、ブロックされていないということを常に意味している。
【０２１４】
ビジー信号出力が、FIFOSの直ぐ前の列内に存在する場合、入力タイミングの制約は緩和されるが、ビジー信号は決して失敗にはならない。
【０２１５】
図３８−移動時間ループ
図３８は、外部の反応時間制限を処理するための付加的な方法を示している。この模式的な構造では、外部の信号経路が、実質的には、FIFOループ３８４０が1以上のメッセージをバッファするように用いられている。このループが空の場合に、入力デバイス３８１０がメッセージをループ中に送信することが許可される。このメッセージが入力ポート３８３８に到達すると、メッセージは、最上位レベルのセルが使用中でない場合にこのセルに進入することが許可される。セルが使用中である場合、このメッセージはオンチップFIFO３８４６を通って進み、別の列及び行への接続を試みる。このメッセージが全ての試みをブロックされると、メッセージが同一若しくは異なる入力デバイスへと元の位置に循環され、そこではメッセージによってデバイスがループに別のメッセージを送信することが防止される。戻ったメッセージは、望ましくは、外部入力デバイスにそのデバイスがメッセージ送信することができないということを通知する制御信号として機能する。入力コントローラ３８３０に戻った後に、このメッセージは、進入の別の試みをするべく再度、相互接続網へと元の位置に送信される。FIFO３８４０及び３８４２は、共に、1以上のメッセージを含むのに十分大きくなっている。破線３８５０の下の構成要素は、通常、チップ内部にある。
【０２１６】
本発明は、種々の実施例を用いて説明されてきたが、これらの実施例は例示的なものであり、本発明の範囲はそれらにより制限されはしないことを理解されたい。これらの実施例に対して種々の変形、修正、付加及び改良が可能である。例えば、当業者には、本明細書で説明される構造及び方法を提供するのに必要なステップの実装が容易であろうし、又、示された処理のパラメータ、材料、及び寸法は例示のみが目的であって、所望の構造を得るために本発明の範囲内にある修正及び変形がなされ得ることを理解するであろう。本明細書で開示される本実施例の変形及び修正は、以下の請求項で示される本発明の精神及び範疇から離れることなく、本明細書で示される説明に基づき得る。
【０２１７】
本明細書の請求項では、特に断らない限りは、全てのものは「1以上」を示している。
【図面の簡単な説明】
【図１Ａ】  図１Ａは、ノードアレイ及び置換ボックスが複数の列及びレベルに配置された革新的な相互接続構造を示しており、水平方向及び垂直方向のデータ経路、垂直方向の制御信号経路、及び入力／出力構造が図示されている。
【図１Ｂ】  図１Ｂは、ノードアレイ及び置換ボックスが複数の列及びレベルに配置された革新的な相互接続構造の代替実施例を示しており、水平方向及び対角方向のデータ経路、垂直方向の制御信号経路が図示されている。。
【図１Ｃ】  図１Ｃは、多重レベル、最小ロジックのネットワーク若しくは相互接続構造の一例が図示された模式的な絵画図である。
【図２Ａ】  図２Ａは、ノードアレイ内のセルの間の局所的な相互接続の一例が図示された単純な模式図である。この図は、水平方向のデータ経路、若しくは「行」の上に配置されたセル接続を示しており、このセル接続は置換ボックスを経て隣接列内のセルへと接続され、更に、同一列内のセルへと「下向きの」の経路若しくは「上向きの」制御信号経路によって垂直方向に接続されている。
【図２Ｂ】  図２Ｂは、理解を容易にするように、且つ本明細書の文中で用いられる規約を定義するために、「北」、「南」、「東」、及び「西」と名付けられた4方向への別のセルへの相互接続が示されたセルの単純化された図である。
【図３Ａ】  図３Ａは、「トラフィック」ビット、2進コード化ビット、若しくはターゲットの行アドレスを指定するビットなどの種々の所定ビットを含むメッセージ・フォーマットの一例を示すテーブルである。概して、このメッセージ・フォーマットは、ペイロードが後に続くヘッダを含む。
【図３Ｂ】  図３Ｂは、クオリティ・オブ・サービス（QOS）のコード化をサポートする代替的なメッセージ・フォーマットを示しているテーブルである。
【図３Ｃ】  図３Cは、メッセージが次のレベルに移動する際のメッセージ・ヘッダ修正が図示されたテーブルである。
【図４Ａ】  図４Ａは、8行3列の相互接続網の一例と、セルに対するデータ及び制御信号経路及び入力／出力（I／O）ラインの接続トポロジーが示されている詳細模式図である。破線はワームホール・メッセージの流れを図示している。
【図４Ｂ】  図４Ｂは、代替的だが、8行5列の相互接続網と機能的に同等なトポロジーを示している模式図である。
【図５Ａ】  図５Ａは、2つのレベル内部にあるセルを経由するメッセージ・ワームホーリングを図示するために2レベル、4列におけるセルが示された単純化されたブロック図である。
【図５Ｂ】  図５Ｂは、同様に2レベル、4列におけるセルが示された単純化されたブロック図であり、下位レベルのセルからの制御信号によるメッセージのブロッキングが示されている。メッセージはブロッキングされるが、メッセージは常に自由な経路を有しており、それにより別の列からの下側への移動を経てワームホールの進行が続けられる。
【図５Ｃ】  図５Ｃは、図１Ｂに図示された対角方向トポロジーを用いた2レベル、4列のセルが示されている単純化されたブロック図である。メッセージ・ワームホールは、セルを経由するが、制御信号によって一時的にブロックされ得る。先読制御信号を備えた図５Ｃの相互接続トポロジーは、第1メッセージがその時点でブロックされると、第2メッセージのブロッキングを防止する。この第2メッセージはブロッキングされずに即座に次のレベルへと移動する。
【図６Ａ】  図６Ａは、3つの内部状態にあるセルのうちの1つを図示している詳細の模式的なブロック図であり、メッセージの「垂直方向」及び「水平方向」の移動と、制御信号の変換及び受信が示されている。
【図６Ｂ】  図６Ｂは、3つの内部状態にあるセルのうちの1つを図示している詳細の模式的なブロック図であり、メッセージの「垂直方向」及び「水平方向」の移動と、制御信号の変換及び受信が示されている。
【図６Ｃ】  図６Ｃは、3つの内部状態にあるセルのうちの1つを図示している詳細の模式的なブロック図であり、メッセージの「垂直方向」及び「水平方向」の移動と、制御信号の変換及び受信が示されている。
【図７Ａ】  図７Ａは、相互接続構造の1つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びFIFOを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの1以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｂ】  図７Ｂは、相互接続構造の1つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びFIFOを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの1以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｃ】  図７Ｃは、相互接続構造の1つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びFIFOを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの1以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｄ】  図７Ｄは、相互接続構造の1つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びFIFOを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの1以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｅ】  図７Eは、相互接続構造の1つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びFIFOを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの1以上の適用に対して、ある特定の構成がより効果的になり得る。
【図７Ｆ】  図７Fは、相互接続構造の1つのレベルを示しており、且つ種々のノードアレイ、置換ボックス、及びFIFOを含むレベルの構造を形成するための複数の任意選択的な構成が図示されている。種々の適用のうちの1以上の適用に対して、ある特定の構成がより効果的になり得る。
【図８Ａ】  図８Ａは、市販されているシリコンを効率的に用いた相互接続構造の「階段状」実施例が図示された模式的なブロック図である。入力デバイスから始まり、相互接続構造内で分岐して、2つのターゲット出力ノードから相互接続構造を退出するラインが、メッセージのワームホールの流れの一例の動作を図示している。
【図８Ｂ】  図８Ｂは、階段状相互接続構造が示された模式図である。
【図８Ｃ】  図８Ｃは、トラフィックの状態がバースト状態であるときに処理能力を保持しながら、出力の接続数を減少させるオンチップ出力キューが図示された単純化されたブロック図である。最下位行上の複数列におけるセルがキューを提供する。
【図９】  図９は、セル、行、信号経路、レベル及び集団の関係が示された理論的な図である。任意の入力端子若しくはデバイスから、任意の出力端子若しくはデバイスに複数のデータ経路が延びている。
【図１０】  図１０は、置換ボックス配置を規定する数列を生成するための作業が図示されているテーブルである。
【図１１Ａ】  図１１Ａは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｂ】  図１１Ｂは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｃ】  図１１Ｃは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｄ】  図１１Ｄは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｅ】  図１１Ｅは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｆ】  図１１Ｆは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｇ】  図１１Ｇは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１１Ｈ】  図１１Ｈは、メッセージの次列への移動に対しての行−行接続経路を決定する置換ボックスが示された詳細図である。この置換ボックスの動作は、図１０に示された変換列に基づいている。
【図１２Ａ】  図１２Ａは、程度1の置換ボックスがM個、直列に接続されるという方法によって、メッセージの流れに影響を及ぼす「程度M」の置換ボックスが図示されている詳細図である。
【図１２Ｂ】  図１２Ｂは、程度1の置換ボックスがM個、直列に接続されるという方法によって、メッセージの流れに影響を及ぼす「程度M」の置換ボックスが図示されている詳細図である。
【図１２Ｃ】  図１２Ｃは、程度1の置換ボックスがM個、直列に接続されるという方法によって、メッセージの流れに影響を及ぼす「程度M」の置換ボックスが図示されている詳細図である。
【図１２Ｄ】  図１２Ｄは、程度1の置換ボックスがM個、直列に接続されるという方法によって、メッセージの流れに影響を及ぼす「程度M」の置換ボックスが図示されている詳細図である。
【図１３Ａ】  図１３Ａは、水平方向及び垂直方向の相互接続経路上へのセルの緻密且つ物理的な配置が図示されたブロック図である。
【図１３Ｂ】  図１３Ｂは、シリコンをより効率的に利用し、且つセル間のワイヤの長さを最小化させるように、水平方向及び垂直方向の相互接続経路に渡って、向上させる物理的な配置が示されている。この向上された配置によって、各レベルにおいて「レーストラックの流れ」が生じる。
【図１４】  図１４は、通常の2のべき乗設計に勝る、相互接続網クラスを備えた11行相互接続構造が示された相互接続設計である。
【図１５Ａ】  図１５Ａは、通常の2のべき乗の大きさの設計に勝るべく、図１４に示された11行相互接続網に用いられ得る置換ボックスの例が示された詳細図である。
【図１５Ｂ】  図１５Ｂは、通常の2のべき乗の大きさの設計に勝るべく、図１４に示された11行相互接続網に用いられ得る置換ボックスの例が示された詳細図である。
【図１５Ｃ】  図１５Ｃは、通常の2のべき乗の大きさの設計に勝るべく、図１４に示された11行相互接続網に用いられ得る置換ボックスの例が示された詳細図である。
【図１５Ｄ】  図１５Ｄは、通常の2のべき乗の大きさの設計に勝るべく、図１４に示された11行相互接続網に用いられ得る置換ボックスの例が示された詳細図である。
【図１６】  図１６は、2のべき乗設計以外の相互接続網のクラス、3ベース設計に対する数列を生成するための動作が図示されたテーブルである。
【図１７】  図１７は、図１６に示される3ベース変換列から得られる、メッセージの次列への移動のための行−行接続経路を備えた置換ボックスが示された相互接続の詳細図である。
【図１８】  図１８は、3ベース設計を用いた27行相互接続網の1列及び3レベルが示された相互接続の詳細図である。複数の列によって全相互接続網が形成される。
【図１９Ａ】  図１９Ａは、4ベース・ノードと、他のセルへのノード内の制御信号接続とに関連付けられたロジックの1セルを示した詳細なブロック図である。このロジックは、同時に2ヘッダ・ビットを検討して、それによりメッセージ・ルーティングが決定される。
【図１９Ｂ】  図１９Ｂは、4ベース・ノードを形成するための、4つの4ベース・セルの相互通信及び相互接続網が示されたブロック図である。メッセージ・ルーティングの、下位レベルへの経路を制御することに対しての、セル間での優先権が示されるラインが含まれている。
【図１９Ｃ】  図１９Cは、混雑を減少させるべく、複数の南への接続経路を含んでいる4ベース・ノードの一実施例が示された詳細なブロック図である。
【図１９Ｄ】  図１９Dは、混雑を更に減少させるべく、付加的な南への接続経路を含んでいる4ベース・ノードの別の実施例が示された詳細なブロック図である。
【図２０Ａ】  図２０Ａは、複数の列及びレベルにおいてセルと相互接続する4ベース、4行の相互接続網が示されたブロック図であり、均衡のとれたトラフィックの流れに対して、連続的な列で優先権を変更するための方法が示されている。
【図２０Ｂ】  図２０Ｂは、16行相互接続網の1つの列の内部にある4ベース・セルが示されており、更に、レベル及び列の間の変換列と、セルの集団の間でのラウンドロビン特性が示されている。
【図２０Ｃ】  図２０Ｃは、4ベース相互接続網の一実施例における1列及び3レベルが示された詳細なブロック図である。
【図２１Ａ】  図２１Ａは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｂ】図２１Ａは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｃ】図２１Ｃは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｄ】図２１Ｄは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｅ】図２１Ｅは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｆ】図２１Ｆは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｇ】図２１Ｇは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｈ】図２１Ｈは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｉ】図２１Ｉは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｊ】図２１Ｊは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｋ】図２１Ｋは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｌ】図２１Ｌは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｍ】図２１Ｍは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｎ】図２１Ｎは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２１Ｐ】図２１Ｐは、メッセージ及び制御情報の送信のための、複数のセル−セル接続トポロジーが図示されたブロック図である。この図示された、構造的に区別される配置及びトポロジーは、機能的に類似している。
【図２２Ａ】図２２Ａは、相互接続網を経由する接続経路の濃密なセットを備えた2セル・ノードを用いている一実施例が示された詳細な相互接続図である。同一ノードから始まる複数の経路が、ホット・スポットを取除くように広がっている経路を用いて、任意のターゲット行に効率的に到達している。
【図２２Ｂ】  図２２Ｂは、入力端子から出力端子へ延びている複数の経路を備えた、2セル・ノードを用いている8行、4列の相互接続網の一例が示された詳細な相互接続図である。同一ノードから出発するメッセージは、任意の出力への複数の経路を有しており、この経路はホット・スポットを取除くように広がっている。
【図２３】  図２３は、2セル・ノード、ノードを経由するメッセージ・ワームホーリング、及び2レベルでのデータ及び制御信号によるノード接続が図示された模式的なブロック図である。
【図２４Ａ】  図２４Ａは、異なるレベルの共通の列内にある2セルが示され、且つこの2セルへのメッセージ到達の相対的なタイミングが示されているブロック図である。下位セルは、メッセージを受信し、メッセージが上位セルに到達する前にルーティングの決定を行う。このブロック図は、下位セルがルーティングの決定を行う時に、ヘッダ・ビットに関する両セル内のシフト・レジスタの内容を更に示している。
【図２４Ｂ】  図２４Ｂは、2つのレベルにおけるセルに対しての、メッセージの到達が示されたタイミング線図である。下位レベルは、次の上位レベルよりも先にルーティングの決定を行う。タイミングに関するスキューが異なるレベルで挿入され、それにより遅延の補正がなされる。メッセージ・タイミングの最後と、次列へのメッセージの到達とが同様に図示されている。
【図２４Ｃ】  図２４Ｃは、図２４Ｂに示されたタイミング信号及びクロックを、相互接続網の全ての列及びレベル内にある全セルに配信する相互接続網が図示されている単純化されたブロック図である。
【図２４Ｄ】  図２４Ｄは、1つのノードアレイ内で同等に、全ノードにタイミング信号を配信するためのベース3のファンアウトを備えている従来的な構造が示された模式的な図である。
【図２５】  図２５は、ノードに進入する1つ若しくは複数のメッセージに対するルーティングの決定を行うための作業が示された単純化された流れ図である。
【図２６】  図２６は、図２３に示された2セル・ノードの接続状態が示されたテーブルであり、南から受信した制御信号と共に、西から進入するメッセージのメッセージ・ヘッダの内容に基づくメッセージ・ルーティング及びノード内部の接続の決定が図示されている。
【図２７】  図２７は、続いてのレベルへの相互接続経路の濃密なセットを形成する内部スイッチを備えた4セル・ノードの一例を示すブロック図であり、下位レベルにおける複数ノード内のセルへの接続が示されている。
【図２８Ａ】  図２８Ａは、4セル・ノードを用いて形成された32行相互接続構造が示されている詳細な相互接続図であり、隣接する列及びレベル内のセルに接続されるセルの接続が示されている。
【図２８Ｂ】  図２８Ｂは、4セル・ノードを用いて形成された32行相互接続構造が示されている詳細な相互接続図であり、隣接する列及びレベル内のセルに接続されるセルの接続が示されている。
【図２８Ｃ】  図２８Ｃは、レベル間の置換ボックスが示された絵画図である。
【図２９Ａ】  図２９Ａは、図１Ｂ及び図５Ｃに示される対角方向トポロジーの、2レベル及び2列における複雑さが増大された2セル・ノードを示す単純化されたブロック図である。このノードは、相互接続経路及び制御信号の濃密なセットを有しており、同一ノード若しくは隣接列内のセルに対して競合するセルの優先権関係をサポートしている。
【図２９Ｂ】  図２９Ｂは、トポロジー的には異なるが機能的には図２９Ａに示されている2セル・ノードと同一である種々の内部セル、スイッチ、及び制御ロジックを備えた2セル・ノードの代替実施例が図示された単純化されたブロック図である。
【図３０】  図３０は、フラクタル・ノードを用いる相互接続構造を示している。
【図３１Ａ】  図３１Ａは、ノード間の接続の詳細を含め、フラクタル相互接続構造の2つのレベルが示された相互接続のブロック図である。
【図３１Ｂ】  図３１Ｂは、データを順序よく整列された状態に保ちながら、バスの最下部へのデータのルーティングを行うパッキング・デバイスが示された相互接続の図である。あるレベルにおける古いメッセージが、そのレベルに到達するより新しいメッセージを上回る優先権を有するように、メッセージの優先権によってルーティングがなされる。
【図３２】  図３２は、相互接続網内でテスト・メッセージ及び制御信号の生成を行い、且つ相互接続網を経由するメッセージが問題なく進行するのを監視する組込み式自己テスト（BIST）サブシステムが示されている単純化されたブロック図である。
【図３３】  図３３は、損害を与えることなく相互接続網からセルを除去し、それによりオンチップ自己修復機能が実行される不完全セル・バイパスが示された、単純化されたブロック図である。
【図３４】  図３４は、予備チップを備えた複数チップ相互接続システムの半分が示されているブロック図である。この予備チップは、システム内で不完全チップを置換するために切換えられ得る。
【図３５Ａ】  図３５Ａは、複数チップ相互接続システムが図示されたブロック図であり、そこでは、図３４に示される複数チップ相互接続システム要素の2つの半分が相互接続して全システムを形成する。予備チップが不完全なチップを置換するようにシステム内で切換えられる。
【図３５Ｂ】  図３５Ｂは、チップをシステムの内外に切換えるための代替的な構造の詳細図である。
【図３６Ａ】  図３６Ａは、最上位レベルにおける入力接続を示した単純化されたブロック図であり、ある適用が必要とするものを満足させる配置が図示されている。
【図３６Ｂ】  図３６Ｂは、最上位レベルにおける入力接続を示した単純化されたブロック図であり、ある適用が必要とするものを満足させる配置が図示されている。
【図３６Ｃ】  図３６Ｃは、最上位レベルにおける入力接続を示した単純化されたブロック図であり、ある適用が必要とするものを満足させる配置が図示されている。
【図３６Ｄ】  図３６Ｄは、非同期入力信号の受信における相互接続網の作業が図示されている単純化されたブロック図であり、そこでは、任意の時間に到達する入力メッセージが、このメッセージと同期化されている特定の列にルーティングされる。
【図３７】  図３７は、外部入力デバイスに、そのデバイスが要求するタイミングよりも十分前に、外部制御信号を提供する相互接続構造の最上位レベルが示されている、単純化されたブロック図及び相互接続図である。この相互接続構造によって、制御信号が生成され、且つメッセージが入力デバイスに接続される。
【図３８】  図３８は、外部入力デバイスへの時宜にかなった制御信号を生成するための付加的な構造が示された、単純化されたブロック図及び相互接続線図であり、ブロックされて戻ったメッセージを外部デバイスへの通知のために用いる外部の「移動時間」ループが示されている。このブロックされたメッセージは、構造への進入の別の試みのためにこの相互接続構造に戻る。
【図１Ａ】
0004613296.tif 000002
【図１Ｂ】
0004613296.tif 000003
【図１Ｃ】
0004613296.tif 000004
【図２Ａ】
0004613296.tif 000005
【図２Ｂ】
0004613296.tif 000006
【図３Ａ】
0004613296.tif 000007
【図３Ｂ】
0004613296.tif 000008
【図３Ｃ】
0004613296.tif 000009
【図４Ａ】
0004613296.tif 000010
【図４Ｂ】
0004613296.tif 000011
【図５Ａ】
0004613296.tif 000012
【図５Ｂ】
0004613296.tif 000013
【図５Ｃ】
0004613296.tif 000014
【図６Ａ】
0004613296.tif 000015
【図６Ｂ】
0004613296.tif 000016
【図６Ｃ】
0004613296.tif 000017
【図７Ａ】
0004613296.tif 000018
【図７Ｂ】
0004613296.tif 000019
【図７Ｃ】
0004613296.tif 000020
【図７Ｄ】
0004613296.tif 000021
【図７Ｅ】
0004613296.tif 000022
【図７Ｆ】
0004613296.tif 000023
【図８Ａ】
0004613296.tif 000024
【図８Ｂ】
0004613296.tif 000025
【図８Ｃ】
0004613296.tif 000026
【図９】
0004613296.tif 000027
【図１０】
0004613296.tif 000028
【図１１Ａ】
0004613296.tif 000029
【図１１Ｂ】
0004613296.tif 000030
【図１１Ｃ】
0004613296.tif 000031
【図１１Ｄ】
0004613296.tif 000032
【図１１Ｅ】
0004613296.tif 000033
【図１１Ｆ】
0004613296.tif 000034
【図１１Ｇ】
0004613296.tif 000035
【図１１Ｈ】
0004613296.tif 000036
【図１２Ａ】
0004613296.tif 000037
【図１２Ｂ】
0004613296.tif 000038
【図１２Ｃ】
0004613296.tif 000039
【図１２Ｄ】
0004613296.tif 000040
【図１３Ａ】
0004613296.tif 000041
【図１３Ｂ】
0004613296.tif 000042
【図１４】
0004613296.tif 000043
【図１５Ａ】
0004613296.tif 000044
【図１５Ｂ】
0004613296.tif 000045
【図１５Ｃ】
0004613296.tif 000046
【図１５Ｄ】
0004613296.tif 000047
【図１６】
0004613296.tif 000048
【図１７】
0004613296.tif 000049
【図１８】
0004613296.tif 000050
【図１９Ａ】
0004613296.tif 000051
【図１９Ｂ】
0004613296.tif 000052
【図１９Ｃ】
0004613296.tif 000053
【図１９Ｄ】
0004613296.tif 000054
【図２０Ａ】
0004613296.tif 000055
【図２０Ｂ】
0004613296.tif 000056
【図２０Ｃ】
0004613296.tif 000057
【図２１Ａ】
0004613296.tif 000058
【図２１Ｂ】
0004613296.tif 000059
【図２１Ｃ】
0004613296.tif 000060
【図２１Ｄ】
0004613296.tif 000061
【図２１Ｅ】
0004613296.tif 000062
【図２１Ｆ】
0004613296.tif 000063
【図２１Ｇ】
0004613296.tif 000064
【図２１Ｈ】
0004613296.tif 000065
【図２１Ｉ】
0004613296.tif 000066
【図２１Ｊ】
0004613296.tif 000067
【図２１Ｋ】
0004613296.tif 000068
【図２１Ｌ】
0004613296.tif 000069
【図２１Ｍ】
0004613296.tif 000070
【図２１Ｎ】
0004613296.tif 000071
【図２１Ｐ】
0004613296.tif 000072
【図２２Ａ】
0004613296.tif 000073
【図２２Ｂ】
0004613296.tif 000074
【図２３】
0004613296.tif 000075
【図２４Ａ】
0004613296.tif 000076
【図２４Ｂ】
0004613296.tif 000077
【図２４Ｃ】
0004613296.tif 000078
【図２４Ｄ】
0004613296.tif 000079
【図２５】
0004613296.tif 000080
【図２６】
0004613296.tif 000081
【図２７】
0004613296.tif 000082
【図２８Ａ】
0004613296.tif 000083
【図２８Ｂ】
0004613296.tif 000084
【図２８Ｃ】
0004613296.tif 000085
【図２９Ａ】
0004613296.tif 000086
【図２９Ｂ】
0004613296.tif 000087
【図３０】
0004613296.tif 000088
【図３１Ａ】
0004613296.tif 000089
【図３１Ｂ】
0004613296.tif 000090
【図３２】
0004613296.tif 000091
【図３３】
0004613296.tif 000092
【図３４】
0004613296.tif 000093
【図３５Ａ】
0004613296.tif 000094
【図３５Ｂ】
0004613296.tif 000095
【図３６Ａ】
0004613296.tif 000096
【図３６Ｂ】
0004613296.tif 000097
【図３６Ｃ】
0004613296.tif 000098
【図３６Ｄ】
0004613296.tif 000099
【図３７】
0004613296.tif 000100
【図３８】
0004613296.tif 000101