(57)【要約】【課題】複数のプロセッサが少数のバスを介して接続されたマルチプロセッサシステムにおいて，拡散符号長を動的に長くしたり，短くしたりすることで転送速度とデータの多重数とで最適化を行い，バスの限られた帯域を効率よく使用する．【解決手段】まず通信路を設定するのに必要な情報を送信部９が送り出し，それを通信制御部１１が解析して通信情報に用いる拡散符号を割り当てたり，通信の終了を検出して割り当てた拡散符号を解放したりして符号の使用状況を管理する．そして，符号の使用状況に応じて拡散符号長を動的に伸縮させる．【選択図】　　　　図２
2004023305.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサが少数のバスを介して接続されたマルチプロセッサシステムにおいて，拡散符号を発生する拡散符号発生回路と，バス上の任意のプロセッサ間に複数の通信路を設定するのに必要な情報とプロセッサ間で送受信する通信情報をスペクトル拡散してバスに送り出す送信部と，バスの信号を所定の符号でスペクトル逆拡散してバス上に通信路を設定するのに必要な情報とプロセッサ間で送受信する通信情報を受信して保持する受信部と，この受信部が保持したバス上に通信路を設定するのに必要な情報を解析し，この解析結果により通信情報を拡散・逆拡散するための符号の割り当てを行う機能と送信命令，受信命令を出す通信制御部を有することを特徴とするプロセッサ間通信装置．
【請求項２】
前記通信制御部では，バス上の通信路設定情報から通信情報の送信と受信を判別して，通信路設定情報に基づいて送受信する通信情報に用いる拡散符号の割り当てを行う機能と，バスに流れている全ての通信情報について通信の終了を検出して割り当てた拡散符号を解放する機能を有し，拡散符号の使用状況に応じて拡散符号長を動的に伸縮することを特徴とする請求項１のプロセッサ間通信装置．
【請求項３】
前記通信制御部は，緊急に通信する通信情報が発生したことをバスの通信路設定情報から検出すると，その時バスに流れている通信情報の送受信を一旦止めて緊急情報のみを通信するように通信路を設定する機能と，緊急情報の通信が終了すると前の通信路設定状態に戻す機能を有することを特徴とする請求項１のプロセッサ間通信装置．
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明はマルチプロセッサシステムにおけるプロセッサ間通信装置に関するものである．
【０００２】
【従来の技術】
複数のプロセッサが共有のバスを介して接続されたマルチプロセッサシステムにおけて，任意のプロセッサ間で複数の通信路を設定して情報通信を行なうために，時間軸を分割して，分割された時間（タイムスロットと呼ぶ）を設定する．このタイムスロットに対して各通信路を割り当て，順次，時分割で情報を通信する方式が一般に用いられている．各プロセッサは同期して情報の送信，受信を行なう．通信すべき情報量が固定されているようなシステムでは効率よく通信を行なうことができるが，情報量が時間とともに変動したり，通信する情報の優先度が異なったり，また，優先度が状況に応じて変動するようなシステムでは効率よく通信を維持することは困難である．
【０００３】
また，無線通信で使われているＣＤＭＡ（Ｃｏｄｅ　Ｄｉｖｉｓｉｏｎ　Ｍｕｌｔｉｐｌｅ　Ａｃｃｅｓｓ：符号分割多重）方式がある．互いに相関が小さく自己相関が十分に大きい拡散符号系列を用いることで周波数軸・時間軸上で干渉し合っている信号同士でも同時に通信できる方法である．つまり，コードによる多重化を行なって，同時に複数のデータを送ることができる方式である．これをマルチプロセッサシステムの通信に用いることが提案されている．しかし，コード割り当てを融通性高く変更することはできないので，前述したようなシステムにおいて，効率のよい通信を実現することはできない．
【０００４】
【発明が解決しようとする課題】
各プロセッサに予め拡散符号系列を割り当てた構成では，通信が行なわれていないプロセッサ間にも常に一定の帯域が確保されてしまうため通信路の効率よい通信が出来ないといった問題が生じる．
【０００５】
特に，ロボット制御などでは（少ない通信路で）低レベルなデバイスの制御でセンサーフィードバックに用いるリアルタイム性の要求されるデータと，転送がある程度遅れても構わない学習に用いるデータといった転送条件の異なるデータが存在する．これらの情報の発生は規則的に起こらない場合も多い．このような情報を通常の時分割の通信路で扱うことは効率的でないという問題が生じる．
【０００６】
本発明の目的は，上述した問題点を解決するために，ＣＤＭＡ方式において拡散符号長を動的に長くしたり，短くしたりすることで転送速度とデータの多重数とで最適化を行うことで通信路の限られた帯域を効率よく使用し，更には転送条件の異なるデータに対応できるプロセッサ間通信装置を提供することにある．
【０００７】
【課題を解決するための手段】
本発明のプロセッサ間通信装置は，複数のプロセッサが少数のバスを介して接続されたマルチプロセッサシステムにおいて，拡散符号を発生する拡散符号発生回路と，バス上の任意のプロセッサ間に拡散符号の割り当てによって生成される通信路を設定するのに必要な情報とプロセッサ間で送受信する通信情報をスペクトル拡散してバスに送り出す送信部と，バスの信号を所定の符号でスペクトル逆拡散してバス上に通信路を設定するのに必要な情報とプロセッサ間で送受信する通信情報を受信して保持する受信部と，この受信部が保持したバス上の通信路を設定するのに必要な情報を解析し，この解析結果により通信情報を拡散，逆拡散するための符号の割り当てる機能と送信命令，受信命令を出す通信制御部を有することを特徴とする．
【０００８】
また，本発明の好ましい実施の形態としてのプロセッサ間通信装置では，バス上の通信路設定情報から通信情報の送信と受信を判別し，通信路設定情報に基づいて送受信する通信情報に用いる拡散符号の割り当てを行う機能と，バスに流れている全ての通信情報について通信の終了を検出して割り当てた拡散符号を解放する機能を有し，拡散符号の使用状況に応じて拡散符号長を動的に伸縮することができる．
【０００９】
また，本発明の好ましい実施の形態としてのプロセッサ間通信装置では，緊急に通信する通信情報が発生したことをバスの通信路設定情報から検出すると，その時バスに流れている通信情報の送受信を一旦止めて緊急情報のみを優先して通信するように通信路を設定し，緊急情報の通信が終了すると前の通信路設定状態に戻すことができる．
【００１０】
本発明によるプロセッサ間通信装置は，各通信装置でバスに流れている情報の種類を随時監視して拡散符号長を動的に伸縮することにより，転送速度とデータの多重数とで最適化を行い，バスの限られた帯域を効率良く使用することでシステム性能を上げるものである．
【００１１】
【発明の実施の形態】
以下，本発明の実施例について図面を参照しながら説明する．
【００１２】
図１は本発明が適用されるマルチプロセッサシステムを示し，３つのプロセッサ１，２，３がそれぞれ通信装置４，５，６を介してバス７に接続されている．
【００１３】
図２は，図１における通信装置のブロック図であり，拡散符号を発生する拡散符号発生回路８と，プロセッサからの情報を一度保持し，バス上に通信路を設定するのに必要な情報とプロセッサ間で送受信する通信情報を拡散符号発生回路８で発生した拡散符号で拡散してバス７に信号を送り出す送信部９と，バス７の信号を拡散符号発生回路８で発生した拡散符号で逆拡散して通信路設定情報とプロセッサ間で送受信する通信情報を受信して保持しておく受信部１０と，受信部１０が保持する通信路設定情報を解析してデータの送受信命令の発行と拡散符号の割り当てを行い，ビット区間を示す信号を発生する通信制御部１１を有する．
【００１４】
次に，以上に述べた様に構成されたプロセッサ間通信装置の動作について説明する．プロセッサ１からプロセッサ２にプロセッサ間通信を行う場合，プロセッサ１はメモリアクセスする形で情報が通信装置４へ送られる．すると情報を受けた送信部９はまず通信路設定情報，例えば，送信元を示すプロセッサ番号，データサイズ，緊急データか通常データかの３つで構成された情報を１ビットずつ制御用に割り当てられた拡散符号で拡散を行って信号をバス７へ送り出す．すると全てのプロセッサ間通信装置の受信部１０は随時制御用の拡散符号で逆拡散しており，バス７に送り出されたデータ情報は全ての通信装置が受信する．通信制御部１１はデータ情報を受けると図３に示す順に処理を行う．まず，通信路設定情報を基に送受信する通信情報に使用する拡散符号を決定する．次に，通信路設定情報の送信元とプロセッサ番号と自分のプロセッサ番号を比較して決定した拡散符号で通信情報を送信するかどうかを送信部に伝え，通信路設定情報の送信元と受信プロセッサ番号と比較して決定した拡散符号で通信情報を受信するかどうかを受信部へ伝える．これにより通信装置４では送信部９に決定した拡散符号で通信情報を送信するように送信部９へ命令が発行され，通信装置５では受信部１０に決定した拡散符号で通信情報を受信するように受信部１０へ命令が発行される．全ての通信装置は同期して動作させることで，通信装置４の送信部９にセットされた拡散符号と通信装置５の受信部１０にセットされた拡散符号は同一であるようにする．これにより，送信命令を受けた通信装置４は通信情報に割り当てられた前記拡散符号で拡散を行ってバスへ信号を送り出して，受信命令を受け同じ拡散符号が受信部１０に割り当てられた通信装置５のみが通信情報を取り込む．通信装置５の受信部１０が通信装置４から送られてきた通信情報を全て受け取る受信部１０はプロセッサ２に対して割り込み処理を行ってデータを渡す．
【００１５】
拡散符号発生回路８での拡散符号の一生成例としてウォルシュ符号を発生させる．図４はウォルシュ符号を生成する方法を示しており，信号を２Ｎビット毎に反転させることで新たなウォルシュ符号を発生させる．このとき，Ｎの値を０から順に大きくして新たに符号として生成される順に番号を割り当てる．最初は全て’０’の［符号０］が存在し，２０ビットごとに［符号０］を反転させたものを［符号１］とする．次に，［符号０］と［符号１］を２１ビットごとに反転させて，［符号２］，［符号３］とする．このように符号は２Ｎずつ増えていく．通信制御部１１がバスの調停信号に相当するデータ情報を受けたとき，未使用の符号の中で割り当てられた前記番号が最も小さいものを使用する拡散符号として決定する．
【００１６】
次に，拡散符号長を動的に伸ばしたり，縮めたりすることで転送速度とデータの多重数とで最適化を行う方法ついて説明する．通信制御部１１はビット区間を示す信号を出力し，それを送信部と受信部へ伝えることで拡散，逆拡散のタイミングを制御する．図５は拡散時の波形の様子を示しており，ビット区間を示す信号が通信制御部１１から送られてくる信号である．この信号の立ち上がりから次の立ち上がりまでが１つのビット区間を示し，立ち上がる毎に１ビットずつデータの更新を行う．信号の立ち上がるタイミングが遅くなれば，１ビットのデータに対して掛け合わせる拡散符号が増加し，転送速度が落ちる代わりに多重化できるデータ数が増える．立ち上がるタイミングが早くなれば，１ビットのデータに対して掛け合わせる拡散符号が減少し，転送速度が上がり多重化できるデータ数が減る．この信号の立ち上がるタイミングを通信制御部１１で符号の使用状況を随時管理することで制御する．図６に制御方法の一例を示す．符号には上述したウォルシュ符号を使用する．まず［符号１５］から［符号８］の中で８つの符号の中で１つでも使用状態になっているかを調べる．使用状態になっている符号があると拡散符号長を１６にセットし，ビット区間に拡散符号が１６入るようにビット区間を示す信号の立ち上がりタイミングを制御する．［符号１５］から［符号８］の何れも使用状態でなければ，次に［符号７］から［符号４］の４つの符号の中で１つでも使用状態になっているかどうかを調べる．使用状態になっている符号が１つでもあると拡散符号長を８にセットし，ビット区間に拡散符号が８入るようにビット区間を示す信号の立ち上がりタイミングを制御する．何れも使用状態でなければ，拡散符号長を４にセットし，ビット区間に拡散符号が４入るようにビット区間を示す信号の立ち上がりタイミングを制御する．これにより拡散符号の使用状況から拡散符号長を４，８，１６の３段階に制御できる．
【００１７】
また，図６に示すように始めに緊急データの送受信命令かどうかを判別する処理を加え，緊急の場合は，他のデータ転送を止めて最も拡散符号長が短い４にセットすることで緊急データのみの高速通信ができる．
【００１８】
なお，送受信時に使用する拡散符号としては，ウォルシュ符号以外に優れた相関特性をもつＭ系列や符号系列を多くもつことができるＧｏｌｄ系列といったものも符号の割り当てる規則性を与えることで用いることができる．
【００１９】
【発明の効果】
本発明によれば，バス上に通信路を設定するのに必要な情報を始めに送り，拡散符号の割り当てと使用状況を管理し，拡散符号長を動的に制御することで，多重化できるデータの数とデータ転送速度とを最適化できる．そのため，バスを効率よく使用することができる．
【００２０】
さらに，バス上に通信路を設定するのに必要な情報に緊急信号であるかどうかといった転送条件を判別する情報を組み込むことで，同一のバス上で転送条件の異なるデータを扱うことができる．
【図面の簡単な説明】
【図１】本発明の一実施例を示すブロック図
【図２】本発明のプロセッサ間通信装置の一例を示すブロック図
【図３】本発明における通信制御部のフローチャート図
【図４】本発明の拡散符号発生回路における拡散符号の発生方法の一例を示す図
【図５】通信制御部で発生するビット区間を示す信号，データ信号，拡散符号信号と拡散符号長の変化との関係を示す図
【図６】本発明の通信制御部で拡散符号長を決定する方法の一例を示すフローチャート図
【符号の説明】
１，２，３　　プロセッサ
４，５，６　　通信装置
７　　　　　　バス
８　　　　　　拡散符号発生装置
９　　　　　　送信部
１０　　　　　受信部
１１　　　　　通信制御部
【図１】
2004023305.tif 000003
【図２】
2004023305.tif 000004
【図３】
2004023305.tif 000005
【図４】
2004023305.tif 000006
【図５】
2004023305.tif 000007
【図６】
2004023305.tif 000008