(57)【特許請求の範囲】
【請求項１】
第１メモリ管理システムを使用する第１メモリアドレス空間で動作する第１モードと、第２メモリ管理システムを使用する第２メモリアドレス空間で動作する第２モードとの少なくとも一方で動作可能な中央処理ユニットと、電力管理機能を含むオペレーティングシステムと、電力管理用のレジスタを含むシステムコントローラとを具備するコンピュータシステムにおけるオペレーティングシステム指向電力管理システムのスリープ制御方法において、
前記システムコントローラ内のレジスタにセットされた起動要因が少なくとも電源供給スイッチの押し下げ、リアルタイムクロックによりアラーム信号の発行、フラットパネルの開閉、モデムリンクからの起動であるかをシステム制御割り込みに応答してオペレーティングシステムにより判別するステップと、
オペレーティングシステムによりスリープタイプフラグとスリープイネーブルフラグとをセットするステップと、
前記スリープタイプフラグとスリープイネーブルフラグとのセットに応答し、中央処理ユニットの動作モードを第１モードから第２モードへ切換えるためのシステム管理割込みをオペレーティングシステムにより中央処理ユニットに対して発行し、システム管理−基本入出力システムを起動するステップと、
発行されたシステム管理割込みに応答してセットされたスリープタイプに対応する処理をシステム管理−基本入出力システムにより実施するステップと、
を具備するスリープ制御方法。
【請求項２】
第１メモリ管理システムを使用する第１メモリアドレス空間で動作する第１モードと、第２メモリ管理システムを使用する第２メモリアドレス空間で動作する第２モードとの少なくとも一方で動作可能な中央処理ユニットと、電力管理機能を含むオペレーティングシステムと、システム管理メモリを含むシステムコントローラとを具備するコンピュータシステムにおけるオペレーティングシステム指向電力管理システムのスリープ制御方法において、
前記システム管理メモリにセットされた温度イベントが少なくとも温度変化、バッテリ容量／状態変化、ＡＣアダプタ変化であるかをシステム制御割り込みに応答してオペレーティングシステムにより判別するステップと、
中央処理ユニットの動作モードを第１モードから第２モードへ切換えるためのシステム管理割込みをオペレーティングシステムにより中央処理ユニットに対して発行し、システム管理−基本入出力システムを起動するステップと、
前記システム管理メモリにセットされた温度イベントに対応する処理をシステム管理−基本入出力システムにより実施するステップと、
を具備するスリープ制御方法。
【請求項３】
コンピュータにおける電源関連に係わるイベント通知方法において、
電源コントローラにより組込みコントローラに電源関連データを通知するステップと、
コンピュータの動作モードを電力管理のためのシステム管理プログラムを実行するシステム管理モードにセットするために電源関連データを含むシステム管理割込みを組込みコントローラにより発行し、システム管理−基本入出力システムを起動するステップと、
システム管理−基本入出力システムにより電源関連データをレジスタにセットするステップと、
オペレーティングシステムを起動するためにシステム管理−基本入出力システムによりシステム制御割込みを発行するステップと、
レジスタにセットされた電源関連データをオペレーティングシステムにより取得し、取得した電源関連データに基づいて電力管理プログラムを実行するステップと、
を具備するイベント通知方法。
【請求項４】
コンピュータにおける温度に係わるイベント通知方法において、
温度センサにより温度データを組込みコントローラに通知するステップと、
コンピュータの動作モードを電源管理のためのシステム管理プログラムを実行するシステム管理モードにセットするために温度データを含むシステム管理割込みを組込みコントローラにより発行し、システム管理−基本入出力システムを起動するステップと、
システム管理−基本入出力システムにより温度データをレジスタにセットするステップと、
オペレーティングシステムを起動するためにシステム管理−基本入出力システムによりシステム制御割込みを発行するステップと、
レジスタにセットされた温度データをオペレーティングシステムにより取得し、取得した温度データに基づいて電源管理プログラムを実行するステップと、
を具備するイベント通知方法。
【請求項５】
前記温度データはコンピュータの周辺温度であり、
周辺温度を第１の閾値温度と比較し、周辺温度が第１の閾値温度より高い時はコンピュータを冷却するステップをさらに具備する請求項４記載のイベント通知方法。
【請求項６】
周辺温度を前記第１の閾値温度より高い第２の閾値温度と比較するステップと、
周辺温度が第２の閾値温度より高い時はシャットダウン処理を実行するステップをさらに具備する請求項５記載のイベント通知方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コンピュータシステムに関し、特に、コンピュータシステムの電源制御管理に関する。
【０００２】
【従来の技術】
従来、各コンピュータメーカーが、パーソナルコンピュータ（ＰＣ）の電力制御をＰＣのサブセット（付加価値）として、開発・販売して来た。パーソナルコンピュータの電力管理のアルゴリズムは、そのアルゴリズムをインプリメントする基本入出力システム（ＢＩＯＳ）に於いて、利用可能な情報に限られていた。
【０００３】
近年、ＢＩＯＳとオペーティングシステム（ＯＳ）の間のインタフェースとして、アドバンスパワーマネージメント（ＡＰＭ）を利用していた。ＡＰＭとは、ＯＳは、稼動中のアプリケーションソフトウェアが存在しないことをＢＩＯＳに通知し、ＢＩＯＳは、ＣＰＵのアイドル状態が一定時間経過したか判断し、もしＣＰＵのアイドル状態が一定時間以上であれば、ＣＰＵクロックの制御や、コンピュータシステムの各周辺デバイスへの電力供給を停止していた。以下、従来の機能を具備するＯＳをＬｅｇａｃｙ  ＯＳと称し、従来の機能を具備するＰＣのハードウェアをＬｅｇａｃｙハードウェアと称する。
【０００４】
従って、従来は、ＢＩＯＳが、コンピュータシステムの電力管理を実現する為、そのＢＩＯＳコードが、たいへん複雑になっていた。即ち、ＢＩＯＳが、電力管理の方針を決定していた。
【０００５】
最近、パーソナルコンピュータに於いては、米国Ｍｉｃｒｏｓｏｆｔ社が、ＯｎＮｏｗと呼ばれる新しい電力管理機能を提唱している。ＯｎＮｏｗとは、パーソナルコンピュータのオペレーティングシステム（ＯＳ）に電力管理の機能を組み込み、アプリケーションソフトウェアからの実行要求、周辺デバイスが発行するウェークアップ要求、パソコン内部の温度が上昇した時に発行される要求、電池の残量や端子電圧などの情報、ＣＰＵのアイドル状態を検出するために使うタイマー情報を一括管理する。ＯｎＮｏｗを実現するための一つの要素技術に、ＯＳとＢＩＯＳとのアドバンスドコンフィグレーションパワーインタフェース（ＡＣＰＩ）が設定され、上記ＡＣＰＩを介してＯＳが上記電力管理情報をＢＩＯＳから吸い上げることが可能となった。
【０００６】
従って、電力管理がＯＳの中で集中管理することができ、従来、ＢＩＯＳが判断していたＣＰＵのアイドル状態を検出する機能等は、不要となり、ＢＩＯＳの機能は、簡単となり、単純化することが出来る。以下、この様なＯＳをＯＳＰＭ（ＯＳ−Ｄｉｒｅｃｔ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ）と称する。
【０００７】
【発明が解決しようとする課題】
しかしながら、ＯＳＰＭを実現する為に、ＡＣＰＩでは、Ｌｅｇａｃｙハードウェアに対して、数種のレジスタを追加要求する。ＡＣＰＩでは、上記レジスタにセットされた状態に応じて、ハードウェアのみでスリープ制御や電源スイッチ制御等の電力管理の全ての機能を実現しなければいけないので、ＡＣＰＩをインプリメントしたハードウェアが複雑になるという問題点があった。
【０００８】
この発明は、上記の問題を解決するためになされたものであり、ＡＣＰＩ専用レジスタの設定前処理及び設定後処理に伴う、システムの電力管理をハードウェアエミュレーション（ソフトウェア）機能で実現し、ＡＣＰＩで追加されるハードウェアを最小限になるようなコンピュータシステムを提供することを目的にする。
【０００９】
【課題を解決するための手段】
本発明の一実施態様によれば、第１メモリ管理システムを使用する第１メモリアドレス空間で動作する第１モードと、第２メモリ管理システムを使用する第２メモリアドレス空間で動作する第２モードとの少なくとも一方で動作可能な中央処理ユニットと、電力管理機能を含むオペレーティングシステムと、電力管理用のレジスタを含むシステムコントローラとを具備するコンピュータシステムにおけるオペレーティングシステム指向電力管理システムのスリープ制御方法において、
前記システムコントローラ内のレジスタにセットされた起動要因が少なくとも電源供給スイッチの押し下げ、リアルタイムクロックによりアラーム信号の発行、フラットパネルの開閉、モデムリンクからの起動であるかをシステム制御割り込みに応答してオペレーティングシステムにより判別するステップと、
オペレーティングシステムによりスリープタイプフラグとスリープイネーブルフラグとをセットするステップと、
前記スリープタイプフラグとスリープイネーブルフラグとのセットに応答し、中央処理ユニットの動作モードを第１モードから第２モードへ切換えるためのシステム管理割込みをオペレーティングシステムにより中央処理ユニットに対して発行し、システム管理−基本入出力システムを起動するステップと、
発行されたシステム管理割込みに応答してセットされたスリープタイプに対応する処理をシステム管理−基本入出力システムにより実施するステップと、
を具備する。
本発明の他の実施態様によれば、第１メモリ管理システムを使用する第１メモリアドレス空間で動作する第１モードと、第２メモリ管理システムを使用する第２メモリアドレス空間で動作する第２モードとの少なくとも一方で動作可能な中央処理ユニットと、電力管理機能を含むオペレーティングシステムと、システム管理メモリを含むシステムコントローラとを具備するコンピュータシステムにおけるオペレーティングシステム指向電力管理システムのスリープ制御方法において、
前記システム管理メモリにセットされた温度イベントが少なくとも温度変化、バッテリ容量／状態変化、ＡＣアダプタ変化であるかをシステム制御割り込みに応答してオペレーティングシステムにより判別するステップと、
中央処理ユニットの動作モードを第１モードから第２モードへ切換えるためのシステム管理割込みをオペレーティングシステムにより中央処理ユニットに対して発行し、システム管理−基本入出力システムを起動するステップと、
前記システム管理メモリにセットされた温度イベントに対応する処理をシステム管理−基本入出力システムにより実施するステップと、
を具備する。
本発明の他の実施態様によれば、コンピュータにおける電源関連に係わるイベント通知方法において、
電源コントローラにより組込みコントローラに電源関連データを通知するステップと、
コンピュータの動作モードを電力管理のためのシステム管理プログラムを実行するシステム管理モードにセットするために電源関連データを含むシステム管理割込みを組込みコントローラにより発行し、システム管理−基本入出力システムを起動するステップと、
システム管理−基本入出力システムにより電源関連データをレジスタにセットするステップと、
オペレーティングシステムを起動するためにシステム管理−基本入出力システムによりシステム制御割込みを発行するステップと、
レジスタにセットされた電源関連データをオペレーティングシステムにより取得し、取得した電源関連データに基づいて電力管理プログラムを実行するステップと、
を具備する。
本発明の他の実施態様によれば、コンピュータにおける温度に係わるイベント通知方法において、
温度センサにより温度データを組込みコントローラに通知するステップと、
コンピュータの動作モードを電源管理のためのシステム管理プログラムを実行するシステム管理モードにセットするために温度データを含むシステム管理割込みを組込みコントローラにより発行し、システム管理−基本入出力システムを起動するステップと、
システム管理−基本入出力システムにより温度データをレジスタにセットするステップと、
オペレーティングシステムを起動するためにシステム管理−基本入出力システムによりシステム制御割込みを発行するステップと、
レジスタにセットされた温度データをオペレーティングシステムにより取得し、取得した温度データに基づいて電源管理プログラムを実行するステップと、
を具備する。
【００１５】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図１には、この発明の一実施形態に係わるコンピュータシステム全体の構成が示される。このコンピュータシステムは、バッテリー駆動可能なノートブックタイプのパーソナルコンピュータであり、ここには、東芝、インテル、マイクロソフトの３社によって策定された電力管理のためのアーキテクチャーであるＡＣＰＩが実装される。ＡＣＰＩでは、マザーボード上の各種ハードウェアの電力管理は、全てオペレーティングシステム（ＯＳＰＭ）によって直接管理及び制御される。
【００１６】
ＯＳＰＭ１２０は、図示のように、カーネル１２１、デバイスドライバ１２２、ＡＣＰＩドライバ１２３、および電力管理システムソフトウェア１２４を備える。デバイスドライバ１２２は電力管理のための標準インタフェースであり、各デバイス管理用のドライバ（クラスドライバ）、バス（ＰＣＩバス、ＵＳＢなど）を管理するためのドライバ（バスドライバ）、ＷＤＭ（Ｗｉｎｄｏｗｓ  Ｄｒｉｖｅｒ  Ｍｏｄｅｌ）に準拠したデバイス用ドライバを含む。ＡＣＰＩドライバ１２３は、ＡＣＰＩ対応ＢＩＯＳ１５０、ＡＣＰＩテーブル１６０、およびＡＣＰＩ用レジスタを用いて、ハードウェアの電力制御を行う。ＡＣＰＩテーブル１６０には、ハードウェアへのインタフェースを定義し、ＯＳで実行可能なＰコードと呼ばれる言語を利用し、各ハードウェアの特性を記述する。即ち、ＯＳＰＭ１２０は、ＡＣＰＩマシーン言語（ＡＭＬ）インタプリターを持ち、Ｐコードは、ＡＭＬによって、エンコードされ、ＡＣＰＩテーブル１６０に格納される。
【００１７】
実際のハードウェアの電力管理は、そのデバイスに対応するＡＣＰＩ用レジスタ１７を用いて行われる。電力管理システムソフトウェア１２４は、ＯＳＰＭシステムコードから構成されており、電力管理のためのタスクを実行する。
【００１８】
図２には、この発明の実施形態に係わるコンピュータシステムのハードウェア構成が示される。このコンピュータシステムのハードウェアは、図示のように、ＣＰＵ１１、システムコントローラ１２、システムメモリ１３、ＢＩＯＳ−ＲＯＭ１４、リアルタイムクロック（ＲＴＣ）１５、電源コントローラ１６、組込みコントローラ（ＥＣ）１８、温度センサー１９、空冷用電源ファン２０、ハードディスクドライブ２１を備える。
【００１９】
ＣＰＵ１１としては、例えば、米国インテル社により製造販売されているマイクロプロセッサ“ｐｅｎｔｉｕｍ”などが使用される。ＣＰＵは、ＰＬＬ回路を内蔵しており、このＰＬＬ回路は外部クロックＣＬＫに基づいて、その外部クロックＣＬＫと同一又はそれよりも高速の内部クロックＣＬＫ２を生成する。このＣＰＵ１１は、図３に示されるように、電力消費の異なる３つの動作ステート、つまり、ノーマルステート（Ｎｏｒｍａｌ  Ｓｔａｔｅ）、ストップグランドステート（Ｓｔｏｐ  Ｇｒａｎｄ  Ｓｔａｔｅ）、およびストップクロックステート（ＳＴＯＰ  Ｃｌｏｋ  Ｓｔａｔｅ）を有する。
【００２０】
ノーマルステートは、ＣＰＵの通常の動作ステートであり、命令はこのノーマルステートに於いて実行される。このノーマルステートは電力消費の最も多いステートであり、その消費電流は、〜７００ｍＡ程度である。
【００２１】
最も電力消費の少ないのは、ストップクロックステートであり、その消費電力は、〜３０μＡ程度である。このストップクロックステートに於いては、命令の実行が停止されるだけでなく、外部クロックＣＬＫ及び内部ＣＬＫ２も停止される。
【００２２】
ストップグランドステートは、ノーマルステートとストップクロックステートの中間の動作ステートであり、その消費電流は、２０〜５５ｍＡ程度と比較的少ない。ストップグランドステートに於いては、命令は実行されない。又、外部クロックＣＬＫ及び内部クロックＣＬＫ２は共にランニング状態であるが、ＣＰＵ１１内部ロジック（ＣＰＵコア）への内部クロックＣＬＫ２の供給は禁止される。このストップグランドステートは外部クロックＣＬＫの停止可能なステートであり、このストップグランドステートに於いて、外部ＣＬＫを停止すると、ＣＰＵ１１は、ストップグランドステートからストップクロックステートに移行する。
【００２３】
ノーマルステートと、ストップグランドステート間の遷移は、ストップクロック（ＳＴＰＣＬＫ＃）信号によって高速に行うことが出来る。
即ち、ノーマルステートに於いて、ＣＰＵ１１に供給されるＳＴＰＣＬＫ＃信号がイネーブルつまりアクティブステートに設定されると、ＣＰＵ１１は、現在実行中の命令が完了後、次の命令を実行すること無く、内部のパイプラインを全て空にしてから、ストップグランドサイクルを実行して、ノーマルステートからストップグランドステートに移行する。一方、ストップグランドステートに於いて、ＳＴＰＣＬＫ＃信号がディスエーブルつまりインアクティブステートに設定されると、ＣＰＵ１１は、ストップグランドステートからノーマルステートに移行し、次の命令の実行を再開する。
【００２４】
また、ストップグランドステートからストップクロックステートへの移行は、外部クロックＣＬＫを停止することによって瞬時に行われる。ストップクロックステートに於いて、ＣＰＵ１１への外部クロックＣＬＫの供給が再開されると、１ｍｓ後にＣＰＵはストップグランドステートに移行する。ストップクロックステートからの復帰には、時間がかかる。
【００２５】
ストップグランドステートは、ノーマルステートに比べて非常にローパワーで有り、且つ、ＳＴＰＣＬＫ＃信号によってノーマルステート、つまり、命令実行状態に高速に復帰出来る。
【００２６】
本発明のコンピュータシステムでは、システムがあるスリープ状態（Ｓ１ステート）時、ＣＰＵ１１に供給される動作クロックをストップする為に、ＣＰＵ１１をストップクロックステートに設定する。
【００２７】
更に、図２のＣＰＵ１１は、次のようなシステム管理機能を備えている。
即ち、ＣＰＵ１１は、アプリケーションプログラム１３０やＯＳＰＭ１２０などのプログラムを実行するためのリアルモード、プロテクトモード、仮想８６モードの他、システム管理モード（ＳＭＭ：Ｓｙｓｔｅｍ  Ｍｎａｇｅｍｅｎｔ  ｍｏｄｅ）と称される電力管理専用のシステム管理プログラムで実行するための動作モードを有する。
【００２８】
リアルモードは、最大で、１Ｍバイトのメモリ空間をアクセスできるモードで有り、セグメントレジスタで表されるベースアドレスからのオフセット値で物理アドレスが決定される。プロテクトモードは、１タスク当たり最大４Ｇバイトのメモリ空間をアクセスできるモードであり、ディスクプリタテーブルと称されるアドレスマッピングテーブルを用いてリニアアドレスが決定される。このリニアアドレスは、ページングによって最終的に物理アドレスに変換される。仮想８６モードは、リニアモードで動作するように構成されたプログラムをプロテクトモードで動作させるためのモードであり、リニアモードのプログラムはプロテクトモードにおける１つのタスクとして扱われる。
【００２９】
システム管理モード（ＳＭＭ）は、擬似リアルモードであり、このモードでは、ディスクプリタテーブルは参照されず、ページングも実行されない。システム管理割込み（ＳＭＩ：Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｒｕｐｔ）がＣＰＵ１１に発行された時、ＣＰＵ１１の動作モードは、リアルモード、プロテクトモード、又は仮想８６モードから、ＳＭＭにスイッチされる。
【００３０】
ＳＭＩは、マスク不能割込みＮＭＩの一種であるが、通常のＮＭＩやマスク可能割込みＩＮＴＲよりも優先度の高い、最優先度の割込みである。このＳＭＩを発行することによって、システム管理プログラムとして用意された種々のＳＭＩサービスルーチンを実行中のアプリケーションプログラムやＯＳ環境に依存せずに起動することが出来る。
【００３１】
本願発明のコンピュータシステムでは、ＡＣＰＩ仕様で追加された専用レジスタ１７に起因する電力管理機能を行うハードウェアが存在しないので、上記ＳＭＩを発行し、ＳＭＭ中で、ＡＣＰＩ専用レジスタの設定前処理及び設定後処理の為のハードウェアエミュレーションを実行する。
【００３２】
システムコントローラ１２は、このシステム内のメモリやＩ／Ｏを制御するためのゲートアレイであり、ここには、ＣＰＵ１１へのＳＭＩ信号およびＳＴＰＣＬＫ＃信号の発生を制御するためのハードウェアが組込まれる。システムコントローラ１２に於いては、ＣＰＵ１１に外部クロックＣＬＫを供給するクロック発生回路、ＣＰＵ１１にＳＭＩを供給するＳＭＩ発生回路、ＳＴＰＣＬＫ＃の発生制御を行うストップクロック制御回路が設けられる。
【００３３】
更に、システムコントローラ１２は、図４と図１３に示されたとおり、ＯＳＰＭ１２０を実現する為の複数のＡＣＰＩレジスタ（ＰＭ１ａ＿ＣＮＴ、ＰＭ１ａ＿ＳＴＳとＧＰ＿ＳＴＳ）１７を備える。
【００３４】
ＰＭ１ａ＿ＳＴＳレジスタは、ＰＷＲＢＴＮ＿ＳＴＳ、ＲＴＣ＿ＳＴＳとＷＡＫ＿ＳＴＳ等から構成される。
ＰＷＲＢＴＮ＿ＳＴＳは、電源スイッチが押圧された時にセットされるレジスタである。コンピュータシステムが通常状態の場合、ＰＷＲＢＴＮ＿ＥＮ（図示せず）とＰＷＲＢＴＮ＿ＳＴＳの両方がセットされた時、割込み（ＳＣＩ：Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｒｕｐｔ）が発行される。ＳＣＩとは、ＯＳＰＲＭ１２０に電力管理イベント（以下、ＰＭＥと称す）を通知するために、ハードウェアによって使用されるシステム割込みである。コンピュータシステムがスリープ状態又はソフトオフ状態の場合、ＰＷＲＢＴＮ＿ＥＮの設定に係わりなく、電源スイッチが押圧されると、ＥＣ１８にウェークアップイベントが発生される。通常、ＡＣＰＩ仕様では、ＰＷＲＢＴＮ＿ＳＴＳビットは、ハードウェアによってのみセットされ、ソフトウェアが“１”をこのビットに書くことによってのみリセットされる。
【００３５】
本願発明のコンピュータシステムに於いては、ＰＷＲＢＴＮ＿ＳＴＳの設定前処理は、ＥＣ１８からのＳＭ―ＢＩＯＳで上記ビットをセットし、ＯＳＰＭ１２０にＳＣＩを発行する。
【００３６】
ＲＴＣ＿ＳＴＳとは、ＲＴＣ１５がアラームつまりＲＴＣ  ＩＲＱ信号をアサートした時、セットされるレジスタである。もしＲＴＣ＿ＥＮ（図示せず）がセットされ、ＲＴＣ＿ＳＴＳビットのセットされたならば、ＯＳＰＭに対してＰＭＥを知らせる。通常、ＡＣＰＩ仕様では、ＲＴＣ＿ＳＴＳビットは、ハードウェアによってのみセットされ、ソフトウェアが“１”をこのビットに書くことによってのみリセットされる。コンピュータシステムがスリープ状態の場合、もしＲＴＣがウェークアップの原因ならば、ＲＴＣ＿ＳＴＳビットは、ＯＳＰＭに制御を返す前に、セットされなければいけない。
【００３７】
本願発明のコンピュータシステムに於いては、ＲＴＣ＿ＳＴＳの設定前処理は、ＥＣ１８からのＳＭ―ＢＩＯＳ処理で上記ビットをセットし、ＯＳＰＭ１２０にＳＣＩを発行する。
【００３８】
ＷＡＫ＿ＳＴＳとは、コンピュータシステムがスリープ状態で、電源スイッチやＲＴＣ等のウェークアップイベントが発生した場合、セットされるレジスタである。ＷＡＫ＿ＳＴＳビットのセットと共に、コンピュータシステムは、通常動作状態に遷移する。通常、ＡＣＰＩ仕様では、ＷＡＫ＿ＳＴＳビットは、ハードウェアによってのみセットされ、ソフトウェアが“１”をこのビットに書くことによってのみリセットされる。
【００３９】
本願発明のコンピュータシステムに於いては、ＷＡＫ＿ＳＴＳの設定前処理は、ＥＣ１８からのＳＭ―ＢＩＯＳ処理で上記定ビットをセットし、ＯＳＰＭ１２０にＳＣＩを発行する。
【００４０】
ＰＭ１ａ＿ＣＮＴレジスタは、ＳＬＰ＿ＥＮとＳＬＰ＿ＴＹＰ等から構成される。
ＳＬＰ＿ＴＹＰとは、ＳＬＰ＿ＥＮビットが“１”にセットされている時、コンピュータシステムが遷移するスリープ状態のタイプＳ１〜Ｓ５を定義する。ＤＳＤＴ内のＰコードで記述された＿Ｓｘオブジェクトは、そのオブジェクトで定義された各々のスリープ状態に関連した３ビットバイナリー値を有し、ＡＣＰＩドライバ１２３は、対象の＿Ｓｘオブジェクトから２つの値を取りだし、ＳＬＰ＿ＴＹＰビットに前記各値をセットするようにプログラムされる。
【００４１】
ＳＬＰ＿ＥＮとは、書き込み専用ビットである。このビットへのセット処理は、コンピュータシステムをＳＬＰ＿ＴＹＰの値に従ったスリープ状態に遷移可能である。
【００４２】
本願発明のコンピュータシステムに於いては、システムがスリープ状態に入る時、ＡＣＰＩドライバ１２３は、ＳＬＰ＿ＥＮビットとＳＬＰ＿ＴＹＰをセットするので、ＳＭ−ＢＩＯＳはＳＬＰ＿ＴＹＰに従ったスリープ処理を実行する。
【００４３】
ＧＰ＿ＳＴＳレジスタは、ＧＰ＿ＳＴＳ５等から構成され、ＣＰＵ１１周辺の温度変化やバッテリー容量等のイベントをＳＣＩを発行して、ＯＳＰＭに通知する。
【００４４】
本願発明のコンピュータシステムに於いては、ＥＣ１８からＳＭＩが発行され、ＳＭ−ＢＩＯＳがＳＭ−ＲＡＭ内の各エリアにイベントの種類に応じて、所定ビットを設定し、上記ＧＰ＿ＳＴＳ５をセットする。
【００４５】
システムメモリ１３は、ＯＳＰＭ１２０、処理対象のアプリケーションプログラム１３０、およびアプリケーションプログラムによって作成されたユーザデータ等を格納する主メモリである。
【００４６】
ＳＭ―ＲＡＭ５０は、メインメモリ１３のＦＦＦＥ００００Ｈから６４ＫＢのアドレス空間にマッピングされるメモリであり、ここで、ＳＭＲＡＭがマッピングされるアドレス範囲は固定ではなく、ＳＭＢＡＳＥと称されるレジスタによって、４ＧバイトのＣＰＵメモリアドレス空間の任意の場所に変更可能である。ＳＭＢＡＳＥレジスタは、ＳＭＭ中でないとアクセスできない。
【００４７】
ＣＰＵ１１がＳＭＭに移行する時、ＳＭＩが発行された時のＣＰＵ１１内のレジスタのステータスの他、本願発明に於いては、ＣＰＵ温度情報やバッテリーの情報がＳＭ―ＲＡＭ５０にセーブされる。更に、このＳＭ―ＲＡＭ５０には、ＢＩＯＳ−ＲＯＭ１４内のスリープ制御プログラムを呼び出すための命令も格納される。
【００４８】
ＢＩＯＳ−ＲＯＭ１４は、図５に示されるとおり、ＢＩＯＳ（Ｂａｓｉｃ  Ｉ／Ｏ  Ｓｙｓｔｅｍ）を記憶するものであり、プログラム書き換えが可能なようにフラッシュメモリによって構成される。ＢＩＯＳは、リアルモードで動作するように構成される。このＢＩＯＳには、システムブート時に実行されるＢＩＯＳ−ＩＲＴルーチンと、各種Ｉ／Ｏデバイスを制御するためのＢＩＯＳ−ＲＵＮと、ＡＣＰＩ対応の電力を管理するＳＭ−ＢＩＯＳ、ＡＣＰＩテーブルが含まれる。ＳＭ−ＢＩＯＳは、ＳＭＭにおいて実行されるプログラムであり、コンピュータシステムのスリープ制御やＳＭ−ＲＡＭにイベント要因を設定するルーチンを含むＳＭＩプログラムと、実行するＳＭＩルーチンを決定するためのＳＭＩハンドラ等を含む。
【００４９】
ＳＭＩハンドラは、ＳＭＩが発生した時、ＣＰＵ１１によって最初に呼び出されるＢＩＯＳ内のプログラムであり、これによって、ＳＭＩの発生要因のチェックや、その要因に対応したＳＭＩルーチンの呼び出しが実行される。
【００５０】
ＡＣＰＩテーブル１６０は、ＩＲＴでフラッシュＲＯＭから８Ｍバイト以上のＣＰＵアドレス空間の６４ＫＢブロックに転送される。ＡＣＰＩテーブル１６０は、４つのテーブルＲＳＤＴ、ＦＡＣＰ、ＤＳＤＴ、ＦＡＣＳから構成される。
【００５１】
ＲＳＤＴ（Ｒｏｏｔ  Ｓｙｓｔｅｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｔａｂｌｅ）とは、メインメモリ中に格納された他のテーブルを指し、第一番目のテーブルとして、必ず、ＦＡＣＰ（Ｆｉｘｅｄ  ＡＣＰＩ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｔａｂｌｅ）を示す。ＦＡＣＰの目的は、電力管理の為の多種多様な静的システム情報を定義する。即ち、ＦＡＣＰ内のデータは、固定されたハードウェアのＡＣＰＩ特徴を記述する多種多様な固定長エントリーを含む。ＦＡＣＰは、必ず、多種多様なシステム特徴の為の情報を記述したＤＳＤＴ（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｙｓｔｅｍ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｔａｂｌｅ）を参照する。ＡＣＰＩドライバ１２３は、ＤＳＤＴ内に格納されたＰコードで記述されたハードウェアの定義ブロック（各デバイスの電力管理を処理するオブジェクト）に従って、コンピュータシステムのハードウェアの電力を制御する。ＦＡＣＳ（Ｆｉｒｍｗａｒｅ  ＡＣＰＩ  Ｃｏｎｔｒｏｌ  Ｓｔｒｕｃｔｕｒｅ）は、コンピュータシステムのＳ３ステートからのＳ０ステートへ状態遷移を実行するための、ウェークアップベクター等を定義する。
【００５２】
ＲＴＣ１５は、独自の動作用電池を持つ時計モジュールで有り、その電池から常時電源が供給されるＣＭＯＳメモリを有している。このＣＭＯＳメモリにも、システム動作環境をセットアップ情報や年月日のアラーム時刻の格納等に利用される。
【００５３】
電源コントローラ１６は、電源回路を制御してシステム内の各ユニットに電源を供給するものであり、１チップマイクロコンピュータを内蔵する。この電源コントローラ１６は、バッテリー残量容量、ＡＣアダプターの接続の有無などの状態変化をＥＣ１８に報告する。
【００５４】
ハードディスクドライブ２１は、ＯＳＰＭ１２０、アプリケーションプログラム１３０やＣＰＵ１１で処理されたデータやファイルを格納する。
ＥＣ１８は、電源シーケンス制御、電源ステータス変化の要因監視、バッテリー情報サービス、ＣＰＵの熱制御、ＬＥＤ制御等の機能を有する。
【００５５】
電源シーケンス制御とは、電源スイッチのオン／オフ及び電源サスペンド処理に関係するシーケンス制御である。
電源ステート変化の要因監視とは、電源スイッチ、パネルオープン／クローズ、ＲＴＣ１５やモデムリング等からのウェークアップ監視、ローバッテリー状態監視、電源異常の監視を行う。
【００５６】
バッテリー情報サービスとは、バッテリーの着脱監視、バッテリー情報（容量／状態変化）の読み込み及びＯＳＰＭへの転送を行う。
バッテリー着脱は、電源コントローラ１６が監視し、ＥＣ１８は、バッテリーの着脱状態変化をＩ２Ｃバス経由で受け取る。ＥＣ１８は、バッテリーの着脱状態変化を判定後、システムにＳＣＩを利用してイベントを通知する。
【００５７】
本願発明のコンピュータシステムに於いては、システム本体にバッテリー装填時、ＥＣ１８はＳＣＩでバッテリーの着脱イベントをシステムに通知する前に、バッテリー情報をＩ２Ｃバス経由で受け取り、ＳＭ−ＢＩＯＳによって該バッテリー情報をＳＭ−ＲＡＭに格納し、システムにＰＭＥを転送する。
【００５８】
バッテリー情報は、電源コントローラ１６から定期的に送信されてくので、ＥＣ１８でその情報を読み取り、バッテリーの情報値の変化が認められたならば、ＥＣ１８は、ＳＭ−ＢＩＯＳによってバッテリー情報をＳＭ−ＲＡＭに格納し、システムにＰＭＥを転送する。
【００５９】
熱制御とは、ＥＣ１８は、ＣＰＵ１１の温度を定期的に監視し、ＳＣＩで温度変化をシステムに通知する。更に、ＥＣ１８は、クリティカルな温度を検出したならば、強制的にコンピュータシステムの各コンポーネントに対する電源供給を止める。ＥＣ１８は、温度の監視を５分間間隔で行い、温度変化が認められたならば、その温度をＳＣＩでシステムに転送する。
【００６０】
ＬＥＤ制御とは、ＥＣ１８は、システムのスリープ状態（Ｓｘ）に合わせたＬＥＤの点灯制御を実行する。
ＥＣ１８は、システムのサスペンドやパワーダウン時でも動作する為、ＥＣ１８自身の低電力を目指す為、低速クロックで動作している。本願発明に於いては、ＯＳＰＭからの要求で読み出すバッテリー情報やＣＰＵの熱情報は、ＳＭＩでＳＭ−ＲＡＭに情報を転送しておき、ＯＳＰＭからの要求に対しては、ＳＭ−ＲＡＭから読み出す処理とする。
【００６１】
次に、図６を参照して、ＡＣＰＩモード時のコンピュータシステムの状態遷移を説明する。
ＡＣＰＩ仕様では、サスペンド状態をスリープ、レジーム状態をウェークアップと呼ばれている。スリープ状態は、複数の状態（Ｓ０〜Ｓ５）を定義することができ、本願発明では、以下のＳステートを使用する。それぞれのスリープ状態への遷移は、ＯＳＰＭがＰＭ１ａ＿ＣＮＴレジスタのＳＬＰ＿ＥＮビットをセットすることによって実行される。本願発明に於いては、ＳＬＰ＿ＥＮビットがセットされたならば、ＯＳＰＭがＳＭＩを発行し、ＳＭ−ＢＩＯＳで実際のスリープ処理を実行する。
【００６２】
Ｓ０ステートとは、ＯＳＰＭが動作状態を示す。このステートでは、ＯＳＰＭはコンピュータシステム内の各デバイスのパワーマネージメント（Ｄ０〜Ｄ３）及びＣＰＵパワーマネージメント（Ｃ０〜Ｃ３）を実行する。
【００６３】
図６に於いて、Ｃｘは、ＣＰＵのパワーマネージメント状態を示し、例えば、Ｃ１は、ＣＰＵのＨａｌｔ状態を示す。又、Ｄｘは、デバイスのパワーマネージメント状態を示す。
【００６４】
Ｓ１ステートとは、ＣＰＵ１１、メインメモリ及び全てのハードウェア状態を保持したスリープステートであり、ＣＰＵや各デバイスに入力されるクロックを停止する。ＥＣ１８からのウェークアップイベントがＯＳＰＭに通知されたならば、Ｓ１ステートに入る時に停止したクロックを再供給する。
【００６５】
本願発明に於いて、ＳＭＩ−ＢＩＯＳによるＳ１ステート処理は、全てのＩＲＱ（各デバイスからの割込み要求）とＥＣ１８以外のＳＭＩをマスクし、ＥＣ１８からのウェークアップのみを有効とした状態に設定してＣＰＵ１１のクロックを停止する。
【００６６】
ＥＣ１８からのウェークアップ要求が発生したならば、ＳＭ−ＢＩＯＳは、Ｓ０ステートに復帰するために、ＩＲＱやＳＭＩマスクを解除し、ＷＡＫ＿ＳＴＳをセットする。
【００６７】
Ｓ３ステートとは、通常、ＡＣＰＩ仕様では、メインメモリ以外のハードウェア設定環境値（以下、ＨＷ  ｃｏｎｔｅｘｔと称す）を保持する必要のないスリープステートである。即ち、デバイスは、電源オフ状態（Ｄ３）でスリープに入る。しかしながら、本願発明に於いては、Ｌｅｇａｃｙ  ＯＳで実行されたサスペンド／レジュームと共通仕様する為に、ＨＷ  ｃｏｎｔｅｘｔをメインメモリにセーブする。
【００６８】
ＳＭ−ＢＩＯＳは、Ｓ３ステート処理でＥＣ１８へサスペンドコマンドを発行する前に、電源スイッチ、パネルスイッチ、モデムリング、ＲＴＣアラーム等のウェークアップ条件を設定する。
【００６９】
Ｓ３ステートのウェークアップに於いては、ＢＩＯＳは、各デバイスの初期化処理とＨＷ  ｃｏｎｔｅｘｔの復帰（ｒｅｓｔｏｒｅ）処理を実行後、ＦＡＣＳ内のウェークアップベクターをリアルモードでコールすることで、ＯＳのウェークアップを開始する。
【００７０】
Ｓ５ステートとは、ソフトオフ状態（Ｇ２）であり、電源コントローラ１６やＥＣ１８へのバックアップバッテリー供給を除く、コンピュータシステムの電源供給を停止する。ＰＭ１ａ＿ＣＮＴレジスタの設定値は、ソフトオフ状態では、保持されないため、ＢＩＯＳは、システムブート時、ＳＬＰ＿ＴＹＰ＝５を設定する。
【００７１】
ＯＳＰＭが、ローバッテリー状態であると判断して、システムをＳ３ステート（サスペンド状態）に移行した場合のレジーム処理は、ＳＭ−ＢＩＯＳがＳＭ−ＲＡＭ内の汎用ＰＭＥ要因フラグと、ＧＰ＿ＳＴＳ５ビットをセット後、ＳＣＩを利用して、ＰＭＥを発生させる。
【００７２】
次に、図７〜図１３を参照して、本願発明に係わるイベント通知処理を説明する。
図７は、本願発明の電源スイッチに係わる処理（Ｓ０→Ｓ１／Ｓ３遷移）のフローチャートを示す。
【００７３】
ＥＣ１８は、電源スイッチが押圧されたことを検出し、ＳＭＩを利用してＳＭ−ＢＩＯＳを起動する（ステップ２００〜２１０）。
ＳＭ―ＢＩＯＳは、ＳＭＩ発行の原因が電源スイッチであると判別し、ＰＭ１ａ＿ＳＴＳレジスタ内のＰＷＲＢＴＮ＿ＳＴＳビットを設定する（ステップ２２０）。ＰＷＲＢＴＮ＿ＳＴＳビット設定処理後、自動的に、ＳＣＩが発行され、ＯＳに対してＰＭＥを知らせる（ステップ２３０）。
【００７４】
ＯＳＰＭは、ＰＷＲＢＴＮ＿ＳＴＳビットの内容から電源スイッチのＰＭＥを判別し、システムをスリープ状態に入るか否かの判断を実行する（ステップ２４０）。ＯＳＰＭは、ＤＳＤＴ内のＰコードで記述されたスリープステートからウェークアップ要求を発生することが可能なシステム内の各デバイスをチェックする。もしシステムがスリープ状態に入る場合、ＯＳＰＭはＤＳＤＴ内のＰコードからＳｘステートを決定し、各デバイスをＤｘステートに設定する（ステップ２５０）。更に、ＯＳＰＭは、ＰＭ１ａ＿ＣＮＴ内のＳＬＰ＿ＴＹＰの３ビットのどれかを設定するとともにＰＭ１ａ＿ＣＮＴ内のＳＬＰ＿ＥＮビットを設定して、システムをスリープ状態に移行させる（ステップ２６０）。例えば、Ｓ３ステートならば、ＯＳＰＭは、ＳＬＰ＿ＴＹＰ＝３にセットする。システムがＳ１ステートへの移行ならば、ＯＳＰＭは、ＳＬＰ＿ＴＹＰ＝１にセットする。更に、ＯＳＰＭは、ＰＭ１ａ＿ＳＴＳレジスタ内のＷＡＫ＿ＳＴＳビットをクリアする。
【００７５】
ＳＬＰ＿ＥＮビットが設定されると自動的にＳＭＩが発行され、ＳＭ−ＢＩＯＳが起動される（ステップ２７０）。このＳＭ−ＢＩＯＳ内の処理で、ＯＳＰＭが要求したスリープステートを実行する。
【００７６】
ＳＬＰ＿ＴＹＰ＝１ならば、ＳＭ−ＢＩＯＳは、ＣＰＵ１１に対してＳＴＰＣＬＫ＃を発行し、ＣＰＵの状態をストップグランド状態に置く（ステップ２８０〜２９０）。次に、ＳＭ−ＢＩＯＳは、ＣＰＵ１１に供給されるクロックＣＬＫを停止する様に、システムコントローラのクロック制御回路を制御し、ＣＰＵ１１をストップクロック状態にする。更に、ＳＭ−ＢＩＯＳは、メインメモリをセルフリフレッシュ状態にする。セルフリフレッシュは、メインメモリ自身で維持される。全てのシステムクロックを停止する（ステップ３００）。
【００７７】
ＳＬＰ＿ＴＹＰ＝３ならば、システムが実際にサスペンド状態に入る前に、ＳＭ−ＢＩＯＳは、Ｈｗ  ｃｏｎｔｅｘｔをメインメモリに格納し、キャッシュメモリをフラッシュし、ＳＬＰ＿ＥＮビットをクリア後、ＥＣ１８に電源サスペンドの指示を与える（ステップ２８０とステップ３１０）。
【００７８】
次に、図８は、本願発明の電源スイッチに係わる処理（Ｓ１／Ｓ３→Ｓ０遷移）のフローチャートを示す。
再度、電源スイッチが押圧された時、ＥＣ１８はＳＭＩを発行してＳＭ−ＢＩＯＳを起動する（ステップ４００〜４１０）。
【００７９】
ＳＭ―ＢＩＯＳは、ＳＭＩ発行の原因が電源スイッチであると判別し、システムが現在どのスリープステートに置かれているかＳＬＰ＿ＴＹＰの３ビットに設定された値から判断する（ステップ４２０〜４３０）。
【００８０】
もしＳＬＰ＿ＴＹＰ＝１ならば、ＳＭ−ＢＩＯＳはＩＲＱ／ＳＭＩマスクを解除し、ＰＭ１ａ＿ＳＴＳ内のＷＡＫ＿ＳＴＳビットをセットし、ストップクロック状態に設定されているＣＰＵにクロックを供給し、ＳＴＰＣＬＫ＃をイアクティブにする（ステップ４４０）。
【００８１】
ＯＳＰＭは、ＷＡＫ＿ＳＴＳビットの状態を定期的に監視し、もしビット値がセットされていると判断したならば、システムをＳ１ステートに移行する前に設定した各デバイスをウェークアップさせる（ステップ４５０）。
【００８２】
一方、もしＳＬＰ＿ＴＹＰ＝３ならば、ＢＩＯＳ−ＩＲＴは、各デバイスやメモリの初期化後、ＨＷ  ｃｏｎｔｅｘｔを各デバイスに復帰後、ＦＡＣＳテーブル内のウェークアップベクターをコールする（ステップ４６０〜４７０）。
【００８３】
ＢＩＯＳ―ＩＲＴがウェークアップベクターコール後、ＳＬＰ＿ＴＹＰビットが３としてセットされているので、ＯＳＰＭはシステムがＳ３ステートであると認識し、システムをＳ０ステートに移行させる（ステップ４５０）。
【００８４】
上記ウェークアップの要因は、電源スイッチであったが、ＲＴＣからのアラーム信号、表示パネルの開閉に伴う信号、及びモデムからのリング信号であっても良い。ＲＴＣからのアラーム信号の場合、ＳＭ−ＢＩＯＳは、ＰＭ１ａ＿ＳＴＳレジスタのＲＴＣ＿ＳＴＳビットを設定し、ＯＳＰＭに対してＰＭＥを通知する。
【００８５】
次に、図９は、本願発明の電源関連に係わるイベント通知処理のフローチャートを示す。
電源コントローラ１６は、バッテリー容量変化やＡＣアダプター状態情報等の電源関連の情報をＥＣ１８に通知する。ＥＣ１８は、電源関連の情報を取得後、ＳＭＩを発行し、ＳＭ―ＢＩＯＳを起動する（ステップ５００〜５１０）。
【００８６】
ＳＭ−ＢＩＯＳは、電源コントローラ１６経由で取得した電源関連の情報を図１０に示されるＳＭ−ＲＡＭの汎用ＰＭＥ要因エリアのＧＰ＿ＳＴＳ要因レジスタにセットする（ステップ５２０）。更に、ＳＭ−ＢＩＯＳは、ＰＭ１ａ＿ＳＴＳレジスタ内のＧＰ＿ＳＴＳ５ビットをセットする（ステップ５３０）。ＧＰ＿ＳＴＳ５ビットが設定されると自動的にＳＣＩが発行され、ＯＳＰＭにＰＭＥを通知する（ステップ５４０）。
【００８７】
ＯＳＰＭは、ＡＣＰＩレジスタ（ＧＰ＿ＳＴＳ５ビット）で出力された情報をＳＣＩで受付け、先にＳＭ−ＲＡＭに格納された情報がＯＳＰＭに通知される（ステップ５５０）。ＯＳＰＭは、ＤＳＤＴ内に記述されたＰコードの内容に基づき、電源関連のパワーマネージメント処理を実行する。
【００８８】
次に、図１１は、本願発明のＣＰＵ周辺温度に係わるイベント通知処理のフローチャートを示す。
ＥＣ１８は、５分間隔で、温度センサーを介してＣＰＵ１１周辺の温度変化が通知される（ステップ６１０）。ＥＣ１８は、ＣＰＵ周辺の温度変化が通知されたならば、ＳＭＩを発行し、ＳＭ―ＢＩＯＳを起動する（ステップ６２０）。
【００８９】
ＳＭ−ＢＩＯＳは、ＣＰＵ周辺の温度情報をＳＭ−ＲＡＭの温度情報エリアの所定ビットにセットする（ステップ６３０）。更に、ＳＭ−ＢＩＯＳは、ＰＭ１ａ＿ＳＴＳレジスタ内のＧＰ＿ＳＴＳ５ビットをセットする（ステップ６４０）。ＧＰ＿ＳＴＳ５ビットが設定されると自動的にＳＣＩが発行され、ＰＭＥがＯＳＰＭに通知される（ステップ６５０）。
【００９０】
ＯＳＰＭは、ＡＣＰＩレジスタ（ＧＰ＿ＳＴＳ５ビット）から出力された情報をＳＣＩで受付け、先にＳＭ−ＲＡＭに格納された情報をＯＳに通知する（ステップ６６０）。
【００９１】
図１２を参照して、ＯＳＰＭが、温度制御用Ｐコードで以下の様な温度制御を実行する。
ＯＳＰＭは、ＣＰＵ１１の周辺温度が電動ファンオン状態の温度Ｔ１に達したと判断したならば、ＤＳＤＴ内に記述された電動ファンデバイス２０のオン処理を実行する。この処理過程で、ＯＳＰＭは、電動ファンオフ状態の温度Ｔ２に変更設定する。電動ファンオン状態で、ＣＰＵの周辺温度が電動ファンオフ状態の温度Ｔ２に達したと判断したならば、ＤＳＤＴ内に記述された電動ファンデバイス２０のオフ処理を実行する。ここで、再度、ＯＳＰＭは、電動ファンオン状態の温度Ｔ１に変更設定する。
【００９２】
ＯＳＰＭは、ＳＭ―ＲＡＭ経由で通知されたＣＰＵの周辺温度がクリティカル温度に達したと判断したならば、システムをシャットダウンの処理を実行する。以上は、ＯＳＰＭによるアクティブモードにおける温度変化とファン制御の一実施形態であったが、同様に、パッシブモードにおける温度変化とＣＰＵ速度制御も実行できる。
【００９３】
尚、温度設定ポイントは、予めＢＩＯＳ―ＲＯＭ内のテーブルを持って管理し、このテーブルに記述された値を図１０に示されたＳＭ−ＲＡＭ内の温度テーブルエリアに設定して、クーリング制御を行う。
【００９４】
【発明の効果】
以上説明したように、この発明によれば、ＡＣＰＩレジスタ専用レジスタの設定前処理及び設定後処理に伴う、システムの電力管理をハードウェアエミュレーション（ソフトウェア）機能で実現し、ＡＣＰＩで追加されるハードウェアを最小限になるようなコンピュータシステムをインプリメンテーションする事が出来る。
【図面の簡単な説明】
【図１】この発明の一実施形態に係わるコンピュータシステム全体のＳＷ構成を示すブロック図。
【図２】この発明の一実施形態に係わるコンピュータシステム全体のＨＷ構成を示すブロック図。
【図３】同実施形態のコンピュータシステムにおけるＣＰＵの動作遷移を示す図。
【図４】同実施形態のコンピュータシステムにおけるＡＣＰＩ専用レジスタを示す図。
【図５】同実施形態のコンピュータシステムにおけるＣＰＵアドレス空間を示す図。
【図６】同実施形態のＡＣＰＩモードにおけるコンピュータシステムの状態遷移を示す図。
【図７】同実施形態のコンピュータシステムにおける電源スイッチに係わるイベント通知（Ｓ０→Ｓ１／Ｓ３）の処理手順を示すフローチャート。
【図８】同実施形態のコンピュータシステムにおける電源スイッチに係わるイベント通知（Ｓ１／Ｓ３→Ｓ０）の処理手順を示すフローチャート。
【図９】同実施形態のコンピュータシステムにおける電源関連イベント通知の処理手順を示すフローチャート。
【図１０】同実施形態のコンピュータシステムにおけるＳＭ−ＲＡＭ内の汎用ＰＭＥ要因エリアと温度情報エリアを示す図。
【図１１】同実施形態のコンピュータシステムにおけるＣＰＵ周辺の温度イベント通知の処理手順を示すフローチャート。
【図１２】同実施形態のコンピュータシステムにおけるＣＰＵ周辺の温度に基づく、電動ファン制御を示すフローチャート。
【図１３】同実施形態のコンピュータシステムにおけるＥＣからＯＳＰＭへのイベント通知を示す図。
【符号の説明】
１１…ＣＰＵ
１２…システムコントローラ
１３…システムメモリ
１４…ＢＩＯＳ―ＲＯＭ
１５…ＲＴＣ
１６…電源コントローラ
１７…ＡＣＰＩ用専用レジスタ
１８…ＥＣ
２０…電動ファン
２１…温度センサー
１２０…ＯＳＰＭ
１２３…ＡＣＰＩドライバ
１２４…電力管理用システムソフトウエア
１３０…アプリケーション
１５０…ＡＣＰＩ対応ＢＩＯＳ
１６０…ＡＣＰＩ用テーブル
【図１】
0003943665.tif 000002
【図２】
0003943665.tif 000003
【図３】
0003943665.tif 000004
【図４】
0003943665.tif 000005
【図５】
0003943665.tif 000006
【図６】
0003943665.tif 000007
【図７】
0003943665.tif 000008
【図８】
0003943665.tif 000009
【図９】
0003943665.tif 000010
【図１０】
0003943665.tif 000011
【図１１】
0003943665.tif 000012
【図１２】
0003943665.tif 000013
【図１３】
0003943665.tif 000014