(57)【特許請求の範囲】
【請求項１】
ネットワークと、このネットワークを介して互いに通信するように構成された複数のモジュールとを備え、
前記ネットワークは、第１のモジュールと少なくとも２つの第２のモジュールとの間のトランザクションを確立するように構成され、
前記ネットワークは、前記第１のモジュールからの１つの要求を少なくとも２つの複製された要求に複製するように構成されており、
前記ネットワークは、前記複製された要求を前記第２のモジュールに送るように構成されており、
前記ネットワークは、アドレス空間と、少なくとも１つのマルチキャストアドレスを、所定のアドレス範囲にある少なくとも２つの更なるアドレスにマッピングするための機能とを備えていることを特徴とする集積回路。
【請求項２】
前記１つの要求は、マルチキャスト接続を識別する接続識別子を含んでいることを特徴とする請求項１に記載の集積回路。
【請求項３】
前記１つの要求を前記複製された要求に複製するネットワークインタフェースが設けられ、
前記ネットワークインタフェースは、前記複製された要求を前記第２のモジュールに対して送るように構成されていることを特徴とする請求項１に記載の集積回路。
【請求項４】
ネットワークと、このネットワークを介して互いに通信する複数のモジュールとを備えた集積回路内で要求を送るための方法において、
前記ネットワークは、第１のモジュールと少なくとも２つの第２のモジュールとの間のトランザクションを確立し、
前記ネットワークは、前記第１のモジュールからの１つの要求を少なくとも２つの複製された要求に複製し、
前記ネットワークは、前記複製された要求を前記第２のモジュールに送り、
前記ネットワークは、アドレス空間と、少なくとも１つのマルチキャストアドレスを、所定のアドレス範囲にある少なくとも２つの更なるアドレスにマッピングするための機能とを備えていることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、請求項１の前段部分に記載された集積回路に関する。また、本発明は、請求項７の前段部分に記載された要求を送るための方法に関する。
【背景技術】
【０００２】
要求−応答トランザクションモデルは、集積回路のシステム用の通信モデルとして頻繁に使用される。トランザクションモデルは、モジュール間の通信を行なうために、バスアーキテクチャを使用するシステムにおいて、あるいは、ネットワークアーキテクチャを使用するシステムにおいて設けることができる。そのようなトランザクションモデルを集積回路上のネットワークにおいて使用すると、既存の相互接続、例えばバスとの下位互換性がもたらされる。
【０００３】
トランザクションモデルは要求および応答を使用する。要求は、アドレスまたはバースト長等のパラメータを有するコマンド（例えば、読込み、書込みのコマンド）を含んでおり、要求は随意的にデータ部分を含んでいる。応答は、要求の実行結果を示す承認を伝送し、随意的に、応答はデータ部分を伝送する。
【０００４】
他の通信モデルは、メッセージおよび承認を用いるメッセージ・パッシングモデル（message-passing model）である。そのような承認は、要求の実行以外のメッセージの受理を示している。
【０００５】
集積回路上のネットワークにおいて、第１のモジュール（マスタ、マスタモジュールまたはイニシエータとも称される）は、一般に、アドレス空間にアクセスすることができる。この場合、アドレスは第２のモジュール（スレーブ、スレーブモジュールまたはターゲットとも称される）内の場所を識別する。状況に応じて２つ以上の第２のモジュールを同時にアドレス指定することが必要な場合もある。例えば、これは、２つ以上の第２のモジュールによる要求の実行を同時に開始する必要がありかつその開始がアドレス空間内にマッピングされた開始レジスタへの書き込みによって行なわれる場合において必要とされる。これらの全ての開始レジスタは同時に書き込まれなければならない。他の例としては、データが局所的に処理されるために異なるメモリに複製される場合である。これらの場合、第１のモジュールが要求を複製するとともに、その結果として生じた複数の複製された要求が第２のモジュールに送られる。これは、第１のモジュールが１つのアドレスを使用して複数の第２のモジュールに対して１つの要求を送ることができず、第１のモジュールが要求を複製してその複製された要求を各第２のモジュール毎に異なるアドレスを使用して第２のモジュールに対して送らなければならないという欠点を有している。これにより、第１のモジュールの負担が大きくなる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、第１のモジュールの負担を軽減する上記の種類の集積回路および方法を提供することである。
【課題を解決するための手段】
【０００７】
前記目的を達成するため、集積回路は請求項１の特徴部分によって特徴付けられるとともに、方法は請求項７の特徴部分によって特徴付けられる。
【０００８】
第１のモジュールの負担は、１つの要求を複製して少なくとも２つの複製された要求を形成することができ、かつこれらの複製された要求を第２のモジュールに対して送ることができるネットワークを設けることにより軽減することができる。ネットワークがこれらのタスクを行なうことができれば、第１のモジュールを負担から解放することができる。
【０００９】
一実施形態が請求項２に記載されている。この請求項２において、ネットワークは、少なくとも１つの特定のアドレス（マルチキャストアドレスとも称される）を少なくとも２つの更なるアドレス上にマッピングするための構成を備えている。これにより、第１のモジュールは、要求を複製してこれらの複製された要求を様々なアドレスに送るのではなく、１つの要求を１つのアドレスに送ることが可能となる。
【００１０】
また、１または複数の他のマルチキャストアドレスを１または複数の他のマルチキャストアドレスにマッピングすることもできる。この実施形態は請求項３に記載されている。これには、反復が生じてはならないという制約がつく。
【００１１】
状況に応じて、多数の別個のマルチキャストアドレスを特定するのではなく、マルチキャストアドレスの或る範囲を一度に特定すると都合が良い。請求項４に記載された実施形態は、そのようなマルチキャストアドレスの範囲を規定するための構成を与える。
【００１２】
他の実施形態が請求項５に記載されている。この請求項５においては、第１のモジュールを複製から解放しかつタスクを迅速に行なうために、マルチキャスト接続が設けられる。第１のモジュールは、そのような接続を参照する接続識別子を含む１つの要求を送ることができる。その後、ネットワークは、１つの要求を複製することにより少なくとも２つの複製された要求を形成するとともに、前記接続を介してこれらの複製された要求を第２のモジュールに送る。
【００１３】
１つの要求を複製してその複製された要求を送るために、ネットワーク内の１または複数の専用のノードが使用されても良い。請求項６に記載された実施形態は、１つの要求を複製してその複製された要求を送るためにネットワークインタフェースを含んでいる。
【００１４】
本発明は、ネットワークが第１のモジュールからの１つの要求に応じて１つのマルチキャスト要求を少なくとも２つの第２のモジュールに対して供給することができるため、集積回路上のネットワークにおけるマルチキャストトランザクションの欠点を解消する。
【００１５】
なお、米国特許第２００２／００９３９６４号は、ルータ（データ切換えノード）およびスーパーバイザがデータをやりとりするためのプロトコルについて開示している。ルータは、学習／削除／検索マルチキャストアドレスコマンドを含むコマンドをスーパーバイザに対して送ることができる。スーパーバイザは、ルーティングされるべきマルチキャストパケットに関する情報をルータに供給する。しかしながら、スーパーバイザは実際のマルチキャストを行なわず、ルータはこのマルチキャストを行なわなければならない。前述した種類のマルチキャスティング方法は米国特許第２００２／００９３９６４号に開示されていない。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら本発明について詳細に説明する。
【００１７】
図１は、Ｍ１，Ｍ２，Ｍ３・・・，Ｍｎまで含む複数のモジュール間で通信するためのネットワークを設けた集積回路ＩＣを概略的に示している。モジュールの例は、中央演算処理装置（ＣＰＵ）、特定用途向けプロセッサ、メモリ、メモリコントローラである。ネットワークは、Ｎ１，Ｎ２・・・，ＮＸまで含むノードと、これらのノード間の接続部とを備えている。このネットワークアーキテクチャは、モジュール間の相互接続を形成するとともに、従来の集積回路上のバスアーキテクチャに代わる１つの手段として配置することができる。
【００１８】
図２は、少なくとも２つの複製された要求ＲＥＱ２，ＲＥＱ３・・・，ＲＥＱｎが第１のモジュールＭ１から少なくとも２つの第２のモジュールＭ２，Ｍ３・・・，Ｍｎへと送られるマルチキャスティング方法を示している。第２のモジュールＭ２，Ｍ３・・・，Ｍｎは、応答ＲＥＳＰ２，ＲＥＳＰ３・・・，ＲＥＳＰｎを第１のモジュールＭ１に対して送り戻す。このマルチキャスティング方法の欠点は、第１のモジュールＭ１が１つのアドレスを使用して２つの第２のモジュールＭ２，Ｍ３・・・，Ｍｎに対して要求を送ることができず、第１のモジュールが要求を複製してその複製された要求ＲＥＱ２，ＲＥＱ３・・・，ＲＥＱｎを、各第２のモジュール毎に異なるアドレスを使用して第２のモジュールに対して送らなければならないという点である。これにより、第１のモジュールＭ１の負担が大きくなる。
【００１９】
図３は、アドレスを使用してどのように第２のモジュールＭ２，Ｍ３・・・，Ｍｎをアドレス指定できるかを示している。アドレス空間ＡＤＤＲ ＳＰＣは、０〜ＥＦＦＦの範囲のアドレスを含んでいる。アドレス０〜ＡＦＦＦを含むその第１のサブレンジは第２のモジュールＭ２に関連付けられており、アドレスＢ０００〜ＥＦＦＦを含む第２のサブレンジは第２のモジュールＭ３に関連付けられている。両方の第２のモジュールＭ２，Ｍ３に対して要求を送るために、第１のモジュールＭ１は、要求を複製して、一方の複製された要求を第１のサブレンジ０〜ＡＦＦＦ内の１つのアドレス、例えばアドレス３Ａ９８に対して送るとともに、他方の複製された要求を第２のサブレンジＢ０００〜ＥＦＦＦ内の１つのアドレス、例えばアドレスＣ３５０に対して送らなければならない。
【００２０】
図４は、本発明に係るマルチキャスティング方法を示している。複製された要求を第２のモジュールＭ２，Ｍ３・・・，Ｍｎに対して送るのではなく、第１のモジュールＭ１は、ネットワークによって複製された１つの要求ＳＲＥＱを２つ以上の第２のモジュールに対して分配して送ることができる。これは、例えば第２のモジュールのアドレスを特定するための１または複数の特定のアドレスを使用して実現することができる。マルチキャストアドレスとも称されるそのような特定のアドレスは、アドレス空間内で第２のモジュールＭ２，Ｍ３・・・，Ｍｎのアドレス上にマッピングされる。ネットワークが１つの要求ＳＲＥＱの複製を行なうことにより、第２のモジュールＭ２，Ｍ３・・・，Ｍｎに対して送られる少なくとも２つの複製された要求ＳＲＥＱ２，ＳＲＥＱ３・・・，ＳＲＥＱｎが得られる。この目的のために、ネットワークがネットワークインタフェースを展開しても良く、代替的に、１または複数の専用のノードが使用されても良い。
【００２１】
図５は、１つのマルチキャストアドレスと第２のモジュールＭ２，Ｍ３にそれぞれ関連付けられた２つのアドレスとの間のマッピングを示している。マルチキャストアドレスは、第２のモジュールＭ２，Ｍ３のそれぞれのアドレスの少なくとも一方に関連付けられるように構成されなければならない。これは、ネットワークを構成するブートコードによって行なわれても良く、あるいは、ランタイムで行なわれても良い。この実施例において、アドレス空間ＡＤＤＲ ＳＰＣは、第２のモジュールに直接に関連付けられた０〜ＥＦＦＦのレギュラーアドレス範囲を含んでいる。ネットワーク内に構成されるネットワークインタフェースＮＩは、要求の複製を行なうとともに、複製された要求を第２のモジュールＭ２，Ｍ３に対して送るものとする。
【００２２】
マルチキャストアドレスとも称される特定のアドレスＦ０００は、２つのレギュラーアドレス上、すなわち、第２のモジュールＭ２に関連付けられたサブレンジ０〜ＡＦＦＦ内にあるアドレス３Ａ９８、および、第２のモジュールＭ３に関連付けられたサブレンジＢ０００〜ＥＦＦＦ内にあるアドレスＣ３５０にマッピングされる。そのようなマッピングは、例えばルックアップテーブルを使用することにより或いは論理演算により行なわれても良い。ここで、第１のモジュールＭ１は、１つの要求をマルチキャストアドレスＦ０００に対して送ることができ、その後、この要求は、ネットワークインタフェースＮＩによって複製されて、第２のモジュールＭ２および第２のモジュールＭ３にそれぞれ関連付けられたアドレス３Ａ９８，Ｃ３５０に対して送られる。
【００２３】
なお、マルチキャストアドレスを他のマルチキャストアドレス上にマッピングすることもできるが、第１のマルチキャスト上に次にマッピングされる第２のマルチキャストアドレス上に第１のマルチキャストアドレスがマッピングされるべきではないという意味では反復を避けなければならない。また、マルチキャストアドレスを１つの第２のモジュール内の２つ以上のアドレス上にマッピングすることもできる。
【００２４】
さらに、図６に示されるマルチキャストレンジを規定することができる。第２のモジュールＭ２，Ｍ３に対応する規則的なアドレス上にマッピングされる多数のマルチキャストアドレスを特定する代わりに、マルチキャストアドレスの全体の範囲を１回で特定することができる。この実施例において、マルチキャストアドレスＦ０００＋ｘ（「ｘ」は、０〜３ＦＦの範囲の値をとる変数）の範囲は、アドレス１０００＋ｘ（第２のモジュールＭ２に対応する）およびアドレス３０００＋ｘ（第２のモジュールＭ３に対応する）にマッピングされる。したがって、マルチキャストアドレスＦ０００はアドレス１０００および３０００にマッピングされ、マルチキャストアドレスＦ００１はアドレス１００１および３００１にマッピングされ、マルチキャストアドレスＦ００２はアドレス１００２および３００２にマッピングされる（以下同様に続く）。この範囲の最後にあるマルチキャストアドレスＦ３ＦＦはアドレス１３ＦＦ，３３ＦＦにマッピングされる。このマルチキャストレンジは、１０２４個の別個のマルチキャストアドレスを特定する必要がないという利点を有している。
【００２５】
代替的に、第１のモジュールＭ１の負担を減らすために、図７に示されるマルチキャスト接続を設けることができる。一般に、接続は、例えば保証されたスループット、待ち時間およびジッタ、順序付けられた送出、あるいは、流れ制御等の様々な特性との通信を記述し、識別するために使用される。この場合、接続は、第１のモジュールと第２のモジュールとを識別するため或いは多数の第２のモジュールを識別するために使用される。接続は、第１のモジュールと（単数または複数の）第２のモジュールとの間のトランザクションを可能にするために必要な物理的手段および制御情報を備えている。第１のモジュールと（単数または複数の）第２のモジュールとの間の経路は、ランタイム、構成時間（再構成時間）で決定することができ、および／またはブートコードによって予め決定することができる。必要な制御情報は、接続識別子と１または複数のネットワークインタフェースポート（ＮＩＰ）との間のマッピングを含んでいる。制御情報は、例えばネットワークノード（すなわち、ルータおよびネットワークインタフェース）内に記憶されても良くおよび／またはパケットのヘッダに含まれていても良い。
【００２６】
この実施例において、マルチキャスト接続は、第１のモジュールＭ１から２つの第２のモジュールＭ２，Ｍ３へとセットアップされる。接続は、接続識別子ＣＩＤが１つの要求と共に送られることを必要とする。そのような接続における要求は、その後、接続の全ての第２のモジュールに対して自動的に送ることができる。なお、要求は、第２のモジュールのための内部アドレス、すなわち第２のモジュール内の場所を識別するアドレスとして使用されるが要求を複製して第２のモジュールに対して分配するために使用されないアドレスを依然として伝送する。
【００２７】
接続は、ネットワークの構成段階中にセットアップされる。典型的に、ネットワークは、ブートコードによって構成されるが、ランタイムにおいて構成されても良い。接続識別子ＣＩＤは接続を識別する値を有している。この場合、この値は「０」である。図示の実施例において、接続識別子ＣＩＤの値は、マッピング０→｛ＮＩＰ２，ＮＩＰ３｝によってネットワークインタフェースポートＮＩＰ２およびＮＩＰ３にマッピングされる。ネットワークインタフェースポートＮＩＰ２およびＮＩＰ３は、ネットワークインタフェースＮＩ２およびＮＩ３のそれぞれの一部を形成する。なお、一方のネットワークインタフェースは複数のネットワークインタフェースポートを有していても良く、幾つかのネットワークインタフェースポートが１つのアドレスに関連付けられても良い。また、これらのネットワークインタフェースポートＮＩＰ２およびＮＩＰ３は次に第２のモジュールのアドレスＭ２，Ｍ３に関連付けられる。ここで、接続識別子ＣＩＤを１つの要求と共に送ることができる。ネットワークインタフェースＮＩ１は、要求を複製するとともに、接続を介してこの複製された要求を送ることができる。ネットワークインタフェースポートＮＩＰ２およびＮＩＰ３を介して、第２のモジュールＭ２およびＭ３のアドレスで要求が送出されても良い。
【００２８】
本発明の保護範囲がここで説明した実施形態に限定されないことは言うまでもない。本発明の保護範囲が請求の範囲の参照符号によって限定されるものでもない。用語「備える（含む）」は、請求の範囲に記載された部品以外の部品を排除するものではない。要素に先行する用語「１つの」は、それらの要素が複数あることを排除するものではない。本発明の一部を形成する手段は、専用のハードウェアの形態を成して実施されても良く、あるいは、プログラム化された汎用プロセッサの形態を成して実施されても良い。本発明は、新規な各特徴およびこれらの特徴の組み合わせにある。
【図面の簡単な説明】
【００２９】
【図１】集積回路上のネットワークを示している。
【図２】少なくとも２つの複製された要求が第１のモジュールから少なくとも２つの第２のモジュールに送られるマルチキャスティング方法を示している。
【図３】アドレスを使用して第２のモジュールをアドレス指定する方法を示している。
【図４】本発明に係るマルチキャスティング方法を示している。
【図５】本発明にしたがったマルチキャストアドレスの使用方法を示している。
【図６】マルチキャストレンジを示している。
【図７】本発明に係るマルチキャスト接続を示している。
【図１】
0004446961.tif 000002
【図２】
0004446961.tif 000003
【図３】
0004446961.tif 000004
【図４】
0004446961.tif 000005
【図５】
0004446961.tif 000006
【図６】
0004446961.tif 000007
【図７】
0004446961.tif 000008