図面 (/)

技術 情報処理装置、クロック制御プログラムおよびクロック制御方法

出願人 富士通株式会社
発明者 阿部保彦
出願日 2014年5月26日 (6年5ヶ月経過) 出願番号 2014-108311
公開日 2015年12月14日 (4年11ヶ月経過) 公開番号 2015-225389
状態 特許登録済
技術分野 電源 マルチプログラミング 計算機・クロック
主要キーワード 機能空間 ワーク値 設定クロック 初期間隔 処理情報テーブル 開始間隔 収束状況 処理割合
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年12月14日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

定期的に起動する特定処理などの情報処理省電力制御を向上させる。

解決手段

定期的に起動する特定処理を実行する情報処理装置(2)であって、CPUパフォーマンスを設定する制御部(クロック制御部8)を備える。この制御部(クロック制御部8)が、特定処理の処理開始前履歴情報から前記特定処理の処理量予測し、該処理量が処理間隔の一定割合内に抑えられるようにCPUパフォーマンスを設定する。この制御部(クロック制御部8)の制御にはCPUパフォーマンスの漸減が含まれる。

概要

背景

モバイルデバイスパーソナルコンピュータ(PC)などの情報処理に用いられるCPU(Central Processing Unit )は複数のCore(コア)で構成される。各コアには処理がたとえば、対称型(Symmetric)またはAsymmetric(非対称型)に割り当てられる。各コアには処理負荷に応じて最適なClock(クロック)や電圧が設定され、消費電力の低減および処理速度の向上を両立させる省電力制御の実施が一般的である。この省電力制御はたとえば、OS(Operating System)が定期的に(割り込みなどを使って)OS上で動作するthread(スレッド)を監視し、コアが輻輳(100〔%〕の稼働状態化)することなく、処理を行える最も低い消費電力になるようにクロック速度およびコア数を制御する。

斯かる処理に関し、発生する処理ごとに必要な処理量を算出し、これに基づき、CPUのクロックを決定することが知られている(たとえば、特許文献1)。処理履歴からクロックを算出し、処理ごとに決められたデッドライン内に処理を抑えられる最低限のクロックに再調整することが知られている(たとえば、特許文献2)。また、処理の予測電力値をもとにクロックの設定を行い、デッドラインを超えて処理が継続した際には処理を間引くことが知られている(たとえば、特許文献3)。

概要

定期的に起動する特定処理などの情報処理の省電力制御を向上させる。定期的に起動する特定処理を実行する情報処理装置(2)であって、CPUパフォーマンスを設定する制御部(クロック制御部8)を備える。この制御部(クロック制御部8)が、特定処理の処理開始前履歴情報から前記特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにCPUパフォーマンスを設定する。この制御部(クロック制御部8)の制御にはCPUパフォーマンスの漸減が含まれる。

目的

この継続処理とはこれまでに発生した仕事量移動平均を使って次回発生の仕事量を予測することである

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

定期的に起動する特定処理を実行する情報処理装置であって、特定処理の処理開始前履歴情報から前記特定処理の処理量予測し、該処理量が処理間隔の一定割合内に抑えられるようにCPUパフォーマンスを設定する制御部を備えることを特徴とする情報処理装置。

請求項2

前記制御部は、前記CPUパフォーマンスを漸減させることを特徴とする請求項1に記載の情報処理装置。

請求項3

前記特定処理の処理量が前記処理間隔の一定割合以上である場合、予測される処理時間に応じた処理クロックを算出し、この処理クロックに制御することを特徴とする請求項1に記載の情報処理装置。

請求項4

コンピュータに実行させるためのクロック制御プログラムであって、定期的に起動する特定処理の開始前に履歴情報から前記特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにクロック制御を行う処理を前記コンピュータに実行させるためのクロック制御プログラム。

請求項5

前記クロック制御は、CPUパフォーマンスを漸減させる制御を含むことを特徴とする請求項4に記載のクロック制御プログラム。

請求項6

定期的に起動する特定処理の開始前に履歴情報から前記特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにクロック制御を行うことを特徴とするクロック制御方法

請求項7

前記クロック制御は、CPUパフォーマンスを漸減させる制御を含むことを特徴とする請求項6に記載のクロック制御方法。

技術分野

0001

本発明は、定期的に起動する処理などを実行する情報処理技術に関する。

背景技術

0002

