カレンダ時刻を計時するリアルタイムクロックRTCと経過時間を計時する計時回路を備えるコンピュータがウエイクアップする方法であって、第1のパワーステートから第2のパワーステートにウエイクアップする時刻に相当するウエイクアップ時刻を設定するステップと、前記第1のパワーステートに遷移する前に前記計時回路に前記リアルタイムクロックから取得した現在の時刻から前記ウエイクアップ時刻の前までの時間に相当する第1の満了時間値を設定するステップと、前記計時回路に供給する電力を維持しながら前記第1のパワーステートに遷移するステップと、前記第1のパワーステートで前記計時回路が計時した経過時間が前記第1の満了時間値に到達したときに前記リアルタイムクロックが計時した前記ウエイクアップ時刻でウエイクアップするステップとを有する方法。前記第1のパワーステートがパワーオフ状態で前記第2のパワーステートがパワーオン状態またはサスペンド状態である請求項1に記載の方法。前記パワーオフ状態がハイバネーション状態である請求項2に記載の方法。前記第1の満了時間値を設定するステップの直前に前記計時回路を校正するステップを有する請求項1から請求項3のいずれかに記載の方法。前記校正するステップをサスペンド状態で実行する請求項4に記載の方法。前記リアルタイムクロックが前記リアルタイムクロックを利用したRTCウエイクアップ機能を実現するRTC機能ブロック備えるチップセットに組み込まれており、前記第1のパワーステートで前記RTC機能ブロックの電力を停止するステップを有する請求項1から請求項5のいずれかに記載の方法。前記ウエイクアップするステップが、前記計時回路が計時した経過時間が前記ウエイクアップ時刻の前に前記第1の満了時間値に到達したことに応答して前記RTC機能ブロックに電力を供給するステップと、前記RTC機能ブロックは前記リアルタイムクロックが生成する現在の時刻が前記ウエイクアップ時刻に到達したときに前記コンピュータをウエイクアップさせるステップとを有する請求項6に記載の方法。前記第1のパワーステートにおいて前記計時回路が所定の経過時間を計時したことに応答して前記RTC機能ブロックに電力を供給するステップと、前記RTC機能ブロックに電力が供給されたときに前記計時回路を校正し、前記校正された計時回路に前記RTC機能ブロックから取得した前記校正直後の時刻から前記ウエイクアップ時刻の前までの時間に相当する第2の満了時間値を設定するステップと、前記RTC機能ブロックの電力を停止するステップと、前記計時回路が前記第2の満了時間値までの計時動作を開始するステップと、前記第1のパワーステートで前記計時回路が計時した経過時間が前記第2の満了時間値に到達したことに応答して前記RTC機能ブロックに電力を供給するステップと、前記RTC機能ブロックは前記リアルタイムクロックが生成する現在の時刻が前記ウエイクアップ時刻に到達したときに前記コンピュータをウエイクアップさせるステップとを有する請求項6または請求項7に記載の方法。カレンダ時刻を計時するリアルタイムクロックRTCと経過時間を計時する計時回路を備えるコンピュータがウエイクアップする方法であって、パワーオン状態と、サスペンド状態と、前記計時回路の電力を維持する第1のハイバネーション状態と、前記サスペンド状態よりも消費電力が小さく前記第1のハイバネーション状態より消費電力が大きい第2のハイバネーション状態を定義するステップと、前記第1のハイバネーション状態に遷移する前に前記リアルタイムクロックから取得した現在の時刻から前記ウエイクアップ時刻の前までの時間に相当する満了時間値を前記計時回路に設定するステップと、前記第1のハイバネーション状態に遷移するステップと、前記第1のハイバネーション状態で前記計時回路が計時した経過時間が前記満了時間値に到達したときに前記第2のハイバネーション状態に遷移するステップと、前記第2のハイバネーション状態で前記リアルタイムクロックが計時した前記ウエイクアップ時刻でウエイクアップするステップとを有する方法。カレンダ時刻を計時するリアルタイムクロックRTCと経過時間を計時する計時回路を備えるコンピュータがウエイクアップする方法であって、第1のパワーステートから第2のパワーステートにウエイクアップする時刻に相当するウエイクアップ時刻を設定するステップと、前記第1のパワーステートに遷移する前に前記計時回路を校正し、前記リアルタイムクロックから取得した現在の時刻から前記ウエイクアップ時刻までの時間に相当する満了時間値を前記計時回路に設定するステップと、前記計時回路に供給する電力を維持しながら前記第1のパワーステートに遷移するステップと、前記第1のパワーステートで前記計時回路が計時した経過時間が前記満了時間値に到達したときにウエイクアップするステップとを有する方法。前記第1のパワーステートで一時的に基準クロックを取得して前記計時回路を校正するステップと、前記校正された計時回路に前記リアルタイムクロックから取得した校正直後の時刻から前記ウエイクアップ時刻までの時間に相当する新たな満了時間値を設定するステップとを有する請求項10に記載の方法。カレンダ時刻を計時するリアルタイムクロックRTCと経過時間を計時する計時回路を備えるコンピュータがウエイクアップする方法であって、パワーオン状態と、サスペンド状態と、ハイバネーション状態を定義するステップと、前記ハイバネーション状態に遷移する前に前記リアルタイムクロックから取得した現在の時刻から前記ウエイクアップ時刻までの時間に相当する満了時間値を前記計時回路に設定するステップと、前記ハイバネーション状態に遷移するステップと、前記ハイバネーション状態で前記計時回路が計時した経過時間が前記満了時間値に到達したときにウエイクアップするステップとを有する方法。所定の時刻にウエイクアップするコンピュータであって、プロセッサとメインメモリを含みパワーステートが遷移する際のシステムコンテキストを処理する中央制御部と、リアルタイムクロックRTCを利用したRTCウエイクアップを実行するRTC機能ブロックと、システムクロックを生成するクロックジェネレータと、経過時間を計時するタイマと、パワーオフ状態に遷移する前に前記タイマに前記リアルタイムクロックから取得した現在の時刻から前記所定の時刻より前までの時間に相当する第1の満了時間値を設定してから前記RTC機能ブロックの電力を停止してパワーオフ状態に遷移させ、前記パワーオフ状態で前記タイマが計時した経過時間が前記第1の満了時間値に到達したことに応答して前記RTC機能ブロックに電力を供給するウエイクアップ制御回路とを有し、前記電力が供給されたRTC機能ブロックは現在の時刻が前記所定の時刻に到達したと判断したときに前記中央制御部と前記ウエイクアップ制御回路に連絡して前記コンピュータをウエイクアップさせるコンピュータ。前記タイマを動作させる電力が前記RTC機能ブロックを動作させる電力よりも小さく、かつ、前記タイマの精度が前記リアルタイムクロックよりも低い請求項13に記載のコンピュータ。前記タイマがリング発振器を含む請求項13または請求項14に記載のコンピュータ。前記ウエイクアップ制御回路は、前記第1の満了時間値を設定する直前に前記リアルタイムクロックまたは前記クロックジェネレータを基準器として前記タイマを校正する請求項13から請求項15のいずれかに記載のコンピュータ。前記ウエイクアップ制御回路は前記プロセッサの電力が停止した状態で前記タイマを校正する請求項16に記載のコンピュータ。前記パワーオフ状態がハイバネーション状態で、前記ウエイクアップがパワーオン状態に遷移する動作またはサスペンド状態に遷移する動作である請求項13から請求項17のいずれかに記載のコンピュータ。所定の時刻にウエイクアップすることが可能なコンピュータであって、プロセッサとメインメモリを含みパワーステートを遷移する際のシステムコンテキストを処理する中央制御部と、リアルタイムクロックRTCと、経過時間を計時するタイマと、パワーオフ状態に遷移する前に前記タイマを校正し前記タイマに前記リアルタイムクロックから取得した現在の時刻から前記所定の時刻までの時間に相当する満了時間値を設定してから前記パワーオフ状態に遷移させ、前記パワーオフ状態で前記タイマが計時した経過時間が前記満了時間値に到達したときにウエイクアップさせるウエイクアップ制御回路とを有するコンピュータ。前記ウエイクアップ制御回路は、パワーオフ状態で一時的に前記RTC機能ブロックに電力を供給して前記タイマを校正し、前記校正された計時回路に前記リアルタイムクロックから取得した校正直後の時刻から前記所定の時刻までの時間に相当する新たな満了時間値を設定する請求項19に記載のコンピュータ。ところで、コンピュータはユーザが起動ボタンを押下することで起動したり、システムが生成した信号または外部から受け取った信号に応じて自動的にパワーオフ状態からパワーオン状態に復帰したりする。本明細書では、後者による復帰をウエイクアップという。ウエイクアップには、ネットワークからの信号を利用するLANウエイクアップおよびコンピュータの時計を利用するRTCウエイクアップなどがある。RTCウエイクアップにはコンピュータに実装されたRTCチップとRTCメモリが利用される。RTCチップは、システムにカレンダ時刻を提供するRTCRealTimeClockといわれる半導体チップである。RTCチップはコンピュータの時刻情報を生成するためいかなるパワーステートのときにも動作する必要がある。したがって、RTCチップには、システムデバイスに電力を供給する電力源とは異なる専用のバックアップ電池から電力が供給される。バックアップ電池としては通常マザーボードに実装されたボタン電池が使用される。RTCメモリはRTCチップと組になって動作して、カレンダ時刻を記憶したりアラームを設定したりする役割を果たす。RTCメモリは電力を停止するだけで記憶内容を消去できるなどの理由で通常はSRAMのような揮発性のメモリで構成され、RTCチップと同じバックアップ電池から電力の供給を受けて動作する。従来は、このバックアップ電池から、BIOSの設定情報を記憶するCMOSメモリにも電力を供給していた。特許文献1に記載された発明では、待機状態において予想使用時刻の前に深いパワーステートからより浅いパワーステートに遷移させるためには、深いパワーステートにおいてカレンダ時刻を取得するために、RTCチップから時刻情報を取得する必要がある。近年の携帯式コンピュータでは、RTCチップおよびRTCメモリがシステムのさまざまな機能を含むチップセットに組み込まれるようになり、また、RTCメモリにはBIOSの設定情報なども記憶されるようになってきた。その理由は、チップセットは、微細なシリコンプロセスで製作されるためダイの余分なスペースにRTCを容易に組み込むことができ、かつ、微細プロセスであるため消費電力が少なくボタン電池の消耗を抑えることができる点にある。また、RTCメモリは、時刻情報だけでなくシステムの設定情報も記憶するようになってきているため、RTCを同じチップセットに設けた方が、BIOSやMEManagementEngineなどからのアクセスを容易にできるとう理由もある。RTCチップをチップセットに組み込むと、待機状態においてパワーステートを遷移させてRTCウエイクアップを実現するために、少なくともチップセットの一部に電力を供給する必要があり、チップセットのRTCに関係のない機能ブロックおよびその電力源としてのDC/DCコンバータの損失が待機電力として消費される。特許文献2では、待機状態のときにICHに組み込まれたRTCではなくゲートアレイ回路に組み込まれたタイマがM電源系統をオンにするために時間を計測しているが、RTCウエイクアップには時刻情報が必要になるためタイマだけではRTCウエイクアップに対応できない。コンピュータに待機状態で動作させる専用のRTCチップを設けて、待機状態で所定の時刻にパワーステートの遷移をさせる方法もあるが、精度の高い発振子を含むRTCチップを追加的に設けることはコスト面およびスペース面で得策ではない。また、ゲートアレイ回路やその他の待機状態で動作するデバイスに精度の高いRTCを組み込むことも同様の理由で得策ではない。ここに、待機電力の低減と復帰時間の短縮というパワーステートに対する相反する課題を解決する必要が生じてくる。そこで本発明の目的は、待機電力の低減とウエイクアップ時間の短縮を図ることが可能なコンピュータを提供することにある。さらに本発明の目的はそのようなコンピュータにおけるウエイクアップの方法を提供することにある。所定のカレンダ時刻でコンピュータがより浅いパワーステートにウエイクアップするには、深いパワーステートにおいて当該カレンダ時刻にウエイクイベントを生成する必要がある。ウエイクイベントの生成には、リアルタイムクロックRTCが生成するカレンダ時刻を利用することが通常であるが、RTCの利用には比較的大きな待機電力を消費する。本発明では、浅いパワーステートにおいてRTCと計時回路の連携動作または計時回路の動作だけでウエイクイベントを生成することで待機電力の低減を図る。本発明の第1の態様は、カレンダ時刻を計時するRTCと経過時間を計時する計時回路を備える。コンピュータには、第1のパワーステートから第2のパワーステートにウエイクアップする時刻に相当するウエイクアップ時刻が設定される。ウエイクアップは、第1のパワーステートから第2のパワーステートに遷移する動作である。第1のパワーステートは待機電力が小さくパワーオン状態までの復帰時間が長い深いパワーステートとすることができる。あるいは、第1のパワーステートはパワーオフ状態とすることができる。さらに、パワーオフ状態はハイバネーション状態とすることができる。第2のパワーステートは待機電力が大きくパワーオン状態までの復帰時間が短い浅いパワーステートとすることができる。あるいは第2のパワーステートはサスペンド状態とすることができる。第1のパワーステートからサスペンド状態に遷移する際には一時的にパワーオン状態を経由して遷移する。さらに第2のパワーステートはパワーオン状態とすることができる。計時回路には、第1のパワーステートに遷移する前にRTCから取得した現在の時刻からウエイクアップ時刻の前までの時間に相当する第1の満了時間値が設定される。そして計時回路に供給する電力を維持しながら第1のパワーステートに遷移する。計時回路はRTCのカレンダ時刻に関連付けられた経過時間を計時するために、ウエイクアップ時刻の前に第1の満了時間値に到達する。第1のパワーステートで計時回路が計時した経過時間が第1の満了時間値に到達したときにリアルタイムクロックが生成するカレンダ時刻が計時したウエイクアップ時刻でウエイクアップする。本発明によれば、パワーオフ状態の大部分の時間帯では計時回路が動作し、RTCを利用してウエイクアップを実現する回路はウエイクアップ時刻の直前の短い時間帯で動作させることができる。計時回路に大きな誤差があるとしてもウエイクアップ時刻の前に第1の満了時間値に到達させてウエイクアップを実現する回路を動作させればカレンダ時刻に基づいてウエイクアップさせることができる。計時回路が動作している間にRTCが計時動作をしていてもウエイクアップを実現する回路に電力を供給する必要がないため待機電力を低減できる。計時回路の誤差は、第1の満了時間値に対応する時刻とウエイクアップ時刻の差の時間として現れる。その差の時間ではウエイクアップを実現する回路に電力を供給することになるが、計時回路を利用することで大部分の時間帯では当該回路の電力を停止できる。したがって、計時回路にはある程度の誤差を許容できるため消費電力の小さいハードウエアで構成することができる。ただし、計時回路の誤差が少ないほどウエイクアップを実現する回路に電力を供給する時間を短くできるので、第1の満了時間値を設定する直前に計時回路を校正することが望ましい。計時回路の校正は、RTCまたはクロックジェネレータのクロックを利用して短時間で行うことができる。計時回路は、リング発振器を使用したハードウエアで校正することができる。リング発振器を使用した計時回路の精度は温度依存性が高い。この場合、校正をサスペンド状態で実行すると、実際の計時動作をする温度環境に近い状態で校正できるため計時回路の精度をより向上することができる。RTCは、RTCを利用したRTCウエイクアップ機能を実現するRTC機能ブロック備えるチップセットに組み込み、第1のパワーステートでRTC機能ブロックの電力を停止することができる。RTC機能ブロックがRTCウエイクアップをする際には、計時回路が計時した経過時間がウエイクアップ時刻の前に第1の満了時間値に到達したことに応答してRTC機能ブロックに電力を供給する。そしてRTC機能ブロックは、RTCが生成する現在の時刻がウエイクアップ時刻に到達したときにコンピュータをウエイクアップさせることができる。計時回路の誤差を小さくするために、計時回路の校正と満了時間値の設定を複数回繰り返すことができる。具体的には、第1のパワーステートにおいて計時回路が所定の経過時間を計時したことに応答して、RTC機能ブロックに電力を供給する。RTC機能ブロックに電力が供給されたときに計時回路を校正し、校正された計時回路にRTCから取得した校正直後の時刻からウエイクアップ時刻の前までの時間に相当する第2の満了時間値を設定しその後RTC機能ブロックの電力を停止する。計時回路は第2の満了時間値までの計時動作を開始する。第1のパワーステートで計時回路が計時した経過時間が第2の満了時間値に到達したときにRTC機能ブロックに電力を供給する。電力が供給されたRTC機能ブロックは、現在の時刻がウエイクアップ時刻に到達したときにコンピュータをウエイクアップさせることができる。本発明の第2の態様では、現在時刻のウエイクアップ時刻への到達をRTCではなく計時回路が判断する。計時回路が計時した経過時間が満了時間値に到達したときにウエイクアップさせる。この場合満了時間値としては、リアルタイムクロックから取得した現在の時刻からウエイクアップ時刻までの時間に相当する時間を設定する。この場合でも、パワーオフ状態に遷移する前に計時回路を校正して精度を向上させることで、設定したウエイクアップ時刻に対する満了時間値までの経過時間の誤差を抑えることができる。本発明により、待機電力の低減とウエイクアップ時間の短縮を図ることが可能なコンピュータを提供することができた。さらに本発明によりそのようなコンピュータにおけるウエイクアップの方法を提供することができた。[ノートPCの構成]図1は、ノートブック型パーソナルコンピュータ以下、ノートPCという。10の主要な構成を示す概略の機能ブロック図である。中央制御部11は、CPU13、メモリコントローラハブMCH14、およびメインメモリ15などのハードウエアと、メインメモリ15に読み出されてCPU13で実行される、OS16、BIOS17およびスリープステートマネジメントSSMプログラム18などのソフトウエアで構成される。ここに、SSMとは、待機状態におけるノートPC10のパワーステートを制御する技術をいう。ノートPC10は、ACPIの規格に適合しており、G0ステート、G1ステート、G2ステート、およびG3ステートの4つのグローバルシステムステートに遷移することができる。G0ステートはパワーステートとしてのS0ステートに相当し、CPU11はアプリケーションプログラムを実行できる状態となり、周辺デバイスは電力が供給されるが独自の機能に基づいて省電力動作をする。本明細書ではこの状態をパワーオン状態という。G1ステートはスリーピングステートともいわれ、パワーステートとしてのS1ステートからS4ステートに相当する。このなかでノートPC10にはS3ステートとS4ステートが定義されている。S3ステートはサスペンド状態ともいわれ、メインメモリ15の記憶を保持するために必要なデバイスの電源を除いてほとんどのデバイスの電源が停止する。S4ステートは、ハイバネーション状態ともいわれ、システムのコンテキストがHDD22に記憶されてほとんどのデバイスの電源が停止する。G2ステートはソフトオフともいわれるパワーステートとしてのS5ステートに相当し、システムのコンテキストをHDD22に記憶しないでほとんどのデバイスの電源が停止する。G3ステートは、メカニカルオフステートともいわれ、ボタン電池25を除いてノートPC10の一切の電源は停止する。ノートPC10がS3ステート、S4ステート、またはS5ステートに遷移している状態は待機状態に相当する。待機状態では待機電力を消費する。S3ステートはS0ステートまで遷移する時間が短いが待機電力は大きい。これに比べてS4ステートは遷移する時間は長いが待機電力は小さい。S5ステートは待機電力が最も小さいが起動するときに最初からブートが実行されS5ステートに遷移する前のS0ステートの状態に復帰することはできない。短時間でS0ステートに遷移できる利便性に着目すると、待機状態としてS3ステートを利用することが望ましい。SSMプログラム18は、コンピュータ10がユーザの利用態様に応じてS3ステートとS0ステートを遷移するときの履歴を所定期間記録して、比較的長い時間S3ステートに遷移している曜日ごとの平均的な時間帯を計算する。そのような時間帯を長スリープ時間帯LSTということにする。LSTは、ユーザがその生活のリズムの中でノートPC10を使用する可能性が低い時間帯に相当する。LSTはたとえば、月曜日から木曜日では毎日21:00に開始し、翌日の9:00に終了する時間帯であったり、金曜日では21:00に開始して翌週の月曜日の9:00に終了する時間帯であったりする。本明細書ではLSTの開始時刻をLST開始時刻といい、LSTが終了する時刻をLST終了時刻といい、両者を含めてLST時刻ということにする。SSMプログラム18は、ユーザがLST時刻を設定するための画面をLCD19に表示する。ユーザはSSMプログラム18を通じてLST時刻を設定することができる。ICH21は、周辺入出力デバイスに関するデータ転送を処理する。ICH21は、USBUniversalSerialBus、SATASerialATAttachment、SPIバス、PCIPeripheralComponentInterconnectバス、PCI-ExpressPCIeバス、およびLPCLowPinCountバスなどのインターフェースを備え、それらに対応したデバイスを接続することができる。図1では、SATAポートに接続されたHDD22とLPCポートに接続されたエンベデッドコントローラEC31を示している。ICH21はさらに、RTC23、RTCメモリ24およびクロックジェネレータ27を含んでいる。RTC23はシステムが使用するカレンダ時刻を生成するための計時動作をする。カレンダ時刻とは、年、月、日、時、分、秒というようなカレンダ上のある1点の時刻を示す情報をいう。RTCメモリ24はRTC23の計時動作に基づいて生成されたカレンダ時刻を記憶する。OS16は、ネットワークを通じて取得した標準時刻で定期的にRTCメモリ24が記憶するカレンダ時刻を補正することができる。RTCメモリ24に記憶されたカレンダ時刻はシステムに提供され、ファイルのタイムスタンプやスケジュール管理などに利用される。RTCメモリ24には、BIOS17またはOS16が設定したハードウエアの設定情報およびパスワードならびにインテル社のAMTActiveManagementTechnologyに関する設定情報などのデータも格納する。RTC23およびRTCメモリ24はICH21に電力が供給されるときはその電力で動作するが、ICH21に電力が供給されないときはボタン電池25から供給された電力で動作するため、ノートPC10がいかなるパワーステートに遷移していてもカレンダ時刻の生成が停止することはない。ICH21は、周知のRTCウエイクアップ機能を備えている。RTCウエイクアップ機能は、ICH21がRTCメモリ24のカレンダ時刻を利用してRTCメモリ24に設定されたLST終了時刻でパワーステートをS3ステートからS0ステートに遷移させたり、S4ステートからS3ステートまたはS0ステートに遷移させたりすることをいう。ICH21のRTCウエイクアップ機能を利用してこれまでの方法でS4ステートからS3ステートまたはS0ステートに遷移させるためには、S4ステートにおいてRTCウエイクアップを行うために必要なICH21の機能ブロック以下、RTC機能ブロック26という。に電力を供給する必要がある。この場合、S4ステートでRTC機能ブロック26に電力を供給すると待機電力が増加する。本実施の形態では後に説明するように、S4ステートでRTC機能ブロック26に電力を供給しないでウエイクアップを行う。クロックジェネレータ27は、一例として精度の高い32K水晶振動子と発振回路で構成され、コンピュータ10のデバイスが使用するシステムクロックを生成する。クロックジェネレータ27は、タイマ36を校正するためのシステムクロックをEC31に供給する。クロックジェネレータ27がEC31にシステムクロックを供給するために動作するICH21の機能ブロックをクロック機能ブロック28という。ICH21は、機能ブロックごとに電力を供給することができる。他の例ではクロックジェネレータ27は、ICH21から独立した半導体チップで形成し、電力をICH21から独立して供給するようにしてもよい。HDD22は、OS16、BIOS17、およびSSMプログラム18を格納する。EC31は、CPU、ROM、EEPROM、DMAコントローラ、割り込みコントローラ、およびタイマなどで構成されたマイクロコンピュータであり、さらにA/D入力端子、D/A出力端子、SMバスポート、SPIバスポート、およびディジタル入出力端子を備えている。EC31はCPU11からは独立して動作し、ノートPC10に実装されるデバイスに供給する電力をパワーステートに応じて制御したり、システム筐体の内部の温度を管理したりする。EC31のEEPROM32には、EC31のCPUが実行するプログラムが格納されている。そのプログラムは後に説明する本発明のSSMウエイクアップを実現するコードを含む。EEPROM32には、SSMビット、遷移ビット、原因ビット、LST時刻、LSTビット、ウエイクビット、およびACビットが記憶される。SSMビットは、SSMウエイクアップをイネーブルに設定するためにSSMプログラム18が提供するインターフェースを通じてユーザが設定する。SSMビットが設定されたときは、SSMウエイクアップによりS4ステートからS0ステートまたはS4ステートから一時的にS0ステートを経由してS3ステートに遷移し、SSMビットが設定されていないときはRTC機能ブロック26によるRTCウエイクアップによりS3ステートからS0ステートへ遷移する。SSMビットが設定されたときの本実施の形態にかかるウエイクアップをRTCウエイクアップと区別するためにSSMウエイクアップということにする。遷移ビットはパワーステートがS0ステートに遷移するときの遷移元のパワーステートを示しS5ステート、S4ステート、またはS3ステートを区別するビットとして記憶される、遷移ビットはS0ステートに遷移する際にCPU13が参照する。EC31は、システムが待機状態に遷移する際に遷移先のパワーステートの情報を中央制御部11またはPMC回路33から受け取ってEEPROM32に遷移ビットとして記憶し、S0ステートに遷移したときに当該ビットをリセットする。原因ビットは、パワーステートが遷移するときの原因を示す情報で、LANウエイクアップの実行に関するビット、RTCウエイクアップの実行に関するビット、SSMウエイクアップの実行に関するビット、パワーボタン51の押下を示すビットおよびリッドセンサ53の動作を示すビットを区別する。LST時刻は、SSMプログラム18によって設定される。LSTビットは、現在のカレンダ時刻がLSTに入っているときにICH21によって設定される。ウエイクビットは、タイマ36がカウント終了信号を出力したときにPMC回路33の制御回路35により設定されSSMウエイクアップのイベントとして使用される。ACビットは、AC/DCアダプタ43が接続されてノートPC10がAC供給の状態であることを示す。CPU13は、待機状態のときに電力が供給されて動作を開始する際に、EEPROM32を参照して、それらの状態に応じたプログラムを実行する。EC31は、PMC回路33に組み込まれたタイマ36をクロックジェネレータ27のシステムクロックを基準にして校正する。EC31は、EEPROM32に設定されたLST時刻に基づいて、タイマ36を利用してSSMウエイクアップを行う。EC31は、SMバスで電池パック49に接続され、SPIバスでPMC回路33に接続されている。AC/DCアダプタ43は、一次側が商用電源のアウトレットに接続され、二次側がノートPC10の筐体に接続される。AC/DCアダプタ43は交流電圧を直流電圧に変換してDC/DCコンバータ71~77に電力を供給し、さらに充電器45に電力を供給して電池パック49を充電することができる。AC/DCアダプタ43の出力には電圧検出器47が接続されている。電圧検出器47は、AC/DCアダプタ43の出力に所定の範囲の電圧が発生していることを示す電圧検出信号をPMC回路33に出力する。電池パック49は、AC/DCアダプタ43が接続されていないときにDC/DCコンバータ71~77に電力を供給するノートPC10の電力源となる。DC/DCコンバータ71~77に対する電力源がAC/DCアダプタ43の場合をAC供給といい、電池パック49の場合をDC供給ということにする。電池パック49はAC供給のときに、AC/DCアダプタ43が供給する電力で充電器45により充電される。PMC回路33はNAND回路およびNOR回路などの論理回路、単体のトランジスタ、および抵抗やコンデンサのような受動素子などで構成されたASICApplicationSpecificIntegratedCircuitで製作され、制御回路35、タイマ36、レジスタ37~40を含んでいる。PMC回路33は、ハードウエア回路だけで構成されプロセッサは含まないため消費電力は極わずかである。PMC回路33には、電圧検出器47、EC31、DC/DCコンバータ73~77の制御回路、筐体に設けられユーザがノートPC10を起動するために押下するパワーボタン51、および筐体の蓋の開閉を検知するリッドセンサ53が接続されている。制御回路35は、EC31からの指示、パワーボタン51の押下信号、またはリッドセンサ53の動作信号に基づいてDC/DCコンバータ73~77の動作を制御したり、電力源をAC/DCアダプタ43と電池パック49との間で切り換えたりする。制御回路35はタイマ36からSSMウエイクアップを実行するためのカウント終了信号を受け取るとEEPROM32のウエイクビットを設定する。タイマ36はEC31により設定されたカウント設定値に基づいて待機状態で計時動作をしてSSMウエイクアップを実行するためのカウント終了信号を出力する。タイマ36は、リング発振器と計算回路で構成されているため、PMC回路33は、タイマ36を組み込んでも消費電力がほとんど増加しない。リング発振器は奇数個のインバータをリング状に接続して構成され、インバータの段数で決定される発振周波数のパルス信号を生成する。計算回路はリング発振器が生成したパルス信号をカウントするカウンタ、EC31がカウンタのカウント設定値を設定する設定回路、キャリービットを処理するキャリービット回路、および設定回路に設定されたカウント数がカウントされたときに制御回路35にカウント終了信号を出力する出力回路を含む。タイマ36は、設定回路にカウント設定値が設定されるとカウンタが動作を開始し、カウント値がカウント設定値に到達したときに出力回路がカウント終了信号を出力する。リング発振器は、インバータの遅延時間が浮遊容量、負荷容量、および抵抗などの個体の特質や温度により変化するために精度が低い。たとえば、10KHzの発振周波数のときに誤差は±50程度にまで達することがある。したがって、タイマ36だけではSSMウエイクアップの利用に必要な精度の時間を計測することができない場合があるため、本実施の形態ではEC31がタイマ36を動作させる直前にシステムクロックで校正する。レジスタ37には、EC31がEEPROM32に記憶した遷移元のパワーステートを記憶する。制御回路35は、パワーボタン51の押下があったときまたはリッドセンサ53が動作したときにレジスタ37を参照してDC/DCコンバータ73~77の動作を制御する。レジスタ38は、パワーボタン51の押下またはリッドセンサ53の動作があったときにその起動原因を示すビットを記憶する。EC31は、S0ステートに遷移する際にレジスタ38を参照してEEPROM32にレジスタ38の起動原因を記憶する。レジスタ39には、タイマ36からカウント終了信号を受け取った制御回路35がウエイクビットを設定する。EC31は、DC/DCコンバータ73から電力が供給されたときに、レジスタ39にウエイクビットが設定されていることを検知したときは、SSMウエイクアップに関する所定の処理を行う。レジスタ40には、電圧検出器47から電圧検出信号を受け取った制御回路35が、現在AC供給であることを示すACビットを設定する。制御回路35は、ACビットをEEPROM32にも設定する。DC/DCコンバータ71、73、75、77は、AC/DCアダプタ43または電池パック49のいずれかを電力源とし、パワーステートに応じてPMC回路33に制御されてノートPC10のさまざまなデバイスに電力を供給する。図1の各構成要素には、1~4の記号でDC/DCコンバータ71~77のいずれが電力源であるかを示している。たとえば、ICH21は、機能ブロックごとに電力が供給できるように構成されており、各機能要素には、パワーステートに応じてDC/DCコンバータ73、75、77から電力が供給される。EC31には、DC/DCコンバータ73から電力が供給される。PMC33には、DC/DCコンバータ71から電力が供給される。DC/DCコンバータ71は、構成が簡単で軽負荷時の効率に優れたリニアレギュレータで構成されている。リニアレギュレータは可変抵抗素子の抵抗値を制御して出力電圧を所定の範囲に維持するが、入力電圧と出力電圧の差は熱として放熱する必要があり、負荷が大きくなると効率が低下するので小さい負荷の電力源に適している。DC/DCコンバータ71は、AC/DCアダプタ43または電池パック49がシステムに電力を供給するときには常にPMC回路33に電力を供給する。DC/DCコンバータ73、75、77は、構成は複雑であるが高負荷時の効率に優れたスイッチングレギュレータで構成されている。スイッチングレギュレータは、スイッチング素子のデューティ比を制御して出力電圧を所定の範囲に維持する。スイッチングレギュレータは、軽負荷時にもスイッチング損失が発生するので、DC/DCコンバータ71のような小さい負荷に対してはリニアレギュレータよりも効率が低い。[パワーステートと電源系統の関係]図2は、パワーステートとDC/DCコンバータの動作関係を示す図である。図2AはSSMウエイクアップを導入していないコンピュータにおける従来のパワーステートまたはSSMウエイクアップは導入されているがEEPROM32のSSMビットがディスエーブルに設定されているときのパワーステートを示す。図2BはSSMが導入され、かつSSMビットがイネーブルに設定されているときのパワーステートを示す。本実施の形態では、S4ステートとS5ステートはそれぞれにおいて、AC供給とDC供給で動作するDC/DCコンバータが異なる。さらに図2Bに示すように、SSMウエイクアップを実現するためにDC供給のときのS4ステートに、従来の定義によるS4ステート以後、これを通常S4ステートという。に加えて新たにRTC-S4ステートを定義する。通常S4ステートではDC/DCコンバータ73が動作しないためにEC31とICH21には電力が供給されないが、RTC-S4ステートではDC/DCコンバータ73が動作してICH21のRTC機能ブロック26、クロック機能ブロック28およびEC31に電力を供給する。なお、RTC-S4ステートでは、通常S4ステートと同じようにシステムのコンテキストがHDD22に記憶される。RTC-S4ステートは、通常S4ステートおよびS5ステートとともにパワーオフ状態である。RTC-S4ステートでは、EC31はクロックジェネレータ27が生成したシステムクロックを取得してタイマ36を校正することができる。他の例では、RTC-S4ステートでEC31は、RTC23からクロックを取得してタイマ36を校正することができる。図2BにおいてDC/DCコンバータ71は、G3ステートを除くすべてのパワーステートS5、S4、S3、S0で動作し、PMC回路33、電池パック49の状態を表示するLED図示せず。、およびリッドセンサ53などのパワーオフ中の状態表示および起動に関連する最低限のデバイスに電力を供給する。DC/DCコンバータ73は、G3ステート、S5ステートDC供給および通常S4ステートDC供給で動作を停止し、その他のパワーステートで動作してICH21の一部とEC31に電力を供給する。DC/DCコンバータ73から電力が供給されるICH21の一部にはICH21のRTC機能ブロック26およびクロック機能ブロック28を含む。DC/DCコンバータ75は、S0ステートおよびS3ステートで動作し、ICH17の一部、MCH13およびメインメモリ15などのメインメモリ15の記憶を維持するために必要な回路に電力を供給する。DC/DCコンバータ77はS0ステートで動作し、ICH21の一部、CPU13およびHDD22などの残りのデバイスに電力を供給する。AC供給のときは常にDC/DCコンバータ73が動作するのでSSMウエイクアップを行なわないで従来のRTCウエイクアップを行うことができる。RTC-S4ステートを経由するSSMウエイクアップの実行手順図3、図4は、SSMウエイクアップの実行に伴うパワーステートの遷移を示す図で、図5は、SSMの実行手順を示すフローチャートである。図7Aは、SSMの実行に伴う消費電力の変化を説明する図である。図3では、S5ステート、RTC-S4ステートまたは通常S4ステートとS3ステート間の遷移はS0ステートを経由して行うことを示している。また、S5ステート、通常S4ステートまたはS3ステートとS0ステートの間の遷移は、従来から行われていたステート遷移でもある。図7Aは、縦方向が電力軸で横方向が時間軸であるが縮尺は無視している。また、図7Aの番号は図4のノード番号に対応する。最初にSSMウエイクアップの概要を説明する。SSMウエイクアップは主として、PMC回路33のタイマ36、ICH21のRTC機能ブロック26、クロック機能ブロック28およびEC31の連携動作により実行される。SSMウエイクアップでは通常S4ステートでRTC機能ブロック26の電力を停止し、LST終了時刻の前にRTC-S4ステートに遷移してRTC-S4ステートからS0ステートを経由してS3ステートに遷移する。具体的に図7Aで説明すると、ノートPC10のパワーステートを、LST開始時刻t0を基準にして通常S4ステートに遷移し、LSTの間に強制的に起動されない限り時刻t2でRTC-S4ステートに遷移し、LST終了時刻t1でS3ステートに遷移する。したがって、SSMウエイクアップは、待機状態においてS3ステートに遷移させておくことの利便性を確保しながら待機状態の電力を従来のRTCウエイクアップよりも低減することができる。その結果、ユーザはLST終了時刻以降にノートPC10を使用したいときには、S3ステートから短時間で起動することができる。図5のブロック201では、SSMプログラム18がノートPC10の使用履歴に基づいて、または、SSMプログラム18が提供するインターフェースを通じてユーザがRTCメモリ24とEEPROM32にLST時刻t0、t1を設定する。さらにユーザはEEPROM32にSSMビットを設定する。ノートPC10には、AC/DCアダプタ43が接続されておらずレジスタ40およびえEPROM32にはACビットは設定されていない。この状態でのパワーステートは図2BのとおりRTC-S4ステートを含むことになる。ブロック203では、ユーザがノートPC10を使用したり終了したりしている。ユーザはノートPC10の利用を終了するためにOS16のインターフェースを通じて終了の指示をしたり、または、筐体の蓋を閉じたりする。このときノートPC10は、リッドセンサ53の動作または中央制御部11の指示によりS3ステートに遷移する。EC31は中央制御部11から使用終了の指示を受け取ったとき、またはPMC33からリッドセンサ53の動作を示す信号を受け取ったときに、遷移先のパワーステートをEEPROM32に設定してS3ステートに遷移するイベントをICH21に通知する。ICH21は中央制御部11にS3ステートに遷移する準備をするように指示する。中央制御部11から準備完了の通知を受け取ったICH21は、EC31にS3ステートへ遷移するように要求する。EC31は、PMC33に指示してDC/DCコンバータ77の動作を停止させる。このときDC/DCコンバータ75は動作しているためメインメモリ15には電力が供給されている。ユーザがパワーボタン51を押下したり筐体を開いたりすると、PMC回路33はDC/DCコンバータ77を動作させる。電源が供給されたCPU13はリセット動作をするとEEPROM32の遷移元のパワーステートを確認してS3ステートに遷移する前の状態で動作を再開する。ここまでの手順は従来から行われていたもので、図4のノード1からノード2のパスとして示している。ブロック205でEC31は、現在ノートPC10がS0ステートからS3ステートに遷移する過渡的な状態か否かを判断する。EC31はPMC回路33またはICH21からイベントを受け取ってS3ステートに遷移する状態であると判断したときにはブロック207に移行する。本発明では通常の使用状態を妨げないようにしながらSSMウエイクアップを実行するため、ユーザの利用状態によってノートPC10はLST開始時刻t0の前または後にS3ステートに遷移する。ブロック207でEC31は、DC/DCコンバータ77の動作を停止してS3ステートに遷移してから定期的にRTCメモリ24から取得した現在のカレンダ時刻がLST開始時刻t0に到達したか否かを判断する。S3ステートに遷移した際にLST開始時刻t0に到達していないと判断したEC31は、ブロック209で、その後LST開始時刻t0に到達しかつLST開始時刻t0から1時間~3時間といった所定の時間h1図7A参照が経過したか否かを判断する。この所定の時間h1は、ユーザがそれ以降ノートPC10を使用しないことを推定するための時間で安定してLSTに入ったことを確認する意義がある。現在のカレンダ時刻がLST開始時刻t0に入ったと判断したときにEC31はEEPROM32にLSTビットを設定する。所定の時間h1が経過したと判断したときは、EC31はEEPROM32にSSMウエイクアップの実行に関する原因ビットを設定する。EC31はブロック213でタイマ36に校正のためのカウント値を設定しタイマがカウント値までのカウントを終了したときに制御回路35からカウント終了信号を受け取る。EC31はタイマがカウントしている時間と同じ時間にクロックジェネレータ27からシステムクロックを受け取って、リング発振器のクロック周期またはタイマ36の1カウントの時間を計算しタイマ36を校正する。リング発振器の発振周波数は温度依存性が高い。タイマ36はSSMウエイクアップを実行する際に、消費電力が小さく筐体内部の温度が低い通常S4ステートで動作するために、タイマ36の校正は通常S4ステートに近い温度で行うことが望ましい。S3ステートでの筐体温度は通常S4ステートに近いので、S0ステートから遷移してから一定の時間が経過してから校正することが望ましい。この視点では、ブロック209の所定の時間h1は、より正確な校正作業をするための温度安定期間という意義も有する。ここまでの手順はS3ステートでLSTに入った場合に相当し、図4のノード2からノード4へのパスとして示している。ブロック207で、S3ステートに遷移する際にLST開始時刻t0に到達していると判断した場合には、ブロック211に移行し、S3ステートに遷移した時刻から1~3時間といった所定の時間h2が経過したか否かを判断する。所定の時間h2が経過したと判断した場合は、EC31はEEPROM32にLSTビットとSSMウエイクアップの実行に関する原因ビットを設定してからブロック213に移行する。ここまでの手順はLSTに入ってからS3ステートに遷移した場合に相当し、図4のノード3からノード4へのパスとして示している。ブロック215でEC31は、RTCメモリ24から現在のカレンダ時刻を取得してタイマ36に所定のカウント設定値満了時間値を設定する。所定のカウント設定値は、現在のカレンダ時刻からLST終了時刻t1より所定の時間h3だけ前の時刻t2までの時間h4に相当する値でかつブロック213で校正された値である。カウント設定値が設定されたタイマ36は、カウント動作を開始する。所定の時間h4は、校正後のタイマ36の精度を考慮して設定する。SSMウエイクアップでは、ノートPC10を正確にLST終了時刻t1でウエイクアップさせる。所定の時間h4は、誤差が最大になったとしてもタイマ36がLST終了時刻t1を経過する前に制御回路35にカウント終了信号を出力できるように設定する。所定の時間h4が長いほどRTC-S4ステートで動作する時間を短くしあるいは通常S4ステートで動作する時間を長くして待機電力の低減を図ることができる。ブロック213で、タイマ36を動作させる直前にシステムクロックを使用して校正しているので、校正しない場合に比べて所定の時間h4を長くすることができる。カウント設定値の設定が終了したEC31はブロック217で、S3ステートから通常S4ステートに遷移させる。S3ステートから通常S4ステートに遷移するためには、CPU13、メインメモリ15およびその他のコントローラなどのS0ステートでのシステムのコンテキストをHDD22に記憶するために、一旦S0ステートに遷移する必要がある。カウント設定を設定したEC31は、PMC回路33にSSMウエイクアップに入るためにそれまで停止していたDC/DCコンバータ77を動作させるように指示する。CPU13は電力が供給されるとリセットしてS3ステートに遷移する直前のS0ステートの状態で動作する。このときCPU13は、EEPROM32に記憶されたSSMビット、原因ビットおよびLSTビットを参照して今回の遷移は使用を目的とする永続的なS0ステートへの遷移ではなく、通常S4ステートへ遷移するための一時的な遷移であることを認識する。したがって、中央制御部11は、通常S4ステートへの遷移に必要のないLCD19のバックライトを消灯したり、無線モジュールの動作を停止したりしてS0ステートでの無駄な電力の消費を抑制することもできる。中央制御部11は、CPU13、メインメモリ15およびコントローラなどのシステムのコンテキストをHDD22に記憶する。中央制御部11はHDD22へのコンテキストの記憶が終了すると、ICH21に通知する。ICH21は、EC31にDC/DCコンバータ73、75、77を停止して通常S4ステートに遷移させるように指示する。EC31は、PMC回路33に指示してDC/DCコンバータ73、75、77の動作を停止させて、通常S4ステートに遷移させる。EC31はEEPROM32とレジスタ37に遷移先となる通常S4ステートの遷移ビットを設定する。ここまでの手順は図4にノード4からノード5までのパスとして示している。他の例では、ブロック213でのタイマ36の校正とブロック215の設定値の設定をRTC-S4ステートで行うこともできる。この場合は、S3ステートからS0ステートを経由して一旦RTC-S4ステートに遷移し、タイマ36の校正とカウント設定値の設定が終了した後にRTC-S4ステートから通常S4ステートに遷移する。RTC-S4ステートではS3ステートよりも通常S4ステートに近い温度条件でタイマ36の校正をすることができる。なお、S3ステートからRTC-S4ステートへの遷移は、S3ステートから通常S4ステートに遷移した後に、DC/DCコンバータ73を動作させてICH21のRTC機能ブロック26およびクロック機能ブロック28とEC31に電力を供給するようにしてもよい。通常S4ステートに遷移している間もPMC回路33にはDC/DCコンバータ71から電力が供給されているのでタイマ36は設定されたカウント設定値までカウント動作を継続する。また、RTC23とRTCメモリ24は、ボタン電池25から電力が供給されているのでカレンダ時刻を生成し続ける。ブロック219では、カウント値がカウント設定値に到達するとタイマ36は、時刻t2でカウント終了信号を制御回路35に出力する。ここまでの手順は図4においてノード5からノード6へのパスで示している。ブロック221では、カウント終了信号を受け取った制御回路35が、DC/DCコンバータ73を動作させ、パワーステートをRTC-S4ステートに遷移させる。タイマ36はブロック213で校正されているため、LST終了時刻t1の直前にRTC-S4ステートに遷移させることができる。制御回路35はさらにレジスタ38とEEPROM32にウエイクビットおよび原因ビットを設定する。電力が供給されたICH21のRTC機能ブロック26は、ブロック223で現在のカレンダ時刻がLST終了時刻t1に到達したと認識するとブロック225に移行する。他の例ではRTC機能ブロック26のRTCウエイクアップ機能を使用しないで、RTC-S4ステートのときにEC31がRTCメモリ24から現在のカレンダ時刻を取得し、LST終了時刻t1に到達したか否かを判断することができる。ブロック225では、LST終了時刻t1に到達したと判断したRTC機能ブロック26はパワーステートをS3ステートに遷移させるためにDC/DCコンバータ75、77を動作させるようにEC31に指示する。指示を受けたEC31はDC/DCコンバータ75、77を動作させる。電力の供給を受けたCPU13は、HDD22に記憶されていたコンテキストを復帰し、ノートPC10をブロック205でS3ステートに入る前の状態で動作させる。電力の供給を受けたCPU13は、EEPROM32のSSMビット、ウエイクビットおよび原因ビットを参照して、今回のS0ステートへの遷移がS3ステートへの一時的な遷移であると認識する。CPU13は、S0ステートに復帰するとただちにS3ステートに遷移するようにICH21に通知する。このときもCPU13は、LCD19のバックライトを消灯したり無線モジュールを動作させないようにしたりしてS3ステートへの遷移に無関係なデバイスの動作を停止することができる。ICH21は、中央制御部11からS3ステートへ遷移する通知を受け取ると、EC31にDC/DCコンバータ77を停止するように指示する。EC31はこのときEEPROM32に遷移先としてS3ステートを示す遷移ビットを設定する。ここまでの手順は図4においてノード6からノード13のパスで示している。ブロック227では、LST終了時刻t1が経過して、筐体が開かれてリッドセンサ53が動作したりユーザがパワーボタン51を押下したりしてS0ステートに遷移する操作が行われ、それに応じて制御回路35はレジスタ38とEEPROM32に原因ビットを設定する。電力が供給されたCPU13は、EEPROM32を参照して起動原因がパワーボタン51またはリッドセンサ53であると認識すると、今回のステート遷移は永続的な遷移であると認識する。ノートPC10は、すでにS3ステートに遷移しているため、LST終了時刻t1以降は短時間で起動することができる。以後、次回のLST開始時刻t0に入る前は、使用が終了するとノートPC10はS3ステートで待機する。ここまでの手順は図4において、ノード14からノード16までのパスとして示している。他の例では、LSTの間に通常S4ステートとRTC-S4ステートとの間を遷移して、EC31が複数回タイマ36を校正することができる。たとえば、EC31は、ブロック215でカウント設定値を設定する際に、タイマ36に現在のカレンダ時刻から時間h4よりも十分に短い時間に相当するカウント設定値を設定する。タイマ36がカウント終了信号を出力してRTC-S4ステートに遷移したときに、EC31は短時間の間システムクロックでタイマ36を校正し、さらにそのときのカレンダ時刻からLST終了時刻t1より短い時刻に対応する時間に相当するカウント設定値を設定する。このように追加的に1回または複数回の校正を行うことで精度が向上したタイマ36は、カウント終了信号をLST終了時刻t1により近い時刻で出力することができるようになる。EC31は最終のカウント設定値を設定する際に制御回路35がカウント終了信号を受け取るように設定することができる。制御回路35はタイマ36が最終のカウント値をカウントしたときにレジスタ38とEEPROM32にウエイクビットを設定する。このとき、EC31が設定するカウント値は校正を繰り返すたびに徐々に小さい値にすることができる。より小さなカウント値を設定する場合は、リング発振器が同じ誤差で動作してもカウント設定値に対応する満了時間と実際に経過した時間の差は少なくなるので、校正とカウント値の設定を繰り返すことで最終的にはよりLST終了時刻t1に近い時刻でカウント終了信号を出力できるようになる。この手順は、図4のノード5、7、8、9、10、6のパスとして示している。図4では追加的な校正が1回だけ行われることを示しているが、このパスは複数回繰り返すことができる。他の例では、ユーザが使用を開始する前にS3ステートで待機させないで、LST終了時刻t1が経過したときにRST-S4ステートからS0ステートに直接遷移させることもできる。この場合、ブロック225の手順では、電力の供給を受けた中央制御部11は、EEPROM32にウエイクビットが設定されていることを認識すると、今回のS0ステートへの遷移が永続的なS0ステートへの遷移であると認識して、SSMビットが設定されていないときに通常S4ステートからS0ステートに遷移する場合と同じ手順で復帰することができる。この手順は図4のノード12からノード15へのパスとして示している。従来のRTCウエイクアップでは、S4ステートのすべての時間帯でRTC機能ブロック26に電力を供給する必要があった。図4、図5、図7Aに示したSSMウエイクアップの手順によれば、LSTの間はほとんどの時間を通常S4ステートに遷移させておくことができる。通常S4ステートでは、消費電力は小さいが精度の低いタイマ36が経過時間を計測し、S3ステートまたはS0ステートに遷移する前にRTC-S4ステートに遷移する。その後RTC23を利用して正確な時刻にウエイクイベントを生成してSSMウエイクアップをする。図4、図5、図7Aの手順では、待機状態のときに大部分の時間を通常S4ステートに遷移させたが、他の例では、通常S4ステートに代えてS5ステートを使用することもできる。RTC-S4ステートを経由しないSSMウエイクアップの手順本発明では、タイマ36を1回あるいは複数回校正することにより、RST-S4ステートに遷移しないでタイマ36がカウント終了信号を出力したタイミングでSSMウエイクアップをさせることもできる。図6は、SSMウエイクアップの他の例を示す状態遷移図である。図7Bは図6に対応する。図6が図4と異なる点は、ノード6からノード13へのパスで示すように、通常S4ステートからS0ステートを経由してS3ステートに遷移したり、ノード6からノード15のパスで示すように、通常S4ステートからS0ステートに遷移したりする点である。この方法では、タイマ36の精度が低いとLST終了時刻t1と実際にウエイクアップする時刻の差が大きくなるので、LSTの間に通常S4ステートとRTC-S4ステートの間の遷移を1回ないし数回繰り返して校正と新しいカウント設定値の設定を繰り返すことが望ましい。図7Bでは、時刻t3、t4でRTC-S4ステートに遷移して、DC/DCコンバータ73が動作してRTC機能ブロック26、クロック機能ブロック28およびEC31に電力を供給する。EC31は、RTC-S4ステートに遷移するたびに、システムクロックでタイマ36を校正し、新たなカウント設定値を設定してから通常S4ステートに遷移する。その結果、タイマ36の精度が向上してほぼLST終了時刻t1に近い時刻t4、t5でSSMウエイクアップをすることができる。これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。