(57)【要約】  【課題】  放電電力の小さなバッテリを用いた場合であっても、実質的にシステムのパフォーマンスを向上させる。  【解決手段】  充電の後に放電してシステム本体に電力を供給するバッテリパック５２を接続可能に構成されるコンピュータ装置であって、バッテリパック５２から電力の供給を受ける際、このバッテリパック５２の定格を超えて一時的に高パフォーマンスで動作するＣＰＵ１１と、このＣＰＵ１１を一時的に高パフォーマンスで動作させた後、ＣＰＵ１１を低パフォーマンスで動作させるように制御するエンベデッドコントローラ４１とを含む。  【選択図】  図２
2005182522.tif 000002
【特許請求の範囲】
【請求項１】
充電の後に放電してシステム本体に電力を供給するバッテリを接続可能に構成されるコンピュータ装置であって、
前記バッテリから電力の供給を受ける際、当該バッテリの定格を超えて一時的に高パフォーマンスで動作するＣＰＵと、
前記ＣＰＵを一時的に高パフォーマンスで動作させた後、当該ＣＰＵを低パフォーマンスで動作させるように制御するコントローラとを含むコンピュータ装置。
【請求項２】
前記コントローラは、前記システム本体に供給される電力の所定期間の平均が前記バッテリの定格電力を超えないように前記ＣＰＵを低パフォーマンスで動作させることを特徴とする請求項１記載のコンピュータ装置。
【請求項３】
前記コントローラは、前記所定期間が時間と共に移動していく移動平均方式にて制御することを特徴とする請求項２記載のコンピュータ装置。
【請求項４】
前記コントローラは、前記システム本体に対して供給される電力値がある閾値を超えた際に、ある決められた期間、低パフォーマンスの動作を有効/無効に制御することを特徴とする請求項２記載のコンピュータ装置。
【請求項５】
前記コントローラは、観測された消費電力が予め定められた高閾値を上回っている時間と、観測された消費電力が予め定められた低閾値を下回っている時間との差し引きが所定の時間になった場合に、前記ＣＰＵを低パフォーマンスで動作させることを特徴とする請求項１記載のコンピュータ装置。
【請求項６】
前記高閾値は、前記バッテリの定格電力から定められる値であることを特徴とする請求項５記載のコンピュータ装置。
【請求項７】
前記コントローラは、前記バッテリから放電能力に関する情報を取得し、取得した当該放電能力に関する情報に基づいて前記ＣＰＵを制御することを特徴とする請求項１記載のコンピュータ装置。
【請求項８】
前記コントローラが前記バッテリから取得する放電能力に関する情報は、当該バッテリにおける過電流保護の作動情報であることを特徴とする請求項１記載のコンピュータ装置。
【請求項９】
充電の後に放電してシステム本体に電力を供給するバッテリを接続可能に構成されるコンピュータ装置であって、
高パフォーマンスまたは低パフォーマンスで動作するＣＰＵと、
前記システム本体に対して放電される電力の平均が前記バッテリの放電能力を超えないように前記ＣＰＵの消費電力を制御するコントローラとを含むコンピュータ装置。
【請求項１０】
前記ＣＰＵの低パフォーマンス動作は、断続的に動かして出力を低減させるスロットリングであることを特徴とする請求項９記載のコンピュータ装置。
【請求項１１】
システム本体に電力を供給するバッテリが接続されたコンピュータ装置における電力制御方法であって、
前記バッテリの放電能力情報を取得するステップと、
前記バッテリから放電される電力を測定するステップと、
測定された電力の平均が前記バッテリの放電能力を超えないように制御するステップとを含む電力制御方法。
【請求項１２】
前記制御するステップは、一定期間内で消費電力平均が一定値を超さないように制御される区間平均方式、平均をとる期間が時間とともに移動する移動平均方式、および電力値がある閾値を超えた際に決められた期間スロットリングを有効/無効にする固定周期方式の少なくとも何れか１つの方式によって制御することを特徴とする請求項１１記載の電力制御方法。
【請求項１３】
前記制御するステップは、前記バッテリの放電能力によって定まる閾値を消費電力が上回っているオーバー部分について、ＣＰＵを低パフォーマンス動作させて差し引くことを特徴とする請求項１１記載の電力制御方法。
【請求項１４】
前記放電能力情報を取得するステップは、前記バッテリにおける過電流保護の作動情報をシグナルとして取り出すことを特徴とする請求項１１記載の電力制御方法。
【請求項１５】
システム本体に電力を供給するバッテリが接続されたコンピュータに、
前記バッテリから放電される電力を観測する第１の機能と、
観測された電力の平均が前記バッテリの放電能力を超えないように制御する第２の機能とを実現させるプログラム。
【請求項１６】
前記第２の機能は、一定期間内で消費電力平均が一定値を超さないように制御される区間平均方式、平均をとる期間が時間とともに移動する移動平均方式、および電力値がある閾値を超えた際に決められた期間スロットリングを有効/無効にする固定周期方式の少なくとも何れか１つの方式によって制御することを特徴とする請求項１５記載のプログラム。
【請求項１７】
前記第２の機能は、観測された電力が予め定められた高閾値を上回っている時間と、観測された電力が予め定められた低閾値を下回っている時間との差し引きが所定の時間になった場合に、ＣＰＵを低パフォーマンスで動作させることを特徴とする請求項１５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッテリから電力の供給を受ける各種コンピュータ装置に係り、より詳しくは、システムのパフォーマンスを向上させたコンピュータ装置等に関する。
【背景技術】
【０００２】
ノートブック型パーソナルコンピュータ(ノートＰＣ)に代表されるコンピュータ装置では、商用電源から例えばＡＣアダプタを介して直接、電力の供給を受ける場合の他、充放電を繰り返しながら何度も使用できる電池(バッテリ)から電力の供給を受けることができる。この電池としては、比較的容量も大きく価格も安いニッケル水素電池(ＮｉＭＨ電池)やニッケルカドミウム電池(ニッカド電池)、ニッケルカドミウム電池に比べて単位重量あたりのエネルギ密度の高いリチウムイオン電池、液体の電解質を利用せずに固体のポリマーを用いるリチウムポリマー電池などが用いられる。例えばノートＰＣでは、これらの電池類が格納されるバッテリパックを装備可能に構成され、ユーザは、ＡＣ電源のない場所ではバッテリ駆動でシステム本体を動作させることが可能である。
【０００３】
また、近年、プロセッサ技術が急激に進歩し、プロセッサに要求される電力はそれに応じて飛躍的に増大していることから、例えばノートＰＣ等のモバイル用のコンピュータ装置に対して、バッテリを用いた場合の各種の低消費電力テクノロジが検討されている。例えば、インテル社のSpeedStep(スピードステップ)(商標)テクノロジでは、システムがＡＣ電源に接続されているかどうかを自動的に検出し、クロック周波数と動作電圧を変更することで、性能とバッテリ持続時間のバランスを最適化する技術が採用されている。これに加えて、クロックを間引く(ＣＰＵを断続的に動かして出力を低減させる)方式のスロットリング(Throttling)も採用されている。
【０００４】
公報記載の従来技術としては、例えば、バッテリパックの電池セルが限界温度に達しないようにするために、放電電流がしきい値レベルを超えたことを検知すると抑制信号がアクティブにされ、これに応じてＣＰＵの電力消費を低減させる技術が提案されている(例えば、特許文献１参照。)。
【０００５】
【特許文献１】特開２００２−３０４２３９号公報(第３頁、図２)
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このように、高性能なＣＰＵをサポートしている場合であっても、コスト等の理由で充分に大きな放電能力を持ったバッテリを採用できない場合には、バッテリの使用時には定常的にスロットリング等の低消費電力テクノロジの適用が必要なため、高性能なＣＰＵが有する本来の性能を生かすことができなかった。そこで、ＣＰＵの性能を生かすための新たな手法が求められている。
【０００７】
ここで、バッテリの定格電力は、通常、システムの最大消費電力で定常放電できる値に設定されている。しかしながら、ビジネスアプリケーション等の実際の用途において、消費電力はユーザの操作があったときにシステム(ＣＰＵ)の負荷に応じて一時的に大きくなるものの、処理後はアイドリングの電力に戻るため平均値で見ると最大消費電力よりもかなり低くなる。また瞬間的に負荷は大きくなるものの、時間的にまばらであって継続時間も数秒以内と短時間であることがほとんどである。このため実際の用途においてバッテリの放電能力を充分活用しているとはいえない。したがって、現状の低消費電力テクノロジは実使用環境には必ずしも即しておらず、現状の低消費電力テクノロジではシステムの最適化を図ることが困難である。
【０００８】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的とするところは、放電能力の小さなバッテリを用いた場合であっても、実質的にシステムのパフォーマンスを向上させることにある。
また他の目的は、より放電能力の小さなバッテリでパフォーマンスを出すことにより、システムの軽量化、低コスト化を図ることにある。
【課題を解決するための手段】
【０００９】
かかる目的のもと、本発明は、ＣＰＵの負荷が大きくなったとき、例えば１〜３秒間大きな電力を供給する等、一時的な消費電力を定格値よりも大きく取れるようにし、その後電力を抑えて平均値が定格電力以下になるようにスロットリングなどで制御することで、放電能力の小さなバッテリを用いた場合であっても実用上のパフォーマンスを向上させている。即ち、本発明は、充電の後に放電してシステム本体に電力を供給するバッテリを接続可能に構成されるコンピュータ装置であって、バッテリから電力の供給を受ける際、このバッテリの定格を超えて一時的に高パフォーマンスで動作するＣＰＵと、このＣＰＵを一時的に高パフォーマンスで動作させた後、ＣＰＵを低パフォーマンスで動作させるように制御するコントローラとを含む。この「平均」とは、システムの最大消費電力がバッテリの放電能力を越さないよう制御されていた従来技術との比較で、一時的に放電能力を越すことがあっても、ある一定の期間や範囲等、所定の時間軸上でならしてみた状態を意味しており、単純な算術平均だけを指すものではない。またバッテリの「定格」とは、バッテリ毎に異なる保証値であり、セルの温度上昇が限度を超さない連続一定の最大放電電力で定められている値である。このように本発明では、この定格電力を、セルの温度上昇が限度を超さない「平均」の最大放電電力と考え、短時間ＣＰＵのパフォーマンスが必要なときにメリハリをつけて放電させている。
【００１０】
ここで、このコントローラは、システム本体に供給される電力の所定期間の平均がバッテリの定格電力を超えないようにＣＰＵを低パフォーマンスで動作させることを特徴とすれば、一時的に定格を超える電力が放電された場合であっても、バッテリの温度上昇を抑えることができる点で好ましい。また、このコントローラは、所定期間が時間と共に移動していく移動平均方式にて制御することを特徴とすることができる。更に、このコントローラは、システム本体に対して供給される電力値がある閾値を超えた際に、ある決められた期間、低パフォーマンスの動作を有効/無効に制御することを特徴とすることができる。
【００１１】
また、このコントローラは、観測された消費電力が予め定められた高閾値を上回っている時間と、観測された消費電力が予め定められた低閾値を下回っている時間との差し引きが所定の時間になった場合に、ＣＰＵを低パフォーマンスで動作させることを特徴とすることができる。ここで、この高閾値は、バッテリの定格電力から定められる値とすることが可能である。
更にコントローラは、バッテリから放電能力に関する情報を取得し、取得した放電能力に関する情報に基づいてＣＰＵを制御することを特徴とすることができる。この放電能力に関する情報としては、バッテリに対する例えば過電流保護の作動情報が挙げられる。
【００１２】
他の観点から把えると、本発明が適用されるコンピュータ装置は、高パフォーマンスまたは低パフォーマンスで動作するＣＰＵと、システム本体に対して放電される電力の平均がバッテリの放電能力を超えないようにＣＰＵの消費電力を制御するコントローラとを含む。ここで、このＣＰＵの低パフォーマンス動作は、断続的に動かして出力を低減させるスロットリングであることを特徴とすることができる。
【００１３】
一方、本発明は、システム本体に電力を供給するバッテリが接続されたコンピュータ装置における電力制御方法であって、バッテリの放電能力情報を取得するステップと、バッテリから放電される電力を測定するステップと、測定された電力の平均がバッテリの放電能力を超えないように制御するステップとを含む。
【００１４】
ここで、この制御するステップは、一定期間内で消費電力平均が一定値を超さないように制御される区間平均方式、平均をとる期間が時間とともに移動する移動平均方式、および電力値がある閾値を超えた際に決められた期間スロットリングを有効/無効にする固定周期方式の少なくとも何れか１つの方式によって制御することを特徴とすることができる。また、バッテリの放電能力によって定まる閾値を消費電力が上回っているオーバー部分について、ＣＰＵを低パフォーマンス動作させて差し引くことを特徴とすることができる。更に、この放電能力情報を取得するステップは、バッテリにおける過電流保護の作動情報をシグナルとして取り出すことを特徴とすることができる。
【００１５】
また更に、本発明が適用されるプログラムは、システム本体に電力を供給するバッテリが接続されたコンピュータに、バッテリから放電される電力を観測する第１の機能と、観測された電力の平均がバッテリの放電能力を超えないように制御する第２の機能とを実現させる。
ここで、この第２の機能は、区間平均方式、移動平均方式、および固定周期方式の少なくとも何れか１つの方式によって制御することを特徴とすることができる。また、この第２の機能は、観測された電力が予め定められた高閾値を上回っている時間と、観測された電力が予め定められた低閾値を下回っている時間との差し引きが所定の時間になった場合に、ＣＰＵを低パフォーマンスで動作させることを特徴とすることができる。
【発明の効果】
【００１６】
本発明によれば、バッテリを接続可能に構成されたコンピュータ装置にあって、放電能力の小さなバッテリを用いた場合であっても、実質的にシステムのパフォーマンスを向上させることができる。
【発明を実施するための最良の形態】
【００１７】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図１は、ノートＰＣ(ノートブック型パーソナルコンピュータ)などのコンピュータ装置１０のハードウェア構成を示した図である。コンピュータ装置１０において、ＣＰＵ１１は、コンピュータ装置１０全体の頭脳として機能し、ＯＳの制御下で各種プログラムを実行している。このＣＰＵ１１は、システムバスであるＦＳＢ(Front Side Bus)１２、高速のＩ/Ｏ装置用バスとしてのＰＣＩ(Peripheral Component Interconnect)バス２０、ＩＳＡバスに代わる新しいインタフェースであるＬＰＣ(Low Pin Count)バス４０という３段階のバスを介して、各構成要素と相互接続されている。ＣＰＵ１１の内部に設けられる１次キャッシュの容量の不足を補うために、専用バスであるＢＳＢ(Back Side Bus)１３を介して２次キャッシュ１４が置かれる場合がある。
【００１８】
ＦＳＢ１２とＰＣＩバス２０は、メモリ/ＰＣＩチップと呼ばれるＣＰＵブリッジ(ホスト−ＰＣＩブリッジ)１５によって連絡されている。メインメモリ１６は、ＣＰＵ１１の実行プログラムの読み込み領域、処理データを書き込む作業領域として利用される書き込み可能メモリである。この実行プログラムには、ＯＳや各種ドライバ、各種アプリケーションプログラム、ＢＩＯＳ(Basic Input/Output System)等のファームウェアが含まれる。ビデオサブシステム１７は、ビデオに関連する機能を実現するためのサブシステムでありビデオコントローラを含んでいる。このビデオコントローラは、ＣＰＵ１１からの描画命令を処理して描画情報をビデオメモリに書き込み、ビデオメモリからこの描画情報を読み出して液晶ディスプレイ(ＬＣＤ)１８に描画データとして出力している。
【００１９】
ＰＣＩバス２０には、Ｉ/Ｏブリッジ２１、カードバスコントローラ２２、オーディオサブシステム２５、ドッキングステーションインターフェース(Dock Ｉ/Ｆ)２６、miniＰＣＩコネクタ(スロット)２７が夫々接続されている。カードバスコントローラ２２は、ＰＣＩバス２０のバスシグナルをカードバススロット２３のインターフェースコネクタ(カードバス)に直結させるための専用コントローラであり、このカードバススロット２３には、ＰＣカード２４を装填することが可能である。ドッキングステーションインターフェース２６は、コンピュータ装置１０の機能拡張装置であるドッキングステーションを接続するためのハードウェアである。また、miniＰＣＩコネクタ２７には、例えばワイヤレスＬＡＮモジュールが内蔵されたミニＰＣＩ(miniＰＣＩ)カード２８が接続される。
【００２０】
Ｉ/Ｏブリッジ２１は、ＰＣＩバス２０とＬＰＣバス４０とのブリッジ機能を備えている。また、ＩＤＥ(Integrated Device Electronics)インタフェース機能を備えており、この機能によって実現されるインタフェースは、ＩＤＥハードディスクドライブ(ＨＤＤ)３１やＣＤ−ＲＯＭドライブ３２がＡＴＡＰＩ(AT Attachment Packet Interface)接続される。このＣＤ−ＲＯＭドライブ３２の代わりに、ＤＶＤ(Digital Versatile Disc)ドライブのような、他のタイプのＩＤＥ装置が接続されても構わない。また、このＩ/Ｏブリッジ２１にはＵＳＢポートが設けられており、ＵＳＢコネクタ３０と接続されている。更に、Ｉ/Ｏブリッジ２１には、ＳＭバスを介してＥＥＰＲＯＭ３３が接続されている。また、Ｉ/Ｏブリッジ２１からモデム機能をサポートするＡＣ９７(Audio CODEC '97)、コアチップに内蔵されたイーサネット(登録商標)に対するインタフェースであるＬＣＩ(LAN Connect Interface)、ＵＳＢ等を介して、コネクタ４７が複数、接続されている。この複数のコネクタ４７の各々には、コミュニケーションカード４８が接続可能に構成されている。
【００２１】
更に、Ｉ/Ｏブリッジ２１には、電源回路５０が接続されている。電源回路５０は、ＡＣアダプタ５１、充放電を繰り返しながら何度でも使用できる２次電池であるバッテリパック５２を接続可能に構成されている。また、抵抗を流れる電流を測定する電流測定回路５３、コンピュータ装置１０で使用される５Ｖ、３.３Ｖ等の直流定電圧を生成するＤＣ/ＤＣコンバータ(ＤＣ/ＤＣ)５５を備えている。
ＬＰＣバス４０には、エンベデッドコントローラ４１、フラッシュＲＯＭ４４、SuperＩ/Ｏコントローラ４５が接続されている。また、エンベデッドコントローラ４１には、ゲートアレイロジック４２が接続されている。このSuperＩ/Ｏコントローラ４５にはＩ/Ｏポート４６が接続されている。エンベデッドコントローラ４１は、図示しないキーボードのコントロールを行うと共に、電源回路５０に接続されて電源管理機能の一部を担っている。
【００２２】
図２は、本実施の形態が適用される電力供給システムのブロック構成を示した図である。コンピュータ装置１０のシステム本体に接続可能に構成されるバッテリパック５２は、ＤＣ/ＤＣコンバータ５５を介してＣＰＵ１１や他のシステム機器に電力を供給している。またバッテリパック５２は、エンベデッドコントローラ４１に対し、ＳＭバス(System Management Bus)を介して電池容量データ等の各種バッテリ情報を出力している。電流測定回路５３は、バッテリパック５２からの電力出力経路の途中に設けられた電流検出抵抗の両端に生じる電圧を測定し、電流値に変換してエンベデッドコントローラ４１に出力している。また、エンベデッドコントローラ４１は、電力出力経路の電圧を分圧したものについてＡ/Ｄ変換を施すことで電圧値を測定している。このようにして得られた電流値および電圧値によって、エンベデッドコントローラ４１は、バッテリ(バッテリパック５２)からシステム本体に向けて放電される電力を観察している。エンベデッドコントローラ４１は、ＣＰＵ１１のシステム管理割り込みピン(ＳＭＩ＃)をアクティブにすることで、システム管理割り込み(ＳＭＩ：System Management Interrupt)を生成させる。ＳＭＩが生成されることで、ＣＰＵ１１は、システムＢＩＯＳの制御に移行し、この制御の中で例えばＣＰＵ１１内部のＴＣＣ(Thermal Control Circuitry)１１ａにおけるレジスタを適宜設定することで、スロットリング(Throttling)の有効/無効およびデューティ(スロットリング比)を設定する。また、ＣＰＵ１１の外部信号のＳＴＰＣＬＫ＃をアクティブにすることで、スロットリングをかけることも可能である。これは、通常チップセットの機能として提供されており、同様にシステムＢＩＯＳがこの機能を設定する。
【００２３】
ＳＭバスを介してエンベデッドコントローラ４１に提供されるバッテリ情報には、バッテリの放電能力に関する情報として、例えば過電流保護(ＯＣＰ：Over Current Protection)の情報がある。本実施の形態では、バッテリ(バッテリパック５２)からＯＣＰ情報を外部に信号として取り出し、システムが作動を予知できるようにしている。ＯＣＰが作動する前に(例えば２秒間大電流が流れたとき)、この情報をエンベデッドコントローラ４１が取得し、電力管理に利用すれば、よりピーク電力を効果的に取り出すことができる。即ち、本実施の形態では、後述するように、バッテリパック５２に対してバッテリの定格電力を上回る放電をさせるが、過電流状態を無視して放電するわけではない。バッテリの過電流保護回路(バッテリパック５２内部のマイクロコントローラによるソフトウェアＯＣＰ)を動作させないように配慮することが必要である。この配慮としては、予め過電流領域に入らない設定にすることや、過電流域に入るが保護回路が動作する前に電力(電流値)を下げる(後述する移動平均で管理するか、移動平均がある条件を超えないよう設定にする)方法がある。また、過電流状態をバッテリから知らせてもらうことで、過電流保護回路の動作を未然に防ぐことができる。このＯＣＰを出力するために、例えば、バッテリパック５２の内部コントローラ(図示せず)がサーミスタ端子(図示せず)を利用して出力するといった構成を採用することが可能である。
【００２４】
過電流保護(ソフトウェアＯＣＰ)は、バッテリパック５２内部の内部コントローラ(マイクロコントローラ)が電流をモニタし、平均電流がある期間連続して閾値を超えていると作動する。本実施の形態では、このソフトウェアＯＣＰの作動情報をシグナルとしてＴ端子(サーミスタ端子)に取り出し、システム側にてバッテリにおけるＯＣＰの作動を予見できるように構成している。
図１２(ａ),(ｂ)は、ＯＣＰのステートダイアグラムを示した図である。図１２(ａ)はバッテリ側(バッテリパック５２)の状態遷移を示し、図１２(ｂ)はシステム側(コンピュータ装置１０)の状態遷移を示している。図１２(ａ)に示すように、バッテリ側の状態として、ノーマル(Normal)、アラート(Alart)、シャットダウン(Shutdown)の３つの状態がある。一方、図１２(ｂ)に示すように、システム側の状態として、スロットリングを行わない通常パワーモード、スロットリングを行う低パワーモードの２つの状態を持つ。例えば、バッテリ側でノーマルの状態にあった時点で、予め定められた時間であるＴ１秒間連続して過電流状態になると、アラートの状態になり、LoadHI#＝Loの警告をシステム側に出力する。システム側では、このLoadHI#＝Loの警告を受け、通常パワーモードから低パワーモードへ移行する。バッテリ側でアラートの状態から、予め定められた時間であるＴ２秒間過電流状態であった場合には、シャットダウンの状態に移行する。一方、バッテリ側でアラートの状態から、このＴ２秒以内に過電流状態でなくなった場合には、ノーマルの状態に移行し、LoadHI#/＝Loを出力する。LoadHI#/＝Loを受けたシステム側は、Ｔ２秒に若干の余裕時間を加えたＴ３秒の経過までLoadHI#/＝Loである場合には、通常パワーモードへ移行する。尚、Ｔ端子にはバッテリパック５２の内部温度によって変化する電圧が出力されているが、例えば、この出力電圧を強制的に０にすることにより過電流状態をシステムに知らせることが可能である。すなわち図１２では、Ｔ端子にLoadHI#シグナルを重複して割当て、LoadHI#=Loのとき過電流状態をシステムに警告している。
【００２５】
このように、一般的に、マイクロコントローラの動作はシステムに非同期であることと、過電流検出の電流平均の取り方、期間および閾値は電池サプライヤごとに異なるため、ＯＣＰの作動タイミングを予め知ることは不可能であるが、本実施の形態によれば、作動に至る少し手前でバッテリパック５２から過電流状態の情報が得ることが可能となる。例えば、システム側では、この「少し手前」の情報で直ちに低パワーモードに移行し、シャットダウンを回避すれば、ユーザのデータロスといったアクシデントを防止することができる。また、過電流検出の閾値を超えてピーク電流(電力)を供給することが確実にできれば、パフォーマンス改善効果を高めることができ、各種パラメータ、アルゴリズムの自由度を高めることが可能となる。
【００２６】
ここで、従来の電力供給方法では、システム本体に対してＡＣアダプタ５１が接続されていない状態でバッテリパック５２からのバッテリ駆動になることをエンベデッドコントローラ４１が認識すると、エンベデッドコントローラ４１はＳＭＩ＃をアクティブにする。すると、システムＢＩＯＳは、ＴＣＣ１１ａのスロットリングをコントロールするためのレジスタを設定し、その出力を受けてＣＰＵ１１がスロットリング動作を実行し、バッテリからの放電電力が大きくならないように制御される。しかしながら、一般的な使用状況では、高い消費電力(パフォーマンス)が必要なのは数秒以下の短時間であり、その後はアイドリングの電力に戻る。そこで本実施の形態では、パフォーマンスが要求されるときに出来るだけピーク電力をバッテリから供給し、かつ電力平均が放電能力以下になるように制御することで、パフォーマンスを大幅に改善した。即ち、バッテリに一時的に定格電力以上の負荷を与え、スロットリングを実行するタイミングをずらすことで、パフォーマンスを向上させている。このバッテリの「定格電力」は、一定の電力で放電したときに電池セルの温度上昇で制限される最大の放電電力で、バッテリパック５２毎に保証されている値である。
【００２７】
次に、本実施の形態におけるパフォーマンス向上のための制御方法について説明する。本実施の形態では、以下の５つの制御方式(アルゴリズム)について説明する。 ５つの制御方式は、(１)単純遅延方式、(２)区間平均方式、(３)移動平均方式、(４)固定周期方式、(５)電力バランス方式、である。以下、順に説明する。尚、電力平均の取り方であるが、電力管理は電力の実効値で考えることが好ましいが、アルゴリズムの簡素化のために、単純平均を取っている。いずれの制御方式もＣＰＵ１１の負荷が最大のとき放電電力は高出力/低出力を繰り返す、ある周期を持ったパルス状となるが、このときの実効値との誤差は一般的に数％以下である。
【００２８】
(１)単純遅延方式
単純遅延方式は、例えば、単純に２秒間はピーク電力を供給し、その後、スロットリングをかけて省電力モードを実行する方法である。計算量が非常に少なく、また、パフォーマンスの向上効果も非常に高い。しかしながら、電力平均や、ＯＣＰが働かないように保証するといった側面からは難点がある。
【００２９】
(２)区間平均方式
区間平均方式は、一定期間内で電力平均が一定値を超さないように制御する方式である。
図３は、区間平均方式の概念を説明するための図である。図３では、例えば３秒程度の計測区間内にて、現在時刻までの消費電力の動きが実線で示されている。現在時刻後の計測期間では、スロットリングが実行され低ＣＰＵパフォーマンスとなった場合の最大消費電力が破線で示されている。図３にて、平均消費電力の目標値に対する消費電力の差分が、Ｓ１、Ｓ２、およびＳ３で表される。ここで、現在時刻までの平均消費電力の目標値に対する消費電力の差分(Ｓ１−Ｓ２)に残りの最小電力マージン(Ｓ３)を加えた値をＡとし、また、高パフォーマンス駆動(High CPU Performance)時のシステムの最大消費電力から平均消費電力の目標値を引いた値をＢとすると、例えば、
Ａ＜Ｂなら次の単位期間はHigh CPU Performanceとする。
Ａ≧Ｂなら次の単位期間はLow CPU Performanceとする。
とすることで、パフォーマンスを高く維持した状態にて、計測区間内で電力平均が一定値を超さないように制御することが可能となる。
【００３０】
図４は、区間平均方式の処理の一例を示したフローチャートである。エンベデッドコントローラ４１は、まず、バッテリパック５２からバッテリ情報(バッテリの放電能力情報)をＳＭバスを介して取得する(ステップ１０１)。その後、それぞれのパラメータをリセットして初期化が行われ、ＣＰＵ１１をスロットリングをかけない状態にする(ステップ１０２)。その後、エンベデッドコントローラ４１は、電流測定回路５３から得られた電流値や測定された電圧値から電力を算出し、この電力の一定間隔の複数サンプルの平均を単位期間の消費電力とする(ステップ１０３)。ここで一定時間(単位期間)が経過する。
【００３１】
このときエンベデッドコントローラ４１は、十分な余裕があるか否かを判断する(ステップ１０４)。即ち、次のループでＣＰＵ１１の高パフォーマンス駆動(High CPU Performance)が可能か否かが判断される。仮に次のループ(単位期間)でＣＰＵ１１が最大消費電力で動作した場合でも、残りの区間でＣＰＵ１１を低パフォーマンス駆動(Low CPU Performance)することにより、電力平均が目標値を越えないようにすることができる場合、充分な余裕があると判断される。十分な余裕があると判断される場合には、ＣＰＵ１１の高パフォーマンス駆動(High CPU Performance)が実行される(ステップ１０５)。このとき既にスロットリングがかかっている場合は、エンベデッドコントローラ４１から割り込み(ＳＭＩ)をかけてスロットリングを解除する。ステップ１０４で十分な余裕がないと判断される場合には、ＣＰＵ１１の低パフォーマンス駆動(Low CPU Performance)が実行される(ステップ１０６)。このとき、スロットリングがかかっていない場合には、エンベデッドコントローラ４１から割り込み(ＳＭＩ)をかけてスロットリングに入る。その後、計測区間が終了したか否かが判断され(ステップ１０７)、計測区間が終了していない場合にはステップ１０３からの処理が繰り返され、計測区間が終了した場合には、ステップ１０２の初期化の処理から繰り返される。
【００３２】
このように、区間平均方式では、一定期間内で電力平均が一定値を超さないように制御されることから、電力平均が保証されると共に、高いパフォーマンスの向上効果が得られる。しかしながら、ＯＣＰの電流検出方式によってはＯＣＰの作動が避けられない場合があり、また計算量は比較的大きくなる。
【００３３】
(３)移動平均方式
平均をとる区間が時間とともに移動していくことで、各瞬間毎に余裕のあることを確認しながら制御する方式である。平均値を算出する区間が逐次移動し、履歴をとりながら平均値を算出することに特徴がある。非同期のＯＣＰに対して電力値(実際は電流測定回路５３から得られる電流値)の移動平均を取りながら監視する。パフォーマンスの向上効果は高く、電力平均やＯＣＰに対する保証が可能である点で優れているが、計算量は他の方式に比べてとりわけ大きい。
【００３４】
図５は、移動平均方式を採用した場合におけるサンプル１０個の移動平均例を示した図である。ここでは、実際の消費電力と、高パフォーマンス駆動(High CPU Performance)時の電力、ＣＰＵのパフォーマンスが示されている。最大負荷で電力平均が目標値を超えないように、高低の電力閾値が決定されている。図５では、例えば目標値を７５Ｗ、高閾値を７５Ｗ、低閾値を７０Ｗとしている。算出された移動平均が太線実線で示されている。この図５では、時間０秒から高パフォーマンス駆動を続けた後、移動平均が高閾値を超えた際(時間３秒後程度)に、低パフォーマンス駆動(Low CPU Performance)に移行し、移動平均が低閾値を超えた際(時間３.５秒後程度)に、高パフォーマンス駆動に戻る様子が示されている。
【００３５】
図６は、上述した移動平均方式の処理の一例を示したフローチャートである。エンベデッドコントローラ４１は、まず、バッテリパック５２からバッテリ情報(バッテリの放電能力情報)をＳＭバスを介して取得する(ステップ２０１)。その後、それぞれのパラメータをリセットして初期化が行われ、ＣＰＵ１１をスロットリングをかけない状態にする(ステップ２０２)。その後、エンベデッドコントローラ４１は、電流測定回路５３から得られた電流値や測定された電圧値から電力を算出し、この電力の一定間隔の複数サンプルの平均をとる。更に、このサンプルを含めて過去ｎ個のサンプルで移動平均を算出する(ステップ２０３)。ここで一定時間(単位期間)が経過する。
【００３６】
このときエンベデッドコントローラ４１は、現在、高パフォーマンス駆動(High CPU Performance)か低パフォーマンス駆動(Low CPU Performance)かを判断する(ステップ２０４)。高パフォーマンス駆動(High CPU Performance)である場合に、移動平均が高閾値(電力閾値(Ｈ))を超えているかどうかを判断する(ステップ２０５)。超えている場合には、ＣＰＵ１１を低パフォーマンス駆動(スロットリング)して(ステップ２０６)、ステップ２０３へ戻る。移動平均が高閾値を超えていない場合には、そのままステップ２０３へ戻る。一方、ステップ２０４で低パフォーマンス駆動(Low CPU Performance)である場合に、移動平均が低閾値(電力閾値(Ｌ))を下回っているかどうかが判断される(ステップ２０７)。下回っている場合には、ＣＰＵ１１を高パフォーマンス駆動(スロットリングせず)にして(ステップ２０８)、ステップ２０３へ戻る。移動平均が低閾値を下回っていない場合には、そのままステップ２０３へ戻る。
【００３７】
(４)固定周期方式
電力値がある閾値を超えたことを検出した後、予め決められた期間スロットリングを無効/有効にする。スロットリング比と無効/有効の期間は、ＯＣＰが作動しないように移動平均等による評価で予め決定しておく。この固定周期方式は、パフォーマンス向上効果はあまり高くないが、計算が不要で、また、電力平均やＯＣＰに対する保証が可能である点で優れている。
【００３８】
図７は、固定周期方式の制御例を示した図である。ここでは、横軸に時間、縦軸に消費電力を取っており、消費電力の変化する様子が実線で示されている。まず、固定周期非動作区間(High CPU)において、固定周期動作を開始する電力閾値Ｐtgt(電力平均のターゲット)を消費電力が超えたときに、固定周期方式による制御を行う固定周期動作区間に入る。その後、この固定周期動作を終了した後、固定周期非動作区間(High CPU)に戻る。この固定周期動作区間では、スロットリングを行わない高パフォーマンス駆動(High CPU Performance)の期間(Ｔｈ)の後、期間(Ｔｌ)にて、スロットリングを行う低パフォーマンス駆動(Low CPU Performance)が行われる。
【００３９】
このときのパラメータの決め方は、High CPUの最大電力をＰhmax、Low CPUの最大電力をＰlmax、とすると、
Ｐtgt＝（Ｐhmax×Ｔｈ＋Ｐlmax×Ｔｌ）/（Ｔｈ＋Ｔｌ）
となる。Ｔｈ、Ｔｌは、過電流保護が動作しない範囲で決定される。 
【００４０】
図８は、上述した固定周期方式の処理の一例を示したフローチャートである。エンベデッドコントローラ４１は、まず、バッテリパック５２からバッテリ情報(バッテリの放電能力情報)をＳＭバスを介して取得する(ステップ３０１)。その後、それぞれのパラメータをリセットして初期化が行われ、ＣＰＵ１１をスロットリングをかけない状態にする(ステップ３０２)。その後、エンベデッドコントローラ４１は、電流測定回路５３から得られた電流値や測定された電圧値から電力を算出し、この電力の一定間隔の複数サンプルの平均をとる(ステップ３０３)。ここで一定時間(単位期間)が経過する。
【００４１】
このときエンベデッドコントローラ４１は、固定周期動作を開始する電力閾値(Ｐtgt)よりも消費電力が高いか否かを判断する(ステップ３０４)。消費電力が閾値(Ｐtgt)よりも高い場合には、ステップ３０５以下の固定周期動作に移行する。閾値(Ｐtgt)よりも低い場合には、そのままステップ３０３の処理に戻る。ステップ３０５では、高パフォーマンス駆動(High CPU Performance)のまま、ある決められた時間(Ｔｈ)、動作する。時間(Ｔｈ)が経過した後、エンベデッドコントローラ４１は、ＳＭＩを上げて低パフォーマンス駆動(Low CPU Performance)に移る(ステップ３０６)。最後に再びＳＭＩを上げて、高パフォーマンス駆動(High CPU Performance)に戻して(ステップ３０７)、ステップ３０３へ戻る。
【００４２】
(５)電力バランス方式
上述した区間平均方式や移動平均方式では、平均値の計算が必要となることから、電力を監視するエンベデッドコントローラ４１の負担が重くなる。また、固定周期方式では計算が不要ではあるが高い効率は期待できない。本方式はそこで考えられた方式で、高い消費電力の期間と低い消費電力の期間の回数バランスを取ることで、平均値を計算することなく、結果的に平均値を目標値に近づける制御を可能にしている。即ち、バッテリ(バッテリパック５２)の定格(例えば８０Ｗ)から定まる目標値(例えば７５Ｗ)に対し、この目標値を超えた高い消費電力の期間の発生回数と、消費電力が予め決められた低閾値を下回っている期間の発生回数の差分を計測し、その差分が一定の回数以上になったら、超えた部分を差し引いて精算する意味で、低パフォーマンス動作を実行させるものである。更に言い換えると、この電力バランス方式は、バッテリの放電能力によって定まる閾値を消費電力が上回っているオーバー時間から、消費電力がある一定以下のアンダー時間を差し引いた差分が大きくなったときに、一定時間ＣＰＵ１１を低パフォーマンス動作させることにより、電力平均がバッテリの定格電力を超えないように制御するものである。
【００４３】
図９は、電力バランス方式の概念を説明するための図である。ここでは、横軸に時間、縦軸に消費電力を取っており、消費電力の変化する様子が実線で示されている。図９では、スロットリングを行っていない高パフォーマンス駆動(High CPU Performance)のときのシステムの最大消費電力をＰhmax、バッテリの定格から定まる平均消費電力の目標値をＰtgt、スロットリングを行っている低パフォーマンス駆動(Low CPU Performance)時の最大消費電力をＰlmax、低閾値(Low Threshold)をＰlthとして、その消費電力レベルを図示している。
【００４４】
これらのパラメータの決め方としては、例えば、平均消費電力の目標値であるＰtgtを高閾値(High Threshold)のＰhthに等しいとして、
Ｐhth ＝ Ｐtgt ＝ (Ｐhmax＋Ｐlth)/２
としている。
また、時間は、単位期間のカウントで測る。カウンタの初期値(ｔmax)とスロットリング期間(ｔlo)の比率は、電力の加重平均が
(Ｐhmax×ｔmax ＋ Ｐlmax×ｔlo)/(ｔmax ＋ ｔlo) ＜ Ｐtgt
を満たすように決定される。
【００４５】
ここで、例えば、システムの最大消費電力(Ｐhmax)が１００Ｗ、平均消費電力の目標値(Ｐtgt)を７５Ｗとすると、低閾値(Plth)は５０Ｗとなる。このとき、例えば、観測したシステムの消費電力が高閾値である７５Ｗを超している(上回っている)時間と、システムの消費電力が低閾値である５０Ｗを下回っている時間の差し引きが３秒になったら、３秒間、強制的にスロットリングを行う。このように構成すれば、少なくとも平均消費電力はターゲットである７５Ｗを越えない。エンベデッドコントローラ４１は、定期的に電力値を取得していることから、仮想的なカウンタをその都度Ｕｐ/Ｄｏｗｎすることで足りる。この差分カウンタの初期値およびスロットリング期間とスロットリング比はＯＣＰを考慮して予め決めておく。
【００４６】
図１０は、電力バランス方式の処理の一例を示したフローチャートである。エンベデッドコントローラ４１は、まず、バッテリパック５２からＯＣＰ情報等のバッテリ情報をＳＭバスを介して取得する(ステップ４０１)。その後、それぞれのパラメータをリセットして初期化が行われ、ＣＰＵ１１をスロットリングをかけない状態にする(ステップ４０２)。その後、エンベデッドコントローラ４１は、電流測定回路５３から得られた電流値や測定された電圧値から電力を算出し、この電力の一定間隔の複数サンプルの平均を単位期間の消費電力とする(ステップ４０３)。ここで一定時間(単位期間)が経過する。このときエンベデッドコントローラ４１は、消費電力が高(Ｈｉ)閾値(High Threshold)よりも高いか否かを判断する(ステップ４０４)。消費電力がＨｉ閾値よりも高い場合には、ステップ４０５以降の処理に移行し、消費電力がＨｉ閾値よりも低い場合には、ステップ４１０以降の処理に移行する。 
【００４７】
消費電力がＨｉ閾値よりも高い場合には、まずカウンタの値を１つ減らす(ステップ４０５)。そして、カウンタが０か否かが判断され(ステップ４０６)、０でなければステップ４０３へ戻る。カウンタが０である場合には、エンベデッドコントローラ４１からInterrupt(ＳＭＩ)を上げ、ＣＰＵ１１にスロットリングをかける(ステップ４０７)。そして、一定時間ｔloが経過したら、再びスロットリングを解除し(ステップ４０８)、カウンタの値を初期値ｔmaxに戻して(ステップ４０９)、ステップ４０３へ戻る。
【００４８】
ステップ４０４で消費電力がＨｉ閾値よりも高くない場合には、消費電力が低(Ｌｏ)閾値(Low Threshold)よりも低いか否かが判断される(ステップ４１０)。Ｌｏ閾値よりも低くない場合にはステップ４０３へ戻り、Ｌｏ閾値よりも低い場合には、カウンタの値が初期値ｔmaxか否かが判断される(ステップ４１１)。ｔmaxである場合にはステップ４０３へ戻り、ｔmaxでない場合にはカウンタの値を１つ増やして(ステップ４１２)、ステップ４０３へ戻る。
この電力バランス方式は、電力平均を目標値に近づけやすく、ＯＣＰ対応も可能であり、また計算量が少なく高いパフォーマンス向上効果を期待できる。
【００４９】
以上のような各制御方式によって、バッテリ(電池)の放電能力に制約がある場合、システムの「最大電力値」ではなく、「電力平均値」がバッテリの放電能力を超えないように制御することができる。
図１１は、(１)単純遅延方式を用い、２秒間ピーク電力を供給する方式で、あるベンチマークを用いてパフォーマンス向上効果を確認した結果を示した図である。このベンチマークでは、数値が大きいほどパフォーマンスが高くなる。この図１１では、ＣＰＵ１１が３.０ＧＨｚ、２.８ＧＨｚ、２.６ＧＨｚ、２.４ＧＨｚ、２.０ＧＨｚの５つの場合において、パフォーマンス、バッテリライフ(分)、平均消費電力(Ｗ)の観点から、従来手法(システムの最大電力が定格電力を超えないようにする手法)と(１)単純遅延方式とを比較している。従来手法では、バッテリ駆動時に、ＣＰＵ１１はスロットリングによって５０％/３７.５％/２５％に低減される。本実施の形態が適用される単純遅延方式ではＣＰＵ１１は１００％/６２.５％/２５％で駆動されている。
【００５０】
この図１１から明らかなように、本実施の形態によれば、パフォーマンスは各ＣＰＵ１１とも大きく向上した。一方で、バッテリライフから算出した平均消費電力(電池容量×６０/バッテリライフ(分))は、従来技術からほとんど悪化しないことがわかった。これは、スロットリングを行わなければＣＰＵ１１の処理時間が短縮することに起因する。
【００５１】
以上詳述したように、本実施の形態によれば、バッテリに制約があっても、電力平均で制御することによりシステムのパフォーマンスを大きく改善することができる。逆に、放電能力の小さいバッテリが使用できれば、コンピュータ装置の軽量化やローコスト化に貢献できる。更に、バッテリからの過電流情報を得て制御する等、システムとバッテリとの強調動作ができれば、簡単かつ効率的な制御が可能となる。
【００５２】
尚、本実施の形態における制御方法は、放電を行ってシステムに対して電力を供給するバッテリパック５２が接続可能に構成された機器のコンピュータに実行されるプログラムとして展開することができる。特に、エンベデッドコントローラ４１に上述した各種処理を実行させるためのプログラムとして提供される。これらのプログラムをコンピュータに対して提供する際に、例えばノートＰＣにインストールされた状態にて提供される場合の他、ノートＰＣ等のコンピュータに実行させるプログラムをコンピュータが読取可能に記憶した記憶媒体にて提供する形態が考えられる。この記憶媒体としては、例えばＤＶＤやＣＤ−ＲＯＭ媒体等が該当し、ＤＶＤやＣＤ−ＲＯＭ読取装置等によってプログラムが読み取られ、フラッシュＲＯＭ等にこのプログラムが格納されて実行される。また、これらのプログラムは、例えば、プログラム伝送装置によってネットワークを介して提供される形態がある。
【００５３】
ここで、本件を上記のような記憶媒体の発明として捉えると、以下のようになる。即ち、「システム本体に電力を供給するバッテリが接続されたコンピュータを、バッテリから放電される電力を観測する手段と、観測された電力の平均がバッテリの放電能力を超えないように制御する手段として機能させるプログラムを格納した記憶媒体。」である。
【産業上の利用可能性】
【００５４】
本発明の活用例としては、ノートＰＣや、ＰＤＡ(Personal Digital Assistant)、各種モバイル装置など、バッテリを搭載すると共にＣＰＵを有する各種コンピュータ装置に適用できる。また、これらのコンピュータ装置にて実行されるプログラムが活用例として挙げられる。
【図面の簡単な説明】
【００５５】
【図１】ノートＰＣなどのコンピュータ装置のハードウェア構成を示した図である。
【図２】本実施の形態が適用される電力供給システムのブロック構成を示した図である。
【図３】区間平均方式の概念を説明するための図である。
【図４】区間平均方式の処理の一例を示したフローチャートである。
【図５】移動平均方式を採用した場合におけるサンプル１０個の移動平均例を示した図である。
【図６】移動平均方式の処理の一例を示したフローチャートである。
【図７】固定周期方式の制御例を示した図である。
【図８】固定周期方式の処理の一例を示したフローチャートである。
【図９】電力バランス方式の概念を説明するための図である。
【図１０】電力バランス方式の処理の一例を示したフローチャートである。
【図１１】単純遅延方式を用い２秒間ピーク電力を供給する方式でパフォーマンス効果を確認した結果を示した図である。
【図１２】(ａ),(ｂ)は、ＯＣＰのステートダイアグラムを示した図である。
【符号の説明】
【００５６】
１１…ＣＰＵ、１１ａ…ＴＣＣ(Thermal Control Circuitry)、４１…エンベデッドコントローラ、５０…電源回路、５２…バッテリパック、５３…電流測定回路、５５…ＤＣ/ＤＣコンバータ
【図１】
2005182522.tif 000003
【図２】
2005182522.tif 000004
【図３】
2005182522.tif 000005
【図４】
2005182522.tif 000006
【図５】
2005182522.tif 000007
【図６】
2005182522.tif 000008
【図７】
2005182522.tif 000009
【図８】
2005182522.tif 000010
【図９】
2005182522.tif 000011
【図１０】
2005182522.tif 000012
【図１１】
2005182522.tif 000013
【図１２】
2005182522.tif 000014