モバイルデバイスパーソナルコンピュータ(PC)などの情報処理に用いられるCPU(Central Processing Unit )は複数のCore(コア)で構成される。各コアには処理がたとえば、対称型(Symmetric)またはAsymmetric(非対称型)に割り当てられる。各コアには処理負荷に応じて最適なClock(クロック)や電圧が設定され、消費電力の低減および処理速度の向上を両立させる省電力制御の実施が一般的である。この省電力制御はたとえば、OS(Operating System)が定期的に(割り込みなどを使って)OS上で動作するthread(スレッド)を監視し、コアが輻輳(100〔%〕の稼働状態化)することなく、処理を行える最も低い消費電力になるようにクロック速度およびコア数を制御する。

0003

斯かる処理に関し、発生する処理ごとに必要な処理量を算出し、これに基づき、CPUのクロックを決定することが知られている(たとえば、特許文献1)。処理履歴からクロックを算出し、処理ごとに決められたデッドライン内に処理を抑えられる最低限のクロックに再調整することが知られている(たとえば、特許文献2)。また、処理の予測電力値をもとにクロックの設定を行い、デッドラインを超えて処理が継続した際には処理を間引くことが知られている(たとえば、特許文献3)。

先行技術

0004

特開2008−198072号公報
特開2004−164643号公報
特開2000−357024号公報

発明が解決しようとする課題

0005

ところで、複数のコアで構成されるCPUについて、各コアは共通であるから、ひとつのコアの処理を見ると、各処理を担当する(発生イベントの処理を担当する)コア動作量〔MHz秒〕は、コア〔MHz〕と動作時間〔秒〕で求められる。つまり、コア動作量=クロック〔MHz〕×動作時間〔秒〕である。このコアのクロックを決定する処理は一定時間ごとたとえば、0.02〔秒〕ごとに行われる。

0006

情報処理装置の一例としてスマートフォンにおける地上波デジタル放送視聴ケースを例に取ると、図21は、斯かる放送受信処理の処理を示している。地上波デジタル放送では33〔Mbps〕のデータを受信し、デスクランブル処理、demux処理(Tuner)、デコード処理および表示処理が含まれる。図21のAはデスクランブル処理、図21のBはdemux処理(チューナ)、図21のCはデコード処理、図21のDは表示処理を示している。

0007

この放送受信処理では、1〔Mbyte〕のバッファを用意し、33〔Mbps〕=4.125〔Mbyte/sec〕(以下単純化のため4Mbyte/secとする)の処理が行われている。この処理には、少なくとも4回分のバッファ処理が必要である。

0008

チューナモジュールでは、200〔kbyte〕のバッファを備えていれば、20回分の処理が発生する。また、30〔fps〕の表示処理は、0.0333...〔sec〕ごとに発生する(単純化のため0.03〔sec〕とする)。

0009

ところで、コンテンツ保護などの目的で従来のOSとは異なる動作空間(TrustZone空間:アーキテクチャ拡張機能空間)を同一のCPU上で動作させることが可能である。斯かる空間では従来のOSにおけるクロック制御を行うことができない。TrustZoneが多用されると処理速度の低下(クロックの上昇不可)を招いたり、クロックの高止まりにより、クロック制御による低消費電力制御の効果が得られない。

0010

コンテンツ再生にDRM(Digital Rights Management)を必要とするマルチメディアコンテンツ再生では、DRM処理をTrustZoneで行う、コンテンツ再生のような定期的に起動し、定量処理を余儀なくされる場合には、処理開始後、CPU性能低下状態の継続や、clockの高止まりによる電力消費の発生が懸念される。

0011

斯かる処理では、クロックおよび電圧は比例関係にあり、電力は電圧の2乗に比例するので、発生処理量に対して許容可能な時間内に抑えられるクロック設定を必要とする課題がある。

0012

そこで、本開示の技術の目的は上記課題に鑑み、定期的に起動する特定処理などの情報処理の省電力制御を向上させることにある。

課題を解決するための手段

0013

上記目的を達成するため、本開示の技術の一側面によれば、定期的に起動する特定処理を実行する情報処理装置であって、CPUパフォーマンスを設定する制御部を備える。この制御部が、特定処理の処理開始前履歴情報から前記特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにCPU(Central Processing Unit )パフォーマンスを設定する。

発明の効果

0014

本開示の技術によれば、定期的に起動する特定処理または該特定処理を含む情報処理の省電力制御を向上させることができる。

図面の簡単な説明

0015

