(57)【要約】  本発明は、データ・トラフィックを同期化するデータ処理システム及び方法に関する。本発明によるデータ処理システムは変換装置を備えている。この変換装置は、第１サブネットワークにおいて施される第１のフロー制御手法を、第２のサブネットワークにおいて施される第２のフロー制御手法に変換するよう構成される。変換装置は、別の構成部分（例えば、サブネットワーク間の動作周波数の変換（クロック・ドメイン交差）を行う構成部分）と協調又は一体化することができる。フロー制御が正確に機能するためには、第１のサブネットワーク及び第２のサブネットワークそれぞれに別個のフロー制御手法を用いることが必要である。変換装置は、前述の手法間の変換を行う。例えば、フロー制御手法がクレジット・ベースの場合、変換装置は、第２のフロー制御手法において利用可能なクレジット量に基づいて第１のフロー制御手法の正確なクレジット量を計算する。必要な場合、クレジット変換が行われる。このクレジット変換は、例えば、第１のサブネットワーク及び第２のサブネットワークにおいてフリット・サイズが異なる場合に必要である。変換装置は、第２のサブネットワークからのクレジット（特定量のデータ・エレメントを表す）を第１のサブネットワークのクレジットに変換する。クレジットの数は、データ・エレメントが同量の場合、第１のサブネットワーク及び第２のサブネットワークそれぞれにおいて異なり得る。
2008522526.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの集積回路上のデータ処理システムであって、少なくとも２つのモジュールと、前記モジュール間でデータを伝送するよう構成されたネットワークとを備えており、前記モジュール間のデータ・トラフィックを同期化するフロー制御手法を施すよう構成されており、前記ネットワークは、第１のサブネットワーク及び第２のサブネットワークを備えており、前記第１のサブネットワーク及び前記第２のサブネットワークは異なる動作条件を有しており、前記データ処理システムは変換装置を更に備えており、前記変換装置が、前記第１のサブネットワークにおいて施される第１のフロー制御手法を、前記第２のサブネットワークにおいて施される第２のフロー制御手法に変換するよう構成されたデータ処理システム。
【請求項２】
請求項１記載のデータ処理システムであって、前記モジュール間のデータ・トラフィックを同期化する前記フロー制御手法は、第１のモジュールに記憶されたクレジットに基づいており、前記クレジットは、第２のモジュールによって受信することが可能なデータの量を表すデータ処理システム。
【請求項３】
請求項１記載のデータ処理システムであって、前記第１のサブネットワークは第１のルータを備え、前記第２のサブネットワークは第２のルータを備え、前記第１のルータの出力は前記変換装置の入力に結合され、前記変換装置の出力は前記第２のルータの入力に結合され、前記第１のルータは第１のバッファ装置を備え、前記第２のルータは第２のバッファ装置を備え、前記変換装置は、前記第１のバッファ装置からデータを受信するよう構成され、前記変換装置は、前記第２のバッファ装置への送信用のデータを記憶するよう更に構成され、前記変換装置は、前記データを記憶する中間バッファ装置を備え、前記第１のバッファ装置と前記中間バッファ装置との間の通信は前記第１のフロー制御手法によって制御され、前記中間バッファ装置と前記第２のバッファ装置との間の通信は前記第２のフロー制御手法によって制御されるデータ処理システム。
【請求項４】
請求項３記載のデータ処理システムであって、前記第１のサブネットワーク及び前記第２のサブネットワークは、異なるサイズを有するフロー制御装置を用い、前記変換装置は、前記第２のフロー制御手法によって用いられるクレジットを前記第１のフロー制御手法によって用いられるクレジットに変換するよう構成されたデータ処理システム。
【請求項５】
請求項１記載のデータ処理システムであって、前記第１のサブネットワーク及び前記第２のサブネットワークは別々のチップ上にあり、前記データ処理システムには更なる変換装置が備えられ、オフチップ・リンクが、前記変換装置と前記更なる変換装置との間に備えられたデータ処理システム。
【請求項６】
請求項１記載のデータ処理システムであって、前記第１のサブネットワーク及び前記第２のサブネットワークは単一のチップ上にあり、前記第１のサブネットワーク及び前記第２のサブネットワークは、別々のクロック・ドメインを有しており、前記変換装置も、クロック・ドメイン交差を備えるよう構成されたデータ処理システム。
【請求項７】
少なくとも１つの集積回路上のデータ処理システムにおいてデータ・トラフィックを同期化する方法であって、前記データ処理システムは少なくとも２つのモジュールと、前記モジュール間でデータを伝送するネットワークとを備えており、前記データ処理システムは、前記モジュール間のデータ・トラフィックを同期化するフロー制御手法を施し、前記ネットワークは、第１のサブネットワーク及び第２のサブネットワークを備えており、前記第１のサブネットワーク及び前記第２のサブネットワークは異なる動作条件を有しており、前記データ処理システムは変換装置を更に備えており、前記変換装置が、前記第１のサブネットワークにおいて施される第１のフロー制御手法を、前記第２のサブネットワークにおいて施される第２のフロー制御手法に変換する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも１つの集積回路上のデータ処理システムに関する。データ処理システムは、少なくとも２つのモジュールと、それらのモジュール間でデータを伝送するよう構成されたネットワークとを備える。データ処理システムは、モジュール間のデータ・トラフィックを同期化するためにフロー制御手法を施すよう構成される。ネットワークは第１のサブネットワーク及び第２のサブネットワークを備える。第１のサブネットワーク及び第２のサブネットワークは別々の動作条件を有する。
【０００２】
本発明は、少なくとも１つの集積回路上のデータ処理システムにおけるデータ・トラフィックを同期化する方法にも関する。データ処理システムは、少なくとも２つのモジュールと、それらのモジュール間でデータを伝送するネットワークとを備える。データ処理システムは、モジュール間のデータ・トラフィックを同期化するためにフロー制御手法を施す。ネットワークは第１のサブネットワーク及び第２のサブネットワークを備える。第１のサブネットワーク及び第２のサブネットワークは別々の動作条件を有する。
【背景技術】
【０００３】
非常に複雑なチップ上のモジュールの相互接続に関する課題に対する適切な解決策として、ネットワークオンチップ（NOC）が提案されており、広く受け入れられている。従来の相互接続構造（単一のバスや、バスの階層など）と比較すれば、前述のネットワーク概念は、いくつかの重要な利点を提供する。例えば、(i)ネットワークは、ディープ・サブミクロン技術における配線を満足に構造化し、管理することができ、(ii)ネットワークは、好適な配線利用度を共有によって可能にし、(iii)ネットワークは、バスよりもうまくスケーリングし、(iv)ネットワークは、エネルギ効率及び信頼度が高いことがあり得るものであり、(v)ネットワークは、明確なインタフェースによって計算を通信と切り離す。これによって、モジュール及び相互接続構造を別々に設計し、比較的簡単に一体化することが可能である。
【０００４】
ネットワークオンチップは通常、複数のルータ（ネットワークのノードを構成し、ネットワークを介してデータを伝送し、ルーティングする）を備える。更に、ネットワークは通常、いわゆるネットワーク・インタフェース（ネットワークに接続されたモジュールと、ネットワーク自体との間のインタフェースを実現する）を備えている。モジュールは通常、マスタ・モジュール及びスレーブ・モジュールに分類される。マスタ・モジュールは要求メッセージ（例えば、メモリ（スレーブ）・モジュールに書き込まれるべきデータが付随する書き込みコマンドを備える要求メッセージ）をスレーブ・モジュールに送出する。スレーブ・モジュールは、要求メッセージの受信の肯定応答を備える応答メッセージ、又はマスタ・モジュールによって要求された書き込み動作が成功した旨の表示を返信し得る。要求‐応答機構は多くの場合、トランザクション・モデルと呼ばれている。要求及び対応する応答の組み合わせは多くの場合、トランザクションと呼ばれている。
【０００５】
ネットワークオンチップは、急速に発展している研究開発分野を構成している。近年、例えば、ネットワーク・トポロジや、構成部分（ネットワーク・インタフェース、ルータやスイッチなど）の設計に関して、多くの刊行物が作成されている。最近の重要な進展として、マルチチップ・ネットワークの概念がある。マルチチップ・ネットワークは、サブシステムの一部を構成しており、より大規模のデータ処理システムにおける特定の機能を行うモジュール間の通信に特化したサブネットワークに分割される。サブネットワークは、種々の集積回路上（ダイ上、基板上、又はチップ上）にある。あるいは、サブネットワークは単一のチップ上にあり得る。後者の場合、サブネットワークは種々の電力ドメイン又は電圧ドメインを有し得る。
【０００６】
本発明の意味合いでは、米国特許第6,018,782号明細書が特に適切である。米国特許第6,018,782号明細書には、オンチップ・ネットワーク内で相互接続された複数のモジュールを備えたシングルチップ集積回路が開示されている。前述のモジュールは、プロセッサ、あるいはメモリ・デバイス、あるいはハイブリッドである。モジュール間リンクは、モジュール間のデータ通信のための電気パスを設ける。モジュールは、モジュール間リンクにモジュール間ポートによって接続される。少なくとも１つのモジュール間ポートが、関連したモジュールとモジュール間リンクとの間に結合される。モジュール間リンクは、モジュール間ポートを電気的に結合し、モジュール間の通信経路を設ける。オンチップ・ネットワークは、モジュール間リンクの回路を接続し、１つのモジュール間リンクから別のモジュール間リンクにデータ・パケットをルーティングするモジュール間ネットワーク・スイッチ、又は、２つのシングルチップ集積回路を単一の通信ネットワークに接続し、１つのコンピュータ・チップ上のモジュールから別のコンピュータ・チップ上のモジュールにデータ・パケットをル―ティングするためのチップ間ネットワーク・ブリッジも有し得る。
【０００７】
チップ間ネットワーク・ブリッジは、米国特許第6,018,782号明細書の図２及び図５において分かり得るように、いくつかのコネクタを介してオンチップ・ネットワークを拡張するために２つのコンピュータ・チップを接続することができる。チップ間ネットワーク・ブリッジは好ましくは、第２のコンピュータ・チップ上のアドレス宛の送信データを受け入れるよう動作可能な1つ又は複数の出力バッファ、及び、関連したコンピュータ・チップ上の関連したアドレス宛の受信データを受信するよう動作可能な１つ又は複数の入力バッファを有する。チップ間ネットワーク・ブリッジは、第２のコンピュータ・チップに転送する対象のデータを、出力バッファ内の空間が利用可能な場合に出力バッファに受け入れる。出力バッファ内のデータは、第２のコンピュータ・チップ上の対応するチップ間ネットワーク・ブリッジに、上記チップ間ネットワーク・ブリッジが、更なるデータを受け入れるよう利用可能であることを通知した場合に、コネクタを介して転送される。
【０００８】
ネットワーク・ブリッジが、別々の集積回路上にあるネットワーク間の通信にしか適用されず、１つのネットワークから別のネットワークに送信すべきデータを一時的に記憶するバッファ手段しか備えていないことは、米国特許第6,018,782号明細書の記載から明らかである。１つのネットワークから別のネットワークへのデータ転送の同期化の機構は何ら存在していない。ネットワークを別のチップに結合し、それによって、ネットワークを拡張する可能性しか提供しないという意味合いで、ネットワーク・ブリッジによって提供される機能は非常に限られている。ネットワーク・ブリッジは、対応するネットワーク・ブリッジ（他方のコンピュータ・チップ上のネットワークにおいて備えられている）が、更なるデータを受け入れることが可能でない旨を示した場合にデ―タをキューイングするための比較的単純なバッファ手段を更に設ける。よって、このネットワーク・ブリッジの主たる欠点は、１つのネットワークから別のネットワークへデータ・トラフィックを適切に同期化することが可能でないことである。
【０００９】
２つの構成部分（特に、第１のコンピュータ・チップ上のネットワーク・ブリッジ及び第２のコンピュータ・ブリッジ上の協調するネットワーク・ブリッジ）が必要であることも明らかである。前述の２つの構成部分の組み合わせは、レーテンシの増加が理由で、ネットワーク全体としての性能に悪影響を及ぼす。性能への悪影響は、既知のネットワーク・ブリッジの別の欠点である。
【００１０】
別の適切な文献は、Mikko  Alho及びJari  Nurmi（Institute  of  Digital  Computer  Systems,  Tampere  University  of  Technology,  Finland）による「Implementation  of  interface  router  IP  for  Proteo  Network-on-Chip」と題する論文である。この論文では、（Tampere  University  of  Technologyにおいて開発された）プロテオ（Proteo）NoC用のインタフェース・ルータIPが発表され、実現されている。このインタフェース・ルータIPの実現以外に、複数のサブネットワークの概念、及び、サブネットワークを、より大規模のネットワークに相互接続するためのブリッジ構成部分の利用が簡潔に例証されている。しかし、前述のブリッジ構成部分の技術仕様はない。データ・トラフィック同期化がないという前述の事項は、扱われておらず、種々のサブネットワークの場合によっては異なる特性によってもたらされる技術上の課題としても言及されていない。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明の目的は、前述の種類のサブネットワークを相互接続する手段及び方法を提供することである。前述の手段及び方法は、サブネットワーク間のデータ・トラフィックを適切に同期化することができる。この目的は、請求項１記載のデータ処理システムによって、かつ、請求項７記載の方法によって達成される。
【課題を解決するための手段】
【００１２】
本発明によるデータ処理システムは変換装置を備えている。この変換装置は、第１サブネットワークにおいて施される第１のフロー制御手法を、第２のサブネットワークにおいて施される第２のフロー制御手法に変換するよう構成される。変換装置は、別の構成部分（例えば、サブネットワーク間の動作周波数の変換（クロック・ドメイン交差）を行う構成部分）と協調又は一体化することができる。フロー制御が正確に機能するためには、第１のサブネットワーク及び第２のサブネットワークそれぞれに別個のフロー制御手法を用いることが必要である。変換装置は、前述の手法間の変換を行う。例えば、フロー制御がクレジット・ベースの場合、変換装置は、第２のフロー制御手法において利用可能なクレジット量に基づいて第１のフロー制御手法の正確なクレジット量を計算する。必要な場合、クレジット変換が行われる。このクレジット変換は、例えば、第１のサブネットワーク及び第２のサブネットワークにおいてフリット・サイズが異なる場合に必要である。変換装置は、第２のサブネットワークからのクレジット（特定量のデータ・エレメントを表す）を第１のサブネットワークのクレジットに変換する。クレジットの数は、データ・エレメントが同量の場合、第１のサブネットワーク及び第２のサブネットワークそれぞれにおいて異なり得る。
【００１３】
請求項２記載の本発明の一局面では、データ処理システムは、モジュール間のデータ・トラフィックを同期化するフロー制御手法を実施する。フロー制御手法は、第１のモジュールに記憶されたクレジットに基づく。このクレジットは、第２のモジュールによって受信することが可能なデータの量を表す。これは多くの場合、クレジット・ベースのフロー制御手法と呼ばれている。
【００１４】
請求項３記載の本発明の別の局面では、第１のサブネットワークは第１のルータを備え、第２のサブネットワークは第２のルータを備え、第１のルータの出力は変換装置の入力に結合され、変換装置の出力は第２のルータの入力に結合され、第１のルータは第１のバッファ装置を備え、第２のルータは第２のバッファ装置を備え、変換装置は、第１のバッファ装置からデータを受信するよう構成され、変換装置は、第２のバッファ装置への送信用のデータを記憶するよう更に構成され、変換装置は、データを記憶する中間バッファ装置を備え、第１のバッファ装置と中間バッファ装置との間の通信は第１のフロー制御手法によって制御され、中間バッファ装置と第２のバッファ装置との間の通信は第２のフロー制御手法によって制御される。別個のフロー制御手法は別個のバッファ対を制御し、変換装置はフロー制御手法間で変換する。
【００１５】
請求項４記載の本発明の更なる局面では、第１のサブネットワーク及び第２のサブネットワークは、異なるサイズを有するフロー制御装置を用いる。変換装置は、第２のフロー制御手法によって用いられるクレジットを第１のフロー制御手法によって用いられるクレジットに変換するよう構成される。これはクレジット変換として表す。第２のフロー制御手法において用いるクレジットは、第１のフロー制御手法のクレジットに変換される。
【００１６】
請求項５記載の本発明の更なる局面では、第１のサブネットワーク及び第２のサブネットワークは別々のチップ上にあり、データ処理システムには更なる変換装置が備えられ、オフチップ・リンクが変換装置と更なる変換装置との間に備えられる。変換手段は、第１の変換装置と協調する更なる変換装置によって拡張される。これは、オフチップ・リンクが変換装置間に備えられる場合に効果的である。
【００１７】
請求項６記載の本発明の更なる局面では、第１のサブネットワーク及び第２のサブネットワークは単一のチップ上にあり、第１のサブネットワーク及び第２のサブネットワークは、別々のクロック・ドメインを有しており、変換装置は更に、クロック・ドメイン交差を備えるよう構成される。この実施例では、変換装置は、クロック・ドメイン交差を行うための手段と一体化される。
【発明を実施するための最良の形態】
【００１８】
本発明を更に詳細に、添付図面を参照して説明する。
【実施例】
【００１９】
図１は、集積回路上のネットワークにおける通信ルータR1、R2の既知の構成を示す。ネットワークは、リンクL1、L3を介して接続されるルータ集合体R1、R2を備える。何れのリンクも、特定のクロック周波数又は動作周波数f1で動作する。何れのルータR1、R2も、特性（クロック周波数、位相、ビット幅等）の点でルータ間のリンクL1上で同じビューを有する。これは、現在優勢なネットワークオンチップのビューである。
【００２０】
図２は、別々のダイ（ダイ１、ダイ２）上にある通信ルータR1、R2の既知の構成を示す。ネットワークは、複数のダイをカバーするよう拡張することができる。この概念は、マルチチップ又はマルチダイのネットワークとして表す。ルータR1、R2は、別々のサブネットワークの一部である。この場合、別々のダイ上にあるサブネットワークである。ルータR1、R2はなお、特性の点で、リンクL1上で同じビューを持ちたいが、リンクL1の特性は、ルータR1及びR2のサブネットワーク内の他のリンク（例えば、リンクL3）の特性と異なり得る。この場合、リンクL1及びL3は、異なるクロック周波数又は動作周波数（それぞれｆ２及びｆ１）を有する。リンクL1及びL3には等しい特性を与えられ得るが、これは、サブネットワーク内のリンク（L3など）又はサブネットワーク（L1）間のリンクを十分活用していない。別の可能性は、リンクL1がリンクL3とは異なることをルータR1、R2に知らせることになるが、これは、ルータの修正及び複雑化を必要とし、これは、ルータの費用及び再利用性の観点で望ましくない。よって、より好適な解決策は、リンクL1の逸脱した挙動をルータR1及びR2に対して隠すことになる。このことは、本発明による変換装置を実施することによって達成することが可能である。変換装置は、OSIモデルにおけるいわゆる「リンクレベル」上で変換を行うことが可能であるため、リンクレベル・ブリッジとして実施することができる。
【００２１】
図３は、本発明によるリンクレベル・ブリッジLLB1の例である。ルータR1、R2は変わらない状態に留まっており、リンクレベル・ブリッジLLB1は、ネットワーク内で、かつネットワークを跨って再使用可能である。リンクレベル・ブリッジLLB1の重要な機能は、別のルータ又はネットワーク・インタフェースと通信するために用いるリンクが、期待する特性とは異なる特性を有することをルータに対して隠すことである。ルータに対して隠すことが可能な差の例には、
媒体（オンチップの銅、対オフチップのファイバ等）、
クロック周波数又は動作周波数（すなわち、速度）、
クロック位相、
リンク幅、
リンクレベル・フロー制御手法、
動作モード（例えば、バースト・モード対定数伝送モード）などの
（OSIモデルにおける）物理レイヤ及びリンク・レイヤの特性の差がある。
【００２２】
リンクレベル・ブリッジLLB1は、リンクL1からリンクL3に、物理レベル・プロトコルとリンクレベル・プロトコルとの間で変換するよう構成される。ルータR1とルータR2との通信は、パケットの形式で行われる。通常、パケットは、ヘッダ、ペイロード及びテールのうちの少なくとも１つを備える。パケットは、更に分割され、いわゆるフロー制御装置に割り当てられる。フロー制御装置は通常、「フリット」と呼ばれている。
【００２３】
図4は、本発明による更なるリンクレベル・ブリッジLLB2の例を示す。この構成は特に、別々のダイ上にあるサブネットワークに適している。第１のリンクレベル・ブリッジLLB1は第２のリンクレベル・ブリッジLLB2と協調して、それぞれのサブネットワークに備えられたルータR1、R2間の変換を実現する。第１のリンクレベル・ブリッジLLB1と第２のリンクレベル・ブリッジLLB2との間のリンクL2は通常、オフチップ・リンクである。この場合、変換は、段階単位の手法を採用する。まず、オンチップ・リンクL1からオフチップ・リンクL2への変換が行われ、後に、オフチップ・リンクL2からオンチップ・リンクL3への変換が行われ、逆も同様である。第１のルータR1と第２のルータR2との間のリンクレベル・フロー制御は、それによって、３つの段階（（１）リンクL1上のフロー制御、（２）リンクL2上のフロー制御及び（３）リンクL3上のフロー制御）に分解される。（少なくとも１つのリンクレベル・ブリッジLLB1による）2つ以上の段階におけるリンクレベル・フロー制御の実現形態は、図１０を参照して更に詳細に説明する。
【００２４】
まず、リンクレベル・フロー制御の原理を説明する。図５は、クレジット・ベースのリンクレベル・フロー制御の既知の概念を示す。２つのルータR1、R2が単一のサブネットワークに備えられる。ルータR1、R2は直接リンクLを介して接続される。フリットの形態を呈するデータ・エレメントは、第１のルータR1から第２のルータR2にリンクLを介して送信される。ルータR1、R2は、例えば、まだ送信可能でない場合に、一時的にデータ・エレメントを記憶するよう構成されたバッファ装置fifo1、fifo2を備える。バッファ装置fifo1、fifo2における単一の場所が一フリットを収容するものとする。あるいは、別のマッピング（一バッファ場所が一ワードを収容するなど）を用いることができる。第１のルータR1は、第２のルータR2のバッファ装置fifo2において利用可能な場所をその値（すなわち、首尾良く送信し、第２のルータR2に記憶することができるフリット数）が表すそのクレジット（遠隔空間）カウンタを備える。
【００２５】
当初、第２のルータＲ２のバッファ装置fifo2がなお空きの場合、クレジット（遠隔空間）カウンタの値はこのバッファ装置のサイズに等しい。ルータR1は、それが有するクレジットの数のフリット（すなわち、クレジット（遠隔空間）カウンタの値に等しい数のフリット）を送出することが可能である。第１のルータR1は、第２のルータR2にデータを送信すると、送信したフリットの数、クレジット（遠隔空間）カウンタを減らす。データが第２のルータR2のバッファ装置fifo2を出ると、カウンタに通知する対象のクレジットの値が、このバッファ装置を出たフリットの数、増やされる。カウンタを通知するためのクレジットの値がゼロよりも大きい場合、この値は第１のルータR1に通知される。この第１のルータR1では、この値がクレジット（遠隔空間）カウンタの値に加算される。このようにして、データを記憶するバッファ空間が存在しない場合、データは何ら第２のルータR2に送出されず、よって、データは何ら失われない（すなわち、通信は可逆である）。
【００２６】
図６は、本発明によるリンクレベル・ブリッジLLB1に備えられたブリッジ・バッファ装置fifoBの例を示す。第１のサブネットワーク・ドメイン１にある、（生産側ルータとも呼ばれる）第１のルータR1は、第２のサブネットワーク・ドメイン２にある、（消費側ルータとも呼ばれる）第２のルータR2にリンクレベル・ブリッジLLB1を介してデータを送信する。リンクレベル・ブリッジLLB1は、第１のルータR1からリンクL1を介してデータを記憶するよう構成されたブリッジ・バッファ装置fifoBを備える。前述のデータの記憶は、例えば、動作周波数の差を補償するのに必要である。
【００２７】
リンクレベル・ブリッジLLB1は、２つ以上のバッファ装置（例えば、一連の先入れ先出し装置）を有し得る。単一のブリッジ・バッファ装置fifoBの使用は、抽象化とみなし得る。当業者は、バッファの実際の実現形態及び場所を選択することが可能である。バッファ実現形態の例には、周波数変換のためのダブル・ラッチ、及びリンク幅変換のための順次化装置がある。
【００２８】
図７は、本発明によるリンクレベル・ブリッジLLB1及び更なるリンクレベル・ブリッジLLB2のアプリケーションを示す。この例では、第１のルータR1及び第２のリンクレベル・ブリッジLLB1は第１の集積回路チップ１上にある。第２のルータR2及び更なるリンクレベル・ブリッジLLB2は第２の集積回路チップ2上にある。第１の集積回路チップ１と第２の集積回路チップ２との間のリンクは通常、オンチップ・リンクの特性とは非常に異なる特性を有する。リンクレベル・ブリッジLLB1、LLB2は、第１の集積回路チップ１から第２の集積回路チップ２へのフロー制御手法変換のために設置されたブリッジ・バッファ装置fifoB、fifoB’を有する。
【００２９】
図８は、本発明によるリンクレベル・ブリッジLLB1のアプリケーションを示す。この例では、第１のルータR1は第１のサブネットワークNoCに備えられ、第２のルータR2は第２のサブネットワークNoC2に備えられる。第１のサブネットワークNoC及び第２のサブネットワークNoC２は異なる動作条件を有する。リンクレベル・ブリッジLLB1は、第１のサブネットワークNoCに配置されたフロー制御手法を、第２のサブネットワークNoC2に配置されたフロー制御手法に変換する。リンクレベル・ブリッジLLB1は概念的には、この概念の解釈に応じて、両方のサブネットワークの一部を構成するか、又は、サブネットワーク間にある。物理的には、リンクレベル・ブリッジLLB1は例えば、サブネットワークの１つの中にある適合させたネットワーク・インタフェース構成部分、図７に示した構成と同様な２つのリンクレベル・ブリッジ構成部分の組み合わせ、又は当業者によって選択される対象の別の実現形態であり得る。
【００３０】
図９は、バッファ・オーバフローにつながり得る、クレジット・ベースのリンクレベル・フロー制御手法の用途を示す。クレジット・ベースのリンクレベル・フロー制御機構を、リンクレベル・ブリッジLLB1の存在を考慮するよう適合させない場合、ルータR1のクレジット・カウンタ内のクレジットは、ブリッジ・バッファ装置fifoB内の空き空間ではなく、ルータR2のバッファ装置fifo2内の空き空間を反映する。ブリッジ・バッファ装置fifoBがバッファ装置fifo2より遅く、小さい場合、ブリッジ・バッファ装置fifoBは、クレジット数がゼロよりも大きくても満たされ得る。その結果、リンクレベル・ブリッジLLB1においてバッファ・オーバフローが生じる。それによって、データが失われてしまう。
【００３１】
図１０は、本発明による、変換装置におけるフロー制御手法の用途を示す図である。この例では、各バッファ装置対（fifo1-fifoB及びfifoB-fifo2それぞれ）は別個のフロー制御機構を有する。これによって、ブリッジ・バッファ装置fifoBのオーバフローが避けられる。バッファfifo1、fifoB及びfifo2は異なるサイズを有し得る。クレジットは、フリットと関連付けられる（すなわち、１クレジットが１フリットを表すが、他のマッピングが可能である）ものとする。大半のネットワークオンチップでは、フリットは、扱うことが可能なデータの最小量である。一フリットは例えば、いくつかの語を有し得る。フリット・サイズは可変である。これは、別々の（サブ）ネットワークが異なるフリット・サイズを用い得るが、一（サブ）ネットワーク内ではフリット・サイズが固定であることを意味する。
【００３２】
前述の通り、フロー制御機構はバッファ対fifo1-fifoB及びfifoB-fifo2に分割されたので、リンクレベル・ブリッジLLB1内のバッファ・オーバフローを避けることが可能である。しかし、フリット・サイズがサブネットワークにおいて異なる場合、更に、クレジット変換が必要である。例えば、ルータR1のサブネットワーク内のフリット・サイズが２ワードであり、ルータR2のサブネットワーク内のフリット・サイズが４ワードの場合、リンクレベル・ブリッジLLB1を出る３つの4ワード・フリットは、ルータR1に通知する対象の６つのクレジットに変換されなければならない。あるいは、ルータR1のサブネットワーク内のフリット・サイズが3ワードであり、ルータR2のサブネットワーク内のフリット・サイズが４ワードの場合、リンクレベル・ブリッジLLB1を出る３つの4ワード・フリットは、ルータR1に通知する対象の４つのクレジットに変換されなければならない。
【００３３】
図１１は、本発明による２つのリンクレベル・ブリッジのアプリケーションの例を示す。２つの集積回路チップ1、チップ2は、異なる動作周波数f1、f2で動作するネットワークを備えている。２つの集積回路は、外部の直列リンク（チップ間リンク）を介して接続される。２つのリンクレベル・ブリッジを用いてフロー制御手法の変換を実現する。外部リンクは２つのネットワークにはトランスペアレントである。
【００３４】
図１２は、本発明によるリンクレベル・ブリッジのアーキテクチャの例を示す。ブリッジは、「pos」が論理ハイ値を有するように「クレジット」の値が正である場合にのみdata2を介してデータを送出することが可能である。ブリッジ信号によって送出されたデータの受信側が、「inc2」によって返信した場合、「クレジット」カウンタが増やされる。「data２」が更に送出された場合（「valid２」及び「accept2」がともに論理ハイ値を有する場合）、そのキューに関連付けられたクレジット（「クレジット」）が減らされる。クレジットが生成される。これは、fifoバッファ装置を介してブロック・ドメイン境界を越え、「通知する対象のクレジット」を増やさせる。「通知する対象のクレジット」は、ブリッジにデータを送出するルータ／NIにdec1を介して返信される。
【００３５】
本発明の保護の範囲は、本明細書及び特許請求の範囲記載の実施例に限定されない。本発明の保護の範囲は、特許請求の範囲における参照符号によっても限定されない。「comprising」の語は、特許請求の範囲記載の部分以外の他の部分を排除するものでない。構成要素に「a(n)」が先行することは、前述の構成要素の複数形を排除するものでない。本発明の一部を構成する手段は、専用ハードウェアの形態で、又はプログラムされた汎用目的プロセッサの形態で実現することができる。本発明は、新たな特徴又は特徴の組み合わせそれぞれにおいて存在している。
【図面の簡単な説明】
【００３６】
【図１】集積回路上のネットワークにおける通信ルータの既知の構成を示す図である。
【図２】別々のダイ上にある通信ルータの既知の構成を示す図である。
【図３】本発明によるリンクレベル・ブリッジの例を示す図である。
【図４】本発明による更なるリンクレベル・ブリッジの例を示す図である。
【図５】クレジット・ベースのリンクレベル・フロー制御の既知の概念を示す図である。
【図６】本発明による、リンクレベル・ブリッジにおいて備えられるブリッジ・バッファ装置の例を示す図である。
【図７】本発明による、リンクレベル・ブリッジ及び更なるリンクレベル・ブリッジのアプリケーションを示す図である。
【図８】本発明による、リンクレベル・ブリッジのアプリケーションを示す図である。
【図９】バッファ・オーバフローにつながるクレジット・ベースのリンクレベル・フロー制御手法の用途を示す図である。
【図１０】本発明による、リンクレベル・ブリッジ内の変換装置におけるフロー制御手法の用途を示す図である。
【図１１】本発明による２つのリンクレベル・ブリッジのアプリケーションの例を示す図である。
【図１２】本発明によるリンクレベル・ブリッジのアーキテクチャの例を示す図である。
【図１】
2008522526.tif 000003
【図２】
2008522526.tif 000004
【図３】
2008522526.tif 000005
【図４】
2008522526.tif 000006
【図５】
2008522526.tif 000007
【図６】
2008522526.tif 000008
【図７】
2008522526.tif 000009
【図８】
2008522526.tif 000010
【図９】
2008522526.tif 000011
【図１０】
2008522526.tif 000012
【図１１】
2008522526.tif 000013
【図１２】
2008522526.tif 000014
【国際調査報告】
2008522526.tif 000015
2008522526.tif 000016
2008522526.tif 000017