JP2761460B2 - コンピュータ・システム - Google Patents

コンピュータ・システム

Info

Publication number
JP2761460B2
JP2761460B2 JP6137553A JP13755394A JP2761460B2 JP 2761460 B2 JP2761460 B2 JP 2761460B2 JP 6137553 A JP6137553 A JP 6137553A JP 13755394 A JP13755394 A JP 13755394A JP 2761460 B2 JP2761460 B2 JP 2761460B2
Authority
JP
Japan
Prior art keywords
state
power supply
video signal
switch
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP6137553A
Other languages
English (en)
Other versions
JPH0744285A (ja
Inventor
ジェームズ・エル・コーム
ドウェイン・ティー・クランプ
スティーブン・ティー・パンコースト
ジェリー・ティー・コーゼル
マイケル・ダブリュー・クラーク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22262838&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2761460(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0744285A publication Critical patent/JPH0744285A/ja
Application granted granted Critical
Publication of JP2761460B2 publication Critical patent/JP2761460B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Description

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

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】少なくとも3つの電源管理状態、すなわ
    ち、通常、コードが実行される正常動作状態と、オフ状
    態と、サスペンド状態のうち任意の選択された1つの状
    態で動作することができるコンピュータ・システムにお
    いて、 コードを実行することができるCPUと、 前記CPUと通信するように接続された制御装置と、 前記制御装置と通信するように接続され、少なくとも1
    つの閉鎖事象を有するスイッチと、 前記CPUおよび前記制御装置と通信するように接続さ
    れ、少なくとも第1のフラグ状態および第2のフラグ状
    態を有するフラグを保持する手段と、 前記CPUおよび前記制御装置と通信するように接続さ
    れ、外部源からのシステム電力を少なくとも前記CPU
    に選択的に供給するための電力選択回路を有する電源
    と、 前記CPUおよび前記制御装置と通信するように接続さ
    れ、予め選択された時間間隔が経過した後に時間切れと
    なるように設定されたフェールセーフ・タイマとを備
    え、 前記予め選択された時間間隔は、前記CPUに応じて再
    開可能であり、 前記フェールセーフ・タイマは、前記予め選択された時
    間間隔の時間切れに応じて前記コンピュータ・システム
    を前記オフ状態に遷移させ、 さらに、前記CPUおよび前記スイッチと通信するよう
    に接続され、一のビデオ表示端末上に表示すべき視覚イ
    メージに対応するビデオ信号を生成するためのビデオ生
    成回路を有するビデオ制御装置とを備え、 前記電源は、第1の電源状態と第2の電源状態のうち選
    択された1つで動作することができ、前記制御装置に応
    じて前記第1の電源状態と第2の電源状態の間で切り替
    わり、 前記制御装置は、前記フラグが前記第1のフラグ状態に
    ある間に、前記スイッチの閉鎖事象に応じて、前記コン
    ピュータ・システムを前記正常動作状態から前記オフ状
    態に遷移させ、 前記制御装置は、前記フラグが前記第2のフラグ状態に
    ある間に、前記スイッチの閉鎖事象に応じて、前記コン
    ピュータ・システムを前記正常動作状態から前記サスペ
    ンド状態に遷移させ、 前記正常動作状態は、前記電源が前記第1の電源状態に
    あり、前記CPU上で実行中のコードが通常の態様で実
    行されることを特徴とし、 前記サスペンド状態は、前記電源が第2の電源状態にあ
    り、前記CPU上で実行中のコードが、当該コードの実
    行を前記電源が前記第1の電源状態に切り替わった後に
    割り込み点においてレジュームできるような態様で割り
    込まれていることを特徴とし、 前記オフ状態は、前記電源が前記第2の電源状態にあ
    り、前記CPU上で実行中のコードが、当該コードの実
    行を前記電源が前記第1の電源状態に切り替わった後に
    割り込み点においてレジュームできないような態様で割
    り込まれていることを特徴とし、 前記ビデオ制御装置は、前記ビデオ信号が第1のビデオ
    信号状態および第2のビデオ信号状態を有するように動
    作し、 前記ビデオ信号は、前記スイッチの閉鎖事象に応じて、
    前記第1のビデオ信号状態から前記第2のビデオ信号状
    態に切り替わり、 前記第2のビデオ信号状態は、前記少なくとも3つの電
    源管理状態のうち2つの間の遷移に関するユーザへのフ
    ィードバックを供給することを特徴とする、前記コンピ
    ュータ・システム。
  2. 【請求項2】少なくとも3つの電源管理状態、すなわ
    ち、通常、コードが実行される正常動作状態と、オフ状
    態と、サスペンド状態のうち任意の選択された1つの状
    態で動作することができるコンピュータ・システムにお
    いて、 コードを実行することができるCPUと、 少なくとも1つの閉鎖事象を有するスイッチと、 前記CPUと通信するように接続され、前記正常動作状
    態と前記オフ状態との間の遷移、並びに前記正常動作状
    態と前記サスペンド状態との間の遷移を制御するための
    制御装置と、 前記CPUおよび前記スイッチと通信するように接続さ
    れ、一のビデオ表示端末上に表示すべき視覚イメージに
    対応するビデオ信号を生成するためのビデオ生成回路を
    有するビデオ制御装置とを備え、 前記ビデオ制御装置は、前記ビデオ信号が第1のビデオ
    信号状態および第2のビデオ信号状態を有するように動
    作し、 前記ビデオ信号は、前記スイッチの閉鎖事象に応じて、
    前記第1のビデオ信号状態から前記第2のビデオ信号状
    態に切り替わり、 前記第2のビデオ信号状態は、前記少なくとも3つの電
    源管理状態のうち2つの間の遷移に関するユーザへのフ
    ィードバックを供給することを特徴とする、前記コンピ
    ュータ・システム。
  3. 【請求項3】前記第1のビデオ信号状態は、前記ビデオ
    生成回路が前記ビデオ表示端末上に表示すべき前記ビデ
    オ信号を生成することを特徴とし、前記第2のビデオ信
    号状態は、前記ビデオ生成回路が前記ビデオ表示端末上
    に表示すべき前記ビデオ信号の生成を停止することを特
    徴とする、請求項1または2に記載のコンピュータ・シ
    ステム。
  4. 【請求項4】前記スイッチは、プッシュボタン・スイッ
    チであり、前記スイッチの閉鎖事象は、前記スイッチの
    作動状況であることを特徴とする、請求項1または2に
    記載のコンピュータ・システム。
  5. 【請求項5】前記スイッチは、第1のスイッチ位置と第
    2のスイッチ位置の間で移動可能なトグル・スイッチで
    あり、前記スイッチの閉鎖事象は、1つの前記スイッチ
    位置への前記スイッチの移動状況であることを特徴とす
    る、請求項1または2に記載のコンピュータ・システ
    ム。
  6. 【請求項6】少なくとも3つの電源管理状態、すなわ
    ち、通常、コードが実行される正常動作状態と、オフ状
    態と、サスペンド状態のうち任意の選択された1つの状
    態で動作することができるコンピュータ・システムにお
    いて、 コードを実行することができるCPUと、 前記CPUと通信するように接続された制御装置と、 前記制御装置と通信するように接続され、少なくとも1
    つの閉鎖事象を有するスイッチと、 前記CPUおよび前記制御装置と通信するように接続さ
    れ、少なくとも第1のフラグ状態および第2のフラグ状
    態を有するフラグを保持する手段と、 前記CPUおよび前記制御装置と通信するように接続さ
    れ、外部源からのシステム電力を少なくとも前記CPU
    に選択的に供給するための電力選択回路を有する電源
    と、 前記CPUおよび前記スイッチと通信するように接続さ
    れ、一のビデオ表示端末上に表示すべき視覚イメージに
    対応するビデオ信号を生成するためのビデオ生成回路を
    有するビデオ制御装置とを備え、 前記電源は、第1の電源状態と第2の電源状態のうち選
    択された1つで動作することができ、前記制御装置に応
    じて前記第1の電源状態と第2の電源状態の間で切り替
    わり、 前記制御装置は、前記フラグが前記第1のフラグ状態に
    ある間に、前記スイッチの閉鎖事象に応じて、前記コン
    ピュータ・システムを前記正常動作状態から前記オフ状
    態に遷移させ、 前記制御装置は、前記フラグが前記第2のフラグ状態に
    ある間に、前記スイッチの閉鎖事象に応じて、前記コン
    ピュータ・システムを前記正常動作状態から前記サスペ
    ンド状態に遷移させ、 前記正常動作状態は、前記電源が前記第1の電源状態に
    あり、前記CPU上で実行中のコードが通常の態様で実
    行されることを特徴とし、 前記サスペンド状態は、前記電源が第2の電源状態にあ
    り、前記CPU上で実行中のコードが、当該コードの実
    行を前記電源が前記第1の電源状態に切り替わった後に
    割り込み点においてレジュームできるような態様で割り
    込まれていることを特徴とし、 前記オフ状態は、前記電源が前記第2の電源状態にあ
    り、前記CPU上で実行中のコードが、当該コードの実
    行を前記電源が前記第1の電源状態に切り替わった後に
    割り込み点においてレジュームできないような態様で割
    り込まれていることを特徴とし、 前記ビデオ制御装置は、前記ビデオ信号が第1のビデオ
    信号状態および第2のビデオ信号状態を有するように動
    作し、 前記ビデオ信号は、前記スイッチの閉鎖事象に応じて、
    前記第1のビデオ信号状態から前記第2のビデオ信号状
    態に切り替わり、 前記第1のビデオ信号状態は、前記ビデオ生成回路が前
    記ビデオ表示端末上に表示すべき前記ビデオ信号を生成
    することを特徴とし、前記第2のビデオ信号状態は、前
    記ビデオ生成回路が前記ビデオ表示端末上に表示すべき
    前記ビデオ信号の生成を停止することにより、前記少な
    くとも3つの電源管理状態のうち2つの間の遷移に関す
    るユーザへのフィードバックを供給することを特徴とす
    る、前記コンピュータ・システム。
  7. 【請求項7】少なくとも3つの電源管理状態、すなわ
    ち、通常、コードが実行される正常動作状態と、オフ状
    態と、サスペンド状態のうち任意の選択された1つの状
    態で動作することができるコンピュータ・システムにお
    いて、 コードを実行することができるCPUと、 前記CPUと通信するように接続された制御装置と、 前記制御装置と通信するように接続され、少なくとも1
    つの閉鎖事象を有するスイッチと、 前記CPUおよび前記制御装置と通信するように接続さ
    れ、少なくとも第1のフラグ状態および第2のフラグ状
    態を有するフラグを保持する手段と、 前記CPUおよび前記制御装置と通信するように接続さ
    れ、外部源からのシステム電力を少なくとも前記CPU
    に選択的に供給するための電力選択回路を有する電源
    と、 前記CPUおよび前記スイッチと通信するように接続さ
    れ、一のビデオ表示端末上に表示すべき視覚イメージに
    対応するビデオ信号を生成するためのビデオ生成回路を
    有するビデオ制御装置とを備え、 前記電源は、第1の電源状態と第2の電源状態のうち選
    択された1つで動作することができ、前記制御装置に応
    じて前記第1の電源状態と第2の電源状態の間で切り替
    わり、 前記制御装置は、前記フラグが前記第1のフラグ状態に
    ある間に、前記スイッチの閉鎖事象に応じて、前記コン
    ピュータ・システムを前記正常動作状態から前記オフ状
    態に遷移させ、 前記制御装置は、前記フラグが前記第2のフラグ状態に
    ある間に、前記スイッチの閉鎖事象に応じて、前記コン
    ピュータ・システムを前記正常動作状態から前記サスペ
    ンド状態に遷移させ、 前記正常動作状態は、前記電源が前記第1の電源状態に
    あり、前記CPU上で実行中のコードが通常の態様で実
    行されることを特徴とし、 前記サスペンド状態は、前記電源が第2の電源状態にあ
    り、前記CPU上で実行中のコードが、当該コードの実
    行を前記電源が前記第1の電源状態に切り替わった後に
    割り込み点においてレジュームできるような態様で割り
    込まれていることを特徴とし、 前記オフ状態は、前記電源が前記第2の電源状態にあ
    り、前記CPU上で実行中のコードが、当該コードの実
    行を前記電源が前記第1の電源状態に切り替わった後に
    割り込み点においてレジュームできないような態様で割
    り込まれていることを特徴とし、 前記ビデオ制御装置は、前記ビデオ信号が第1のビデオ
    信号状態および第2のビデオ信号状態を有するように動
    作し、 前記ビデオ信号は、前記スイッチの閉鎖事象に応じて、
    前記第1のビデオ信号状態から前記第2のビデオ信号状
    態に切り替わり、 前記第1のビデオ信号状態は、前記ビデオ生成回路が前
    記ビデオ表示端末上に表示すべき前記ビデオ信号を生成
    することを特徴とし、 前記第2のビデオ信号状態は、前記ビデオ生成回路が前
    記ビデオ表示端末上に表示すべき前記ビデオ信号の生成
    を停止することにより、前記少なくとも3つの電源管理
    状態のうち2つの間の遷移に関するユーザへのフィード
    バックを供給することを特徴とする、前記コンピュータ
    ・システム。
  8. 【請求項8】少なくとも3つの電源管理状態、すなわ
    ち、通常、コードが実行される正常動作状態と、オフ状
    態と、サスペンド状態のうち任意の選択された1つの状
    態で動作することができるコンピュータ・システムにお
    いて、 コードを実行することができるCPUと、 前記CPUと通信するように接続された制御装置と、 前記制御装置と通信するように接続され、少なくとも1
    つの閉鎖事象を有するスイッチと、 前記CPUおよび前記制御装置と通信するように接続さ
    れ、少なくとも第1のフラグ状態および第2のフラグ状
    態を有するフラグを保持する手段と、 前記CPUおよび前記制御装置と通信するように接続さ
    れ、外部源からのシステム電力を少なくとも前記CPU
    に選択的に供給するための電力選択回路を有する電源
    と、 前記CPUおよび前記スイッチと通信するように接続さ
    れ、一のビデオ表示端末上に表示すべき視覚イメージに
    対応するビデオ信号を生成するためのビデオ生成回路を
    有するビデオ制御装置とを備え、 前記電源は、第1の電源状態と第2の電源状態のうち選
    択された1つで動作することができ、前記制御装置に応
    じて前記第1の電源状態と第2の電源状態の間で切り替
    わり、 前記制御装置は、前記フラグが前記第1のフラグ状態に
    ある間に、前記スイッチの閉鎖事象に応じて、前記コン
    ピュータ・システムを前記正常動作状態から前記オフ状
    態に遷移させ、 前記制御装置は、前記フラグが前記第2のフラグ状態に
    ある間に、前記スイッチの閉鎖事象に応じて、前記コン
    ピュータ・システムを前記正常動作状態から前記サスペ
    ンド状態に遷移させ、 前記正常動作状態は、前記電源が前記第1の電源状態に
    あり、前記CPU上で実行中のコードが通常の態様で実
    行されることを特徴とし、 前記サスペンド状態は、前記電源が第2の電源状態にあ
    り、前記CPU上で実行中のコードが、当該コードの実
    行を前記電源が前記第1の電源状態に切り替わった後に
    割り込み点においてレジュームできるような態様で割り
    込まれていることを特徴とし、 前記オフ状態は、前記電源が前記第2の電源状態にあ
    り、前記CPU上で実行中のコードが、当該コードの実
    行を前記電源が前記第1の電源状態に切り替わった後に
    割り込み点においてレジュームできないような態様で割
    り込まれていることを特徴とし、 前記ビデオ制御装置は、前記ビデオ信号が第1のビデオ
    信号状態および第2のビデオ信号状態を有するように動
    作し、 前記ビデオ信号は、前記スイッチの閉鎖事象に応じて、
    前記第1のビデオ信号状態から前記第2のビデオ信号状
    態に切り替わり、 前記第1のビデオ信号状態は、前記ビデオ生成回路が前
    記ビデオ表示端末上に表示すべき前記ビデオ信号を生成
    することを特徴とし、 前記第2のビデオ信号状態は、前記ビデオ生成回路が前
    記ビデオ表示端末上に表示すべき前記ビデオ信号の生成
    を停止することにより、前記少なくとも3つの電源管理
    状態のうち2つの間の遷移に関するユーザへのフィード
    バックを供給することを特徴とし、 前記スイッチは、プッシュボタン・スイッチであり、前
    記スイッチの閉鎖事象は、前記スイッチの作動状況であ
    ることを特徴とする、前記コンピュータ・システム。
  9. 【請求項9】前記ビデオ生成回路は、前記スイッチの閉
    鎖事象に応じて、前記ビデオ信号の生成を直ちに停止す
    ることを特徴とする、請求項1、2、6、7または8に
    記載のコンピュータ・システム。
  10. 【請求項10】前記ビデオ生成回路は、前記スイッチの
    閉鎖事象に応じて、前記電源が前記第2の電源状態に入
    る前に、前記ビデオ信号の生成を停止することを特徴と
    する、請求項1、2、6、7または8に記載のコンピュ
    ータ・システム。
JP6137553A 1993-07-23 1994-06-20 コンピュータ・システム Expired - Lifetime JP2761460B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/097,334 US5513359A (en) 1993-07-23 1993-07-23 Desktop computer having a single-switch suspend/resume function
US097334 1993-07-23
US97334 1993-07-23

Publications (2)

Publication Number Publication Date
JPH0744285A JPH0744285A (ja) 1995-02-14
JP2761460B2 true JP2761460B2 (ja) 1998-06-04

Family

ID=22262838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6137553A Expired - Lifetime JP2761460B2 (ja) 1993-07-23 1994-06-20 コンピュータ・システム

Country Status (4)

Country Link
US (1) US5513359A (ja)
EP (1) EP0635778B1 (ja)
JP (1) JP2761460B2 (ja)
DE (1) DE69431275T2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システムをウェイクさせる低電力リング検出
EP0799442B1 (en) * 1994-12-22 2007-08-22 Intel Corporation Power budgeting with device specific characterization of power consumption
US5600840A (en) * 1995-01-10 1997-02-04 Dell Usa, L.P. Automatic adjustment of disk space required for suspend-to-disk operation
JP2892963B2 (ja) * 1995-02-28 1999-05-17 キヤノン株式会社 バッテリ駆動型コンピュータ
DE69635409T2 (de) * 1995-03-06 2006-07-27 Intel Corp., Santa Clara Ein rechnersystem mit unbewachter auf-anfrage-verfügbarkeit
KR0172003B1 (ko) * 1995-03-28 1999-03-30 김광호 컴퓨터 시스템 및 그 제어방법
US5675364A (en) * 1995-04-28 1997-10-07 Dell Usa, L.P. Display wakeup control
US5764547A (en) * 1995-06-19 1998-06-09 Dell U.S.A. L.P. Method and apparatus for three-way power switching
JP3062050B2 (ja) * 1995-07-21 2000-07-10 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク駆動制御方法及び装置
US5974552A (en) * 1995-12-29 1999-10-26 Samsung Electronics Co., Ltd. Method and apparatus for executing a scheduled operation after wake up from power off state
US6128104A (en) * 1996-04-23 2000-10-03 Ricoh Company, Ltd. Communication terminal with an energy saving capability
US5765001A (en) 1996-04-29 1998-06-09 International Business Machines Corporation Computer system which is operative to change from a normal operating state to a suspend state when a power supply thereof detects that an external source is no longer providing power to said power supply at a predetermined level
KR0162599B1 (ko) * 1996-05-07 1999-01-15 김광호 단순한 전원 제어 기능을 갖는 컴퓨터 시스템
US6570561B1 (en) * 1996-06-14 2003-05-27 Texas Instruments Incorporated Portable computer with low voltage differential signaling adapter
US5838982A (en) * 1996-12-19 1998-11-17 Intel Corporation Power switch method and apparatus for preventing a failure in the power controller
US6205318B1 (en) * 1997-04-07 2001-03-20 Gateway 2000, Inc. Power management controller for computer system
KR100240349B1 (ko) * 1997-05-13 2000-01-15 강병호 컴퓨터용 온/오프 제어장치
US6125449A (en) * 1997-06-30 2000-09-26 Compaq Computer Corporation Controlling power states of a computer
US6246397B1 (en) 1997-07-30 2001-06-12 Gateway, Inc. Screen saver computer program prohibition based on storage device activity
US5978923A (en) * 1997-08-07 1999-11-02 Toshiba America Information Systems, Inc. Method and apparatus for a computer power management function including selective sleep states
EP0913996A1 (en) * 1997-11-03 1999-05-06 SONY-WEGA PRODUKTIONS GmbH Power supply control
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
KR100283243B1 (ko) 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
JP2000132259A (ja) * 1998-10-27 2000-05-12 Fujitsu Ltd 電子機器及び電子機器の制御回路並びに電子機器の制御方法
US7472215B1 (en) * 1999-03-31 2008-12-30 International Business Machines Corporation Portable computer system with thermal enhancements and multiple power modes of operation
US6404423B1 (en) * 1999-07-09 2002-06-11 Nokia Display Products Oy Method for display power management and monitor equipped with a power management function
US7411631B1 (en) * 2000-05-31 2008-08-12 Intel Corporation Power management for processor-based appliances
US20020113777A1 (en) * 2001-02-21 2002-08-22 John Lauderdale Exit key for computer keyboard
US6851065B2 (en) * 2001-09-10 2005-02-01 Dell Products L.P. System and method for executing resume tasks during a suspend routine
US20030177404A1 (en) * 2002-03-14 2003-09-18 Jorgenson Joel A. Power distribution control system and method for limiting transient current conditions in computer architectures
JP2004362156A (ja) * 2003-06-03 2004-12-24 Toshiba Corp 電子機器及び表示装置電源管理方法
US8250406B2 (en) * 2003-08-19 2012-08-21 Intel Corporation Operational state preservation in the absence of AC power
US7447918B2 (en) 2003-08-19 2008-11-04 Intel Corporation Method, apparatus and system for enabling a new data processing device operating state
CN1327344C (zh) * 2003-08-19 2007-07-18 英特尔公司 无交流电源时保存和恢复工作状态的基本输入/输出系统
CN100339797C (zh) * 2004-09-07 2007-09-26 华硕电脑股份有限公司 用于使电脑于工作状态以及待机状态间转换的电脑系统与方法
US20120198113A1 (en) * 2011-01-27 2012-08-02 Ziarnik Gregory P Time measurement of power button signal activation
US9923762B1 (en) * 2013-08-13 2018-03-20 Ca, Inc. Upgrading an engine when a scenario is running
TWI602380B (zh) * 2016-04-22 2017-10-11 立錡科技股份有限公司 充電裝置及其充電控制電路與控制方法
US10452561B2 (en) 2016-08-08 2019-10-22 Raytheon Company Central processing unit architecture and methods for high availability systems

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59146324A (ja) * 1983-02-09 1984-08-22 Matsushita Electric Ind Co Ltd 省電力マイクロコンピユ−タ装置
US4674031A (en) * 1985-10-25 1987-06-16 Cara Corporation Peripheral power sequencer based on peripheral susceptibility to AC transients
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
US4907150A (en) * 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
US4823290A (en) * 1987-07-21 1989-04-18 Honeywell Bull Inc. Method and apparatus for monitoring the operating environment of a computer system
US4933785A (en) * 1988-03-01 1990-06-12 Prairietek Corporation Disk drive apparatus using dynamic loading/unloading
JPH01279312A (ja) * 1988-04-30 1989-11-09 Toshiba Corp コンピュータシステム
JPH02139614A (ja) * 1988-11-21 1990-05-29 Toshiba Corp Ac駆動型パーソナルコンピュータ
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
US5355501A (en) * 1990-03-09 1994-10-11 Novell, Inc. Idle detection system
JP2772103B2 (ja) * 1990-03-28 1998-07-02 株式会社東芝 計算機システム立上げ方式
JP2549765B2 (ja) * 1990-11-30 1996-10-30 シチズン時計株式会社 マイクロコンピュータ
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 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサ用クロック信号の制御方法及び情報処理システム
WO1992021081A1 (en) * 1991-05-17 1992-11-26 Zenith Data Systems Corporation Suspend/resume capability for a protected mode microprocessor and hard disk, and idle mode implementation
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
JPH0594236A (ja) * 1991-09-30 1993-04-16 Toshiba Corp 電源制御装置
US5410713A (en) * 1992-01-02 1995-04-25 Smith Corona/Acer Power-management system for a computer

Also Published As

Publication number Publication date
US5513359A (en) 1996-04-30
DE69431275D1 (de) 2002-10-10
EP0635778A2 (en) 1995-01-25
EP0635778B1 (en) 2002-09-04
EP0635778A3 (en) 1996-11-13
JPH0744285A (ja) 1995-02-14
DE69431275T2 (de) 2003-05-22

Similar Documents

Publication Publication Date Title
JP2761460B2 (ja) コンピュータ・システム
JP2798356B2 (ja) デスクトップ・コンピュータ・システム、コンピュータ・システムの状態を保存する方法およびコンピュータ・システムの状態を復元する方法
JP2726004B2 (ja) 保護モードでコードを実行するcpuの状態を保存する方法、cpuの状態を不揮発性記憶装置から復元する方法、ページ・ディレクトリ・ベース・レジスタのレジスタ値を推定する方法およびページ・ディレクトリ・ベース・レジスタの推定レジスタ値を検証する方法
KR0128275B1 (ko) 컴퓨터 시스템과그의 전력사용 관리방법, 인터럽트 제어기의 베이스 어드레스 상태 확인방법과 씨피유 상태보존 및 복원방법
KR100232314B1 (ko) 컴퓨터 시스템
US5682550A (en) System for restricting user access to default work area settings upon restoration from nonvolatile memory where the settings are independent of the restored state information
KR100196893B1 (ko) 컴퓨터 시스템
KR100196883B1 (ko) 컴퓨터 시스템
JP3188826B2 (ja) Apm(拡張パワー・マネジメント)用自動バックアップ装置
JP3193596B2 (ja) 電源切断後のユーザ・オプションの自動リストア
JP3494510B2 (ja) サスペンド・システム用パワー・マネジメント・プロセッサ
KR100207884B1 (ko) 컴퓨터 시스템, 코드 실행 제어 방법, 및 컴퓨터 시스템 전력 관리 방법
AU732436B2 (en) Desktop computer system having multi-level power management

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080320

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090320

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090320

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

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

Free format text: PAYMENT UNTIL: 20090320

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090320

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100320

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100320

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100320

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100320

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110320

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110320

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110320

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120320

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120320

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120320

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120320

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120320

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20130320

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20130320

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20140320

Year of fee payment: 16

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

Free format text: PAYMENT UNTIL: 20140320

Year of fee payment: 16

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term