第1の実施の形態に係る情報処理装置およびその処理手順を示す図である。
情報処理装置の処理を示す図である。
クロックに対する減衰処理の有無を説明するための図である。
クロックに対する減衰処理の効果を説明するための図である。
第1の実施の形態に係る情報処理装置のハードウェア構成例を示す図である。
中央制御部のハードウェア構成例を示す図である。
特定処理の処理情報テーブルの一例を示す図である。
地上波デジタルTV放送受信の処理手順を示すフローチャートである。
クロック制御の処理手順を示すフローチャートである。
処理情報テーブルの更新の処理手順を示すフローチャートである。
初期化後または更新後の処理情報テーブルを示す図である。
数回の更新後の処理情報テーブルを示す図である。
特定処理開始前の処理情報テーブルを示す図である。
特定処理終了後の処理情報テーブルを示す図である。
処理情報テーブルのシミュレーションを示す図である。
処理情報テーブルのシミュレーションを示す図である。
処理情報テーブルのシミュレーションを示す図である。
処理の発生状態を示す図である。
クロック制御の収束状態を示す図である。
クロック制御の処理の比較例を示す図である。
地上波デジタルTV放送受信処理を示す図である。

実施例

0016

〔第1の実施の形態〕

0017

図1のAは、第1の実施の形態に係る情報処理装置を示している。図1に示す構成は一例であり、斯かる構成に本開示の技術が限定されるものではない。

0018

この情報処理装置2は、スマートフォン、携帯電話機タブレットPC(パーソナルコンピュータ)、デジタルカメラゲーム装置などの移動端末や、ノートPC、タブレット端末などのモバイル機器であってもよいし、据置き型のPCであってもよい。

0019

この情報処理装置2には一例としてCPU(Central Processing Unit )4、クロック生成部6、クロック制御部8が備えられる。

0020

この情報処理装置2は定期的に起動する特定処理を含む各種の情報処理を実行する。CPU4は、プログラムの実行により情報処理を実行し、この情報処理には既述の特定処理が含まれる。

0021

クロック生成部6はクロックを生成する。このクロック生成部6はたとえば、TCXO(Temperature Compensated Xtal Oscillator:温度補償型水晶発振器)を用いて、周波数安定度の高い、温度に依存しない高安定度のクロックを生成する。

0022

クロック制御部8では、特定処理の処理開始前に履歴情報から特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにCPUパフォーマンスを設定する。この場合、クロック制御部8はクロック周波数基準クロック逓倍などの周波数制御を行う。このクロック制御にはCPUパフォーマンスを漸減させる制御が含まれる。

0023

図1のBは、クロック制御の処理手順の一例を示している。この処理手順は、定期的に起動する特定処理を実行する情報処理装置2の情報処理の一例である。この処理手順では、処理が定期的に起動する特定処理かを判定する(S1)。定期的に起動する特定処理であれば(S1のYES)、実行する特定処理の処理量を予測する(S2)。この処理量の予測には、その特定処理の処理開始前に履歴情報から特定処理の処理量を求めればよい。

0024

そして、CPUパフォーマンスの一例として、特定処理の処理量が処理間隔の一定割合内に抑えられるようにクロック制御を行う(S3)。

0025

また、S1において、処理が定期的に起動する特定処理でなければ(S1のNO)、S2、S3をスキップし、通常のクロック設定を行う(S4)。このクロック設定つまり、特定処理を除く通常処理におけるクロック設定では、実行すべき処理によるCPU4の占有率に応じたクロック制御を行えばよい。

0026

そして、クロック制御の処理には、履歴対象区間算出処理減衰値の設定などの付随的な処理を含んでもよい。

0027

<履歴対象区間の算出処理>

0028

図2は、特定処理の一例として、継続する周期的な繰り返し処理を示している。たとえば、処理P1は時点t1から開始され、時点t2で終了する。時点t1は、処理P1を要求された時点で識別できる。時点t2は、処理P1の終了時点で識別することができる。これら時点t1、t2を記録すればよい。

0029

次の処理P2が開始される時点t3で、処理P1の開始時点t1からの処理間隔時間Taがあらかじめ設定していた最大許容間隔Tm未満であれば、各処理Pが継続していると判断し継続処理を行う。この継続処理とはこれまでに発生した仕事量移動平均を使って次回発生の仕事量を予測することである。非継続の場合は前回データ初回値として移動平均対象とすればよい。処理間隔時間Taが最大許容間隔Tm以上に到達すれば、それまでの情報を前回の履歴情報とし、これを記録し継続処理を中止する。この履歴情報を特定処理の処理量の予測に用いる。

0030

<減衰値の設定>

0031

動画処理などコンテンツにより処理量が動的に変動する処理では、前回履歴に基づいて処理量を予測し、その処理量に応じてクロック制御を行う。この場合、負荷が軽いコンテンツなどの処理に重負荷のクロックを設定すれば、その処理に対し必要以上の高クロックになる場合がある。このような不都合を回避するには、クロック制御で得られるクロックを減衰値によって減衰させ、高クロック化を防止すればよい。

