(57)【要約】      （修正有）【課題】単一ダイ上への複数の構成要素のオンチップ集積化、特に複数のプロセッサのオンチップ集積化を可能にするアーキテクチャの提供。【解決手段】一般に一つの半導体チップの一つの実施形態は、複数のプロセッサ、前記プロセスの間で共有される一つのアドレス空間、及び前記複数のプロセッサと前記アドレス空間とを連結する一つの双方向性リング相互接続路を含む。一つの方法の一つの実施形態は、複数のリング相互接続路上の一つのパケット発信元とあて先との間の複数の距離を計算すること、どの相互接続路によって前記パケットを移送するか決定すること、及び、前記決定した相互接続路によって前記パケットを移送することを含む。複数の実施形態は、一つの多重プロセッサチップにおける待ち時間及び情報処理量の向上を提供する。典型的な複数の応用には、チップ多重プロセッシングが含まれる。【選択図】図１
2006012133.tif 000002
【特許請求の範囲】
【請求項１】
一つの装置であって、一つの半導体チップ上に少なくとも一つの双方向性リング構造を含む装置。
【請求項２】
請求項１の前記装置であって、前記少なくとも一つの双方向性リング構造によってともに連結された複数のノードをさらに含む装置。
【請求項３】
請求項２の前記装置であって、各ノードは、一つのプロセッサ、一つのキャッシュ・バンク、一つの共有メモリ・インタフェース、一つの共有大域コヒーレンス・エンジンインタフェース、及び、一つの共有入力／出力インタフェースのうちの一つを含む、装置。
【請求項４】
請求項２の前記装置であって、前記複数のノードの少なくとも一つと連結し、前記複数のノードの少なくとも一つと一つのあて先ノードとの間で複数のパケット移送するために、前記少なくとも一つの双方向性リング構造上の一つの距離を計算する一つの減算器をさらに含む装置。
【請求項５】
請求項２の前記装置であって、前記複数のノードの少なくとも一つと連結し、前記複数のノードの少なくとも一つと一つのあて先ノードとの間で複数のパケット移送するために、前記少なくとも一つの双方向性リング構造上の一つの距離を計算する一つのプログラム可能な有限状態機械をさらに含む装置。
【請求項６】
請求項１の前記装置であって、前記少なくとも一つの双方向性リング構造は、一つの時計回り方向及び一つの反時計回り方向に同時に複数のパケットを移送する、装置。
【請求項７】
請求項１の前記装置であって、前記少なくとも一つの双方向性リング構造は、一つの時計回り方向及び一つの反時計回り方向に交互に複数のパケットを移送する、装置。
【請求項８】
一つの半導体チップであって、  複数のプロセッサ、  前記複数のプロセッサの間で共有されている一つのアドレス空間、及び  前記複数のプロセッサと前記アドレス空間とを連結する一つの双方向性リング構造を含む半導体チップ。
【請求項９】
請求項８の前記半導体チップであって、前記複数のプロセッサの各々は一つの中央処理装置を含む、半導体チップ。
【請求項１０】
請求項８の前記半導体チップであって、前記アドレス空間は複数のキャッシュ・バンクを含む、半導体チップ。
【請求項１１】
請求項１０の前記半導体チップであって、前記複数のキャッシュ・バンクは、一つの分散型共有キャッシュを形成する、半導体チップ。
【請求項１２】
請求項１１の前記半導体チップであって、前記分散型共有キャッシュの前記複数のキャッシュ・バンクの各々は、前記アドレス空間の一つのサブセットに責任を持つ、半導体チップ。
【請求項１３】
請求項８の前記半導体チップであって、前記双方向性リング構造は、前記複数のプロセッサと前記アドレス空間との間で複数のパケットを移送する、半導体チップ。
【請求項１４】
請求項１３の前記半導体チップであって、一つのパケットは一つのアドレス要求を移送する、半導体チップ。
【請求項１５】
請求項１３の前記半導体チップであって、一つのパケットはデータを移送する、半導体チップ。
【請求項１６】
請求項１３の前記半導体チップであって、一つのパケットは一つのキャッシュ・コヒーレンス・プロトコル・メッセージを移送する、半導体チップ。
【請求項１７】
請求項１６の前記半導体チップであって、前記キャッシュ・コヒーレンス・プロトコル・メッセージは、前記アドレス空間中の一つのキャッシュされたアドレスの一つの失効を伝達する、半導体チップ。
【請求項１８】
請求項１６の前記半導体チップであって、前記キャッシュ・コヒーレンス・プロトコル・メッセージは、前記アドレス空間中の一つのアドレスラインの変更許可を伝達する、半導体チップ。
【請求項１９】
請求項１６の前記半導体チップであって、前記キャッシュ・コヒーレンス・プロトコル・メッセージは、前記アドレス空間中の一つのアドレスラインの変更されたデータを抽出するための一つの要求を伝達する、半導体チップ。
【請求項２０】
請求項８の前記半導体チップであって、前記双方向性リング構造は、複数のパケットを、一つの時計回り方向に移送するための少なくとも一つの第一路線と、一つの反時計回り方向に移送するための少なくとも一つの第二路線とを含む、半導体チップ。
【請求項２１】
請求項２０の前記半導体チップであって、前記双方向性リング構造は、複数のパケットを前記時計回り方向に移送するための複数の第一路線と、前記反時計回り方向に移送するための複数の第二路線とを含む、半導体チップ。
【請求項２２】
請求項８の前記半導体チップであって、前記複数プロセッサの少なくとも一つと連結し、前記複数プロセッサの前記少なくとも一つと前記アドレス空間との間、及び、前記複数プロセッサの前記少なくとも一つと前記複数プロセッサの第二の一つとの間で一つのパケットを移送するために、前記双方向性リング構造上の一つの方向を計算する一つの減算器をさらに含む半導体チップ。
【請求項２３】
請求項８の前記半導体チップであって、前記アドレス空間の一つの第一部分と連結し、前記アドレス空間の前記第一部分と前記複数プロセッサの少なくとも一つとの間、及び、前記アドレス空間の前記第一部分と前記アドレス空間の一つの第二部分との間で一つのパケットを移送するために、前記双方向性リング構造上の一つの方向を計算する一つの減算器をさらに含む半導体チップ。
【請求項２４】
請求項８の前記半導体チップであって、前記複数プロセッサの少なくとも一つと連結し、前記複数プロセッサの前記少なくとも一つと前記アドレス空間との間、及び、前記複数プロセッサの前記少なくとも一つと前記複数プロセッサのもう一つとの間で一つのパケットを移送するために、前記双方向性リング構造上の一つの方向を計算する一つのプログラム可能な有限状態機械をさらに含む半導体チップ。
【請求項２５】
請求項２４の前記半導体チップであって、前記プログラム可能な有限状態機械は、前記複数プロセッサの前記少なくとも一つと前記アドレス空間との間、又は、前記複数プロセッサの前記少なくとも一つと前記複数プロセッサの前記もう一つとの間の一つの距離に基づいて、一つの参照テーブルの前記方向を検索する、半導体チップ。
【請求項２６】
請求項８の前記半導体チップであって、前記アドレス空間の一つの第一部分と連結し、前記アドレス空間の前記第一部分と前記複数プロセッサの少なくとも一つとの間、及び、前記アドレス空間の前記第一部分と前記アドレス空間の一つの第二部分との間で一つのパケットを移送するために、前記双方向性リング構造上の一つの方向を計算する一つのプログラム可能な有限状態機械をさらに含む半導体チップ。
【請求項２７】
請求項２６の前記半導体チップであって、前記プログラム可能な有限状態機械は、前記アドレス空間の前記第一部分と前記複数プロセッサの前記少なくとも一つとの間、及び、前記アドレス空間の前記第一部分と前記アドレス空間の前記第二部分との間の一つの距離に基づいて、一つの参照テーブルの前記方向を検索する、半導体チップ。
【請求項２８】
請求項８の前記半導体チップであって、前記複数のプロセッサの各々は、前記プロセッサと別のプロセッサとの間、又は、前記プロセッサと前記アドレス空間との間で一つのパケットを移送するために、前記双方向性リング構造上の一つの方向を計算する、半導体チップ。
【請求項２９】
一つのシステムであって、  以下を含む一つの多重プロセッサチップ、    少なくとも一つの中央処理装置、    一つの共有アドレス空間、及び    前記少なくとも一つの中央処理装置と前記共有アドレス空間の複数のエージェントとを連結するための少なくとも一つの双方向性リング構造；ならびに、  前記多重プロセッサチップから複数のパケット移送するための一つのバスを含むシステム。
【請求項３０】
請求項２９の前記システムであって、前記バスに連結された一つのメモリをさらに含むシステム。
【請求項３１】
請求項３０の前記システムであって、前記多重プロセッサチップは、前記少なくとも一つの双方向性リング構造に連結された一つの共有メモリ・インタフェースをさらに含み、前記共有メモリ・インタフェースは前記多重プロセッサチップを前記メモリに連結する、システム。
【請求項３２】
請求項２９の前記システムであって、前記多重プロセッサチップは、前記少なくとも一つの双方向性リング構造に連結された一つの共有大域コヒーレンス・エンジンインタフェースをさらに含み、前記共有大域コヒーレンス・エンジンインタフェースは前記多重プロセッサチップを前記他の複数の多重プロセッサチップに連結する、システム。
【請求項３３】
請求項２９の前記システムであって、前記バスに連結された少なくとも一つの入力／出力装置をさらに含むシステム。
【請求項３４】
請求項３３の前記システムであって、前記多重プロセッサチップは、前記少なくとも一つの双方向性リング構造に連結された一つの共有入力／出力インタフェースをさらに含み、前記共有入力／出力インタフェースは、前記多重プロセッサチップを前記少なくとも一つの入力／出力装置に連結する、システム。
【請求項３５】
一つの方法であって、  第一及び第二リング構造上の、一つの発信元ノードと一つのあて先ノードとの間の距離を計算すること、  前記計算された複数の距離に基づいて、前記発信元とあて先ノードとの間で一つのパケットを移送するため、前記第一及び第二リング構造のどちらによるかを決定すること、及び  決定されたリング構造によって、前記発信元ノードから前記あて先ノードへ前記パケットを移送することを含む方法。
【請求項３６】
請求項３５の前記方法であって、前記計算することは、  前記第一リング構造上の、前記発信元とあて先ノードの間の時計回り方向の一つの距離を計算すること、及び  前記第二リング構造上の、前記発信元とあて先ノードの間の反時計回り方向の一つの距離を計算することを含む、方法。
【請求項３７】
請求項３５の前記方法であって、前記決定することは、  前記第一及び第二リング構造各々の複数別々方向の中で前記発信元とあて先ノードとの間の一つの最短距離を有するのは、前記第一及び第二リング構造のいずれかを決定することを含む、方法。
【請求項３８】
請求項３７の前記方法であって、前記複数別々方向は、一つの時計回り方向と一つの反時計回り方向を含む、方法。
【請求項３９】
請求項３５の前記方法であって、前記決定することは、  前記第一及び第二リング構造のいずれのトラヒックが、より少ないかを決定することを含む、方法。
【請求項４０】
請求項３５の前記方法であって、前記移送することは、  前記パケットを、前記第一リング構造上を時計回り方向に、又は前記第二リング構造上を反時計回り方向に移送することを含む、方法。
【請求項４１】
請求項３５の前記方法であって、前記移送することは、  前記決定したリング構造上を別のパケットが前記発信元ノードに到着する場合には、前記発信元ノードからの前記パケット移送を遅らせることを含む、方法。
【請求項４２】
請求項３５の前記方法であって、前記移送することは、  前記パケットを、クロックサイクル毎に前記決定したリング構造を進ませることを含む、方法。
【請求項４３】
機械が判読可能な一つの媒体であって、  一つのチップ上の複数のリング構造において、一つの発信元ノードと一つのあて先ノードとの間の複数の距離を計算すること、  前記計算された複数の距離に従って、前記発信元とあて先ノードとの間で一つのパケットを移送するために、前記複数のリング構造のどれによるかを識別すること、及び  前記識別されたリング構造によって、前記パケットを前記発信元ノードから前記あて先ノードへ移送することを含む一つの方法を実施するための複数の実行可能命令を格納している媒体。
【請求項４４】
請求項４３の前記機械判読可能媒体であって、前記計算することは、  前記複数のリング構造の少なくとも一つにおける前記発信元とあて先ノードとの間の時計回り方向の一つの距離を計算すること、及び  前記複数のリング構造の少なくとも別の一つにおける前記発信元とあて先ノードとの間の反時計回り方向の一つの距離を計算することを含む、媒体。
【請求項４５】
請求項４４の前記機械判読可能媒体であって、前記識別することは、  前記複数のリング構造の前記少なくとも一つ、及び前記少なくとも別の一つのうち、いずれが、前記発信元とあて先ノードとの間の最短距離を提供するかを識別することを含む、媒体。
【請求項４６】
請求項４５の前記機械判読可能媒体であって、前記移送することは、  前記最短距離に基づいて、前記パケットを、前記複数のリング構造の少なくとも一つの上を時計回りに移送すること、又は、前記複数のリング構造の少なくとも別の一つの上を反時計回りに移送することを含む、媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の複数の実施形態は、一般に単一ダイ上への複数の構成要素のオンチップ集積化、特に複数のプロセッサのオンチップ集積化に関する。
【背景技術】
【０００２】
半導体製造は、ますます多くの機能を単一のシリコン・ダイ上に含め、より優れたプロセッシングを提供する複数の傾向を示している。これを達成するために、単一のチップ上に複数のプロセッサが集積化されてきた。  バロソ（Ｂａｒｒｏｓｏ）は、非特許文献１の中で、複数の中央処理装置（ＣＰＵ）の一つのオンチップ集積化を説明している。バロソは、一つのチップ多重プロセッサ上の複数のＣＰＵの間で共有される大きなキャッシュは、共有メモリ・データベースの複数の作業負荷の処理能力に有益であることを明らかにしている。また、バロソの非特許文献２も参照されたい。また、バロソは、複数の「リードダーティ」キャッシュ・オペレーション（一つのＣＰＵがデータを書き、他の異なる一つのＣＰＵが読み取る）方式は、単一ＣＰＵチップ方式の複数のシステム（例、マーベル・アルファ・システム）上で実行されている複数の作業負荷の処理性能よりはるかに優れていることを明らかにしている。さらに、バロソは、単一のダイ上に複数のＣＰＵと一つの大きな共有キャッシュを置くことによって、このような複数のキャッシュ・オペレーションの交信待ち時間が短縮され、処理能力が大幅に増加することを明らかにしている。バロソの方式では、前記複数のプロセッサと一つのキャッシュとは、複数の汎用バスの一つのセット及び一つのクロスバ・スイッチで接続されている。
【非特許文献１】「ピラニア：単一チップ多重処理に基づく一つの拡張可能なアーキテクチャ（Ｐｉｒａｎｈａ：Ａ  Ｓｃａｌａｂｌｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｂａｓｅｄ  ｏｎ  Ｓｉｎｇｌｅ−Ｃｈｉｐ  Ｍｕｌｔｉｐｒｏｃｅｓｓｉｎｇ）」（２０００年６月、コンピュータ・アーキテクチャ第２７回国際年度シンポジウム会報）
【非特許文献２】「複数のＯＬＴＰ作業負荷の処理能力に関するチップレベル集積化の影響（Ｉｍｐａｃｔ  ｏｆ  Ｃｈｉｐ−ｌｅｖｅｌ  Ｉｎｔｅｇｒａｔｉｏｎ  ｏｎ  Ｐｅｒｆｏｒｍａｎｃｅ  ｏｆ  ＯＬＴＰ  Ｗｏｒｋｌｏｒｄｓ）」（高性能コンピュータ・アーキテクチャ第６回国際シンポジウム、２０００年１月）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、複数のクロスバ・スイッチ及び複数のバスにおける一つの問題は、多くの潜在的遠隔リクエスタが、一つの汎用資源をアービトレートしようとするので、コストの高いアービトレーション・ロジックが必要なことである。これにより、長い待ち時間、及びおそらくは、一つの大きなダイ面積と電力消費とが要ることになる。  複数のプロセッサを単一チップ上に前記集約化するもう一つの問題は、前記チップ上のトランジスタ及び配線の数の増加である。複数のゲートパターン長さが減少して複数のトランジスタ速度が増加しているのに、複数の線伝搬速度はそれに比例して増加しない。一般的に、複数の長い配線はトランジスタゲートの複数の速度に見合っていない。一つの結果として、０．１ミクロン以下のテクノロジーにおいて高い複数のクロック速度を達成するためには、線伝搬遅延及びクロック・スキューが、複数の主要要素となる。
【課題を解決するための手段】
【０００４】
一つの一般的な解決法は、一つ以上の隣接するデバイスを同期させて、大域クロックを複数のパッチと呼ばれるローカル・クロックに分けることであった。しかしながら、これは、複数のクロック・パッチをトラバースする複数の信号に対しては、より多くのクロック・スキューを発生させるので、前記増加したクロック・スキューを送信先のクロック・パッチと同期させなければならないことが一つの問題となる。したがって、複数のクロック・パッチ間の路線距離を短縮し、これにより顕著なクロック・スキューの可能性を低減するため、サイクルタイムにより多くの圧力がかかる。複数のクロスバ・スイッチや複数のバスのような、前記チップ上の複数の大きな距離をつなぐ複数の接続技術が、前記線伝搬遅延及びクロック・スキューを悪化させることがある。
【０００５】
一つのチップ上の、複数のＣＰＵと一つの共有キャッシュとの間の通信の待ち時間及び情報処理量は、性能に大きく影響する。前記複数のＣＰＵから前記共有キャッシュへの前記待ち時間は短くて、前記共有キャッシュ（又は他の複数のＣＰＵ）から前記複数のＣＰＵへの情報処理量は高いことが望ましい。しかしながら、一部の接続技術は、待ち時間及び情報処理量の改善に対する一つの制約となっている。複数のＣＰＵが、複数のプログラム又は複数のスレッドを実行しているとき、これらは、基礎としている前記接続技術に一つの高い依存をしている。したがって、複数プロセッサの複数の構成では、線伝搬遅延及びクロック・スキューを減じることが重要となる。  「アーキテクチャガイド：Ｃ−５ｅ／Ｃ−３ｅネットワーク・プロセッサ、シリコンＢ０型」（モトローラ社、２００３年）に記載されているように、モトローラは、単一方向性リングにより接続された単一チップ上の複数のプロセッサを内蔵する一つのチップ多重プロセッサを実現し、複数のパケットが前記複数の構成要素間を移動する前記リング上の複数の距離を低減した。前記複数のプロセッサと他の複数の構成要素との間の交信は、前記リングを単一の方向に流れる。  しかしながら、前記単一方向性リングの問題は、前記待ち時間及び情報処理量が、接続技術になお制約されることである。一つの上流のプロセッサと通信するために、複数のパケットは、前記上流のプロセッサに到達する前に前記リング全体をトラバースしなければならない。したがって、現今の技術において、効率的で高速なシステム性能を提供するオンチップ集積化のための一つの接続技術が求められている。
【０００６】
本発明の複数の実施形態は、複数のプロセッサ、前記プロセッサの間で共有される一つのアドレス空間、及び前記複数のプロセッサと前記共有アドレス空間とをともに連結するための一つの双方向性リング相互接続路を含む一つの半導体チップを、提供することができる。本発明の一つの実施形態に従って、前記複数のプロセッサに、複数のＣＰＵを含めることができ、前記アドレス空間に一つの大きな共有キャッシュを含めることができる。また、本発明の複数の実施形態は、前記複数のプロセッサと前記共有アドレス空間との間で複数のパケットを移送するための、前記双方向性リング相互接続路上の移送方向を選定する一つの方法を提供することができる。前記方法は、一つのパケットの発信元とあて先との間の前記距離を一つの時計回り方向、及び、前記距離を一つの反時計回り方向で計算し、前記計算された複数の距離に基づいて前記パケットをどちらの方向へ移送するかを決定し、前記決定した方向に応じて、その方向にパケットをリング上移送することを含む。
【発明の効果】
【０００７】
本発明の複数の実施形態は、複数のプロセッサの一つのオンチップ集積化に対して、待ち時間の低減と情報処理量の増大を有益に提供することができる。これは、トランザクション処理、データマイニング、ジャバやドットネットのような複数の管理実行時環境、及びウエブやｅメール運用といった、複数の並行処理共有メモリ・アプリケーションに特に有益である。
【発明を実施するための最良の形態】
【０００８】
図１は、本発明の一つの実施形態に従って、一つの双方向性リング相互接続路に連結された複数のノードを含む一つの半導体チップである。様々な複数のアクセス・ポイントにおいて、複数のノード１１０（１）ないし１１０（ｎ）を双方向性リング相互接続路１２０につなぐことができる。複数のパケットは、相互接続路１２０上の複数のノード１１０（１）ないし１１０（ｎ）の間を、時計回り方向又は反時計回り方向、いずれかの向きに移動する。
【０００９】
複数のノード１１０（１）ないし１１０（ｎ）には、一つの半導体チップ上に備えられた、一つのプロセッサ、キャッシュ・バンク、メモリ・インタフェース、入力／出力インタフェース、及びパケットを取り扱う他のこのようないっさいの構成要素を含めることができる。図１の中の本発明一つの実施形態において、大きな単一の共有キャッシュを、論理的に複数のサブセットに分割することによって、複数のノード１１０（１）ないし１１０（ｎ）を複数のキャッシュ・バンクとして実行することができる。各キャッシュ・バンクは、前記単一キャッシュ中の前記アドレス空間の一部を含むことができ、前記単一キャッシュ中の前記アドレス空間の前記一部に対する複数のブロック要求（読取り、書込み、無効化）を独立して処理することができる。各キャッシュ・バンク・ノードは、相互接続路１２０上にそれ自身のアクセス・ポイント又はアドレス・ストップを持つことができる。
【００１０】
図１において、相互接続路１２０に、複数の単一方向性路線（図示せず）を含めることができ、前記複数路線の一つの第一セットは一つの時計回り方向に複数のパケットを移送し、一つの第二セットは、一つの反時計回り方向に複数のパケットを移送することができる。単一方向性複数路線の各セットは、一つの特定目的（例、複数のアドレスコマンドの送信）、又は、一つの汎用目的（例、複数のパケット・タイプ（アドレス要求、データ、キャッシュ・コヒーレンス・プロトコル・メッセージ等）への対応）のいずれかを持つことができる。これに換えて、単一方向性複数路線の各セットを、一つの単一パケットタイプを移送するように指定することができる。上記の代わりに、図１において、相互接続路１２０に、両方向へ複数のパケットを移送することができる複数の双方向性路線を含めることができる。この代替実施形態において、前記半導体に、一つの特定のトランザクションの間、各路線を一つの所望の方向に切り替えて複数のパケットを移送するスイッチング論理素子を含めることができる。相互接続路１２０は、様々な速度で複数のパケットを移送することができる。例えば、相互接続路１２０は、クロックサイクルあたり一つ以上のノード、又は２以上のクロックサイクル毎に一つのノードの一つの速度で複数のパケットを移送することができる。トラヒック量、クロック速度、ノード間の距離等を含む多くの要素が前記移送速度を決めることになる。一般に、一つのノードは、すでに相互接続路１２０上及び前記ノード点にあるいっさいのパケットが前記ノードを通過するまで、一つのパケットを相互接続路１２０へ注入するのを遅らせる。図２は、本発明の一つの実施形態に従って、複数のリング相互接続路に連結された複数のノードを包含する一つの半導体チップである。複数のノード２１０（１）ないし２１０（ｎ）を、様々な複数のアクセスポイント又はストップにおいて、複数のリング相互接続路２２０（１）ないし２２０（ｍ）に接続することができる。各ノードは、複数のパケットを他のノードに移送する経路として、複数のリング相互接続路２２０（１）ないし２２０（ｍ）のどれでも選定することができる。
【００１１】
一つの実施形態において、図２中の前記すべての接続路を単一方向性にし、その一部の複数の相互接続路には一つの時計回り方向だけに複数のパケットを移送させ、他の複数の相互接続路には一つの反時計回り方向だけに複数のパケットを移送させることができる。
【００１２】
代わりの一つの実施形態において、図２中の一部の複数の相互接続路を単一方向性にし、他の複数のものを双方向性にすることができる。本代替実施形態において、前記複数の単一方向性相互接続路の一部には一つの時計回り方向だけに複数のパケットを移送させ、他のものは一つの反時計回り方向だけに複数のパケットを移送させることができる。前記複数の双方向性相互接続路は、図１の前記双方向性相互接続路の動作に一致して、両方向に複数のパケットを移送することができる。
【００１３】
図３は、本発明の一つの実施形態に従って、単一の双方向性リング相互接続路に連結された一つの多重プロセッサチップを包含する一つの多重プロセッサ・システムである。図３において、多重プロセッサチップ３００に、複数のＣＰＵ３１０（１）ないし３１０（ｎ）、キャッシュ・バンク３３０、大域コヒーレンス・エンジンインタフェース３４０、及び入力／出力（「Ｉ／Ｏ」）インタフェース３５０を含め、これらすべてを双方向性相互接続路１２０に連結することができる。双方向性相互接続路１２０に連結された各構成要素は、前記相互接続路上における自分の場所を識別するための一つのノード番号を持つことができる。
【００１４】
図３において、ＣＰＵ３１０（１）に、減算器３０５を含めることができ、これを一つのハードウエアとして備え、ＣＰＵ３１０（１）と、双方向性リング相互接続路１２０上の他のいっさいのノードとの間の前記距離を計算させることができる。減算器３０５は、ＣＰＵ３１０（１）と一つのあて先ノードとの間の距離を、ＣＰＵ３１０（１）の前記ノード番号から前記あて先ノードの前記ノード番号を差し引くことによって計算することができる。減算器３０５は、時計回り方向及び反時計回り方向の両方向の前記距離を計算することができる。ＣＰＵ３１０（１）は、前記計算された複数の距離を使って、どちらの方向に複数のパケットを移送するかを選定することができる。一般に、前記複数のパケットを移送するために、最短距離を持つ方向が選定されることになるが、これだけが解決策ではない。別の複数の方向選定方法が考慮されており、以下に説明する。図３において、ＣＰＵ３１０（ｎ）に、例えば、一つのハードウエア・デバイスであって、減算器３０５と同様な機能を使ってＣＰＵ３１０（ｎ）と双方向性リング相互接続路１２０中の他のいっさいのノードとの間の距離を計算するようプログラムすることができる、プログラム可能な有限状態機械３１５を含めることができる。一つの実施形態において、プログラム可能な有限状態機械３１５に対し、複数のパケットを移送する双方向性リング相互接続路１２０上の前記方向について、一つの参照テーブルを検索するようにプログラムすることができる。例えば、前記参照テーブルに、時計回り方向及び反時計回り方向の２つの複数入力欄を含めるよう初期化することができる。プログラム可能有限状態機械３１５は、ＣＰＵ３１０（ｎ）と、前記時計方向及び前記時計反対方向での前記あて先ノードとの間の前記距離を計算した後、前記計算された複数の距離に基づいて、前記参照テーブルの複数の入力欄の一つを取り出すことができる。図３中の別の一つの実施形態において、複数のＣＰＵ３１０（１）ないし３１０（ｎ）は、ソフトウエアを使って、自分たちと前記複数のあて先ノードとの間の距離をそれぞれ計算することができる。ＣＰＵ３１０（１）ないし３１０（ｎ）の各々は、計算された複数の距離に基づいて、双方向性リング相互接続路１２０上のどちらの方向に複数のパケットを移送するかを決定することができる。本発明の一つの実施形態に従って、複数のパケットを移送する前記方向を、パケットの一つのＩ発信元とあて先との間の最短距離を提供する方向、より少ないトラヒックを提供する方向、又は、一つの特定のトランザクションに対する他のいずれかの所望基準による方向として選定することができる。図３において、複数のＣＰＵ３１０（１）ないし３１０（ｎ）の各々は、図３中に示した複数の構成要素及び複数の構成方式に限定されないことを理解されたい。したがって、本発明の複数の実施形態には、本明細書に記載した前記計算を実施するための一つの減算器、一つのプログラム可能有限状態機械、一つのプロセッサ、他のいっさいのこのような構成要素、又はこれらのいっさいの組合せを用いることができる。また、減算器３０５及びプログラム可能な有限状態機械３１５を、双方向性リング相互接続路１２０上の複数のキャッシュ・バンク３２０（１）ないし３２０（ｍ）のどれにでも、あるいは、その他のいっさいのノードに連結することができる。また、減算器３０５及びプログラム可能な有限状態機械３１５を、双方向性リング相互接続路１２０に連結し、双方向性リング相互接続路１２０上の一つ以上のノードにこれを共有させることができる。図３において、複数のキャッシュ・バンク３２０（１）ないし３２０（ｍ）は、前記したように、一つの大きな共有キャッシュの複数のサブセットであってもよい。各キャッシュ・バンクは、前記単一キャッシュ中の前記アドレス空間の特定の複数の部分を処理することができる。図３中のメモリ・インタフェース３３０を、双方向性リング相互接続路１２０及びバス３６０に連結して、システム・メモリ３７０と、多重プロセッサ３００上の前記複数のノード（すなわち、複数のＣＰＵ３１０（１）ないし３１０（ｎ）及び複数のキャッシュ・バンク３２０（１）ないし３２０（ｍ））との間に一つのインタフェースを設けることができる。多重プロセッサチップ３００上のすべてのノードの間でメモリ・インタフェース３３０を共有させ、システム・メモリ３７０と、前記複数のノードとの間で複数のパケットを移送させることができる。
【００１５】
同様に、大域コヒーレンス・エンジンインタフェース３４０を、双方向性リング相互接続路１２０及びバス３６０に連結して、多重プロセッサチップ３００と、他の一つ以上の多重プロセッサ３８０との間に一つのインタフェースを設けることができる。多重プロセッサチップ３００上のすべてのノードに大域コヒーレンス・エンジンインタフェース３４０を共有させ、多重プロセッサチップ３００上の前記複数のノードと他の一つ以上の多重プロセッサチップ３８０上の複数のノードとの間で複数のパケットを移送させることができる。図３中のＩ／Ｏインタフェース３５０を、双方向性リング相互接続路１２０及びバス３６０に連結して、Ｉ／Ｏ装置３９０と、多重プロセッサチップ３００上の前記複数のノードとの間に一つのインタフェースを設けることができる。多重プロセッサチップ３００上のすべてのノードにＩ／Ｏインタフェース３５０を共有させ、多重プロセッサチップ３００上の前記複数のノードとＩ／Ｏ装置３９０との間で複数のパケットを移送させることができる。前記多重プロセッサ・システムは、図３の前記複数の構成要素に限定されるものでなく、パケットを取り扱えるいっさいの複数の構成要素を含むことができることを理解されたい。本発明に従った一つの実施形態における一つの通信の一つの例には、一つのキャッシュ・バンクの中の一つのキャッシュ・ブロックを要求する一つのプロセッサ、例えば、キャッシュ・バンク３２０（ｍ）から一つのキャッシュ・ブロックを要求するＣＰＵ３１０（１）を含めることができる。ＣＰＵ３１０（１）は、キャッシュ・バンク３２０（ｍ）への前記距離の時計回り方向及び反時計回り方向の両方を計算できる。ＣＰＵ３１０（１）は、計算された複数の距離に基づいて、その要求を送信する一つの方向を選定することができ、ＣＰＵ３１０（１）は、そのアクセスポート又はストップを通して、双方向性リング相互接続路上の一つのリング・スロット中に一つのアドレスを挿入することができる。前記アドレスは、前記要求されたアドレスに関連するデータを含むキャッシュ・バンク３２０（ｍ）の前記アクセスポート又はストップに到着するまで、双方向性リング相互接続路１２０を回り進むことになる。
【００１６】
キャッシュ・バンク３２０（ｍ）は、双方向性リング相互接続路１２０上の前記リング・スロットから前記アドレスを読み出し、そのアドレスを使って、バンクの中に格納された前記データを取り出すことができる。キャッシュ・バンク３２０（ｍ）は、そのアクセスポート又はストップを通して、前記データを、双方向性リング相互接続路１２０上の利用可能な次の一つのリング・スロットの中に挿入することができる。前記データは、前記アドレスが到着したのと同一又は反対方向に向けて、前記データがＩ発信元のＣＰＵ３１０（１）に帰着するまで双方向性リング相互接続路１２０をトラバースすることになる。ＣＰＵ３１０（１）は前記データを摂取することができる。
【００１７】
この例において、複数の要求が同時に双方向性リング相互接続路１２０をトラバースすることができる。双方向性リング相互接続路１２０の利点は、前記複数の要求が、同じノードを同時に通過できることである、但し、双方向性リング相互接続路１２０の複数の実施形態は、双方向性移送を行うので、相互に逆方向である。
【００１８】
図３中の双方向性リング相互接続路１２０の別の利点は、複数の要求が、複数のキャッシュ・バンク３２０（１）及び３２０（ｍ）へ、前記複数のキャッシュ・バンクが物理的には単一の共有キャッシュであるにも関わらず、同時に着信することができることである。この一つの結果として、キャッシュ・バンク３２０（１）に着信した一つの要求を、キャッシュ・バンク３２０（ｍ）に着信した別の要求と同時に、同一クロックサイクルの間に処理できることである。各要求がどのキャッシュ・バンクと関連しているかを判定するために、前記複数の要求中の複数のアドレス・ビットを使うことができる。複数のキャッシュ・バンクへ、複数のアドレス・ビットの多様な複数のマッピングをすることができる。一つの実施例において、連続したブロックの複数のアドレスを、双方向性リング相互接続路１２０上の異なる複数のキャッシュ・バンクに属させることができる。自然な複数の作業負荷の下においてすべてのバンクに対し合理的に均一なアクセスを提供するような方法で、前記複数のアドレス・ビットを細分化又は選定することができる。図３中には示されていないが、本発明の一つの実施形態に従って、図２中におけるように、複数のリング相互接続路２２０（１）ないし２２０（ｍ）を用いることができる。本実施形態において、ＣＰＵ３１０（１）は、複数の相互接続路２２０（１）ないし２２０（ｍ）によって複数の要求を送信し、これにより、一つの所定時限内に少なくとも２倍のデータ返信を受信し、摂取することができる。
【００１９】
また、本発明の一つの実施形態に従って、複数のソケット・ネットワーク・ルータ、複数のメモリ・コントローラ、及び複数のディレクトリ・キャッシュのような追加の複数構成要素を双方向性リング相互接続路１２０に連結することができる。これら複数の構成要素に対しても、同様に前記アドレス指定をインタリーブすることができる。
【００２０】
本発明の複数の実施形態において、通信及びメモリ整合性維持のため、任意の既知のキャッシュ・コヒーレンス・プロトコルを使用することができる。多様な複数のプロトコルを双方向性リング相互接続路上に階層化することができる。各プロトコルは、資源競合、枯渇、又はデッドロックなど解決すべき複数の問題の一つの固有のセットを有することがある。これらの問題は、複数の貸方−借方システム及びバッファリング、（前記複数のリング相互接続路上の複数の予約サイクルや複数の資源待ち行列中の複数の予約バッファといった）資源の事前割振り、複数の枯渇検知器、複数の要求／応答メッセージの優先順位付けなどを使って解決できる。
【００２１】
本発明の複数の実施形態の別の利点は、前記複数の双方向性リング相互接続路は、複数の単一方向性リング相互接続路と比較した場合、一般に平均リング上待ち時間を半減し、前記システム上での均一コミュニケーションの平均ピーク情報処理量を４倍にすることである。前記性能向上は、複数の非リング型システムとの比較ではさらに優れていよう。均一コミュニケーションは、前記すべての複数のキャッシュ・バンクを一様に使用する傾向のある、複数のランダム又は定期的アクセス・パターンであってもよい。
【００２２】
一般に、前記平均リング上待ち時間は、前記リング相互接続路上における前記要求及び前記データ送返信時間を含み、前記要求及びデータがいっさいの構成要素（すなわちノード）中で駐在する時間を除いた、均一コミュニケーションのために前記相互接続路上で費やされたサイクル数の平均として定義することができる。同様に、前記平均ピーク情報処理量は、均一コミュニケーションにおいて、一クロックサイクルあたり、複数のあて先に到着するデータブロック数の平均として定義することができる。例えば、一つ単独の単一方向性リング相互接続路中で、一つのキャッシュ・ブロックを要求する一つのプロセッサに対する前記平均リング上待ち時間は、前記プロセッサの要求が前記プロセッサから対応するキャッシュ・バンクへ移送される時間、及び前記データ・ブロックが前記キャッシュ・バンクから前記プロセッサへ戻る走行時間として定義することができる。したがって、「クロックサイクルあたり１ノード」の一つのパケット移送速度を想定すると、前記単一方向性リング相互接続路における前記平均リング上待ち時間は、Ｎサイクルとなり、これは、前記システム中のノードの数と同じである。この理由は、前記要求は、前記対応するキャッシュ・バンクに到達するために前記複数のノードの一部をトラバースし、前記データは、前記発信元プロセッサに帰着するために、前記システム中の前記複数のノードの残りの部分トラバースしなければならないからである。基本的に、前記リング相互接続路は一つのループなので、一つの要求が一つのプロセッサからそれ自身への往復を完了するためには、前記すべてのノードをトラバースしなければならない。
【００２３】
また、一つの双方向性リング相互接続路中で、一つのキャッシュ・ブロックを要求する一つのプロセッサに対する前記平均リング上待ち時間も、前記プロセッサの要求が前記プロセッサから対応するキャッシュ・バンクへ移送される時間、及び前記データ・ブロックが前記キャッシュ・バンクから前記プロセッサへ戻る走行時間として定義することができる。しかしながら、例えば、クロックサイクルあたり１ノードの一つのパケット移送速度を想定すると、前記単一方向性リング相互接続路のものと比較して、前記平均リング上待ち時間は半分となろう。この理由は、一つの実施形態において、前記双方向性リング上の前記方向は、前記プロセッサと前記キャッシュ・バンクとの間でトラーバースすべき介在ノードの数が最小となる方向が選定されるからである。したがって、前記要求は、最大でＮ／２の複数ノードをトラバースすることになり、前記戻りデータは、Ｎ／２の複数ノードをトラバースすることになって、一つの最悪ケースの待ち時間でＮサイクルとなる。しかしながら、前記複数のアクセスが均一アクセスの場合、前記要求側プロセッサから前記キャッシュ・バンクへの距離の前記平均値の期待値は、前記最悪ケースの半分、すなわち、Ｎ／４複数ノードのトラバースとなる。前記戻り移動も最短経路をとることになるので、前記プロセッサが前記データを受信するまでには、もう１回、Ｎ／４複数ノードをトラバースすることになる。これにより、前記双方向性リング相互接続路に対する一つの平均待ち時間はＮ／２となり、単一の要求に対する前記待ち時間及び相互接続路使用度は約５０％削減される。
【００２４】
また、前記双方向性リング相互接続路による前記相互接続路使用度の削減は、前記単独の単一方向性リング相互接続路よりもずっと高い平均情報処理量をもたらすことになる。各キャッシュ要求は、一つのデータ・ブロックを配信し、そのため前記リング上のいくつかの数の前記ノードを占用することになる。前記単独の単一方向性リング相互接続路におけるように、一つの要求が前記リング上のＮすべてのノードを占用する場合、前記単一方向性相互接続路が配信できる最大の情報処理量は、サイクル毎に１データ・ブロックである。一般に、前記双方向性リング相互接続路では、一つの平均的な均一要求に対して、前記リング中の全ノードよりは少ないノードを占有することになる。前述のように、前記双方向性リング相互接続路は、実際には、平均してＮ／２の複数ノードを占有することになる。また、前記双方向性リング相互接続路は、前記単一方向性リング相互接続路の２倍の容量を持つことができ、これにより、前記双方向性リング相互接続路は、ノードあたり２データ・ブロックを搬送することができる。全体では、前記組合せリング相互接続路上の２Ｎの複数ラッチのうちのＮ／２が一つの平均的要求及びデータ・ブロック返送のため占用され、一つの合計として、２Ｎ／（Ｎ／２）＝４から、１サイクルあたり同時処理データ・ブロック数は、前記単独の単一方向性リング相互接続路よりも４倍大きいことになる。前記平均ピーク情報処理量は、ノードの数に関係しないことになる。本発明の一つの実施形態に従って、一つの双方向性リング相互接続路に、２つの別々のアドレス及びデータの複数セットの複数路線を含めることができる。一つの結果として、前記情報処理量は、さらに２倍分増加することになる、というのは、前記複数の要求は、複数のデータ情報処理資源を使用せず、前記複数の応答だけがこれを使うからである。このような方法で、一つの二重化双方向性リング相互接続路に対する前記データ路線の占有度を、前記複数のリング上ストップの１／４だけにすることができる。このように、両方の相互接続路とも、一つの汎用リング相互接続路を一つのアドレス及びデータ・リングに分割することにより、二重化による別の利点を得ることができる。例えば、前記複数の路線セットをデータ用と複数のアドレス要求用とに分離した一つの１６ノード双方向性リングについては、前記平均ピーク情報処理量は「データ・リングあたりの同時移送移送作業数４×２リング×６４バイトデータ処理量×３ＧＨｚ」とすることができ、これは１．５Ｔバイト／秒に等しい。前記のように、前記双方向性リング相互接続路は、路線を２重にすること、及び最短パス経路指定を用いる複数トランザクションの占有度を半減することによる２倍化を含め、単独の単一方向性リング相互接続路の４倍の前記情報処理量を提供することができる。但し、前記双方向性リング相互接続路の複数路線が、複数のデータ及び複数のアドレス要求の両方についてすべて均一化されている場合には、前記情報処理量は、前記単独の単一方向性リング相互接続路の量の２倍にしかならないことがある。
【００２５】
実際の複数の占有度、ならびに、仮想化や枯渇対応の複数のメカニズムによる情報処理量の損失のような、他の複数の要因が、複数の双方向性リング相互接続路の前記待ち時間及び情報処理量に影響を与えることがあるので、前記の例証は、説明目的だけのものである。図４は、本発明の一つの実施形態に従った一つの方法の一つのフローチャートである。図４において、前記方法により、一つの双方向性リング相互接続路上で複数のパケットをどの方向に移送するかを決定することができる。一つの実施形態において、一つ単独の双方向性リング相互接続路に、複数のパケットを一つの時計回り方向に移送するための複数路線の一つの第一セット（これに一つの第一リング構造を含めることができる）及び複数のパケットを一つの反時計回り方向に移送するための複数路線の一つの第二セット（これに一つの第二リング構造を含めることができる）を含めることができる。
【００２６】
図４において、一つのあて先ノードに一つのパケットを送信する一つの発信元ノードは、前記第一リング構造上の前記あて先ノードまでの距離を計算する（４１０）ことができる。また、前記発信元ノードは、前記第二リング構造上の前記あて先ノードまでの距離を計算する（４２０）ことができる。前記発信元ノードは、どちらが最短距離を判定する（４３０）ことができる。前記最短距離が、前記時計回り方向であると判定した（４３０）場合は、前記発信元ノードは、前記第一リング構造によって前記パケットを移送する（４４０）ことができる。あるいは、前記最短距離が、前記反時計回り方向であると判定した（４３０）場合は、前記発信元ノードは、前記第二リング構造によって前記パケットを移送する（４５０）ことができる。
【００２７】
このクロックサイクルの間に、前記決定したリング構造が、すでに前記発信元ノードに到着する一つのパケットを移送中である場合は、前記発信元ノードは、前記リング上の前記パケットが前記発信元ノードを通過するまで待った後、前記パケットを前記決定したリング構造上に注入することができる。前記決定したリング構造に乗ったならば、前記パケットは、前記あて先ノードに到着するまで、クロックサイクル毎に進むことができる。本発明の別の実施形態に従って、前記発信元ノードは、どのリング構造のトラヒックがより少ないかを判断することができ、トラヒックが最少の前記リング構造により前記パケットを移送することができる。一つの別の実施形態において、前記双方向性リング相互接続路に、複数のパケットを相互に反対の方向に移送する２つの単一方向性リング相互接続路を含めることができる。この実施形態において、前記時計回り方向へ移送する前記単一方向性リング相互接続路に、前記第一リング構造を含め、前記反時計回り方向へ移送する前記単一方向性リング相互接続路に、前記第二リング構造を含めることができる。他の複数の代替実施形態において、前記双方向性リング相互接続路に、一つの単一方向性リング相互接続路及び一つの双方向性リング相互接続路、又は、二つの双方向性リング相互接続路を含めることができる。前に記述した複数の実施形態と同様に、前記複数の相互接続路の一つに前記第一リング構造を含め、他の一つに前記第二リング構造を含めることができる。前記双方向性リング相互接続路は、一つ又は二つのリング構造に限定されるものでなく、どのような数のリング構造をもこれに含めて、複数のパケットを複数の方向に移送することができることを理解されたい。図５は、一つのコンピュータ・システムの一つのブロック図であって、この中に、本発明の一つの実施形態に従って、一つ以上の多重プロセッサ及びメモリ使用を含め、一つの構造様態を盛り込むことができる。図５の中で、一つのコンピュータ・システム５００に、一つのプロセッサ・バス５２０に連結された一つ以上の多重プロセッサ５１０（１）−５１０（ｎ）を含めることができ、これをシステム論理素子５３０に連結することができる。前記一つ以上の多重プロセッサ５１０（１）−５１０（ｎ）の各々を、Ｎビットの複数のプロセッサとすることができ、これに一つのデコーダ（図示せず）及び一つ以上のＮビット・レジスタを含めることができる。本発明の一つの実施形態に従って、前記一つ以上の多重プロセッサ５１０（１）−５１０（ｎ）の各々に、一つの双方向性リング相互接続路（図示せず）を含め、前記複数のＮビット・プロセッサ、前記デコーダ、及び前記一つ以上のレジスタと連結することができる。システム論理素子５３０を、一つのバス５５０を通して一つのシステム・メモリ５４０に連結し、一つの周辺バス５６０を通して非揮発性メモリ５７０及び一つ以上の周辺機器５８０（１）−５８０（ｍ）に連結することができる。周辺バス５６０は、例えば、以下の一つ以上を表すことができよう。１９９８年１２月１８日発行の「ＰＣＩ分科会（ＳＩＧ）ローカル・バス規格、（ＰＣＩ  Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ（ＳＩＧ）ＰＣＩ  Ｌｏｃａｌ  ��ｕｓ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）」２．２版による複数の「周辺構成要素相互接続（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）（ＰＣＩ）」バス、複数の「業界規格アーキテクチャ（ｉｎｄｕｓｔｒｙ  ｓｔａｎｄａｒｄ  ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）」バス、複数の「拡張ＩＳＡ（Ｅｘｔｅｎｄｅｄ  ＩＳＡ）（ＥＩＳＡ）」バス、１９９２年発行の「ＢＣＰＲサービス社、ＥＩＳＡ規格」３．１２，１９９２版、１９９８年９月２３日発行の「ユニバーサル・シリアル・バス（Ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）（ＵＳＢ）、ＵＳＢ規格（ＵＳＢ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）」１．１版、及びこれに匹敵する複数の周辺バス。非揮発性メモリ５７０は、一つの読読み出し専用メモリ（ＲＯＭ）又は一つのフラッシュメモリのような一つのスタティックメモリ・デバイスであってもよい。複数の周辺機器５８０（１）−５８０（ｍ）に、例えば、一つのキーボード；一つのマウス又は他の複数の位置決めデバイス；複数のハードディスクドライブ、複数のコンパクトディスク（ＣＤ）ドライブ、複数の光ディスク、及び複数のディジタルビデオディスク（ＤＶＤ）ドライブのような複数の大量記憶装置；ディスプレー及び類似装置を含めることができる。本発明の複数の実施形態を、前記実施形態の教示に従ってプログラムされた、一つの汎用型マイクロプロセッサのような、任意のタイプのコンピュータを使って実行することができる。また、前記のように、前記本発明の複数の実施形態に、一つの機械が判読可能な媒体を含め、それに一つのプロセッサが、本発明の前記複数の実施形態に従った一つの方法を実施するために用いられる複数の命令を収録することができる。この媒体には、以下に限らないが、フロッピーディスク、光ディスクを含むいっさいのタイプのディスク、及びＣＤ−ＲＯＭが含まれる。本発明の前記複数の実施形態を実行するために使われる前記ソフトウエアの構造を、単一又は複数のプログラムといったどのような所望の形式にすることもできることを理解いただけよう。本発明の一つの実施形態の前記方法を、ソフトウエア、ハードウエア、又はそれらの一つの組合せで実行できることをさらに理解いただけよう。以上の記載は、本発明の前記好適実施形態の一つの詳細な説明である。複数の出願者が権利を持つ本発明の全範囲を、以降の請求範囲で明確にする。前記請求の範囲は、前に記載したもの以外の複数の実施形態、及びこれらと同等の複数の実施形態を網羅することを意図している。
【図面の簡単な説明】
【００２８】
【図１】本発明の一つの実施形態に従って、一つの双方向性リング相互接続路に連結された複数のノードを含む一つの半導体チップである。
【図２】本発明の一つの実施形態に従って、複数の単一方向性及び／又は双方向性のリング相互接続路に連結された複数のノードを含む一つの半導体チップである。
【図３】本発明の一つの実施形態に従って、複数の構成要素とともに、単一の双方向性リング相互接続路に連結された一つの多重プロセッサチップを含む一つの多重プロセッサシステムである。
【図４】本発明の一つの実施形態に従った一つの方法の一つのフローチャートである。
【図５】本発明の一つの実施形態を実行するための一つのコンピュータシステムの一つのブロック図である。
【図１】
2006012133.tif 000003
【図２】
2006012133.tif 000004
【図３】
2006012133.tif 000005
【図４】
2006012133.tif 000006
【図５】
2006012133.tif 000007
【外国語明細書】
2006012133.tif 000008
2006012133.tif 000009
2006012133.tif 000010
2006012133.tif 000011
2006012133.tif 000012
2006012133.tif 000013
2006012133.tif 000014
2006012133.tif 000015
2006012133.tif 000016
2006012133.tif 000017
2006012133.tif 000018
2006012133.tif 000019
2006012133.tif 000020
2006012133.tif 000021
2006012133.tif 000022
2006012133.tif 000023
2006012133.tif 000024
2006012133.tif 000025
2006012133.tif 000026
2006012133.tif 000027
2006012133.tif 000028
2006012133.tif 000029
2006012133.tif 000030
2006012133.tif 000031
2006012133.tif 000032
2006012133.tif 000033