(57)【特許請求の範囲】
【請求項１】
複数の計算機モジュールが伝送路を介して接続される計算機システムにおいて、
前記計算機モジュールは、
前記伝送路における前記計算機モジュールの物理的な実装位置を表す実装位置情報と、前記計算機モジュールを表す固有論理アドレスと、前記伝送路における前記計算機モジュールの物理アドレスとの対応を取る変換データベースと、
前記計算機モジュールの前記伝送路において前記計算機モジュールの物理的な実装位置に応じて決定される実装位置情報を認識する位置認識手段と、
前記変換データベースから前記固有論理アドレスに対応する前記物理アドレスを取得する固有・物理アドレス変換手段と、
前記計算機モジュール間で通信を行う通信装置と、
前記通信装置からの要求に応じて前記伝送路から受信した通信データを格納するメモリと、
前記変換データベースから前記実装位置情報に対応する前記物理アドレスを取得する位置・物理アドレス変換手段と、
前記実装位置情報に対応した割込み情報を通知する割込通知手段と、を有し、
前記計算機モジュールは通信パケットを送信する際に、前記通信パケットに含まれる前記宛先の固有論理アドレスから、前記固有・物理アドレス変換手段によって前記物理アドレスを取得し、前記伝送路を介して前記物理アドレスへ前記通信パケットを送信し、
前記計算機モジュールは通信パケットを受信する際に、前記割込通知手段により通知された前記通信パケットの送信元の実装位置情報を取得し、前記位置・物理アドレス変換手段により前記メモリにおける前記通信パケットの格納される前記物理アドレスを取得することを特徴とする計算機モジュール。
【請求項２】
前記計算機モジュールに前記伝送路を包含し、前記計算機モジュールを積層して前記計算機システムを構築可能とすることを特徴とする請求項１に記載の計算機モジュール。
【請求項３】
前記伝送路はＰＣＩバスプロトコルによるデータ通信を行うことを特徴とする請求項１に記載の計算機モジュール。
【請求項４】
複数の計算機モジュールが伝送路を介して接続される計算機システムにおいて、
前記計算機モジュールは、
前記伝送路における前記計算機モジュールの物理的な実装位置を表す実装位置情報と、前記計算機モジュールを表す固有論理アドレスと、前記伝送路における前記計算機モジュールの物理アドレスとの対応を取る変換データベースと、
前記計算機モジュールの前記伝送路において前記計算機モジュールの物理的な実装位置に応じて決定される実装位置情報を認識する位置認識手段と、
前記変換データベースから前記固有論理アドレスに対応する前記物理アドレスを取得する固有・物理アドレス変換手段と、
前記計算機モジュール間で通信を行う通信装置と、
前記通信装置からの要求に応じて前記伝送路から受信した通信データを格納するメモリと、
前記変換データベースから前記実装位置情報に対応する前記物理アドレスを取得する位置・物理アドレス変換手段と、
前記実装位置情報に対応した割込み情報を通知する割込通知手段と、を有し、
前記計算機モジュールは通信パケットを送信する際に、前記通信パケットに含まれる前記宛先の固有論理アドレスから、前記固有・物理アドレス変換手段によって前記物理アドレスを取得し、前記伝送路を介して前記物理アドレスへ前記通信パケットを送信し、
前記通信パケットに含まれる前記宛先の固有論理アドレスより、前記通信パケットの送信先を判定し、前記宛先の固有論理アドレスが複数の前記計算機モジュールを意味するものである場合には、前記変換データベースから前記計算機システムにおける全ての計算機モジュールの前記物理アドレスを検索して送信する通信駆動手段とを有し、
前記計算機モジュールは通信パケットを受信する際に、前記割込通知手段により通知された前記通信パケットの送信元の実装位置情報を取得し、前記位置・物理アドレス変換手段により前記メモリにおける前記通信パケットの格納される前記物理アドレスを取得することを特徴とする計算機モジュール。
【請求項５】
前記計算機モジュールに前記伝送路を包含し、前記計算機モジュールを積層して前記計算機システムを構築可能とすることを特徴とする請求項４に記載の計算機モジュール。
【請求項６】
前記伝送路はＰＣＩバスプロトコルによるデータ通信を行うことを特徴とする請求項４に記載の計算機モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモジュール装置間で情報を伝達する通信装置に関する。特に、複数のモジュール装置において自律的に通信に関する設定を行う通信装置に関する。
【背景技術】
【０００２】
複数のモジュール間を接続する通信方式として、特にモジュール間をパラレルバスにて接続する場合に、特許文献１に開示される通信方式が例として挙げられる。すなわち、第１のモジュール（システム処理装置）が第２のモジュール（システムインターフェース装置）とシステムバスを介して接続するシステムバスアーキテクチャにおいて、第１と第２のモジュールとはＳＲＡＭ共有バスメモリを介して送信および受信動作を行う。
【０００３】
他の通信方式として、非特許文献１に開示されるマルチコンピューティングの通信方式が例として挙げられる。すなわち、ＰＣＩバスを介して接続する、一つのシステムノード（ＳＮ）と複数の周辺ノード（ＰＮ）から構成されるバスアーキテクチャにおいて、ＰＣＩバス上の共有メモリを介して送信および受信動作を行う。そして、システムノードが複数の周辺ノードからの通信を仲介する必要がある。例えばシステムノードは、システムの立ち上げ時にメモリマップを構築し、同報通信（ブロードキャスト）時には仲介者として動作する。
【０００４】
【特許文献１】特開平９−６２７１号公報
【非特許文献１】ＰＩＣＭＧ２.14「CompactPCI Multicomputing Specification」
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のシステムバスアーキテクチャにおけるモジュール間通信方式には、モジュール間通信の送信あるいは受信に使用するアドレスの解決方法の開示がない。そのため、当該システムバスアーキテクチャを構築する設計者が各モジュールのアドレスを静的に割り振り、通信ソフトウェアの設計者が通信相手モジュールのアドレスを意識して送信および受信動作をするよう設計する必要がある。特許文献１によるシステムは設計者の負担が大きく、システム構築の柔軟性や容易性に問題がある。
【０００６】
一方、非特許文献１に記載のマルチコンピューティングの通信方式においては、システムノードが、モジュール間通信における送信あるいは受信に使用するアドレスを解決する。そのため、アドレス解決をするためには、システムノードという特殊なノードの存在が、システムに少なくとも一つは必要となる。システムノードが担う役割は多岐に渡るため、システムノードは、多大な処理能力やメモリ容量を必要とし、他のノードとは異なる構成を必要とする。
【０００７】
しかしながら、モジュール間通信をするために、システムノードのような特殊なモジュールの存在を前提とすることは、使用する部品点数やコストに制約が多い組込み向け計算機システムにおいては特に問題がある。
【０００８】
また、当該計算機システムをリアルタイム制御システムへ適用する場合には、システムノードにおける負荷増大がリアルタイム制御性能へ影響することも懸念される。
【０００９】
本発明の目的は、上記従来技術の問題点に鑑み、計算機システムにおけるモジュール間の通信方式が特定のモジュールに依存することなく、各モジュール自身がモジュール間通信を行う際のアドレスを解決し、自律的に通信できる通信装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決する本発明の計算機モジュールは、複数の計算機モジュールが伝送路を介して接続される計算機システムにおいて、
前記計算機モジュールは、
前記伝送路における前記計算機モジュールの物理的な実装位置を表す実装位置情報と、前記計算機モジュールを表す固有論理アドレスと、前記伝送路における前記計算機モジュールの物理アドレスとの対応を取る変換データベースと、
前記計算機モジュールの前記伝送路において前記計算機モジュールの物理的な実装位置に応じて決定される実装位置情報を認識する位置認識手段と、
前記変換データベースから前記固有論理アドレスに対応する前記物理アドレスを取得する固有・物理アドレス変換手段と、
前記計算機モジュール間で通信を行う通信装置と、
前記通信装置からの要求に応じて前記伝送路から受信した通信データを格納するメモリと、
前記変換データベースから前記実装位置情報に対応する前記物理アドレスを取得する位置・物理アドレス変換手段と、
前記実装位置情報に対応した割込み情報を通知する割込通知手段と、を有し、
前記計算機モジュールは通信パケットを送信する際に、前記通信パケットに含まれる前記宛先の固有論理アドレスから、前記固有・物理アドレス変換手段によって前記物理アドレスを取得し、前記伝送路を介して前記物理アドレスへ前記通信パケットを送信し、
前記計算機モジュールは通信パケットを受信する際に、前記割込通知手段により通知された前記通信パケットの送信元の実装位置情報を取得し、前記位置・物理アドレス変換手段により前記メモリにおける前記通信パケットの格納される前記物理アドレスを取得することを特徴とする。
【００１１】
また、上記計算機モジュールは、前記計算機モジュールに前記伝送路を包含し、前記計算機モジュールを積層して前記計算機システムを構築可能とすることを特徴とする。
【００１２】
さらに、上記計算機モジュールは、前記伝送路はＰＣＩバスプロトコルによるデータ通信を行うことを特徴とする。
【００１３】
上記課題を解決する本発明の計算機システムは、複数の計算機モジュールが伝送路を介して接続される計算機システムにおいて、
前記計算機モジュールは、
前記伝送路における前記計算機モジュールの物理的な実装位置を表す実装位置情報と、前記計算機モジュールを表す固有論理アドレスと、前記伝送路における前記計算機モジュールの物理アドレスとの対応を取る変換データベースと、
前記計算機モジュールの前記伝送路において前記計算機モジュールの物理的な実装位置に応じて決定される実装位置情報を認識する位置認識手段と、
前記変換データベースから前記固有論理アドレスに対応する前記物理アドレスを取得する固有・物理アドレス変換手段と、
前記計算機モジュール間で通信を行う通信装置と、
前記通信装置からの要求に応じて前記伝送路から受信した通信データを格納するメモリと、
前記変換データベースから前記実装位置情報に対応する前記物理アドレスを取得する位置・物理アドレス変換手段と、
前記実装位置情報に対応した割込み情報を通知する割込通知手段と、を有し、
前記計算機モジュールは通信パケットを送信する際に、前記通信パケットに含まれる前記宛先の固有論理アドレスから、前記固有・物理アドレス変換手段によって前記物理アドレスを取得し、前記伝送路を介して前記物理アドレスへ前記通信パケットを送信し、
前記通信パケットに含まれる前記宛先の固有論理アドレスより、前記通信パケットの送信先を判定し、前記宛先の固有論理アドレスが複数の前記計算機モジュールを意味するものである場合には、前記変換データベースから前記計算機システムにおける全ての計算機モジュールの前記物理アドレスを検索して送信する通信駆動手段とを有し、
前記計算機モジュールは通信パケットを受信する際に、前記割込通知手段により通知された前記通信パケットの送信元の実装位置情報を取得し、前記位置・物理アドレス変換手段により前記メモリにおける前記通信パケットの格納される前記物理アドレスを取得することを特徴とする。
【００１４】
また、上記計算機モジュールは、前記計算機モジュールに前記伝送路を包含し、前記計算機モジュールを積層して前記計算機システムを構築可能とすることを特徴とする。
【００１５】
さらに、上記計算機モジュールは、前記伝送路はＰＣＩバスプロトコルによるデータ通信を行うことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、複数の計算機モジュールから構成される計算機システムにおいて、各計算機モジュールが自身の物理的な位置を把握することが可能となる。そのため、中央で計算機モジュールに関する資源（例えば固有論理アドレスや計算機モジュールの物理アドレス）を管理することなく、各計算機モジュールが自身でこれらの資源を設定することが可能となる。これにより、計算機モジュール間での処理は平準化され、組込み計算機向けに適した構成とコストで計算機モジュールを構成できる効果がある。
【発明を実施するための最良の形態】
【００１７】
本発明は、計算機システムを構成する複数のモジュール間の通信を行う装置に関するものであり、自律的に通信に関する設定をする通信装置を実現するものである。以下、本発明の複数の実施例について図面を参照しながら説明する。
【実施例１】
【００１８】
図１は本発明による第一の実施の形態における計算機システムの構成図を示す。計算機システムは、複数の計算機モジュール１（特にｎ台目のモジュールを示す場合には１−ｎと表す）がシステム通信路２を介して結合される。計算機モジュール１は処理装置１０、メモリ１２、通信装置１４、位置認識手段２０を有する。ローカル通信路１６によって、処理装置１０、メモリ１２、通信装置１４を結合され、これら装置間でデータの受け渡しがなされる。
【００１９】
処理装置１０は、命令の取得と解釈を繰り返す汎用のプロセッサのほかに、演算装置内容を動的に構成するリコンフィギュラブル・プロセッサなどが利用できる。
【００２０】
メモリ１２は、処理装置１０が取得する命令や変数値、通信に使用するデータなどを有する。また、メモリ１２は、計算機モジュール１の物理的位置に関連するデータを含む変換データベース４４を有する。変換データベース４４は、計算機モジュール１の物理的な位置から対応する物理アドレス等を取得する機能を有する。なお、これらメモリ１２と変換データベース４４とに関する説明は、後に詳しく説明する。
【００２１】
通信装置１４は処理装置１０からの要求に応じ、システム通信路２へ通信データを送信、あるいはシステム通信路２からの要求に応じメモリ１２へ通信データを受信する機能を有する。通信データは、当該データの宛先を表す物理アドレス情報を有する。通信装置１４は、自身が受け付ける物理アドレスの範囲を個別に設定されている。通信データがシステム通信路２に出力されると、各通信装置１４は通信データの宛先物理アドレスを検査し、自身が受け付けるアドレス範囲に含まれていれば当該通信データを受領する。
【００２２】
ローカル通信路１６とシステム通信路２は複数の計算機モジュール１間で通信データを伝送する機能を有する。通信データを伝送するためには、汎用のＳＲＡＭを接続するバスや、Peripheral Component Interconnect（ＰＣＩ）バスのようなアドレス・データ時分割のバス、シリアルの通信路によって装置間を結合する通信手段を利用するのが好適である。これら通信データを伝送する手段に対して、当業者によって自明な接続技術を用いることに本発明は制限されない。
【００２３】
位置認識手段２０はシステム通信路２に接続される。位置認識手段２０は、自身が実装される計算機モジュール１の、他の計算機モジュールに対する物理的な位置を知るための手段である。位置認識手段２０の具体的な実施方式については後述する。
【００２４】
計算機モジュール１自身の物理的な位置を知ることにより、システム通信路２において、自身が応答するアドレス範囲を所定のアルゴリズムにより算出することが可能となる。ここでアドレス範囲とは、通信路上の通信データに含まれる、宛先に相当する符号列の集合（空集合を含む）を意味する。
【００２５】
これらの機能や装置による、計算機モジュール１の動作概要を説明する。計算機モジュール１は位置認識手段２０により、自身の物理的な位置を知る。物理的な位置からは、変換データベース４４を使うことで、計算機モジュール１が応答すべきアドレスと、通信する相手の計算機モジュール１が受け入れるアドレスとを知ることができる。
【００２６】
よって、通信相手の計算機モジュール１の物理位置を知ることで、計算機モジュール１は通信相手の計算機モジュール１へ通信データを送信することが可能となる。通信相手の物理位置を知るための手順は後述する。また、計算機モジュール１は自身の物理位置が分かるので、他の計算機モジュール１から受信した通信データのアドレス情報から、自身への要求か否かを判断することが可能となる。
【００２７】
図２は本発明による第一の実施の形態における通信装置の構成図を示す。通信装置１４は、状態管理手段２２、アドレスバッファ２４、データバッファ２６、システム通信路２やローカル通信路１６へ通信データを入出力する入出力バッファ２８、割込通知機能３０を有する。なお、これらの機能は必ずしも同一のパッケージやＬＳＩ、モジュールに包含されている必要は無く、例えば割込通知機能３０だけ独立した部品として実装されていても本発明の効果を損なうものではない。
【００２８】
状態管理手段２２は、通信装置１４の状態管理を行うものである。具体的には、アドレスバッファ２４、データバッファ２６、入出力バッファ２８の方向制御や出力イネーブル制御を行う有限状態ステートマシン（図示せず）や通信装置制御レジスタ（図示せず）、ダイレクトメモリアクセス（DMA）制御手段（図示せず）を有する。アドレスバッファ２４とデータバッファ２６は、ローカル通信路１６とシステム通信路２との間で通信データを授受する際に、通信データの宛先や通信データそのものを蓄える記憶素子である。アドレスバッファ２４とデータバッファ２６は、それぞれの通信路毎に個別に用意しても兼用しても良い。
【００２９】
割込通知機能３０は、通信相手側の通信装置１４から設定される割込通知レジスタ３２を有し、通信相手側から通信データが入力されたことを処理装置１０へ割込み報告する。割込通知レジスタ３２は、複数の計算機モジュールから任意のタイミングで設定されるため、簡便な方法で排他制御が可能な構成とすることが望ましい。例えば、割込通知レジスタ３２に、通信する計算機モジュール毎にビットを用意し、通知元の計算機モジュールは自身と対応するビットへ“１”を書き込むことで割込通知ビットを反転（「０から１」あるいは「１から０」）させる構成とする。このような構成であれば、自身と対応しないビットを“０”とすることで、他の計算機モジュールに該当するビットは影響を受けない。
【００３０】
なお、通知元の計算機モジュール１は、自身の物理位置を位置認識手段２０により把握できるので、自身が設定すべきビットを自律的に判断できる。また、通知された計算機モジュール１は、通知されたビットから、物理的にどの位置にある計算機モジュールからの割込み要求かを知ることができる。
【００３１】
図３は本発明による第一の実施の形態における通信装置の通信データ送受信動作を表すシーケンス図を示す。
【００３２】
処理装置１０（実態は処理装置１０によって実行される通信路ドライバ；詳細は後述）は、システム通信路２へ送信したい通信データをデータバッファ２６へ、通信データの送出先をアドレスバッファ２４へ設定する（ステップ200）。設定後、処理装置１０から明示的に指示されるか、あるいは状態管理手段２２の状態から、送出条件を判断する（ステップ202）。送出条件が成立すると通信装置１４は、入出力バッファ２８を介してシステム通信路２へ通信データを送出する（ステップ204）。送出し終えた通信装置１４は送信完了を相手の通信装置１４へ通知する（ステップ206）。その後、自身の処理装置１０へ完了報告する（ステップ208）。
【００３３】
一方、送出された通信データを受信した相手の通信装置１４は、通信データをメモリ１２へ転送する（ステップ210）。その後、送信完了を通知された通信装置１４は、受信した通信データの宛先が自身への物理アドレスの範囲と合致するか判定する（ステップ212）。受信した通信データが自身へのものと判定した通信装置１４は、受信側の処理装置１０に通信データを受信した旨を報告する。
【００３４】
以上により、送信側における処理装置１０の通信データは、受信側におけるメモリ１２へ格納される。
【００３５】
ここで、ステップ208における完了報告は必須ではない。例えば処理装置１０が通信装置１４への通信データの書き込みが完了した時点で、処理装置１０は当該送信処理が完了したと認識しても良い。
【００３６】
さらに、メモリ１２へ転送する際には、受信側の通信装置１４は、ダイレクトメモリアクセス等によりメモリ１２への転送先アドレスが通知されても良い。例えばシステム通信路２がＰＣＩバスで、通信装置１４がＰＣＩ−ｔｏ−ローカルバスブリッジである場合、特定アドレスへの受信データは即座にメモリ１２へ書き込まれる。
【００３７】
また、ステップ206において、通信相手の割込通知機能３０を利用して送信完了を意味する通知をしても良い。この場合、まず送信側の通信装置１４は、受信側の通信装置１４の割込通知機能３０における割込通知レジスタ３２の「計算機モジュール自身に対応するビット」がクリアされているか、すなわち相手は受信可能な状態にあるかを判定する。該当ビットがクリアされていれば、送信側の通信装置１４は通信データを送出し、該当ビットをセットすることで、受信側の通信装置１４は通信データを受信したことを知ることができる。
【００３８】
本実施例において、通信装置１４への通信データ設定処理（ステップ200）を処理装置１０より行ったが、他の手段により通信データを設定しても良い。例えば、状態管理手段２２に含まれるダイレクトメモリアクセス制御手段により、通信装置１４がメモリ１２から直接通信データを取得しても良い。
【００３９】
図４は本発明による第一の実施の形態における、通信データの送受信処理に関連する処理装置の機能図を示す。本実施例において、処理装置１０の機能はメモリ１２に格納されるソフトウェアにて実施する例を示す。
【００４０】
メモリ１２に格納され、処理装置１０により逐次読み出され実行される機能として、オペレーティングシステム（ＯＳ）１８、位置・固有変換機能４０、位置・物理変換機能４１、固有・物理変換機能４２と、変換データベース（ＤＢ）４４、通信路ドライバ４６が挙げられる。
【００４１】
ここで、計算機モジュールを表し、計算機システム内で唯一となる値を固有論理アドレスと呼ぶ。固有論理アドレスは、計算機モジュールそのものを指し示す値であり、計算機システムを管理する便宜上有用である。例えば固有論理アドレスは、Ethernet（商標）におけるMedia Access Control（ＭＡＣ）アドレスに相当する。
【００４２】
ＯＳ１８は、計算機モジュール１の全体を管理する基本ソフトウェアであり、さまざまなタスクのスケジューリングやメモリ等の資源を管理し、計算機モジュールにおける特権的処理であるシステムコールを実行する。
【００４３】
位置・固有変換機能４０は、位置認識手段２０により得られた自身の物理位置情報から、固有論理アドレスを検索し変換する機能である。
【００４４】
位置・物理変換機能４１は、物理位置情報から、物理アドレスを検索し変換する機能である。固有・物理変換機能４２は、固有論理アドレスから該当する通信装置１４の物理アドレスを検索し変換する機能である。
【００４５】
図５に、変換データベースの構成を示す。変換データベース４４は、物理位置情報４８、固有論理アドレス５０、物理アドレス５２からなるテーブルである。変換データベース４４は、計算機システム内の各計算機モジュール間で整合が取られるよう構成される。そのため、物理位置情報４８が定まると、固有論理アドレス５０と物理アドレス５２を一意に定めることができる。通信路ドライバ４６は、システム通信路２と通信データを送受信する手順を提供する。
【００４６】
計算機モジュール１において、自身の固有論理アドレスを得る手順を説明する。処理装置１０は、位置認識手段２０から、自身の物理位置情報を得る。次に、処理装置１０は、位置・固有変換機能４０により、物理位置情報から自身の固有論理アドレスを得る。本手順により、計算機モジュール１は自身で固有論理アドレスを導出することが可能となる。同様に、計算機モジュール１は位置・物理変換機能４１により、自身が応答すべき物理アドレスを知ることが可能となる。
【００４７】
なお、本実施例では物理位置情報４８、固有論理アドレス５０、物理アドレス５２の対応を表形式にて表したが、変換データベース４４の実装形態は、これらデータ間で対応付けができる限りは、この構成に限定されるものではない。
【００４８】
これらの関係を数式モデルにて表現できる場合には、対応をアルゴリズムとして実装し、変換データベース４４に相当する機能を実現しても良い。または、物理位置情報４８をインデックスとして与えると、対応する固有論理アドレス５０と物理アドレス５２を出力する配列で表現してもよい。さらに、変換データベース４４は必ずしも同一メモリに存在する必要もなく、上記データの一部が別のメモリに存在しても、またはアルゴリズムに従い算出しても良い。例えばＰＣＩバスデバイスを通信装置１４として採用する場合、自身の物理アドレス５２はＰＣＩデバイスに具備されるコンフィギュレーションアドレスレジスタを参照することで得られ、他の計算機モジュールのアドレスは自身のアドレス範囲を元に算出しても良い。
【００４９】
図６は本発明による第一の実施の形態における通信データ（パケット）のフォーマットを示す。送出される通信データパケット６０は、宛先固有論理アドレス６２、送信元固有論理アドレス６４、データ６６からなる。宛先固有論理アドレス６２は、通信データパケット６０を配送する先の計算機モジュールと対応する、固有論理アドレスである。送信元固有論理アドレス６４は、当該通信データを発信する計算機モジュールと対応する固有論理アドレスである。データ６６は、送信したいデータそのものである。
【００５０】
図７は本発明による第一の実施の形態における通信データの送信手順を示す。はじめに、ＯＳ１８が通信データパケット６０（図６参照）と共に送信起動要求を通信路ドライバ４６へ発行する（ステップ220）。通信路ドライバ４６は、通信データパケット６０の宛先固有論理アドレス６２から、システム通信路２における物理アドレスを得るために固有・物理変換機能４２へ変換要求を発行する（ステップ222）。固有・物理変換機能４２は、変換ＤＢ４４を検索し（ステップ224）、物理アドレスを得る（ステップ226）。固有・物理変換機能４２は、通信路ドライバ４６へ固有論理アドレスに対応する物理アドレスを応答する（ステップ228）。ここで、送信元の計算機モジュールの通信路ドライバ４６が得る物理アドレスは、変換データベース４４から宛先固有論理アドレス５０に対応して得る物理アドレス５２の開始アドレスに、送信元の計算機モジュールの物理位置情報に対応した処理（例えばオフセット加算した）物理アドレスである。その後、得られた物理アドレスを通信装置のアドレスバッファ２４へ設定し、通信データパケット６０をデータバッファ２６へ設定するべく、図３におけるステップ200を経て、送信処理が完了（ステップ208）したことをＯＳ１８へ通知する（ステップ230）。
【００５１】
以上の処理により、計算機モジュール１内部では、通信データを固有論理アドレスによって管理しながら、送信処理中に物理アドレスへ変換し相手の計算機モジュールへ送信することが可能となる。そのため、計算機システムの設計者は、物理アドレスや計算機システム内部の構成情報を変換ＤＢ４４のみに集約することが可能となり、計算機システムの拡張や変更が容易となる。
【００５２】
図８は本発明による第一の実施形態における通信データの受信手順を示す。送信側の通信装置から送信完了を通知されると（ステップ206）、受信側の通信路ドライバ４６は、どの通信装置から送信されてきたかを判定する（ステップ302）。受信側の割込通知レジスタ３２には送信元に対応するビットが設定されていることから、送信元の通信装置の物理位置を判別可能である。
【００５３】
通信路ドライバ４６は、割り出した送信元の物理位置から、送信されたデータの格納された位置を割り出すために、位置・物理変換機能４１へ問い合わせる（ステップ304）。位置・物理変換機能４１は、変換データベース４４へ、物理位置をキーとして問い合わせ（ステップ306）、応答を得る（ステップ308）。その結果、物理位置に対応する物理アドレスを通信路ドライバ４６へ返答する（ステップ310）。ここで、物理位置に対応する物理アドレスとは、受信した計算機モジュール自身の物理位置を元に変換データベース４４から得る物理アドレス５２の開始アドレスに、送信元の計算機モジュールの物理位置情報に対応した処理（例えばオフセット加算した）物理アドレスである。通信路ドライバ４６は、割り出した物理アドレスを元に格納されている通信データパケット６０から、宛先固有論理アドレス６２を取得する（ステップ312）。その後、宛先固有論理アドレス６２と共に、位置・固有変換機能４０へ問い合わせる（ステップ314）。位置・固有変換機能４０は、固有論理アドレス６２をキーとして、変換データベース４４へ問い合わせ（ステップ316）、応答を得る（ステップ318）。その結果、位置・固有変換機能４０は、固有論理アドレスに対応する物理位置を通信路ドライバ４６へ応答する（ステップ320）。通信路ドライバ４６は、送信された通信データパケットが、自分自身の物理位置へ対する送信データと判定すると、受信したデータをＯＳ１８へ通知するための領域へコピーし（ステップ322）、ＯＳ１８へ受信したことを報告する（ステップ324）。
【００５４】
以上により、通信路ドライバ４６は、任意の計算機モジュール１から送信されたデータについて、送信元の計算機モジュールを特定し、メモリ上のデータの書き込みアドレスを割り出し、自分宛てのデータであるか否かを判定することが可能となる。
【００５５】
図９は本発明による第一の実施形態における位置認識手段の構成図を示す。システム通信路２と計算機モジュール１とが独立した構成、例えばシステム通信路２をバックプレーンのプリント基板にて実装し、計算機モジュール２をバックプレーンとは別のプリント基板で実装する場合に好適な構成を示す。この場合、各計算機モジュール１に対して、独立に位置情報指示手段２−ｂと位置情報指示配線２−ａを用意する。なお、位置情報指示手段２−ｂにおいて、ＧＮＤは低電位（値０）を、Ｖccは高電位（値１）を意味する。
【００５６】
位置認識手段２０は位置情報レジスタ２１を有する。本実施例では、位置情報として４ビットの情報、その値として二進数で0011（十進数で３）を表す例を示している。位置情報として、基準位置からの計算機モジュールの個数を示すこととすれば、３（十進数）は基準位置から３番目に位置することを意味する。すなわち、処理装置１０は位置認識手段２０から位置情報「３」を取得することで、例えば変換ＤＢ４４から自身に割り当てられた固有論理アドレス５０を知ることが可能となる。
【００５７】
図１０は本発明による第一の実施形態における位置認識手段の別の構成例を示す。システム通信路２と計算機モジュール１とが、独立あるいは一体の構成いずれでも好適な構成である。この場合、システム通信路２と計算機モジュール１との間には、計算機モジュール１へ入力される信号線である位置情報入力２−ｃと、計算機モジュール１から出力される信号線である位置情報出力２−ｄが存在する。本実施例における位置情報指示手段２−ｅは、図９の場合と異なり、システム通信路２の一端にのみ存在する。図１０では、位置情報指示手段２−ｅから１つ目と２つ目に位置する位置認識手段２０を例として示している。
【００５８】
本実施例の特徴は、同一信号線の組の入力と出力との間で、一部の信号線が「たすきがけ」となっていることである。すなわち、同一の信号線名であっても、位置情報指示手段２−ｅから離れれば、一部の信号が入れ替わって取り込まれる。そのため、位置情報指示手段２−ｅにおいて、図に示されるように１本の信号線のみＶccに接続されている場合、位置情報指示手段２−ｅから近い方の位置情報レジスタ２１は0001（二進数）であるのに対して、隣の位置情報レジスタ２１は0010（二進数）という値をとる。
【００５９】
本実施例では、位置情報入力２−ｃ、位置情報出力２−ｄは４本の構成を示したが、本発明はそれに限定されるものではなく、計算機モジュール数に応じて信号線数を拡張することが可能である。
【００６０】
この他に、本発明者らによる位置情報を得るための手段が特開２００４−３２６３４２号の明細書に開示されている。この公知技術やその組み合わせを用いて、位置情報を計算機モジュール１にて得ることは、本発明の効果を制限するものではない。
【００６１】
本発明によれば、複数の計算機モジュールから構成される計算機システムにおいて、各計算機モジュールが自身の物理的な位置を把握することが可能となる。そのため、中央で計算機モジュールに関する資源（例えば固有論理アドレスや計算機モジュールの物理アドレス）を管理することなく、各計算機モジュールが自身でこれらの資源を設定することが可能となる。これにより、計算機モジュール間での処理は平準化され、組込み計算機向けに適した構成とコストで計算機モジュールを構成することが可能になる。
【実施例２】
【００６２】
次に、本発明による第二の実施形態を説明する。図１１は実施例２における計算機システムの構成図で、（ａ）に機能ブロック図を、（ｂ）に物理構成図を示す。実施例に使用する符号は、特に断りのない限り、実施例１で説明した機能や要素等と同一であることを意味する。
【００６３】
本実施例の特徴は、システム通信路２を分断し、各計算機モジュール１に分断したシステム通信路２を含めたことにある。図１１（ａ）におけるシステム通信路２の両端２−ｆ、２−ｇは、図１１（ｂ）に示すようにそれぞれコネクタで表現することができる。
【００６４】
本実施例では、計算機モジュール１が図１１（ｂ）に示すようにプリント基板で実装され、さらにシステム通信路２がプリント基板上のコネクタで実装されることで、計算機システムをこれらプリント基板の積み重ねで構築できる。この場合、システム通信路２の最両端の一方に、図１０に示す位置情報指示手段２−ｅを実装する必要があるが、例えば電源を供給するモジュールにその機能を実装すると良い。
【００６５】
本実施例における位置認識手段２０は、図１０に示す位置情報取得手段を用いることで、同一回路構成の各計算機モジュールを積み重ねて計算機システムを構成しても、各計算機モジュールにて取得する位置情報は適切な値を取ることを保証できる。
【００６６】
本実施例に示す構成により、実施例１と同等の効果を得る計算機システムを構築することが可能となる。
【実施例３】
【００６７】
本発明による第三の実施形態を説明する。図１２は実施例３における、通信データの送受信処理に関連する、処理装置１の通信路ドライバ８０の処理フローを示す。本実施例の前提となる計算機システムや計算機モジュール１に関して、特に図示しない他の要素に関しても、実施例１の場合と同様である。
【００６８】
本実施例の特徴は、システム通信路２において、イーサネット（登録商標）に相当する通信を模擬する点にある。本実施例では、実施例１の図４における通信路ドライバ４６と比べ、本実施例における通信路ドライバ８０の処理内容が異なる。
【００６９】
また実施例１における「固有論理アドレス」は、本実施例ではイーサネットの「ＭＡＣアドレス」と等価であり、適宜読み替えて使用する。なお、本実施例の計算機モジュール１において、自身の固有論理アドレス（ＭＡＣアドレス）を得る手順は実施例１の場合と同様である。
【００７０】
図１２に従って通信路ドライバ８０の動作を説明する。ＯＳ１８が通信路ドライバ８０へ通信データパケット６０と共に送信起動要求を発行するステップ220より、本フローが開始する。通信路ドライバ８０は、通信データパケット６０の宛先ＭＡＣアドレスを検査して、ユニキャストアドレスか非ユニキャスト（ブロードキャストまたはマルチキャスト）アドレスかを判定する（ステップ250）。イーサネットにおいて、ＭＡＣアドレスの第１オクテットのLeast Significant Bit（ＬＳＢ）の値が０の場合、ユニキャストアドレスである。
【００７１】
ここで宛先ＭＡＣアドレスがユニキャストアドレスの場合、得られたＭＡＣアドレスを元に図7のステップ222からステップ206を実行し（ステップ252）、通信データ送出処理が終了する。
【００７２】
一方、宛先ＭＡＣアドレスが非ユニキャストアドレスの場合、全ての計算機モジュールへ当該通信データパケットを送達する必要がある。そこで、位置変数posを０に初期化し（ステップ254）、全ての位置に存在する計算機モジュールへステップ256からステップ260を繰り返し実行する。
【００７３】
変換ＤＢ４４から、位置変数posと等しいＭＡＣアドレスと物理アドレスを取得する（ステップ256）。その後、変更した通信データパケットを対象となっている計算機モジュールへ送出する（ステップ260）。送出後、位置変数posを１増加させ（ステップ262）、次に送達すべき対象がいるか判定する（ステップ264）。最大の計算機ユニット数を超えていない場合、再度ステップ256からステップ264を繰り返し、超えている場合、通信データの送出処理を終了する。
【００７４】
以上の処理により、１対１での通信しかできないシステム通信路２においても、ブロードキャスト動作が可能となる。ブロードキャスト動作によれば、例えばAddress Resolution Protocol（ＡＲＰ）の処理が可能となり、ＩＰアドレスから対応する計算機モジュールの持つＭＡＣアドレスを、自動的に解消することが可能となる。
【００７５】
本実施例によれば、各計算機モジュールが自律的にＭＡＣアドレスを一意に定めることが可能となり、あわせてシステム通信路２における物理アドレスを解決することができる。よって、イーサネットと異なる物理層を用いて、イーサネットと同等の操作が可能となるため、計算機システムの使用者やアプリケーション設計者はイーサネットの利便性を享受することができる。
【００７６】
もちろん本実施例は、実施例２で示した構成においても同様に適用することに何ら制限はない。
【００７７】
本発明によると、例えばTCP／IPのようなネットワーク技術を、イーサネットとは異なる物理層を持つ計算機モジュール間の通信路上で使用することが可能となる。よって、物理層は既存のシステムバスを用いて、上位のネットワーク層以上はTCP／IPとすることで、旧来の計算機システムであっても情報系ネットワークとの親和性の高い計算機システムを構築することが可能となる。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施例１における計算機システムの構成図。
【図２】実施例１による通信装置の構成図。
【図３】実施例１による通信装置間の通信動作シーケンス図。
【図４】実施例１による処理装置の通信機能のブロック図。
【図５】通信機能における変換ＤＢの実装表形式を示す構成図。
【図６】通信データパケットの構成図。
【図７】実施例１による送信時における通信路ドライバの動作シーケンス図。
【図８】実施例１による受信時における通信路ドライバの動作シーケンス図。
【図９】実施例１による位置認識手段の実装図。
【図１０】位置認識手段の他の例を示す実装図。
【図１１】本発明の実施例２による第二の実施例における計算機システムの構成図。
【図１２】本発明の実施例３による通信路ドライバの手順を示すフローチャート。
【符号の説明】
【００７９】
１…計算機モジュール、２…システム通信路、１０…処理装置、１２…メモリ、１４…通信装置、１６…ローカル通信路、１８…ＯＳ、２０…位置認識手段、３０…割込通知機能、４４…変換ＤＢ、４６，８０…通信路ドライバ、６０…通信データパケット。
【図１】
0004732823.tif 000002
【図２】
0004732823.tif 000003
【図３】
0004732823.tif 000004
【図４】
0004732823.tif 000005
【図５】
0004732823.tif 000006
【図６】
0004732823.tif 000007
【図７】
0004732823.tif 000008
【図８】
0004732823.tif 000009
【図９】
0004732823.tif 000010
【図１０】
0004732823.tif 000011
【図１１】
0004732823.tif 000012
【図１２】
0004732823.tif 000013