(57)【要約】  幾つかの例が、コンピューティングシステム内のデバイスを構成（設定）する方法、システム、及びコンピュータ可読媒体を開示している。これらの例は、待機電力がデバイスに印加されたとき、構成データを処理する。加えて、これらの例は、構成データに基づいてデバイスを構成し、このデバイスは、コンピューティングシステムの初期化の前に構成される。【選択図】図５
2016535328.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングシステムであって、
待機電力をデバイスに送信する電源回路と、
構成データを保持する、前記デバイスに関連付けられたメモリと、
前記デバイスと、
を備え、
前記デバイスは、
前記待機電力を受信すると、前記メモリからの前記構成データを処理することと、
前記構成データに基づいて該デバイス自身を構成することと、
を行い、前記デバイスは、前記コンピューティングシステムの初期化の前に構成される、コンピューティングシステム。
【請求項２】
前記構成データに対応する値をプログラミングする前記デバイスの内部のレジスタを更に備え、前記値は、前記レジスタに関連付けられたハードウェアコンポーネントの機能を示す、請求項１に記載のコンピューティングシステム。
【請求項３】
前記コンピューティングシステムを初期化するために、前記電源回路は、主電力を前記デバイスに更に送信する、請求項１に記載のコンピューティングシステム。
【請求項４】
前記構成データを通じて熱回路を構成するレジスタを更に備え、該熱回路は、前記コンピューティングシステムの初期化の前に構成される、請求項１に記載のコンピューティングシステム。
【請求項５】
前記構成データに対応する値を用いてプログラミングされる前記デバイスの内部のレジスタに基づいて動作するハードウェアコンポーネントを更に備える、請求項１に記載のコンピューティングシステム。
【請求項６】
コンピューティングシステムのプロセッサによって実行可能な命令が符号化された非一時的機械可読記憶媒体であって、
待機電力を前記コンピューティングシステム内のデバイスに印加する命令と、
前記デバイスの構成データを処理する命令と、
前記構成データに基づいて前記デバイスを構成する命令と、
を含み、前記デバイスは、前記コンピューティングシステムの初期化の前に構成される、非一時的機械可読記憶媒体。
【請求項７】
請求項６に記載の命令を含み、
前記構成データに基づいて前記デバイスを構成するために、前記媒体は、さらに、
前記構成データに対応する値を用いて前記デバイスの内部のレジスタをプログラミングする命令を含み、前記値は、前記レジスタに対応するハードウェアの機能を示す、非一時的機械可読記憶媒体。
【請求項８】
請求項７に記載の命令を含み、
前記レジスタは、ピン、熱管理、及び冷却ファンのうちの少なくとも１つを構成するようにプログラミングされる、非一時的機械可読記憶媒体。
【請求項９】
請求項６に記載の命令を含み、さらに、
主電力を前記コンピューティングシステムに印加する命令と、
前記コンピューティングシステムを初期化する命令と、
を含む、非一時的機械可読記憶媒体。
【請求項１０】
請求項６に記載の命令を含み、
前記構成データに基づいて前記デバイスを構成するために、前記媒体は、さらに、
データ構造体から値を取得する命令と、
前記値を用いて前記デバイスの内部のレジスタをプログラミングする命令と、
前記レジスタにプログラミングされた前記値に基づいて前記デバイス上のピンを構成する命令と、
を含む、非一時的機械可読記憶媒体。
【請求項１１】
コンピューティングシステム内のデバイスを構成する方法であって、
待機電力が前記デバイスに印加されたとき、該デバイスの構成データを処理するステップと、
前記構成データに基づいて前記デバイスを構成するステップと、
を含み、前記デバイスは、前記コンピューティングシステムの初期化の前に構成される、方法。
【請求項１２】
前記コンピューティングシステムの初期化のために主電力をメイン処理ユニットに印加するステップを更に含む、請求項１１に記載の方法。
【請求項１３】
前記構成データを処理するステップは、
前記構成データに対応する値をテーブルから取得するステップと、
前記値を用いて前記デバイスの内部のレジスタをプログラミングするステップと、
を更に含み、前記値は、前記レジスタに関連付けられたハードウェアの機能を示す、請求項１１に記載の方法。
【請求項１４】
前記コンピューティングシステムを交流（ＡＣ）電源にプラグ接続して、前記待機電力を前記デバイスに印加するステップを更に含む、請求項１１に記載の方法。
【請求項１５】
前記デバイスを構成するステップは、前記構成データに対応する値を用いて前記デバイスの内部のレジスタをプログラミングするステップを更に含み、前記レジスタは、前記デバイスに関連付けられたハードウェアコンポーネントを設定する、請求項１１に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューティングシステムが初期化されるとき、そのコンピューティングシステムは様々な電気デバイスを構成（設定）する場合がある。電気デバイスのこれらの構成は、コンピューティングシステムの動作に影響を与える回路、コーディング、及びハードウェア機能に関係する場合がある。
【０００２】
添付図面において、同様の参照符号は、同様のコンポーネント又はブロックを示す。以下の詳細な説明は、これらの図面について言及している。
【図面の簡単な説明】
【０００３】
【図１】待機電力をデバイスに送電する電源回路を備える一例示のコンピューティングシステムのブロック図であり、このデバイスは、メモリからの構成データを処理し、この構成データに基づいてデバイス自体を構成する。
【図２Ａ】電源回路により交流（ＡＣ）電力を受信する一例示のコンピューティングシステムの図であり、この電源回路は、デバイスに、主電力を送電する前に該デバイスを構成する待機電力を送電する。
【図２Ｂ】デバイスの内部のレジスタ用の構成データを含む一例示のデータ構造体の図であり、このデータ構造体は、レジスタの機能と、関連付けられたハードウェアと、対応するレジスタをプログラミングする値と、を含む。
【図３】構成データを処理し、コンピューティングシステムの初期化前にこの構成データに基づいてデバイスを構成する一例示の方法のフローチャートである。
【図４】コンピューティングシステムをＡＣ電源にプラグ接続して待機電力を受信し、それに応じてデバイスを構成する一例示の方法のフローチャートである。
【図５】待機電力をデバイスに印加し、構成データを処理し、主電力をデバイスに印加する前にこの構成データに基づいてデバイスを構成する機械可読記憶媒体内の命令を実行するプロセッサを有する一例示のコンピューティングデバイスのフローチャートである。
【発明を実施するための形態】
【０００４】
コンピューティングシステムは、基本入出力システム（ＢＩＯＳ）の初期化の際にその内部コンポーネントを構成（設定）することができる。ＢＩＯＳは、コンピューティングシステム内の電気デバイスを構成することができるインタフェースを規定する標準である。構成は、コンピューティングシステムの機能及び性能に影響を与えるコーディング、ハードウェアコンポーネント、及び他のドキュメンテーションに関係する場合がある。コンピューティングシステムの内部の電子デバイスは、それらのデバイスがコンピューティングシステムの初期化（例えば、ブートアップ）時に適切な構成を有するように設計することができる。これらのデバイスは、デフォルトで正しい構成になるべきであり、さもなければ、コンピューティングシステムはブートアップしない場合がある。加えて、デバイスが不正確に構成された場合、これによって、不正確に構成された電気デバイス間に競合が発生する場合があり、コンピューティングシステムをブートアップする際にレイテンシが発生する場合があり、損傷が発生する場合もある。例えば、電気デバイスからの電気接続を有するピンは、専ら出力にのみ用いられる場合があり、このため、このピンを入力として構成すると、このピンは、機能することができないか又はコンピューティングシステムに損傷を与える場合がある。加えて、デバイスの空間は制限される場合があり、このため、追加の専用ピンを用いて異なる構成をロードすることが実現可能でない場合がある。
【０００５】
これらの問題に対処するために、本明細書に開示された一実施態様は、コンピューティングシステムの初期化の前にコンピューティングシステム内のデバイスを構成する。待機電力をデバイスに印加することによって、メモリ内の構成データを取得する信号がデバイスに与えられる。デバイスは、その後、この構成データを処理し、この構成データに基づいて自身を構成することができる。デバイスは、コンピューティングシステムの初期化の前に構成される。コンピューティングシステムの初期化の前にデバイスを構成することによって、初期化の際にデバイスを既に構成しておくことができるので、コンピューティングシステムのブートアップに関連したレイテンシが削減される。加えて、コンピューティングシステムの初期化の前にデバイスを構成することによって、コンピューティングシステムのブートアップに備えてデバイスを正しく構成しておくことが確保される。
【０００６】
別の実施態様では、デバイスの内部のレジスタが、構成データに対応する値を用いてプログラミングされる。この実施態様では、レジスタは、ハードウェアコンポーネントの状態に関係する値を記憶することができる。これによって、デバイスは、値を用いてレジスタをプログラミングすることを通じてハードウェアコンポーネントを管理することができるので、制御及び柔軟性がもたらされる。例えば、デバイスからの各ピンは、各レジスタを通じて構成することができる。異なる値を用いて各レジスタをプログラミングすることによって、各ピンは異なる機能を実行することが可能になる。さらに、これによって、デバイスは、各ピンの機能を変更することも可能になる。例えば、或るピンは入力を含むことができ、別のピンは出力を含むことができる一方、更に別のピンは入力及び出力として動作することができる。デバイスは、別の構成（設定）においては、これらのピンの機能を変更することができる。
【０００７】
更なる実施態様では、デバイスは、構成データに基づいて値を識別するデータテーブルを備えることができる。このデータテーブルに値を提供してデバイスの内部のレジスタをプログラミングすることによって、ユーザ入力を伴わない自動構成が提供される。構成データに基づいてコンピューティングシステムの初期化の前にデバイスを構成することによって、様々なデバイスにわたって構成の幾つかの変形形態が可能になる。加えて、データテーブルからの値を用いて特定のレジスタをプログラミングすることによって、デバイスは、プラットフォーム固有のインタフェースからではなくテーブルから自身を構成することができるので、それぞれ異なるコンピューティングシステムプラットフォームにおいてデバイスを用いることが可能になる。さらに、これによって、各プラットフォームがそのプラットフォームに固有のデバイスを用いるのではなく、複数のプラットフォーム上でのそのデバイスの使用が可能になる。さらに、テーブルを用いてデバイスを構成する値を識別することによって、構成データを受信するのに用いられる場合がある専用のストラッピングピンが取り除かれる。これによって、デバイスからのピンの数が削減されるので、コンピューティングシステム内の空間も節約される。
【０００８】
要約すれば、本明細書に開示された実施態様は、コンピューティングシステムを初期化することに関連したレイテンシを削減する。加えて、本明細書に開示された実施態様は、様々なコンピューティングシステム間で複数の構成のデバイスが可能になる。
【０００９】
次に図を参照する。図１は、待機電力１０６をデバイス１０８に送電する電源回路１０４を備える一例示のコンピューティングシステム１０２のブロック図である。待機電力１０６を印加することによって、デバイス１０８は、関連付けられたメモリ１１０から構成データ１１２を取得し、モジュール１１６においてデバイス１０８を構成するために、構成データをモジュール１１４において処理することができる。デバイス１０８は、コンピューティングシステム１０２の初期化の前にブートアップに備えて構成される。コンピューティングシステム１０２の初期化の前にデバイス１０８を構成することによって、初期化の際にデバイスを既に構成しておくことができるので、コンピューティングシステムを初期化することに関連したレイテンシが取り除かれる。コンピューティングシステム１０２は、有限の一組の動作を実行するようにプログラミングすることができる電気デバイスであり、したがって、デバイス１０８及び電源回路１０４に加えて中央処理ユニット（ＣＰＵ）を備えることができる電子デバイスである。コンピューティングシステム１０２の実施態様には、様々なアプリケーションを実行するとともに動作を実行することが可能なモバイルデバイス、クライアントデバイス、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップ、タブレット、ノートブック、ビデオゲームコンソール、又は他のタイプの電子デバイスが含まれる。加えて、図１は、コンピューティングシステム１０２を、電源回路１０４及びデバイス１０８を備えるものとして示しているが、これは例示の目的でなされたものであるので、実施態様はこの描写に限定されるべきではない。例えば、コンピューティングシステム１０２は、マザーボード及び中央処理ユニット（ＣＰＵ）を備えることもできる。
【００１０】
電源回路１０４は、コンピューティングシステム１０２の内部にある、待機電力１０６をデバイス１０８に印加するタイプの電力処理回路である。したがって、電源回路１０４は、交流（ＡＣ）電源等の外部電源（図示せず）に接続して待機電力１０６をデバイス１０８に印加することができる。電源回路１０４は、外部電源からの電力を受信し、受信した電力をフィルタリングし、変換し、及び／又は調整して待機電力１０６を取得することができる。１つの実施態様では、電源回路１０４は、待機電力１０６に加えて主電力もデバイス１０８に送電することができる。別の実施態様では、電源回路１０４は、ＡＣ電源に接続することができ、待機電力１０６をデバイス１０８に送信する低電圧レールと、主電力をデバイス１０８に送信する高電圧レールとを備えることができる。この実施態様では、コンピューティングシステム１０２は、オンになり（すなわち、ブートアップする）、このため、高電圧レール上でより大きな大きさの電力（例えば、主電力）を受信することができる。主電力は、コンピューティングシステム１０２をブートアップのために初期化する。コンピューティングシステム１０２の初期化は、コンピューティングシステム１０２のブートアップ又は電源オンを含むことができ、したがって、コンピューティングシステム１０２全体を構成（設定）するＣＰＵ及びオペレーティングシステムの電源オンを含むことができる。電源回路１０４の実施態様には、入力電力を受信してデバイス１０８への送電用の待機電力１０６を取得することが可能な電力管理回路、変換器、整流器、電力ストレージ、力率補正回路、回路ロジック、増幅器、又は他のタイプの電源回路１０４が含まれる。
【００１１】
待機電力１０６は、コンピューティングシステム１０２が外部電源に接続されたときに電源回路１０４によってデバイス１０８に印加される補助電力である。待機電力１０６は、コンピューティングデバイスが接続されたときに構成データ１１２を読み出すためのデバイス１０８への信号として動作する。１つの実施態様では、コンピューティングシステム１０２がオンにされる（すなわち、ブートアップされる）と、電源回路１０４は、待機電力１０６に加えて主電力をデバイス１０８に送電する。一方、コンピューティングシステム１０２が電源を切られた場合、待機電力１０６は維持されてデバイス１０８に印加される。この実施態様では、コンピューティングシステム１０２が外部電源から接続解除されたとき、待機電力１０６は除去される。待機電力１０６の実施態様には、デバイス１０８に印加することが可能な電流、電圧、及び／又は他の電荷が含まれる。
【００１２】
デバイス１０８は、コンピューティングシステム１０２内の少なくとも１つのハードウェアコンポーネント及び／又は少なくとも１つの特定の使用を管理することができる集積回路であり、したがって、コンピューティングシステム１０２において用いられるＩ／Ｏコントローラ等のコントローラを備えることができる集積回路である。デバイス１０８は、コンピューティングシステム１０２のマザーボード上のＣＰＵ（図示せず）に加えて用いられる。この実施態様では、このＣＰＵは、コンピューティングシステム１０２の全体的な動作を管理する一方、デバイス１０８は、少なくとも１つのハードウェアコンポーネントを管理することができ、及び／又はコンピューティングシステム１０２の１つの特定の使用を管理することができる。この点に関して、デバイス１０８は補助プロセッサとして動作することができる一方、ＣＰＵはメイン処理ユニットとして動作する。別の実施態様では、デバイス１０８は、このデバイス１０８によって実行可能な機械可読命令を有するファームウェアベースのデバイスを含むことができる。この実施態様では、デバイス１０８は、コンピューティングシステム１０２の一般的な機能ではなく特定の目的又は特定の使用にカスタマイズすることができるスーパＩ／Ｏ、特定用途向け集積回路（ＡＳＩＣ）等のファームウェアベースのデバイスを含む。デバイス１０８は、構成データ１１２に加えてメモリ１１０に記憶されたファームウェア（すなわち、機械可読命令）を用いて動作することができる。コンピューティングシステム１０２が外部電源に接続された（ただし、まだオンにされていない）とき、待機電力１０６が印加され、したがって、デバイス１０８はメモリ１１０から構成データ１１２を読み出すことができる。デバイス１０８は、構成データ１１２を用いて、そのピンを構成し、所望のレジスタを初期化のためにプログラミングする。コンピューティングシステム１０２がオンにされ、主電力を受信するとき、コンピューティングシステム１０２を初期化する際の構成のための基本入出力インタフェース及び他のタイプのインタフェースを用いることなく、デバイス１０８を既に構成して動作させておくことができる。図１は、デバイス１０８を、メモリ１１０及びモジュール１１４、１１６を備えるものとして示しているが、これは、実施態様を限定するものではなく例示の目的で行われたものである。例えば、デバイス１０８は、プログラマブルレジスタ及び／又はポート等も備えることができる。プログラマブルレジスタは、デバイス１０８によって構成データ１１２に対応する値を用いて書き込まれる。プログラマブルレジスタに書き込まれた値は、そのプログラマブルレジスタに対応するハードウェアコンポーネントの機能を示す。デバイス１０８の実施態様には、構成のための待機電力１０６を受信することが可能なスーパＩ／Ｏ、集積回路、ＡＳＩＣ、補助プロセッサ、補助コントローラ、組み込みシステム、チップセット、マイクロチップ、半導体、又は他のタイプの電子コンポーネントが含まれる。
【００１３】
メモリ１１０は、構成データ１１２を保持する、デバイス１０８の内部の記憶エリアである。１つの実施態様では、デバイス１０８が構成データ１１２を取り出すための待機電力１０６をメモリ１１０に通電することができる。別の実施態様では、メモリ１１０は、構成データ１１２を保持する不揮発性メモリを含む。更なる実施態様では、メモリ１１０は、デバイス１０８がレジスタをプログラミングするための構成データに対応する値を有するデータテーブルを含むことができる。メモリ１１０の実施態様には、構成データ１１２を保持することが可能な不揮発性メモリ、揮発性メモリ、フラッシュメモリ、ローカルストレージ、記憶エリア、メモリバッファ、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ、電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、読み出し専用メモリ（ＲＯＭ）、記憶ドライブ、又は他の記憶エリアが含まれる。
【００１４】
構成データ１１２は、メモリ１１０によって記憶された、デバイス１０８を構成するための一連の変数である。このように、構成データ１１２は、デバイス１０８に、それ自身をどのように構成するのかを指示する。１つの実施態様では、構成データ１１２は、コンピューティングシステム１０２内のマザーボード上におけるデバイス１０８のロケーションを規定するストラッピングデータを含むことができる。この実施態様では、コンピューティングシステム１０２は、複数のマザーボード上に複数のデバイスを備えることができ、このため、ストラッピングデータは、どのマザーボード上のどのデバイスのロケーションであるか等を識別する。加えて、ストラッピングデータは、複数の構成の中で、特定のマザーボードを有する特定のデバイスの特定の構成等を識別するのに用いることができる。ストラッピングデータを構成データ１１２として含めることによって、デバイス１０８の各タイプの構成を駆動する専用のストラッピングピンが除去されるので、デバイス１０８上のピンの数が減少し、デバイス１０８の全体的な空間が削減される。別の実施態様では、構成データ１１２は、デバイス１０８内の特定のレジスタの識別情報を含むことができる。したがって、この特定のレジスタの識別情報は、そのレジスタをプログラミングする値を特定するのに用いることができる。この実施態様は、後に示す図面において詳細に記載されている。
【００１５】
モジュール１１４において、デバイス１０８は、メモリ１１０から取り出された構成データ１１２を処理する。待機電力１０６をデバイス１０８に印加することによって、構成データ１１２をモジュール１１４において処理するために取得する信号がデバイス１０８に与えられる。モジュール１１４の１つの実施態様では、デバイス１０８は、データテーブル又はデータ構造体を利用して、構成データに対応する値を識別することができる。データテーブルからの値を用いると、デバイス１０８は、レジスタに対応するハードウェアコンポーネントを構成するようにそのレジスタをプログラミングすることができる。この実施態様は、後に示す図面において詳細に論述される。モジュール１１４の実施態様には、構成データ１１２を処理するようにデバイス１０８によって実行可能な一組の命令、プロセス、動作、ロジック、アルゴリズム、技法、論理関数、ファームウェア、及び／又はソフトウェアが含まれる。
【００１６】
モジュール１１６において、デバイス１０８は、メモリ１１０内の構成データ１１２に基づいて構成される。モジュール１１６の１つの実施態様では、デバイス１０８は、コンピューティングシステム１０２内のデバイス１０８を構成する所望のレジスタ（図示せず）に値を書き込むことができる。デバイス１０８内の所望のレジスタに値を書き込むことによって、それらの所望のレジスタに対応するハードウェアコンポーネントの構成が可能になる。デバイス１０８は、コンピューティングシステム１０２の初期化の前にモジュール１１６において構成される。コンピューティングシステム１０２の初期化は、ＣＰＵ及び／又はコンピューティングシステム１０２をブートアップすることを含むことができる。モジュール１１６の実施態様には、構成データ１１２に基づいてデバイス１０８を構成するためのデバイス１０８によって実行可能な一組の命令、プロセス、動作、ロジック、アルゴリズム、技法、論理関数、ファームウェア、及び／又はソフトウェアが含まれる。
【００１７】
図２Ａは、コンピューティングシステム１０２の初期化のための主電力２２０の送電前に、入力電力を受信し、待機電力１０６を送電してデバイス１０８を構成する一例示のコンピューティングシステム１０２の図である。デバイス１０８は、コンピューティングシステム１０２を外部電源に接続することができるとき、構成データをロードすることができる。外部電源へのコンピューティングシステム１０２の接続中に、電源回路１０４は、交流（ＡＣ）電力２１８を受信し、待機電力１０６をデバイスに供給することができる。これによって、デバイス１０８は、コンピューティングシステム１０２がオンになるか又はブートアップする前にカスタム構成をロードすることが可能になる。本出願全体を通じて、ピン及びレジスタ等のハードウェアコンポーネントを構成（設定）する例が図示及び／又は説明されているが、実施態様は限定されるべきではない。例えば、構成データは、ピン構成、ファン制御、熱保護、機能の有効／無効、内部／外部デバイスのアドレス、通信プロトコル、バス速度、通信バス幅、デバッグ情報、コンピューティングシステム能力データ、プログラマブルレジスタ値、及び信号アサートタイミング等のデバイス１０８の動作のプログラムコードを含むことができる。
【００１８】
ＡＣ電力２１８は、コンピューティングシステム１０２が外部電源（図示せず）に接続された際に電源回路１０４に提供される電荷である。電源回路１０４は、デバイス１０８に送電される電力量を制御することができる。１つの実施態様では、コンピューティングシステム１０２が、外部電源にプラグ接続（すなわち、接続）されている間、ＡＣ電力２１８は、電源回路１０４に連続して送電される。この実施態様では、コンピューティングシステム１０２がまだ初期化されていない場合又はオンにされていない場合であっても、電源回路１０４は待機電力１０６を提供する。
【００１９】
主電力２２０は、コンピューティングシステム１０２及びデバイス１０８に印加され、コンピューティングシステム１０２の全体的な機能が初期化される。１つの実施態様では、電力２２０は、中央処理ユニット（ＣＰＵ）に提供され、コンピューティングシステム１０２の全体的な機能を得るためにオペレーティングシステムが初期化される。この実施態様では、ユーザが、電源回路１０４の電力状態を開始して主電力２２０を送電することによって、コンピューティングシステム１０２をブートアップすることができる。主電力２２０の実施態様には、コンピューティングシステム１０２を初期化することが可能な電流、電圧、及び／又は他の電荷が含まれる。
【００２０】
レジスタ２２２は、デバイス１０８が情報ビットの読み出し又は書き込みを行うことができるような方法でこの情報ビット（すなわち、値）を記憶する。情報ビットは、コンピューティングシステム１０２の内部のハードウェアコンポーネントの状態を表す。この実施態様では、デバイス１０８は、コンピューティングシステム１０２の内部のハードウェアコンポーネント（図示せず）のうちの少なくとも１つを管理する。この点に関して、レジスタ２２２は、ハードウェア機能についての情報のプレースホルダである。値２２４は、レジスタ２２２に関連付けられたハードウェアコンポーネントの機能を示す。別の実施態様では、レジスタ２２２は、構成データを通じて熱回路を構成する。この実施態様では、熱回路は、コンピューティングシステム１０２の初期化の前に構成される。コンピューティングシステム１０２を初期化する前に、熱センサ及び／又は冷却ファンを含むことができる熱回路を構成することによって、コンピューティングシステム１０２のブートアップの前の損傷又は他のタイプの熱問題を防止することができる。
【００２１】
値２２４は、デバイス１０８によってレジスタ２２２内にプログラミングされた情報ビットである。構成データを用いると、図２Ｂにおけるデータテーブル又はデータ構造体を用いて値２２４を識別することができる。データテーブルから値２２４を識別することによって、デバイス１０８は、値２２４をレジスタ２２２にプログラミングし、及び／又は書き込むことが可能になる。図２Ｂにおける各値は、ハードウェアコンポーネントの中の様々な機能を表すことができる。
【００２２】
図２Ｂは、対応する値を識別する構成データを含む一例示のデータ構造体２１２の図である。待機電力をデバイスに印加すると、デバイスは、メモリから構成データを取得することができる。デバイスは、この構成データを処理して対応する値、機能、及び／又はハードウェアを識別することができる。デバイスは、この対応する値、機能、及び／又はハードウェアを用いてハードウェア機能用のレジスタをプログラミングする。デバイスは、コンピューティングシステムの初期化の前に構成のためのレジスタをプログラミングする。１つの実施態様では、このデータ構造体は、特定のレジスタを所与とした対応する値、機能、及び／又はハードウェアを特定するデータを有するテーブルを含むことができる。この実施態様では、構成データは、その特定のレジスタの識別情報を含み、したがって、デバイスは、構成のための対応する機能、ハードウェア、及び／又は値を識別することができる。例えば、デバイスのメモリに記憶された構成データは、レジスタ（ＲＥＧ１、ＲＥＧ２、ＲＥＧ３）のうちの１つを識別することができ、このため、デバイスは、この構成データを処理して対応する値（０Ｘ０２、０Ｘ００、０Ｘ０１）を特定することができる。
【００２３】
対応する値（０Ｘ０２、０Ｘ００、０Ｘ０１）のそれぞれは、ハードウェアコンポーネント（ＰＩＮ（ピン）、ＴＨＥＲＭＡＬ（熱）、ＢＵＳ  ＷＩＤＴＨ（バス幅））と、ハードウェアコンポーネントが機能する態様（ＯＵＴＰＵＴ（出力）、ＭＯＮＩＴＯＲ（監視）、ＣＯＭＭ（通信））とに相関する。例えば、デバイスによって処理された構成データは、このデバイスに関連付けられたピンを構成（設定）するレジスタ１（ＲＥＧ１）を識別することができる。この例では、デバイスは、出力として動作するピンを表す対応する値（０Ｘ０２）を特定することができる。別の例では、構成データは、コンピューティングシステムの内部の熱回路を構成（設定）するレジスタ２（ＲＥＧ２）を識別することができる。デバイスは、次に、コンピューティングシステムの熱的側面を監視する熱回路を表す対応する値（０Ｘ００）を特定することができる。更なる例では、構成データは、バス幅を構成（設定）するレジスタ３（ＲＥＧ３）を識別することができる。デバイスは、次に、通信のバス幅を表す対応する値（０Ｘ０１）を特定することができる。これらの値（０Ｘ０２、０Ｘ００、０Ｘ０１）は、デバイスに対する構成のための様々な内部レジスタ内にプログラミングされる。図２Ｂは、様々なレジスタ（ＲＥＧ１、ＲＥＧ２、及びＲＥＧ３）、ハードウェア機能（ＯＵＴＰＵＴ、ＭＯＮＩＴＯＲ、ＣＯＭＭ）、ハードウェアコンポーネント（ＰＩＮ、ＴＨＥＲＭＡＬ、ＢＵＳ  ＷＩＤＴＨ）、及び対応する値（０Ｘ０２、０Ｘ００、０Ｘ０１）を有するデータ構造体を示しているが、これは、実施態様を限定するものではなく例示の目的でなされたものである。例えば、レジスタは複数のレジスタを含むことができ、対応する値はバイナリ値を含むことができ、ハードウェア機能は有効／無効、入力／出力等の追加の機能を含むことができ、ハードウェアコンポーネントはファン制御等の追加のコンポーネントを含むことができる。別の実施態様では、構成データは、デバイスの様々な構成（設定）の中の或る構成（設定）を識別するストラッピングデータを含むことができる。このストラッピングデータは、複数の構成の中でデバイスの特定の構成を識別するのに用いることができる。この実施態様では、コンピューティングシステムの内部に複数のデバイスが存在する場合があり、このため、各デバイスは異なる構成（設定）を備える場合がある。加えて、この実施態様によって、様々なコンピューティングシステム間の様々なプラットフォーム間でデバイスを用いることが可能になる。
【００２４】
図３は、コンピューティングシステムの初期化の前に、構成データを処理し、この構成データに基づいてデバイスを構成する一例示の方法のフローチャートである。デバイスは、組み込みシステム等の、メモリと、このメモリに記憶されたプログラムコードと、を備えることができるファームウェアベースのデバイスである。デバイスに含まれるファームウェアは、デバイスの制御プログラムを提供する機械可読命令であり、したがって、デバイスに関連付けられた不揮発性メモリに記憶及び／又は保持することができる。構成データは、デバイスの構成（設定）を指示する情報を含む。構成データは、デバイスに関連付けられたメモリに存在することができ、したがって、待機電力がデバイスに印加されたとき、この構成データを取得することができる。１つの実施態様では、構成データは、データ構造体内の値に対応することができる識別データを含むことができる。この実施態様では、デバイスは、構成データを用いてデータ構造体から値を取得し、この値をデバイスに関連付けられたレジスタ内にプログラミングすることができる。レジスタは、このレジスタに関連付けられたハードウェアコンポーネントをどのように用いるのかをデバイスに指示するようにプログラミングすることができる情報を含むことができる。例えば、レジスタは、デバイス上のピンに関連付けることができ、したがって、レジスタ内にプログラミングされた値は、入力、出力等を含むことができる。レジスタの実施態様は、電子レジスタ、ハードウェアレジスタ、及び／又はプロセッサレジスタを含むことができる。別の実施態様では、構成データは、デバイスとともに用いられる構成のタイプを識別するストラッピングデータを含むことができる。更なる実施態様では、構成データは、デバイスがどのように動作するのかの機能を含むことができる。コンピューティングシステムの初期化の前にデバイスを構成することによって、デバイスは、コンピューティングシステムをブートアップする構成データをロードすることが可能になる。これによって、デバイスは、コンピューティングシステムの電源オンの前にカスタム構成をロードすることが可能になる。加えて、これによって、コンピューティングシステムのブートアップにおけるレイテンシを減少させることができる。図３の論述では、文脈上の例を提供するために図１〜図２Ｂにおけるコンポーネントが参照される場合がある。さらに、図３は、図１におけるデバイス１０８によって実施されるものとして説明されているが、他の適したコンポーネントにおいても実行することができる。例えば、図３は、図５における機械可読記憶媒体５０４等の機械可読記憶媒体上の実行可能命令の形態で実施することができる。別の例では、図３は、デバイス１０８の機能及び構成（設定）を管理するコンピューティングシステムに関連付けられたプロセッサによって実施することができる。
【００２５】
待機電力が印加されたとき、動作３０２において、デバイスは、このデバイスに関連付けられたメモリから取得された構成データを処理することができる。この動作において、デバイスは交流（ＡＣ）電源にプラグ接続することができるが、主電力はまだ印加されていない場合がある。この実施態様では、コンピューティングシステムは、壁コンセントにプラグ接続されてＡＣ電流を受信することができ、その結果、ＡＣ電流がコンピューティングシステム内のデバイスに印加される。主電力は、コンピューティングシステムがオンにされたときに受信することができる。この実施態様では、待機電力の電流の大きさは、コンピューティングデバイスに印加される主電力よりも小さい。このように、デバイスは、主電力を用いてコンピューティングシステムを初期化する前に、待機電力から構成することができる。待機電力は、デバイスがこのデバイスのフラッシュメモリから構成データを読み出すことができるタイプの補助電力である。この構成データは、所望のレジスタを初期化のためにプログラミングすることによってコンピューティングシステムの内部のハードウェアを構成するのに用いられる。このため、主電力が印加され、コンピューティングシステムが初期化されるとき、基本入出力システム（ＢＩＯＳ）も他のタイプの構成インタフェースも用いることなく、デバイスを既に適切に構成して動作させておくことができる。
【００２６】
動作３０２の別の実施態様では、デバイスは、構成データを用いて、デバイスの内部のレジスタをプログラミングする。レジスタは、このデバイスに関連付けられたコンピューティングシステム内のハードウェアコンポーネントを構成（設定）する。例えば、レジスタは、ファン、熱監視、ピン構成、熱保護等の機能を含むことができる。この実施態様では、レジスタ内にプログラミングされる値は、ハードウェアコンポーネントの機能に対応する。例えば、ハードウェアコンポーネントは、デバイス上のピン構成を含むことができ、このため、レジスタ内にプログラミングされる値は、特定のピンが入力、出力、シリアルポート、パラレルポート等として機能することができるか否かを示すことができる。動作３０２の更なる実施態様では、デバイスは、データテーブルに従って構成データを処理することができる。構成データは、プログラミングする特定のレジスタを識別することができ、このため、デバイスは、このテーブルを用いて、この特定のレジスタをプログラミングするそのレジスタに対応する値を特定する。レジスタ内にプログラミングされる値は、デバイスに関連付けられたハードウェアコンポーネントの機能を規定する。
【００２７】
動作３０４において、デバイスは、動作３０２において処理された構成データに基づいて構成される。デバイスは、初期化のために主電力をコンピューティングシステムに印加する前に構成される。この実施態様では、デバイスは、コンピューティングシステムのブートアップの前に構成される。別の実施態様では、初期化のために主電力をコンピューティングシステムに印加する前に、デバイスの内部のレジスタを通じて、コンピューティングシステムの熱システムを構成することができる。これによって、初期化に由来する問題に遭遇したときに、熱システムを構成する反応時間が削減される。更なる実施態様では、動作３０４を処理すると、この方法は、次に、初期化のために主電力をコンピューティングシステムに印加することができる。
【００２８】
図４は、コンピューティングシステムを交流（ＡＣ）電源にプラグ接続して待機電力を受信し、それに応じてデバイスを構成する一例示の方法のフローチャートである。デバイスは、構成データを処理して、この構成データに対応する値を、デバイスの不揮発性メモリ内のデータテーブルから取得する。データテーブルから取得された値を用いて内部レジスタをプログラミングすることによって、この値を用いてデバイスを構成することができる。構成データは、特定の内部レジスタの識別情報を含むことができ、このため、テーブルは、特定の内部レジスタと、この特定の内部レジスタ内に書き込む対応する値と、を識別する構成データ含むことができる。加えて、デバイスの構成は、コンピューティングシステムの初期化のために主電力を印加する前に行われる。構成データに対応する値を用いて各内部レジスタをプログラミングすることによって、各ピン（すなわち、電気接続）及び／又は他のハードウェアコンポーネントの機能を制御することができ、このため、柔軟性がデバイスの複数の異なる構成（設定）にもたらされる。図４の論述では、文脈上の例を提供するために図１〜図２Ｂにおけるコンポーネントが参照される場合がある。さらに、図４は、図１におけるデバイス１０８によって実施されるものとして説明されているが、他の適したコンポーネントにおいても実行することができる。例えば、図４は、デバイス１０８の機能及び構成（設定）を管理するコンピューティングシステムに関連付けられたプロセッサによって実施することができる。別の例では、図４は、図５における機械可読記憶媒体５０４等の機械可読記憶媒体上の実行可能命令の形態で実施することができる。
【００２９】
動作４０２において、コンピューティングシステムは、ＡＣ電源にプラグ接続される。ＡＣ電源は、電荷の流れをコンピューティングシステムに提供する。ＡＣ電源は、電流をコンピューティングシステムに提供し、更にはデバイスに提供する。１つの実施態様では、動作４０２は、ＡＣ電源からのＡＣ電流を直流（ＤＣ）に調整することを含むことができる。ＡＣ電源は、２つの異なる電力レールをコンピューティングシステムに提供する。これらの電力レールは、待機電力及び主電力を含む。ＡＣ電源は、コンピューティングシステム及びデバイスがこのＡＣ電源にプラグ接続されたとき、低電力供給レール上で待機電力をこれらのコンピューティングシステム及びデバイスに提供する。待機電力は、電力の大きさが主電力よりも小さい。換言すれば、主電力は、電力の大きさが待機電力よりも大きい。主電力は、コンピューティングシステムがオンにされ、及び／又はブートアップされるとき、高電力供給レール上でコンピューティングシステムに送電される。この実施態様では、待機電力は、構成のためにデバイスに印加される最小量の電力である。コンピューティングシステムは、システムの一部分としてデバイスを備え、このため、デバイスは、コンピューティングシステムがＡＣ電源にプラグ接続されたとき、動作４０４において待機電力を受信することができる。一方、コンピューティングシステムがＡＣ電源からプラグ接続解除されたとき、待機電力はデバイスから除去される。
【００３０】
コンピューティングシステムが動作４０２においてＡＣ電源にプラグ接続されたとき、動作４０４において、デバイスは待機電力を受信する。コンピューティングシステムが電力供給を受けることができる（例えば、ＡＣ電源にプラグ接続することができる）が、まだ始動されていないとき、待機電力は、主電力とは対照的に待機電流をデバイスに提供する。この実施態様では、待機電力の電流の大きさは、動作４１４において印加される主電力よりも小さい。
【００３１】
動作４０４において受信された待機電力がデバイスに印加されたとき、動作４０６において、デバイスは、メモリから構成データを取得し、この構成データを処理することができる。１つの実施態様では、デバイスは、構成データを処理すると、動作４０８に進むことができる。動作４０６の機能は、図３における動作３０２と同様とすることができる。
【００３２】
動作４０８において、デバイスは、動作４０６において処理された構成データに対応する値をテーブルから取得することができる。この動作において、デバイスは、データテーブル又は他のタイプのデータ構造体を備えることができ、動作４０６においてメモリから取得された構成データを用いて、デバイスは、この構成データに対応する値を識別することができる。構成データは、動作４１２においてハードウェア構成のためにレジスタをプログラミングするテーブル内の特定の値を識別する手段である。例えば、構成データは、データテーブルにおける値のロケーション又は動作４１０におけるデバイスの構成のためにプログラミングする特定のレジスタを識別することを含むことができる。テーブルはデバイスに固有なものにすることができるので、テーブルから値を取得することによって、テーブルは様々なデバイスの複数の構成（設定）を含むことが可能になる。構成データは、特定のレジスタを識別することができ、このため、この識別情報を用いて、テーブルは、その特定のレジスタをプログラミングする値を含む。レジスタ内にプログラミングされる値は、対応するハードウェアコンポーネントの機能を規定する。
【００３３】
動作４１０において、デバイスは、動作４０６においてメモリから取得された構成データに基づいて自身を構成することができる。デバイスは、動作４１４及び４１６におけるコンピューティングシステムの初期化のための主電力の印加の前に構成される。１つの実施態様では、デバイスは、動作４０８において、構成データに対応する値をテーブルから取得することができる。別の実施態様では、テーブルを利用して、ハードウェアコンポーネントを構成する値を識別するのではなく、構成データは、コンピューティングシステム内のハードウェアコンポーネントをどのように構成するのかをデバイスに指示することができる。動作４１０の機能は、図３における動作３０４と同様とすることができる。
【００３４】
動作４１２において、デバイスは、動作４０８において取得された値を用いて内部レジスタをプログラミングすることができる。値を用いて内部レジスタをプログラミングすることによって、ハードウェアコンポーネントを、このハードウェアコンポーネントの機能を有するその内部レジスタを通じて構成することができるということが可能になる。例えば、デバイスは、このデバイスから他の様々なコンポーネントへの電気伝導体からなる電気接続（すなわち、ピン）の機能を構成（設定）する少なくとも１つの内部レジスタを備えることができる。この例では、この内部レジスタ内にプログラミングされる値は、ピンが入力、出力、入力／出力等として機能するか否かを示す。このように、動作４０８において取得された値は、ハードウェアコンポーネントの機能を示すことができる。別の実施態様では、コンピューティングシステムの熱システムに対応するレジスタに値を書き込むことによって、この熱システムを構成することができる。この実施態様では、熱システムは、動作４１４及び４１６におけるコンピューティングシステムを初期化する主電力の印加の前に構成することができる。コンピューティングシステムの初期化の前に熱システムを構成することによって、コンピューティングシステムの初期化の際に検出された問題からの反応時間が削減される。
【００３５】
動作４１４において、コンピューティングシステムは、オンになり、動作４１６におけるコンピューティングシステムの初期化のための主電力をメイン処理ユニット（例えば、中央処理ユニット）に印加することができる。この主電力によって、コンピューティングシステムのメイン処理ユニットと通信するオペレーティングシステムは、コンピューティングシステムの全体的な機能を管理することが可能になる。メイン処理ユニットは、中央処理ユニット（ＣＰＵ）とも呼ばれ、システムの基本的な算術演算、論理演算、及び入力／出力動作を実行するコンピューティングシステム内のハードウェアコンポーネントである。この実施態様では、デバイスは、コンピューティングシステム内の様々なハードウェアコンポーネントを管理する補助処理ユニットを備えることができる一方、ＣＰＵは、コンピューティングシステムの全体的な機能を管理する。別の実施態様では、主電力がシャットダウンしたが、コンピューティングシステム及び／又はデバイスがＡＣ電源にプラグ接続されたままであるとき、動作４０４における待機電力は維持される。
【００３６】
動作４１４において主電力が印加されると、この方法は、次に、動作４１６においてコンピューティングシステムを初期化する。この実施態様では、コンピューティングシステムの中央処理ユニットは、電源オンを開始するように初期化することができる。加えて、この実施態様では、動作４１０において構成されるデバイスは、中央処理ユニットとは異なり、コンピューティングシステム内のハードウェアコンポーネントのうちの１つの機能を管理することができるファームウェアベースのデバイスである。ファームウェアは、機械可読命令であり、したがって、デバイス内において、デバイスの制御プログラムを提供する不揮発性メモリに記憶される。
【００３７】
図５は、機械可読記憶媒体５０４内の命令５０６〜５２２を実行するプロセッサ５０２を有する一例示のコンピューティングデバイス５００のブロック図である。具体的には、プロセッサ５０２を有するコンピューティングデバイス５００は、待機電力をデバイスに印加し、構成データを処理し、この構成データに基づいてデバイスを構成する。デバイスは、主電力をデバイスに印加し、及び／又はデバイスに関連付けられたコンピューティングシステムを初期化する前に構成される。コンピューティングデバイス５００は、プロセッサ５０２及び機械可読記憶媒体５０４を備えるが、当業者に適した他のコンポーネントも備えることができる。例えば、コンピューティングデバイス５００は、図１における電源回路１０４及び／又はメモリ１１０を備えることができる。コンピューティングデバイス５００は、命令５０６〜５２２を実行することが可能なプロセッサ５０２を有する電子デバイスであり、したがって、コンピューティングデバイス５００の実施形態には、命令５０６〜５２２を実行することが可能なモバイルデバイス、クライアントデバイス、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップ、タブレット、ビデオゲームコンソール、又は他のタイプの電子デバイスが含まれる。命令５０６〜５２２は、記憶媒体５０４上に記憶された機械可読命令として実施される方法、機能、動作、及び他のプロセスとして実施することができる。この記憶媒体は、ハードウェア記憶デバイス（例えば、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能プログラマブルＲＯＭ、電気的消去可能ＲＯＭ、ハードドライブ、及びフラッシュメモリ）等の非一時的なものとすることができる。
【００３８】
プロセッサ５０２は、コンピューティングシステムの初期化の前に、命令５０６〜５２２をフェッチ、デコード、及び実行して待機電力を印加し、構成データを処理し、この構成データに基づいてデバイスを構成することができる。１つの実施態様では、プロセッサ５０２は、命令５０６〜５１２を実行すると、命令５２０及び／又は５２２を実行することができる。別の実施態様では、プロセッサ５０２は、命令５０６〜５１０を実行すると、命令５１４〜５１８を実行し、命令５２０及び／又は５２２に進むことができる。プロセッサ５０２は、命令５０６〜５１０を実行して、待機電力をコンピューティングシステム内のデバイスに印加し、デバイスのメモリから取得された構成データを処理し、この構成データに基づいてデバイスを構成する。デバイスの構成は、コンピューティングシステムの初期化のために主電力をコンピューティングシステムに印加する前に行われる。プロセッサ５０２は、命令５１２を実行し、テーブルから取得された値を用いてデバイスの内部のレジスタをプログラミングすることができる。命令５１２の代替形態では、プロセッサ５０２は、命令５１４〜５１８を実行して、デバイスに関連付けられたピンを構成することができ、命令５１４〜５１８は、データ構造体から値を取得することと、デバイスの内部のレジスタを、データ構造体から取得された値を用いてプログラミングすることと、レジスタ内にプログラミングされた値に基づいてデバイスに関連付けられたピンを構成することとを含む。プロセッサ５０２は、次に、命令５２０〜５２２を実行して、主電力をコンピューティングデバイスに印加し、主電力の印加によってコンピューティングシステムを初期化することができる。主電力は、デバイスに印加することもできる。プロセッサ５０２の実施態様は、命令５０６〜５２２を実行することが可能な集積回路、マイクロチップ、プロセッサ、チップセット、電子回路、マイクロプロセッサ、半導体、マイクロコントローラ、中央処理ユニット（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）、半導体、又は他のタイプのプログラマブルデバイスを含むことができる。
【００３９】
機械可読記憶媒体５０４は、プロセッサ５０２がフェッチ、デコード、及び実行するための命令５０６〜５２２を含む。別の実施形態では、機械可読記憶媒体５０４は、実行可能命令を収容又は記憶する電子デバイス、磁気デバイス、光デバイス、メモリデバイス、記憶デバイス、フラッシュドライブデバイス、又は他の物理デバイスとすることができる。このため、機械可読記憶媒体５０４は、例えば、ランダムアクセスメモリ（ＲＡＭ）、電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、記憶ドライブ、メモリキャッシュ、ネットワークストレージ、コンパクトディスク読み出し専用メモリ（ＣＤＲＯＭ）等を含むことができる。したがって、機械可読記憶媒体５０４は、単独で及び／又は機械可読記憶媒体５０４の命令をフェッチ、デコード、及び／又は実行するプロセッサ５０２とともに利用することができるアプリケーション及び／又はファームウェアを含むことができる。このアプリケーション及び／又はファームウェアは、機械可読記憶媒体５０４上に記憶することができ、及び／又はコンピューティングデバイス５００の別のロケーション上に記憶することができる。
【００４０】
要約すれば、本明細書に開示された実施態様は、コンピューティングシステムを初期化することに関連したレイテンシを削減する。加えて、本明細書に開示された実施態様は、様々なコンピューティングシステム間での複数の構成（設定）のためのデバイスを可能にする。
【図１】
2016535328.tif 000003
【図２Ａ．２Ｂ】
2016535328.tif 000004
【図３】
2016535328.tif 000005
【図４】
2016535328.tif 000006
【図５】
2016535328.tif 000007
【国際調査報告】
2016535328.tif 000008
2016535328.tif 000009