0032

図3のAは、クロックに対する減衰無しの場合を示している。図3のAでは横軸に時間、縦軸にクロックを示している。前回の処理10−1の後、今回の処理10−2が実行され、処理10−2では減衰無しの処理を行っている。この処理では、クロックに対し予測設定が行われ、今回の処理10−2ではその処理量に大きな空き12−1が生じている。

0033

これに対し、図3のBは、クロックに対する減衰の有りの場合を示している。この図3のBにおいても、図3のAと同様に横軸に時間、縦軸にクロックを示している。この場合、前回の処理10−1が行われ、この処理の処理量は図3のAに示す処理10−1と同様である。前回の処理10−1を履歴情報とし、今回の処理10−3ではクロックに減衰処理を施し、予測設定されたクロックが用いられている。この結果、図3のAの処理10−2に比較し、クロックが低減されて処理量が少なくなり、しかも、生じた空き12−2は図3のAに示す処理10−2より小さくなっている。

0034

このように、前回の処理10−1の処理量より少ない処理量の処理10−2が発生した場合には、減衰なしでは図3のAに示すように、必要以上の高クロック処理に突入することになる。そこで、クロックに減衰値をかけると、処理10−2に比較して処理10−3の処理時間が延びるが、この処理10−3ではクロックが抑制されるので、電圧上昇を抑制でき、処理に対する消費電力を低減できる。

0035

処理割合の算出とクロック制御>

0036

単位時間のすべてを特定処理のたとえば、動画処理に割り当てると、UI(User Interface)処理など速やかに実行できない。これを回避するため、単位時間当たりの一定の割合で処理が済むようなクロックを設定し、他の処理を速やかに処理できるようにする。

0037

処理量の減衰により徐々にクロックが下がっていくと、前回生じた処理係る処理量が今回も発生した場合のCPU4の推定占有率が上がってくる。スマートフォンなどの情報処理装置2では、動画処理だけでなく、他の処理も並行して処理するため、UI処理やその操作などの即応性を確保するには、動画処理などによるCPU4の占有率を一定の処理量に抑える必要がある。そこで、動画処理などの特定処理によるCPU4の占有率が一定値以上になると予測した場合つまり、前回発生した処理の処理量と減衰したクロックから予測し、特定処理の処理量が一定割合に収まるようにクロックの引き上げを行う。

0038

具体的にはたとえば、図4に示すように、クロック制御を行う。図4には、横軸に時間、縦軸にクロックをとっている。図4において、MCは設定可能なクロックでの可能処理量、T1は変更前の推定占有時間、T2は変更後の推定占有時間である。クロックに対して推定占有時間T1となると判断した場合には、推定占有時間T2になるようにクロックの引き上げを行い、このクロックによって処理量を抑制する。変更前の推定占有時間T1では他の処理が可能な空きE1であるのに対し、変更後の推定占有時間T2では他の処理が可能な空きE2に拡大している。つまり、クロックを引き上げることにより、他の処理が可能な空き容量が増加する。

0039

<第1の実施の形態の効果>

0040

以上説明した第1の実施の形態によれば、次のような効果が得られる。

0041

(1)放送受信処理などの定期的に起動する特定処理について、処理開始前に処理量を履歴をもとに予測し、処理間隔に対し一定割合内に処理を押さえられるようにCPUパフォーマンスを設定するので、省電力制御を向上させることができる。

0042

(2) 既述のCPUパフォーマンスの設定では、定期的に起動する特定処理または該特定処理を含む情報処理を実行する際に特定処理の処理量が処理間隔の一定割合内に抑えられるようにクロック制御を行うので、情報処理装置2の省電力制御を向上させることができる。

0043

(3)特定処理のクロック制御により特定処理以外の他の処理の処理量を増加させ、CPU4の処理量を特定処理とそれ以外の処理量に効率的に配分することができる。

0044

(4) 定期的に発生する電力制御対象外の処理たとえば、トラストゾーン(TrustZone:アーキテクチャ拡張機能)上の処理に、あらかじめ処理履歴を用いて計算して予測したクロックを実行してもよい。この場合、発生処理量に対し許容可能な時間内で最低限のクロックを設定すれば、CPU4を適切に使用でき、消費電流を低減できる。

0045

(5)特定処理などの処理を処理間隔の一定割合内に抑えることで、ユーザインターフェース(UI)処理などの不規則な処理に対しても適切なクロック処理を行うことができる。

0046

〔第2の実施の形態〕

0047

図5は、第2の実施の形態に係る情報処理装置2のハードウェア構成例を示している。図5において、図1と同一部分には同一符号を付してある。

