(57)【要約】  データを送信する少なくとも１つのセンダＳ０−Ｓ３及びデータを受信する少なくとも１つのレシーバＲを有する電子デバイスが提供される。更に、センダからのデータトラフィックがレシーバに送られるように、少なくとも１つのセンダ及び少なくとも１つのレシーバを結合するためのネットワークに基づく相互接続Ｎが、提供される。更に、少なくとも１つの別の共有される専用制御相互接続ＣＩが、少なくとも１つのセンダＳ０−Ｓ３及び少なくとも１つのレシーバＲの間に結合され、センダ及びレシーバの間でフロー制御データを通信する。
2009534979.tif 000002
【特許請求の範囲】
【請求項１】
データを送信する少なくとも１つのセンダと、
データを受信する少なくとも１つのレシーバと、
前記少なくとも１つのセンダからのデータトラフィックが前記少なくとも１つのレシーバに送られるように、前記少なくとも１つのセンダ及び前記少なくとも１つのレシーバを結合する、ネットワークに基づく相互接続と、
前記少なくとも１つのセンダ及び前記少なくとも１つのレシーバの間に結合され、前記少なくとも１つのセンダ及び前記少なくとも１つのレシーバの間でフロー制御データを通信する、少なくとも１つの別の共有される専用制御相互接続と、
を有する電子デバイス。
【請求項２】
前記フロー制御は、許可信号によって応答されるリクエスト信号によるハンドシェイク機構に基づくものであり、前記制御相互接続は、前記リクエスト信号用の少なくとも１つのリクエストライン及び前記許可信号用の少なくとも１つの許可ラインを有する、請求項１に記載の電子デバイス。
【請求項３】
前記ネットワークに基づく相互接続は、複数のネットワークラインによって結合される複数のスイッチを有する、請求項２に記載の電子デバイス。
【請求項４】
前記リクエストライン及び前記許可ラインは、前記ネットワークラインに加えて設けられる、請求項３に記載の電子デバイス。
【請求項５】
制御回路が、前記少なくとも１つのセンダ及び／又は前記少なくとも１つのレシーバへの前記制御相互接続に結合される、請求項１に記載の電子デバイス。
【請求項６】
前記制御相互接続は、前記制御相互接続が、前記少なくとも１つのセンダから前記少なくとも１つのレシーバまで前記ネットワークを通じて延びるように、前記ネットワークに基づく相互接続の構造に適応される、請求項４に記載の電子デバイス。
【請求項７】
リクエストに関連付けられるバッファスペースの量又はパケットの数は、予め規定され、変更可能であり、又は前記リクエスト信号のパラメータとして指定される、請求項２に記載の電子デバイス。
【請求項８】
許可信号に関連付けられるバッファスペースの量又はパケットの数は、予め規定され、変更可能であり、又は前記許可信号のパラメータとして指定される、請求項２又は請求項７に記載の電子デバイス。
【請求項９】
前記少なくとも１つのレシーバは、いくつかのセンダとの通信のための共用バッファとして使用されるバッファを有する、請求項１に記載の電子デバイス。
【請求項１０】
前記リクエスト信号は、パイプライン化されて処理される、請求項２に記載の電子デバイス。
【請求項１１】
少なくとも１つのセンダ及び少なくとも１つのレシーバを有し、前記センダ及び前記レシーバが、ネットワークに基づく相互接続によって結合されている、電子デバイスのエンドツーエンドのフロー制御方法であって、
前記少なくとも１つのセンダからデータを送信するステップと、
前記少なくとも１つのレシーバによりデータを受信するステップと、
を含み、データトラフィックは、前記少なくとも１つのセンダから前記少なくとも１つのレシーバまで前記ネットワークに基づく相互接続によって可能にされ、
前記少なくとも１つのセンダ及び前記少なくとも１つのレシーバの間のフロー制御データは、前記少なくとも１つのセンダ及び前記少なくとも１つのレシーバの間に結合される別の共有される専用制御相互接続を介して送られる方法。
【請求項１２】
データを送信する少なくとも１つのセンダと、
データを受信する少なくとも１つのレシーバと、
前記少なくとも１つのセンダからのデータトラフィックが前記少なくとも１つのレシーバに送られるように、前記少なくとも１つのセンダ及び前記少なくとも１つのレシーバを結合する、ネットワークに基づく相互接続と、
前記少なくとも１つのセンダ及び前記少なくとも１つのレシーバの間に結合され、前記少なくとも１つのセンダ及び前記少なくとも１つのレシーバの間でフロー制御データを通信する、少なくとも１つの別の共有される専用制御相互接続と、
を有するデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子デバイス、エンドツーエンドのフロー制御方法及びデータ処理システムに関する。
【背景技術】
【０００２】
バスに基づく通信システムのほかに、通信システム用のネットワークに基づく相互接続が、通信システムの異なる素子間でデータを伝送するために使用される。ネットワークに基づく通信システムは、インターネットを介した通信、イントラネットを介した通信、電子デバイスのいくつかの基板間、いくつかのチップ間の通信（チップツーチップ相互接続）、又はシングルチップ上のいくつかの素子間の通信（オンチップネットワーク）を含む。ネットワークは、データを伝送するために互いに結合される複数のスイッチ又はルータに基づくことができる。ネットワークに基づく通信システム内で、フロー制御は、トランスミッタ及びレシーバの間のデータ伝送を制御するために、すなわちエンドツーエンドのフロー制御のために、必要とされる。レシーバの挙動は完全には知られることができないので、エンドツーエンドのフロー制御が必要とされる。トランスミッタ及びレシーバの間の異なる通信レート又はデータ伝送レートに対応できるように、レシーバは、バッファを有することができる。これらのバッファは、トランスミッタ及びレシーバの間の通信中、一杯になることがある。このようなバッファが一杯であり、更なるデータが、トランスミッタから受け取られる場合、このデータが捨てられるか、又はバッファ内の他のデータが捨てられるべきかの決定がなされるべきである。
【０００３】
フロー制御は、レシーバのバッファに利用可能な十分なスペースがある場合のみ、データがトランスミッタから送り出されることを確実にする。しかしながら、フロー制御が実現されず、レシーバのバッファが一杯である場合、例えばベストエフォートＢＥトラフィックに関しては、バッファが一杯になった後に受け取られるデータは、ネットワークにおいて待ち行列に入れることが可能である。しかしながら、これは、ネットワークにおいて他のトラフィック又はストリームのブロッキングに、一時的に（コンジェスチョン）又は永久的に（デッドロック）至ることがある。他のやり方として、バッファが一杯になった後に受け取られるデータは、例えばベストエフォートＢＥトラフィック及びスループット保証ＧＴトラフィックの場合、レシーバによって落とされることがありうる。更に、データがネットワークにおいて待ち行列に入れられる場合、これは更に、リクエスト及び応答トランザクションの間のメッセージレベルのトラフィックに影響を及ぼすことがある。上述のデッドロックは、リクエスト及び応答トランザクションについて切り離された仮想又は物理ネットワークによって、回避されることができる。更に、リクエストの受信は、応答の送信に結合され、すなわち、周期依存性が、ネットワーク内の共有バッファに存在しうるので、独立したマスタ／スレーブ（トランスミッタ又はレシーバ）対が、デッドロックをなお観察することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ネットワークに基づく通信のためのエンドツーエンドフロー制御は、データ伝送に関するクレジットに基づいて、実現されることができる。具体的には、センダ／ソース及びレシーバ／宛先間の各接続、すなわちソース／センダ及び宛先／レシーバの間の各通信は、切り離された接続と考えられ、従って、データ伝送のための別個の待ち行列を必要とし、すなわちセンダ及びレシーバにおいて別個のバッファを必要とする。レシーバにおけるバッファ又はバッファスペースの利用可能な量は、クレジットカウンタの使用によって、センダにおいて保持され監視されることができる。センダ又はトランスミッタは、レシーバが送信されるべきデータをバッファするための十分なスペースをそのバッファに有する場合のみ、データを送信する。ネットワーク内又はネットワークをまたぐ通信がパケットに基づくものである場合、センダのための実際のクレジット値は、パケット上にクレジット値をピギーバックすることによって、レシーバから送り出されることができ、又はそれらは、別のパケットとして送り出されることができる。
【０００５】
図１は、従来技術によるネットワークに基づく通信環境内のレシーバを示している。ここで、レシーバＲは、各々のセンダのためのバッファＢを有する。４つのセンダＳ１−Ｓ４が存在する場合、レシーバは、４つのバッファＢ１−Ｂ４を有さなければならず、各バッファは、センダＳ１−Ｓ４の１つからの通信に関連付けられる。
【０００６】
このようなエンドツーエンドフロー制御が実現される場合、あらゆる接続が、レシーバにおいて別個のバッファを必要とする。レシーバにおけるバッファが、ネットワークをまたぐさまざまな接続間で共有される場合、クレジットに基づくフロー制御は、バッファ内の利用可能なスペースの状況を把握するために、他の接続の他のセンダがいつ実際にデータを送っているかを各センダが知っていなければならないことを必要とする。しかしながら、数クロックサイクル内にすべてのセンダにこのような情報を広めることは、非常にむずかしく複雑である。従って、一般に、レシーバにおけるバッファリングの量は、別個のバッファを収容できるように大きくなる。それに応じて、大きいハードウェアオーバヘッドが必要とされるので、エンドツーエンドフロー制御のこのような実現は高価である。
【０００７】
米国特許第５，８５２，７１８号明細書は、エンドツーエンドフロー制御を集中化されたやり方で実現するための集中化された調停スキームを示している。ここで、通信は、パケット交換トランザクション又は回線交換トランザクションのいずれかでありうる。エンドツーエンドのフロー制御は、受け側がそのためのスペースを有しているより多くのトランザクション又はデータをマスタが送ることを禁止することによって、待ち行列オーバフロー及びコンジェスチョン状態を回避するために実現される。具体的には、ハードウェアハンドシェイクは、データ伝送の完了を通知し、マスタに待ち行列の利用可能なスペースを知らせるために使用される。
【０００８】
従って、本発明の目的は、バッファリングのための低減された要求をもつエンドツーエンドフロー制御を可能にするデータのネットワークに基づく通信を有する電子デバイスを提供することである。
【課題を解決するための手段】
【０００９】
この目的は、請求項１に記載の電子デバイス、請求項１１に記載のエンドツーエンドフロー制御方法、及び請求項１２に記載のデータ処理システムによって解決される。
【００１０】
従って、データを送信する少なくとも１つのセンダ及びデータを受信する少なくとも１つのレシーバを有する電子デバイスが提供される。更に、センダからのデータトラフィックがレシーバに送られるように、少なくとも１つのセンダ及び少なくとも１つのレシーバを結合する、ネットワークに基づく相互接続が、提供される。更に、少なくとも１つの別の共有される専用制御相互接続が、センダ及びレシーバの間でフロー制御データを通信するために、少なくとも１つのセンダ及び少なくとも１つのレシーバの間に結合される。
【００１１】
従って、フロー制御トラフィックは、データトラフィックから切り離されているので、フロー制御トラフィックは、データトラフィックに影響を及ぼさない。更に、データ及びフロー制御トラフィックは、切り離されているので、フロー制御トラフィックは、専用であって共有されるバージョンで実現される別の制御相互接続において実現されることができ、それにより、フロー制御トラフィックは、ネットワークに基づく相互接続を通じて送信される必要がない。
【００１２】
本発明の１つの見地によれば、制御相互接続は、リクエスト信号用の少なくとも１つのリクエストライン及び許可信号用の少なくとも１つの許可ラインを有する。従って、リクエスト信号及び許可信号は、それぞれ、フロー制御を簡略化する専用ラインを有する。
【００１３】
本発明の好適な見地によれば、ネットワークに基づく相互接続は、複数のネットワークラインによって結合される複数のスイッチを有する。少なくとも１つのリクエストライン及び少なくとも１つの許可ラインは、ネットワークラインに加えて設けられる。従って、リクエストライン及び許可ラインは、ネットワークラインと同様の形で配置されることができる。
【００１４】
本発明の更に別の見地によれば、制御相互接続は、制御相互接続が、少なくとも１つのセンダから少なくとも１つのレシーバへのネットワークに基づく相互接続に延びるように、ネットワークに基づく相互接続の構造に適応される。
【００１５】
本発明は更に、ネットワークに基づく相互接続によって結合されるセンダ及びレシーバを有する電子デバイスのエンドツーエンドフロー制御方法に関する。データは、センダから送信され、レシーバによって受信される。データトラフィックは、センダからレシーバへのネットワークに基づく相互接続によって可能にされる。センダ及びレシーバの間のフロー制御データは、センダ及びレシーバの間に結合される別の共有される専用制御相互接続を介して、送られる。
【００１６】
本発明は、データを送信する少なくとも１つのセンダ及びデータを受信する少なくとも１つのレシーバを有するデータ処理システムにも関する。更に、センダからのデータトラフィックがレシーバに送られるように、少なくとも１つのセンダ及び少なくとも１つのレシーバを結合する、ネットワークに基づく相互接続が、提供される。更に、少なくとも１つの別の共有される専用制御相互接続が、センダ及びレシーバの間でフロー制御データを通信するために、少なくとも１つのセンダ及び少なくとも１つのレシーバの間に結合される。
【００１７】
本発明は、センダ及び少なくとも１つのレシーバの間でデータを送信し伝送するネットワークに基づく相互接続を有する電子デバイスを提供するアイデアに関する。更に、例えばバスに基づく相互接続のような共有される相互接続が、少なくとも１つのセンダ及び少なくとも１つのレシーバの間に設けられる。共有される相互接続は、データ伝送のためには使用されず、フロー制御情報を通信するためにのみ使用される。
【００１８】
好適には、フロー制御は、共通の共有媒体のマスタにおける調停によってアクセスされることができる共通の共有媒体に基づいて実現される。このようなマスタは、レシーバにおいて利用可能なバッファリングの量についての知識を有する。これは、ハンドシェイク機構によって実現されることができる。最初に、センダは、リクエストを送り、データ伝送が開始されうるマスタからのアクノリッジメントを受け取る。
【００１９】
本発明は更に、実際のフロー制御機構から、データを伝送するために使用されるネットワークを切り離すアイデアに関する。フロー制御機構は、十分なバッファリングがレシーバにおいて利用可能であることを確実にするために、センダ及びレシーバの間のハンドシェイク機構（リクエスト／許可信号）によって実現される。従って、ネットワークに基づく相互接続及びバスに基づく相互接続のような共有される相互接続が、電子デバイスに存在する。スケーラブルな相互接続は、データ伝送のために使用され、共有される相互接続は、エンドツーエンドのフロー制御のために使用される。ハンドシェイクレートはかなり低い（各トランザクションごとにただ１つのリクエスト及び許可送信）ので、制御相互接続の共有は可能である。他方、このトランザクションにおいて又はトランザクションによって伝送される実際のデータは、ネットワークに基づく相互接続を介して送信されるいくつかのパケットを含んでもよい。従って、バッファの１つの待ち行列のみが、レシーバにおいて必要とされ、これは、すべてのセンダについて使用されることができる。
【００２０】
ハンドシェイク機構のリクエスト及び許可信号が、ネットワークに基づく相互接続においてパケットとして伝送される場合、フロー制御に必要とされるワイヤリングを含むハードウェアオーバヘッドは、付加のワイヤリングが必要とされないので、最小限である。しかしながら、リクエスト及び許可信号が、ネットワークに基づく相互接続を通じてパケットとして送り出される場合、このような送信の待ち時間は重要でありえ、より大きいバッファが必要とされる。更に、これらのフロー制御パケットは、ネットワークのトラフィックを増やし、これは、コンジェスチョンをおそらく生じさせ、ネットワークに基づく相互接続のスループットを低減させる。他方、フロー制御のハンドシェイク機構のリクエスト及び許可信号が、別のポイントツーポイント制御相互接続に基づいて送信される場合、フロー制御パケットによる待ち時間の問題及びネットワークの低減されたスループットは、低減され、バッファサイズも同様に低減されることができる。他方、別のポイントツーポイント相互接続が必要とされるので、物理的ワイヤの実際の数が増加する。制御相互接続のためのワイヤリングは、モジュール形式であるべきなので、すべてのセンダによって共有される一組のライン（制御バス）が、ポイントツーポイントワイヤにおいて好ましい。
【００２１】
本発明の利点及び実施例は、図面を参照してより詳しく記述される。
【発明を実施するための最良の形態】
【００２２】
図２は、第１の実施例による、ネットワークに基づく相互接続及び制御相互接続を有する電子デバイスのブロック図を示している。ここで４つの通信素子又は通信ブロックＢＬ１、ＢＬ２、ＢＬ３、ＢＬ４が示されている。通信素子又は通信ブロックは、専用プロセッサ又はＣＰＵを含みうるいかなる処理ユニットであってもよい。通信素子は更に、多様なアプリケーション又は関数を実現することができる知的財産ブロックを含むことができる。通信ブロックＢＬ１−ＢＬ４は、複数のスイッチＳＷ又はルータを含むネットワークＮに接続される。通信ブロック間のデータ通信は、ネットワークライン及びスイッチＳＷを通じて実施される。ネットワークに加えて、制御相互接続ＣＩも提供される。図２において、２つのセンダ、すなわち第１のセンダＳ１である通信ブロックＢＬ１と、第２のセンダＳ２である通信ブロックＢＬ２とが、示されている。これらの２つのセンダＳ１、Ｓ２は、通信ブロックＢＬ４として実現されるレシーバＲと通信する。制御相互接続ＣＩは、リクエストラインＲＬ及び許可ラインＧＬを含む。制御相互接続ＣＩは、センダＳ１、Ｓ２からレシーバＲへ／レシーバＲからセンダＳ１、Ｓ２へ走る２つの物理的ワイヤとして実現されることが好ましい。
【００２３】
具体的には、センダＳ１，Ｓ２は、ブロックＢＬ１及びＢＬ２をカバーする共有される単一リクエストワイヤＲＬ及び単一許可ワイヤＧＬを介して、レシーバＲと通信する。リクエストワイヤＲＬ及び許可ワイヤＧＬは、バックエンド設計を簡略化するためにネットワーク内のスイッチＳＷをたどる。しかしながら、データラインが、スイッチＳＷ内で調停を受ける一方で、制御ラインは、スイッチ論理をバイパスされることができる。制御ラインＣＩは、一群のセンダの専用とされ、この群によってのみ使用されることができる。従って、制御相互接続は、モジュール形式であり、基本的にデータネットワークと同じ構造を有する。更に、スイッチ論理をバイパスすることによって、制御相互接続は、スイッチＳＷの待ち時間ペナルティの影響を受けずにすむ。データは、ネットワークを介して、センダ及びレシーバの間で伝送されるので、送信されるべきデータによってとられる経路は、制御相互接続の経路と異なりうる。好適には、制御ラインＣＩは、接続が開始されるときにセットアップされ、それにより、制御ラインは、当該接続のためのこの特定の構成において使用されるだけである。他の接続が開始される場合、制御ラインは、異なる構成を有することができる。
【００２４】
図３は、第２の実施例による制御相互接続を有する電子デバイスのブロック図を示している。ここで、４つのセンダＳ０−Ｓ３及び単一のレシーバＲが、示されている。センダＳ０−Ｓ３及びレシーバＲは、リクエストラインＲＬ及び許可ラインＧＬによって結合されている。いくつかのセンダが、リクエストラインＲＬ及び許可ラインＧＬに結合されるので、なんらかの調停手段が、センダのうちの１つにリクエストラインＲＬ及び許可ラインＧＬを割り当てるために必要とされる。従って、第２のセンダＳ１は、第１の制御回路ＣＣ１を介して、リクエストラインＲＬ及び許可ラインに結合される。第２及び第３のセンダは、第２及び第３の制御回路ＣＣ２、ＣＣ３を介して、リクエストラインＲＬ及び許可ラインＧＬにそれぞれ結合される。従って、センダからのリクエスト信号、すなわちｒｅｑ０−ｒｅｑ３及び許可信号ｇｒ０−ｇｒ３は、リクエストラインＲＬ及び許可ラインＧＬを介して、送られる。
【００２５】
図３には、分散制御が示されている。各々のセンダＳ０−Ｓ３は、リクエストラインＲＬを監視することができる。リクエストラインＲＬが利用可能な場合、センダＳ０−Ｓ３は、リクエスト信号ｒｅｑ０−ｒｅｑ３を送り出すことができる。許可信号ｇｒ０−ｇｒ３が到着する場合、リクエスト信号ｒｅｑを開始したセンダＳ０−Ｓ３は、複数のデータパケットをレシーバＲに送る。しかしながら、制御相互接続を通じた１つのセンダから次のセンダへのリクエスト信号ｒｅｑの送信は、複数のクロックサイクルを要求しうるので、リクエストラインＲＬは、特にコンフリクトの場合には、常に１つのセンダから次のセンダへ送られる。許可信号が受け取られると、それは、リクエストが選択されたセンダに送られる。このような調停制御は、実現するのが簡単である。他方、この調停制御は、公平な調停を構成しない。許可ラインＧＬが高く（データ伝送が行われることができる）、センダがデータ伝送も実施したい場合、レシーバに最も近いセンダは、別のセンダに許可ライン又は許可信号を送らないことがある。しかしながら、（高くなった）許可ラインが送られる場合、他のセンダは、それらがデータ伝送を実施することができると考えることができる。
【００２６】
図４は、第３の実施例による、図３のセンダの制御回路のブロック図を示している。制御回路ＣＣは、調停器ユニットＡＵ、調停器状態フリップフロップＡＳＦ及びいくつかの論理ユニットＬＵ１、ＬＵ２及びＬＵ３を有する。
【００２７】
図４による制御回路は、センダが許可信号ｇｒをバイパスする必要があるか、又はセンダがそれ自体のために許可信号ｇｒを使用することができるかを決定し、トランザクションのデータ伝送を開始するように、設計されることができる。制御回路ＣＣは、第１及び第２のセンダＳ０、Ｓ１からリクエスト及び許可信号ｒｅｑ０、ｇｒ０を受け取り、次の制御回路から許可信号ｇｒを受け取り、リクエスト信号ｒｅｑが、次の制御回路ＣＣに出力される。
【００２８】
第１の論理ユニットＬＵ１は、ＯＲユニットとして実現され、第１及び第２のセンダからリクエストラインｒｅｑ０、ｒｅｑ１を受け取る。第１の論理ユニットＬＵ１の出力は、次のモード又はセンダに、リクエスト信号ｒｅｑとして送られる。第２の論理ユニットＬＵ２は、ＡＮＤユニットとして実現され、次のモード又はセンダからの許可信号ｇｒ及び調停器状態フリップフロップＡＳＦの出力を受け取る。第２の論理ユニットＬＵ２の出力は、第２のセンダＳ１のための許可信号ｇｒ１に対応する。第３の論理ユニットＬＵ３は、ＡＮＤユニットとして実現され、次のセンダからの許可信号ｇｒ及び調停器状態フリップフロップＡＳＦの出力を受け取る。調停器状態フリップフロップＡＳＦの出力は、反転され、第３の論理ユニットＬＵ３の出力は、第１のセンダＳ０の許可信号ｇｒ０に対応する。
【００２９】
第３の実施例によれば、フロー制御は、タイムスロットに基づいて分散制御によって実現される。制御相互接続上の現在センダの前に配置されるセンダからのリクエスト信号ｒｅｑが、任意の干渉を避けるために実際のセンダに到達する場合のみ、センダは、リクエスト信号ｒｅｑを送り出す。従って、各々のセンダは、特定のタイムスロットにおいてのみリクエストｒｅｑを送り出し、すべてのセンダ間でタイムスロットが同期される。
【００３０】
簡単な重み付けされた分散調停が、図４の制御回路に基づいて使用される場合、公平な調停が確実にされることができる。しかしながら、いくつかのカウンタが、センダにおいて、必要なタイムスロットを考慮するために必要とされる。
【００３１】
代替例として、レート制御に基づく分散フロー制御が、実現されることができる。各センダからのリクエスト信号ｒｅｑが、動作レートを与える。
【００３２】
代替例として、ＦＰＧＡ制御が、実現されることができる。リクエスト及び許可ラインＲＬ、ＧＬのいくつかの組が、使用されることができる。センダ間の制御相互接続は、再設定可能でありうる。
【００３３】
図５は、第４の実施例によるレシーバのための制御回路のブロック図を示している。制御回路ＲＣＣは、バッファＢ、制御回路ユニットＣＣＵ及びパケットカウンタＰＣＵを有する。リクエストラインＲＬ及び許可ラインＧＬは、制御回路ユニットＣＣＵに結合される。トランザクションのデータパケットｄｐは、バッファＢによって受け取られることができる。
【００３４】
十分なバッファリングが利用できる場合、具体的には、十分なバッファリングが、センダによって要求される最大データ量を収容するために利用できる場合、レシーバＲは、リクエスト信号ｒｅｑに応じて許可信号ｇｒを送り出す。レシーバ制御回路ＲＣＣは、好適には、レシーバＲの前に配置される。制御回路ユニットＣＣＵは、レシーバ制御回路から送信されたいかなる存在する許可信号ｇｒの状況をも把握する。更に、制御回路ユニットＣＣＵは、バッファＢ内のスペースの状況も把握する。ここで、センダは、制御相互接続ＣＩを介してレシーバＲから許可信号ｇｒを受け取ったのち、利用可能なＴＤＭＡタイムスロット上でスループット保証パケットを送り出すことができる。許可を受信するときにセンダによって送信されることができる最大データ量又は最大パケット数は、予め規定されることができ、レジスタを使用して設定変更可能であってもよく、又はユーザ指定されたパラメータであってもよい。同様に、トランスミッタによって要求されるバッファスペースの量又はパケット数は、あらかじめ規定されることができ、レシーバのレジスタを使用して設定変更可能であってもよく、又は付加の信号を使用してリクエストの一部のパラメータとして供給されてもよい。
【００３５】
代替例として、レシーバが、センダから個々のリクエスト信号を受け取り、十分なスペースが、バッファＢにおいて利用可能な場合、レシーバは、許可信号、及びセンダがデータを送り始めることができる指定されたタイムスロットを送る。この場合、制御回路は、十分なスペースが、バッファにおいて利用可能であるだけでなく、センダからのデータがレシーバに到達することが期待されるときにバッファにおいて十分なスペースが利用できることを、確実にしなければならない。従って、制御回路は、その動作に関する時間的な情報を取り入れる必要がある。
【００３６】
しかしながら、許可信号及び個々のタイムスロットのタイムスロット値を通信するために、付加のワイヤが、必要とされる。更に、レシーバは、タイムスロット上で情報を保持しなければならない。データを伝送するための実際のネットワークに基づく相互接続は、センダがいくつかの可能なタイムスロットにおいて送信することを可能にするために、過剰設計されることができる。
【００３７】
本発明の他の実施例によれば、制御情報及びデータ伝送は、パイプライン化されることができる。センダが、ネットワークに基づく相互接続を通じてデータを伝送している場合、制御回路は、リクエスト信号の次の組の処理から始めることができる。リクエスト信号は更に、待ち時間を隠すために、スループット保証及びベストエフォートパケットに関して投機的に送信されることができる。
【００３８】
更に、画像処理アプリケーションのような計算が、通信ブロックＢＬ１−ＢＬ４の１つの中で始められる場合、この通信ブロックは、指定された時間間隔の後にデータを伝送する必要がありうることが期待されうる。ここで、センダは、データ伝送が、指定された時間間隔内に行われることを推測し／予測することができるとともに、通信ブロックからデータを受け取る前にリクエスト信号ｒｅｑを送り出すことができる。更に、履歴に基づく予測機構が、データ伝送の推測に組み込まれることができる。
【００３９】
図６は、第５の実施例によるチップ上のネットワークのブロック図を示している。ここで、ＩＰブロックＩＰは、ネットワークインタフェースＮＩを介してネットワークＮに結合される。ネットワークＮは、複数のスイッチＳＷを有する。ネットワークインタフェースＮＩは、データ伝送のセンダ及びレシーバの機能を果たすことができる。ここで、２つのレシーバＲ１、Ｒ２が提供される。スイッチＳＷに基づくネットワークに加えて、制御相互接続ＣＩが更に、ワイヤとして実現される。好適には、これら相互接続ワイヤＣＩ１、ＣＩ２は、オンチップネットワークの構造に適応される。
【００４０】
上述のエンドツーエンドのフロー制御は、知られているクレジットに基づくフロー制御スキームとして、より低いバッファリング要求を可能にする。更に、ワイヤリングオーバヘッドが、低減される。これは、許可及びリクエスト信号が、ネットワークインタフェースＮＩのためだけに必要とされ、ネットワークインタフェースＮＩに結合されるセンダ又はレシーバとして機能する個別のＩＰブロックのために必要とされるのではないからである。データ伝送のためのスケーラブルなネットワークに基づく相互接続は、バスに基づく相互接続に関する効率的なフロー制御と組み合わせられる。フロー制御機構は、非常に低い制御ハードウェアオーバヘッドによって分散化されて実現される。データ伝送の待ち時間は、パイプライン化によって及びルックアヘッド機構によって、低減されることができる。
【００４１】
バッファリングの量が低減される一方、データネットワークにアクセスするために必要とされる待ち時間は増加される。必要とされるバッファリングの量は、センダがデータネットワークへのアクセスを得る前に負う待ち時間ペナルティとのトレードオフでありうる。
【００４２】
図７は、第６の実施例によるレシーバを示している。ここで、レシーバは、いくつかのセンダＳ１−Ｓ４からのデータトラフィックの全てについて単一のバッファを有する。レシーバは、ネットワークの動作周波数及びレシーバの動作周波数の間の不整合を考慮するために、また、データネットワークが特にベストエフォートＢＥパケットの場合にデータを送信するための任意の時間を必要としうるので、ネットワークにおけるコンジェスチョンを考慮するために、バッファを有するべきである。このパイプライン化を実現することによって、ハンドシェイク機構により引き起こされる時間遅延が、隠されることができる。スループット保証ＧＴパケットが送信される場合、リクエスト信号ｒｅｑは、センダがデータを送ることが可能なタイムスロットより前に、送信されることができる。
【００４３】
本発明の原理は、ネットワークに基づく通信システムにおいて実現されることができる。通信は、いくつかの回路基板間、電子デバイス内のいくつかのチップ間の通信、すなわちチップツーチップ相互接続、又はシングルチップ上のいくつかの素子間の接続（オンチップネットワーク）でありうる。
【００４４】
上述の実施例は、本発明を説明するものであって制限するものではなく、当業者であれば、請求項の範囲から逸脱することなく多くの代替の実施例を設計することができるであろうことに注意すべきである。請求項において、括弧内にあるいかなる参照符号も、請求項を制限するものとして解釈されるべきではない。「有する、含む」なる語は、請求項に挙げられるもの以外の素子又はステップの存在を除外しない。単数の構成要素は、そのような構成要素の複数の存在を除外しない。いくつかの手段を列挙する装置の請求項において、これらの手段のいくつかは、ハードウェアの同じ一つのアイテムによって具体化されることができる。ある手段が相互に異なる従属請求項に列挙されているという単なる事実は、これらの手段の組み合わせが有利に使用されることができないことを示さない。
【００４５】
更に、請求項内のいかなる参照符号も、請求項の範囲を制限するものとして解釈されるべきではない。
【図面の簡単な説明】
【００４６】
【図１】従来技術による、ネットワークに基づく相互接続のためのレシーバの概略図。
【図２】第１の実施例による、ネットワークに基づく相互接続及びバスに基づく相互接続を有する電子デバイスのブロック図。
【図３】第２の実施例による、バスに基づく制御相互接続を有する電子デバイスのブロック図。
【図４】第３の実施例による、センダにおける制御回路のブロック図。
【図５】第４の実施例による、レシーバにおける制御回路のブロック図。
【図６】第５の実施例による、ネットワーク−オンチップ構造のブロック図。
【図７】第６の実施例によるレシーバを示す図。
【図１】
2009534979.tif 000003
【図２】
2009534979.tif 000004
【図３】
2009534979.tif 000005
【図４】
2009534979.tif 000006
【図５】
2009534979.tif 000007
【図６】
2009534979.tif 000008
【図７】
2009534979.tif 000009
【国際調査報告】
2009534979.tif 000010
2009534979.tif 000011
2009534979.tif 000012