(57)【要約】【課題】転送パケット数に応じて柔軟にコードの長さを決定することにより、スイッチの性能を向上させるネットワークオンチップシステムのスイッチング装置及びそのスケジューリング方法を提供する。【解決手段】ネットワークオンチップシステムのスイッチング装置は、複数個の入力ポート２００ａと複数個の出力ポート２００ｂを有するスイッチング部１００と、入力ポート２００ａと前記出力ポート２００ｂ間の転送経路を設定し、複数個の入力ポート２００ａのうちデータを保有する入力ポート数に基づいてコードの長さを決定し、設定された転送経路に対応する入力ポート２００ａ及び出力ポート２００ｂに決定されたコードの長さに所定のコードを割当てるスケジューラ３００とを備える。これにより、スイッチの性能を向上させることができる。【選択図】図２
2006191648.tif 000002
【特許請求の範囲】
【請求項１】
複数個の入力ポートと複数個の出力ポートを有するスイッチング部と、
前記入力ポートと前記出力ポート間の転送経路を設定し、前記複数個の入力ポートのうちデータを保有する入力ポート数に基づいてコードの長さを決定し、前記設定された転送経路に対応する入力ポート及び出力ポートに前記決定されたコードの長さの所定のコードを割当てるスケジューラと、
を備えることを特徴とするネットワークオンチップシステムのスイッチング装置。
【請求項２】
前記スケジューラは、前記入力ポートから前記出力ポートに転送を要請する要請経路を決定する要請経路仲裁器と、
前記出力ポートから前記入力ポートに転送を許容する許容経路を決定する許容経路仲裁器と、
を備えることを特徴とする請求項１に記載のネットワークオンチップシステムのスイッチング装置。
【請求項３】
前記要請経路仲裁器及び前記許容経路仲裁器は、異なるコードの長さを有する少なくとも一つの同心円状のテーブルからなるラウンドロビン（Ｒｏｕｎｄ  Ｒｏｂｉｎ）方式の仲裁器であり、
前記テーブルの各同心円は、所定のコードワードが割当てられる複数個のセルを有することを特徴とする請求項２に記載のネットワークオンチップシステムのスイッチング装置。
【請求項４】
前記同心円数は、式（１）により求められることを特徴とする請求項３に記載のネットワークオンチップシステムのスイッチング装置。
【数１】
2006191648.tif 000009
ここで、Ｎは前記スイッチング部に備えられる入力ポート数を示し、ｎは前記同心円の数を示す。
【請求項５】
前記同心円状のテーブルには、中心から外側に行くほど長さが増加する直交コードが割当てられることを特徴とする請求項３に記載のネットワークオンチップシステムのスイッチング装置。
【請求項６】
前記転送要請仲裁器及び前記転送許容仲裁器は、式（２）により、中心からｍ番目の同心円に割当てられているコードを前記設定された転送経路に対応する入力ポート及び出力ポートに割当てることを特徴とする請求項２に記載のネットワークオンチップシステムのスイッチング装置。
【数２】
2006191648.tif 000010
ここで、Ｎは前記スイッチング部に備えられる入力ポート数を示し、Ｔは前記データを保有する入力ポート数を示す。
【請求項７】
前記要請経路仲裁器は、転送を要請する出力ポートにおいて、ポインターを所定の方向に回転して、前記転送を要請する出力ポートのうち最も速く到達するセルに割当てられているコードを拡散コードとして決定することを特徴とする請求項３に記載のネットワークオンチップシステムのスイッチング装置。
【請求項８】
前記スケジューラは、前記要請経路仲裁器により前記拡散コードを決定した後、前記データを保有する入力ポートにＸＯＲ演算を適用することで衝突の発生の有無を判断することを特徴とする請求項７に記載のネットワークオンチップシステムのスイッチング装置。
【請求項９】
前記スケジューラは、前記ＸＯＲ演算を適用した結果、少なくとも一つの“１”が存在しなければ前記データを保有する入力ポート間の衝突が発生したと判断することを特徴とする請求項８に記載のネットワークオンチップシステムのスイッチング装置。
【請求項１０】
前記スケジューラは、前記データを保有する入力ポート間の衝突が発生したと判断すれば、前記同心円状のテーブルで前記データを保有する入力ポートがすべて隣接するように位置を変更することを特徴とする請求項９に記載のネットワークオンチップシステムのスイッチング装置。
【請求項１１】
前記許容経路仲裁器は、転送を許容する入力ポートにおいて、ポインターを所定の方向に回転して、前記転送を許容する入力ポートのうち最も速く到達するセルに割当てられているコードを逆拡散コードとして決定することを特徴とする請求項３に記載のネットワークオンチップシステムのスイッチング装置。
【請求項１２】
前記所定のコードは、ＯＶＳＦ（Ｏｒｔｈｏｇｏｎａｌ  Ｖａｒｉａｂｌｅ  Ｓｐｒｅａｄｉｎｇ  Ｆａｃｔｏｒ）コードであることを特徴とする請求項１に記載のネットワークオンチップシステムのスイッチング装置。
【請求項１３】
前記スイッチング部は、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）スイッチであることを特徴とする請求項１に記載のネットワークオンチップシステムのスイッチング装置。
【請求項１４】
データが入力される入力ポートと、前記入力ポートから転送されるデータを出力する出力ポートとを有するスイッチング装置のスケジューリング方法において、
前記入力ポート及び前記出力ポート間の転送経路を設定する段階と、
前記複数個の入力ポートのうちデータを保有する入力ポート数に基づいてコードの長さを決定する段階と、
前記設定された転送経路に対応する入力ポート及び出力ポートに前記決定されたコードの長さに所定のコードを割当てる段階と、
前記割当てられたコードにより前記データを拡散及び逆拡散する段階と、
を含むことを特徴とするスイッチング装置のスケジューリング方法。
【請求項１５】
前記転送経路を設定する段階は、
前記入力ポートから前記出力ポートに転送を要請する要請経路を決定し、前記決定された要請経路により転送を要請する段階と、
前記出力ポートから前記入力ポートに転送を許容する許容経路を決定し、前記決定された許容経路により転送を許容する段階と、
を含むことを特徴とする請求項１４に記載のスイッチング装置のスケジューリング方法。
【請求項１６】
前記データを保有する入力ポートにＸＯＲ演算を適用することで衝突の発生の有無を判断する段階をさらに含むことを特徴とする請求項１４に記載のスイッチング装置のスケジューリング方法。
【請求項１７】
前記衝突の発生有無を判断する段階において、
前記ＸＯＲ演算を適用した結果、少なくとも一つの“１”が存在しなければ前記データを保有する入力ポート間の衝突が発生したと判断することを特徴とする請求項１６に記載のスイッチング装置のスケジューリング方法。
【請求項１８】
前記衝突の発生有無を判断する段階において、
前記データを保有する入力ポート間の衝突が発生したと判断すれば、前記同心円状のテーブルで前記データを保有する入力ポートがすべて隣接するように位置を変更することを特徴とする請求項１７に記載のスイッチング装置のスケジューリング方法。
【請求項１９】
前記所定のコードは、コードの長さが可変的に変化するＯＶＳＦコードであることを特徴とする請求項１２に記載のスイッチング装置のスケジューリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実際にデータを保有しているポート数に応じてコードが可変的に割当てられるネットワークオンチップシステムのスイッチング装置及びそのスケジューリング方法に関する。
【背景技術】
【０００２】
コンピュータ、通信、放送などが次第に統合されるコンバーゼンス（Ｃｏｎｖｅｒｇｅｎｃｅ）化に伴って、従来のＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  ＩＣ：注文形半導体）とＡＳＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｓｔａｎｄａｒｄ  Ｐｒｏｄｕｃｔ：特定用途の標準製品）に代わって、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）の需要が増える傾向にある。また、ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）機器の軽薄短小化及び高機能化に対する要望もＳｏＣ技術の発展を促す要因となっている。ＳｏＣは、従来の様々な機能を有する複雑なシステムを一つのチップに集積化した技術集約的半導体技術である。ＳｏＣを実現するために、様々な技術の研究がなされており、特に、チップ内に内在する複数の知能素子（ＩＰ）を連結する方法が重要な課題である。
【０００３】
ＩＰを連結する技術は、バスを基盤とする連結方式が主流である。しかし、チップの集積度が高くなり、ＩＰ間の情報流量が急激に増加するにつれて、バス構造を利用したＳｏＣは、その構造的な限界に達した。
【０００４】
このように、バス構造を利用したＳｏＣの構造的な限界を解消するために、一般のネットワーク技術をチップ内に応用してＩＰを連結する方法であるＮｏＣ（Ｎｅｔ  Ｗｏｒｋｓ  ｏｎ  Ｃｈｉｐ）技術が新たに提示された。
【０００５】
ＮｏＣ技術は、世界の多くの研究機関で研究が進んでおり、開発中であるＮｏＣアーキテクチャの種類には、スイッチング方式によってＴＤＭＡ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ：時分割多重接続）Ｂａｓｅｄ  ＮｏＣとＣＤＭＡ（Ｃｏｄｅ−Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ：コード分割多重接続）Ｂａｓｅｄ  ＮｏＣとがある。
【０００６】
このＣＤＭＡ  Ｂａｓｅｄ  ＮｏＣは、コードの直交性質を利用して広い帯域幅を使用することができ、ノイズに強い。しかし、ＮｏＣで用いられるスイッチのＦａｉｒｎｅｓｓ保障とｓｔａｒｖａｔｉｏｎ防止のためのスケジューリング技術が提示されていないのが現状である。
【０００７】
また、ＣＤＭＡスイッチの使用にあたって、従来のように固定されたコードの長さを使用すれば、ある時点で信号を転送しようとするＩＰ数が少ないときも、広い帯域幅（Ｂａｎｄｗｉｄｔｈ）を占有するという問題点が発生する。
【０００８】
図１は、一般のＣＤＭＡスイッチの構造を示す図である。
一般に、ＣＤＭＡスイッチにおいて、一つのスイッチを少なくとも２個のＩＰが共有する。図１に示すＣＤＭＡスイッチは、８個のＩＰ（Ａ乃至Ｈ）が一つのスイッチを共有している。８個のＩＰ（Ａ乃至Ｈ）が連結されているスター構造でそれらのスイッチングを行なうためには、常に８ビットの互いに異なる直交コード（Ｗａｌｓｈ  Ｃｏｄｅ）をそれぞれのＩＰ（Ａ乃至Ｈ）に割当てる必要がある。それぞれのＩＰ（Ａ乃至Ｈ）毎に互いに異なるように割当てられた直交コード（Ｗａｌｓｈ  Ｃｏｄｅ）を表１に示す。
【０００９】
【表１】
2006191648.tif 000003
【００１０】
このように、各ポートでパケットスイッチングを行なう場合、ポート毎に異なるコードを割当てる必要があるので、少数のＩＰのみデータを交換するときにコードの無駄が生じる。なお、ＣＤＭＡスイッチは、ポート数が増加するほどコードの長さも長くなるので、スイッチ内部の計算量及び消費電力が増加する。
【００１１】
また、従来のＣＤＭＡスイッチは、スイッチ内部で競争が発生した場合、それを解決するスケジューリング法の具体的な提案が存在しなかった。スケジューリング法は、スイッチのＦａｉｒｎｅｓｓ維持及びＬａｔｅｎｃｙ減少など、効率的な一つのチップにおけるネットワーク動作のために必ず必要な技術である。
【００１２】
このような理由で、多くの利点を有するＣＤＭＡスイッチが広く利用されておらず、この問題点を解消する技術の開発が求められる。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明は、前記のような従来の問題点を解決するためになされたものであって、その目的は、スイッチに具備可能なポート数にかかわらず、データ転送時、データを保有するポート数に応じてコードの長さを可変的に割当てるネットワークオンチップシステムのスイッチング装置及びそのスケジューリング方法を提供することである。
【課題を解決するための手段】
【００１４】
前述した目的を達成するための本発明に係るネットワークオンチップシステムのスイッチング装置は、複数個の入力ポートと複数個の出力ポートを備えるスイッチング部と、入力ポート及び出力ポート間の転送経路を設定し、複数個の入力ポートのうちデータを保有する入力ポート数に基づいてコードの長さを決定し、設定された転送経路に対応する入力ポート及び出力ポートに決定されたコードの長さに所定のコードを割当てるスケジューラとを備える。
【００１５】
ここで、スケジューラは、入力ポートから出力ポートに転送を要請する要請経路を決定する要請経路仲裁器と、出力ポートから入力ポートに転送を許容する許容経路を決定する許容経路仲裁器とを備える。
【００１６】
好ましくは、要請経路仲裁器及び許容経路仲裁器は、異なるコードの長さを有する少なくとも一つの同心円状のテーブルからなるラウンドロビン方式の仲裁器であり、各同心円は、所定のコードワードが割当てられている複数個のセルを有することができる。
また、好ましくは、同心円数は、次式により求めることができる。
【００１７】
【数３】
2006191648.tif 000004
【００１８】
ここで、Ｎはスイッチング部に備えられる入力ポート数を示し、ｎは同心円の数を示す。
また、好ましくは、同心円状のテーブルには中心から外側に行くほど長さが増加する直交コードが割当てられる。
【００１９】
また、好ましくは、転送要請仲裁器及び転送許容仲裁器は、次式により中心からｍ番目の同心円に割当てられているコードを設定された転送経路に対応する入力ポート及び出力ポートに割当てることができる。
【００２０】
【数４】
2006191648.tif 000005
【００２１】
ここで、Ｎはスイッチング部に備えられる入力ポート数を示し、Ｔはデータを保有する入力ポート数を示す。
また、好ましくは、要請経路仲裁器は、転送を要請する出力ポートにおいて、ポインターを所定の方向に回転して、転送を要請する出力ポートのうち最も速く到達するセルに割当てられているコードを拡散コードとして決定することができる。
【００２２】
また、好ましくは、前記スケジューラは、前記要請経路仲裁器により前記拡散コードを決定した後、前記データを保有する入力ポートにＸＯＲ演算を適用することで衝突の発生有無を判断する。
【００２３】
また、好ましくは、前記スケジューラは、前記ＸＯＲ演算を適用した結果、少なくとも一つの“１”が存在しなければ前記データを保有する入力ポート間の衝突が発生したと判断する。
また、好ましくは、前記スケジューラは、前記データを保有する入力ポート間の衝突が発生したと判断されれば、前記同心円状のテーブルで前記データを保有する入力ポートが全て隣接するように位置を変更する。
【００２４】
また、好ましくは、許容経路仲裁器は、転送を許容する入力ポートにおいて、ポインターを所定の方向に回転して、転送を許容する入力ポートのうち最も速く到達するセルに割当てられているコードを逆拡散コードとして決定することができる。
また、好ましくは、所定のコードは、ＯＶＳＦ（Ｏｒｔｈｏｇｏｎａｌ  Ｖａｒｉａｂｌｅ  Ｓｐｒｅａｄｉｎｇ  Ｆａｃｔｏｒ）コードであることができる。
【００２５】
また、好ましくは、スイッチング部は、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）スイッチであることができる。
【００２６】
一方、本発明によるスイッチング装置のスケジューリング方法は、入力ポート及び出力ポート間の転送経路を設定する段階と、複数個の入力ポートのうちデータを保有する入力ポート数に基づいてコードの長さを決定する段階と、設定された転送経路に対応する入力ポート及び出力ポートに決定されたコードの長さに所定のコードを割当てる段階と、割当てられたコードによりデータを拡散及び逆拡散する段階とを含む。
【００２７】
好ましくは、転送経路を設定する段階は、入力ポートから出力ポートに転送を要請する要請経路を決定し、決定された要請経路により転送を要請する段階と、出力ポートから入力ポートに転送を許容する許容経路を決定し、決定された許容経路により転送を許容する段階とを含むことができる。
【００２８】
また、好ましくは、前記データを保有する入力ポートにＸＯＲ演算を適用することで衝突の発生有無を判断する段階をさらに含む。
また、好ましくは、前記衝突の発生有無を判断する段階において、前記ＸＯＲ演算を適用した結果、少なくとも一つの“１”が存在しなければ前記データを保有する入力ポート間の衝突が発生したと判断する。
【００２９】
また、前記衝突の発生有無を判断する段階において、前記データを保有する入力ポート間の衝突が発生したと判断されれば、前記同心円状のテーブルで前記データを保有する入力ポートが全て隣接するように位置を変更する。
また、好ましくは、所定のコードは、コードの長さが可変的であるＯＶＳＦコードであることができる。
【発明の効果】
【００３０】
本発明によるネットワークオンチップシステムのスイッチング装置及びそのスケジューリング方法は、スケジューラによりデータを保有する入力ポート数を判断し、その数に基づいて長さが可変的であるＯＶＳＦコードを適用して拡散コード及び逆拡散コードを割当てることによって、スイッチング部の内部計算量と消費電力を節減できる効果がある。
【発明を実施するための最良の形態】
【００３１】
以下、添付の図面に基づいて本発明の好適な実施形態を詳述する。
図２は、本発明の好適な実施形態によるスイッチング装置の構造を示す図である。
【００３２】
図２に示すように、本発明の好適な実施形態によるスイッチング装置は、複数個のポート２００ａ、２００ｂを有するスイッチング部１００と、複数個の仲裁器３１０ａ、３１０ｂを有するスケジューラ３００とを備える。
【００３３】
スイッチング部１００は、知能素子（図示せず）からデータを受信する複数個の入力ポート２００ａと、入力ポート２００ａから受信したデータを知能素子に出力する複数個の出力ポート２００ｂとを有する。なお、スイッチング部１００は、ＣＤＭＡであることが好ましい。
【００３４】
また、スイッチング部１００は、後述するスケジューラ３００により設定された転送経路を通じてデータが転送されるように入力ポート２００ａと出力ポート２００ｂ間のスイッチングを行なう。
【００３５】
入力ポート２００ａは、少なくとも一つの出力ポート２００ｂに転送を要請し（Ｒｅｑｕｅｓｔ）、出力ポート２００ｂは、少なくとも一つの入力ポート２００ａから入力される転送要請を許容する（Ｇｒａｎｔ）。
【００３６】
スケジューラ３００は、入力ポート２００ａ及び出力ポート２００ｂ間の転送経路を設定する。スケジューラ３００は、入力ポート２００ａ及び出力ポート２００ｂ間の転送経路を決定するために、入力ポート２００ａ及び出力ポート２００ｂに一対一対応する複数個の仲裁器３１０ａ、３１０ｂを備える。
【００３７】
一つの入力ポート２００ａから一つの出力ポート２００ｂに転送を要請し、出力ポート２００ｂにも一つの転送要請のみが入力される場合には、別途の転送経路設定が不要である。しかし、一つの入力ポート２００ａから複数の出力ポート２００ｂに転送を要請する場合、及び一つの出力ポート２００ｂに複数の転送要請が入力される場合には、必ず要請経路及び許容経路を設定する必要がある。これにより、本発明では仲裁器３１０ａ、３１０ｂが適用される。仲裁器３１０ａ、３１０ｂについては、図３を参照して詳細に説明する。
【００３８】
また、スケジューラ３００は、複数個の入力ポート２００ａのうち実際にデータを保有している、つまりアクティブな入力ポート２００ａの数に基づいて入力ポート２００ａ及び出力ポート２００ｂに割当てられるコードの長さ（Ｃｏｄｅ  Ｌｅｎｇｔｈ）を決定する。スケジューラ３００は、コードの長さを決定した後、既に設定された転送経路に対応する入力ポート２００ａ及び出力ポート２００ｂに決定されたコードの長さのコードを割当てる。
【００３９】
スケジューラ３００は入力ポート２００ａ及び出力ポート２００ｂにコードを割当てた後、入力ポート２００ａのうちアクティブな入力ポートにＸＯＲ演算を適用することで、衝突の発生有無を判断する。ここで、スケジューラ３００はＸＯＲ演算を適用した結果、“１”が存在しなければアクティブな入力ポート間の衝突が発生したと判断する。
【００４０】
衝突が発生しない場合、ＸＯＲ演算結果値に少なくとも一つの“１”が存在する。例えば、“００１１”ＸＯＲ“０１０１”＝“０１１０”を見れば分かるように、ＸＯＲ演算結果値に二つの“１”が存在する。
【００４１】
１個の衝突が発生する場合、ＸＯＲ演算結果値に“１”は存在しない。例えば、“０１０１”ＸＯＲ“０１０１”＝“００００”を見れば分かるように、ＸＯＲ演算結果値に“１”は一つも存在しない。
【００４２】
また、２個の衝突が発生する場合もある。これは、１個の衝突が発生する場合と同様にＸＯＲ演算結果値に“１”が存在しない。例えば、“００１１”ＸＯＲ“００１１”＝“００００”または“０１０１”ＸＯＲ“０１０１”＝“００００”を見れば分かるように、ＸＯＲ演算結果値に“１”が存在しない。
【００４３】
スケジューラ３００は、ＸＯＲ演算結果、アクティブな入力ポート間の衝突が発生したと判断すれば、同心円状のテーブルでアクティブな入力ポートがすべて隣接するように位置を変更する。これにより、例えば、８個の入力ポートのうち４個の入力ポートがアクティブである場合、同心円状のテーブルで３個の入力ポートが隣り合い、１個の入力ポートが他の３個の入力ポートから離隔している時に生じ得る衝突の発生を防止できる。
【００４４】
好ましくは、スケジューラ３００により入力ポート２００ａ及び出力ポート２００ｂに割当てられるコードは、ＯＶＳＦコードである。ＯＶＳＦコードは、直交コードの長さが可変的なコードであり、その例を表２に示す。
【００４５】
【表２】
2006191648.tif 000006
【００４６】
表２を参照して、スケジューラ３００は、データを保有している入力ポート２００ａが２個以下であれば、転送経路に対応する入力ポート２００ａ及び出力ポート２００ｂに２Ｓのコードを割り当て、データを保有している入力ポート２００ａが３個又は４個であれば、転送経路に対応する入力ポート２００ａ及び出力ポート２００ｂに４Ｓのコードを割り当て、データを保有している入力ポート２００ａが５〜８個であれば、転送経路に対応する入力ポート２００ａ及び出力ポート２００ｂに８Ｓのコードを割り当てることができる。このように、スケジューラ３００は、データを保有している入力ポート２００ａの数に応じて可変的にコードを割当てる。
【００４７】
図３は、本発明の好適な実施形態による仲裁器を示す図である。
図３に示すように、仲裁器３１０ａ、３１０ｂは、ラウンドロビン方式を適用しており、本実施形態における仲裁器３１０ａ、３１０ｂは、少なくとも一つの同心円状のテーブルからなる。なお、同心円状のテーブルが複数ある場合には、異なるコードの長さを有する。
【００４８】
仲裁器３１０ａ、３１０ｂの同心円状のテーブルは、入力ポート２００ａの数に対応する個数のセルに区分され、各セルには同心円の中心から外側に行くほど長さが増加するように表２に示したＯＶＳＦコードが割当てられる。仲裁器３１０ａ、３１０ｂに割当てられているＯＶＳＦコードは、入力ポート２００ａ及び出力ポート２００ｂのポート名と対応する。
【００４９】
図３に示されていないが、ラウンドロビン方式の仲裁器３１０ａ、３１０ｂは、複数個の転送要請（Ｒｅｑｕｅｓｔ）の一つを選択したり、あるいは複数個の転送許容（Ｇｒａｎｔ）の一つを選択したりするために、ラウンドロビンポインターを使用する。
【００５０】
入力ポート２００ａに連結されている仲裁器３１０ａは、現在のポインターから所定の回転方向に回転して、入力ポート２００ａが転送を要請する複数個の出力ポート２００ｂのうち最も速く到達するポート名に該当する出力ポート２００ｂを、転送を要請するポートとして決定する。以下、入力ポート２００ａと連結されている仲裁器３１０ａを要請経路仲裁器３１０ａと言う。
【００５１】
出力ポート２００ｂと連結されている仲裁器３１０ｂは、現在のポインターから所定の回転方向に回転して、転送を要請した複数個の入力ポート２００ａのうち最も速く到達するポート名に該当する入力ポート２００ａを、転送を許容するポートとして決定する。以下、出力ポート２００ｂと連結されている仲裁器３１０ｂを許容経路仲裁器３１０ｂと言う。
【００５２】
本発明の好適な実施形態に拠れば、要請経路仲裁器３１０ａ及び許容経路仲裁器３１０ｂは、複数個の入力ポート２００ａ及び複数個の出力ポート２００ｂに一対一対応するように備えられ、複数個の仲裁器２１０はそれぞれ独立的に動作する。
【００５３】
要請経路仲裁器３１０ａ及び許容経路仲裁器３１０ｂの同心円数は、スイッチング部１０に備えられる入力ポート２００ａの数によって決定される。これを式（５）に示す。
【００５４】
【数５】
2006191648.tif 000007
【００５５】
ここで、Ｎはスイッチング部１００に具備可能な入力ポート２００ａ数を示し、ｎは同心円数を示す。
図３を参照して、一つのスイッチング部１００に具備可能な入力ポート２００ａの数を８個に限定すると仮定し、これにより、要請経路仲裁器３１０ａ及び許容経路仲裁器３１０ｂの同心円数は、式（５）により３個に限定するものを例として説明する。
【００５６】
要請経路仲裁器３１０ａ及び許容経路仲裁器３１０ｂは、式（６）により、同心円の中心からｍ番目の同心円に割当てられているコードを転送経路に対応する入力ポート２００ａ及び出力ポート２００ｂに割当てる。ここで、入力ポート２００ａに割当てられるコードは、拡散コード（ｓｐｒｅａｄｉｎｇ  ｃｏｄｅ）として使用され、出力ポート２００ｂに割当てられるコードは、逆拡散コード（ｄｅｓｐｒｅａｄｉｎｇ  ｃｏｄｅ）として使用される。
【００５７】
【数６】
2006191648.tif 000008
【００５８】
ここで、Ｎはスイッチング部１００に備えられる入力ポート２００ａの数を示し、Ｔはデータを保有する入力ポート２００ａの数を示す。
即ち、データを保有している入力ポート２００ａが２個以下であれば、中心から１番目の同心円コードを適用し、データを保有している入力ポート２００ａが３個又は４個であれば、中心から２番目の同心円コードを適用し、データを保有している入力ポート２００ａが５〜８個であれば、中心から３番目の同心円コードを適用する。
【００５９】
図４Ａ〜Ｃは、本発明によるスイッチング装置の動作を説明するための図である。図４Ａは、スイッチング部２００に備えられた入力ポート２１０、２２０、２３０、２４０及び出力ポート２５０、２６０、２７０、２８０を示し、図４Ｂは、入力ポート２１０、２２０、２３０、２４０の構造を示し、図４Ｃは、入力ポート２１０、２２０、２３０、２４０と出力ポート２５０、２６０、２７０、２８０間の転送経路設定過程を示す。
【００６０】
図４Ａに示すように、スイッチング部２００は、４個の入力ポート２１０、２２０、２３０、２４０及び４個の出力ポート２５０、２６０、２７０、２８０を備え、入力ポート２１０、２２０、２３０、２４０と出力ポート２５０、２６０、２７０、２８０が対をなして所定のポート名が割当てられる。
【００６１】
図４Ｂに示すように、入力ポート２１０、２２０、２３０、２４０は、ＶＯＱ（Ｖｉｒｔｕａｌ  Ｏｕｔｐｕｔ  Ｑｕｅｕｉｎｇ）として使用されるバッファー２１１、２２１、２３１、２４１を備える。“００００”入力ポート２１０及び“０１０１”入力ポート２３０には転送を要請するパケットＰがそれぞれ２個存在し、“０１１０”入力ポート２４０には転送を要請するパケットＰが１個存在することが分かる。また、“００１１”入力ポート２２０には転送を要請するパケットＰが存在しない。
【００６２】
図示するように、バッファー２１１、２２１、２３１、２４１の次の段に要請経路仲裁器３１１、３１２、３１３、３１４が位置することができる。要請経路仲裁器３１１、３１２、３１３、３１４は、それぞれそれに対応する入力ポート２１０〜２４０の転送要請のいずれか一つを選択する。
【００６３】
図４Ｃを参照して、入力ポート２１０、２２０、２３０、２４０と出力ポート２５０、２６０、２７０、２８０間の転送経路設定過程を説明する。
（ａ）を参照すれば、“００００”入力ポート２１０は、“００００”出力ポート２５０と“００１１”出力ポート２６０に転送を要請する。また、“０１０１”入力ポート２３０は、“００１１”出力ポート２６０及び“０１１０”出力ポート２８０に転送を要請する。また、“０１１０”入力ポート２４０は、“０１１０”出力ポート２８０に転送を要請する。
【００６４】
このように重複する転送要請は、要請経路仲裁器３１１、３１２、３１３、３１４により、“００００”入力ポート２１０は“００００”出力ポート２５０に転送を要請し、“０１０１”入力ポート２３０は、“００１１”出力ポート２６０に転送を要請し、“０１１０”入力ポート２４０は、“０１１０”出力ポート２８０に転送を要請することで仲裁する。
【００６５】
（ｂ）を参照すれば、許容経路仲裁器２１０により、“００００”出力ポート２５０は、“００００”入力ポート２１０の転送要請を許容し、“００１１”出力ポート２６０は、“０１０１”入力ポート２３０の転送要請を許容し、“０１１０”出力ポート２８０は、“０１１０”入力ポート２４０の転送要請を許容する。
【００６６】
（ａ）及び（ｂ）段階により、“００００”入力ポート２１０と“００００”出力ポート２５０には拡散コード及び逆拡散コードとして“００００”が割当てられる。また、“０１０１”入力ポート２３０と“００１１”出力ポート２６０には拡散コード及び逆拡散コードとして“００１１”が割当てられる。また、“０１１０”入力ポート２４０と“０１１０”出力ポート２８０には拡散コード及び逆拡散コードとして“０１１０”が割当てられる。
【００６７】
（ｃ）を参照すれば、“００００”入力ポート２１０は割当てられたコード“００００”を利用してデータを拡散して“００００”出力ポート２５０に転送する。また、“０１０１”入力ポート２３０は割当てられたコード“００１１”を利用してデータを拡散して“００１１”出力ポート２６０に転送する。また、“０１１０”入力ポート２４０は割当てられたコード“０１１０”を利用してデータを拡散して“０１１０”出力ポート２８０に転送する。
【００６８】
“００００”出力ポート２５０、“００１１”出力ポート２６０及び“０１１０”出力ポート２８０はそれぞれ割当てられた逆拡散コード“００００”、“００１１”及び“０１１０”を利用して転送されたデータを逆拡散する。
【００６９】
図５は、スケジューラの衝突防止のための優先順位を示す図である。
図５を参照して、スケジューラ３００でＸＯＲ演算を適用して衝突が発生したと判断した場合、アクティブな入力ポート間の衝突を防止するための方法を説明する。
【００７０】
本実施形態において、スケジューラ３００でアクティブな入力ポート間の衝突を防止するための方法として、同心円状のテーブルに優先順位を設定する。優先順位は図５に図示したように、１＞２＞３＞４＞５＞６＞７＞８である。
【００７１】
図６は、スケジューラの衝突防止方法を適用した例を示す図である。
図６を参照すれば、アクティブな入力ポート（実線で表示）は“００００”、“０１０１”、“０１１０”、“００００”である。ここで、“００００”が衝突することが分かる。このとき、“００００”を矢印方向に２コマ移動させても“０１０１”が衝突する。したがって、本実施形態において、他の３個の入力ポートから離隔している“００００”のポインターを時計回りに移動させて“００１１”に変更する。これにより、アクティブな入力ポート間の発生する衝突を解消できる。
【００７２】
図７は、本発明によるスイッチング装置のスケジューリング方法を説明するためのフローチャートである。以下、図２乃至図６を参照して本発明によるスイッチング装置のスケジューリング方法を説明する。
【００７３】
入力ポート２００ａで転送を要請する出力ポート２００ｂに対する要請経路を決定する。この時、一つの入力ポート２００ａから発生する転送要請は、一つあるいは一つ以上であり得る（Ｓ４００）。
【００７４】
要請経路仲裁器３１０ａにより転送を要請する要請経路が決定されれば、入力ポート２００ａは決定された要請経路に対応する出力ポート２００ｂに転送を受けるべき旨の要請（以下、適宜「転送要請」という。）する（Ｓ４１０）。
入力ポート２００ａから転送要請を受けた出力ポート２００ｂは、転送を許容する許容経路を決定する。この時、一つの出力ポート２００ｂに入力される転送要請は、一つあるいは一つ以上であり得るので、許容経路仲裁器３１０ｂにより許容経路が決定される（Ｓ４２０）。
【００７５】
許容経路仲裁器３１０ｂにより転送を許容する許容経路が決定されれば、出力ポート２００ｂは決定された許容経路に該当する入力ポート２００ａに転送を許容する（Ｓ４３０）。
入力ポート２００ａが転送を要請し、出力ポート２００ｂが転送を許容することによってデータの転送経路が決定されれば、スケジューラ３００は、決定された転送経路に対応する入力ポート２００ａ及び出力ポート２００ｂに所定のコードを割当てる（Ｓ４４０）。この時、入力ポート２００ａ及び出力ポート２００ｂに割当てられるコードは、スケジューラ３００により、データを保有する入力ポート２００ａ数に基づいてその長さが決定される。
【００７６】
スケジューラ３００は、入力ポート２００ａのうちアクティブな入力ポートにＸＯＲ演算を適用して、割当てられたコード間の衝突の発生有無を判断する（Ｓ４５０）。
スケジューラ３００は、ＸＯＲ演算結果アクティブな入力ポート間の衝突が発生したと判断されれば（Ｓ４５０で「Ｙ」）、同心円状のテーブルでアクティブな入力ポートがすべて隣接するように位置を変更する（Ｓ４６０）。
【００７７】
入力ポート２００ａは、割当てられた拡散コードによりデータを拡散して出力ポート２００ｂに転送し、出力ポート２００ｂは、入力ポート２００ａからデータを受信して割当てられた逆拡散コードによりデータを逆拡散する（Ｓ４７０）。
図８Ａ乃至図８Ｂは、本発明によるスイッチング装置の経路設定及びコード割り当て方法を示す図である。
【００７８】
図８Ａを参照して、入力ポート２００ａ及び出力ポート２００ｂがそれぞれ４個ずつ備えられたスイッチング部１００において、４個の入力ポート２００ａがデータを保有している場合を例として経路設定及びコード割り当て方法を説明する。
【００７９】
（ａ）を参照すれば、“００００”入力ポートは、“００００”出力ポートと“００１１”出力ポートに転送を要請しようとし、“００１１”入力ポートは、“００００”出力ポート、“０１０１”出力ポート及び“０１１０”出力ポートに転送を要請しようとする。また、“０１０１”入力ポートは、“０１０１”出力ポートに転送を要請しようとし、“０１１０”入力ポートは、“００１１”出力ポート及び“０１０１”出力ポートに転送を要請しようとする。
【００８０】
このように、一つの入力ポート２００ａから複数個の出力ポート２００ｂに転送を要請する場合、要請経路仲裁器３１０ａにより一つの出力ポート２００ｂを選択する。
（ｂ）を参照すれば、仲裁器Ａ１は、ポインターが“００００”に位置しているので、“００００”出力ポートに転送要請を行なうように決定する。仲裁器Ａ２は、ポインターが“００１１”に位置しているので、回転方向に回転して最も速く到達する“０１０１”出力ポートに転送要請を行なうように決定する。仲裁器Ａ３は、ポインターが“０１０１”に位置しているので、“０１０１”出力ポートに転送要請を行なうように決定する。仲裁器Ａ４は、ポインターが“００００”に位置しているので、“００１１”出力ポートに転送要請を行なうように決定する。
【００８１】
好ましくは、仲裁器Ａ１乃至Ａ４は、現在のポインターから回転方向（矢印方向）に移動して転送要請を行なうコードを決定した後、決定したコードが次の転送要請時に使用されないようにポインターを９０度回転する。これは、（ｂ）に示す矢印によって分かる。
【００８２】
仲裁器Ａ１乃至Ａ４で決定された要請経路により、入力ポート２００ａが出力ポート２００ｂに転送を要請する。（ｃ）を通じて一つの出力ポート２００ｂに一つあるいは複数個の転送要請が転送されたことが分かる。
【００８３】
（ｄ）を参照すれば、仲裁器Ｇ１は、現在のポインター“００１１”から回転して“００００”を選択し、仲裁器Ｇ２は、現在のポインター“０１１０”により“０１１０”を選択する。また、仲裁器Ｇ３は、現在のポインター“０１０１”により“０１０１”を選択し、仲裁器Ｇ４は、現在のポインター“００００”であるが、転送要請がないので動作しない。
【００８４】
（ｅ）を参照すれば、仲裁器Ｇ１乃至Ｇ４で決定された許容経路により、出力ポート２００ｂが入力ポート２００ａに転送を許容する。
“００００”入力ポート及び“００００”出力ポートには、拡散コード及び逆拡散コードとして“００００”が割当てられ、“０１０１”入力ポート及び“０１０１”出力ポートには、拡散コード及び逆拡散コードとして“０１０１”が割当てられる。また、“０１１０”入力ポート及び“００１１”出力ポートには、拡散コード及び逆拡散コードとして“０１１０”が割当てられる。
【００８５】
図８Ｂを参照して、入力ポート２００ａ及び出力ポート２００ｂがそれぞれ４個ずつ備えられたスイッチング部１００において、２個の入力ポート２００ａがデータを保有している場合を例にして経路設定及びコード割り当て方法を説明する。
【００８６】
（ａ）を参照すれば、“００１１”入力ポートは、“０１０１”出力ポート及び“０１１０”出力ポートに転送を要請しようとし、“０１１０”入力ポートは、“００１１”出力ポート及び“０１０１”出力ポートに転送を要請しようとする。このように、データを保有している入力ポート２００ａが２個である場合、スケジューラ３００は、同心円の中心から１番目にある同心円に割当てられたコードを適用する。
【００８７】
（ｂ）を参照すれば、仲裁器Ａ２は、現在のポインター“００１１”から回転方向に回転して“０１０１”に対応する“００”を選択し、仲裁器Ａ４は、現在のポインター“００００”から回転方向に回転して“００１１”に対応する“０１”を選択する。ここで、仲裁器Ａ１、Ａ３は動作しない。
【００８８】
（ｃ）を参照すれば、“００１１”入力ポートは、仲裁器Ａ２により決定されたとおり、“０１０１”出力ポートに転送を要請し、“０１１０”入力ポートは、仲裁器Ａ４により決定されたとおり、“００１１”出力ポートに転送を要請する。
【００８９】
（ｄ）を参照すれば、“０１１０”入力ポートから転送要請を受けた“００１１”出力ポートは、仲裁器Ｇ２により“０１１０”に対応する“０１”を選択する。また“０１０１”入力ポートから転送要請を受けた“０１０１”出力ポートは、仲裁器Ｇ３により“００１１”に対応する“０１”が選択されるが、仲裁器Ｇ２で決定されたコードと重複するので、スケジューラ３００は仲裁器Ｇ３のポインターを９０度回転して“００”を選択する。
【００９０】
以上、本発明の好適な実施形態について図示し説明したが、本発明は、上述した特定の実施形態に限定されるものではなく、特許請求の範囲で請求している本発明の要旨を逸脱することなく当該発明の属する技術分野における通常の知識を有する者であれば誰でも種々の変形実施が可能であることはもとより、そのような変更は、本発明の特許請求の範囲に含まれることは自明である。
すなわち、本発明の技術的範囲は、特許請求の範囲の記載に基づいて定めなければならない。
【図面の簡単な説明】
【００９１】
【図１】一般のＣＤＭＡスイッチの構造を示す図である。
【図２】本発明の好適な実施形態によるスイッチング装置の概略図である。
【図３】本発明の好適な実施形態による仲裁器を示す図である。
【図４Ａ】本発明によるスイッチング装置の動作を説明するための図である。
【図４Ｂ】本発明によるスイッチング装置の動作を説明するための図である。
【図４Ｃ】本発明によるスイッチング装置の動作を説明するための図である。
【図５】スケジューラの衝突防止のための優先順位を示す図である。
【図６】スケジューラの衝突防止方法を適用した例を示す図である。
【図７】本発明によるスイッチング装置のスケジューリング方法を説明するためのフローチャートである。
【図８Ａ】本発明によるスイッチング装置の経路設定及びコード割り当て方法を示す図である。
【図８Ｂ】本発明によるスイッチング装置の経路設定及びコード割り当て方法を示す図である。
【符号の説明】
【００９２】
１００  スイッチング部
２００  ポート
３００  スケジューラ
３１０  仲裁器
【図１】
2006191648.tif 000011
【図２】
2006191648.tif 000012
【図３】
2006191648.tif 000013
【図４Ａ】
2006191648.tif 000014
【図４Ｂ】
2006191648.tif 000015
【図４Ｃ】
2006191648.tif 000016
【図５】
2006191648.tif 000017
【図６】
2006191648.tif 000018
【図７】
2006191648.tif 000019
【図８Ａ】
2006191648.tif 000020
【図８Ｂ】
2006191648.tif 000021