0048

情報処理装置2はたとえば、スマートフォンのハードウェア構成例である。この情報処理装置2は、中央制御部14および記憶部16が備えられる。中央制御部14には既述のCPU4が含まれる。記憶部16には、プログラムや処理情報が格納される。プログラムにはOS(Operating System)やクロック制御などの各種の情報処理プログラムが含まれる。処理情報はたとえば、処理情報テーブルによって格納される。この記憶部16にはメモリなどの記憶装置や、ハードディスクなどの補助記憶装置を含んでもよい。

0049

さらに、情報処理装置2には、RF(Radio Frequency )部18、モデム部20、音声入出力部22、キー制御部24、チューナー部26、表示制御部28、タッチパネル制御部30、SD制御部32、TCXO34が備えられる。

0050

RF部18はアンテナ36を備えて中央制御部14の制御により基地局との無線通信を行う。モデム部20はRF部18により無線通信を行い、データ信号を送信する無線信号変調処理を含む生成処理や、無線信号からデータ信号の復調処理を行う。

0051

音声入出力部22は、中央制御部14の制御により音声入出力を行う。この音声の入力にはマイクロフォン、音声の出力にはスピーカが用いられる。

0052

キー制御部24はキーボードなどを備え、キー入力の制御を行う。チューナー部26は放送受信用アンテナ42を備え、テレビ放送などの受信を行う。表示制御部28は表示パネル44を用いて可視情報の表示制御を行う。タッチパネル制御部30はタッチパネル46を備え、ユーザの指やスタイラスペンタッチ制御を行う。SD制御部32は外部メモリであるSDメモリカード48のデータの書込み、読出しなどの処理を行う。TCXO34はクロック生成部6の一例であり、クロック生成を行う。

0053

中央制御部14はたとえば、図6に示すように、ASIC(Application Specific IntegratedCircuit :特定用途向け専用IC)で構成し、既述のCPU4が含まれる。

0054

この中央制御部14には複数のコア4−1、4−2、4−3、4−4および逓倍器50−1、50−2、50−3、50−4が備えられる。コア4−1、4−2、4−3、4−4は既述のCPU4の一例である。

0055

逓倍器50−1、50−2、50−3、50−4はコア4−1、4−2、4−3、4−4に対応しており、TCXO34が生成するクロックを逓倍し、対応するコア4−1、4−2、4−3、4−4に供給する。

0056

この中央制御部14では、コア4−1、4−2、4−3、4−4および逓倍器50−1、50−2、50−3、50−4を以て、コア4−1、4−2、4−3、4−4にクロック制御部52−1、52−2、52−3、52−4が形成されている。

0057

<処理情報テーブル60>

0058

図7は、特定処理に用いられる処理情報テーブル60の一例を示している。この処理情報テーブル60は、記憶部16に構築され、特定処理の実行により格納情報が更新されて維持される。

0059

この処理情報テーブル60にはNo、処理ID、初期間隔Is〔sec〕、減衰係数a、割合b、前回処理開始時間Td〔sec〕、処理クロックCp〔GHz〕、実行回数n、処理時間T〔sec〕、移動平均間隔Isma〔sec〕、移動平均クロックCsma〔GHz〕、移動平均処理時間Tsma〔sec〕が格納される。

0060

Noは、処理単位に付された項番号である。処理IDは各処理を識別するための情報である。したがって、この処理情報テーブル60には処理毎に上記データが更新可能に格納される。

0061

地上デジタルTV放送受信処理>

0062

図8は、地上デジタルTV放送受信の処理手順を示している。この処理手順では、電源ONを受け、特定処理の処理情報テーブル60の初期化を行う(S11)。

0063

この初期化の後、特定処理か特定処理以外の処理かの処理切替え要求を受ける(S12)。この処理切替えの後、特定処理かを判定する(S13)。特定処理でなければ(S13のNO)、待機状態となる。

0064

特定処理であれば(S13のYES)、この特定処理の処理情報テーブル60は登録済かを判断する(S14)。

0065

選択されている特定処理について、処理情報テーブル60が登録済であれば(S14のYES)、クロック設定処理を行う(S15)。このクロック設定処理では、時間測定開始を契機に、処理時間Tに現在時刻を設定し(S16)、その特定処理を開始する(S17)。

0066

この特定処理終了後、処理時間Tの測定停止と処理情報テーブル60の更新を行い、S12に戻る。特定処理が継続している限り、S12〜S18の処理を継続して行う。

0067

