(57)【要約】      （修正有）【課題】ＣＰＵの消費電力を十分に削減することができるＣＰＵの制御方法を提供する。【解決手段】ＣＰＵの制御方法に於いて、ＣＰＵのとり得る省電力状態への遷移からＣＰＵの活性状態への復帰迄の消費電力量と、活性状態への復帰後にＣＰＵが実行する処理の処理量と、活性状態への復帰後にＣＰＵが使用可能な周波数とに基づき、ＣＰＵの遷移先の省電力状態及び処理に用いる周波数を決定する。【選択図】図５
2015041330.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵの制御方法に於いて、
前記ＣＰＵのとり得る省電力状態への遷移から前記ＣＰＵの活性状態への復帰迄の消費電力量と、前記活性状態への復帰後に前記ＣＰＵが実行する処理の処理量と、前記活性状態への復帰後に前記ＣＰＵが使用可能な周波数と、に基づき、前記ＣＰＵの遷移先の省電力状態及び前記処理に用いる周波数を決定する、ＣＰＵの制御方法。
【請求項２】
請求項１に記載のＣＰＵの制御方法に於いて、
前記ＣＰＵの遷移先の省電力状態及び前記処理に用いる周波数を、前記省電力状態への遷移前に決定する、ＣＰＵの制御方法。
【請求項３】
請求項１又は２に記載のＣＰＵの制御方法に於いて、
前記処理に用いる周波数を、前記省電力状態への遷移前に前記ＣＰＵに設定する、ＣＰＵの制御方法。
【請求項４】
請求項１乃至３の何れかに記載のＣＰＵの制御方法に於いて、
前記処理に用いる周波数が、前記周波数の決定時に前記ＣＰＵに設定されている周波数よりも高い場合、前記ＣＰＵの周波数の下限値を、前記処理に用いる周波数以上とする、ＣＰＵの制御方法。
【請求項５】
請求項１乃至３の何れかに記載のＣＰＵの制御方法に於いて、
前記処理に用いる周波数が、前記周波数の決定時に前記ＣＰＵに設定されている周波数よりも高い場合、前記ＣＰＵの周波数に関する指標を変更して、前記処理に用いる周波数が低下しにくくする、ＣＰＵの制御方法。
【請求項６】
請求項１乃至５の何れかに記載のＣＰＵの制御方法に於いて、
前記処理に終了期限が設定されている場合、前記終了期限に基づき、前記ＣＰＵの遷移先の省電力状態及び前記処理に用いる周波数を決定する、ＣＰＵの制御方法。
【請求項７】
ＣＰＵの制御プログラムに於いて、
前記制御プログラムは、前記ＣＰＵに、
前記ＣＰＵのとり得る省電力状態への遷移から前記ＣＰＵの活性状態への復帰迄の消費電力量と、前記活性状態への復帰後に前記ＣＰＵが実行する処理の処理量と、前記活性状態への復帰後に前記ＣＰＵが使用可能な周波数と、に基づき、前記ＣＰＵの遷移先の省電力状態及び前記処理に用いる周波数を決定させる、ＣＰＵの制御プログラム。
【請求項８】
情報処理装置に於いて、
前記ＣＰＵのとり得る省電力状態への遷移から前記ＣＰＵの活性状態への復帰迄の消費電力量と、前記活性状態への復帰後に前記ＣＰＵが実行する処理の処理量と、前記活性状態への復帰後に前記ＣＰＵが使用可能な周波数と、に基づき、前記ＣＰＵの遷移先の省電力状態及び前記処理に用いる周波数を決定する制御部、を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、ＣＰＵの制御方法、制御プログラム、情報処理装置に関する。
【背景技術】
【０００２】
例えばスマートフォンなどの情報処理装置に於いて、ＣＰＵが実行すべき処理が途切れた場合、ＣＰＵを活性状態から消電力状態に遷移させて、ＣＰＵの消費電力を削減する技術が開発されている。  
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００９−５３２９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、省電力状態のＣＰＵを活性状態に復帰させるときには、ＣＰＵに大量の電流が流入する為、ＣＰＵの消費電力が大幅に増加する。このため、省電力状態の設定期間が短いと、活性状態から省電力状態への遷移及び省電力状態から活性状態への復帰のサイクル全体では、ＣＰＵの消費電力が反って増加することもある。従って、従来技術では、省電力状態の設定時間をどのくらい確保できるかに基づき、ＣＰＵを活性状態から省電力状態に遷移させるかどうかを判断している。複数の省電力状態が存在する場合、省電力状態毎の設定時間をどのくらい確保できるかに基づき、どの省電力状態に遷移すべきかを判断している。しかし、従来技術では、ＣＰＵの消費電力を十分に削減することが出来ていない。
【０００５】
開示の技術によれば、ＣＰＵの消費電力を十分に削減することができるＣＰＵの制御方法、制御プログラム、情報処理装置を提供する。
【課題を解決するための手段】
【０００６】
開示の技術の一観点によれば、ＣＰＵの制御方法に於いて、前記ＣＰＵのとり得る省電力状態への遷移から前記ＣＰＵの活性状態への復帰迄の消費電力量と、前記活性状態への復帰後に前記ＣＰＵが実行する処理の処理量と、前記活性状態への復帰後に前記ＣＰＵが使用可能な周波数と、に基づき、前記ＣＰＵの遷移先の省電力状態及び前記処理に用いる周波数を決定する、ＣＰＵの制御方法、が提供される。
【発明の効果】
【０００７】
本開示の技術の一観点によれば、ＣＰＵの消費電力を十分に削減することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態にかかる情報処理装置のハードウェア構成の概略図である。
【図２】第１の実施形態にかかる情報処理装置の機能ブロックの概略図である。
【図３】第１の実施形態にかかる最小ＱｏＳ時間テーブルの概略図である。
【図４】第１の実施形態にかかる遷移処理の模式図である。
【図５】第１の実施形態にかかる遷移処理のフローチャートである。
【図６】第２の実施形態にかかる情報処理装置の機能ブロックの概略図である。
【図７】第２の実施形態にかかる周波数別消費電力テーブルの概略図である。
【図８】第２の実施形態にかかる省電力状態別消費電力テーブルの概略図である。
【図９】第２の実施形態にかかる遷移処理のフローチャートである。
【図１０】第３の実施形態にかかる情報処理装置の機能ブロックの概略図である。
【図１１】第３の実施形態にかかる周波数動的判定部の詳細機能の概略図である。
【図１２】第３の実施形態にかかる遷移処理のフローチャートである。
【図１３】第３の実施形態にかかる周波数の設定の詳細フローチャートである。
【図１４】第４の実施形態にかかる情報処理装置の機能ブロックの概略図である。
【図１５】第４の実施形態にかかる遷移処理のフローチャートである。
【図１６】第５の実施形態にかかる情報処理装置の機能ブロック及び追加ハードウェア構成の概略図である。
【図１７】第５の実施形態にかかる周波数の設定のフローチャートである。
【発明を実施するための形態】
【０００９】
以下の実施形態では、省電力状態から活性状態への復帰後にＣＰＵが実行すべき次回処理が存在し、次回処理の終了後、再度ＣＰＵが省電力状態に遷移することを想定する。このような場合、ＣＰＵの消費電力を削減する為には、省電力状態への遷移から活性状態への復帰までの消費電力量と、次回処理の消費電力量と、の総和を削減する必要がある。ところが、省電力状態への遷移から活性状態への復帰までの消費電力量は、遷移先の省電力状態毎に異なる。又、次回処理の消費電力量は、ＣＰＵが使用する周波数毎に異なる。
【００１０】
そこで、本実施形態では、ＣＰＵの消費電力量の総量が削減するように、遷移先の省電力状態及び使用する周波数の組み合わせを選択する。但し、遷移先の省電力状態及び使用する周波数の組み合わせを、無制限に決めることはできない。例えば、次回処理に終了期限が設定されている場合、使用する周波数を単純に低くすると、次回処理の終了期限を守れないこともある。又、消費電力が最小となる省電力状態に遷移すると、省電力状態への遷移及び活性状態への復帰に時間がかかり過ぎる為、次回処理の開始時刻が遅れ、次回処理の終了期限を守れないこともある。本実施形態は、このような制約を守りつつ、最適な省電力状態及び周波数を選択する。
【００１１】
［第１の実施形態］
以下、図１〜図５を参照して、第１の実施形態を説明する。
【００１２】
本実施形態では、ＣＰＵ１０１のとり得る省電力状態への遷移からＣＰＵ１０１の活性状態への復帰迄の消費電力量と、活性状態への復帰後にＣＰＵ１０１が実行する処理の処理量と、活性状態への復帰後にＣＰＵ１０１が使用可能な周波数と、に基づき、ＣＰＵ１０１の遷移先の省電力状態及び処理に用いる周波数を決定する。このため、ＣＰＵ１０１の消費電力を削減できる最適な省電力状態及び周波数を採用することができる。
【００１３】
［情報処理装置１００のハードウェア］
図１は、第１の実施形態にかかる情報処理装置１００のハードウェア構成の概略図である。本実施形態では、情報処理装置１００として、例えばスマートフォンやタブレットＰＣなどの携帯型の情報処理装置を想定する。
【００１４】
図１に示すように、情報処理装置１００は、ＣＰＵ（Central  Processing  Unit）１０１、メインメモリ１０２、補助メモリ１０３、ＧＰＵ１０４、ディスプレイ１０５、通信モジュール１０６、をハードウェアモジュールとして備える。これらのハードウェアモジュールは、バス１０７により相互接続されている。
【００１５】
ＣＰＵ１０１は、バス１０７を介して、補助メモリ１０３に格納された各種プログラムをメインメモリ１０２に読み出すとともに、該メインメモリ１０２に読み出した各種プログラムを実行することで、各種機能を実現する。各種機能の詳細は、後述することとする。
【００１６】
メインメモリ１０２は、ＣＰＵ１０１により実行される各種プログラムを格納する。さらに、メインメモリ１０２は、ＣＰＵ１０１のワークエリアとして使用され、ＣＰＵ１０１による処理に必要な各種データを記憶する。メインメモリ１０２としては、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などを用いても良い。
【００１７】
補助メモリ１０３は、情報処理装置１００を動作させる各種プログラムを格納している。各種プログラムとしては、例えば、情報処理装置１００により実行されるアプリケーションプログラムのほか、アプリケーションプログラムの実行環境であるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）などがある。本実施形態にかかる制御プログラムも補助メモリ１０３に格納されている。補助メモリ１０３としては、例えば、ハードディスクやフラッシュメモリ等の不揮発メモリを用いても良い。
【００１８】
ＧＰＵ１０４は、ＣＰＵ１０１により制御され、ディスプレイ１０５に表示される描画データを生成する。さらに、ＧＰＵ１０４は、バス１０７の制御権を取得して、生成された描画データをＶＲＡＭ（Video Random Access Memory）に記憶する。ＧＰＵ１０４は、描画データの生成後、ＣＰＵ１０１に割り込み信号を送信する。
【００１９】
ディスプレイ１０５は、ＶＲＡＭに記憶されている描画データを表示する。通信モジュール１０６は、ＣＰＵ１０１により制御され、例えばメールやツイッターなどの送受信の他、各種通信を実行する。
【００２０】
［情報処理装置１００の機能ブロック］
図２は、第１の実施形態にかかる情報処理装置１００の機能ブロックの概略図である。
【００２１】
図２に示すように、情報処理装置１００は、ＧＰＵ制御部２０１、種別判定部２０２、状態判定部２０３、制約計算部２０４、周波数条件判定部２０５、周波数設定通知部２０６、周波数設定部２０７、ＣＰＵ状態制御部２０８、を備える。さらに、第１の実施形態にかかるメインメモリ１０２もしくは補助メモリ１０３は、最小ＱｏＳ時間テーブルＴ１を記憶している。
【００２２】
ＧＰＵ制御部２０１、種別判定部２０２、状態判定部２０３、制約計算部２０４、周波数条件判定部２０５、周波数設定通知部２０６、周波数設定部２０７、ＣＰＵ状態制御部２０８は、何れもＣＰＵ１０１がメインメモリ１０２に制御プログラムを読み込むとともに、該メインメモリ１０２に読み込んだ制御プログラムを実行することで実現される。
【００２３】
ＧＰＵ制御部２０１は、ＣＰＵ１０１からの指示に基づき、例えば描画処理などの処理の実行を、ＧＰＵ１０４に指示する。さらに、ＧＰＵ制御部２０１は、種別判定部２０２にＱｏＳ要求を通知する。ＱｏＳ要求は、少なくとも、ＧＰＵ１０４に実行させる処理の種別と、種別毎のＱｏＳ時間ｔｑと、を含む。さらに、ＧＰＵ制御部２０１は、ＧＰＵ１０４からの割り込み信号を受け付ける。
【００２４】
種別判定部２０２は、ＧＰＵ制御部２０１からの処理の種別に基づき、ＣＰＵ１０１の次回処理に終了期限が設定されているかどうかを判断する。
【００２５】
状態判定部２０３は、ＧＰＵ制御部２０１からのＱｏＳ時間ｔｑに基づき、ＣＰＵ１０１の遷移先の省電力状態Ｓを決定する。省電力状態Ｓとしては、例えば、活性待機状態、スリープ状態などを使用しても良い。
【００２６】
制約計算部２０４は、ＣＰＵ１０１の周波数ｆ毎にＣＰＵ処理時間ＴＬｆを計算する。ＣＰＵ処理時間ＴＬｆは、ＣＰＵ１０１に周波数ｆを設定したときの、次回処理の所要時間である。さらに、制約計算部２０４は、画面更新の予定時刻と、描画処理の所要時間と、に基づき、ＣＰＵ終了期限ｔｄｅａｄｌｉｎｅを計算する。ＣＰＵ終了期限ｔｄｅａｄｌｉｎｅは、ＧＰＵ１０４の描画処理を画面更新の予定時刻までに終了させる為に、ＣＰＵ１０１の次回処理を終了させなければならない最終期限である。
【００２７】
周波数条件判定部２０５は、省電力状態Ｓ毎に最小ＱｏＳ時間ｔｑｍｉｎを最小ＱｏＳ時間テーブルＴ１から取得する。最小ＱｏＳ時間ｔｑｍｉｎは、ＣＰＵ１０１を活性状態から省電力状態Ｓの何れかに遷移させたときに、ＣＰＵ１０１の消費電力を削減することができる最短時間である。さらに、周波数条件判定部２０５は、省電力状態Ｓ毎に最低周波数ｆｍｉｎを選択する。最低周波数ｆｍｉｎは、制限時間Ｔ以内にＣＰＵ１０１の次回処理を終了させることができる周波数の最低値である。制限時間Ｔは、現在時刻からＣＰＵ終了期限ｔｄｅａｄｌｉｎｅまでの時間である。さらに、周波数条件判定部２０５は、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせのうち、ＣＰＵ１０１のトータルの消費電力が最小となる組み合わせを選択する。
【００２８】
周波数設定通知部２０６は、周波数条件判定部２０５からの最低周波数ｆｍｉｎを、ＣＰＵ１０１の復帰周波数として、周波数設定部２０７に設定する。復帰周波数は、省電力状態から活性状態への復帰後すぐにＣＰＵ１０１が使用する周波数である。さらに、周波数設定通知部２０６は、周波数設定部２０７への最低周波数ｆｍｉｎの設定をトリガとして、ＣＰＵ状態制御部２０８に周波数設定の完了を通知する。
【００２９】
周波数設定部２０７は、ＣＰＵ１０１の周波数を記憶する。ＣＰＵ１０１は、周波数設定部２０７に記憶された周波数を使用して、各種処理を実行することとなる。
【００３０】
ＣＰＵ状態制御部２０８は、ＣＰＵ１０１を、状態判定部２０３により決定された活性状態もしくは省電力状態Ｓの何れかに設定する。
【００３１】
［最小ＱｏＳ時間テーブルＴ１］
図３は、第１の実施形態にかかる最小ＱｏＳ時間テーブルＴ１の概略図である。
【００３２】
図３に示すように、最小ＱｏＳ時間テーブルＴ１は、ＣＰＵ１０１の省電力状態の種別（レベル）毎に最小ＱｏＳ時間を記憶する。最小ＱｏＳ時間は、ＣＰＵ１０１を活性状態から省電力状態（活性待機状態もしくはスリープ状態）の何れかに遷移させ、さらに活性状態に復帰させたときに、ＣＰＵ１０１の消費電力を削減することができる最小時間である。本実施形態にかかる最小ＱｏＳ時間テーブルＴ１では、活性待機状態Ｓ１には、最小ＱｏＳ時間として、ｔｑｍｉｎ（ｓ１）が紐付けられ、スリープ状態Ｓ２には、最小ＱｏＳ時間として、ｔｑｍｉｎ（ｓ２）が紐付けられている。
【００３３】
即ち、ＣＰＵ１０１を活性状態から活性待機状態に遷移させ、さらに活性状態に復帰させる場合、活性待機状態の設定期間がｔｑｍｉｎ（ｓ１）を上回っていれば、ＣＰＵ１０１の消費電力を削減することができる。同様に、ＣＰＵ１０１を活性状態からスリープ状態に遷移させ、さらに活性状態に復帰させる場合、スリープ状態の設定期間がｔｑｍｉｎ（ｓ２）を上回っていれば、ＣＰＵ１０１の消費電力を削減することができる。
【００３４】
［遷移処理の概略］
図４は、第１の実施形態にかかる遷移処理の模式図である。
【００３５】
本実施形態では、情報処理装置１００の画面更新を例示して、省電力状態への遷移処理を説明する。
【００３６】
図４に示すように、情報処理装置１００の画面更新に於いて、ＧＰＵ１０４は、ＣＰＵ１０１からの描画指示に基づき、描画指示に紐付けられたＱｏＳ時間ｔｑをＣＰＵ１０１に通知する。さらに、ＧＰＵ１０４は、ＣＰＵ１０１からの描画指示に基づき、描画処理、即ち情報処理装置１００に表示させる描画データの生成を開始する。描画処理の終了後、ＧＰＵ１０４は、描画データをＶＲＡＭに書き込み、ＣＰＵ１０１に割り込み信号を送信する。割り込み信号は、ＧＰＵ１０４の描画処理の完了通知である。
【００３７】
一方、ＣＰＵ１０１は、ＧＰＵ１０４への描画指示後、省電力状態に遷移する。省電力状態は、例えば活性待機状態もしくはスリープ状態である。省電力状態のＣＰＵ１０１は、ＧＰＵ１０４からの割り込み信号に基づき、活性状態に復帰して、ＧＰＵ１０４の前回の描画処理の後処理と、これに後続する次回の描画処理の前処理を実行する。このとき、ＣＰＵ１０１は、ＱｏＳを確保する為、割り込み信号の受信後、ＱｏＳ時間ｔｑの経過前に、前回の描画処理の後処理を開始することとなる。このため、ＣＰＵ１０１は、前回の描画処理の後処理及び次回の描画処理の前処理を、ＣＰＵ終了期限ｔｄｅａｄｌｉｎｅまでに終了することができる。ＣＰＵ終了期限ｔｄｅａｄｌｉｎｅは、後続するＧＰＵ１０４の描画処理を、次回の画面更新までに終了させる為に、ＣＰＵ１０１の後処理及び前処理を終了させなければならない最終期限である。よって、ＧＰＵ１０４は、次回の画面更新までに描画処理を終了させることができる。
【００３８】
なお、後処理は、例えばＧＰＵ１０４により生成された描画データのディスプレイ１０５への転送や、ＧＰＵ１０４への省電力状態への遷移指示の生成である。前処理は、例えばＧＰＵ１０４への描画指示の生成である。
【００３９】
ディスプレイ１０５は、ＶＲＡＭに書き込まれた描画データに基づき、例えば１／６０［ｓｅｃ］毎に画面更新を実行する。
【００４０】
［遷移処理フロー］
図５は、第１の実施形態にかかる遷移処理のフローチャートである。
【００４１】
図５に示すように、種別判定部２０２は、ＧＰＵ制御部２０１からの処理の種別に基づき、ＣＰＵ１０１の次回処理に終了期限が設定されているかどうかを判断する（ステップＳ００１）。次回処理は、前処理と後処理を含む。後処理は、例えばＧＰＵ１０４により生成された描画データのディスプレイ１０５への転送や、ＧＰＵ１０４への省電力状態への遷移指示の生成である。前処理は、例えばＧＰＵ１０４への描画指示の生成である。
【００４２】
ここで、終了期限が設定されていると判断されない場合（ステップＳ００１のＮｏ）、状態判定部２０３は、ＧＰＵ制御部２０１からのＱｏＳ時間ｔｑに基づき、ＣＰＵ１０１の遷移先の省電力状態Ｓを決定する（ステップＳ０１０）。
【００４３】
次に、ＣＰＵ状態制御部２０８は、ＣＰＵ１０１を、状態判定部２０３により決定された省電力状態Ｓに設定する（ステップＳ００９）。
【００４４】
一方、終了期限が設定されていると判断された場合（ステップＳ００１のＹｅｓ）、制約計算部２０４は、ＣＰＵ１０１の周波数ｆ毎にＣＰＵ処理時間ｔＬｆを計算する（ステップＳ００２）。ここでは、ＣＰＵ１０１に設定可能な、ＣＰＵ１０１の現在の周波数よりも高い周波数ｆを使用する。ＣＰＵ処理時間ＴＬｆは、ＣＰＵ１０１の次回処理の所要時間である。具体的には、制約計算部２０４は、ＣＰＵ１０１の次回処理の処理量Ｌを周波数ｆで除算して、ＣＰＵ処理時間ＴＬｆとする。
【００４５】
次に、制約計算部２０４は、画面更新の予定時刻及び描画処理の所要時間に基づき、ＣＰＵ１０１の次回処理の終了期限、即ちＣＰＵ終了期限ｔｄｅａｄｌｉｎｅを計算する（ステップＳ００３）。ＣＰＵ終了期限ｔｄｅａｄｌｉｎｅは、ＧＰＵ１０４の描画処理を、画面更新の予定時刻までに終了させる為に、ＣＰＵ１０１の次回処理を終了させなければならない最終期限である。
【００４６】
次に、周波数条件判定部２０５は、最小ＱｏＳ時間テーブルＴ１を参照して、省電力状態Ｓ毎に最小ＱｏＳ時間ｔｑｍｉｎを取得する（ステップＳ００４）。最小ＱｏＳ時間ｔｑｍｉｎは、ＣＰＵ１０１を活性状態から省電力状態Ｓの何れかに遷移させたときに、ＣＰＵ１０１の消費電力を削減することができる最短時間である。
【００４７】
次に、周波数条件判定部２０５は、省電力状態Ｓ毎に最低周波数ｆｍｉｎを選択する（ステップＳ００５）。最低周波数ｆｍｉｎは、現在時刻からＣＰＵ終了期限ｔｄｅａｄｌｉｎｅまでの時間、即ち制限時間Ｔ以内にＣＰＵ１０１の次回処理を終了させることができる周波数の最低値である。即ち、周波数条件判定部２０５は、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせを作成する。具体的には、周波数条件判定部２０５は、画面更新の予定時刻及び描画処理の所要時間に基づき、現在時刻からＣＰＵ終了期限ｔｄｅａｄｌｉｎｅまでの制限時間Ｔを計算する。続いて、周波数条件判定部２０５は、ＣＰＵ処理時間ｔＬｆ及び最小ＱｏＳ時間ｔｑｍｉｎの総和が制限時間Ｔ以下となる周波数ｆの最小値を選択する。
【００４８】
次に、周波数条件判定部２０５は、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせのうち、ＣＰＵ１０１のトータルの消費電力が最小となる組み合わせを選択する（ステップＳ００６）。本実施形態では、ＣＰＵ１０１が次回処理を実行するときの周波数ｆ、即ちＣＰＵ処理時間ｔＬｆの周波数ｆが最低となるときに、ＣＰＵ１０１のトータルの消費電力が最小になるとみなす。従って、周波数条件判定部２０５は、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせのうち、最低周波数ｆｍｉｎが最低となる組み合わせを選択する。さらに、周波数条件判定部２０５は、選択された組み合わせの省電力状態Ｓ及び最低周波数ｆｍｉｎを、それぞれ周波数設定通知部２０６及びＣＰＵ状態制御部２０８に通知する。
【００４９】
次に、周波数設定通知部２０６は、周波数条件判定部２０５からの最低周波数ｆｍｉｎを、ＣＰＵ１０１の復帰周波数として、周波数設定部２０７に設定する（ステップＳ００７）。ＣＰＵ１０１は、活性状態への復帰後、周波数設定部２０７に設定された最低周波数ｆｍｉｎを使用することとなる。
【００５０】
次に、周波数設定通知部２０６は、ＣＰＵ状態制御部２０８に周波数の設定完了を通知する（ステップＳ００８）。
【００５１】
次に、ＣＰＵ状態制御部２０８は、周波数設定通知部２０６からの周波数設定の完了通知をトリガとして、ＣＰＵ１０１を、周波数条件判定部２０５により選択された省電力状態Ｓに設定する（ステップＳ００９）。以上で遷移処理が終了する。
【００５２】
以上のように、本実施形態にかかる周波数条件判定部２０２は、遷移先の省電力状態Ｓ及び活性状態への復帰後に使用する周波数として、ＣＰＵ１０１のトータルの消費電力が最小となる、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせを選択している。このため、ＣＰＵ１０１が省電力状態Ｓに遷移しても、ＣＰＵ１０１の消費電力を削減することができる。
【００５３】
しかも、本実施形態にかかる周波数設定部２０５は、ＣＰＵ終了期限ｔｄｅａｄｌｉｎｅまでにＣＰＵ１０１の次回処理を終了させることができる周波数の最低値、即ち最低周波数ｆｍｉｎをＣＰＵ１０１に設定する。このため、ＧＰＵ１０４は、画面更新を予定時刻に確実に実行することができる。
【００５４】
［第２の実施形態］
以下、図６−図９を参照して、第２の実施形態を説明する。但し、第１の実施形態と同等の構成、機能、作用については、説明を省略することとする。
【００５５】
第１の実施形態では、ＣＰＵ１０１が次回処理を実行するときの周波数ｆ、即ちＣＰＵ処理時間ｔＬｆの周波数ｆが最低となるときに、ＣＰＵ１０１のトータルの消費電力が最小になるとみなし、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせを選択していた。即ち、ＣＰＵ１０１が次回処理を実行するときの消費電力だけに基づき、ＣＰＵ１０１のトータルの消費電力が最小となる組み合わせを選択していた。
【００５６】
これに対し、第２の実施形態では、ＣＰＵ１０１が次回処理を実行するときの消費電力だけでなく、省電力状態Ｓの設定期間の消費電力も考慮に入れて、ＣＰＵ１０１のトータルの消費電力が最小となる組み合わせを選択する。
【００５７】
［情報処理装置１００Ａの機能ブロック］
図６は、第２の実施形態にかかる情報処理装置１００Ａの機能ブロックの概略図である。
【００５８】
図６に示すように、第２の実施形態にかかる情報処理装置１００Ａは、第１の実施形態にかかる周波数条件判定部２０５の代わりに周波数条件判定部２０９を備え、さらに最適周波数判定部２１０を備える。さらに、第２の実施形態にかかるメインメモリ１０２もしくは補助メモリ１０３は、周波数別消費電力テーブルＴ２及び省電力状態別消費電力テーブルＴ３を記憶している。
【００５９】
周波数条件判定部２０９及び最適周波数判定部２１０は、ＣＰＵ１０１がメインメモリ１０２に制御プログラムを読み込むとともに、該メインメモリ１０２に読み込んだ制御プログラムを実行することで実現される。
【００６０】
周波数条件判定部２０９は、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせすべてを、最適周波数判定部２０９に通知する。即ち、本実施形態にかかる周波数条件判定部２０９は、第１の実施形態にかかる周波数条件判定部２０５とは異なり、ＣＰＵ１０１のトータルの消費電力が最小となる組み合わせを選択しない。
【００６１】
最適周波数判定部２１０は、周波数条件判定部２０９から通知された、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせのうち、ＣＰＵ１０１のトータルの消費電力が最小となる組み合わせを選択する。但し、本実施形態にかかる最適周波数判定部２１０は、ＣＰＵ１０１が次回処理を実行するときの、即ちＣＰＵ処理時間ｔＬｆの消費電力と、省電力状態Ｓの設定期間ｔｑｍｉｎの消費電力と、の総和が最小となる組み合わせを選択する。さらに、最適周波数判定部２１０は、消費電力の総和が最小となる組み合わせの省電力状態Ｓ及び最低周波数ｆｍｉｎを、それぞれＣＰＵ状態制御部２０８及び周波数設定通知部２０６に通知する。
【００６２】
（周波数別消費電力テーブルＴ２）
図７は、第２の実施形態にかかる周波数別消費電力テーブルＴ２の概略図である。
【００６３】
図７に示すように、周波数別消費電力テーブルＴ２は、ＣＰＵ１０１の周波数毎に、ＣＰＵ１０１の消費電力を記憶する。本実施形態にかかる周波数別消費電力テーブルＴ２では、周波数ｆ１に消費電力ｐｆ１が紐づけられ、周波数ｆ２に、消費電力ｆｆ２が紐付けられている。
【００６４】
（省電力状態別消費電力テーブルＴ３）
図８は、第２の実施形態にかかる省電力状態別消費電力テーブルＴ３の概略図である。
【００６５】
図８に示すように、省電力状態別消費電力テーブルＴ３は、省電力状態Ｓ毎に、ＣＰＵ１０１の消費電力を記憶する。本実施形態にかかる省電力状態別消費電力テーブルＴ３では、活性待機状態Ｓ１に消費電力ｐｓ１が紐づけられ、スリープ状態Ｓ２に消費電力ｐｓ２が紐づけられている。
【００６６】
［遷移処理フロー］
図９は、第２の実施形態にかかる遷移処理のフローチャートである。
【００６７】
図９に示すように、周波数条件判定部２０９は、省電力状態Ｓ毎の最低周波数ｆｍｉｎの選択後（ステップＳ００５）、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせを、最適周波数判定部２１０に通知する。
【００６８】
次に、最適周波数判定部２１０は、周波数条件判定部２０９から通知された、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせのうち、ＣＰＵ１０１のトータルの消費電力が最小となる組み合わせを選択する。但し、本実施形態にかかる最適周波数判定部２１０は、ＣＰＵ１０１が次回処理を実行するときの、即ちＣＰＵ処理時間ｔＬｆの消費電力と、省電力状態の設定期間ｔｑｍｉｎの消費電力と、の総和が最小となる組み合わせを選択する。
【００６９】
具体的には、最適周波数判定部２１０は、周波数別消費電力テーブルＴ２を参照して、ＣＰＵ処理時間ｔＬｆの周波数ｆに紐付けられた消費電力Ｐｆを取得する。続いて、最適周波数判定部２１０は、消費電力ＰｆにＣＰＵ処理時間ｔＬｆを掛け合わせて、ＣＰＵ処理時間ｔＬｆ中の消費電力量を算出する。さらに、周波数条件判定部２０５は、省電力状態別消費電力テーブルＴ３を参照して、省電力状態Ｓに紐付けられた消費電力Ｐｓを取得する。続いて、最適周波数判定部２１０は、消費電力Ｐｓに省電力状態Ｓの設定期間ｔｑｍｉｎを掛け合わせて、省電力状態Ｓの設定期間ｔｑｍｉｎの消費電力量を算出する。続いて、最適周波数判定部２１０は、ＣＰＵ処理時間ｔＬｆの消費電力量と、省電力状態Ｓの設定期間ｔｑｍｉｎの消費電力量と、の総和が最小となる組み合わせを選択する。
【００７０】
以上のように、本実施形態によれば、ＣＰＵ１０１が次回処理を実行するときの、即ちＣＰＵ処理時間ｔＬｆの消費電力量と、省電力状態Ｓの設定期間ｔｑｍｉｎの消費電力量と、の総和が最小となる組み合わせを選択する。このため、ＣＰＵ１０１のトータルの消費電力が最小となる省電力状態Ｓ及び周波数最低周波数ｆｍｉｎの組み合わせを、より正確に選択することができる。よって、ＣＰＵ１０１の消費電力の削減を、より確実に実現することができる。
【００７１】
［第３の実施形態］
以下、図１０−図１３を参照して、第３の実施形態を説明する。但し、第１、第２の実施形態と同等の構成、機能、作用については、説明を省略することとする。
【００７２】
第３の実施形態では、ＣＰＵ１０１の利用状況に基づき、ＣＰＵ１０１の周波数を動的に変化させる、所謂ＬＩＮＵＸ（登録商標）系のＣＰＵｆｒｅｑと、指定イベントの発生をトリガとして、ＣＰＵ１０１の周波数の下限値を所定時間だけ、ＣＰＵｆｒｅｑのパラメータである、ＣＰＵ１０１の周波数の下限値から、別パラメータである、ＣＰＵ１０１の周波数の下限値に切り替える、所謂ｂｏｏｓｔと、を搭載した情報処理装置１００Ｂを想定する。以下、別パラメータをｂｏｏｓｔのパラメータとする。
【００７３】
ＣＰＵｆｒｅｑは、第１、第２の実施形態にかかる復帰周波数の設定処理とは無関係に動作する。このため、活性状態への復帰後にＣＰＵｆｒｅｑが動作してしまい、ＣＰＵ１０１の復帰周波数を下げることがある。ＣＰＵ１０１の復帰周波数が下げられると、最小ＱｏＳ時間ｔｑｍｉｎが延長する為、ＣＰＵ１０１の次回処理を制限時間Ｔ以内に終了できなくなる恐れがある。
【００７４】
従って、本実施形態では、ｂｏｏｓｔの指定イベントをＣＰＵ１０１の活性状態への復帰とする。さらに、ｂｏｏｓｔのパラメータである、ＣＰＵ１０１の周波数の下限値を復帰周波数以上とし、ｂｏｏｓｔの作動期間を最小ＱｏＳ時間ｔｑｍｉｎ以上とする。
【００７５】
これにより、ＣＰＵ１０１の活性状態への復帰後、少なくとも最小ＱｏＳ時間ｔｑｍｉｎは、ｂｏｏｓｔが動作する為、ＣＰＵ１０１の周波数が復帰周波数以下に下げられることがない。
【００７６】
なお、本実施形態では、ＬＩＮＵＸ系のＣＰＵｆｒｅｑを例示しているが、ＣＰＵ１０１の周波数を動的に変化させるものであれば、ＬＩＮＵＸ系のＣＰＵｆｒｅｑに限定されるものではない。
【００７７】
［情報処理装置１００Ｂの機能ブロック］
図１０は、第３の実施形態にかかる情報処理装置１００Ｂの機能ブロックの概略図である。
【００７８】
図１０に示すように、第３の実施形態にかかる情報処理装置１００Ｂは、第１の実施形態にかかる周波数設定通知部２０６の代わりに周波数設定通知部２１１を備え、さらにパラメータ格納部２１２及び周波数動的判定部２１３を備える。
【００７９】
周波数設定通知部２１１、パラメータ格納部２１２、周波数動的判定部２１３は、何れもＣＰＵ１０１がメインメモリ１０２に制御プログラムを読み込むとともに、該メインメモリ１０２に読み込んだ制御プログラムを実行することで実現される。
【００８０】
周波数設定通知部２１１は、パラメータ格納部２１２に格納された、ｂｏｏｓｔのパラメータとしての、ＣＰＵ１０１の周波数の下限値を、活性状態への復帰後にＣＰＵ１０１が使用する復帰周波数（最低周波数ｆｍｉｎ）以上に書き換える。なお、パラメータ格納部２１２に複数のｂｏｏｓｔのパラメータが格納されている場合、周波数設定通知部２１１は、これらのパラメータからＣＰＵ１０１の復帰周波数以上のパラメータを選択しても良い。
【００８１】
パラメータ格納部２１２は、ｂｏｏｓｔのパラメータとしての、ＣＰＵ１０１の周波数の下限値を格納する。
【００８２】
周波数動的判定部２１３は、ＣＰＵ１０１の利用状況に基づき、周波数設定部２０７に設定する周波数、即ちＣＰＵ１０１が使用する周波数を動的に変化させる。通常、周波数動的判定部２１３は、事前に設定されている、ＣＰＵｆｒｅｑのパラメータとしての、ＣＰＵ１０１の周波数の下限値を使用する。但し、周波数動的判定部２１３は、指定イベントの発生をトリガとして、所定時間だけ、パラメータ格納部２１２に格納された、ｂｏｏｓｔのパラメータとしての、ＣＰＵ１０１の周波数の下限値を使用する。
【００８３】
［周波数動的判定部２１３の詳細機能］
図１１は、第３の実施形態にかかる周波数動的判定部２１３の詳細機能の概略図である。但し、図１１は、周波数動的判定部２１３の他に、周波数設定通知部２１１、パラメータ格納部２１２、周波数設定部２０７も示している。
【００８４】
図１１に示すように、周波数動的判定部２１３は、ＣＰＵ利用率計算部２１３１、周波数計算部２１３２、周波数判定部２１３３を含む。
【００８５】
ＣＰＵ利用率計算部２１３１は、ＣＰＵ１０１の利用状況（統計情報など）に基づき、ＣＰＵ利用率（ＣＰＵ負荷）を算出する。ＣＰＵ利用率は、単位時間に占めるＣＰＵ１０１の実行時間の割合である。
【００８６】
周波数計算部２１３２は、直近のＣＰＵ利用率、ＣＰＵ１０１の現在の周波数、利用率しきい値、に基づき、ＣＰＵ１０１が使用する周波数の候補値を計算する。具体的には、周波数計算部２１３２は、直近のＣＰＵ利用率が利用率しきい値を超えているかどうかを判断する。直近のＣＰＵ利用率が利用率しきい値を超えていると判断された場合、周波数計算部２１３２は、ＣＰＵ１０１が使用可能な周波数のうち、ＣＰＵ１０１の現在の周波数よりも高い周波数を、ＣＰＵ１０１が使用する周波数の候補値として選択する。
【００８７】
周波数判定部２１３３は、ＣＰＵ１０１が使用する周波数の候補値と、ｂｏｏｓｔのパラメータとしての、ＣＰＵ１０１の周波数の最低値、のうち、より大きい方を周波数設定部２０７に設定する。
【００８８】
［遷移処理フロー］
図１２は、第３の実施形態にかかる遷移処理のフローチャートである。
【００８９】
図１２に示すように、ＣＰＵ１０１のトータルの消費電力が最小となる、省電力状態Ｓ及び最低周波数ｆｍｉｎの組み合わせの選択後（ステップＳ００６）、周波数設定の完了の通知前に（ステップＳ００８）、周波数設定通知部２１１は、パラメータ格納部２１２に格納されている、ｂｏｏｓｔのパラメータとしての、ＣＰＵ１０１の周波数の下限値を、最低周波数ｆｍｉｎ以上に書き換える（ステップＳ０２１）。
【００９０】
次に、周波数動的判定部２１３は、ＣＰＵ１０１の利用状況に基づき、直近のＣＰＵ利用率を計算して、該ＣＰＵ利用率、ＣＰＵ１０１の現在の周波数、利用率しきい値に基づき、ＣＰＵ１０１が使用する周波数の候補値を計算する（ステップＳＳ０２２）。
【００９１】
次に、周波数動的判定部２１３は、周波数の候補値もしくは周波数の下限値を、ＣＰＵ１０１に設定する（ステップＳ０２３）。即ち、周波数動的判定部２１３は、ＣＰＵ１０１が使用する周波数を、周波数の候補値もしくは周波数の下限値から選択する。具体的には、周波数動的判定部２１３は、周波数の候補値及び周波数の下限値のうち、大きい方を、周波数設定部２０７に設定する。周波数の候補値ではなく、周波数の下限値をＣＰＵ１０１に設定する場合、周波数の維持時間をＣＰＵ処理時間ｔＬｆ以上としても良い。
【００９２】
［周波数の設定処理の詳細］
図１３は、第３の実施形態にかかる周波数の設定の詳細フローチャートである。
【００９３】
図１３に示すように、周波数動的判定部２１３は、タイマが設定されているかどうか判断する（ステップＳ０３１）。
【００９４】
ここで、タイマが設定されていると判断されない場合（ステップＳ０３１のＮｏ）、周波数動的判定部２１３は、周波数の候補値を、ＣＰＵ１０１が使用する周波数として、周波数設定部２０７に設定する（ステップＳ０３２）。
【００９５】
一方、タイマが設定されていると判断された場合（ステップＳ０３１のＹｅｓ）、周波数動的判定部２１３は、現在時刻がタイマの有効期限内であるかどうかを判断する（ステップＳ０３３）。
【００９６】
ここで、現在時刻がタイマの有効期限内であると判断されない場合（ステップＳ０３３のＮｏ）、周波数動的判定部２１３は、タイマをクリアし（ステップＳ０３４）、周波数の候補値を、ＣＰＵ１０１が使用する周波数として、周波数設定部２０７に設定する（ステップＳ０３２）。
【００９７】
一方、現在時刻がタイマの有効期限内であると判断された場合（ステップＳ０３３のＹｅｓ）、周波数動的判定部２１３は、ｂｏｏｓｔのパラメータとしての、周波数の下限値が、周波数の候補値よりも大きいかどうかを判断する（ステップＳ０３５）。
【００９８】
ここで、周波数の下限値が、周波数の候補値よりも大きいと判断されない場合（ステップＳ０３５のＮｏ）、周波数動的判定部２１３は、周波数の候補値を、ＣＰＵ１０１が使用する周波数として、周波数設定部２０７に設定する（ステップＳ０３２）。
【００９９】
一方、周波数の下限値が、周波数の候補値よりも大きいと判断された場合（ステップ０３５のＹｅｓ）、周波数動的判定部２１３は、周波数の下限値を、ＣＰＵ１０１が使用する周波数として、周波数設定部２０７に出力する（ステップＳ０３６）。このため、ＣＰＵ１０１は、タイマの有効期限の満了まで、ｂｏｏｓｔのパラメータとしての、周波数の下限値で動作することとなる。
【０１００】
以上のように、本実施形態によれば、省電力状態から活性状態への復帰をｂｏｏｓｔの指定イベントとし、パラメータ格納部２１２に格納されている、ｂｏｏｓｔのパラメータとしての、ＣＰＵ１０１の周波数の下限値を、周波数設定部２０７に設定された復帰周波数（最低周波数ｆｍｉｎ）以上とする。
【０１０１】
このため、ＣＰＵ１０１の活性状態への復帰後、ＣＰＵ１０１が如何なる利用状況であっても、ＣＰＵ１０１の周波数が最低周波数ｆｍｉｎ以下となることはない。即ち、活性状態への復帰後のＣＰＵ１０１の周波数を、確実に最低周波数ｆｍｉｎ以上とすることができる。よって、ＣＰＵ１０１の次回処理を、確実に終了期限迄に終了させることができる。
【０１０２】
［第４の実施形態］
以下、図１４−図１５を参照して、第４の実施形態を説明する。但し、第３の実施形態と同等の構成、機能、作用については、説明を省略することとする。
【０１０３】
第３の実施形態では、ｂｏｏｓｔのパラメータである、ＣＰＵ１０１の周波数の下限値を、事前に決められた所定時間だけ書き換えることで、ＣＰＵ１０１の周波数が復帰周波数以下に下がることを防止している。
【０１０４】
これに対し、第４の実施形態は、ｂｏｏｓｔのパラメータでなく、ＣＰＵｆｒｅｑのパラメータである、ＣＰＵ１０１の周波数の下限値を書き換える。
【０１０５】
なお、ＣＰＵｆｒｅｑのパラメータとしての、ＣＰＵ１０１の周波数の下限値は、所定時間後に自動的に書き戻されるものではない。従って、本実施形態では、ＣＰＵ１０１の活性状態への復帰から所定時間の経過後に、ＣＰＵｆｒｅｑのパラメータとしての、ＣＰＵ１０１の周波数の下限値の書き戻しを行う。
【０１０６】
［情報処理装置１００Ｃの機能ブロック］
図１４は、第４の実施形態にかかる情報処理装置１００Ｃの機能ブロックの概略図である。
【０１０７】
図１４に示すように、本実施形態にかかる情報処理装置１００Ｃは、第３の実施形態にかかる周波数設定通知部２１１、パラメータ格納部２１２、周波数動的判定部２１３の代わりに、周波数設定通知部２１４、パラメータ格納部２１５、周波数動的判定部２１６を備える。
【０１０８】
周波数設定通知部２１４、パラメータ格納部２１５、周波数動的判定部２１６は、何れもＣＰＵ１０１がメインメモリ１０２に制御プログラムを読み込むとともに、該メインメモリ１０２に読み込んだ制御プログラムを実行することで実現される。
【０１０９】
周波数設定通知部２１４は、パラメータ格納部２１５に格納された、ＣＰＵｆｒｅｑのパラメータである、ＣＰＵ１０１の周波数の下限値を、復帰周波数（最低周波数ｆｍｉｎ）以上に書き換える。
【０１１０】
パラメータ格納部２１５は、ＣＰＵｆｒｅｑのパラメータである、ＣＰＵ１０１の周波数の下限値を記憶する。
【０１１１】
周波数動的判定部２１６は、ＣＰＵ１０１の利用状況に基づき、ＣＰＵ１０１の周波数を計算する。このとき、周波数動的判定部２１６は、パラメータ格納部２１５に格納された、ＣＰＵｆｒｅｑのパラメータである、ＣＰＵ１０１の周波数の下限値を使用する。
【０１１２】
（遷移処理フロー）
図１５は、第４の実施形態にかかる遷移処理のフローチャートである。
【０１１３】
図１５に示すように、周波数条件判定部２０５からの最低周波数ｆｍｉｎをＣＰＵ１０１に設定後（ステップＳ００７）、周波数の設定完了の通知前に（ステップＳ００８）、周波数設定通知部２１４は、パラメータ格納部２１５に格納された、ＣＰＵｆｒｅｑのパラメータとしての、ＣＰＵ１０１の周波数の下限値を、復帰周波数（最低周波数ｆｍｉｎ）以上に書き換える（ステップＳ０４１）。
【０１１４】
さらに、ＣＰＵ１０１を、周波数条件判定部２０５により選択された省電力状態Ｓに設定後、（ステップＳ００９）、周波数設定通知部２１４は、所定時間の経過後、ＣＰＵｆｒｅｑのパラメータとしての、ＣＰＵ１０１の周波数の下限値を、元の値に書き戻す（ステップＳ０４２）。
【０１１５】
このように、本実施形態では、ＣＰＵｆｒｅｑのパラメータを書き換えているが、所定時間の経過後に、該パラメータの書き戻しを実施する為、通常のＣＰＵｆｒｅｑに戻すことが出来る。
【０１１６】
なお、本実施形態にかかる周波数設定通知部２１４は、ＣＰＵｆｒｅｑのパラメータを書き換えて、ＣＰＵｆｒｅｑによる復帰周波数の低下を防止しているが、本発明は、これに限定されるものではない。例えば、周波数設定通知部２１４は、「IO is busy」フラグをＯＮに切替えることで、ＣＰＵｆｒｅｑによる復帰周波数の低下を防止しても良い。なお、「IO is busy」フラグをＯＮにすると、ＣＰＵｆｒｅｑが参照するＣＰＵ利用率を、見かけ上、高くすることができる為、ＣＰＵ１０１の周波数を低下しにくくすることができる。「IO is busy」フラグは、ＣＰＵｆｒｅｑのパラメータと同様、所定時間の経過後にＯＮからＯＦＦに書き換えれば良い。
【０１１７】
［第５の実施形態］
図１６、図１７を参照して、第５の実施形態を説明する。但し、第１の実施形態と同等の構成、機能、作用については、説明を省略することとする。
【０１１８】
第１の実施形態では、最低周波数ｆｍｉｎの設定後に、ＣＰＵ１０１を省電力状態に遷移させていた。これに対し、第５の実施形態では、ＧＰＵ１０４からの割り込み信号をトリガとして、ＣＰＵ１０１に最低周波数ｆｍｉｎを設定する。即ち、省電力状態Ｓの設定期間は、ＣＰＵ１０１の周波数が省電力状態への遷移前のままとなる。
【０１１９】
［情報処理装置１００Ｄの機能ブロック及び追加ハードウェア構成］
図１６は、第５の実施形態にかかる情報処理装置１００Ｄの機能ブロック及び追加ハードウェア構成の概略図である。
【０１２０】
図１６に示すように、第５の実施形態にかかる情報処理装置１００Ｄは、第１の実施形態にかかる情報処理装置１００の周波数設定部２０７の代わりに周波数設定回路１０８を備え、さらに、周波数設定レジスタ１０９、クロック発生回路１１０、電源回路１１１、を備える。周波数設定回路１０８、周波数設定レジスタ１０９、クロック発生回路１１０、電源回路１１１は、ハードウェアモジュールであって、バス１０７により相互接続されている。
【０１２１】
周波数設定回路１０８は、ＣＰＵ１０１からの指示に基づき、周波数設定通知部２０６からの最低周波数ｆｍｉｎを、ＣＰＵ１０１の復帰周波数として格納する。
【０１２２】
周波数設定レジスタ１０９は、周波数設定回路１０８に格納された周波数を記憶する。
【０１２３】
クロック発生回路１１０は、周波数設定レジスタ１０９に記憶された周波数に基づき、クロック信号を生成して、該クロック信号をＣＰＵ１０１に供給する。
【０１２４】
電源回路１１１は、ＧＰＵ１０４からの割り込み信号に基づき、クロック発生回路１１０に電力を供給する。
【０１２５】
［周波数の設定］
図１７は、第５の実施形態にかかる周波数の設定のフローチャートである。
【０１２６】
なお、本実施形態では、復帰周波数が、省電力状態への遷移前のＣＰＵ１０１の周波数よりも高いことを想定する。
【０１２７】
図１７に示すように、ＣＰＵ１０１は、省電力状態Ｓへの遷移前に、復帰周波数として決定した周波数を周波数設定回路１０８に格納する（ステップＳ０５１）。
【０１２８】
次に、ＣＰＵ１０１は、活性状態から省電力状態Ｓに遷移する（ステップＳ０５２）。
【０１２９】
次に、ＧＰＵ１０４は、電源回路１１１に割り込み信号を送信する（ステップＳ０５３）。割り込み信号は、電源回路１１１及び周波数設定回路１０８に通知される。
【０１３０】
次に、電源回路１１１は、ＧＰＵ１０４からの割り込み信号に基づき、電力供給を開始する（ステップＳ０５４）。
【０１３１】
次に、周波数設定回路１０８は、電源回路１１１からの電力供給に基づき、起動する（ステップＳ０５５）。
【０１３２】
次に、周波数設定回路１０８は、自身が格納する周波数（復帰周波数）を周波数設定レジスタ１０９に書き込む（ステップＳ０５６）。
【０１３３】
次に、クロック発生回路１１０は、周波数設定レジスタ１０９に書き込まれた周波数を読み出して、該周波数に基づき、クロック信号を生成する（ステップＳ０５７）。
【０１３４】
次に、ＣＰＵ１０１は、クロック発生回路１１０からのクロック信号と、電源回路１１１からの供給電力と、に基づき、動作を開始する（ステップＳ０５８）。即ち、ＣＰＵ１０１は、以上のような手順を経て、復帰周波数で動作を開始する。
【０１３５】
以上のように、本実施形態によれば、ＣＰＵ１０１は、省電力状態への遷移前に、周波数設定回路１０８に周波数を格納しておき、ＣＰＵ１０１が活性状態に復帰するときに、周波数設定回路１０８に格納した周波数をＣＰＵ１０１に設定する。このため、省電力状態の設定期間は、ＣＰＵ１０１の周波数を、省電力状態への遷移前の周波数に維持することができる。
【０１３６】
通常、ＣＰＵ１０１の周波数を上昇させると、例えばＩ２Ｃ（Inter- Integrated Circuit）やＳＰＩ（Serial Peripheral Interface）など、バス１０７の周波数も上昇する為、バス１０７の動作に起因する消費電力が上昇することとなる。又、ＣＰＵ１０１や周辺回路を１つのチップにＳｏＣ（System On Chip）化する場合、ＣＰＵ１０１の周波数を上昇させると、チップ全体の消費電力が上昇することとなる。ＣＰＵ１０１の周波数をさらに上昇させると、チップへの電源供給の電圧が上昇することもあり、そのような場合、さらにチップ全体の消費電力が上昇することとなる。
【０１３７】
しかし、本実施形態では、省電力状態の設定期間は、ＣＰＵ１０１の周波数を上昇させない為、バス１０７の動作に起因する消費電力が上昇することがない。従って、省電力状態の設定期間の消費電力の、情報処理装置のトータルの消費電力を、さらに削減することができる。
【０１３８】
なお、第１−第５の実施形態では、ＧＰＵ１０４を例示してきたが、本発明は、これに限定されるものではない。ＣＰＵ１０１を省電力状態から活性状態に復帰させる割り込み信号を発生するものであれば、例えばタイマなどの如何なるデバイスを用いても良い。ＧＰＵ１０４であれば、例えば描画処理が想定されるが、タイマであれば、プロセスのスケジューリングなどを装置することができる。
【符号の説明】
【０１３９】
１００：情報処理装置
１００Ａ：情報処理装置
１００Ｂ：情報処理装置
１００Ｃ：情報処理装置
１００Ｄ：情報処理装置
１０１：ＣＰＵ
１０２：メインメモリ
１０３：補助メモリ
１０４：ＧＰＵ
１０５：ディスプレイ
１０６：通信モジュール
１０７：バス
１０８：周波数設定回路
１０９：周波数設定レジスタ
１１０：クロック発生回路
１１１：電源回路
２０１：ＧＰＵ制御部
２０２：種別判定部
２０３：状態判定部
２０４：制約計算部
２０５：周波数条件判定部
２０６：周波数設定通知部
２０７：周波数設定部
２０８：ＣＰＵ状態制御部
２０９：周波数条件判定部
２１０：最適周波数判定部
２１１：周波数設定通知部
２１２：パラメータ格納部
２１３：周波数動的判定部
２１４：周波数設定通知部
２１５：パラメータ格納部
２１６：周波数動的判定部
２１３１：ＣＰＵ利用率計算部
２１３２：周波数計算部
２１３３：周波数判定部
Ｔ１：最小ＱｏＳ時間テーブル
Ｔ２：周波数別消費電力テーブル
Ｔ３：省電力状態別消費電力テーブル
【図１】
2015041330.tif 000003
【図２】
2015041330.tif 000004
【図３】
2015041330.tif 000005
【図４】
2015041330.tif 000006
【図５】
2015041330.tif 000007
【図６】
2015041330.tif 000008
【図７】
2015041330.tif 000009
【図８】
2015041330.tif 000010
【図９】
2015041330.tif 000011
【図１０】
2015041330.tif 000012
【図１１】
2015041330.tif 000013
【図１２】
2015041330.tif 000014
【図１３】
2015041330.tif 000015
【図１４】
2015041330.tif 000016
【図１５】
2015041330.tif 000017
【図１６】
2015041330.tif 000018
【図１７】
2015041330.tif 000019