JP4580528B2 - コンピュータシステムおよびそのレジューム処理方法 - Google Patents

コンピュータシステムおよびそのレジューム処理方法 Download PDF

Info

Publication number
JP4580528B2
JP4580528B2 JP2000291171A JP2000291171A JP4580528B2 JP 4580528 B2 JP4580528 B2 JP 4580528B2 JP 2000291171 A JP2000291171 A JP 2000291171A JP 2000291171 A JP2000291171 A JP 2000291171A JP 4580528 B2 JP4580528 B2 JP 4580528B2
Authority
JP
Japan
Prior art keywords
resume
processing
state
devices
computer system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000291171A
Other languages
English (en)
Other versions
JP2002099436A5 (ja
JP2002099436A (ja
Inventor
俊一 森沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000291171A priority Critical patent/JP4580528B2/ja
Priority to US09/942,751 priority patent/US6832311B2/en
Publication of JP2002099436A publication Critical patent/JP2002099436A/ja
Publication of JP2002099436A5 publication Critical patent/JP2002099436A5/ja
Application granted granted Critical
Publication of JP4580528B2 publication Critical patent/JP4580528B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

【0001】
【発明の属する技術分野】
本発明はコンピュータシステムおよび同システムで使用されるレジューム処理方法に関し、特にパワーセーブモードから通常動作モードに高速に復帰することが可能なコンピュータシステムおよび同システムで使用されるレジューム処理方法に関する。
【0002】
【従来の技術】
近年、携帯可能なノートブックタイプまたはサブノートタイプのパーソナルコンピュータや、携帯情報端末などのポケットコンピュータが種々開発されている。
【0003】
この種のポータブルコンピュータは、バッテリ駆動可能な時間を延ばすために、コンピュータシステムの電力を節約するための種々のパワーセーブモード(スリープモード)が設けられている。サスペンドモードは、最も電力消費の少ないスリープモードの1つである。すなわち、コンピュータシステムがサスペンドモードの時は、オペレーティングシステムやユーザプログラムの再スタートに必要なシステムデータがセーブされている主メモリを除く、システム内の他のほとんどのデバイスはパワーオフされる。
【0004】
主メモリにセーブされるシステムデータは、コンピュータシステムがサスペンドモードに設定される直前のCPUのステータスおよび各種デバイスのステータスである。また、この主メモリには、オペレーティングシステムおよびアプリケーションプログラムの実行状態やそのアプリケーションプログラムによって作成されたユーザデータも記憶されている。サスペンド後にシステムが再度パワーオンされると、主メモリにセーブされているシステムデータがリストアされ、これによりサスペンドモード直前の作業状態に復元される(レジューム)。
【0005】
システムデータのセーブは、システムBIOS(基本入出力プログラム)に組み込まれたサスペンドルーチンによって実行される。システムBIOSはオペレーティングシステムからの要求にしたがってシステム内のハードウェアを制御するためのものであり、システム内の各種ハードウェアデバイスを制御するデバイスドライバ群を含んでいる。システムBIOSのサスペンドルーチンは、システムの電源オフ時などに起動され、CPUのレジスタおよび各種周辺LSIのステータスをメモリにセーブした後、システムをパワーオフする。
【0006】
主メモリへの電源供給は、システムがパワーオフの期間中ずっとバッテリによって維持される。このため、システムのステータスおよびユーザデータは消失されることなく、サスペンド前の作業状態にシステムを高速に戻すことができる。
【0007】
【発明が解決しようとする課題】
ところが、最近では、ACPI(Advanced Configuration and Power Interface)に代表されるように、オペレーティングシステム(OS)自体にシステムのパワーセーブに関する管理機能を持たせる技術が開発されており、サスペンド/レジューム処理は、OSの管理の下で、OSとBIOSとの共同作業で行われるようになってきている。この場合、レジューム処理は、BIOSによるレジューム処理とOSによるレジューム処理との2段階で実行される。BIOSによるレジューム処理では、OSおよびそのOS管理下の各デバイスの動作が保証できる状態までの復帰処理が実行される。その後、BIOSからOSに制御が移され、OSによるレジューム処理が実行される。このOSによるレジューム処理により、各デバイスはサスペンド前と同じ元の動作状態に復元される。
【0008】
しかし、コンピュータシステムは通常多数のデバイスによって構成されているので、全てのデバイスに対するBIOSのレジューム処理が完了してからOSのレジューム処理に移行するという従来の順次処理では、既にBIOSのレジューム処理が完了しているデバイスがあっても、それに対するOSのレジューム処理を開始することができない。このため無駄な待ち時間が生じ、システム状態の復元に比較的多くの時間が必要とされた。
【0009】
本発明は上述の事情に鑑みてなされたものであり、レジューム処理を高速に実行できるようにし、サスペンドなどのパワーセーブモードからの復帰に要する時間を短縮することが可能なコンピュータシステムおよびサスペンド処理方法を提供することを目的とする。
【0010】
【課題を解決するための手段】
上述の課題を解決するため、本発明は、パワーセーブモードへの移行時にメモリにセーブされたシステムデータを用いて、前記パワーセーブモード直前の作業環境を復元するレジューム処理機能を有するコンピュータシステムにおいて、前記パワーセーブモードからのウェイクアップ時に、前記レジューム処理機能の実行のためにBIOSプログラムによって実行されるべき第1のレジューム処理の内で、オペレーティングシステムの動作に必要な、CPUを含むシステムコア部の状態を前記メモリにセーブされたシステムデータを用いて復元するための処理を、前記BIOSプログラムに実行させる手段と、前記CPUを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して、前記BIOSプログラムから前記オペレーティングシステムに制御を移し、前記レジューム処理機能の実行のために前記オペレーティングシステムによって実行されるべき前記デバイス毎に設けられた第2のレジューム処理を、前記オペレーティングシステムに実行させる手段と、前記第1のレジューム処理の内の残りの処理と前記第2のレジューム処理とが交互に実行されるように、前記オペレーティングシステムが前記第2のレジューム処理を実行している期間中に割り込み処理を挿入し、その割り込み処理の中で前記BIOSプログラムを実行させる割り込み制御手段とを具備することを特徴とする。
【0011】
このコンピュータシステムにおいては、BIOSプログラムによって実行される第1のレジューム処理が2つに分割されており、第1のレジューム処理の内でオペレーティングシステムの動作に必要なシステムコア部の状態を復元するための処理部分が完了した時点で、BIOSプログラムからオペレーティングシステムに制御が移される。この後は、第2のレジューム処理を実行している期間中に割り込み処理を挿入して、その割り込み処理の中でBIOSプログラムを実行させることにより、第1のレジューム処理の内の残りの部分と、オペレーティングシステムによる第2のレジューム処理とが並行して実行される。これにより、全てのデバイスに対する第1のレジューム処理の完了を待たずに第2のレジューム処理を開始できるので、全てのデバイスに対するBIOSの第1のレジューム処理が完了してからオペレーティングシステムの第2のレジューム処理に移行するという従来の順次処理に比べ、レジューム処理全体に要する時間を短縮することができる。
【0012】
また、一般にデバイスの状態復元のためには、初期化処理の場合と同様に、そのデバイスに対して何度もコマンドを発行することが必要となり、またそのコマンド発行の度にそのデバイスがコマンド処理を完了するまで待機するというI/O待ちが発生することになる。I/O待ちによるペナルティーは、第1のレジューム処理の内の残りの部分と、オペレーティングシステムによる第2のレジューム処理との並行処理によって大幅に低減できる。
【0013】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態を説明する。
図1には、本発明の一実施形態に係るコンピュータシステムの構成が示されている。このコンピュータシステムは、ノートブックタイプまたはサブノートタイプのポータブルパーソナルコンピュータであり、コンピュータ本体と、このコンピュータ本体に開閉自在に取り付けられたLCDパネルユニットとから構成されている。このコンピュータは、内蔵バッテリを有しており、その内蔵バッテリからの電力によって動作可能に構成されている。また、ACアダプタを介してAC商用電源などの外部電源から電力供給を受けることもできる。外部電源から電力供給を受けているときは、その外部電源からの電力がコンピュータシステムの動作電源として用いられる。このとき、外部電源からの電力によって内蔵バッテリの充電も自動的に行われる。ACアダプタが取り外されたり、あるいはAC商用電源のブレーカが落とされたときなどは、内蔵バッテリからの電力がコンピュータシステムの動作電源として用いられる。
【0014】
また、このコンピュータには、CPU11、CPUバス1とPCIバス2間をつなぐホスト−PCIブリッジ12、主メモリ13、VGAコントローラ14、LANコントローラ15、PCI−ISAブリッジ16、I/Oコントローラ17、ハードディスクドライブ(HDD)18、PCカード19、BIOS−ROM20、埋め込みコントローラ(EC)21、電源コントローラ22などが設けられている。
【0015】
CPU11は、このシステム全体の動作制御およびデータ処理を実行する。このCPU11としては、システム管理割り込みSMI(SMI;System Management Interrupt)をサポートするもの、例えば、米インテル社により製造販売されているマイクロプロセッサ“Pentium”などが使用される。この場合、CPU11は、次のようなシステム管理機能を持つ。
【0016】
すなわち、CPU11は、アプリケーションプログラムやオペレーティングシステム(OS)などのプログラムを実行するための動作モードとしてリアルモード、プロテクトモード、仮想8086モードを有する他、システム管理モード(SMM;System Management mode)と称されるシステム管理機能を実現するための動作モードを有している。
【0017】
リアルモードは、最大で1Mバイトのメモリ空間をアクセスできるモードであり、論理アドレスから物理アドレスへの変換は、セグメントレジスタで表されるベースアドレスからのオフセット値で物理アドレスを決定するアドレス計算形式によって行われる。
【0018】
一方、プロテクトモードは1タスク当たり最大4Gバイトのメモリ空間をアクセスできるモードであり、ディスクプリタテーブルと称されるアドレスマッピングテーブルを用いてリニアアドレスが決定される。このリニアアドレスは、ページングによって最終的に物理アドレスに変換される。
このように、プロテクトモードとリアルモードとでは、互いに異なるメモリアドレッシングが採用されている。
【0019】
システム管理モード(SMM)は疑似リアルモードであり、このモードにおけるアドレス計算形式はリアルモードのアドレス計算形式と同一であり、ディスクプリタテーブルは参照されず、ページングも実行されない。しかし、SMMでは、プロテクトモードと同様に、1Mバイトを越えるメモリ空間をアクセスすることができる。
【0020】
システム管理割込み(SMI;System Management Interrupt)がCPU11に発行された時、CPU11の動作モードは、その時の動作モードであるリアルモード、プロテクトモード、または仮想8086モードから、SMMにスイッチされる。SMIによってSMMにスイッチした時、CPU11はその時のCPUレジスタの内容であるCPUステータスを主メモリ13上のオーバレイメモリ(SMRAMと称される)にセーブする。また、SMMにおいて復帰命令(RSM命令)が実行されると、CPU11はSMRAMからCPUレジスタにCPUステータスをリストアし、SMI発生前の動作モードに復帰する。本実施形態においては、SMMにおいて、BIOSのシステム管理プログラム(サスペンド処理ルーチンおよびレジューム処理ルーチンなど)が実行される。サスペンド処理ルーチンは、OSとの共同作業により、システムステートをサスペンド状態(パワーセーブモード)に設定するためのものであり、CPUコンテクストおよび各種デバイスのステートなどを含むシステムデータを主メモリ13にセーブした後に、主メモリ13を除く他のほとんどのデバイスをパワーオフする(メモリサスペンド)。レジュームルーチンは、OSとの共同作業により、システムをメモリサスペンド前の動作状態に復元させるためのものであり、ウェイクアップイベントが発生したときに、主メモリ13にセーブされているシステムデータを元のCPU11および各デバイスにリストアする。
【0021】
SMIはマスク不能割込みNMIの一種であるが、通常のNMIやマスク可能割込みINTRよりも優先度の高い、最優先度のハードウェア割り込みである。
このSMIを発行することによって、実行中のオペレーティングシステムの環境に依存せずにBIOSを起動することができる。
【0022】
ホスト−PCIブリッジ12はCPUバス1とPCIバス2間を双方向でつなぐブリッジであり、ここには主メモリ13を制御するためのメモリコントローラも内蔵されている。主メモリ13はこのシステムの主記憶つまりシステムメモリとして使用されるものであり、オペレーティングシステム、処理対象のアプリケーションプログラム、およびアプリケーションプログラムによって作成されたユーザデータ等が格納される。この主メモリ13はDRAMなどの半導体メモリによって実現されている。
【0023】
主メモリ13はこのシステムの主記憶つまりシステムメモリとして使用されるものであり、オペレーティングシステム、処理対象のアプリケーションプログラム、およびアプリケーションプログラムによって作成されたユーザデータ等が格納される。この主メモリ13はDRAMなどの半導体メモリによって実現されている。前述のSMRAM(System Management RAM)は、図2に示すように、主メモリ13を構成する物理メモリの一部に割り当てられた記憶空間であり、SMI信号がCPU11に入力された時だけメモリアドレスがマッピングされてアクセス可能となる。ここで、SMRAMがマッピングされるアドレス範囲は固定ではなく、SMBASEと称されるCPU11内のレジスタによって4Gバイト空間の任意の場所に変更することが可能である。SMBASEレジスタは、SMM中でないとアクセスできない。
【0024】
CPU11がSMMに移行する時には、CPUコンテクスト(CPUステータス)、つまりSMIが発生された時のCPU11のレジスタ等が、SMRAMにスタック形式でセーブされる。このSMRAMには、BIOS−ROM20のシステム管理プログラムを呼び出すためのJUMP命令が格納されている。このJUMP命令は、CPU11がSMMに入った時に最初に実行される命令であり、この命令実行によってBIOSのシステム管理プログラムに制御が移る。先ず、SMIハンドラによってSMI発生要因がチェックされる。そして、SMI発生要因に対応するシステム管理プログラムのサービスルーチンの実行がSMIハンドラによってリクエストされる。
【0025】
BIOS−ROM20は、BIOS(Basic I/O System)を記憶するためのものであり、プログラム書き替えが可能なようにフラッシュメモリによって構成されている。BIOSは、このシステム内の各種ハードウェアをアクセスするためのファンクション実行ルーチンを体系化したものであり、リアルモードで動作するように構成されている。
【0026】
このBIOSには、システムのパワーオン時に各種デバイスの初期化及びテストを行うIRTルーチンと、各種ハードウェア制御のためのBIOSドライバ群などが含まれている。各BIOSドライバは、ハードウェア制御のための複数の機能をオペレーティングシステムやアプリケーションプログラムに提供するためにそれら機能に対応する複数のファンクション実行ルーチン群を含んでいる。
【0027】
また、BIOS−ROM20には、前述のシステム管理プログラムなど、SMMの中で実行されるプログラムも格納されている。SMIハンドラは、前述したように、SMIの発生要因に応じて各種SMIサービスルーチンを起動するためのものである。なお、前述のサスペンド処理ルーチンなどはACPI対応のOSから直接起動することもできる。
【0028】
EC21は、システムが持つ付加機能を制御するためのコントローラであり、CPU周辺温度などに応じてクーリングファンの回転制御などを行うための熱制御機能、システムの各種状態をLEDの点灯やビープ音によってユーザに通知するためのLED/ビープ音制御機能、電源コントローラ22と共同してシステム電源のオン/オフなどを制御する電源シーケンス制御機能、および電源ステータス通知機能などを有している。電源ステータス通知機能は、電源コントローラ22と共同してBIOSのレジューム処理ルーチンの起動要因となるウェイクアップイベントの発生を監視し、イベント発生時にそれをSMIなどを用いてBIOSに通知するという機能である。ウェイクアップイベントとしては、電源スイッチ23のオン、パネルスイッチ24のオンなどがある。メモリサスペンド状態においても、EC21および電源コントローラ22には動作電源が供給されており、EC21の各機能は有効である。
【0029】
EC21は、BIOSとの通信のためのI/Oポートを有している。BIOSは、このI/Oポートを介してEC21内のコンフィグレーションレジスタに対してリード/ライトを行うことにより、監視および通知すべきイベントの種類の設定や、発生したイベントを示すステータスのリードなどを行うことができる。
EC21と電源コントローラ22間の通信はICバスを介して行われる。
【0030】
VGAコントローラ14は、このシステムのディスプレイモニタとして使用されるLCDや外部CRTを制御するためのものであり、VRAMに描画された画面データをLCDや外部CRTに表示する。LANコントローラ15は、本システムをLANに接続するためのネットワークインターフェースである。I/Oコントローラ17は各種I/Oデバイスとのインタフェースであり、ハードディスクドライブ(HDD)18を制御するためのIDEインタフェース、PCカード19を制御するためのPCMCIA/CARDBUSインタフェースなどを内蔵している。
【0031】
PCI−ISAブリッジ16はPCIバス2とISAバス3間を双方向でつなぐブリッジであり、ここにはSMI発生回路161が内蔵されている。SMI発生回路161は、図3に示すように、ソフトウェアSMI発生回路201、I/OトラップSMI発生回路202、その他のSMI発生回路204、OR回路204、タイマレジスタ205、ステータスレジスタ206などから構成されている。ソフトウェアSMI発生回路201は、タイマレジスタ205にセットされたインターバル時間で指定される所定の時間間隔でSMI信号(ソフトウェアSMI)を発生する。タイマレジスタ205はプログラム可能であり、ソフトウェアによって任意のインターバル時間をタイマレジスタ205にセットすることができる。本実施形態では、BIOSによるレジューム処理とOSによるレジューム処理とを交互に切り替えながら実行させるために、ソフトウェアSMIが用いられる。ステータスレジスタ206はSMI発生要因を保持するためのものであり、OR回路204を通じてCPU11に供給されたSMIが、ソフトウェアSMI発生回路201、I/OトラップSMI発生回路202、その他のSMI発生回路204のいずれによるものであるかを記憶する。EC21からのイベント通知は、その他のSMI発生回路204経由で発生されるSMIによってCPU11に伝達される。
【0032】
次に、図4を参照して、本システムのモード遷移について説明する。
本システムはACPI仕様に準拠したパワーセーブモードをサポートしている。ACPI仕様では、S0からS5までのシステムステートが定義されている。
S0は動作状態(つまりシステムの電源が入っており、ソフトウェアが実行中の状態)、S5はオフ状態(つまり全てのソフトウェアの実行は終了し、システムの電源が切られている状態)であり、S1〜S4はその中間の状態(スリープ状態と呼ぶ、つまり直前までのソフトウェアの実行状態を保持しつつ動作が停止している状態)である。S1〜S4のうち、本実施形態ではS3とS4をそれぞれメモリサスペンド状態、ハイバネーション状態としてサポートする。
【0033】
つまり、S3では主メモリ13(および一部のチップセット)の電源のみを保持する。つまり主メモリ13(および一部のチップセット)の内容のみが保持される。必要な消費電力は少なくなり、バッテリ駆動状態でスリープ状態(パワーセーブモードの状態)を長時間持続させることができる。
【0034】
S4ではハードディスク18に主メモリ13等の内容が全て保存され、システムの電源は全て切られる。スリープ中の消費電力は最小(S5の状態に等しい)だが、S0へ戻るのに最も時間がかかる。つまり最も「深い」スリープ状態である。
【0035】
さらに、ACPI仕様では、デバイスパワーマネージメントのためのステートして、D0からD3までのステート(デバイスパワーステート)を定義している。デバイスパワーマネージメントはバス上のデバイスに関するパワーマネージメントである。各デバイスは最低D0とD3の2つの状態をサポートすることが要求されている。D0はデバイスが完全にアクティブの動作ステートであり、またD3は電源オフ状態と同等の省電力ステートである。
【0036】
システムステートがS0からS3のメモリサスペンド状態に遷移するとき、それに合わせて各デバイスのデバイスステートもそれまでのステート(通常はD0)から省電力ステートであるD3に遷移される。デバイスステートD3への遷移はOSの制御の下に実行され、D3状態に遷移したデバイスのレジスタ等のステータスを主メモリ13にセーブする処理はBIOSによって実行される。
【0037】
次に、図5を参照して、S0の動作状態からS3のメモリサスペンド状態に遷移する時に実行される一連の処理の流れについて説明する。
GUIによるコマンド入力または電源スイッチのオフ操作などによってユーザからOSに対してサスペンド(スタンバイ)の指示がなされると、OSは、現在の作業を問題なく中断するために必要な処理(OSサスペンド処理)を開始する(ステップS101)。ここでは、例えばネットワーク接続環境などの現在の状態を主メモリ13またはHDD18などに保存するなどの処理も行われる。次いで、OSは、システム内の各デバイスをD0からD3に遷移させるための処理を行う(ステップS102)。全てのデバイスがD3に遷移した後、OSからのリクエストにより、BIOSのサスペンド処理ルーチンが起動される。
【0038】
サスペンド処理ルーチンは、CPU11およびホスト−PCIブリッジ12などのコアデバイスの内部ステータスをシステムデータとして主メモリ13にセーブし(ステップS103)、次いで、D3に設定されている各デバイスのステータスを主メモリ13にセーブする(ステップS104)。この後、サスペンド処理ルーチンは、EC21を通じて電源コントローラ22を制御することにより、主メモリ13(および一部のチップセット)を除く他のほとんどのデバイスをパワーオフする(ステップS104)。
【0039】
次に、図6を参照して、S3のメモリサスペンド状態からS0の動作状態に復帰する時に実行される一連の処理の流れについて説明する。
電源スイッチ23のオン操作などのウェイクアップイベントが発生すると、BIOSのレジュームルーチンが実行される。BIOSのレジュームルーチンは、まず、主メモリ13にセーブされているシステムデータをCPU11およびホスト−PCIブリッジ12などのコアデバイスにリストアすることにより、OSの動作に最低限必要なコアデバイスの復帰処理(コアデバイス復帰)を実行する(ステップS111)。次いで、BIOSのレジュームルーチンは、主メモリ13にセーブされている各デバイスのデータをリストアすることにより、各デバイスをD3の状態に復帰させるための処理(D3復帰処理)を実行する(ステップS112)。このステップS112のD3復帰処理は、各デバイスをD3からD0の状態に復帰させるというステップS113の処理(D0復帰)と並行して実行される。D0復帰処理は、OSによって実行される。全てのデバイスについてのD0復帰処理が終了した後、OSは、そのOSの作業環境をメモリサスペンド前と同じ状態にするための残りのレジューム処理を行う(ステップS114)。ここでは、例えばネットワークの再接続などの処理や、BIOSによって管理されないオプションデバイスに関する復帰処理などが実行される。
【0040】
すなわち、複数のデバイスそれぞれに関するレジューム処理はD3復帰とD0復帰の2段階で行われる。本実施形態では、これらD3復帰処理とD0復帰処理との並行処理により、D3復帰が完了したデバイスから順にD0復帰を開始できるようにしている。
【0041】
この並行処理の原理を図7に示す。図7(a)は従来の順次処理を示し、図7(b)は本実施形態の並行処理を示している。図7(b)から分かるように、本実施形態では、BIOSによるレジューム処理をコアデバイスの復帰処理と他の各デバイスに関するD3復帰処理とに分割しており、コアデバイスの復帰処理が完了した時点で、OSによるレジューム処理を開始させるようにしている。BIOSによるD3復帰処理は、OSによるD0復帰処理中にソフトウェアSMIを定期的に発行すること等によって割り込み処理の形式で実行される。これにより、D3復帰処理とD0復帰処理とが時分割的に交互に実行されることになり、全てのデバイスについてのD3復帰処理が完了してからD0復帰処理に移行するという従来の順次処理に比べ、レジューム処理全体に要する時間を短縮することができる。
【0042】
図8には、D3復帰処理とD0復帰処理との並行処理の様子が模式的に示されている。
図8では、BIOSによるD3復帰処理がデバイスA,B,Cの順で完了し(ステップS201,S202,S203)、D3復帰処理が完了したデバイスから順にOSによるD0復帰処理(ステップS211,S212,S213)が実行される様子が示されている。D3復帰処理は、D0復帰処理を正常に行うために必要な前処理である。このため、図8のように、D3復帰処理が完了したデバイスから順にD0復帰処理を行うことにより、不具合を招くことなく、各デバイスをD0ステートに正常に復帰させることができる。
【0043】
なお、D3復帰処理およびD0復帰処理のどちらにおいても、各デバイスに対してはレジスタ値の設定などのためのコマンドが順次発行されることになる。コマンド毎にI/O待ちが発生するので、あるデバイスに対するI/O待ちの時間を利用して他のデバイスに対する処理を行うことにより、さらにレジューム処理の効率化を図ることができる。これを実現するため、本実施形態では、複数のデバイスそれぞれに対するD3復帰処理を並行して実行するようにしている。この様子を図9に示す。
【0044】
図9においては、デバイスA,B,Cに関するD3復帰処理を並行して行い、且つこのD3復帰処理とOSによるD0復帰処理が並行して行われる様子が示されている。すなわち、BIOSは、まず、デバイスAにコマンドを発行し(ステップS301)、そのデバイスAのコマンド処理待ちの間に、デバイスBにコマンドを発行する(ステップS302)。同様に、このデバイスBのコマンド処理待ちの間に、デバイスCにコマンドを発行する(ステップS302)。このような処理は、割り込み処理によってOSからBIOSに制御が移されるたびに、D3復帰処理が完了していないデバイスそれぞれに対して実行される。図9では、説明を簡単にするために、デバイスAについては一回のコマンド処理(A1)でD3復帰処理が完了し、デバイスBについては3回のコマンド処理(B1〜B3)でD3復帰処理が完了し、そしてデバイスCについては3回のコマンド処理(B1〜B3)でD3復帰処理が完了する場合を示している。
【0045】
OSのD0復帰処理では、デバイスA,B,CそれぞれについてD3復帰処理が完了しているかどうかがチェックされ(ステップS401〜S403)、D3復帰処理が完了してレディー状態となったデバイスから順にD0復帰処理が実行される(ステップS404,S405,S406)。各デバイスのD0復帰処理においてもコマンド終了待ち(I/O待ち)が発生する。このため、もしそのコマンド終了待ちの期間中にソフトウェアSMIが発生すれば、あるデバイスに関するD0復帰のためのコマンド処理と並行して、別のデバイスに関するD0復帰のためのコマンド処理が実行されることになる。つまり、デバイスA,B,Cに着目すれば、それらは同時並行的にコマンド処理を実行することになる。
【0046】
次に、図10のフローチャートを参照して、レジューム処理の手順について具体的に説明する。
BIOSは、まず、前述のコアデバイス復帰処理を実行する(ステップS501)。次に、BIOSは、ソフトウェアSMIの発生準備のために、タイマレジスタ205に所定のインターバルタイマ値(SMIタイマ)をセットした後(ステップS502)、主メモリ13上に存在するOSレジューム処理の先頭コードにジャンプしてOSに制御を渡す(ステップS503)。
【0047】
OSは、そのレジューム処理のメインルーチンの中で、デバイスA,B,CそれぞれについてD3復帰処理が完了しているかどうか、および全デバイスのD0復帰処理が完了したかをサイクリックにチェックする(ステップS504,S505,S506.S507)。例えばデバイス毎にビジーステータスフラグを用意し、D3復帰処理が完了したデバイス毎にBIOSが対応するビジーステータスフラグをリセットするなどの仕組みを用いれば、OSは、該当するデバイスに対応するビジーステータスフラグをチェックするだけでD3復帰処理が完了しているかどうかを容易に判別することができる。ステップS504,S505,S506.S507の手順は、例えばACPI用に用意されたマクロであるASL等によってOSに記述しておけばよい。
【0048】
そして、OSは、D3復帰処理が完了したデバイスから順にD0復帰処理のためのコマンド発行を行う(ステップS508〜S510)。全デバイスのD0復帰処理が完了すると、OSは、必要なネットワーク再接続などの処理を行って、サスペンド前のOS作業環境を復元する(ステップS511)。
【0049】
以上のOSレジューム処理の期間には定期的にソフトウェアSMIが発生し、そのたびにBIOSに制御が移される。BIOSは、SMI割り込み処理の中で図11に示す処理を実行する。
【0050】
すなわち、BIOSは、まず、デバイスAに関するD3復帰処理が全て完了しているか否かをチェックし(ステップS611)、完了してなければ、デバイスAに関するD3復帰処理を実行する(ステップS612)。デバイスAのD3復帰処理に例えば3つのコマンド処理(処理#1,#2,#3)が必要な場合、ステップS612では、各処理毎にそれが実行済みであるどうかをチェックし、未実行であればそれを実行するという処理が行われる。一つのコマンド処理を行うたびに、BIOSは、ステップS612の処理から抜ける。
【0051】
デバイスAに関するD3復帰処理が全て完了している場合、あるいはステップS612にてデバイスAに関する一つのコマンド処理を実行したならば、BIOSは、今度は、デバイスBに関するD3復帰処理が全て完了しているか否かをチェックし(ステップS613)、完了してなければ、デバイスBに関するD3復帰処理を実行する(ステップS614)。このステップS614でも、ステップS612と同様に、各コマンド処理毎にそれが実行済みであるどうかをチェックしながら、未実行のコマンド処理を実行する。一つのコマンド処理を行うたびに、BIOSは、ステップS614の処理から抜ける。
【0052】
以上のような処理が各デバイス毎に行われた後、BIOSは、全てのデバイスについてのD3復帰処理が全て完了したか否かをチェックする(ステップS615)。完了していない場合には、そのままSMMを抜けて、割り込み元のOSに制御を戻す。一方、全てのデバイスについてのD3復帰処理が全て完了した場合には、タイマレジスタ205のインターバルタイマ値(SMIタイマ)をリセットして、ソフトウェアSMIの発生を停止させた後(ステップS615)、SMMを抜けて、割り込み元のOSに制御を戻す。
【0053】
以上のようにして、BIOSとOSが交互に実行されながら、複数のデバイスそれぞれのD3復帰とD0復帰のための処理が並行して進められる。
【0054】
なお、これまでの説明ではOSからBIOSへの切り換えをソフトウェアSMIで行う場合についてのみ説明したが、D3復帰のためのコマンド処理の完了を示すデバイスからの割り込み信号をSMIに変換することにより、OSからBIOSへの切り換えをデバイスからの割り込み信号によって行うこともできる。そのためのハードウェア構成の一例を図12に示す。
【0055】
図12に示されているように、通常は、デバイス301〜303それぞれからの割り込み信号(IRQまたはINT)は割り込みコントローラ304を介してCPU11にマスク可能割込みINTRなどとして供給される。OSのレジューム処理に影響を与えることなく、BIOSのレジューム処理を割り込み処理によって実行するためにはSMMモードを利用することが好ましい。このため、本例では、割り込み信号変換回路305、ステータスレジスタ306、イネーブル/ディスエーブルレジスタ307が設けられている。割り込み信号変換回路305は、デバイス301〜303それぞれからの割り込み信号(IRQまたはINT)をSMI信号に変換し、それをデバイスSMIとしてOR回路204に出力する。割り込み信号変換回路305の変換動作は、イネーブル/ディスエーブルレジスタ307の設定値によって許可又は禁止される。現在のデバイスSMIがどのデバイスからの割り込み信号に起因するものであるかは、ステータスレジスタ306を参照することによって判別できる。
【0056】
以下、図13のフローチャートを参照して、デバイスSMIを利用する場合におけるレジューム処理の手順を説明する。
【0057】
BIOSは、まず、コアデバイス復帰処理を実行する(ステップS701)。
次に、BIOSは、イネーブル/ディスエーブルレジスタ307をイネーブルフラグをセットして、デバイスSMIの発生を有効にする(ステップS702)。
この後、BIOSは、デバイスA,B,Cそれぞれに対してD3復帰に必要なコマンド発行を一回ずつ実行した後(ステップS703)、主メモリ13上に存在するOSレジューム処理の先頭コードにジャンプしてOSに制御を渡す(ステップS704)。そして、OSによるレジューム処理が開始される(ステップS705)。このOSレジューム処理では、図10のステップS504〜S511で説明した処理が行われる。ただし、各デバイスからの割り込み信号はBIOS起動のためのデバイスSMIとして利用されているので、D0復帰のためのコマンド処理が終了したか否かのチェックは該当するデバイスをポーリングすることによって行われることになる。
【0058】
D3復帰のためのコマンド処理が終了したデバイスから割り込み信号が発生すると、デバイスSMIによってBIOSが起動される。BIOSは、ステータスレジスタ306を参照することによってデバイスSMIの要因が、デバイスAによるデバイスSMI(デバイスA_SMI)、デバイスBによるデバイスSMI(デバイスB_SMI)、デバイスCによるデバイスSMI(デバイスC_SMI)のいずれであるかを判定する。BIOSにはデバイスA,B,Cそれぞれに対応するSMI処理ルーチンが設けられており、デバイスSMIの発生要因に対応するSMI処理ルーチンが実行される。
【0059】
例えば、デバイスAに対応するSMI処理ルーチンの場合には、デバイスAのD3復帰に必要な次のコマンド発行を一回実行する(ステップS711)。次いで、全デバイスに関するD3復帰処理の完了の有無をチェックし(ステップS712)、完了していない場合には、そのままSMMを抜けて、割り込み元のOSに制御を戻す。一方、全てのデバイスについてのD3復帰処理が全て完了した場合には、イネーブル/ディスエーブルレジスタ307のイネーブルフラグをリセットして、デバイスSMIを無効化した後(ステップS712)、SMMを抜けて、割り込み元のOSに制御を戻す。デバイスBに対応するSMI処理ルーチンでも同様の処理(ステップS721〜S723)が実行され、またデバイスCに対応するSMI処理ルーチンでも同様の処理(ステップS731〜S733)が実行される。
【0060】
以上のように、本実施形態のレジューム処理方法によれば、BIOSレジューム処理とOSレジューム処理を並行処理することで、レジューム処理の高速化を図ることが可能となる。
【0061】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0062】
【発明の効果】
以上説明したように、本発明によれば、レジューム処理を高速に実行できるようになり、サスペンドなどのパワーセーブモードからの復帰に要する時間を短縮する事が可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るコンピュータシステムの構成を示すブロック図。
【図2】同実施形態におけるBIOSレジュームルーチンの起動処理動作の一例を説明するための図。
【図3】同実施形態で用いられるSMI発生回路の構成を示す図。
【図4】同実施形態のシステムステートの遷移の様子を示す図。
【図5】同実施形態のシステムがメモリサスペンド状態に遷移する時に実行される一連の処理の流れを説明するフローチャート。
【図6】同実施形態のシステムがメモリサスペンド状態から復帰する時に実行される一連の処理の流れを説明するフローチャート。
【図7】同実施形態のシステムで実行されるBIOSレジューム処理とOSレジューム処理との並行処理の原理を説明するための図。
【図8】同実施形態のシステムで実行されるD3復帰処理とD0復帰処理との並行処理の様子を示す図。
【図9】同実施形態のシステムにおいて複数のデバイスに関するD3復帰処理を並行して行う場合の処理例を示す図。
【図10】同実施形態のシステムで実行されるレジューム処理の手順を示すフローチャート。
【図11】同実施形態のシステムで実行されるBIOSレジューム処理の手順を示すフローチャート。
【図12】同実施形態のシステムでデバイスSMIを利用する場合のハードウェア構成の一例を示すブロック図。
【図13】同実施形態のシステムで実行されるレジューム処理の手順の他の例を示すフローチャート。
【符号の説明】
11…CPU
12…ホスト−PCIブリッジ
13…主メモリ
15…LANコントローラ
20…BIOS−ROM
201…ソフトウェアSMI発生回路
205…タイマレジスタ
305…割り込み信号変換回路

Claims (13)

  1. パワーセーブモードへの移行時にメモリにセーブされたシステムデータを用いて、前記パワーセーブモード直前の作業環境を復元するレジューム処理機能を有するコンピュータシステムにおいて、
    前記パワーセーブモードからのウェイクアップ時に、前記レジューム処理機能の実行のためにBIOSプログラムによって実行されるべき第1のレジューム処理の内で、オペレーティングシステムの動作に必要な、CPUを含むシステムコア部の状態を前記メモリにセーブされたシステムデータを用いて復元するための処理を、前記BIOSプログラムに実行させる手段と、
    前記CPUを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して、前記BIOSプログラムから前記オペレーティングシステムに制御を移し、前記レジューム処理機能の実行のために前記オペレーティングシステムによって実行されるべき前記デバイス毎に設けられた第2のレジューム処理を、前記オペレーティングシステムに実行させる手段と、
    前記第1のレジューム処理の内の残りの処理と前記第2のレジューム処理とが交互に実行されるように、前記オペレーティングシステムが前記第2のレジューム処理を実行している期間中に割り込み処理を挿入し、その割り込み処理の中で前記BIOSプログラムを実行させる割り込み制御手段とを具備することを特徴とするコンピュータシステム。
  2. 前記割り込み制御手段は、前記割り込み処理を挿入するための割り込み信号を所定のタイムインターバル毎に前記コンピュータシステムのCPUに発行する手段を含むことを特徴とする請求項1記載のコンピュータシステム。
  3. 前記第1のレジューム処理の内の前記残りの処理は、前記コアユニット以外の他の複数のデバイスそれぞれを前記第2のレジューム処理の実行が可能な状態にするための前処理を含み、前記第2のレジューム処理は、前記前処理が完了した各デバイスを前記パワーセーブモード直前の状態に復元する処理を含むことを特徴とする請求項1記載のコンピュータシステム。
  4. 前記前処理が完了していないデバイスに対する前記第2のレジューム処理の実行を禁止するため、前記各デバイス毎に前記前処理が完了されているか否かを前記オペレーティングシステムに判別させる手段をさらに具備することを特徴とする請求項3記載のコンピュータシステム。
  5. 前記前処理では、前記複数のデバイスそれぞれに対して、それらを前記第2のレジューム処理の実行が可能な状態にまで復元するために必要なコマンドが順次発行され、
    前記割り込み制御手段は、各デバイスからのコマンド処理の完了を示す割り込み信号に応答して、前記割り込み処理を挿入するための割り込み信号を前記CPUに発行する手段を含むことを特徴とする請求項3記載のコンピュータシステム。
  6. 複数のデバイスを有するコンピュータシステムにおいて、
    前記コンピュータシステムをパワーセーブモードに設定することを示すイベントの発生に応答して、前記複数のデバイスを動作ステートから省電力ステートに遷移させる手段と、
    CPUを含むシステムコア部のシステムデータを前記コンピュータシステムのメモリにセーブし且つ前記省電力ステートに遷移された複数のデバイスそれぞれのステータスデータを前記メモリにセーブした後、前記コンピュータシステムを前記パワーセーブモードに入れる手段と、
    前記パワーセーブモードからの復帰を示すウェイクアップイベントの発生に応答して、前記メモリにセーブされているシステムデータを用いて前記CPUを含むシステムコア部の状態を復元する処理をBIOSプログラムによって実行する手段と、
    前記メモリにセーブされているステータスデータを用いて前記複数のデバイスそれぞれを前記省電力ステートの状態に復元する第1のレジューム処理をBIOSプログラムによって実行する手段と、
    前記省電力ステートに復元された前記複数のデバイスそれぞれを前記動作ステートに復元する第2のレジューム処理をオペレーティングシステムによって実行する手段と、
    前記CPUを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して前記BIOSプログラムから前記オペレーティングシステムに制御を移し、前記省電力ステートへの復元が完了したデバイスから順に前記動作ステートへの復元処理が開始されるように、前記BIOSプログラムによる前記第1のレジューム処理と前記オペレーティングシステムによる前記第2のレジューム処理とを交互に実行させる制御手段とを具備することを特徴とするコンピュータシステム。
  7. 前記第2のレジューム処理は、前記各デバイス毎に前記省電力ステートの状態への復元処理が完了されているか否かを判別する処理と、前記省電力ステートの状態への復元処理が完了したことが判別されたデバイスから順に前記動作ステートへの復元処理を開始する処理とを含むことを特徴とする請求項6記載のコンピュータシステム。
  8. 前記制御手段は、タイマからの割り込み信号を用いて、前記第1のレジューム処理と前記第2のレジューム処理を一定時間間隔で交互に切り換えて実行することを特徴とする請求項6記載のコンピュータシステム。
  9. 前記第1のレジューム処理は、前記複数のデバイスのコマンド処理が並行して実行されるように、前記複数のデバイスに対してそれらを前記省電力ステートの状態に復元するために必要なコマンドを順次発行することを特徴とする請求項6記載のコンピュータシステム。
  10. 前記第1のレジューム処理は、前記複数のデバイスのコマンド処理が並行して実行されるように、前記複数のデバイスそれぞれに対してそれらを前記省電力ステートの状態に復元するために必要なコマンドを順次発行し、
    前記制御手段は、コマンド処理が完了したデバイスに対して次のコマンドが発行されるように、コマンド処理の完了を示す各デバイスからの割り込み信号を監視し、前記割り込み信号の発生が検出される度に前記第2のレジューム処理から前記第1のレジューム処理に処理を切り換える手段を含むことを特徴とする請求項6記載のコンピュータシステム。
  11. パワーセーブモードへの移行時にメモリにセーブされたシステムデータを用いて、コンピュータシステムを前記パワーセーブモード直前の作業環境に復元するレジューム処理機能を実行するレジューム処理方法であって、
    前記パワーセーブモードからのウェイクアップ時に、前記レジューム処理機能の実行のためにBIOSプログラムによって実行されるべき第1のレジューム処理の内で、オペレーティングシステムの動作に必要な、CPUを含むシステムコア部の状態を前記メモリにセーブされたシステムデータを用いて復元するための処理を、前記BIOSプログラムに実行させるステップと、
    前記CPUを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して、前記BIOSプログラムから前記オペレーティングシステムに制御を移し、前記レジューム処理機能の実行のために前記オペレーティングシステムによって実行されるべき前記デバイス毎に設けられた第2のレジューム処理を、前記オペレーティングシステムに実行させるステップと、
    前記第1のレジューム処理の内の残りの処理と前記第2のレジューム処理とが交互に実行されるように、前記オペレーティングシステムが前記第2のレジューム処理を実行している期間中に割り込み処理を挿入し、その割り込み処理の中で前記BIOSプログラムを実行させるステップとを具備することを特徴とするレジューム処理方法。
  12. 複数のデバイスを有するコンピュータシステムに適用されるレジューム処理方法であって、
    前記コンピュータシステムをパワーセーブモードに設定することを示すイベントの発生に応答して、前記複数のデバイスを動作ステートから省電力ステートに遷移させるステップと、
    CPUを含むシステムコア部のシステムデータを前記コンピュータシステムのメモリにセーブし且つ前記省電力ステートに遷移された複数のデバイスそれぞれのステータスデータを前記コンピュータシステムのメモリにセーブした後、前記コンピュータシステムを前記パワーセーブモードに入れるステップと、
    前記パワーセーブモードからの復帰を示すウェイクアップイベントの発生に応答して、前記メモリにセーブされているシステムデータを用いて前記CPUを含むシステムコア部の状態を復元する処理をBIOSプログラムによって実行するステップと、
    前記メモリにセーブされているステータスデータを用いて前記複数のデバイスそれぞれを前記省電力ステートの状態に復元する第1のレジューム処理をBIOSプログラムによって実行するステップと、
    前記省電力ステートに復元された前記複数のデバイスそれぞれを前記動作ステートに復元する第2のレジューム処理をオペレーティングシステムによって実行するステップと、
    前記CPUを含むシステムコア部の状態を復元するための、デバイス毎に設けられたそれぞれの処理の完了に応答して前記BIOSプログラムから前記オペレーティングシステムに制御を移し、前記省電力ステートへの復元が完了したデバイスから順に前記動作ステートへの復元処理が開始されるように、前記第1のレジューム処理と前記第2のレジューム処理とを交互に実行させるステップとを具備することを特徴とするレジューム処理方法。
  13. 前記第1のレジューム処理を実行するステップは、前記複数のデバイスのコマンド処理が並行して実行されるように、前記複数のデバイスに対してそれらを前記省電力ステートの状態に復元するために必要なコマンドを順次発行するステップを含むことを特徴とする請求項12記載のレジューム処理方法。
JP2000291171A 2000-09-25 2000-09-25 コンピュータシステムおよびそのレジューム処理方法 Expired - Fee Related JP4580528B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000291171A JP4580528B2 (ja) 2000-09-25 2000-09-25 コンピュータシステムおよびそのレジューム処理方法
US09/942,751 US6832311B2 (en) 2000-09-25 2001-08-31 Information processing system and resume processing method used in the system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000291171A JP4580528B2 (ja) 2000-09-25 2000-09-25 コンピュータシステムおよびそのレジューム処理方法

Publications (3)

Publication Number Publication Date
JP2002099436A JP2002099436A (ja) 2002-04-05
JP2002099436A5 JP2002099436A5 (ja) 2007-06-14
JP4580528B2 true JP4580528B2 (ja) 2010-11-17

Family

ID=18774294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000291171A Expired - Fee Related JP4580528B2 (ja) 2000-09-25 2000-09-25 コンピュータシステムおよびそのレジューム処理方法

Country Status (2)

Country Link
US (1) US6832311B2 (ja)
JP (1) JP4580528B2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017052B2 (en) * 2001-11-16 2006-03-21 Lenovo Pte. Ltd. Method and system for reducing boot time for a computer
TW591478B (en) 2002-11-12 2004-06-11 Mitac Technology Corp Apparatus and method of using personal computer to integrate functions of home electronics
US20040218351A1 (en) * 2002-11-12 2004-11-04 Mitac Technology Corp. Method and apparatus for integrating personal computer and electronic device functions
US7100037B2 (en) * 2002-11-27 2006-08-29 Intel Corporation Method for reducing BIOS resume time from a sleeping state
US7870376B2 (en) * 2004-03-23 2011-01-11 International Business Machines Corporation System, method and program product for controlling access to computer system
US7496929B2 (en) * 2004-05-28 2009-02-24 Intel Corporation Performance of operations on a hardware resource through integral interpretive execution
JP4630023B2 (ja) 2004-08-31 2011-02-09 富士通株式会社 システム制御装置、システム制御方法およびシステム制御プログラム
CN100383744C (zh) * 2004-12-24 2008-04-23 联想(北京)有限公司 一种计算机多操作系统的切换方法
US20060284840A1 (en) * 2005-06-15 2006-12-21 Research In Motion Limited Portable electronic device including pointer and related methods
US20070234028A1 (en) * 2005-09-15 2007-10-04 Rothman Michael A Method and apparatus for quickly changing the power state of a data processing system
US7480791B2 (en) * 2005-09-15 2009-01-20 Intel Corporation Method and apparatus for quick resumption where the system may forego initialization of at least one memory range identified in the resume descriptor
US7523323B2 (en) * 2005-09-15 2009-04-21 Intel Corporation Method and apparatus for quick resumption
US20070080946A1 (en) * 2005-10-07 2007-04-12 Research In Motion Limited Portable electronic device including trackball unit and associated methods
JP4746404B2 (ja) 2005-10-31 2011-08-10 株式会社東芝 情報処理装置およびレジューム制御方法
US7793127B2 (en) * 2005-12-30 2010-09-07 Intel Corporation Processor state restoration and method for resume
US7584374B2 (en) * 2006-03-07 2009-09-01 Intel Corporation Driver/variable cache and batch reading system and method for fast resume
US7900074B2 (en) * 2006-06-02 2011-03-01 Apple Inc. Method and apparatus for quickly reanimating devices from hibernation
US7757098B2 (en) 2006-06-27 2010-07-13 Intel Corporation Method and apparatus for verifying authenticity of initial boot code
US7765392B2 (en) * 2006-06-29 2010-07-27 Intel Corporation Method and apparatus for establishing processor as core root of trust for measurement
US7962734B2 (en) * 2006-09-20 2011-06-14 Hewlett-Packard Development Company, L.P. Method of restarting a computer platform
JP5281942B2 (ja) * 2009-03-26 2013-09-04 株式会社日立製作所 計算機およびその障害処理方法
JP5666526B2 (ja) * 2012-09-05 2015-02-12 東芝テック株式会社 ハンディターミナル装置、制御方法及び制御プログラム
US9383812B2 (en) 2012-09-28 2016-07-05 Intel Corporation Method and apparatus for efficient store/restore of state information during a power state
CN103796066B (zh) 2014-01-21 2017-08-04 上海晨思电子科技有限公司 一种智能电视系统及其关机和开机方法
US10317974B2 (en) * 2016-04-08 2019-06-11 Intel Corporation Power supply unit (PSU) switching
US10452561B2 (en) 2016-08-08 2019-10-22 Raytheon Company Central processing unit architecture and methods for high availability systems
CN108334358B (zh) * 2017-12-15 2021-05-07 山东超越数控电子股份有限公司 一种基于ec单片机的笔记本系统重启控制方法
US11138072B2 (en) * 2017-12-22 2021-10-05 Intel Corporation Protected runtime mode

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226216A (ja) * 1986-03-27 1987-10-05 Nec Corp システム立上げ方式
JPH04156615A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd システム立ち上げ方法
JPH05250168A (ja) * 1992-03-06 1993-09-28 Fujitsu Ltd プログラム起動方式及びプログラムインストール方式
JPH1173330A (ja) * 1997-08-29 1999-03-16 Toshiba Corp コンピュータシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694583A (en) * 1994-09-27 1997-12-02 International Business Machines Corporation BIOS emulation parameter preservation across computer bootstrapping
US6393584B1 (en) * 1995-04-26 2002-05-21 International Business Machines Corporation Method and system for efficiently saving the operating state of a data processing system
US6385721B1 (en) * 1999-01-22 2002-05-07 Hewlett-Packard Company Computer with bootable hibernation partition
US6681336B1 (en) * 1999-06-18 2004-01-20 Kabushiki Kaisha Toshiba System and method for implementing a user specified processing speed in a computer system and for overriding the user specified processing speed during a startup and shutdown process
US6691234B1 (en) * 2000-06-16 2004-02-10 Intel Corporation Method and apparatus for executing instructions loaded into a reserved portion of system memory for transitioning a computer system from a first power state to a second power state

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62226216A (ja) * 1986-03-27 1987-10-05 Nec Corp システム立上げ方式
JPH04156615A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd システム立ち上げ方法
JPH05250168A (ja) * 1992-03-06 1993-09-28 Fujitsu Ltd プログラム起動方式及びプログラムインストール方式
JPH1173330A (ja) * 1997-08-29 1999-03-16 Toshiba Corp コンピュータシステム

Also Published As

Publication number Publication date
US6832311B2 (en) 2004-12-14
JP2002099436A (ja) 2002-04-05
US20020038328A1 (en) 2002-03-28

Similar Documents

Publication Publication Date Title
JP4580528B2 (ja) コンピュータシステムおよびそのレジューム処理方法
JP3943665B2 (ja) スリープ制御方法、およびイベント通知方法
JP2880863B2 (ja) サスペンド制御方法およびシステム
KR100352045B1 (ko) 컴퓨터시스템에서전력소모를감소시키기위한방법및장치
JP2838375B2 (ja) Scsiディスクドライブパワーダウン装置
US6732280B1 (en) Computer system performing machine specific tasks before going to a low power state
JP3266560B2 (ja) 情報処理システム及びその制御方法
US6243831B1 (en) Computer system with power loss protection mechanism
JP3442100B2 (ja) コンピュータシステムのシステムイメージをセーブする方法及びこの方法を実施するコンピュータシステム
TWI407300B (zh) 電源管理控制器與方法
JP2002215597A (ja) マルチプロセッサ装置
US6405320B1 (en) Computer system performing machine specific tasks before going to a low power state
JPH086681A (ja) 省電力制御システム
JPH11161385A (ja) コンピュータシステムおよびそのシステムステート制御方法
JPH10307648A (ja) コンピュータシステムおよびそのクーリング制御方法
US6681336B1 (en) System and method for implementing a user specified processing speed in a computer system and for overriding the user specified processing speed during a startup and shutdown process
JP2001092565A (ja) コンピュータ及びコンピュータの電源制御方法
US6154846A (en) System for controlling a power saving mode in a computer system
JP4155545B2 (ja) コンピュータシステムおよびデータ転送制御方法
JPH11194846A (ja) コンピュータシステムおよびそのシステムステート制御方法
JPH09128107A (ja) 情報処理システム
JP2974577B2 (ja) コンピュータシステム
JP3943764B2 (ja) コンピュータシステムおよびそのcpu性能制御方法
JP3238097B2 (ja) コンピュータシステムおよびそのシステムにおけるデータセーブ制御方法
JP3961669B2 (ja) コンピュータシステムおよびデータ転送制御方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070426

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090810

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100623

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100701

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100830

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4580528

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313121

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees