(57)【特許請求の範囲】
【請求項１】
電源を用いるシステムにおいて、
電源部と、
システムで使われる装置、使用プログラム、及びあらかじめ定めた条件が成立するか否かを検出する検出手段と、
前記検出手段によって検出された情報に基づいて、あらかじめ定めた電源管理状態に対応する電圧を出力するための制御部と、を含んでおり、
前記制御部は、少なくとも１つの周辺装置または電源を管理する手段を含み、該手段は、前記検出手段により特定装置の使用、特定プログラムの使用、または特定条件の成立が検出された場合に、ＣＰＵをあらかじめ定めた電源モードであるＣ４モードで動作させるイネーブル信号を前記電源部に出力するように構成されており、前記特定装置には、スピーカーが含まれ、前記特定プログラムには、ＤＶＤプログラムが含まれ、前記特定条件には、周辺騷音及び冷却ファンの回転速度のうちのいずれか１つが指定された水準以上であることが含まれることを特徴とする電源管理装置。
【請求項２】
システムで現在使われている装置及びプログラムの検出は、バッテリーマイザにより遂行されることを特徴とする請求項１に記載の電源管理装置。
【請求項３】
前記バッテリーマイザは、装置及びプログラムを検出するフィルタードライバー及びシェル実行（Ｓｈｅｌｌ Ｅｘｅｃｕｔｅ）のフックルーチンを少なくとも１つ以上含むことを特徴とする請求項２に記載の電源管理装置。
【請求項４】
前記バッテリーマイザは、メモリー手段であるＨＤＤに保存され、システム動作時には他のメモリーにロードされて前記制御部のＣＰＵにより実行されることを特徴とする請求項２に記載の電源管理装置。
【請求項５】
前記制御部の前記少なくとも１つの周辺装置または電源を管理する手段は、サウスブリッジであることを特徴とする請求項１に記載の電源管理装置。
【請求項６】
前記サウスブリッジ内にはレジスター部が含まれており、前記検出手段により検出された結果により前記レジスター部に特定値がセットされた場合に、前記ＣＰＵをあらかじめ定めた電源モードであるＣ４モードで動作させるイネーブル信号が出力されることを特徴とする請求項５に記載の電源管理装置。
【請求項７】
前記サウスブリッジ内のレジスターの特定ビットのセットにより出力される信号によって、その信号に該当する電圧が電源部に出力されることを特徴とする請求項６に記載の電源管理装置。
【請求項８】
ＣＰＵが、装置及びプログラムを検出するフィルタードライバー及びシェル実行（Ｓｈｅｌｌ Ｅｘｅｃｕｔｅ）のフックルーチンを少なくとも１つ以上含む検出手段であるバッテリーマイザを使用して、システムで現在使われている装置及びプログラム、及び、あらかじめ定めた条件が成立するか否かを検出する段階と、
前記検出手段であるバッテリーマイザにより、特定装置の使用、特定プログラムの使用、または特定条件の成立が検出された場合に、システムの制御部の周辺装置及び電源を管理する手段に、ＣＰＵをあらかじめ定めた電源モードであるＣ４モードで動作させるイネーブル信号を出力するためのレジスター値をセットする段階と、
システムの電源部が、前記レジスター値に対応して出力される信号により制御されてその信号に該当する電圧を出力する段階と、を含み、
前記特定装置には、スピーカーが含まれ、前記特定プログラムには、ＤＶＤプログラムが含まれ、前記特定条件には、周辺騷音及び冷却ファンの回転速度のうちのいずれか１つが指定された水準以上であることが含まれることを特徴とする電源管理方法。
【請求項９】
電源管理を遂行するために利用される前記あらかじめ定めた条件は、使われるシステムの電源がバッテリー電源であるか否かを含むことを特徴とする請求項８に記載の電源管理方法。
【請求項１０】
電源管理モードを動作させるための情報を設定して登録する段階を含み、
前記検出手段であるバッテリーマイザは、前記登録された情報に基づいて、前記特定装置及び前記特定プログラムがシステムで現在使われているか否か、及び、前記特定条件が成立するか否かを検出することを特徴とする請求項８に記載の電源管理方法。
【請求項１１】
前記登録された電源管理モードを動作させるための情報は、サウンド出力の発生を含むことを特徴とする請求項１０に記載の電源管理方法。
【請求項１２】
セットされた前記レジスター値により、前記周辺装置及び電源を管理する手段であるサウスブリッジは、前記ＣＰＵをＣ４モードで動作させるイネーブル信号を前記電源部のＣＰＵコア用ＤＣ／ＤＣコンバータに印加して、前記イネーブル信号に対応する電圧が前記ＣＰＵコア用ＤＣ／ＤＣコンバータからＣＰＵに出力されることを特徴とする請求項１１に記載の電源管理方法。
【請求項１３】
前記制御部の種類に応じて、あらかじめ定めた電源管理モードであるＣ４モードに関連するレジスターを探す段階を含むことを特徴とする請求項８に記載の電源管理方法。
【請求項１４】
前記フックルーチンをＯＳに登録する段階を含むことを特徴とする請求項１３に記載の電源管理方法。
【請求項１５】
前記バッテリーマイザを使用して、システムで現在使われている装置及びプログラム、及び、あらかじめ定めた条件が成立するか否かを検出する段階は、前記特定装置の動作、前記特定プログラムの動作、及び前記特定条件の成立の少なくとも一つ以上を、前記バッテリーマイザの監視ルーチンにより監視する段階を含み、
前記監視の結果に基づいて、前記周辺装置及び電源を管理する手段に、ＣＰＵをあらかじめ定めた電源モードであるＣ４モードで動作させるイネーブル信号を出力するためのレジスター値をセットする段階は、
現在の電源モードが前記Ｃ４モードであるか否かを判断する段階と、
前記判断の結果、現在の電源モードが前記Ｃ４モードである場合には、前記Ｃ４モード状態を維持して前記監視ルーチンを繰り返す段階と、
前記判断の結果、現在の電源モードが前記Ｃ４モードではない場合には、前記Ｃ４モード状態に変更して前記監視ルーチンを繰り返す段階と、を含んでおり、さらに、
前記監視ルーチンによる検出の結果前記Ｃ４モードをイネーブルしない場合で、かつ、現在の電源モードが前記Ｃ４モードである場合には、前記Ｃ４モードをディセーブルして前記監視ルーチンを繰り返す段階と、
前記監視による検出の結果前記Ｃ４モードをイネーブルしない場合で、かつ、現在の電源モードが前記Ｃ４モードではない場合には、前記Ｃ４モードをディセーブル状態に維持して前記監視ルーチンを繰り返す段階と、
を含むことを特徴とする請求項８に記載の電源管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵの電源を制御する電源管理装置及び方法に関する。
【背景技術】
【０００２】
始めに、本明細書で言及しているプロセッサー（ＣＰＵ）のパワー状態の定義は次の通りである。
ＡＣＰＩ（Advanced Configuration and Power Interface）の基本仕様におけるＣＰＵのパワー状態（Power State）は、Ｃ０（Ｗｏｒｋｉｎｇ）、Ｃ１（Ａｕｔｏ  Ｈａｌｔ）、Ｃ２（Ｓｌｅｅｐ）、Ｃ３（Ｄｅｅｐ  Ｓｌｅｅｐ）、及びＣ４（Ｄｅｅｐｅｒ  Ｓｌｅｅｐ）に区分される。
【０００３】
Ｃ０状態は、システムの正常動作状態であり、プロセッサーが命令を遂行して動作している状態である。Ｃ０状態は、特段の省電力機能を備えていない。一方、一般に、システムで使用されるＣＰＵは、その電源の効率的使用のために次のようなモードに切り替えられながら動作する。
【０００４】
すなわち、最小レイテンシ状態であり、かつ、動作するソフトウェアがハードウェアのレイテンシに影響を受けない自動停止モード（Ｃ１、Ａｕｔｏ  Ｈａｌｔ）、Ｃ１モードに比べて改善された省電力機能を備え、一定期間の間入力される信号などがない場合に切り替えられるスリープモード（Ｃ２、Ｓｌｅｅｐ）及びディープスリープモード（Ｃ３、Ｄｅｅｐ  Ｓｌｅｅｐ）、そして、Ｃ２モード及びＣ３モードに比べて向上した省電力機能を備えたディーパースリープモード（Ｃ４、Ｄｅｅｐｅｒ  Ｓｌｅｅｐ）である。
ディーパースリープモード（Ｃ４）は、ディープスリープモード（Ｃ３）よりも一段階高いレベルの待機モードであって、Ｃ３モードに比べて低い電圧を有しており、正常動作状態に遷移する時のレイテンシが最も長いものである。
【０００５】
図１は、電源管理（ＰＭ：Power Management）機能を実施するための従来の装置を示すブロック図である。
【０００６】
ＣＰＵ１０ａの動作周波数が変更される場合、その電圧も共に変更しなければならないため、図示されるように、ＶＩＤ値（電圧識別コード）をＣＰＵコア用ＤＣ／ＤＣコントローラ１０ｂに送信し、ＣＰＵに印加される電圧を調整する。
すなわち、ＣＰＵコア用ＤＣ／ＤＣコントローラ１０ｂは、ＣＰＵ１０ａからＶＩＤ値を受信して、ＶＩＤテーブルに設定された該当する電圧をＣＰＵ１５０に出力する。
ＶＩＤテーブルは、ＤＣ／ＤＣコンバータ（１０ｂ及び１４０）のＣＰＵコア用ＤＣ／ＤＣコントローラ１０ｂに内蔵されている。
【０００７】
また、ＣＰＵがＣ４モードに遷移する場合、電圧は変わるがＶＩＤ値は変わらない。ＤＣ／ＤＣコントローラ１０ｂは、サウスブリッジ１０ｃからのディーパースリープ信号（ハイアクティブ）を受信して、あらかじめ設定された電圧をＣＰＵ１５０に印加する。
この場合、Ｃ４モードへの遷移／復帰は一定の間隔で生じるが、この時、ＤＣ／ＤＣコンバータの電源制御部１４０内のキャパシターで可聴ノイズが発生する。
【０００８】
ここで、ＶＩＤ値は、周波数に対応する電圧を出力可能にするための２進値であり、ＣＰＵが周波数を変更しようとする場合、ＤＣ／ＤＣコントローラ１０ｂにＶＩＤ値を出力し、ＤＣ／ＤＣコンバータがＣＰＵに印加する電圧を変更する。
【０００９】
図１に示すブロック図におけるＰＭ動作は次の通りである。
【００１０】
周辺装置及び電源を制御する手段であるサウスブリッジ１０ｃは、ＣＰＵ１０ａの動作周波数を検知するノースブリッジ（図示せず）と接続しており、ディーパースリープモード（Ｃ４）に対応するイネーブル信号をＣＰＵコア用ＤＣ／ＤＣコントローラ１０ｂに入力する。この時、ＣＰＵコア用ＤＣ／ＤＣコントローラ１０ｂは、周波数及びディーパースリープモード（Ｃ４）に対応する電圧を出力するように、電源制御部１４０を制御する。
【００１１】
周辺装置及び電源を制御する手段であるサウスブリッジ１０ｃは、Ｃ４モードにおいて、ＣＰＵコア用ＤＣ／ＤＣコントローラ１０ｂにハイアクティブ信号を出力する。一方、システムは、Ｃ４イネーブル信号が入力されると、ＶＩＤ値に関わらずあらかじめ設定した一定電圧（例えば０．７４８Ｖ）を出力するように動作する。
【００１２】
一般に、ＣＰＵは複数の電源管理モードで動作するが、それぞれの電源管理モードにおける動作は、動作周波数に応じて高周波数モード（ＨＦＭ：High Frequency Mode）及び低周波数モード（ＬＦＭ：Low Frequency Mode）に分けることができる。また、ＣＰＵは、それぞれの動作周波数において、既存のすべての電源管理モード（Ｃ０／Ｃ１／Ｃ２／Ｃ３／Ｃ４）での動作が可能である。
【００１３】
上記ＨＦＭにおいて、正常動作モード（Ｃ０）の電圧は、例えば、１．５０２Ｖ（ＶＩＤ＝１００１）であり、ディーパースリープモード（Ｃ４）の電圧は、例えば、０．７４８Ｖ（ＶＩＤ＝１１００）である。この場合、Ｃ４モードに遷移するためにディーパースリープ信号がハイになると、正常動作モードの１．５０２Ｖから０．７４８Ｖに電圧が大幅に変動する。
【００１４】
したがって、電圧が大きく変動するため、可聴周波数帯のリップルによって電源段の入力セラミックキャパシターに圧電現象が発生してキャパシターの積層板が振動し、この振動の結果、印刷回路基板（ＰＣＢ）が振動してノイズが発生する。Ｃ４モードはこのような理由によりユーザーにとって不便であるため、その機能はほとんど使われていない。
【００１５】
特に、ＣＰＵの製造業者（例えば、インテル社）で推薦するＣＰＵ出力段のデカップリング用セラミックコンデンサは、ディープスリープモード（Ｃ３）またはディーパースリープモード（Ｃ４）時に、上述したような原因によって振動し、ノイズが発生する。しかし、Ｃ３モードの場合は、Ｃ４モードに比べて発生するノイズが小さくユーザーが不便さを感じることがないため、一般的にサポートが可能である。
【００１６】
したがって、主要なノイズ原因であるＣＰＵコア電源段の入力キャパシターをＰＯＳＣＡＰ（キャパシターの一種）に変更して適用しているが、各電源段のすべてのキャパシター及び出力キャパシターを変更しない限り、ノイズを完全に除去することはできない。
完全なノイズ除去のためにはすべてのセラミックキャパシターを変更すれば良いものの、これによって印刷回路基板の占める空間が増大し、また、費用が増加するため、適用することができないのが実情である。
【００１７】
このような理由で、大部分のノートブックコンピュータではＣ４モードをサポートしておらず、これによってバッテリーの寿命が減少する短所がある。したがって、使用電源、特にバッテリー電源の使用を効率的に管理することができなくなる。
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明は、システムで使われる所定の機器、装置、プログラムを検出した場合またはあらかじめ定めた条件が成立する場合に、Ｃ４モードを用いることができることを目的とする。
【００１９】
また本発明は、フィルタードライバーを利用して所定の機器または装置の使用を監視し、これらの機器または装置が使用中である時には自動的にＣ４モードを使用可能（イネーブル：ｅｎａｂｌｅ）にできることを目的とする。
【００２０】
また本発明は、プログラム、例えばシェル実行（Ｓｈｅｌｌ Ｅｘｅｃｕｔｅ）のフックルーチンを利用して、一つ以上の特定のプログラムの実行または動作状態に応じてＣ４モードを使用できることを目的にする。
【００２１】
また本発明は、あらかじめ定めた条件、例えばバッテリーモード、サウンド出力の発生、周辺騷音が指定された水準以上であること、イヤホンの使用等が成立する場合にはＣ４モードを使用可能にできることを目的にする。
【００２２】
また本発明は、特定の装置またはプログラムが検出された場合、または特定の条件が成立する場合には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）制御により周辺装置及び電源を管理する手段であるサウスブリッジ内のレジスターの特定ビットがセットされて出力される信号により、その信号に該当する電圧が出力されるようにすることを目的にする。
【００２３】
また本発明は、ＣＰＵがサポートする低電力状態があるにもかかわらず、感性的あるいは外的な問題またはその他の性能的な理由によりサポートされない電源管理技術を適切に利用して、システムの消費電力及び発熱量を減少させ、システムのバッテリー使用時間を増加させることを目的にする。
【課題を解決するための手段】
【００２４】
本発明に係る電源管理装置は、電源を用いるシステムにおいて、電源部と、システムで使われる装置、使用プログラム、及び、あらかじめ定めた条件が成立するか否かを検出する検出手段と、前記検出手段によって検出された情報に基づいて、あらかじめ定めた電源管理状態に対応する電圧を出力するための制御部と、を含んでおり、前記制御部は、少なくとも１つの周辺装置または電源を管理する手段を含み、該手段は、前記検出手段により特定装置の使用、特定プログラムの使用、または特定条件の成立が検出された場合に、ＣＰＵをあらかじめ定めた電源モードであるＣ４モードで動作させるイネーブル信号を前記電源部に出力するように構成されており、前記特定装置には、スピーカーが含まれ、前記特定プログラムには、ＤＶＤプログラムが含まれ、前記特定条件には、周辺騷音及び冷却ファンの回転速度のうちのいずれか１つが指定された水準以上であることが含まれることを特徴とする。
【００２５】
また本発明に係る電源管理方法は、ＣＰＵが、装置及びプログラムを検出するフィルタードライバー及びシェル実行（Ｓｈｅｌｌ Ｅｘｅｃｕｔｅ）のフックルーチンを少なくとも１つ以上含む検出手段であるバッテリーマイザを使用して、システムで現在使われている装置及びプログラム、及び、あらかじめ定めた条件が成立するか否かを検出する段階と、
前記検出手段であるバッテリーマイザにより、特定装置の使用、特定プログラムの使用、または特定条件の成立が検出された場合に、システムの制御部の周辺装置及び電源を管理する手段に、ＣＰＵをあらかじめ定めた電源モードであるＣ４モードで動作させるイネーブル信号を出力するためのレジスター値をセットする段階と、システムの電源部が、前記レジスター値に対応して出力される信号により制御されてその信号に該当する電圧を出力する段階と、を含み、前記特定装置には、スピーカーが含まれ、前記特定プログラムには、ＤＶＤプログラムが含まれ、前記特定条件には、周辺騷音及び冷却ファンの回転速度のうちのいずれか１つが指定された水準以上であることが含まれることを特徴とする。
【発明の効果】
【００２６】
本発明によれば、システムで使われる機器、装置、プログラムを検出した場合、または、あらかじめ定めた条件を満足する場合などにＣ４モードを用いることができる。
【００２７】
また、本発明によれば、フィルタードライバープログラムを利用して、あらかじめ定めた装置または機器を使用するか否かを監視して、自動でＣ４モードを使用可能であるようにすることができる。
【００２８】
また、本発明によれば、例えばシェル実行（Ｓｈｅｌｌ  Ｅｘｅｃｕｔｅ）のフックルーチン等のプログラムを利用して、一つ以上の特定のプログラム（アプリケーション）が実行中であるか否かまたはその動作状態によってＣ４モードを用いることができる。
【００２９】
また、本発明によれば、あらかじめ定めた条件、例えばバッテリーモード、サウンド出力の発生、周辺騷音が指定された水準以上であること、イヤホンの使用等に該当する場合にＣ４モードを使用できる。
【００３０】
また、本発明によれば、特定の装置またはプログラムを検出した場合、または特定の条件などが成立する場合には、周辺装置及び電源を管理する手段であるサウスブリッジ内のレジスターの値に基づいて出力される信号により、その信号に該当する電圧が出力されるようにすることができる。
【００３１】
また、本発明によれば、ＣＰＵの消費電力を低減させ、システムの消費電力及び発熱量を低減させると共に、バッテリー使用時間を増加させることができる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明に係る電源管理装置及び方法の望ましい実施形態について、添付した図面を参照しながら詳細に説明する。
【００３３】
図２は、本実施形態において、電源管理を実施する装置を示す基本的なブロック図である。図示されるように、この電源管理装置は、印加電源であるバッテリーまたはＡＣアダプターからの直流電圧を供給する電源４１０、電源４１０から出力された電圧をそれぞれの装置及び構成に必要な電圧に変換して出力するＤＣ／ＤＣコンバータ４２０、及び、ＣＰＵが２種類以上の周波数及び電源管理モードで動作するように該当する電圧に変換して出力するＣＰＵコア用ＤＣ／ＤＣコンバータ４３０を含む電源部４００と、システムで使用されている装置及びプログラムの検出を少なくとも一つ以上遂行する検出手段を含んでいるメモリー部５１０と、この検出手段を利用して判断した情報により、あらかじめ定めた電源状態に対応する電圧が出力されるように電源部４００に特定値を出力する制御部４５０とを含んでいる。
【００３４】
例えば、ＣＰＵコア用ＤＣ／ＤＣコンバータ４３０の出力電圧は、周波数及びＣ４モードへの遷移に伴って変更される。
【００３５】
制御部４５０は、ＣＰＵ４６０と、ＣＰＵ４６０に接続されてシステムメモリーバス入出力調節機能を担う第１チップセット（ノースブリッジ、またはＭＣＨともいう）４７０と、レジスター４８０ａを含んで周辺装置及び／または電源の入出力機能を管理する第２チップセット（サウスブリッジ、またはＩＣＨともいう）４８０を含んでいる。
【００３６】
メモリー部５１０は、メモリー５２０と、電源またはバッテリー管理ルーチン（例えば、バッテリーマイザ（Ｂａｔｔｅｒｙ  Ｍｉｓｅｒ）プログラム）を含むＨＤＤ５３０と、補助メモリーであるＦＤＤ５４０等を含んでおり、バッテリーマイザプログラムには、システムで現在使われている装置及び／またはプログラムの検出をそれぞれ遂行するフィルタードライバー及び／またはＳｈｅｌｌ  Ｅｘｅｃｕｔｅのフックルーチンが含まれている。
【００３７】
また、本実施形態における電源管理装置は、ＢＩＯＳ  ＲＯＭ  ４９０、監視装置５００、コーデック５５０、アンプ５６０、スピーカー５７０、及びイヤホン５８０等を含んでいる。ＢＩＯＳ  ＲＯＭ  ４９０には、システムの起動後、システム内のハードウェア装置を認識及び設定してシステムの起動シーケンスを進行し、ＯＳを探索して動作させるプログラムが内蔵されている。監視装置５００は、周辺騷音及び／またはファン回転速度の現在値を監視／検出し、メモリーに保存されたあらかじめ定めた値と比較するものであり、コーデック５５０、アンプ５６０、スピーカー５７０、及びイヤホン５８０は、サウスブリッジ４８０に接続されてサウンドを出力するものである。
【００３８】
ここで、スピーカー５７０の使用時や、イヤホン５８０などを用いる場合には、スピーカー５７０またはイヤホン５８０は、Ｃ４モードへの遷移時に発生するノイズの影響を受けることなく使用できるため、Ｃ４モードをイネーブルにできる。
【００３９】
このように構成された本実施形態における電源管理装置において、メモリー手段であるＨＤＤ５３０に保存されたバッテリーマイザプログラムは、システム動作時に他のメモリー（例えば５２０）にロードされ、制御部４５０のＣＰＵ４６０により実行される。バッテリーマイザにより検出された現在動作中の装置及び／またはプログラムに対応して、あらかじめ定めたレジスター値がセットされると、周辺装置及び電源を制御するサウスブリッジ４８０は、ディーパースリープ信号を出力する。サウスブリッジ４８０から出力されるディーパースリープ信号はＣＰＵコア用ＤＣ／ＤＣコンバータ４３０に入力され、ＣＰＵコア用ＤＣ／ＤＣコンバータ４３０は、Ｃ４モードに適合する電圧を出力するように制御される。
【００４０】
バッテリーマイザプログラムに含まれるソフトウェア（Ｓ／Ｗ）ドライバー（フィルタードライバー／Ｓｈｅｌｌ  Ｅｘｅｃｕｔｅのフックルーチン）は、現在システムで使われている装置（デバイス）／プログラム（アプリケーション）を監視して、システム内のサウスブリッジ４８０のレジスター値をセットすることによって、ＣＰＵ４６０をＣ４モードで動作させる。また、Ｓ／Ｗドライバーは、使用されているプログラムの終了時に、ＣＰＵ４６０をＣ４モードから復帰させる。
【００４１】
図３は、バッテリーマイザによるシステムの電源管理（ＰＭ）機能の設定及び管理を示した図である。
【００４２】
図示されるように、ＣＰＵ項目にＣ４をイネーブルできる選択可能なメニュー項目を挿入することによって、特定の装置、プログラム、及び／または条件に対して最大節電（Ｃ４）モードを動作させるようにＰＭ機能を設定できる。
【００４３】
バッテリーマイザによる電源管理の実施手順は、次の通りである。
【００４４】
１．サウスブリッジチップセットの種類に応じてＣ４モードの使用に関連するレジスターを探す。例えば、該当するレジスターが、「Ｇｅｎｅｒａｌ  Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  １」レジスター等のように、Ｃ４モードをイネーブルする特定のビットがセット可能なレジスターなのか否かを把握する。
【００４５】
２．実行されるプログラムを監視するフックルーチンを登録する。
【００４６】
３．フィルタードライバーを特定のデバイス（例：サウンドデバイス）にインストールする。
【００４７】
４．フィルタードライバーまたはフックルーチンから検出メッセージが入力されたならば、ＣＰＵのＣ４モードを使用可能（イネーブル）あるいは使用不能（ディセーブル：ｄｉｓａｂｌｅ）にする。
【００４８】
また、特定のプログラムに対してＰＭ機能を実施する場合には、連結プログラムを選択して該当するプログラムを設定するかまたは追加の対象プログラムを登録する。
【００４９】
図４は、図２のＨＤＤ５３０に保存されているＳｈｅｌｌ  Ｅｘｅｃｕｔｅのフックプログラムにより、現在動作しているアプリケーションを検出することを示した図である。
【００５０】
図の例では、Ｓｈｅｌｌ  Ｅｘｅｃｕｔｅのフックルーチンにより、ＰＭ機能が実施される「ＤＶＤ−プログラム」をフックすることを示している。
【００５１】
本実施形態における電源管理装置において、フィルタードライバーが現在実行中のデバイスリストからＰＭ機能を実施するデバイスを認識し、ＰＭ機能を設定する過程を詳細に説明すると次の通りである。
【００５２】
ここで、フィルタードライバーがＰＭ機能を実施するデバイスを認識できるようにする関数は次のようなものである。
ＢＯＯＬ  Ｓｅｔ  Ｄｅｖｉｃｅ  ｆｏｒ  ＰＭ（）；
Ｒｅｔｕｒｎ  Ｖａｌｕｅ
Ｎｏｎｚｅｒｏ  ｉｆ  ｔｈｅ  ｄｅｖｉｃｅ  ｉｓ  ｓｕｃｃｅｓｓｆｕｌ；ｏｔｈｅｒｗｉｓｅ  ０．
【００５３】
この関数は、現在実行中のデバイスがＰＭ機能を実施する場合に実行される関数である。したがって、フィルタードライバーは、この関数をフックすることにより現在実行中のデバイスを知ることができる。
【００５４】
一般に、特定の装置は特定のプログラムにより動作するものであるため、装置またはプログラムの一方だけを検出することによりＰＭ機能を実施することができる。しかし、本実施形態における電源管理装置は、フィルタードライバーによる特定装置の動作の検出と、Ｓｈｅｌｌ  Ｅｘｅｃｕｔｅのフックルーチンによる特定プログラムの動作のフックとをそれぞれ遂行するものであり、その理由は、プログラムのみの監視には次のような短所があり得るからである。
【００５５】
１）ある装置は複数のプログラムにより動作する場合もあり、その場合にはそれぞれのプログラムを登録しておかなければならない。
【００５６】
２）特定の装置を用いる新しいプログラムが導入された場合、そのプログラムを監視対象としてさらに登録しなければならない。
【００５７】
したがって、フィルタードライバーを利用して装置自体を監視すれば、プログラムに関わらずその装置の使用を正しく知ることができる。但し、本発明は、このような実施形態に限定されるものではない。
【００５８】
図５は、システムで運用する電源管理（ＰＭ）モードのうちディーパースリープモード（Ｃ４）を実行するための表である。
【００５９】
図示されるように、Ｃ４モードは、フィルタードライバーにより特定の装置が検出された場合、または、Ｓｈｅｌｌ  Ｅｘｅｃｕｔｅのフックルーチンにより特定のプログラムがフックされた場合、または、ユーザーにより設定されたその他の条件が成立する場合に実行される。
【００６０】
図の例では、フィルタードライバーにより、光学ドライブ（例えば、ＣＤ−ＲＯＭ装置）、スピーカー、アンプ、サウンドカード、またはビデオカード等の使用が検出される。
【００６１】
また、Ｓｈｅｌｌ  Ｅｘｅｃｕｔｅのフックプログラムにより、ＤＶＤプログラムまたはＷｉｎａｍｐプログラム等の使用がフックされる。
【００６２】
また、その他の条件は、バッテリーモードであること、バッテリーモードでコンピュータ内蔵マイクを用いる場合に周辺騷音が指定された水準以上であること、サウンド出力の発生、または、ＣＰＵ冷却ファンの回転速度が指定された水準以上であること等である。
【００６３】
図６は、本発明に係る電源管理方法の一実施形態として、電源管理モードのうちＣ４モードを実行する過程を示したフローチャートである。
【００６４】
図６を参照すると、まず、電源管理モードを動作させる要因、例えば、現在動作中の装置、プログラム、サウンド出力、騷音、または冷却ファン回転速度などをバッテリーマイザプログラムに設定／登録する（Ｓ６０１）。
【００６５】
バッテリーマイザ（フィルタードライバー、フックルーチン）は、段階Ｓ６０１で設定／登録された情報に基づいて、現在動作中の装置、プログラム、騷音、及び冷却ファン回転速度の少なくとも一つ以上を検出する（Ｓ６０２）。
【００６６】
段階Ｓ６０２で検出された情報に基づいて、制御部（例えば、ＩＣＨ）のレジスター値を、電源管理モードのうちＣ４モードがイネーブルになるようにセットする（Ｓ６０３）。
【００６７】
サウスブリッジ（ＩＣＨ）は、段階Ｓ６０３でセットされた値に基づいて、ディーパースリープ信号をＣＰＵコア用ＤＣ／ＤＣコンバータに印加する（Ｓ６０４）。
【００６８】
ディーパースリープ信号に対応する電圧がＣＰＵコア用ＤＣ／ＤＣコンバータからＣＰＵに出力される（Ｓ６０５）。
【００６９】
図７は、バッテリーマイザのインストール時及びインストール後の動作を説明するためのフローチャートである。
【００７０】
図７に示すように、まず、サウスブリッジがＣ４モードをイネーブルできるチップセットなのか否かを確認する。すなわち、Ｃ４モードのイネーブルが可能なレジスターを探す（Ｓ７０１）。
【００７１】
バッテリーマイザがインストールされる間に、フックルーチン（例えばＤＶＤ  ＰｌａｙｅｒプログラムあるいはＷｉｎａｍｐプログラム等が監視される）をＯＳに登録し（Ｓ７０２）、さらに、各デバイスに対するフィルタードライバーを登録する（Ｓ７０３）。
【００７２】
バッテリーマイザのインストール後、監視ルーチンがＯＳに常駐し、この監視ルーチンは、プログラムが動作する時に実行される（Ｓ７０４）。
【００７３】
図８は、電源管理モードのうちＣ４モードが、そのイネーブル状態／ディセーブル状態で実行される態様を示したフローチャートである。
【００７４】
図８を参照すると、ユーザーにより設定された特定の装置の動作、特定のプログラムの動作、またはシステムによりあらかじめ定められた条件が成立するか否かは、フィルタードライバー、Ｓｈｅｌｌ  Ｅｘｅｃｕｔｅのフックルーチン、またはユーザー／制御部によりそれぞれ監視される。
【００７５】
まず、フックルーチンから特定のプログラムの使用を示す検出メッセージが入力されたか否かを確認する（Ｓ８０１）。
【００７６】
段階Ｓ８０１において検出メッセージが入力された場合、Ｃ４モードをイネーブルにする命令を実行することができる。この時、段階Ｓ８０６において、現在の状態が既にＣ４モードであると判別されたならば、この手順を終了するか、または、好ましくは監視ルーチンを反復する（Ｓ８０５）。しかし、現在の状態がＣ４モードではない場合には、システムがＣ４モードに遷移するように設定する（Ｓ８０７）。
【００７７】
段階Ｓ８０１において検出メッセージが入力されなかった場合、次の段階でフィルタードライバーからメッセージが入力されたか否かを確認する（Ｓ８０２）。
【００７８】
この時、フィルタードライバーからメッセージが入力された場合、Ｃ４モードをイネーブルにするルーチン（Ｓ８０６、Ｓ８０７）が実行される。メッセージが入力されなかったと判別された場合には、現在のモードがＣ４モードであるか否かを確認する（Ｓ８０３）。その結果、現在のモードがＣ４モードである場合、Ｃ４モードをディセーブルにする（Ｓ８０４）。現在のモードがＣ４モードではない場合、監視ルーチンを続けて実行する（Ｓ８０５）。例えば、監視ルーチンは、状態の変更による要求等に基づいて定期的に反復するものであってもよい。
【００７９】
図９Ａは、実行されるプログラムをフックするために使用されるＳｈｅｌｌ  Ｅｘｅｃｕｔｅのフックを登録するルーチンである。
【００８０】
図９Ｂは、Ｓｈｅｌｌ  Ｅｘｅｃｕｔｅのフックの登録を解除するルーチンである。
【００８１】
図９Ｃは、フック時に検査するプログラムをレジストリから取得するルーチンである。
【００８２】
図９Ｄは、例えばウィンドウズ（登録商標）上でプログラムが実行された時に呼出されるフックルーチンである。
【００８３】
上述したように、従来、ＣＰＵの動作モードのうちディーパースリープモード（Ｃ４）は、Ｃ４モードへの遷移時にＤＣ／ＤＣコンバータのキャパシターにより発生する可聴ノイズのため使われていなかった。しかしながら、本発明に係る電源管理装置及び方法では、システムで使われる特定の装置または特定のプログラムが検出された場合、または、あらかじめ定めた条件が成立する場合にＣ４モードがイネーブルされるようにすることによって、ＣＰＵの消費電力を低減させ、システムの消費電力及び発熱量を低減させると共に、バッテリー使用時間を増大させることができる。
【００８４】
以上、本発明の望ましい実施形態を説明したきたが、これらの実施形態は、例示の目的のために開示されたものであって、当業者ならば、添付された特許請求範囲に開示された本発明の技術的思想とその技術的範囲内で、多様な改良、変更、代替または付加などが可能である。
【図面の簡単な説明】
【００８５】
【図１】電源管理を実施するための従来の装置を示すブロック図である。
【図２】本発明の一実施形態として、電源管理を実施する装置を示す基本的なブロック図である。
【図３】バッテリーマイザによるシステムの電源管理機能の設定及び管理を示した図である。
【図４】図２に示すＨＤＤに保存されているＳｈｅｌｌ  Ｅｘｅｃｕｔｅのフックプログラムにより、現在動作しているアプリケーションを検出することを示した図である。
【図５】システムで運用する電源管理モードのうちディーパースリープモード（Ｃ４）を実行するための表である。
【図６】本発明の一実施形態として、電源管理モードのうちＣ４モードを実行する過程を示したフローチャートである。
【図７】バッテリーマイザのインストール時及びインストール後の動作を説明するためのフローチャートである。
【図８】電源管理モードのうちＣ４モードが、そのイネーブル状態／ディセーブル状態で実行される態様を示したフローチャートである。
【図９Ａ】実行されるプログラムをフックするために使用されるＳｈｅｌｌ  Ｅｘｅｃｕｔｅのフックを登録するルーチンである。
【図９Ｂ】Ｓｈｅｌｌ  Ｅｘｅｃｕｔｅのフックの登録を解除するルーチンである。
【図９Ｃ】フック時に検査するプログラムをレジストリから取得するルーチンである。
【図９Ｄ】プログラムが実行された時に呼出されるフックルーチンである。
【符号の説明】
【００８６】
４００：電源部、４５０：制御部、５００：監視装置、５１０：メモリー部
【図１】
0004392479.tif 000002
【図２】
0004392479.tif 000003
【図３】
0004392479.tif 000004
【図４】
0004392479.tif 000005
【図５】
0004392479.tif 000006
【図６】
0004392479.tif 000007
【図７】
0004392479.tif 000008
【図８】
0004392479.tif 000009
【図９Ａ】
0004392479.tif 000010
【図９Ｂ】
0004392479.tif 000011
【図９Ｃ】
0004392479.tif 000012
【図９Ｄ】
0004392479.tif 000013