JP6789861B2 - Operating frequency control device, operating frequency control program, and operating frequency control method - Google Patents
Operating frequency control device, operating frequency control program, and operating frequency control method Download PDFInfo
- Publication number
- JP6789861B2 JP6789861B2 JP2017051252A JP2017051252A JP6789861B2 JP 6789861 B2 JP6789861 B2 JP 6789861B2 JP 2017051252 A JP2017051252 A JP 2017051252A JP 2017051252 A JP2017051252 A JP 2017051252A JP 6789861 B2 JP6789861 B2 JP 6789861B2
- Authority
- JP
- Japan
- Prior art keywords
- operating frequency
- cpu
- additional application
- parameter
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Power Sources (AREA)
Description
本件は、動作周波数制御装置、動作周波数制御プログラム、及び動作周波数制御方法に関する。 This case relates to an operating frequency control device, an operating frequency control program, and an operating frequency control method.
スマートフォンといった携帯情報端末において、Central Processing Unit(CPU)の動作周波数を制御する技術が知られている(例えば特許文献1参照)。また、CPUの処理負荷(以下、単に負荷という)の状態変化に対して動作周波数を設定する制御方式も知られている。当該制御方式は例えばガバナー制御と呼ばれることがある(例えば特許文献2参照)。 A technique for controlling the operating frequency of a Central Processing Unit (CPU) in a mobile information terminal such as a smartphone is known (see, for example, Patent Document 1). Further, there is also known a control method for setting an operating frequency in response to a state change of a CPU processing load (hereinafter, simply referred to as a load). The control method may be referred to as governor control, for example (see, for example, Patent Document 2).
これにより、携帯情報端末にインストールされたアプリケーションソフトウェア(以下、単にアプリという)が実行され、アプリの実行に応じてCPUの負荷の状態が多様に変化しても、ガバナー制御によりアプリに応じた動作周波数でCPUが動作する。この結果、携帯情報端末のパフォーマンスが確保されながら、無駄な消費電力の発生が抑えられる。 As a result, the application software installed on the mobile information terminal (hereinafter, simply referred to as an application) is executed, and even if the CPU load state changes variously according to the execution of the application, the operation according to the application is controlled by the governor. The CPU operates at the frequency. As a result, the performance of the mobile information terminal is ensured, and the generation of unnecessary power consumption is suppressed.
ところで、上述したアプリは携帯情報端末に前もって(例えば出荷前に)インストールされたアプリ(以下、初期アプリという)と後から(例えば出荷後に)インストールされたアプリ(以下、追加アプリという)に大別される。ここで、初期アプリであれば、初期アプリが要求するCPUの性能は事前に確認できるため、設計によりその性能を実現する固定の動作周波数を個別に用意することができる。 By the way, the above-mentioned apps are roughly divided into apps installed in advance (for example, before shipping) on mobile information terminals (hereinafter referred to as initial apps) and apps installed later (for example, after shipping) (hereinafter referred to as additional apps). Will be done. Here, in the case of the initial application, the CPU performance required by the initial application can be confirmed in advance, so that a fixed operating frequency that realizes the performance can be individually prepared by design.
しかしながら、追加アプリの場合、追加アプリが要求するCPUの性能は事前に確認できない。このため、設計によりその性能を実現する固定の動作周波数を個別に用意することができない。例えば、初期アプリのために用意された動作周波数に基づいて追加アプリを実行すると、CPUの性能が不足する場合もあれば、逆に、CPUの性能が過剰になる場合もある。CPUの性能が不足すれば、携帯情報端末のパフォーマンスが低下し、逆に、CPUの性能が過剰になれば、無駄な消費電力が発生するという問題点がある。 However, in the case of the additional application, the CPU performance required by the additional application cannot be confirmed in advance. Therefore, it is not possible to individually prepare a fixed operating frequency that realizes the performance by design. For example, when an additional application is executed based on the operating frequency prepared for the initial application, the CPU performance may be insufficient, or conversely, the CPU performance may be excessive. If the performance of the CPU is insufficient, the performance of the mobile information terminal is lowered, and conversely, if the performance of the CPU is excessive, there is a problem that wasteful power consumption is generated.
そこで、1つの側面では、追加アプリに対するCPUの性能を調整できる動作周波数制御装置、動作周波数制御プログラム、及び動作周波数制御方法を提供することを目的とする。 Therefore, in one aspect, it is an object of the present invention to provide an operating frequency control device, an operating frequency control program, and an operating frequency control method capable of adjusting the performance of the CPU with respect to an additional application.
1つの実施態様では、動作周波数制御装置は、操作に基づいて生成されるタスクの統計情報が予め指定された条件を満たす場合に、前記操作の履歴に基づいて、操作対象の追加アプリを実行させ、前記追加アプリ実行中のCPUの負荷に基づいて、前記CPUの動作周波数を制御するパラメータを算出する、処理を実行する処理部を備える動作周波数制御装置である。 In one embodiment, the operating frequency control device causes an additional application to be operated based on the history of the operation when the statistical information of the task generated based on the operation satisfies a predetermined condition. An operating frequency control device including a processing unit that executes processing, which calculates parameters for controlling the operating frequency of the CPU based on the load of the CPU during execution of the additional application.
追加アプリに対するCPUの性能を調整することができる。 You can adjust the CPU performance for additional apps.
以下、本件を実施するための形態について図面を参照して説明する。 Hereinafter, a mode for carrying out this case will be described with reference to the drawings.
図1は携帯情報端末10の一例である。携帯情報端末10としては、例えばタブレット端末やスマートフォンといった電池を電源とするスマートデバイスがある。尚、携帯情報端末10はスマートデバイスに限定されず、例えばスマートウォッチといったウェアラブル端末などであってもよい。図1に示すように、携帯情報端末10は入力部11を備えている。詳細は後述するが、入力部11がユーザによって操作されると、入力部11は操作内容に応じた入力をユーザ操作として受け付ける。
FIG. 1 is an example of a
図2は携帯情報端末10のハードウェア構成の一例である。
FIG. 2 is an example of the hardware configuration of the
図2に示すように、携帯情報端末10は、Central Processing Unit(CPU)100A、Random Access Memory(RAM)100B、Read Only Memory(ROM)100C、Non-Volatile Memory(NVM)100D及びRadio Frequency(RF)回路100Eを含んでいる。RF回路100Eにはアンテナ100E´が接続されている。RF回路100Eに代えて通信機能を実現するCPUが利用されてもよい。
As shown in FIG. 2, the
また、携帯情報端末10は、Graphics Processing Unit(GPU)100F、カメラ100G、入力部11としてのタッチパネル100H、ディスプレイ100I、及びマイク及びスピーカー(以下、マイク/スピーカーと記載)100Jを含んでいる。CPU100Aからマイク/スピーカー100Jまでは、内部バス100Kによって互いに接続されている。少なくともCPU100AとRAM100Bとが協働することによってコンピュータが実現される。
Further, the personal
上述したRAM100Bには、ROM100CやNVM100Dに記憶されたプログラムがCPU100Aによって格納される。格納されたプログラムをCPU100Aが実行することにより、後述する各種の処理が実行される。尚、プログラムは後述するフローチャートに応じたものとすればよい。
In the
図3は携帯情報端末10の機能ブロック図の一例である。
FIG. 3 is an example of a functional block diagram of the
図3に示すように、携帯情報端末10は動作周波数制御装置100を備えている。特に、動作周波数制御装置100は処理部としてイベント制御部101、消費電力測定部102、及びイベント履歴管理部103を備えている。また、動作周波数制御装置100は処理部として特性情報記憶部104、アプリ実行部105、及び負荷履歴管理部106を備えている。さらに、動作周波数制御装置100は処理部としてパラメータ算出部107、パラメータ変換部108、動作周波数制御部109、及びパラメータ記憶部110を備えている。
As shown in FIG. 3, the
尚、CPU100A及びタッチパネル100Hはハードウェアであるため、破線で示している。ここで、特性情報記憶部104は例えば上述したROM100C又はNVM100Dなどによって実現される。パラメータ記憶部110は例えば上述したRAM100B又はNVM100Dなどによって実現される。特性情報記憶部104及びパラメータ記憶部110を除いた各処理部(例えばイベント制御部101など)は上述したCPU100Aによって実現される。
Since the
イベント制御部101はタッチパネル100Hから出力されたユーザ操作を受け付ける。特に、イベント制御部101は後述する通常モードの時にユーザ操作を受け付ける。ユーザ操作としては、例えば画面操作や追加アプリの起動操作などがある。尚、通常モードとはCPU100Aの負荷(具体的にはCPU使用率)に従ってCPU100Aの動作周波数を変化させる動作モードをいう。
The
イベント制御部101はユーザ操作を受け付けると、ユーザ操作に応じたイベント情報とユーザ操作に応じてCPU100Aに実行させる少なくとも1つの仕事(以下、タスクという)を生成し、生成したイベント情報と少なくとも1つのタスクとを関連付けてイベント履歴管理部103に出力する。したがって、例えばイベント制御部101が追加アプリを起動するユーザ操作を受け付けると、イベント制御部101は追加アプリの実行に要する少なくとも1つのタスクを生成し、生成したタスクをCPU100Aに出力する。CPU100Aはタスクを逐次的に処理することにより追加アプリを実行する。
When the
消費電力測定部102はCPU100Aの消費電力を測定する。より詳しくは、消費電力測定部102はCPU100Aが処理するタスクの消費電力を測定する。消費電力測定部102はタスクの消費電力を測定すると、測定したタスクの消費電力をイベント履歴管理部103に出力する。
The power
イベント履歴管理部103はイベント情報の履歴を管理する。具体的には、イベント履歴管理部103はイベント制御部101から出力されたイベント情報をタスク毎に保持する。これにより、例えばイベント履歴管理部103は起動負荷が高い追加アプリを起動するユーザ操作に応じたイベント情報を保持する。同様に、例えばイベント履歴管理部103は負荷が高い状態が継続する画面(具体的にはカメラ100Gのフレームなど)までのユーザ操作に応じたイベント情報を保持する。例えばイベント履歴管理部103は利用頻度が非常に高い処理までのユーザ操作に応じたイベント情報を保持する。尚、イベント履歴管理部103が保持するイベント情報は後述する測定モード時に使用される。
The event
また、イベント履歴管理部103はイベント情報とタスクとを関連付けて保持するとともに、消費電力測定部102から出力されたタスク毎の消費電力も関連付けて保持する。このため、イベント履歴管理部103はタスクに関する統計情報を生成することができる。より詳しくは、イベント履歴管理部103はタスクの利用頻度を表す第1の統計情報とタスクの平均消費電力を表す第2の統計情報を生成することができる。特に、イベント履歴管理部103は消費電力測定部102から出力されたタスクの消費電力に基づいて第2の統計情報を生成することができる。
In addition, the event
そして、イベント履歴管理部103は統計情報が所定の条件を満足すると、自身を測定モードに設定するとともに、ユーザ操作が行われていないタイミングで、アプリ実行部105とパラメータ算出部107に測定モードへの移行を指示する。例えば、イベント履歴管理部103は第1の統計情報と第2の統計情報のいずれもが予め指定した閾値を超えた場合に、アプリ実行部105とパラメータ算出部107に測定モードへの移行を指示する。
Then, when the statistical information satisfies the predetermined condition, the event
尚、測定モードは追加アプリで利用するガバナーパラメータを算出するための動作モードをいう。ガバナーパラメータはガバナー制御の特性(例えば操作性重視や消費電力重視、操作性と消費電力とのバランスなど)を決定するパラメータである。詳細は後述するが、ガバナーパラメータとしては例えばabove_hispeed_delayやmin_sample_timeなどが知られている。 The measurement mode is an operation mode for calculating governor parameters used in the additional application. The governor parameter is a parameter that determines the characteristics of governor control (for example, emphasis on operability, emphasis on power consumption, balance between operability and power consumption, etc.). Details will be described later, but for example, above_hispeed_delay and min_sample_time are known as governor parameters.
特性情報記憶部104はCPU100Aの特性を表す特性情報を記憶する。特性情報は事前に測定されており、特性情報記憶部104は事前に測定された特性情報を記憶する。具体的には、図4に示すように、特性情報記憶部104はCPU100Aに設定できる動作周波数毎に同一負荷のタスクをCPU100Aが処理するときの消費電力を特性情報として記憶する。特に、特性情報記憶部104は消費電力の大きさが小さな順に並んだ特性情報を記憶する。
The characteristic
アプリ実行部105はイベント履歴管理部103から測定モードへの移行が指示されると、イベント履歴管理部103からイベント情報を取得し、イベント制御部101にイベント情報に応じた追加アプリを起動させる。これにより、イベント制御部101は追加アプリの実行に要する少なくとも1つのタスクを生成し、生成したタスクをCPU100Aに出力する。したがって、CPU100Aは再び追加アプリを実行する。
When the event
負荷履歴管理部106はCPU100Aの負荷の履歴を管理する。具体的には、負荷履歴管理部106はCPU100Aが追加アプリの実行を開始すると、追加アプリ実行中のCPU100Aの負荷を測定し、測定した負荷を実測負荷として保持する。
The load history management unit 106 manages the load history of the
パラメータ算出部107はイベント履歴管理部103から測定モードへの移行が指示されると、パラメータ変換部108による通常モード時の機能を無効化し、測定モード時の機能を有効化する。パラメータ変換部108が測定モード時の機能を有効化すると、動作周波数制御部109は最大周波数でCPU100Aを動作させる。したがって、CPU100Aは最大周波数で追加アプリを再び実行する。
When the event
また、パラメータ算出部107は負荷履歴管理部106から実測負荷を取得する。CPU100Aは最大周波数で追加アプリを実行しているため、パラメータ算出部107は最大周波数で動作するCPU100Aの実測負荷を取得する。パラメータ算出部107は実測負荷を取得すると、目標負荷とCPU100Aの最大周波数と以下の算出式(1)又は(2)を利用して、暫定周波数を算出する。
暫定周波数=最大周波数×実測負荷÷目標負荷 (実測負荷≦目標負荷)…(1)
暫定周波数=最大周波数 (実測負荷>目標負荷)…(2)
Further, the
Temporary frequency = maximum frequency x measured load ÷ target load (measured load ≤ target load) ... (1)
Temporary frequency = maximum frequency (measured load> target load) ... (2)
特に、CPU100Aが追加アプリを実行している間、パラメータ算出部107は暫定周波数を常に又は定期的に算出しているため、パラメータ算出部107は時間の経過に応じて変化する暫定周波数を得ることができる。
In particular, since the
ここで、目標負荷とは測定モードに移行してCPU100Aが動作した際に、CPU100Aが目標とする負荷の目安をいう。目標負荷は実測負荷に関わらない固定値としてもよいし、実測負荷に応じて動的に可変する可変値としてもよい。前者であれば暫定周波数を速やかに算出でき、後者であれば消費電力の無駄を解消することができる。
Here, the target load means a guideline of the load targeted by the
具体的には、図5に示すように、パラメータ算出部107は実測負荷毎に下限と上限を予め定めた目標負荷テーブルを保持しておく。そして、実測負荷が第1所定値(例えば20%)より低いときには、パラメータ算出部107は実測負荷から高負荷側に大きく乖離した目標負荷(例えば50%)を利用する。算出式(1)によれば、結果的に暫定周波数は低くなる。逆に、実測負荷が第2所定値(例えば80%)より高いときには、パラメータ算出部107は実測負荷とはさほど乖離しない目標負荷(例えば90%)を利用する。
Specifically, as shown in FIG. 5, the
算出式(1)によれば結果的に暫定周波数は最大周波数に近くなり、算出式(2)によれば結果的に暫定周波数は最大周波数と同じになる。尚、第1所定値と第2所定値の間に含まれる実測負荷である場合には、図5において、目標負荷70%及び90%が利用されるが、これらの目標負荷は特性情報記憶部104が記憶する特性情報を利用して予め算出される。具体的には、特性情報に基づいて消費電力的に最も効率的な動作周波数に近づくような目標負荷が予め算出される。 According to the calculation formula (1), the provisional frequency is eventually close to the maximum frequency, and according to the calculation formula (2), the provisional frequency is eventually the same as the maximum frequency. When the actually measured load is included between the first predetermined value and the second predetermined value, the target loads of 70% and 90% are used in FIG. 5, and these target loads are the characteristic information storage unit. It is calculated in advance using the characteristic information stored in 104. Specifically, the target load that approaches the most efficient operating frequency in terms of power consumption is calculated in advance based on the characteristic information.
ここで、パラメータ算出部107が算出する暫定周波数は必ずしもCPU100Aに設定できる動作周波数(具体的には図4に示す各動作周波数)とは限らない。したがって、パラメータ算出部107は暫定周波数をCPU100Aに設定できる動作周波数に置換する。具体的には、パラメータ算出部107は暫定周波数の動作周波数への置換を予め定められた以下の4つのパターン(A)〜(D)のいずれかにより行う。
Here, the provisional frequency calculated by the
(A)算出した暫定周波数を挟む2つの動作周波数のうち、特性情報に基づいてCPU100Aの特性として効率的な方の動作周波数を選択し、暫定周波数を、選択した動作周波数に置換。
(B)算出した暫定周波数を挟む2つの動作周波数のうち、暫定周波数との差が小さい方の動作周波数を選択し、暫定周波数を、選択した動作周波数に置換。
(C)算出した暫定周波数を挟む2つの動作周波数のうち、常に暫定周波数より小さい方の動作周波数を選択し、暫定周波数を、選択した動作周波数に置換。
(D)算出した暫定周波数を挟む2つの動作周波数のうち、常に暫定周波数より大きい方の動作周波数を選択し、暫定周波数を、選択した動作周波数に置換。
(A) Of the two operating frequencies sandwiching the calculated provisional frequency, the more efficient operating frequency is selected as the characteristic of the
(B) Of the two operating frequencies that sandwich the calculated provisional frequency, the operating frequency with the smaller difference from the provisional frequency is selected, and the provisional frequency is replaced with the selected operating frequency.
(C) Of the two operating frequencies that sandwich the calculated provisional frequency, the operating frequency that is smaller than the provisional frequency is always selected, and the provisional frequency is replaced with the selected operating frequency.
(D) Of the two operating frequencies that sandwich the calculated provisional frequency, the operating frequency that is always larger than the provisional frequency is always selected, and the provisional frequency is replaced with the selected operating frequency.
これにより、時間の経過に応じて変化する暫定周波数が、CPU100Aに設定可能な動作周波数に置換される。しかしながら、当該動作周波数は時間の経過に対して非常に細かく変化する。このため、全体的な変化の頻度を減らすべく、パラメータ算出部107はパラメータ記憶部110が予め記憶する複数のガバナーパラメータのいずれか又はこれらの組み合わせに基づいて動作周波数の変化を近似する。
As a result, the provisional frequency that changes with the passage of time is replaced with the operating frequency that can be set in the
ここで、図6から図8までを参照して、動作周波数の変化の近似を具体的に説明する。 Here, the approximation of the change in the operating frequency will be specifically described with reference to FIGS. 6 to 8.
図6から図8はいずれも時間の経過に応じて変化する近似前後の動作周波数の一部(その1〜その3)である。言い換えれば、図6から図8に示す近似前の動作周波数の一部を結合することにより、時間の経過に応じて変化する、CPU100Aに設定可能な動作周波数全体が完成する。
6 to 8 are a part of the operating frequencies before and after the approximation (No. 1 to No. 3) which change with the passage of time. In other words, by combining a part of the operating frequencies before approximation shown in FIGS. 6 to 8, the entire operating frequency that can be set in the
パラメータ算出部107が動作周波数の変化を近似する場合、まず、パラメータ算出部107は図6〜図8の上段に示す近似前の動作周波数の中から一定の動作周波数が継続する時間が特定の閾値時間以下である部分を特定する。具体的には、図6の上段に示す近似前の動作周波数であれば、パラメータ算出部107は部分Aを特定する。同様に、図7の上段に示す近似前の動作周波数であれば、パラメータ算出部107は部分Bを特定する。図8の上段に示す近似前の動作周波数であれば、パラメータ算出部107は部分Cを特定する。
When the
次に、パラメータ算出部107は特定した部分の動作周波数を、その直前に存在する該部分より長い時間で継続する一定した動作周波数に置換し、置換後の部分と直前の動作周波数の区間とを結合する。具体的には、図6の下段に示すように、パラメータ算出部107は、部分Aの動作周波数を直前に存在する動作周波数に置換し、部分Aと直前に存在する動作周波数の区間A´を結合する。同様に、図7の下段に示すように、パラメータ算出部107は、部分Bの動作周波数を直前に存在する動作周波数に置換し、部分Bと直前に存在する動作周波数の区間B´を結合する。また、図8の下段にも示すように、パラメータ算出部107は、部分Cの動作周波数を直前に存在する動作周波数に置換し、部分Cと直前に存在する動作周波数の区間C´を結合する。これにより、細かな変化が消失し、変化が大きく一定の動作周波数が長く継続する動作周波数が残存する。
Next, the
そして、パラメータ算出部107は残存した動作周波数に基づいてガバナーパラメータを決定する。具体的には、最低周波数にあるときに次にとる動作周波数を表すガバナーパラメータ(具体的にはhispeed_freq)とその滞在時間をガバナーパラメータ(具体的にはabove_hispeed_delay)に関しては、パラメータ算出部107はそれぞれの統計値に基づいて、各最頻値をそれぞれガバナーパラメータとして決定する。
Then, the
また、パラメータ算出部107は目標負荷に基づいて負荷に関するガバナーパラメータ(具体的にはtarget_load及びhispeed_load)を決定する。さらに、動作周波数毎にその動作周波数が設定されてからの継続時間を表すガバナーパラメータ(具体的にはmin_sample_time)に関しては、パラメータ算出部107は統計値に基づき最小値をガバナーパラメータとして決定する。idle開始時からの周波数維持時間を表すガバナーパラメータ(具体的にはtimer_slack)に関しては、パラメータ算出部107は初期設定の固定値をガバナーパラメータとして決定する。
Further, the
パラメータ算出部107がガバナーパラメータを決定すると、アプリ実行部105はイベント制御部101に追加アプリを起動させる。そして、パラメータ算出部107は初期設定のガバナーパラメータに基づいて追加アプリが実行された場合に消費電力測定部102が測定した消費電力と、決定したガバナーパラメータに基づいて追加アプリが実行された場合に消費電力測定部102が測定した消費電力を比較する。パラメータ算出部107は比較した結果、決定したガバナーパラメータの方が初期設定のガバナーパラメータより消費電力が少ない場合、決定したガバナーパラメータを追加アプリの情報と関連付けてパラメータ記憶部110に格納する。
When the
パラメータ変換部108はガバナーパラメータを動作周波数に変換する。より詳しくは、追加アプリが実行されると、パラメータ変換部108はパラメータ記憶部110が記憶するガバナーパラメータの中から追加アプリに応じたガバナーパラメータを取得する。パラメータ変換部108は追加アプリに応じたガバナーパラメータを取得すると、取得したガバナーパラメータを動作周波数に変換して動作周波数制御部109に出力する。
The
動作周波数制御部109はパラメータ変換部108から出力された動作周波数でCPU100Aを動作させる。したがって、CPU100Aはパラメータ変換部108から出力された動作周波数に従って動作する。
The operating
次に、図9を参照して、動作周波数制御装置100の動作について説明する。
Next, the operation of the operating
図9は動作周波数制御装置100の動作の一例である。図9に示すように、イベント履歴管理部103は、まず、イベント履歴保持処理を実行する(ステップS101)。詳細は後述するが、イベント履歴保持処理は、イベント制御部101から出力されたイベント情報をタスクと関連付けて保持する処理である。イベント履歴保持処理が完了すると、次いで、イベント履歴管理部103はタスクの統計情報が所定の条件を満足するか否かを判断する(ステップS102)。
FIG. 9 is an example of the operation of the operating
タスクの統計情報が所定の条件を満足しない場合(ステップS102:NO)、イベント履歴管理部103はステップS101の処理を再び実行する。一方、タスクの統計情報が所定の条件を満足する場合(ステップS102:YES)、パラメータ算出部107はパラメータ算出処理を実行する(ステップS103)。詳細は後述するが、パラメータ算出処理は追加アプリの実行中のCPU100Aの負荷に基づいて、CPU100Aの動作周波数を制御するガバナーパラメータを算出する処理である。パラメータ算出処理が完了すると、パラメータ算出部107は処理を終える。
When the statistical information of the task does not satisfy the predetermined condition (step S102: NO), the event
次に、図10を参照して、上述したイベント履歴保持処理の詳細について説明する。 Next, the details of the above-mentioned event history holding process will be described with reference to FIG.
図10はイベント履歴保持処理の一例を示すフローチャートである。例えば携帯情報端末10の電源スイッチがオフからオンに切り替えられると、イベント履歴管理部103は自身を通常モードに設定する(ステップS201)。ステップS201の処理が完了し、イベント制御部101がタッチパネル100Hから追加アプリを起動するユーザ操作を受け付けると、イベント制御部101はイベント情報を生成し(ステップS202)、イベント履歴管理部103はイベント制御部101が生成したイベント情報を保持する(ステップS203)。
FIG. 10 is a flowchart showing an example of the event history holding process. For example, when the power switch of the
また、イベント制御部101は追加アプリを起動するユーザ操作を受け付けると、追加アプリを起動する(ステップS204)、追加アプリが起動すると、CPU100Aは追加アプリを実行する。尚、ステップS202,S203の処理とステップS204の処理の順序は逆であってもよい。ステップS204の処理が完了すると、次いで、イベント履歴管理部103はユーザ操作に応じて生成された種々のタスクに関する情報(例えばアプリ名や画面名など)をOperating System(OS)から取得する(ステップS205)。イベント履歴管理部103はタスクに関する情報を取得すると、タスクの統計情報を生成する(ステップS206)。ステップS206の処理が完了すると、イベント履歴管理部103はイベント情報と統計情報を関連付けて保持する(ステップS207)。これにより、イベント履歴管理部103はイベント履歴保持処理を終える。
Further, when the
次に、図11を参照して、パラメータ算出処理の詳細について説明する。 Next, the details of the parameter calculation process will be described with reference to FIG.
図11はパラメータ算出処理の一例を示すフローチャートである。イベント履歴管理部103が生成した統計情報が所定の条件を満足すると、イベント履歴管理部103は自身を測定モードに設定する(ステップS301)。イベント履歴管理部103が自身を測定モードに設定すると、パラメータ算出部107はCPU100Aの動作周波数を最大周波数に固定する(ステップS302)。より詳しくは、パラメータ算出部107はパラメータ変換部108の通常モード時の機能を無効化し、測定モード時の機能を有効化する。これにより、パラメータ変換部108はCPU100Aの負荷に応じた動作周波数を動作周波数制御部109に出力する機能を停止し、動作周波数制御部109に最大周波数を出力する機能を実現する。これにより、動作周波数制御部109はCPU100Aを最大周波数で動作させる。
FIG. 11 is a flowchart showing an example of the parameter calculation process. When the statistical information generated by the event
ステップS302の処理が完了すると、次いで、パラメータ算出部107は特性情報を取得し(ステップS303)、アプリ実行部105はイベント制御部101に追加アプリを起動させる(ステップS304)。より詳しくは、アプリ実行部105はイベント履歴管理部103から測定モードへの移行が指示されると、イベント制御部101にイベント情報に応じた追加アプリを起動させる。これにより、CPU100Aは追加アプリを再び実行する。
When the process of step S302 is completed, the
ステップS304の処理が完了すると、負荷履歴管理部106は追加アプリ実行中のCPU100Aの負荷を測定する(ステップS305)。ステップS305の処理が完了すると、次いで、パラメータ算出部107は負荷履歴管理部106が測定した実測負荷を暫定周波数に変換する(ステップS306)。より詳しくは、パラメータ算出部107は実測負荷、実測負荷に応じて決定される目標負荷、CPU100Aの最大周波数、及び上述した所定の計算式(1)又は(2)を利用して、実測負荷を暫定周波数に変換する。
When the process of step S304 is completed, the load history management unit 106 measures the load of the
ステップS306の処理が完了すると、次いで、パラメータ算出部107はガバナーパラメータを算出する(ステップS307)。より詳しくは、パラメータ算出部107は暫定周波数をCPU100Aに設定できる動作周波数に置換し、その動作周波数を近似し、近似後の動作周波数を利用して種々のガバナーパラメータを決定する。
When the process of step S306 is completed, the
ステップS307の処理が完了すると、消費電力測定部102は消費電力を測定する(ステップS308)。より詳しくは、消費電力測定部102は初期設定のガバナーパラメータに基づいて動作するCPU100Aの消費電力と、決定したガバナーパラメータに基づいて動作するCPU100Aの消費電力をそれぞれ測定する。ステップS308の処理が完了すると、パラメータ算出部107は消費電力測定部102が測定した消費電力の中から最小の消費電力を測定したガバナーパラメータを追加アプリの情報と関連付けてパラメータ記憶部110に保存する(ステップS309)。これにより、追加アプリが実行されるたびに、追加アプリに応じたガバナーパラメータが利用されてCPU100Aが動作する。
When the process of step S307 is completed, the power
以上、本実施形態によれば、動作周波数制御装置100はアプリ実行部105とパラメータ算出部107を含んでいる。アプリ実行部105は、ユーザ操作に基づいて生成されるタスクの統計情報が予め指定された所定の条件を満足すると判断された場合、イベント履歴管理部103が保持するイベント情報の履歴に基づいて、追加アプリを起動させてCPU100Aに追加アプリを実行させる。パラメータ算出部107は追加アプリ実行中のCPU100Aの実測負荷に基づいて、ガバナーパラメータを算出する。これにより、追加アプリに対するCPU100Aの性能を調整することができる。したがって、追加アプリに対しても携帯情報端末10のパフォーマンス(具体的には応答速度又は操作性)が確保されながら、無駄な消費電力の発生が抑えられる。結果的に、電池容量の減少速度が低下し、携帯情報端末10の稼働時間が伸長する。
As described above, according to the present embodiment, the operating
以上、本発明の好ましい実施形態について詳述したが、本発明に係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Although the preferred embodiment of the present invention has been described in detail above, it is not limited to the specific embodiment of the present invention, and various modifications are made within the scope of the gist of the present invention described in the claims.・ Can be changed.
例えば、測定モードの移行はユーザ操作に基づいて行われてもよく、測定モード移行後の追加アプリの起動もユーザ操作に基づいて行われてもよい。この場合、イベント履歴管理部103は自身を動的に測定モードに設定する必要はなく、また、アプリ実行部105はイベント制御部101に追加アプリを動的に起動させる必要もない。
For example, the transition to the measurement mode may be performed based on the user operation, and the activation of the additional application after the transition to the measurement mode may be performed based on the user operation. In this case, the event
また、暫定周波数の動作周波数への置換は例えば選択画面を用意し、パターン(A)〜(D)のいずれかをユーザに選択させるようにしてもよいし、全てのパターン(A)〜(D)により暫定周波数の動作周波数への置換を行い、最小の消費電力を測定するパターン(A)〜(D)が選択されるようにしてもよい。さらに、第1の統計情報と第2の統計情報の双方を利用せずに、いずれか一方を利用するようにしてもよい。 Further, for the replacement of the provisional frequency with the operating frequency, for example, a selection screen may be prepared so that the user can select any of the patterns (A) to (D), or all the patterns (A) to (D). ) May be used to replace the provisional frequency with the operating frequency so that the patterns (A) to (D) for measuring the minimum power consumption are selected. Further, instead of using both the first statistical information and the second statistical information, one of them may be used.
なお、以上の説明に関して更に以下の付記を開示する。
(付記1)操作に基づいて生成されるタスクの統計情報が予め指定された条件を満たす場合に、前記操作の履歴に基づいて、操作対象の追加アプリを実行させ、前記追加アプリ実行中のCPUの負荷に基づいて、前記CPUの動作周波数を制御するパラメータを算出する、処理を実行する処理部を備える動作周波数制御装置。
(付記2)前記処理部は、前記条件を満たす場合に、前記CPUの動作周波数を最大周波数に固定し、前記CPUの実測負荷と前記CPUの目標負荷との関係に基づいて、前記最大周波数を暫定的な周波数に変換し、前記暫定的な周波数に応じた前記パラメータを算出する、ことを特徴とする付記1に記載の動作周波数制御装置。
(付記3)前記処理部は、携帯情報端末に予め設定されたパラメータと算出したパラメータのそれぞれによる前記追加アプリの実行に基づく消費電力を測定し、消費電力が少ない方のパラメータを前記追加アプリの情報と関連付けて保持する、ことを特徴とする付記1又は2に記載の動作周波数制御装置。
(付記4)前記統計情報は、前記タスクの使用頻度及び消費電力の少なくとも一方である、ことを特徴とする付記1から3のいずれか1項に記載の動作周波数制御装置。
(付記5)操作に基づいて生成されるタスクの統計情報が予め指定された条件を満たす場合に、前記操作の履歴に基づいて、操作対象の追加アプリを実行させ、前記追加アプリ実行中のCPUの負荷に基づいて、前記CPUの動作周波数を制御するパラメータを算出する、処理をコンピュータに実行させる動作周波数制御プログラム。
(付記6)操作に基づいて生成されるタスクの統計情報が予め指定された条件を満たす場合に、前記操作の履歴に基づいて、操作対象の追加アプリを実行させ、前記追加アプリ実行中のCPUの負荷に基づいて、前記CPUの動作周波数を制御するパラメータを算出する、処理をコンピュータが実行する動作周波数制御方法。
(付記7)前記条件を満たす場合に、前記CPUの動作周波数を最大周波数に固定し、前記CPUの実測負荷と前記CPUの目標負荷との関係に基づいて、前記最大周波数を暫定的な周波数に変換し、前記暫定的な周波数に応じた前記パラメータを算出する、ことを特徴とする付記6に記載の動作周波数制御方法。
(付記8)携帯情報端末に予め設定されたパラメータと算出したパラメータのそれぞれによる前記追加アプリの実行に基づく消費電力を測定し、消費電力が少ない方のパラメータを前記追加アプリの情報と関連付けて保存する、ことを特徴とする付記6又は7に記載の動作周波数制御方法。
(付記9)前記統計情報は、前記タスクの使用頻度及び消費電力の少なくとも一方である、ことを特徴とする付記6から8のいずれか1項に記載の動作周波数制御方法。
The following additional notes will be further disclosed with respect to the above description.
(Appendix 1) When the statistical information of the task generated based on the operation satisfies the condition specified in advance, the additional application to be operated is executed based on the history of the operation, and the CPU during the execution of the additional application is executed. An operating frequency control device including a processing unit that executes processing, which calculates parameters for controlling the operating frequency of the CPU based on the load of the CPU.
(Appendix 2) When the above conditions are satisfied, the processing unit fixes the operating frequency of the CPU to the maximum frequency, and sets the maximum frequency based on the relationship between the measured load of the CPU and the target load of the CPU. The operating frequency control device according to
(Appendix 3) The processing unit measures the power consumption based on the execution of the additional application according to the parameters preset in the mobile information terminal and the calculated parameters, and sets the parameter having the smaller power consumption as the parameter of the additional application. The operating frequency control device according to
(Supplementary Note 4) The operating frequency control device according to any one of
(Appendix 5) When the statistical information of the task generated based on the operation satisfies the condition specified in advance, the additional application to be operated is executed based on the history of the operation, and the CPU during the execution of the additional application is executed. An operating frequency control program that causes a computer to execute a process that calculates parameters that control the operating frequency of the CPU based on the load of the CPU.
(Appendix 6) When the statistical information of the task generated based on the operation satisfies the condition specified in advance, the additional application to be operated is executed based on the history of the operation, and the CPU during the execution of the additional application is executed. A method of operating frequency control in which a computer executes a process for calculating parameters for controlling the operating frequency of the CPU based on the load of the CPU.
(Appendix 7) When the above conditions are satisfied, the operating frequency of the CPU is fixed to the maximum frequency, and the maximum frequency is set to a provisional frequency based on the relationship between the measured load of the CPU and the target load of the CPU. The operating frequency control method according to Appendix 6, wherein the parameter is converted and the parameter is calculated according to the provisional frequency.
(Appendix 8) Measure the power consumption based on the execution of the additional application by each of the parameters preset in the mobile information terminal and the calculated parameters, and save the parameter with the smaller power consumption in association with the information of the additional application. The operating frequency control method according to Appendix 6 or 7, wherein the operating frequency is controlled.
(Supplementary note 9) The operating frequency control method according to any one of Supplementary notes 6 to 8, wherein the statistical information is at least one of the frequency of use and power consumption of the task.
10 携帯情報端末
100 動作周波数制御装置
101 イベント制御部
102 消費電力測定部
103 イベント履歴管理部
104 特性情報記憶部
105 アプリ実行部
106 負荷履歴管理部
107 パラメータ算出部
108 パラメータ変換部
109 動作周波数制御部
110 パラメータ記憶部
10
Claims (6)
前記追加アプリ実行中のCPUの負荷に基づいて、前記CPUの動作周波数を制御するパラメータを算出する、
処理を実行する処理部を備える動作周波数制御装置。 When the statistical information of the task generated based on the operation satisfies the condition specified in advance, the additional application to be operated is executed based on the history of the operation.
A parameter for controlling the operating frequency of the CPU is calculated based on the load of the CPU during execution of the additional application.
An operating frequency control device including a processing unit that executes processing.
ことを特徴とする請求項1に記載の動作周波数制御装置。 When the above conditions are satisfied, the processing unit fixes the operating frequency of the CPU to the maximum frequency, and sets the maximum frequency as a provisional frequency based on the relationship between the measured load of the CPU and the target load of the CPU. And calculate the parameters according to the provisional frequency.
The operating frequency control device according to claim 1.
ことを特徴とする請求項1又は2に記載の動作周波数制御装置。 The processing unit measures the power consumption based on the execution of the additional application by each of the parameters preset in the mobile information terminal and the calculated parameters, and associates the parameter with the smaller power consumption with the information of the additional application. Hold,
The operating frequency control device according to claim 1 or 2.
ことを特徴とする請求項1から3のいずれか1項に記載の動作周波数制御装置。 The statistical information is at least one of the frequency of use and the power consumption of the task.
The operating frequency control device according to any one of claims 1 to 3, wherein the operating frequency control device is characterized.
前記追加アプリ実行中のCPUの負荷に基づいて、前記CPUの動作周波数を制御するパラメータを算出する、
処理をコンピュータに実行させる動作周波数制御プログラム。 When the statistical information of the task generated based on the operation satisfies the condition specified in advance, the additional application to be operated is executed based on the history of the operation.
A parameter for controlling the operating frequency of the CPU is calculated based on the load of the CPU during execution of the additional application.
An operating frequency control program that causes a computer to perform processing.
前記追加アプリ実行中のCPUの負荷に基づいて、前記CPUの動作周波数を制御するパラメータを算出する、
処理をコンピュータが実行する動作周波数制御方法。 When the statistical information of the task generated based on the operation satisfies the condition specified in advance, the additional application to be operated is executed based on the history of the operation.
A parameter for controlling the operating frequency of the CPU is calculated based on the load of the CPU during execution of the additional application.
An operating frequency control method in which a computer performs processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017051252A JP6789861B2 (en) | 2017-03-16 | 2017-03-16 | Operating frequency control device, operating frequency control program, and operating frequency control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017051252A JP6789861B2 (en) | 2017-03-16 | 2017-03-16 | Operating frequency control device, operating frequency control program, and operating frequency control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018156252A JP2018156252A (en) | 2018-10-04 |
JP6789861B2 true JP6789861B2 (en) | 2020-11-25 |
Family
ID=63717362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017051252A Active JP6789861B2 (en) | 2017-03-16 | 2017-03-16 | Operating frequency control device, operating frequency control program, and operating frequency control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6789861B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112912820A (en) * | 2018-10-26 | 2021-06-04 | 华为技术有限公司 | Energy efficiency adjustment for CPU regulators |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5729197B2 (en) * | 2011-07-28 | 2015-06-03 | 富士通株式会社 | Information processing apparatus, information processing program, and information processing method |
JP5915406B2 (en) * | 2012-06-22 | 2016-05-11 | 富士通株式会社 | Control method of portable terminal device, control program, and portable terminal device |
-
2017
- 2017-03-16 JP JP2017051252A patent/JP6789861B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018156252A (en) | 2018-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3259825B1 (en) | Heterogeneous battery cell switching | |
KR101562448B1 (en) | Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device | |
CN110864401B (en) | System debugging method, system debugging device and storage medium | |
WO2018219104A1 (en) | Power saving control method and related product | |
WO2011064933A1 (en) | Reduced power consumption notification system, terminal device, method, and program | |
US20110072292A1 (en) | Power management of a mobile communications device | |
KR20170103230A (en) | Electronic apparatus, method for controlling charge and computer-readable recording medium | |
US9898068B2 (en) | Semiconductor device, electronic device, and method for controlling semiconductor device | |
WO2017083170A1 (en) | Latency-based energy storage device selection | |
JP5611855B2 (en) | Power control apparatus and power control method | |
JP6189159B2 (en) | Electronic device, method and program | |
US8645740B2 (en) | Methods and systems to dynamically manage performance states in a data processing system | |
JP6789861B2 (en) | Operating frequency control device, operating frequency control program, and operating frequency control method | |
KR20130040485A (en) | Apparatus and method for controlling cpu in a portable terminal | |
JP4485370B2 (en) | Parallel computing device | |
KR102270239B1 (en) | Method and apparatus for executing software in a electronic device | |
US20120046075A1 (en) | Method and apparatus for controlling output devices | |
JP6087080B2 (en) | In-vehicle system | |
WO2021235312A1 (en) | Information processing device, and information processing method | |
JP7217001B2 (en) | Mining system, management device and program | |
CN109542154B (en) | Control method and electronic equipment | |
CN117130455A (en) | Power consumption control method and device and electronic equipment | |
JP2005115620A (en) | Task management method and electronic apparatus having task management means | |
US20100205424A1 (en) | Method for booting computer system automatically | |
WO2024001159A1 (en) | Resource scheduling method and apparatus, and electronic device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180405 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180410 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20180725 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181019 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200929 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20201006 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201104 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6789861 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |