(57)【特許請求の範囲】
【請求項１】
システムＢＩＯＳにインターフェース・モジュールをインターフェースするステップと、
対応するモジュールによってタスクを実行するようシステムＢＩＯＳから要求を受け取るステップと、
前記タスクに関連するシステム・デバイス情報をシステムＢＩＯＳから受け取るステップと、
インターフェース・モジュールによってシステム・デバイス情報を前記対応するモジュールで読み取り可能なフォーマットに翻訳して、前記対応するモジュールによってタスクを実行するための翻訳済み情報を提供するステップと、
前記翻訳済み情報を前記対応するモジュールに転送するステップと、
前記対応するモジュールによって、前記転送された翻訳済み情報に関連するタスクを実行するステップ
を含み、
前記転送された翻訳済み情報に関連するタスクを実行することが、
記憶装置からグラフィック・オブジェクトに対応するテンプレートを取り出すステップと、
テンプレートからグラフィック属性を生成し、前記グラフィック属性がグラフィック・オブジェクトを特徴付けるステップと、
前記グラフィック属性に従って前記グラフィック・オブジェクトから画像を生成するステップとを含む、
システムＢＩＯＳに機能を与える方法。
【請求項２】
グラフィック属性が、グラフィック・オブジェクトの場所、表示位置、サイズ、ゾーン、グラフィック・プリミティブ・セット、アニメーション・プリミティブ・セット、およびサウンド・セットを含む請求項１に記載の方法。
【請求項３】
グラフィック・オブジェクトが、バナー、ロゴ、広告アイテム、およびテキスト・アイテムのうちの１つである、請求項２に記載の方法。
【請求項４】
表示環境を設定するためにグラフィック・コントローラを初期化するステップ、ならびに画像をグラフィック・コントローラに関連する表示バッファに書き込むステップをさらに含む、請求項１に記載の方法。
【請求項５】
画像を生成することが、
グラフィック属性に基づいて記憶装置からグラフィック・オブジェクトを取り出すステップ、ならびに前記グラフィック属性に基づいて前記グラフィック・オブジェクトを画像に変換するステップを含む請求項１に記載の方法。
【請求項６】
ゾーンが、グラフィック・ゾーン、テキスト・ゾーン、およびアニメーション・ゾーンを含む請求項２に記載の方法。
【請求項７】
記憶装置が不揮発性書込み可能メモリである請求項１に記載の方法。
【請求項８】
システムＢＩＯＳに機能を与えるコンピュータ・プログラム・コードが記憶されたコンピュータ使用可能記録媒体であって、前記コンピュータ・プログラム・コードは、
インターフェース・モジュールをシステムＢＩＯＳにインターフェースするコンピュータ可読プログラム・コードと、
対応するモジュールによってタスクを実行するようシステムＢＩＯＳから要求を受け取るコンピュータ可読プログラム・コードと、
前記タスクに関連するシステム・デバイス情報をシステムＢＩＯＳから受け取るコンピュータ可読プログラム・コードと、
システム・デバイス情報を前記対応するモジュールで読み取り可能なフォーマットに翻訳して、前記対応するモジュールによってタスクを実行するための翻訳済み情報を提供するコンピュータ可読プログラム・コードと、
前記対応するモジュールに翻訳済み情報を転送するコンピュータ可読プログラム・コードと、
前記転送された翻訳済み情報に関連するタスクを前記対応するモジュールに実行させるコンピュータ可読プログラム・コードと、
を含み、
前記転送された翻訳済み情報に関連するタスクを前記対応するモジュールに実行させるコンピュータ可読プログラム・コードが、
記憶装置からグラフィック・オブジェクトに対応するテンプレートを取り出すコンピュータ可読プログラム・コードと、
前記テンプレートからグラフィック属性を生成し、そのグラフィック属性がグラフィック・オブジェクトを特徴付けているコンピュータ可読プログラム・コードと、
前記グラフィック属性に従って前記グラフィック・オブジェクトから画像を生成するコンピュータ可読プログラム・コードとを含む、コンピュータ使用可能記録媒体。
【請求項９】
グラフィック属性が、グラフィック・オブジェクトの場所、表示位置、サイズ、ゾーン、グラフィック・プリミティブ・セット、アニメーション・プリミティブ・セット、およびサウンド・セットを含む請求項８に記載のコンピュータ使用可能記録媒体。
【請求項１０】
グラフィック・オブジェクトが、バナー、ロゴ、広告アイテム、およびテキスト・アイテムのうちの１つである請求項９に記載のコンピュータ使用可能記録媒体。
【請求項１１】
表示環境を設定するためにグラフィック・コントローラを初期化するコンピュータ可読プログラム・コード、ならびに画像をグラフィック・コントローラに関連する表示バッファに書き込むコンピュータ可読プログラム・コードをさらに含む請求項８に記載のコンピュータ使用可能記録媒体。
【請求項１２】
画像を生成するコンピュータ可読プログラム・コードが、グラフィック属性に基づいて記憶装置からグラフィック・オブジェクトを取り出すコンピュータ可読プログラム・コード、ならびに前記グラフィック属性に基づいて前記グラフィック・オブジェクトを画像に変換するコンピュータ可読プログラム・コードを含む請求項８に記載のコンピュータ使用可能記録媒体。
【請求項１３】
ゾーンが、グラフィック・ゾーン、テキスト・ゾーン、およびアニメーション・ゾーンを含む請求項９に記載のコンピュータ使用可能記録媒体。
【請求項１４】
記憶装置が不揮発性書込み可能メモリである請求項８に記載のコンピュータ使用可能記録媒体。
【請求項１５】
プロセッサ、ならびにプロセッサに連結されたメモリを含むシステムであって、前記メモリがシステムＢＩＯＳに機能を与えるプログラム・コードを含み、前記プログラム・コードが前記プロセッサによって実行されたとき、前記プロセッサに、
インターフェース・モジュールをシステムＢＩＯＳにインターフェースさせ、
対応するモジュールによってタスクを実行するようシステムＢＩＯＳから要求を受け取らせ、
前記タスクに関連するシステム・デバイス情報をシステムＢＩＯＳから受け取らせ、
インターフェース・モジュールがシステム・デバイス情報を前記対応するモジュールで読み取り可能なフォーマットに翻訳して前記対応するモジュールによってタスクを実行させるための翻訳済み情報を提供させ、
翻訳済み情報を前記対応するモジュールに転送させ、
前記対応するモジュールによって、前記転送された翻訳済み情報に関連するタスクを実行させるシステムであって、
記憶装置からグラフィック・オブジェクトに対応するテンプレートを取り出し、
テンプレートからグラフィック属性を生成し、前記グラフィック属性がグラフィック・オブジェクトを特徴付け、
前記グラフィック属性に従って前記グラフィック・オブジェクトから画像を生成することによって、プログラム・コードがプロセッサに、前記対応するモジュールによって、前記転送された翻訳済み情報に関連するタスクを実行させるシステム。
【請求項１６】
グラフィック属性が、グラフィック・オブジェクトの場所、表示位置、サイズ、ゾーン、グラフィック・プリミティブ・セット、アニメーション・プリミティブ・セット、およびサウンド・セットを含む請求項１５に記載のシステム。
【請求項１７】
グラフィック・オブジェクトが、バナー、ロゴ、広告アイテム、およびテキスト・アイテムのうちの１つである請求項１６に記載のシステム。
【請求項１８】
プログラム・コードがプロセッサによって実行されたときに、さらに前記プロセッサに、
表示環境を設定するためにグラフィック・コントローラを初期化させ、
画像をグラフィック・コントローラに関連する表示バッファに書き込ませる請求項１５に記載のシステム。
【請求項１９】
グラフィック属性に基づいて記憶装置からグラフィック・オブジェクトを取り出すこと、ならびに前記グラフィック属性に基づいて前記グラフィック・オブジェクトを画像に変換することによって、プログラム・コードがプロセッサに画像を生成させる請求項１５に記載のシステム。
【請求項２０】
ゾーンがグラフィック・ゾーン、テキスト・ゾーン、およびアニメーション・ゾーンを表す請求項１６に記載のシステム。
【請求項２１】
記憶装置が不揮発性書込み可能メモリである請求項１６に記載のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はマルチメディアに関するものである。詳細には、本発明は基本入出力システム（ＢＩＯＳ）に機能を与えるシステムおよび方法に関するものである。
【０００２】
【従来の技術】
現在のところ、システムＢＩＯＳにさらなる機能を追加する場合、重要な修正を施さなければならない。特にシステムＢＩＯＳコードを大幅に修正しなければならない。
【０００３】
したがって、システムＢＩＯＳコードを大幅に変更する必要なしに、システムＢＩＯＳにさらなる機能を与える必要がある。さらにこの業界では、簡単かつ効率的にシステム・デバイス情報を提供し、表示することが必要とされている。
【０００４】
さらに、プロセッサ・パフォーマンスの情報やメモリ・サイズの情報など、システム・デバイスに関する情報は、従来、テキストのフォーマットで表示されている。こうしたシステム・デバイス情報は通常、製造の時点で決定される。ブート処理の間に、製造の時点で決定されたシステム・デバイス情報がシステムＢＩＯＳによって検出され、かつ／または取り出されて、テキストのフォーマットで表示される。ユーザが所望の情報を見つけるには、何行ものテキストを選別しなければならないので、こうした情報は、閲覧が困難である。
【０００５】
【発明が解決しようとする課題】
したがって、さらにこの業界では、簡単かつ効率的にシステム・デバイス情報を提供し、表示することが必要とされている。
【０００６】
【課題を解決するための手段】
本発明は、システムＢＩＯＳに機能を与える方法および装置である。この方法は、インターフェース・モジュールをシステムＢＩＯＳにインターフェースし、タスクを実行するようシステムＢＩＯＳから要求を受け取ることを含む。タスクに関連するシステム・デバイス情報は、システムＢＩＯＳから受け取る。インターフェース・モジュールは、システム・デバイス情報を翻訳して翻訳済み情報を提供する。次に、翻訳済み情報は、対応するモジュールに転送される。
【０００７】
【発明の実施の形態】
本発明は、簡単で、エレガントで、柔軟性のある方式でシステムＢＩＯＳに機能を与える方法および装置である。ＰＣシステム製造業者やマザーボード製造業者などの様々な関係者が、システムＢＩＯＳコードへの影響を最小限に抑えながら、さらなるシステムＢＩＯＳ機能を与えることを可能にするインターフェース・モジュールが提供される。この方法は、インターフェース・モジュールをシステムＢＩＯＳにインターフェースし、タスクを実行するようシステムＢＩＯＳから要求を受け取る。タスクに関連するシステム・デバイス情報はシステムＢＩＯＳから受け取る。インターフェース・モジュールは、システム・デバイス情報を翻訳して翻訳済み情報を提供する。次に、翻訳済み情報は、対応するモジュールに転送される。
【０００８】
さらに、本発明は、簡単で効率的にシステム・デバイス情報を提供および表示する方法および装置である。
【０００９】
下記の記述では、説明の目的のために、本発明の充分な理解をもたらすように、多くの詳細が陳述されている。ただし、本発明を実施するために、これらの特定の詳細が必要とされるのではないことは、当技術分野の専門家には明らかであろう。別の例では、本発明の理解が困難にならないように、既知の電子構造および電子回路がブロック図の形式で示されている。
【００１０】
定義
本明細書で検討されているとおり、「コンピュータ・システム」とは、データ処理を行うことのできる回路を含む製品である。コンピュータ・システムは、汎用コンピュータ・システム（例えば、サーバ、ラップトップ、デスクトップ、パームトップ、個人用電子デバイスなど）、パーソナル・コンピュータ（ＰＣ）、ハード・コピー機器（例えば、プリンタ、プロッタ、ファックス機器など）、銀行機器（例えば、自動窓口機など）等を含むことができるが、それらに限定されるものではない。
【００１１】
さらに、オペレーティング・システム（「ＯＳ」）をロードするということは、オペレーティング・システムのブートストラップ・ローダの初期プレースメントを指している。一実施形態では、ＯＳロードの間に、ハード・ディスクから情報の１つのセクタが通常、システム・メモリにロードされる。別法では、ブートストラップ・ローダが、ネットワークからシステム・メモリにロードされる。ＯＳの「ブート」とは、ブートストラップ・ローダの実行を指している。これはＯＳをシステムの制御の下に置く。ＯＳのブートの間に実行されるいくつかの動作は、システム構成、デバイス検出、ドライバのロード、およびユーザのログインを含む。ＯＳ実行時とは、ブート段階の完了、およびＯＳによるアプリケーション実行の開始を指す。一実施形態では、ＯＳ実行時の間に、ＯＳはユーザと対話して、アプリケーションを実行および／または稼動させる。
【００１２】
電源入力自己診断（ＰＯＳＴ）とは、ＯＳをロードする前に、システム・ハードウェアの構成および試験を実行する命令を指している。
【００１３】
システムの概要
本発明の実施形態を組み込んだ模範的なシステムの説明を以下に述べる。
【００１４】
本発明の特徴と利点は、本発明についての以下の詳細な説明から明らかになろう。
【００１５】
図１は、本発明の実施形態を実現する模範的コンピュータ・システム１００を図示している。図１を参照すると、コンピュータ・システム１００は、プロセッサまたは中央演算処理装置（ＣＰＵ）１０４を備えている。図示されるＣＰＵ１０４は、計算を実行するための論理演算装置（ＡＬＵ）、データおよび命令を一時記憶するためのレジスタの集合、ならびにシステム１００の制御動作を行うための制御ユニットを含む。一実施形態では、ＣＰＵ１０４は、Ｉｎｔｅｌ社が市販するマイクロプロセッサ、ｘ８６、Ｐｅｎｔｉｕｍ、ＰｅｎｔｉｕｍＩＩ、Ｐｅｎｔｉｕｍ Ｐｒｏ、ＡＭＤが市販するマイクロプロセッサ、Ｋ−６、またはＣｙｒｉｘ社が市販するマイクロプロセッサ、６ｘ８６ＭＸのうちの１つを含む。さらなる例は、Ｄｉｇｉｔａｌ  Ｅｑｕｉｐｍｅｎｔ社が市販するＡｌｐｈａプロセッサ、Ｍｏｔｏｒｏｌａが市販する６８０Ｘ０プロセッサ、またはＩＢＭが市販するＰｏｗｅｒ  ＰＣプロセッサを含む。さらに、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ、ＭＩＰＳ、ＩＢＭ、Ｍｏｔｏｒｏｌａ、ＮＥＣ、Ｃｙｒｉｘ、ＡＭＤ、Ｎｅｘｇｅｎ、およびその他のものを含む多様なプロセッサのどれでも、ＣＰＵ１０４を実現するのに使用することができる。ＣＰＵ１０４は、マイクロプロセッサに限定されておらず、マイクロコントローラ、デジタル信号プロセッサ、縮小命令セット・コンピュータ（ＲＩＳＣ）、特定用途向け集積回路など、他の形態を取ることもできる。コンピュータ・システム１００には、１つのＣＰＵ１０４があるように示されているが、別法では、複数のプロセッサ・ユニットを含むことができる。
【００１６】
ＣＰＵ１０４は、ＣＰＵバス１０８を介してバス・コントローラ１１２と連結されている。バス・コントローラ１１２は、そこに内蔵されるメモリ・コントローラ１１６を含む。ただし、メモリ・コントローラ１１６は、バス・コントローラ１１２の外部にあってもよい。メモリ・コントローラ１１６は、ＣＰＵ１０４または他のデバイスがメモリ・バス１２０を介して、システム・メモリ１２４にアクセスするためのインターフェースを構成している。一実施形態では、システム・メモリ１２４は、同期型ダイナミック・ランダム・アクセス・メモリ（ＳＤＲＡＭ）である。システム・メモリ１２４は、オプションとして、追加または代替の高速メモリ・デバイスまたはメモリ回路を含むことができる。バス・コントローラ１１２は、システム・バス１２８と連結されており、このシステム・バスは、周辺コンポーネント相互接続（ＰＣＩ）バスやインダストリ・スタンダード・アーキテクチャ（ＩＳＡ）バスなどでよい。システム・バス１２８に連結されているものとしては、さらにグラフィック・コントローラ、グラフィックス・エンジンまたはビデオ・コントローラ１３２、大容量記憶デバイス１５２、通信インターフェース・デバイス１５６、１つまたは複数の入力／出力（Ｉ／Ｏ）デバイス１６８〜１６８N 、およびエクスパンション・バス・コントローラ１７２などがある。ビデオ・コントローラ１３２は、ビデオ・メモリ１３６（例えば、８メガバイト）およびビデオＢＩＯＳ１４０に連結され、これらのすべては、番号１４４で示される１つのカードまたはデバイスに組み込まれていてもよい。ビデオ・メモリ１３６は、表示スクリーン１４８上に情報を表示するための表示データを記憶するのに使用され、ビデオＢＩＯＳ１４０は、ビデオ・コントローラ１３２をコントロールするためのコードおよびビデオ・サービスを含む。別の実施形態では、ビデオ・コントローラ１３２は、アドバンスド・グラフィックス・ポート（ＡＧＰ）バスを通じてＣＰＵ１０４と連結されている。
【００１７】
大容量記憶デバイス１５２は、ハード・ディスク、フロッピー・ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、テープ、高密度フロッピー・ディスク、高容量取り外し可能媒体、低容量取り外し可能媒体、半導体メモリ・デバイスなど、およびそれらの組合せを含む（が、それらには限定されない）。大容量記憶デバイス１５２は、その他のどのような大容量記憶媒体も含み得る。通信インターフェース・デバイス１５６は、通信リンク１６０を介してネットワーク１６４にアクセスするために、ネットワーク・カード、モデム・インターフェースなどを含む。Ｉ／Ｏデバイス１６８1〜１６８Nは、キーボード、マウス、オーディオ／サウンド・カード、プリンタなどを含む。Ｉ／Ｏデバイス１６８1〜１６８Nは、コンパクト・ディスク・ドライブ、デジタル・ディスク・ドライブ、テープ・ドライブ、ＺＩＰドライブ、ＪＡＺＺドライブ、デジタル・ビデオ・ディスク（ＤＶＤ）・ドライブ、半導体メモリ・デバイス、光磁気ディスク・ドライブ、高密度フロッピー・ドライブ、高容量取り外し可能媒体ドライブ、低容量取り外し可能媒体ドライブ、および／またはそれらの組合せでよい。エクスパンション・バス・コントローラ１７２は、システム・ファームウェア１７６を含む不揮発性メモリ１７５に連結されている。システム・ファームウェア１７６は、システムＢＩＯＳ８２を含み、このシステムＢＩＯＳは、なかでもコンピュータ・システム１００のハードウェア・デバイスを制御するためのものである。システム・ファームウェア１７６はまた、ＲＯＭ１８０およびフラッシュ（またはＥＥＰＲＯＭ）１８４を含む。エクスパンション・バス・コントローラ１７２はまた、ＲＡＭ、ＲＯＭ、および／またはフラッシュ・メモリ（図示せず）を備えた増設メモリ１８８に連結されている。システム１００はさらに、バス・コントローラ１１２に連結されたメモリ・モジュール１９０を含むことができる。一実施形態では、メモリ・モジュール１９０は、ＲＯＭ１９２およびフラッシュ（またはＥＥＰＲＯＭ）１９４を備えている。
【００１８】
当技術分野の専門家は熟知しているとおり、コンピュータ・システム１００はさらに、オペレーティング・システム（ＯＳ）、および少なくとも１つのアプリケーション・プログラムを持ち、一実施形態では、このアプリケーション・プログラムは、大容量記憶デバイス１５２からシステム・メモリ１２４にロードされ、ＰＯＳＴの後に動作を開始する。ＯＳは、ＤＯＳ、ウインドウズTM（例えば、ウインドウズ９５TM、ウインドウズ９８TM、ウインドウズＮＴTM）、Ｕｎｉｘ、Ｌｉｎｕｘ、ＯＳ／２、ＯＳ／９、Ｘｅｎｉｘなどを含むが、それらに限定または制限されないどのタイプのＯＳも含むことができる。オペレーティング・システムは、１つまたは複数のプログラム・セットで、コンピュータ・システムの動作およびリソースの割振りを制御するものである。アプリケーション・プログラムは、ユーザが望むタスクを実行する１つまたは複数のソフトウェア・プログラム・セットである。
【００１９】
コンピュータ・プログラミング分野の技術者の慣行に従って、別に示されている場合を除き、以下では本発明をコンピュータ・システム１００によって実行される動作の記号表示を参照しながら説明する。そうした動作は、時としてコンピュータが実行したものとして参照される。記号表示される動作には、ＣＰＵ１０４によるデータ・ビットを表す電気信号の操作、システム・メモリ１２４の記憶域でのデータ・ビットの保守、ならびに信号のその他の処理が含まれることを理解されよう。データ・ビットが保守される記憶域は、データ・ビットに対応する特定の電気的、磁気的、光学的、または有機的プロパティを持つ物理的ロケーションである。
【００２０】
ソフトウェアで実装したとき、本発明の要素は基本的には必要なタスクを実行するためのコード・セグメントである。プログラムまたはコード・セグメントは、プロセッサ可読媒体に記憶する、または転送媒体あるいは通信リンクを通じた搬送波の形をとるコンピュータ・データ信号として転送することができる。「プロセッサ可読媒体」には、情報を記憶または転送できるどのような媒体も含み得る。プロセッサ可読媒体の例は、電子回路、半導体メモリ・デバイス、ＲＯＭ、フラッシュ・メモリ、消去可能ＲＯＭ（ＥＲＯＭ）、フロッピー・ディスケット、ＣＤ−ＲＯＭ、光ディスク、ハード・ディスク、光ファイバ媒体、ラジオ周波数（ＲＦ）リンクなどを含む。コンピュータ・データ信号は、電子ネットワーク・チャネル、光ファイバ、空気、電磁気、ＲＦリンクなどの伝送媒体を介して伝搬できる信号を含む。コード・セグメントは、インターネットやイントラネットなどのコンピュータ・ネットワークを介してダウンロードすることができる。
【００２１】
ＢＩＯＳのブートアップおよびＢＩＯＳによるオペレーティング・システムのロードには数秒かかるであろう。この間、モニタ・スクリーンは、単に試験の統計および結果などのＢＩＯＳ情報を表示する。たいていの状況では、これらの結果は同じで、ユーザに役立つ情報を提供しない。したがって、インターネットからダウンロードした広告やバナーなど、他のグラフィックスを表示する、またはこの間、サウンドを生成する方が好ましい。これらの動作は、ＢＩＯＳのブートアップ・シーケンスの初期段階で、ブート前の期間に実行することができる。媒体デバイスは、グラフィックスまたはサウンド、あるいはその他の媒体情報を生成できるデバイスである。例えば、グラフィックス・エンジンまたはグラフィック・コントローラは、通常、少量のデータに基づいて大きく複雑な画像を表示できるようにする１組のプリミティブを備えている。結果として生じる表示は、ＢＩＯＳのブートアップが完了する、または機械が別の何かを開始するまで、スクリーンにとどまる。
【００２２】
図２は、本発明の一実施形態によるプレブート媒体システム２００を示す図である。プレブート媒体システム２００は、基本的に図１に示されるシステム１００のサブセットである。プレブート媒体システム２００は、プロセッサ１０４、バス１０８／１２８、ＢＩＯＳ記憶装置１７６、大容量記憶デバイス１５２、システム・メモリ１２４、媒体記憶装置１２４／１５２／１８４、オーディオ・カード１６８、グラフィックスまたはビデオ・コントローラ１３２、および表示モニタ１４８を含む。
【００２３】
プロセッサ１０４は、ＢＩＯＳ記憶装置１７６およびシステム・メモリ１２４にロードされたときのオペレーティング・システムの命令を実行する。ブート前の動作で、プロセッサは、バス１０８／１２８を介してオーディオ・カード１６８およびグラフィック・コントローラ１３２と通信する。パワーオン・リセット時に、プロセッサ１０４は、ＢＩＯＳ記憶装置１７６からＢＩＯＳのブートを開始するために、まず事前定義されたアドレスから命令をフェッチし始める。
【００２４】
ＢＩＯＳ記憶装置１７６は、最小媒体初期化コード２１０、標準ＢＩＯＳコード２１５、およびオペレーティング・システム（ＯＳ）ローダ２２０を含むＢＩＯＳを記憶している。通常、プロセッサ１０４は、最小媒体初期化コード２１０を最初に実行し、次に標準ＢＩＯＳコード２１５を、そして最後にＯＳローダ２２０を実行する。
【００２５】
最小媒体初期化コード２１０は、プレブート媒体の生成が実行できるように、グラフィック・コントローラ１３２および／またはオーディオ・カード１６８を初期化する最小コードを含んでいる。初期化コード２１０は、グラフィック・コントローラ１３２の表示モード（例えば、色の深みおよび表示解像度）、オーディオ・カード１６８のオーディオ・モード、グラフィックおよび／またはオーディオ・コマンド、グラフィックス・データおよび／またはサウンド・データのアドレスの構成をする命令を含んでもよい。より高機能のグラフィック・コントローラの場合、初期化コード２１０は、グラフィック・コントローラが、追加のグラフィック情報をまったく、またはほとんど持たずに、画像を生成することを可能にする完全なコード・シーケンスを含んでもよい。こうしたグラフィック・コントローラの場合、初期化コード２１０は、ピクセル、線、簡単な形状、陰影付け、色などのグラフィック・プリミティブを生成するコマンド、および結果として生じる画像を表示する表示スクリーンでの特定のロケーションを含んでもよい。最小媒体初期化コード２１０は、通常、プレブート媒体の生成ができるだけ早く開始できるように、ＢＩＯＳブートアップの初期段階で実行される。プロセッサ１０４が、最小媒体初期化コード２１０を実行した後、グラフィック・コントローラ１３２および／またはオーディオ・カード１６８は、プロセッサ１０４とは独立に機能し始める。
【００２６】
標準ＢＩＯＳコード２１５は、標準ＢＩＯＳブートアップの間に標準ＢＩＯＳのタスクを実行する命令を含む。これらのタスクは、ＰＯＳＴ、周辺デバイス（必要であれば、グラフィック・コントローラ１３２およびオーディオ・カード１６８を含めて）の初期化および構成、ならびにその他のシステム試験を含む。この間に、グラフィック・コントローラ１３２は、表示モニタ１４８に表示される画像を生成し続ける。オーディオ・カード１６８もまた、サウンドを生成し続ける。
【００２７】
ＯＳローダ２２０は、大容量記憶デバイス１５２からシステム・メモリ１２４にＯＳ２３０をロードする命令を含む。ＯＳがシステム・メモリ１２４にロードされると直ちに、制御はＯＳに引き渡され、プロセッサ１０４がＯＳから適切なプログラムを実行する。ＯＳがロードされる間、グラフィック・コントローラ１３２およびオーディオ・カード１６８は、グラフィックスおよびサウンドを生成し続ける。ＯＳのロード時間は、完了するまでに数秒間かかるので、この時間は、役立つ情報をモニタに表示し、かつ／または役立つサウンドを生成することに生産的に利用される。ＯＳが制御を始めると、グラフィックスおよびサウンドの動作は、必要に応じてＯＳの適切なドライバで実行できる。プレブート媒体動作が終了すると、通常のシステム動作を開始するであろう。
【００２８】
大容量記憶デバイス１５２は、ＯＳ２３０、およびその他のデータならびに情報を記憶している。ＯＳ２３０は、上述のとおり、ＢＩＯＳブートアップの終わりにシステム・メモリ１２４にロードされる。通常、ＯＳ２３０の一部だけがシステム・メモリ１２４に常駐する。ドライバ、プログラム、またはデータが必要に応じて、システム・メモリ１２４と大容量記憶デバイス１５２の間でスワップインおよびスワップアウトされる。ＯＳ２３０は、適切なときにグラフィック・コントローラ１３２およびオーディオ・カード１６８を再スタートするドライバを含んでもよい。通常、ＯＳ２３０が実行を開始したときに、プレブート媒体動作は終了される。
【００２９】
システム・メモリ１２４は、ＯＳ２３０のロードされた部分を記憶するランダム・アクセス・メモリ（ＲＡＭ）を含む。システム・メモリ１２４はまた、フラッシュ・メモリなど、他のタイプのメモリも含み得る。
【００３０】
媒体記憶装置１２４／１５２／１８４は、必要な場合に媒体デバイスによって使用される媒体情報を記憶している。媒体記憶装置１２４／１５２／１８４は、システム・メモリ１２４、大容量記憶デバイス１５２、またはフラッシュ・メモリ１８４の一部であってもよい。媒体情報は、媒体データ２４０、媒体モード２４５、および媒体コマンド２５０を含む。媒体データ２４０は、媒体出力を生成するために媒体デバイスによって直接に使用されるデータである。このデータは、媒体記憶装置１２４／１５２／１８４上で直接にアクセスされる、あるいはポインタまたはファイル名で参照され得る。媒体データの例は、ビットマップ化されたグラフィック・データおよびデジタル化されたオーディオ・サンプルのシーケンスを含む。媒体モード２４５は媒体デバイスの動作のモードを提供する。例えば、グラフィック・アニメーション・モードは、グラフィック・フレームの一連の反復されるシーケンスを指している。媒体コマンド２５０は、媒体デバイスによって、その機能を実行するために使用される特定のコマンドである。媒体コマンド２５０の例は、スクリーン上の特定のロケーションにグラフィック・データの画像を置くコマンド、または画像を一定の仕方でレンダリングするコマンドを含む。
【００３１】
オーディオ・カード１６８は、媒体データ２４０のサウンド・データを使用してサウンドをスピーカで生成する。グラフィック・コントローラ１３２は、表示モニタ１４８に表示される画像を生成する。グラフィック・コントローラ１３２は、構成レジスタ２６０およびコマンド・レジスタ２６５を含む。構成レジスタ２６０は、グラフィック・コントローラ１３２が特定のモードで動作するよう構成するのに使用される。コマンド・レジスタ２６５は、ブロック埋込み、線画などの特定の動作を指定するコマンドを記憶している。プロセッサ１０４は、構成データおよびコマンドを対応する媒体デバイスに書き込むことで、オーディオ・カード１６８およびグラフィック・コントローラ１３２を初期化する。媒体デバイスが初期化されると直ちに、それ自体で動作を開始することができる。オーディオ・カード１６８は、媒体記憶装置１２４／１５２／１８４からオーディオ・データを取り出して、スピーカでサウンドを生成することができる。グラフィック・コントローラ１３２は、媒体記憶装置１２４／１５２／１８４からグラフィック・データを取り出して、表示スクリーンに画像を生成することができる。追加のコマンドを媒体コマンド２５０から得て、さらなる媒体結果を生成することができる。
【００３２】
図３は、本発明の一実施形態による媒体のプレブートの処理３００を図示する流れ図である。
【００３３】
「開始」で、システムは、パワーオン・リセット・シーケンスを開始する（ブロック３１０）。次にプロセッサは、ＢＩＯＳ記憶装置にアクセスして、ＢＩＯＳをブートアップする（ブロック３２０）。プロセッサは、媒体デバイス（例えば、グラフィック・コントローラやオーディオ・カード）を、ＢＩＯＳの一環として最小構成で初期化する（ブロック３３０）。この最小構成は、グラフィック・コントローラおよび／またはオーディオ・カードが、それ自体の動作をプロセッサとは独立に開始するのに充分な情報を提供する。
【００３４】
その時点で処理３００は、２つの並列するパスに別れる。ＢＩＯＳパスはＢＩＯＳの実行に対応し、媒体パスは媒体デバイスに対応する。媒体パスは、ブロック３４０、３５０、３６０を含む。ＢＩＯＳパスは、ブロック３４５、３５５、３６５を含む。
【００３５】
ＢＩＯＳパスでは、プロセッサはＢＩＯＳのブートアップ・シーケンスの完了に向けて処理を続ける（ブロック３４５）。ＢＩＯＳの残りのタスクは、完了するまで数秒間かかるであろう。その間に、グラフィック・コントローラおよび／またはオーディオ・カードは、初期化および構成されたとおりにその機能を実行する。ＢＩＯＳのタスクが完了した後、プロセッサは、大容量記憶デバイスからシステム・メモリに、オペレーション・システムをロードする（ブロック３５５）。通常、一時にＯＳシステムの一部だけがロードされる。ＯＳがシステム・メモリにロードされた後、制御はＢＩＯＳからＯＳに引き渡されて、ＯＳが制御を開始し、それまで生成されていたものとは別のグラフィックスおよびサウンドを生成することができる（ブロック３６５）。その時点で処理３００は終了する。
【００３６】
初期化および構成された後、媒体デバイスは、グラフィック・データ、サウンド・データなどの媒体情報、ファイル参照、コマンド、プリミティブを得る（ブロック３４０）。次に媒体デバイスは、その機能の実行に入る（ブロック３５０）。グラフィック・コントローラは、グラフィック・データを取り出し、グラフィック・プリミティブを使用して表示モニタに画像を表示する。グラフィック・データは、適切な記憶装置に記憶された広告またはバナーに対応してもよい。アニメーションもまた、フレームのシーケンスを使用して実行することができる。オーディオ・カードは、オーディオ記憶装置から取り出されたサウンド・データを再生することで、サウンドを生成する。
【００３７】
次に処理３００は、オペレーティング・システムがシステムの制御を引き継いだか判断する（ブロック３６０）。そうなっていない場合、処理３００はブロック３５０に戻って、媒体動作を継続する。それ以外の場合は、処理３００は終了する。
【００３８】
本発明の一態様は、簡単で、エレガントで、柔軟な方式で、システムＢＩＯＳに機能を与える方法および装置である。ＰＣシステム製造業者やマザーボード製造業者などの様々な関係者が、システムＢＩＯＳコードへの影響を最小限に抑えながら、追加のシステムＢＩＯＳ機能を与えることができるインターフェース・モジュールが提供される。この方法は、インターフェース・モジュールをシステムＢＩＯＳにインターフェースすること、およびタスクを実行する要求をシステムＢＩＯＳから受けることを含んでいる。タスクと関連したシステム・デバイス情報はシステムＢＩＯＳから受け取る。インターフェース・モジュールは、システム・デバイス情報を翻訳して、翻訳済み情報を提供する。次にこの翻訳済み情報は対応するモジュールに転送される。
【００３９】
本発明の別の態様は、システム・デバイスのパフォーマンスをオンザフライで測定し、その結果をグラフィック・ディスプレイで表すためのシステムおよび方法を含む。一実施形態では、測定された情報は、対応するグラフィック・オブジェクトと関連付けれられ、見るために表示される。
【００４０】
インターフェース・モジュールの実装は、媒体出力を生成する技法、ならびにシステム・デバイスのパフォーマンスをオンザフライで測定し、その結果をグラフィック・ディスプレイで表す技法とは、独立してもよいことに注意されたい。
【００４１】
図４Ａは、本発明の原理による情報表示スクリーン４００の一実施形態を図示している。表示スクリーン４００は、６つのゾーンからなる例示的な表示を示している。第１ゾーン４１０、第２ゾーン４２０、第３ゾーン４３０、第４ゾーン４４０、第５ゾーン４５０、第６ゾーン４６０である。４１０、４２０、４３０、４４０、４５０、４６０の各ゾーンは、さらにサブゾーンを含むことができる。例えば、第１ゾーン４１０は、サブゾーン４１２、４１４、４１６を含み、第２ゾーン４２０は、サブゾーン４２２および４２４を含み、第３ゾーンは、サブゾーン４３２、４３４、４３６を含み、第４ゾーンは、サブゾーン４４２および４４４を含み、第６ゾーンは、サブゾーン４６２および４６４を含む。各サブゾーンはさらに、１つまたは複数のフィールドを含んでもよい。例えば、サブゾーン４１６は、フィールド４１６ａおよび４１６ｂを含み、サブゾーン４６４は、フィールド４６４ａ、４６４ｂ、４６４ｃを含む。
【００４２】
これらのゾーンを生成するために使用されるテンプレートは、各ゾーンの四隅の座標を指定するボックス・コマンドを使用する一連のコマンドを含む。さらに、対応するビットマップおよびテキスト・ファイルは、各ゾーンごとに使用するために参照される。例えば、ゾーン４１０、４２０、４３０、４４０、４５０、４６０の各ゾーンは、対応して参照されているテキスト・ファイル、ロゴ・ファイル、またはビットマップ・ファイルに記憶されているビットマップ・ファイルまたはテキスト・ファイルを使ってレンダリングされる。こうした技法の一実施形態は、「ＢＩＯＳブートアップの間に媒体出力を生成する」という表題で、１９９９年６月１８日出願された同時係属の米国特許出願第０９／３３６，５０９号、および「ＢＩＯＳブートアップの間に媒体出力を生成する」という表題で、１９９９年１２月１０日出願された、同時係属の米国特許一部継続出願に詳細にわたって記載され、この両方とも参照によって本明細書に組み入れられている。
【００４３】
図４Ｂに示される一実施形態では、ゾーン４１０、４２０、および４６０がシステム・デバイスのキャパシティおよび／またはパフォーマンスに関する情報を表示するのに使用できる。例えば、第１ゾーン４１０は、サブゾーン４１２に、この場合は「プロセッサ」であるシステム・デバイスを識別するテキストを表示するのに使用できる。同様に、第２ゾーン４２０および第６ゾーン４６０は、サブゾーン４２２および４６０それぞれに、対応するシステム・デバイス「ＲＡＭ」および「ハード・ドライブ」を識別するテキストを表示するのに使用できる。第１ゾーン４１０では、対応するロゴがサブゾーン４１４で表示されている。さらに、システム・デバイスの２つのパラメータを反映するテキストが、サブゾーン４１６のフィールド４１６ａおよび４１６ｂで表示され得る。例えば、フィールド４１６ａは、第１セットの基準を使用して決定されたプロセッサの動作速度を表示することができ、フィールド４１６ｂは、第２セットの基準を使用して決定されたプロセッサの動作速度を表示することができる。第１セットの基準は、ベンダ（例えば、実動システムＢＩＯＳを生産する会社）によって、第２セットの基準は、製造業者（例えば、プロセッサの製造業者）によって決定されてもよい。
【００４４】
第２ゾーン４２０では、サブゾーン４２２で識別されるシステム・デバイスのキャパシティを含むテキスト・ファイルをサブゾーン４２４で表示することができる。同様に、ハード・ドライブのリスト、およびそれらに対応するキャパシティまたはタイプをフィールド４６４ａ、４６４ｂ、４６４ｃで識別させることができる。他の機能、ロゴ、または画像が、同様に第３ゾーン４３０、第４ゾーン４４０、および第５ゾーン４５０で表示され得る。
【００４５】
図５Ａは、本発明の原理によって実現されたソフトウェア・モジュールの、システム・アーキテクチャ５００の一実施形態を示す図である。アーキテクチャ５００は、インターフェース・モジュール５１０が配置される記憶装置Ａ、ならびに１つまたは複数のテンプレート５２２、１つまたは複数のグラフィック・オブジェクト５２４、１つまたは複数のサウンド・オブジェクト５２６、および１つまたは複数のテキスト・オブジェクト５２８が記憶される記憶装置Ｂ５２０を含む。一実施形態では、記憶装置Ａおよび記憶装置Ｂは、図１に示されているとおり、システム・メモリ１２４、システム・ファームウェア１７６、および／またはメモリ・モジュール１９０として実現することができる。別の実施形態では、記憶装置Ａおよび記憶装置Ｂは、一体化したユニットである。別法では、記憶装置Ａおよび記憶装置Ｂは、別々の記憶ユニットである。
【００４６】
記憶装置１２４／１７６／１９０（図１）は、ランダム・アクセス・メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、消去可能ＲＯＭ（ＥＲＯＭ）、フラッシュ・メモリなどのどの記憶媒体であってもよい。１つの好ましい実施形態では、記憶装置はフラッシュ・メモリである。テンプレート５２２、グラフィック・オブジェクト５２４、サウンド・オブジェクト５２６、およびテキスト・オブジェクト５２８は、同一の物理的記憶媒体に、または適宜組み合わされた個別の記憶媒体に記憶することができる。テンプレート５２２、グラフィック・オブジェクト５２４、サウンド・オブジェクト５２６、およびテキスト・オブジェクト５２８は、更新することができる。
【００４７】
インターフェース・モジュール５１０は、多様な機能を実行するフック・ディスパッチャ５１２を含む。一実施形態では、フック・ディスパッチャ５１２は、（ｉ）ＢＩＯＳから媒体情報および／またはシステム・デバイス情報を得る（別法では、フック・ディスパッチャ５１２は、インターフェース・モジュール５１０自体から媒体情報および／またはシステム・デバイス情報を得る）；（ii）属性生成器５３０を初期化する；（iii）オブジェクト管理を提供する；（iv）メモリ管理を含むが、それには限定されない他のサービスを提供し、暗号化／暗号化解除、および圧縮解除を提供する。
【００４８】
プロセッサから得られた情報の例は、第１セットの基準を使用して測定されたプロセッサの動作速度および第２セットの基準を使用して測定されたプロセッサの動作速度を含み得る。第１セットの基準は、オンザフライでシステムＢＩＯＳによって測定されたプロセッサの動作速度を含み得る。第１セットの基準は、実動システムＢＩＯＳを生産する会社など、所定の関係者によって提供、規定、または決定されたコードで測定されたものであってよい。例えば、第１セットの基準は、システムＢＩＯＳにインストールされたコードとして実現することができる。そうしたコードの一例は、ＡｗａｒｄＢＩＯＳ４．５１、ＡｗａｒｄＢＩＯＳ６．０および／またはＰｈｏｅｎｉｘＢＩＯＳ４．０  Ｒｅｌｅａｓｅ６を含み、これらはそれぞれ米国カリフォルニア州サンノゼ市のＰｈｏｅｎｉｘ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，Ｉｎｃ．によって市販されている。第２セットの基準は、例えば、プロセッサの製造業者など、第２の所定の関係者によって提供、規定、または決定された試験／コードを含むことができる。
【００４９】
プロセッサの動作速度の測定は、１セットの命令の所定のシーケンスを持つ１つまたは複数のベンチマーク・プログラムによって実行することができる。ベンチマーク・プログラムの実行の前と後で、リアルタイムのタイミング値を得ることができる。ベンチマーク・プログラムが実行されている間の時間間隔を、既知のプロセッサ速度からの結果と比較することができる。この比較から、プロセッサのクロック周波数という形で表されたプロセッサの相対速度および／または絶対速度を決定することができる。
【００５０】
メモリに関して得られた情報は、使用可能な、またはインストールされたメモリのタイプおよび容量を含み得る。さらに、ＩＤＥに関する情報は、ハード・ディスク・ドライブ、ＣＤ−ＲＯＭドライブ、ＬＳ１２０ドライブ、ＺＩＰドライブ、ＤＶＤドライブなどに関するものを含み得る。
【００５１】
システムＢＩＯＳ機能のタスクまたはパフォーマンス（例えば、プロセッサのグラフィックス画像の表示）が必要となった、または要求されたとき、システムＢＩＯＳから要求が発信される。この要求は、媒体情報および／またはシステム・デバイス情報を含み、通常、システムＢＩＯＳから生の数値という形式で提供される。この生の数値は、複数の情報トランスレータ５１４の１つによって、属性生成器５３０のような、別のソフトウェア・モジュールで読取り可能なフォーマットに変換される。特に、情報トランスレータ５１４は、生の数値を受け取って、対応する翻訳済み情報を含むストリングにそれを翻訳する。例えば、プロセッサの動作速度が要求された場合、プロセッサのタイプ（例えば、ＡＭＤ  Ａｔｈｌｏｎ、Ｉｎｔｅｌ  Ｐｅｎｔｉｕｍ、Ｉｎｔｅｌ  Ｃｅｌｅｒｏｎ等）など、プロセッサの識別が、プロセッサのマップ・テーブル（図５Ｂ参照）への参照によって提供される。この識別は、情報トランスレータによってオブジェクト名に翻訳されるキーワードを含む（図５Ｂ）。次にこのオブジェクト名は、属性生成器５３０に提供される。オブジェクト名を受け取ると、属性生成器５３０は、オブジェクト管理要求を発信することによって、１つまたは複数のテンプレート５２２の辞書分析を実行する。オブジェクト管理要求は、インターフェース・モジュール５１０を介して、１つまたは複数のテンプレート５２２にディスパッチされる。また、属性生成器５３０は対応するグラフィック属性を生成し、このそれぞれは、表示スクリーンに表示される画像を生成するためにグラフィック・オブジェクト上で操作されるいくつかの識別子および／または画像グラフィック・プリミティブを含む。結果として生じる画像は、ここでサブゾーン４１６のフィールド４１６ａおよび４１６ｂでテキストが表示されるとともに、サブゾーン４１４に表示される。
【００５２】
図６は、本発明の原理によって情報を表示する処理６００の、一実施形態を図示する流れ図である。開始の状態から始まり、処理６００は、処理ブロック６０２に示されているとおり、最初に電源入力自己診断（ＰＯＳＴ）を行う。ＰＯＳＴは、タスク１からタスク（Ｍ−１）までの複数のタスクを含み得る。処理６００は次に、インターフェース・モジュール５１０（図５Ａ参照）を初期化して、インターフェース・モジュール５１０をシステム・メモリにロードする。次に、この処理は、処理ブロック６０６に示される、システム内に配置されているオーディオ・デバイスを検出して初期化する。次にビデオ・エンジンが検出され、初期化される（処理ブロック６０８）。
【００５３】
次に処理６００が、処理ブロック６１０に示されるとおり、背景のグラフィックス、画像および／またはテキストを表示するように、インターフェース・モジュール５１０（図５Ａ）にコマンドを発信する。処理６００は次に、プロセッサ識別および動作速度の検出の動作に入る。一実施形態では、２つのタイプの動作速度が用意されている。第１番目は、プロセッサの製造業者によって決定される動作速度である。一実施形態では、そうした製造業者によって決定された動作速度は、その製造業者によって与えられた固定数値（特定のプロセッサ・レジスタを読み取ることで得られた）、またはその製造業者が供給したソフトウェアによって決定された数値などである。後者の数値は、製造業者によって提供された１つまたは複数のソフトウェア・アルゴリズムを実行することによって得ることができる。アルゴリズムのソース・コードは、システムＢＩＯＳに常駐することができる。別法では、ソース・コードは、別の方式で記憶させることができる（例えば、ファームウェアとして、または別の記憶媒体で提供される）。第２番目は、オンザフライで決定される動作速度である。こうした動作速度は、基準の所定のセットを使用するソフトウェアによって決定される。こうしたソフトウェアの例は、ＡｗａｒｄＢＩＯＳ４．５１、ＡｗａｒｄＢＩＯＳ６．０および／またはＰｈｏｅｎｉｘＢＩＯＳ４．０  Ｒｅｌｅａｓｅ６を含み、これらはそれぞれ米国カリフォルニア州サンノゼ市のＰｈｏｅｎｉｘ  Ｔｅｃｈｎｏｌｏｇｉｅｓ，Ｉｎｃ．によって市販されている。
【００５４】
プロセッサの識別およびスピードが決定されると、処理ブロック６１４に示されるとおり、それらはインターフェース・モジュールに転送される。次に処理６００は、システム・メモリのサイズを決定し、試験を行う処理ブロック６１６に進む。処理６００は次に、処理ブロック６１８に示されるとおり、システム・メモリ情報をインターフェース・モジュール５１０に渡す。
【００５５】
次にこの処理は、処理ブロック６２０に示されるとおり、システムの大容量記憶デバイスを検出する。この情報は、インターフェース・モジュールに渡される（処理ブロック６２４）。処理６００は次に、タスクＭなど、他のＰＯＳＴのタスクを行う（処理ブロック６２６）。ＰＯＳＴが完了すると、処理６００は、オペレーティング・システムをブートする（処理ブロック６２８）。
【００５６】
処理ブロック６０４、６０６、６０８、６１０、６１２、６１４、６１６、６１８、６２６、および６２４に記載のタスクは、シーケンスで、または連続して実行される必要はないことに注意されたい。例えば、ＰＯＳＴタスク７の後に、タスクの１つを実行することができ、ＰＯＳＴタスク２０の後に別のタスクを実行することができる。一実施形態では、処理ブロック６０４、６０６、６０８、６１０、６１２、６１４、６１６、６１８、６２６、および６２４に記載のタスクは、所定の順序で、連続に、またはそれ以外の方式で実行することができる。代替の実施形態では、タスクは、ソフトウェア開発会社が決定した方式で実行することができる。
【００５７】
図７は、本発明の原理によって、機能ディスパッチャ処理７００の一実施形態を図示する流れ図である。処理７００は、対応する機能を実行するよう要求があると、インターフェース・モジュール５１０のフック・ディスパッチャ５１２（図５Ａ）によって実行される。機能ディスパッチャ処理７００は、処理６１０、６１４、６１８および／または６２４（図６）のうちの１つとして（しかし、それに限定されず）実施することができる。機能を実行する要求を受け取ると、処理ブロック７０２に示されるとおり、処理７００は最初に、機能番号の妥当性検査を行う。機能番号が無効である場合（判断ブロック７０４で決定されるとおり）、処理７００は、エラー・フラグがセットされる処理ブロック７１２に進む。処理７００は、ここで終了する。機能番号が有効であると判断された場合、判断ブロック７０４で示されるとおり、処理７００は、それに対応するハンドラのアドレスに、その機能番号を変換する（処理ブロック７０６）。次に媒体／システム・デバイス情報を持つハンドラが呼び出される（処理ブロック７０８）。この処理はここで、エラーが存在するか判断する（判断ブロック７１０）。エラーがなければ、エラー・フラグが消去され（処理ブロック７１４）、処理７００は終了する。
【００５８】
図８は、本発明の原理による情報ハンドラ処理８００の一実施形態を図示する流れ図である。開始の状態から始まり、処理８００は、媒体／システム・デバイスの識別を得ることに取りかかる（処理ブロック８０２）。処理８００は次に、プロセッサの場合には動作速度、メモリ・デバイスの場合にはメモリ・サイズなどの、関連するデバイス情報を得る。次に処理８００は、対応するグラフィック・オブジェクトを得るべきか判断する。否であれば、この処理は、デバイス情報を表示して終了する処理ブロック８１８に進む。それ以外の場合は、対応するグラフィック・オブジェクト名を得る（処理ブロック８０８）。処理８００は次に、属性生成器のために対応するデータ・パケットを作成する処理ブロック８１０に進む。次にデータ・パケットを使用して属性生成器を呼び出す（処理ブロック８１２）。属性生成器は、呼び出されると直ちに画像生成器に対応する画像を表示するようにコマンドを発信する（処理ブロック８１４）。それ以前に得ているデバイス情報が表示され、画像生成器が対応するグラフィックスを表示する（処理ブロック８１６）。この時点で処理８００は終了する。
【００５９】
図９は、本発明の原理によって提供される、プロセッサ情報および画像ハンドラ処理９００の一実施形態を図示する流れ図である。開始の状態から始まり、処理９００は、ファームウェアからプロセッサのベンダ識別コードを得る（処理ブロック９０２）。次に、プロセッサの動作速度を得る（処理ブロック９０４）。一実施形態では、これは、製造業者決定の動作速度およびオンザフライで測定された動作速度を含む。次にプロセッサ・マッピング・テーブルから、対応するプロセッサのためのグラフィック・オブジェクト名を得る（処理ブロック９０６）。処理９００は次に、属性生成器のための対応するデータ・パケットを作成する（処理ブロック９０８）。属性生成器がデータ・パケットで呼び出され（処理ブロック９１０）、これが、画像生成器を呼び出す（処理ブロック９１２）。プロセッサ情報（製造業者決定のものとオンザフライで測定のものの両方）が、それに対応する画像とともに表示される。この時点で処理９００は終了する。
【００６０】
したがって、本発明は簡単で、エレガントで、柔軟な方式でシステムＢＩＯＳに機能を与える方法および装置である。ＰＣシステム製造業者やマザーボード製造業者などの様々な関係者が、システムＢＩＯＳコードへの影響を最小限に抑えながら、さらなるシステムＢＩＯＳ機能を与えることを可能にするインターフェース・モジュールが提供される。この方法は、インターフェース・モジュールをシステムＢＩＯＳにインターフェースし、およびタスクを実行するようシステムＢＩＯＳから要求を受け取る。タスクに関連するシステム・デバイス情報は、システムＢＩＯＳから受け取る。インターフェース・モジュールは、システム・デバイス情報を翻訳して翻訳済み情報を提供する。次に、翻訳済み情報は、対応するモジュールに転送される。
【００６１】
本発明はまた、媒体出力を生成する効率的な技法を提供する。この媒体出力は、オンザフライで生成されたシステム・デバイス情報を含み、またそうした情報を簡単かつ効率的に表示する。この技法は、テンプレートからグラフィック・オブジェクトを特徴付けるグラフィック属性を生成する。次にこのグラフィック属性を使用してグラフィック・オブジェクトから画像が生成される。別の実施形態では、ＢＩＯＳブートアップの初期の間に、グラフィック・コントローラやオーディオ・カードなどの媒体デバイスが初期化される。次に通常のＢＩＯＳタスクが実行されている間に、媒体動作が実行される。
【００６２】
本発明を例示的な実施形態に関して説明してきたが、この説明は、限定する意味で解釈されることを意図するものではない。本発明が属する技術分野の専門家には明らかである、本発明の例示的な実施形態の様々な変更、ならびにその他の実施形態は、本発明の趣旨および範囲のうちにあるものと考えられる。
【図面の簡単な説明】
【図１】本発明の実施形態を実現する模範的なプロセッサ・システムまたはユーザ・コンピュータ・システムを図示する図である。
【図２】本発明の原理による情報表示スクリーンの一実施形態を図示する図である。
【図３】本発明の原理によって情報を表示する処理の一実施形態を図示する流れ図である。
【図４Ａ】本発明の別の態様による情報表示スクリーンの一実施形態を図示する図である。
【図４Ｂ】本発明の別の態様による情報表示スクリーンの２番目の実施形態を図示する図である。
【図５Ａ】本発明の原理によって実現されるソフトウェア・モジュールのシステム・アーキテクチャの一実施形態を示す図である。
【図５Ｂ】プロセッサ・マッピング・テーブルの一実施形態を図示するチャートである。
【図６】本発明の原理によって情報を表示する処理の一実施形態を図示する流れ図である。
【図７】本発明の原理によって提供される機能ディスパッチャ処理の一実施形態を図示する流れ図である。
【図８】本発明の原理によって提供される情報ハンドラ処理の一実施形態を図示する流れ図である。
【図９】本発明の原理によって提供されるプロセッサ情報および画像ハンドラ処理の一実施形態を図示する流れ図である。
【符号の説明】
１１２  バス・コントローラ
１１６  メモリ・コントローラ
１２４  システム・メモリ
１３２  ビデオ・コントローラ
１３６  ビデオ・メモリ
１４０  ビデオＢＩＯＳ
１４８  表示スクリーン
１５２  大容量記憶デバイス
１５６  通信インターフェース・デバイス
１６４  ネットワーク
１６８1〜１６８N  Ｉ／Ｏデバイス
１８４  フラッシュ・メモリ
１８８  増設メモリ
１９４  フラッシュ・メモリ
【図１】
0004842432.tif 000002
【図２】
0004842432.tif 000003
【図３】
0004842432.tif 000004
【図４Ａ】
0004842432.tif 000005
【図４Ｂ】
0004842432.tif 000006
【図５Ａ】
0004842432.tif 000007
【図５Ｂ】
0004842432.tif 000008
【図６】
0004842432.tif 000009
【図７】
0004842432.tif 000010
【図８】
0004842432.tif 000011
【図９】
0004842432.tif 000012