(57)【要約】【課題】データを円滑に転送することができ、システムの性能を向上させることができる。【解決手段】複数のＡＸＩ ＩＰから転送されたデータを目的地ＡＸＩ ＩＰに応じて分類するＮｏＣルータと、ＮｏＣルータからのデータを処理して目的地ＩＰに提供するＮＩを有するＮｏＣシステム及びそのインターリーブ方法に関し、ＮｏＣルータとＮＩのうち一方には、各ＡＸＩ ＩＰから提供されたデータがＡＸＩ ＩＰに応じて分類され格納される複数のバッファと、目的地ＡＸＩ ＩＰで収容可能なインターリーブデータの個数であるインターリーブ収容能力に応じて、複数のバッファのうちデータが取出されるバッファを選択するインターリーブマネージャーが設置される。【選択図】図２
2007115252.tif 000002
【特許請求の範囲】
【請求項１】
複数のＡＸＩ ＩＰから転送されたデータを目的地ＡＸＩ ＩＰに応じて分類するＮｏＣルータと、前記ＮｏＣルータからのデータを処理して目的地ＩＰに提供するＮＩを有するＮｏＣシステムにおいて、
前記ＮｏＣルータと前記ＮＩのうち一方には、
前記各ＡＸＩ ＩＰから提供されたデータがＡＸＩ ＩＰに応じて分類され格納される複数のバッファと、
前記目的地ＡＸＩ ＩＰで収容可能なインターリーブデータの個数であるインターリーブ収容能力に応じて、前記複数のバッファのうちデータが取出されるバッファを選択するインターリーブマネージャーと、
を含むことを特徴とするＡＸＩを適用したＮｏＣシステム。
【請求項２】
前記インターリーブマネージャーは、前記目的地ＡＸＩ ＩＰのインタリーブ許容能力に応じて少なくとも１つのバッファを選択してデータを転送する間、前記選択されたバッファのうち少なくとも１つに格納されたデータの転送が完了すると、データが存在する他のバッファを選択することを特徴とする請求項１に記載のＡＸＩを適用したＮｏＣシステム。
【請求項３】
前記インタリーブマネージャーは、前記バッファのうちデータが存在するバッファの数が前記目的地ＡＸＩ ＩＰのインターリーブ許容能力より小さい場合、インターリーブされるバッファの数を減少させることを特徴とする請求項１に記載のＡＸＩを適用したＮｏＣシステム。
【請求項４】
前記各ＡＸＩ ＩＰから提供されたデータを各ＡＸＩ ＩＰに応じて分類する分類器を更に含むことを特徴とする請求項１に記載のＡＸＩを適用したＮｏＣシステム。
【請求項５】
前記分類器は、ＤＥＭＵＸで具現されることを特徴とする請求項４に記載のＡＸＩを適用したＮｏＣシステム。
【請求項６】
前記インターリーブマネージャーによって選択された少なくとも１つのバッファからデータを取出し、前記目的地ＡＸＩ ＩＰに提供する出力器を更に含むことを特徴とする請求項１に記載のＡＸＩを適用したＮｏＣシステム。
【請求項７】
前記出力器は、ＭＵＸで具現されることを特徴とする請求項６に記載のＡＸＩを適用したＮｏＣシステム。
【請求項８】
前記バッファの個数は、前記目的地ＡＸＩ ＩＰに接近可能なＡＸＩ ＩＰの個数と同数に決定され１対１で対応することを特徴とする請求項１に記載のＡＸＩを適用したＮｏＣシステム。
【請求項９】
前記各バッファのサイズは、前記ＡＸＩ ＩＰで１回に転送可能な転送単位と同様のサイズで形成されることを特徴とする請求項８に記載のＡＸＩを適用したＮｏＣシステム。
【請求項１０】
前記各バッファのサイズは、前記ＡＸＩ ＩＰごとに設定された転送容量に応じて１対１で対応するようにそれぞれ決定されることを特徴とする請求項８に記載のＡＸＩを適用したＮｏＣシステム。
【請求項１１】
複数のＡＸＩ ＩＰから転送されたデータを前記ＡＸＩ ＩＰに応じて分類して複数のバッファに格納するステップと、
目的地ＡＸＩ ＩＰで収容可能なインターリーブデータの個数であるインターリーブ収容能力に応じて、前記少なくとも１つのバッファを選択するステップと、
前記選択されたバッファからデータを取出し、取出されたデータをインターリーブして前記目的地ＡＸＩ ＩＰに転送するステップと、
を含むことを特徴とするＡＸＩを適用したＮｏＣシステムのインターリーブ方法。
【請求項１２】
前記データを転送する間、前記選択されたバッファのうち少なくとも１つのバッファが空になると、他のバッファを選択するステップを更に含むことを特徴とする請求項１１に記載のＡＸＩを適用したＮｏＣシステムのインターリーブ方法。
【請求項１３】
前記データを転送する間、データが残存する前記バッファの数がインターリーブ許容能力より少ない場合、前記インターリーブされるバッファの数を減少させることを特徴とする請求項１１に記載のＡＸＩを適用したＮｏＣシステムのインターリーブ方法。
【請求項１４】
複数のＡＸＩ ＩＰから転送されたデータを受信するＮｏＣルータにおいて、
前記各ＡＸＩ ＩＰから提供されたデータがＡＸＩ ＩＰに応じて分類され格納される複数のバッファと、
目的地ＡＸＩ ＩＰで収容可能なインターリーブデータの個数であるインターリーブ収容能力に応じて、前記複数のバッファのうちデータが取出されるバッファを選択するインターリーブマネージャーと、
を含むことを特徴とするＮｏＣルータ。
【請求項１５】
前記インターリーブマネージャーは、前記目的地ＡＸＩ ＩＰのインタリーブ許容能力に応じて少なくとも１つのバッファを選択してデータを転送する間、前記選択されたバッファのうち少なくとも１つに格納されたデータの転送が完了すると、データが存在する他のバッファを選択することを特徴とする請求項１４に記載のＮｏＣルータ。
【請求項１６】
前記インタリーブマネージャーは、前記バッファのうちデータが存在するバッファの数が前記目的地ＡＸＩ ＩＰのインターリーブ許容能力より小さい場合、インターリーブされるバッファの数を減少させることを特徴とする請求項１４に記載のＮｏＣルータ。
【請求項１７】
前記各ＡＸＩ ＩＰから提供されたデータを各ＡＸＩ ＩＰに応じて分類する分類器を更に含むことを特徴とする請求項１４に記載のＮｏＣルータ。
【請求項１８】
前記分類器は、ＤＥＭＵＸで具現されることを特徴とする請求項１７に記載のＮｏＣルータ。
【請求項１９】
前記インターリーブマネージャーによって選択された少なくとも１つのバッファからデータを取出し、前記目的地ＡＸＩ ＩＰに提供する出力器を更に含むことを特徴とする請求項１４に記載のＮｏＣルータ。
【請求項２０】
前記出力器は、ＭＵＸで具現されることを特徴とする請求項１９に記載のＮｏＣルータ。
【請求項２１】
前記バッファの個数は、前記目的地ＡＸＩ ＩＰに接近可能なＡＸＩ ＩＰの個数と同数に決定され１対１で対応することを特徴とする請求項１４に記載のＮｏＣルータ。
【請求項２２】
前記各バッファのサイズは、前記ＡＸＩ ＩＰで１回に転送可能な転送単位と同様のサイズで形成されることを特徴とする請求項２１に記載のＮｏＣルータ。
【請求項２３】
前記各バッファのサイズは、前記ＡＸＩ ＩＰごとに設定された転送容量に応じて１対１で対応するようにそれぞれ決定されることを特徴とする請求項２１に記載のＮｏＣルータ。
【請求項２４】
各ＡＸＩ ＩＰから提供されたデータがＡＸＩ ＩＰに応じて分類され格納される複数のバッファと、
目的地ＡＸＩ ＩＰで収容可能なインターリーブデータの個数であるインターリーブ収容能力に応じて、前記複数のバッファのうちデータが取出されるバッファを選択するインターリーブマネージャーと、
を含むことを特徴とするＮＩ。
【請求項２５】
前記インターリーブマネージャーは、前記目的地ＡＸＩ ＩＰのインタリーブ許容能力に応じて少なくとも１つのバッファを選択してデータを転送する間、前記選択されたバッファのうち少なくとも１つに格納されたデータの転送が完了すると、データが存在する他のバッファを選択することを特徴とする請求項２４に記載のＮＩ。
【請求項２６】
前記インタリーブマネージャーは、前記バッファのうちデータが存在するバッファの数が前記目的地ＡＸＩ ＩＰのインターリーブ許容能力より小さい場合、インターリーブされるバッファの数を減少させることを特徴とする請求項２４に記載のＮＩ。
【請求項２７】
前記各ＡＸＩ ＩＰから提供されたデータを各ＡＸＩ ＩＰに応じて分類する分類器を更に含むことを特徴とする請求項２４に記載のＮＩ。
【請求項２８】
前記分類器は、ＤＥＭＵＸで具現されることを特徴とする請求項２７に記載のＮＩ。
【請求項２９】
前記インターリーブマネージャーによって選択された少なくとも１つのバッファからデータを取出し、前記目的地ＡＸＩ ＩＰに提供する出力器を更に含むことを特徴とする請求項２４に記載のＮＩ。
【請求項３０】
前記出力器は、ＭＵＸで具現されることを特徴とする請求項２９に記載のＮＩ。
【請求項３１】
前記バッファの個数は、前記目的地ＡＸＩ ＩＰに接近可能なＡＸＩ ＩＰの個数と同数に決定され１対１で対応することを特徴とする請求項２４に記載のＮＩ。
【請求項３２】
前記各バッファのサイズは、前記ＡＸＩ ＩＰで１回に転送可能な転送単位と同様のサイズで形成されることを特徴とする請求項３１に記載のＮＩ。
【請求項３３】
前記各バッファのサイズは、前記ＡＸＩ ＩＰごとに設定された転送容量に応じて１対１で対応するようにそれぞれ決定されることを特徴とする請求項３１に記載のＮＩ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＡＸＩが適用されたＮｏＣルータとＮＩ、ＮｏＣシステム、及びそのインターリーブ方法に関し、より詳細にはＡＸＩプロトコルをＮｏＣに適用する際、ＩＰのインターリーブ許容能力に応じてデータを円滑に転送できるようにする、ＡＸＩが適用されたＮｏＣルータとＮＩ、ＮｏＣシステム、及びそのインターリーブ方法に関する。
【背景技術】
【０００２】
コンピューター、通信、放送などが次第に統合されるコンバージェンス化に伴い、既存のＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  ＩＣ：注文型半導体）とＡＳＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｓｔａｎｄａｒｄ  Ｐｒｏｄｕｃｔ：特定用途の標準製品）の需要がＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）へと切り替わりつつある。また、ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）機器の軽薄短小化及び高機能化の傾向もＳｏＣ産業を促進させる要因となっている。
【０００３】
ＳｏＣとは、既存の色々な機能を有する複雑なシステムを１つのチップで具現した技術集約的な半導体技術である。ＳｏＣの現実化のために多くの技術が研究されており、特にチップの中に内在されている色々な知能素子（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ：ＩＰ）を連結する方案が非常に重要な事項として台頭している。
ＩＰを連結するための技術としてはバスを基盤とした連結方式が主に採用されている。しかし、バス構造においては、特定のＩＰがバスを使っていれば他のＩＰはバスを使うことができない。チップの集積度が高くなると、ＩＰ間に流れる情報量が急激に増加することになることから、前述したような拡張性を支援しないバス構造を用いたＳｏＣは構造的な限界に到達することとなる。
【０００４】
このようなバス構造を用いたＳｏＣの構造的な限界を解消するための方案として、一般的なネットワーク技術をチップの中に応用してＩＰを連結する方式であるＮｏＣ（Ｎｅｔｗｏｒｋｓ  ｏｎ  Ｃｈｉｐ）技術が新しく提示された。
一方、ＳｏＣ内のＩＰ連結及び管理のための標準バス規格としてＡＲＭ社のＡＭＢＡ（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  Ｂｕｓ  Ａｃｈｉｔｅｃｔｕｒｅ）がある。ＡＭＢＡのバスタイプとしては、ＡＨＢ（Ａｄｖａｎｃｅｄ  Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｂｕｓ）、ＡＰＢ（Ａｄｖａｎｃｅｄ  Ｐｅｒｉｐｈｅｒａｌ  Ｂｕｓ）、ＡＸＩ（Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）が挙げられる。このうち、ＡＸＩは、ＩＰのインターフェースプロトコルであって、Ｍｕｌｔｉｐｌｅ  ｏｕｔｓｔａｎｄｉｎｇ  ａｄｄｒｅｓｓ機能とデータインターリーブ（Ｄａｔａ  ｉｎｔｅｒｌｅａｖｉｎｇ）機能などの進歩した機能を含んでいる。
【０００５】
Ｍｕｌｔｉｐｌｅ  ｏｕｔｓｔａｎｄｉｎｇ  ａｄｄｒｅｓｓ機能は、バスのアドレスラインとデータラインを介して情報が提供される際、データの転送が完了する前に次のデータを転送するためのアドレスを転送することのできる機能である。データインターリーブ機能は、幾つかのマスターが１つのスレーブにデータを転送する際、スレーブ端にてデータの混合を可能にすることで、帯域幅をより効率的に使用でき、待ち時間の側面でも有利である。
【０００６】
前述の機能を有するＡＸＩをＮｏＣの各ＩＰとスイッチとの間のインターフェースプロトコルとして使ってＡＸＩ機能をＮｏＣに具現する場合、バスの特性によってＳｏＣで発生する構造的な限界が克服できるので、ＩＰ間のデータを転送するときその速度や再使用性の向上が期待できる。
これに対し、フィリップスが発表した論文である「Ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｏｎ−Ｃｈｉｐ  ＮＩ  Ｏｆｆｅｒｉｎｇ  Ｇｕａｒａｎｔｅｅｄ  Ｓｅｒｖｉｃｅｓ、Ｓｈａｒｅｄ−Ｍｅｍｏｒｙ  Ａｂｓｔｒａｃｔｉｏｎ、ａｎｄ  Ｆｌｅｘｉｂｌｅ  Ｎｅｔｗｏｒｋ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ」Ｊａｎ.２００５  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ｏｆ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ  ａｎｄ  Ｓｙｓｔｅｍ  ｂｙ  Ｐｈｉｌｉｐｓでは、ＡＸＩを適用させたＮｏＣのＮＩ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ）とパケットフォーマットについて提案している。
【０００７】
しかし、フィリップスの論文はＡＸＩを支援するための装置を概念的にのみ説明しており、またＮｏＣとＩＰとの間の接続がＡＸＩを用いて行われることに対してのみ重点的に説明している。そして、１つのバーストを１つのパケットに製造して転送するので、ＡＸＩの多様な機能、例えばＭｕｌｔｉｐｌｅ  ｏｕｔｓｔａｎｄｉｎｇ  ａｄｄｒｅｓｓ機能、データインターリーブ機能、データリオーダリング機能の支援が不可能であるのみならず、ＷＳＴＲＢ（Ｗｒｉｔｅ  ｓｔｒｏｂｅｓ）の支援も不可能である。
【０００８】
一方、ＮｏＣシステムにＡＸＩを適用すると、マスター又はスレーブは予め設定されたインターリーブ許容能力（ＩＡＣ：Ｉｎｔｅｒｌｅａｖｉｎｇ  Ａｃｃｅｐｔａｎｃｅ  Ｃａｐａｂｉｌｉｔｙ）に応じて１つ以上のバースト又はパケットがインターリーブされたデータストリームで受信することができる。
インターリーブ許容能力は各スレーブ又は各マスターの性能に応じて決められ、インターリーブ許容能力が大きいということは性能が優秀でスレーブやマスターの価格が高いということを意味する。従って、各マスター又はスレーブのインターリーブ許容能力は、機器の性能に応じて制限されるしかない。
【０００９】
図１Ａは、複数のＡＸＩマスターからのデータがインターリーブ許容能力が２であるＡＸＩスレーブ３０にインターリーブされ転送される過程を示す。
同図に示すように、ＮｏＣルータを介して入力された複数のＡＸＩマスターからのデータが、ＮＩ２０を介してＡＸＩスレーブ３０に伝達される。
この時、ＡＸＩスレーブ３０のインターリーブ許容能力が２であるため、ＡＸＩマスター（Ｍ１）からのデータパケットとＡＸＩマスター（Ｍ２）からのデータパケットがインターリーブされる場合にはデータの転送が許容される。しかし、ＡＸＩマスター（Ｍ１）からのデータパケット、ＡＸＩマスター（Ｍ２）からのデータパケット、ＡＸＩマスター（Ｍ３）からのデータパケットの３つのデータがインターリーブされる場合にはデータの転送が不可能になる。つまり、ＡＸＩマスターとＡＸＩスレーブ３０との間でデータを転送する場合は、インターリーブされたデータパケット又はバーストの数がＡＸＩマスターとＡＸＩスレーブ３０のインターリーブ許容能力より少ないか同じでなければならない。
【００１０】
一方、図１Ｂに示すように、ＡＸＩスレーブ３０のインターリーブ許容能力が１である場合、最も簡単な方法としては各ＡＸＩマスターからのデータを１バーストずつ転送する方法がある。しかし、図１Ｃに示すように、１つのＡＸＩマスターから転送されるデータパケットの間に異種のデータが挿入される場合、２つのデータがインターリーブされることと同様の効果を有するためデッドロック（Ｄｅａｄｌｏｃｋ）が発生する。
【００１１】
このため、ＮｏＣシステムにＡＸＩを適用させるとき、インターリーブ許容能力に応じてデータを円滑に転送することのできる方法を模索する必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明は前述の問題点を解決するために提出されたもので、本発明の目的は、ＡＸＩプロトコルをＮｏＣに適用する際、ＩＰのインターリーブ許容能力に応じてデータを円滑に転送できるようにする、ＡＸＩが適用されたＮｏＣルータとＮＩ、ＮｏＣシステム、及びそのインターリーブ方法を提供することにある。
【課題を解決するための手段】
【００１３】
前述の目的を達成するための本発明の構成は、複数のＡＸＩ ＩＰから転送されたデータを目的地ＡＸＩ ＩＰに応じて分類するＮｏＣルータと、前記ＮｏＣルータからのデータを処理して目的地ＩＰに提供するＮＩを有するＮｏＣシステムにおいて、前記ＮｏＣルータと前記ＮＩのうち一方には、前記各ＡＸＩ ＩＰから提供されたデータがＡＸＩ ＩＰに応じて分類され格納される複数のバッファと、前記目的地ＡＸＩ ＩＰで収容可能なインターリーブデータの個数であるインターリーブ収容能力に応じて、前記複数のバッファのうちデータが取出されるバッファを選択するインターリーブマネージャーとが設置される。
【００１４】
前記インターリーブマネージャーは、前記目的地ＡＸＩ ＩＰのインタリーブ許容能力に応じて少なくとも１つのバッファを選択してデータを転送する間、前記選択されたバッファのうち少なくとも１つに格納されたデータの転送が完了すると、データが存在する他のバッファを選択するように構成できる。
前記インタリーブマネージャーは、前記バッファのうちデータが存在するバッファの数が前記目的地ＡＸＩ ＩＰのインターリーブ許容能力より小さい場合、インターリーブされるバッファの数を減少させるように構成できる。
【００１５】
前記バッファの前段に設置され、前記各ＡＸＩ ＩＰから提供されたデータを各ＡＸＩ ＩＰに応じて分類する分類器を更に含むことが好ましい。前記分類器は、ＤＥＭＵＸで具現することができる。
前記バッファの後段に設置され、前記インターリーブマネージャーによって選択された少なくとも１つのバッファからデータを取出し、前記目的地ＡＸＩ ＩＰに提供する出力器を更に含むことが好ましい。前記出力器は、ＭＵＸで具現することができる。
【００１６】
前記バッファの個数は、前記目的地ＡＸＩ ＩＰに接近可能なＡＸＩ ＩＰの個数と同数に決定され１対１で対応することが好ましい。
前記各バッファのサイズは、前記ＡＸＩ ＩＰで１つのバーストを介して転送可能な転送単位の最大値と同様のサイズで形成されることができる。
前記各バッファのサイズは、前記ＡＸＩ ＩＰごとに設定された転送容量に応じて１対１で対応するようにそれぞれ決定されることができる。
【００１７】
一方、前記目的は、本発明の他の分野によると、複数のＡＸＩ ＩＰから転送されたデータを前記ＡＸＩ ＩＰに応じて分類して複数のバッファに格納するステップと、目的地ＡＸＩ ＩＰで収容可能なインターリーブデータの個数であるインターリーブ収容能力に応じて、前記少なくとも１つのバッファを選択するステップと、前記選択されたバッファからデータを取出し、取出されたデータをインターリーブして前記目的地ＡＸＩ ＩＰに転送するステップとを含むことを特徴とするＡＸＩを適用したＮｏＣシステムのインターリーブ方法によっても達成することができる。
【発明の効果】
【００１８】
本発明によると、ＡＸＩを適用させたＮｏＣシステムにおいて、ＩＰのインターリーブ許容能力に符合するように転送されるデータを選択することができるので、データを円滑に転送でき、システムの性能を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、添付の図面に基いて本発明の好適な実施形態を詳述する。
本インターリーブ装置は、ＡＸＩ ＩＰである各ＡＸＩマスター又は各ＡＸＩスレーブからのデータを一時的にバッファに格納した後、各ＡＸＩマスターとＡＸＩスレーブが有するインターリーブ許容能力に応じてデータをインターリーブして転送する。本インターリーブ装置は、ＮｏＣシステムのＮｏＣルータ１０とＮＩ２０のうちいずれか１つに装着でき、後述する実施形態では、インターリーブ装置がＮｏＣルータ１０に装着された場合と、ＮＩ２０に装着された場合をそれぞれ説明する。
【００２０】
図２は、本発明に係るインターリーブ装置が設置されたＮｏＣルータの構成を示すブロック図である。
同図に示すように、ＮｏＣルータ１１０は、スイッチ１１３、仲裁器１１１、インターリーブ装置１４０を含み、複数のＡＸＩマスターから転送された複数のデータをスイッチングしてＮＩ１２０を介してＡＸＩスレーブ１３０に伝達する。
【００２１】
スイッチ１１３は、ＮｏＣルータ１１０に入力される複数のデータをスイッチングしてデータを順に１つずつインターリーブ装置１４０に伝達する役割を担う。
仲裁器１１１は、予め設定された所定の基準に基いてスイッチ１１３を制御し、スイッチ１１３に到達した複数のＡＸＩマスターからのデータを通過させるスイッチング順序を決定する。仲裁器１１１の所定基準としては、優先順位方式、時間順序方式などが挙げられる。優先順位方式は、複数のＡＸＩマスターに優先順位をおき、幾つかのＡＸＩマスターからデータが入力される場合、優先順位の高いＡＸＩマスターからのデータを先にスイッチングすることをいう。時間順序方式は、先に入力されたＡＸＩマスターからのデータを先にスイッチングする方式であって、同時に複数のデータが入力される場合には優先順位方式などを併用して使用することができる。
【００２２】
インタリーブ装置１４０は、分類器１４１、複数のバッファ１４３、出力器１４５、インターリーブマネージャー１４７を含む。
複数のバッファ１４３は、複数のＡＸＩマスターから転送されたデータを一時的に格納するためのものであって、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）方式のキューで具現することができる。バッファ１４３の数は、ＮｏＣルータ１１０に連結されたＡＸＩスレーブ１３０にアクセスしてデータを転送することができるＡＸＩマスターの数により決められる。例えば、ＡＸＩスレーブ１３０に接近できるＡＸＩマスターがＭ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５であるとすると、バッファ１４３の個数は５個になる。このような各バッファ１４３の長さは各設計者によって任意で決定することができるが、最小転送単位である１バースト又は１パケット以上の長さを有することが好ましい。
【００２３】
分類器１４１は、スイッチ１１３を介して入力されるデータを分類し、複数のバッファ１４３のうちの１つにデータを伝達する。この時、分類器１４１は入力されたデータがいずれのＡＸＩマスターから入力されたかに応じて分類し、該当ＡＸＩマスターに対応するバッファ１４３にデータを伝達する。この分類器１４１はＤＥＭＵＸで具現することができる。
【００２４】
出力器１４５は、インターリーブマネージャー１４７からの制御によって選択された１つ以上のバッファ１４３からのデータをバースト又はパケット単位に取り出し、取り出されたデータがインターリーブされるように出力する。出力器１４５はＭＵＸで具現することができる。
インタリーブマネージャー１４７は、ＡＸＩスレーブ１３０からインターリーブ許容能力に対する情報を受信し、インターリーブ許容能力に符合する数のデータがインターリーブされ、ＡＸＩスレーブ１３０に提供されるように出力器１４５を制御する。インターリーブマネージャー１４７は、各バッファ１４３の残存容量を検知し、各バッファ１４３にデータが存在しているか否かを判断し、データが存在するバッファ１４３のうちインターリーブ許容能力に対応される数のバッファ１４３を選択する。この時、バッファ１４３を選択する基準は、仲裁器１１１と同様に、優先順位、時間順序などに設定することができる。このように選択されたバッファ１４３のうち少なくとも一方のデータが全部ＡＸＩスレーブ１３０に転送されると、インターリーブマネージャー１４７は他のバッファ１４３を選択してデータがインターリーブされるようにする。
【００２５】
例えば、ＡＸＩスレーブ１３０のインタリーブ許容能力が２である場合、インターリーブマネージャー１４７は最大２つのバッファ１４３を選択することができる。インターリーブマネージャー１４７がバッファ１４３ Ｂ１、Ｂ２を選択すると、出力器１４５はバッファ１４３ Ｂ１、Ｂ２のデータをインターリーブしてＮＩ１２０に提供する。この時、バッファ１４３ Ｂ１には１つのバーストに対応するデータパケットが２つ格納されており、バッファ１４３ Ｂ２には１つのバーストに対応するデータパケットが１つ格納されているため、出力器１４５はバッファ１４３ Ｂ１のデータパケット２つと、バッファ１４３ Ｂ２のデータパケット１つをインターリーブして出力する。データが出力されると、バッファ１４３ Ｂ２はデータが存在しないため、インターリーブマネージャー１４７は他のバッファ１４３を選択しなければならない。もし、インターリーブマネージャーがバッファ１４３ Ｂ４を選択すると、出力器１４５はバッファ１４３ Ｂ１の残りのデータパケットと、バッファ１４３ Ｂ４のデータパケットをインターリーブしてＮＩ１２０に転送する。
【００２６】
一方、インターリーブマネージャー１４７は、インターリーブ許容能力よりデータが存在するバッファ１４３の数が少ない場合には、インタリーブされるバッファの数を減少させる。例えば、インターリーブ許容能力は２であるが、データが存在するバッファ１４３が１つである場合には、該当バッファ１４３のデータをＡＸＩスレーブ１３０に転送する。そして、インターリーブ許容能力は３であるが、データが存在するバッファ１４３が２つである場合、インターリーブマネージャー１４７は２つのバッファ１４３のデータのみインターリーブして転送する。
【００２７】
図３は、本発明に係るインターリーブ装置１４０が設置されたＮＩのブロック図である。
同図に示すように、ＮＩ１２０に設置されたインターリーブ装置１４０はＮｏＣルータ１１０に装着される構成と同一である。ＮＩ１２０の場合、ＮｏＣルータ１１０のスイッチ１１３によってスイッチングされたデータを受けるので、ＮｏＣルータ１１０とは違って別のスイッチ１１３を必要としない。
【００２８】
つまり、ＮＩ１２０のインターリーブ装置１４０の分類器１４１は、ＮｏＣルータ１１０から提供されたデータをＡＸＩマスターに応じて分類してバッファ１４３に提供する。そして、出力器１４５は、インターリーブマネージャー１４７の制御によって選択された複数のバッファ１４３からデータを取り出し、取り出されたデータをインターリーブしてＡＸＩスレーブ１３０に提供する。
【００２９】
図４は、本発明の他の実施形態に係るインターリーブ装置１４０の構成図である。
本実施形態のインターリーブ装置１４０は、図２及び図３に示されたインターリーブ装置１４０とは異なり、各バッファ１４３のサイズがバッファ１４３ごとに相異する。
一般的にＡＸＩマスターはＭｕｌｔｉｐｌｅ  ｏｕｔｓｔａｎｄｉｎｇ  ａｄｄｒｅｓｓ機能を具現することができ、ＡＸＩマスターの性能又は特性に応じてＭｕｌｔｉｐｌｅ  ｏｕｔｓｔａｎｄｉｎｇされるバースト又はパケットの数が予め設定されている。この場合、一回に幾つかのバースト又はパケットのデータが転送され得るので、インターリーブ装置１４０のバッファ１４３サイズもこれに適合するように調節することが好ましい。
【００３０】
これにより、各バッファ１４３のサイズは各バッファ１４３に対応するＡＸＩマスターのＭｕｌｔｉｐｌｅ  ｏｕｔｓｔａｎｄｉｎｇのサイズによって決定される。例えば、ＡＸＩマスターＭ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５に対してそれぞれＭｕｌｔｉｐｌｅ  ｏｕｔｓｔａｎｄｉｎｇの個数が３、２、１、２、１であると、図４に示すように、ＡＸＩマスターＭ１、Ｍ２、Ｍ３、Ｍ４、Ｍ５に対応するバッファ１４３ Ｂ１、Ｂ２、Ｂ３、Ｂ４、Ｂ５のサイズを３、２、１、２、１のバースト又はパケットサイズに構成する。
【００３１】
このように各バッファ１４３のサイズを決定する過程は、インターリーブ装置１４０の設計時にソフトウエア的に行うことができる。例えば、１つのＡＸＩスレーブ１３０に対して接近できるＡＸＩマスターを把握し、把握されたＡＸＩマスターのＭｕｌｔｉｐｌｅ  ｏｕｔｓｔａｎｄｉｎｇの個数を把握する。そして、把握されたＭｕｌｔｉｐｌｅ  ｏｕｔｓｔａｎｄｉｎｇ個数に応じて各バッファ１４３のサイズを決定する。
【００３２】
この構成によるインターリーブ装置１４０を備えたＮｏＣシステムでのデータ転送過程を図２に基いて説明する。
複数のＡＸＩマスターからＮｏＣルータ１１０にデータバースト又はパケットが入力されると、ＮｏＣルータ１１０のスイッチ１１３は仲裁器１１１からの制御に従ってデータバースト又はパケットをインターリーブ装置１４０の分類器１４１に提供する。
【００３３】
分類器１４１は、各データを転送したＡＸＩマスターに対応するバッファ１４３にデータを伝達し、このデータがバッファ１４３に格納されるようにする。インターリーブマネージャー１４７はＡＸＩスレーブ１３０のインターリーブ許容能力と、各バッファ１４３の残存容量を検知し、インターリーブ許容能力に応じてインターリーブされるバッファ１４３の個数を決定し、決定されたバッファ１４３の個数だけインターリーブされるバッファ１４３を選択する。
【００３４】
インターリーブマネージャー１４７がバッファ１４３を選択すると、出力器１４５は選択されたバッファ１４３からデータパケット又はバーストを取り出し、データをインターリーブしてＮＩ１２０に転送する。このようなデータを転送する間、インターリーブするバッファ１４３として選択されたバッファ１４３のうち、少なくとも１つのバッファ１４３に格納されたデータが全部転送されると、インターリーブマネージャー１４７は他のバッファ１４３を更に選択する。すると、出力器１４５は選択されたバッファ１４３からのデータと直前に選択されたバッファ１４３からのデータをインターリーブしてＮＩ１２０に転送する。
【００３５】
例えば、ＡＸＩスレーブ１３０のインターリーブ許容能力が３である場合、インターリーブマネージャー１４７は３つのバッファ１４３を選択する。もしインターリーブマネージャーが図２のバッファ１４３のうち、Ｍ１、Ｍ３、Ｍ５を選択すると、出力器１４５は該当バッファ１４３からデータを取り出してＮＩ１２０に転送することで、３つのバッファ１４３からのデータがインターリーブされＮＩ１２０に提供される。
【００３６】
ここで、バッファ１４３ Ｍ１には１つのバーストに対応する２つのデータパケットが格納されており、バッファ１４３ Ｍ３、Ｍ５にはそれぞれ１つのバーストに対応する１つのデータパケットが格納されているので、バッファ１４３ Ｍ１、Ｍ３、Ｍ５からそれぞれ１つのデータパケットを取り出して転送すると、バッファ１４３ Ｍ３、Ｍ５にはデータが存在しなくなる。すると、インターリーブマネージャー１４７は、バッファ１４３ Ｍ３、Ｍ５の代わりにバッファ１４３ Ｍ２、Ｍ４を選択することにより、バッファ１４３ Ｍ２、Ｍ４のデータパケットがバッファ１４３ Ｍ１に格納されたデータパケットと共にインターリーブされ転送されるようにする。
【００３７】
一方、このようにデータを転送する間、データが残存するバッファ１４３の数がインターリーブ許容能力より小さくなると、インターリーブマネージャ１４７は選択するバッファ１４３の数を減少させる。
このように、本インターリーブ装置１４０をＮｏＣシステムのＮｏＣルータ１１０又はＮＩ１２０に設置すると、ＡＸＩマスター又はＡＸＩスレーブ１３０のインターリーブ許容能力に符合するようにインターリーブされるデータを選択することができる。従って、データをインターリーブするときにインターリーブ許容能力を超過する個数のＡＸＩマスター又はＡＸＩスレーブ１３０からのデータの転送が試されデッドロックが発生することを防止することができる。
【００３８】
以上説明したように、本発明によると、ＡＸＩを適用させたＮｏＣシステムにおいてＩＰのインターリーブ許容能力に符合するように転送されるデータを選択することができるので、データを円滑に転送することができ、システムの性能を向上することができる。
また、本発明の好適な実施形態を図示及び説明してきたが、本発明の技術的範囲は前述の実施形態に限定するものではなく、特許請求の範囲に基づいて定められ、特許請求の範囲において請求する本発明の要旨から外れることなく当該発明が属する技術分野において通常の知識を有する者であれば誰もが多様な変形実施が可能であることは勿論のことであり、該変更した技術は特許請求の範囲に記載された発明の技術的範囲に属するものである。
【図面の簡単な説明】
【００３９】
【図１Ａ】複数のＡＸＩマスターからのデータがインターリーブ許容能力が２であるＡＸＩスレーブにインターリーブされ転送される過程を示す図面である。
【図１Ｂ】複数のＡＸＩマスターからのデータがインターリーブ許容能力が１であるＡＸＩスレーブにインターリーブされ転送される過程を示す図面である。
【図１Ｃ】複数のＡＸＩマスターからのデータがインターリーブ許容能力が１であるＡＸＩスレーブにインターリーブされ転送される過程を示す図面である。
【図２】本発明に係るインターリーブ装置が設置されたＮｏＣルータのブロック図である。
【図３】本発明に係るインターリーブ装置が設置されたＮＩのブロック図である。
【図４】本発明の他の実施形態に係るインターリーブ装置のブロック図である。
【符号の説明】
【００４０】
１１０  ＮｏＣルータ
１１１  仲裁器
１１３  スイッチ
１２０  ＮＩ
１３０  ＡＸＩスレーブ
１４０  インターリーブ装置
１４１  分類器
１４３  バッファ
１４５  出力器
１４７  インターリーブマネージャー
【図１Ａ】
2007115252.tif 000003
【図１Ｂ】
2007115252.tif 000004
【図１Ｃ】
2007115252.tif 000005
【図２】
2007115252.tif 000006
【図３】
2007115252.tif 000007
【図４】
2007115252.tif 000008