(57)【特許請求の範囲】
【請求項１】
コンフィギュレーション・プロセッサ、電子回路基板、プレーナ・バス、及びそれらに接続されたプレーナ・デバイスを有するコンピュータ・システムのコンフィギュレーションを決定する方法であって、前記コンフィギュレーション・プロセッサが、
前記電子回路基板に接続することが可能な各プレーナ・デバイスに対するアドレスを指示するプレーナ・コンフィギュレーション・メモリを読み出す工程と、
各プレーナ・デバイスが利用可能かどうかを決定するために、前記プレーナ・コンフィギュレーション・メモリに指示された各プレーナ・デバイスのアドレスに対して読み出し命令を送る工程と、
利用可能な前記各プレーナ・デバイスに対するコンフィギュレーションを決定しかつ利用可能な前記各プレーナ・デバイスを介してアクセス可能な接続デバイスのアドレスが存在するかどうかを決定するために、利用可能な前記各プレーナ・デバイスにおけるコンフィギュレーション・メモリを読み出す工程と、
前記各プレーナ・デバイスを介してアクセス可能な各接続デバイスに対するコンフィギュレーションを決定しかつ前記各接続デバイスを介してアクセス可能なさらに別の接続デバイスが前記各接続デバイスに存在するかどうかを決定するために、前記プレーナ・デバイスにおけるコンフィギュレーション・メモリに指示された前記各接続デバイスのアドレスに対して読み出し命令を送る工程と
を実施することを特徴とするコンフィギュレーション決定方法。
【請求項２】
前記プレーナ・コンフィギュレーション・メモリは前記プレーナ・バスに接続されていることを特徴とする請求項１に記載のコンフィギュレーション決定方法。
【請求項３】
前記各プレーナ・デバイスにおけるコンフィギュレーション・メモリはそれぞれ対応する各プレーナ・デバイスの中に組み込まれ、前記各接続デバイスにおけるコンフィギュレーション・メモリはそれぞれ対応する各接続デバイスの中に組み込まれていることを特徴とする請求項１に記載のコンフィギュレーション決定方法。
【請求項４】
前記プレーナ・デバイス若しくは前記接続デバイスの内の一デバイスが内部バスを含み、該内部バスを介してアクセス可能な接続デバイスを持ち、前記一デバイスのコンフィギュレーション・メモリは前記内部バス上の接続デバイスのアドレスを示し、また、
前記コンフィギュレーション・プロセッサからの読み出し命令は、前記内部バスを含む前記一デバイスのコンフィギュレーション・メモリ内の内部バス・アドレス情報を用いて前記内部バス上の接続デバイスに送られることを特徴とする請求項１に記載のコンフィギュレーション決定方法。
【請求項５】
前記内部バスを含む前記一デバイスはプレーナ・デバイスであって、該プレーナ・デバイスのコンフィギュレーション・メモリは多数の内部バスがアクセス可能となる該プレーナ・デバイス上のコンセントレータのアドレスを含み、
該プレーナ・デバイスにおけるコンフィギュレーション情報は、さらに前記内部バス上の各接続デバイスがアクセス可能となる前記内部バスを指示するための前記コンセントレータのセレクタ・アドレスをさらに有し、
前記コンフィギュレーション・プロセッサから前記内部バス上の接続デバイスに送られる読み出し命令は、前記コンセントレータのアドレス，前記セレクタ・アドレス，及び前記接続デバイスに対する内部バス・アドレスを用いて前記内部バス上の接続デバイスに送られ、前記内部バス上の接続デバイスに対するコンフィギュレーション情報を読み出すことを特徴とする請求項４に記載のコンフィギュレーション決定方法。
【請求項６】
前記プレーナ・デバイス若しくは前記接続デバイスの内の一デバイスは少なくとも１つの接続デバイスを有し、該少なくとも１つの接続デバイスは前記プレーナ・バスを介してアクセス可能であり、さらに前記一デバイスのコンフィギュレーション・メモリは前記プレーナ・バス上の前記少なくとも１つの接続デバイスのアドレスを指示し、
さらに前記少なくとも１つの接続デバイスに対する前記コンフィギュレーション・プロセッサからの読み出し命令は、前記少なくとも１つの接続デバイスが接続される前記一デバイスのコンフィギュレーション・メモリ内のプレーナ・バス・アドレス情報を用いて前記少なくとも１つの接続デバイスに送られることを特徴とする請求項１に記載のコンフィギュレーション決定方法。
【請求項７】
前記コンフィギュレーション情報はプロダクト情報を含み、
さらにコンピュータ動作中に使用するために、アドレス及び前記コンフィギュレーション・メモリから読み出されたプロダクト情報がメモリに格納されることを特徴とする請求項１に記載のコンフィギュレーション決定方法。
【請求項８】
一プレーナ・デバイスは、該デバイスに接続された複数のメモリ・カードを有するライザ・カードから成り、
前記メモリ・カード上には、各メモリ・カードに対するプロダクト情報を含むコンフィギュレーション・メモリが存在することを特徴とする請求項１に記載のコンフィギュレーション決定方法。
【請求項９】
前記プレーナ・デバイスのうちコンピュータ・システムの動作に必須の基本のデバイスが利用可能であるかどうかを決定する工程と、
前記基本のデバイスが前記コンピュータ・システムでは利用不可能であるならば初期化エラー・メッセージを送る工程と、
を前記コンフィギュレーション・プロセッサがさらに実施することを特徴とする請求項１に記載のコンフィギュレーション決定方法。
【請求項１０】
コンピュータ・システムのコンフィギュレーションを決定するためのシステムであって、
（Ａ）電子回路基板と、
（Ｂ）前記電子回路基板上に具備されたプレーナ・バスと、
（Ｃ）前記プレーナ・バスを介して前記電子回路基板に接続されたプレーナ・デバイスと、
（Ｄ）前記プレーナ・バスに接続可能な各プレーナ・デバイスに対するアドレスを指示するプレーナ・コンフィギュレーション・メモリと、
（Ｅ）各プレーナ・デバイスが利用可能であるかどうかを決定するために、前記プレーナ・コンフィギュレーション・メモリに指示された各プレーナ・デバイスのアドレスに対して読み出し命令を送り、
利用可能な前記各プレーナ・デバイスに対するコンフィギュレーションを決定しかつ利用可能な前記各プレーナ・デバイスを介してアクセス可能な接続デバイスのアドレスが存在するかどうかを決定するために、利用可能な前記各プレーナ・デバイスにおけるコンフィギュレーション・メモリを読み出し、
前記各プレーナ・デバイスを介してアクセス可能な各接続デバイスに対するコンフィギュレーションを決定しかつ前記各接続デバイスを介してアクセス可能なさらに別の接続デバイスが前記各接続デバイスに存在するかどうかを決定するために、前記プレーナ・デバイスのコンフィギュレーション・メモリに指示された前記各接続デバイスのアドレスに対して読み出し命令を送る手段と、
を有することを特徴とするコンフィギュレーションを決定するためのシステム。
【請求項１１】
前記プレーナ・コンフィギュレーション・メモリは前記プレーナ・バスに接続されていることを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記各プレーナ・デバイスにおけるコンフィギュレーション・メモリはそれぞれ対応する各プレーナ・デバイスの中に組み込まれ、前記各接続デバイスにおけるコンフィギュレーション・メモリはそれぞれ対応する各接続デバイスの中に組み込まれていることを特徴とする請求項１０に記載のシステム。
【請求項１３】
前記プレーナ・デバイス若しくは前記接続デバイスの内の一デバイスが内部バスを含み、該内部バスを介してアクセス可能な接続デバイスを持ち、前記一デバイスのコンフィギュレーション・メモリは前記内部バス上の接続デバイスのアドレスを示し、また、
読み出し命令を前記内部バス上の接続デバイスへ送る前記手段は、前記内部バス上の接続デバイスをアドレスするために前記内部バスが含まれる前記一デバイスのコンフィギュレーション・メモリ内の内部バス・アドレス情報を使用することを特徴とする請求項１０に記載のシステム。
【請求項１４】
前記内部バスを含む前記一デバイスはプレーナ・デバイスであって、該プレーナ・デバイスのコンフィギュレーション・メモリは多数の内部バスがアクセス可能となる該プレーナ・デバイス上のコンセントレータのアドレスを含み、
該プレーナ・デバイスにおけるコンフィギュレーション情報は、さらに前記内部バス上の各接続デバイスがアクセス可能となる前記内部バスを指示するための前記コンセントレータのセレクタ・アドレスをさらに有し、
前記内部バス上の接続デバイスに読み出し命令を送る前記手段は、該読み出し命令を前記内部バス上の接続デバイスに転送するために、前記コンセントレータのアドレス，前記セレクタ・アドレス，及び前記接続デバイスに対する内部バス・アドレスを使用することを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記プレーナ・デバイス若しくは前記接続デバイスの内の一デバイスは少なくとも１つの接続デバイスを有し、該少なくとも１つの接続デバイスは前記プレーナ・バスを介してアクセス可能であり、さらに前記一デバイスのコンフィギュレーション・メモリは前記プレーナ・バス上の前記少なくとも１つの接続デバイスのアドレスを指示し、
さらに前記少なくとも１つの接続デバイスに対する前記手段からの読み出し命令は、前記少なくとも１つの接続デバイスが接続される前記一デバイスのコンフィギュレーション・メモリ内のプレーナ・バス・アドレス情報を用いて前記少なくとも１つの接続デバイスに送られることを特徴とする請求項１０に記載のシステム。
【請求項１６】
前記コンフィギュレーション情報はプロダクト情報を含み、
さらにコンピュータ動作中に使用するために、アドレス及び前記コンフィギュレーション・メモリから読み出されたプロダクト情報がメモリに格納されることを特徴とする請求項１０に記載のシステム。
【請求項１７】
一プレーナ・デバイスは、該デバイスに接続された複数のメモリ・カードを有するライザ・カードから成り、
前記メモリ・カード上には、各メモリ・カードに対するプロダクト情報を含むコンフィギュレーション・メモリが存在することを特徴とする請求項１０に記載のシステム。
【請求項１８】
前記手段は、前記プレーナ・デバイスのうちコンピュータ・システムの動作に必須の基本のデバイスが利用可能であるかどうかを決定し、
前記基本のデバイスが前記コンピュータ・システムでは利用不可能であるならば初期化エラー・メッセージを送る、
ことを特徴とする請求項１０に記載のシステム。
【請求項１９】
少なくとも１つの処理装置、電子回路基板、プレーナ・バス、及びそれらに接続されたプレーナ・デバイスを有するコンピュータ・システムのコンフィギュレーションを決定する際に使用されるプログラムであって、前記少なくとも１つの処理装置に、
前記電子回路基板に接続することが可能な各プレーナ・デバイスに対するアドレスを指示するプレーナ・コンフィギュレーション・メモリを読み出す工程と、
各プレーナ・デバイスが利用可能かどうかを決定するために、前記プレーナ・コンフィギュレーション・メモリに指示された各プレーナ・デバイスのアドレスに対して読み出し命令を送る工程と、
利用可能な前記各プレーナ・デバイスに対するコンフィギュレーションを決定しかつ利用可能な前記各プレーナ・デバイスを介してアクセス可能な接続デバイスのアドレスが存在するかどうかを決定するために、利用可能な前記各プレーナ・デバイスにおけるコンフィギュレーション・メモリを読み出す工程と、
前記各プレーナ・デバイスを介してアクセス可能な各接続デバイスに対するコンフィギュレーションを決定しかつ前記各接続デバイスを介してアクセス可能なさらに別の接続デバイスが前記各接続デバイスに存在するかどうかを決定するために、前記プレーナ・デバイスにおけるコンフィギュレーション・メモリに指示された前記各接続デバイスのアドレスに対して読み出し命令を送る工程と、
を実行させるためのプログラム。
【請求項２０】
前記プレーナ・デバイス若しくは前記接続デバイスの内の一デバイスが内部バスを含み、該内部バスを介してアクセス可能な接続デバイスを持ち、前記一デバイスのコンフィギュレーション・メモリは前記内部バス上の接続デバイスのアドレスを示し、また、
前記少なくとも１つの処理装置からの読み出し命令は、前記内部バスを含む前記一デバイスのコンフィギュレーション・メモリ内の内部バス・アドレス情報を用いて前記内部バス上の接続デバイスに送られることを特徴とする請求項１９に記載のプログラム。
【請求項２１】
前記内部バスを含む前記一デバイスはプレーナ・デバイスであって、該プレーナ・デバイスのコンフィギュレーション・メモリは多数の内部バスがアクセス可能となる該プレーナ・デバイス上のコンセントレータのアドレスを含み、
該プレーナ・デバイスにおけるコンフィギュレーション情報は、さらに前記内部バス上の各接続デバイスがアクセス可能となる前記内部バスを指示するための前記コンセントレータのセレクタ・アドレスをさらに有し、
前記少なくとも１つの処理装置から前記内部バス上の接続デバイスに送られる読み出し命令は、前記コンセントレータのアドレス，前記セレクタ・アドレス，及び前記接続デバイスに対する内部バス・アドレスを用いて前記内部バス上の接続デバイスに送られ、前記内部バス上の接続デバイスに対するコンフィギュレーション情報を読み出すことを特徴とする請求項１９に記載のプログラム。
【請求項２２】
前記プレーナ・デバイス若しくは前記接続デバイスの内の一デバイスは少なくとも１つの接続デバイスを有し、該少なくとも１つの接続デバイスは前記プレーナ・バスを介してアクセス可能であり、さらに前記一デバイスのコンフィギュレーション・メモリは前記プレーナ・バス上の前記少なくとも１つの接続デバイスのアドレスを指示し、
さらに前記少なくとも１つの接続デバイスに対する前記少なくとも１つの処理装置からの読み出し命令は、前記少なくとも１つの接続デバイスが接続される前記一デバイスのコンフィギュレーション・メモリ内のプレーナ・バス・アドレス情報を用いて前記少なくとも１つの接続デバイスに送られることを特徴とする請求項１９に記載のプログラム。
【請求項２３】
前記コンフィギュレーション情報はプロダクト情報を含み、
さらにコンピュータ動作中に使用するために、アドレス及び前記コンフィギュレーション・メモリから読み出されたプロダクト情報がメモリに格納されることを特徴とする請求項１９に記載のプログラム。
【請求項２４】
一プレーナ・デバイスは、該デバイスに接続された複数のメモリ・カードを有するライザ・カードから成り、
前記メモリ・カード上には、各メモリ・カードに対するプロダクト情報を含むコンフィギュレーション・メモリが存在することを特徴とする請求項１９に記載のプログラム。
【請求項２５】
前記プレーナ・デバイスのうちコンピュータ・システムの動作に必須の基本のデバイスが利用可能であるかどうかを決定する工程と、
前記基本のデバイスが前記コンピュータ・システムでは利用不可能であるならば初期化エラー・メッセージを送る工程と、
を前記少なくとも１つの処理装置にさらに実行させることを特徴とする請求項１９に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、システム・コンフィギュレーションを決定するための方法、システム、及びプログラムに関する。特に、本発明は各々の装置によって提供される。
【０００２】
【従来の技術】
サーバ・クラス・マシンのような、ある種のコンピュータ・システムのコンピュータ・アーキテクチャは、システム構成要素を評価してシステム・コンフィギュレーションを決定するために、初期化の間に電源投入自己テスト（ＰＯＳＴ）等、一連の診断テストを実行するコンフィギュレーション・プロセッサを含む。パーソナル・コンピュータでは、このプロセスは基本入力／出力システム（ＢＩＯＳ）コードによって実行される。このＢＩＯＳコードは、システム内の装置を決定する。コンピュータ・システムに搭載可能な装置として、例えばシステム初期化の最中にコンフィギュレーション動作及び初期化動作を実行するコンフィギュレーション・プロセッサと、１つ以上の中央演算処理装置（ＣＰＵ）と、デュアル・インライン・メモリ・モジュール（ＤＩＭＭ）等の付属メモリを有する１枚以上のライザ・カードと、他の構成要素とが挙げられる。一般に、各カード又はシステム内のフィールド交換可能装置（ＦＲＵ）は、デバイス用バイタル・プロダクト・データ（ＶＰＤ）を含むそれ自身のＥＥＰＲＯＭチップを有する。システム内のすべてのＦＲＵは、プレーナ・バス・インタフェース、例えばバス上で情報を伝達するシリアル・プロトコルを提供するＩ2Ｃバスによって通信する。
【０００３】
従来のいくつかのシステムでは、コンフィギュレーション・プロセッサはプレーナ又はバックプレーンＩ2Ｃバス上のデバイスと該デバイスに対して異なるレベルで接続すると思われるさらに別の任意のデバイスのコンフィギュレーションによってコードされる。コンフィギュレーション・プロセッサ用のコードは、ＰＲＯＭ又はＥＥＰＲＯＭ等のプログラム可能なメモリに保持可能である。例えば、プレーナＩ2Ｃバス上のライザ・カードは、それ自身のＩ2Ｃバスを１つ以上含むものであってもよい。コンフィギュレーション情報が格納されているＥＥＰＲＯＭを有するＤＩＭＭカードは、ライザ・カード内の１つ以上のＩ2Ｃバス・インタフェースに結びつけられてもよい。コンフィギュレーション・プロセッサ・コードは、プレーナＩ2Ｃ上の現在のすべてのシステム構成要素上のアドレス情報とカードと、カード内の異なるレベルの任意のバス上、すなわちカード内のＩ2Ｃバス上のすべての構成要素を含むであろう。コンフィギュレーション中、コンフィギュレーション・プロセッサはそれで読み出しコンフィギュレーション・データを各構成要素へ送り、デバイスが動作可能であることを確認する。コンフィギュレーション・コードに特定のシステム・コンフィギュレーションをコードすることによる一つの問題は、システムに対して変更が加えられる可能性があるということであり、例えば異なるＤＩＭＭコンフィギュレーションを持つライザ・カードが新たに挿入されることである。そのような場合、システムが新しいコンフィギュレーションで機能できる前に、コンフィギュレーション・プロセッサ・コードはこの新しいコンフィギュレーションが反映されるように更新される必要がある。これによってシステム・コンフィギュレーションの変更が複雑になる。なぜなら、コンフィギュレーション・メモリ、例えばＰＲＯＭ、ＥＥＰＲＯＭを変えることによるプロセッサ・コードに対する変更によって何らかの変更がなされなければならないからである。
【０００４】
いくつかの従来のシステムは、コンフィギュレーション・プロセッサ・コード内でシステムに接続可能なすべての構成要素のアドレスをコード化する。コンフィギュレーション・プロセッサは、それらのデバイスがシステムにあるかどうかにかかわらず、すべての可能な接続されたシステムに対する読み出しコンフィギュレーション・データ要求を送り、応答を待つ。応答するデバイスは、初期化及びシステム・コンフィギュレーションに含まれ、さらに応答しないデバイスはシステムに存在していないものと考えられる。このアプローチは以前のアプローチに対して以下の点で有利である。すなわち、システム内のＦＲＵに対する何らかの変化、例えばＤＩＭＭカードを追加又は取り外しすることによって、コンフィギュレーション・プロセッサがすべての利用可能な構成要素を照会する時に検出される変化としてコンフィギュレーション・コードに対する付属コードが要求されるようなことはないだろう。
【０００５】
しかし、すべての可能なデバイス・アドレスをチェックするコンフィギュレーション・プロセッサを持つことの欠点は、そのような動作が実質的にコンフィギュレーション及び初期化プロセスを遅らせることである。コンフィギュレーション・プロセッサはシステム内のすべての可能なデバイスからの応答を待たなければならない。さらに、もしシステムがコンフィギュレーション・コードで示された可能なコンフィギュレーションに存在しないように再コンフィギュレーションされるならば、コンフィギュレーション・プロセッサはコンフィギュレーション・コードが新たなアーキテクチャの能力によって更新されない限り、新しい構成は検出されないだろう。例えば、もしコンフィギュレーション・コードが多くともライザ・カード内の４つのＩ2Ｃバス上に３２ＤＩＭＭカードがあり、８つの異なるＩ2Ｃバス・インタフェース上に６４ＤＩＭＭカードを可能とするようなカードの追加があったことを示したならば、コンフィギュレーション・コードはカードが加えられるすべての可能な６４ＤＩＭＭアドレスを反映するように更新される。
【０００６】
【発明が解決しようとする課題】
したがって、利用可能な構成要素を決定するためにシステムのコンフィギュレーションを行うための改善された方法が当該技術分野において求められている。
【０００７】
【課題を解決するための手段】
上記した従来技術の問題点を解決するために、本発明の好ましい実施形態例は、電子回路基板、プレーナ・バス、及びそれらに接続されたプレーナ・デバイスを有するコンピュータ・システムのコンフィギュレーションを決定する方法、システム、及びプログラムを開示する。読み出し動作は、電子回路基板に接続することが可能な各プレーナ・デバイスに対してアドレスを指示するプレーナ・コンフィギュレーション・メモリ上で実行される。次に、読み出し命令は各プレーナ・デバイスが利用可能かどうかを決定するためにプレーナ・コンフィギュレーション・メモリに指示された各プレーナ・デバイスのアドレスに対して送られる。各利用可能なプレーナ・デバイスに対するコンフィギュレーション・メモリは、コンフィギュレーション・メモリを決定し、かつプレーナ・デバイスを介してアクセス可能な接続デバイスのアドレスが存在するかどうかを決定するために読み出される。読み出し命令は、各接続デバイスに対してコンフィギュレーション情報を決定し、かつ接続デバイスにアクセス可能なさらに別の接続デバイスが存在するかどうかを決定するためにプレーナ・デバイスに対するコンフィギュレーション・メモリに指示された各接続デバイスのアドレスに対して送られる。読み出し命令は、コンフィギュレーション情報を決定し、かつさらに検討するべき別の任意の接続デバイス及び付随するコンフィギュレーション・メモリが存在するかどうかを決定するために任意のコンフィギュレーション・メモリに指示された任意の接続デバイスのアドレスに送られる。
【０００８】
別の実施形態例では、少なくとも一つのデバイスが内部バスを介してアクセス可能な接続デバイスを持つ内部バスを含む。デバイスのコンフィギュレーション・メモリは内部バス上の接続デバイスのアドレスを示す。そのような場合、読み出し命令は内部バスを含むデバイスのコンフィギュレーション・メモリ内の内部バス・アドレス情報を用いて接続デバイスに送られる。
【０００９】
さらに別の実施形態例では、コンフィギュレーション情報はプロダクト情報を含む。システム内のデバイスのコンフィギュレーション・メモリから読み出されたアドレス及びプロダクト情報は、コンピュータ動作中に使用するためにメモリに格納される。
【００１０】
好ましい実施形態例は、システム初期化プロセス及びシステム・コンフィギュレーションの決定を最適化するコンピュータ・アーキテクチャを提供する。好ましい実施形態例は、電子回路基板上の各可能なデバイスを示すプレーナ・バス・インタフェース上のプレーナ・コンフィギュレーション・プロセッサを提供する。接続デバイス又はプレーナ・デバイスに接続した任意のデバイス又はプレーナ・デバイスに自身が接続したデバイスは、デバイス上のプロダクト情報と該デバイスに接続した任意のデバイスに対するアドレス情報とを含むコンフィギュレーション・メモリを有する。初期化中、コンフィギュレーション・プロセッサは特定のレベルで接続した任意のデバイスを決定し、続いて接続デバイスに対してコンフィギュレーション・メモリを紹介することでさらに別の任意の接続デバイスのアドレスを見出すことができる。このようにして、システム・コンフィギュレーションの各レベルが特定のレベルでデバイス上にある情報を含むコンフィギュレーション・メモリを照会する。
【００１１】
好ましい実施形態例の利点は、もしデバイス及びその接続デバイスが異なるコンフィギュレーションを持つデバイスと交換された場合、この新しいコンフィギュレーションがシステム初期化中に新しいデバイスに対するコンフィギュレーション・メモリから検出される。さらに、好ましい実施形態例によって、システム内のデバイスのアドレスがデバイス及び実際の接続デバイス上に自己決定情報を含む各デバイス上のコンフィギュレーション・メモリから決定されることから、コンフィギュレーション・プロセッサは読み出し命令を現在のデバイスにのみ送る。
【００１２】
【発明の実施の形態】
以下の説明では、この一部をなし、かつ本発明のいくつかの実施の形態を例証する図面を参照する。他の実施態様が利用可能かつ構造的であり、また本発明の範囲から離れることなく実用的変更を加えることが可能であることが理解されよう。
【００１３】
図１は、本発明の好ましい実施形態が実現されたコンピュータのプレーナ・ボード（電子回路基板）２、すなわち背面のコンピュータ・アーキテクチャを図示したものである。電子回路基板２は、２つの中央演算処理装置（ＣＰＵ）４，６と、クロック・シグナルを提供するオシレータ８と、ルーチンの初期化を行うコンフィギュレーション・プロセッサ１０と、ライザ・カード１２及び１４とを有する。ライザ・カード１２及び１４はカード・コネクタを介して電子回路基板２にプラグ・インされる。これらのデバイスは、当業者に周知の方法でプレーナＩ2Ｃバス・インタフェース１６上で通信する。Ｉ2Ｃバス・インタフェースの詳細は、Philips Semiconductorによって１９９８年１２月に出版された"I2C Bus Specification, Version 2"と題された出版物に記述されている。本明細書ではこの出版物を援用する。
【００１４】
デバイス４、６、８、１０、１２及び１４の各々は、ＥＥＰＲＯＭ２０、２２、２４、２６、２８及び３０をそれぞれ有し、また該ＥＥＰＲＯＭはデバイス用のバイタル・プロダクト・データ（ＶＰＤ）を含む。ＶＰＤとしては、例えば通し番号、製品番号、製品の特徴、寸法、及び速度が挙げられる。好ましい実施形態例では、コンフィギュレーションＥＥＰＲＯＭ３２もまたプレーナＩ2Ｃバス・インタフェース１６に接続され、該プレーナＩ2Ｃバス・インタフェース１６に接続することが可能なプレーナ・デバイスのアドレス情報を含む。しかし、たとえオシレータ８がＩ2Ｃバス・インタフェースに接続されていたとしても、ＥＥＰＲＯＭ３２は別のカードにプラグ・インされたＩ2Ｃバス・インタフェース１６に接続したプレーナ・デバイスのアドレスは含まれないだろう。例えば、オシレータ８がＩ2Ｃバス・インタフェース１６に接続されていたとしても、オシレータ８のアドレスはＥＥＰＲＯＭ３２に含まれていない。代わりに、オシレータ８のアドレスは、該オシレータ８のカードがプラグ・インされるＣＰＵ４のＥＥＰＲＯＭ２０に保持される。
【００１５】
デバイス４、６、８、１０、１２、１４それ自体は、内部Ｉ2Ｃバス・インタフェースを有するものであってもよい。ライザ１２及び１４は、内部Ｉ2Ｃバス・インタフェース３６及び３８を有する。８枚のＤＩＭＭカード４０ａ〜４０ｈ及び４２ａ〜４２ｈが内部Ｉ2Ｃバス・インタフェース３６及び３８の各々にそれぞれ接続されている。ＤＩＭＭカード４０ａ〜４０ｈ及び４２ａ〜４２ｈの各々は、バイタル・プロダクト・データを含む固有のＥＥＰＲＯＭ４４ａ〜４４ｈ及び４６ａ〜４６ｈをそれぞれ有する。すでに述べたように、内部Ｉ2Ｃバス・インタフェース３６及び３８はコンセントレータ４８及び５０のマルチプレクサを介してそれぞれアクセスされる。好ましいインプリメンテーションでは、各コンセントレータ４８及び５０は、４つのＩ2Ｃバス・インタフェースに対するアクセスを提供することができ、各Ｉ2Ｃバス・インタフェースは最大で８枚の接続されたＤＩＭＭカードを有している。図１では、Ｉ2Ｃバス・インタフェース３６及び３８のうちの一つのみがコンセントレータ４８及び５０に接続されていることが図示されている。
【００１６】
プレーナＩ2Ｃバス・インタフェース１６上のＥＥＰＲＯＭ２０、２２、２４、２６、２８、及び３０は、１バイト・アドレスを用いることでアドレス可能であり、最初の７バイトは標的デバイス・アドレスを含み、また最小有効バイト、すなわち第８のバイトはＩ2Ｃプロトコルによる読み出し又は書き込み動作を示す。好ましい実施の形態では、ＰＯＳＴ初期化プロセスの間、コンフィギュレーション・プロセッサ１０は、１バイト・アドレス・フォーマットを用いてプレーナ・デバイス４、６、８、１２及び１４のＥＥＰＲＯＭ２０、２２、２４、２６、２８、及び３０の各々に対して読み出し要求を送ることができた。もし肯定応答（ＡＣＫ）パルスが標的デバイスから受信されるならば、コンフィギュレーション・プロセッサ１０はデバイスがシステムに存在することを知る。３バイト・アドレスはＤＩＭＭカード４０ａ〜４０ｈ及び４２ａ〜４２ｈのいずれか一つをアドレスするのに使用される。第１のバイトは標的ＤＩＭＭへのアクセスを可能とするコンセントレータ４８又は５０のアドレスであり、第２のバイトは内部Ｉ2Ｃバス・インタフェース３６又は３８、又はバス・セレクタのアドレスであり、さらに第３のバイトは選択された内部Ｉ2Ｃバス上の標的ＤＩＭＭのアドレスである。
【００１７】
好ましい実施形態例では、コンフィギュレーションＥＥＰＲＯＭ３２は電子回路基板２のヘッド及びバイタル・プロダクト・データ、さらにプレーナＩ2Ｃバス・インタフェース１６上に接続可能な構成要素、すなわちプレーナ・デバイスの各々の位置データを含む。図２は、プレーナＩ2Ｃバス・インタフェース１６に接続する各プレーナ・デバイスの位置データに含まれる情報のフィールドを示す。カード・タイプ・フィールド１００は、プレーナＩ2Ｃバス・インタフェース１６、例えばＣＰＵ、コンフィギュレーション・プロセッサ、ライザ等に接続したデバイスの種類を示す。Ｉ2Ｃアドレス・フィールド１０２は、プレーナＩ2Ｃバス・インタフェース１６上のデバイスのアドレスを示す。すでに述べたように、このアドレスは１バイト・アドレスである。もし別のバス・プロトコルが使用されるならば、異なったアドレス・フォーマットも使用可能である。コンセントレータアドレス・フィールド１０４は、もしコンセントレータチップがあるならばプレーナ・デバイス上のコンセントレータチップのアドレスを示す。もしコンセントレータアドレスがなければ、このフィールド１０４は適用不可である。上記したように、コンセントレータチップ４８及び５０は別のデバイスが接続可能なカード上のさらにもう一つの内部Ｉ2Ｃバス・インタフェースへのアクセスを提供する。ラベル・フィールド１０６はカード及びスロット上のラベルを示し、該カード及びスロットの電子回路基板２上の物理的位置の識別を助ける。位置データは、さらにＥＥＰＲＯＭから決定されたコンフィギュレーション・データを置くために使用されるコンフィグレーション・プロセッサ１０に対してアドレスを示すアドレス・オフセット情報を含む。
【００１８】
ＥＥＰＲＯＭ２０、２２、２４、２６、２８、３０、及び３２は、それぞれデバイス４、６、８、１０、１２、１４、及び２に組み込まれており、該デバイスの特徴として少なくともヘッダとバイタル・プロダクト・データとが含まれる。しかし、もしデバイスがプレーナＩ2Ｃバス又は固有のＥＥＰＲＯＭを有する内部Ｉ2Ｃバス・インタフェースに接続されたさらに別の任意のプラグ・イン・デバイスを有するものであるならば、そのようなデバイスのＥＥＰＲＯＭはプレーナＩ2Ｃバス又は内部Ｉ2Ｃバス・インタフェースのいずれかに結合したデバイス上の位置データを含むであろう。さもなければ、もしデバイスがさらに別の任意の内部Ｉ2Ｃデバイスを含むものでなければ、位置データは存在しないであろう。したがって、ＣＰＵ６、コンフィギュレーション・プロセッサ１０、ＤＩＭＭ４０ａ、４０ｂ、４０ｃ、４０ｄ、４０ｅ、４０ｆ、４０ｇ、４０ｈ、及びＤＩＭＭ４２ａ、４２ｂ、４２ｃ、４２ｄ、４２ｅ、４２ｆ、４２ｇ、４２ｈのそれぞれに対するＥＥＰＲＯＭ２２、２６、４４ａ、４４ｂ、４４ｃ、４４ｄ、４４ｅ、４４ｆ、４４ｇ、４４ｈ、及び４６ａ、４６ｂ、４６ｃ、４６ｄ、４６ｅ、４６ｆ、４６ｇ、４６ｈのみが、さらに別のデバイスが接続されていないことから、デバイスのヘッダ及びバイタル・プロダクト・データを有するであろう。
【００１９】
図３は、電子回路基板２に接続されたデバイス上の位置データ１１０を含むコンフィギュレーションＥＥＰＲＯＭ３２に保持されたデータの一例を示す。図に示すように、ライザ１２及び１４のエントリは、コンセントレータ４８及び５０のアドレス上の情報が含まれる。コンフィギュレーション・プロセッサ１０は、コンフィギュレーションＥＥＰＲＯＭ３２内の位置データ１１０の情報を利用して、各エントリのＩ2Ｃアドレス・フィールドからプレーナＩ2Ｃバス・インタフェース１６を介して電子回路基板２に接続されるデバイスを決定することができる。
【００２０】
図４は、ＣＰＵ４のＥＥＰＲＯＭ２０にある情報を示す。位置情報１２０は、ＣＰＵ４上のプレーナＩ2Ｃバス・インタフェース１６のＩ2ＣアドレスでＣＰＵ４に接続したオシレータ８が存在することを示している。図５は、オシレータ８のＥＥＰＲＯＭ２４にある情報を示すもので、該情報は単にバイタル・プロダクト・データを提供する。オシレータ８にはさらに別のデバイスがあるわけではないので、オシレータ８のＥＥＰＲＯＭ２４に位置情報が存在しない。
【００２１】
図６は、ライザ・カード１２のＥＥＰＲＯＭ２８に含まれる情報を示す。位置情報１３０は、内部Ｉ2Ｃバス・インタフェース３６に接続した各ＤＩＭＭ４０ａ〜４０ｈのＩ2Ｃアドレスを示している。位置情報１３０は、内部Ｉ2Ｃバス・インタフェース３６を離れた各ＤＩＭＭ４０ａ〜４０ｇのＩ2Ｃアドレスを指示する。位置情報１３０はさらにＤＩＭＭが接続する内部Ｉ2Ｃバス・インタフェース３６を識別する。セレクタ・アドレス１３２はすべてのエントリに対して同一である。なぜなら、ＤＩＭＭ４０ａ〜４０ｈすべてが同一の内部Ｉ2Ｃバス・インタフェース３６に接続されている。もしデバイス（ＤＩＭＭ）が接続する特定の内部バスを識別するためにコンセントレータ４８に接続された多数のＩ2Ｃバス・インタフェースが存在するならば、セレクタ・アドレスが使用される。
【００２２】
ＤＩＭＭ４０ａ〜４０ｈのＥＥＰＲＯＭ４４ａ〜４４ｈのみがヘッダとバーチャル・プロダクト・データを有すると思われ、またＤＩＭＭに何らデバイスが接続されていないことから位置情報は含まれない。
【００２３】
好ましい実施態様によれば、コンフィギュレーションＥＥＰＲＯＭ３２は回路基板２に接続した各々の可能なデバイス上の情報を有し、また各デバイスＥＥＰＲＯＭは、それに接続した任意のデバイス上の自己定義情報を含む。プレーナ・バス又は内部バス上のさらに別の任意のデバイスもまた、さらに別の内部デバイスを含むことが可能である。システム・コンフィギュレーション情報を維持するための好ましい実施態様の技術は、各デバイスがさらに別の任意の入れ子型内部装置のコンフィギュレーションをダイナミックに決定可能とする自己定義データを有することを可能とする。
【００２４】
図７及び図８は、ＰＯＳＴルーチン等、初期化の際にシステム・コンフィギュレーションを決定するために、コンフィグレーション・プロセッサ１０に実現可能な論理を図示したものである。制御は、コンフィギュレーション・プロセッサ１０によってブロック２００から開始され、システム・コンフィギュレーションを決定するための初期化ルーチンが開示される。コンフィギュレーション・プロセッサ１０は、図３に示すような情報情報を含むと思われる所定のアドレスで見つかったコンフィギュレーションＥＥＰＲＯＭ３２の読み出しを行い（ブロック２０２）、そして電子回路基板２と該電子回路基板２にプレーナＩ2Ｃバス・インタフェース１６を介して接続したプレーナ・デバイス４、６、１０、１２、及び１４とに関する情報がメモリに置かれ、各プレーナ・デバイスのＩ2Ｃアドレスが含まれる（ブロック２０４）。
【００２５】
次に、コンフィギュレーション・プロセッサ１０は読み出し命令を各プレーナ・デバイス４、６、１０、１２、及び１４のＩ2Ｃアドレスへ送り、各デバイスＥＥＰＲＯＭ２０、２２、２６、２８、及び３０を読み出す。コンフィギュレーション・プロセッサ１０は、ＡＣＫ（肯定応答）信号を戻さなかったそれらのプレーナ・デバイス４、６、１０、１２、及び１４上の情報を保持し（ブロック２０８）。またそれらは信号を戻した（ブロック２１０）。信号を戻さないデバイスは利用不可能である。もしＡＣＫが少なくとも一つのＣＰＵ４又は６と少なくとも一つのライザ・カード１２又は１４に対して戻らなければ、ＰＯＳＴエラーが戻るであろう（ブロック２１４）。なぜなら、システムは少なくとも一つのＣＰＵ及びシステム・メモリ用のメモリ・カードが利用可能であるにも関わらず動作することができない。
【００２６】
さもなければ、もし少なくとも一つのＣＰＵ及びメモリが利用可能であるならば、コンフィギュレーション・プロセッサ１０は、ブロック２１６でループを開始し、利用可能な各々のプレーナ・デバイス４、６、１０、１２、及び１４のコンフィギュレーション情報を決定する。利用可能な各々のプレーナ・デバイス４、６、１０、１２、及び１４に対して、コンフィギュレーション・プロセッサ１０は、ＥＥＰＲＯＭ２０、２２、２６、２８、及び３０からバイタル・プロダクト・データ（ＶＰＤ）を読み出し（ブロック２１８）、そのようなデータをデバイスのコンフィギュレーション情報としてメモリに格納する。もしＥＥＰＲＯＭが位置データを含むならば（ブロック２２０）、コンフィギュレーション・プロセッサ１０はプレーナ・デバイスに接続したデバイス（以下、接続デバイスという）の位置を読み出してメモリに格納する（ブロック２２２）。接続デバイスが接続され、かつ位置データでふれられるデバイスは、ベース・デバイスである。多くのレベルのベース・デバイス及び接続デバイスがあってもよく、一つのデバイスが接続デバイスであったり、またさらに別の接続デバイスのベース・デバイスであたりすることも可能である。次に、コンフィギュレーション・プロセッサ１０はブロック２２４で内側ループを開始して位置データでふれられた各々の接続デバイス上の情報を検討する。もし接続デバイスに対するセレクタ・アドレスがあるならば（ブロック２２６）、コンフィギュレーション・プロセッサ１０はベース・デバイスの位置データ又は接続デバイスの位置データが設けられたコンセントレータアドレス、コンセントレータをオフにする内部Ｉ2Ｃバス・インタフェースのセレクタ・アドレス、及び接続デバイスのＩ2Ｃアドレスを用いて接続デバイスにアドレスして、もし利用可能であるならば、接続デバイスのＥＥＰＲＯＭからバイタル・プロダクト・データを読み出す（ブロック２２８）。
【００２７】
もしセレクタ・アドレスがなければ、コンフィギュレーション・プロセッサ１０はＩ2Ｃアドレスのみを用いて接続デバイスのＥＥＰＲＯＭを読み出し、バイタル・プロダクト・データ及び該接続デバイスの任意の位置データを得る（ブロック２３０）。もしブロック２２８又は２３０で接続デバイスのコンフィギュレーション・データを読み出した後に位置データが見出されるならば、ブロック２２４でネストされたループが開始されてちょうど検討したばかりの接続デバイスに接続する任意のデバイスを構成する。したがって、複数のレベルのネストされた接続デバイスがあってもよく、一つのレベルの接続デバイスはコンフィギュレーションが低レベルのベース・デバイスであってもよい。もしＥＥＰＲＯＭが任意の位置データを含まなければ（ブロック２３２）、次の接続デバイスを検討するために、制御がブロック２２４に戻る（ブロック２３４）。
【００２８】
例えば、コンフィギュレーション・プロセッサ１０は、図３のロケーション・データ１１０でリストされた各プレーナ・デバイスを処理するために、ブロック２１６でループを開始する。ライザ・カード１２のＥＥＰＲＯＭ２８に対する読み出し動作が行われると、コンフィギュレーション・プロセッサ１０はブロック２２４でループを開始して図６の位置データ１３０を処理し、ライザ・カード１２に接続された各々のＤＩＭＭ４０ａ〜４０ｈのコンフィギュレーション情報を得る。
【００２９】
すべての接続デバイス及びさらに別の接続デバイスをブロック２２４からブロック２３２までのループを用いて処理した後、コンフィギュレーションＥＥＰＲＯＭ３２にある次のプレーナ・デバイス４、６、１０、及び１４を処理するために制御が戻る（ブロック２３６）。
【００３０】
図７及び図８のフローチャートと好ましいコンフィギュレーション・データ・インプリメンテーションとによって以下説明する。コンフィギュレーション・プロセッサ１０は読み出し動作実行回数が最小限のコンフィギュレーションを決定することができ、また同時にシステムに対する任意の変化をダイナミックに検出する能力を有する。このことが直接接続された全てのデバイス上のデバイス自己決定コンフィギュレーション・データの中に含まれることで、好ましい実施形態例によって決定され、そのようなデバイスによって直接アクセス可能なデバイスを決定する。好ましい実施形態例では、取り外し及び交換が可能な直接接続されたデバイス全てのコンフィギュレーション情報を含む。したがって、もしベース・デバイスが接続デバイスの新たなコンフィギュレーションを含むものであるならば、新たなコンフィギュレーションの詳細は新たなベース・デバイスのコンフィギュレーション・メモリに含まれる。この自己決定情報は、そのデバイスのＥＥＰＲＯＭにあるコンフィギュレーション情報を読み出すことによってコンフィギュレーション・プロセッサが特定のベース・デバイスに接続された全てのデバイスの正確なコンフィギュレーションを決定することを可能とする。この方法は、任意のレベルの接続デバイスに適用される。例えば、接続デバイスはベース・デバイスとして機能し、かつそのような接続デバイスに着脱自在に接続された全てのデバイスを示すコンフィギュレーションＥＥＰＲＯＭを含むものであってもよい。
【００３１】
好ましいインプリメンテーションによれば、コンフィギュレーション・プロセッサは最小回数の読み出し動作によって、プロセッサはコンフィギュレーションに対する何らかの変化をも含む正確なコンフィギュレーションを決定することができる。なぜならコンフィギュレーション情報はコンフィギュレーション・プロセッサに対して検討中の現在のデバイスに実際に接続するデバイスに対して読み出し要求を送るからである。もしデバイスのコンフィギュレーションが接続デバイスの追加又は除去によって変化するならば、変化が生ずるベース・デバイスのコンフィギュレーション情報がそのような変化を反映するだろう。実際、好ましい実施形態例では、コンフィギュレーション・プロセッサシステムに存在しないと思われる構成要素を照会する唯一の時間は、プレーナ・バスに接続したデバイスをコンフィギュレーション・プロセッサが照会する時である。はじめは、コンフィギュレーション・プロセッサがコンフィギュレーションＥＥＰＲＯＭを読み出して可能なプレーナ・デバイス全てを決定し、各プレーナ・デバイスを照会することで、デバイスが利用可能で、かつ任意のさらに別の接続デバイスを含むものであるかどうかを決定する。プレーナ・デバイスの後、コンフィギュレーション・プロセッサは既存のデバイスに対してのみ照会を行うであろう。なぜなら、コンフィギュレーション・プロセッサは、次のコンフィギュレーション・レベルで直接接続されたデバイス全てを決定する各デバイス上の自己決定コンフィギュレーション・データを使用するからである。
【００３２】
このようにして、システムのコンフィギュレーションは階層木構造としてとらえられる。この階層木構造の根元はコンフィギュレーションＥＥＰＲＯＭ３２であり、次のレベルは全てのプレーナ・デバイスが含まれる。各プレーナ・デバイスの下位ノードはそのようなプレーナ・デバイスに直接接続した任意のデバイスを含む。したがって、コンフィギュレーション・ツリーの任意の下位ノードは、先の上位ノードのデバイスに直接接続されたノードを含む。好ましい実施形態例では、階層木構造の各レベルのデバイスは、次のコンフィギュレーション・レベルにある任意の下位デバイス上のコンフィギュレーション情報を含む。もしデバイスがコンフィギュレーション・レベルで付加又は除去されるならば、その修飾レベルの上位ノードは変化を指示するだろう。したがって、コンピュータ・システムのコンフィギュレーション・データはコンフィギュレーション階層木構造を形成するもので、デバイスの各レベルのコンフィギュレーション情報によって直接接続されたデバイスすべてのコンフィギュレーションが定められる。このことは、コンフィギュレーション・プロセッサがコンフィギュレーション階層木構造においてレベル単位で正確なコンフィギュレーションをダイナミックに決定すること可能とする。Ｉ2ＣＥＥＰＲＯＭ又はコンセントレータのアドレス構造及びＩ2Ｃバスの数によって、Ｉ2ＣＥＥＰＲＯＭを一意的にアドレスするのに必要なアドレスの数が決定される。いくつかのＩ2Ｃチップは１バイト・アドレスのみをサポートし、一方他の多くのチップは２バイト・アドレスをサポートする。
【００３３】
以上、本発明の好ましい実施形態例について説明してきたが、本発明を達成するためのいくつかの別の実施形態例についても以下に説明する。
【００３４】
好ましい実施形態例は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせを生産する標準のプログラミング及び／又はエンジニアリング技術を用いて方法、装置、又は製品として実現することが可能である。ここで使用される「製品」（又は「コンピュータ・プログラム・プロダクト）という用語は、１台以上のコンピュータ読み出し可能デバイス、キャリア、又は媒体（例えば磁気記録媒体、「フロッピー・ディスク」、ＣＤ−ＲＯＭ、ネットワーク伝送ラインを介してプログラムに対するアクセスを可能とするファイル・サーバ、及びホログラフィ装置）を包含することを意図している。もちろん、当業者は本発明の範囲から逸脱することなくこのコンフィギュレーションに対して多くの変更が可能であることは容易に理解することができよう。
【００３５】
上記の説明では、好ましい実施形態例をＩ2Ｃバス・インタフェースを使用するものとして説明した。しかし、別の実施形態例では、当業者に周知の任意の他のバス・プロトコルのを用いてデバイス間の通信を行ってもよい。
【００３６】
好ましい実施形態例では、デバイスのコンフィギュレーション情報はＥＥＰＲＯＭに格納される。しかし、別の実施形態例では、コンフィギュレーション情報を任意の種類のプログラム可能又はプログラム不可の不揮発性メモリに格納してもよい。
【００３７】
好ましい実施形態例を、コンピュータ・アーキテクチャはプレーナ・デバイスと接続デバイス、すなわちＣＰＵに接続されたオシレータ及びライザ・カードに接続したＤＩＭＭとからなる特定の構成を有するものとして説明した。しかし、システム・コンフィギュレーションを決定するための好ましい実施形態例の技術は、任意の数及び種類のプレーナ・デバイス及び接続デバイスを含む任意のコンピュータ・アーキテクチャに適用してもよい。
【００３８】
好ましい実施形態例は、位置データをシステムのあるレベルにあるデバイスをアドレスする特定の種類のアドレス情報、例えばＩ2Ｃアドレス、コンセントレータアドレス、及びセレクタ・アドレスを含むものとして説明した。しかし、別の実施形態例では、異なる種類のアドレス情報を提供することでコンフィギュレーション・プロセッサが特定のデバイスをアドレスしてもよい。
【００３９】
好ましい実施形態例は、コンフィギュレーションＥＥＰＲＯＭをプレーナＩ2Ｃバス・インタフェースに直接接続されたものとして説明した。しかし、別の実施形態例では、コンフィギュレーションＥＥＰＲＯＭをシステム内の異なる位置に配置可能、例えばコンフィギュレーション・プロセッサに接続させることが可能である。さらに、好ましい実施形態例では、デバイス用のコンフィギュレーション・メモリは該デバイスの中に組み込まれる。しかし、別の実施形態例では、デバイス用のコンフィギュレーション・メモリは該デバイスに直接接続されなくてもよく、他の位置又は他の不揮発性メモリの記憶領域に置かれてもよい。
【００４０】
まとめると、好ましい実施形態例は、電子回路基板、プレーナ・バス、及び接続プレーナ・デバイスを有するコンピュータ・システムのコンフィギュレーションを決定するシステム、方法、及びプログラムを開示する。読み出し動作は、電子回路基板に接続可能な各プレーナ・デバイスに対するアドレスを指示するプレーナ・コンフィギュレーション上で実行される。読み出し命令は、つぎにプレーナ・デバイスが利用可能であるかどうかを決定するためにプレーナ・コンフィギュレーション・メモリに指示された各プレーナ・デバイスのアドレスに対して送られる。利用可能なプレーナ・デバイスの各々に対するコンフィギュレーション・メモリが利用可能である。各々の利用可能なプレーナ・デバイスのコンフィギュレーション・メモリが読み出されてコンフィギュレーション情報が決定され、また該プレーナ・デバイスを介してアクセス可能な接続デバイスのアドレスが存在するかどうかを決定する。読み出し命令は、つぎに各接続デバイスのコンフィギュレーション情報を決定するために、また接続デバイスを介してアクセス可能なさらに別の接続デバイスが存在するかどうかを決定するために、プレーナ・デバイスのコンフィギュレーション・メモリに指示された各接続デバイスのアドレスに対して送られる。読み出し命令は、コンフィギュレーション情報を決定するために、さらに検討すべき別の接続デバイス及び付随するコンフィギュレーション・メモリが何らか存在するかどうかを決定するために、任意のコンフィギュレーション・メモリに示された任意の接続デバイスのアドレスに送られる。
【００４１】
本発明の好ましい実施形態例に関する上記の説明は、本発明を説明かつ描写することを目的としたものである。したがって、上記の説明に正確に合うように本発明を限定したり、あるいは徹底させるものではない。上記の説明から様々な修飾及び変更が可能である。この発明の詳細な説明によって本発明の範囲が限定されものではなく、むしろ特許請求の範囲の各請求項によって限定されるものである。上記の説明、実施例、及びデータは本発明の構成要素の製造及び利用を完全に説明する。多くの実施形態例が本発明の精神及び範囲から逸脱することなく達成可能であることから、本発明は特許請求の範囲に記載された請求項に帰する。
【００４２】
まとめとして、本発明の構成に関して以下の事項を開示する。
（１）電子回路基板、プレーナ・バス、及びそれらに接続されたプレーナ・デバイスを有するコンピュータ・システムのコンフィギュレーションを決定する方法であって、
前記電子回路基板に接続することが可能な各プレーナ・デバイスに対してアドレスを指示するプレーナ・コンフィギュレーション・メモリを読み出す工程と、
読み出し命令を、各プレーナ・デバイスが利用可能かどうかを決定するために前記プレーナ・コンフィギュレーション・メモリに指示された各プレーナ・デバイスのアドレスに対して送る工程と、
コンフィギュレーション・メモリを決定し、かつ前記プレーナ・デバイスを介してアクセス可能な接続デバイスのアドレスが存在するかどうかを決定するために、各利用可能なプレーナ・デバイスに対してコンフィギュレーション・メモリを読み出す工程と、
読み出し命令を、各接続デバイスに対してコンフィギュレーション情報を決定し、かつ前記接続デバイスにアクセス可能なさらに別の接続デバイスが存在するかどうかを決定するために前記プレーナ・デバイスに対する前記コンフィギュレーション・メモリに指示された各接続デバイスのアドレスに対して送る工程とを有し、さらに、
読み出し命令は、コンフィギュレーション情報を決定し、かつさらに検討するべき別の任意の接続デバイス及び付随するコンフィギュレーション・メモリが存在するかどうかを決定するために任意のコンフィギュレーション・メモリに指示された任意の接続デバイスのアドレスに送られることを特徴とするコンフィギュレーション決定方法。
（２）前記プレーナ・コンフィギュレーション・メモリは前記プレーナ・バスに接続されることを特徴とする上記（１）に記載のコンフィギュレーション決定方法。
（３）各デバイスに対する前記コンフィギュレーション・メモリは該デバイスの中に組み込まれることを特徴とする上記（１）に記載のコンフィギュレーション決定方法。
（４）一デバイスが内部バスを介してアクセス可能な接続デバイスを持つ内部バスを含み、前記デバイスの前記コンフィギュレーション・メモリは前記内部バス上の前記接続デバイスのアドレスを示し、また読み出し命令は前記内部バスを含む前記デバイスの前記コンフィギュレーション・メモリ内の内部バス・アドレス情報を用いて前記接続デバイスに送られることを特徴とする上記（１）に記載のコンフィギュレーション決定方法。
（５）前記内部バスを含む前記デバイスはプレーナ・デバイスであって、該プレーナ・デバイスの前記コンフィギュレーション・メモリは多数の内部バスがアクセス可能となる前記プレーナ・デバイス上のコンセントレータのアドレスを含み、
前記プレーナ・デバイスに対する前記コンフィギュレーション情報はさらに各接続デバイスがアクセス可能となる前記コンセントレータの前記内部バスを指示するセレクタ・アドレスをさらに有し、また前記読み出し命令は前記接続デバイスに送られて、前記コンセントレータのアドレス、セレクタのアドレス、及び前記接続デバイスの内部バス・アドレスを用いて前記接続デバイスに対するコンフィギュレーション情報を読み出すことを特徴とする上記（４）に記載のコンフィギュレーション決定方法。
（６）一デバイスは接続デバイスを有し、該接続デバイスは前記プレーナ・デバイスを介してアクセス可能であり、さらに前記デバイスの前記コンフィギュレーション・メモリは前記プレーナ・バス上の前記接続デバイスのアドレスを指示し、さらに読み出し命令は前記接続デバイスが接続される前記デバイスの前記コンフィギュレーション・メモリの前記プレーナ・バス・アドレス情報を用いて前記接続デバイスに送られることを特徴とする上記（１）に記載の方法。
（７）前記コンフィギュレーション情報はプロダクト情報を含み、さらにコンピュータ動作中での使用のためにメモリ内の前記システム内の前記装置の前記コンフュギュレーション・メモリから読み出された格納アドレス及びプロダクト情報を含むことを特徴とする上記（１）に記載のコンフィギュレーション決定方法。
（８）一プレーナ・デバイスは、該デバイスに接続された複数のメモリ・カードを有するライザ・カードを有し、前記メモリ・カード上の化プロダクト情報を含む各メモリ・カードに対するコンフィギュレーション・メモリが存在することを特徴とする上記（１）に記載のコンフィギュレーション決定方法。
（９）前記プレーナ・デバイスに接続された前記コンフィギュレーション・メモリに指示された基本的なデバイスは利用可能であるかどうかを決定する工程と、
前記コンフィギュレーション・メモリに指示された基本のデバイスが前記コンピュータ・システムでは利用不可能であるならば初期化エラー・メッセージを送る工程と、
をさらに有することを特徴とする上記（１）に記載の方法。
（１０）コンピュータ・システムのコンフィギュレーションを決定する方法であって、
電子回路基板と、
前記電子回路基板上に具備されたプレーナ・バスと、
前記プレーナ・バスを介して前記電子回路基板に接続されたプレーナ・デバイスと、
各電子回路基板に対する一つのコンフィギュレーション・メモリと、
前記プレーナ・バスに接続可能な各プレーナ・デバイスに対するアドレスを指示するプレーナ・コンフィギュレーション・メモリと、
各プレーナ・デバイスが利用可能であるかどうかを決定するために前記プレーナ・コンフィギュレーション・メモリに指示された各プレーナ・デバイスのアドレスに対して読み出し命令を送る手段と、
コンフィギュレーション情報を決定し、さらに前記プレーナ・デバイスを介してアクセス可能な接続デバイスのアドレスが存在するかどうかを決定するために、各利用可能なプレーナ・デバイスに対するコンフィギュレーション・メモリを読み出す手段と、
各接続されたデバイスに対するコンフィギュレーション情報を決定するために、前記プレーナ・デバイスの前記コンフィギュレーション・メモリに指示された各接続デバイスのアドレスに対して読み出し命令を送る手段とを有し、さらに、
読み出し命令は、コンフィギュレーション情報を決定するために、また検討すべきさらに別の任意の接続デバイス及び付随するコンフィギュレーション・メモリが存在するかどうかを決定するために、任意のコンフィギュレーション・メモリに指示された任意の接続デバイスのアドレスに対して読み出し命令が送られることを特徴とするコンフィギュレーションを決定するためのシステム。
（１１）前記プレーナ・コンフィギュレーション・メモリは前記プレーナ・バスに接続されることを特徴とする上記（１０）に記載のシステム。
（１２）各デバイスに対する前記コンフィギュレーション・メモリは該デバイスの中に組み込まれることを特徴とする上記（１０）に記載のシステム。
（１３）一デバイスが内部バスを介してアクセス可能な接続デバイスを持つ内部バスを含み、前記デバイスの前記コンフィギュレーション・メモリは前記内部バス上の前記接続デバイスのアドレスを示し、また読み出し命令を前記接続デバイスへ送るための手段は前記接続デバイスをアドレスするために前記内部バスが含まれる前記デバイスの前記コンフィギュレーション・メモリの前記内部バス・アドレス情報を使用することを特徴とする上記（１０）に記載のシステム。
（１４）前記内部バスを含む前記デバイスはプレーナ・デバイスであって、該プレーナ・デバイスの前記コンフィギュレーション・メモリは多数の内部バスがアクセス可能となる前記プレーナ・デバイス上のコンセントレータのアドレスを含み、
前記プレーナ・デバイスに対する前記コンフィギュレーション情報はさらに各接続デバイスがアクセス可能となる前記コンセントレータの前記内部バスを指示するセレクタ・アドレスをさらに有し、また前記読み出し命令を送る手段は、前記コンセントレータのアドレス、セレクタのアドレス、及び前記接続デバイスに読み出し命令を転送するための内部バス・アドレスを有することを特徴とする上記（１３）に記載のシステム。
（１５）一デバイスは接続デバイスを有し、該接続デバイスは前記プレーナ・デバイスを介してアクセス可能であり、さらに前記デバイスの前記コンフィギュレーション・メモリは前記プレーナ・バス上の前記接続デバイスのアドレスを指示し、さらに読み出し命令は前記接続デバイスが接続される前記デバイスの前記コンフィギュレーション・メモリの前記プレーナ・バス・アドレス情報を用いて前記接続デバイスに送られることを特徴とする上記（１０）に記載のシステム。
（１６）前記コンフィギュレーション情報はプロダクト情報を含み、さらにコンピュータ動作中での使用のためにメモリ内の前記システム内の前記装置の前記コンフュギュレーション・メモリから読み出された格納アドレス及びプロダクト情報を格納するための手段をさらに含むことを特徴とする上記（１０）に記載のシステム。
（１７）一プレーナ・デバイスは、該デバイスに接続された複数のメモリ・カードを有するライザ・カードを有し、前記メモリ・カード上のプロダクト情報を含む各メモリ・カードに対するコンフィギュレーション・メモリが存在することを特徴とする上記（１０）に記載のシステム。
（１８）前記プレーナ・デバイスに接続された前記コンフィギュレーション・メモリに指示された基本的なデバイスが利用可能であるかどうかを決定する手段と、
前記コンフィギュレーション・メモリに指示された基本のデバイスが前記コンピュータ・システムでは利用不可能であるならば初期化エラー・メッセージを送る手段と、
をさらに有することを特徴とする上記（１０）に記載のシステム。
（１９）電子回路基板、プレーナ・バス、及びそれらに接続されたプレーナ・デバイスを有するコンピュータ・システムのコンフィギュレーションを決定する際に使用される製品であって、
コンフィギュレーション・プロセッサを生ずることが可能なプログラム・ロジックを有し、前記コンフィギュレーション・プロセッサは、
前記電子回路基板に接続することが可能な各プレーナ・デバイスに対してアドレスを指示するプレーナ・コンフィギュレーション・メモリを読み出す工程と、
読み出し命令を、各プレーナ・デバイスが利用可能かどうかを決定するために前記プレーナ・コンフィギュレーション・メモリに指示された各プレーナ・デバイスのアドレスに対して送る工程と、
コンフィギュレーション・メモリを決定し、かつ前記プレーナ・デバイスを介してアクセス可能な接続デバイスのアドレスが存在するかどうかを決定するために、各利用可能なプレーナ・デバイスに対してコンフィギュレーション・メモリを読み出す工程と、
読み出し命令を、各接続デバイスに対してコンフィギュレーション情報を決定し、かつ前記接続デバイスにアクセス可能なさらに別の接続デバイスが存在するかどうかを決定するために前記プレーナ・デバイスに対する前記コンフィギュレーション・メモリに指示された各接続デバイスのアドレスに対して送る工程とを実施し、さらに、
読み出し命令は、コンフィギュレーション情報を決定し、かつさらに検討するべき別の任意の接続デバイス及び付随するコンフィギュレーション・メモリが存在するかどうかを決定するために任意のコンフィギュレーション・メモリに指示された任意の接続デバイスのアドレスに送られることを特徴とする製品。
（２０）一デバイスが内部バスを介してアクセス可能な接続デバイスを持つ内部バスを含み、前記デバイスの前記コンフィギュレーション・メモリは前記内部バス上の前記接続デバイスのアドレスを示し、また読み出し命令は前記内部バスを含む前記デバイスの前記コンフィギュレーション・メモリ内の内部バス・アドレス情報を用いて前記接続デバイスに送られることを特徴とする上記（１９）に記載の製品。
（２１）前記内部バスを含む前記デバイスはプレーナ・デバイスであって、該プレーナ・デバイスの前記コンフィギュレーション・メモリは多数の内部バスがアクセス可能となる前記プレーナ・デバイス上のコンセントレータのアドレスを含み、
前記プレーナ・デバイスに対する前記コンフィギュレーション情報はさらに各接続デバイスがアクセス可能となる前記コンセントレータの前記内部バスを指示するセレクタ・アドレスをさらに有し、また前記読み出し命令は前記接続デバイスに送られて、前記コンセントレータのアドレス、セレクタのアドレス、及び前記接続デバイスの内部バス・アドレスを用いて前記接続デバイスに対するコンフィギュレーション情報を読み出すことを特徴とする上記（１９）に記載の製品。
（２２）一デバイスは接続デバイスを有し、該接続デバイスは前記プレーナ・デバイスを介してアクセス可能であり、さらに前記デバイスの前記コンフィギュレーション・メモリは前記プレーナ・バス上の前記接続デバイスのアドレスを指示し、さらに読み出し命令は前記接続デバイスが接続される前記デバイスの前記コンフィギュレーション・メモリの前記プレーナ・バス・アドレス情報を用いて前記接続デバイスに送られることを特徴とする上記（１９）に記載の製品。
（２３）前記コンフィギュレーション情報はプロダクト情報を含み、さらにコンピュータ動作中での使用のためにメモリ内の前記システム内の前記装置の前記コンフュギュレーション・メモリから読み出された格納アドレス及びプロダクト情報を含むことを特徴とする上記（１９）に記載の製品。
（２４）一プレーナ・デバイスは、該デバイスに接続された複数のメモリ・カードを有するライザ・カードを有し、前記メモリ・カード上の化プロダクト情報を含む各メモリ・カードに対するコンフィギュレーション・メモリが存在することを特徴とする上記（１９）に記載の製品。
（２５）前記プレーナ・デバイスに接続された前記コンフィギュレーション・メモリに指示された基本的なデバイスは利用可能であるかどうかを決定する工程と、
前記コンフィギュレーション・メモリに指示された基本のデバイスが前記コンピュータ・システムでは利用不可能であるならば初期化エラー・メッセージを送る工程と、
をさらに有することを特徴とする上記（１９）に記載の製品。
【図面の簡単な説明】
【図１】  本発明の好ましい実施形態例が実現されるコンピュータ・アーキテクチャのブロック図である。
【図２】  本発明の好ましい実施形態例にもとづいてプレーナ・メモリのコンフィギュレーション・メモリに含まれることが可能な情報のフィールドを示す模式図である。
【図３】  プレーナ・バスに接続したコンフィギュレーション・メモリの一例を示す模式図である。
【図４】  プレーナ・デバイス用のコンフィギュレーション・メモリの一例を示す模式図である。
【図５】  プレーナ・デバイスに接続したデバイス用のコンフィギュレーション・メモリの一例を示す模式図である。
【図６】  プレーナ・インタフェース・バスに接続したライザ・カードのコンフィギュレーション・メモリの一例を示す模式図である。
【図７】  本発明の好ましい実施形態例にもとづいてシステム・コンフィギュレーションを決定するためのコンフィギュレーション・メモリを実現するロジックを説明するためのフローチャートである。
【図８】    本発明の好ましい実施形態例にもとづいてシステム・コンフィギュレーションを決定するためのコンフィギュレーション・メモリを実現するロジックを説明するためのフローチャートである。
【符号の説明】
２      電子回路基板（プレーナ・ボード）
４，６    中央演算処理装置（ＣＰＵ）（単にデバイスともいう）
８        オシレータ（単にデバイスともいう）
１０      コンフィギュレーション・プロセッサ（単にデバイスともいう）
１２，１４      ライザ・カード（単にデバイスともいう）
１６      プレーナＩ2Ｃバス・インタフェース
２０、２２、２４、２６、２８、３０、４４ａ〜４４ｈ、４６ａ〜４６ｈ    ＥＥＰＲＯＭ
３２    コンフィギュレーションＥＥＰＲＯＭ（単にＥＥＰＲＯＭともいう）
４０ａ〜４０ｈ、４２ａ〜４２ｈ    ＤＩＭＭカード
３６，３８    内部Ｉ2Ｃバス・インタフェース
４８、５０    コンセントレータ
１００      カード・タイプ・フィールド
１０２      Ｉ2Ｃアドレス・フィールド
１０４    コンセントレータアドレス・フィールド
１０６    ラベル・フィールド
１１０    位置データ
１２０、１３０    位置情報
１３２    セレクタ・アドレス
２００    ブロック
【図１】
0004086472.tif 000002
【図２】
0004086472.tif 000003
【図３】
0004086472.tif 000004
【図４】
0004086472.tif 000005
【図５】
0004086472.tif 000006
【図６】
0004086472.tif 000007
【図７】
0004086472.tif 000008
【図８】
0004086472.tif 000009