(57)【要約】  複数の処理モジュール（Ｍ、Ｓ）を有する集積回路が提供され、そこでは、少なくとも１つの第１処理モジュール（Ｍ）が、具体的な通信特性及び少なくとも１つの通信サービス識別子に基づいて、少なくとも１つの第２処理モジュール（Ｓ）への少なくとも１つの通信サービスを要求する。さらに、複数の処理モジュール（Ｍ、Ｓ）を結合し、且つ接続特性の組を有する接続ベース通信を可能にするために相互接続手段（Ｎ）が設けられる。少なくとも１つの第１処理モジュール（Ｍ）と相互接続手段（Ｎ）との間の通信を制御するために、少なくとも１つのネットワーク・インターフェース（ＮＩ）が少なくとも１つの第１処理モジュール（Ｍ）に結合される。さらに、具体的な通信特性に基づいて要求された少なくとも１つの通信サービスを、少なくとも１つの通信サービス識別子に従って、接続特性の組に基づく接続にマッピングするマッピング手段（Ａ）が設けられる。
2007529808.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理モジュールであり、少なくとも１つの第１処理モジュールが、具体的な通信特性及び少なくとも１つの通信サービス識別子に基づいて、少なくとも１つの第２処理モジュールへの少なくとも１つの通信サービスを要求するところの複数の処理モジュール、
前記複数の処理モジュールを結合し、且つ接続特性の組を有する接続ベース通信を可能にする相互接続手段、
前記少なくとも１つの第１処理モジュールに結合され、該少なくとも１つの第１処理モジュールと前記相互接続手段との間の通信を制御する少なくとも１つのネットワーク・インターフェース、及び
前記具体的な通信特性に基づいて要求された少なくとも１つの通信サービスを、前記少なくとも１つの通信サービス識別子に従って、接続特性の組に基づく接続にマッピングするマッピング手段、
を有することを特徴とする集積回路。
【請求項２】
請求項１に記載の集積回路であって、
前記マッピング手段が前記少なくとも１つのネットワーク・インターフェース内に配置されていることを特徴とする集積回路。
【請求項３】
請求項１又は２に記載の集積回路であって、
前記通信サービス識別子が少なくとも１つの通信スレッドを有し、
該少なくとも１つの通信スレッドが接続特性の組に基づく少なくとも１つの接続にマッピングされることを特徴とする集積回路。
【請求項４】
請求項１に記載の集積回路であって、
前記通信サービス識別子が前記少なくとも１つの第２処理モジュールの少なくとも１つのアドレス範囲を有し、
該少なくとも１つのアドレス範囲が接続特性の組に基づく少なくとも１つの接続にマッピングされることを特徴とする集積回路。
【請求項５】
請求項３に記載の集積回路であって、
前記通信サービス識別子が前記少なくとも１つの第２処理モジュールの少なくとも１つのアドレス範囲をさらに有し、
該少なくとも１つのアドレス範囲が接続特性の組に基づく少なくとも１つの接続にマッピングされることを特徴とする集積回路。
【請求項６】
複数の処理モジュールであり、少なくとも１つの第１処理モジュールが、具体的な通信特性及び少なくとも１つの通信サービス識別子に基づいて、少なくとも１つの第２処理モジュールへの少なくとも１つの通信サービスを要求するところの複数の処理モジュール、を有する集積回路における通信サービスをマッピングする方法であって：
前記複数の処理モジュールを相互接続手段によって結合し、且つ接続特性の組を有する接続ベース通信を可能にするステップ、
前記少なくとも１つの第１処理モジュールと前記相互接続手段との間の通信を、該少なくとも１つの第１処理モジュールに結合された少なくとも１つのネットワーク・インターフェースによって制御するステップ、及び
前記具体的な通信特性に基づいて要求された少なくとも１つの通信サービスを、前記少なくとも１つの通信サービス識別子に従って、接続特性の組に基づく接続にマッピングするステップ、
を有することを特徴とする方法。
【請求項７】
複数の処理モジュールであり、少なくとも１つの第１処理モジュールが、具体的な通信特性及び少なくとも１つの通信サービス識別子に基づいて、少なくとも１つの第２処理モジュールへの少なくとも１つの通信サービスを要求するところの複数の処理モジュール、
前記複数の処理モジュールを結合し、且つ接続特性の組を有する接続ベース通信を可能にする相互接続手段、
前記少なくとも１つの第１処理モジュールに結合され、該少なくとも１つの第１処理モジュールと前記相互接続手段との間の通信を制御する少なくとも１つのネットワーク・インターフェース、及び
前記具体的な通信特性に基づいて要求された少なくとも１つの通信サービスを、前記少なくとも１つの通信サービス識別子に従って、接続特性の組に基づく接続にマッピングするマッピング手段、
を有することを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理モジュール及びその複数の処理モジュールを結合する相互接続手段を有する集積回路、並びにそのような集積回路における通信サービスマッピング方法に関する。
【背景技術】
【０００２】
システム・オン・シリコンは、新機能の追加と既存機能の向上とに対する増し続ける要求を受け、複雑さを増し続けている。このことは、集積回路上に集積される部品密度を一層高めることによって可能にされている。同時に、回路が動作するクロック速度も高速化する傾向にある。より高いクロック速度は、部品の高密度化と相まって、同一クロック範囲内で同期して動作可能な領域を狭めてきた。このため、モジュール手法の必要性が生じている。このような手法に従って、処理システムは複数の比較的独立で複雑なモジュールを有する。伝統的な処理システムでは、通常、システムモジュールはバスを介して互いに通信する。しかしながら、モジュール数が増加するにつれ、この通信手法は以下の理由によりもはや実用的ではなくなっている。すなわち、一方では、多数のモジュールによってバスに過大な負荷が形成され、他方では、バスは１つの装置のみがバスにデータを送ることを可能にするだけであるので、バスが通信のボトルネックを形成している。
【０００３】
通信ネットワークはこれらの欠点を解決する有効な手法である。ネットワーク・オン・チップ（ＮｏＣ）は、高度に複雑化したチップにおける相互接続問題の解決策として、最近かなりの注目を集めている。その理由は２つの要素から成る。第１に、ＮｏＣは新しいディープサブミクロン技術における電気的問題を解決する助けとなる。なぜなら、ＮｏＣは全体的な配線を構築かつ管理するからである。同時に、ＮｏＣは配線を共有して配線数を削減し、その利用率を高める。ＮｏＣはまた、エネルギー効率が良く、信頼性が高いものとなり得るとともに、バスに比べて拡張性がある。第２に、ＮｏＣは演算処理を通信から分離するが、このことは莫大な数のトランジスタチップの設計を管理することにおいて不可欠なことである。ＮｏＣがこの分離を実現することができるのは、ＮｏＣは伝統的にプロトコルスタックを用いて設計されるが、プロトコルスタックは通信サービスの使用をサービスの遂行から分離する洗練されたインターフェースを提供するものであるためである。
【０００４】
しかしながら、システム・オン・チップ（ＳｏＣ）を設計する際にオンチップ通信用のネットワークを用いる場合、多数の新たな課題が考慮されなければならない。これは、通信モジュールが直接的に接続される既存のオンチップ相互接続（例えば、バス、スイッチ、又はポイントツーポイント配線）と対照的に、ＮｏＣではネットワークノードを介して遠隔で通信するためである。その結果、相互接続の調停（アービトレーション）は集中型から分散型に変わり、順序がバラバラなトランザクション、より長い待ち時間、及びエンドツーエンドのフロー制御のような問題がインテレクチュアル・プロパティ・ブロック（intellectual  property  block；ＩＰ）又はネットワークの何れかによって処理されなければならない。
【０００５】
これらの問題のほとんどは、ローカル及びワイド・エリア・ネットワーク（コンピュータ・ネットワーク）の分野で、また、並列マシン相互接続ネットワークとして、既に研究主題とされてきた。何れもオンチップ・ネットワークと関連しており、それらの分野での結果の多くがチップにも適用可能である。しかしながら、ＮｏＣの前提はオフチップ・ネットワークとは異なっており、故に、ネットワーク設計の選択肢のほとんどが再評価されなければならない。オンチップ・ネットワークは、設計上の異なる選択につながる異なる特性（例えば、より厳しいリンクの同期化）及び制約（例えば、より高いメモリコスト）を有し、それらは最終的にネットワーク・サービスに影響を及ぼす。
【０００６】
ＮｏＣはオフチップ・ネットワークとは主にそれらの制約及び同期化の点で異なる。一般に、資源制約はオンチップの方がオフチップよりも厳しい。記憶装置（すなわち、メモリ）及び演算処理資源が比較的高価であるのに対して、ポイントツーポイント・リンク数はオンチップの方がオフチップより多い。例えばＲＡＭ等の汎用オンチップ・メモリは大面積を占有するので、記憶装置は高価である。メモリを比較的小型のネットワーク要素に分散させることは、メモリの間接領域が支配的になるので、さらに好ましくない。
【０００７】
オンチップ・ネットワークでは、演算処理は確かにオフチップ・ネットワークと比較して高コストになる。オフチップ・ネットワークのインターフェースは通常、ホストプロセッサを通信処理から開放するために、ネットワークレイヤー又はより上位のレイヤーまでのプロトコルスタックを実行する専用プロセッサを有する。専用プロセッサをネットワーク・インターフェースに含めることはチップ上では実用的ではない。なぜなら、ネットワーク・インターフェースの大きさはネットワークに接続されるＩＰと同等以上となるからである。さらに、プロトコルスタックをＩＰ自体で実行することもまた、実用的でない場合がある。なぜなら、これらのＩＰは１つの専用機能のみを有し、ネットワーク・プロトコルスタックを実行するだけの性能がないことが多いからである。
【０００８】
ネットワークの構成要素を接続する配線及びピンの数はオンチップの方がオフチップより１桁多い。それらがＮｏＣ通信以外の目的で大規模に用いられないならば、それらは広域のポイントツーポイント相互接続（例えば、300ビットリンク）を可能にする。このことは、リンクが8から16ビットとかなり狭いものであるオフチップでは不可能である。
【０００９】
ネットワークをオンチップ相互接続として導入することは、例えばバス又はスイッチ等の直接相互接続と比較して、通信を根本的に変えるものである。なぜなら、通信モジュールが直接的に接続されずに、１つ以上のネットワークノードによって分離されているという、ネットワークのマルチホップ性のためである。このことは、モジュールが直接接続される一般的な既存の相互接続（例えば、バス）と対照的である。この変化から予期されることは、アービトレーション（これは集中型から分散型に変えられなければならない）及び通信特性（例えば、順序付け又はフロー制御）に属する。
【００１０】
ネットワーク・オン・チップは、アプリケーションとアーキテクチャの再利用によってシステム設計コストを低減することを目的とした、プラットフォームに基づく設計である。プラットフォームは、テンプレートのアーキテクチャを規定すること及びモデルをプログラムすることによって、アプリケーションとシステム・アーキテクチャとを分離する。すなわち、アプリケーションをアーキテクチャに実装する自由度を制限することによって、アプリケーションとアーキテクチャとの相互依存が集中かつ低減される。しかしながら、アプリケーションが収束されることは、資源の使用法（例えば、通信及び演算処理の型）の多様性と変化性を増すとともに、差異化されたサービスの必要性を増すことになる。
【００１１】
従って、通信インフラは、アプリケーションに依存しない手法で、多様なアプリケーション動作をアプリケーションに応じたＩＰで実装しなければならないため、プラットフォームの重大要素である。しかしながら、プラットフォームの相互接続にＮｏＣを利用することは、異種のＩＰを標準手法で集積することにより、双方の問題を解決する助けとなる。換言すれば、ＮｏＣサービスはプラットフォームを十分に規定し、プラットフォームは当然に（部分的にアプリケーションに応じた）プロトコルスタックを用いて差異化されたサービスを提供する。
【００１２】
さらに、多くのローカルの、場合により自立した要素を効果的かつ適応性ある手法で結合し、制御することが望ましい。しかしながら、接続されるＩＰブロック又はモジュールは、最新のオンチップ通信プロトコル（例えば、デバイス・トランザクション・レベルＤＴＬ、オープン・コア・プロトコルＯＣＰ及びＡＸＩプロトコル）によって動作するので、ネットワーク・オン・チップに組み込まれなければならない。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、標準的な処理モジュールのネットワーク・オン・チップへの集積化が改善された集積回路及び通信サービスマッピング方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題に鑑み、複数の処理モジュールを有する集積回路が提供され、そこでは、少なくとも１つの第１処理モジュールが、具体的な通信特性及び少なくとも１つの通信サービス識別子に基づいて、少なくとも１つの第２処理モジュールへの少なくとも１つの通信サービスを要求する。さらに、前記複数の処理モジュールを結合し、且つ接続特性の組を有する接続ベース通信を可能にするために相互接続手段が設けられる。前記少なくとも１つの第１処理モジュールと前記相互接続手段との間の通信を制御するために、少なくとも１つのネットワーク・インターフェースが該少なくとも１つの第１処理モジュールに結合される。さらに、前記少なくとも１つのネットワーク・インターフェースは、具体的な通信特性に基づいて要求された少なくとも１つの通信サービスを、少なくとも１つの通信サービス識別子に従って、接続特性の組に基づく接続にマッピングするマッピング手段を有する。
【００１５】
従って、処理モジュールのネットワーク・オン・チップへの途切れのない集積化が実現される。
【００１６】
本発明の一態様に従って、前記マッピング手段は前記少なくとも１つのネットワーク・インターフェース内に配置され、その結果、処理モジュールはサービスマッピングを処理する必要なく、その専用動作を継続することができる。
【００１７】
本発明の一態様に従って、前記通信サービス識別子は少なくとも１つの通信スレッドを有し、該少なくとも１つの通信スレッドは接続特性の組に基づく少なくとも１つの接続にマッピングされる。
【００１８】
本発明の他の一態様に従って、前記通信サービス識別子は前記少なくとも１つの第２処理モジュールの少なくとも１つのアドレス範囲を有し、該少なくとも１つのアドレス範囲は接続特性の組に基づく少なくとも１つの接続にマッピングされる。
【００１９】
また、本発明は、複数の処理モジュールであり、少なくとも１つの第１処理モジュールが、具体的な通信特性及び少なくとも１つの通信サービス識別子に基づいて、少なくとも１つの第２処理モジュールへの少なくとも１つの通信サービスを要求するところの複数の処理モジュール、を有する集積回路における通信マッピング方法に関する。前記複数の処理モジュールは相互接続手段によって結合され、且つ接続特性の組を有する接続ベース通信を可能にする。前記少なくとも１つの第１処理モジュールと前記相互接続手段との間の通信が、該少なくとも１つの第１処理モジュールに結合された少なくとも１つのネットワーク・インターフェースによって制御される。前記具体的な通信特性に基づいて要求された少なくとも１つの通信サービスは、前記少なくとも１つの通信サービス識別子に従って、接続特性の組に基づく接続にマッピングされる。
【００２０】
また、複数の処理モジュールを有するデータ処理システムが提供され、そこでは、少なくとも１つの第１処理モジュールが、具体的な通信特性及び少なくとも１つの通信サービス識別子に基づいて、少なくとも１つの第２処理モジュールへの少なくとも１つの通信サービスを要求する。さらに、前記複数の処理モジュールを結合し、且つ接続特性の組を有する接続ベース通信を可能にするために相互接続手段が設けられる。前記少なくとも１つの第１処理モジュールと前記相互接続手段との間の通信を制御するために、少なくとも１つのネットワーク・インターフェースが該少なくとも１つの第１処理モジュールに結合される。さらに、前記少なくとも１つのネットワーク・インターフェースは、具体的な通信特性に基づいて要求された少なくとも１つの通信サービスを、少なくとも１つの通信サービス識別子に従って、接続特性の組に基づく接続にマッピングするマッピング手段を有する。
【００２１】
故に、マッピングは、幾つかの別個の集積回路を備えるシステムにて実施されてもよい。
【００２２】
本発明は、例えばＤＴＬ、ＭＴＬ、ＡＸＩ及びＯＣＰ等のプロトコルに対して、これらプロトコルの識別手段を接続にマッピングすることによって、差異化されたサービスを提供するという考えに基づく。既存プロトコルにおける識別手段は通信スレッド及びアドレスである。すなわち、スレッド又はアドレスが、具体的な接続特性に基づく相互接続を介して接続にマッピングされる。
【発明を実施するための最良の形態】
【００２３】
以下の実施形態はシステム・オン・チップ、すなわち、同一チップ上の複数モジュール（例えば、システム・イン・パッケージ、マルチ・ダイ・モジュールを含む）又は異なるチップ上の複数モジュールが或る種の相互接続を介して互いに通信するものに関する。相互接続はネットワーク・オン・チップＮｏＣとして具体化され、先述の全てのモジュール間の通信を可能にする。ネットワーク・オン・チップはネットワーク内に配線、バス、時分割多重化、スイッチ、及び／又はルータを有し得る。ネットワークの伝送レイヤーにおいて、モジュール間の通信が接続上で実行される。接続は、第１のモジュールと少なくとも１つの第２のモジュールとの間の、各々が１組の接続特性を有する１組のチャネルと見なされる。第１のモジュールと単一の第２のモジュールとの間の接続では、接続は少なくとも１つのチャネル、すなわち、第１のモジュールから第２のモジュールへのチャネルである要求チャネルと、第２のモジュールから第１のモジュールへの随意的なチャネルである応答チャネルを有する。要求チャネルは第１から第２のモジュールへのデータ及びメッセージのために確保され、一方、応答チャネルは第２から第１のモジュールへのデータ及びメッセージのために確保される。しかしながら、接続が１つの第１のモジュールとN個の第２のモジュールを含む場合には、2N個のチャネルが設けられ得る。接続特性には、順序付け（順々のデータ伝送）、フロー制御（遠隔バッファが接続のために確保されるとともに、生成されたデータのために空間が利用可能であることが保証されるときに限ってデータ生成器がデータを送ることが可能にされる）、処理能力（処理能力の下限が保証される）、待ち時間（待ち時間の上限が保証される）、損失性（lossiness）（データの劣化）、伝送ターミネーション、トランザクションの完全性、データの正確性、優先度、又はデータ配送が含まれ得る。
【００２４】
図１は第１実施形態に従ったネットワーク・オン・チップを示している。具体的には、各々が関連付けられたネットワーク・インターフェースＮＩを備える２つのマスターモジュールＭ及び１つのスレーブモジュールＳが図示されている。ネットワーク・インターフェースと、それが関連付けられたマスターＭ及びスレーブＳとの間に、それぞれ、アダプタ・ユニットＡが配置されている。ここで、アダプタ・ユニットＡはネットワーク・インターフェース内に配置されてもよい。各モジュールＭ、Ｓは、それぞれ、その関連ネットワーク・インターフェースＮＩを介してネットワークＮに接続されている。すなわち、ネットワーク・インターフェースＮＩはマスター及びスレーブモジュールＭ、ＳとネットワークＮとの間のインターフェースとして用いられる。ネットワーク・インターフェースＮＩは、モジュールがネットワーク又は他のモジュールとの通信を処理する必要なくその専用動作を実行可能なように、それぞれのモジュールＭ、ＳとネットワークＮとの間の通信を管理するために設けられる。ここでは、２つのマスターはＣＰＵ及びＩＰブロックとして実装されており、スレーブはメモリとして実装されている。
【００２５】
ネットワークＮは複数の相互接続されたネットワークルータＲを有する。ルータＲはそれらの間（ルータ間の複数リンクも同様に可能）、及びネットワーク・インターフェースと無作為に接続され得る（すなわち、接続形態には制約がない）。ルータＲは、一方のネットワーク・インターフェースＮＩから他方へとデータのパケットを伝送する。このようなパケットは１つ又は複数のフリットから成る。ここで、フリットとは最小伝送単位である。
【００２６】
以下述べられるようにモジュールは、ネットワーク・インターフェースＮＩでネットワークと相互作用する所謂ＩＰブロック（演算処理素子、メモリ、又は内部に相互接続モジュールを含むサブシステム）とし得る。ネットワーク・インターフェースＮＩは１つ以上のＩＰブロックに接続され得る。同様に、ＩＰは１より多いネットワーク・インターフェースに接続され得る。
【００２７】
ネットワーク・オン・チップは接続に基づいて差異化されたサービスを提供する。接続は１つのマスターと１つ以上のスレーブとの間の通信を、例えば先入れ先出し（fifo）トランザクション順序付け、及び最大待ち時間等の関連したサービスレベルで表す。接続は要求されるサービスレベルを提示しながら生成されなければならない。接続要求は許可されるか拒否されるかの何れかである。接続許可はネットワーク内の資源、例えばバッファ又はリンクの帯域幅の割当て、を確保することにつながる。使用後、接続は閉じられ、これらの資源は解放される。場合によって別々の時点に、種々の接続が独立して生成され、そして閉じられる。その設定はコンパイル時間（すなわち、オフライン）、又は実行時間で計算され得る。
【００２８】
マスターモジュールＭは通信サービスを要求する。すなわち、要求がスレーブモジュールＳに発信される。この要求はコマンドとともにデータを有してもよい。スレーブＳは要求を受信し、受信コマンドに基づいてぞれぞれの処理を実行し、応答を返す。応答は場合によりデータを伴う。アダプタ・ユニットＡはＩＰモジュール及びその通信プロトコルをネットワーク・インターフェースに接続する働き、従って、ネットワークＮに接続する働きをする。換言すれば、アダプタ・ユニットＡは要求された通信サービスをメッセージmsgに翻訳し、そのメッセージmsgがネットワーク・インターフェースＮＩにより処理され、ネットワークＮ上で伝送されるのに適したフリットに翻訳される。具体的には、アダプタ・ユニットＡはこれらのプロトコルの識別手段を接続にマッピングする。既存プロトコルの識別手段は通信スレッド及びアドレスである。すなわち、具体的な接続特性に基づいて、スレッド又はアドレスが相互接続を介して接続にマッピングされる。
【００２９】
いったん接続が生成されると、マスターは要求によってトランザクションを初期化し、それをゼロ個以上のスレーブが実行し、場合により応答を導き出す。トランザクションの例には、読み出し、書き込み、認知書き込み、テスト、設定及び一括消去がある。これらのトランザクションを与えることにより、トランザクションの型式が既存のバスのプロトコルと似たものとなり、現行のＮｏＣ相互接続からのＩＰの移植が容易になる。また一方、改善されたＮｏＣ性能を完全に利用可能にするために、トランザクションはまたパイプライン化され、分離され、そして送られる。
【００３０】
接続は以下のサービス、又は接続特性を有してもよい：１）データの整合性、２）トランザクションの順序付け、３）トランザクションの完全性、４）接続フロー制御、並びに５）接続処理能力、待ち時間及びジッター。接続はこれらの特性の如何なる組み合わせ（例えば、処理能力保証、フロー制御、トランザクション順序付けなし）をも要求することができる。
【００３１】
接続は、１つ又は複数の回路が接続のために構成される時分割多重化回路交換手法に基づいてもよい。これは、全てのルータとＮＩが同一の時間枠（slot）にあるという同時発生の論理概念を必要とする。連続したルータ／ＮＩに連続した時間枠を用意することによって回路が作成される。従って、もし回路がルータＲからルータＲ’に設定され、且つ時間枠sがルータＲに用意されるとすると、ルータR’に時間枠s+1が用意されなければならないという意味で、回路はパイプライン化される。これらの回路では、１つの時間枠で受信されたデータが次の時間枠で次のルータ／ＮＩに転送されることになる。
【００３２】
ネットワーク・インターフェースＮＩはパケット化／デパケット化、接続及びサービスを実行すること、及び標準インターフェース（例えば、ＡＸＩ又はＯＣＰ）をＮｏＣに接続されたＩＰモジュールに提供することに関与する。特に、ネットワーク・インターフェースＮＩは、既存のＩＰモジュールをＮｏＣに途切れなく接続するために、例えばＡＸＩ、ＯＣＰ及びＤＴＬ等の既存のオンチップ・プロトコルにアダプタ・ユニットＡを実装してもよい。また、これらのアダプタ・ユニットＡは、ＩＰブロックとそれに付随するネットワーク・インターフェースとの間に配置されてもよい。
【００３３】
図２Ａ及び２Ｂは、それぞれ、マスター及びスレーブに結合された図１のアダプタ・ユニットのブロック図を示している。これらのアダプタ・ユニットＡは、例えばＡＸＩ等の（簡略版の）通信プロトコルを実装することによってＩＰブロックの通信サービスをネットワーク・オン・チップ環境にマッピングするシェルと見なされてもよい。あるいは、（簡略版の）例えばＯＣＰ、ＤＴＬ又はＭＴＬ等の他の如何なる通信プロトコルが実装されてもよい。シェルＡはシーケンシャル化ユニットseq及び反シーケンシャル化ユニットdeseqをそれぞれ有する。図２Aに示されるようにマスターに結合された上記シェルの基本動作は、コマンドcmd及びそれらのフラグflag、アドレスadr、並びに書き込みデータwr_dateを要求メッセージmsg内にシーケンシャル化し、メッセージmsgを読み出しデータrd_data及び書き込み応答wr_respに反シーケンシャル化することである。図２Ｂに示されるようにスレーブに結合されたシェルの基本動作は、図２Ａに従ったシェルの動作を逆にしたものである。
【００３４】
図３は、第２実施形態に従ったネットワーク・インターフェースＮＩのブロック図を示している。第２実施形態に従ったネットワーク・インターフェースＮＩは図１のネットワーク・オン・チップで用いられてもよい。この実施形態では、アダプタ・ユニット、すなわち、シェルはネットワーク・インターフェースＮＩの部分として実装されている。ネットワーク・インターフェースＮＩは、ネットワークＮのパケットベース通信を図１のＩＰモジュールが使用する上位レベルのプロトコル（ＡＨＢ、ＤＴＬ、ＭＴＬ）へと変換する。
【００３５】
具体的には、ネットワーク・インターフェースは、ネットワーク・インターフェースの中心部（カーネル）NI-K、２つのアダプタ・ユニットAXI-A及びDTL-A、マルチキャスト・ユニットMC、並びにナローキャスト・ユニットNCを有する。ネットワーク・インターフェースの動作は２つの部分、すなわち、ネットワーク・インターフェース・カーネルNI-Kと、ネットワーク・インターフェース・シェルすなわちアダプタ・ユニットとに分離される。ネットワーク・インターフェース・カーネルNI-Kはメッセージをパケット化しそれらをルータにスケジュール化するとともに、エンドツーエンドのフロー制御、及びクロック領域クロッシングを実行する。また、ネットワーク・インターフェース・シェルすなわちアダプタ・ユニットは、接続（例えば、ナローキャスト、マルチキャスト）、トランザクション符号化、及びＩＰブロックに提供されたプロトコルに特有の他の上位レベルの問題を実行する。故に、ネットワーク・インターフェースＮＩは４つのネットワーク・インターフェース部分NIP、すなわち、２つのDTLポート及び２つのAXIポートを有する。全てのポートNIPは、ＤＴＬ及びＡＸＩ通信プロトコル（図３に図示せず）に基づく関連ＩＰブロックへのピアツーピア接続を提供する。
【００３６】
ピアツーピア接続（すなわち、１つのマスター及び１つのスレーブ間）はＮＩカーネルを用いて直接サポートされ得る。これらの形式の接続は、互いにピアツーピア通信する連鎖モジュール群を含むシステム（例えば、ビデオ画素処理）で有用である。
【００３７】
他のプロトコルへの変換を提供するため、シェルがＮＩカーネルの周辺に設けられる。これらのシェルは特定機能を付加するが、それぞれの要求に従って設計時に組み込まれたり取り外されたりすることができる。
【００３８】
換言すれば、ネットワーク・オン・チップは上位レベルのサービスを提供する。例えば、トランザクションの順序付け、処理能力と待ち時間の保証、及びネットワークを貫く接続に基づくエンドツーエンドのフロー制御等である。処理能力／待ち時間の保証はパイプライン化された時分割多重化回路交換を用いて実行される。ネットワーク・インターフェースは、カーネルとシェルから成るモジュラー設計を有する。ＮＩカーネルは基本機能を提供する。基本機能には、接続間のアービトレーション、順序付け、エンドツーエンドのフロー制御、パケット化、及びルータとのリンクプロトコルが含まれる。シェルは追加機能を実行する。例えば、マルチキャスト及びナローキャスト接続、並びに例えばＡＸＩ又はＤＴＬ等の既存プロトコルとのアダプタである。これら全てのシェルは、面積コストを最適化する必要性に従って、インスタンス化時に組み込まれたり取り外されたりすることができる。
【００３９】
以下、通信スレッドを介したＩＰブロック通信でのアダプタ・ユニットＡ、すなわち、シェルの動作をより詳細に説明する。通信スレッドは接続に直接的に、すなわち、１つのスレッドが１つの接続にマッピングされ得る。特定の通信パラメータに基づく通信のトラフィック・クラスを確認するために通信スレッドが用いられる場合、そのようなスレッド及び関連するトラフィック・クラスは特定の対応する接続特性に基づいて接続にマッピングされ得る。
【００４０】
上記を例示するため、２つのトラフィック・クラス、すなわち、高速メモリへの一方と低速メモリへの他方、を確認する２つの通信スレッドを考える。高速トラフィック・クラスを確認するスレッドは高帯域を保証するように構成された接続にマッピングされ得る。一方、低速トラフィック・クラスは低い保証帯域を有する接続にマッピングされ得る。加えて、さらなる特性が特定されることが可能であり、例えば、受信データの如何なるバーストをも消費するに十分な速さのネットワーク・オン・チップにメモリが存在する場合、データ生成器とメモリとの間の書き込みのエンドツーエンドのフロー制御が不要な場合がある。しかしながら、ネットワーク・オン・チップ内の低速メモリの場合には、データの消費が遅いことによるデータ喪失を防止するため、エンドツーエンドのフロー制御は必要とされ得る。
【００４１】
さらに、複数の通信スレッドが単一の接続に代わる代わるマッピングされてもよい。これは、複数の通信スレッドにわたって資源を共有することにより資源をより効率的に利用できるとともに、異なるものの関連するトラフィックが同期化されるので有利な場合がある。従って、幾つかの通信スレッドでの通信が単一セットの特性に関連付けられ得る。例えば、複数のデータストリームが同一の宛先に送信され、しかも、それら全てが保証された処理能力を必要とするとき、それらのデータストリームは総計で保証された処理能力を提供する単一の接続にマッピングされることができる。
【００４２】
図４は、アドレス範囲によるＩＰブロック通信の接続へのマッピング動作を例示する、ネットワーク・オン・チップの基本ブロック図である。ネットワーク・オン・チップはマスターＭ及び２つのスレーブＳ１、Ｓ２を有し、各々のスレーブはそれぞれネットワーク・インターフェースＮＩを介してネットワークに接続されている。２つのスレーブＳ１、Ｓ２はメモリとして実装されており、第１のスレーブＳ１はアドレス範囲0000-7FFFを有し、第２のスレーブＳ２はアドレス範囲8000-FFFFを有する。従って、マスターＭに結合されたネットワーク・インターフェースＮＩは、第１のスレーブＳ１への通信、すなわち、アドレス範囲0000-7FFFへの通信を接続IDがcid=0の接続へ、そして、第２のスレーブＳ２への通信、すなわち、アドレス範囲8000-FFFFへの通信を接続IDがcid=1の接続へとマッピングする。
【００４３】
故に、通信スレッドが存在しないプロトコル（例えば、ＤＴＬ、ＭＴＬ）では、アドレス範囲が特定の接続にマッピングされ得る。アドレス範囲は１つ又は複数のスレーブモジュール、又はスレーブモジュール内のメモリ領域、例えば特定の通信に用いられるバッファ、を特定することが可能になる。
【００４４】
上述のアドレス範囲の接続へのマッピングは、例えば、エクリプス（Eclipse）シェルにも適用可能である。ここでは、モジュール間のデータのストリームがメモリバッファにマッピングされる。作成者モジュールと消費者モジュールは識別子を用いたシェルを介してストリームを読み書きする。アドレス生成及び同期化がシェルで実行される。データの各ストリームはメモリ内の所定のバッファ、故に、シェル内で関連付けられた所定のアドレス範囲を有する。その結果、シェルにより生成されたアドレスに基づいて、ネットワーク・インターフェースは各ストリームを特定し、それを正当な接続特性を有する接続にマッピングする。
【００４５】
アドレスの接続へのマッピングは同様にスレッドに基づくシステムでも可能である。アドレス範囲は接続にマッピングされ、接続内のトラフィックの順序付けにスレッド識別子が用いられる。
【００４６】
上述のＩＰブロック通信はデバイス・トランザクション・レベル（ＤＴＬ）プロトコル規格、ＭＴＬプロトコル規格、ＡＭＢＡ  ＡＸＩプロトコル規格、ＯＣＰインターナショナル・パートナーシップ、オープン・コア・プロトコル規格等のような既存のプロトコルによって実施されてもよい。
【００４７】
簡単に言うと、上述のマッピングは、接続の概念を含まないが相互接続支援の接続とともに実装される通信規格に関連する（例えば、イーサリアル（Ethereal）ネットワーク・オン・チップ）ということができる。これは、接続の概念なくプロトコルの接続を使用することを可能にし、異なるトラフィック・クラスに対する差異化されたサービスの設定を可能にする点で有利である。例えばＤＴＬ、ＡＸＩ及びＯＣＰ等の既存のプロトコルが、オンチップ・ネットワーク等の接続ベースの相互接続によって提供される差異化サービスを利用することを可能にするアダプタ・ユニット／シェルを用いて、オンチップ・ネットワークの下位互換性が実現される。
【００４８】
故に、システムは、宛先のアドレスを特定する幾つかの識別手段を少なくとも有する通信装置を介して通信する複数の要素を有するように設けられてもよく、また、さらにスレッド情報を有してもよい。加えて、システムはアドレス範囲又はスレッド情報を接続データにマッピングするマッピング装置を有する。接続データはデータ伝送のための仕様、例えば、最善の処理能力若しくは保証処理能力、最大許容ジッター、最大許容待ち時間、フロー制御Y/N、又は順序付けY/N等、を有する。メッセージがシステムの特定のアドレス範囲に送られるとき、又は特定のスレッドに属するとき、メッセージが特定の伝送要求セットによって伝送されることを確保するように接続が割り当てられる。
【００４９】
上述の実施形態は本発明を例示するものであり、本発明を限定するものではない。また、当業者によって、添付の特許請求の範囲の範囲を逸脱することなく、多数の代替実施形態が設計され得るものである。請求項において、用語“有する”は列挙された要素若しくはステップ以外の要素若しくはステップの存在を排除するものではない。要素の前に置かれた用語“或る”はその要素が複数存在することを排除するものではない。幾つかの手段を列挙するデバイスの請求項において、これらの手段の幾つかは１つ且つ同一のハードウェア品目によって具体化され得るものである。ある特定の手段が相互に異なる従属項に挙げられているという単なる事実は、これらの手段の組み合わせが効果的に用いられ得ないことを指し示すものではない。
【図面の簡単な説明】
【００５０】
【図１】本発明の第１実施形態に従ったネットワーク・オン・チップを示す基本ブロック図である。
【図２Ａ】マスターに結合された図１のアダプタを示す基本ブロック図である。
【図２Ｂ】スレーブに結合された図１のアダプタを示す基本ブロック図である。
【図３】図１のネットワーク・インターフェースを示す基本ブロック図である。
【図４】他の実施形態に従ったネットワーク・オン・チップを示す基本ブロック図である。
【図１】
2007529808.tif 000003
【図２Ａ】
2007529808.tif 000004
【図２Ｂ】
2007529808.tif 000005
【図３】
2007529808.tif 000006
【図４】
2007529808.tif 000007
【国際調査報告】
2007529808.tif 000008
2007529808.tif 000009