(57)【特許請求の範囲】
【請求項１】
マルチコアＣＰＵと、前記マルチコアＣＰＵが実行したアプリケーションの実行結果を
表示するディスプレイとを有する携帯端末装置の制御方法において、
前記携帯端末装置が、
実行している複数のアプリケーションのうち前記ディスプレイに実行結果が表示されて
いるアプリケーションを検出し、
前記検出したアプリケーション内のスレッド毎のＣＰＵ負荷を算出し、
前記算出したＣＰＵ負荷の値が閾値以上であるスレッドの数が予め記憶されている値以上の場合、前記マルチコアＣＰＵにて稼働させるコア数を増加させ、
前記算出したＣＰＵ負荷が所定値以上あるスレッドの数が予め記憶されている値未満の場合、前記マルチコアＣＰＵにて稼働しているコアの周波数を上昇させることを特徴とする携帯端末装置の制御方法。
【請求項２】
前記ディスプレイに実行結果が表示されているアプリケーション以外のアプリケーョンを検出し、前記ディスプレイに実行結果が表示されているアプリケーション以外のアプリケーション内のスレッド毎のＣＰＵ負荷が閾値以上の場合、前記マルチコアＣＰＵにて稼働させるコア数を増加させることを特徴とする請求項１記載の携帯端末装置の制御方法。
【請求項３】
マルチコアＣＰＵと、前記マルチコアＣＰＵが実行したアプリケーションの実行結果を表示するディスプレイとを有する携帯端末装置を制御する制御プログラムであって、
前記携帯端末装置に、
実行している複数のアプリケーションのうち前記ディスプレイに実行結果が表示されて
いるアプリケーションを検出し、
前記検出したアプリケーション内のスレッド毎のＣＰＵ負荷を算出し、
前記算出したＣＰＵ負荷の値が閾値以上であるスレッドの数が予め記憶されている値以上の場合、前記マルチコアＣＰＵにて稼働させるコア数を増加させる処理を実行させ、
前記算出したＣＰＵ負荷が所定値以上あるスレッドの数が予め記憶されている値未満の場合、前記マルチコアＣＰＵにて稼働しているコアの周波数を上昇させることを特徴とする制御プログラム。
【請求項４】
マルチコアＣＰＵと、前記マルチコアＣＰＵが実行したアプリケーションの実行結果を表示するディスプレイとを有する携帯端末装置において、
実行している複数のアプリケーションのうち前記ディスプレイに実行結果が表示されて
いるアプリケーションを判定する判定部と、
前記検出したアプリケーション内のスレッド毎のＣＰＵ負荷を算出する解析部と、
前記算出したＣＰＵ負荷の値が閾値以上であるスレッドの数が予め記憶されている値以上の場合、前記マルチコアＣＰＵにて稼働させるコア数を増加させる指示部と、を有し、
前記指示部は、前記算出したＣＰＵ負荷が所定値以上あるスレッドの数が予め記憶されている値未満の場合、前記マルチコアＣＰＵにて稼働しているコアの周波数を上昇させることを特徴とする携帯端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、携帯端末装置の制御方法、制御プログラム及び携帯端末装置に関する。
【背景技術】
【０００２】
携帯端末装置に要求される機能、性能は年々高度化している。従来の携帯端末装置よりも大きな液晶画面、タッチパネル、カメラ、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等の様々なデバイスを搭載したスマートフォンと呼ばれる携帯端末装置が普及してきている。このような携帯端末装置においては通話やメール、Ｗｅｂ閲覧等の予めインストールされたアプリケーションに加えて、ユーザが後から様々なアプリケーションプログラムを自由にインストールでき、複数のアプリケーションを同時に動作させることも可能である。このように多機能化した携帯端末装置では、消費する電力についても従来の携帯端末装置より増加する傾向にあるが、搭載するバッテリから供給できる電力には限界があり、長時間バッテリ駆動させるためにも消費電力を削減することが求められている。
【０００３】
この様な性能、消費電力に対する要求を満たすために、マルチコアＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）チップを搭載した携帯端末装置が普及しつつある。ＣＰＵチップは動作可能な複数の周波数、電圧の組み合わせを持ち、実行時に動的にＣＰＵ周波数、電圧を切り替えることにより、動作速度、消費電力を制御する。また、マルチコアＣＰＵのコア毎に動作非動作の設定を行うことが可能となっており、動作するＣＰＵコア数を増減させ、全体の処理能力、消費電力を調整する事ができる。携帯端末装置では様々なアプリケーションが動作するが、このようなマルチコアＣＰＵの特性を活用して、ＣＰＵの状態を使用状況に応じて動的に制御し、ユーザから見た操作性能の確保と消費電力の削減を行っている。
【０００４】
先行技術文献としては、下記のものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３３４７８２号公報
【特許文献２】特開２００８−１２９８４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のようなＣＰＵの動的な制御を行うために、一般に全アプリケーションにおける使用状態の検出が行われている。しかし、全アプリケーションの検出を行う処理自体で多くの消費電力を消費してしまっている。これに対し、一部のアプリケーションにおける使用状態の検出を行うことも考えられるが、アプリケーションの使用頻度などがわからないため、任意にアプリケーションを選択しただけでは、実際のＣＰＵの使用状態を検出することができない。
【０００７】
本技術の開示の一側面によれば、ＣＰＵの動的な制御を行うために行う検出処理を消費電力を少なく、かつ、ＣＰＵの使用状況により近い検出結果が得られる携帯端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本開示の技術では、マルチコアＣＰＵと、前記マルチコアＣＰＵが実行したアプリケーションの実行結果を表示するディスプレイとを有する携帯端末装置の制御方法は、前記携帯端末装置が、実行している複数のアプリケーションのうち前記ディスプレイに実行結果が表示されているアプリケーションを検出し、前記検出したアプリケーション内のスレッド毎のＣＰＵ負荷を算出し、前記算出したＣＰＵ負荷の値が閾値以上であるスレッドの数が予め記憶されている値以上の場合、前記マルチコアＣＰＵにて稼働させるコア数を増加させる。
【発明の効果】
【０００９】
本開示の技術の一側面によれば、ＣＰＵの動的な制御を行うために行う検出処理を消費電力を少なく、かつ、ＣＰＵの使用状況により近い検出結果が得られる携帯端末装置を提供することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】携帯端末装置のハードウェア構成を示す図である。
【図２】本実施形態における携帯端末装置を示す図である。
【図３】携帯端末装置の電力制御処理を示す図（その１）である。
【図４】携帯端末装置の電力制御処理を示す図（その２）である。
【図５】携帯端末装置の電力制御処理を示す図（その３）である。
【図６】携帯端末装置の処理を示すフローチャートである。
【図７】本実施形態を適用した場合の効果例について示すテーブルである。
【図８】ＣＰＵコアの動作周波数、動作電圧、消費電力の一例を示すテーブルである。
【図９】スマートフォンアプリ操作時のＣＰＵの各電力状態における消費電流を示すテーブルである。
【図１０】従来技術におけるＣＰＵの各電力状態の滞在比率の一例を示すテーブルである。
【図１１】本実施形態における並列度監視、コア数制御を行った際のＣＰＵの各電力状態の滞在比率の変化を示すテーブルである。
【図１２】並列度監視及びコア数制御を適用した場合の並列度監視にかかる消費電力の削減効果を示す図である。
【図１３】並列度監視、コア数制御及び計測対象絞り込みを適用した場合の並列度監視にかかる消費電力の削減効果を示す図である。
【発明を実施するための形態】
【００１１】
以下、本実施形態における携帯端末装置ついて説明する。
【００１２】
図１は、本実施形態における携帯端末装置のハードウェア構成を示す図である。図１に示す携帯端末装置１００は、例えばスマートフォンやタブレットＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などの携帯情報端末である。
【００１３】
携帯端末装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メインメモリ２０２と、補助メモリ２０３と、クロック供給回路２０４と、電圧供給回路２０５と、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）部２０６と、アンテナ２０７と、バッテリ２０８とをハードウェアモジュールとして備えている。また、携帯端末装置１００は、電源回路２０９と、カメラモジュール２１０と、ブルートゥースインターフェース２１１と、ＧＰＳモジュール２１２と、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）２１３と、センサ２１４と、外部給電部２１５とをハードウェアモジュールとして備えている。各ハードウェアモジュールは、例えばバス２１６によって接続されている。
【００１４】
ＣＰＵ２０１は、携帯端末装置１００の全体の制御を司る。ＣＰＵ２０１は、「コア０」２０１１及び「コア１」２０１２を有する。ＣＰＵ２０１は、クロック供給回路２０４から供給されるクロック信号および電圧供給回路２０５から供給される電圧によって動作する。本実施形態においては、ＣＰＵ２０１がデュアルコアＣＰＵであるとして説明するが、ＣＰＵ２０１はクアッドコアＣＰＵ等、任意の数のコアを有していても良い。
【００１５】
メインメモリ２０２は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メインメモリ２０２は、ＣＰＵ２０１のワークエリアとして使用される。
【００１６】
補助メモリ２０３は、例えば、フラッシュメモリなどの不揮発メモリである。補助メモリ２０３は、携帯端末装置１００を動作させるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の各種プログラムを記憶している。補助メモリ２０３に記憶されたプログラムは、メインメモリ２０２にロードされてＣＰＵ２０１によって実行される。これによって、後述する各種プログラムが携帯端末装置１００にて実行されるようになる。
【００１７】
クロック供給回路２０４は、周波数が可変のクロック信号をＣＰＵ２０１へ供給する。クロック供給回路２０４は、例えば、クロック信号を発振する水晶振動子およびＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）などによって実現することができる。電圧供給回路２０５は、電源回路２０９から供給される電力によってＣＰＵ２０１に可変の電圧を供給する。電圧供給回路２０５は、例えばボルテージディテクタ及びボルテージレギュレータなどによって実現することができる。
【００１８】
ＲＦ部２０６は、ＣＰＵ２０１からの制御により、高周波信号をアンテナ２０７から他の無線通信装置へ送信するトランスミッタの機能を有する。また、ＲＦ部２０６は、アンテナ２０７によって受信された高周波信号をベースバンド信号に変換してＣＰＵ２０１へ出力するレシーバの機能を有する。
【００１９】
バッテリ２０８は、電源回路２０９へ電力を供給する。バッテリ２０８は、例えばリチウムイオン電池などの電池と電池保護用のＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などによって実現することができる。電源回路２０９は、バッテリ２０８から供給される電力を不図示の電源線を介して携帯端末装置１００の各ハードウェアモジュールへ供給する。また、電源回路２０９は、外部給電部２１５に外部電源が接続されている場合は、外部給電部２１５から供給される電力を携帯端末装置１００の各ハードウェアモジュールへ供給しても良い。電源回路２０９は、例えばスイッチングレギュレータ及びボルテージレギュレータによって実現することができる。
【００２０】
カメラモジュール２１０は、ＣＰＵ２０１からの制御により、被写体を撮影し、撮影により得られた映像データを取得する。ブルートゥースインターフェース２１１は、ＣＰＵ２０１からの制御により、他の通信装置との間でＢｌｕｅｔｏｏｔｈ（登録商標）による無線通信を行う通信インターフェースである。また、携帯端末装置１００は、ブルートゥースインターフェース２１１の他に、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの無線通信インターフェースを備えていても良い。
【００２１】
ＧＰＳモジュール２１２は、ＣＰＵ２０１からの制御により、人工衛星の発する電波を受信することによって携帯端末装置１００の地球上の現在位置を示す位置情報を取得する。
【００２２】
ＬＣＤ２１３は、ＣＰＵ２０１からの制御により、ユーザに対して画像を表示する画像表示装置である。また、ＬＣＤ２１３は、タッチパッドなどの位置入力機能も兼ね備えたタッチパネルであっても良い。
【００２３】
センサ２１４は、ＣＰＵ２０１からの制御により、携帯端末装置１００の内部の各状態を示す情報を取得する。センサ２１４としては、例えば、加速度センサ、ジャイロセンサ、照度センサ、地磁気センサ、傾きセンサ、加圧センサ、接近センサ、温度センサ等である。
【００２４】
図２は、本実施形態における携帯端末装置１００を示す図である。図２に示した各ブロックは、携帯端末装置１００のＣＰＵ２０１が補助メモリ２０３に記憶された各種プログラムを実行することで実現される。
【００２５】
携帯端末装置１００は、コア制御判定部３０２、コア制御指示部３０４、メインメモリ２０２、補助メモリ２０３及びＣＰＵ２０１を有する。
【００２６】
コア制御判定部３０２は、システムの動作状態を定期的に観測して、ＣＰＵコアの電力状態を変更すべきか否かを判定し、判定結果をコア制御指示部へ送る。コア制御判定部３０２は、プロセス状態判定部３０６、プロセス負荷解析部３１０、並列度判定部３０８及びコア数増加判断部３１２を有する。
【００２７】
プロセス状態判定部３０６は、アプリ設定ファイル３１４及びアプリ状態遷移情報３１６を参照して、動作中プロセスの中から端末前面（フォアグラウンド）動作に関連するプロセスを絞り込み、プロセス負荷計測の対象とする。アプリ設定ファイル３１４とは、アプリ毎の情報であり、アプリケーションの携帯端末装置１００へのインストール時に例えば、補助メモリ２０３に登録される。アプリ設定ファイル３１４は、アプリケーションの性質やどのデバイスにアクセスするか等の情報を有している。アプリ状態遷移情報３１６とは、アプリケーションの実行中に、アプリケーションがフォアグラウンドまたはバックグラウンドのいずれかで動作しているかを示す情報である。なお、本実施形態においては、実行している複数のプロセスのうちＬＣＤ２１３に実行結果が表示されているプロセスをフォアグラウンド動作に関連するプロセスとする。また、ＬＣＤ２１３に実行結果が表示されているプロセス以外のプロセスをバックグラウンド動作に関連するプロセスとする。
【００２８】
プロセス負荷解析部３１０は、プロセス状態判定部３０６が計測対象としたプロセスを構成する各スレッドのＣＰＵ利用率をプロセス・スレッド統計情報３１８に基づいて算出する。プロセス・スレッド統計情報３１８とは、スレッド毎のＣＰＵ利用率を示す情報であり、例えば、ＯＳによって生成される。上述したアプリ状態遷移情報３１６及びプロセス・スレッド統計情報３１８はメインメモリ２０２に展開される。
【００２９】
並列度判定部３０８は、プロセス負荷解析部３１０が算出した各スレッドのＣＰＵ利用率を基に、対象プロセスの並列度を求める。なお、並列度については後述する。
【００３０】
コア数増加判断部３１２は、並列度判定部３０８が求めた並列度に基づいて、ＣＰＵ２０１に対して周波数・電圧変更またはコア数変更のいずれかの電力制御を行うかを決定する。
【００３１】
コア制御指示部３０４は、コア制御判定部３０２からＣＰＵ電力制御に関する判定結果を受け取り、ＣＰＵ２０１のコアに対して周波数・電圧変更やコアのＯＮ／ＯＦＦの制御命令を発行し、電力状態を変更する。
【００３２】
システム負荷が上昇した場合に、並列度判定部３０８は、フォアグラウンド動作アプリの並列度を求める。そして、コア数増加判断部３１２は、並列度判定部３０８が求めた並列度に基づいて動作コア数を増加させるか否かを決定する。
【００３３】
プロセス状態判定部３０６は、スマートフォン固有のアプリ状態遷移情報３１６から、端末前面（フォアグラウンド）動作のプロセスを特定し、該当プロセスのＣＰＵ負荷を調べる。また、プロセス状態判定部３０６は、スマートフォン固有のアプリ設定ファイル３１４から、前面動作の画面ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）以外にバックグラウンド動作するサービスの使用の有無を調べ、並列動作するプロセスを特定する。プロセス状態判定部３０６は、該当プロセスが存在する場合、プロセス内の各スレッドのＣＰＵ負荷を調べる。
【００３４】
ＣＰＵ負荷が閾値以上のスレッド数が、並列度となる。並列度が閾値を超える場合は、コア制御指示部３０４は、ＣＰＵ２０１にて稼働するコア数を増加させる。並列度が閾値を超えない場合は、コア制御指示部３０４は、ＣＰＵ２０１にて稼働するコア数の増加を抑制する代わりに、ＣＰＵ２０１にて稼働しているコアの周波数を増加させることで負荷上昇に対応する。
【００３５】
フォアグラウンド動作アプリ関連以外のシステム利用率が一定負荷以上の場合、コア制御指示部３０４は、ＣＰＵ２０１にて稼働させるコア数を増加させるか否かを判定する。フォアグラウンド動作アプリの並列度が低くても、コア制御指示部３０４は、フォアグラウンド動作アプリ以外のバックグラウンド動作のＣＰＵ負荷が閾値以上であればコア数を増加させる。
【００３６】
本実施形態の一例として、２コアＣＰＵを有する携帯端末装置（スマートフォン）の電力制御処理について説明する。
【００３７】
図３に、携帯端末装置１００における前面（フォアグラウンド）動作アプリの並列度が２で、負荷上昇していく場合の電力状態遷移を示す。
【００３８】
１コアＣＰＵ ３００ＭＨｚで動作時に、並列度判定部３０８がフォアグラウンド動作アプリの並列度が２以上であると判定した場合、負荷上昇に合わせて、コア制御指示部３０４はＣＰＵ２０１にて稼働させるコア数を増加させて２コアＣＰＵ ３００ＭＨｚで動作させる。１コアＣＰＵ ６００ＭＨｚと同等の処理能力であるが、消費電力は２コアＣＰＵ ３００ＭＨｚの方が小さいため、１コアＣＰＵ ６００ＭＨｚで動作させた場合に比べ消費電力を削減することが可能である。
【００３９】
図４に、携帯端末装置１００における前面（フォアグラウンド）動作アプリの並列度が１で、負荷上昇していく場合の電力状態遷移を示す。
【００４０】
１コアＣＰＵ ３００ＭＨｚで動作時に、並列度判定部３０８がフォアグラウンド動作アプリの並列度が１であると判定した場合、負荷上昇に合わせて、コア制御指示部３０４は１コア ＣＰＵ ６００ＭＨｚ〜１ＧＨｚで動作させる。並列度が１であれば、ＣＰＵ２０１にて稼働させるコア数を増加させても複数のコアを活用できず、無駄な電力を消費してしまうためである。
【００４１】
図５に、携帯端末装置１００における前面（フォアグラウンド）動作アプリの並列度が１で、負荷上昇していき、途中で該当アプリ以外のバックグラウンド処理の負荷が上昇した場合の電力状態遷移を示す。１コアＣＰＵ ３００ＭＨｚで動作時に、並列度判定部３０８がフォアグラウンド動作アプリの並列度が１であると判定した場合、負荷上昇に合わせて、コア制御指示部３０４は１コアＣＰＵ ６００ＭＨｚ〜８００ＭＨｚで動作させる。途中でフォアグラウンドアプリを除く負荷が上昇した場合には、フォアグラウンドアプリとバックグラウンド処理を複数コアを活用して処理可能であるため、ＣＰＵ２０１にて稼働させるコアを増加させて２コアで動作させる。
【００４２】
図６を用いて本実施形態における携帯端末装置１００の処理について説明する。
【００４３】
Ｓ００１において、プロセス状態判定部３０６は、フォアグラウンド動作に関するプロセスを負荷計測の対象とする。プロセス状態判定部３０６は、処理をＳ００２へ移行する。
【００４４】
Ｓ００２において、プロセス負荷解析部３１０は、計測対象としたプロセスの各スレッドのＣＰＵ利用率を算出する。プロセス負荷解析部３１０は、処理をＳ００３へ移行する。
【００４５】
Ｓ００３において、並列度判定部３０８は、各スレッドのＣＰＵ利用率を基に、対象プロセスの並列度を求める。並列度判定部３０８は、処理をＳ００４へ移行する。
【００４６】
Ｓ００４において、コア数増加判断部３１２は、Ｓ００３において求めた並列度が２以上であるか否かを判定する。Ｓ００３において求めた並列度が２以上である場合、コア数増加判断部３１２は、処理をＳ００５へ移行する。
【００４７】
Ｓ００５において、コア制御指示部３０４は、携帯端末装置１００を２コアで動作させる。コア制御指示部３０４は、処理をＳ００６へ移行する。
【００４８】
Ｓ００６において、コア制御指示部３０４は、携帯端末装置１００を２コアで、負荷に応じて周波数を変更して動作させる。コア制御指示部３０４は、処理を終了する。
【００４９】
一方、Ｓ００４において、コア数増加判断部３１２は、Ｓ００３において求めた並列度が２以上でない場合、処理をＳ００７へ移行する。
【００５０】
Ｓ００７において、コア制御指示部３０４は、携帯端末装置１００を１コアで動作させる。コア制御指示部３０４は、処理をＳ００８へ移行する。
【００５１】
Ｓ００８において、コア制御指示部３０４は、携帯端末装置１００を１コアで、負荷に応じて周波数を変更して動作させる。コア制御指示部３０４は、処理をＳ００９へ移行する。
【００５２】
Ｓ００９において、プロセス負荷解析部３１０は、フォアグラウンドアプリ以外のアプリの負荷が所定値以上か否かを判定する。フォアグラウンドアプリ以外のアプリの負荷が所定値以上の場合、プロセス負荷解析部３１０は、処理をＳ０１０へ移行する。一方、フォアグラウンドアプリ以外のアプリの負荷が所定値以上でない場合、プロセス負荷解析部３１０は、処理をＳ００８に戻す。
【００５３】
Ｓ０１０において、コア制御指示部３０４は、携帯端末装置１００を２コアで動作させる。コア制御指示部３０４は、処理をＳ０１１へ移行する。
【００５４】
Ｓ０１１において、コア制御指示部３０４は、携帯端末装置１００を２コアで、負荷に応じて周波数を変更して動作させる。コア制御指示部３０４は、処理を終了する。
【００５５】
図７は本実施形態を適用した場合の効果例について示している。テーブル４００は、制御方式４０２、平均消費電力４０４、バッテリ持続時間４０６、バッテリ時間改善値４０８及び改善率４１０を有する。ここではユーザが１日あたり２時間スマートフォンアプリを操作し、残り時間（１日あたり２２時間）は電話の待受け状態にしていると仮定し、バッテリの持続時間を見積もっている。電話待受け時の平均消費電流は３ｍＡ、バッテリ容量は１５００ｍＡｈと仮定している。効果には本実施形態で説明している並列度監視、コア数制御による消費電力削減効果と、並列度監視の際の計測処理絞り込みによる消費電力削減効果の２つがあり、順に説明する。
【００５６】
図８は携帯端末装置に搭載されているＣＰＵコアの動作周波数、動作電圧、消費電力（１コアあたり）の一例を示している。動作周波数（ｆ）、動作電圧（Ｖ）、消費電力（Ｐ）の間には、Ｐ＝α・ｆ＊Ｖ＾２の関係がある。ただし、αは定数である。テーブル５００は、動作周波数５０２、動作電圧５０４及び消費電力相対値５０６を有する。
【００５７】
図９はスマートフォンアプリ操作時のＣＰＵの各電力状態における消費電流を示している。テーブル６００は、動作周波数５０２、１コア動作５０８及び２コア動作５１０を有する。
【００５８】
図１０は従来技術におけるＣＰＵの各電力状態の滞在比率の一例を示している。テーブル７００は、動作周波数５０２、１コア動作５０８及び２コア動作５１０を有する。システム負荷の上昇に応じて周波数を増加する制御を優先して行うため１コア、高周波数の滞在比率が高くなる。アプリ操作時に上記の滞在比率でＣＰＵが動作し、残りの時間は待受け電流３ｍＡが流れるとすると、平均消費電流は２７．０ｍＡとなる。
【００５９】
図１１は、従来技術に代えて、本実施形態における並列度監視、コア数制御を行った際のＣＰＵの各電力状態の滞在比率の変化を示している。テーブル８００は、動作周波数５０２、１コア動作５０８及び２コア動作５１０を有する。並列度が高い（２以上の）アプリが全体の５０％と仮定している。本実施形態では並列度が高い場合は負荷上昇に応じてコア数を増加させる制御を優先して行うため２コア、低周波数の滞在比率が高くなる。アプリ操作時に上記の滞在比率でＣＰＵが動作し、残りの時間は待受け電流３ｍＡが流れるとすると、（以下で説明する並列度監視の計測コスト３．９３ｍＡを含め）平均消費電流は２４．３ｍＡとなる。ここではスマートフォン上で動作中のプロセスが約１００個、各プロセスを構成するスレッドが約７００個動作しているケースを仮定している。
【００６０】
並列度計測の際に、スマートフォン上で動作中の全プロセス、スレッドについて計測すると、７００個の各スレッドについてタスク情報から統計情報（実行時間）を参照し、前回計測時との差分を計算し、利用率を計算、閾値との比較、並列度のインクリメント等の処理が必要となる。これらの能力をＣＰＵ能力から見積もった場合、７００個のスレッド全体の並列度監視の計測コストは０．４５７ｍｓとなる。アイドル時に比べ、ＣＰＵ処理実行時は平均消費電流が約８６ｍＡ増加する。このため、１０ｍｓ間隔で並列度監視の計測を行った場合の平均消費電流増加は８６＊０．４５７／１０＝３．９３ｍＡとなる。
【００６１】
本実施形態で示した、フォアグラウンドアプリに関連するプロセスに絞り込んで計測処理を行うと、処理を削減することが可能である。ここではフォアグラウンドアプリが３プロセス、２０スレッドから構成されるとして削減効果を見積もっている。計測対象スレッド数を７００から２０に絞り込むことにより並列度監視の計測コストを削減可能である。図１２及び図１３に示した様に計測処理の実行時間を短縮することにより、平均消費電流の増加分を（３．９３ｍＡから（２０／７００）０．１１２ｍＡ）に削減できる。この結果、本実施形態における並列度監視、コア数制御、計測コスト絞り込みを行った際の平均消費電流は２４．０ｍＡとなる。
【００６２】
以上計算した平均消費電流値より、各制御方式のバッテリ持続時間が求められる。従来制御方式に比べて本実施形態のバッテリ持続時間が改善していることが分かる。本実施形態の並列度監視、コア数制御方式を使用した場合、約１１％（６．１時間）、さらに計測コスト絞り込みを行った場合、約１２．４％（６．９時間）バッテリ持続時間が改善することが分かる。
【００６３】
図１２に、並列度監視及びコア数制御を適用した場合の並列度監視にかかる消費電力の削減効果を示す。
【００６４】
図１３に、並列度監視、コア数制御及び計測対象絞り込みを適用した場合の並列度監視にかかる消費電力の削減効果を示す。
【００６５】
以上、本発明の例示的な実施の形態の携帯端末装置について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、コア制御判定部３０２、コア制御指示部３０４をハードウェアで構成しても良い。
【符号の説明】
【００６６】
１００  携帯端末装置
２０１  ＣＰＵ
２０２  メインメモリ
２０３  補助メモリ
２０４  クロック供給回路
２０５  電圧供給回路
２０６  ＲＦ部
２０７  アンテナ
２０８  バッテリ
２０９  電源回路
２１０  カメラモジュール
２１１  ブルートゥースインターフェース
２１２  ＧＰＳモジュール
２１３  ＬＣＤ
２１４  センサ
２１５  外部給電部
３０２  コア制御判定部
３０４  コア制御指示部
３０６  プロセス状態判定部
３０８  並列度判定部
３１０  プロセス負荷解析部
３１２  コア数増加判断部
３１４  アプリ設定ファイル
３１６  アプリ状態遷移情報
３１８  プロセス・スレッド統計情報
４００，５００、６００、７００、８００  テーブル
４０２  制御方式
４０４  平均消費電流
４０６  バッテリ持続時間
４０８  バッテリ時間改善値
４１０  改善率
５０２  動作周波数
５０４  動作電圧
５０６  消費電力相対値
５０８  １コア動作
５１０  ２コア動作
２０１１  コア０
２０１２  コア１
【図１】
0005786641.tif 000002
【図２】
0005786641.tif 000003
【図３】
0005786641.tif 000004
【図４】
0005786641.tif 000005
【図５】
0005786641.tif 000006
【図６】
0005786641.tif 000007
【図７】
0005786641.tif 000008
【図８】
0005786641.tif 000009
【図９】
0005786641.tif 000010
【図１０】
0005786641.tif 000011
【図１１】
0005786641.tif 000012
【図１２】
0005786641.tif 000013
【図１３】
0005786641.tif 000014