(57)【特許請求の範囲】
【請求項１】
データ処理システムにおいて、プロセッサとＢＩＯＳとを含むマザーボードに差込まれるライザカード上の装置を列挙するための方法であって、
前記ライザカード上の記憶装置に格納された前記装置を識別するための構成データを前記ＢＩＯＳによってコントローラ構成スペースに書込むステップを備え、前記構成データには、メモリロケーションを示すヘッダが含められ、前記構成データを含む記憶場所が前記ＢＩＯＳによってアドオンＲＯＭとして扱われ、前記コントローラ構成スペースはＰＣＩコントローラ構成スペースであり、ＰＣＩバスが前記ライザカードを前記システムに結合されたＰＣＩバスコントローラに結合し、さらに、
前記ＢＩＯＳにより、前記コントローラ構成スペースに書き込まれた前記構成データを用いて前記装置を列挙するステップを含む、方法。
【請求項２】
前記ヘッダはＡＡ５５である、請求項１に記載の方法。
【請求項３】
前記アドオンＲＯＭの内容をシステムメモリへシャドウイングするステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記装置は周辺装置である、請求項１に記載の方法。
【請求項５】
前記記憶装置に結合されるインターフェイスが、前記アドオンＲＯＭとして扱われ、前記インターフェイスは、コントローラを含み、前記記憶装置と前記プロセッサおよびＢＩＯＳとの間をインターフェイスする、請求項１に記載の方法。
【請求項６】
ＰＣＩコントローラが、前記インターフェイスである、請求項５に記載の方法。
【請求項７】
前記記憶装置と前記ＢＩＯＳとの間のアクセスをモニタするステートマシンが、前記インターフェイスである、請求項５に記載の方法。
【請求項８】
前記含めるステップは、前記記憶装置からの前記構成データをシステムメモリ内の領域にコピーするステップをさらに含み、前記システムメモリ内の領域は前記アドオンＲＯＭとして扱われる、請求項１に記載の方法。
【請求項９】
前記コピーするステップは、前記構成データを前記システムメモリにシャドウイングするステップをさらに含む、請求項８に記載の方法。
【請求項１０】
前記記憶装置はアドオンＲＯＭではない、請求項１に記載の方法。
【請求項１１】
前記記憶装置はＥＥＰＲＯＭである、請求項１に記載の方法。
【請求項１２】
前記ＢＩＯＳが前記構成データを検出するように前記ヘッダが付与された構成データをシステムメモリにコピーするステップをさらに含む、請求項１に記載の方法。
【請求項１３】
前記記憶装置は、前記記憶装置から前記構成データをＰＣＩ構成スペースにコピーさせる実行可能コードをさらに含む、請求項１に記載の方法。
【請求項１４】
コンピュータシステムマザーボードに接続可能なライザカードであって、前記ライザカードは、
周辺装置と、
前記ライザカード上の記憶装置にストアされるコンピュータプログラムとを含み、前記コンピュータプログラムは、前記ライザカードが前記コンピュータシステムに接続される場合に、システムＢＩＯＳがＰＣＩ構成スペースに書込むために使用可能な前記周辺装置を識別するための構成データと、前記ＢＩＯＳが前記構成データをアドオンＲＯＭとして検出するように前記構成データを構築するデータとを含む、ライザカード。
【請求項１５】
前記ライザカードは、ＰＣＩバスによって前記コンピュータシステムマザーボードに接続するようにされる、請求項１４に記載のライザカード。
【請求項１６】
前記記憶装置はアドオンＲＯＭではない、請求項１４に記載のライザカード。
【請求項１７】
前記記憶装置はＥＥＰＲＯＭである、請求項１４に記載のライザカード。
【請求項１８】
前記コンピュータプログラムは、前記ＢＩＯＳが前記構成データを検出するようにヘッダを付与されて前記構成データをシステムメモリにコピーするためのデータをさらに含む、請求項１４に記載のライザカード。
【請求項１９】
データ処理システムであって、
プロセッサとＢＩＯＳとを含むマザーボードと、
前記プロセッサと前記ＢＩＯＳとに結合されるバスコントローラと、
前記バスコントローラを介して前記マザーボードに結合されるライザカードとを含み、前記ライザカードは周辺装置と、前記周辺装置に関連する構成データをストアするための記憶装置とを含み、システムはさらに、
前記ＢＩＯＳが前記構成データをアドオンＲＯＭとして扱うための回路と、
前記ＢＩＯＳが前記構成データをコントローラ構成スペースに書込むための回路と、
前記構成データをアドオンＲＯＭとして用いて前記周辺装置を列挙するための回路とを含む、システム。
【請求項２０】
前記コントローラ構成スペースはＰＣＩコントローラ構成スペースであり、ＰＣＩバスが、前記ライザカードを前記システムに結合されたＰＣＩバスコントローラに結合する、請求項１９に記載のシステム。
【請求項２１】
前記アドオンＲＯＭの内容をシステムメモリへシャドウイングする回路をさらに含む、請求項１９に記載のシステム。
【請求項２２】
前記扱うための回路は、前記記憶装置から前記構成データをシステムメモリ内の領域にコピーするための回路をさらに含み、前記システムメモリ内の領域が、前記アドオンＲＯＭとして扱われる、請求項１９に記載のシステム。
【請求項２３】
前記コピーするための回路は、前記ＢＩＯＳがシステムメモリ内の領域を前記アドオンＲＯＭとして扱うように、ヘッダを前記構成データに含めるための回路を含む、請求項２２に記載のシステム。
【請求項２４】
前記ヘッダはＡＡ５５である、請求項２３に記載のシステム。
【請求項２５】
前記記憶装置はアドオンＲＯＭではない、請求項１９に記載のシステム。
【請求項２６】
前記記憶装置はＥＥＰＲＯＭである、請求項１９に記載のシステム。
【請求項２７】
前記ＢＩＯＳが前記構成データを検出するようにヘッダが付与された前記構成データをシステムメモリにコピーする回路をさらに含む、請求項１９に記載のシステム。
【請求項２８】
ＢＩＯＳがアドオンＲＯＭをチェックするステップと、
仮想ＲＯＭコントローラが、システムメモリからのＡＡ５５メモリロケーションでのメモリリードに応答するステップと、
前記ＢＩＯＳが前記仮想ＲＯＭの次のメモリロケーションを読出してそのサイズを判断するステップと、
前記仮想ＲＯＭの内容をメインメモリにシャドウイングするステップと、
前記ＢＩＯＳがコード実行を前記仮想ＲＯＭにパスするステップと、
前記ＢＩＯＳにより、前記仮想ＲＯＭが、標準ＰＣＩ列挙サイクルを通してすべてのＰＣＩベースのホストコントローラを識別する第１の動作と、ＰＣＩ構成レジスタにアクセスして書込を行なう第２の動作と、前記ホストコントローラの適切なＰＣＩ構成レジスタにベンダＩＤ番号を書込む第３の動作とを行なう実行可能コードを含むステップと、
すべての構成が完成した後で、コード実行を前記ＢＩＯＳに返すステップと、
標準のＢＩＯＳベースのＰＣＩ列挙サイクルを行なうステップとを含む、方法。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は一般的にデータ処理システムに関し、より特定的には、データ処理システムに結合される装置の自律構成に関する。
【０００２】
【背景技術】
現在、モデムとオーディオサブシステムとは、マイクロソフトＰＣ（パーソナルコンピュータ）９９仕様に従ったウィンドウズ（Ｒ）系ＰＣの必須構成要素である。これはマイクロソフトウィンドウズ（Ｒ）ロゴを受けるための要件である。プロセッサにおけるサイクル速度の増大により、現在モデムとオーディオ機能とは、マイクロソフトのウィンドウズ（Ｒ）オペレーティングシステムにしたがってＰＣプロセッサで動作するソフトウェアに実現されている。これは、コストを削減し続け、かつソフトウェアアップグレードのフレキシビリティを向上させるために行なわれる。
【０００３】
そのような実現化の例は、ＡＭＲ（オーディオ／モデムライザ）と呼ばれる業界標準であり、これはモデムおよびオーディオシステムのためのアナログフロントエンドハードウェアしか含まない回路カードまたはライザカードからなるアーキテクチャを規定する。「オーディオ／モデムライザ仕様」改訂１．０１、インテル・コーポレイション、ｐｐ．１−２４を参照されたい。モデムおよびオーディオ処理の大半は、ホストプロセッサにおいて行なわれる。ライザカード自体はＰＣＩ装置ではなくマザーボードリソースであると考えられ、よって列挙可能（enumerable）ではない。それでも、ホストソフトウェアとライザカードとの間にインターフェイスを提供するためにＰＣＩコントローラが用いられる。ライザカードは、１つ以上のコデックを含む。ＰＣＩコントローラはそれ自体を１つ以上の「ＰＣＩ装置」として表し得る。
【０００４】
さらに状況を複雑にするのは、モデムおよびオーディオのためのホストソフトウェアドライバと、コデックおよびライザカードとが、多数のベンダによって供給されていることである。知的財産保護のために、ベンダのモデムまたはオーディオソフトウェアはそれらの特定のコデックに対してのみ働くよう設計される。あるコデックベンダはライザカードをも製造するのに対し、あるライザはコデックを製造しないベンダによって製造される。これにより、ＰＣＩコントローラはウィンドウズ（Ｒ）によって適切に列挙されるよう、構成可能（多数のベンダＩＤをサポートする）でなければならないという要件が課される。
【０００５】
適切な列挙により、（コデックベンダから供給される）意図されるドライバがロードされる。さらに、適切な列挙により、ライザの製造者およびどの製造者のコデック構成要素が含まれているかに関する情報を、ウィンドウズ（Ｒ）に通知することが可能になる。最後に、適切な列挙は、ライザ上の各コデックに対するインターフェイス機能をサポートする１つ以上のＰＣＩ装置として、ＰＣＩコントローラを適切に構成することを可能にする。
【０００６】
コンピュータシステムのＢＩＯＳ（basic input output system基本出入力システム）は、ＰＣＩ構成スペースからベンダ特定情報を読出し、次いでオペレーティングシステムに対してテーブルを構築して適切なドライバをロードすることにより、ＰＣＩ装置を列挙する。
【０００７】
現在、ＡＭＲアーキテクチャは、システムにどの特定のベンダのライザカードがあるかを検出するために、カスタムＢＩＯＳルーチンの実行を要求する。カスタムＢＩＯＳルーチンは次いで、ベンダＩＤをサブＰＣＩ装置ＩＤとしてＰＣＩ構成スペースにロードする。したがって、コントローラ、ライザ、プラットフォームＢＩＯＳがすべて「ぴったりと結合」される；これら３つすべては一緒に書込まれ、テストされ、維持され、サポートされ、認定されなければならない。これはコストを増大させフレキシビリティを減じる。
【０００８】
この「結合」は、受け入れがたい状態をも生じさせる。たとえば、コデックベンダＡがオーディオコデック、モデムコデック、およびＰＣＩコントローラを製造したと仮定する。適切な列挙は、ウィンドウズ（Ｒ）に２つのＰＣＩ装置が表されることをもたらす（オーディオコデック「Ａ」に接続されたコントローラ「Ａ」およびモデムコデック「Ａ」に接続されたコントローラ「Ａ」）。しかしながら、もし異なった製造者のカードがライザに差込まれると、他の結果が生じ得る。ベンダ「Ｂ」によって製造された新しいオーディオおよびモデムコデックが、ＰＣＩコントローラ「Ａ」に接続されるかもしれない。もし業者ＡとＢとが競合相手であれば、ユーザはオペレーティングシステムに「Ａ−Ｂ」ドライバを見つけるよう命令され、非常にいらいらさせられる結果となるであろう。
【０００９】
当該技術分野において求められているのは、プラットフォームＢＩＯＳにいかなる変更も行なうことなく、装置の列挙を可能にする機構である。また当該技術分野において求められているのは、プラットフォーム（ＢＩＯＳ）から切り離されたライザカードの技術進歩をもたらす、メディアアクセス装置を超えた機能を列挙するための手段である。
【００１０】
【発明の開示】
この発明は、システムプラットフォームＢＩＯＳ（ベーシックＩ／Ｏルーチン）のカスタム化なしでは現在列挙可能ではない多数のＰＣＩ装置を、オペレーティングシステムが列挙することを可能にすることにより、上述の必要性に対処する。その結果、オペレーティングシステムは、プラットフォームＢＩＯＳをどのように変更することもなく、そのようなＰＣＩ装置を列挙することが可能になり、これは装置のテストおよび認可をプラットフォームから切り離し、ＢＩＯＳを変更なく保つことによりプラットフォームソフトウェアの維持コストを減じ、ＰＣＩ装置の技術進歩をシステムプラットフォームＢＩＯＳから切り離す。
【００１１】
より特定的には、この発明は、プラットフォームＢＩＯＳのカスタム化なしに、オペレーティングシステムが実行可能コードおよび構成データを利用可能にすることにより、ライザカード（およびマザーボードダウン装置）上の多数の装置／機能の列挙のための処理および手段を提供する。これは、ＢＩＯＳが自然に検出するであろう仮想アドオンＲＯＭを生成することにより達成される。ライザカード上のデータ記憶装置（たとえばシリアルＥＥＰＲＯＭ）は列挙のために必要となる構成データを含み、かつ可能であれば構成データを各装置の標準ＰＣＩ構成スペースにコピーする実行可能コードをも含む。一実施例においては、構成データおよび実行可能コードを含むライザシリアルＥＥＰＲＯＭはシステムメモリの利用可能な領域にコピーされる。シリアルＥＥＰＲＯＭデータは、ＢＩＯＳによってアドオンＲＯＭと同様に検出されるよう、ＡＡ５５ヘッダを用いてシステムメモリ内に構築される。ＢＩＯＳは、ＡＡ５５ヘッダを発見したときにシステムメモリのこの領域を検出する。ＢＩＯＳはこのシステムメモリの領域をアドオンＲＯＭとして扱い、それによりこれがいずれかのおよびすべてのＰＣＩ構成スペースをライザ構成スペースで実行し初期化することを可能にする。実行されたコードは、モデムおよびオーディオＰＣＩ構成スペースが突き止められるように、ＢＩＯＳに他の既存のＰＣＩ周辺アドレスについて問い合わせすることができる。ＢＩＯＳは次いでシステム内で検出されたすべてのＰＣＩ装置を列挙する。
【００１２】
この発明の別の実施例においては、ＥＥＰＲＯＭ内の構成データは、任意でシステムメモリへのデータのシャドウイングを備えた、仮想アドオンＲＯＭとして扱われる。
【００１３】
この発明の１つの利点は、すべてのライザカード関連装置がいかなるＢＩＯＳカスタム化もなく列挙され得ることである。この発明の別の利点は、ライザ技術がプラットフォームＢＩＯＳから独立して発展できることである。
【００１４】
この発明はＰＣＩおよびＢＩＯＳエンティティに関連して説明されるが、この発明は、付加的な情報または自律構成が必要となるどのようなデータ処理システムにも適用可能である。さらに、この発明はコントローラおよびメディアアクセス装置にパーティションを有するどのようなシステムにも適用可能である（たとえばイーサネット（Ｒ）＋ＰＨＹ、ＤＳＬハードモデムコントローラ＋ＤＳＰエンジンなど）。
【００１５】
以上、以下のこの発明の詳細な説明がより良く理解されるよう、この発明の特徴と技術的利点とをおおまかに述べた。この発明のさらなる特徴および利点は次に説明され、この発明の特許請求の範囲の主題を構成する。
【００１６】
この発明およびその利点がより完全に理解されるよう、添付の図面と併せて以下に説明する。
【００１７】
【発明を実行するためのモード】
以下の説明においては、この発明の完全な理解をもたらすために特定の言葉やバイト長などのいくつもの特定の細部が示される。しかしながら、当業者においてはこの発明はそのような特定の細部なしに実施し得ることが明らかであろう。他の例においては、この発明が不必要な細部によってわかりにくくなることを避けるために、周知の回路がブロック図形式で示される。ほとんどの部分において、この発明の完全な理解を得るためには必要ではなく、また関連技術分野における当業者の技術範囲にあるために、タイミング要件などに関する細部は省かれている。
【００１８】
図面に関しては、構成要素は必ずしも実物と同じスケールでは示されず、いくつかの図面を通して同じ参照番号により同一のまたは同様の要素が示される。
【００１９】
図１は、この発明にしたがって構成されたデータ処理システム１００を示す。データ処理システム１００は、図１に特定的に示される以外の、コンピュータシステム内に典型的に見出される要素を含み得る。ＣＰＵ（中央処理装置）１０１は、ローカルバス１０５によってランダムアクセスメモリ（ＲＡＭ）１０２に結合される。ローカルバスはまた、ＣＰＵ１０１を基本出入力システム（ＢＩＯＳ）１０３およびＰＣＩバスコントローラ１０４に結合する。ＢＩＯＳ１０３は、ルーチンの基本セット（essential set）を含み、オペレーティングシステムとシステム１００におけるハードウェアとの間にインターフェイスを提供する。ＢＩＯＳ１０３は、すべての周辺技術とリアルタイムクロックのような内部サービスとをサポートする。システム１００のスタートアップの際に、ＢＩＯＳ１０３はシステム１００をテストし、ドライブおよび他の構成設定についてそれ自体の小さなＣＭＯＳメモリバンクに問い合わせることにより、システム１００を準備する。これは次いで、オペレーティングシステムをロードし、制御をこれにパスする。バスコントローラ１０４は周辺装置を駆動するための回路を含むが、これはこの例においてはライザカード１０６上の周辺装置である。システム１００においては、バスコントローラ１０４はＰＣＩバス１０７に結合されたＰＣＩバスコントローラである。ＰＣＩは周辺構成要素相互接続（Peripheral Component Interconnect）を意味し、ＰＣＩバス１０７はＣＰＵ１０１と周辺装置（オーディオ、ビデオ、ディスク、ネットワークなど）との間の高速データ経路を提供する周辺バスである。ＰＣＩはスタートアップ時にＰＣＩカードを自動的に構成する「プラグアンドプレイ」機能を提供する。
【００２０】
システム１００内の装置列挙の間に、システム１００に装着されるすべての装置が識別され、必要なルーチン（ドライバ）が初期化されて、装置が機能するようイネーブルする。ＰＣＩバスコントローラ１０４内のレジスタは、バスコントローラ１０４が周辺装置と適切に通信できるよう、ライザカード１０６上の周辺装置の特定の情報を提供される。
【００２１】
この発明の一実施例においてはライザカード１０６は製造者がアナログＩ／Ｏ機能なしにマザーボードを製作することを可能にするオーディオモデムライザ（ＡＭＲ）である。そのかわりに、これらの機能はコデック回路を含むライザカードに置かれ、ライザカード１０６はマザーボードと直角をなすように、マザーボードに直交して差込まれる。アナログＩ／Ｏ機能をマザーボードから分離することにより、オーディオ品質はより高くなり、製造遅延は減じられる。ＡＭＲ仕様以前は、マザーボードアナログＩ／Ｏ機能は長期間の米国連邦通信委員会（ＦＣＣ）および国際電気通信認定プロセスを受けた。
【００２２】
この発明は、プラットフォームＢＩＯＳ１０３のいかなるカスタム化もなしに、システム１００に対し実行可能コードと構成データとを利用可能にすることにより、ライザカード１０６上の多数の装置／機能の列挙のためのプロセスおよび手段を提供する。これは、ＢＩＯＳ１０３によってシステム１００のスタートアップの間に自然に検出される仮想アドオンＲＯＭを生成することにより達成される。図２を参照すると、シリアルＥＥＰＲＯＭ２０１のようなデータ記憶装置がライザカード１０６上に接続され、これはライザカード１０６上のいずれの周辺装置をも完全に列挙するために必要なすべての構成データを含む。たとえば、ライザカード１０６上に、モデムのような１つ以上のオーディオまたはビデオ周辺装置が存在し得る。シリアルＥＥＰＲＯＭ２０１はまた、構成データを各装置の標準ＰＣＩ構成スペースにコピーする実行可能コードを含んでもよく、標準列挙（normal enumeration）を可能にする。ホストシステム１００はライザに基づく記憶装置２０１から直接実行することはできないので、図２の点線の矢印で示されるように、装置２０１内のデータは最初に利用可能なシステムＲＡＭにコピーされ得る。
【００２３】
図３を参照して、この発明の実行を示すブロック図が示される。上述のように、ライザカード１０６はＥＥＰＲＯＭ記憶装置２０１を含む。手段３０３は、ライザカード１０６上の周辺装置の完全な列挙のために必要となる構成データと可能性のあるすべての実行可能コードとをシステムメモリ３０４にコピーするよう実現される。そのようなデータは、ＢＩＯＳ１０３によってアドオンＲＯＭ３０５として検出されるよう、システムメモリ３０４に構築される。これは、ヘッダＡＡ５５を、システムメモリ３０４にコピーされたデータのフロントに配置することにより達成される。ＢＩＯＳ１０３が、ある場所とメモリとを自動的にサーチしてＡＡ５５ヘッダを探すよう対処されていることは、当該技術分野においては周知である。そのようなＡＡ５５ヘッダを有するデータはシステムメモリ３０４内のその場所でのアドオンＲＯＭであると推定され、ＢＩＯＳ１０３はそこに含まれるデータを自動的に実行する。アドオンＲＯＭ３０５に含まれるデータは、実行してライザカード１０６に含まれるすべての周辺装置に対するいずれかのおよびすべてのＰＣＩ構成スペースの初期化を行なう。図３に示される実施例においては、第１の周辺装置ＰＨＹ１に対して、そのベンダＩＤ ＹがＰＣＩコントローラ構成メモリスペース３０１内にストアされる。図３に示されるのは、別の周辺装置ＰＨＹ２であり、そのベンダＩＤ ＺデータはＰＣＩコントローラ構成メモリスペース３０２にストアされる。ＢＩＯＳ１０３は次いで検出されたこれらの「ＰＣＩ装置」を列挙する。
【００２４】
ステートマシン３０３によって行なわれることをより詳細に説明すると、ステートマシン３０３はデフォルトの電源投入時条件を有するが、これによりステートマシン３０３は、アドオンＲＯＭを含むことがわかっているシステムメモリにＥＥＰＲＯＭ記憶装置２０１の内容をコピーし始める。ステートマシン３０３は次いでＢＩＯＳアドオンＲＯＭ検出アルゴリズムをモニタする。ＢＩＯＳ１０３がコピーされたＥＥＰＲＯＭイメージのベースアドレスから読出動作を行なう場合、ステートマシン３０３はメモリ読出ラインをアクティブにプルしなければならない。これはＢＩＯＳ１０３が、異なった読出制御信号を有するＩ／Ｏスペースをチェックしているためである。ＥＥＰＲＯＭイメージ内の実行可能コードの第１のバイトは、ＣＰＵ１０１にシステムメモリ３０４からコードの実行を開始するよう通知する。これは、制御が成功して転送されたので、ステートマシン３０３が動作のモニタを停止できることを意味する。ＥＥＰＲＯＭ記憶装置２０１内の最後のコードは、電源投入プロシジャの制御をＢＩＯＳ１０３に返す。
【００２５】
これに代えて、ブロック３０３においては、ＰＣＩコントローラはアドオンＲＯＭ装置として示され得る。この発明は、ＥＥＰＲＯＭ２０１の内容をシステムメモリ３０４にコピーすることなく、その場で実行して、シリアルＥＥＯＰＲＯＭ装置２０１とＰＣＩコントローラとをアドオンＲＯＭとして扱う。これにより、ＥＥＰＲＯＭ２０１内のデータをシステムメモリ３０４にコピーする複雑性がなくなる。性能は、ＥＥＰＲＯＭ２０１内のデータをシステムメモリ３０４（ＢＩＯＳ設定によって制御される）に「シャドウイング」することにより向上する。この「シャドウイング」は、メモリをシステムＲＡＭに自動的にコピーする、プラットフォームＢＩＯＳに存在する周知の機構である。これはＲＯＭデータへのアクセス時間を低減することにより実行性能を増す（コピー後にシステムＲＡＭから実行する）。その結果、ライザＥＥＰＲＯＭ２０１とインターフェイスするＰＣＩコントローラ１０４（または簡単なステートマシン装置）は、これをアドオンＲＯＭ装置として表わすアドレス範囲に対応するようにされる。ＢＩＯＳ１０３は、これをアドオンＲＯＭとして発見し、プログラム実行をこの装置にパスする。
【００２６】
本質的に、この代替的なシャドウイングプロシジャは、イメージをシステムメモリにコピーする点に関しては上述のプロシジャと同じものであるが、アドオンＲＯＭをメインメモリにシャドウイングするオプションがオンにされる点が異なる。ＲＯＭイメージの全体がシステムメモリ３０４にコピーされた後で、ＢＩＯＳ１０３は元のメモリ場所へのいかなるアクセス要求をもトラップし、作成したコピーにそれを転送する。このオプションは、ユーザにアクセス可能なＢＩＯＳ構成スクリーンに典型的である。これはまた、ＥＥＰＲＯＭイメージにストアされた実行可能コードによっても行なうことができる。たいてい、メインシステムメモリ３０４がＥＥＰＲＯＭ２０１よりもはるかに速いためにイメージアクセスを顕著に高速化するので、このオプションはデフォルトでＯＥＭ（相手先商標製造業者）によってオンにされる。
【００２７】
他の代替例においては、ＥＥＰＲＯＭ２０１のためのステートマシンコントローラが実際にＢＩＯＳ１０３の読出要求にＡＡ５５ヘッダで応答する。ステートマシン３０３は標準様式で直接応答するので、再変換は必要ではない。ＥＥＰＲＯＭ２０１からのアドレス読出が要求される場合、ステートマシン３０３は要求を変換し、準備ができたときにデータをシステムに提示する。これは標準の信号方式しか必要でないので、実現が簡単である。この例においても上述のシャドウイング技術が機能し、アクセスを高速化する。
【００２８】
ストアされたデータについても、上述の方法とすべて同様である。これはどの装置がライザカードにあるかを識別する。これには製造者、モデル、改訂、およびベンダが所望する他のどのような情報もが含まれる。これはまたＰＣＩベンダＩＤ、サブベンダＩＤ，ＰＣＩクラス、およびここでも、ベンダが適切と考えるどのような他のものも有する。もしベンダが特別な実行可能コードを有していれば、ここで動作する。最小限の実行可能コードが、利用可能なコントローラについてシステムに問い合わせる。もし見つかれば、これはＰＣＩ  ＩＤ，装置ＩＤ，およびベンダが装置を識別するために適切と考える他のいかなるデータをも読出す。各メディア装置（ライザＰＨＹ／ＣＯＤＥなど）が整合するコントローラを見つけると、ＥＥＰＲＯＭイメージ内のコードは正しいＰＣＩベンダＩＤ、サブベンダＩＤ，装置ＩＤなどを、各装置が適切に定義されるまで、整合するコントローラ内に書込む。この情報はまた、パワーマネジメント能力またはシステム設計者が含めることを必要とする他のいかなる情報をも含み得る。
【００２９】
ＥＥＰＲＯＭコードが動作を完了させると、ＢＩＯＳ１０３は標準ＰＣＩ発見サイクルを行ない、ＰＣＩ構成が既に完了しているので、装置は正確に列挙し、オペレーティングシステムはわかっている良好なドライバをロードできる。
【００３０】
図４は、上述のプロセスをさらに詳しく示す。ステップ４０１において、ＢＩＯＳ１０３はアドオンＲＯＭがあるかチェックする。ステップ４０２において、仮想ＲＯＭ／コントローラが、システムメモリ３０４からのメモリ読出に対して適切なＡＡ５５１６ビットメモリ値で応答する。ステップ４０３において、ＢＩＯＳ１０３は仮想ＲＯＭ３０５から次のメモリ場所を読出してそのサイズを判断する。ステップ４０４において、仮想ＲＯＭ３０５の内容がメインメモリ３０４にシャドウイングされる。ステップ４０５において、業界標準プロトコルを用いて、ＢＩＯＳ１０３はコード実行を仮想ＲＯＭ３０５にパスする。ステップ４０６において、仮想ＲＯＭ３０５は以下の動作を行なう実行可能コードを含む。第１に、これは標準ＰＣＩ列挙サイクルを通してすべてのＰＣＩに基づくホストコントローラを識別する。これは２つの可能な方法によって達成される。第１に、ＰＣＩ  ＳＩＧグループはライザカード１０６に特別なＰＣＩ  ＩＤ番号を有するコントローラのみを割当てる。第２の可能な列挙サイクルは、用いられていない標準のすべてのＰＣＩ論理バスにコントローラを配置することである。
【００３１】
ＲＯＭプログラマは、どのコントローラが潜在的に利用可能であるかについてを正確に把握するので、プログラマはまた、さまざまなＰＣＩホストコントローラにおけるＰＣＩ構成レジスタにどのようにアクセスし書込みするかも把握する。
【００３２】
仮想ＲＯＭによって行なわれる第３の動作は、ライザ構成要素に割当てられたベンダＩＤ番号が、ホストコントローラ１０４の適切なＰＣＩ構成レジスタに書込まれることである。これはサブベンダまたはサブシステムＩＤであってもよく、適切なレジスタを選択するようシステム設計者に任せられる。次いで、仮想ＲＯＭ実行可能によって行なわれる第４のプロセスは、システム１００におけるすべての装置−コントローラ対に対してライザ装置ＩＤを繰り返し書込むことである。
【００３３】
その後、ステップ４０７において、すべての構成が完成した後でコード実行はＢＩＯＳ１０３に返される。上述の例はＰＣＩ  ＩＤレジスタについてのみ触れたが、設計者の選択により、何らかの装置特有動作も行なわれ得ると考えられる。その後、ステップ４０８において、標準ＢＩＯＳ／ＰＣ電源投入プロシジャが続き、標準のＢＩＯＳに基づくＰＣＩ列挙サイクルが起こる。すべての要求されたＰＣＩ  ＩＤ番号の書込みが完了しているので、すべてのＰＣＩライザ装置はＰＣＩ  ＢＩＯＳに正確に列挙され、オペレーションシステムは適切な対応の装置をロードできる。
【００３４】
この発明およびその利点を詳細に説明したが、前掲の特許請求の範囲に定義されるこの発明の精神および範囲から逸脱することなく、さまざまな変更、置換および代替例を実行し得ることを理解されたい。
【図面の簡単な説明】
【図１】  この発明にしたがって構成されたデータ処理システムを示す図である。
【図２】  ライザカードにおけるＥＥＰＲＯＭ内の情報のシステムメモリへのコピーを示す図である。
【図３】  ベンダ情報のＰＣＩ構成スペースへのコピーの結果として生じるアドオンＲＯＭ内の命令の実行を示す図である。
【図４】  この発明にしたがったフロー図である。
【図１】
0004597459.tif 000002
【図２】
0004597459.tif 000003
【図３】
0004597459.tif 000004
【図４】
0004597459.tif 000005