(57)【要約】【課題】省電力状態におけるシステム温度を比較的低く抑えつつ、省電力状態から動作ステートへの復帰の高速化を図ることが可能な情報処理装置を実現する。【解決手段】動作ステートＳ０においてサスペンド要求が発生すると、システムステートは、動作ステートＳ０から第１スタンバイステートＳ３＿ｆａｓｔに遷移する。第１スタンバイステートＳ３＿ｆａｓｔにおいては、システムメモリ１１５およびＧＰＵ１１６にそれぞれ電力が供給された状態でコンピュータ本体１１が電源オフされる。第１スタンバイステートＳ３＿ｆａｓｔにおいてシステム温度が所定の第１しきい値を超えると、システムステートは、第１スタンバイステートＳ３＿ｆａｓｔから第２スタンバイステートＳ３に遷移する。第２スタンバイステートＳ３においては、システムメモリ１１５への電力の供給が維持された状態でＧＰＵ１１６への電力の供給が停止される。【選択図】      図５
2007249660.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置において、
本体と、
前記本体内に設けられたシステムメモリと、
前記本体内に設けられた表示コントローラと、
前記本体内に設けられた温度センサと、
前記情報処理装置のシステムステートを、動作ステートから、前記システムメモリおよび前記表示コントローラにそれぞれ電力が供給された状態で前記本体が電源オフされる第１ステートに遷移させる第１のステート制御手段と、
前記第１ステートにおいて前記温度センサによって検出される温度が所定のしきい値を超えた場合、前記情報処理装置のシステムステートを、前記第１ステートから、前記システムメモリへの電力の供給が維持された状態で前記表示コントローラへの電力の供給が停止される第２ステートに遷移させる第２のステート制御手段とを具備することを特徴とする情報処理装置。
【請求項２】
前記第２ステートにおいて前記温度センサによって検出される温度が前記所定のしきい値より低いしきい値よりも低下した場合、前記情報処理装置のシステムステートを、前記第２ステートから前記第１ステートに遷移させる第３のステート制御手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記情報処理装置のシステムステートを、前記第１ステートまたは前記第２ステートから、前記動作ステートに復帰させる処理を実行する第４のステート制御手段をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記本体内に設けられたプロセッサをさらに具備し、
前記第１ステートにおいては前記プロセッサへの電力の供給が維持され、前記第２ステートにおいては前記プロセッサへの電力の供給が停止されることを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記本体内に設けられたプロセッサと、
前記第２ステートにおいて前記温度センサによって検出される温度が前記所定のしきい値よりも高いしきい値を超えた場合、前記システムメモリに格納されているコンテクストを前記本体内に設けられているディスク記憶装置に格納して、前記情報処理装置のシステムステートを、前記第２ステートから、前記プロセッサ、前記システムメモリ、および前記表示コントローラそれぞれへの電源の供給が停止される第３ステートに遷移させる第５のステート制御手段と、
をさらに具備することを特徴とする請求項１記載の情報処理装置。
【請求項６】
情報処理装置において、
本体と、
前記本体内に設けられたプロセッサと、
前記本体内に設けられたシステムメモリと、
前記本体内に設けられた表示コントローラと、
前記本体内に設けられた温度センサと、
前記情報処理装置のシステムステートを、動作ステートから、前記プロセッサ、前記システムメモリおよび前記表示コントローラにそれぞれ電力が供給された状態で前記本体が電源オフされる第１ステートに遷移させるサスペンド処理を実行するサスペンド制御手段と、
前記第１ステートにおいて前記温度センサによって検出される温度が所定のしきい値を超えた場合、前記情報処理装置のシステムステートを、前記第１ステートから、前記システムメモリへの電力の供給が維持された状態で、前記プロセッサおよび前記表示コントローラそれぞれへの電力の供給が停止される第２ステートに遷移させるステート制御手段と、
前記情報処理装置のシステムステートを、前記第１ステートまたは前記第２ステートから、前記動作ステートに復帰させるレジューム処理を実行するレジューム制御手段とを具備することを特徴とする情報処理装置。
【請求項７】
前記ステート制御手段は、前記第２ステートにおいて前記温度センサによって検出される温度が前記所定のしきい値より低いしきい値よりも低下した場合、前記情報処理装置のシステムステートを、前記第２ステートから前記第１ステートに遷移させる手段を含むことを特徴とする請求項６記載の情報処理装置。
【請求項８】
前記第２ステートにおいて前記温度センサによって検出される温度が前記所定のしきい値よりも高いしきい値を超えた場合、前記システムメモリに格納されているコンテクストを前記本体内に設けられているディスク記憶装置に格納して、前記情報処理装置のシステムステートを、前記第２ステートから、前記プロセッサ、前記システムメモリ、および前記表示コントローラそれぞれへの電源の供給が停止される第３ステートに遷移させるハイバネーション制御手段をさらに具備することを特徴とする請求項６記載の情報処理装置。
【請求項９】
情報処理装置のシステムステートを制御するシステムステート制御方法であって、
前記システムステートを、動作ステートから、前記情報処理装置に設けられるシステムメモリおよび表示コントローラにそれぞれ電力が供給された状態で前記本体が電源オフされる第１ステートに遷移させるステップと、
前記第１ステートにおいて前記情報処理装置に設けられる温度センサによって検出される温度が所定のしきい値を超えた場合、前記システムステートを、前記第１ステートから、前記システムメモリへの電力の供給が維持された状態で前記表示コントローラへの電力の供給が停止される第２ステートに遷移させるステップとを具備することを特徴とするシステムステート制御方法。
【請求項１０】
前記第２ステートにおいて前記温度センサによって検出される温度が前記所定のしきい値より低いしきい値よりも低下した場合、前記システムステートを、前記第２ステートから前記第１ステートに遷移させるステップをさらに具備することを特徴とする請求項９記載のシステムステート制御方法。
【請求項１１】
前記システムステートを、前記第１ステートまたは前記第２ステートから、前記動作ステートに復帰させるステップをさらに具備することを特徴とする請求項９記載のシステムステート制御方法。
【請求項１２】
前記第１ステートにおいては前記情報処理装置に設けられるプロセッサへの電力の供給が維持され、前記第２ステートにおいては前記プロセッサへの電力の供給が停止されることを特徴とする請求項９記載のシステムステート制御方法。
【請求項１３】
前記第２ステートにおいて前記温度センサによって検出される温度が前記所定のしきい値よりも高いしきい値を超えた場合、前記システムメモリに格納されているコンテクストを前記本体内に設けられているディスク記憶装置に格納して、前記情報処理装置のシステムステートを、前記第２ステートから、前記情報処理装置に設けられるプロセッサ、前記システムメモリ、および前記表示コントローラそれぞれへの電源の供給が停止される第３ステートに遷移させるステップをさらに具備することを特徴とする請求項９記載のシステムステート制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はパーソナルコンピュータのような情報処理装置および同情報処理装置のシステムステートを制御するシステムステート制御方法に関する。
【背景技術】
【０００２】
近年、バッテリ駆動可能な各種パーソナルコンピュータが開発されている。この種のパーソナルコンピュータにおいては、電力消費の低減を図るためのパワーマネージメント技術が利用されている。パワーマネージメント技術としては、Advanced Configuration and Power Interface（ＡＣＰＩ）仕様が知られている。
【０００３】
ＡＣＰＩ仕様は、Ｓ０からＳ５までのシステムステートを定義している。Ｓ０は動作ステート（つまりシステムがパワーオンされており、ソフトウェアが実行されている状態）、Ｓ５はオフステート（つまりシステムがパワーオフされており、いずれのソフトウェアも実行されない状態）である。Ｓ１〜Ｓ４は動作ステートとオフステートとの中間のステート、つまりスリープステート（スリープステートに入る直前のソフトウェアのコンテクストはセーブされ、スリープステートではそれらソフトウェアは停止されている）である。これらシステムステートの消費電力の大小関係は、Ｓ０＞Ｓ１＞Ｓ２＞Ｓ３＞Ｓ４＞Ｓ５である。
【０００４】
また、パーソナルコンピュータにおいては、電力消費の低減と動作ステートへの高速復帰との双方を実現するために、サスペンド／レジューム機能が設けられている。サスペンド／レジューム機能は、パワーオフイベントの発生に応答してパーソナルコンピュータのシステムステートを動作ステート（Ｓ０）からスタンバイステートのような省電力状態に遷移させる機能である。スタンバイステートとしては、ＡＣＰＩ仕様のスリープステートの一つ、例えば、上述のシステムステートＳ３が用いられる。
【０００５】
Ｓ３においては、システムメモリを除く他のほとんど全てのデバイスがオフされる。スタンバイステートにおいてつまりＳ３において、ウェイクアップイベントが発生すると、システムステートはスタンバイステートつまりＳ３から動作ステートＳ０に復帰され、これによりパワーオフイベントが発生する直前の状態から、ソフトウェアの実行を再開することが可能となる。
【０００６】
また、一般に、パーソナルコンピュータにおいては、システムの温度上昇を抑えるための温度制御機能が設けられている。この温度制御機能は、システムの温度を監視し、システムの温度がしきい値に達した時に、ファンの回転のような所定クーリング動作を実行する機能である。
【０００７】
特許文献１には、温度制御機能を実行するコンピュータが開示されている。このコンピュータは、サーミスタによって検出された温度が一定値を超えた時に、システムをスタンバイモードに設定する機能を有している。
【特許文献１】特開平９−１９８１６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、最近では、スタンバイステートから動作ステートへの復帰に要する時間を短縮化するための技術の実現が要求され始めている。
【０００９】
例えば、スタンバイステートにおいて、システムメモリだけでなく、ある特定の一つ又は幾つかのデバイスも電源オン状態に維持すれば、スタンバイステートから動作ステートへの復帰を高速化することが可能となる。
【００１０】
しかし、このようにすると、システムがスタンバイステートに入っている状態であっても、電源オン状態のデバイスからの発熱により、システム温度が上昇する可能性がある。
【００１１】
ユーザから見ると、スタンバイステートはコンピュータを完全に停止している状態である。このため、スタンバイステートにおけるコンピュータの温度上昇は、ユーザに対して不快感を与える可能性がある。
【００１２】
また、通常、ファン等を用いた温度制御は、コンピュータが動作ステートである場合にのみ実行され、コンピュータがスタンバイステートである場合においては実行されない。このため、スタンバイステートにおけるデバイスの発熱はコンピュータ内部の温度を過度に上昇させる可能性があり、場合によっては、システムの動作不良等を引き起こす可能性もある。
【００１３】
本発明は上述の事情を考慮してなされたものであり、省電力状態におけるシステム温度を比較的低く抑えつつ、省電力状態から動作ステートへの復帰の高速化を図ることが可能な情報処理装置およびシステムステート制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述の課題を解決するため、本発明の情報処理装置は、本体と、前記本体内に設けられたシステムメモリと、前記本体内に設けられた表示コントローラと、前記本体内に設けられた温度センサと、前記情報処理装置のシステムステートを、動作ステートから、前記システムメモリおよび前記表示コントローラにそれぞれ電力が供給された状態で前記本体が電源オフされる第１ステートに遷移させる第１のステート制御手段と、前記第１ステートにおいて前記温度センサによって検出される温度が所定のしきい値を超えた場合、前記情報処理装置のシステムステートを、前記第１ステートから、前記システムメモリへの電力の供給が維持された状態で前記表示コントローラへの電力の供給が停止される第２ステートに遷移させる第２のステート制御手段とを具備することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、省電力状態におけるシステム温度を比較的低く抑えつつ、省電力状態から動作ステートへの復帰の高速化を図ることが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して、本発明の実施形態を説明する。  
まず、図１および図２を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、バッテリ駆動可能なノートブック型の携帯型パーソナルコンピュータ１０として実現されている。
【００１７】
図１はコンピュータ１０のディスプレイユニットを開いた状態における斜視図である。本コンピュータ１０は、コンピュータ本体１１と、ディスプレイユニット１２とから構成されている。ディスプレイユニット１２には、ＬＣＤ（Liquid Crystal Display）１７から構成される表示装置が組み込まれており、そのＬＣＤ１７の表示画面はディスプレイユニット１２のほぼ中央に位置されている。
【００１８】
ディスプレイユニット１２は、コンピュータ本体１１に対して、コンピュータ本体１１の上面が露出される開放位置と上面がディスプレイユニット１２によって覆われる閉塞位置との間を回動自在に取り付けられている。コンピュータ本体１１はバッテリが取り外し自在に装着可能な薄い箱形の筐体を有している。
【００１９】
コンピュータ本体１１の上面にはキーボード１３、本コンピュータ１をパワーオン／オフするためのパワーボタンスイッチ１４、およびタッチパッド１５などが配置されている。
【００２０】
次に、図２を参照して、本コンピュータ１０のシステム構成について説明する。
【００２１】
本コンピュータ１０は、図２に示されているように、ＣＰＵ１１１、ノースブリッジ１１４、システムメモリ（主メモリと称されることもある）１１５、グラフィクスプロセッシングユニット（ＧＰＵ）１１６、サウスブリッジ１１７、ＢＩＯＳ−ＲＯＭ１２０、ハードディスクドライブ（ＨＤＤ）１２１、光ディスクドライブ（ＯＤＤ）１２２、各種ＰＣＩデバイス１２３，１２４、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１４０、および電源回路１４１等を備えている。
【００２２】
ＣＰＵ１１１は本コンピュータ１０の動作を制御するために設けられたプロセッサであり、ＨＤＤ１２１からシステムメモリ１１５にロードされる、オペレーティングシステムおよび各種アプリケーションプログラムを実行する。
【００２３】
また、ＣＰＵ１１１は、ＢＩＯＳ−ＲＯＭ１２０に格納されたＢＩＯＳ（Basic Input Output System）も実行する。ＢＩＯＳはハードウェア制御のためのプログラムである。このＢＩＯＳは、本コンピュータ１０のシステムステートを制御する機能も有している。
【００２４】
ノースブリッジ１１４はＣＰＵ１１１のローカルバスとサウスブリッジ１１７との間を接続するブリッジデバイスである。ノースブリッジ１１４には、主メモリ１１５をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ１１４は、PCI Expressバスなどを介してグラフィクスプロセッシングユニット（ＧＰＵ）１１６との通信を実行する機能も有している。
【００２５】
グラフィクスプロセッシングユニット（ＧＰＵ）１１６は、本コンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７を制御する表示コントローラである。ＧＰＵ１１６は、ＯＳまたはアプリケーションプログラムによってビデオメモリ（ＶＲＡＭ）１１６Ａに書き込まれた表示データから、ＬＣＤ１７に表示すべき画面イメージを形成する映像信号を生成する。また、ＧＰＵ１１６は、ＯＳまたはアプリケーションプログラムからの描画要求に従って、２次元または３次元のグラフィクス演算処理を実行する描画機能も有している。
【００２６】
サウスブリッジ１１７はＰＣＩバス１に接続されており、ＰＣＩバス１を介してＰＣＩデバイス１２３，１２４との通信を実行する。また、サウスブリッジ１１７は、ハードディスクドライブ（ＨＤＤ）１２１および光ディスクドライブ（ＯＤＤ）１２２を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラやSerial ATAコントローラを内蔵している。
【００２７】
エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１４０は、電力管理のためのエンベデッドコントローラと、キーボード（ＫＢ）１３およびタッチパッド１５を制御するためのキーボードコントローラとが集積された１チップマイクロコンピュータである。ＥＣ／ＫＢＣ１４０には、本コンピュータ１０が電源オフされた状態においても、電源回路１４１から常に動作電源が供給される。
【００２８】
このＥＣ／ＫＢＣ１４０は、ユーザによるパワーボタンスイッチ１４の操作に応じて本コンピュータ１０をパワーオン／パワーオフする機能を有している。本コンピュータ１０のパワーオン／パワーオフの制御は、ＥＣ／ＫＢＣ１４０と電源回路１４１との共同動作によって実行される。電源回路１４１は、コンピュータ本体１１に装着されたバッテリ１４２からの電力、またはコンピュータ本体１１に外部電源として接続されるＡＣアダプタ１４３からの電力を用いて、各コンポーネントへの動作電源を生成する。
【００２９】
さらに、ＥＣ／ＫＢＣ１４０は、本コンピュータ１０のシステム温度（コンピュータ本体１１内の温度）を監視する機能を有している。温度監視動作は、本コンピュータ１０のシステムステートが動作ステートである場合のみならず、本コンピュータ１０のシステムステートがスタンバイステートである場合においても実行される。
【００３０】
図３には、温度監視のためのシステム構成の例が示されている。
【００３１】
コンピュータ本体１１内には、そのコンピュータ本体１１内の所定位置の温度を検出するための温度センサが設けられている。図３においては、４つの温度センサ３０１，３０２，３０３，３０４が設けられている例が示されている。
【００３２】
温度センサ３０１はＣＰＵ１１１の温度を検出するための温度センサであり、ＣＰＵ１１１上に配置、またはＣＰＵ１１１の周辺に配置されている。温度センサ３０２はノースブリッジ１１４の温度を検出するための温度センサであり、ノースブリッジ１１４上に配置、またはノースブリッジ１１４の周辺に配置されている。温度センサ３０３はシステムメモリ１１５の温度を検出するための温度センサであり、システムメモリ１１５上に配置、またはシステムメモリ１１５の周辺に配置されている。温度センサ３０４はＧＰＵ１１６の温度を検出するための温度センサであり、ＧＰＵ１１６上に配置、またはＧＰＵ１１６の周辺に配置されている。
【００３３】
なお、コンピュータ本体１１内の比較的温度が高くなりやすい特定の場所の温度を、一つの温度センサのみによって監視するようにしてもよい。
【００３４】
さらに、コンピュータ本体１１内には、ファンが設けられている。
【００３５】
図３においては、２つのファン２０１，２０２が設けられている例が示されている。ファン２０１はＣＰＵ１１１を冷却するための冷却ファンである。また、ファン２０２はＧＰＵ１１６を冷却するための冷却ファンである。
【００３６】
システムを構成するコンポーネントの内、ＣＰＵ１１１およびＧＰＵ１１６は、それぞれ比較的多くの熱を発生する発熱デバイスである。したがって、これらＣＰＵ１１１およびＧＰＵ１１６をファン２０１およびファン２０２によってそれぞれ冷却することにより、システム温度を低く抑えることができる。
【００３７】
図４には、ＥＣ／ＫＢＣ１４０の構成例が示されている。
【００３８】
ＥＣ／ＫＢＣ１４０は、温度監視部４０１、割り込み信号発生部４０２、およびファン制御部４０３を備えている。
【００３９】
温度監視部４０１は、温度センサ３０１〜３０４の全てまたは任意の一つを用いて、システム温度つまりコンピュータ本体１１内の温度を監視する。温度センサ３０１〜３０４の全てを用いた場合には、温度監視部４０１は、ＣＰＵ１１１、ノースブリッジ１１４、システムメモリ１１５、およびＧＰＵ１１６の各々の温度を監視することができる。もちろん、温度監視部４０１は、温度センサ３０１〜３０４の特定の一つのみを用いて、コンピュータ本体１１内の特定の場所の温度を監視するようにしてもよい。
【００４０】
温度監視部４０１による温度監視動作は、上述したように、本コンピュータ１０のシステムステートが動作ステートである場合のみならず、システムステートがスタンバイステートである場合にも実行される。
【００４１】
温度監視部４０１によってシステム温度が特定のしきい値を超えたことが検出されたならば、割り込み信号発生部４０２は、システム管理割り込み（ＳＭＩ）のような割り込み信号をＣＰＵ１１１に供給して、システム温度が特定のしきい値を超えるという温度イベントが発生したことをＣＰＵ１１１に通知する。
【００４２】
ファン制御部４０３は、ＣＰＵ１１１の制御の下、ファン２０１，２０２それぞれの回転速度を制御する。
【００４３】
次に、図５を参照して、本コンピュータ１０のシステムステートの遷移について説明する。
【００４４】
本コンピュータ１０のシステムステートは、以下のＳ０，Ｓ３＿ｆａｓｔ，Ｓ３，Ｓ４，Ｓ５のいずれかに設定される。
【００４５】
Ｓ０は動作ステート（つまりシステムがパワーオンされており、ソフトウェアが実行されている状態）、Ｓ５はオフステート（つまりシステムがパワーオフされており、いずれのソフトウェアも実行されない状態）である。
【００４６】
Ｓ３＿ｆａｓｔ，Ｓ３，Ｓ４は、それぞれ動作ステートＳ０とオフステートＳ５との中間のスタンバイステートとして用いられる。スタンバイステートにおける電力消費は、動作ステートＳ０における電力消費よりも少ない。
【００４７】
Ｓ３はＡＣＰＩ仕様で規定されたスリープステートの一つであり、本実施形態ではメモリサスペンドステートと称されるスタンバイステートとして用いられる。
【００４８】
Ｓ３つまりメモリサスペンドステートにおいては、システムメモリ１１５を除く他のほとんど全てのデバイスがオフされる。Ｓ３つまりメモリサスペンドステートにおいてユーザによるパワーボタンスイッチ１４の操作のようなウェイクアップイベントが発生すると、システムステートはＳ３からＳ０に復帰され、これにより、Ｓ３に移行する直前の状態からソフトウェアの実行を再開することが可能となる。
【００４９】
Ｓ４もＡＣＰＩ仕様で規定されたスリープステートの一つであり、本実施形態ではハイバネーションステート（休止状態）と称されるスタンバイステートとして用いられる。Ｓ４つまりハイバネーションステートにおいては、システムメモリ１１５に格納されているコンテクストがＨＤＤ１２１に格納されている状態で、システムメモリ１１５を含むほとんど全てのデバイスがオフされる。
【００５０】
Ｓ３＿ｆａｓｔは、Ｓ３つまりメモリサスペンドステートよりもＳ０に高速復帰することが可能なスタンバイステートである。Ｓ３＿ｆａｓｔにおいては、システムメモリ１１５およびＧＰＵ１１６にそれぞれへの電力の供給が維持された状態で、コンピュータ本体１１が電源オフされる。ＧＰＵ１１６のコンテクストは失われない。このため、ＧＰＵ１１６の初期化を行うことなく、システムステートをＳ３＿ｆａｓｔからＳ０に復帰することができる。ＧＰＵ１１６の初期化には比較的多くの時間を要する。したがって、スタンバイステートとしてＳ３＿ｆａｓｔを使用することにより、スタンバイステートからＳ０への復帰に要する時間を大幅に短縮することができる。
【００５１】
Ｓ３＿ｆａｓｔ，Ｓ３，Ｓ４からＳ０への復帰時間の大小関係は、次の通りである。
【００５２】
Ｓ３＿ｆａｓｔ＜Ｓ３＜Ｓ４
また、Ｓ３＿ｆａｓｔ，Ｓ３，Ｓ４の電力消費の大小関係は、次の通りである。
【００５３】
Ｓ３＿ｆａｓｔ＞Ｓ３＞Ｓ４
本コンピュータ１０においては、３つのスタンバイステート、つまりＳ３＿ｆａｓｔ，Ｓ３，Ｓ４を、選択的に使用することができる。以下では、Ｓ３＿ｆａｓｔを第１スタンバイステート、Ｓ３を第２スタンバイステート、Ｓ４を第３スタンバイステートと称することとする。
【００５４】
本コンピュータ１０においては、基本的には、第１スタンバイステートＳ３＿ｆａｓｔがデフォルトのスタンバイステートとして使用される。動作ステートＳ０において、例えばユーザが電源ボタン１４を操作することなどによってサスペンド要求が発生すると、システムステートを動作ステートＳ０から第１スタンバイステートＳ３＿ｆａｓｔに遷移させるサスペンド処理が実行される。第１スタンバイステートＳ３＿ｆａｓｔにおいては、上述したように、システムメモリ１１５およびＧＰＵ１１６にそれぞれ電力が供給された状態でコンピュータ本体１１が電源オフされる。
【００５５】
第１スタンバイステートＳ３＿ｆａｓｔにおいても、ＥＣ／ＫＢＣ１４０は、システム温度を監視する。システム温度が所定の第１しきい値を超えると、システムステートを、第１スタンバイステートＳ３＿ｆａｓｔから、第２スタンバイステートＳ３に遷移させるステート遷移処理が実行される。第２スタンバイステートＳ３においては、システムメモリ１１５への電力の供給が維持された状態でＧＰＵ１１６への電力の供給が停止される。
【００５６】
第２スタンバイステートＳ３においては、ＧＰＵ１１６は発熱しない。このため、システムステートを第１スタンバイステートＳ３＿ｆａｓｔから第２スタンバイステートＳ３に遷移させることにより、ファンを回転させることなく、システム温度を下げることができる。
【００５７】
第２スタンバイステートＳ３において、システム温度が第１しきい値よりも低い第２しきい値よりも低下すると、システムステートを第２スタンバイステートＳ３から第１スタンバイステートＳ３＿ｆａｓｔに遷移させる処理が実行される。第２スタンバイステートＳ３から第１スタンバイステートＳ３＿ｆａｓｔに遷移時には、ＧＰＵ１１６への電力の供給が再開されると共に、ＧＰＵ１１６を初期化する処理も実行される。
【００５８】
一方、第２スタンバイステートＳ３において、システム温度が第１しきい値よりも高い第３しきい値を超えると、システムステートを、第２スタンバイステートＳ３から、ＣＰＵ１１１、システムメモリ１１５、およびＧＰＵ１１６それぞれへの電源の供給が停止される第３スタンバイステートＳ４へ遷移させる処理が実行される。第２スタンバイステートＳ３から第３スタンバイステートＳ４へ遷移時には、まず、システムメモリ１１５に格納されているコンテクストがＨＤＤ１２１にセーブされる。この後、コンピュータ本体１１が電源オフされ、これによってシステムステートは第３スタンバイステートＳ４に入る。
【００５９】
次に、図６を参照して、ＣＰＵ１１１、システムメモリ１１５、ノースブリッジ１１４、およびＧＰＵ１１６各々の電力ステートとシステムステートとの関係の例について説明する。
【００６０】
ＣＰＵ１１１は、動作ステート、スタンバイステート、およびオフステートのいずれかに設定される。動作ステートおよびスタンバイステートのどちらにおいても、ＣＰＵ１１１には電力が供給される。ＣＰＵ１１１がオフステートである場合には、ＣＰＵ１１１への電力の供給は停止される。
【００６１】
ＣＰＵ１１１の動作ステートは、例えば、ＡＣＰＩ仕様で規定されたプロセッサステートＣ０を用いて実現されている。ＣＰＵ１１１が動作ステートつまりプロセッサステートＣ０である間は、ＣＰＵ１１１は命令を実行する。
【００６２】
ＣＰＵ１１１のオフステートは、例えば、ＡＣＰＩ仕様で規定されたプロセッサステートＣ５を用いて実現されている。ＣＰＵ１１１がオフステートつまりプロセッサステートＣ５である間は、ＣＰＵ１１１への電力の供給は停止される。
【００６３】
ＣＰＵ１１１のスタンバイステートは動作ステート（Ｃ０）とオフステート（Ｃ５）との中間のステートであり、例えば、ＡＣＰＩ仕様で規定されたプロセッサステートＣ１，Ｃ２，Ｃ３またはＣ４を用いて実現されている。スタンバイステートにおけるＣＰＵ１１１の電力消費は、動作ステート（Ｃ０）におけるＣＰＵ１１１の電力消費よりも少ない。
【００６４】
プロセッサステートＣ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５それぞれの電力消費の大小関係、およびプロセッサステートＣ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５それぞれからＣ０への復帰に要する時間の大小関係は、次の通りである。
【００６５】
電力消費：  Ｃ１＞Ｃ２＞Ｃ３＞Ｃ４＞Ｃ５
復帰時間：  Ｃ１＜Ｃ２＜Ｃ３＜Ｃ４＜Ｃ５
システムメモリ１１５は、動作ステート、スタンバイステート、およびオフステートのいずれかに設定される。動作ステートおよびスタンバイステートのどちらにおいても、システムメモリ１１５には電力が供給される。システムメモリ１１５がオフステートである場合には、システムメモリ１１５への電力の供給は停止される。システムメモリ１１５がスタンバイステートである間は、システムメモリ１１５に格納されているコンテクストの消失を防止するために、セルフリフレッシュ動作のみが実行される。外部からのシステムメモリ１１５へのアクセスは実行されない。システムメモリ１１５がスタンバイステートである間におけるシステムメモリ１１５の電力消費は、システムメモリ１１５が動作ステートである場合よりも少ない。
【００６６】
ノースブリッジ１１４は、動作ステート、スタンバイステート、およびオフステートのいずれかに設定される。動作ステートおよびスタンバイステートのどちらにおいても、ノースブリッジ１１４には電力が供給される。ノースブリッジ１１４がオフステートである場合には、ノースブリッジ１１４への電力の供給は停止される。
【００６７】
ノースブリッジ１１４の動作ステートは、例えば、ＡＣＰＩ仕様で規定されたデバイスステートＤ０を用いて実現されている。ノースブリッジ１１４が動作ステートつまりデバイスステートＤ０である間は、ノースブリッジ１１４は完全にアクティブである。
【００６８】
ノースブリッジ１１４のオフステートは、例えば、ＡＣＰＩ仕様で規定されたデバイスステートＤ３を用いて実現されている。ノースブリッジ１１４がオフステートつまりデバイスステートＤ３である間は、ノースブリッジ１１４への電力の供給は停止される。
【００６９】
ノースブリッジ１１４のスタンバイステートは動作ステート（Ｄ０）とオフステート（Ｄ３）との中間のステートであり、例えば、ＡＣＰＩ仕様で規定されたデバイスステートＤ１またはＤ２を用いて実現されている。スタンバイステート（Ｄ１またはＤ２）におけるノースブリッジ１１４の電力消費は、動作ステート（Ｄ０）におけるノースブリッジ１１４の電力消費よりも少ない。
【００７０】
デバイスステートＤ１，Ｄ２，Ｄ３それぞれにおけるノースブリッジ１１４の電力消費の関係、およびノースブリッジ１１４がデバイスステートＤ１，Ｄ２，Ｄ３それぞれからＤ０への復帰に要する時間の関係は、次の通りである。
【００７１】
電力消費：  Ｄ１＞Ｄ２＞Ｄ３
復帰時間：  Ｄ１＜Ｄ２＜Ｄ３
ＧＰＵ１１６は、動作ステート、スタンバイステート、およびオフステートのいずれかに設定される。動作ステートおよびスタンバイステートのどちらにおいても、ＧＰＵ１１６には電力が供給される。ＧＰＵ１１６がオフステートである場合には、ＧＰＵ１１６への電力の供給は停止される。
【００７２】
ＧＰＵ１１６の動作ステートは、例えば、ＡＣＰＩ仕様で規定されたデバイスステートＤ０を用いて実現されている。ＧＰＵ１１６が動作ステートつまりデバイスステートＤ０である間は、ＧＰＵ１１６は完全にアクティブである。
【００７３】
ＧＰＵ１１６のオフステートは、例えば、ＡＣＰＩ仕様で規定されたデバイスステートＤ３を用いて実現されている。ＧＰＵ１１６がオフステートつまりデバイスステートＤ３である間は、ＧＰＵ１１６への電力の供給は停止される。
【００７４】
ＧＰＵ１１６のスタンバイステートは動作ステート（Ｄ０）とオフステート（Ｄ３）との中間のステートであり、例えば、ＡＣＰＩ仕様で規定されたデバイスステートＤ１またはＤ２を用いて実現されている。スタンバイステート（Ｄ１またはＤ２）におけるＧＰＵ１１６の電力消費は、動作ステート（Ｄ０）におけるＧＰＵ１１６の電力消費よりも少ない。
【００７５】
デバイスステートＤ１，Ｄ２，Ｄ３それぞれにおけるＧＰＵ１１６の電力消費の大小関係、およびＧＰＵ１１６がデバイスステートＤ１，Ｄ２，Ｄ３それぞれからＤ０への復帰に要する時間の大小関係は、次の通りである。
【００７６】
電力消費：  Ｄ１＞Ｄ２＞Ｄ３
復帰時間：  Ｄ１＜Ｄ２＜Ｄ３
システムステートが動作ステートＳ０である場合には、例えば、ＣＰＵ１１１は動作ステート（Ｃ０）であり、システムメモリ１１５は動作ステートであり、ノースブリッジ１１４は動作ステート（Ｄ０）であり、ＧＰＵ１１６は動作ステート（Ｄ０）である。
【００７７】
システムステートが第１スタンバイステート（Ｓ３＿ｆａｓｔ）つまりＳ１である場合には、例えば、ＣＰＵ１１１はスタンバイステート（Ｃ１，Ｃ２，Ｃ３またはＣ４）であり、システムメモリ１１５はスタンバイステートであり、ノースブリッジ１１４はスタンバイステート（Ｄ１またはＤ２）であり、ＧＰＵ１１６は動作ステート（Ｄ０）またはスタンバイステート（Ｄ１またはＤ２）である。
【００７８】
システムステートが第２スタンバイステート（Ｓ３）である場合には、例えば、ＣＰＵ１１１はオフステート（Ｃ５）であり、システムメモリ１１５はスタンバイステートであり、ノースブリッジ１１４はオフステート（Ｄ３）であり、ＧＰＵ１１６はオフステート（Ｄ３）である。
【００７９】
システムステートが第３スタンバイステート（Ｓ４）である場合には、ＣＰＵ１１１、システムメモリ１１５、ノースブリッジ１１４、ＧＰＵ１１６の全てがオフステートである。ただし、コンテクストはＨＤＤ１２１に保持されている。
【００８０】
システムステートがオフステート（Ｓ５）である場合には、ＣＰＵ１１１、システムメモリ１１５、ノースブリッジ１１４、ＧＰＵ１１６の全てがオフステートである。コンテクストは保持されない。
【００８１】
次に、図７を参照して、システムステートがＳ０である場合にＢＩＯＳによって実行される温度制御処理について説明する。ここでは、温度センサが一つで、ファンが一つで、且つファン回転速度が２段階で制御される場合を想定する。
【００８２】
温度センサによって検出された温度がしきい値Ｔ１＋を超えると、ＢＩＯＳは、ＥＣ／ＫＢＣ１４０のファン制御部４０３を介してファン２０１または２０２を制御して、ファン２０１または２０２を低回転数で回転させる。温度センサによって検出された温度がしきい値Ｔ１−を下回ると、ＢＩＯＳは、ＥＣ／ＫＢＣ１４０のファン制御部４０３を介してファン２０１または２０２を制御して、ファン２０１または２０２の回転を停止する。
【００８３】
温度センサによって検出された温度がしきい値Ｔ２＋を超えると、ＢＩＯＳは、ＥＣ／ＫＢＣ１４０のファン制御部４０３を介してファン２０１または２０２を制御して、ファン２０１または２０２を高回転数で回転させる。温度センサによって検出された温度がしきい値Ｔ２−を下回ると、ＢＩＯＳは、ＥＣ／ＫＢＣ１４０のファン制御部４０３を介してファン２０１または２０２を制御して、ファン２０１または２０２の回転数を低回転数に下げる。
【００８４】
温度センサによって検出された温度がしきい値Ｔ３＋を超えると、ＢＩＯＳは、システムの安全のために、システムステートをＳ０からＳ５に遷移させて、全てのデバイスの動作を停止する。
【００８５】
このようなファン制御処理は、システムステートがＳ０である場合にのみ実行され、スタンバイステートＳ１、Ｓ３、またはＳ４では実行されない。
【００８６】
次に、図８を参照して、スタンバイステートＳ１またはＳ３において実行される温度制御処理について説明する。
【００８７】
第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）において、温度センサによって検出された温度がしきい値Ｔ４＋を超えると、ＢＩＯＳは、システムステートを第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）から第２スタンバイステートＳ３に遷移させるステート制御処理を実行する。
【００８８】
第２スタンバイステートＳ３において、温度センサによって検出された温度がしきい値Ｔ４−を下回ると、ＢＩＯＳは、システムステートを第２スタンバイステートＳ３から第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）に遷移させるステート制御処理を実行する。しきい値Ｔ４−は、しきい値Ｔ４＋よりも低い値に設定されている。
【００８９】
第２スタンバイステートＳ３において、温度センサによって検出された温度がしきい値Ｔ５を超えると、ＢＩＯＳは、システムステートを第２スタンバイステートＳ３から第３スタンバイステートＳ４に遷移させるステート制御処理を実行する。しきい値Ｔ５は、しきい値Ｔ４＋よりも高い値に設定されている。
【００９０】
しきい値Ｔ４＋，Ｔ４−は、図７のしきい値Ｔ１＋，Ｔ１−よりもそれぞれ低く設定されている。これにより、スタンバイステートＳ１またはＳ３におけるシステム温度を、動作ステートＳ０におけるシステム温度よりも低く維持することが可能となる。
【００９１】
次に、図９を参照して、ＢＩＯＳの機能構成について説明する。
【００９２】
ＢＩＯＳは、その機能実行モジュールとして、サスペンド制御部５０１、ステート制御部５０２、およびレジューム制御部５０３を備えている。
【００９３】
サスペンド制御部５０１は、動作ステートＳ０からスタンバイステートへの移行を要求するサスペンド要求の発生に応答して、システムステートを動作ステートＳ０から第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）に遷移させるサスペンド処理を実行する。
【００９４】
ステート制御部５０２は、温度イベントの発生に応答して、システムステートを第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）から第２スタンバイステートＳ３に遷移させる処理、システムステートを第２スタンバイステートＳ３から第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）に遷移させる処理、またはシステムステートを第２スタンバイステートＳ３から第３スタンバイステートＳ４に遷移させる処理を実行する。
【００９５】
なお、サスペンド制御部５０１、ステート制御部５０２、およびレジューム制御部５０３それぞれの機能は、例えば、ＥＣ／ＫＢＣ１４０のようなハードウェアによって実現することもできる。
【００９６】
図１０には、オペレーティングシステム（ＯＳ）とＢＩＯＳとの間のインタフェースの例が示されている。
【００９７】
ＯＳから見ると、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）および第２スタンバイステートＳ３のどちらも、同一のメモリサスペンドステートである。
【００９８】
メモリサスペンドステートとしては、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）または第２スタンバイステートＳ３のどちらを使用するかはコンピュータ１０を使用するユーザによって予め指定されている。
【００９９】
第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）を使用することを示すフラグがオンであるならば、ＯＳから送信されるサスペンド要求を受信すると、ＢＩＯＳは、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）をメモリサスペンドステートとして選択し、システムステートを第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）に遷移させる。
【０１００】
一方、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）を使用することを示すフラグがオフであるならば、ＯＳから送信されるサスペンド要求を受信すると、ＢＩＯＳは、第２スタンバイステートＳ３をメモリサスペンドステートとして選択し、システムステートを第２スタンバイステートＳ３に遷移させる。
【０１０１】
図１１には、ユーザにメモリサスペンドステートを指定させるためのセットアップ画面の例が示されている。
【０１０２】
図１１のセットアップ画面は、ＯＳが起動される前に所定のキー入力操作がユーザによって行われたときにＢＩＯＳによってＬＣＤ１７に表示される。システムセットアップ画面上の“Ｓｔａｎｂｙ”の項目が“Ｆａｓｔ”に設定されると、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）がメモリサスペンドステートとして選択される。一方、“Ｓｔａｎｂｙ”の項目が“ｎｏｍａｌ”に設定されると、第２スタンバイステートＳ３がメモリサスペンドステートとして選択される。
【０１０３】
ＢＩＯＳは、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）が有効であるか否かを示すフラグ（以下、Ｓ３＿ｆａｓｔモードフラグと称する）を例えばＢＩＯＳ−ＲＯＭ１２０等の不揮発性メモリに格納する。
【０１０４】
次に、図１２のフローチャートを参照して、ＢＩＯＳによって実行されるサスペンド処理の手順を説明する。
【０１０５】
ＯＳからのサスペンド要求を受信すると、ＢＩＯＳは、まず、Ｓ３＿ｆａｓｔモードフラグを参照して、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）が有効であるか否かを判別する（ステップＳ３０１）。
【０１０６】
Ｓ３＿ｆａｓｔモードフラグがオンであるならば、つまり第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）が有効であるならば（ステップＳ３０１のＹＥＳ）、ＢＩＯＳは、システムステートを第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）に設定するための第１サスペンド処理を実行する（ステップＳ３０２）。
【０１０７】
この第１サスペンド処理においては、ＢＩＯＳは、第１スタンバイステートＳ１を示すサスペンドフラグを例えばＥＣ／ＫＢＣ１４０内のレジスタにセットする処理と、システムステートを動作ステートＳ０から第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）に遷移させる処理とを実行する。
【０１０８】
この遷移処理においては、ＢＩＯＳは、少なくともシステムメモリ１１５およびＧＰＵ１１６への電力の供給を維持した状態でコンピュータ本体１１を電源オフする処理をＥＣ／ＫＢＣ１４０と共同して実行する。具体的には、ＢＩＯＳは、ＣＰＵ１１１、システムメモリ１１５、ノースブリッジ１１４、およびＧＰＵ１１６それぞれへの電力の供給を維持した状態で、コンピュータ本体１１を電源オフする。また、ＢＩＯＳは、ＣＰＵ１１１をプロセッサステートＣ１，Ｃ２，Ｃ３またはＣ４に設定する処理と、システムメモリ１１５をスタンバイステートに設定する処理と、ノースブリッジ１１４をデバイスステートＤ１またはＤ２に設定する処理と、ＧＰＵ１１６をデバイスステートＤ１またはＤ２に設定する処理も実行する。なお、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）におけるＧＰＵ１１６のステートとしてＤ０を用いた場合には、ＧＰＵ１１６をデバイスステートＤ１またはＤ２に設定する処理の実行は省略される。
【０１０９】
Ｓ３＿ｆａｓｔモードフラグがオフであるならば、つまり第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）が無効であるならば（ステップＳ３０１のＮＯ）、ＢＩＯＳは、システムステートを第２スタンバイステートＳ３に設定するための第２サスペンド処理を実行する（ステップＳ３０３）。
【０１１０】
この第２サスペンド処理においては、ＢＩＯＳは、第２スタンバイステートＳ３を示すサスペンドフラグを例えばＥＣ／ＫＢＣ１４０内のレジスタにセットする処理と、システムステートを動作ステートＳ０から第２スタンバイステートＳ３に遷移させる処理とを実行する。
【０１１１】
この遷移処理においては、ＢＩＯＳは、システムのコンテクスト（例えば、ＣＰＵ１１１のレジスタの内容等）をシステムメモリ１１５にセーブした後、システムメモリ１１５への電力の供給を維持した状態でコンピュータ本体１１を電源オフする処理をＥＣ／ＫＢＣ１４０と共同して実行する。
【０１１２】
第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）および第２スタンバイステートＳ３のどちらにおいても、システムメモリ１１５に格納されているコンテクストは失われない。したがって、システムメモリ１１５に格納されているコンテクストを用いることにより、サスペンド要求が発生する直前の作業状態にシステムを戻すことができる。
【０１１３】
次に、図１３のフローチャートを参照して、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）または第２スタンバイステートＳ３においてＥＣ／ＫＢＣ１４０によって実行される温度監視動作について説明する。
【０１１４】
ＥＣ／ＫＢＣ１４０は、上述のサスペンドフラグを参照して、現在のシステムステートが第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）および第２スタンバイステートＳ３のどちらであるかを判別する（ステップＳ４０１）。
【０１１５】
システムが第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）である間は、ＥＣ／ＫＢＣ１４０は、温度センサによって検出された温度を監視し、検出された温度がしきい値Ｔ４＋を超えたか否かを判別する（ステップＳ４０２）。
【０１１６】
検出された温度がしきい値Ｔ４＋を超えた時（ステップＳ４０２のＹＥＳ）、ＥＣ／ＫＢＣ１４０は、システム管理割り込み（ＳＭＩ）のような割り込み信号をＣＰＵ１１１に供給して、システム温度がしきい値Ｔ４＋を超えたことを示す温度イベント＃１の発生を、ＣＰＵ１１１に通知する（ステップＳ４０３）。ＣＰＵ１１１は割り込み信号に応答してウェイクアップして一時的にＣ０に遷移する。そしてＣＰＵ１１１はＢＩＯＳを実行する。
【０１１７】
温度イベント＃１が発生すると、システムステートはＢＩＯＳによって第２スタンバイステートＳ３に遷移される。
【０１１８】
システムが第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）である間は、ＥＣ／ＫＢＣ１４０は、温度センサによって検出された温度を監視し、検出された温度がしきい値Ｔ４−を下回ったか否かを判別する処理（ステップＳ４０５）、および検出された温度がしきい値Ｔ５を超えたか否かを判別する処理（ステップＳ４０７）を実行する。
【０１１９】
検出された温度がしきい値Ｔ４−を下回った時（ステップＳ４０５のＹＥＳ）、ＥＣ／ＫＢＣ１４０は、ＣＰＵ１１１への電力の供給を再開すると共に、システム管理割り込み（ＳＭＩ）のような割り込み信号をＣＰＵ１１１に供給して、システム温度がしきい値Ｔ４−を下回ったことを示す温度イベント＃２の発生を、ＣＰＵ１１１に通知する（ステップＳ４０６）。
【０１２０】
検出された温度がしきい値Ｔ５を超えた時（ステップＳ４０７のＹＥＳ）、ＥＣ／ＫＢＣ１４０は、ＣＰＵ１１１への電力の供給を再開すると共に、システム管理割り込み（ＳＭＩ）のような割り込み信号をＣＰＵ１１１に供給して、システム温度がしきい値Ｔ５を超えたことを示す温度イベント＃３の発生を、ＣＰＵ１１１に通知する（ステップＳ４０８）。
【０１２１】
次に、図１４のフローチャートを参照して、システムステートがスタンバイステートである間にＢＩＯＳによって実行されるステート制御処理の手順を説明する。
【０１２２】
割り込み信号によってＣＰＵ１１１が一時的にウェイクアップすると、ＢＩＯＳは、現在のスタンバイステートが第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）および第２スタンバイステートＳ３のどちらであるかを判別する（ステップＳ４０１）。
【０１２３】
現在のスタンバイステートが第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）であるならば、ＢＩＯＳは、ＥＣ／ＫＢＣ１４０のステータスレジスタ等を参照して、割り込み信号の発生要因が温度イベント＃１の発生であるか否か、つまり第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）において温度イベント＃１が発生したかどうかを判別する（ステップＳ５０２）。
【０１２４】
温度イベント＃１が発生したならば、ＢＩＯＳは、システムステートを第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）から第２スタンバイステートＳ３に遷移させる（ステップＳ５０３）。このステップＳ５０３においては、システムメモリ１１５への電力の供給が維持された状態で、ＣＰＵ１１１、ノースブリッジ１１４、およびＧＰＵ１１６それぞれへの電力の供給が停止される。
【０１２５】
第２スタンバイステートＳ３において、ＣＰＵ１１１が割り込み信号よってウェイクアップされると、ＢＩＯＳは、ＥＣ／ＫＢＣ１４０のステータスレジスタ等を参照して、温度イベント＃２および温度イベント＃３のどちらが発生したかを判別する（ステップＳ５０４，Ｓ５０５）。
【０１２６】
第２スタンバイステートＳ３において温度イベント＃２が発生したならば（ステップＳ５０４のＹＥＳ）、ＢＩＯＳは、システムステートを第２スタンバイステートＳ３から第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）に遷移させる（ステップＳ５０５）。このステップＳ５０５においては、ＣＰＵ１１１、ノースブリッジ１１４、およびＧＰＵ１１６それぞれへの電力の供給が再開される。また、ＧＰＵ１１６を初期化する処理がＢＩＯＳによって実行される。
【０１２７】
第２スタンバイステートＳ３において温度イベント＃３が発生したならば（ステップＳ５０６のＹＥＳ）、ＢＩＯＳは、システムステートを第２スタンバイステートＳ３から第３スタンバイステートＳ４に遷移させる（ステップＳ５０７）。ステップＳ５０７においては、ＢＩＯＳは、システムメモリ１１５に格納されているコンテクストをＨＤＤ１２１にセーブした後に、システムメモリ１１５を含むほとんど全てのデバイスへの電力の供給を停止する。
【０１２８】
次に、図１５のフローチャートを参照して、ＢＩＯＳによって実行されるレジューム／ブート処理の手順を説明する。
【０１２９】
ユーザによるパワーボタンスイッチ１４の操作のようなウェイクアップ要求が発生したとき、本コンピュータ１０は電源オンされ、そしてＢＩＯＳは、現在のシステムステートが、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）、第２スタンバイステートＳ３、第３スタンバイステートＳ４、およびオフステートＳ５のいずれであるかを判別する（ステップＳ６０１）。
【０１３０】
現在のシステムステートがオフステートＳ５であるならば、ＢＩＯＳは、オペレーティングシステムをブートアップする処理を実行する（ステップＳ６０２）。
【０１３１】
現在のシステムステートが第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）であれば、ＢＩＯＳは、システムステートを第１スタンバイステートＳ１から動作ステートＳ０に遷移させる第１レジューム処理を実行する（ステップＳ６０３）。システムステートが第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）である間は、ＧＰＵ１１６は電源オン状態に維持されている。したがって、ＧＰＵ１１６を初期化することなく、システムを動作ステートＳ０に高速に復帰することができる。
【０１３２】
現在のシステムステートが第２スタンバイステートＳ３であれば、ＢＩＯＳは、システムステートを第２スタンバイステートＳ３から動作ステートＳ０に遷移させる第２レジューム処理を実行する（ステップＳ６０４）。システムステートが第２スタンバイステートＳ３である間は、ＧＰＵ１１６は電源オフされている。したがって、システムを動作ステートＳ０に復帰するためには、ＧＰＵ１１６を初期化する処理などを実行することが必要となる。
【０１３３】
現在のシステムステートが第３スタンバイステートＳ４であれば、ＢＩＯＳは、システムステートを第３スタンバイステートＳ４から動作ステートＳ０に遷移させる第３レジューム処理を実行する（ステップＳ６０５）。
【０１３４】
以上のように、本実施形態においては、動作ステートＳ０に高速に復帰可能な第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）がスタンバイステートとして用いられる。この第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）においてシステム温度が上昇すると、システムステートは、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）よりも発熱の少ない第２スタンバイステートＳ３に自動的に遷移される。したがって、スタンバイステートにおけるシステム温度を比較的低く抑えつつ、スタンバイステートから動作ステートへの復帰の高速化を図ることが可能となる。
【０１３５】
なお、第１スタンバイステートＳ１（＝Ｓ３＿ｆａｓｔ）におけるＧＰＵ１１６のデバイスステートとして動作ステート（Ｄ０）を使用する場合においては、ＧＰＵ１１６の温度のみを監視すればよい。他の各デバイスはスタンバイステートまたはオフステートであり、ＧＰＵ１１６が最も熱を発生するからである。
【０１３６】
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１３７】
【図１】本発明の一実施形態に係るコンピュータの概観を示す斜視図。
【図２】図１のコンピュータのシステム構成の例を示すブロック図。
【図３】図１のコンピュータに設けられた温度監視システムの構成の例を示すブロック図。
【図４】図１のコンピュータに設けられたＥＣ／ＫＢＣの構成の例を示すブロック図。
【図５】図１のコンピュータのシステムステートの遷移を説明するための図。
【図６】図１のコンピュータで用いられる各システムステートと各デバイスの電力ステートとの関係の例を示す図。
【図７】図１のコンピュータによってシステムステートＳ０において実行される温度制御処理の例を説明するための図。
【図８】図１のコンピュータによってシステムステートＳ１において実行される温度制御処理の例を説明するための図。
【図９】図１のコンピュータで用いられるＢＩＯＳの機能構成の例を示す図。
【図１０】図１のコンピュータにおけるオペレーティングシステムとＢＩＯＳとの間のインタフェースの例を説明するための図。
【図１１】図１のコンピュータにおいて用いられるシステムセットアップ画面の例を示す図。
【図１２】図１のコンピュータによって実行されるサスペンド処理の手順の例を示すフローチャート。
【図１３】図１のコンピュータによって実行される温度監視動作の例を示すフローチャート。
【図１４】図１のコンピュータによって実行されるステート制御処理の手順の例を示すフローチャート。
【図１５】図１のコンピュータによって実行されるレジューム／ブート処理の手順の例を示すフローチャート。
【符号の説明】
【０１３８】
１０…コンピュータ、１１…コンピュータ本体、１１１…ＣＰＵ、１１４…ノースブリッジ、１１５…システムメモリ、１１６…ＧＰＵ、１２１…ＨＤＤ、５０１…サスペンド制御部、５０２…ステート制御部、５０３…レジューム制御部。
【図１】
2007249660.tif 000003
【図２】
2007249660.tif 000004
【図３】
2007249660.tif 000005
【図４】
2007249660.tif 000006
【図５】
2007249660.tif 000007
【図６】
2007249660.tif 000008
【図７】
2007249660.tif 000009
【図８】
2007249660.tif 000010
【図９】
2007249660.tif 000011
【図１０】
2007249660.tif 000012
【図１１】
2007249660.tif 000013
【図１２】
2007249660.tif 000014
【図１３】
2007249660.tif 000015
【図１４】
2007249660.tif 000016
【図１５】
2007249660.tif 000017