JPH0744469A - ゼロ・ボルト・システム・サスペンドを有するデスクトップ・コンピュータ・システム - Google Patents

ゼロ・ボルト・システム・サスペンドを有するデスクトップ・コンピュータ・システム

Info

Publication number
JPH0744469A
JPH0744469A JP6138496A JP13849694A JPH0744469A JP H0744469 A JPH0744469 A JP H0744469A JP 6138496 A JP6138496 A JP 6138496A JP 13849694 A JP13849694 A JP 13849694A JP H0744469 A JPH0744469 A JP H0744469A
Authority
JP
Japan
Prior art keywords
state
data
power supply
power
suspend
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.)
Granted
Application number
JP6138496A
Other languages
English (en)
Other versions
JP2798356B2 (ja
Inventor
James L Combs
ジェームズ・エル・コーム
Dwayne T Crump
ドウェイン・ティー・クランプ
Steven T Pancoast
スティーブン・ティー・パンコースト
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0744469A publication Critical patent/JPH0744469A/ja
Application granted granted Critical
Publication of JP2798356B2 publication Critical patent/JP2798356B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【目的】コンピュータ・システムの状態をサスペンドし
レジュームする機能を有するデスクトップ・コンピュー
タ・システム。 【構成】システムの状態は、まず、CPU上で現在実行
中のコードに割り込むことによって保存される。次に、
システムの状態が確認される。次に、コンピュータ・シ
ステムの状態がシステム・ハード・ドライブに書き込ま
れる。コンピュータ・システムの状態がシステム・ハー
ド・ドライブに安全に保存された後、CPUは電源に、
調整されたシステム電力の提供を停止させる。 【効果】サスペンドされたシステム状態がシステム・ハ
ード・ファイルに保存され、システム電力を除去できる
ようになり、電源からの電力を必要としないシステム・
サスペンド中断が効果的に可能になる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、全般的に、コンピュー
タ・システム・アーキテクチャに関し、さらに詳細に
は、コンピュータ・システムの状態をサスペンドしレジ
ュームする機能を有し、サスペンドされたシステム状態
をシステム・ハード・ファイルに保存して電源がシステ
ム電力を除去できるようにするデスクトップ・コンピュ
ータ・システムに関する。
【0002】
【従来の技術】パーソナル・コンピュータ・システムは
当技術分野では周知である。パーソナル・コンピュータ
・システムは一般に、また、IBMパーソナル・コンピ
ュータは特に、今日の近代社会の多数の分野にコンピュ
ータの能力を提供するために幅広く使用されている。パ
ーソナル・コンピュータは通常、デスク・トップ型、床
置き型またはポータブル型のマイクロコンピュータと定
義でき、単一の中央演算処理装置(CPU)、すべての
RAMやBIOS ROMを含む関連する揮発性および不揮発性
メモリ、システム・モニタ、キーボード、1つまたは複
数のフレキシブル・ディスケット・ドライブ、固定ディ
スク記憶機構(「ハード・ドライブ」という)、いわゆ
る「マウス」ポインティング・デバイス、および任意選
択的なプリンタから構成されている。これらのシステム
の顕著な特性の1つは、マザーボードすなわちシステム
・プレーナを使用して、これらの構成要素を電気的に相
互接続することである。これらのシステムは主として、
単一のユーザに独立したコンピューティング能力を提供
するように設計され、個人や小企業が購入できるように
低価格が付けられている。そのようなパーソナル・コン
ピュータ・システムの例は、IBMのPERSONAL COMPUTE
R ATやIBMのPERSONAL SYSTEM/1(IBM PS/1)であ
る。
【0003】パーソナル・コンピュータ・システムは通
常、ソフトウェアを実行して、ワード・プロセッシン
グ、スプレッド・シートによるデータの処理、データベ
ース中のデータの収集および比較、グラフィクスの表
示、システム設計ソフトウェアを使用した電気的または
機械的システムの設計などのいろいろな活動を行うため
に使用される。
【0004】IBM PS/1およびPS/2は、単一の場所で使用
するように設計されたデスクトップ・コンピュータであ
る。たとえば、今日の社会では、多数の個人が、自分の
机や、コンピュータ援用タスク専用の部屋にデスクトッ
プ・コンピュータを有する。デスクトップ・コンピュー
タは通常、ある場所でセットアップされ、それ以後は移
動せずに1人または多数のユーザによって使用される。
【0005】デスクトップ・システムは、ネットワーク
化コンピュータ・システムと非ネットワーク化コンピュ
ータ・システムに分類することができる。ネットワーク
化コンピュータ・システムは、より大規模なコンピュー
タ・システムの一部であり、ローカル・エリア・ネット
ワーク(LAN)または広域ネットワーク(WAN)を
介して他のコンピュータやサーバと接続される。そのよ
うなネットワークは、特殊なインタフェースおよびプロ
トコルを使用して、コンピュータがデータとプログラム
を効率的に共用できるようにする。企業で使用されるデ
スクトップ・コンピュータ・システムは通常、ネットワ
ーク化コンピュータ・システムである。一方、非ネット
ワーク化コンピュータは、他のどのコンピュータにも接
続されない。1台のコンピュータから他のコンピュータ
へのデータ転送は、ある場所にあるコンピュータでフレ
キシブル・ディスケットにデータを書き込み、他の場所
にあるコンピュータでデータを読み取ることによって行
われる。家庭で使用されるデスクトップ・コンピュータ
は通常、非ネットワーク化コンピュータである。
【0006】単一の場所に置いたままにするよう設計さ
れたデスクトップ・コンピュータと異なり、IBMのPS
/2 L40 Think Padなどの、寸法に応じて「ラップトップ
・コンピュータ」または「ノートブック・コンピュー
タ」ともいわれるポータブル・コンピュータは、ユーザ
が持ち運び、任意の場所で使用するように設計されてい
る。たとえば、セールスマンは、自分の机でノートブッ
ク・コンピュータを使用して、予想売上に関する報告書
を作成することができる。セールスマンが、机での作業
中に会議に呼び出された場合は、現行のタスクをサスペ
ンドし、ノートブック・コンピュータを持ち上げ、会議
に持っていくことができる。会議の席上では、コンピュ
ータを取り出し、ソフトウェアの実行をレジュームし、
会議中にメモを取ったり、情報を呼び出したりすること
ができる。他の例として、学生が、授業が始まるまで家
庭で学期末リポートを作成し、授業の時間になったら、
ノートブック・コンピュータを教室に持ち込んでメモを
取ることが可能である。
【0007】ポータブル・コンピュータは通常、非ネッ
トワーク化コンピュータである。ただし、一部のユーザ
は、ポータブル・コンピュータを事務所で使用する際
に、事務所のLANに接続する。
【0008】ポータブル・コンピュータは、多数の点で
デスクトップ・コンピュータと異なる。ポータブル・コ
ンピュータは通常、再充電可能電池によって駆動され
る。ユーザは、壁コンセントからの電気を使用して電池
を充電し、電池の再充電が必要になるまでコンピュータ
を使用し、必要になった時点で再充電を行う。電池を再
充電している間、ポータブル・コンピュータを移動する
ことはできない。すなわち、コンピュータの移動は、電
源コードの長さによって制限される。したがって、充電
される電池を有するコンピュータは、事実上、電池を十
分に充電するまで可搬性を失う。懐中電灯やその他の電
力装置と同様に、ポータブル・コンピュータが多量の電
力を消費すればするほど、電池の再充電が必要となる前
にユーザがポータブル・コンピュータを使用できる時間
は短くなる。したがって、電力消費量は、ユーザがポー
タブル・コンピュータを購入する際に検討する因子であ
り、言うまでもなく、ポータブル・コンピュータ業界の
大きな問題である。ゆえに、コンピュータ業界は、より
少ない電力を使用するポータブル・コンピュータの設計
に長い時間と多額の金を費やしている。
【0009】しかし、低電力を使用すると、他の要因と
の折合いの問題が生じる。すなわち、低電力コンピュー
タは、より高価な低電力構成要素を使用し、これらは高
速な高電力構成要素ほど迅速にコンピュータ・コマンド
を実行することができないが、さらに、ポータブル・シ
ステムは、より高価な構成要素を使用するだけでなく、
通常、より複雑な設計を使用し、それによってポータブ
ル・コンピュータ・システムのコストが増大する。
【0010】これに対して、デスクトップ・コンピュー
タは通常、壁コンセントからの電気を使用して駆動され
る。すなわち、デスクトップ・コンピュータは、電圧の
下がる電池を有していない(実時間クロックをバックア
ップするために使用される非常に小形の電池を除く。こ
の電池は、再充電なしで何年も使用することができ
る)。したがって、デスクトップ・コンピュータは、よ
り高速、高出力で、より廉価な構成要素を使用すること
ができる。要するに、ポータブル・コンピュータが使用
する電力はデスクトップ・コンピュータよりも少ない
が、そのコンピューティング能力は通常、より多くの電
力を使用するデスクトップ・コンピュータほど高くはな
い。
【0011】省エネルギーを考えている今日の社会で
は、デスクトップ・コンピュータの電源を入れたままに
しておくことに対して、簡単な代替方法が存在してい
る。1つの代替方法は、ポータブル・コンピュータで見
い出された技術である。ポータブル・コンピュータを一
定期間の間、通常、数分間の間遊休状態にしておいた場
合、コンピュータは自動的に、固定ディスク記憶装置内
の固定ディスクの回転を停止し、コンピュータのディス
プレイの表示を停止する。これらの動作は共に、電力を
節約する。
【0012】ポータブル・コンピュータはまた、電池の
電力を節約する他のより複雑な方法を有している。シス
テムを所与の期間の間遊休状態にしておいた場合、一部
のポータブル・コンピュータ設計は、構成要素を、デー
タを失わずに復元することができるような態様で停止し
始める。ポータブル・コンピュータは、メモリが失われ
ないようにするために、CPUやその他の回路への電力
なしでメモリへの電力を維持する特殊な電池回路を有す
る。この特殊な電池回路は、プリント回路板のコストと
複雑性を増大すると共に、システムの構成要素の数を増
やす。サスペンド(中断)/レジューム(再開)機能を
実施する他の方法は、"SL"ファミリと呼ばれる特殊な
プロセッサ・ファミリのメンバであるCPUを使用する
ことである。SL CPUは、特殊な設計をもつと共に、設計
者が電池電力節約機能を容易に実施できるようにする特
殊コマンドを有する。しかし、SLファミリはより高価
であり、SLファミリのプロセッサは通常、標準プロセ
ッサほどコンピューティング能力が高くない。また、ポ
ータブル・コンピュータは通常、典型的なコンピュータ
・システムに見られる複数の書込み専用レジスタを保存
する高価な「シャドー」レジスタを有する。そのような
特殊機能はプリント回路板設計の複雑さとコストを増大
すると共に、コンピュータ・システム構成要素の数を増
やす。さらに、一般に、非SL 80386または80486の状態
を保存することは不可能であると考えられている。
【0013】ポータブル・コンピュータとデスクトップ
・コンピュータの多数の違いのために、消費者は、ラッ
プトップおよびノートブック・コンピュータをデスクト
ップ・コンピュータよりも高価なものとみなしている。
消費者は、デスクトップ・コンピュータを、コンピュー
ティング能力が非常に高いが、極めて安価なものとみな
している。したがって、ポータブル・コンピュータで使
用される高価で複雑な技術を使用してサスペンド/レジ
ューム方式を実施するデスクトップ・コンピュータは、
デスクトップ市場では高価すぎて販売することができな
い。よって、デスクトップ設計で電力節約を実施する場
合は通常、既存の構成要素を使用し、あるいは少なくと
も、デスクトップ・システムで使用されている標準構成
要素と同程度の能力のより新しい構成要素を使用してい
る。
【0014】さらに、ネットワーク化デスクトップ・シ
ステムと非ネットワーク化デスクトップ・システムとで
は要件が異なっている。LANプロトコルの中には、コ
ンピュータ・システム内のLANハードウェアに電源を
投入したままにしておくことを必要とするものがある。
電力が供給されないと、ネットワークが障害を起こす。
非ネットワーク化デスクトップ・システムがLANハー
ドウェアを有していないのは明らかであるから、LAN
の故障は非ネットワーク化システムにとって問題になら
ない。
【0015】
【発明が解決しようとする課題】したがって、ポータブ
ル・システムと同様な、またはそれよりも高度な電源管
理機能をデスクトップ・コンピュータ・システムに提供
することが望ましいと考えられている。
【0016】また、同様な機能をもつポータブル・コン
ピュータ・システムで使用されるより複雑な設計と高価
な構成要素を使用せずに、電源管理機能をもつデスクト
ップ・システムを提供することが好ましいと考えられて
いる。
【0017】また、同様な機能をもつポータブル・コン
ピュータ・システムで使用されるより複雑な設計と高価
な構成要素を使用せずに、非SL 80386または80486の状
態を保存することが望ましいと考えられている。
【0018】EPA(米国環境保護庁)は、エネルギー
効率のよいコンピュータに対する指針を発表している。
EPAは、「グリーン」、すなわちエネルギー効率が高
いとみなされることを希望するコンピュータ・システム
に関するEPAエネルギー・スター要件を制定した。コ
ンピュータが30W未満の電力を消費するモードを有
し、あるいはモニタが30W未満の電力を消費し、ある
いはコンピュータとモニタの両方がそれぞれ、30W未
満の電力を消費する場合、コンピュータに「EPAエネ
ルギー・スター」ラベルを付けることができる。個々の
製造業者とのEPAの「合意の覚書」は、電力要件を記
載している。デスクトップ・コンピュータは通常、これ
らの機能を備えた設計になっていない。
【0019】したがって、「グリーン」規格を満たすデ
スクトップ・コンピュータを提供することが好ましい。
【0020】また、エネルギー節約型コンピュータの設
計時にコンピュータ・システムをネットワーク化デスク
トップ・コンピュータとするか、非ネットワーク化デス
クトップ・コンピュータとするかを考慮することが望ま
しい。
【0021】コンピュータはオンになると、通常、「ブ
ート」プロセスを実行する。コンピュータはブート時
に、まず電源投入時自己診断(POST)を実行する。
この診断は、コンピュータが正常に機能していることを
確認する様々な試験の実行を含んでいる。コンピュータ
はPOSTを実行した後、通常、IBMのPC-DOSなどの
オペレーティング・システム(OS)をロードする。多
くのコンピュータは、OSをロードした後、マイクロソ
フト(Microsoft)社のウィンドウズ(Windows)などの
グラフィック・ユーザ・インタフェース(GUI)をロ
ードする。次に、ユーザは適用業務ソフトウェアをオー
プンして、作業ファイルをロードしなければならない。
このプロセス全体は、かなり長時間を要し、場合によっ
ては最大で数分間かかる。
【0022】数分間が長時間とは思えないが、コンピュ
ータ・システムがブートし、OSをロードし、GUIを
ロードし、適用業務をロードするのを待つユーザにとっ
て、この時間は、非生産的でじれったいものであり、コ
ンピュータをオフにして電力を節約することをきわめて
不便なものとし、ユーザが電力を節約するのを事実上妨
げるものとなる。すなわち、そのような使用可能度上の
欠点によって、手動電源管理方式が非実際的なものにな
る。
【0023】したがって、使用可能度上の重大な欠点の
ない電源管理機能をデスクトップ・コンピュータ・シス
テムに提供することが望ましい。すなわち、電力節約モ
ードを有しており、受け入れられる長さの時間でレジュ
ームすることができ、かついかなる場合でも、コンピュ
ータ・システムを再起動するのにかかるよりも短い時間
でレジュームすることのできるコンピュータ・システム
を提供するのが望ましい。
【0024】ユーザはデスクトップ・コンピュータを、
該コンピュータ上で適用業務を実行している間、遊休状
態にしておくことがある。たとえば、ユーザがワード・
プロセッシング・プログラムとスプレッドシート・プロ
グラムを同時に使用して、売上報告書を作成中に電話が
なったり、あるいは机から離れたところへ呼び出された
場合、コンピュータはそのまま適用業務を実行し続ける
ことになる。任意の効果的な電源管理実施態様によっ
て、電力を節約し、同時に、たとえば、コンピュータが
適用業務の途中で電源をオフにした場合に、ユーザがデ
ータを失うのを防ぐことができるようにする必要があ
る。さらに、現行のソフトウェア適用業務は、サスペン
ドされた位置からレジュームできるような態様でその状
態を自動的に保存することはない。
【0025】したがって、システム上で適用業務を実行
している間に電力節約モードに入ることができるコンピ
ュータ・システムを提供することが望ましい。さらに、
そのような電力節約モードを適用業務ソフトウェアに対
して透過的にすることが望ましい。
【0026】デスクトップ・コンピュータのユーザに、
コンピュータがしばらくの間必要でなくなることが分か
っている場合がある。ユーザがコンピュータを手動で電
力節約モードに入らせ、コンピュータが、電力節約モー
ドに入ってもいいだけの期間遊休状態であったと判断す
るまでに使う電力を節約できるようにすることが望まし
い。
【0027】したがって、ユーザが、最初に適用業務を
終了しておかなくても、デスクトップ・コンピュータを
手動で電力節約モードに入らせることができるように
し、かつコンピュータをオフにしなかった場合と同様に
適用業務の使用をレジュームできることが望ましい。
【0028】典型的なポータブル・コンピュータは、コ
ンピュータの電源を制御するスイッチと、サスペンド/
レジューム機能を実施する別のスイッチとを有する。こ
れはユーザに混同させるものであり、ポータブル・コン
ピュータのコストと複雑度が増大する。したがって、複
数のボタンを使用せずに前記の電源節約機能をデスクト
ップ・コンピュータ・システムに提供することが望まし
い。
【0029】
【課題を解決するための手段】本発明によれば、サスペ
ンド・プロセス時に、コンピュータ・システムの状態が
システム・ハード・ドライブに保存される。また、電源
によるシステム電力の調整は、CPU制御の下に置かれ
る。
【0030】システムの状態は、まず、CPU上で現在
実行中のコードに割り込むことによって保存される。次
に、システムの状態が確認される。次に、コンピュータ
・システムの状態がシステム・ハード・ドライブに書き
込まれる。コンピュータ・システムの状態がシステム・
ハード・ドライブに安全に保存された後、CPUは電源
に、調整されたシステム電力の提供を停止させる。しか
し、システム電力がなくなっても、ハード・ドライブ上
に記憶された保存されたシステム・データは影響を受け
ない。なぜなら、データは、ハード・ドライブに書き込
まれると、ほぼ永久的に記憶されるからである。
【0031】コンピュータ・システムの状態は、数時
間、数日、数か月、または、場合によっては数年の間ハ
ード・ドライブに記憶されたままにすることができる。
【0032】コンピュータ・システム状態の復元は、ま
ず、電源に、調整されたシステム電力をもう1度与えさ
せることによって行われる。すると、コンピュータ・シ
ステムの状態がハード・ドライブから読み取られ、値が
適切な場所にロードされる。たとえば、レジスタ・デー
タはレジスタに、ビデオ・イメージ・データはビデオ・
メモリに、CPUレジスタ・データはCPUに書き戻さ
れる。次に、オペレーティング・システムによってあら
ゆる古いシステム値が更新される。たとえば、システム
・クロックは、丁度良い時間にセットしなければならな
い。最後に、システムが割り込まれたときにCPUで実
行していたコードが、サスペンド/レジューム・プロセ
スによる影響をほとんど受けないようにレジュームされ
る。
【0033】サスペンドとレジュームが非常に高速なの
で、ハード・ディスクへのサスペンドおよびレジューム
・プロセスは、かなりの時間を節約すると考えられる。
8メガバイトのシステムRAMと1メガバイトのビデオ
・メモリを備えたシステムをサスペンドするのに約8秒
かかり、同じシステムをレジュームするには約15秒し
かかからない。同じシステムが、BIOSからブートし、オ
ペレーティング・システムをロードし、グラフィカル・
ユーザ・インタフェースをロードし、あらゆる適用業務
プログラムをロードし、あらゆる適用業務ファイルをオ
ープンするには約100秒かかる。時間が節約されるこ
とは明らかである。
【0034】さらに、ユーザがシステム上で多数の適用
業務(ワード・プロセッシング適用業務、スプレッドシ
ート適用業務、データベース適用業務、テレファックス
適用業務、カレンダ適用業務など)を同時に実行し、い
わゆる「複雑なデスクトップ」を形成している場合、時
間の節約ははるかに大きいものになる。本発明のサスペ
ンド/レジューム機能がないと、同じ「複雑なデスクト
ップ」を再ロードするのに数分かかる場合がある。サス
ペンド/レジュームがあると、システムは、ディスクト
ップがどれほど「複雑」であろうとも、約8秒でサスペ
ンドし、15秒でレジュームする。
【0035】
【課題を解決するための手段】本発明によれば、コンピ
ュータ・システムは、正常動作状態、スタンバイ状態、
サスペンド状態、およびオフ状態という4つの状態をも
つように設計される。
【0036】本発明のコンピュータ・システムの正常
(normal)動作状態は、典型的なデスクトップ・コンピ
ュータの正常動作状態とほとんど同じである。ユーザは
適用業務を使用することができ、基本的に、このコンピ
ュータを任意の他のコンピュータと同様に扱うことがで
きる。1つの違いは、電源管理ドライバの存在である。
電源管理ドライバはバックグラウンドで動作し(BIOSお
よびオペレーティング・システムでは)、ユーザに透過
的である。オペレーティング・システム(OS)中の電
源管理ドライバの部分は、インテル(Intel)社および
マイクロソフト社によって書かれたAPM拡張プログラ
ミング・インタフェースである。このインタフェースは
現在、インテル社の80X86プロセッサ・ファミリ上で動
作するように書かれた大部分のオペレーティング・シス
テムに存在する。BIOS(APM BIOS)中の電源管理ドライ
バの部分は、本発明に固有であり、APM OSドライバと通
信する。APM OSドライバとAPM BIOSルーチンは共に、コ
ンピュータの、他の3つの状態に対する遷移を制御す
る。
【0037】第2の状態であるスタンバイ(standby)
状態は、正常動作状態よりも少ない電力を使用するが、
適用業務を、スタンバイ状態でない場合と同様に実行し
続ける。一般に、スタンバイ状態では、装置をそれぞれ
の低出力モードにすることによって電力が節約される。
たとえば、スタンバイ状態では、ハード・ドライブ内の
固定ディスクの回転を停止して、ビデオ信号の発生を停
止することによって電力が節約される。
【0038】第3の状態はサスペンド(suspend)状態
である。サスペンド状態では、コンピュータ・システム
が消費する電力は極めて少量である。サスペンドされた
コンピュータは、壁コンセントからの電力をごく少量消
費する。消費される唯一の電力は、コンピュータ・シス
テム内部の電池からの、スイッチ回路を維持するための
わずかな電力(システムが壁コンセントに差し込まれて
いない場合)、または電源によって生成されるわずかな
電力である(システムが壁コンセントに差し込まれてい
る場合)。
【0039】このような少量の電力使用は、電源を「オ
フ」にする前にコンピュータ・システムの状態を固定デ
ィスク記憶装置(ハード・ディスク)に保存することに
よって行われる。コンピュータ・システムは、サスペン
ド状態に入るために、実行中のコードに割り込み、コン
ピュータの制御を電源管理ドライバに転送する。電源管
理ドライバは、コンピュータ・システムの状態を確認
し、該状態を固定ディスク記憶装置に書き込む。CPU
レジスタ、CPUキャッシュ、システム・メモリ、シス
テム・キャッシュ、ビデオ・レジスタ、ビデオ・メモ
リ、およびその他の装置のレジスタの状態はすべて、固
定ディスクに書き込まれる。システムの状態全体は、割
込みによって適用業務や他の実行中のコードが影響を受
けずに復元できるように保存される。コンピュータは次
に、システムがサスペンドされたことを示すデータを不
揮発性CMOSメモリに書き込む。最後に、コンピュータは
電源に電力の生成を停止させる。コンピュータの状態全
体は、固定ディスク記憶装置に安全に保存され、システ
ム電源は現在「オフ」であり、コンピュータは現在、わ
ずかな調整された電力を電源から受け取り、スイッチ回
路に供給している。
【0040】サスペンド状態は、悪影響を被らずにすべ
てのシステム電力を除去させることができるコンピュー
タ・システムに理想的である。電源がオフになった状態
から回復することができる非ネットワーク化コンピュー
タおよびネットワーク化コンピュータは通常、サスペン
ドされる。
【0041】第4の、そして最後の状態はオフ状態であ
る。この状態では、電源が、コンピュータ・システムへ
の調整された電力の提供を停止するが、コンピュータ・
システムの状態は固定ディスクに保存されていない。オ
フ状態は、通常の方法でオフにされた典型的なデスクト
ップ・コンピュータとほとんど同じである。
【0042】状態間の切替えは、電源管理ドライバによ
って処理され、通常、単一のスイッチの閉鎖イベント、
フラグ、および2つのタイマ、すなわち非活動タイマお
よび非活動サスペンド・タイマに基づいて行われる。両
方のタイマは共に、キーボード上でキーを押すこと、マ
ウスの移動、マウス・ボタンを押すこと、ハード・ファ
イル活動などのユーザ活動がないときにカウントする。
非活動スタンバイ・タイマが満了すると、システムは、
前述のようにスタンバイ状態に入る。非活動サスペンド
・タイマが満了すると、システムは、前述のようにサス
ペンド状態に入る。
【0043】通常、非活動サスペンド・タイマは非活動
スタンバイ・タイマよりも長い期間に設定される。した
がって、コンピュータは通常、まず、正常動作状態から
スタンバイ状態に変わる。次に、コンピュータは、別の
非活動期間の後に、サスペンド状態に入る。サスペンド
状態を許容することができないネットワーク化システム
のユーザは、非活動サスペンド・タイマを選択的にサス
ペンド禁止に設定することができる。
【0044】どのユーザ活動でも両方の非活動タイマが
共にリセットされ、それによって、ユーザがシステムを
操作している間にコンピュータがスタンバイ状態または
サスペンド状態に入ることが防がれる。
【0045】システムがスタンバイ状態であり、かつユ
ーザがマウスを移動し、またはキーボード上のキーに触
れると、システムはスタンバイ状態を抜け出し、正常動
作状態に変わる。こうする際に、ビデオ・ドライバは再
びビデオ信号の生成を開始し、固定ディスクは再び回転
を開始する。しかし、システムがサスペンド状態であ
り、ユーザがマウスを移動し、またはキーボード上のキ
ーに触れると、システムは自動的に、正常動作状態に変
わる。
【0046】システムは単一の電源ボタンを有してい
る。このボタンを使用して、コンピュータ・システムを
オンにし、システムの状態をサスペンドし、システムの
状態を復元し、システムをオフにすることができる。コ
ンピュータが正常動作状態またはスタンバイ状態であ
り、かつユーザがボタンを押した場合には、コンピュー
タは、フラグの値に応じて、サスペンド状態またはオフ
状態に変わる。ボタンが押された時に、システムをサス
ペンドすべきであることをフラグが示すと、システムは
サスペンドを開始し、最終的にサスペンド状態に入る。
ボタンが押された時に、システムをオフにするだけであ
ることをフラグが示すと、コンピュータはオフ状態に入
るだけである。フラグは、ユーザが制御することができ
る。すなわち、ユーザは、正常動作状態の間にボタンを
押すとシステムがサスペンドされるか、オフにされるか
を決定することができる。また、オペレーティング・シ
ステム上に電源管理ドライバがないとき、スイッチは電
源用の単純なオン/オフ・スイッチとして機能する。
【0047】コンピュータ・システムがオフ状態であ
り、電源ボタンが押された場合には、システムは通常ど
おり始動する。コンピュータ・システムがサスペンド状
態であり、電源ボタンが押された場合には、オペレータ
に、通常どおりシステムを始動するか、システムを、サ
スペンドされた時の状態に復元するかの選択肢が与えら
れる。明らかに、ユーザは、適用業務の使用中にシステ
ムをサスペンドした場合、コンピュータ・システムの状
態を復元したいとは考えない。しかし、ユーザが何らか
の理由でコンピュータを新たに始動し、サスペンド・シ
ステム状態をなくしたい場合には、オプションが存在す
る。
【0048】システムは、サスペンド状態から正常動作
状態に変わる際に、適用業務が割込みによって影響を受
けないようにコンピュータ・システムの状態を復元する
必要がある。CPUレジスタ、CPUキャッシュ、シス
テム・メモリ、システム・キャッシュ、ビデオ・レジス
タ、およびビデオ・メモリの状態はすべて、固定ディス
クから読み取る必要がある。システムの状態全体は、適
用業務が割り込まれた位置から開始できるように復元す
る必要がある。
【0049】サスペンド/レジュームを使用すると、単
にシステムをオフにして電力を節約し、システムをオン
に戻すことに比べて、はるかに時間を節約することがで
きる。
【0050】さらに、スタンバイ・レベルとサスペンド
・レベルは共に、「グリーン」コンピュータ・システム
についてのEPAエネルギー・スター要件を満たす。
【0051】本発明のこれらおよびその他の利点は、本
発明の詳細な説明から、より明らかになろう。
【0052】
【実施例】以下に、本発明を、その好ましい実施例が示
された添付の図面を参照して詳細に説明するが、以下の
説明を始めるにあたって、当業者は、本明細書に記載さ
れた発明を改変しても、本発明の好ましい結果を達成す
ることができる点に留意されたい。したがって、以下の
説明は、当業者に対する広範囲な教示的開示と解釈すべ
きであり、本発明に対する制限と解釈すべきではない。
本発明は、コンピュータ・アーキテクチャ設計、ディジ
タル設計、BIOS設計、プロテクト・モード80486コード
設計、適用業務コード設計、オペレーティング・システ
ム・コード設計、およびAPM拡張プログラミング・イ
ンタフェース使用法を制限なしに含む、コンピュータ・
システムの設計全般を扱っている。本出願は、コンピュ
ータ・システム設計のあらゆる態様を熟知している者を
対象として書かれている。
【0053】次に、添付の図面をより詳細に参照する
と、本発明を実施するマイクロコンピュータ・システム
が示され、全体的に10に示されている(図1)。前述
のように、コンピュータ・システム10は、関連するモ
ニタ11、キーボード12、マウス13、プリンタまた
はプロッタ14を有することができる。コンピュータ1
0は装飾外部部材16(図2)及び内部遮蔽部材18に
よって形成されたカバー15を有しており、外部部材及
び内部部材はディジタル・データの処理及び記憶を行う
ための電動データ処理及び記憶構成要素を受け入れるた
めの密閉された遮蔽容積を画定する際にシャシ19と協
働する。これらの構成要素の少なくとも一部は、シャシ
19上に取り付けられた多層プレーナ20すなわちマザ
ーボード上に取り付けられ、上記の構成要素、ならびに
フロッピィ・ディスク・ドライブ、様々な形式の直接ア
クセス記憶装置、アクセサリ・カードまたはボードなど
の他の関連要素を含むコンピュータ・システム10の構
成要素を電気的に相互接続する手段を提供する。以下に
詳細に指摘するように、プレーナ20には、入出力信号
をマイクロコンピュータの作動構成要素に行き来させる
ための装置が設けられている。
【0054】コンピュータ・システムは、電源17およ
び電源ボタン21を有している。電源ボタン21は以下
で、スイッチ21とも呼ぶ。以下に説明するように、電
源ボタン21は、典型的なシステムの通常の電源スイッ
チと異なり、無調整の回線電力と電源17の間の切替え
を行わない。シャシ19は、22に示されたベースと、
24に示されたフロント・パネルと、25に示されたリ
ア・パネルを有する(図2)。フロント・パネル24
は、磁気または光ディスク用のディスク・ドライブ、テ
ープ・バックアップ・ドライブなどのデータ記憶装置を
受け入れ少なくとも1つのオープン・ベイ(図示された
形式では、4つのベイ)を形成する。図示された形式で
は、1対の上部ベイ26、28と1対の下部ベイ29、
30が設けられている。一方の上部ベイ26は、第1の
寸法の周辺ドライブ(3.5インチ・ドライブといわれ
るもの)を受け入れるようになされ、他方の上部ベイ2
8は、2つのサイズ(3.5インチおよび5.25イン
チなど)のうち選択された一方のドライブを受け入れる
ようになされており、下部ベイは、1つのサイズだけ
(3.5インチ)のドライブを受け入れるようになされ
ている。1つのフロッピィ・ディスク・ドライブが、図
1の27で示されており、挿入されたディスケットを受
け入れると共に、ディスケットを使用して周知の方法で
データを受信し、記憶し、転送することができる取外し
可能媒体直接アクセス記憶装置である。1つのハード・
ディスク・ドライブが、31で示されており、周知の方
法でデータを記憶し、転送することができる固定媒体直
接アクセス記憶装置である。
【0055】前記の構造を本発明に関連付ける前に、パ
ーソナル・コンピュータ・システム10の一般的な動作
を要約しておくと有用である。図3を参照すると、プレ
ーナ20上に取り付けられた構成要素と、プレーナ20
とパーソナル・コンピュータ・システムの入出力スロッ
トおよびその他のハードウェアとの接続とを含む、本発
明に従ったコンピュータ・システム10などのコンピュ
ータ・システムの様々な構成要素を示すパーソナル・コ
ンピュータのブロック図が示されている。プレーナ20
には、本明細書ではCPU 40とも呼ばれ、マイクロ
プロセッサから構成されたシステム・プロセッサ40が
接続されている。システム・プロセッサ40は高速ロー
カル・バス42によってメモリ制御ユニット46を介し
て接続されており、メモリ制御ユニット46はさらに揮
発性ランダム・アクセス・メモリ(RAM)53に接続
されている。メモリ制御ユニット46はメモリ制御装置
48、アドレス・マルチプレクサ50、およびデータ・
バッファ52から構成される。メモリ制御ユニット46
はさらに、4つのRAMモジュール54によって代表さ
れるランダム・アクセス・メモリ53に接続されてい
る。メモリ制御装置48は、マイクロプロセッサ40と
の間でやり取りされるアドレスをRAM 53の特定の
領域にマッピングする論理機構を含む。この論理機構
は、前にBIOSによって占有されていたRAMを再利用す
るために使用される。メモリ制御装置48によってさら
に、ROM 88を使用可能または使用不能にするため
に使用されるROM select信号(ROMSEL)が生成される。
システム・プロセッサ40には任意の適切なマイクロプ
ロセッサを使用することができるが、1つの適切なマイ
クロプロセッサは、インテル社が販売している80486で
ある。Intel 80486は内部キャッシュを有し、したがっ
てIntel 80486であるどのCPU 40も、CPUキャ
ッシュ41を有する。
【0056】以下に、本発明を、特に図3のシステム・
ブロック図を参照して説明するが、以下の説明を始める
にあたって、本発明による装置および方法はプレーナの
他のハードウェア構成に使用できることに留意された
い。たとえば、システム・プロセッサ40は、Intel 80
286または80386マイクロプロセッサとすることができ
る。80286または80386または80486の参照を本明細書で
使用するときは一般に、インテル社から入手したマイク
ロプロセッサを所期している。しかし、最近、他の製造
業者が、Intel X86アーキテクチャの命令セットを実行
することができるマイクロプロセッサを開発しており、
前述の用語を使用するときは、その命令セットを実行で
きる任意のマイクロプロセッサを含めることを所期して
いる。当業者には周知なように、初期のパーソナル・コ
ンピュータは通常、当時広く使用されていたIntel 8088
または8086マイクロプロセッサをシステム・プロセッサ
として使用していた。これらのプロセッサは、1メガバ
イトのメモリにアドレスする能力を有している。より最
近では、パーソナル・コンピュータは通常、低速の8086
マイクロプロセッサをエミュレートする仮想またはリア
ル・モード、または一部のモデルについてアドレス範囲
を1メガバイトから4メガバイトに拡張するプロテクト
・モードで動作することができる高速なIntel 80286、8
0386、および80486マイクロプロセッサを使用してい
る。本質的に、80286、80386、80486プロセッサのリア
ル・モード機能は、8086および8088マイクロプロセッサ
用に書かれたソフトウェアとの互換性を提供する。前述
のインテル・ファミリのプロセッサは、"486"のよう
に、フル・タイプ指示子の最後の3桁だけの3桁参照符
号によって識別されることが多い。
【0057】次に、図3を参照する。CPUローカル・
バス42(データ、アドレス、および制御構成要素を備
えた)は、マイクロプロセッサ40、数値計算補助プロ
セッサ44、ビデオ制御装置56、システム・キャッシ
ュ・メモリ60、およびキャッシュ制御装置62を接続
するために設けられている。ビデオ制御装置56には、
モニタ(またはビデオ表示端末)57およびビデオ・メ
モリ58が関連付けられている。CPUローカル・バス
42上にはバッファ64も結合されている。バッファ6
4自体は、低速な(CPUローカル・バス42と比較し
て)システム・バス66に接続され、やはりアドレス、
データ、および制御構成要素を備えている。システム・
バス66は、バッファ64と次のバッファ68の間を伸
びている。システム・バス66はさらに、バス制御およ
びタイミング装置70と、DMA装置71に接続されて
いる。DMA装置71は、中央アービタ82およびDM
A制御装置72から構成される。追加バッファ74は、
システム・バスと、業界標準アーキテクチャ(ISA)
バス76などの選択機構バスとの間のインタフェースを
提供する。バス76には、ISAアダプタ・カード(図
示せず)を受け入れる複数の入出力スロット78が接続
されている。ISAアダプタ・カードは、入出力スロッ
ト78に差込み式に接続され、システム10用の追加入
出力装置またはメモリを提供することができる。
【0058】アービトレーション制御バス80は、DM
A制御装置72および中央アービタ82を入出力スロッ
ト78、ディスケット・アダプタ84、およびIDE固
定ディスク制御装置86に結合する。
【0059】コンピュータ・システム10を基本4メガ
バイトRAMモジュール53と共に示しているが、任意
に選択された高密度メモリ・モジュール54を追加する
ことによって、図3に表されたように追加メモリを相互
接続できることに留意されたい。本発明を、例示のため
だけに、基本4メガバイト・メモリ・モジュールを参照
して説明する。
【0060】ラッチ・バッファ68は、システム・バス
66とプレーナ入出力バス90の間に結合されている。
プレーナ入出力バス90は、アドレス、データ、および
制御構成要素をそれぞれ含む。プレーナ入出力バス90
に沿って、ディスケット・アダプタ84、IDEディス
ク・アダプタ86、割込み制御装置92、RS-232アダプ
タ94、本明細書ではNVRAMとも呼ぶ不揮発性CMOS RAM
96、CMOS実時間クロック98、並列アダプタ100、
複数のタイマ102、読取り専用メモリ(ROM)8
8、8042 104、電源管理回路106などの様々な入
出力アダプタやその他の構成要素が結合されている。1
04で示された8042は、キーボード12およびマウス1
3と相互接続するスレーブ・マイクロプロセッサであ
る。電源管理回路106を、図6に示し、図6および図
7に関連する本文でさらに詳細に説明している。読取り
専用メモリ88は、マイクロプロセッサ40の入出力装
置とオペレーティング・システムの間を相互接続するた
めに使用されるBIOSを含む。ROM 88中に記憶され
たBIOSをRAM 53にコピーして、BIOSの実行時間を
削減することができる。ROM 88はさらに、メモリ
制御装置48に応答する(ROMSEL信号を介して)。メモ
リ制御装置48によってROM 88を使用可能にする
と、ROMからBIOSが実行される。メモリ制御装置48
によってROM88を使用不能にすると、ROMはマイ
クロプロセッサ40からのアドレス照会に応答しなくな
る(すなわち、BIOSはRAMから実行される)。
【0061】実時間クロック98は、時刻計算に使用さ
れ、NVRAM 96はシステム構成データを記憶するために
使用される。すなわち、NVRAM 96は、システムの現在
の構成を記述している値を含む。たとえば、NVRAM 96
は、固定ディスクまたはデイスケットの容量、表示の種
類、メモリの量、時間、日付などを記述した情報を含
む。特に重要なのは、メモリ制御装置48が、BIOSがR
OMまたはRAMを使い尽くしているか否かと、BIOS R
AMが使用することを所期されたRAMを再利用するか否
かを決定するために使うデータ(1ビットとすることが
できる)をNVRAM96が含むことである。さらに、これ
らのデータは、構成設定(SET Configuration)などの
特殊な構成プログラムを実行すると、NVRAMに記憶され
る。構成設定プログラムの目的は、システムの構成を特
徴付ける値をNVRAMに記憶することである。
【0062】前記のほとんどすべての装置は、揮発性レ
ジスタを備えている。図面が雑然とするのを防ぐため
に、装置には特定の装置のレジスタを参照する。たとえ
ば、CPUレジスタは、CPU 40レジスタとして参
照し、ビデオ制御装置レジスタは、ビデオ制御装置56
レジスタとして参照している。
【0063】前述のように、コンピュータは、マイクロ
コンピュータの上述の構成要素を収納するための密閉さ
れた遮蔽容積を形成する際にシャシ19と協動する、全
体的に15に示されたカバーを有する。カバー15は、
成形可能な合成材料から成る単体成形構成要素である外
側装飾カバー部材16と、装飾カバー部材の構成に適合
するように形成された金属薄板ライナ18とで形成する
ことが好ましい。しかし、カバーは他の周知の方法で製
造することができ、本発明の効用は、説明した種類の筐
体に限定されない。
【0064】動作の状態 図4を参照すると、本発明のコンピュータ・システムの
状態図が示されている。本発明のコンピュータ・システ
ム10は、正常動作状態150、スタンバイ状態15
2、サスペンド状態154、およびオフ状態156とい
う4つの状態を有する。図4に示された状態間の遷移
は、好ましい実施例を説明することを目的とするもので
あるが、限定的なものではない。したがって、追加事象
を使用して、状態変位を発生させることも可能である。
【0065】本発明のコンピュータ・システム10の正
常動作状態150は、典型的なデスクトップ・コンピュ
ータの正常動作状態とほとんど同じである。ユーザは適
用業務を使用することができ、基本的に、このコンピュ
ータを任意の他のコンピュータと同様に扱うことができ
る。ユーザに透過的な1つの違いは、バックグラウンド
で動作する、オペレーティング・システム中の電源管理
ドライバ(「APM OSドライバ」)と様々なAPM BIOSルー
チンの存在である。APM BIOSルーチンは、以下で検討さ
れるもので、サスペンド・ルーチン、レジューム・ルー
チン、Boot-Upルーチン、Supervisorルーチン、Save CP
U Stateルーチン、Restore CPU Stateルーチンを含む。
どの図にも示されていない1つのAPM BIOSルーチンは、
APM BIOS Routingルーチンである。APM BIOS Routingル
ーチンは本質的に、APM OSドライバからのコマンドを受
け入れ、適切なAPM BIOSルーチンを呼び出す。たとえ
ば、APM OSドライバがサスペンド・コマンドを発行する
と、APM BIOS Routingルーチンがサスペンド・ルーチン
を呼び出す。他の例として、APM OSドライバがGetEvent
コマンドを発行すると、APM BIOS RoutingルーチンがSu
pervisorルーチンを呼び出す。これらのルーチンは、BI
OS中に配置されており、BIOSがシャドーイングされる際
にシャドーイングされる。OS中の電源管理ドライバ
と、APM BIOSルーチンは、4つの状態間のコンピュータ
の遷移を制御する。用語「APM」の参照自体は一般
に、APM OSドライバの参照である。ただし、文脈によっ
て異なるものを指す場合もある。
【0066】第2の状態であるスタンバイ状態152
は、正常動作状態150よりも少ない電力を使用する
が、適用業務をスタンバイ状態でない場合と同様に実行
し続ける。一般に、スタンバイ状態152では、装置を
それぞれの低出力モードにすることによって電力が節約
される。好ましい実施例では、以下に詳細に説明するよ
うに、固定ディスク記憶装置31内の固定ディスク(図
示せず)の回転を停止し、ビデオ信号の生成を停止する
ことによって、スタンバイ状態152で電力が節約され
る。しかし、これは限定することを意図したものではな
く、CPUクロックを低速化または停止するなど、他の
方法を使用して電力消費量を削減することが可能であ
る。
【0067】好ましい実施例では、電力が2つの別々の
方法で節約される。第1に、正常動作状態150では、
固定ディスク記憶装置31内の固定ディスクが常に、通
常毎分3600回転(RPM)で回転する。スタンバイ
状態152では、固定ディスク記憶装置31を低出力モ
ードに入らせ(固定ディスク記憶装置31内の固定ディ
スクが回転を停止する)、それによって、固定ディスク
記憶装置31内のモータ(図示せず)が通常、固定ディ
スクを回転させる間に消費する電力を節約するコマンド
がIDEディスク制御装置86に与えられる。
【0068】第2に、正常動作状態150では、コンピ
ュータ・システムのビデオ制御装置56が常に、ビデオ
表示端末57上で表示されるイメージに対応するビデオ
信号(当技術分野で周知のHSYNC、VSYNC、R、G、Bな
ど)を生成する。スタンバイ状態152では、ビデオ制
御装置56はビデオ信号の制御を停止することによっ
て、ビデオ制御装置56で通常消費される電力を節約す
る。HSYNC、VSYNC、R、G、およびBはすべて、約DC0.
00Vになされる。VESA(ビデオ・エレクトロニクス標準
協会)準拠モニタを使用すると、HSYNCおよびVSYNCが約
DC0.00Vになったときに、該モニタがそれ自体をオフに
するため、さらに電力が節約される。
【0069】一部のシステムには、「スクリーン・セー
バ」があることに留意されたい。スクリーン・セーバ
は、画面57を暗くして、ビデオ表示端末の前面の蛍光
体の焼付きを防止する。大部分のそのようなシステムで
は、ビデオ制御装置56が引き続きビデオ信号を生成す
る。すなわち、ビデオ制御装置は暗い画面または動的デ
ィスプレイに対応するビデオ信号だけを生成する。した
がって、スクリーン・セーバを実行するコンピュータ・
システムは引き続き、ビデオ信号を生成するのに必要な
電力を消費する。
【0070】第3の状態はサスペンド状態154であ
る。サスペンド状態154では、コンピュータ・システ
ムが消費する電力は極めて少量である。サスペンドされ
たコンピュータは、好ましい実施例では、壁コンセント
から5W未満の電力を消費する。以下の、図5に関する
記載で詳細に説明するように、消費される唯一の電力
は、電源17のAUX5出力またはコンピュータ・システム
内部の電池171から、スイッチ21を監視するために
使用されるわずかな電力である。
【0071】このような少量の電力使用は、電源を「オ
フ」にする前にコンピュータ・システムの状態を固定デ
ィスク記憶装置(ハード・ディスク)31に保存するこ
とによって行われる。CPU 40は、サスペンド状態
154に入るために、適用業務に割り込み、CPUのプ
ログラム実行制御を電力管理ドライバに転送する。電力
管理ドライバは、コンピュータ・システム10の状態を
確認し、コンピュータ・システム10の状態全体を固定
ディスク記憶装置31に書き込む。CPU 40レジス
タ、CPUキャッシュ41、システムRAM 53、シ
ステム・キャッシュ60、ビデオ制御装置56レジス
タ、ビデオ・メモリ56、および残りの揮発性レジスタ
の状態はすべて、固定ディスク・ドライブ31に書き込
まれる。コンピュータ・システム10の状態全体は、使
用可能度をさほど失わずに復元できるように保存され
る。すなわち、ユーザは、システムが、通常どおりオペ
レーティング・システムをロードし、グラフィカル・ユ
ーザ・インタフェースをロードするのを待つ必要がな
い。
【0072】コンピュータは次に、システムがサスペン
ドされたことを示すデータを不揮発性CMOSメモリ96に
書き込む。最後に、CPU 40は電源17に、調整さ
れた電力の生成を停止させる。コンピュータ・システム
10は現在、電源を遮断されており、コンピュータの状
態全体は、固定ディスク記憶装置31に安全に保存され
ている。
【0073】「状態(state)」という用語は、本明細
書の全体にわたり、2つの似ているが、混乱を招く可能
性がある態様で使用されている。装置は、特定の状態に
「入る」ことができる。4つのシステム状態、正常15
0、スタンバイ152、サスペンド154、およびオフ
156は、本発明のコンピュータ・システム10の一般
的状態を指す。これらの「状態」は、コンピュータ・シ
ステム10を一般的な方法で記述する。たとえば、正常
動作状態150時に、CPU 40は引き続きコードを
実行し、コンピュータ・システム10内の複数のレジス
タを変更する。同様に、スタンバイ状態152時にも類
似の活動が行われる。したがって、コンピュータ・シス
テム10が正常動作状態150およびスタンバイ状態1
52のとき、コンピュータ・システム10のメモリおよ
びレジスタ構成は動的である。
【0074】他の装置も一定の状態に「入る」ことがで
きる。図7に関連する記載で説明するように、プログラ
ム可能論理アレイU2は複数の状態に入ることができ
る。
【0075】前記内容と、装置の「状態」、たとえば
「コンピュータ・システム10の状態」や「CPU 4
0の状態」と比較されたい。装置の「状態」とは、特定
のコンピュータ・サイクルでのその装置の状態を指す。
すべてのメモリ位置およびレジスタは特定の2進値を有
する。装置の「状態」とは、その装置の内容の静的2進
スナップショットである。
【0076】コンピュータ・システム10の「状態」と
は、動作相当物を指すもので、必ずしも正確な表現では
ない。たとえば、状態Aのコンピュータ・システム10
はCPUキャッシュ41またはシステム・キャッシュ6
0のいずれかに一定のメモリをもつことができる。どち
らかのキャッシュの内容をシステムRAM 53に「フ
ラッシュ」バックし、コンピュータ・システム10を状
態Bにすることが可能である。純粋に言えば、キャッシ
ュとシステムRAMの内容は異なるので、状態Aのコン
ピュータ・システム10の状態は、状態Bのコンピュー
タ・システム10の状態とは異なる。しかし、ソフトウ
ェア動作の観点から見ると、状態Aと状態Bは同じであ
る。なぜなら、システム速度のわずかな低下(キャッシ
ュから実行しても便益を受けないプログラムによって発
生する)は別として、実行プログラムは影響を受けない
からである。すなわち、キャッシュをフラッシュされた
コンピュータでは、キャッシュ領域に有用なコードが再
ロードされるまで、性能がわずかに下がるが、状態Aの
コンピュータと状態Bのコンピュータはソフトウェア動
作面では等価である。
【0077】用語"パワー"(power)も、2つの似てい
るが、混乱を招く可能性がある態様で使用される。"パ
ワー"は大部分の場合、電力を指す。しかし、"パワー"
は、コンピューティング能力を指すこともある。文脈に
よって、所期された使用法を明確にする必要がある。
【0078】「回路」は一般に、物理的電子装置、また
は電気的に相互接続された複数の装置を指す。しかし、
「回路」という用語は、物理的電子装置のCPUコード
相当物を含めることも意図している。たとえば、一方で
は、2入力NANDゲートを、プログラム可能装置で、74LS
00を介し、あるいはそれに相当する方法で実施すること
ができる。これらの2つの装置は物理的電子装置であ
る。他方では、CPU40に、2つのCPU読取り可能
入力ポートから2つの入力を読み取らせ、CPUコマン
ドを使用してNAND結果を生成させ、CPU書込み可能出
力ポートを介して結果を出力させることによってNANDゲ
ートを実現することもできる。これらのCPUインタフ
ェース可能ポートは、復号ラッチや該ラッチのプログラ
ム可能相当物のように単純にするか、あるいは当技術分
野で周知のPLAのように複雑にすることが可能であ
る。「回路」は、NANDゲート実施態様の3つの例をすべ
て含めることを意図している。場合によっては、「回
路」が単に電気経路を指すこともある。電気経路の種類
は、プリント回路板上のワイヤ、トレース、またはビア
や、単一の電気的に接続された経路を形成する数種の電
気経路の組合せを含む。
【0079】「信号」は、単一の電気波形または複数の
波形を指す場合がある。たとえば、ビデオ制御装置は、
ビデオ信号を生成する。ビデオ信号は実際には、複数の
電気導体上の複数の信号であり、当技術分野で周知のHS
YNC、VSYNC、R、G、Bなどがある。
【0080】ここで、図4に戻る。第4の、そして最後
の状態はオフ状態156である。オフ状態156は、通
常の意味でオフにされた典型的なコンピュータ・システ
ムとほとんど同じである。この状態では、電源17の一
次/調整装置172が、コンピュータ・システム10へ
の調整された電力の提供を停止するが(AUX5を通過する
わずかな調整された電力を除く。これについては、図5
に関連した記載で詳細に説明する)、コンピュータ・シ
ステム10の状態は固定ディスク31に保存されていな
い。サスペンド状態154とオフ状態156は、電源1
7がもはや、調整された電力を生成しないという点で似
ている。この2つの状態は、オフ状態156では、サス
ペンド状態154と異なり、コンピュータ・システム1
0の状態がハード・ドライブ31に保存されないという
点で異なる。さらに、コンピュータ・システム10は、
オフ状態156から抜け出す際に、オンにされる場合と
同様に「ブート」する。すなわち、ユーザが、あるいは
AUTOEXEC.BATファイルによって自動的に、実行コードを
開始しなければならない。しかし、コンピュータ・シス
テム10は、サスペンド状態154から抜け出す際に
は、割り込まれたときの位置から実行をレジュームす
る。
【0081】図4は、4つの状態間の遷移を発生させる
事象の概要も示している。これらの事象については、図
6乃至図8に関連した記載でさらに説明する。しかし、
ここでおおざっぱに説明しておくと有用である。電源ボ
タン21、2つのタイマ(非活動スタンバイ・タイマお
よび非活動サスペンド・タイマ、図9とそれに関連した
記載を参照されたい)、およびサスペンド入フラグ(図
6および図7と、それに関連した記載を参照されたい)
はすべて、コンピュータがどの状態に入るかに影響を及
ぼす。一般に、2つのタイマは、ハードウェア・タイ
マ、またはCPU上でプログラムとして実行するCPU
コード・タイマとすることができる。好ましい実施例で
は、これらのタイマは共にCPUコード・タイマであ
り、BIOSデータ・セグメントから実行する。しかし、2
つのタイマをハードウェア・タイマとすることがおそら
く可能であり、システムのオーバヘッドが削減されると
いう点ではこの方がよりよい解決策である。これらのタ
イマについては、図9に関連した記載で詳細に説明す
る。両方のタイマは共に、コンピュータ・システム10
が正常動作状態150またはスタンバイ状態152のと
きに活動的になる。これらのタイマは、どちらかのタイ
マが満了することによって後述の遷移が発生するよう
に、他のルーチンと通信する。どちらかまたは両方のタ
イマを、ユーザの特定のニーズに応じて、一定期間の後
に満了するように構成することが可能である。好ましい
実施例では、非活動スタンバイ・タイマおよび非活動サ
スペンド・タイマを、15乃至90分後に満了するよう
に設定することができる。どちらかまたは両方のタイマ
を停止する、すなわち、絶対に満了しないように構成す
ることが可能である。タイマを「停止すること」は、タ
イマの増分カウント動作を実際に停止し、あるいは単に
タイマの満了を無視するという形式を取る。好ましい実
施例では、タイマ満了値にゼロ値を設定すると、タイマ
満了はテストされなくなる。ネットワーク化コンピュー
タのユーザは、たとえば、LANをコンピュータに対し
て故障させる可能性があるために、コンピュータをサス
ペンド状態154に入らせたくない場合がある。
【0082】理論上、タイマはカウント・アップまたは
カウント・ダウンすることができ、始動(または再始
動)時に、固定された所定の状態にリセットし、他の固
定された所定の状態までカウントさせることができる。
あるいは現在値を使用し、差または和をエンドポイント
満了トリガとして算出することが可能である。好ましい
実施例では、タイマをリセットすると、実時間クロック
98からの分変数の現在値が記憶される。タイマは、保
存された分値から現行の分値を減算し、その差を、ユー
ザが選択した値と比較することによって、満了したか否
かを検査される。
【0083】両方のタイマは共に、一定のシステム活動
によって影響を受ける。たとえば、好ましい実施例で
は、図9に関連した記載で詳細に説明するように、キー
ボード12のキーを押すこと、マウス13を移動するこ
と、マウス13ボタンを押すこと、またはハード・ドラ
イブ31の活動という形式のユーザ活動によって、各タ
イマが再始動される。したがって、ユーザがキーボード
12のキーを押し、あるいはマウス13を使用している
ときは、どちらのタイマも満了しない。他のシステム事
象を使用して、タイマをリセットすることもできる。ど
のハードウェア割込みも、活動を監視することが可能で
ある。したがって、プリントによって、システムがサス
ペンド状態154に入るのを防止することが好ましい場
合がある。
【0084】サスペンド入フラグは、プログラム可能論
理アレイU2内のCPU処理可能および読取り可能ラッ
チであり、該フラグについては図7に関連する記載で詳
細に説明する。手短に言うと、プログラム可能論理アレ
イをあるモードにすると、スイッチ21が押され、コン
ピュータ・システム10がオフ状態156に入り、プロ
グラム可能論理アレイU2を他のモードにすると、スイ
ッチ21が押され、コンピュータ・システム10がサス
ペンド状態154に入る。158に示すように、コンピ
ュータ・システム10が正常動作状態150であり、プ
ログラム可能論理アレイU2に書き込まれるサスペンド
入フラグが002のときに電源ボタン21が押される
と、コンピュータ・システム10はオフ状態156に入
る。コンピュータ・システム10がオフ状態156であ
り、電源ボタン21が押されると、コンピュータ・シス
テム10は正常動作状態に入る。
【0085】コンピュータ・システム10が正常動作状
態150である場合、1つの事象によって、コンピュー
タをスタンバイ状態152に入らせることができる。1
62に示すように、非活動スタンバイ・タイマが満了す
ると、コンピュータ・システム10は、スタンバイ状態
152に変化する。164に示すように、スタンバイ状
態152のときには、前述の種類のシステム活動によっ
て、コンピュータ・システム10がスタンバイ状態15
2を抜け出し、再び正常動作状態150に入る。
【0086】コンピュータ・システム10が正常動作状
態150である場合、2つの事象によって、コンピュー
タ・システム10をサスペンド状態154に入らせるこ
とができる。第1に、166に示すように、非活動サス
ペンド・タイマが満了すると、コンピュータ・システム
10がサスペンド状態154に変わる。第2に、やはり
166に示すように、ユーザは、プログラム可能論理ア
レイU2に書き込まれるサスペンド入フラグが012
ある時に電源ボタン21を押すことによってコンピュー
タ・システム10をただちにサスペンド状態154に入
らせることができる。168に示すように、サスペンド
状態154のときには、ユーザが電源ボタン21を押す
ことによって正常動作状態150に変更することができ
る。
【0087】また、168に示すように、複数の外部事
象を使用して、コンピュータ・システム10をサスペン
ド状態154から正常動作状態150に変更することも
可能である。たとえば、電話リング検出回路を図6の回
路に追加して、接続された電話回線がリングしたときに
コンピュータ・システム10がサスペンド状態154を
抜け出して正常動作状態150に入るように構成するこ
とができる。そのような修正は、テレファックス・デー
タやディジタル・データを受け取るシステムに有用な場
合がある。システムは、着信情報を受信する際に電力を
消費するだけである。同様に、実時間クロックと図6の
間のインタフェースでは、警告タイプの事象によって、
コンピュータ・システム10がサスペンド状態154か
ら抜け出し、正常動作状態150に入るようにすること
が可能である。そのようなシステムは、低電話使用率を
利用するために一定の時刻にテレファックスまたはディ
ジタル・データを送信する際に有用な場合がある。
【0088】最後に、170に示すように、コンピュー
タ・システム10がスタンバイ状態152であり、非活
動サスペンド・タイマが満了すると、コンピュータ・シ
ステム10はサスペンド状態154に変わる。コンピュ
ータ・システム10は、サスペンド状態154からスタ
ンバイ状態152に戻ることはできず、遷移168に関
連した記載で説明するように、正常動作状態150に遷
移することしかできない。
【0089】コンピュータ・システム10が瞬間的に状
態を変更することはできないことは明らかである。4つ
の状態のうち1つから遷移を行うたびに、必要なシステ
ム変更を加えるために一定の時間が必要になる。各遷移
時間の詳細については、図6乃至図34に関連した記載
で説明する。
【0090】システム・ハードウェア CPU 40上で実行するコードの詳細について説明す
る前に、まず4つの状態を達成するのに必要なハードウ
ェアについて説明しておくと助けとなる。電源17のブ
ロックが図5に示されている。電源17は、制御装置1
74および一次/調整装置172という2つの装置を有
する。電源17は、典型的な壁コンセントからAC115Vを
受け入れるLine-In、電源17の調整活動を制御するON
という複数の入力を有している。電源17は、AC Line-
Out、±5 VDC、±12 VDC、AUX5、GND、およびPOWERGOOD
という複数の出力を有している。AC Line-Outは、無調
整のAC115Vであり、通常、ビデオ表示端末57の電力入
力(図示せず)に渡される。制御装置174は、ON入
力を受け入れ、POWERGOOD出力を生成する。一次/調整
装置172は、Line-In入力からのAC115Vを±DC5V、±D
C12Vに調整する。一次/調整装置172が電力を調整す
るか否かは、制御装置174によってインタフェースさ
れるONの値に依存する。好ましい実施例では、制御装
置174は、ON信号を生成する回路の絶縁、たとえば
適切な光学式アイソレータを備えている必要がある。
【0091】Line-In入力と、AC Line-Out、±5 VDC、
±12 VDC、GND、およびPOWERGOOD出力は、当技術分野で
は周知である。電源17が「オフ」、すなわち、Lin-In
からの調整された電圧を提供しないとき、POWERGOOD信
号は論理"0"である。電源17が「オン」のとき、電源
17は、AC115VのLine-Inからの、±DC5Vおよび±DC12V
に調整された電圧を生成する。これらの4つの調整され
た電圧とそれらに関連するGNDは、当技術分野で一般
に知られた「システム電源」である。調整された電圧が
許容公差内のレベルを達成すると、POWERGOOD信号が論
理"1"に変わる。
【0092】AUX5出力は、プレーナに補助+DC5Vを与え
る。電源17を、公称DC115Vを供給する典型的な壁コン
セントに差し込むと、電源が「オン」であるか、「オ
フ」であるかとは無関係に、一次/調整装置172はAU
X5で、調整された+DC5Vを提供する。したがって、電源
17は、壁コンセントに差し込まれているときは常に、
AUX5で公称+DC5Vを提供している。AUX5出力は、一次/
調整装置172が、+5出力を介して、電源17が「オ
ン」のときだけ、調整された+DC5Vを生成するという点
で、+5出力と異なる。AUX5出力はさらに、好ましい実
施例では、一次/調整装置172が+DC5Vで、+5出力
を介して数アンペアの電流を供給するが、AUX5出力を介
して1アンペア未満を供給するという点で、+5出力と
異なる。
【0093】典型的な従来の電源は、高アンペア2段階
スイッチを使用して、Line-In入力と電源の調整セクシ
ョンとの間の接続および切断を行う。本発明の電源17
は、高アンペア2段階スイッチを使用しない。その代わ
りに、スイッチ21はON信号を生成する回路を制御す
る。好ましい実施例では、スイッチ21は瞬間単極1段
階しボタンスイッチである。しかし、当業者は、単極2
段階スイッチなどの他の種類のスイッチを使用するよう
に図6の回路を適応することができる。AC Line-Inは常
に、壁コンセントから一次/調整装置172まで接続さ
れる。ONが論理"1"のとき(約AUX5、公称+DC5V)、一
次/調整装置172は、±5出力を介した場合も、±1
2出力を介した場合も、115 VAC Line-Inを±DC5Vまた
は±DC12Vに調整しない。一次/調整装置172は単
に、AUX5出力で低アンペア数公称+DC5Vを提供する。一
方、ONが論理"0"のときは(約GND)、一次/調整
装置172は、115 VAC Line-Inを4つの±5および±
12出力を介してそれぞれ±DC5Vおよび±DC12Vに調整
する。したがって、ONが"1"のとき、電源17は「オ
フ」であり、ONが"0"のとき、電源17は「オン」で
ある。
【0094】前述の電源17などの、AUX5出力とON入
力をもつ電源は、指定すれば、従来の電源の供給業者か
ら入手することができる。
【0095】図6を参照する。本発明のコンピュータ・
システム10の電子回路の概略図が示されている。図6
の回路は、スイッチ21、電源17、ビデオ表示端末5
7、およびCPU40上で実行するコードの相互接続を
行う。
【0096】この回路は、第1の事前にプログラムされ
たPAL16L8であるU1と、第2の事前にプログラムされ
たPAL16L8であるU2と、当技術分野で周知の74HC132で
あるU3という3つの集積回路を備えている。一般にPA
L U1およびU2は、図3のプレーナ入出力バス90と図6
の残りの回路を相互接続する。該回路はさらに、スイッ
チ21、抵抗R1乃至R10、5つのコンデンサC1乃
至C5、好ましい実施例で論理スイッチとして動作する
のに適した標準低電流NMOS FETである4つのN型MOSFET
Q1乃至Q4、および標準低電流ダイオード・パッケ
ージであるデュアル・ダイオード・パッケージCR1を
備えている。これらの装置はすべて、図6に示すように
構成され、接続されている。抵抗R1乃至R10は、1
/4W抵抗であり、図6に示す値の±5%の値である。
コンデンサC1乃至C2は、図6に示す値の±10%の値
をもつ電解コンデンサである。コンデンサC3乃至C5
は0.1 μF(±10%)セラミック・コンデンサである。
【0097】第1のPAL U1は、アドレス線SA(1)乃至SA
(15)と、AEN(アドレス使用可能)線に接続されてい
る。SA(1)乃至SA(15)とAENは、図3に示すプレーナ
入出力バス90の一部である。第1のPAL U1は、単にア
ドレス・デコーダとなるようにプログラムされており、
アドレス回線SA(1)乃至SA(15)上に所定のアドレスが提
供され、AEN(アドレス使用可能)回線が活動的なと
きに、アクティブ・ロー信号のPM_PORT_DCD#を提供す
る。
【0098】第2のPAL U2は、読取り可能バイトと、本
明細書では「電源管理ポート」とも呼ぶ、前述の入出力
ポートの下位3ビット中の3つの書込み可能ビットとを
提供するようにプログラムされる。第2のPAL U2は、プ
レーナ入出力バス90からの8つの入力、SD(0)、SD
(1)、SD(2)、SA(0)、IOW#、IOR#、RESETDRV、およびIRQ
(1)を有する。第2のPAL U2は、ピン2でのアクティブ
・ハイ信号のRESETDRV入力によって周知の初期条件にリ
セットされる。この信号は、当技術分野に周知のメモリ
制御ユニット46によって生成される。第2のPAL U2に
ついては、図7と表1および2に関連した記載で詳細に
説明する。
【0099】第3の装置は、本明細書ではU3Aおよび
U3Bとして識別される2つの部分を有する。これらの
部分は、当技術分野で周知の、NANDラッチとしても知ら
れたSRラッチを形成する。SRラッチは、U3のピン
1および5を入力としてもち(ピン1はセット入力であ
り、ピン5はRESET入力である)、U3Aのピン3を出
力としてもつ。両方の入力が共に論理"1"のとき、出力
は、ラッチされた出力値を保持する。セットが論理"0"
になると、出力は論理"1"になる。セット入力が論理"1"
に戻ると、出力は論理"1"でラッチされる。RESET入力が
論理"0"になると、出力は論理"0"になる。RESET入力が
論理"1"に戻ると、出力は論理"0"でラッチされる。
【0100】POWERGOOD信号が論理"1"であり、調整され
た電圧が適切なレベルであることを示す場合、本明細書
ではU3Cとして識別される第3の装置の第3の部分
が、第2のPAL U2のピン12出力用のインバータとして
動作する。POWERGOOD信号が論理"0"であり、VCCが接
地付近で浮動し、あるいは+DC5Vまでランプ・アップま
たは+DC5Vからランプ・ダウンしていることを示す場
合、第3の装置の第3の部分U3Cのピン8での出力は
論理"1"のままとなり、第2のPAL U2のピン12からの
雑音が、第3の装置の第1および第2の部分U3Aおよ
びU3Bによって作成されたSRラッチに影響を及ぼす
のを妨げる。
【0101】スイッチ21は、JP1で図6の回路に接
続される。抵抗/コンデンサ副回路R2およびC1は、
スイッチ21の閉鎖事象をディバウンスする。第3の装
置の第4の部分U3Dは、ピン12がR6を介してVBAT
にプルされた(AUX5が公称+DC5Vのとき約+DC4.3V)イン
バータとして構成される。このインバータは、ディバウ
ンスされたスイッチ閉鎖を反転する。電流制限抵抗器R
10は、第3の装置の第4の部分U3Dのピン11を、
その装置が電源を投入または遮断されるときに第2のPA
L U2のピン8から流れる電流から保護する。
【0102】SRラッチについては、電源をオフにして
はならない。しかし、R7およびC3は、SRの電源が
オフになった場合、SRラッチを、それが電力を再供給
されるときに電源17が「オフ」状態になる電源投入時
状態にするように設計されている。
【0103】抵抗R1、R3、R4、R5、R6、R
8、およびR9はプルアップ抵抗であり、それぞれの回
線をVCC、VBAT、またはAUX5にプルする。トランジスタ
Q1、Q2、Q3、およびQ4はインバータである。R
4およびC2は、C2をVCCに達するまで充電させる
RC対を形成する。トランジスタQ5は、第2PAL U2の
ピン19出力が論理"1"のときにトランジスタC2をド
レーンする。C2に記憶された電圧が約+DC2.7Vよりも
低いとき、Q1は通電せず、R3は第2PAL U2のピン1
1入力を、VCCにプルして論理"1"にする。C2が約+
DC2.7V以上まで充電されると、Q1は通電し、ピン11
入力をGNDにプルして論理"0"にする。
【0104】第2のPAL U2のピン18出力が論理"0"の
とき、R8およびR9はBLNK#およびESYNC回線をそれぞ
れVCCにプルする。ESYNCおよびBLNK#回線がVCCの
とき、ビデオ制御装置56はビデオ信号を生成する。第
2のPAL U2のピン18出力が論理"1"のとき、トランジ
スタQ2およびQ3は通電して、BLNK#およびESYNCをそ
れぞれGNDにプルし、ビデオ制御装置56にビデオ信
号の生成を停止させる。
【0105】図6に示す電子回路は、VCC、AUX5、およ
びVBATという3つの電源を有する。VCCおよびAUX5
は、電源17によって生成され、公称+DC5.0Vである。
VCCとそれに関連するGND戻り回線は、当技術分野
で周知の、プレーナ20上の主電源コネクタ(図示せ
ず)を介して入る。AUX5は、JP2のピン1で回路に接
続される。AUX5戻り回線は、JP2のピン3から入り、
GND回線に接続される。VBATは、電池171の電力出
力であり、公称DC3.5Vである。電池171は、リチウム
電池であり、当技術分野で周知である。
【0106】PAL U1およびU2は、ピン20でのVCC入
力をVCCに接続されている。複数の抵抗R3、R4、
R8、およびR9もVCCに接続される。電源17は、
それが「オン」であり、当技術分野で周知の、公称AC11
5Vを供給する典型的な壁コンセントに差し込まれたとき
だけ、調整された+DC5Vを供給する。電源が「オフ」で
あり、あるいは差し込まれていないとき、PAL U1および
U2と、抵抗R3、R4、R8、およびR9は+DC5Vを受
けない。
【0107】一方、公称AC115Vを供給する典型的な壁コ
ンセントに電源17を差し込むと、電源17は、「オ
ン」であるか、「オフ」であるかとは無関係に、AUX5
で、調整された+DC5Vを提供する。したがって、AUX5に
接続された装置は、電源17が差し込まれているときは
必ず+DC5Vを受ける。
【0108】さらに、U3と、抵抗R1、R2、および
R6は常に電力を受ける。なぜなら、CR1のダイオー
ドが、VBATに接続された装置が常に電力を受けるように
VBATおよびAUX5と相互接続されているからである。電源
17は、典型的な壁コンセントに差し込まれていると
き、AUX5で+DC5Vを提供し、VBATに接続された装置(U
3と、抵抗R1、R2、およびR6)は約+DC4.3V(AUX
5の+DC5Vから、AUX5とVBATの間のCR1内のダイオード
のダイオード・ドロップを引いた値)を受ける。電源1
7は、コンセントに差し込まれていないとき、AUX5回線
への調整された電力の提供を停止し、U3と抵抗R1、
R2、およびR6はVBATから電力を受ける。典型的な74
HC132には、+DC2.0Vの最小DC供給電圧が必要である。し
たがって、VBATが+DC2.0Vを提供するのに十分な電荷を
保持しているかぎり、U3は電力を十分に供給される。
【0109】図6の回路には多数の修正を加えることが
でき、そうしても本発明の範囲を逸脱しない。たとえ
ば、実時間クロック98を、図6の回路に電気的に接続
して、特定の時刻に、コンピュータ・システム10がサ
スペンド状態154から正常動作状態150に変わるよ
うに、ON#信号にダイオードOrされるように構成す
ることが可能である。同様に、電話リング検出回路を、
図6の回路に追加し、接続された電話回線の活動によっ
て、コンピュータ・システム10がサスペンド状態15
4を抜け出し、正常動作状態150に入るように、ON
#信号にダイオードOrされるように構成することも可
能である。
【0110】再び、図6を参照する。第2のPAL U2は2
つの状態マシンを有する。第2のPAL U2中の一方の状態
マシンの状態図を図7に示す。表1および表2は、他方
の状態マシンと、第2のPAL U2の一定のその他の態様に
ついて説明している。
【0111】図7は、第2のPAL U2内の一方の状態マシ
ンを示す。TE1およびTE0は共に、スイッチ状態0
2(「 2」は2進数を表す)176、スイッチ状態0
2178、スイッチ状態112 180、およびスイッ
チ状態102 182という4つの状態を許容する。
【0112】TE1およびTE0を第2のPAL U2に直接
書き込むことはできず、その代わりに状態は、スイッチ
21の閉鎖事象や、コンピュータ・システム10のリセ
ットなどのその他の事象に応じて変わる。システム電源
が電源17によって提供されていない場合、第2のPAL
U2は電力を供給されておらず、したがって、174では
第2のPAL U2の状態は無意味である。図6に関連した記
載で説明するように、スイッチ21を押すことや、(電
話リング検出器が電源17にシステム電源を提供させる
ことなどの)その他の事象によって、電源17にシステ
ム電源の提供を開始する。スイッチ21を押し、あるい
はRESETDRV信号が活動的である場合、第2のPAL U2はス
イッチ状態002 176に入る。スイッチ21を放
し、あるいはスイッチ21を押していないときにRESETD
RVが非活動的になると、第2のPALU2はスイッチ状態0
2 178に入る。再びスイッチ21を押すと、第2
のPALU2はスイッチ状態112 180に入る。再びスイ
ッチ21を放すと、第2のPAL U2はスイッチ状態102
182に入る。スイッチ21の以後の閉鎖によって、
第2のPAL U2は、図7に示すように4つの状態を循環す
る。第2のPAL U2は、コンピュータ・システム10が正
常動作状態150のときはスイッチ状態012178で
ある。
【0113】スイッチ状態012 178は、TE1、
TE0状態マシンの正常オン状態に対応するスイッチ状
態である。適用業務プログラムは、スイッチ状態012
178のときに実行される。コンピュータ・システム
10は、その状態でスタンバイ状態152に入り、抜け
出すことができる。スイッチ状態012 178は、ユ
ーザ生成サスペンド中止要求にも対応する。スイッチ状
態102は、ユーザによるサスペンド要求に対応するス
イッチ状態である。すなわち、システムをオフ状態15
6から開始し、スイッチ21を1度押すと、コンピュー
タ・システム10は正常動作状態150になる。スイッ
チ21をもう1度押すと、サスペンド要求(電源管理ポ
ートでの0FFH)が生成される。サスペンド要求は、図9
に関連した記載で詳細に説明するSupervisorルーチンに
よって読み取られる。コンピュータ・システム10がサ
スペンド状態154になる前にスイッチ21をさらにも
う1度押すと、サスペンド中止要求(電源管理ポートで
の0FEH)が生成される。サスペンド中止要求はサスペン
ド・ルーチンによって読み取られる。
【0114】表1は、図7の4つの状態に複数の注釈を
追加する。スイッチ状態002 176、012 17
8、および112 180のとき、電源管理ポートは、
読取りに応じて0FFHを出力する。
【表1】 TE1 TE0 注釈 0 0 表示ブランキング・ビットをクリアする。 電源管理ポートの読取り=0FFH 0 1 SD(2)によって制御される表示ブランキング・ビット 電源管理ポートの読取り=0FFH 1 1 SD(2)によって制御される表示ブランキング・ビット 電源管理ポートの読取り=0FFH 1 0 表示ブランキング・ビットをセットする。 電源管理ポートの読取り=0FEH
【0115】一方、スイッチ状態102 182のと
き、電源管理ポートは読取りに応じて0FEHを出力する。
スイッチ21を押し、放すことによって、第2のPAL U2
はスイッチ状態012から抜け出し、スイッチ状態102
182に入る。スイッチ状態102 182は、ハー
ドウェア・サスペンド要求を発信する。Supervisorルー
チンは、電源管理ポートを読み取ることによってハード
ウェア・サスペンド要求を認識する。読取りに応じた0F
EHは、ハードウェア・サスペンド要求を示す。
【0116】TE1、TE0状態マシンは、ビデオ・ブ
ランキング回路にも影響を及ぼす。スイッチ状態002
176のとき、表示ブランキング・ビットがクリアさ
れ、ビデオ制御装置56はビデオ信号を生成する。スイ
ッチ状態102 182のときは、表示ブランキング・
ビットがセットされ、ビデオ制御装置56はビデオ信号
の生成を停止する。後述のように、スイッチ状態012
178および112180のとき、表示ブランキング
・ビットはD2への書込みによって制御される。
【0117】表2は、第2のPAL U2の他方の状態マシン
を示し、SD2への書込みがビデオ信号にどのように影
響を及ぼすかを示す。
【表2】 S2 S1 S0 注釈 X 0 0 スイッチ状態102のとき、ただちに電源を「オフ」にする 。X 0 1 スイッチ状態102のとき、フェールセーフ・タイマを起 動す る(C2が充電される)。 X 1 0 ただちに電源を「オフ」にする。 X 1 1 フェールセーフ・タイマをリセットする(C2がドレーンさ れる)。 0 X X ビデオ信号をオンにする。 1 X X ビデオ信号をオフにする。
【0118】PAL内のU2回路は、電源管理ポートで
3つのビット、SD(0)、SD(1)、SD(2)を提供する。3つ
のビットは、表2ではS0、S1、およびS2とラベル
付けされている。SD(2)は、第2のPAL U2のピン18 D
ISPLAY_OFF出力を制御することによってビデオ・ブラン
キングを制御する。電源管理ポートのSD(2)ビットに"1"
を書き込むと、ピン18 DISPLAY_OFF出力が論理"1"を
アサートし、トランジスタQ2およびQ3が通電し、BL
NK#およびESYNCがGNDにプルされ、そのためにビデオ
制御装置56がビデオ信号の生成を停止することによっ
てビデオ信号がオフになる。同様に、電源管理ポートの
SD(2)に"0"を書き込むと、ピン18 DISPLAY_OFF出力
が論理"0"をアサートし、トランジスタQ2およびQ3
が通電を停止し、抵抗R8およびR9がBLNK#およびESY
NCをVCCにプルし、それによって、ビデオ制御装置5
6はビデオ信号を生成する。
【0119】IRQ(1)入力もビデオ・ブランキングを制御
する。IRQ(1)はキーボード・ハードウェア割込みであ
る。すなわち、キーボード12上のキーを押すと、IRQ
(1)がパルスする。ビデオ信号がオフのときにIRQ(1)上
にパルスが発生すると、ピン18DISPLAY_OFF出力が論
理"0"をアサートし、トランジスタQ2およびQ3が通
電を停止し、抵抗R8およびR9がBLNK#およびESYNCを
VCCにプルし、そのためにビデオ制御装置56がビデ
オ信号を生成することによって、ビデオ信号はただちに
オンに戻る。このようにIRQ(1)を使用すると、スタンバ
イ状態152から正常動作状態154に戻る際、ただち
に、復元されたビデオ表示の形式のフィードバックがユ
ーザに提供される。図9に関連した記載で説明するよう
に、IRQ(1)がないと、ユーザは、おそらく数秒後に、A
PMがユーザの活動を検査するまで、フィードバックを
受け取らない。
【0120】SD(1)とSD(0)は協動して、002、012
102、および112という4つの動作状態を提供する。
第2のPAL U2は、002状態へのRESETDRV入力によって
初期化される。また、4つの状態のうちどの状態のとき
でも、電源管理ポートにXXXXXX002を書き込むと、第2
のPAL U2は002状態になる。図5に関連した記載で説
明するように、002状態では、スイッチ21は、典型
的な電源の電源スイッチと同様に動作する。002状態
のときにスイッチ21を押すと、第2のPAL U2のピン1
2出力が論理"1"をアサートし、SRラッチの出力ピン
3が論理"0"状態にラッチされ、ONがR6によって"ハ
イ"にプルされ、電源17の一次/調整装置172が、
±5および±12回線に沿った調整された電圧の提供を
停止することによって、電源17がオフになる。この状
態では、以下のシステム・ソフトウェアの説明で詳細に
説明するようにAPMが切断される。002状態のとき
に電源管理ポートを読み取ると、回路は0FEHを返す。好
ましい実施例では、このバイトが読み取られ、ハードウ
ェアが存在することを確認するためにテストされる。
【0121】4つの状態のうちどの状態のときでも、電
源管理ポートにXXXXXX012を書き込むと、第2のPAL U2
は012状態に入る。012状態とは正常APM状態であ
る。012状態に入った直後からスイッチ21を押すま
での間に電源管理ポートを読み取ると、回路は0FFHを返
す。012状態のときにスイッチ21を押し、放すと、
次の2つの事象が発生する。(1)電源管理ポートの読
取りから返される値は、0FEHと0FFHの間で切り替わる。
(2)ピン18でアサートされる値が切り替わり、ビデ
オ制御装置56は、スイッチ21が押されるたびにビデ
オ信号のオンとオフを切り替える。さらに、スイッチ2
1を初めて押すときに、ピン19のTRIGGER#出力が論
理"0"をアサートし、Q5が通電を停止し、コンデンサ
C2が充電を開始することによって、フェールセーフ・
タイマが起動する。C2に記憶された電圧が約+DC2.7V
よりも低いとき、Q1は通電せず、R3は第2のPAL U2
のピン11入力をVCCにプルして論理"1"にする。C
2が充電されて約+DC2.7V以上になると、Q1が通電
し、ピン11入力がGNDにプルされて論理"0"にな
る。ピン11 DELAY_IN#が論理"0"のときは、第2のPAL
U2のピン12出力が論理"1"をアサートし、SRラッチ
の出力ピン3を論理"0"状態にラッチし、R6によって
ONを"ハイ"にプルして、電源17の一次/調整装置1
72に±5および±12回線に沿った調整された電圧の
提供を停止することによって、電源17が「オフ」にな
る。スイッチの閉鎖を繰り返すと、フェールセーフ・タ
イマのオンとオフが切り替わる。
【0122】したがって、012状態のとき、スイッチ
を押す前には、読取りから返される値は0FFHであり、ビ
デオ信号が生成される。スイッチ21を初めて押したと
きに、読取りから返される値が0FEHに変わり、ビデオ信
号が生成を停止し、ビデオ表示端末57がブランクにな
る。スイッチ21をもう1度押すと、読取りから返され
る値が0FFHに戻り、ビデオ制御装置56が再びビデオ信
号の生成を開始する。切替えの特性のために、スイッチ
21を押すことを繰り返すと、スイッチを押す回数の合
計が奇数である場合、値が0FEHになり、ビデオ信号がブ
ランキングされ、スイッチを押す回数の合計が偶数であ
る場合、値が0FFHになり、ビデオ信号が生成される。
【0123】4つの状態のうちどの状態のときでも、電
源管理ポートにXXXXXX102を書き込むと、第2のPAL U2
は102状態に入る。102状態に入ると、第2のPAL U2
のピン12出力が論理"1"をアサートし、SRラッチの
出力ピン3が論理"0"状態にラッチされ、R6によって
ONが"ハイ"にプルされ、電源17の一次/調整装置1
72が±5および±12回線に沿った調整された電圧の
提供を停止することによって、電源17はただちに「オ
フ」になる。この状態では、コンピュータ・システム1
0が電源17に対する制御を獲得する。
【0124】4つの状態のうちどの状態のときでも、電
源管理ポートにXXXXXX112を書き込むと、第2のPAL U2
は112状態に入る。112状態に入ると、ピン19 TR
IGGER#出力が論理"1"をアサートし、Q5が通電し、コ
ンデンサC2をGNDまでドレーンすることによって、
フェールセーフ・タイマがリセットされる。この状態を
抜け出し、012状態に入ると、ピン19 TRIGGER#出
力が論理"0"をアサートし、トランジスタQ5が通電を
妨げられ、コンデンサC2が再び充電されることによっ
て、フェールセーフ・タイマが再始動する。
【0125】図6の回路の機能についての以下の説明
は、電源17が典型的な壁コンセントに差し込まれ、AU
X5で+DC5Vを生成しており、したがって、多数の装置、
特にU3が電力を十分に供給されていると仮定してい
る。
【0126】図6の回路についての説明は、電源17が
「オフ」のとき最初に回路を検針しておくと、より容易
に理解される。電源17を「オフ」にするには、JP2
のピン2での信号ONを論理"1"にしなければならな
い。したがって、Q4を通電してはならず、ゆえにU3
のピン3は論理"0"でなければならない。すなわち、U
3AおよびU3BのSRラッチは、論理"0"出力でラッ
チされる。POWERGOODが論理"0"であり、第2のPAL U2が
電力を供給されないため、U3Cのピン8出力は論理"
1"であり、したがってSRラッチのRESET入力は"1"であ
る。同様に、SRラッチセット入力、すなわちU3Aの
ピン1は、R1によって論理"1"にプルされる。この状
態では、SRラッチは論理"0"出力でラッチされる。
【0127】スイッチ21を押すと、R2およびC1に
よって閉鎖が立ち下がり、SRラッチセット入力、すな
わちU3Aのピン1がGND(論理"0")にプルされ
る。これによって、SRラッチ出力、すなわちU3Aの
ピン3が論理"1"に変わり、Q4が通電し、それによっ
てONがGNDにプルされ、電源17が、±5および±
12回線への調整された電力の提供を開始する。スイッ
チ21を放すと、SRスイッチセット入力、すなわちU
3Aのピン1が論理"1"に変わり、SRラッチが論理"1"
をU3Aピン3出力でラッチし、それによって電源17
を「オン」状態にラッチする。
【0128】POWERGOOD信号が論理"1"になった後、すべ
ての電圧は公差の範囲内になる。POWERGOODが論理"0"の
とき、第2のAPL U2は次のように初期化される。(1)
ピン12 OFF出力が論理"0"をアサートし、それに
よってSRラッチが現行のラッチされた状態のままにな
る。(2)ピン18 DISPLAY_OFF出力が論理"0"をアサ
ートし、それによってビデオ制御装置がビデオ信号を生
成する。(3)ピン19 TRIGGER#出力が論理"1"をア
サートして、Q5に、C2をGNDにドレーンさせ、そ
れによってピン11 DELAY_IN#入力をR3によって論
理"1"にプルされたままにする。
【0129】前述のように、図7中の第2のPAL U2回路
は、電源管理ポートで3つのビット、SD(0)、SD(1)、SD
(2)を提供する。SD(2)は、第2のPAL U2のピン18 DI
SPLAY_OFF出力を制御する。電源管理ポートのSD(2)に"
1"を書き込むと、ビデオ制御装置56はビデオ信号の生
成を停止する。同様に、電源管理ポートのSD(2)に"0"を
書き込むと、ビデオ制御装置56は、ビデオ信号を生成
する。
【0130】前述のように、SD(1)とSD(0)は協動して0
2、012、102、および112という4つの動作状態
を提供する。第2のPAL U2は002状態へのRESETDRV入
力によって初期化される。この状態のときに、スイッチ
21を押すと、電源17が「オフ」になるだけである。
コード実行中のある点で、ソフトウェアは、ユーザの所
望に応じて、電源管理ポートにXXXXXX012を書き込み、
第2のPAL U2を012状態に入らせる。012状態とは正
常APM状態である。各APM「取出し事象」時に、Su
pervisorルーチンは、非活動スタンバイ・タイマが満了
したか、あるいは非活動サスペンド・タイマが満了した
かを確認する。非活動スタンバイ・タイマが満了した場
合、Supervisorルーチンが入出力ポートにXXXXX1XX2
書き込み、それによってビデオ信号がブランキングされ
る。コンピュータがスタンバイ状態から抜け出し、再び
正常動作状態に入ると、Supervisorルーチンが入出力ポ
ートにXXXXX0XX2を書き込み、それによってビデオ制御
装置56がビデオ信号を生成する。非活動サスペンド・
タイマが満了すると、Supervisorルーチンがサスペンド
・ルーチンを呼び出す。サスペンド・ルーチンについて
は、図10乃至図15に関連した記載で詳細に説明す
る。
【0131】また、各APM「取出し事象」時に、Supe
rvisorルーチンは電源管理ポートを読み取る。0FFHが返
される場合、スイッチ21は押されていない。一方、0F
EHが返される場合、スイッチ21が押されており、コン
ピュータ・システム10はサスペンド・ルーチンを開始
する。サスペンド・ルーチンについては、図10乃至図
15に関連した記載で詳細に説明する。スイッチ21が
押されており、あるいは非活動タイマが満了している場
合、フェールセーフ・タイマが始動されており、C2が
充電されている。したがって、フェールセーフ・タイマ
が電源17をオフにするのを防止するために、サスペン
ド・ルーチンは入出力ポートにXXXXXX112に書き込み、
タイマをリセットし、次に、ただちに入出力ポートにXX
XXXX012を書き込み、012モードでレジュームする。シ
ステムをサスペンドするときは、サスペンド・ルーチン
が入出力ポートにXXXXXX112を書き込み、ただちに電源
17を「オフ」にする。
【0132】システム・ソフトウェア 本発明のコンピュータ・システム10のハードウェア態
様について説明したので、引き続きコード態様について
説明する。
【0133】図8を参照すると、power-upルーチンの全
体図が示されている。このルーチンは200で、CPU
がリセット・ベクトルでポイントされたコードにジャン
プし、それを実行するときに開始する。これは、CPU
を電源投入するたびに行われると共に、ハードウェア・
リセット信号によって、あるいはリセット・ベクトルで
ポイントされたコードにジャンプすることによってRESE
T命令が実行されるときに、CPUがリセットされると
き行われる。そのようなリセット手順は当技術分野で周
知である。
【0134】一般に、Power-Upルーチンの流れは、シス
テムがオフ状態156であるか、サスペンド状態154
であるかによって異なる。すなわち、CMOS NVRAM 96
でサスペンド・フラグがクリアされているか、セットさ
れているかによって異なる。202に示すように、コン
ピュータ・システム10は不揮発性CMOSメモリ96から
サスペンド・フラグを読み取ることによって、それ自体
がオフ状態156であるか、サスペンド状態154であ
るかを判断する。コンピュータ・システム10が正常動
作状態150を抜け出してオフ状態156またはサスペ
ンド状態154に入ると、各ルーチンはNVRAM 96中の
サスペンド・フラグをセットするか、あるいはクリアす
る。NVRAM 96中のサスペンド・フラグがセットの場
合、コンピュータ・システム10はサスペンド状態15
4であり、コンピュータ・システム10の状態は固定記
憶装置31に記憶されている。一方、NVRAM 96中のサ
スペンド・フラグがクリアの場合、コンピュータ・シス
テム10はオフ状態156であり、コンピュータ・シス
テム10の状態は固定記憶装置31に記憶されていな
い。したがって、NVRAM 96中のサスペンド・フラグが
クリアの場合、コンピュータは、タスク204乃至21
0に示す「正常」ブート・ルーチンを実行する。第1の
タスクは、204に示す電源オン自己試験(POST)
であり、これについては図16乃至図18に関連した記
載で詳細に説明する。206に示すように、CPU 4
0は、POSTから戻った後、PBOOTルーチンを呼び出し、
オペレーティング・システムをロードする。
【0135】PBOOTルーチンは、IBM PS/2コンピュータ
上で動作する典型的なルーチンに、以下で説明するわず
かな変更を加えたものである。PBOOTは、どこからブー
トするか(ハード・ドライブ31またはフロッピィ・ド
ライブ27内部のディスクから)を決定し、オペレーテ
ィング・システムをロードし、CONFIG.SYSファイルに命
令されたシステムの変更を分析して実行し、最後に、オ
ペレーティング・システムに制御を戻す前にAUTOEXEC.B
ATバッチ・ファイルを実行する。PBOOTルーチンは当技
術分野では周知である。しかし、本発明のコンピュータ
・システム10に固有の機能として、このブート・ルー
チンは、オペレーティング・システムに組み込まれた拡
張電源管理(APM)拡張プログラミング・インタフェ
ース(API)と通信する。APM APIはインテル社およ
びマイクロソフト社によって開発され、現在、多数のオ
ペレーティング・システムがAPM APIを実施している。
これらのオペレーティング・システムとしては、たとえ
ば、IBMのOS/2、IBMのPC-DOS、マイクロソフ
ト社のMS-DOS、マイクロソフト社のWindowsなどがあ
る。APM BIOSブート・ルーチンはAPM OSにSupervisorル
ーチンの存在を通知する。210に示すように、オペレ
ーティング・システムは、ユーザが命令したコードを無
限に実行する。しかし、APIにSupervisorルーチンに
ついて通知した結果は、212に示すように、APM BIOS
およびAPM OSが、Supervisorルーチンを、実行中のプロ
グラムと「並列」して実行することである。すなわち、
コンピュータ・システム10は時間多重化多重タスク・
システムであり、APM取出し事象、したがってSuperv
isorルーチンは定期的に実行される。結果として、Supe
rvisorにルーチンがほぼ毎秒実行されることになる。Su
pervisorルーチンについては、図9に関連した記載で詳
細に説明する。図4に関連した記載で説明するように、
normal bootルーチン204乃至210が終了した後、
コンピュータ・システム10は正常動作状態150にな
る。
【0136】再びタスク202を参照する。NVRAM 96
にサスペンドフラグがセットされている場合、システム
状態はハード・ドライブ31に保存されており、コンピ
ュータ・システム10はタスク214乃至220に示す
レジューム・ ブート・ルーチンを実行する。まず、2
14に示すように、システムは簡略POSTを実行する。簡
略POSTについては、図16乃至図18に関連した記載で
詳細に説明する。216に示すように、システムは、簡
略POSTの後にレジューム・ルーチンを呼び出す。レジュ
ーム・ルーチンについては、図19乃至図23に関連し
た記載で詳述する。レジューム・ルーチンは、コンピュ
ータ・システム10の状態を該システム10がサスペン
ドされる前の構成に復元する、と言えば十分であろう。
レジューム・ ブート・ルーチンは、タスク204乃至
210に示すnormal bootルーチンと異なり、APM APIに
Supervisorルーチンの存在を通知する必要がない。とい
うのは、APMルーチンは、間違いなくシステムをサス
ペンドするために動作しており、システム状態が復元さ
れると、再びメモリにロードされるからである。したが
って、212および220に示すように、レジューム・
ルーチンがコンピュータ・システム10の状態の復元を
終了するとき、APMはすでに存在し、復元されたコー
ドと「並列的に」動作している。図4に関連した記載で
説明するように、レジューム・ ブート・ルーチン21
4乃至220が終了した後、コンピュータ・システム1
0は正常動作状態150になる。したがって、normal b
ootルーチン204乃至210またはレジューム・ ブー
ト・ルーチン214乃至220が実行された後、コンピ
ュータ・システム10は正常動作状態150になる。
【0137】図9は、Supervisorルーチンの詳細を示す
フローチャートである。このルーチンは、「取出し事
象」時にAPMによって約1秒に1回呼び出される。各
オペレーティング・システムは、それぞれの頻度で取出
し事象を実行する。
【0138】Supervisorルーチンは図9の222から始
まる。以下の記載では、コンピュータ・システム10が
正常動作状態150から開始するものと仮定している。
第1のタスクは、224で、ユーザがスイッチ21を押
したか否かを試験することである。図6および図7に関
連した記載で詳細に説明するように、スイッチ21は、
電源管理ポート・バイトを読み取ることによって試験さ
れる。電源管理ポートは、第2のPAL U2がスイッチ状態
012のときに読み取られると、スイッチ21が押され
ていない場合はFFHを返し、スイッチ21が押されて
いる場合はFEHを返す。
【0139】タスク224での試験が、ユーザがスイッ
チ21を押したことを示す場合、Supervisorルーチン
は、226でサスペンド要求APMリターン・コードを
セットし、次に228でAPMに戻る。APMは、セッ
トされた"サスペンド要求"APMリターン・コードに応
じて、必要なシステム・タスク(ハード・ディスクの同
期化などの)を実行し、次に「サスペンド・コマンド」
を発行する。サスペンド・コマンドによって、APM BIOS
Routingルーチンは、サスペンド・ルーチンを呼び出
す。サスペンド・ルーチンについては、図10乃至図1
5に関連した記載で詳細に説明する。基本的に、サスペ
ンド・ルーチンによってコンピュータ・システム10は
正常動作状態150を終了し、サスペンド状態154に
入り、数命令後(システムのサスペンド準備が完了して
いない場合)、あるいは数分、数時間、数日、数週、ま
たは数年後(システムがサスペンドされ、レジュームさ
れる場合)にSupervisorルーチンに制御を返すことがで
きる。サスペンド・ルーチンは、サスペンドなしで戻る
か、サスペンドおよびレジュームの完了後に戻るかとは
無関係に、常に、"Normal サスペンド・"APMリター
ン・コードをセットする。
【0140】大部分の場合、スイッチ21は押されてお
らず、Supervisorルーチンはタスク230に移行し、シ
ステムがレジュームしたか否かを確認する。サスペンド
・ルーチンが呼び出されると、コンピュータ・システム
10は、該ルーチンがサスペンドなしで戻るか、サスペ
ンドおよびレジュームの完了後に戻るかとは無関係に、
それ自体がレジュームされたものとみなす。レジューム
については230で試験され、コンピュータ・システム
10がレジュームされた(または、ファイル活動のDM
Aによってサスペンドが実行されなかった)場合、正常
レジュームAPMリターン・コードが232でセットさ
れ、234でAPMに返される。APM OSドライバは、こ
れに応じて、サスペンドの間に無効になったシステム・
クロックおよびその他の値を更新する。
【0141】大部分の場合、コンピュータ・システム1
0はレジュームされておらず、Supervisorルーチンはタ
スク236に移行し、ユーザ活動について試験する。タ
スク236で、3種類のユーザ活動、すなわちハードフ
ァイル31活動、キーボード12活動、およびマウス1
3活動が試験される。Supervisorルーチンは、あらゆる
APM取出し事象について、ハードファイル・ヘッド、
シリンダ、およびセクタの値を読み取り、マウス13が
最後に送信したバイトの1バイト値(垂直位置である)
を読み取り、キーボード・ポートでの1バイト値(最後
に押されたキーである)を読み取ると共に、実時間クロ
ック98から分値を読み取る。この分値は、0分から5
9分までの範囲であり、各時間の始めに0分に戻る。5
つの活動変数(ヘッド、シリンダ、セクタ、マウス・バ
イト、および、キーボード・バイト)および分値は一時
的に記憶される。5つの活動変数は次に、前の取出し事
象から保存された5つの活動変数と比較される。5つの
現行値が前の取出し事象の5つの値と同じである場合、
ユーザ活動は行われていない。値が異なる場合、ユーザ
活動が行われており、現行の活動変数が、次の取出し事
象時に読み取られる値と比較するために保存される。
【0142】前記の活動検出方式は、CPU上でルーチ
ンを実行するというものである。また、活動をハードウ
ェア的に監視することができる。たとえば、16本のハ
ードウェア割込み線を活動に関して監視することができ
る。
【0143】活動があった場合、Supervisorルーチンは
次に、238で、スタンバイ・フラグを試験することに
よってコンピュータ・システム10がスタンバイ状態1
52であるか否かを決定する。スタンバイ・フラグがセ
ットされており、コンピュータ・システム10がスタン
バイ状態152であることを示す場合、Supervisorルー
チンは240で、スタンバイ状態152を終了し、正常
動作状態150に入る。Supervisorルーチンは、スタン
バイ状態152に入ったときに電源を遮断された装置に
電源を再投入することによってスタンバイ状態152を
終了する。好ましい実施例では、これは以下の動作を含
む。(1)電源管理ポートに01Hが書き込まれ、ビデ
オ制御装置56がビデオ信号の生成を開始すると共に、
第2のPAL U2が012状態のままになる。(2)固定デ
ィスク制御装置86に適切な値が書き込まれ、ハード・
ドライブ31内のハード・ディスクが回転を開始する。
(3)スタンバイ・フラグがクリアされ、コンピュータ
・システム10が正常動作状態150になったことを示
す。
【0144】また、活動があった場合、実時間クロック
98の分値が、次の取出し事象時に読み取られる分値と
比較するために保存される。現行の分値を保存すると、
241で、非活動スタンバイ・タイマと非活動サスペン
ド・タイマが効果的にリセットされる。通常の使用時に
は、ユーザ活動があり、Supervisorルーチンは242で
事象なしAPMリターン・コードをセットし、243で
APM呼出しコードに戻る。APMはそれ以後、事象な
しリターン・コードに応じてルーチンを呼び出すことは
ない。
【0145】タスク236での試験が、ユーザ活動がな
かったことを示す場合、Supervisorルーチンは次に、2
45および247で、非活動スタンバイ・タイマおよび
非活動サスペンド・タイマがそれぞれ満了しているか否
かを試験する。コンピュータ・システム10がスタンバ
イ状態152の場合、非活動スタンバイ・タイマは満了
に関して検査されない。その代わり、試験はタスク24
4でスキップされる。
【0146】2つのタイマは、保存された分値から現行
の分値を減算し、ユーザ活動が発生した時からの分数に
対応する値を得ることによって、満了に関して検査され
る。この値が、245で、非活動スタンバイ・タイムア
ウト値と、247で、非活動サスペンド・タイムアウト
値と比較される。2つのタイムアウト値は、ユーザによ
って選択可能であり、コンピュータ・システム10がス
タンバイ状態152に入ることがなく、あるいはサスペ
ンド状態154に入ることがなく、あるいは一方のタイ
マの満了によってスタンバイ状態152またはサスペン
ド状態154に入ることがないように設定することがで
きる。どちらかのタイムアウト値をゼロに設定するの
は、タイマが満了してはならないことを示す。
【0147】最後のユーザ活動からの分数が非活動スタ
ンバイ・タイムアウト値以上である場合、Supervisorル
ーチンは246で、コンピュータ・システム10をスタ
ンバイ状態152に入らせる。非活動スタンバイ・タイ
マが満了していない場合、Supervisorルーチンは次に、
247で非活動サスペンド・タイマを満了に関して試験
する。一方、非活動スタンバイ・タイマが満了している
場合、Supervisorルーチンは、一定の構成要素をそれぞ
れの低出力モードにすることによって、コンピュータ・
システム10を、スタンバイ状態152に入らせる。好
ましい実施例では、これは次の動作を含む。(1)電源
管理ポートに05Hが書き込まれ、ビデオ制御装置56
がビデオ信号の生成を停止すると共に、第2のPAL U2が
012状態のままになる。(2)固定ディスク制御装置
86に適切な値が書き込まれ、ハード・ドライブ31が
低出力モードに入る(ハード・ドライブ内のハード・デ
ィスクが回転を停止する)。(3)スタンバイ・フラグ
がセットされ、コンピュータ・システム10がスタンバ
イ状態152であることを示す。要するに、好ましい実
施例では、Supervisorルーチンがビデオ信号を空白化
し、ハード・ドライブ31内のハード・ディスクを回転
すると共に、コンピュータ・システム10がスタンバイ
状態152であることを示すフラグをセットする。Supe
rvisorルーチンは、コンピュータ・システム10をスタ
ンバイ状態152に入らせた後、247で、非活動サス
ペンド・タイマを満了に関して試験する。
【0148】247で、Supervisorルーチンは、非活動
タイマが満了したか否かを試験する。最後のユーザ活動
からの分数が非活動サスペンド・タイムアウト値以上の
場合、Supervisorルーチンは、248でサスペンド要求
APMリターン・コードをセットし、243でAPMに
戻る。タスク226に関連した記載で説明したように、
APMは、セットされたサスペンド要求APMリターン
・コードに応じて、必要なシステム・タスクを実行し、
次にサスペンド・ルーチンを呼び出す。サスペンド・ル
ーチンは、図10乃至図15に関連した記載で詳細に説
明するように、要するに、コンピュータ・システム10
に正常動作状態150を終了させ、サスペンド状態15
4に入らせる。タスク226に関連した記載で説明する
ように、サスペンド・ルーチンは、コンピュータ・シス
テム10のサスペンドの有無とは無関係にSupervisorル
ーチンに制御を返すことができる。一方、非活動サスペ
ンド・タイマが満了していない場合、Supervisorルーチ
ンは242で事象なしAPMリターン・コードをセット
し、243でAPM呼出しコードに戻る。
【0149】大部分の場合、事象なしAPMリターン・
コードはAPMに返されるが、様々な他の事象をAPM
に返すこともできる。しかし、APMリターン・コード
は各APM取出し事象について1つしか指定できない。
たとえば、スタンバイ状態152に入った後、APMに
事象なしが返される。サスペンド状態154を終了した
後は、APMに"Normal Suspend"APMリターン・コー
ドが返される。APMの待ち行列に入る特定のメッセー
ジは、コンピュータ・システムの特性によって異なる。
Supervisorルーチンは、正常レジュームAPMリターン
・コードやサスペンド要求APMリターン・コードも返
す。
【0150】Power-Upおよびレジューム・ルーチンは、
サスペンド・ルーチンの知識があると最もよく理解され
る。したがって、APM BIOSルーチンについての説明は、
以下の順序で進めるのが最もよいと考えられる。本発明
のPower-Upルーチンの概要(前述の図8)、Supervisor
ルーチンの詳述(図9)、本発明のサスペンド・ルーチ
ンの詳述(図10乃至図15)、本発明のPower-Upルー
チンの詳述(図16乃至図18)、本発明のレジューム
・ルーチンの詳述(図19乃至図23)、SaveCPU Stat
eルーチンの詳述(図24乃至図27)、Restore CPU S
tateルーチンの詳述(図28乃至図31)、Save 8259
Stateルーチンの詳述(図32乃至図34)。
【0151】本発明のコンピュータ・システム10の説
明は、大部分のルーチンが相互に作用しており、サスペ
ンド/レジュームプロセスが連続サイクルなので幾分循
環的あり、Bootルーチン(図16乃至図18)またはレ
ジューム・ルーチン(図19乃至図23)の前にサスペ
ンド・ルーチン(図10乃至図15)を説明しておく
と、最も有用であると考えられる。ここで、図10乃至
図15を参照すると、サスペンド・ルーチンのフローチ
ャートが示されている。normal bootルーチン204乃
至210またはレジューム・ ブート・ルーチン214
乃至220を実行した後、コンピュータ・システム10
が正常動作状態150になることに留意されたい。さら
に、図8に関連した記載で説明したように、コンピュー
タ・システム10が正常ブート(204乃至210)し
たか、レジュームブートしたか(214乃至220)と
は無関係に、どちらかのルーチンが終了した後、図8に
示すSupervisorルーチンなどのAPM OSドライバはAPM BI
OSルーチンを認識する。この結果、APMは約1秒おき
にSupervisorルーチンをポールする。
【0152】サスペンド・ルーチンは、図10乃至図1
5に示されており、250から始まる。サスペンド・ル
ーチンは、SupervisorルーチンがAPMにサスペンド要
求APMリターン・コードを返すことに応じて、APM
によって呼び出される。まず、252に示すように、Sa
ve CPU Stateルーチンが呼び出される。Save CPU State
ルーチンについては、図24乃至図27に関連した記載
で説明する。今のところ、サスペンド・ルーチンが最初
に呼び出されるときにCPU 40がどんなモードであ
ろうとも、サスペンド・ルーチンの残りは、CPU 4
0がリアル・モードの状態で実行され、したがって、許
容されたアドレス空間外で命令を実行しようとし、また
は特権をもつ命令を実行しようとすることによって起こ
る可能性があるエラーを発生させる恐れなしに実行する
ことができる、と言っておけば十分であろう。
【0153】253で、Save CPU Stateルーチンは固有
の方法で、サスペンド・ルーチンにプログラム制御を返
す。Save CPU Stateルーチンからサスペンド・ルーチン
への「リターン」は、CPUのリセットを伴う。「リタ
ーン」については、以下の、図24乃至図27のタスク
630および632に関連した記載に詳細に説明する。
サスペンド・ルーチンに関する重要な事項は、CPUレ
ジスタがセグメントE000Hに書き込まれており、CPU
40が現在、リアル・モードであることである。
【0154】サスペンド・ルーチンは次に、254で、
スイッチ21が押されたか否かを確認する。スイッチ2
1の閉鎖は、図6および図7に関連した記載で説明する
ように試験される。簡単に言うと、スイッチ21が押さ
れている場合、電源管理ポートは、読み取られるとFE
Hを返す。押されていない場合は、読み取られるとFF
を返す。スイッチ21が押されていない場合、実行中の
サスペンドはソフトウェア・サスペンドであり、CMOS N
VRAM 96中でソフトウェア・サスペンド・フラグがセ
ットされる。これによって、ソフトウェア・サスペンド
が、スイッチ閉鎖によって開始されるハードウェア・サ
スペンドと混同されることはなくなる。サスペンドがソ
フトウェア・サスペンドである場合、次のスイッチ閉鎖
によってサスペンドはハードウェア・サスペンドにな
る。ソフトウェア・サスペンドをハードウェア・サスペ
ンドに変換した後の次のスイッチ閉鎖によって、サスペ
ンドは中止される。
【0155】次に、260に示すように、BIOS ROM 8
8がアンシャドウされる。BIOS ROM88は、まずセグメ
ントC000HおよびD000HへのISAアクセスをオフにする
ことによってアンシャドウされる。次に、BIOSベクトル
が、セグメントC000HおよびD000HではなくROM 88
を指すように変更される。次のタスクは、262に示
す、セグメントC000H中のスタックのセットアップであ
る。
【0156】スタックがセットアップされた後、サスペ
ンド・ルーチンは264で、DMA制御装置72、ディ
スケット・アダプタ84、およびIDEディスク制御装
置86を検査し、DMA転送、フロッピィ・ドライブ転
送、またはハードファイル転送がそれぞれ、現在実行中
であるか否かを確認する。実行中である場合、これらの
3種の転送に固有の特性によって、十分なサスペンドを
実行することが妨げられるので、サスペンドを実行する
ことはできない。たとえば、ハード・ドライブ31から
のハードファイル転送を実行中の場合、データはすでに
IDE制御装置によって読み取られているが、まだシス
テム・メモリ53に転送されていない。このデータは、
CPUによってうまくアクセスすることはできず、した
がって、システムがハード・ファイル読取りの途中でサ
スペンドされた場合は脱落する。したがって、これらの
3種の転送のうちどれかを実行中の場合、サスペンド
は、次のAPM取出し事象で、DMAおよびディスケッ
ト制御装置が活動についてもう1度試験されるまで延期
される。
【0157】したがって、252、260、および26
2で実行されるタスクは、制御をAPMに戻すことがで
きるように反転しなければならない。まず、265に示
すように、BIOSが読取り/書込みから読取り専用に変更
される。これは、依然として、シャドウされたデータを
含むセグメントC000HおよびD000Hをクローズすることに
よって行われる。次に、この2つのセグメントへのIS
Aアクセスが再びオンになる。タスク262で作成され
たスタックがポップされ、復元される。最後に、267
で、制御がAPMに戻される前に、266で、Restore
CPU StateルーチンによってCPU状態が復元される。
サスペンド・ルーチンは、APMによって、次の取出し
事象時に再び、約1秒おきにポールされる。その時まで
に、おそらく、サスペンド・プロセスを妨げた転送が完
了しており、サスペンドを続行することができる。
【0158】ここで、タスク264に戻る。現在、DM
A転送、フロッピィ・ドライブ転送、ハードファイル転
送をまったく実行していない場合、サスペンドを実行す
ることができる。268からサスペンド・ルーチンが続
行する。スイッチ21を押すと、フェールセーフ・タイ
マが使用可能になることに留意されたい。したがって、
第1のタスクは、268に示すように、図6に関連した
記載で説明するフェールセーフ・タイマのリセットであ
る。フェールセーフ・タイマは、図6および図7に関連
した記載で詳細に説明するように、電源管理ポートに0X
112を書き込むことによってリセットされる。これによ
って、第2のPAL U2のピン19(図6中の)は、C2乃
至R4で発生している電圧をドレーンし、それによっ
て、C2での約DC 2.7 Vの累積電圧がQ1を通電させる
のを防止する。図6および図7に関連した記載で詳細に
説明するように、Q1が通電し、第2のPAL U2のピン1
1を論理ゼロにプルすると、第2のPAL U2内の回路が第
2のPAL U2のピン12に論理"1"を出力させ、それによ
って、電源17がコンピュータ・システム10への調整
された電力の提供を停止することに留意されたい。した
がって、C2をサスペンド・ルーチンによって少なくと
も約10秒おきにドレーンして、電力がサスペンドの途
中で除去されるのを防がねばならない。
【0159】次に、270で、8042補助プロセッサ10
4の状態が保存される。8042補助プロセッサ104レジ
スタは、当技術分野で周知である。このレジスタは、C
PU40によって直接読取り可能であり、その値はD000
Hのデータ構造に直接書き込まれる。
【0160】次に、272で、8259割込み制御装置92
の状態が保存される。サスペンド・ルーチンは、図32
乃至図34に関連した記載で詳述する8259 Save State
ルーチンを呼び出す。今のところ、8259 Save Stateル
ーチンは、2つの8259割込み制御装置92の未知のレジ
スタの一部が書込み専用の場合でも、その内容を確認す
る、と言っておけば十分であろう。レジスタ値は、D000
Hのデータ構造に直接書き込まれる。
【0161】8259割込み制御装置92の状態を保存した
後、8259割込み制御装置92の構成を既知の状態に変更
して、サスペンド・ルーチンによって実行される様々な
割込み駆動タスクが正しく機能できるようにしなければ
ならない。したがって、274で、BIOSデータ領域およ
びベクトル・テーブルがスワップされる。サスペンド・
ルーチンは、セグメント0000H中の現在の状態のBIOSデ
ータ領域およびベクトル・テーブルの内容をセグメント
D000Hの位置にコピーする。次に、既知の状態のBIOSデ
ータ領域およびベクトル・テーブルの内容がセグメント
D000H中のデータ構造からセグメント0000Hにコピーされ
る。既知の状態のBIOSデータ領域およびベクトル・テー
ブルは、後述の、図16乃至図18に示すBoot-Upルー
チンのタスク414で、セグメントD000Hにコピーされ
る。最後に、現在の状態のBIOSデータ領域およびベクト
ル・テーブルが、セグメント0000HからセグメントD000H
のデータ構造にコピーされる。274でのルーチンが終
了すると、割込み13H(ディスク読取り/書込み)や
割込み10H(ビデオ・アクセス)などのすべての割込
みは、所期されたとおりに機能する。
【0162】次に、276で、タイマ102の状態が保
存される。該タイマのレジスタは当技術分野で周知であ
る。これらのレジスタはすべて、CPU 40によって
直接読取り可能であり、レジスタの値はD000Hのデータ
構造に直接書き込まれる。276では、固定ディスク制
御装置86の状態も保存される。固定ディスク制御装置
86レジスタは当技術分野で周知である。これらのレジ
スタはすべて、CPU40によって直接読取り可能であ
り、レジスタの値はD000Hのデータ構造に直接書き込ま
れる。
【0163】次のステップは、ハード・ドライブ31上
のサスペンド・ファイルに書き込むシステム・メモリを
準備することである。システム・メモリは、システムR
AM53(メイン・メモリと拡張メモリを共に含む)と
ビデオ・メモリ58を備えている。このとき、システム
RAM 53の各部を外部キャッシュ60に入れること
ができる。CPUキャッシュは、以下の、図24乃至図
27に関連した記載で説明するタスク628でフラッシ
ュされている。したがって、システムRAM53をハー
ド・ドライブ31に書き込めるようにするには、外部キ
ャッシュをフラッシュしておかねばならない。ゆえに、
外部キャッシュ60は286でフラッシュされる。フラ
ッシュが完了した後、システムRAM 53は元のまま
であり、メモリ・データはCPUキャッシュ41にも外
部キャッシュ60にも残っていない。
【0164】コンピュータ・システム10上で実行中の
コードは、固定ディスク制御装置86を未知の状態にし
ている可能性がある。したがって、次のステップは、2
92で、固定ディスク制御装置86を既知の状態に初期
化することである。これは、固定ディスク制御装置86
内のレジスタに直接値を書き込むことによって行われ
る。
【0165】次に、294で、ハード・ドライブ31内
の固定ディスク上にサスペンド・ファイルを配置しなけ
ればならない。サスペンド・ファイルのヘッド、セク
タ、およびシリンダはCMOSメモリ96に記憶される。サ
スペンド・ファイルが配置されると、ファイル・サイズ
およびシグニチャが読み取られる。好ましい実施例で
は、シグニチャは、サスペンド・ファイルの存在を示す
任意の長さのASCIIコードである。ハード・ファイル・
システム上でランダムに見つかる確率が非常に低い2進
文字列を使用するなど、シグニチャの他の代替実施態様
が可能である。
【0166】サスペンド・ファイル用のファイルサイズ
およびシグニチャを読み取った後、次のステップは、2
96で、シグニチャおよびファイルサイズが正しいこと
を確認することである。シグニチャが誤りであり、他の
プログラムがサスペンド・ファイルを修正した可能性が
あることを示し、あるいはファイルサイズが誤りであ
り、サスペンド・ファイル・サイズが修正されたことを
示す場合、サスペンド・ルーチンは、298で、図24
乃至図27のタスク652から開始するFatal Suspend
Errorルーチンを呼び出す。ユーザがスイッチ17を押
してFatal SuspendErrorルーチンを終了すると、プログ
ラム制御がタスク299からタスク506にジャンプす
る。
【0167】一方、シグニチャが正しく、サスペンド・
ファイルが十分な大きさである場合、サスペンド・ルー
チンは引き続き、コンピュータ・システム10の状態を
メモリに書き込むことができる。
【0168】コンピュータ・システム10の状態をハー
ド・ドライブ31に書き込む前に、297で、フェール
セーフ・タイマC2がリセットされ、スイッチ21が、
再び押されたか否かを検出するために試験される。図6
および図7に関連した記載で詳細に説明するように、電
源管理ポートへの読取りがFEHを返す場合、スイッチ
21は再び押されてはおらず、サスペンドを続行する必
要がある。一方、電源管理ポートへの読取りがFFHを
返す場合、スイッチ21が再び押されており、サスペン
ドは中止される。サスペンド・ルーチンの幾つかの点
で、C2がドレーンされ、スイッチ21が閉鎖に関して
試験される。タスク297は、例示のためのものに過ぎ
ない。当技術分野の回路設計者は、C2ドレーンの数と
C2ドレーン間の時間を決定することができる。サスペ
ンド・ルーチンは、C2が、電源17を「オフ」にする
前にドレーンされ、それによってフェールセーフ・タイ
マがリセットされるようにする必要がある。同様に、ス
イッチ21を時々検査する必要がある。スイッチ21が
再び押されており、ユーザがサスペンドを中止したいこ
とを示している場合、コードはレジューム・ルーチン中
の適切な点にジャンプし、すでにサスペンド・ルーチン
によってサスペンドされているものをサスペンド解除す
る必要がある。
【0169】同様に、350で、Ctrl-Alt-Delはサスペ
ンドを中止する。Ctrl-Alt-Deleteを押す(制御キー、
Altキー、および削除キーを同時に押す)ことは、IB
M BIOSおよびインテル80X86 CPUファミリに基づく典
型的なコンピュータ・システムをリセットする周知の方
法である。コンピュータ・システム10は、BIOS割込み
1ハンドラによって、当技術分野で周知の方法でCtrl-A
lt-Delを処理する。350で、コンピュータ・システム
10は、わずかに修正された割込み1ハンドラを有して
おり、352で、該ハンドラがCMOSメモリ96中のサス
ペンド・フラグをクリアし、354で、リセット時にBo
ot-Upルーチンにジャンプする。
【0170】本発明のコンピュータ・システム10で
は、サスペンド・ルーチンの実行中にCtrl-Alt-Delを押
すと、コンピュータ・システム10はオフ状態156に
入る。これは、スイッチ21の閉鎖後に第2のPAL U2が
スイッチ状態102になり、Ctrl-Alt-Delを押すと、Boo
t-Upルーチンが呼び出され、Boot-Upルーチンが電源管
理ポートに00Hを書き込み、第2のPAL U2を既知の状
態にするために発生する。しかし、図6および図7に関
連した記載で説明するように、第2のPAL U2がスイッチ
状態102のときに第2のPAL U2に00Hを書き込む
と、第2のPAL U2は電源17にシステム電源の提供を停
止させる。このため、サスペンド・ルーチンのときにCt
rl-Alt-Delを押すと、コンピュータ・システム10はオ
フ状態156に入る。
【0171】ここで、タスク300を参照する。300
で、サスペンド・ファイルが再び、ハード・ドライブ3
1上に配置され、サスペンド・ファイルの最初のバイト
にシグニチャ・フレーズが書き込まれる。次に、302
で、セグメントD000H中の64キロバイトのデータ全体
がサスペンド・ファイルに書き込まれる。D000Hのこの
64Kコピーは実際はプレース・ホルダに過ぎず、サス
ペンド・ルーチンの終りにこれと同じ位置に再書込みさ
れる。
【0172】次に、サスペンド・ファイルにシステム・
メモリが書き込まれる。これは、システムからデータを
読み取り、該データを圧縮してセグメントC000Hに書き
込み、最後に、圧縮されたデータをセグメントC000Hか
らサスペンド・ファイルに書き込むツイン・バッファ・
システムによって行われる。2つのルーチンが時間多重
化方式で動作し、一方はデータを圧縮してセグメントC0
00Hに書き込み、他方はサスペンド・ファイルに書き込
む。前者はフォアグラウンドで動作し、後者はバックグ
ラウンドで動作するinterrupt-drivenルーチンである。
言うまでもなく、CPU 40は1つしかないので、所
与の時間に1つのルーチンしか実行できない。しかし、
後者のルーチンは割込み駆動なので、必要に応じて前者
のルーチンの実行に割り込み、データのサスペンド・フ
ァイルへの転送速度を最適化することができる。2つの
バッファはそれぞれ、長さが8キロバイトである。この
長さは、ハード・ドライブ31への転送時間を最適化す
ると考えられる。
【0173】このプロセスは、304で、第1の8Kバ
ッファを充填するのに十分なデータの読取り、圧縮、C0
00Hへの書込みと共に開始する。このデータは、ラン・
レングス・コード化方式を使用して圧縮される。しか
し、任意の適切な圧縮方式を使用することが可能であ
る。このとき、306で、概略的に307に示されるWr
ite from Bufferルーチンが開始される。Write from Bu
fferルーチン307は、バックグラウンドで動作し、タ
スク308乃至310から構成されるinterrupt-driven
ルーチンである。概略的に311に示されるCompressio
nルーチンは、タスク312乃至318を備えており、
フォアグラウンド・ルーチンである。Writefrom Buffer
ルーチン307はまず、308で、タスク304によっ
て充填されたばかりのバッファをサスペンド・ファイル
に書き込む。Write from Bufferルーチン307がその
バッファの内容をサスペンド・ファイルに書き込む間
に、Compressionルーチン311は、312で引き続
き、システム・メモリから次のバイトを読み取り、圧縮
して、圧縮されたデータを2つの8Kバッファのうち他
方に書き込む。Compressionルーチン311がバッファ
を、圧縮されたデータで充填すると、次のステップは、
314で、システム・メモリ全体が圧縮されたか否かを
決定することになる。
【0174】固定ディスク制御装置86は、データをハ
ード・ドライブ31にさほど高速に書き込むことができ
ない。その結果、Compressionルーチン311は常に、W
ritefrom Bufferルーチン307がバッファのハード・
ドライブ31への書込みを終了する前に、ハード・ドラ
イブ31に書き込まれていない8Kバッファの充填を終
了することになる。したがって、Compressionルーチン
311は、Write fromBufferルーチン307がバッファ
のハード・ドライブ31への書込みを終了するのを待た
ねばならない。Compressionルーチン311は、圧縮お
よび書込みを終了していないシステム・メモリの部分が
ある場合、316で、Write from Bufferルーチン30
7を待つ。Compressionルーチン311とWrite from Bu
fferルーチン307は、1組のフラグを介して通信す
る。Write to Bufferルーチン307は、現行のバッフ
ァのサスペンド・ファイルへの書込みを終了すると、次
に、バッファ・フラグを切り替え、Compressionルーチ
ン311に、圧縮されたデータの、サスペンド・ファイ
ルに書き込まれたばかりのバッファへの充填を開始でき
ることを示す。次に、タスク297に関連した記載で説
明するように、309で、フェールセーフ・タイマC2
がリセットされ、スイッチ21が閉鎖事象に関して検査
される。
【0175】Write to Bufferルーチン307は次に、
310で、サスペンド・ファイルに書き込まれたばかり
のバッファが、最後に書き込むバッファか否かを決定す
る。最後に書き込むバッファではない場合、Write from
Bufferルーチン307は、サスペンド・ファイルに、C
ompressionルーチン311によって充填されたばかりの
バッファを書き込む。その間に、Compressionルーチン
311は、バッファ・フラグを検査することによって、
バッファが、それ以上の圧縮されたシステム・メモリに
対する準備を完了したと決定している。すなわち、Comp
ressionルーチンは、316で、Write from Bufferルー
チン307が現行のバッファを終了するまで待つ。該ル
ーチン307が現行のバッファを終了すると、312か
ら圧縮ループが続行する。ビデオ・メモリ58は圧縮さ
れないことに留意されたい。その代わり、ビデオ・メモ
リ58は、VESA呼出しを使用し、ビデオ制御装置56を
介して読み取られ、上記で詳細に説明したツイン・バッ
ファ・システムを使用して圧縮なしで書き込まれる。
【0176】Compressionルーチン311は、すべての
システム・メモリの圧縮を終了すると、318で、Writ
e from Bufferルーチン307が最後のバッファのサス
ペンド・ファイルへの書込みを終了するのを待つ。Writ
e from Bufferルーチン307は、終了すると、310
から318に枝分かれして存在しなくなる。この時点
で、バックグラウンド・ルーチンはまったく実行してお
らず、320からメイン・プログラムが続行する。
【0177】次に、320で、ビデオ制御装置56の状
態が保存される。ビデオ制御装置56レジスタは当技術
分野で周知である。これらのレジスタはすべて、CPU
40から直接読取り可能であり、その値はD000Hのデ
ータ構造に直接書き込まれる。また、タスク320で、
DMA装置71(DMA制御装置72および中央アービ
タ82)、8277ディスケット制御装置84、およびRS-2
32 UART 94の状態が保存される。これらの装置は、当
技術分野で周知のレジスタを有する。8277デイスケット
制御装置84およびRS−232UART94内のすべ
てのレジスタは、CPU 40によって直接読取り可能
であり、その値はD000Hのデータ構造に直接書き込まれ
る。DMA装置71は読取りレジスタを有していない。
その代わり、通常、各DMA転送の前に書込み専用レジ
スタがセットアップされる。このため、サスペンド・ル
ーチンは、DMA転送を実行中の場合は停止する。
【0178】コンピュータ・システム10がサスペンド
・状態150に入った後、サスペンド・ファイルに対す
る干渉を検出できることが好ましいと考えられる。たと
えば、誰かが、修正されたサスペンド・ファイルを生成
して、そのサスペンド・ファイルをハード・ドライブ3
1に移動し、コンピュータ・システム10を保存された
状態と異なる状態で復元しようとする可能性がある。こ
の目的のために、セグメントD000Hデータ構造に擬似ラ
ンダム値が配置されている。328に示すように、タイ
マ102のうち1つから16ビット・タイムスタンプが
読み取られる。このタイムスタンプは次に、セグメント
D000Hデータ構造に書き込まれる。
【0179】次に、繰上りビットを考慮せずにD000H中
の各16ビット・ワードを加算することによって、D000
Hセグメント全体の16ビット・チェックサムが算出さ
れる。このチェックサムは、330で、セグメントD000
Hデータ・セグメントに書き込まれ、332で、CMOSメ
モリ96に書き込まれる。この後、334で、すべての
作業変数がCPU 40からセグメントD000Hデータ構
造に書き込まれ、336で、セグメントD000H全体が、
サスペンド・ファイルのシグニチャ・フレーズの後(シ
グニチャの直後)から再書込みされる。次に、338
で、CMOSメモリ96中でサスペンド・フラグがセットさ
れ、コンピュータ・システム10に、該システム10の
状態がサスペンド・ファイルに保存されたことを示す。
【0180】次に、CPU 40は、電源管理ポートに
X102を書き込むことによって電源を「オフ」にし、第2
のPAL U2を102状態に入らせる。第2のPAL U2が102
状態に入ると、第2のPAL U2のピン12出力が論理"1"
をアサートし、SRラッチの出力ピン3が論理"0"状態
にラッチされ、R6によってONが"ハイ"にプルされ、
電源17の一次/調整装置172が±5および±12回
線に沿った調整された電圧の供給を停止することによっ
て、ただちに電源17がオフになる。電圧が約ゼロまで
ランプ・ダウンするには数秒かかり、CPU 40に多
数のコマンドを実行する時間が与えられる。したがっ
て、CPU 40は、342で、電源17によって生成
されるシステム電源電圧が降下するのを待つ際に、CP
U 40自体が機能を停止するまでエンドレス・ループ
(「回転」)を実行する。
【0181】ここで、図16乃至図18を参照すると、
Boot-Upルーチンの詳細が示されている。ブート・プロ
セスについては、図8に関連した記載で概説した。Boot
-Upルーチンは、380で、CPU 40が、リセット
・ベクトルの指すコードにジャンプし、それを実行する
ときに始まる。これは、CPU 40が電源を投入され
るたびに行われ、CPU 40が、リセット・ベクトル
の指すコードにジャンプすることによってリセットされ
るときに行われる。そのようなリセット手順は、当技術
分野で周知である。
【0182】第1のタスクは、382で、CPU 40
を試験し、メモリ制御ユニット46を初期化することで
ある。CPU 40は、POSTルーチンによって試験
される。メモリ制御ユニット46は、POSTルーチン
によって初期化される。
【0183】次に、シャドウ・メモリが試験され、BIOS
がROM 88からシステムRAM53のシャドウ・メ
モリ部分にコピーされる。実行されるコードの流れは、
CMOSメモリ96中でサスペンド・フラグがセットされて
いるか否かに依存する。サスペンド・フラグがセットさ
れている場合、コンピュータ・システム10はサスペン
ド状態150であり、コンピュータ・システム10を、
サスペンドされたときの状態に復元する必要がある。セ
グメントE000HおよびF000H中のシステムRAM 53に
は簡略試験が行われる。コンピュータがレジュームする
のにかかる時間を削減するために、メモリは、サイズが
丁度か否かに関してだけ検査され、ゼロ化される(各位
置に000Hが書き込まれる)。
【0184】一方、CMOSメモリ96中でサスペンド・フ
ラグがクリアされている場合、セグメントE000HおよびF
000H中のシステムRAM 53に、(1)スティッキー
・ビット試験、(2)ダブル・ビット・メモリ試験、お
よび(3)クロス・アドレス回線試験が行われる。これ
らの試験は当技術分野で周知である。
【0185】セグメントE000HおよびF000Hを試験した
後、BIOSをシャドウすることができる。これは、ROM
88の内容をシステムRAM 53にコピーし、メモ
リ制御装置を、RAMからBIOSを実行するように構成す
ることを伴う。BIOSのシャドウイングは、システムの速
度を上げるために行われる。システム性能は、BIOSが遅
い方のROM 88(典型的なアクセス時間は250ナ
ノ秒)ではなく、速い方のシステムRAM 53(典型
的なアクセス時間は80ナノ秒)から動作するために拡
張される。BIOSのシャドウイングは、BIOSコピアーを、
下位メモリ中のアドレスにロードすること、BIOSをRO
M 88からシステムRAM 53のセグメントE000H
およびF000Hにコピーすること、およびシャドウRAM
を使用可能にすることから構成されている。
【0186】次に、384で、ビデオ制御装置56が試
験され、初期化されると共に、ビデオ・メモリ58が試
験される。これらの試験および初期化は、当技術分野で
周知である。
【0187】実行されるコードの流れは、386で、CM
OSメモリ96中でサスペンド・フラグがセットされてい
るか否かによって異なる。サスペンド・フラグがセット
されている場合、残りのシステムRAM 53は、タス
ク383と同様に、サイズに関してだけ検査され、ゼロ
化される。しかし、CMOSメモリ96中でサスペンド・フ
ラグがクリアされている場合、残りのシステムRAM
53は、タスク398で、タスク383に関連した記載
で説明する3段階のインデプス・メモリ試験を使用して
試験される。
【0188】メモリが試験された後、400で、8259、
UART、8042、その他を含む補助装置が試験され、初期化
される。タスク408で、固定ディスク制御装置が初期
化される。
【0189】実行されるコードの流れは、409で、CM
OSメモリ96中でサスペンド・フラグがセットされてい
るか否かによって異なる。サスペンド・フラグがセット
されており、電力が最後に除去されたときにシステムの
状態が正常に保存されたことを示している場合、Boot-U
Pルーチンは固定ディスク制御装置86およびハード・
ドライブ31の試験をスキップする。一方、CMOSメモリ
96中でサスペンド・フラグがクリアされており、電力
が最後に除去されたときにシステムの状態が保存されな
かったことを示している場合、Boot-Upルーチンは、タ
スク410で、当技術分野で周知の方法で、固定ディス
ク制御装置86およびハード・ドライブ31の完全な試
験を実行する。
【0190】次に、412で、8277ディスク制御装置8
4が試験され、初期化される。
【0191】この時点で、すべての装置が初期化されて
おり、ベクトルが既知の位置を指すので、すべての割込
みルーチンは所期されたとおりに動作する。したがっ
て、Boot-Upルーチンは、414で、BIOSデータ領域お
よびベクトル・テーブルをスナップショットし、BIOSデ
ータ領域およびベクトル・テーブルのコピーをセグメン
トD000Hのデータ構造に書き込む。BIOSデータ領域およ
びベクトル・テーブルのこのコピーは、タスク274
で、サスペンド・ルーチンによって、コンピュータ・シ
ステム10を既知の状態にするために使用され、すべて
の割込みは所期されたとおりに動作する。
【0192】次に、416で、BIOS拡張機能が当技術分
野で周知の方法で「走査され」、初期化される。BIOS拡
張機能とは、ネットワーク・アダプタなどの周辺アダプ
タによってシステムに追加されたBIOSコード・ブロック
である。BIOS拡張機能は通常、ISAバス76上のセグ
メントC000HおよびD000Hに配置され、BIOS拡張機能を識
別する関連「シグニチャ」を有する。BIOS拡張機能が検
出されると、長さが検査されると共に、チェックサムが
算出され、検査される。シグニチャ、長さ、およびチェ
ックサムがすべて、有効なBIOS拡張機能が存在すること
を示す場合、プログラム制御は、シグニチャから3バイ
ト先に配置された命令に移り、BIOS拡張機能は、周辺ア
ダプタの初期化などの必要なタスクを実行することがで
きる。拡張機能が実行を終了すると、制御がBoot-Upル
ーチンに戻り、該ルーチンがそれ以上のBIOS拡張機能を
探索する。それ以上のBIOS拡張機能は、前述のBIOS拡張
機能と同様に処理される。それ以上BIOS拡張機能が検出
されない場合、Boot-Upルーチンはタスク417に移行
する。
【0193】417で、Boot-Upルーチンは、サスペン
ド・ファイルに特定的に割り振られたパーティションと
思われるハード・ドライブ31上のパーティションを探
索する。パーティション・テーブルでPS/1識別子("F
E")を備えたパーティションが見つかり、そのパーテ
ィションがこの特定のシステム用のサスペンド・ファイ
ルに適応するのに十分な大きさをもつ場合、そのパーテ
ィションはサスペンド・ファイル用のものと決定され
る。この結果、サスペンド・ファイルが、当技術分野に
周知の方法で、ファイル割振りテーブル(FAT)に割
り振られ、サスペンド・ファイル・シグニチャがファイ
ルの最初のバイトに書き込まれ、ファイルの開始ヘッ
ド、セクタ、およびシリンダがCMOSメモリ96に書き込
まれる。
【0194】実行されるコードの流れは次に、418
で、CMOSメモリ96中でサスペンド・フラグがセットさ
れているか否かに応じて枝分かれする。サスペンド・フ
ラグがクリアされている場合、Boot-Upルーチンは、4
20で、PBOOTルーチンに制御を渡す。PBOOTは、当技術
分野で周知であり、フロッピィ・ディスクまたはハード
・ドライブ31からオペレーティング・システム(O
S)とコマンド・インタプリタをロードする必要があ
る。本発明のnormal bootingルーチンは、OSをロード
するとき、タスク417でサスペンド・ファイル用のパ
ーティションが見つからなかった場合に、OSが、FA
Tに連続セクタのファイルを割り振る(必要に応じて領
域の断片化を解消する)特定のドライバを実行し、シグ
ニチャをサスペンド・ファイルの最初のバイトに書き込
み、CMOSメモリ96にサスペンド・ファイルの開始ヘッ
ド、セクタ、およびシリンダを書き込むという点でわず
かに修正されている。
【0195】サスペンド・ファイルをいつ割り振るかと
は無関係に、FAT中の領域を連続セクタとし、ディス
クへの高速書込みおよびディスクからの高速読取りをそ
れぞれサスペンドおよびレジューム時に可能にする必要
がある。
【0196】PBOOTは次に、CONFIG.SYSファイルで見つ
けられる命令に基づき、システムを構成する。最後に、
PBOOTはAUTOEXEC.BATファイルに制御を渡し、該ファイ
ルは最終的に、オペレーティング・システムに実行制御
を渡す。CMOSメモリ96中でサスペンド・フラグがクリ
アされており、電力が最後に除去されたときにシステム
の状態が保存されなかったことを示している場合、42
1に関連した記載で詳細に説明するRESUME.EXEは無視さ
れる。
【0197】再び、1番上のタスク418を参照する。
CMOSメモリ96中でサスペンド・フラグがセットされて
おり、電力が最後に除去されたときにシステムの状態が
保存されたことを示している場合、実行されるコードの
流れは、419で、CMOSメモリ96中で再初期化アダプ
タ・フラグがセットされているか否かに応じて枝分かれ
する。再初期化アダプタ・フラグがセットされている場
合、Boot-Upルーチンは、421で、PBOOTルーチンに制
御を渡す。本発明のPBOOTは、通常のPBOOTルーチンと同
様に、CONFIG.SYSおよびAUTOEXEC.BATファイルで見つけ
られるコマンドに従ってシステムを構成する。これらの
ファイルは、特に、当技術分野で周知の方法でドライバ
をロードし、システムを構成する。
【0198】CONFIG.SYSおよびAUTOEXEC.BAT中のコマン
ドは、システム中のアダプタ・カードを初期化すること
ができる。この適用業務は、次の3種のアダプタ・カー
ドが存在するものと仮定している。タイプIアダプタは
初期化を必要としない。タイプIIアダプタは初期化を
必要とするが、BIOS拡張機能、あるいはCONFIG.SYSまた
はAUTOEXEC.BATファイルに従ってロードされるドライバ
によって既知の作業状態になる。タイプIIIアダプタ
は、システム上で実行するコードによって修正される。
タイプIおよびタイプIIアダプタを備えたシステムは
サスペンドし、復元することができる。しかし、タイプ
IIIアダプタを備えたシステムは、多数のネットワー
ク化アダプタを含み、カードが、エラーから回復するた
めのルーチンを有していないかぎり、復元することはで
きない。システムは、エラーから回復するタイプIII
カードをサスペンドすることができる。
【0199】ファイルRESUME.EXEは、好ましい実施例で
はAUTOEXEC.BATに追加され、プログラム制御をPBOOTか
らレジューム・ルーチンに転送する必要がある。タスク
420でのPBOOTは、RESUME.EXEの存在を無視する。し
かし、タスク421のPBOOTはRESUME.EXEを実行し、RES
UME.EXEは、PBOOTによってCONFIG.SYSおよびAUTOEXEC.B
ATからロードされる装置ドライバによるタイプIIアダ
プタの初期化が終了した後に、レジューム・ルーチンに
制御を渡す。
【0200】再び、タスク419を参照する。CMOSメモ
リ96中で再初期化アダプタ・フラグがクリアされてい
る場合、Boot-Upは、422で、CONFIG.SYSまたはAUTOE
XEC.BATを処理せずに、制御を直接レジューム・ルーチ
ンに渡す。レジューム・ルーチンは、ハード・ドライブ
上のサスペンド・ファイルからシステム状態を復元す
る。このルーチンについては、図19乃至図23に関連
した記載で詳細に説明する。
【0201】ここで図19乃至図23を参照すると、レ
ジューム・ルーチンの詳細、すなわちタスク450乃至
530が示されている。構成プロセス時に、おそらく、
BIOSデータ領域およびベクトル・テーブルは未知の状態
に修正される。したがって、基本BIOSルーチンは、所期
されたとおりに機能する場合と、しない場合がある。こ
のため、レジューム・ルーチンは、454で、セグメン
トD000Hを読取り/書込みとして使用可能にし、456
で、Swap BIOS Data Area & Vector Tableルーチンを呼
び出す。このルーチンは、タスク414でセグメントD0
00Hにコピーされた既知の良好なBIOSデータ領域および
ベクトル・テーブルを、セグメント0000Hで現在活動的
である修正されたBIOSデータ領域およびベクトル・テー
ブルとスワップする。このルーチンが終了すると、既知
のBIOSデータ領域およびベクトル・テーブルはセグメン
トD000Hで活動的になり、修正されたBIOSデータ領域お
よびベクトル・テーブルはセグメントD000Hに入り、BIO
Sルーチンは所期されたとおりに機能する。
【0202】次に、レジューム・ルーチンは、458
で、キーボードおよびハード・ドライブをサポートする
ものを除くすべての割込みを使用不能にする。レジュー
ム・ルーチンは次に、460で、ハード・ドライブ31
上にサスペンド・ファイルを配置し、ファイル・サイズ
およびシグニチャを読み取る。シグニチャとは、前述の
ように、サスペンド・ファイル用のマルチバイト識別子
である。実行されるコードの流れは、462で、サスペ
ンド・ファイルが正しいサイズおよびシグニチャを有す
るか否かに応じて枝分かれする。サスペンド・ファイル
が正しいサイズおよびシグニチャを有していない場合、
464で、レジューム・ルーチンがCMOSメモリ96中の
サスペンド・フラグをクリアし、466で、プログラム
制御が、リセット・ベクトルの指す位置にあるコードに
渡され、それによってシステムは、サスペンドされなか
った場合と同様にブートする。一方、サスペンド・ファ
イルが正しいサイズおよびシグニチャを有する場合、レ
ジューム・ルーチンは、468で、シグニチャの次に配
置されたサスペンド・ファイルの64Kブロック(セグ
メントD000H情報に対応するサスペンド・ファイルの部
分)をセグメントC000Hに読み込む。
【0203】次に、470で、C000H中のブロックのチ
ェックサムが算出され、472で、CMOS不揮発性メモリ
96から、前に記憶されたチェックサムが読み取られ、
474で、タスク470で算出されたチェックサムがタ
スク330で算出されたチェックサムと同じか否かに応
じて、実行されるコードの流れが枝分かれする。タスク
470で算出されたチェックサムがタスク330で算出
されたチェックサムと同じでない場合、サスペンド・フ
ァイルには何らかの欠陥があり(たとえば、変更された
可能性がある)、制御はタスク464に移る。タスク4
64は、タスク464および466に関連した記載で説
明するように、サスペンド・フラグをクリアし、システ
ムをリセットする。タスク470で算出されたチェック
サムがタスク330で算出されたチェックサムと同じで
ある場合、サスペンド・ファイルはサスペンド・ルーチ
ンで書かれたファイルと同じものと仮定され、476
で、セグメントC000H中のデータがセグメントD000Hにコ
ピーされる。C000HデータがD000Hにコピーされる際に、
修正されたBIOSデータ領域およびベクトル・テーブルが
上書きされ、したがって回復不能になることに留意され
たい。
【0204】ここで、レジューム・ルーチンは、478
で、システムを復元中であり、ユーザがCtrl-Alt-Delを
押してレジュームを中止する必要があることをユーザに
通知する特殊信号画面を画面に書き込む。サスペンド・
ルーチンの場合と同様に、Ctrl-Alt-Delを押すと、52
6でサスペンド・フラグがクリアされ、528で、シス
テムがリブートする。しかし、リブート時には第2のPA
L U2がスイッチ状態012であり、したがって、電源管
理ポートにX00Hを書き込んでも電源17はシステム電源
の供給を停止しない。ゆえに、システムは通常、Ctrl-A
lt-Delが押され、レジューム・ルーチンが実行中のとき
にリブートする。
【0205】次に、8277ディスケット制御装置84、D
MA装置71、およびRS-232 UART94がそれぞれ48
0、482、および484で、値をセグメントD000Hデ
ータ構造からそれぞれのレジスタに書き込むことによっ
て復元される。
【0206】次に、タスク486乃至500で、サスペ
ンド・ルーチン中のタスク304乃至318に関連した
記載で説明するルーチンに似たツイン・バッファ・ルー
チンを使用して、サスペンド・ファイルからシステム・
メモリが復元される。このツイン・バッファ・システム
は、圧縮されたデータを、サスペンド・ファイルから読
み取り、セグメントC000Hに書き込み、圧縮解除して、
システム・メモリに書き込む。2つのルーチンは、時間
多重化方式で動作し、一方は、サスペンド・ファイルか
らデータを読み取って、セグメントC000Hに書き込み、
他方は、データを圧縮解除し、圧縮解除されたデータを
システム・メモリに書き込む。後者はフォアグラウンド
で動作し、前者はバックグラウンドで動作するinterrup
t-drivenルーチンである。言うまでもなく、PU 40
は1つしかないので、所与の時間に1つのルーチンしか
実行できない。しかし、前者のルーチンは割込み駆動な
ので、必要に応じて後者のルーチンの実行に割り込み、
データのサスペンド・ファイルからの転送速度を最適化
することができる。2つのバッファはそれぞれ、長さが
8キロバイトである。この長さは、転送時間を最適化す
ると考えられる。
【0207】このプロセスは、486で、第1の8Kバ
ッファを充填するのに十分なデータを、サスペンド・フ
ァイルから読み取り、セグメントC000Hに書き込むこと
から始まる。このとき、306で、概略的に489に示
されるRead from Bufferルーチンが開始される。Read f
rom Bufferルーチン489は、interrupt-drivenルーチ
ンであり、バックグラウンドで動作し、タスク490乃
至492から構成される。概略的に493に示されたDe
compressionルーチンは、タスク494乃至498を備
えており、フォアグラウンド・ルーチンである。Read f
rom Bufferルーチン489はまず、490で、サスペン
ド・ファイルの次の8Kの読取りを開始し、現在、現行
バッファである他方のバッファに書き込む。Read from
Bufferルーチン489がサスペンド・ファイルから次の
8Kを読み取り、現行のバッファに書き込む間に、Deco
mpressionルーチン493は、494で、圧縮されたデ
ータをタスク486で圧縮解除し、圧縮解除されたデー
タをシステム・メモリに書き込む。Decompressionルー
チン493がバッファ中のあらゆるデータを圧縮解除す
ると、次のステップは、496で、システム・メモリ全
体が圧縮解除されたか否かを決定することになる。
【0208】固定ディスク制御装置86は、ハード・ド
ライブ31からデータをさほど高速に読み取ることがで
きない。その結果、Decompressionルーチン493は常
に、Read from Bufferルーチン489がデータのハード
・ドライブ31から現行バッファへの読取りを終了する
前に、ハード・ドライブ31に書き込まれていない8K
バッファの圧縮解除を終了することになる。したがっ
て、Decompressionルーチン493は、Read from Buffe
rルーチン489がデータのハード・ドライブ31から
の読取りを終了するのを待たねばならない。Decompress
ionルーチン493は、圧縮および書込みを終了してい
ないシステム・メモリの部分がある場合、498で、Re
ad from Bufferルーチン489を待つ。Decompression
ルーチン493とRead from Bufferルーチン489は、
1組のフラグを介して通信する。Read from Bufferルー
チン489は、データのサスペンド・ファイルから現行
バッファへの読込みを終了すると、次に、490で、バ
ッファ・フラグを切り替え、Decompressionルーチン4
93に、サスペンド・ファイルから読み取られたばかり
のバッファ中のデータの圧縮解除を開始できることを示
す。Read from Bufferルーチン489は次に、492
で、サスペンド・ファイルから8Kブロックを引き続き
読み取るか否かを決定する。読み取らない場合、Read f
rom Bufferルーチンは、502で、サスペンド・ファイ
ルから残りのデータを読み取り、現行バッファに書き込
む。Read from Bufferルーチンは次に、バックグラウン
ドでの動作を停止し、500で、Decompressionルーチ
ン493が最後のメモリの圧縮解除を終了するのに待
つ。
【0209】その間に、Decompressionルーチン493
は、バッファ・フラグを検査することによって、バッフ
ァが、システム・メモリに対する圧縮解除の準備を完了
したと決定している。すなわち、Decompressionルーチ
ンは、498で、Read from Bufferルーチンが現行のバ
ッファを終了するまで待つ。該ルーチンが現行のバッフ
ァを終了すると、494から圧縮解除ループが続行す
る。
【0210】Decompressionルーチン493がすべての
システム・メモリの圧縮解除を終了すると、504で、
バックグラウンド・ルーチンはまったく実行しておら
ず、メイン・プログラムが続行する。
【0211】次に、504および506で、ビデオ制御
装置56および固定ディスク制御装置86が、D000Hデ
ータ構造から2つの装置のそれぞれのレジスタに値を書
き込むことによって復元される。次に、508で、CP
Uキャッシュ41および外部キャッシュ60がそれぞ
れ、CPU 40およびキャッシュ制御装置62に適切
な値を書き込むことによって使用可能になる。次に、レ
ジューム・ルーチンは、510乃至514で、D000Hデ
ータ構造からそれぞれの装置内のレジスタに値を書き込
むことによって、タイマ制御装置102、8042キーボー
ド・インタフェース・マイクロプロセッサ104、およ
び8259割込み制御装置92の状態を復元する。
【0212】次に、レジューム・ルーチンは、516
で、Swap BIOS Data Area & Vector Tableルーチンを呼
び出す。このルーチンを呼び出す前には、既知のBIOSデ
ータ領域およびベクトル・テーブルはセグメント0000H
で活動的であり、サスペンド・ファイルから読み取られ
たBIOSデータ領域およびベクトル・テーブルはセグメン
トD000Hデータ構造で非活動的である。スワップ後、既
知のデータ領域およびベクトル・テーブルはセグメント
D000Hで非活動的になり、サスペンド・ルーチンで保存
されたデータ領域およびベクトル・テーブルはセグメン
ト0000Hで活動的になる。
【0213】最後に、レジューム・ルーチンは、518
で、Restore CPUルーチンにジャンプし、Restore CPUル
ーチンはCPU 40を、サスペンドされる前の状態に
復元する。Restore CPUルーチンについては、図28乃
至図31に関連した記載で詳細に説明する。Restore CP
Uルーチンは最終的に、APMに実行制御を戻す。
【0214】最後に、CPU 40はRETURN命令を実行
し、システムをAPMに戻す。システムは現在、サスペ
ンドされなかった場合と同様にコードの実行を続けてい
る。あらゆる実用的な目的のために、システムはサスペ
ンド/レジューム手順の影響を受けない。
【0215】ここで、図24乃至図27を参照すると、
Save CPU Stateルーチンのフローチャートが示されてい
る。サスペンド・ルーチンは、600で、Save CPU Sta
teルーチンにジャンプする。APMがセグメントE000H
およびF000Hを使用可能にしており、これらのルーチン
が該セグメントから読取り/書込みとして実行すること
に留意されたい。また、602に示すように、APMに
よってEFLAGSおよび8つの汎用レジスタが保存されてい
る。Save CPU Stateルーチンは、604で、まずDMA
が終了するのを待ち、マウス13データ・パケットに同
期化して、このルーチンがマウス・パケット伝送間に実
行することを保証する。以下のステップによって、DM
Aは終了し、マウス・パケットに同期化することができ
る。(1)割込みを使用可能にする。(2)DMAが終
了するまで7ミリ秒間待つ。(3)割込みを使用不能に
する。(4)マウス・パケット境界を5ミリ秒間待つ。
(5)割込みを使用可能にする。(6)マウス・パケッ
トが到着するまでさらに5ミリ秒間待つ。(7)割込み
を使用不能にする。これらのステップの後、マウス・パ
ケット間で安全にコードを実行することができる。
【0216】次に、606で、アドレス回線20の状態
(入出力ポート92H)がスタック上にプッシュされ、
608で、数値演算プロセッサ44の状態がスタック上
にプッシュされる。次に、610で、フラグがセットま
たはクリアされ、それぞれ、CPUが32ビット・モー
ドで実行しているか、16ビット・モードで実行してい
るかを示す。
【0217】次に、612で、CPU 40がプロテク
ト・モードで実行しているか否かに応じて、実行される
コードの流れが枝分かれする。CPU 40は、プロテ
クト・モードで実行していない場合、間違いなくリアル
・モードで実行しており、レジスタを非常に単純な方法
で保存することができる。まず、614で、マシン状況
ワードおよびCR3の値がセグメントE000Hデータ構造
に書き込まれる。また、614で、TRおよびLDTRに対
応する領域中のセグメントE000Hデータ構造にゼロが書
き込まれる。なぜなら、TRとLDTRはリアル・モードで
はゼロだからである。
【0218】次に、616で、コードが共通コード経路
とマージし、GDTRおよびLDTRに記憶された値がセグメン
トE000Hデータ構造に書き込まれる。次に、618で、
CPU 40が仮想8086モードで実行していたか否かに
応じて、実行されるコードの流れが枝分かれする。CP
U 40が仮想8086モードで実行していない場合、コー
ドは共通経路に沿って続行し、タスク620に至り、デ
バッグ・レジスタDR7、DR6、DR3、DR2、D
R1、およびDR0がスタック上にプッシュされる。こ
れらのレジスタは、デバッガおよびその他のルーチンに
よって使用されている。次に、622で、DS、ES、
FS、およびGSがスタック上にプッシュされる。次
に、CS、SS、およびESPの値がセグメントE000H
データ構造に書き込まれる。
【0219】この時点で、セグメントE000Hデータ構造
に書き込むすべての値が書き込まれており、したがっ
て、626で、シャドウRAMセグメントE000HおよびF
000Hを読取り専用に戻すことができる。次に、628
で、Write-BackおよびInvalidate Cacheコマンドを使用
してCPUキャッシュ41がフラッシュされる。
【0220】最後に、630で、CMOS不揮発性メモリ9
6中に固有のシャットドウン・フラグがセットされる。
最後に、632で、Save CPU Stateルーチンが事実上、
サスペンド・ルーチンに「戻る」。この「戻り」は実際
には、コード中のブランチが従うリセットである。CP
U 40は、リセット・ベクトルの指すコードにジャン
プすることによってリセットされる。CPU 40は、
リセットされると、強制的にリアル・モードになり、保
護障害を発生させる恐れなしにあらゆる装置およびメモ
リ位置にアクセスできるようになる。この時点で、CP
Uの状態は保存されており、サスペンド・ルーチンはシ
ステムの残りの状態を保存しなければならない。
【0221】リセット・ベクトルの指すコード内では、
CMOSメモリ96中でシャットダウン・フラグがセットさ
れているか否かに応じてプログラム制御が枝分かれす
る。シャットダウン・フラグがクリアされている場合、
システムは通常どおりブートする。一方、シャットダウ
ン・フラグがセットされている場合、コードはサスペン
ド・ルーチンの残りに枝分かれする。すなわち、実行制
御はサスペンド・ルーチン内の図10乃至図15中のタ
スク253にジャンプし、サスペンド・ルーチンはコン
ピュータ・システム10のサスペンドを終了する。した
がって、632で、Save CPU Stateルーチンは、効果的
にサスペンド・ルーチンに「戻る」。
【0222】再び、タスク612を参照する。CPUが
プロテクト・モードの場合、タスク634で、CPU
40が仮想8086モードか否かに応じてコードが枝分かれ
する。CPU 40が仮想8086モードでない場合、タス
ク636で、現行の特権レベルがゼロか否かに応じてコ
ードが再び枝分かれする。現行の特権がゼロ以外である
場合、適切な特権のないルーチンがSave CPU Stateルー
チンを実行しており、Fatal Suspend Errorルーチン
(タスク652から始まる)が呼び出される。Fatal Su
spend Errorルーチンについては以下で説明する。プロ
グラム制御がFatalSuspend Errorルーチンから戻ると、
CPUはSave CPU Stateルーチンを呼び出す前の条件に
戻らなければならず、したがって、プログラム実行は図
28乃至図31中のタスク794に枝分かれする。タス
ク794は、CPUの部分的な復元を実行する。CPU
のほんの少しの部分しか修正されていないので、部分的
な修正だけが必要になる。
【0223】再び、タスク636を参照する。呼出しコ
ードが適切な特権レベルを有する場合、642から、保
存が続行し、CR0、CR3、TR、およびLDTRの値が
セグメントE000Hデータ構造に保存される。次に、前述
のように、616で、このコード経路が共通コード経路
とマージし、GDTRおよびIDTRに記憶された値がセグメン
トE000Hデータ構造に保存される。コードは、ここか
ら、618から前述の632までの経路をたどり、残り
のサスペンド・ルーチン・コードに「戻る」(リセット
・プラス・ブランチ)ことになる。
【0224】再び、タスク634を参照する。CPU
40が仮想8086モードの場合、644から実行が続行
し、マシン状況ワード(CR0の下位16ビット)の値
がE000Hデータ構造に保存されると共に、セグメントE00
0H中のフラグがセットされ、CPUが仮想8086モードで
あることを示す。このコードは次に、616で、転送6
46および648を介して共通コードとマージする。タ
スク618で、CPUが仮想8086モードだった場合、制
御は650に枝分かれし、DS、ES、FS、およびG
Sの値がセグメントE000Hデータ構造に保存される。こ
のコードは、624で、共通コードと再マージする。コ
ードは、ここから、624から前述の632までの経路
をたどり、残りのサスペンド・ルーチン・コードに「戻
る」(リセット・プラス・ブランチ)ことになる。
【0225】Fatal Suspend Errorルーチンは、タスク
652乃至664に示されており、638で、不適切な
特権レベルをもつコードがCPUの状態を保存しようと
すると呼び出される。まず、654で、図7に関連した
記載で説明するように、電源管理ポートに07H、次に
05Hを書き込むことによって、フェールセーフ・タイ
マがリセットされる。次に、タスク656で、スピーカ
が、886 Hzで、1/6秒の間隔をおいて0.25秒ずつ3度
ビープする。この3回のビープは、ユーザに、試みたサ
スペンドが実行されなかったことを警告する。ビープの
後、658で、フェールセーフ・タイマが再びリセット
され、ユーザに、フェールセーフ・タイマが満了して電
源17を遮断する前に、一貫して15乃至18秒の時間
が与えられる。
【0226】次に、タスク660および662で、Fata
l Suspend Errorルーチンは、スイッチ21がユーザに
よって押され、ユーザがサスペンドを中止したいことを
示しているか否かを繰り返して確認する。図7に関連し
た記載で説明するように、スイッチは、電源管理ポート
の読取りの後にFFHが出現するのを待つことによって
閉鎖に関して検査される。ユーザがボタン21を押す
と、実行制御は前述のタスク640に戻る。ユーザが1
5乃至18秒以内にボタン21を押さない場合、フェー
ルセーフ・タイマが満了し、電源17が「オフ」にな
り、言うまでもなく、コードのあらゆる実行が停止す
る。
【0227】ここで、図28乃至図31を参照すると、
Restore CPUルーチンのフローチャートが700から示
されている。このルーチンは、ハードウェアおよびメモ
リの残りがサスペンド前の状態に復元された後にレジュ
ーム・ルーチンによって呼び出される。まず、セグメン
トE000HおよびF000Hがまだ読取り/書込みになっていな
い場合、702で、該セグメントを読取り/書込みにす
る必要がある。
【0228】次に、704で、CPU 40が仮想8086
モードで実行しているか否かに応じて、実行されるコー
ドの流れが枝分かれする。コンピュータ・システム10
をサスペンドしたときにCPU 40が仮想8086モード
で実行していた場合、仮想8086 CPUに固有なタスク70
6から728までのコードが復元される。次に、コード
はタスク730から748までの共通経路とマージす
る。
【0229】状態を保存する際にCPUが仮想8086モー
ドの場合は、Save CPU StateルーチンによってCD3、
LDTR、およびTRによってアクセスし、それらの値をE0
00Hデータ構造に保存することはできなかった。したが
って、706、708、および710でそれぞれCR
3、LDTR、およびTRを評価しなければならない。一般
に、これらの値は、システムRAM 53を介して、C
R3、LDTR、およびTRの指す構造を探索することによ
って評価される。たとえば、GDTでLDTエントリを
見つけることによって、LDTRを決定することができる。
【0230】タスク706でCR3が評価される。CR
3はページ・ディレクトリ・ベース・レジスタ(PDBR)
を保持し、このレジスタは、ページ・ディレクトリのペ
ージ・フレーム・アドレス、ページ・レベル・キャッシ
ュ使用不能(PCD)ビット、およびページ・レベル・
ライト・スルー(PWT)ビットを保持する。PDBRの評
価は、ページ・ディレクトリがシステムRAM 53内
の4K境界から開始しなければならないことを認識し、
Save CPU SateルーチンによってセグメントE000Hデータ
構造に保存されたIDTRおよびGDTRの値を認識し、BIOSコ
ードをアドレス空間0E0000乃至0F0000から実行するもの
と仮定することによって行われる。この仮定は、BIOSコ
ードが常に、速度に関してシャドウRAMにシャドウされ
るので合理的である。オペレーティング・システムがBI
OSコードを異なる領域にコピーした場合、CR3の評価
は失敗する。
【0231】前述の認識および仮定のもとで、物理メモ
リが4Kページごとに、BIOSコード・セグメントに対応
するページ変換テーブルの存在について試験される。す
なわち、0380Hのページへのオフセットは、値000E0XX
X、000E1XXX、000E2XXX、、、000FFXXXを含む。そのペ
ージが見つかると、システムRAM 53で、すでに見
つかっているページ・テーブルの物理アドレスに第1の
エントリが対応するページ・ディレクトリが探索され
る。ページ・ディレクトリの物理アドレスは、PDBRの値
の適切な「評価」である。
【0232】次に、PDBRがGDTRおよびIDTR用のアドレス
を正しく変換するか否かを確認することによって、仮説
的なPDBRが検証される。すなわち、PDBRが、GDTRの線形
アドレスを変換するために使用され、GDTの第1エン
トリが空であることが検証される(GDTの最初の8バ
イトはどのCPUモードでも常に00Hである)。次
に、返される物理アドレスが、物理メモリの境界内であ
ることが検証される。線形物理変換を実行するために、
CPUの変換方式を模倣するサブルーチンが使用され
る。すなわち、ESIで変換されたアドレスが返され、
物理メモリ中に物理ページが存在する場合は繰上げフラ
グCFがクリアされ、メモリ中に物理ページが存在しな
い場合はCFがセットされる。このtranslationルーチ
ンを使用して、システム・メモリ53からGDTの第1
のバイトが読み取られる。GDTの第1のエントリが空
の場合、仮説的なPDBRは第1の試験に合格しており、し
たがってもう1度試験される。次に、PDBRを使用し、tr
anslationルーチンによってIDTRが変換され、IDTが
求められる。次に、返される物理アドレスが、物理境界
内であることが検証される。IDTの第1の位置が物理
メモリに存在する場合、PDBRは第2の試験に合格してい
る。
【0233】仮説的なPDBRがGDTRおよびIDTRに正しく変
換される場合、その値はPDBRであると仮定され、セグメ
ントE000Hデータ構造内のCR3領域に書き込まれる。
一方、仮説的なCR3がどの試験にも合格しない場合、
ルーチンがレジュームし、システム・メモリで他のBIOS
コード・セグメント・ページ変換テーブルを探索する。
このテーブルによって有効なCR3が見つかる。
【0234】PCDおよびPWTは常に、通常のプレー
ナ操作用に00Hに固定されていると仮定される。これ
らの値は、ゼロにセットされ、セグメントE000Hデータ
構造内のCR3領域にPDBRと共に書き込まれる。
【0235】CR3が評価されると、708で、LDTRが
評価される。LDTRは、CR3が評価されており、LDT
がGDT内のどこかにあることが認識され、LDTが間
違いなくメモリに存在していることが認識されている場
合に評価することができる。LDTRを評価するために、G
DTで、存在するとマーク付けされているLDTが探索
される。物理メモリに存在し(タスク706に関連した
記載で説明するtranslationルーチンを使用して試験さ
れる)、存在するとマーク付けされている第1のLDT
は、LDTRの指すテーブルであると仮定される。そのテー
ブルの始めの物理アドレスは、セグメントE000Hデータ
構造中のLDTR領域に保存される。
【0236】OS/2のもとでは、物理メモリに複数のLD
Tが存在するとマーク付けされ、かつ実際に存在する可
能性があるが、LDTRを評価する前述の方法は、実用でき
るだけの信頼性があると考えられる。EMM386は、common
Virtual 8086 Modeルーチンであり、したがって、問題
を起こす可能性があると思われる。しかし、EMM386は1
つのCR3および1つのLDTRしか有していないので、EM
M386のCR3およびLDTRは評価が容易である。
【0237】CR3およびLDTRが評価されると、710
で、TRが評価される。基本的に、GDTおよびLDT
内の各タスク・セレクタ・エントリで、ビジー・ビット
をセットされたタスク状態セレクタが探索される。各エ
ントリのタイプ・フィールドは、ビジー80286タスク状
態セレクタであるか、ビジー80486タスク状態セレクタ
であるかを確認するために試験される。ビジー286 TSS
またはビジー486 TSSをもつ第1のエントリは、TRの
指すアドレスであると仮定される。ビジー286または486
TSSをもつエントリの物理アドレスは、セグメントE000
Hデータ構造内のTR領域に保存される。ビジー286また
は486 TSSをもつエントリがない場合、セグメントE000H
データ構造内のTR領域にゼロが保存される。
【0238】コードは、CR3、LDTR、およびTRを評
価した後、タスク712から続行する。712で、TR
が有効なTSSを指す場合、714で、TRの指すTS
S中のビジー・ビットがクリアされる。いずれの場合
も、コードは716から続行し、DS、ES、FS、お
よびGSにGDTに有効なセレクタがロードされる。次
に、718で、CR3およびCR0にセグメントE000H
データ構造からの値がロードされる。次に、720で、
ページングが使用可能になり、したがって、線形アドレ
スが物理アドレスに等しい領域だけが、セグメントE000
HおよびF000H中の領域になる。次に、722で、IDTR、
GDTR、LDTR、およびTRに、セグメントE000Hデータ構
造に記憶された値がロードされる。
【0239】最後に、724および726で、GS、F
S、DS、ES、SS、ESP、EFLAGS(VMビットを
セット後の)、およびCSに対応する値をセグメントE0
00Hデータ構造からスタック上にプッシュすることによ
って、仮想8086割込みスタックが作成される。また、7
26で、タスク730でのコードに対応するリターン・
アドレスがスタック上にプッシュされる。最後に、IRET
D命令が実行され、CPU 40が仮想8086モードに戻
されると共に、実行がタスク730に対応するコードに
転送される。
【0240】タスク730は、図28乃至図31中の様
々なスレッドがそれぞれ使用する共通スレッドを開始す
る。タスク730で、セグメントE000Hデータ構造に保
存された値から数値演算プロセッサ44が復元される。
次に、732で、アドレス回線20の状態(入出力ポー
ト92H)がスタックからポップされる。次に、734
で、シャドウRAMセグメントC000Hが再び、読取り専
用になる。736で、図7に関連した記載で説明するよ
うに、電源管理ポートに01Hを書き込むことによっ
て、APMがハードウェアに接続される。次に、738
で、シャドウRAMセグメントE000HおよびF000Hが読取
り専用になる。最後に、740で、Restore CPU State
ルーチンが、正常のレジュームが行われたことを示すフ
ラグをセットする。タスク742、744、および74
6は、Restore CPU Stateルーチンでは実行されず、サ
スペンド事象によって割り込まれたコードに戻る前のあ
る時点で、8つの汎用レジスタがスタックからポップさ
れ、マスク可能割込みが使用可能になり(コードが割り
込まれたときに使用可能になった場合)、フラグがスタ
ックからポップされることを示すためだけに使用され
る。最後に、Restore CPU StateルーチンがSupervisor
ルーチンに戻り、SupervisorルーチンがAPMに制御を
戻し、APMが無効なシステム値を更新すると共に、割
り込まれたコードに制御を戻す。
【0241】ここで再び、タスク704を参照する。C
PU 40が割り込まれたときに仮想8086モードでなか
った場合、コードは750から792までの経路に従
い、この経路で、タスク730乃至748の共通スレッ
ドとマージする。750で、セグメントE000Hデータ構
造中のTR値が、TRが有効なTSSを指すことを示す
場合、752で、そのTSS中のビジー・ビットがクリ
アされる。いずれの場合も、次に、754で、GDTRおよ
びCR0に、セグメントE000Hデータ構造からの値がロ
ードされる。
【0242】次に、タスク756乃至764で、ダミー
・ページ・ディレクトリ・テーブルおよびページ変換テ
ーブルがセグメントC000Hにロードされる。まず、75
6で、シャドウRAMセグメントC000Hが読取り/書込
みになる。2番目に、758で、アドレス0C0000Hに新
しいページ・ディレクトリ・テーブルが作成される。3
番目に、760で、その新しいページ・ディレクトリ・
テーブル中の第1のエントリが0C1000Hを指すように修
正される。4番目に、762で、アドレス0E0000乃至0F
FFFFが存在し、このアドレス範囲に関して線形アドレス
が物理アドレスに等しくなるように、0C1000Hに新しい
ページ変換テーブルが作成される。最後に、アドレス変
換が0C0000H中の新しいダミー・ページ・ディレクトリ
およびページ変換テーブルを介して行われるように、C
R3中のページ・ディレクトリ・ベース・レジスタに0C
0000Hがロードされる。ページングは、タスク754で
CR0がロードされたときに再活動化されている(適用
可能な場合)。
【0243】次に、766で、シャドウRAMセグメン
トE000HおよびF000Hが読取り/書込みになる。次に、C
PU 40は、サスペンドされたときに16ビット・コ
ードを実行していた場合、その時点では16ビット・モ
ードであり、770で、セグメントE000Hデータ構造に
16ビット・コード経路を指すオフセットが保存され
る。一方、CPU40が、16ビット・モードでなかっ
た場合、その時点では32ビット・モードであり、77
2で、セグメントE000Hデータ構造に、16ビット・オ
フセットではなく、32ビット・コード経路を指すオフ
セットが保存される。いずれの場合も、これらの経路は
並列しており、一方が16ビット・オペランドを使用
し、他方が32ビット・オペランドを使用するという点
で異なる。タスク770および772は、どちらかの並
列経路へのオフセットをセットアップするに過ぎない。
以下のタスク782で、経路の1つ(オフセットに対応
するもの)に入る。
【0244】次に、ステップ774で、セグメントE000
Hデータ構造からのCR3値がEDXに、セグメントE00
0Hデータ構造からのSS値がCXに、セグメントE000H
からのESP値がEBPに、セグメントE000Hデータ構
造からのTR値がESIの上半分に、セグメントE000H
データ構造からのLDTR値がESIの下半分(SI)にロ
ードされる。これらの値は、その下にある適切な位置に
シフトされる。次に、776で、GDTR、LDTR、およびC
R0にセグメントE000Hデータ構造からの値がロードさ
れる。778で、LDTRに、SIに記憶されたLDTR値がロ
ードされる。次に、コードは、タスク770または77
2に配置されたオフセットまでファー・ジャンプする。
ファー・ジャンプは、ソース・コード内に命令コードを
直接配置し、770または772からのオフセットを使
用することによってコード化される。コードは次に、7
82から、16ビット命令コード経路または32ビット
命令コード経路で続行する。
【0245】次に、784で、CR3に、EDXに記憶
されたCR3値が、SSに、CXに記憶されたSS値
が、ESPに、EBPに記憶されたESP値がロードさ
れる。次に、786で、GS、FS、ES、およびDS
がスタックからポップされる。788で、割り込まれた
CPU 40がプロテクト・モードで実行していた場
合、790で、TRに、ESIの上半分に記憶されたT
R値がロードされる。いずれの場合も、コードはタスク
792から続行し、デバッグ・レジスタDR0、DR
1、DR2、DR3、DR6、およびDR7がスタック
からポップされる。
【0246】この時点で、このコード経路は、前述のタ
スク730乃至748の共通コード経路とマージする。
794で、error-recoveryルーチンもSave CPU Stateル
ーチンのタスク640からの共通コード経路と連結す
る。
【0247】ここで、図32乃至図34を参照すると、
Save 8259 Stateルーチンのフローチャートが800か
ら示されている。8259の状態の保存は、802で、実時
間クロック98によって使用される定期的割込み値を保
存し、804で、他のすべての読取り可能レジスタをセ
グメントE000Hデータ構造に保存することによって実行
される。当技術分野で周知のように、コンピュータ・シ
ステム10が固定値をもつには一定の8259読取り専用レ
ジスタが必要である。これらの値は既知であり、求める
必要はない。取得するのが困難な8259値は、8259ベース
・アドレス、8259スレーブ・アドレス、および2つの82
59が保留中を示すように設定されているか、OSによる
インサービス割込みを示すように設定されているかにつ
いての値である。
【0248】前記の4つの項目は、図32乃至図34中
の残りのコードで確認される。806で、8259がマスク
され、キーボード12およびマウス13割込みだけがマ
スクされないままになる。
【0249】次に、808で、物理メモリの下位1Kを
セグメントC000Hデータ構造にコピーすることによっ
て、割込みベクトル・テーブルが保存される。次に、8
10で、セグメントC800Hから始まる256個のダミー
割込みサービス・ルーチンを指す256個の固有のダミ
ー・ベクトルをロードすることによって、物理メモリの
下位1Kに新しい「ダミー」割込みベクトル・テーブル
がロードされる。812で、セグメントC800Hに256
個のダミー割込みサービス・ルーチンが生成される。
【0250】次に、814で、キーボード12およびマ
ウス13割込みが使用不能になる。816で、応答され
なかったキーボード12およびマウス13割込みが肯定
応答される。
【0251】次に、818で、キーボード割込みが生成
され、820で、該割込みが試験され、基底8259が保留
とセットされているか、インサービスとセットされてい
るかが確認される。この値は次に、セグメントE000Hデ
ータ構造に書き込まれる。822で、コードは、割込み
が実行されるのを待つ。824で、ダミー・サービス・
ルーチンのうち1つを呼び出すことによって割込みが実
行される。ダミー・サービス・ルーチンを呼び出すと、
8259基底アドレスが決定され、8259が保留モードである
か、インサービス・モードであるかが決定される。基底
アドレスおよびモードは、セグメントE000Hデータ構造
に保存される。
【0252】タスク826、828、830、および8
32で、スレーブ8259に対して類似した手順が実行され
る。
【0253】834で、値をC000Hデータ構造から物理
メモリの下位1Kにコピーし直すことによって、割込み
ベクトル・テーブルが復元される。次に、836で、セ
グメントC000Hが再び、読取り専用になり、838で、
840で呼出しプログラムに戻るのに備えてすべての割
込みがマスクされる。
【0254】本発明をその実施例を説明することによっ
て例示し、実施例をかなり詳細に説明したが、添付の特
許請求の範囲をそのような詳細に制限、または何らかの
点で限定することは、本出願人の意図するところではな
い。当業者には、他の利点または修正が容易に理解され
よう。たとえば、ラン・レングス・コード化を使用し
て、データをハード・ファイルに書き込む前に圧縮して
おくことができる。代替方法では、任意の適切な圧縮方
式を使用することができ、あるいは圧縮をいっさい使用
しないことも可能である。したがって、より広い態様で
の本発明は、特定の詳細、代表的な装置および方法、な
らびに図示し、説明した例に限定されない。よって、本
出願人の全般的な発明の概念から逸脱せずに、そのよう
な詳細から逸脱することができる。
【0255】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0256】(1)BIOSを含み、オペレーティング・シ
ステムおよび適用業務プログラムを実行することができ
るコンピュータ・システムにおいて、CPUと、外部電
源からのシステム電力を前記コンピュータ・システムに
選択的に供給する回路を備え、第1の電源状態および第
2の電源状態を有することを特徴とする電源と、前記C
PUと回線通信する不揮発性記憶装置と、前記CPUと
回線通信し、メモリ・データを記憶する揮発性システム
・メモリと、前記CPUと回線通信し、レジスタ・デー
タを記憶する揮発性システム・レジスタと、前記CPU
と回線通信し、事前選択されたサスペンド事象に応じ
て、前記コンピュータ・システムの状態を正常動作状態
とサスペンド状態の間で選択的に切り替える制御装置と
からなり、前記正常動作状態が、前記電源が前記第1の
電源状態であり、前記コンピュータ・システムがユーザ
・コマンドあるいは前記オペレーティング・システムま
たは前記BIOSに応じて前記適用業務プログラムを実行す
ることができることを特徴とし、前記サスペンド状態
が、レジスタ・データおよびメモリ・データが前記不揮
発性記憶装置上に記憶され、前記電源が前記第2の電源
状態であることを特徴とし、前記正常動作状態と前記サ
スペンド状態の間の前記切替えが、前記制御装置が、前
記事前選択されたサスペンド事象に応じて、前記システ
ム・メモリと前記システム・レジスタと前記不揮発性記
憶装置の間でメモリ・データおよびレジスタ・データの
コピーを行うことを備え、前記電源が前記制御装置に応
じて前記電源状態間で切り替わり、前記正常動作状態と
前記サスペンド状態の間の切替えがさらに、前記制御装
置が、前記事前選択されたサスペンド事象に応じて、前
記電源に、それぞれ前記第1の電源状態と前記第2の電
源状態の間で切り替わらせることを備えることを特徴と
する前記コンピュータ・システム。 (2)前記第1の電源状態が、前記電源がシステム電力
を前記外部電源から前記コンピュータ・システムに供給
することを特徴とし、前記第2の電源状態が、前記電源
がシステム電力の前記外部電源から前記コンピュータ・
システムへの供給を行わないことを特徴とする上記
(1)に記載のコンピュータ・システム。 (3)前記電源がさらに、前記コンピュータ・システム
に補助電力を供給する二次回路を備え、前記第1の電源
状態が、前記電源がシステム電力および補助電力を前記
外部電源から前記コンピュータ・システムに提供するこ
とを特徴とし、前記第2の電源状態が、前記電源がシス
テム電力の前記外部電源から前記コンピュータ・システ
ムへの供給を行わず、前記電源が補助電力を前記外部電
源から前記コンピュータ・システムに供給をすることを
特徴とする上記(1)に記載のコンピュータ・システ
ム。 (4)前記不揮発性記憶装置が固定ディスク記憶装置で
あることを特徴とする上記(1)、(2)、または
(3)に記載のコンピュータ・システム。 (5)前記不揮発性記憶装置が電池付き読取り専用メモ
リであることを特徴とする、上記(1)、(2)、また
は(3)に記載のコンピュータ・システム。 (6)さらに、事前選択された時間の後に満了するよう
に設定された非活動サスペンド・タイマを備え、前記事
前選択されたサスペンド事象が前記非活動サスペンド・
タイマの満了を備えることを特徴とする上記(1)に記
載のコンピュータ・システム。 (7)さらに、前記CPUと回線通信し、前記スイッチ
が押されることに応じて閉鎖事象を生成する瞬間プッシ
ュボタン・スイッチを備え、前記事前選択されたサスペ
ンド事象が前記スイッチの閉鎖事象を備えることを特徴
とする上記(1)に記載のコンピュータ・システム。 (8)さらに、前記CPUと回線通信し、前記スイッチ
が押されることに応じて閉鎖事象を生成する瞬間プッシ
ュボタン・スイッチを備え、さらに、第1のフラグ状態
および第2のフラグ状態を備え、前記CPU上で実行す
るコードによって状態を処理することができる処理可能
フラグを備え、前記事前選択されたサスペンド事象のう
ち1つまたは複数が、前記フラグが前記第1のフラグ状
態のときの前記スイッチの閉鎖事象を備えることを特徴
とする請求項1に記載のコンピュータ・システム。 (9)BIOSを含み、オペレーティング・システムおよび
適用業務プログラムを実行することができるコンピュー
タ・システムにおいて、CPUと、外部電源からのシス
テム電力を前記コンピュータ・システムに選択的に提供
する電源と、不揮発性記憶装置と、メモリ・データを記
憶する揮発性システム・メモリと、レジスタ・データを
記憶する揮発性システム・レジスタと、前記事前選択さ
れたサスペンド事象に応じて、前記システム・メモリと
前記システム・レジスタと前記不揮発性記憶装置の間で
メモリ・データおよびレジスタ・データのコピーを行う
ことによって、前記電源がシステム電力を供給し、前記
コンピュータ・システムがユーザ・コマンドあるいは前
記オペレーティング・システムまたは前記BIOSに応じて
前記適用業務プログラムを実行することができることを
特徴とする正常動作状態と、レジスタ・データおよびメ
モリ・データが前記不揮発性記憶装置上に記憶され、前
記電源がシステム電力を供給しないことを特徴とするサ
スペンド状態との間で前記コンピュータ・システムの状
態を選択的に切り替える制御装置とからなることを特徴
とする前記コンピュータ・システム。 (10)不揮発性記憶装置と、外部電源からのシステム
電力を前記コンピュータ・システムに選択的に提供する
回路を備え、第1の電源状態および第2の電源状態を有
することを特徴とする電源と、メモリ・データを記憶す
る揮発性システム・メモリと、レジスタ・データを記憶
する揮発性システム・レジスタと、事前選択されたサス
ペンド事象に応じて、前記コンピュータ・システムの状
態を正常動作状態とサスペンド状態の間で選択的に切り
替える制御装置とを備え、前記正常動作状態が、前記電
源が前記第1の電源状態であり、前記コンピュータ・シ
ステムがユーザ・コマンドあるいは前記オペレーティン
グ・システムまたは前記BIOSに応じて前記適用業務プロ
グラムを実行することができることを特徴とし、前記サ
スペンド状態が、レジスタ・データおよびメモリ・デー
タが前記不揮発性記憶装置上に記憶され、前記電源が前
記第2の電源状態であることを特徴とし、前記制御装置
が、前記正常動作状態から前記サスペンド状態への切替
えに応じて、すべてのメモリ・データとすべてのレジス
タ・データを、システムがサスペンド状態から正常動作
状態に選択的に切り替えた後にコードの実行を継続する
ようにシステム・レジスタおよびシステム・メモリに再
書込みできるようにするフォーマットに準拠したフォー
マットで前記システム・メモリおよび前記システム・レ
ジスタに再書込みできるフォーマットで、不揮発性記憶
装置に書き込み、次に、制御装置が前記電源に、前記第
1の電源状態を前記第2の電源状態に切り替えさせるこ
とを特徴とする、コンピュータ・システムの状態を保存
する方法。 (11)外部電源からのシステム電力を前記コンピュー
タ・システムに選択的に提供する回路を備え、第1の電
源状態および第2の電源状態を有することを特徴とする
電源と、不揮発性記憶装置と、メモリ・データを記憶す
る揮発性システム・メモリと、レジスタ・データを記憶
する揮発性レジスタとを備えたコンピュータ・システム
の状態を保存する方法において、すべてのメモリ・デー
タを前記不揮発性記憶装置に書き込むステップと、すべ
てのレジスタ・データを前記不揮発性記憶装置に書き込
むステップと、次に、前記電源に、前記第1の電源状態
から前記第2の電源状態に切り替えさせるステップを備
えることを特徴とするコンピュータ・システムの状態を
保存する方法。 (12)外部電源からのシステム電力を前記コンピュー
タ・システムに選択的に提供する回路を備え、第1の電
源状態および第2の電源状態を有することを特徴とする
電源と、不揮発性記憶装置と、メモリ・データを記憶す
る揮発性システム・メモリと、レジスタ・データを記憶
する揮発性レジスタとからなるコンピュータ・システム
の状態を保存する方法において、十分なメモリ・データ
と十分なレジスタ・データを前記不揮発性記憶装置に書
き込み、前記コンピュータ・システムを効果的に復元で
きるようにするステップと、次に、前記電源に、前記第
1の電源状態から前記第2の電源状態に切り替えさせる
ステップを備えることを特徴とする前記方法。 (13)さらに、メモリ・データおよびレジスタ・デー
タの一部またはすべての値を反転可能に修正するステッ
プと、次に、十分な反転可能に修正されたメモリ・デー
タおよびレジスタ・データと、十分な残りの修正されて
いないメモリ・データおよびレジスタ・データを前記不
揮発性記憶装置に書き込み、前記コンピュータ・システ
ムを効果的に復元できるようにするステップを備えるこ
とを特徴とする上記(12)に記載の方法。 (14)外部電源からのシステム電力を前記コンピュー
タ・システムに選択的に提供する回路を備え、第1の電
源状態および第2の電源状態を有することを特徴とする
電源と、CPUレジスタ・データを記憶するCPUレジ
スタと、CPUキャッシュ・データを記憶するCPUキ
ャッシュ・メモリを有するCPUと、システム・データ
を記憶するシステム・メモリと、システム・キャッシュ
・データを記憶するシステム・キャッシュ・メモリと、
ビデオ・データを記憶するビデオ・メモリと、ビデオ・
レジスタ・データを記憶するビデオ・レジスタを有する
ビデオ・サブシステムと、不揮発性記憶装置とを備えた
コンピュータ・システムの状態を保存する方法におい
て、事前選択されたサスペンド事象に応じて、CPUレ
ジスタ・データ、CPUキャッシュ・データ、システム
・データ、システム・キャッシュ・データ、ビデオ・デ
ータ、およびビデオ・レジスタ・データを前記不揮発性
記憶装置に書き込むステップと、 次に、前記電源に、
前記第1の電源状態から前記第2の電源状態に切り替え
させるステップを備えることを特徴とする前記方法。 (15)CPUレジスタ・データ、CPUキャッシュ・
データ、システム・データ、システム・キャッシュ・デ
ータ、ビデオ・データ、およびビデオ・レジスタ・デー
タの値を反転可能に修正するステップと、次に、反転可
能に修正されたCPUレジスタ・データ、CPUキャッ
シュ・データ、システム・データ、システム・キャッシ
ュ・データ、ビデオ・データ、およびビデオ・レジスタ
・データを前記不揮発性記憶装置に書き込むステップ
と、次に、前記電源に、前記第1の電源状態から前記第
2の電源状態に切り替えさせるステップを備えることを
特徴とする上記(14)に記載の方法。 (16)CPUレジスタ・データ、CPUキャッシュ・
データ、システム・データ、システム・キャッシュ・デ
ータ、ビデオ・データ、およびビデオ・レジスタ・デー
タの一部またはすべての値を反転可能に修正するステッ
プと、次に、十分な反転可能に修正されたCPUレジス
タ・データ、CPUキャッシュ・データ、システム・デ
ータ、システム・キャッシュ・データ、ビデオ・デー
タ、およびビデオ・レジスタ・データと、十分な残りの
修正されていないCPUレジスタ・データ、CPUキャ
ッシュ・データ、システム・データ、システム・キャッ
シュ・データ、ビデオ・データ、およびビデオ・レジス
タ・データを前記不揮発性記憶装置に書き込み、前記シ
ステムを効果的に復元するステップと、次に、前記電源
に、前記第1の電源状態から前記第2の電源状態に切り
替えさせるステップを備えることを特徴とする上記(1
4)に記載の方法。
【0257】
【発明の効果】システム状態をハード・ファイルに保存
することにより、ほとんど電力を消費しないサスペンド
状態を持つコンピュータ・システムを実現できる。
【図面の簡単な説明】
【図1】本発明を実施するパーソナル・コンピュータの
斜視図である。
【図2】シャーシ、カバー、直接アクセス記憶装置、お
よびプレーナを含み、それらの要素間の一定の関係を示
す、図1のパーソナル・コンピュータの一定の要素の分
解斜視図である。
【図3】図1および2のパーソナル・コンピュータの一
定の構成要素のブロック図である。
【図4】正常、スタンバイ、サスペンド、およびオフと
いう4つのシステム状態を示す、本発明のコンピュータ
・システムの状態図である。
【図5】電源の関連部分を示すブロック図である。
【図6】他の図との様々なインタフェースを示す、本発
明の単一スイッチ・サスペンド/レジューム機能を実行
するのに必要なハードウェアの概略図である。
【図7】図6に示すプログラム可能アレイ論理(PA
L)装置U2の状態マシンのうち1つの状態図である。
【図8】本発明のpower-upルーチンを概略的に示すフロ
ーチャートである。
【図9】APMによって約1秒ごとに呼び出されるSupe
rvisorルーチンの詳細を示すフローチャートである。
【図10】本発明のサスペンド・ルーチンの詳細を示す
フローチャートである。
【図11】本発明のサスペンド・ルーチンの詳細を示す
フローチャートである。
【図12】本発明のサスペンド・ルーチンの詳細を示す
フローチャートである。
【図13】本発明のサスペンド・ルーチンの詳細を示す
フローチャートである。
【図14】本発明のサスペンド・ルーチンの詳細を示す
フローチャートである。
【図15】本発明のサスペンド・ルーチンの詳細を示す
フローチャートである。
【図16】本発明のBoot-Upルーチンの詳細を示すフロ
ーチャートである。
【図17】本発明のBoot-Upルーチンの詳細を示すフロ
ーチャートである。
【図18】本発明のBoot-Upルーチンの詳細を示すフロ
ーチャートである。
【図19】本発明のレジューム・ルーチンの詳細を示す
フローチャートである。
【図20】本発明のレジューム・ルーチンの詳細を示す
フローチャートである。
【図21】本発明のレジューム・ルーチンの詳細を示す
フローチャートである。
【図22】本発明のレジューム・ルーチンの詳細を示す
フローチャートである。
【図23】本発明のレジューム・ルーチンの詳細を示す
フローチャートである。
【図24】本発明のSave CPU Stateルーチンの詳細を示
すフローチャートである。
【図25】本発明のSave CPU Stateルーチンの詳細を示
すフローチャートである。
【図26】本発明のSave CPU Stateルーチンの詳細を示
すフローチャートである。
【図27】本発明のSave CPU Stateルーチンの詳細を示
すフローチャートである。
【図28】本発明のRestore CPU Stateルーチンの詳細
を示すフローチャートである。
【図29】本発明のRestore CPU Stateルーチンの詳細
を示すフローチャートである。
【図30】本発明のRestore CPU Stateルーチンの詳細
を示すフローチャートである。
【図31】本発明のRestore CPU Stateルーチンの詳細
を示すフローチャートである。
【図32】本発明のSave 8959 Stateルーチンの詳細を
示すフローチャートである。
【図33】本発明のSave 8959 Stateルーチンの詳細を
示すフローチャートである。
【図34】本発明のSave 8959 Stateルーチンの詳細を
示すフローチャートである。
【符号の説明】
10 コンピュータ・システム 12 キーボード 13 マウス 21 スイッチ 31 ハード・ドライブ 40 CPU 52 システムRAM 53 システム・メモリ 56 ビデオ制御装置 58 ビデオ・メモリ 60 外部キャッシュ 84 8277ディスケット制御装置 86 固定ディスク制御装置 88 ROM 92 8259割込み制御装置 94 RS-232 UART 96 CMOSメモリ 98 実時間クロック 150 正常動作状態 152 スタンバイ状態 154 サスペンド状態 156 オフ状態 172 一次/調整装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ドウェイン・ティー・クランプ アメリカ合衆国40503 ケンタッキー州レ キシントン ウッドバイン・ドライブ538 (72)発明者 スティーブン・ティー・パンコースト アメリカ合衆国40503 ケンタッキー州レ キシントン パスターン・コート3325

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】BIOSを含み、オペレーティング・システム
    および適用業務プログラムを実行することができるコン
    ピュータ・システムにおいて、 CPUと、 外部電源からのシステム電力を前記コンピュータ・シス
    テムに選択的に供給する回路を備え、第1の電源状態お
    よび第2の電源状態を有することを特徴とする電源と、 前記CPUと回線通信する不揮発性記憶装置と、 前記CPUと回線通信し、メモリ・データを記憶する揮
    発性システム・メモリと、 前記CPUと回線通信し、レジスタ・データを記憶する
    揮発性システム・レジスタと、 前記CPUと回線通信し、事前選択されたサスペンド事
    象に応じて、前記コンピュータ・システムの状態を正常
    動作状態とサスペンド状態の間で選択的に切り替える制
    御装置とからなり、 前記正常動作状態が、前記電源が前記第1の電源状態で
    あり、前記コンピュータ・システムがユーザ・コマンド
    あるいは前記オペレーティング・システムまたは前記BI
    OSに応じて前記適用業務プログラムを実行することがで
    きることを特徴とし、 前記サスペンド状態が、レジスタ・データおよびメモリ
    ・データが前記不揮発性記憶装置上に記憶され、前記電
    源が前記第2の電源状態であることを特徴とし、 前記正常動作状態と前記サスペンド状態の間の前記切替
    えが、前記制御装置が、前記事前選択されたサスペンド
    事象に応じて、前記システム・メモリと前記システム・
    レジスタと前記不揮発性記憶装置の間でメモリ・データ
    およびレジスタ・データのコピーを行うことを備え、 前記電源が前記制御装置に応じて前記電源状態間で切り
    替わり、 前記正常動作状態と前記サスペンド状態の間の切替えが
    さらに、前記制御装置が、前記事前選択されたサスペン
    ド事象に応じて、前記電源に、それぞれ前記第1の電源
    状態と前記第2の電源状態の間で切り替わらせることを
    備えることを特徴とする前記コンピュータ・システム。
  2. 【請求項2】前記第1の電源状態が、前記電源がシステ
    ム電力を前記外部電源から前記コンピュータ・システム
    に供給することを特徴とし、 前記第2の電源状態が、前記電源がシステム電力の前記
    外部電源から前記コンピュータ・システムへの供給を行
    わないことを特徴とする請求項1に記載のコンピュータ
    ・システム。
  3. 【請求項3】前記電源がさらに、前記コンピュータ・シ
    ステムに補助電力を供給する二次回路を備え、 前記第1の電源状態が、前記電源がシステム電力および
    補助電力を前記外部電源から前記コンピュータ・システ
    ムに提供することを特徴とし、 前記第2の電源状態が、前記電源がシステム電力の前記
    外部電源から前記コンピュータ・システムへの供給を行
    わず、前記電源が補助電力を前記外部電源から前記コン
    ピュータ・システムに供給をすることを特徴とする請求
    項1に記載のコンピュータ・システム。
  4. 【請求項4】前記不揮発性記憶装置が固定ディスク記憶
    装置であることを特徴とする請求項1、2、または3に
    記載のコンピュータ・システム。
  5. 【請求項5】前記不揮発性記憶装置が電池付き読取り専
    用メモリであることを特徴とする、請求項1、2、また
    は3に記載のコンピュータ・システム。
  6. 【請求項6】さらに、事前選択された時間の後に満了す
    るように設定された非活動サスペンド・タイマを備え、 前記事前選択されたサスペンド事象が前記非活動サスペ
    ンド・タイマの満了を備えることを特徴とする請求項1
    に記載のコンピュータ・システム。
  7. 【請求項7】さらに、前記CPUと回線通信し、前記ス
    イッチが押されることに応じて閉鎖事象を生成する瞬間
    プッシュボタン・スイッチを備え、 前記事前選択されたサスペンド事象が前記スイッチの閉
    鎖事象を備えることを特徴とする請求項1に記載のコン
    ピュータ・システム。
  8. 【請求項8】さらに、前記CPUと回線通信し、前記ス
    イッチが押されることに応じて閉鎖事象を生成する瞬間
    プッシュボタン・スイッチを備え、 さらに、第1のフラグ状態および第2のフラグ状態を備
    え、前記CPU上で実行するコードによって状態を処理
    することができる処理可能フラグを備え、 前記事前選択されたサスペンド事象のうち1つまたは複
    数が、前記フラグが前記第1のフラグ状態のときの前記
    スイッチの閉鎖事象を備えることを特徴とする請求項1
    に記載のコンピュータ・システム。
  9. 【請求項9】BIOSを含み、オペレーティング・システム
    および適用業務プログラムを実行することができるコン
    ピュータ・システムにおいて、 CPUと、 外部電源からのシステム電力を前記コンピュータ・シス
    テムに選択的に提供する電源と、 不揮発性記憶装置と、 メモリ・データを記憶する揮発性システム・メモリと、 レジスタ・データを記憶する揮発性システム・レジスタ
    と、 前記事前選択されたサスペンド事象に応じて、前記シス
    テム・メモリと前記システム・レジスタと前記不揮発性
    記憶装置の間でメモリ・データおよびレジスタ・データ
    のコピーを行うことによって、前記電源がシステム電力
    を供給し、前記コンピュータ・システムがユーザ・コマ
    ンドあるいは前記オペレーティング・システムまたは前
    記BIOSに応じて前記適用業務プログラムを実行すること
    ができることを特徴とする正常動作状態と、レジスタ・
    データおよびメモリ・データが前記不揮発性記憶装置上
    に記憶され、前記電源がシステム電力を供給しないこと
    を特徴とするサスペンド状態との間で前記コンピュータ
    ・システムの状態を選択的に切り替える制御装置とから
    なることを特徴とする前記コンピュータ・システム。
  10. 【請求項10】不揮発性記憶装置と、 外部電源からのシステム電力を前記コンピュータ・シス
    テムに選択的に提供する回路を備え、第1の電源状態お
    よび第2の電源状態を有することを特徴とする電源と、 メモリ・データを記憶する揮発性システム・メモリと、 レジスタ・データを記憶する揮発性システム・レジスタ
    と、 事前選択されたサスペンド事象に応じて、前記コンピュ
    ータ・システムの状態を正常動作状態とサスペンド状態
    の間で選択的に切り替える制御装置とを備え、 前記正常動作状態が、前記電源が前記第1の電源状態で
    あり、前記コンピュータ・システムがユーザ・コマンド
    あるいは前記オペレーティング・システムまたは前記BI
    OSに応じて前記適用業務プログラムを実行することがで
    きることを特徴とし、 前記サスペンド状態が、レジスタ・データおよびメモリ
    ・データが前記不揮発性記憶装置上に記憶され、前記電
    源が前記第2の電源状態であることを特徴とし、 前記制御装置が、前記正常動作状態から前記サスペンド
    状態への切替えに応じて、すべてのメモリ・データとす
    べてのレジスタ・データを、システムがサスペンド状態
    から正常動作状態に選択的に切り替えた後にコードの実
    行を継続するようにシステム・レジスタおよびシステム
    ・メモリに再書込みできるようにするフォーマットに準
    拠したフォーマットで前記システム・メモリおよび前記
    システム・レジスタに再書込みできるフォーマットで、
    不揮発性記憶装置に書き込み、 次に、制御装置が前記電源に、前記第1の電源状態を前
    記第2の電源状態に切り替えさせることを特徴とする、
    コンピュータ・システムの状態を保存する方法。
  11. 【請求項11】外部電源からのシステム電力を前記コン
    ピュータ・システムに選択的に提供する回路を備え、第
    1の電源状態および第2の電源状態を有することを特徴
    とする電源と、 不揮発性記憶装置と、 メモリ・データを記憶する揮発性システム・メモリと、 レジスタ・データを記憶する揮発性レジスタとを備えた
    コンピュータ・システムの状態を保存する方法におい
    て、 すべてのメモリ・データを前記不揮発性記憶装置に書き
    込むステップと、 すべてのレジスタ・データを前記不揮発性記憶装置に書
    き込むステップと、 次に、前記電源に、前記第1の電源状態から前記第2の
    電源状態に切り替えさせるステップを備えることを特徴
    とするコンピュータ・システムの状態を保存する方法。
  12. 【請求項12】外部電源からのシステム電力を前記コン
    ピュータ・システムに選択的に提供する回路を備え、第
    1の電源状態および第2の電源状態を有することを特徴
    とする電源と、 不揮発性記憶装置と、 メモリ・データを記憶する揮発性システム・メモリと、 レジスタ・データを記憶する揮発性レジスタとからなる
    コンピュータ・システムの状態を保存する方法におい
    て、 十分なメモリ・データと十分なレジスタ・データを前記
    不揮発性記憶装置に書き込み、前記コンピュータ・シス
    テムを効果的に復元できるようにするステップと、 次に、前記電源に、前記第1の電源状態から前記第2の
    電源状態に切り替えさせるステップを備えることを特徴
    とする前記方法。
  13. 【請求項13】さらに、 メモリ・データおよびレジスタ・データの一部またはす
    べての値を反転可能に修正するステップと、次に、 十分な反転可能に修正されたメモリ・データおよびレジ
    スタ・データと、十分な残りの修正されていないメモリ
    ・データおよびレジスタ・データを前記不揮発性記憶装
    置に書き込み、前記コンピュータ・システムを効果的に
    復元できるようにするステップを備えることを特徴とす
    る請求項12に記載の方法。
  14. 【請求項14】外部電源からのシステム電力を前記コン
    ピュータ・システムに選択的に提供する回路を備え、第
    1の電源状態および第2の電源状態を有することを特徴
    とする電源と、 CPUレジスタ・データを記憶するCPUレジスタと、
    CPUキャッシュ・データを記憶するCPUキャッシュ
    ・メモリを有するCPUと、 システム・データを記憶するシステム・メモリと、 システム・キャッシュ・データを記憶するシステム・キ
    ャッシュ・メモリと、 ビデオ・データを記憶するビデオ・メモリと、ビデオ・
    レジスタ・データを記憶するビデオ・レジスタを有する
    ビデオ・サブシステムと、 不揮発性記憶装置とを備えたコンピュータ・システムの
    状態を保存する方法において、 事前選択されたサスペンド事象に応じて、CPUレジス
    タ・データ、CPUキャッシュ・データ、システム・デ
    ータ、システム・キャッシュ・データ、ビデオ・デー
    タ、およびビデオ・レジスタ・データを前記不揮発性記
    憶装置に書き込むステップと、 次に、前記電源に、前
    記第1の電源状態から前記第2の電源状態に切り替えさ
    せるステップを備えることを特徴とする前記方法。
  15. 【請求項15】CPUレジスタ・データ、CPUキャッ
    シュ・データ、システム・データ、システム・キャッシ
    ュ・データ、ビデオ・データ、およびビデオ・レジスタ
    ・データの値を反転可能に修正するステップと、 次に、反転可能に修正されたCPUレジスタ・データ、
    CPUキャッシュ・データ、システム・データ、システ
    ム・キャッシュ・データ、ビデオ・データ、およびビデ
    オ・レジスタ・データを前記不揮発性記憶装置に書き込
    むステップと、 次に、前記電源に、前記第1の電源状態から前記第2の
    電源状態に切り替えさせるステップを備えることを特徴
    とする請求項14に記載の方法。
  16. 【請求項16】CPUレジスタ・データ、CPUキャッ
    シュ・データ、システム・データ、システム・キャッシ
    ュ・データ、ビデオ・データ、およびビデオ・レジスタ
    ・データの一部またはすべての値を反転可能に修正する
    ステップと、 次に、十分な反転可能に修正されたCPUレジスタ・デ
    ータ、CPUキャッシュ・データ、システム・データ、
    システム・キャッシュ・データ、ビデオ・データ、およ
    びビデオ・レジスタ・データと、十分な残りの修正され
    ていないCPUレジスタ・データ、CPUキャッシュ・
    データ、システム・データ、システム・キャッシュ・デ
    ータ、ビデオ・データ、およびビデオ・レジスタ・デー
    タを前記不揮発性記憶装置に書き込み、前記システムを
    効果的に復元するステップと、 次に、前記電源に、前記第1の電源状態から前記第2の
    電源状態に切り替えさせるステップを備えることを特徴
    とする請求項14に記載の方法。
JP6138496A 1993-07-26 1994-06-21 デスクトップ・コンピュータ・システム、コンピュータ・システムの状態を保存する方法およびコンピュータ・システムの状態を復元する方法 Expired - Lifetime JP2798356B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US97250 1993-07-26
US097250 1993-07-26
US08/097,250 US5511202A (en) 1993-07-26 1993-07-26 Desktop computer system having zero-volt system suspend and control unit for ascertaining interrupt controller base address

Publications (2)

Publication Number Publication Date
JPH0744469A true JPH0744469A (ja) 1995-02-14
JP2798356B2 JP2798356B2 (ja) 1998-09-17

Family

ID=22262461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6138496A Expired - Lifetime JP2798356B2 (ja) 1993-07-26 1994-06-21 デスクトップ・コンピュータ・システム、コンピュータ・システムの状態を保存する方法およびコンピュータ・システムの状態を復元する方法

Country Status (7)

Country Link
US (2) US5511202A (ja)
EP (1) EP0636978B1 (ja)
JP (1) JP2798356B2 (ja)
KR (1) KR0167810B1 (ja)
CN (2) CN1064152C (ja)
CA (1) CA2120056C (ja)
DE (1) DE69425614D1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282049A (ja) * 1996-04-15 1997-10-31 Pfu Ltd 情報処理装置の筐体
US7007180B2 (en) 2000-01-13 2006-02-28 Access Co., Ltd. System and method for switching a computer system to a first or second power saving mode based on whether or not there exists a timer-expiration-waiting event in an event queue

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526503A (en) * 1993-10-06 1996-06-11 Ast Research, Inc. Virtual addressing buffer circuit
US5560023A (en) 1994-09-07 1996-09-24 International Business Machines Corporation Automatic backup system for advanced power management
JP3224715B2 (ja) 1994-09-07 2001-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システムをウェイクさせる低電力リング検出
US5530879A (en) 1994-09-07 1996-06-25 International Business Machines Corporation Computer system having power management processor for switching power supply from one state to another responsive to a closure of a switch, a detected ring or an expiration of a timer
US5832281A (en) * 1994-10-19 1998-11-03 Canon Kabushiki Kaisha Power control apparatus and power control method
US5671422A (en) * 1994-11-14 1997-09-23 Intel Corporation Method and apparatus for switching between the modes of a processor
US5557739A (en) * 1994-11-14 1996-09-17 Gateway 2000, Inc. Computer system with component removal and replacement control scheme
US5710930A (en) * 1995-08-04 1998-01-20 Intel Corporation Apparatus and a method for allowing an operating system of a computer system to persist across a power off and on cycle
US5822600A (en) * 1996-07-19 1998-10-13 Compaq Computer Corporation Dynamic hibernation time in a computer system
KR100190529B1 (ko) * 1996-08-12 1999-06-01 윤종용 Vtr을 내장한 컴퓨터시스템
US5944829A (en) * 1996-09-30 1999-08-31 Intel Corporation Adjusting software characteristics by user interface based upon battery level and the amount of time the user wants the battery to last
US6246397B1 (en) * 1997-07-30 2001-06-12 Gateway, Inc. Screen saver computer program prohibition based on storage device activity
US6145068A (en) * 1997-09-16 2000-11-07 Phoenix Technologies Ltd. Data transfer to a non-volatile storage medium
US6275932B1 (en) * 1997-10-08 2001-08-14 Sony Corporation Program startup apparatus and program startup method for use in electronic machine, and medium
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
KR100283243B1 (ko) 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
US6247151B1 (en) 1998-06-30 2001-06-12 Intel Corporation Method and apparatus for verifying that data stored in a memory has not been corrupted
CN1293461C (zh) * 1999-07-30 2007-01-03 神基科技股份有限公司 一种将电脑系统状态挂起的方法
US6693914B1 (en) 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
US6618042B1 (en) * 1999-10-28 2003-09-09 Gateway, Inc. Display brightness control method and apparatus for conserving battery power
US6601181B1 (en) 1999-12-14 2003-07-29 Gateway, Inc. Uninterruptible power supply apparatus and method
US6636963B1 (en) * 1999-12-30 2003-10-21 Cardiac Pacemakers, Inc. Quick starting for microprocessor-based system by retrieving a target state memory image and a target state data structure from an image storage medium
US20020132603A1 (en) * 2000-12-08 2002-09-19 Jan Lindskog Method for power save
US6883037B2 (en) * 2001-03-21 2005-04-19 Microsoft Corporation Fast data decoder that operates with reduced output buffer bounds checking
KR100553082B1 (ko) * 2002-06-20 2006-02-15 엘지전자 주식회사 이동통신 단말기의 무선 데이터 다운로드 이어받기 장치및 방법
US7573301B2 (en) * 2002-12-02 2009-08-11 Silverbrook Research Pty Ltd Temperature based filter for an on-chip system clock
US7310724B2 (en) * 2003-06-30 2007-12-18 Intel Corporation Parallel execution of enhanced EFI based BIOS drivers on a multi-processor or hyper-threading enabled platform
US20050086667A1 (en) * 2003-09-30 2005-04-21 Feng Jin Symmetric Scheduling for parallel execution
CN100445982C (zh) * 2004-02-12 2008-12-24 宏碁股份有限公司 多还原点的计算机还原系统及方法
US7400878B2 (en) 2004-02-26 2008-07-15 Research In Motion Limited Computing device with environment aware features
US20080100144A1 (en) * 2004-12-16 2008-05-01 Shoei-Lai Chen Automatic Power-Off Method for an Electronic Device
US7529921B2 (en) * 2004-12-17 2009-05-05 Cardiac Pacemakers, Inc. Fast initialization of medical device system having multiple operating systems
KR101031417B1 (ko) * 2005-01-31 2011-04-26 주식회사 하이닉스반도체 비휘발성 레지스터를 갖는 마이크로 프로세서 장치 및제어 방법
CN100426269C (zh) * 2005-04-18 2008-10-15 纬创资通股份有限公司 电脑系统与辅助设备电连接时致能或失能辅助设备的方法
US7827376B2 (en) * 2005-06-27 2010-11-02 Lenovo (Singapore) Pte. Ltd. System and method for protecting hidden protected area of HDD during operation
US8887063B2 (en) * 2008-05-21 2014-11-11 Smart Technologies Ulc Desktop sharing method and system
CN101620462A (zh) * 2008-07-03 2010-01-06 鸿富锦精密工业(深圳)有限公司 计算机装置
US8258748B2 (en) * 2009-03-11 2012-09-04 Enfora, Inc. Methods and apparatus for modeling, monitoring, simulating and controlling power consumption in battery-operated devices
TW201042449A (en) * 2009-05-19 2010-12-01 Inventec Corp Method for accessing storage unit
KR101036584B1 (ko) * 2009-06-22 2011-05-24 뉴엔텍(주) 유기성 슬러지를 함유한 폐수 처리장치 및 그 방법
US8264192B2 (en) 2009-08-10 2012-09-11 Emerson Climate Technologies, Inc. Controller and method for transitioning between control angles
US8508166B2 (en) 2009-08-10 2013-08-13 Emerson Climate Technologies, Inc. Power factor correction with variable bus voltage
US8698433B2 (en) * 2009-08-10 2014-04-15 Emerson Climate Technologies, Inc. Controller and method for minimizing phase advance current
EP2619703B1 (en) 2010-09-24 2019-02-27 BlackBerry Limited Method and apparatus for differentiated access control
US9378394B2 (en) 2010-09-24 2016-06-28 Blackberry Limited Method and apparatus for differentiated access control
US9037907B2 (en) * 2011-06-10 2015-05-19 International Business Machines Corporation Operator message commands for testing a coupling facility
CN103946811B (zh) 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
WO2013048491A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
US9529708B2 (en) 2011-09-30 2016-12-27 Intel Corporation Apparatus for configuring partitions within phase change memory of tablet computer with integrated memory controller emulating mass storage to storage driver based on request from software
US9378133B2 (en) 2011-09-30 2016-06-28 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
US9634593B2 (en) 2012-04-26 2017-04-25 Emerson Climate Technologies, Inc. System and method for permanent magnet motor control
JP6029350B2 (ja) 2012-06-27 2016-11-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US8972762B2 (en) 2012-07-11 2015-03-03 Blackberry Limited Computing devices and methods for resetting inactivity timers on computing devices
EP2883302B1 (en) 2012-08-10 2020-09-30 Emerson Climate Technologies, Inc. Motor drive control using pulse-width modulation pulse skipping
US9923762B1 (en) * 2013-08-13 2018-03-20 Ca, Inc. Upgrading an engine when a scenario is running
WO2015118436A1 (en) * 2014-02-07 2015-08-13 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, device, and electronic device
KR102017284B1 (ko) * 2015-05-26 2019-09-02 삼성전자주식회사 부팅 디바이스 및 그 동작 방법
US10818374B2 (en) * 2018-10-29 2020-10-27 Texas Instruments Incorporated Testing read-only memory using memory built-in self-test controller
US11635900B2 (en) * 2021-08-27 2023-04-25 Micron Technology, Inc. Memory sub-system signature generation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61194552A (ja) * 1985-02-22 1986-08-28 Fujitsu Ltd メモリのエラ−制御方式
JPS61210453A (ja) * 1985-03-15 1986-09-18 Canon Inc デ−タ記憶装置
JPH0293814A (ja) * 1988-09-30 1990-04-04 Toshiba Corp ラップトップ形パーソナルコンピュータの電力供給制御装置
JPH04192010A (ja) * 1990-11-27 1992-07-10 Toshiba Corp パーソナルコンピュータ
JPH04282738A (ja) * 1991-03-12 1992-10-07 Seiko Epson Corp 情報処理装置のデータ処理方式
JPH0588795A (ja) * 1991-09-30 1993-04-09 Casio Comput Co Ltd データ処理装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503494A (en) * 1980-06-26 1985-03-05 Texas Instruments Incorporated Non-volatile memory system
US4698748A (en) * 1983-10-07 1987-10-06 Essex Group, Inc. Power-conserving control system for turning-off the power and the clocking for data transactions upon certain system inactivity
US4907150A (en) * 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
US4851987A (en) * 1986-01-17 1989-07-25 International Business Machines Corporation System for reducing processor power consumption by stopping processor clock supply if a desired event does not occur
US4933785A (en) * 1988-03-01 1990-06-12 Prairietek Corporation Disk drive apparatus using dynamic loading/unloading
US5218607A (en) * 1989-06-23 1993-06-08 Kabushiki Kaisha Toshiba Computer having a resume function and operable on an internal power source
KR930012128B1 (ko) * 1989-08-28 1993-12-24 가부시기가이샤 도시바 재개기능을 가진 컴퓨터 유니트
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
US5021983B1 (en) * 1989-11-13 1996-05-28 Chips & Technologies Inc Suspend/resume apparatus and method for reducing power consumption in battery powered computers
US5276890A (en) * 1989-11-30 1994-01-04 Kabushiki Kaisha Toshiba Resume control system and method for executing resume processing while checking operation mode of CPU
JPH03202912A (ja) * 1989-12-28 1991-09-04 Toshiba Corp 携帯可能電子装置
JP2772103B2 (ja) * 1990-03-28 1998-07-02 株式会社東芝 計算機システム立上げ方式
US5008829A (en) * 1990-06-14 1991-04-16 International Business Machines Corporation Personal computer power supply
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
US5193176A (en) * 1990-10-17 1993-03-09 Powercard Supply C.A. Computer work saving during power interruption
EP0498374A3 (en) * 1991-02-08 1993-03-03 Kabushiki Kaisha Toshiba Computer having function of resume process
US5410711A (en) * 1991-02-14 1995-04-25 Dell Usa, L.P. Portable computer with BIOS-independent power management
JPH0776894B2 (ja) * 1991-02-25 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサ用クロック信号の制御方法及び情報処理システム
EP0584257B1 (en) * 1991-05-17 2004-08-04 Packard Bell NEC, Inc. Power management capability for a microprocessor having backward compatibility
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
JPH077317B2 (ja) * 1991-06-10 1995-01-30 松下電器産業株式会社 システム再起動装置
JPH07101376B2 (ja) * 1991-06-10 1995-11-01 松下電器産業株式会社 システム再起動装置
US5355490A (en) * 1991-06-14 1994-10-11 Toshiba America Information Systems, Inc. System and method for saving the state for advanced microprocessor operating modes
US5274791A (en) * 1991-07-05 1993-12-28 Chips And Technologies, Inc. Microprocessor with OEM mode for power management with input/output intiated selection of special address space
JPH0566860A (ja) * 1991-09-05 1993-03-19 Toshiba Corp 電源制御装置
US5410713A (en) * 1992-01-02 1995-04-25 Smith Corona/Acer Power-management system for a computer
US5229768A (en) * 1992-01-29 1993-07-20 Traveling Software, Inc. Adaptive data compression system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61194552A (ja) * 1985-02-22 1986-08-28 Fujitsu Ltd メモリのエラ−制御方式
JPS61210453A (ja) * 1985-03-15 1986-09-18 Canon Inc デ−タ記憶装置
JPH0293814A (ja) * 1988-09-30 1990-04-04 Toshiba Corp ラップトップ形パーソナルコンピュータの電力供給制御装置
JPH04192010A (ja) * 1990-11-27 1992-07-10 Toshiba Corp パーソナルコンピュータ
JPH04282738A (ja) * 1991-03-12 1992-10-07 Seiko Epson Corp 情報処理装置のデータ処理方式
JPH0588795A (ja) * 1991-09-30 1993-04-09 Casio Comput Co Ltd データ処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09282049A (ja) * 1996-04-15 1997-10-31 Pfu Ltd 情報処理装置の筐体
US7007180B2 (en) 2000-01-13 2006-02-28 Access Co., Ltd. System and method for switching a computer system to a first or second power saving mode based on whether or not there exists a timer-expiration-waiting event in an event queue

Also Published As

Publication number Publication date
US5511202A (en) 1996-04-23
CN1350243A (zh) 2002-05-22
US5925129A (en) 1999-07-20
CN1064152C (zh) 2001-04-04
CN1209720C (zh) 2005-07-06
KR0167810B1 (ko) 1999-01-15
CA2120056C (en) 1998-04-07
DE69425614D1 (de) 2000-09-28
KR950004164A (ko) 1995-02-17
CN1101442A (zh) 1995-04-12
CA2120056A1 (en) 1995-01-27
JP2798356B2 (ja) 1998-09-17
EP0636978B1 (en) 2000-08-23
EP0636978A1 (en) 1995-02-01

Similar Documents

Publication Publication Date Title
JP2798356B2 (ja) デスクトップ・コンピュータ・システム、コンピュータ・システムの状態を保存する方法およびコンピュータ・システムの状態を復元する方法
JP2761460B2 (ja) コンピュータ・システム
JP2726004B2 (ja) 保護モードでコードを実行するcpuの状態を保存する方法、cpuの状態を不揮発性記憶装置から復元する方法、ページ・ディレクトリ・ベース・レジスタのレジスタ値を推定する方法およびページ・ディレクトリ・ベース・レジスタの推定レジスタ値を検証する方法
AU716678B2 (en) Desktop computer system having multi-level power management
EP0747810A2 (en) Multiple user computer system
KR100196893B1 (ko) 컴퓨터 시스템
KR100232314B1 (ko) 컴퓨터 시스템
KR100196883B1 (ko) 컴퓨터 시스템
KR100190736B1 (ko) 컴퓨터 시스템
US5758174A (en) Computer system having a plurality of stored system capability states from which to resume
JP3193596B2 (ja) 電源切断後のユーザ・オプションの自動リストア
EP0701194A1 (en) Power management processor for computer systems having suspend/resume capability
EP0749063A2 (en) Method and apparatus for suspend/resume operation in a computer
AU732436B2 (en) Desktop computer system having multi-level power management