(57)【要約】【課題】ポーリング処理中におけるＣＰＵの省電力モードへの遷移処理を容易に実装することができ、かつポーリング処理中におけるＣＰＵからの高速なバス使用負荷が軽減されてシステム全体の性能向上にも寄与することができる省電力制御装置、および省電力制御方法を提供する。【解決手段】ＣＰＵ１０１においてポーリング処理の実行が必要となった場合に、省電力モード管理部１０２がポーリング処理を代行して実行して、その間、ＣＰＵ１０１を省電力モードに遷移させることにより、ＣＰＵ１０１は省電力モードへの遷移のための複雑な処理や省電力モードからの復帰のための割り込み条件の考慮が不要なので、ポーリング処理中におけるＣＰＵ１０１の省電力モードへの遷移処理を容易に実装することができ、かつポーリング処理中におけるＣＰＵ１０１からの高速なバス使用負荷が軽減されてシステム全体の性能向上にも寄与することができる。【選択図】図１
2011013914.tif 000002
【特許請求の範囲】
【請求項１】
特定アドレスのデータが期待値になるまで前記データを繰り返し参照して待つポーリング処理の実行が演算装置で必要となった場合に、前記ポーリング処理の実行により前記データが前記期待値と一致するか否かを判断する判断手段と、
前記データが前記期待値と一致すると判断されるまで、前記演算装置を省電力モードに遷移するように制御する制御手段と、
を備えたことを特徴とする省電力制御装置。
【請求項２】
前記データが前記期待値と一致するか否かを判断している時間を測定する測定手段をさらに備え、
前記制御手段は、さらに、測定した時間が所定時間を超えた場合に、前記省電力モードに遷移するように制御することを特徴とする請求項１に記載の省電力制御装置。
【請求項３】
前記判断手段および前記制御手段を備えた複数の省電力モード管理部と、
全ての前記省電力モード管理部の前記制御手段において前記省電力モードに遷移するように制御されたことが検出された場合に、前記省電力モードに遷移させる検出手段と、
をさらに備えたことを特徴とする請求項１または２に記載の省電力制御装置。
【請求項４】
前記省電力モードに遷移するように制御され、かつ予め設定された付加条件を満たした場合に、前記省電力モードに遷移させる監視手段をさらに備えたことを特徴とする請求項１から３のいずれか一に記載の省電力制御装置。
【請求項５】
主制御部の省電力モードへの遷移および前記省電力モードからの復帰を制御する省電力制御装置で実行される省電力制御方法であって、
前記省電力制御装置は、前記主制御部より低い周波数で処理を行う副制御部と記憶部を備え、
前記副制御部で実行される、
判断手段が、特定アドレスのデータが期待値になるまで前記データを繰り返し参照して待つポーリング処理の実行が演算装置で必要となった場合に、前記ポーリング処理の実行により前記データが前記期待値と一致するか否かを判断する判断工程と、
制御手段が、前記データが前記期待値と一致すると判断されるまで、前記演算装置を前記省電力モードに遷移するように制御する制御工程と、
を含むことを特徴とする省電力制御方法。
【請求項６】
前記副制御部で実行される、
測定手段が、前記データが前記期待値と一致するか否かを判断している時間を測定する測定工程をさらに含み、
前記制御工程は、さらに、測定した時間が所定時間を超えた場合に、前記省電力モードに遷移するように制御することを特徴とする請求項５に記載の省電力制御方法。
【請求項７】
前記副制御部で実行される、
検出手段が、前記判断手段および前記制御手段を備えた複数の省電力モード管理部のうち、全ての前記省電力モード管理部の前記制御手段において前記省電力モードに遷移するように制御されたことが検出された場合に、前記省電力モードに遷移させる検出工程と、
をさらに含むことを特徴とする請求項５または６に記載の省電力制御方法。
【請求項８】
前記副制御部で実行される。
監視手段が、前記省電力モードに遷移するように制御され、かつ予め設定された付加条件を満たした場合に、前記省電力モードに遷移させる監視工程をさらに含むことを特徴とする請求項５から７のいずれか一に記載の省電力制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、省電力制御装置、および省電力制御方法に関する。
【０００２】
近年のコンピュータシステムにおいては、処理能力の向上が要求される一方で省電力化が要求されている。このため、コンピュータシステムが備えるＣＰＵ（Central  Processing  Unit）においても省電力モードが装備されており、これらの効率的に制御してＣＰＵの省電力化を図る必要がある。
【０００３】
従来のＣＰＵの省電力制御においては、ＣＰＵ自身が省電力モードへの遷移が可能かどうかを判断し、可能であれば省電力モードへの遷移処理を実行していた（特許文献１参照）。また、省電力モードから通常モードへの復帰は、特定の割り込み信号によってのみ行われていたため、省電力モードから通常モードへの復帰条件を任意に変更することができず、省電力モードへ遷移可能な状態が限られていた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−３４６７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、コンピュータプログラミングにおいては、特定のアドレスのデータが期待値になるまでそのアドレスを繰り返し参照して待つポーリング処理がしばしば用いられる。ポーリング処理中は、特定のアドレスのデータが期待値になるまで、後続の処理やその他の処理を実行することができないことが多いので、ＣＰＵを省電力モードへ遷移させることが望ましいが、省電力モードへの遷移処理が複雑であることや割り込み発生条件が満たせない等の理由で省電力モードへ遷移できないことがある。さらに、上述したように、ポーリング処理中は特定のアドレスのデータが期待値になるまで後続の処理やその他の処理を実行することができないことが多いが、ＣＰＵは、プログラムに従って何ら処理を行っていないにも関わらず、定常周波数のクロックを基準にして特定のアドレスのデータの参照を繰り返すため、消費電力が通常と変わらず、また無用なアドレスバスやデータバスの使用により周辺回路の処理を妨げるという問題ある。
【０００６】
開示の技術は、上記に鑑みてなされたものであって、ポーリング処理中におけるＣＰＵの省電力モードへの遷移処理を容易に実装することができ、かつポーリング処理中におけるＣＰＵからの高速なバス使用負荷が軽減されてシステム全体の性能向上にも寄与することができる省電力制御装置、および省電力制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願の開示する省電力制御装置は、一つの態様において、特定アドレスのデータが期待値になるまで前記データを繰り返し参照して待つポーリング処理の実行が演算装置で必要となった場合に、前記ポーリング処理の実行により前記データが前記期待値と一致するか否かを判断する判断手段と、前記データが前記期待値と一致すると判断されるまで、前記演算装置を省電力モードに遷移するように制御する制御手段と、を備える。
【０００８】
また、本願の開示する省電力制御方法は、他の態様において、主制御部の省電力モードへの遷移および前記省電力モードからの復帰を制御する省電力制御装置で実行される省電力制御方法であって、前記省電力制御装置は、前記主制御部より低い周波数で処理を行う副制御部と記憶部を備え、前記副制御部で実行される、判断手段が、特定アドレスのデータが期待値になるまで前記データを繰り返し参照して待つポーリング処理の実行が演算装置で必要となった場合に、前記ポーリング処理の実行により前記データが前記期待値と一致するか否かを判断する判断工程と、制御手段が、前記データが前記期待値と一致すると判断されるまで、前記演算装置を前記省電力モードに遷移するように制御する制御工程と、を含むものである。
【発明の効果】
【０００９】
本願の開示する省電力制御装置、および省電力制御方法の一つの態様によれば、ポーリング処理中におけるＣＰＵの省電力モードへの遷移処理を容易に実装することができ、かつポーリング処理中におけるＣＰＵからの高速なバス使用負荷が軽減されてシステム全体の性能向上にも寄与することができる、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例１にかかる外部デバイス制御装置の構成を示すブロック図である。
【図２】図２は、実施例１にかかる外部デバイス制御装置が備える各レジスタに設定された設定値を示す図である。
【図３】図３は、実施例１にかかる外部デバイス制御装置における省電力制御処理の流れを示すフローチャートである。
【図４】図４は、実施例２にかかる外部デバイス制御装置の構成を示すブロック図である。
【図５】図５は、実施例３にかかる外部デバイス制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する省電力制御装置、および省電力制御方法の実施例を図面に基づいて詳細に説明する。なお、本実施例では、本発明にかかる省電力制御装置、および省電力制御方法を、周辺機器などの外部デバイスを制御する外部デバイス制御装置に適用した例について説明する。また、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１２】
図１は、実施例１にかかる外部デバイス制御装置の構成を示すブロック図である。図２は、実施例１にかかる外部デバイス制御装置が備える各レジスタに設定された設定値を示す図である。本実施例にかかる外部デバイス制御装置１００は、大別すると、ＣＰＵ１０１、省電力モード管理部１０２、クロック制御部１０３、および外部デバイス制御部１１０を備えている。なお、ＣＰＵ１０１、省電力モード管理部１０２、および外部デバイス制御部１１０は、外部バスにより互いに接続されている。
【００１３】
外部デバイス制御部１１０は、外部デバイス制御装置１００に接続された周辺機器１１３を制御するものである。本実施例では、外部デバイス制御部１１０は、外部デバイス制御回路１１２、およびステータスレジスタ１１１を備えている。外部デバイス制御回路１１２は、実際に周辺機器１１３との通信あるいは制御を行うためのものである。
【００１４】
ステータスレジスタ１１１は、特定アドレス（例えば、２０００ｈ）に割り当てられたハードウェアレジスタであって、外部デバイス制御回路１１２の状態を示すデータを記憶するものである。本実施例では、ステータスレジスタ１１１は、ポーリング処理が必要となった場合に、ＣＰＵ１０１が繰り返し参照する特定アドレスのデータを記憶するものである。ここで、ポーリング処理とは、プログラムにおいて特定アドレスのデータが期待値になるまで特定アドレスのデータを繰り返し参照して待つ処理である。
【００１５】
ＣＰＵ１０１は、クロック制御部１０３から出力されるクロックを基準にして処理を実行する演算装置である。本実施例では、ＣＰＵ１０１は、クロック制御部１０３から出力されるクロックを基準として、外部デバイス制御回路１１２に対する処理を実行するものである。
【００１６】
省電力モード管理部１０２は、ＣＰＵ１０１の省電力モードへの遷移およびＣＰＵ１０１の省電力モードからの復帰を制御するものである。本実施例では、省電力モード管理部１０２は、アドレス記憶部１０４、期待値記憶部１０５、条件記憶部１０６、比較器１０７、条件検出時間記憶部１０８、および時間監視部１０９を備えている。
【００１７】
アドレス記憶部１０４は、図２に示すように、ポーリング処理が必要となった場合にＣＰＵ１０１が繰り返し参照するデータが記憶された特定アドレス（例えば、２０００ｈ）を記憶するアドレスレジスタである。
【００１８】
期待値記憶部１０５は、図２に示すように、ポーリング処理中に特定アドレス（例えば、２０００ｈ）に記憶されたデータの期待値（例えば、００１２ｈ）を記憶するデータレジスタである。なお、本実施例では、期待値記憶部１０５は、特定アドレスに記憶されたデータの下位８ビットの期待値を記憶している。
【００１９】
条件記憶部１０６は、図２に示すように、期待値記憶部１０５に記憶された期待値に対する比較条件を記憶する条件レジスタである。本実施例では、条件記憶部１０６は、特定アドレス（例えば、２０００ｈ）に記憶されたデータの下位８ビットと期待値（例えば、００１２ｈ）とを比較することを示す比較条件（例えば、００ＦＦｈ）を記憶する。
【００２０】
比較器１０７は、ＣＰＵ１０１においてポーリング処理の実行が必要となった場合に、ＣＰＵ１０１に代わってポーリング処理を実行するものである。まず、比較器１０７は、アドレス記憶部１０４に記憶された特定アドレスに従って、ステータスレジスタ１１１からデータを繰り返し参照する。続いて、比較部１０７（判断手段）は、条件記憶部１０６に記憶された比較条件において、参照したデータと、期待値記憶部１０５に記憶された期待値と、が一致するか否かを判断する。具体的には、比較器１０７は、ＣＰＵ１０１に代わって適当な周期でステータスレジスタ１１１からデータを取り込み、取り込んだデータと条件記憶部１０６に記憶された比較条件との論理積と、期待値記憶部１０５に記憶された期待値と、が一致するか否かを判断するものとする。本実施例では、比較器１０７は、特定アドレスに記憶されたデータの下位８ビットと、期待値と、が一致するか否かを判断するものとする。
【００２１】
そして、比較器１０７（制御手段）は、条件記憶部１０６に記憶された比較条件において、参照したデータと、期待値記憶部１０５に記憶された期待値と、が一致したと判断するまで、a.  power＿  save信号（真）（a.  power＿  save  signal）をクロック制御部１０３に出力してＣＰＵ１０１が省電力モードに遷移するように制御する。一方、比較器１０７（制御手段）は、条件記憶部１０６に記憶された比較条件において、参照したデータと、期待値記憶部１０５に記憶された期待値とが一致した場合、a.  power＿  save信号（偽）をクロック制御部１０３に出力してＣＰＵ１０１が省電力モードから復帰するように制御する。なお、比較器１０７は、ＣＰＵ１０１が基準とする定常周波数より十分に低い周波数で、データの参照やa.  power＿  save信号の出力を行うものとする。
【００２２】
条件検出時間記憶部１０８は、図２に示すように、比較器１０７によるステータスレジスタ１１１から参照したデータと期待値記憶部１０５に記憶された期待値とが一致するか否かの判断を行う所定時間（例えば、６０秒）を記憶するタイマーレジスタである。
【００２３】
時間監視部１０９（測定手段）は、比較器１０７によりステータスレジスタ１１１から参照したデータと期待値記憶部１０５に記憶された期待値とが一致するか否かを判断している時間を測定するＨ／Ｗ  Ｔｉｍｅｒである。
【００２４】
本実施例では、比較器１０７は、時間監視部１０９により測定された時間が条件検出時間記憶部１０８に記憶された所定時間を超えた場合に（つまり、所定時間内にステータスレジスタ１１１から参照したデータと期待値記憶部１０５に記憶された期待値とが一致しなかった場合に）、a.  power＿  save信号（偽）をクロック制御部１０３に出力してＣＰＵ１０１が省電力モードから復帰するように制御する。
【００２５】
クロック制御部１０３は、ＣＰＵ１０１が処理を実行する際に基準とするクロックをＣＰＵ１０１に供給するものである。より具体的には、クロック制御部１０３は、比較器１０７からa.  power＿  save信号（偽）が出力された場合、定常周波数でクロック（b.  CPU  CLK）をＣＰＵ１０１に出力する。一方、クロック制御部１０３は、比較器１０７からa  power＿  save信号（真）が出力された場合、クロック（b.  CPU  CLK）の出力を停止、または定常周波数より低い周波数でクロック（b.  CPU  CLK）をＣＰＵ１０１に出力する。
【００２６】
次に、図３を用いて、本実施例にかかる外部デバイス制御装置１００における省電力制御処理の流れについて説明する。図３は、実施例１にかかる外部デバイス制御装置における省電力制御処理の流れを示すフローチャートである。
【００２７】
比較器１０７は、ＣＰＵ１０１においてポーリング処理の実行が必要となっていない場合（つまり、ステータスレジスタ１１１から参照したデータと期待値記憶部１０５に記憶された期待値とが一致するか否かを判断している場合）、クロック制御部１０３に対してa.  power＿  save信号（偽）を出力して、定常周波数でのクロックの供給を指示する（ステップＳ３０１）。
【００２８】
ＣＰＵ１０１は、ポーリング処理の実行が必要となった場合、比較器１０７に対してポーリング処理の代行を依頼するとともに、アドレス記憶部１０４、期待値記憶部１０５、条件記憶部１０６、および条件検出時間記憶部１０７に対して特定アドレス、期待値、比較条件、所定時間を設定する（ステップＳ３０２）。
【００２９】
比較器１０７は、ＣＰＵ１０１からポーリング処理の代行が依頼されると、アドレス記憶部１０４に記憶された特定アドレスに従って、ステータスレジスタ１１１からデータを繰り返し参照するとともに、条件記憶部１０６に記憶された比較条件において、参照したデータと期待値記憶部１０５に記憶された期待値とが一致するか否かを判断し、参照したデータと期待値とが一致しなかった場合、a.  power＿  save信号（真）をクロック制御部１０３に出力して、ＣＰＵ１０１が省電力モードに遷移するように制御する（ステップＳ３０３）。
【００３０】
クロック制御部１０３は、比較器１０７からa.  power＿  save信号（真）が出力されると、ＣＰＵ１０１へのクロックの供給を停止、若しくは定常周波数よりも低い周波数でクロックをＣＰＵ１０１に出力する（ステップＳ３０４）。
【００３１】
そして、比較器１０７は、参照したデータと期待値とが一致した場合、もしくは時間監視部１０９により測定した時間が条件検出時間記憶部１０８に記憶された所定時間を超えた場合、a.  power＿  save（偽）を出力して、ＣＰＵ１０１が省電力モードから復帰するように制御する（ステップＳ３０５）。
【００３２】
クロック制御部１０３は、比較器１０７からa.  power＿  save信号（偽）が出力されると、ＣＰＵ１０１に対して定常周波数でクロックを供給する（ステップＳ３０６）。クロック制御部１０３からのクロックの供給が再開されると、ＣＰＵ１０１は、後続の処理または他の処理を実行する。
【００３３】
このように本実施例にかかる外部デバイス制御装置１００によれば、ＣＰＵ１０１においてポーリング処理の実行が必要となった場合に、省電力モード管理部１０２（比較器１０７）がポーリング処理を代行して実行して、その間、ＣＰＵ１０１を省電力モードに遷移させることにより、ＣＰＵ１０１は省電力モードへの遷移のための複雑な処理や省電力モードからの復帰のための割り込み条件の考慮が不要なので、ポーリング処理中におけるＣＰＵ１０１の省電力モードへの遷移処理を容易に実装することができ、かつポーリング処理中におけるＣＰＵ１０１からの高速なバス使用負荷が軽減されてシステム全体の性能向上にも寄与することができる。
【実施例２】
【００３４】
本実施例では、ＣＰＵの省電力モードへの遷移を複数の省電力モード管理部に委ねるものである。なお、上述の実施例と同様の箇所については説明を省略し、異なる箇所についてのみ説明する。
【００３５】
図４は、実施例２にかかる外部デバイス制御装置の構成を示すブロック図である。本実施例にかかる外部デバイス制御装置４００は、複数の省電力モード管理部１０２および検出部４０１を備える点において、実施例１にかかる外部デバイス制御装置１００とは異なる。
【００３６】
検出部４０１（検出手段）は、全ての省電力モード管理部１０２の比較器１０７からa.  power＿  save信号（真）が出力されたことを検出した場合に、c.  power＿  save信号（真）をクロック制御部１０３に出力して、ＣＰＵ１０１を省電力モードに遷移させる。一方、検出部４０１は、少なくとも１つの省電力モード管理部１０２の比較器１０７からa.  power＿  save信号（偽）が出力されたことが検出した場合に、c.  power＿  save信号（偽）をクロック制御部１０３に出力して、ＣＰＵ１０１を省電力モードから復帰させる。
【００３７】
このように本実施例にかかる外部デバイス制御装置４００によれば、ＣＰＵ１０１の省電力モードへの遷移を複数の省電力モード管理部１０２に委ねることにより、より細やかにＣＰＵ１０１の省電力モードへの遷移を制御することができる。
【実施例３】
【００３８】
本実施例では、ＣＰＵを省電力モードに遷移させるように制御されかつ予め設定された付加条件を満たした場合に、ＣＰＵを省電力モードに遷移させるものである。なお、上述の実施例と同様の箇所については説明を省略し、異なる箇所についてのみ説明する。
【００３９】
図５は、実施例３にかかる外部デバイス制御装置の構成を示すブロック図である。本実施例にかかる外部デバイス制御装置５００は、省電力モード管理部５０１が付加条件監視部５０２を備える点において、上述の実施例と異なる。
【００４０】
付加条件監視部５０２（監視手段）は、比較器１０７からa.  power＿  save信号（真）が出力され、かつ比較器１０７から出力されたa.  power＿  save信号が規定時間以上（真）の場合にのみクロック制御部１０３に対してa.  power＿  save信号（真）を出力するハードウェアタイマーである。これにより、ポーリング処理が必要となった時間が短い場合には、ＣＰＵ１０１を省電力モードに遷移させないように制御することができる。
【００４１】
なお、本実施例では、付加条件監視部５０２としてハードウェアタイマーを用いたが、比較器１０７からa.  power＿  save信号（真）が出力され、かつ予め設定された付加条件を満たした場合に、クロック制御部１０３に対してa.  power＿  save信号（真）を出力するものであれば、これに限定するものではない。例えば、付加条件監視部５０２として温度センサを用い、比較器１０７からa.  power＿  save信号（真）が出力され、かつ検出した温度が規定温度以下ならＣＰＵ１０１が省電力モードに遷移しないように制御する。さらに、付加条件監視部５０２は、ポーリング処理を実行する条件やポーリング処理を実行している監視時間の履歴などが、予め設定された付加条件を満たしたか否かを判断して、a.  power＿  save信号を出力しても良い。
【００４２】
このように本実施例にかかる外部デバイス制御装置５００によれば、ＣＰＵ１０１を省電力モードに遷移させるように制御されかつ予め設定された付加条件を満たした場合に、ＣＰＵ１０１を省電力モードに遷移させることにより、例えば、ポーリング処理が必要となった時間が短い場合には、ＣＰＵ１０１を省電力モードに遷移させないように制御することができるので、より細やかにＣＰＵ１０１の省電力モードへの遷移を制御することができる。
【００４３】
なお、本実施例の外部デバイス制御装置で実行されるプログラムは、ＲＯＭ（Read  Only  Memory）等に予め組み込まれて提供される。本実施例の外部デバイス制御装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ（Compact  Disk）−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【００４４】
さらに、本実施例の外部デバイス制御装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施例の外部デバイス制御装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００４５】
本実施例の外部デバイス制御装置で実行されるプログラムは、上述した各部（省電力モード管理部、検出部、付加条件監視部など）を含むモジュール構成となっており、実際のハードウェアとしては、ＣＰＵ１０１（主制御部）の定常周波数よりも十分に低い周波数で動作する副制御部としてのＣＰＵ（プロセッサ）が上記ＲＯＭからプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、省電力モード管理部、検出部、付加条件監視部などが主記憶装置上に生成されるようになっている。
【符号の説明】
【００４６】
１００，４００，５００  外部デバイス制御装置
１０１  ＣＰＵ
１０２  省電力モード管理部
１０７  比較器
１０９  時間監視部
４０１  検出部
５０２  付加条件監視部
【図１】
2011013914.tif 000003
【図２】
2011013914.tif 000004
【図３】
2011013914.tif 000005
【図４】
2011013914.tif 000006
【図５】
2011013914.tif 000007