(57)【要約】【課題】応答性がよく、きめ細かな電力制御が可能な電力管理方法及び計算機を提供するようにする。【解決手段】実行する機能とその機能に対応するハードウェアの情報を管理する対応情報管理手段と、前記対応情報管理手段により管理された情報に基づいて、所定のハードウェアの電力を管理する電力管理手段とを備えるようにする。また、前記機能の起動または停止を前記電力管理手段に要求する機能要求手段を備えるとともに、前記電力管理手段は、前記機能要求手段による要求に基づいて電力を管理するようにする。【選択図】　　　　図１
2004030100.tif 000002
【特許請求の範囲】
【請求項１】
実行する機能とその機能に対応するハードウェアの情報を管理し、
前記管理された情報に基づいて、所定のハードウェアの電力を管理する
ことを特徴とする電力管理方法。
【請求項２】
実行する機能とその機能に対応するハードウェアの情報を管理する対応情報管理手段と、
前記対応情報管理手段により管理された情報に基づいて、所定のハードウェアの電力を管理する電力管理手段
とを備えたことを特徴とする計算機。
【請求項３】
前記機能の起動または停止を前記電力管理手段に要求する機能要求手段を備えるとともに、
前記電力管理手段は、前記機能要求手段による要求に基づいて電力を管理すること
を特徴とする請求項２記載の計算機。
【請求項４】
前記電力管理手段は、所定のハードウェアの動作開始時期を制御する
ことを特徴とする請求項２記載の計算機。
【請求項５】
前記ハードウェアは揮発性記憶手段を備えるとともに、
前記ハードウェアとバスを介して接続され、バスマスタ機能と不揮発性記憶手段とを有し、前記ハードウェアに対応する揮発性記憶手段に記憶された情報を、前記バスマスタ機能を用いて前記バスを介して前記不揮発性記憶手段に記憶する揮発性情報記憶手段
を備えることを特徴とする請求項２記載の計算機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、主に複数のアプリケーションを実行する、ＬＳＩを含む計算機において問題となる消費電力を低減する技術に関するものである。
【０００２】
【従来の技術】
図６は、例えば携帯端末等で用いられる従来の電力管理方法を用いた計算機の構成を示す説明図である。図６において、１００はＣＰＵ、１０１はＳＲＡＭ、１０２はフラッシュメモリ、１０３は周辺ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ　Ｐｒｏｐｅｒｔｙ；回路もしくはＬＳＩのロジックブロック）、１０４は電源制御回路、１０５はクロック制御回路、１０６は全体のクロック及び電源を制御する電力管理ＩＰ、１０６１は電力管理ＩＰ１０６内の電力管理レジスタ、２００は電力を管理するオペレーティングシステム（以下ＯＳと呼ぶ）、２０１はＯＳ２００からの通知に基づいて電力管理ＩＰ１０６に指示する電力管理ドライバ、２０１１は電力管理ドライバ２０１内のハードウェア制御手段である。ここで、ＣＰＵ１００、ＳＲＡＭ１０１、フラッシュメモリ１０２、周辺ＩＰ１０３、電源制御回路１０４、クロック制御回路１０５、電力管理ＩＰ１０６、電力管理レジスタ１０６１はハードウェア層に含まれ、ＯＳ２００、電力管理ドライバ２０１、ハードウェア制御手段２０１１はドライバ層に含まれる。
【０００３】
次に動作について説明する。ＯＳ２００は、実行タスクを管理しており、実行すべきタスクが存在しなくなったとき、システム的にアイドル状態であることを検知し、電力管理ドライバ２０１に対して低電力モードへの移行処理を要求する。電力管理ドライバ２０１内のハードウェア制御手段２０１１は、低電力モードへ移行するための処理として、ＳＲＡＭ１０１等の揮発性メモリデータと各周辺ＩＰ１０３のレジスタ情報を、ソフトウェア処理を用いてフラッシュメモリ１０２等の不揮発性メモリへバックアップし、電力管理ＩＰ１０６に対しクロック停止、電源降下を要求する。電力管理ＩＰ１０６は、ハードウェア制御手段２０１１からの要求に基づいて電力管理レジスタ１０６１を変更し、変更後のレジスタ値に基づいて、電力制御回路１０４、クロック制御回路１０５に対して、電源制御信号、クロック制御信号をそれぞれ出力する。電源制御回路１０４及びクロック制御回路１０５は、電力管理ＩＰ１０６からの制御信号に基づいて内部電源及び内部クロックを低電力モードに変更する。低電力モードへの移行作業中は、システムが不安定になるため、ＯＳ２００は低電力モードへの移行作業を高い優先度で処理し、この間に別タスク起動が発生しても、処理されない。
【０００４】
低電力モードに移行完了後に割込みが発生した時、電力管理ＩＰ１０６がこれを検知し、電源制御回路１０４やクロック制御回路１０５を介して電源、クロックを復帰する。またさらに、ＯＳ２００が復帰処理を電力管理ドライバ２０１へ要求し、電力管理ドライバ２０１内のハードウェア制御手段２０１１が、フラッシュメモリ１０２等の不揮発性メモリ内のバックアップデータを、ＳＲＡＭ１０１等の揮発性メモリや各周辺ＩＰ１０３のレジスタへ戻し、システムを通常状態に復帰する。
【０００５】
【発明が解決しようとする課題】
以上のような従来の電力管理方法を用いた計算機では、システムがアイドル状態にならなければ低電力モードへ移行しないため、きめ細かな電力制御ができないという問題があった。
【０００６】
また、バックアップ処理、電源・クロック制御をドライバがソフトウェア処理を用いて実施するため、モード移行処理に時間がかかり、低電力モード中の割込に対し応答性能が悪いという問題があった。
【０００７】
この発明は上記のような問題点を解決するためになされたもので、応答性がよく、きめ細かな電力制御が可能な電力管理方法及び計算機を提供することを目的とする。
【０００８】
【課題を解決するための手段】
この発明に係る電力管理方法は、実行する機能とその機能に対応するハードウェアの情報を管理し、前記管理された情報に基づいて、所定のハードウェアの電力を管理するものである。
【０００９】
この発明に係る計算機は、実行する機能とその機能に対応するハードウェアの情報を管理する対応情報管理手段と、前記対応情報管理手段により管理された情報に基づいて、所定のハードウェアの電力を管理する電力管理手段とを備えるものである。
【００１０】
また、前記機能の起動または停止を前記電力管理手段に要求する機能要求手段を備えるとともに、前記電力管理手段は、前記機能要求手段による要求に基づいて電力を管理するものである。
【００１１】
また、前記電力管理手段は、所定のハードウェアの動作開始時期を制御するものである。
【００１２】
また、前記ハードウェアは揮発性記憶手段を備えるとともに、前記ハードウェアとバスを介して接続され、バスマスタ機能と不揮発性記憶手段とを有し、前記ハードウェアに対応する揮発性記憶手段に記憶された情報を、前記バスマスタ機能を用いて前記バスを介して前記不揮発性記憶手段に記憶する揮発性情報記憶手段を備えるものである。
【００１３】
【発明の実施の形態】
実施の形態１．
図１は、本実施の形態１における電力管理方法を用いた計算機の構成を示す説明図である。図１において、１０はＣＰＵ、１１はＳＲＡＭ、１２はフラッシュメモリ、１３は周辺ＩＰ、１４は電源制御回路、１５はクロック制御回路、１６は電力管理ＩＰ、２０はオペレーティングシステム、２１は電力管理ドライバ、３０（３０ａ、３０ｂ）はアプリケーションのメインタスクである。また、周辺ＩＰ１３はシリアルＩ／Ｆ１３１と通信Ｉ／Ｆ１３２とＬＣＤコントローラ１３３とを備え、電力管理ＩＰは電力管理レジスタ１６１を備え、電力管理ドライバ２１は要求管理手段２１１とハードウェア制御手段２１２と機能−ハードウェア対応情報２１３とを備え、メインタスク３０は複数のタスク３０１ａ〜３０１ｄ（通信処理、処理優先度設定、ＬＣＤ表示、キー入力処理等）から構成される。図１の計算機は、物理的な回路やＬＳＩ論理ロジックで構成されるハードウェア層、これをアプリケーションとは独立し集中制御するソフトウェアであるドライバ層、そしてユーザにサービスを提供するソフトウェアであるアプリケーション層から構成される。
なお、機能−ハードウェア対応情報２１３が対応情報管理手段に相当し、電力管理ドライバ２１、電力管理ＩＰ１６、電源制御回路１４、クロック制御回路１５が電力管理手段に相当し、タスク３０１が機能要求手段に相当する。
【００１４】
ハードウェア層において、電力管理ＩＰ１６は、クロック制御回路１５を制御するクロック制御信号を備えており、ＣＰＵ１０、ＳＲＡＭ１１、各種周辺ＩＰ１３へのクロックの周波数切替、停止を通知することができる。電力管理ＩＰ１６はさらに、電源制御回路１４を制御する電源制御信号も備えており、ＣＰＵ１０、ＳＲＡＭ１１、フラッシュメモリ１２、周辺ＩＰ１３の電源電圧切替、電源断を通知することができる。これらの制御は、ＣＰＵ１０から電力管理ＩＰ１６の電力管理レジスタ１６１をアクセスすることで実施される。
【００１５】
ドライバ層において、ＯＳ２０は、実行要求のあるタスク３０１の起動や、割込み等によるタスク３０１の中断、他タスク３０１への切替を管理する。電力管理ドライバ２１は、アプリケーションおよびＯＳ２０から呼び出され、要求機能を復帰、停止するためのデータバックアップや、電力管理ＩＰ１６の制御を行う。
【００１６】
アプリケーション層において、各メインタスク３０ａ、３０ｂは、１つ、もしくは複数のプログラム単位、すなわちタスク３０１から構成され、用途によって、キー入力の処理（３０１ｄ）、ディスプレイ表示（３０１ｃ）、優先度処理（３０１ｂ）、通信処理（３０１ａ）といった機能を用いて、各種サービスを実現している。
【００１７】
次に、動作について説明する。外部割込みや、他タスクにより、あるアプリケーションを実行する要求がなされると、ＯＳ２０は要求されたアプリケーションのメインタスク３０ａを起動する。ここでこのアプリケーション実行上必ず必要となる機能を起動するために、電力管理ドライバ２１へ起動を要求する。機能とは、ネットワークや無線等の通信機能（３０１ａ）、優先度処理機能（３０１ｂ）、ディスプレイ等の表示機能（３０１ｃ）、キーボード等の入力機能（３０１ｄ）などを指す。例えば、あるアプリケーションを実行するにあたり、絶えずディスプレイに表示することが判っていれば、ＬＣＤ表示の起動を要求する。また、ある条件によってのみ使われるような限定される機能はここでは要求せず、機能使用が確定した時点で起動要求する。例えば、ある画像処理を行った後で、ネットワークを介して通信を行う場合、初期段階では通信機能を使用しないため、通信機能を使用する段階で通信処理の起動要求を行う。
【００１８】
電力管理ドライバ２１では、要求管理手段２１１がメインタスク３０ａからの起動要求を受け、この要求管理手段２１１からの情報に基づいてハードウェア制御手段２１２が機能実行に必要なハードウェアの判定を行う。各機能は複数のハードウェアの動作によって成り立つ。ハードウェア制御手段２１２は、機能−ハードウェア対応情報２１３を管理し、これを参照して起動すべきハードウェアを判定し、電力管理ＩＰ１６へ電源の起動、クロックの起動、レジスタ情報の復元等を実行する。
【００１９】
図２は、実施の形態１における機能−ハードウェア対応情報２１３の構成例を示す説明図である。例えば、メインタスク３０ａからのＬＣＤ表示の起動要求を要求管理手段２１１が受けた場合、この要求管理手段２１１からの情報に基づいて、ハードウェア制御手段２１２が機能実行に必要なハードウェアの判定を行う。ハードウェア制御手段２１２は、機能−ハードウェア対応情報２１３を参照し、ＬＣＤ表示機能の場合、起動すべきハードウェアがＬＣＤコントローラ１３３、フラッシュメモリ１２、処理のためのＣＰＵ１０であることを判定する。これにより、ハードウェア制御手段２１２は、周辺ＩＰ電源ＯＮ、ＬＣＤコントローラクロックＯＮ、レジスタ復元、フラッシュメモリ電源Ｕｐ、ＣＰＵ性能２０ｐｏｉｎｔＵｐを指示する信号を電力管理ＩＰ１６に通知する。なお、図２の例では、ＣＰＵなどは起動、停止だけでなく多段階に処理性能を制御できるよう、ＣＰＵの必要処理性能を１ＰｏｉｎｔＵｐ、１０ＰｏｉｎｔＤｏｗｎ等段階分けにして機能−ハードウェア対応情報２１３に付加している。
【００２０】
また、アプリケーション実行中に、今後使うことのなくなった機能、使う頻度の少ない機能に対して、メインタスク３０ａは電力管理ドライバ２１に停止要求を行う。電力管理ドライバ２１の要求管理手段２１１が要求を受け、この要求管理手段２１１からの情報に基づき、また機能−ハードウェア対応情報２１３を参照して、ハードウェア制御手段２１２が停止するハードウェアを特定する。このとき、他の起動中の機能に対応するハードウェアと停止対象のハードウェアが重複する場合は停止しない。ＣＰＵ１０の処理性能は、停止対象の機能に対する必要性能分だけを減ずる。そして、ハードウェア制御手段２１２は、停止すると判定したハードウェアを停止するよう電力管理ＩＰ１６に指示する。
【００２１】
例えば、タスク３０１ａ（通信処理）とタスク３０１ｃ（ＬＣＤ表示）の実行後に、タスク３０１ａで使用した通信機能を今後使うことがなくなった場合、メインタスク３０ａは電力管理ドライバ２１に通信機能の停止要求を行う。電力管理ドライバ２１の要求管理手段２１１が停止要求を受け、この要求管理手段２１１からの情報に基づき、また機能−ハードウェア対応情報２１３を参照して、ハードウェア制御手段２１２が、通信機能を停止するハードウェアが通信Ｉ／Ｆ１３２、フラッシュメモリ１２、ＳＲＡＭ１１、ＣＰＵ１０であることを判定する。ただし、ＬＣＤ表示は今後も実行されることから、ＬＣＤ表示でも使用しているフラッシュメモリ１２とＣＰＵ１０は停止しない。したがって、ハードウェア制御手段２１２は、通信Ｉ／Ｆ１３２とＳＲＡＭ１１を停止すべく、通信Ｉ／ＦクロックＯＦＦ、周辺ＩＰ電源ＯＦＦ、ＳＲＡＭ電源Ｄｏｗｎを指示する信号を電力管理ＩＰ１６に通知する。また、ハードウェア制御手段２１２は、ＣＰＵ１０は停止しないが、通信機能の停止分だけ処理性能を減ずる指示（ＣＰＵ性能１０ＰｏｉｎｔＤｏｗｎ）を電力管理ＩＰ１６に通知する。さらに、停止する通信Ｉ／Ｆ１３２は揮発性メモリに情報を持っていることから、ハードウェア制御手段２１２は、ハードウェア層の内部バスを介して、ソフトウェアで通信Ｉ／Ｆ１３２の揮発性メモリのレジスタ情報等について不揮発性メモリであるフラッシュメモリ１２へのバックアップを行う。
【００２２】
そして、ハードウェア層において、電力管理ＩＰ１６は、ハードウェア制御手段２１２からの指示信号に基づいて電力管理レジスタ１６１を変更し、変更後のレジスタ値に基づいて、電源制御回路１４、クロック制御回路１５に対して、電源制御信号、クロック制御信号をそれぞれ出力する。電源制御回路１４、クロック制御回路１５は、通知された制御信号に基づいて、ＳＲＡＭ１１や周辺ＩＰ１３の電源やクロックを変更する。
【００２３】
例えば、電力管理ＩＰ１６は、ハードウェア制御手段２１２からの、通信Ｉ／ＦクロックＯＦＦ、周辺ＩＰ電源ＯＦＦ、ＳＲＡＭ電源Ｄｏｗｎ、ＣＰＵ性能１０ＰｏｉｎｔＤｏｗｎという指示信号に基づいて電力管理レジスタ１６１を変更する。電力管理ＩＰ１６は、変更後のレジスタ値に基づき、周辺ＩＰ電源ＯＦＦ、ＳＲＡＭ電源Ｄｏｗｎという電源制御信号を、電源制御回路１４に対して出力する。また、同様に通信Ｉ／ＦクロックＯＦＦというクロック制御信号を、クロック制御回路１５に対して出力する。また、ＣＰＵ性能２０ＰｏｉｎｔＤｏｗｎに対応する電源制御信号及びクロック制御信号を、電源制御回路１４及びクロック制御回路１５に対して出力する。これらの制御信号を受けた電源制御回路１４及びクロック制御回路１５は、通信Ｉ／ＦクロックＯＦＦ、周辺ＩＰ電源ＯＦＦ、ＳＲＡＭ電源Ｄｏｗｎ、ＣＰＵ性能１０ＰｏｉｎｔＤｏｗｎを行う。
【００２４】
また、割込みや他の高優先度タスク起動要求によって、ＯＳ２０が現アプリケーションを強制終了し別タスクに切り替える場合、ＯＳ２０はタスクの切り替え指示を電力管理ドライバ２１へ通知する。電力管理ドライバ２１は現アプリケーションで起動された機能を停止する。
【００２５】
例えば、割込みや他の高優先度タスク起動要求によって、ＯＳ２０が現アプリケーションのメインタスク３０ａを別のメインタスク３０ｂに切り替える場合、ＯＳ２０はタスクの切り替え指示を電力管理ドライバ２１へ通知する。そして、電力管理ドライバ２１は、ハードウェア層の内部バスを介して、ソフトウェアで周辺ＩＰ１３の揮発性メモリのレジスタ情報等について不揮発性メモリであるフラッシュメモリ１２へのバックアップを行うとともに、上述のように電力管理ＩＰ１６を介してメインタスク３０ａに対応する起動中のハードウェアを停止する。
【００２６】
以上説明したように、本実施の形態１における計算機では、アプリケーション実行上必要となる機能と、その機能実行に必要なハードウェアとを判定し、各ハードウェア毎に電力管理を行うことにより、必要なときに必要なハードウェアだけ活性化するきめ細かな電力管理を行うことができ、システムの消費電力を低減することができる。
また、アプリケーション実行上必要となる機能と、その機能実行に必要なハードウェアとの判定を、ドライバ層の電力管理ドライバが機能とハードウェアとの対応情報を用いて行うことにより、アプリケーション層にハードウェアを見せることなく、個別ハードウェアに対応した電力管理を行うことができる。
【００２７】
なお、本実施の形態１では、タスクが機能の起動、停止を要求する場合について説明したが、どの機能を起動、停止するかが分かればよく、例えば機能の実行スケジュールが決まっていれば、そのスケジュールに従って機能を起動、停止してもよく、これに限られない。
【００２８】
また、本実施の形態１では、メインタスク３０ａにおける機能の起動、停止をプログラム作成のときに人手で追加することを想定しているが、コンパイラ等によって自動追加とすることもできる。この場合は、プログラム内の各機能の呼び出し箇所をコンパイラが認識し、呼び出された機能に応じて起動、停止の要求をコンパイラが自動追加する。例えばメインタスク３０ａをコンパイルした時、コンパイラはプログラムに書かれた各機能３０１ａ〜ｃの呼び出しを認識し、認識した機能の起動、停止を追加する。
【００２９】
実施の形態２．
上記実施形態１では、ハードウェアの電源停止の指示があればそのまま停止処理を開始する場合について説明したが、本実施の形態２では、ハードウェアの電源停止の際にタイマ機能を用いる場合について説明する。
【００３０】
ハードウェアの停止において、電源停止を伴う場合は、不揮発性メモリのバックアップが必要な場合もあり、処理に時間を要することがある。また、一度降下した電源電圧を上昇させ、安定するまでの時間待ちがあり、停止から直ちに復帰することは難しい。このため、一度ハードウェアの停止処理を開始すると、停止処理開始直後の起動要求に対して安定した電源を供給するまでに、大幅な時間ロスが発生してしまう。
【００３１】
そこで本実施の形態２では、電力管理ドライバ２１がタイマ機能を備える場合について説明する。
図３は、本実施の形態２における電力管理方法を用いた計算機の構成を示す説明図である。図３において、２１４は停止処理開始タイマである。その他同じ符号を付したものは図１と同様のため、説明は省略する。
図４は、本実施の形態２における機能−ハードウェア対応情報２１３の構成例を示す説明図である。図４では、図２の構成に起動ハードウェア情報として停止処理開始時間を追加している。
【００３２】
次に図３、図４を用いて、停止処理開始タイマ２１４を備えた電力管理ドライバ２１の動作について説明する。アプリケーション実行中に、今後使うことのなくなった機能、使う頻度の少ない機能に対して、メインタスク３０ａが電力管理ドライバ２１に停止要求を行う場合について説明する。電力管理ドライバ２１の要求管理手段２１１が要求を受け、この要求管理手段２１１からの情報に基づき、また機能−ハードウェア対応情報２１３を参照して、ハードウェア制御手段２１２が停止するハードウェアとその停止処理開始時間を特定する。このとき、他の起動中の機能に対応するハードウェアと停止対象のハードウェアが重複する場合は停止しない。ＣＰＵ１０の処理性能は、停止対象の機能に対する必要性能分だけを減ずる。そして、ハードウェア制御手段２１２は、停止すると判定したハードウェアについては、停止処理開始タイマ２１４を用いて、そのハードウェアに対応する停止処理開始時間分だけ遅らせてから停止処理の電力管理ＩＰに指示する。これにより、タスクの切替等で、前タスクで停止要求した機能を、次タスクで再起動する場合、この停止処理開始時間の範囲内に再起動が要求されるため、停止処理はキャンセルされ、停止、復帰の時間ロスを防ぐことができる。
【００３３】
例えば、タスク３０１ａ（通信処理）とタスク３０１ｃ（ＬＣＤ表示）の実行後に、タスク３０１ａで使用した通信機能を今後使うことがなくなった場合、メインタスク３０ａは電力管理ドライバ２１に通信機能の停止要求を行う。電力管理ドライバ２１の要求管理手段２１１が停止要求を受け、この要求管理手段２１１からの情報に基づき、また機能−ハードウェア対応情報２１３を参照して、ハードウェア制御手段２１２が、通信機能を停止するハードウェアが通信Ｉ／Ｆ１３２、フラッシュメモリ１２、ＳＲＡＭ１１、ＣＰＵ１０であり、それぞれの停止処理開始時間が１０ｍｓｅｃ、１０ｍｓｅｃ、５ｍｓｅｃ、０ｍｓｅｃであることを判定する。ただし、ＬＣＤ表示は今後も実行されることから、ＬＣＤ表示でも使用しているフラッシュメモリ１２とＣＰＵ１０は停止しない。したがって、ハードウェア制御手段２１２は、停止処理開始タイマ２１４を用い、通信Ｉ／Ｆ１３２を停止すべく、通信Ｉ／ＦクロックＯＦＦ、周辺ＩＰ電源ＯＦＦを指示する信号を１０ｍｓｅｃ遅らせて電力管理ＩＰ１６に通知する。同様にハードウェア制御手段２１２は、停止処理開始タイマ２１４を用い、ＳＲＡＭ１１を停止すべく、ＳＲＡＭ電源Ｄｏｗｎを指示する信号を５ｍｓｅｃ遅らせて電力管理ＩＰ１６に通知する。また、ハードウェア制御手段２１２は、ＣＰＵ１０は停止しないが、通信機能の停止分だけ処理性能を減ずる指示（ＣＰＵ性能１０ＰｏｉｎｔＤｏｗｎ）を電力管理ＩＰ１６に通知する。さらに、ハードウェア制御手段２１２は、停止処理開始タイマ２１４を用いて処理開始時間を１０ｍｓｅｃ遅らせて電力管理ＩＰ１６に通知する際、ハードウェア層の内部バスを介して、ソフトウェアで通信Ｉ／Ｆ１３２の揮発性メモリのレジスタ情報等について不揮発性メモリであるフラッシュメモリ１２へのバックアップを行う。
【００３４】
これにより、メインタスク３０ａにおける通信機能の停止要求が行われた直後、割込み等によりタスク３０ａが切り換えられ、再び電力管理ドライバ２１に通信機能の起動要求が行われた場合、電力管理ドライバ２１の要求管理手段２１１が起動要求を受け、この要求管理手段２１１からの情報に基づき、また機能−ハードウェア対応情報２１３を参照して、ハードウェア制御手段２１２が、通信機能を起動するハードウェアが通信Ｉ／Ｆ１３２、フラッシュメモリ１２、ＳＲＡＭ１１、ＣＰＵ１０であり、さらに先の停止要求により停止処理開始タイマ２１４の時間待ち中であることを認識する。そこでハードウェア制御手段２１２は停止処理開始タイマ２１４を停止し、停止要求処理を中断する。
その他の動作については上記実施の形態１と同様のため、説明は省略する。
【００３５】
以上説明したように、本実施の形態２における計算機では、バックアップの必要なハードウェアに対して、停止処理開始タイマを用いて、停止要求から一定時間待機した後、停止処理を行うことにより、停止から再開の期間が短い場合に停止処理をキャンセルすることができ、タスク切替での性能劣化を防ぐことができる。
【００３６】
実施の形態３．
上記実施形態１では、電力管理ドライバ２１がソフトウェアで周辺ＩＰ１３の揮発性メモリのレジスタ情報等について不揮発性メモリであるフラッシュメモリ１２へのバックアップを行う場合について説明したが、本実施の形態３では、ハードウェアで周辺ＩＰ１３の揮発性メモリの情報をバックアップする場合について説明する。
【００３７】
図５は、本実施の形態３における電力管理方法を用いた計算機のハードウェア層の構成を示す説明図である。図３において、１３４はシリアルＩ／Ｆ１３１の内部レジスタ、１３５は通信Ｉ／Ｆ１３２の内部レジスタ、１３６はＬＣＤコントローラ１３３の内部レジスタ、１６２は電力管理ＩＰ１６内のバスマスタＩ／Ｆ、１６３は電力管理ＩＰ１６内の不揮発性メモリであるバックアップレジスタバッファである。その他同じ符号を付したものは図１と同様であり、図５では図示しないアプリケーション層及びドライバ層も図１と同様のため、説明は省略する。
なお、電力管理ＩＰ１６が揮発性情報記憶手段に相当する。
【００３８】
図５を用いて、バスマスタＩ／Ｆ１６２及びバックアップレジスタバッファ１６３を備えた電力管理ＩＰ１６の動作について説明する。電力管理ＩＰ１６は、ハードウェア制御手段２１２からバックアップの必要なハードウェアの停止指示を受けると、この指示信号に基づいて電力管理レジスタ１６１を変更する。電力管理ＩＰ１６は、変更後のレジスタ値に基づき、バスマスタＩ／Ｆ１６２を用いて、周辺ＩＰ１３の揮発性メモリのレジスタ情報等について不揮発性メモリであるバックアップレジスタバッファ１６３へのバックアップを行う。そして、電力管理ＩＰ１６は、このバックアップ動作の後、停止指示を受けた周辺ＩＰ１３の電源を停止する。
【００３９】
例えば、電力管理ＩＰ１６は、ハードウェア制御手段２１２からバックアップの必要な通信Ｉ／Ｆ１３２の停止指示を受けると、この指示信号に基づいて電力管理レジスタ１６１を変更する。電力管理ＩＰ１６は、変更後のレジスタ値に基づき、バスマスタＩ／Ｆ１６２を用いて、通信Ｉ／Ｆ１３２の揮発性メモリのレジスタ情報等について不揮発性メモリであるバックアップレジスタバッファ１６３へのバックアップを行う。そして、電力管理ＩＰ１６は、このバックアップ動作の後、通信Ｉ／Ｆ１３２電源ＯＦＦという電源制御信号を電源制御回路１４に対して出力し、この制御信号を受けた電源制御回路１４が通信Ｉ／Ｆ１３２の電源ＯＦＦを行う。
なお、起動はこの逆の動作を行い、電源起動、レジスタ復元を電力管理ＩＰ１６が行う。
【００４０】
以上説明したように、本実施の形態３では、ハードウェア停止前のバックアップ処理の際、ハードウェア層の電力管理ＩＰがバスマスタ機能を用いて、電力管理ＩＰ内のバックアップメモリに対して、ハードウェアでバックアップ処理を行うことにより、ソフトウェアが介在しないため、停止状態から再開する際の処理時間短縮化を図れると同時に、ＣＰＵの負荷上昇を防ぐことができる。
【００４１】
なお、本実施の形態３では、通信Ｉ／Ｆ１３２のバックアップ及び電源ＯＦＦについて説明したが、シリアルＩ／Ｆ１３１やＬＣＤコントローラ１３３の電源ＯＦＦやクロックＯＦＦについても同様である。
【００４２】
【発明の効果】
以上のように、実行する機能とその機能に対応するハードウェアの情報を管理する対応情報管理手段と、前記対応情報管理手段により管理された情報に基づいて、所定のハードウェアの電力を管理する電力管理手段とを備えることにより、必要なときに必要なハードウェアだけ活性化するきめ細かな電力管理を行うことができ、消費電力を低減することができるという効果がある。
【００４３】
また、前記機能の起動または停止を前記電力管理手段に要求する機能要求手段を備えるとともに、前記電力管理手段は、前記機能要求手段による要求に基づいて電力を管理することにより、アプリケーション層にハードウェアを見せることなく、個別ハードウェアに対応した電力管理を行うことができるという効果がある。
【００４４】
また、前記電力管理手段は、所定のハードウェアの動作開始時期を制御することにより、停止から再開の期間が短い場合に停止処理をキャンセルすることができ、タスク切替での性能劣化を防ぐことができるという効果がある。
【００４５】
また、前記ハードウェアは揮発性記憶手段を備えるとともに、前記ハードウェアとバスを介して接続され、バスマスタ機能と不揮発性記憶手段とを有し、前記ハードウェアに対応する揮発性記憶手段に記憶された情報を、前記バスマスタ機能を用いて前記バスを介して前記不揮発性記憶手段に記憶する揮発性情報記憶手段を備えることにより、ソフトウェアが介在しないため、停止状態から再開する際の処理時間短縮化を図れると同時に、ＣＰＵの負荷上昇を防ぐことができるという効果がある。
【図面の簡単な説明】
【図１】実施の形態１における電力管理方法を用いた計算機の構成を示す説明図
【図２】実施の形態１における機能−ハードウェア対応情報２１３の構成例を示す説明図
【図３】実施の形態２における電力管理方法を用いた計算機の構成を示す説明図
【図４】実施の形態２における機能−ハードウェア対応情報２１３の構成例を示す説明図
【図５】実施の形態３における電力管理方法を用いた計算機のハードウェア層の構成を示す説明図
【図６】従来の電力管理方法を用いた計算機の構成を示す説明図
【符号の説明】
１０　ＣＰＵ
１１　ＳＲＡＭ
１２　フラッシュメモリ
１３　周辺ＩＰ
１４　電源制御回路
１５　クロック制御回路
１６　電力管理ＩＰ
２０　オペレーティングシステム
２１　電力管理ドライバ
３０ａ、３０ｂ　メインタスク
１３１　シリアルＩ／Ｆ
１３２　通信Ｉ／Ｆ
１３３　ＬＣＤコントローラ
１３４〜１３６　内部レジスタ
１６１　電力管理レジスタ
１６２　バスマスタＩ／Ｆ
１６３　バックアップレジスタバッファ
２１１　要求管理手段
２１２　ハードウェア制御手段
２１３　機能−ハードウェア対応情報
２１４　停止処理開始タイマ
３０１ａ〜３０１ｄ　タスク
【図１】
2004030100.tif 000003
【図２】
2004030100.tif 000004
【図３】
2004030100.tif 000005
【図４】
2004030100.tif 000006
【図５】
2004030100.tif 000007
【図６】
2004030100.tif 000008