(57)【要約】【課題】  バスの最適化を容易にすることができる。【解決手段】  複数の接続線からなるバス２３が配設されたマザーボード２０には、基板２１およびバスコントローラ２２が装着される。基板２１とバスコントローラ２２との間は、バス２３を介して接続されている。基板２１−１には、基板２１−１と基板２１−２とを接続するバス２３の複数の接続線の中から、基板２１−２との通信に用いる接続線を決定する論理的結線モジュール３１−１と、その基板２１−２との通信に用いる接続線の電気的特性を補償する電気的特性補償モジュール３３が装着される。本発明は、例えば、マザーボードや、マザーボードに装着される基板に適用することができる。【選択図】図２
2005182689.tif 000002
【特許請求の範囲】
【請求項１】
複数の接続線からなるバスが配設された第１の情報処理基板に装着され、前記第１の情報処理基板に装着された第２の情報処理基板と通信を行う情報処理基板において、
自分自身と前記第２の情報処理基板とを接続する前記複数の接続線の中から、前記第２の情報処理基板との通信に用いる接続線を決定する決定手段と、
前記決定手段により前記第２の情報処理基板との通信に用いるものとして決定された接続線の電気的特性を補償する補償手段と
を備えることを特徴とする情報処理基板。
【請求項２】
前記決定手段または補償手段は、ＩＣ（Integrated Circuit）であり、
前記決定手段を実現するＩＣまたは、前記補償手段を実現するＩＣのうちの少なくともいずれかは、着脱可能とされる
ことを特徴とする請求項１に記載の情報処理基板。
【請求項３】
前記決定手段は、前記バスを制御する第３の情報処理基板からの制御に応じて、前記第２の情報処理基板との通信に用いる接続線を決定する
ことを特徴とする請求項１に記載の情報処理基板。
【請求項４】
複数の接続線からなるバスが配設され、第１の情報処理基板と第２の情報処理基板とを接続する前記バスを制御する情報処理基板において、
前記バスの前記複数の接続線の中から、前記第１の情報処理基板と前記第２の情報処理基板との通信に用いる接続線を決定し、前記第１の情報処理基板と前記第２の情報処理基板の基板間の結線を管理する管理手段
を備えることを特徴とする情報処理基板。
【請求項５】
前記管理手段は、ＩＣ（Integrated Circuit）であり、
前記管理手段を実現するＩＣは、着脱可能とされる
ことを特徴とする請求項４に記載の情報処理基板。
【請求項６】
複数の接続線からなるバスが配設された第１の情報処理基板と、前記第１の情報処理基板に装着され、前記第１の情報処理基板に装着された第２の情報処理基板と通信を行う第３の情報処理基板とを備える情報処理システムにおいて、
前記第１の情報処理基板は、
前記複数の接続線の中から、前記第２の情報処理基板と前記第３の情報処理基板との通信に用いる接続線を決定し、前記第２の情報処理基板と前記第３の情報処理基板の基板間の結線を管理する管理手段と、
前記管理手段により前記第２の情報処理基板と前記第３の情報処理基板との通信に用いるものとして決定された接続線を表すバス情報を、前記第３の情報処理基板に送信する送信手段と
を備え、
前記第３の情報処理基板は、
前記送信手段から送信されてくるバス情報に基づいて、前記バスの前記複数の接続線の中から、前記第２の情報処理基板との通信に用いる接続線を決定する決定手段
を備えることを特徴とする情報処理システム。
【請求項７】
複数の接続線からなるバスが配設された第１の情報処理基板と、前記第１の情報処理基板に装着され、前記第１の情報処理基板に装着された第２の情報処理基板と通信を行う第３の情報処理基板とを備える情報処理システムの情報処理方法において、
前記第１の情報処理基板は、
前記複数の接続線の中から、前記第２の情報処理基板と前記第３の情報処理基板との通信に用いる接続線を決定するとともに、前記第２の情報処理基板と前記第３の情報処理基板の基板間の結線を管理し、
前記第２の情報処理基板と前記第３の情報処理基板との通信に用いるものとして決定された接続線を表すバス情報を、前記第３の情報処理基板に送信し、
前記第３の情報処理基板は、
前記バス情報に基づいて、前記バスの前記複数の接続線の中から、前記第２の情報処理基板との通信に用いる接続線を決定する
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理基板、並びに情報処理システム、および情報処理方法に関し、特に、バスの最適化を容易にすることができるようにする情報処理基板、並びに情報処理システム、および情報処理方法に関する。
【背景技術】
【０００２】
例えば、抜き挿しが可能な複数の基板が装着されるＰＣ（Personal Computer）等のマザーボードにおいて、基板間を接続するバスはマザーボードに統合された形で提供されていた。
【０００３】
図１は、従来のマザーボード（メイン基板）１０の一例の構成を示している。
【０００４】
図１のマザーボード１０には、基板１１−１が挿し込まれるコネクタ１２−１、基板１１−２が挿し込まれるコネクタ１２−２、およびバスコントローラ１４が設けられている。また、マザーボード１０には、コネクタ１２−１とコネクタ１２−２とを接続するバス１３が配設されている。バス１３は、コネクタ１２−２とバスコントローラ１４との間にも配設されている。
【０００５】
基板１１−１と基板１１−２には、例えば、各種の処理を実行するCPU(Central Processing Unit)等が実装されている。基板１１−１と基板１１−２は、それぞれコネクタ１２−１とコネクタ１２−２に挿し込まれることで、マザーボード１０に装着される。なお、以下、基板に実装されたCPU等が行う処理を、基板の機能という。
【０００６】
コネクタ１２−１とコネクタ１２−２は、バス１３を介して、バスコントローラ１４に接続されている。
【０００７】
バス１３は、コネクタ１２−１とバスコントローラ１４との間、コネクタ１２−２とバスコントローラ１４との間のデータの通信路であり、電気的な結線である。バス１３において、コネクタ１２−１とバスコントローラ１４との間、コネクタ１２−２とバスコントローラ１４との間で、駆動電圧やインピーダンスなどの電気的特性、ピンアサインなどは、ほぼ共通となっている。なお、図１では、バス１３は、８本の接続線から構成されている。即ち、バス１３のバス幅は、８ビットである。
【０００８】
バスコントローラ１４は、バス１３を介して行われる基板１１−１と基板１１−２との間の通信を制御する。
【０００９】
なお、バスコントローラ１４を設けずに、基板１１−１と基板１１−２でデータを直接やりとりするようにしてもよい。
【００１０】
ここで、各モジュールが、各モジュールに設定されている必要なバス幅の情報を、あるモジュールに通知し、そのモジュールが、その情報に基づいて各モジュールに対するバス幅を調整するデータ処理装置がある（例えば、特許文献１参照）。
【特許文献１】特開２００２−０７３５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、図１のマザーボード１０において、バス１３は所定の規格に準拠しているため、例えば、基板１１−１を高性能な基板に変更して基板１１−１の機能をアップグレードしても、基板１１−１と基板１１−２との間の通信速度は変わらない。従って、例えば、アップグレード後の基板１１−１がアップグレード前の基板１１−１より高速の通信を必要とする場合、アップグレード後の基板１１−１の性能を十分に発揮させることが困難であった。
【００１２】
また、アップグレード後の基板１１−１の性能を十分に発揮させるために、バス１３を、そのバス幅などを変えて、高速通信を可能にする場合、マザーボード１０を新しいマザーボード１０に、基板１１−１を新しい基板１１−１に、基板１１−２を新しい基板１１−２に入れ替える必要があった。
【００１３】
以上のように、バス１３を、アップグレード後の基板１１−１の性能を十分に発揮させることができるように最適化することは困難であった。
【００１４】
本発明は、このような状況に鑑みてなされたものであり、特に、バスを容易に最適化することができるようにするものである。
【課題を解決するための手段】
【００１５】
本発明の情報処理基板は、自分自身と第２の情報処理基板とを接続する複数の接続線の中から、第２の情報処理基板との通信に用いる接続線を決定する決定手段と、決定手段により第２の情報処理基板との通信に用いるものとして決定された接続線の電気的特性を補償する補償手段とを備えることを特徴とする。
【００１６】
この決定手段または補償手段は、ＩＣ（Integrated Circuit）であり、決定手段を実現するＩＣまたは、補償手段を実現するＩＣのうちの少なくともいずれかは、着脱可能にすることができる。
【００１７】
決定手段には、バスを制御する第３の情報処理基板からの制御に応じて、第２の情報処理基板との通信に用いる接続線を決定させることができる。
【００１８】
本発明の他の情報処理基板は、バスの複数の接続線の中から、第１の情報処理基板と第２の情報処理基板との通信に用いる接続線を決定し、第１の情報処理基板と第２の情報処理基板の基板間の結線を管理する管理手段を備えることを特徴とする。
【００１９】
この管理手段は、ＩＣ（Integrated Circuit）であり、管理手段を実現するＩＣは、着脱可能にすることができる。
【００２０】
本発明の情報処理システムは、第１の情報処理基板は、複数の接続線の中から、第２の情報処理基板と第３の情報処理基板との通信に用いる接続線を決定し、第２の情報処理基板と第３の情報処理基板の基板間の結線を管理する管理手段と、管理手段により第２の情報処理基板と第３の情報処理基板との通信に用いるものとして決定された接続線を表すバス情報を、第３の情報処理基板に送信する送信手段とを備え、第３の情報処理基板は、送信手段から送信されてくるバス情報に基づいて、バスの複数の接続線の中から、第２の情報処理基板との通信に用いる接続線を決定する決定手段を備えることを特徴とする。
【００２１】
本発明の情報処理方法は、第１の情報処理基板は、複数の接続線の中から、第２の情報処理基板と第３の情報処理基板との通信に用いる接続線を決定するとともに、第２の情報処理基板と第３の情報処理基板の基板間の結線を管理し、第２の情報処理基板と第３の情報処理基板との通信に用いるものとして決定された接続線を表すバス情報を、第３の情報処理基板に送信し、第３の情報処理基板は、バス情報に基づいて、バスの複数の接続線の中から、第２の情報処理基板との通信に用いる接続線を決定することを特徴とする。
【００２２】
本発明の情報処理基板においては、自分自身と第２の情報処理基板とを接続する複数の接続線の中から、第２の情報処理基板との通信に用いる接続線が決定され、第２の情報処理基板との通信に用いるものとして決定された接続線の電気的特性が補償される。
【００２３】
本発明の他の情報処理基板においては、バスの複数の接続線の中から、第１の情報処理基板と第２の情報処理基板との通信に用いる接続線が決定され、第１の情報処理基板と第２の情報処理基板の基板間の結線が管理される。
【００２４】
本発明の情報処理システムおよび情報処理方法においては、第１の情報処理基板において、複数の接続線の中から、第２の情報処理基板と第３の情報処理基板との通信に用いる接続線が決定されるとともに、第２の情報処理基板と第３の情報処理基板の基板間の結線が管理され、第２の情報処理基板と第３の情報処理基板との通信に用いるものとして決定された接続線を表すバス情報が、第３の情報処理基板に送信される。そして、第３の情報処理基板において、バス情報に基づいて、バスの複数の接続線の中から、第２の情報処理基板との通信に用いる接続線が決定される。
【発明の効果】
【００２５】
本発明によれば、バスを容易に最適化することができる。
【発明を実施するための最良の形態】
【００２６】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２７】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２８】
請求項１に記載の情報処理基板（例えば、図２の基板２１−１）は、複数の接続線からなるバス（例えば、図２のバス２３）が配設された第１の情報処理基板（例えば、図２のマザーボード２０）に装着され、前記第１の情報処理基板に装着された第２の情報処理基板（例えば、図２の基板２１−２）と通信を行う情報処理基板において、自分自身と前記第２の情報処理基板とを接続する前記複数の接続線の中から、前記第２の情報処理基板との通信に用いる接続線を決定する決定手段（例えば、図２の論理的結線モジュール３２−１）と、前記決定手段により前記第２の情報処理基板との通信に用いるものとして決定された接続線の電気的特性を補償する補償手段（例えば、図２の電気的特性補償モジュール３３−１）とを備えることを特徴とする。
【００２９】
請求項２に記載の情報処理基板は、前記決定手段は、前記バスを制御する第３の情報処理基板（例えば、図２のマザーボード２０）からの制御に応じて、前記第２の情報処理基板との通信に用いる接続線を決定することを特徴とする。
【００３０】
請求項４に記載の情報処理基板（例えば、図２のマザーボード２０）は、複数の接続線からなるバス（例えば、図２のバス２３）が配設され、第１の情報処理基板（例えば、図２の基板２１−１）と第２の情報処理基板（例えば、図２の基板２１−２）とを接続する前記バスを制御する情報処理基板において、前記バスの前記複数の接続線の中から、前記第１の情報処理基板と前記第２の情報処理基板との通信に用いる接続線を決定し、前記第１の情報処理基板と前記第２の情報処理基板の基板間の結線を管理する管理手段（例えば、図２の論理的結線モジュール４２）を備えることを特徴とする。
【００３１】
請求項６に記載の情報処理システムは、複数の接続線からなるバス（例えば、図２のバス２３）が配設された第１の情報処理基板（例えば、図２のマザーボード）と、前記第１の情報処理基板に装着され、前記第１の情報処理基板に装着された第２の情報処理基板（例えば、図２の基板２１−２）と通信を行う第３の情報処理基板（例えば、図２の基板２１−１）とを備える情報処理システムにおいて、前記第１の情報処理基板は、前記複数の接続線の中から、前記第２の情報処理基板と前記第３の情報処理基板との通信に用いる接続線を決定し、前記第２の情報処理基板と前記第３の情報処理基板の基板間の結線を管理する管理手段(例えば、図１７のステップＳ１１５の処理を実行する図２の論理的結線モジュール４２)と、前記管理手段により前記第２の情報処理基板と前記第３の情報処理基板との通信に用いるものとして決定された接続線を表すバス情報を、前記第３の情報処理基板に送信する送信手段（例えば、図１７のステップＳ１１６の処理を実行する図２の論理的結線モジュール）とを備え、前記第３の情報処理基板は、前記送信手段から送信されてくるバス情報に基づいて、前記バスの前記複数の接続線の中から、前記第２の情報処理基板との通信に用いる接続線を決定する決定手段（例えば、図２の論理的結線モジュール３２−１）を備えることを特徴とする。
【００３２】
請求項７に記載の情報処理方法は、複数の接続線からなるバス（例えば、図２のバス２３）が配設された第１の情報処理基板（例えば、図２のマザーボード２０）と、前記第１の情報処理基板に装着され、前記第１の情報処理基板に装着された第２の情報処理基板（例えば、図２の基板２１−２）と通信を行う第３の情報処理基板（例えば、図２の基板２１−１）とを備える情報処理システムの情報処理方法において、前記第１の情報処理基板は、前記複数の接続線の中から、前記第２の情報処理基板と前記第３の情報処理基板との通信に用いる接続線を決定するとともに、前記第２の情報処理基板と前記第３の情報処理基板の基板間の結線を管理し（例えば、図１７のステップＳ１１５）、前記第２の情報処理基板と前記第３の情報処理基板との通信に用いるものとして決定された接続線を表すバス情報を、前記第３の情報処理基板に送信し（例えば、図１７のステップＳ１１６）、前記第３の情報処理基板は、前記バス情報に基づいて、前記バスの前記複数の接続線の中から、前記第２の情報処理基板との通信に用いる接続線を決定する（例えば、図１８のステップＳ１４２）ことを特徴とする。
【００３３】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００３４】
図２は、本発明を適用したマザーボード（メイン基板）２０の一実施の形態の構成例を示している。
【００３５】
図２のマザーボード２０には、バスコントローラ２２、基板２１−１が挿し込まれるコネクタ２４−１、および基板２１−２が挿し込まれるコネクタ２４−２が設けられている。また、マザーボード２０には、コネクタ２４−１とコネクタ２４−２とを接続するバス２３が配設されている。バス２３は、コネクタ２４−２とバスコントローラ２２との間にも配設されている。
【００３６】
基板２１−１には、機能モジュール３１−１、論理的結線モジュール３２−１、および電気的特性補償モジュール３３−１が装着されている。基板２１−２には、機能モジュール３１−２、論理的結線モジュール３２−２、および電気的特性補償モジュール３３−２が装着されている。基板２１−１は、コネクタ２４−１または２４−２に挿し込むことで、マザーボード２０に装着することができる。基板２１−２も同様である。なお、ここでは、基板２１−１は、コネクタ２４−１に、基板２１−２は、コネクタ２４−２に、それぞれ装着されるものとする。
【００３７】
なお、機能モジュール３１−１、論理的結線モジュール３２−１、および電気的特性補償モジュール３３−１は、例えば、ＩＣ（Integrated Circuit）で構成され、それぞれ基板２１−１に対して着脱可能となっている。また、機能モジュール３１−２、論理的結線モジュール３２−２、および電気的特性補償モジュール３３−２も、例えば、ＩＣで構成され、それぞれ基板２１−２に対して着脱可能となっている。
【００３８】
バスコントローラ２２には、バス機能モジュール４１、論理的結線モジュール４２、および電気的特性補償モジュール４３が装着されている。なお、バス機能モジュール４１、論理的結線モジュール４２、電気的特性補償モジュール４３は、例えば、ＩＣで構成され、マザーボード２０に対してそれぞれ着脱可能となっている。
【００３９】
このように、それぞれのモジュールが各基板（マザーボード２０）に対して、着脱可能になっていることから、モジュールを取り替えることで、それぞれの基板２１の機能を容易に変更することができる。
【００４０】
バス２３は、基板２１−１とバスコントローラ２２との間、基板２１−２とバスコントローラ２２との間のデータの通信路である電気的な結線である。バス２３は、コネクタ２４−１に装着された基板２１−１、コネクタ２４−２に装着された基板２１−２、バスコントローラ２２それぞれを電気的に接続する。基板２１−１、基板２１−２、バスコントローラ２２それぞれの間では、バス２３を介して、データ等の送受信が行われる。
【００４１】
コネクタ２４−１とコネクタ２４−２は、バス２３を介して、バスコントローラ２２に接続されている。
【００４２】
図３は、基板２１−１と基板２１−２がコネクタ２４−１とコネクタ２４−２にそれぞれ装着されている状態の図２のマザーボード２０の構成を説明するブロック図である。
【００４３】
基板２１−１の機能モジュール３１−１は、基板２１−１の機能を実行する。例えば、機能モジュール３１−１は、GUI（Graphical User Interface）等のグラフィック処理、パケットの送受信処理等を実行する。
【００４４】
基板２１−１の論理的結線モジュール３２−１には、バスサイクル等のプロトコルが実装されている。論理的結線モジュール３２−１は、後述するバスコントローラ２２からの制御に応じて、バス２３の複数の接続線の中から、基板２１−２との通信に用いる接続線を決定する。
【００４５】
基板２１−１の電気的特性補償モジュール３３−１は、バス駆動電圧、インピーダンス等のバス２３の電気的特性を補償するための回路から構成される。電気的特性補償モジュール３３−１は、可変抵抗やコンデンサを用いて、基板２１−２との通信に用いるバス２３の接続線の電気的特性を変化させる。例えば、電気的特性補償モジュール３３−１は、インピーダンスマッチング等を行う。
【００４６】
上述のように、論理的結線モジュール３２−１がバス２３による結線を決定し、電気的特性補償モジュール３３−１は、その決定されたバス２３の電気的特性を補償する。そして、機能モジュール３１−１は、そのような管理がされたバス２３を介して、データの通信を行いながら、基板２１−１の機能に対応するデータ処理を行う。
【００４７】
なお、基板２１−２の機能モジュール３１−２、論理的結線モジュール３２−２、電気的特性補償モジュール３３−２は、基板２１−１の機能モジュール３１−１、論理的結線モジュール３２−１、電気的特性補償モジュール３３−１と同様であるので、説明は省略する。
【００４８】
また、以下、基板２１−１乃至２１−ｉ（ｉ＝1,2,3,・・・）、機能モジュール３１−１乃至３１−ｉ、論理的モジュール３２−１乃至３２−ｉ、電気的特性補償モジュール３３−１乃至３３−ｉを区別する必要がない場合、基板２１−１乃至２１−ｉ、機能モジュール３１−１乃至３１−ｉ、論理的モジュール３２−１乃至３２−ｉ、電気的特性補償モジュール３３−１乃至３３−ｉをそれぞれまとめて、基板２１、機能モジュール３１、論理的モジュール３２、電気的特性モジュール３３と称する。
【００４９】
バスコントローラ２２のバス機能モジュール４１は、バス２３を介して行われる基板２１−１と基板２１−２との間の通信を制御する。
【００５０】
バスコントローラ２２の論理的結線モジュール４２は、バス２３のトポロジを設定する。具体的には、論理的結線モジュール４２は、バス２３の複数の接続線の中から、基板２１−１と基板２１−２との間の通信に用いる接続線を決定する（割り当てる）ことで、バス２３のトポロジを設定し、基板２１−１と基板２１−２との間の結線を論理的に管理する。また、論理的結線モジュール４２は、基板２１−１と基板２１−２との間の通信に用いるものとして決定した接続線、即ち、その割り当てた結果得られる基板２１−１と基板２１−２との間の論理的な結線を表すバス情報を、基板２１に送信することにより、基板２１の論理的結線モジュール３２を制御する。
【００５１】
バスコントローラ２２の電気的特性補償モジュール４３は、基板２１の電気的特性補償モジュール３３と同様に、バス２３の電気的特性を補償するための回路で構成される。電気的特性補償モジュール４３は、可変抵抗、コンデンサ等を用いて、基板２１−１と基板２１−２との間の通信に用いるバス２３の接続線の電気的特性を変化させる。
【００５２】
なお、バス２３の接続線そのもののインピーダンスは、十分小さい値になっている。基板２１の電気的特性補償モジュール３３、バスコントローラ２２の電気的特性補償モジュール４３が、基板２１−１と基板２１−２との間の通信に用いるバス２３の接続線の電気的特性を変化させることにより、バス２３の接続線のインピーダンスを、基板２１−１と基板２１−２との間の通信に最適なインピーダンスに変更する。
【００５３】
また、バス２３のバス幅は十分広くなっており（バス２３の接続線の数は十分多くなっており）、バスコントローラ２２の論理的結線モジュール４２が、バス２３の割り当て量（基板２１−１と基板２１−２との間の通信に用いる接続線の数）を変化させることにより、基板２１−１と基板２１−２との間の通信用のバス幅を、最適な幅に設定する。
【００５４】
以上のように、バス２３において、接続線のインピーダンスを、基板２１−１と基板２１−２との間の通信に最適なインピーダンスに変更し、バス幅を、基板２１−１と基板２１−２との間の通信に最適な幅に設定することにより、バス２３を容易に最適化することができる。
【００５５】
図４乃至図６は、バス２３のトポロジの例を示している。これらのトポロジは、例えば、バスコントローラ２２の論理的結線モジュール４２により設定される。なお、図４乃至図６では、４つの基板２１−１乃至基板２１−４がバス２３に接続されている。基板２１−３と基板２１−４は、図３の基板２１−１と同様に構成される。
【００５６】
図４では、１つのバス２３上に、基板２１−１乃至基板２１−４のすべてが接続されている。このトポロジは、ネットワーク接続でいうところのバス型と呼ばれるものである。
【００５７】
図５では、基板２１−１乃至基板２１−４のうちの、基板２１−２と、基板２１−１、基板２１−３、または基板２１−４それぞれとが、バス２３を介して接続されている。このトポロジは、ネットワーク接続でいうところのスター型と呼ばれるものである。
【００５８】
図６では、基板２１−１乃至基板２１−４がバス２３を介して相互に直接接続されている。即ち、基板２１−１は、基板２１−２乃至基板２１−４それぞれと、基板２１−２は、基板２１−１、基板２１−３、基板２１−４それぞれと、基板２１−３は、基板２１−１、基板２１−２、基板２１−４それぞれと、基板２１−４は、基板２１−１乃至基板２１−３のそれぞれと、バス２３を介して直接接続されている。このトポロジは、ネットワーク接続でいうところのメッシュ型と呼ばれるものである。
【００５９】
図７は、図４に示したバス型のトポロジでのバス幅の具体例を示し、図８は、図６に示したメッシュ型のトポロジでのバス幅の具体例を示している。
【００６０】
なお、図７と図８では、バス２３のバス幅を、例えば、６４ビット（bit）とする。即ち、バス２３は、６４本の接続線からなっている。また、図７と図８では、バス２３を介して、３つの基板２１−１乃至基板２１−３が接続されている。
【００６１】
図７では、基板２１−１乃至基板２１−３すべてが、バス２３の６４本の接続線に接続されている。即ち、基板２１−１と基板２１−２との間、基板２１−２と基板２１−３との間、基板２１−１と基板２１−３との間の通信に用いられるバス２３のバス幅は６４ビットとなっている。
【００６２】
図７に示すバス２３のトポロジでは、バス２３のバス幅である６４ビットをすべて用いて１つの基板２１−ｉとその他の１つの基板２１−ｊ（ｉ≠ｊ）との間でデータの通信を行うことができる。従って、効率良く通信を行うことができ、高速通信が要求される機能を有する基板２１−ｉと基板２１−ｊとの間の通信に適している。但し、基板２１−１乃至基板２１−３のうちの１つの基板２１−ｉからその他の１つの基板２１―ｊへの通信が行われているとき、その通信用として、バス２３が占有されるため、１つの基板２１−ｉからその他の１つの基板２１―ｊへの通信は、時分割で行われる。このため、応答性が犠牲になる場合がある。
【００６３】
図８では、バス２３が６個の８ビット幅のバス２３−１乃至バス２３−６に分割されている。そして、バス２３−１は、基板２１−１から基板２１−２のデータ送信用と、バス２３−２は、基板２１−２から基板２１−３へのデータ送信用と、バス２３−３は、基板２１−１から基板２１−３へのデータの送信用と、それぞれされている。また、バス２３−４は、基板２１−２から基板２１−１へのデータ送信用と、バス２３−５は、基板２１−３から基板２１−２へのデータ送信用と、バス２３−６は、基板２１−３から基板２１−１へのデータ送信用と、それぞれされている。
【００６４】
バス２３−１乃至バス２３−６のそれぞれのバス幅は８ビットであるので、図７に示したバス幅が６４ビットのバス２３に比べて高速にデータを伝送することはできないが、複数の基板２１間で同時に通信を行うことができ、応答性を向上させることができる。
【００６５】
図９は、本発明を適用したマザーボード６０の他の一実施の形態の構成例を示している。なお、図９中、図２と対応する部分については、同一の符号を付してある。
【００６６】
図９のマザーボード６０には、４つの基板２１−１乃至基板２１−４、バスコントローラ２２が装着されている。また、マザーボード６０には、バス６１が配設されている。
【００６７】
バス６１は、１本の接続線からなるクロックバス６１−１、１６本の接続線からなるアドレスバス６１−２、６４本の接続線からなるデータバス６１−３で構成される。従って、クロックバス６１−１、アドレスバス６１−２、データバス６１−３のバス幅は、それぞれ１ビット、１６ビット、６４ビットである。
【００６８】
図１０は、図９において、高速に通信を行う場合のバス６１を説明する図である。
【００６９】
図１０では、２つの基板２１間で高速通信を行うため、バスコントローラ２２は、２つの基板２１間を接続するデータバス６１−３のバス幅が最大の６４ビットとなるようにバス６１を２つの基板２１間の通信用に割り当てることで、バス６１のトポロジを、図４や図７で説明したバス型に設定する。この場合、基板２１−１乃至基板２１−４のうち、１つの基板２１―ｉからその他の１つの基板２１−ｊに、高速でデータを通信することができる。但し、基板２１−１乃至基板２１−４のうち、１つの基板２１−ｉからその他の１つの基板２１−ｊに、データバス６１−３を介してデータの通信を行う場合、その通信がデータバス６１−３を占有する。即ち、１つの基板２１−ｉからその他の１つの基板２１−ｊへのデータの通信がデータバス６１−３を介して行われている間、その通信以外の通信を、データバス６１−３を介して行うことはできない。従って、基板２１−ｉと基板２１−ｊとの間のデータの通信は、時分割で行われる。
【００７０】
図１１は、図１０の基板２１間で、バス６１を介して行われる通信のタイミングを説明する図である。
【００７１】
図１１では、バス６１のクロックバス６１−１上のクロックの１クロック目に同期して、バス幅が６４ビットのデータバス６１−３を介して、基板２１−１と基板２１−２との間の通信が行われ、２クロック目に同期して、データバス６１−３を介して、基板２１−２と基板２１−３との間の通信が行われる。
【００７２】
そして、３クロック目に同期して、データバス６１−３を介して、基板２１−３と基板２１−４との間の通信が行われ、４クロック目に同期して、データバス６１−３を介して、基板２１−４と基板２１−１との間の通信が行われる。
【００７３】
さらに、５クロック目に同期して、データバス６１−３を介して、基板２１−１と基板２１−２との間の通信が行われ、６クロック目に同期して、データバス６１−３を介して、基板２１−２と基板２１−３との間の通信が行われる。
【００７４】
即ち、図１１では、バス６１のクロックバス６１−１上のクロックに同期しながら、基板２１−１と基板２１−２との間、基板２１−２と基板２１−３との間、基板２１−３と基板２１−４との間、基板２１−４と基板２１−１との間のそれぞれの通信が、時分割で行われる。
【００７５】
つまり、図１１では、１クロック毎に、データバス６１−３の占有主体が切り替わる。従って、ある基板２１−ｉと基板２１−ｊとは、データバス６１−３を占有できるタイミングになったとき、バス幅が６４ビットのデータバス６１−３を介して通信を行うことができるので、最大で６４ビットのデータを高速に送受信することが可能となる。
【００７６】
なお、データバス６１−３の占有主体は、１クロック毎ではなく、複数クロック毎に切り替わるようにしてもよい。
【００７７】
また、図１１では、６４ビットのデータを高速で通信することができる反面、基板２１−ｉと基板２１−ｊとの間の通信の周期は、クロックの４倍となり、応答性は低くなる。
【００７８】
図１２は、図９において、応答性が高い通信を行う場合のバス６１を説明する図である。
【００７９】
図１２では、応答性が高い通信を行うため、バスコントローラ２２は、バス６１のデータバス６１−３を、基板２１−１と基板２１−２との間、基板２１−２と基板２１−３との間、基板２１−３と基板２１−４との間、基板２１−４と基板２１−１との間の４つの基板間の通信用に均等に分割し、各基板２１間の通信用のデータバス６１−３のバス幅が１６（=64/4）ビットとなるようにバス６１を各基板２１間の通信用に割り当てることで、バス６１の図６や図８で説明したトポロジを設定する。
【００８０】
図１２では、基板２１−１乃至基板２１−４のそれぞれの間での通信を同時に行うことができ、応答性を向上させることができる。但し、データバス６１−３の各基板２１間のバス幅は１６（＝64/4）ビットであるので、図１０に示すバス幅が６４ビットのデータバス６１−３を介して通信を行う場合に比べて、一度に送受信することができるデータの量は少なくなる。
【００８１】
図１３は、図１２の基板２１間で、バス６１を介して行われる通信のタイミングを説明する図である。
【００８２】
図１３では、バス６１のクロックバス６１−１上のクロックに同期しながら、基板２１−１と基板２１−２との間、基板２１−２と基板２１−３との間、基板２１−３と基板２１−４との間、基板２１−４と基板２１−１との間のそれぞれの通信を、バス幅が１６ビットのデータバス６１−３を介して同時に行うことができる。即ち、１つの基板２１−ｉとその他の１つの基板２１−ｊとの間では、クロック周期で通信を行うことができる。従って、１つの基板２１−ｉとその他の１つの基板２１−ｊとの間の１回の通信に必要なデータが１６ビット以下で、応答性が重視される場合には、複数の基板２１間で同時に通信を行うことで応答性を向上させることができる。
【００８３】
ここで、図１２および図１３では、基板２１−ｉと基板２１−ｊとの間の通信は、バス幅が１６ビットのデータバス６１−３を介して行われるので、図１０および図１１に示したように、基板２１−ｉと基板２１−ｊとの間の通信が、バス幅が６４ビットのデータバス６１−３を介して行われる場合と、４クロックあたりの転送レートは同一となる。但し、図１２および図１３では、ある１クロックにおいて、複数の基板２１間で同時に通信を行うことができるので、応答性を向上させることができる。
【００８４】
図１４を参照して、バス１００のトポロジについて、さらに説明する。
【００８５】
図１４では、バス１００を介して、４つの基板２１−１、基板２１−２、基板２１−３、基板２１−４が接続されている。そして、バス１００のバス幅は、例えば、３２ビットとされている。即ち、バス１００は、３２本の接続線からなっている。
【００８６】
図１４において、バス１００の３２本の接続線のうち、１６本が基板２１−１と基板２１−２との間の通信用に決定されている。即ち、バス幅が３２ビットのバス１００のうち、１６ビットが基板２１−１と基板２１−２との間の通信用に割り当てられている。また、バス１００のうちの他の８ビットが基板２１−２と基板２１−３との間の通信用に割り当てられ、残りの８ビットが、ブロードキャスト用に割り当てられている。
【００８７】
図１５は、図１４のバス１００のトポロジを設定するバスコントローラ２２のトポロジ設定処理を説明する図である。
【００８８】
なお、以下、適宜、３２ビットのバス１００の３２本の接続線のうちのｉ本目を、第ｉ−１ビットという。
【００８９】
図１５の上に示されるように、基板２１−１乃至基板２１−４は、バス幅が３２ビット（図中、BUS［31:0］）のバス１００を介して、バスコントローラ２２と接続されている。このバス１００は、白抜き矢印の先に示されるように、そのバス幅が各基板２１間の通信用のものとして割り当てられる。
【００９０】
即ち、バスコントローラ２２（の論理的結線モジュール４２）は、バス１００の３２ビットのうち、例えば、第０ビットから第７ビットまでの計８ビットを、ブロードキャスト用に割り当てる（図中、BUS[7:0]）。また、バスコントローラ２２は、バス１００の、例えば、第８ビットから第１５ビットまでの計８ビット（図中、BUS[15:8]）を、基板２１−２と基板２１−３との間の通信用に、バス１００の、例えば、第１６ビットから第３１ビットまでの計１６ビット（図中、BUS[31:16]）を、基板２１−１と基板２１−２との間の通信用に割り当てる。
【００９１】
図１６は、バスコントローラ２２が行うバス１００のトポロジ設定処理を説明するフローチャートである。このトポロジ設定処理は、例えば、基板２１がバス１００のトポロジの変更を要求したとき開始される。なお、バスコントローラ２２（の論理的結線モジュール４２）には、基板２１が他の基板２１との通信用に必要なバス１００のバス幅が、予め記憶されている。
【００９２】
ステップＳ１１において、バスコントローラ２２は、予め記憶されている基板２１が他の基板２１との通信用に必要とするバス幅から、基板２１−１と基板２１−２との間の通信に必要なバス幅が１６ビットであることを認識し、バス１００の３２ビットのうちの、第１６ビットから第３１ビットまでの計１６ビットを、基板２１−１と基板２１−２との間の通信用に割り当てる。バスコントローラ２２は、その割り当てた結果得られる基板２１−１と基板２１−２との間の論理的な結線を表すバス情報を基板２１−１に送信する。
【００９３】
ステップＳ３１において、基板２１−１は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第１６ビットから第３１ビットまでを基板２１−２との通信用に決定する。
【００９４】
ステップＳ１２において、バスコントローラ２２は、ステップＳ１１でバス１００を基板２１−１と基板２１−２との間の通信用に割り当てた結果を表すバス情報を基板２１−２に送信する。
【００９５】
ステップＳ５１において、基板２１−２は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第１６ビットから第３１ビットまでを基板２１−１との通信用に決定する。
【００９６】
ステップＳ１３において、バスコントローラ２２は、ステップＳ１１でバス１００を基板２１−１と基板２１−２との間の通信用に割り当てた結果を表すバス情報を基板２１−３に送信する。
【００９７】
ステップＳ７１において、基板２１−３は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第１６ビットから第３１ビットまでを基板２１−１と基板２１−２に開放する。例えば、基板２１−３の電気的補償モジュール３３−３は、バス１００の第１６ビットから第３１ビットまでに対応する１６本の接続線（に接続している端子のバス１００側からみたインピーダンス）を、ハイインピーダンスにして、その接続線を用いないようにすることにより、バス１００の第１６ビットから第３１ビットまでを開放する。
【００９８】
ステップＳ１４において、バスコントローラ２２は、ステップＳ１１でバス１００を基板２１−１と基板２１−２との間の通信用に割り当てた結果を表すバス情報を基板２１−４に送信する。
【００９９】
ステップＳ９１において、基板２１−４は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第１６ビットから第３１ビットまでを、基板２１−３と同様にして、基板２１−１と基板２１−２に開放する。
【０１００】
以上のようにして、バスコントローラ２２は、基板２１−１と基板２１−２との間の通信用のバス１００の設定（割り当て）を完了する。
【０１０１】
ステップＳ１５において、バスコントローラ２２は、予め記憶されている基板２１が他の基板２１との通信用に必要とするバス幅から、基板２１―２と基板２１−３との間の通信に必要なバス幅が８ビットであることを認識し、バス１００の３２ビットのうちの、第８ビットから第１５ビットまでの計８ビットを、基板２１−２と基板２１−３との間の通信用に割り当てる。バスコントローラ２２は、その割り当てた結果得られる基板２１−２と基板２１−３との間の論理的な結線を表すバス情報を基板２１−２に送信する。
【０１０２】
ステップＳ５２において、基板２１−２は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第８ビットから第１５ビットまでを基板２１−３との通信用に決定する。
【０１０３】
ステップＳ１６において、バスコントローラ２２は、ステップＳ１５でバス１００を基板２１−２と基板２１−３との間の通信用に割り当てた結果を表すバス情報を基板２１−３に送信する。
【０１０４】
ステップＳ７２において、基板２１−３は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第８ビットから第１５ビットまでを基板２１−２との通信用に決定する。
【０１０５】
ステップＳ１７において、バスコントローラ２２は、ステップＳ１５でバス１００を基板２１−２と基板２１−３との間の通信用に割り当てた結果を表すバス情報を基板２１−１に送信する。
【０１０６】
ステップＳ３２において、基板２１−１は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第８ビットから第１５ビットまでを基板２１−２と基板２１−３に開放する。
【０１０７】
ステップＳ１８において、バスコントローラ２２は、ステップＳ１５でバス１００を基板２１−２と基板２１−３との間の通信用に割り当てた結果を表すバス情報を基板２１−４に送信する。
【０１０８】
ステップＳ９２において、基板２１−４は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第８ビットから第１５ビットまでを基板２１−２と基板２１−３に開放する。
【０１０９】
以上のようにして、バスコントローラ２２は、基板２１−２と基板２１−３との間の通信用のバス１００の設定を完了する。
【０１１０】
ステップＳ１９において、バスコントローラ２２は、予め記憶されている基板２１が他の基板２１との通信用に必要とするバス幅から、ブロードキャストに必要なバス幅が８ビットであることを認識し、バス１００の３２ビットのうちの、第０ビットから第７ビットまでの計８ビットを、ブロードキャストの通信用に割り当てることで、バス１００のトポロジを設定する。バスコントローラ２２は、その割り当てた結果得られるブロードキャストの通信用の論理的な結線を表すバス情報を基板２１−１に送信する。
【０１１１】
ステップＳ３３において、基板２１−１は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第０ビットから第７ビットまでをブロードキャスト用に決定する。
【０１１２】
ステップＳ２０において、バスコントローラ２２は、ステップＳ１９でバス１００をブロードキャストの通信用に割り当てた結果を表すバス情報を基板２１−２に送信する。
【０１１３】
ステップＳ５３において、基板２１−２は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第０ビットから第７ビットまでをブロードキャスト用に決定する。
【０１１４】
ステップＳ２１において、バスコントローラ２２は、ステップＳ１９でバス１００をブロードキャストの通信用に割り当てた結果を表すバス情報を基板２１−３に送信する。
【０１１５】
ステップＳ７３において、基板２１−３は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第０ビットから第７ビットまでをブロードキャスト用に決定する。
【０１１６】
ステップＳ２２において、バスコントローラ２２は、ステップＳ１９でバス１００をブロードキャスト用に割り当てた結果を表すバス情報を基板２１−４に送信する。
【０１１７】
ステップＳ９３において、基板２１−４は、バスコントローラ２２から送信されてきたバス情報を受信し、バス１００の３２ビットのうち、バス情報が表す第０ビットから第７ビットまでをブロードキャスト用に決定する。
【０１１８】
以上のようにして、バスコントローラ２２は、ブロードキャスト用のバス１００の設定を完了する。
【０１１９】
そして、バスコントローラ２２は、バス１００の３２ビットすべてを基板２１間の通信用に割り当てることで、バス１００のトポロジを設定し、バス１００のトポロジ設定処理を終了する。
【０１２０】
図１７は、バスコントローラ２２の論理的結線モジュール４２が行うバス１００のトポロジ設定処理を説明するフローチャートである。なお、このバストポロジ設定処理は、例えば、バス１００が配設された不図示のマザーボードの電源がオンされたとき開始される。また、バス１００を介してバスコントローラ２２と接続している基板２１には、０から順に番号が付され、番号ｊが付された基板２１を基板＃ｊという。
【０１２１】
ステップＳ１１１において、論理的結線モジュール４２は、基板の番号を表す値ｎを０に初期化し、ステップＳ１１２に進む。
【０１２２】
ステップＳ１１２において、論理的結線モジュール４２は、基板２１からバス１００のトポロジの変更要求を受信したかどうかを判定し、トポロジの変更要求を受信するまで待機する。
【０１２３】
ステップＳ１１２において、論理的結線モジュール４２は、基板２１からバス１００のトポロジの変更要求を受信したと判定した場合、ステップＳ１１３に進み、論理的結線モジュール４２は、基板２１の論理的結線モジュール３２のバスサイクルを停止させる。なお、論理的結線モジュール４２は、バスサイクルを停止させたとき、それまでのバス１００の割り当てを解除する。即ち、バス１００のすべてのビットが、基板２１間の通信用に割り当てられてないビットとされる。
【０１２４】
ステップＳ１１４において、論理的結線モジュール４２は、バスリソースが残っているかどうかを判定する。即ち、論理的結線モジュール４２は、バス１００のバス幅である３２ビットのうち、基板２１間の通信用に割り当てられていないビットがあるかどうかを判定する。なお、この判定は、後述する管理テーブルを参照することで行われる。
【０１２５】
ステップＳ１１４において、論理的結線モジュール４２は、バスリソースが残っていると判定した場合、ステップＳ１１５に進み、基板＃ｎに対して、バス１００の割り当てを行う。
【０１２６】
例えば、基板＃ｎが基板２１−１である場合、図１６のステップＳ１１に示したように、論理的結線モジュール４２は、予め記憶されている基板２１が他の基板２１との通信用に必要とするバス１００のバス幅から、基板２１−１と基板２１−２との間の通信に必要なバス幅が１６ビットであることを認識し、基板２１−１に対して、バス１００のバス幅である３２ビットのうち、例えば、未割り当ての第１６ビットから第３１ビットまでの１６ビットを基板２１−２との通信用に割り当てる。そして、論理的結線モジュール４２は、バス１００の第１６ビットから第３１ビットを、基板２１−１と基板２１−２との間の通信用として割り当て済みである旨を、自ら管理する管理テーブルに記憶させる。なお、論理的結線モジュール４２は、バス１００の割り当てを解除した場合（ステップＳ１１３）も、バス１００のすべてのビットが未割り当てである旨を、管理テーブルに記憶することで、バス１００を管理する。
【０１２７】
ここで、基板＃ｎにおいて、他の複数の基板２１との間の通信に必要なバス幅が、それぞれ記憶されている場合、論理的結線モジュール４２は、基板＃ｎに対して、各他の基板２１との通信用にそれぞれバス１００の割り当てを行う。
【０１２８】
また、基板＃ｎと基板＃ｎ＋１との間の通信用にバス１００の割り当てを行う場合、論理的結線モジュール４２は、例えば、基板＃ｎに対して割り当てを行うときに、基板＃ｎと基板＃ｎ＋１との間の通信用にバス１００の割り当てを行ってもよいし、基板＃ｎ＋１に対して割り当てを行うときに、基板＃ｎと＃ｎ＋１との間の通信用にバス１００の割り当てを行ってもよい。さらに、ステップＳ１１５において、ブロードキャスト用にバス１００の割り当てが行われる場合も、論理的結線モジュール４２は、基板２１のいずれかに対して割り当てを行うときに、ブロードキャスト用にバス１００を割り当てることができる。なお、論理的結線モジュール４２は、既にバス１００が割り当てられた通信用には、バス１００の割り当てを行わない。
【０１２９】
ステップＳ１１６において、論理的結線モジュール４２は、ステップＳ１１５においてバス１００が割り当てられた結果を表すバス情報を、バス１００を介して接続されているすべての基板２１に送信し、ステップＳ１１７に進む。
【０１３０】
ステップＳ１１７において、論理的結線モジュール４２は、値ｎを１だけインクリメントし、ステップＳ１１８に進む。
【０１３１】
ステップＳ１１８において、論理的結線モジュール４２は、すべての基板２１に対するバス１００の割り当てを終了したかどうかを判定する。即ち、論理的結線モジュール４２は、ステップＳ１１８でインクリメントした値ｎが、バスコントローラ２２に接続されている基板２１の枚数以上であるかどうかを判定する。
【０１３２】
ステップＳ１１８において、論理的結線モジュール４２は、すべての基板２１に対するバス１００の割り当てを終了していないと判定した場合、ステップＳ１１４に戻り、上述した処理を繰り返す。
【０１３３】
また、ステップＳ１１８において、論理的結線モジュール４２は、すべての基板２１に対するバス１００の割り当てを終了したと判定した場合、ステップＳ１２０に進む。
【０１３４】
一方、ステップＳ１１４において、論理的結線モジュール４２は、バスリソースが残っていないと判定した場合、ステップＳ１１９に進み、バス幅が足りないので、任意のエラー処理を行う。
【０１３５】
ここで、論理的結線モジュール４２は、エラー処理として、例えば、優先度の高い順に基板２１に対してバス１００の割り当てを行い、優先度が低い基板２１間の通信用には共通に、例えば８ビットを割り当て、ある基板２１に対してはバス１００の割り当てを行わない等の処理を行う。
【０１３６】
ステップＳ１２０において、論理的結線モジュール４２は、基板２１の論理的結線モジュール３２のバスサイクルを再開して、ステップＳ１１１に戻り、上述した処理を繰り返す。
【０１３７】
上述したステップＳ１１４では、論理的結線モジュール４２は、基板２１が他の基板２１との通信用に必要とするバス幅に基づいて、すべての基板２１に対してバス１００を割り当て、バス１００のトポロジを設定する。従って、例えば、マザーボード２０と基板２１を製造する製造元は、基板２１を新たな基板２１に変更してアップグレードする場合、その新たな基板２１の要求する通信の性質に応じてバス１００のトポロジを設定し、そのトポロジに応じて、基板２１と他の基板２１との通信用に必要とするバス１００のバス幅を変更することにより、バス１００の割り当てを動的に変化させることができる。これにより、各基板２１に最適なバス幅と応答性を容易に得ることができる。
【０１３８】
なお、上述した説明では、基板２１がバス１００のトポロジの変更を要求することによって、バスコントローラ２２がバス１００のトポロジ設定処理を行ったが、ユーザが不図示の入力部を操作し、トポロジの変更を要求するようにしてもよい。
【０１３９】
また、上述した説明では、バス１００のトポロジ設定処理を、バスコントローラ２２の論理的結線モジュール４２が行うとしたが、バス機能モジュール４１が行うようにすることもできる。
【０１４０】
図１８は、図１７のバスコントローラ２２の処理に対応して行われる基板２１の論理的結線モジュール３２のバス決定処理を説明するフローチャートである。なお、このバス決定処理は、例えば、バス１００が配設された不図示のマザーボードの電源がオンされたとき開始される。
【０１４１】
ステップＳ１４１において、論理的結線モジュール３２は、図１７のステップＳ１１６の処理でバスコントローラ２２の論理的結線モジュール４２から送信されてくるバス情報を受信したかどうかを判定し、受信したと判定するまで待機する。
【０１４２】
ステップＳ１４１において、論理的結線モジュール３２は、バス情報を受信したと判定した場合、ステップＳ１４２に進み、バス情報に基づいて、バス１００のバス幅である複数ビットの中から、基板との通信に用いるビットを決定して、ステップＳ１４１に戻り、上述した処理を繰り返す。
【０１４３】
例えば、基板２１−１の論理的結線モジュール３２は、バスコントローラ２２から、基板２１−２との通信用として割り当てられたバスが、バス１００のバス幅である３２ビットのうちの、第１６ビットから第３１ビットまでであることを表すバス情報を受信した場合、バス１００の第１６ビットから第３１ビットまでを、基板２１−２との通信に用いるものとして決定する。
【０１４４】
以上のように、複数の接続線からなるバス２３が配設されたマザーボード２０において、バスコントローラ２２の論理的結線モジュール４２が、バス２３の複数の接続線の中から、マザーボード２０に装着された基板２１−１と基板２１−２との通信に用いる接続線を決定し、基板２１−１と基板２１−２との基板間の結線を管理する。また、論理的結線モジュール４２は、その基板２１−１と基板２１−２との通信に用いるものとして決定された接続線を表すバス情報を、基板２１−１に送信する。そして、マザーボード２０に装着された基板２１−１の論理的結線モジュール４２−１が、バス情報に基づいて、バス２３の複数の接続線の中から、基板２１−２との通信に用いる接続線を決定する。また、基板２１−１の電気的結線モジュール４２−１は、基板２１−２との通信に用いる接続線の電気的特性を補償する。従って、バス２３の最適化を容易に行うことができる。
【０１４５】
なお、バスコントローラ２２は、マザーボード２０に独立して設けるのではなく、各基板２１に設けることもできる。このとき、例えば、各基板２１に設けられたバスコントローラ２２のうち、いずれか１つが動作してバス２３のトポロジを管理するようにする。
【０１４６】
また、上述した説明では、基板２１の変更に応じて、バス２３を最適化する場合について説明したが、バス２３のアップグレードに応じて、基板２１およびバスコントローラ２２を変更する場合の例について、図１９を参照して説明する。
【０１４７】
図１９は、バス２３をアップグレードする場合の、基板２１、バスコントローラ２２の変更点を説明する図である。ここで、アップグレード前のバス２３は、例えば、ISA（Industrial Standard Architecture）規格に準拠したバス２３とすることができ、アップグレー後のバス２３は、例えば、PCI（Peripheral Components Interconnect）66規格に準拠したバス２３とすることができる。
【０１４８】
上述したように、バス２３をアップグレードする場合には、バス幅やピンアサイン等が変化する。この場合、例えば、マザーボード２０と基板２１を製造する製造元は、上述したように、各モジュールは着脱可能にされていることから、ISA規格に準拠したバス幅やピンアサインに対応する基板２１の論理的結線モジュール３２と、バスコントローラ２２の論理的結線モジュール４２を、PCI66規格に準拠したバス２３のバス幅やピンアサインに対応する論理的結線モジュール３２と、論理的結線モジュール４２にそれぞれ交換する。
【０１４９】
また、バス２３のアップグレードによって、バス２３の電気的特性が大きく変化する場合、マザーボード２０と基板２１を製造する製造元は、ISA規格に準拠したバス２３の電気的特性に対応する基板２１の電気的特性補償モジュール３３と、バスコントローラ２２の電気的特性補償モジュール４３を、PCI66規格に準拠したバス２３の電気的特性に対応する新たな電気的特性モジュール３３と、電気的特性補償モジュール４３にそれぞれ交換する。
【０１５０】
なお、バス２３をアップグレードする場合、基板２１の機能とバスコントローラ２２で行われる処理は変わらないので、機能モジュール３１とバス機能モジュール４１は変更する必要がない。一般に、機能モジュール３１とバス機能モジュール４１の変更には、人的、時間的に多くのコストが必要となるが、それを免れることができる。
【０１５１】
また、マザーボード２０および基板２１では、バスコントローラ２２の論理的結線モジュール４２と電気的特性補償モジュール４３、および基板２１の論理的結線モジュール３２と電気的特性補償モジュール３３を交換するだけで、バス２３のアップグレードに対応することができる。即ち、バス２３のアップグレードによる変更を最小限にとどめて資源を効率的に利用することができる。従って、省資源で、例えば、バス幅、ピンアサイン等の変化に柔軟に対応できる、バス２３の構造に対してロバストなマザーボード２０および基板２１を構築することができる。
【０１５２】
従来、バス２３のピンアサインは、電気的に固定されており、バス２３をアップグレードするときの制約となっていた。即ち、下位互換性を保ちつつバス２３をアップグレードする場合、アップグレード後のバス２３のピンアサインは、アップグレード前のバス２３のピンアサインに制約される。
【０１５３】
しかしながら、以上の構成を備えるマザーボード２０および基板２１では、バスコントローラ２２の論理的結線モジュール４２および基板２１の論理的結線モジュール３２の交換や、バスコントローラ２２の電気的特性補償モジュール４３および基板２１の電気的特性補償モジュール３３の交換で、バス２３のピンアサイン等の変更に容易に対応することができ、アップグレード後のバス２３の性能を十分に発揮させることができる。
【図面の簡単な説明】
【０１５４】
【図１】従来のマザーボードの一例の構成を示す図である。
【図２】本発明を適用したマザーボードの一実施の形態の構成例を示す図である。
【図３】基板２１−１と基板２１−２がコネクタ２４−１とコネクタ２４−２にそれぞれ装着されている状態の図２のマザーボードの構成を説明するブロック図である。
【図４】バスのトポロジの例を示す図である。
【図５】バスのトポロジの例を示す図である。
【図６】バスのトポロジの例を示す図である。
【図７】図４に示したバス型のトポロジの具体例を示す図である。
【図８】図６に示したメッシュ型のトポロジの具体例を示す図である。
【図９】本発明を適用したマザーボードの他の一実施の形態の構成例を示す図である。
【図１０】高速に通信を行う場合のバスを説明する図である。
【図１１】図１０の基板間でバスを介して行われる通信の周期を説明する図である。
【図１２】応答性が高い通信を行う場合のバスを説明する図である。
【図１３】図１２の基板間でバスを介して行われる通信の周期を説明する図である。
【図１４】バスのトポロジを説明する図である。
【図１５】図１４のバスのトポロジを設定するバスコントローラのトポロジ設定処理を説明する図である。
【図１６】バスコントローラが行うバスのトポロジ設定処理を説明するフローチャートである。
【図１７】バスコントローラの論理的結線モジュールが行うバスのトポロジ設定処理を説明するフローチャートである。
【図１８】基板の論理的結線モジュールが行うバス決定処理を説明するフローチャートである。
【図１９】バス２３をアップグレードする場合の、基板、バスコントローラの変更点を説明する図である。
【符号の説明】
【０１５５】
２０  マザーボード，  ２１  基板，  ２２  バスコントローラ，  ２３  バス，  ３１  機能モジュール，  ３２  論理的結線モジュール，  ３３  電気的特性補償モジュール，  ４１  バス機能モジュール，  ４２  論理的結線モジュール，  ４３  電気的特性補償モジュール，  ６１  バス
【図１】
2005182689.tif 000003
【図２】
2005182689.tif 000004
【図３】
2005182689.tif 000005
【図４】
2005182689.tif 000006
【図５】
2005182689.tif 000007
【図６】
2005182689.tif 000008
【図７】
2005182689.tif 000009
【図８】
2005182689.tif 000010
【図９】
2005182689.tif 000011
【図１０】
2005182689.tif 000012
【図１１】
2005182689.tif 000013
【図１２】
2005182689.tif 000014
【図１３】
2005182689.tif 000015
【図１４】
2005182689.tif 000016
【図１５】
2005182689.tif 000017
【図１６】
2005182689.tif 000018
【図１７】
2005182689.tif 000019
【図１８】
2005182689.tif 000020
【図１９】
2005182689.tif 000021