S14の判断において、実行しようとする特定処理の処理情報テーブル60が登録されていなければ(S14のNO)、処理情報テーブル60への新規登録処理を行う(S19)。この処理には、処理情報テーブル60の初期化(クロックの初期設定、実行回数nの初期化、開始時間Tdに現在時刻を設定する)と、クロックの設定などの処理が含まれる。

0068

この登録処理の後、特定処理を実行し(S20)、処理時間Tの測定停止により処理情報テーブル60の更新を行い(S21)、S12に戻る。そして、この特定処理が継続している限り、既に処理情報テーブル60は登録済となるので、S12〜S18の処理を継続して行う。

0069

<クロック制御>

0070

図9は、既述のクロック設定処理(S15)の処理手順の一例を示している。この処理手順では、クロック設定処理(S15)に移行すると、現在時刻(nowtime )を取得し、間隔(I)を算出する(S21)。前回の開始時間はTdなので、処理間隔Iは、
I=nowtime −Td ・・・(1)
から算出される。つまり、間隔Iは取得した現在時刻nowtime から前回処理開始時間Tdを引くことにより求められる。

0071

この場合、算出した間隔Iが初期間隔Is未満であれば、移動平均を求めて平均間隔Ismaを更新する。間隔Iが初期間隔Is以上であれば、データを破棄し、移動平均間隔Ismaは更新しない。このため、算出した間隔Iと初期間隔Isと比較する(S22)。I<Isであれば(S22のYES)、処理情報テーブル60にある移動平均間隔Ismaおよび実行回数nを(n+1)に更新する(S23)。この場合、移動平均間隔Ismaは、
Isma=(Isma×n+1)/(n+1) ・・・(2)
から求められる。

0072

I<Isでなければ(S22のNO)、実行回数nの更新を行い、この場合、n=1に更新する(S24)。

0073

このようなステップを経て、期待処理時間Ttの算出を行う(S25)。この期待処理時間Ttの算出には、処理情報テーブル60から前回処理クロックCp、減衰係数a、移動平均処理時間Tsma、移動平均クロックCsmaを読み出し、次の演算を行う。この演算では、処理クロックCpを減衰係数aで減衰させたクロックCtと、期待平均仕事量を求め、これらを用いて期待処理時間Ttを算出する。
Ct=a×Cp ・・・(3)
期待平均仕事量=Tsma×Csma ・・・(4)
により、期待処理時間Ttは、
Tt=Tsma×Csma/Ct ・・・(5)
となる。

0074

このTtを(b×Isma)と比較する(S26)。(b×Isma)は、移動平均間隔Ismaに割合bを乗ずることにより、移動平均間隔Ismaの割合bを示す。この時間以内に処理を終え、他処理の動作時間を確保することを目的とする。

0075

Tt<(b×Isma)であれば(S26のYES)、クロックCtをクロックに設定し、処理クロックCpをクロックCtに更新し(S27)、処理手順(図8)のS15にリターンする。

0076

また、S26において、Tt≧(b×Isma)であれば(S26のNO)、時間内に処理が終わらないため、クロックCtを再設定する(S28)。このクロックCtは、
Ct=Tsma×Csma/(b×Isma) ・・・(6)
から求める。この処理の後、S27に移行し、処理手順(図8)のS15にリターンする。

0077

斯かる処理に求められたクロックCtは、特定処理が動作するCPUコア群のクロックに設定するとともに処理クロックCpをクロックCtに更新し、特定処理を実施する。

0078

図10は、既述の処理情報テーブル60の更新処理(S18、S21)の一例を示している。

0079

この更新処理では、処理時間Tを測定し、この処理時間Tに前回処理開始時間Tdを更新する(S31)。現在時刻(nowtime )を取得し、処理時間Tを算出する(S32)。この処理時間Tは、T=nowtime −Tから算出すればよい。

0080

次に、処理時間Tを用いて移動平均処理時間Tsmaを算出する(S33)。この移動平均処理時間Tsmaは、
Tsma={Tsma×(n−1)+T}/n ・・・(7)
から算出される。ただし、Tは処理時間であり、nは実行回数である。

0081

次に、クロックCtを用いて移動平均クロックCsmaを算出し(S34)、この処理を終了する。S34において、移動平均クロックCsmaは、
Csma={Csma×(n−1)+Ct}/n ・・・(8)
から算出される。ただし、クロックCtは式(6) から求められたクロックである。

0082

<処理情報テーブル60のデータ変化

0083

図11のAは、初期化後の処理情報テーブル60を示している。図11のBは、1回目の更新後の処理情報テーブル60を示している。処理情報テーブル60の更新により、図11のBに示す処理情報テーブル60では項番号No=2が加わり、更新情報が格納されている。

