(57)【要約】【課題】安定した高速の相互通信が可能なマルチプロセッサ構成を安価に実現する。【解決手段】別々のコンピュータシステムを構成しているＣＰＵ１０、２０のＬＡＮコントローラ１１、２１をＰＨＹコントローラを介さずに直接クロス接続する。ＬＡＮコントローラ１１、２１同士は、ＬＡＮコントローラとＰＨＹコントローラとの通信プロトコルであるＭＩＩプロトコルで通信する。ＣＰＵ１０、２０とＬＡＮコントローラ１１、２１とは、ＴＣＰ／ＩＰプロトコルで通信する。これにより、既存のハードウェア，ソフトウェア資源を活用できる疎結合で安定且つ高速なＣＰＵ相互通信が可能になる。【選択図】  図１                                                        
2005295105.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサシステムにおいてデータリンク層の処理を行うＬＡＮコントローラを、他のプロセッサシステムのＬＡＮコントローラと、物理層回路を介さずに直接クロス接続したことを特徴とするマルチプロセッサ構造。
【請求項２】
複数のデータリンク層インタフェースと、
１つのインタフェースから入力されたデータを他の１つのインタフェースから出力するデータ交換手段と、
を備えたＬＡＮエミュレータ。
【請求項３】
請求項２に記載のＬＡＮエミュレータの各インタフェースに、プロセッサシステムにおいてデータリンク層の処理を行うＬＡＮコントローラを直接接続したことを特徴とするマルチプロセッサ構造。
【請求項４】
データリンク層インタフェースを３つ以上備えたスイッチングハブの各インタフェースに、プロセッサシステムにおいてデータリンク層の処理を行うＬＡＮコントローラを直接接続したことを特徴とするマルチプロセッサ構造。
【請求項５】
前記複数のプロセッサシステムのうち少なくとも１つは、プロセッサに内蔵されたＬＡＮコントローラを用いてクロス接続していることを特徴とする請求項１、請求項３または請求項４に記載のマルチプロセッサ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のＣＰＵを連携して動作させるマルチプロセッサ構造に関する。
【背景技術】
【０００２】
複数のＣＰＵを連携動作させるマルチプロセッサ構成として、密結合の構成（たとえば特許文献１）と疎結合の構成（たとえば特許文献２）がある。
密結合の構成としては、複数のＣＰＵがバスおよびメモリを共有するもの、各ＣＰＵのバスをデュアルポートメモリで相互に接続するもの、各ＣＰＵのバス同士をＩ／Ｏポートで接続するものなどがある。密結合の利点は、ＣＰＵ同時が非常に高速に通信することができるため、高度な並列処理が可能になることである。
【０００３】
疎結合としては、それぞれ別々のコンピュータシステムをＬＡＮコントローラおよびＰＨＹ（物理層）コントローラを介して通信する。疎結合の利点は、安価に構成できることとソフト的な処理が容易であることなどである。
【特許文献１】特開平７−１５２７１１号公報
【特許文献２】特開平９−３１９７８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記マルチプロセッサ構成のうち、密結合では、システム毎に独自の通信プロトコルを開発する必要があり、汎用性が少なく、開発コストが掛かるという問題点があった。一方、疎結合では、一般的なＬＡＮと同様に通信ボトルネックやバスの競合が生じ、通信速度が上がらないという問題点があった。
【０００５】
この発明は、安定した高速の相互通信が可能なマルチプロセッサ構造を安価に実現することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、プロセッサシステムにおいてデータリンク層の処理を行うＬＡＮコントローラを、他のプロセッサシステムのＬＡＮコントローラと、物理層回路を介さずに直接クロス接続したことを特徴とする。
【０００７】
この発明のＬＡＮエミュレータは、複数のデータリンク層インタフェースと、１つのインタフェースから入力されたデータを他の１つのインタフェースから出力するデータ交換手段と、を備えたことを特徴とする。
【０００８】
この発明は、前記ＬＡＮエミュレータの各インタフェースに、プロセッサシステムにおいてデータリンク層の処理を行うＬＡＮコントローラを直接接続したことを特徴とする。
【０００９】
この発明は、データリンク層インタフェースを３つ以上備えたスイッチングハブの各インタフェースに、プロセッサシステムにおいてデータリンク層の処理を行うＬＡＮコントローラを直接接続したことを特徴とする。
【００１０】
この発明は、前記複数のプロセッサシステムのうち少なくとも１つは、プロセッサに内蔵されたＬＡＮコントローラを用いてクロス接続していることを特徴とする。
【発明の効果】
【００１１】
この発明によれば、配線基板上でＬＡＮを構築し、物理層（ＰＨＹコントローラやケーブル）を省略して相互に接続した。これにより、コネクタ、ファイチップなどの電気的なインタフェースを減らすことができ、疎結合によるマルチプロセッサ構造の小型化、省電力化を実現することができる。また、配線基板上であるため、配線インピーダンスを低くすることができ、疎結合でありながら高速のプロセッサ相互通信を実現することができる。
【００１２】
また、疎結合であるＬＡＮは、密結合によるマルチプロセッサ構造に比べて、既存のハードウェアおよびソフトウェアが豊富であるため、これら既存の資源を活用してマルチプロセッサ構造を実現することができ、開発のための時間や費用を節約できる利点がある。
【発明を実施するための最良の形態】
【００１３】
図面を参照してこの発明の実施形態について説明する。図１（Ａ）はこの発明の基本構成を示す図である。ＣＰＵ１０、２０には、それぞれＬＡＮコントローラ１１、２１が接続されている。ＬＡＮコントローラ１１とＬＡＮコントローラ２１は、相互にクロス接続されている。
【００１４】
ＬＡＮの通信において、ＣＰＵは、第７層（アプリケーション層（ＯＳＩ参照モデル））から第３層（ネットワーク層）までを管轄し、ＬＡＮコントローラは、第２層（データリンク層）を管轄する。一般的にＣＰＵとＬＡＮコントローラはＴＣＰ／ＩＰプロトコルで通信する。ＬＡＮコントローラは、Ｅｔｈｅｒｎｅｔ（登録商標）などの一般のＬＡＮに接続する場合には、物理層の処理を実行するＰＨＹコントローラを介してＬＡＮケーブルに接続されるものである。
【００１５】
ＬＡＮコントローラ１１、２１は、ＬＡＮコントローラ（メディア・インタフェース・チップ）とＰＨＹコントローラ（ネットワーク・コントローラ・チップ）との標準的なプロトコルであるＭＩＩ (Media Independent Interface)プロトコルでＰＨＹコントローラと通信するものである。したがって、ＬＡＮコントローラは、ＰＨＹコントローラ以外の相手でもＭＩＩプロトコルで通信する機器であれば通信可能である。そこで、この実施形態では、一方のプロセッサの（ＭＩＩプロトコルで通信する）ＬＡＮコントローラ１１を、他方のプロセッサの（ＭＩＩプロトコルで通信する）ＬＡＮコントローラ２１に接続し、相互にＭＩＩプロトコルで通信させるようにしている。物理層を省略したことにより、デジタルデータをシリアルのビット列に変換する必要がなく、配線回路基板上の安定した電気的条件で通信をすることが可能である。
【００１６】
上記構成において、ＣＰＵ１０およびＣＰＵ２０は、一般のＬＡＮを介した通信と同様の手順で相互に通信することができ、通信プロトコルとして一般的なＴＣＰ／ＩＰを用いて、自己のＬＡＮコントローラ１１、２１と通信することでプロセッサ間の通信を実現することができる。
【００１７】
このように、この接続形態であれば、ＣＰＵ１０、１１は、一般のＬＡＮと同様の処理で相互に通信をすることができ、この通信のために使用するハードウェアやソフトウェアも一般のＬＡＮ用の既存の資源を活用できるため、容易にマルチプロセッサシステムを構築でき、費用も低廉である。また、ＬＡＮコントローラ同士をクロス配線で接続する１対１の通信であるため、輻輳が生じる余地がなく安定した通信が可能であり、一般のＬＡＮよりも実質的に高速な通信が可能である。また、ボード上で構成できるため、複数のプロセッサを一般のＬＡＮケーブルで接続する場合と異なり小型化が可能である。
【００１８】
図１（Ｂ）は、同図（Ａ）におけるＬＡＮコントローラ１１、２１に代えて、ＬＡＮエミュレータ１２を設けた例を示している。このＬＡＮエミュレータ１２は、ＣＰＵ１０、ＣＰＵ２０に対してはＬＡＮコントローラとして機能し、内部では相互のデータの交換を行う機能を備えたものである。ＣＰＵ１０およびＣＰＵ２０が接続されるデータリンク層インタフェースを備えており、このインタフェースに接続されたＣＰＵ１０、２０と、ＴＣＰ／ＩＰ等の一般のＬＡＮプロトコルで通信う。これにより、ＣＰＵ１０、ＣＰＵ２０では、既存のネットワークソフトウェア資源をそのまま利用することができる。ＬＡＮエミュレータ内部ではＣＰＵ１０側とＣＰＵ２０側とのデータ交換はどのような手順で行ってもよく、物理層の制約がないため、極めて高速の通信を行うことも可能である。この場合でも、上記のようにＣＰＵ１０、２０においては、既存のＬＡＮの通信方式で相互に通信を行うことができる。
【００１９】
なお、図１（Ａ）、（Ｂ）では、説明を容易にするためにＣＰＵおよびＬＡＮコントローラのみを示しているが、各ＣＰＵには、同図（Ｃ）に示すような構成のシステムが接続されている。このシステムでは、バス上にＣＰＵ１０および１または複数のＬＡＮコントローラ１１、１５が接続されるほか、ＲＯＭ１３、ＲＡＭ１４、Ｉ／Ｏポート１６が接続される。ＲＯＭ１３、ＲＡＭ１４は、ＣＰＵ１０が実行するプログラムやデータ等を記憶する。Ｉ／Ｏポート１６には、操作パネルや表示器等が接続される。ＲＯＭ１３、ＲＡＭ１４が記憶するプログラムには、ＬＡＮを介して他のＣＰＵと通信するためのプログラムも含まれている。
【００２０】
また、図示のようにバス上に複数のＬＡＮコントローラ１１、１５を接続すると、一方のＬＡＮコントローラで同図（Ａ）、（Ｂ）に示すようなマルチプロセッサを構成することができるとともに、他方のＬＡＮコントローラで一般のＬＡＮ（Ｅｔｈｅｒｎｅｔ（登録商標）など）に接続することができる。なお、一方のＬＡＮコントローラ１１は、同図（Ｂ）のようにＬＡＮエミュレータ１２としてもよい。
【００２１】
図２は、この発明の他の実施形態を示す図である。同図（Ａ）に示すように、この実施形態では、ＬＡＮコントローラを内蔵したＣＰＵを用いてマルチプロセッサを構成している。組込用のＣＰＵには、装置を小型化するためＬＡＮコントローラを内蔵したものが多く開発されている。このようなＣＰＵを用いると、同図（Ａ）に示すように、２つのＣＰＵ３０、４０に内蔵されているＬＡＮコントローラ３１、４１をクロス接続するのみで本発明のマルチプロセッサを構成することができる。
【００２２】
ＣＰＵ３０、４０においては、汎用のＴＣＰ／ＩＰの通信プログラム（ミドルウェア）を用いて通信制御すればよい。ＬＡＮコントローラ３１、４１同士は、図１の実施形態と同様ＭＩＩプロトコルで通信する。したがって、図１に示した構成と同様に廉価に安定したプロセッサ間の通信を実現することができる。
【００２３】
なお、図２（Ａ）では、説明を容易にするためにＣＰＵおよびＬＡＮコントローラのみを示しているが、各ＣＰＵには、同図（Ｂ）に示すような構成のシステムが接続されている。このシステムでは、バス上にＣＰＵ３０が接続されるほか、ＲＯＭ３３、ＲＡＭ３４、ＬＡＮコントローラ３５およびＩ／Ｏポート３６が接続される。ＲＯＭ３３、ＲＡＭ３４は、ＣＰＵ３０が実行するプログラムやデータ等を記憶する。ＬＡＮコントローラ３５は、一般のＬＡＮに接続される。Ｉ／Ｏポート３６には、操作パネルや表示器等が接続される。ＲＯＭ３３、ＲＡＭ３４が記憶するプログラムには、ＬＡＮを介して他のＣＰＵと通信するためのプログラムも含まれている。
【００２４】
また、ルータ用のＣＰＵのようにＬＡＮコントローラを複数内蔵したＣＰＵも実用化されており、このようなＣＰＵを用いた場合には、バス上にＬＡＮコントローラを設けなくても、ＣＰＵ３０′に内蔵されている第１のＬＡＮコントローラ３１を用いて同図（Ａ）のマルチプロセッサを構成し、第２のＬＡＮコントローラ３２を外付けのＰＨＹコントローラを介して一般のＬＡＮに接続するようにすればよい。
【００２５】
図３（Ａ）、（Ｂ）は、３以上のＣＰＵをマルチプロセッサ接続する場合の構成例を示している。同図（Ａ）では、スイッチングハブ４２を介して複数のＣＰＵ１０、２０、３０を接続している。このスイッチングハブ４２は、一般のスイッチングハブから物理層の処理回路を除いたものであり、データリンク層のインタフェースを備えており、このインタフェースに接続された各ＣＰＵのＬＡＮコントローラ１１、２１、３１とＭＩＩプロトコルで通信する。各ＣＰＵとＬＡＮコントローラとはＴＣＰ／ＩＰプロトコルで通信する。なお、ＬＡＮコントローラ１１、２１を別に接続しているＣＰＵ１０、２０と、ＬＡＮコントローラ３１を内蔵しているＣＰＵ３０とが混在しても差し支えない。
【００２６】
このようにこの実施形態では、物理層を省略したスイッチングハブ４２を介して３以上のＣＰＵを接続したことにより、既存のＬＡＮ用通信ソフトウェアを活用して廉価且つ安定した３以上のＣＰＵ間の相互通信を実現することができる。
【００２７】
また、同図（Ｂ）は、ＬＡＮエミュレータ５３を介して３以上のＣＰＵを接続した例を示している。
ＬＡＮエミュレータ５３は、３以上のＬＡＮコントローラ回路５４とスイッチングハブ回路５５を一体に備えている。各ＬＡＮコントローラ回路５４とスイッチングハブ回路５５とは、物理層（ＰＨＹコントローラおよびケーブル，コネクタ類）を介さずに直接接続されている。各ＬＡＮコントローラ回路５５には、それぞれＣＰＵ５０、５１、５２が接続されている。
【００２８】
このようにこの実施形態では、物理層を省略したＬＡＮコントローラ回路５４とスイッチングハブ回路５５を一体に備えたＬＡＮエミュレータ５３を介して３以上のＣＰＵを接続したことにより、既存のＬＡＮ用通信ソフトウェアを活用して廉価且つ安定した３以上のＣＰＵ間の相互通信を実現することができる。
【図面の簡単な説明】
【００２９】
【図１】この発明の実施形態であるマルチプロセッサシステムの構成を示す図
【図２】この発明の他の実施形態であるマルチプロセッサシステムの構成を示す図
【図３】この発明のさらに他の実施形態であるマルチプロセッサシステムの構成を示す図
【符号の説明】
【００３０】
１０、２０、３０、４０、５０、５１、５２…ＣＰＵ
１１、１５、２１、３１、３２、４１…ＬＡＮコントローラ
１２、５３…ＬＡＮエミュレータ
４２…スイッチングハブ
５４…ＬＡＮコントローラ回路
５５…スイッチングハブ回路
【図１】
2005295105.tif 000003
【図２】
2005295105.tif 000004
【図３】
2005295105.tif 000005