(57)【要約】  本発明は、複数の処理モジュールと処理モジュールを接続するよう構成されるネットワークとを有する集積回路であって、前記処理モジュールは、関連する処理モジュールにより供給されるデータを前記ネットワークに送信し、前記ネットワークから前記関連する処理モジュール宛のデータを受信するため設けられる関連するネットワークインタフェースを有し、処理モジュール間のデータ伝送は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき動作し、各ネットワークインタフェースは、特定チャネルへのタイムスロットの割当てを格納するスロットテーブルを有し、同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットの少なくとも一部が、前記チャネルセットのデータの伝送に共有される集積回路に関する。本発明は、上記アイデアを使用して、同一のネットワークインタフェースから到来するチャネルのスロットのすべて若しくは少なくとも一部を共用する。これは、まずこのようなチャネルの遅延を低減する。さらに、すべてのネットワークコンポーネントのスロットテーブルのサイズが劇的に低減される。
2008535435.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理モジュールと処理モジュールを接続するよう構成されるネットワークとを有する集積回路であって、
前記処理モジュールは、関連する処理モジュールにより供給されるデータを前記ネットワークに送信し、前記ネットワークから前記関連する処理モジュール宛のデータを受信するため設けられる関連するネットワークインタフェースを有し、
処理モジュール間のデータ伝送は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき動作し、
各ネットワークインタフェースは、特定チャネルへのタイムスロットの割当てを格納するスロットテーブルを有し、
同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットの少なくとも一部が、前記チャネルセットのデータの伝送に共有される集積回路。
【請求項２】
前記チャネルに割り当てられるすべてのスロットは、共有され、同一のネットワークインタフェースからの前記チャネルセットのデータ伝送について共用される、請求項１記載の集積回路。
【請求項３】
前記ネットワークインタフェースに含まれるスケジューラを有し、
前記スケジューラは、前記共有されるスロットに対して前記チャネルセットのデータをスケジューリングするため設けられる、請求項１又は２記載の集積回路。
【請求項４】
チャネルのデータは、キューにおけるポジションに応じて前記スケジューラによりスケジューリングされる、請求項１乃至３何れか一項記載の集積回路。
【請求項５】
前記チャネルセットのデータのスケジューリングは、前記チャネルセットのキューの充填状態に応じて実行される、請求項１乃至４何れか一項記載の集積回路。
【請求項６】
前記チャネルセットに割り当てられるチャネルのデータは、単一のキューにキュー処理される、請求項１乃至５何れか一項記載の集積回路。
【請求項７】
複数の処理モジュールと該処理モジュールを接続するよう構成されるネットワークとを有する集積回路におけるデータ伝送に対してタイムスロットを割り当てる方法であって、複数のネットワークインタフェースのそれぞれは、前記処理モジュールの１つと前記ネットワークとの間に接続され、
当該方法は、
チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき、処理モジュール間で通信するステップと、
特定チャネルへのタイムスロットの割当てを含むスロットテーブルを各ネットワークインタフェースに格納するステップと、
同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットを共有するステップと、
を有する方法。
【請求項８】
複数の処理モジュールと、該処理モジュールを接続するよう構成されるネットワークとを有するデータ処理システムであって、
各処理モジュールに関連付けされ、該関連付けされた処理モジュールにより供給されるデータを前記ネットワークに送信し、前記関連付けされた処理モジュール宛のデータを前記ネットワークから受信するため設けられるネットワークインタフェースを有し、
処理モジュール間のデータ伝送は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき機能し、
各ネットワークインタフェースは、特定チャネルへのタイムスロットの割当てを格納するスロットテーブルを有し、
同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットの共有が提供されるデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理モジュールを有する集積回路と、処理モジュールを接続するため構成されるネットワークと、当該集積回路におけるタイムスロット割当て方法と、データ処理システムとに関する。
【背景技術】
【０００２】
シリコン上のシステムは、既存の機能の改良と新たな機能を実現するためのさらなる要求の増大によるコンプレクシティの継続的な増大を示している。これは、各コンポーネントが集積回路上に統合可能な密度を向上させることによって可能とされる。同時に、回路が動作するクロックスピードもまた増加傾向である。コンポーネントの増大する密度と共に、より高いクロックスピードは同一のクロックドメイン内で同期的に動作可能なエリアを減少させてきた。これは、モジュラーアプローチの要求を生じさせてきた。このようなアプローチによると、処理システムは、複数の相対的に独立した複雑なモジュールを有する。従来の処理システムでは、モジュールは通常はバスを介し互いに通信する。しかしながら、モジュールの個数が増大するに従って、当該通信方法はもはや以下の理由により実践的でなくなる。多数のモジュールは、高いバスロードを表す。さらに、バスが１つのモジュールしかバスにデータを送信することが可能でないとき、バスは通信ボトルネックを表す。
【０００３】
通信ネットワークは、これらの欠点を解決する有効な方法を形成する。
【０００４】
ネットワーク・オン・チップ（ＮｏＣ）は、高度に複雑なチップにおける相互接続問題に対する解法として、近年大きな注目を受けてきている。その理由は２つある。第１に、ＮｏＣは、グローバルワイヤを構成及び管理するため、新たなディープサブミクロン技術における電気的問題を解消するのに役立つ。同時に、Ｎｏｃコンセプトはワイヤをシェアし、ワイヤ数の減少を可能にし、ワイヤの利用性を向上させる。ＮｏＣはまた、バスと比較してエネルギー効率的であり、信頼性が高く、スケーラブルとすることが可能である。第２に、ＮｏＣはまた、ビリオントランジスタチップの設計を管理するのに必要な通信からの計算を分離する。ＮｏＣは、従来はプロトコルスタックを用いて設計されるため、この分離を実現し、サービス実現から通信サービスの利用を分離する明確に規定されたインタフェースを提供する。
【０００５】
オン・チップインターコネクトとしてネットワークを導入することは、バスやスイッチなどの直接的なインターコネクトと比較したとき、通信を劇的に変化させる。これは、通信モジュールが直接的には接続されていないが、１以上のネットワークノードによりリモートに分離されているネットワークのマルチホップ性によるものである。これは、モジュールが直接接続される一般的な既存のインターコネクト（すなわち、バス）と対照的なものである。この変化の意味するものはアービトレーション（ａｒｂｉｔｒａｔｉｏｎ）（集中から分散に変化しなければならない）と通信の性質（オーダリングやフロー制御など）にあり、それらは、ｉｎｔｅｌｌｅｃｔｕａｌ  ｐｒｏｐｅｒｔｙ（ＩＰ）ブロック又はネットワークによって処理される必要がある。
【０００６】
これらのトピックの大部分は、すでにローカル及びワイドエリアネットワーク（コンピュータネットワーク）の分野において、またパラレルプロセッサネットワークのインターコネクトとして研究対象となってきた。両者はオン・チップネットワークに密接に関連し、これらの分野における多くの結果がまたチップに対して適用可能である。しかしながら、ＮｏＣの前提はオフ・チップネットワークと異なっており、このため、ネットワーク設計選択の大部分は、再評価される必要がある。オン・チップネットワークは、異なる設計選択をもたらし、最終的にはネットワークサービスに影響を与える異なる性質（よりタイトなリンク同期など）及びリソース制約（より高いメモリコストなど）を有する。ストレージ（すなわち、メモリ）及び計算リソースは相対的により効果であり、ポイント・ツー・ポイントリンクの個数はオフ・チップよりオン・チップが大きくなる。ＲＡＭなどの汎用オン・チップメモリは大きな面積を占めるため、ストレージはコスト高となる。相対的に小さなサイズによりネットワークコンポーネントにメモリを分散させることは、メモリのオーバヘッドエリアが有力になるため、さらに悪化する。
【０００７】
ネットワーク・オン・チップ（ＮｏＣ）は、典型的には複数のルータとネットワークインタフェースから構成される。ルータは、ネットワークノードとして機能し、スタティックベースにより（すなわち、経路が予め決定されており、変更しない）、若しくはダイナミックベースにより（すなわち、経路が、ホットスポットを回避するためＮｏＣロードなどに依存して変更可能である）、デスティネーションへの適切なパスを介しデータをルーティングすることによって、ソースネットワークインタフェースからデスティネーションネットワークインタフェースにデータを送信するのに利用される。ルータはまた、時間保証を実現することが可能である（例えば、レートベース、デッドラインベース、又はＴＤＭＡ方式によりパイプライン回路を利用するなどにより）。ＮｏＣの既知の具体例は、ＡＥｔｈｅｒｅａｌである。
【０００８】
ネットワークインタフェースは、任意のタイプのデータ処理ユニット、メモリ、ブリッジ、コンプレッサなどを表すＩＰブロックと呼ばれる処理モジュールに接続される。特に、ネットワークインタフェースは、処理モジュールとネットワークとの間の通信インタフェースを構成する。インタフェースは、通常は既存のバスインタフェースと互換性を有する。従って、ネットワークインタフェースは、データシーケンシャル化（提供されたコマンド、フラグ、アドレス及びデータを固定幅（３２ビットなど）の信号グループに適合させる）及びパケット化（ネットワークにより内部的に要求されるパケットヘッダ及びトレイラを追加する）を処理するよう設計される。ネットワークインタフェースはまた、タイミング保証とアドミッションコントロールを含みうるパケットスケジューリングを実現するかもしれない。
【０００９】
ＮｏＣは、処理モジュール間でデータを伝送するため、処理モジュールに各種サービスを提供する。
【００１０】
ＮｏＣは、ベストエフォート（ＢＥ）又はギャランティースループット（ＧＴ）サービスに従って動作可能である。ベストエフォート（ＢＥ）サービスでは、遅延若しくはスループットに関する保証はない。データは、スロットの予約なしにルータを介し転送される。このため、このタイプのデータはルータにおける接続に直面し、保証を与えることは不可能である。対照的に、ＧＴサービスは、処理モジュール間でデータを伝送するための遅延及びスループットについて正確な値を導くことを可能にする。
【００１１】
オン・チップシステムは、しばしばそれらのインターコネクト通信に対するタイミング保証を要求する。時間に関連する保証（すなわち、スループット、遅延及びジッタ）を提供するコスト効果的方法は、ＴＤＭＡ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）方式によりパイプラインされた回路を使用することであり、それは、タイトな同期を有するシステム・オン・チップ（ＳｏＣ）のレートベース及びデッドラインベーススキームと比較して、より小さなバッファスペースを要するため効果的である。従って、スループット、遅延及びジッタが保証される通信クラスが、グローバルタイム（すなわち、ルータ及びネットワークインタフェースなどのネットワークコンポーネント間の同期性の概念）の概念に基づき保証される。そこでは、基本的な時間単位はスロット又はタイムスロットと呼ばれる。すべてのネットワークコンポーネントは、通常はタイムスロットが各接続について確保されているネットワークコンポーネントの各出力ポートについて等しいサイズのスロットテーブルを有する。
【００１２】
ネットワークのトランスポートレイヤでは、処理モジュール間の通信は接続を介し実行される。１つの接続はチャネルセットとしてみなされ、各チャネルは、第１処理モジュールと少なくとも１つの第２処理モジュールとの間の接続プロパティセットを有する。第１処理モジュールと１つの第２処理モジュールとの間の接続に対して、当該接続は２つのチャネルを有し、すなわち、第１のチャネルは、第１処理モジュールから第２処理モジュールへのものであり、すなわち、リクエスト又はフォワードチャネルであり、第２のチャネルは、第２処理モジュールから第１処理モジュールへのものであり、すなわち、レスポンス又はリバースチャネルである。フォワード又はリクエストチャネルは、マスタからスレーブへのデータ及びメッセージについて確保され、リバース又はレスポンスチャネルは、スレーブからマスタへのデータ及びメッセージについて確保されている。レスポンスが求められていない場合、当該接続は１つのチャネルしか有しなくてもよい。接続が１つのマスタとＮ個のスレーブとを伴うことが、図示されてはいないが可能である。この場合、２＊Ｎ個のチャネルが提供される。従って、接続又はネットワークを介した当該接続のパスは、少なくとも１つのチャネルを有する。すなわち、１つのチャネルしか使用されていない場合、チャネルは接続の接続パスに対応する。上述されるように、２つのチャネルが使用される場合、１つのチャネルはマスタからスレーブなどへの接続パスを提供し、第２チャネルはスレーブからマスタへの接続パスを提供する。従って、典型的な接続について、接続パスは２つのチャネルを有する。接続プロパティは、オーダリング（順番によるデータトランスポート）、フロー制御（リモートバッファが接続に対して確保され、バッファスペースが生成されたデータに対して利用可能であることが保証されるときに限って、データ生成装置はデータを送信することが許可される）、スループット（スループットの下限が保証される）、遅延（遅延の上限が保証される）、損失性（データの欠落）、伝送終了、トランザクション完了、データの正しさ、優先順位又はデータ配信を含むかもしれない。ＮｏＣでは、接続はトップチャネル上に構築される。チャネルは、ネットワークを介したソース（マスタ、イニシエータ）からデスティネーション（スレーブ、ターゲット）への又はその反対方向の一方向のパスである。
【００１３】
ＧＴサービスを実現するため、スロットテーブルが使用される。上述したようなスロットテーブルは、ネットワークインタフェースとルータとを含むネットワークコンポーネントに格納される。スロットテーブルは、ＴＤＭＡ方式により同一のリンク又はワイヤの共有を可能にする。ネットワークに投入されるデータのデータ量は、固定されたサイズのサブパケットであるフリット（ｆｌｉｔ）と呼ばれる。フリットの投入は、ネットワークインタフェースに格納されているスロットテーブルによって調整される。スロットテーブルは、同期を向上させる（すなわち、すべてが同時に同一のスロットにある）。１つのチャネルは、１以上のスロットをスロットテーブル内に割り当てさせるかもしれない。すべてのネットワークコンポーネントのスロットテーブルが充填されるため、ネットワークを介し通信されるフリットは競合しない。チャネルは、各トラフィッククラスを特定するのに使用され、それらとプロパティとを関連付ける。各スロットにおいて、データアイテムは、１つのネットワークコンポーネントから次のネットワークコンポーネントに移され、すなわち、ルータ間若しくはルータとネットワークインタフェースの間で移される。このため、スロットが出力ポートにおいて確保されると、次のスロットが、マスタとスレーブモジュールとの間のパスを介し次の出力ポートなどに確保される必要がある。タイミング保証により複数の処理モジュールの間に複数の接続が設定されると、スロット割当てが、クラッシュがないように実行される必要がある。（すなわち、複数の接続に割り当てられるスロットが存在しない。）スロットは、データが他の何れかのデータと競合する必要がないように、確保される必要がある。それはまた、競合フリールーティングと呼ばれる。
【００１４】
所与のネットワークトポロジー、すなわち、所与の個数のルータとネットワークインタフェースと、処理モジュール間の接続セットとに対する最適なスロット割当てを検出するタスクは、それが網羅的な計算時間を要する最適解を検出することに関するものであるため、計算量の大きな問題である。
【００１５】
処理モジュール間のデータの伝送のための重要な特徴は、遅延である。ネットワーク接続における遅延の一般的な定義は、データパケットがソースからデスティネーションまで移動するのに要する時間としてまとめることができる。さらに、遅延及び帯域幅はネットワークのスピードと容量とを規定する。データへのアクセスに対する遅延は、このようなスロットテーブルのサイズ、テーブルの所与のチャネルに対するスロットの割当て及びバーストサイズに依存する。バーストサイズは、１つのリクエストにおいて要求／送信可能なデータ量である。あるチャネルに割り当てられるスロット数が、バーストデータを転送するのに必要とするスロット数未満であるとき、データに対するアクセス遅延は劇的に増大する。このような場合、スロットテーブルの複数の回転が、バーストデータを完全に送信するのに必要とされる。この接続に割り当てられていないスロットの待機時間がまた遅延に追加される。
【００１６】
ネットワークインタフェースは、チャネル毎のキューを従来は有していた。当該キューにおける待機時間は、トータルの通信遅延に対する大きな要因となることがわかっている。スロット数についてスロットテーブルが大きくなり、チャネルに対して確保されるスロットが少なくなるに従って、待機遅延がより大きくなる。
【００１７】
その他の問題点は、１つの処理モジュールが多数の、すなわち、ｎ個のチャネルを要求するとき、スロットテーブルは各チャネルについて１つとなる少なくともｎ個のスロットを要するということである。しかしながら、これは一般には実践的ではない。なぜなら、より大きなスロットテーブルがより詳細な細かさにより帯域幅を割り当てることを要求する各種チャネルの帯域幅要求が、大きく異なる可能性があるためである。スロットテーブル、ネットワークインタフェース及びネットワークのコストは、スロットテーブルのスロット数に大きく依存する。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
従って、本発明の課題は、ＮｏＣ環境における改良されたスロット割当てを有する構成及び方法を提供することである。
【課題を解決するための手段】
【００１９】
上記課題は、請求項１記載の集積回路と請求項７記載のタイムスロット割当て方法とによって解決される。
【００２０】
同一のネットワークインタフェースにそれらのソースを有する各チャネルのスロットを共有することが提案される。同一のネットワークインタフェースからのチャネルに割り当てられるスロットの少なくとも一部が共有される。従って、すべてのチャネルによって共用可能なスロットプールが形成される。
【００２１】
それらは、遅延を劇的に低減するであろう。特に、少数のスロットしか割り当てられていないチャネルの遅延は低減される。スロットテーブルのスロット数がメモリスペースを共有することによって低減可能であるため、すべてのネットワークコンポーネントの要求が低減される。
【００２２】
本発明の他の特徴及び効果は、従属形式の請求項において規定される。
【００２３】
本発明の好適な実施例では、同一のネットワークインタフェースからのチャネルに割り当てられるすべてのスロットが共有される。これは、共有されたスロットを有するチャネルのデータ伝送の制御を簡単化する。
【００２４】
本発明のさらなる所定の実施例では、ネットワークインタフェースにチャネルスケジューラが含まれ、当該スケジューラはチャネルセットのデータの共有スロットへのスケジューリングのため設けられる。
【００２５】
本発明のさらなる所定の実施例では、チャネルのデータは、キューのポジションに応じてスケジューラによってスケジューリングされる。データ伝送の制御は、チャネルセットに属するデータを１つのみのキューに格納することによって実現可能である。従って、ＦＣＦＳ（Ｆｉｒｓｔ  Ｃｏｍｅ  Ｆｉｒｓｔ  Ｓｅｒｖｅ）ポリシーが実現される。これはさらに、ネットワークインタフェースにおける入力キューに対して要求されるチップ面積を低減する。従来、チャネル毎に１つのキューがあった。本発明によると、共有チャネルのすべてのデータを１つのキューにのみ入力することが効果的である。スケジューラは、キューにおけるそれのポジションに応じてデータをスケジューリングする必要がある。
【００２６】
本発明の好適な実施例では、チャネルセットのデータのスケジューリングは、チャネルセットのキューの充填状態に応じて実行される。各チャネルに対してキューを有する実施例では、スケジューラはチャネルのキューの充填状態をモニタする。エンプティでない第１キューが、転送されるようスケジューリングされる。その後、スケジューラは、このスケジューリングされたキューからキューをモニタし、エンプティでないキューのみがスケジューリングされる。
【００２７】
本発明はまた、複数の処理モジュールと該処理モジュールを接続するよう構成されるネットワークとを有する集積回路におけるデータ伝送に対してタイムスロットを割り当てる方法であって、複数のネットワークインタフェースのそれぞれは、前記処理モジュールの１つと前記ネットワークとの間に接続され、当該方法は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき、処理モジュール間で通信するステップと、特定チャネルへのタイムスロットの割当てを含むスロットテーブルを各ネットワークインタフェースに格納するステップと、同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットを共有するステップとを有する方法に関する。
【００２８】
本発明はさらに、複数の処理モジュールと、該処理モジュールを接続するよう構成されるネットワークとを有するデータ処理システムであって、各処理モジュールに関連付けされ、該関連付けされた処理モジュールにより供給されるデータを前記ネットワークに送信し、前記関連付けされた処理モジュール宛のデータを前記ネットワークから受信するため設けられるネットワークインタフェースを有し、処理モジュール間のデータ伝送は、チャネルを使用することによる競合フリー伝送とタイムスロットを使用した時分割多重アクセスとに基づき機能し、各ネットワークインタフェースは、特定チャネルへのタイムスロットの割当てを格納するスロットテーブルを有し、同一のネットワークインタフェースからのチャネルに割り当てられるタイムスロットの共有が提供されるデータ処理システムに関する。
【００２９】
従って、タイムスロット割当てはまた、マルチチップネットワーク又は複数の集積回路を具えたシステム若しくはネットワークにおいて実行されてもよい。
【００３０】
本発明の好適な実施例が、以下の概略図を参照して実施例により詳細に説明される。
【発明を実施するための最良の形態】
【００３１】
図面は例示のためにだけに与えられ、本発明の実際的な具体例を必ずしも表すものでない。
【００３２】
以下において、本発明の各種実施例が説明される。
【００３３】
本発明は広範なアプリケーションにおいて適用可能であるが、それは特にＡＥｔｈｅｒｅａｌ設計に対するＮｏＣに着目して説明される。本発明を適用するさらなる分野は、各ＮｏＣがタイムスロットとスロットテーブルを利用することによって保証されたサービスを提供するものであってもよい。
【００３４】
以下において、ＮｏＣの一般的なアーキテクチャが図１Ａ、１Ｂ及び図２を参照して説明される。
【００３５】
本実施例は、システム・オン・チップＳｏＣ、すなわち、同一チップ上の複数の処理モジュールＩＰがあるタイプのインターコネクトを介し互いに通信することに関する。インターコネクトは、ネットワーク・オン・チップＮｏＣとして実現される。ＮｏＣは、ネットワーク内のワイヤ、バス、時分割多重化、スイッチ及び／又はルータを含むかもしれない。
【００３６】
図１Ａは、本発明によるＮｏＣを有する集積回路の具体例を示す。システムは、ＩＰブロックと呼ばれる複数の処理モジュールＩＰを有する。処理モジュールＩＰは、インターコネクトモジュールを内部的に含む計算要素、メモリ又はサブシステムとして実現可能である。処理モジュールＩＰはそれぞれ、ネットワークインタフェースＮＩを介しＮｏＣに接続される。ＮｏＣは、各自のリンクＬ１、Ｌ２及びＬ３を介し隣接するルータＲに接続される複数のルータＲを有する。ネットワークインタフェースＮＩは、処理モジュールＩＰとＮｏＣとの間のインタフェースとして使用される。ネットワークインタフェースＮＩは、各処理モジュールＩＰとネットワークＮｏＣの通信を管理するのに提供され、この結果、処理モジュールＩＰはＮｏＣ若しくは他の処理モジュールＩＰとの通信を処理する必要なく、各自の専用の処理を実行することが可能となる。処理モジュールＩＰは、マスタＩＰＭとして機能し、すなわり、リクエストを発行してもよく、又はスレーブとして機能し、すなわち、マスタＩＰＭからリクエストを受信し、当該リクエストを対応して処理するようにしてもよい。
【００３７】
図１Ｂは、１つのチャネルを有する１つの接続と、ＮｏＣにおける各自の基本的なスロット割当てのブロック図を示す。特に、マスタＩＰＭとスレーブＩＰＳとの間のチャネルが示される。この接続パスは、マスタＩＰＭに係るネットワークインタフェースＮＩと、２つのルータと、スレーブＩＰＳに係るネットワークインタフェースとによって実現される。マスタＩＰＭに係るネットワークインタフェースＮＩは、タイムスロット割当てユニットＳＡを有する。あるいは、スレーブＩＰＳに係るネットワークインタフェースＮＩはまた、タイムスロット割当てユニットＳＡを有するようにしてもよい。第１リンクＬ１は、マスタＩＰＭに係るネットワークインタフェースと第１ルータＲとの間に与えられ、第２リンクＬ２は、２つのルータＲの間に与えられ、第３リンクＬ３は、ルータＲとスレーブＩＰＳに係るネットワークインタフェースＮＩとの間に与えられる。各ネットワークコンポーネントＮＩ、Ｒ及びＲの出力ポートのための３つのスロットテーブルＳＴ１〜ＳＴ３がまた示される。これらのスロットテーブルＳＴは、好ましくは、ネットワーク要素ＮＩ、Ｒ及びＲの出力サイド、すなわち、データ生成サイドに実現される。リクエストされた各スロットｓに対して、１つのスロットｓが接続パスを介しリンクの各スロットテーブルＳＴにおいて受付される。これらすべてのスロットｓは、フリーである必要があり、すなわち、他のチャネルにより確保されてはならない。データが１つのネットワークコンポーネントから、スロットｓ＝１から始まる他の各スロットに進むため、接続を介した次のスロットはスロットｓ＝２において、その後スロットｓ＝３において確保される必要がある。タイムスロット割当てユニットＳＡにより実行されるスロット割当て決定に対する入力は、ネットワークコンポーネントとそれらの相互接続などのネットワークトポロジー、スロットテーブルサイズ及び接続セットである。すべての接続に対して、それのパス及び帯域幅、遅延、ジッタ並びに／又はスロット要求が与えられる。これらのチャネルのそれぞれが各パス上で設定され、異なる帯域幅、遅延、ジッタ及び／又はスロット要求を有する各リンクを有するようにしてもよい。時間に関連する保証を提供するため、図１Ｂにおいて示されるように、スロットがリンクに対して確保される必要がある。各スロットは、ＴＤＭＡを用いて異なる接続又はチャネルに対して確保可能である。その後、ある接続に対するデータが、連続するスロットにおける接続を介し連続するリンクを介して転送される。
【００３８】
図２は、競合フリールーティングのためのより詳細な具体例を示す。処理モジュールは、ＩＰＡとＩＰＢの２つしか存在しない。各処理モジュールＩＰＡ及びＩＰＢは、異なるチャネルを使用してデータを送信している。処理モジュールＩＰＡ及びＩＰＢは、２つのルータＲにより表されるＮｏＣに各自のネットワークインタフェースＮＩＡ及びＮＩＢを介し接続される。処理モジュールＩＰＡのチャネルａは、２つのスロット０及び２をスロットテーブルＳＴＡに割り当てている。ＩＰＢのチャネルｂは、１つのスロット１を割り当てている。チャネルａ及びｂのパスは、それぞれ黒抜きと白抜きの矢印によって示される。スロットｓは、フリットがネットワークにおいて競合しないように確保される。これは、矢印の隣に示される数字によって示される。それらは、リンクが確保されるスロットを表す。これは、処理モジュールＩＰＡにより送信されるフリットのパスについて詳細に説明される。スロット０及び２において、ネットワークインタフェースＮＩＡと第１ルータＲとの間のリンクが、チャネルａのフリットに対して確保される。次のステップに対して、２つのルータＲの間のリンクが処理モジュールＩＰＡからのデータについてスロット１及び３の間に確保される。スロット２の間は、当該リンクはチャネルｂについて確保される。スロットテーブルＳＴは、スロットｓをチャネルａ及びｂに割り当てるため４つのポジションしか有しない。スロット２及び０は、右側のルータＲからの出力フリットのチャネルａに対して確保される。右側のルータＲの図示されないスロットテーブルでは、スロット３がチャネル３に対して確保される。これは、スロットテーブルＳＴの何れのポジションもフリットが競合することを許可しないことを示す。しかしながら、この小さな具体例はまた、ＮｏＣにおいてスロットｓをチャネルａ及びｂに割り当てるための困難若しくは労力を示している。
【００３９】
大きな遅延の基礎となる問題が、一例となるネットワークを示す図３を参照して示される。簡単化のため、１つのみのＩＰと関連するネットワークインタフェースとが示される。残りのボックスは、トラフィックを有するルータのみがそれぞれ指定されるＮｏＣのルータＲ１１〜Ｒ４４を表す。処理モジュールＩＰは、４つのチャネルａ、ｂ、ｃ及びｄを必要とする。４×４のメッシュは、ルータＲ１１〜Ｒ４４を含むネットワークＮｏＣを表す。ルータＲ１１〜Ｒ４４の間のリンクは、簡単化のため図示されない。処理モジュールＩＰのネットワークインタフェースＮＩのスロットテーブルＳＴは、４０個のスロットを含む。チャネルａのキューの先頭におけるワーストケースの待機時間は、３９スロットの期間である。各チャネルａ、ｂ、ｃ及びｄは、それぞれリンクの帯域幅容量の１／４０、２／４０、３／４０及び４／４０の帯域幅要求を必要とする。帯域幅割当てはリンク帯域幅の１／４０の粒度により実行されるため、スロットテーブルＳＴは少なくとも４０個のスロットを要する。チャネルａが４０個のチャネルの１つのみを有するとき、ネットワークインタフェースＮＩのチャネルａのキューの先頭におけるフリットのワーストケースの待機時間は、３９スロットの期間となる。フリットがネットワークに投入されると、遅延は、スロットの期間と乗算されたルータネットワークにおけるホップ数となる。大きなＮｏＣに対しては、ホップの最大数は２０となる。これは、小さなスロットテーブルに対して、この小さな具体例のワーストケース待機時間が優勢となることを意味する。各チャネルａ〜ｄの矢印の近傍の数字は、出力ネットワークコンポーネント（ＮＩ若しくはルータ）の各スロットテーブルにおいて確保される必要があるスロットテーブルにおけるスロットポジションを示す。ＮＩとＲ１１との間の各チャネルａ〜ｄへのスロットの割当ては、スロットテーブルＳＴから求めることができる。チャネルｃ及びｄに対して、スロット４〜６及び７〜１０がＲ１１とＲ１２の間に確保される。Ｒ１２とＲ１３との間では、スロット５〜７がチャネルｃに対して確保され、スロット８〜１１がチャネルｄに対して確保される。Ｒ１１とＲ２１との間では、スロット１がチャネルａに対して確保され、スロット２及び３がチャネルｂに対して確保される。
【００４０】
以下において、本発明が図４を参照して説明される。ここで提案される解決法は、同一のＮＩからのチャネルａ〜ｄのセットに対して帯域幅を割り当てることである。各チャネルａ〜ｄに対してスロットを確保する代わりに、チャネルａ〜ｄのセット全体に対していくつかのスロットが確保される。従って、各チャネルａ、ｂ、ｃ又はｄが、スロット０・・・９においてネットワークにアクセスするようにしてもよい。これらのチャネルａ〜ｄのうちの複数チャネルが同一のスロットにアクセスすることを所望するとき、ローカルアービトレーション機構が要求される。以下において、これが説明される。
【００４１】
当該セットに割り当てられた１０個のスロット０〜９は、ここではＳにより示される。１０個のスロットＳは、スロットテーブルＳＴに再分配可能である。良好な再分配は、おそらくスロットの割当てを介しスロットテーブルＳＴにおいて等距離に上記スロットＳを配置する。これは、１０個のスロットＳがスロット０，４，８，．．．，３６に配置されることを意味する。しかしながら、この分配はスロットについてワーストケース待機時間を最小化するだけでなく、１０のファクタによりスロットテーブルのサイズを減少させることを可能にする。これは、参加している各ネットワークコンポーネントＮＩ、Ｒ１１〜Ｒ４４などのそれぞれにおけるスロットテーブルに求められるメモリスペースの強力な低減をもたらす。縮小されたスロットテーブルＳＴは４つのスロットしか有さず、これらのスロット０〜３の１つがチャネルセットに割り当てられる。このため、小さなスロットテーブルの完全な探索は４つのスロットとなり、チャネルセットのスロットが４つのスロット毎に利用可能となり、１０個のスロットが４０個のスロットに良好に分配される具体例と同じになる。ネットワークインタフェースＮＩからのすべてのチャネルは当該チャネルセットに合成されるため、スロットテーブルのスロットの残りが、各ネットワークインタフェースＮＩからのものでないチャネルに対して使用される。
【００４２】
複数のチャネルａ〜ｄがチャネルセットに合成されるとき、データをネットワークにシーケンシャルにスケジューリングするための機構が求められる。そのためには基本的に２つのアプローチがある。しかしながら、複数のチャネルのデータをスケジューリングする機構を説明する前に、図５を参照して、ネットワークインタフェースＮＩの構成が説明される。
【００４３】
図５は、ネットワークインタフェースＮＩの各コンポーネントを示す。しかしながら、ＮＩの送信方向のみが示される。データパケットを受信及びパケット解除する部分は図示されない。ネットワークインタフェースＮＩは、入力キュー４４、リモートスペースレジスタ４６、リクエスト生成装置４５、ルーティング情報レジスタ４７、クレジットカウンタ４９、スロットテーブル５４、スロットスケジューラ５５、ヘッダユニット４８、ヘッダ挿入ユニット５２、パケット長ユニット５１及び出力マルチプレクサ５０を含むフロー制御手段を有する。
【００４４】
ＮＩは、それの入力ポート４２において送信元の処理モジュールＩＰからデータを受信する。ＮＩは、データシーケンスの形式によりルータにそれの出力４３においてパッケージデータを出力する。送信されるデータは、キュー４４に供給される。キュー４４の第１データは、リクエスト生成装置４５によりモニタされる。リクエスト生成装置４５は、データを検出し、リモートスペースレジスタ４６に格納されるような利用可能なリモートスペース及びキュー充填に基づき、リクエストｒｅｑ＿ｉを生成する。キューに対するリクエストｒｅｑ＿ｉは、キューを選択するためスロットスケジューラ５５に与えられる。この選択は、スロットテーブル５４からの情報と、チャネルセットを制御するために使用されるアービトレーション機構の情報とに基づきスロットスケジューラ５５により実行されてもよい。スケジューラ５５は、キューのデータが共有スロットを有するチャネルａ〜ｄに属するか、又は共有されるチャネルセットスロットの一部でないデータに属するか検出する。キューがスケジューラ５５において選択されるとすぐに、それは、パケット長をインクリメントするユニット５１と、ヘッダＨが挿入される必要があるか制御するヘッダ挿入ユニット５２とに与えられる。アドレスなどのルーティング情報が、設定可能なルーティング情報レジスタ４７に格納される。クレジットカウンタ４９は、データが出力キューに使用されるとインクリメントされ、新たなヘッダＨがヘッダＨに含まれるクレジット値と共に送信されるとデクリメントされる。ルーティング情報レジスタ４７からのルーティング情報と、クレジットカウンタ４９の値とが、ヘッダユニット４８に転送され、ヘッダＨの一部を形成する。ヘッダユニット４８は、クレジット値とルーティング情報とを受信し、ヘッダデータを出力マルチプレクサ５０に出力する。出力マルチプレクサ５０は、選択されたキューにより与えられるデータと、ヘッダユニット４８から提供されるヘッダ情報ｈｄｒとを多重化する。データパケットが送出されると、パケット長がリセットされる。
【００４５】
図５に示されるように、リクエスト生成装置は、データがキューの１つに充填されるか検出する。ＩＰからのデータは複数のキューに逆多重化されるが、チャネルセットのすべてのデータを同一キュー４４に維持する。これは、自動的にＦＣＦＳポリシーを実現し、キュー処理コストを大きく低減する。従来のアーキテクチャにおいてデマルチプレクサを制御するのに使用された情報は、ここではデータキューにパラレルに又は同一のキューにキューされる必要があり、キューのワード長を増大させる。この制御情報は、チャネルセットのチャネルＩＤを反映し、チャネルのパスを選択などするため使用される。
【００４６】
さらなる図示されない機構は、スケジューラ５５がＦＣＦＳポリシーを利用可能であるというものとすることが可能である。このポリシーが使用されるとき、ＩＰがそれのデータをＮＩに書き込む順序がキュー処理される。その後、キュー４４の第１要素は、何れのデータキューからデータが到来するかもしれないか示す。ＦＣＦＳポリシーは、チャネルセットが複数のＩＰブロックからのデータから生成されるときに使用することを困難にするビットであるということに留意されたい。
【００４７】
他に、エンプティでないチャネルセットにおいて第１キュー（先に選択されたキューからの最初のもの）を選択するシンプルなラウンドロビン（ＲＲ）スケジューラがあげられる。
【００４８】
本方法の１つの効果は、遅延が大きく低減可能であるということである。与えられた具体例では、スロットのワーストケースの待機時間が１０のファクタにより低減される。また、同一のＮＩからのチャネルグループの最も低い帯域幅とトータルの帯域幅の比が大きくなるに従って、より大きな遅延の減少が可能となる。
【００４９】
他の効果は、セットのすべてのチャネルが同一のソースと同一のデスティネーションとを有することを当該方式は要求しないということである。要求される全ては、チャネルが同一のソースを有するということである。
【００５０】
さらなる他の効果は、当該方式がスロットテーブルのサイズを低減することを可能にするということである。本明細書における具体例は、１０のファクタの低減を示す。さらなる他の効果は、当該方式がネットワークインタフェースのキューの個数を低減することを可能にするということである。この具体例を参照すると、１つのキューが４つのキューの代わりに使用される必要がある。
【００５１】
先の２つの効果は、スロットテーブルとキューのコストがＮＩにおいて優勢であるため、ＮＩのコストを大きく低減する。さらに、実際のネットワークでは、ＮＩのコストが優勢であることがさらに検出された。
【００５２】
唯一の欠点は、チャネルセットがより発散すると、チャネルに対するスロットのより過剰な割当てが要求されるということである。
【００５３】
データストリームの通信が共有メモリを介し実行されるシステムでは、本発明のアプリケーションは大変重要である。これらの方式では、一般に共有メモリ又は複数のメモリから読み書きする処理モジュールが多数存在する。非ブロッキングライト及びブロッキングリードを有する処理モジュール（ＣＰＵ）が典型的である。システムのパフォーマンスは、リードの遅延に大きく依存する。リードリクエストが多数のデータストリームを表すとき、本発明のメモリ又はメモリコントローラからのすべての発生が有用である。メモリからのチャネルが多数あるため、遅延は大きく低減され、スロットテーブルサイズは大きく低減することが可能であり、キューコストは大きく低減することが可能である。
【００５４】
すべてのデータストリームがメモリを行き来するため、過剰割当ては処理モジュールに接近するに従ってより高いものとなる、しかしながら、すべてのストリーミングはメモリを介し行われるため、この過剰割当ては問題とはならない。
【００５５】
本発明が、複数の同期したＴＤＭＡに関して説明されたが、それはまた単一のＴＤＭＡシステムに適用可能である。一般に、それは、接続に基づき、保証を提供するインターコネクト構成に適用可能である。
【００５６】
上記実施例は本発明を限定するものでなく、例示するためのものであり、添付した請求項の範囲から逸脱することなく他の多数の実施例を当業者が設計可能であるということに留意すべきである。請求項において、括弧内の参照符号は請求項を限定するものとして解釈されるべきでない。“有する”という用語は、請求項に列記した以外の要素又はステップの存在を排除するものでない。要素に先行する“ある”という単語は、当該要素が複数存在することを排除するものでない。複数の手段を列記した装置クレームでは、これらの手段のいくつかは同一のハードウェアアイテムにより実現可能である。ある手段が互いに異なる従属クレームにより記載されているという事実は、当該手段の組み合わせが効果的に利用可能でないことを示すものでない。さらに、請求項の参照符号は請求項の範囲を限定するものとして解釈されるべきでない。
【図面の簡単な説明】
【００５７】
【図１Ａ】図１Ａは、本発明によるネットワーク・オン・チップ（ＮｏＣ）の基本構造を示す。
【図１Ｂ】図１Ｂは、ＮｏＣにおけるチャネルの基本的なスロット割当てを示す。
【図２】図２は、競合フリールーティングを示す概略構成を示す。
【図３】図３は、チャネルの従来のスロット割当てが提供されるネットワークの概略図である。
【図４】図４は、本発明によるスロット割当てを示す。
【図５】図５は、本発明によるネットワークインタフェースを示す。
【図１Ａ】
2008535435.tif 000003
【図１Ｂ】
2008535435.tif 000004
【図２】
2008535435.tif 000005
【図３】
2008535435.tif 000006
【図４】
2008535435.tif 000007
【図５】
2008535435.tif 000008
【国際調査報告】
2008535435.tif 000009
2008535435.tif 000010
2008535435.tif 000011