0084

図12のAは、2回目の更新後の処理情報テーブル60を示している。処理情報テーブル60の2回目の更新により、項番号No=3が加わり、その更新情報が格納されている。そして、連続した更新処理を経て、図12のBは、7回目の更新後の処理情報テーブル60を示している。項番号No=4〜7が加わり、これらの更新情報が格納されている。

0085

そして、図13は、一定時間処理が停止した後、特定処理の開始前の処理情報テーブル60を示している。これに対し、図14は、特定処理の終了後の処理情報テーブル60を示している。

0086

特定処理の終了前の処理情報テーブル60では、項番号No=7で実行回数がn=7であるのに対し、項番号No=200で実行回数n=1となり、移動平均クロックが再スタートする。この再スタートでは、前回処理の項番号No=7の処理クロックCpを読み出し、クロックCt、期待処理時間Ttを算出し、これを項番号No=7のIsmaを読み出して割合bで減算した値と比較し、クロックCtの補正有無判断を行ってクロックの設定を行う。特定処理の終了後、n=1を用いてIsma、Csma、Tsmaを求める。図14は、これらIsma、Csma、Tsmaの値を示している。

0087

<特定処理のシミュレーション>

0088

図15図16および図17は、特定処理のシミュレーション結果を示している。

0089

このシミュレーションでは、前提条件として最大クロックCmax=1.5〔GHz〕とする。仕事は0.05〔sec〕毎に処理量0.3(クロック〔GHz〕×時間〔sec〕)でランダムに30〔%〕以内で変動しながら発生する。処理は0.25〔sec〕毎に行われる。そして、処理後に移動平均を用いて計算を行う。この場合、減衰係数a=0.9、当該処理の割合b=30〔%〕とした。

0090

<処理の概要

0091

図18は、特定処理を含む処理P1、P2・・・Pnのばらつき状況を示している。 上記実施の形態で示したクロック制御は、このようなばらついた複数の処理が不連続に発生する場合に適用すればよい。

0092

図19は、各処理のクロックの収束状況を示している。当初変動したクロックは、0.8〜1.0の最適値収束している。

0093

<第2の実施の形態の機能および効果>

0094

以上説明した第2の実施の形態における機能および効果は以下の通りである。

0095

(1) CPU4はコア4−1、4−2、4−3、4−4を含み、各コアクロックを独立して変更可能であり、各コア4−1、4−2、4−3、4−4では特定処理の実行時のクロックと処理時間が測定可能である。

0096

(2) 処理を特定可能であって、処理ごとに情報としてクロックおよび処理時間を保持することができる。電源ONの後、初めて処理を実行したことを判別することができる。

0097

(3)特定処理の開始前にCPU使用率とクロックを読み出し可能である。そして、初めて処理を実行するときに、その処理で最も最適なクロックが設定可能である。

0098

(4) 処理時間を計測でき、実行時のクロックと処理時間を記録可能で、かつ、クロックと処理時間の移動平均値を記録可能である。特定処理の開始間隔を測定可能で予め決めた時間間隔を超えた場合、その値は破棄でき、かつ、移動平均を算出し、その値が記録可能である。

0099

(5)移動平均をとったクロックと処理時間の積を前回実行時のクロックにあらかじめ設定した減衰係数をかけて算出した処理クロックで割って、期待処理時間を算出可能である。この場合、移動平均で算出した開始間隔に対し、期待処理時間が予め設定した割合との比較処理が可能である。

0100

(6) 予め設定した割合以上の場合、移動平均で算出した開始間隔にあらかじめ設定した割合をかけて算出した期待処理時間で移動平均のクロックと処理時間の積を割って新たな処理クロックを算出することが可能である。

0101

(7) 定期的に起動する特定処理について、処理開始前に処理量を過去の履歴をもとに予測し処理開始時にクロックを設定する(たとえば、Trust Zoneに遷移する前に設定する)。電源ON後の履歴データがない場合はクロックを最高に設定し、コンテンツ再生などのように定期的にデータを処理する場合には、あらかじめ最大許容間隔を設定することで、間隔を超えた場合処理が終了したと判断できる。そして、自動的に再生開始と終了を検出し次回開始時のクロックを計算でき、算出したクロックにあらかじめ決めた減衰値をかけることにより、低負荷なコンテンツの再生などの処理では必要最低限のクロックで処理を開始できる。

0102

