(57)【特許請求の範囲】
【請求項１】
パワーセーブモードへの移行時にメモリにセーブされたシステムデータを用いて、前記パワーセーブモード直前の作業環境を復元するレジューム処理機能を有するコンピュータシステムにおいて、
前記パワーセーブモードからのウェイクアップ時に、前記レジューム処理機能の実行のためにＢＩＯＳプログラムによって実行されるべき第１のレジューム処理の内で、オペレーティングシステムの動作に必要な、ＣＰＵを含むシステムコア部の状態を前記メモリにセーブされたシステムデータを用いて復元するための処理を、前記ＢＩＯＳプログラムに実行させる手段と、
前記ＣＰＵを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して、前記ＢＩＯＳプログラムから前記オペレーティングシステムに制御を移し、前記レジューム処理機能の実行のために前記オペレーティングシステムによって実行されるべき前記デバイス毎に設けられた第２のレジューム処理を、前記オペレーティングシステムに実行させる手段と、
前記第１のレジューム処理の内の残りの処理と前記第２のレジューム処理とが交互に実行されるように、前記オペレーティングシステムが前記第２のレジューム処理を実行している期間中に割り込み処理を挿入し、その割り込み処理の中で前記ＢＩＯＳプログラムを実行させる割り込み制御手段とを具備することを特徴とするコンピュータシステム。
【請求項２】
前記割り込み制御手段は、前記割り込み処理を挿入するための割り込み信号を所定のタイムインターバル毎に前記コンピュータシステムのＣＰＵに発行する手段を含むことを特徴とする請求項１記載のコンピュータシステム。
【請求項３】
前記第１のレジューム処理の内の前記残りの処理は、前記コアユニット以外の他の複数のデバイスそれぞれを前記第２のレジューム処理の実行が可能な状態にするための前処理を含み、前記第２のレジューム処理は、前記前処理が完了した各デバイスを前記パワーセーブモード直前の状態に復元する処理を含むことを特徴とする請求項１記載のコンピュータシステム。
【請求項４】
前記前処理が完了していないデバイスに対する前記第２のレジューム処理の実行を禁止するため、前記各デバイス毎に前記前処理が完了されているか否かを前記オペレーティングシステムに判別させる手段をさらに具備することを特徴とする請求項３記載のコンピュータシステム。
【請求項５】
前記前処理では、前記複数のデバイスそれぞれに対して、それらを前記第２のレジューム処理の実行が可能な状態にまで復元するために必要なコマンドが順次発行され、
前記割り込み制御手段は、各デバイスからのコマンド処理の完了を示す割り込み信号に応答して、前記割り込み処理を挿入するための割り込み信号を前記ＣＰＵに発行する手段を含むことを特徴とする請求項３記載のコンピュータシステム。
【請求項６】
複数のデバイスを有するコンピュータシステムにおいて、
前記コンピュータシステムをパワーセーブモードに設定することを示すイベントの発生に応答して、前記複数のデバイスを動作ステートから省電力ステートに遷移させる手段と、
ＣＰＵを含むシステムコア部のシステムデータを前記コンピュータシステムのメモリにセーブし且つ前記省電力ステートに遷移された複数のデバイスそれぞれのステータスデータを前記メモリにセーブした後、前記コンピュータシステムを前記パワーセーブモードに入れる手段と、
前記パワーセーブモードからの復帰を示すウェイクアップイベントの発生に応答して、前記メモリにセーブされているシステムデータを用いて前記ＣＰＵを含むシステムコア部の状態を復元する処理をＢＩＯＳプログラムによって実行する手段と、
前記メモリにセーブされているステータスデータを用いて前記複数のデバイスそれぞれを前記省電力ステートの状態に復元する第１のレジューム処理をＢＩＯＳプログラムによって実行する手段と、
前記省電力ステートに復元された前記複数のデバイスそれぞれを前記動作ステートに復元する第２のレジューム処理をオペレーティングシステムによって実行する手段と、
前記ＣＰＵを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して前記ＢＩＯＳプログラムから前記オペレーティングシステムに制御を移し、前記省電力ステートへの復元が完了したデバイスから順に前記動作ステートへの復元処理が開始されるように、前記ＢＩＯＳプログラムによる前記第１のレジューム処理と前記オペレーティングシステムによる前記第２のレジューム処理とを交互に実行させる制御手段とを具備することを特徴とするコンピュータシステム。
【請求項７】
前記第２のレジューム処理は、前記各デバイス毎に前記省電力ステートの状態への復元処理が完了されているか否かを判別する処理と、前記省電力ステートの状態への復元処理が完了したことが判別されたデバイスから順に前記動作ステートへの復元処理を開始する処理とを含むことを特徴とする請求項６記載のコンピュータシステム。
【請求項８】
前記制御手段は、タイマからの割り込み信号を用いて、前記第１のレジューム処理と前記第２のレジューム処理を一定時間間隔で交互に切り換えて実行することを特徴とする請求項６記載のコンピュータシステム。
【請求項９】
前記第１のレジューム処理は、前記複数のデバイスのコマンド処理が並行して実行されるように、前記複数のデバイスに対してそれらを前記省電力ステートの状態に復元するために必要なコマンドを順次発行することを特徴とする請求項６記載のコンピュータシステム。
【請求項１０】
前記第１のレジューム処理は、前記複数のデバイスのコマンド処理が並行して実行されるように、前記複数のデバイスそれぞれに対してそれらを前記省電力ステートの状態に復元するために必要なコマンドを順次発行し、
前記制御手段は、コマンド処理が完了したデバイスに対して次のコマンドが発行されるように、コマンド処理の完了を示す各デバイスからの割り込み信号を監視し、前記割り込み信号の発生が検出される度に前記第２のレジューム処理から前記第１のレジューム処理に処理を切り換える手段を含むことを特徴とする請求項６記載のコンピュータシステム。
【請求項１１】
パワーセーブモードへの移行時にメモリにセーブされたシステムデータを用いて、コンピュータシステムを前記パワーセーブモード直前の作業環境に復元するレジューム処理機能を実行するレジューム処理方法であって、
前記パワーセーブモードからのウェイクアップ時に、前記レジューム処理機能の実行のためにＢＩＯＳプログラムによって実行されるべき第１のレジューム処理の内で、オペレーティングシステムの動作に必要な、ＣＰＵを含むシステムコア部の状態を前記メモリにセーブされたシステムデータを用いて復元するための処理を、前記ＢＩＯＳプログラムに実行させるステップと、
前記ＣＰＵを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して、前記ＢＩＯＳプログラムから前記オペレーティングシステムに制御を移し、前記レジューム処理機能の実行のために前記オペレーティングシステムによって実行されるべき前記デバイス毎に設けられた第２のレジューム処理を、前記オペレーティングシステムに実行させるステップと、
前記第１のレジューム処理の内の残りの処理と前記第２のレジューム処理とが交互に実行されるように、前記オペレーティングシステムが前記第２のレジューム処理を実行している期間中に割り込み処理を挿入し、その割り込み処理の中で前記ＢＩＯＳプログラムを実行させるステップとを具備することを特徴とするレジューム処理方法。
【請求項１２】
複数のデバイスを有するコンピュータシステムに適用されるレジューム処理方法であって、
前記コンピュータシステムをパワーセーブモードに設定することを示すイベントの発生に応答して、前記複数のデバイスを動作ステートから省電力ステートに遷移させるステップと、
ＣＰＵを含むシステムコア部のシステムデータを前記コンピュータシステムのメモリにセーブし且つ前記省電力ステートに遷移された複数のデバイスそれぞれのステータスデータを前記コンピュータシステムのメモリにセーブした後、前記コンピュータシステムを前記パワーセーブモードに入れるステップと、
前記パワーセーブモードからの復帰を示すウェイクアップイベントの発生に応答して、前記メモリにセーブされているシステムデータを用いて前記ＣＰＵを含むシステムコア部の状態を復元する処理をＢＩＯＳプログラムによって実行するステップと、
前記メモリにセーブされているステータスデータを用いて前記複数のデバイスそれぞれを前記省電力ステートの状態に復元する第１のレジューム処理をＢＩＯＳプログラムによって実行するステップと、
前記省電力ステートに復元された前記複数のデバイスそれぞれを前記動作ステートに復元する第２のレジューム処理をオペレーティングシステムによって実行するステップと、
前記ＣＰＵを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して前記ＢＩＯＳプログラムから前記オペレーティングシステムに制御を移し、前記省電力ステートへの復元が完了したデバイスから順に前記動作ステートへの復元処理が開始されるように、前記第１のレジューム処理と前記第２のレジューム処理とを交互に実行させるステップとを具備することを特徴とするレジューム処理方法。
【請求項１３】
前記第１のレジューム処理を実行するステップは、前記複数のデバイスのコマンド処理が並行して実行されるように、前記複数のデバイスに対してそれらを前記省電力ステートの状態に復元するために必要なコマンドを順次発行するステップを含むことを特徴とする請求項１２記載のレジューム処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータシステムおよび同システムで使用されるレジューム処理方法に関し、特にパワーセーブモードから通常動作モードに高速に復帰することが可能なコンピュータシステムおよび同システムで使用されるレジューム処理方法に関する。
【０００２】
【従来の技術】
近年、携帯可能なノートブックタイプまたはサブノートタイプのパーソナルコンピュータや、携帯情報端末などのポケットコンピュータが種々開発されている。
【０００３】
この種のポータブルコンピュータは、バッテリ駆動可能な時間を延ばすために、コンピュータシステムの電力を節約するための種々のパワーセーブモード（スリープモード）が設けられている。サスペンドモードは、最も電力消費の少ないスリープモードの１つである。すなわち、コンピュータシステムがサスペンドモードの時は、オペレーティングシステムやユーザプログラムの再スタートに必要なシステムデータがセーブされている主メモリを除く、システム内の他のほとんどのデバイスはパワーオフされる。
【０００４】
主メモリにセーブされるシステムデータは、コンピュータシステムがサスペンドモードに設定される直前のＣＰＵのステータスおよび各種デバイスのステータスである。また、この主メモリには、オペレーティングシステムおよびアプリケーションプログラムの実行状態やそのアプリケーションプログラムによって作成されたユーザデータも記憶されている。サスペンド後にシステムが再度パワーオンされると、主メモリにセーブされているシステムデータがリストアされ、これによりサスペンドモード直前の作業状態に復元される（レジューム）。
【０００５】
システムデータのセーブは、システムＢＩＯＳ（基本入出力プログラム）に組み込まれたサスペンドルーチンによって実行される。システムＢＩＯＳはオペレーティングシステムからの要求にしたがってシステム内のハードウェアを制御するためのものであり、システム内の各種ハードウェアデバイスを制御するデバイスドライバ群を含んでいる。システムＢＩＯＳのサスペンドルーチンは、システムの電源オフ時などに起動され、ＣＰＵのレジスタおよび各種周辺ＬＳＩのステータスをメモリにセーブした後、システムをパワーオフする。
【０００６】
主メモリへの電源供給は、システムがパワーオフの期間中ずっとバッテリによって維持される。このため、システムのステータスおよびユーザデータは消失されることなく、サスペンド前の作業状態にシステムを高速に戻すことができる。
【０００７】
【発明が解決しようとする課題】
ところが、最近では、ＡＣＰＩ（Advanced Configuration and Power Interface）に代表されるように、オペレーティングシステム（ＯＳ）自体にシステムのパワーセーブに関する管理機能を持たせる技術が開発されており、サスペンド／レジューム処理は、ＯＳの管理の下で、ＯＳとＢＩＯＳとの共同作業で行われるようになってきている。この場合、レジューム処理は、ＢＩＯＳによるレジューム処理とＯＳによるレジューム処理との２段階で実行される。ＢＩＯＳによるレジューム処理では、ＯＳおよびそのＯＳ管理下の各デバイスの動作が保証できる状態までの復帰処理が実行される。その後、ＢＩＯＳからＯＳに制御が移され、ＯＳによるレジューム処理が実行される。このＯＳによるレジューム処理により、各デバイスはサスペンド前と同じ元の動作状態に復元される。
【０００８】
しかし、コンピュータシステムは通常多数のデバイスによって構成されているので、全てのデバイスに対するＢＩＯＳのレジューム処理が完了してからＯＳのレジューム処理に移行するという従来の順次処理では、既にＢＩＯＳのレジューム処理が完了しているデバイスがあっても、それに対するＯＳのレジューム処理を開始することができない。このため無駄な待ち時間が生じ、システム状態の復元に比較的多くの時間が必要とされた。
【０００９】
本発明は上述の事情に鑑みてなされたものであり、レジューム処理を高速に実行できるようにし、サスペンドなどのパワーセーブモードからの復帰に要する時間を短縮することが可能なコンピュータシステムおよびサスペンド処理方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、パワーセーブモードへの移行時にメモリにセーブされたシステムデータを用いて、前記パワーセーブモード直前の作業環境を復元するレジューム処理機能を有するコンピュータシステムにおいて、前記パワーセーブモードからのウェイクアップ時に、前記レジューム処理機能の実行のためにＢＩＯＳプログラムによって実行されるべき第１のレジューム処理の内で、オペレーティングシステムの動作に必要な、ＣＰＵを含むシステムコア部の状態を前記メモリにセーブされたシステムデータを用いて復元するための処理を、前記ＢＩＯＳプログラムに実行させる手段と、前記ＣＰＵを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して、前記ＢＩＯＳプログラムから前記オペレーティングシステムに制御を移し、前記レジューム処理機能の実行のために前記オペレーティングシステムによって実行されるべき前記デバイス毎に設けられた第２のレジューム処理を、前記オペレーティングシステムに実行させる手段と、前記第１のレジューム処理の内の残りの処理と前記第２のレジューム処理とが交互に実行されるように、前記オペレーティングシステムが前記第２のレジューム処理を実行している期間中に割り込み処理を挿入し、その割り込み処理の中で前記ＢＩＯＳプログラムを実行させる割り込み制御手段とを具備することを特徴とする。
【００１１】
このコンピュータシステムにおいては、ＢＩＯＳプログラムによって実行される第１のレジューム処理が２つに分割されており、第１のレジューム処理の内でオペレーティングシステムの動作に必要なシステムコア部の状態を復元するための処理部分が完了した時点で、ＢＩＯＳプログラムからオペレーティングシステムに制御が移される。この後は、第２のレジューム処理を実行している期間中に割り込み処理を挿入して、その割り込み処理の中でＢＩＯＳプログラムを実行させることにより、第１のレジューム処理の内の残りの部分と、オペレーティングシステムによる第２のレジューム処理とが並行して実行される。これにより、全てのデバイスに対する第１のレジューム処理の完了を待たずに第２のレジューム処理を開始できるので、全てのデバイスに対するＢＩＯＳの第１のレジューム処理が完了してからオペレーティングシステムの第２のレジューム処理に移行するという従来の順次処理に比べ、レジューム処理全体に要する時間を短縮することができる。
【００１２】
また、一般にデバイスの状態復元のためには、初期化処理の場合と同様に、そのデバイスに対して何度もコマンドを発行することが必要となり、またそのコマンド発行の度にそのデバイスがコマンド処理を完了するまで待機するというＩ／Ｏ待ちが発生することになる。Ｉ／Ｏ待ちによるペナルティーは、第１のレジューム処理の内の残りの部分と、オペレーティングシステムによる第２のレジューム処理との並行処理によって大幅に低減できる。
【００１３】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図１には、本発明の一実施形態に係るコンピュータシステムの構成が示されている。このコンピュータシステムは、ノートブックタイプまたはサブノートタイプのポータブルパーソナルコンピュータであり、コンピュータ本体と、このコンピュータ本体に開閉自在に取り付けられたＬＣＤパネルユニットとから構成されている。このコンピュータは、内蔵バッテリを有しており、その内蔵バッテリからの電力によって動作可能に構成されている。また、ＡＣアダプタを介してＡＣ商用電源などの外部電源から電力供給を受けることもできる。外部電源から電力供給を受けているときは、その外部電源からの電力がコンピュータシステムの動作電源として用いられる。このとき、外部電源からの電力によって内蔵バッテリの充電も自動的に行われる。ＡＣアダプタが取り外されたり、あるいはＡＣ商用電源のブレーカが落とされたときなどは、内蔵バッテリからの電力がコンピュータシステムの動作電源として用いられる。
【００１４】
また、このコンピュータには、ＣＰＵ１１、ＣＰＵバス１とＰＣＩバス２間をつなぐホスト−ＰＣＩブリッジ１２、主メモリ１３、ＶＧＡコントローラ１４、ＬＡＮコントローラ１５、ＰＣＩ−ＩＳＡブリッジ１６、Ｉ／Ｏコントローラ１７、ハードディスクドライブ（ＨＤＤ）１８、ＰＣカード１９、ＢＩＯＳ−ＲＯＭ２０、埋め込みコントローラ（ＥＣ）２１、電源コントローラ２２などが設けられている。
【００１５】
ＣＰＵ１１は、このシステム全体の動作制御およびデータ処理を実行する。このＣＰＵ１１としては、システム管理割り込みＳＭＩ（ＳＭＩ；Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｒｕｐｔ）をサポートするもの、例えば、米インテル社により製造販売されているマイクロプロセッサ“Ｐｅｎｔｉｕｍ”などが使用される。この場合、ＣＰＵ１１は、次のようなシステム管理機能を持つ。
【００１６】
すなわち、ＣＰＵ１１は、アプリケーションプログラムやオペレーティングシステム（ＯＳ）などのプログラムを実行するための動作モードとしてリアルモード、プロテクトモード、仮想８０８６モードを有する他、システム管理モード（ＳＭＭ；Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  ｍｏｄｅ）と称されるシステム管理機能を実現するための動作モードを有している。
【００１７】
リアルモードは、最大で１Ｍバイトのメモリ空間をアクセスできるモードであり、論理アドレスから物理アドレスへの変換は、セグメントレジスタで表されるベースアドレスからのオフセット値で物理アドレスを決定するアドレス計算形式によって行われる。
【００１８】
一方、プロテクトモードは１タスク当たり最大４Ｇバイトのメモリ空間をアクセスできるモードであり、ディスクプリタテーブルと称されるアドレスマッピングテーブルを用いてリニアアドレスが決定される。このリニアアドレスは、ページングによって最終的に物理アドレスに変換される。
このように、プロテクトモードとリアルモードとでは、互いに異なるメモリアドレッシングが採用されている。
【００１９】
システム管理モード（ＳＭＭ）は疑似リアルモードであり、このモードにおけるアドレス計算形式はリアルモードのアドレス計算形式と同一であり、ディスクプリタテーブルは参照されず、ページングも実行されない。しかし、ＳＭＭでは、プロテクトモードと同様に、１Ｍバイトを越えるメモリ空間をアクセスすることができる。
【００２０】
システム管理割込み（ＳＭＩ；Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｒｕｐｔ）がＣＰＵ１１に発行された時、ＣＰＵ１１の動作モードは、その時の動作モードであるリアルモード、プロテクトモード、または仮想８０８６モードから、ＳＭＭにスイッチされる。ＳＭＩによってＳＭＭにスイッチした時、ＣＰＵ１１はその時のＣＰＵレジスタの内容であるＣＰＵステータスを主メモリ１３上のオーバレイメモリ（ＳＭＲＡＭと称される）にセーブする。また、ＳＭＭにおいて復帰命令（ＲＳＭ命令）が実行されると、ＣＰＵ１１はＳＭＲＡＭからＣＰＵレジスタにＣＰＵステータスをリストアし、ＳＭＩ発生前の動作モードに復帰する。本実施形態においては、ＳＭＭにおいて、ＢＩＯＳのシステム管理プログラム（サスペンド処理ルーチンおよびレジューム処理ルーチンなど）が実行される。サスペンド処理ルーチンは、ＯＳとの共同作業により、システムステートをサスペンド状態（パワーセーブモード）に設定するためのものであり、ＣＰＵコンテクストおよび各種デバイスのステートなどを含むシステムデータを主メモリ１３にセーブした後に、主メモリ１３を除く他のほとんどのデバイスをパワーオフする（メモリサスペンド）。レジュームルーチンは、ＯＳとの共同作業により、システムをメモリサスペンド前の動作状態に復元させるためのものであり、ウェイクアップイベントが発生したときに、主メモリ１３にセーブされているシステムデータを元のＣＰＵ１１および各デバイスにリストアする。
【００２１】
ＳＭＩはマスク不能割込みＮＭＩの一種であるが、通常のＮＭＩやマスク可能割込みＩＮＴＲよりも優先度の高い、最優先度のハードウェア割り込みである。
このＳＭＩを発行することによって、実行中のオペレーティングシステムの環境に依存せずにＢＩＯＳを起動することができる。
【００２２】
ホスト−ＰＣＩブリッジ１２はＣＰＵバス１とＰＣＩバス２間を双方向でつなぐブリッジであり、ここには主メモリ１３を制御するためのメモリコントローラも内蔵されている。主メモリ１３はこのシステムの主記憶つまりシステムメモリとして使用されるものであり、オペレーティングシステム、処理対象のアプリケーションプログラム、およびアプリケーションプログラムによって作成されたユーザデータ等が格納される。この主メモリ１３はＤＲＡＭなどの半導体メモリによって実現されている。
【００２３】
主メモリ１３はこのシステムの主記憶つまりシステムメモリとして使用されるものであり、オペレーティングシステム、処理対象のアプリケーションプログラム、およびアプリケーションプログラムによって作成されたユーザデータ等が格納される。この主メモリ１３はＤＲＡＭなどの半導体メモリによって実現されている。前述のＳＭＲＡＭ（Ｓｙｓｔｅｍ  Ｍａｎａｇｅｍｅｎｔ  ＲＡＭ）は、図２に示すように、主メモリ１３を構成する物理メモリの一部に割り当てられた記憶空間であり、ＳＭＩ信号がＣＰＵ１１に入力された時だけメモリアドレスがマッピングされてアクセス可能となる。ここで、ＳＭＲＡＭがマッピングされるアドレス範囲は固定ではなく、ＳＭＢＡＳＥと称されるＣＰＵ１１内のレジスタによって４Ｇバイト空間の任意の場所に変更することが可能である。ＳＭＢＡＳＥレジスタは、ＳＭＭ中でないとアクセスできない。
【００２４】
ＣＰＵ１１がＳＭＭに移行する時には、ＣＰＵコンテクスト（ＣＰＵステータス）、つまりＳＭＩが発生された時のＣＰＵ１１のレジスタ等が、ＳＭＲＡＭにスタック形式でセーブされる。このＳＭＲＡＭには、ＢＩＯＳ−ＲＯＭ２０のシステム管理プログラムを呼び出すためのＪＵＭＰ命令が格納されている。このＪＵＭＰ命令は、ＣＰＵ１１がＳＭＭに入った時に最初に実行される命令であり、この命令実行によってＢＩＯＳのシステム管理プログラムに制御が移る。先ず、ＳＭＩハンドラによってＳＭＩ発生要因がチェックされる。そして、ＳＭＩ発生要因に対応するシステム管理プログラムのサービスルーチンの実行がＳＭＩハンドラによってリクエストされる。
【００２５】
ＢＩＯＳ−ＲＯＭ２０は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉ／Ｏ  Ｓｙｓｔｅｍ）を記憶するためのものであり、プログラム書き替えが可能なようにフラッシュメモリによって構成されている。ＢＩＯＳは、このシステム内の各種ハードウェアをアクセスするためのファンクション実行ルーチンを体系化したものであり、リアルモードで動作するように構成されている。
【００２６】
このＢＩＯＳには、システムのパワーオン時に各種デバイスの初期化及びテストを行うＩＲＴルーチンと、各種ハードウェア制御のためのＢＩＯＳドライバ群などが含まれている。各ＢＩＯＳドライバは、ハードウェア制御のための複数の機能をオペレーティングシステムやアプリケーションプログラムに提供するためにそれら機能に対応する複数のファンクション実行ルーチン群を含んでいる。
【００２７】
また、ＢＩＯＳ−ＲＯＭ２０には、前述のシステム管理プログラムなど、ＳＭＭの中で実行されるプログラムも格納されている。ＳＭＩハンドラは、前述したように、ＳＭＩの発生要因に応じて各種ＳＭＩサービスルーチンを起動するためのものである。なお、前述のサスペンド処理ルーチンなどはＡＣＰＩ対応のＯＳから直接起動することもできる。
【００２８】
ＥＣ２１は、システムが持つ付加機能を制御するためのコントローラであり、ＣＰＵ周辺温度などに応じてクーリングファンの回転制御などを行うための熱制御機能、システムの各種状態をＬＥＤの点灯やビープ音によってユーザに通知するためのＬＥＤ／ビープ音制御機能、電源コントローラ２２と共同してシステム電源のオン／オフなどを制御する電源シーケンス制御機能、および電源ステータス通知機能などを有している。電源ステータス通知機能は、電源コントローラ２２と共同してＢＩＯＳのレジューム処理ルーチンの起動要因となるウェイクアップイベントの発生を監視し、イベント発生時にそれをＳＭＩなどを用いてＢＩＯＳに通知するという機能である。ウェイクアップイベントとしては、電源スイッチ２３のオン、パネルスイッチ２４のオンなどがある。メモリサスペンド状態においても、ＥＣ２１および電源コントローラ２２には動作電源が供給されており、ＥＣ２１の各機能は有効である。
【００２９】
ＥＣ２１は、ＢＩＯＳとの通信のためのＩ／Ｏポートを有している。ＢＩＯＳは、このＩ／Ｏポートを介してＥＣ２１内のコンフィグレーションレジスタに対してリード／ライトを行うことにより、監視および通知すべきイベントの種類の設定や、発生したイベントを示すステータスのリードなどを行うことができる。
ＥＣ２１と電源コントローラ２２間の通信はＩ２Ｃバスを介して行われる。
【００３０】
ＶＧＡコントローラ１４は、このシステムのディスプレイモニタとして使用されるＬＣＤや外部ＣＲＴを制御するためのものであり、ＶＲＡＭに描画された画面データをＬＣＤや外部ＣＲＴに表示する。ＬＡＮコントローラ１５は、本システムをＬＡＮに接続するためのネットワークインターフェースである。Ｉ／Ｏコントローラ１７は各種Ｉ／Ｏデバイスとのインタフェースであり、ハードディスクドライブ（ＨＤＤ）１８を制御するためのＩＤＥインタフェース、ＰＣカード１９を制御するためのＰＣＭＣＩＡ／ＣＡＲＤＢＵＳインタフェースなどを内蔵している。
【００３１】
ＰＣＩ−ＩＳＡブリッジ１６はＰＣＩバス２とＩＳＡバス３間を双方向でつなぐブリッジであり、ここにはＳＭＩ発生回路１６１が内蔵されている。ＳＭＩ発生回路１６１は、図３に示すように、ソフトウェアＳＭＩ発生回路２０１、Ｉ／ＯトラップＳＭＩ発生回路２０２、その他のＳＭＩ発生回路２０４、ＯＲ回路２０４、タイマレジスタ２０５、ステータスレジスタ２０６などから構成されている。ソフトウェアＳＭＩ発生回路２０１は、タイマレジスタ２０５にセットされたインターバル時間で指定される所定の時間間隔でＳＭＩ信号（ソフトウェアＳＭＩ）を発生する。タイマレジスタ２０５はプログラム可能であり、ソフトウェアによって任意のインターバル時間をタイマレジスタ２０５にセットすることができる。本実施形態では、ＢＩＯＳによるレジューム処理とＯＳによるレジューム処理とを交互に切り替えながら実行させるために、ソフトウェアＳＭＩが用いられる。ステータスレジスタ２０６はＳＭＩ発生要因を保持するためのものであり、ＯＲ回路２０４を通じてＣＰＵ１１に供給されたＳＭＩが、ソフトウェアＳＭＩ発生回路２０１、Ｉ／ＯトラップＳＭＩ発生回路２０２、その他のＳＭＩ発生回路２０４のいずれによるものであるかを記憶する。ＥＣ２１からのイベント通知は、その他のＳＭＩ発生回路２０４経由で発生されるＳＭＩによってＣＰＵ１１に伝達される。
【００３２】
次に、図４を参照して、本システムのモード遷移について説明する。
本システムはＡＣＰＩ仕様に準拠したパワーセーブモードをサポートしている。ＡＣＰＩ仕様では、Ｓ０からＳ５までのシステムステートが定義されている。
Ｓ０は動作状態（つまりシステムの電源が入っており、ソフトウェアが実行中の状態）、Ｓ５はオフ状態（つまり全てのソフトウェアの実行は終了し、システムの電源が切られている状態）であり、Ｓ１〜Ｓ４はその中間の状態（スリープ状態と呼ぶ、つまり直前までのソフトウェアの実行状態を保持しつつ動作が停止している状態）である。Ｓ１〜Ｓ４のうち、本実施形態ではＳ３とＳ４をそれぞれメモリサスペンド状態、ハイバネーション状態としてサポートする。
【００３３】
つまり、Ｓ３では主メモリ１３（および一部のチップセット）の電源のみを保持する。つまり主メモリ１３（および一部のチップセット）の内容のみが保持される。必要な消費電力は少なくなり、バッテリ駆動状態でスリープ状態（パワーセーブモードの状態）を長時間持続させることができる。
【００３４】
Ｓ４ではハードディスク１８に主メモリ１３等の内容が全て保存され、システムの電源は全て切られる。スリープ中の消費電力は最小（Ｓ５の状態に等しい）だが、Ｓ０へ戻るのに最も時間がかかる。つまり最も「深い」スリープ状態である。
【００３５】
さらに、ＡＣＰＩ仕様では、デバイスパワーマネージメントのためのステートして、Ｄ０からＤ３までのステート（デバイスパワーステート）を定義している。デバイスパワーマネージメントはバス上のデバイスに関するパワーマネージメントである。各デバイスは最低Ｄ０とＤ３の２つの状態をサポートすることが要求されている。Ｄ０はデバイスが完全にアクティブの動作ステートであり、またＤ３は電源オフ状態と同等の省電力ステートである。
【００３６】
システムステートがＳ０からＳ３のメモリサスペンド状態に遷移するとき、それに合わせて各デバイスのデバイスステートもそれまでのステート（通常はＤ０）から省電力ステートであるＤ３に遷移される。デバイスステートＤ３への遷移はＯＳの制御の下に実行され、Ｄ３状態に遷移したデバイスのレジスタ等のステータスを主メモリ１３にセーブする処理はＢＩＯＳによって実行される。
【００３７】
次に、図５を参照して、Ｓ０の動作状態からＳ３のメモリサスペンド状態に遷移する時に実行される一連の処理の流れについて説明する。
ＧＵＩによるコマンド入力または電源スイッチのオフ操作などによってユーザからＯＳに対してサスペンド（スタンバイ）の指示がなされると、ＯＳは、現在の作業を問題なく中断するために必要な処理（ＯＳサスペンド処理）を開始する（ステップＳ１０１）。ここでは、例えばネットワーク接続環境などの現在の状態を主メモリ１３またはＨＤＤ１８などに保存するなどの処理も行われる。次いで、ＯＳは、システム内の各デバイスをＤ０からＤ３に遷移させるための処理を行う（ステップＳ１０２）。全てのデバイスがＤ３に遷移した後、ＯＳからのリクエストにより、ＢＩＯＳのサスペンド処理ルーチンが起動される。
【００３８】
サスペンド処理ルーチンは、ＣＰＵ１１およびホスト−ＰＣＩブリッジ１２などのコアデバイスの内部ステータスをシステムデータとして主メモリ１３にセーブし（ステップＳ１０３）、次いで、Ｄ３に設定されている各デバイスのステータスを主メモリ１３にセーブする（ステップＳ１０４）。この後、サスペンド処理ルーチンは、ＥＣ２１を通じて電源コントローラ２２を制御することにより、主メモリ１３（および一部のチップセット）を除く他のほとんどのデバイスをパワーオフする（ステップＳ１０４）。
【００３９】
次に、図６を参照して、Ｓ３のメモリサスペンド状態からＳ０の動作状態に復帰する時に実行される一連の処理の流れについて説明する。
電源スイッチ２３のオン操作などのウェイクアップイベントが発生すると、ＢＩＯＳのレジュームルーチンが実行される。ＢＩＯＳのレジュームルーチンは、まず、主メモリ１３にセーブされているシステムデータをＣＰＵ１１およびホスト−ＰＣＩブリッジ１２などのコアデバイスにリストアすることにより、ＯＳの動作に最低限必要なコアデバイスの復帰処理（コアデバイス復帰）を実行する（ステップＳ１１１）。次いで、ＢＩＯＳのレジュームルーチンは、主メモリ１３にセーブされている各デバイスのデータをリストアすることにより、各デバイスをＤ３の状態に復帰させるための処理（Ｄ３復帰処理）を実行する（ステップＳ１１２）。このステップＳ１１２のＤ３復帰処理は、各デバイスをＤ３からＤ０の状態に復帰させるというステップＳ１１３の処理（Ｄ０復帰）と並行して実行される。Ｄ０復帰処理は、ＯＳによって実行される。全てのデバイスについてのＤ０復帰処理が終了した後、ＯＳは、そのＯＳの作業環境をメモリサスペンド前と同じ状態にするための残りのレジューム処理を行う（ステップＳ１１４）。ここでは、例えばネットワークの再接続などの処理や、ＢＩＯＳによって管理されないオプションデバイスに関する復帰処理などが実行される。
【００４０】
すなわち、複数のデバイスそれぞれに関するレジューム処理はＤ３復帰とＤ０復帰の２段階で行われる。本実施形態では、これらＤ３復帰処理とＤ０復帰処理との並行処理により、Ｄ３復帰が完了したデバイスから順にＤ０復帰を開始できるようにしている。
【００４１】
この並行処理の原理を図７に示す。図７（ａ）は従来の順次処理を示し、図７（ｂ）は本実施形態の並行処理を示している。図７（ｂ）から分かるように、本実施形態では、ＢＩＯＳによるレジューム処理をコアデバイスの復帰処理と他の各デバイスに関するＤ３復帰処理とに分割しており、コアデバイスの復帰処理が完了した時点で、ＯＳによるレジューム処理を開始させるようにしている。ＢＩＯＳによるＤ３復帰処理は、ＯＳによるＤ０復帰処理中にソフトウェアＳＭＩを定期的に発行すること等によって割り込み処理の形式で実行される。これにより、Ｄ３復帰処理とＤ０復帰処理とが時分割的に交互に実行されることになり、全てのデバイスについてのＤ３復帰処理が完了してからＤ０復帰処理に移行するという従来の順次処理に比べ、レジューム処理全体に要する時間を短縮することができる。
【００４２】
図８には、Ｄ３復帰処理とＤ０復帰処理との並行処理の様子が模式的に示されている。
図８では、ＢＩＯＳによるＤ３復帰処理がデバイスＡ，Ｂ，Ｃの順で完了し（ステップＳ２０１，Ｓ２０２，Ｓ２０３）、Ｄ３復帰処理が完了したデバイスから順にＯＳによるＤ０復帰処理（ステップＳ２１１，Ｓ２１２，Ｓ２１３）が実行される様子が示されている。Ｄ３復帰処理は、Ｄ０復帰処理を正常に行うために必要な前処理である。このため、図８のように、Ｄ３復帰処理が完了したデバイスから順にＤ０復帰処理を行うことにより、不具合を招くことなく、各デバイスをＤ０ステートに正常に復帰させることができる。
【００４３】
なお、Ｄ３復帰処理およびＤ０復帰処理のどちらにおいても、各デバイスに対してはレジスタ値の設定などのためのコマンドが順次発行されることになる。コマンド毎にＩ／Ｏ待ちが発生するので、あるデバイスに対するＩ／Ｏ待ちの時間を利用して他のデバイスに対する処理を行うことにより、さらにレジューム処理の効率化を図ることができる。これを実現するため、本実施形態では、複数のデバイスそれぞれに対するＤ３復帰処理を並行して実行するようにしている。この様子を図９に示す。
【００４４】
図９においては、デバイスＡ，Ｂ，Ｃに関するＤ３復帰処理を並行して行い、且つこのＤ３復帰処理とＯＳによるＤ０復帰処理が並行して行われる様子が示されている。すなわち、ＢＩＯＳは、まず、デバイスＡにコマンドを発行し（ステップＳ３０１）、そのデバイスＡのコマンド処理待ちの間に、デバイスＢにコマンドを発行する（ステップＳ３０２）。同様に、このデバイスＢのコマンド処理待ちの間に、デバイスＣにコマンドを発行する（ステップＳ３０２）。このような処理は、割り込み処理によってＯＳからＢＩＯＳに制御が移されるたびに、Ｄ３復帰処理が完了していないデバイスそれぞれに対して実行される。図９では、説明を簡単にするために、デバイスＡについては一回のコマンド処理（Ａ１）でＤ３復帰処理が完了し、デバイスＢについては３回のコマンド処理（Ｂ１〜Ｂ３）でＤ３復帰処理が完了し、そしてデバイスＣについては３回のコマンド処理（Ｂ１〜Ｂ３）でＤ３復帰処理が完了する場合を示している。
【００４５】
ＯＳのＤ０復帰処理では、デバイスＡ，Ｂ，ＣそれぞれについてＤ３復帰処理が完了しているかどうかがチェックされ（ステップＳ４０１〜Ｓ４０３）、Ｄ３復帰処理が完了してレディー状態となったデバイスから順にＤ０復帰処理が実行される（ステップＳ４０４，Ｓ４０５，Ｓ４０６）。各デバイスのＤ０復帰処理においてもコマンド終了待ち（Ｉ／Ｏ待ち）が発生する。このため、もしそのコマンド終了待ちの期間中にソフトウェアＳＭＩが発生すれば、あるデバイスに関するＤ０復帰のためのコマンド処理と並行して、別のデバイスに関するＤ０復帰のためのコマンド処理が実行されることになる。つまり、デバイスＡ，Ｂ，Ｃに着目すれば、それらは同時並行的にコマンド処理を実行することになる。
【００４６】
次に、図１０のフローチャートを参照して、レジューム処理の手順について具体的に説明する。
ＢＩＯＳは、まず、前述のコアデバイス復帰処理を実行する（ステップＳ５０１）。次に、ＢＩＯＳは、ソフトウェアＳＭＩの発生準備のために、タイマレジスタ２０５に所定のインターバルタイマ値（ＳＭＩタイマ）をセットした後（ステップＳ５０２）、主メモリ１３上に存在するＯＳレジューム処理の先頭コードにジャンプしてＯＳに制御を渡す（ステップＳ５０３）。
【００４７】
ＯＳは、そのレジューム処理のメインルーチンの中で、デバイスＡ，Ｂ，ＣそれぞれについてＤ３復帰処理が完了しているかどうか、および全デバイスのＤ０復帰処理が完了したかをサイクリックにチェックする（ステップＳ５０４，Ｓ５０５，Ｓ５０６．Ｓ５０７）。例えばデバイス毎にビジーステータスフラグを用意し、Ｄ３復帰処理が完了したデバイス毎にＢＩＯＳが対応するビジーステータスフラグをリセットするなどの仕組みを用いれば、ＯＳは、該当するデバイスに対応するビジーステータスフラグをチェックするだけでＤ３復帰処理が完了しているかどうかを容易に判別することができる。ステップＳ５０４，Ｓ５０５，Ｓ５０６．Ｓ５０７の手順は、例えばＡＣＰＩ用に用意されたマクロであるＡＳＬ等によってＯＳに記述しておけばよい。
【００４８】
そして、ＯＳは、Ｄ３復帰処理が完了したデバイスから順にＤ０復帰処理のためのコマンド発行を行う（ステップＳ５０８〜Ｓ５１０）。全デバイスのＤ０復帰処理が完了すると、ＯＳは、必要なネットワーク再接続などの処理を行って、サスペンド前のＯＳ作業環境を復元する（ステップＳ５１１）。
【００４９】
以上のＯＳレジューム処理の期間には定期的にソフトウェアＳＭＩが発生し、そのたびにＢＩＯＳに制御が移される。ＢＩＯＳは、ＳＭＩ割り込み処理の中で図１１に示す処理を実行する。
【００５０】
すなわち、ＢＩＯＳは、まず、デバイスＡに関するＤ３復帰処理が全て完了しているか否かをチェックし（ステップＳ６１１）、完了してなければ、デバイスＡに関するＤ３復帰処理を実行する（ステップＳ６１２）。デバイスＡのＤ３復帰処理に例えば３つのコマンド処理（処理＃１，＃２，＃３）が必要な場合、ステップＳ６１２では、各処理毎にそれが実行済みであるどうかをチェックし、未実行であればそれを実行するという処理が行われる。一つのコマンド処理を行うたびに、ＢＩＯＳは、ステップＳ６１２の処理から抜ける。
【００５１】
デバイスＡに関するＤ３復帰処理が全て完了している場合、あるいはステップＳ６１２にてデバイスＡに関する一つのコマンド処理を実行したならば、ＢＩＯＳは、今度は、デバイスＢに関するＤ３復帰処理が全て完了しているか否かをチェックし（ステップＳ６１３）、完了してなければ、デバイスＢに関するＤ３復帰処理を実行する（ステップＳ６１４）。このステップＳ６１４でも、ステップＳ６１２と同様に、各コマンド処理毎にそれが実行済みであるどうかをチェックしながら、未実行のコマンド処理を実行する。一つのコマンド処理を行うたびに、ＢＩＯＳは、ステップＳ６１４の処理から抜ける。
【００５２】
以上のような処理が各デバイス毎に行われた後、ＢＩＯＳは、全てのデバイスについてのＤ３復帰処理が全て完了したか否かをチェックする（ステップＳ６１５）。完了していない場合には、そのままＳＭＭを抜けて、割り込み元のＯＳに制御を戻す。一方、全てのデバイスについてのＤ３復帰処理が全て完了した場合には、タイマレジスタ２０５のインターバルタイマ値（ＳＭＩタイマ）をリセットして、ソフトウェアＳＭＩの発生を停止させた後（ステップＳ６１５）、ＳＭＭを抜けて、割り込み元のＯＳに制御を戻す。
【００５３】
以上のようにして、ＢＩＯＳとＯＳが交互に実行されながら、複数のデバイスそれぞれのＤ３復帰とＤ０復帰のための処理が並行して進められる。
【００５４】
なお、これまでの説明ではＯＳからＢＩＯＳへの切り換えをソフトウェアＳＭＩで行う場合についてのみ説明したが、Ｄ３復帰のためのコマンド処理の完了を示すデバイスからの割り込み信号をＳＭＩに変換することにより、ＯＳからＢＩＯＳへの切り換えをデバイスからの割り込み信号によって行うこともできる。そのためのハードウェア構成の一例を図１２に示す。
【００５５】
図１２に示されているように、通常は、デバイス３０１〜３０３それぞれからの割り込み信号（ＩＲＱまたはＩＮＴ）は割り込みコントローラ３０４を介してＣＰＵ１１にマスク可能割込みＩＮＴＲなどとして供給される。ＯＳのレジューム処理に影響を与えることなく、ＢＩＯＳのレジューム処理を割り込み処理によって実行するためにはＳＭＭモードを利用することが好ましい。このため、本例では、割り込み信号変換回路３０５、ステータスレジスタ３０６、イネーブル／ディスエーブルレジスタ３０７が設けられている。割り込み信号変換回路３０５は、デバイス３０１〜３０３それぞれからの割り込み信号（ＩＲＱまたはＩＮＴ）をＳＭＩ信号に変換し、それをデバイスＳＭＩとしてＯＲ回路２０４に出力する。割り込み信号変換回路３０５の変換動作は、イネーブル／ディスエーブルレジスタ３０７の設定値によって許可又は禁止される。現在のデバイスＳＭＩがどのデバイスからの割り込み信号に起因するものであるかは、ステータスレジスタ３０６を参照することによって判別できる。
【００５６】
以下、図１３のフローチャートを参照して、デバイスＳＭＩを利用する場合におけるレジューム処理の手順を説明する。
【００５７】
ＢＩＯＳは、まず、コアデバイス復帰処理を実行する（ステップＳ７０１）。
次に、ＢＩＯＳは、イネーブル／ディスエーブルレジスタ３０７をイネーブルフラグをセットして、デバイスＳＭＩの発生を有効にする（ステップＳ７０２）。
この後、ＢＩＯＳは、デバイスＡ，Ｂ，Ｃそれぞれに対してＤ３復帰に必要なコマンド発行を一回ずつ実行した後（ステップＳ７０３）、主メモリ１３上に存在するＯＳレジューム処理の先頭コードにジャンプしてＯＳに制御を渡す（ステップＳ７０４）。そして、ＯＳによるレジューム処理が開始される（ステップＳ７０５）。このＯＳレジューム処理では、図１０のステップＳ５０４〜Ｓ５１１で説明した処理が行われる。ただし、各デバイスからの割り込み信号はＢＩＯＳ起動のためのデバイスＳＭＩとして利用されているので、Ｄ０復帰のためのコマンド処理が終了したか否かのチェックは該当するデバイスをポーリングすることによって行われることになる。
【００５８】
Ｄ３復帰のためのコマンド処理が終了したデバイスから割り込み信号が発生すると、デバイスＳＭＩによってＢＩＯＳが起動される。ＢＩＯＳは、ステータスレジスタ３０６を参照することによってデバイスＳＭＩの要因が、デバイスＡによるデバイスＳＭＩ（デバイスＡ＿ＳＭＩ）、デバイスＢによるデバイスＳＭＩ（デバイスＢ＿ＳＭＩ）、デバイスＣによるデバイスＳＭＩ（デバイスＣ＿ＳＭＩ）のいずれであるかを判定する。ＢＩＯＳにはデバイスＡ，Ｂ，Ｃそれぞれに対応するＳＭＩ処理ルーチンが設けられており、デバイスＳＭＩの発生要因に対応するＳＭＩ処理ルーチンが実行される。
【００５９】
例えば、デバイスＡに対応するＳＭＩ処理ルーチンの場合には、デバイスＡのＤ３復帰に必要な次のコマンド発行を一回実行する（ステップＳ７１１）。次いで、全デバイスに関するＤ３復帰処理の完了の有無をチェックし（ステップＳ７１２）、完了していない場合には、そのままＳＭＭを抜けて、割り込み元のＯＳに制御を戻す。一方、全てのデバイスについてのＤ３復帰処理が全て完了した場合には、イネーブル／ディスエーブルレジスタ３０７のイネーブルフラグをリセットして、デバイスＳＭＩを無効化した後（ステップＳ７１２）、ＳＭＭを抜けて、割り込み元のＯＳに制御を戻す。デバイスＢに対応するＳＭＩ処理ルーチンでも同様の処理（ステップＳ７２１〜Ｓ７２３）が実行され、またデバイスＣに対応するＳＭＩ処理ルーチンでも同様の処理（ステップＳ７３１〜Ｓ７３３）が実行される。
【００６０】
以上のように、本実施形態のレジューム処理方法によれば、ＢＩＯＳレジューム処理とＯＳレジューム処理を並行処理することで、レジューム処理の高速化を図ることが可能となる。
【００６１】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００６２】
【発明の効果】
以上説明したように、本発明によれば、レジューム処理を高速に実行できるようになり、サスペンドなどのパワーセーブモードからの復帰に要する時間を短縮する事が可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図２】同実施形態におけるＢＩＯＳレジュームルーチンの起動処理動作の一例を説明するための図。
【図３】同実施形態で用いられるＳＭＩ発生回路の構成を示す図。
【図４】同実施形態のシステムステートの遷移の様子を示す図。
【図５】同実施形態のシステムがメモリサスペンド状態に遷移する時に実行される一連の処理の流れを説明するフローチャート。
【図６】同実施形態のシステムがメモリサスペンド状態から復帰する時に実行される一連の処理の流れを説明するフローチャート。
【図７】同実施形態のシステムで実行されるＢＩＯＳレジューム処理とＯＳレジューム処理との並行処理の原理を説明するための図。
【図８】同実施形態のシステムで実行されるＤ３復帰処理とＤ０復帰処理との並行処理の様子を示す図。
【図９】同実施形態のシステムにおいて複数のデバイスに関するＤ３復帰処理を並行して行う場合の処理例を示す図。
【図１０】同実施形態のシステムで実行されるレジューム処理の手順を示すフローチャート。
【図１１】同実施形態のシステムで実行されるＢＩＯＳレジューム処理の手順を示すフローチャート。
【図１２】同実施形態のシステムでデバイスＳＭＩを利用する場合のハードウェア構成の一例を示すブロック図。
【図１３】同実施形態のシステムで実行されるレジューム処理の手順の他の例を示すフローチャート。
【符号の説明】
１１…ＣＰＵ
１２…ホスト−ＰＣＩブリッジ
１３…主メモリ
１５…ＬＡＮコントローラ
２０…ＢＩＯＳ−ＲＯＭ
２０１…ソフトウェアＳＭＩ発生回路
２０５…タイマレジスタ
３０５…割り込み信号変換回路
【図１】
0004580528.tif 000002
【図２】
0004580528.tif 000003
【図３】
0004580528.tif 000004
【図４】
0004580528.tif 000005
【図５】
0004580528.tif 000006
【図６】
0004580528.tif 000007
【図７】
0004580528.tif 000008
【図８】
0004580528.tif 000009
【図９】
0004580528.tif 000010
【図１０】
0004580528.tif 000011
【図１１】
0004580528.tif 000012
【図１２】
0004580528.tif 000013
【図１３】
0004580528.tif 000014