(8) 単位時間当たりの処理時間の割合を決めておき、過去の移動平均単位処理時間と移動平均クロックから算出した値を設定クロックで割り、これにより求めた期待時間の単位時間当たりの割合があらかじめ決めた値を下回った場合にはクロック再設定する。この場合、クロックの周波数を高くする。これにより、クロックが徐々に低下し、処理時間が伸びることを防止でき、常に必要なクロックに維持できる。つまり、電源ON後もっとも高いクロックで測定し、あらかじめ減衰係数、処理間隔、処理割合を設定し利用することで最適な状態に自動的に漸近させることができる。これにより、必要な処理を遅延なく効率よく実行できる。

0103

<比較例との対比>

0104

図20のAは、上記実施の形態の仕事量の変化を示している。上記実施の形態では既述したように、特定処理はたとえば、マルチメディアのデコード処理などの周期的な繰り返し処理である特定処理に対してクロック制御を行う。

0105

電源ON後、初めての特定処理を実行する際、CPU4で取り得る最大のクロック(Cmaxとする)を設定して処理を行い処理時間Tを測定し、その特定処理と処理時間Tを記録する。この特定処理の処理間隔Iを計測し、この処理間隔Iが履歴情報から想定される初期間隔Isを超えた場合、これまでのクロックおよび処理時間から前回処理量として期待処理時間、処理間隔を移動平均から計算して更新し、これらの値を移動平均処理時間Tsma、移動平均間隔Ismaとして記録する。

0106

特定処理の移動平均クロックCsmaは、特定処理が起動したとき、移動平均で算出した処理量であり、クロックと時間の積で求められる。期待処理時間Ttは、移動平均クロックCsmaと移動平均処理時間Tsmaの積(Csma×Tsma)を突入クロック:Ctで割って求められる。Ctは、前回処理のクロック:Cpに対して予め設定した減衰させる係数a(たとえば、a=0.9など)をかけた値である。

0107

この期待処理時間Ttが予め決めた繰り返し間隔に対する割合b(たとえば、b=0.2など)未満になるか(Tt/Isma<b)を判断し、割合b以上の場合、割合b未満になる最低のクロックを使用する(処理割合の算出とクロック再設定)。

0108

図20のBは、比較例1(たとえば、特開2004−164643号公報)のCPUの動作状態を示している。負荷1の処理でアイドル(以下「IDL」と称する)が増えたので、デッドライン値増(2)、クロック(タスクワーク値)減(1)になる。

0109

負荷2を処理時、デッドライン値を超えると、CPUのクロックが上がり(1⇒3⇒5)、タスク実行間隔内に処理が終わる。この場合、IDLが少ないことからデッドライン値は増えず、クロック(タスクワーク値)の減衰も行われない。

0110

負荷3を処理すると、IDLが増え、デッドライン値増、クロック(タスクワーク値)減となり、負荷4が処理される。負荷4の処理でIDLが減り、デッドライン値減、クロック増で負荷5が処理される。負荷5の処理でIDLが増え、デッドライン値増、クロック減となり、負荷6が処理される。

0111

図20のCは、比較例2(特開2004−164643号公報)のTrustZoneのCPU動作状態を示している。処理中にクロックが変更できない場合には、デッドライン値を超えてもクロックが変更できない。上記実施の形態では、処理中に中断が可能であり、処理中のみクロックが引き上げが可能である。

0112

図20のDは、上記実施の形態の一例であるTrustZoneのCPU動作状態を示している。既述したように、一定時間内(周期の一定割合内)に処理を終了するので、処理中にクロックを変更できない場合にもオーバーフローを生じない。

0113

〔他の実施の形態〕

0114

a)上記実施の形態では情報処理装置としてスマートフォンを例示したが、スマートフォン以外の情報処理機器であってもよい。

0115

b)特定処理の一例として地上デジタルTV放送受信処理を例示したが、対象とする特定処理は放送受信以外の周期的に繰り返されるゲームなどの処理であってもよい。

0116

以上説明したように、本発明の技術の最も好ましい実施の形態などについて説明した。本発明は、上記記載に限定されるものではない。特許請求の範囲に記載され、または発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能である。斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。

0117

2情報処理装置
4 CPU
4−1、4−2、4−3、4−4コア
6クロック生成部
8クロック制御部
10−1前回の処理
10−2 今回の処理
10−3 今回の処理
12−1 空き
12−2 空き
14中央制御部
16 記憶部
18 RF(Radio Frequency )部
20モデム部
22音声入出力部
24キー制御部
26チューナー部
28表示制御部
30タッチパネル制御部
32 SD制御部
34 TCXO
36アンテナ
42放送受信用アンテナ
44表示パネル
46 タッチパネル
48SDメモリカード
50−1、50−2、50−3、50−4逓倍器
52−1、52−2、52−3、52−4 クロック制御部
60 処理情報テーブル

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