JP2015225389A - 情報処理装置、クロック制御プログラムおよびクロック制御方法 - Google Patents

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

Info

Publication number
JP2015225389A
JP2015225389A JP2014108311A JP2014108311A JP2015225389A JP 2015225389 A JP2015225389 A JP 2015225389A JP 2014108311 A JP2014108311 A JP 2014108311A JP 2014108311 A JP2014108311 A JP 2014108311A JP 2015225389 A JP2015225389 A JP 2015225389A
Authority
JP
Japan
Prior art keywords
processing
clock
time
specific
clock control
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.)
Granted
Application number
JP2014108311A
Other languages
English (en)
Other versions
JP6299429B2 (ja
Inventor
保彦 阿部
Yasuhiko Abe
保彦 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014108311A priority Critical patent/JP6299429B2/ja
Publication of JP2015225389A publication Critical patent/JP2015225389A/ja
Application granted granted Critical
Publication of JP6299429B2 publication Critical patent/JP6299429B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Power Sources (AREA)

Abstract

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

Description

本発明は、定期的に起動する処理などを実行する情報処理技術に関する。
モバイルデバイスやパーソナルコンピュータ(PC)などの情報処理に用いられるCPU(Central Processing Unit )は複数のCore(コア)で構成される。各コアには処理がたとえば、対称型(Symmetric)またはAsymmetric(非対称型)に割り当てられる。各コアには処理負荷に応じて最適なClock(クロック)や電圧が設定され、消費電力の低減および処理速度の向上を両立させる省電力制御の実施が一般的である。この省電力制御はたとえば、OS(Operating System)が定期的に(割り込みなどを使って)OS上で動作するthread(スレッド)を監視し、コアが輻輳(100〔%〕の稼働状態化)することなく、処理を行える最も低い消費電力になるようにクロック速度およびコア数を制御する。
斯かる処理に関し、発生する処理ごとに必要な処理量を算出し、これに基づき、CPUのクロックを決定することが知られている(たとえば、特許文献1)。処理履歴からクロックを算出し、処理ごとに決められたデッドライン内に処理を抑えられる最低限のクロックに再調整することが知られている(たとえば、特許文献2)。また、処理の予測電力値をもとにクロックの設定を行い、デッドラインを超えて処理が継続した際には処理を間引くことが知られている(たとえば、特許文献3)。
特開2008−198072号公報 特開2004−164643号公報 特開2000−357024号公報
ところで、複数のコアで構成されるCPUについて、各コアは共通であるから、ひとつのコアの処理を見ると、各処理を担当する(発生イベントの処理を担当する)コア動作量〔MHz秒〕は、コア〔MHz〕と動作時間〔秒〕で求められる。つまり、コア動作量=クロック〔MHz〕×動作時間〔秒〕である。このコアのクロックを決定する処理は一定時間ごとたとえば、0.02〔秒〕ごとに行われる。
情報処理装置の一例としてスマートフォンにおける地上波デジタル放送の視聴ケースを例に取ると、図21は、斯かる放送受信処理の処理を示している。地上波デジタル放送では33〔Mbps〕のデータを受信し、デスクランブル処理、demux処理(Tuner)、デコード処理および表示処理が含まれる。図21のAはデスクランブル処理、図21のBはdemux処理(チューナ)、図21のCはデコード処理、図21のDは表示処理を示している。
この放送受信処理では、1〔Mbyte〕のバッファを用意し、33〔Mbps〕=4.125〔Mbyte/sec〕(以下単純化のため4Mbyte/secとする)の処理が行われている。この処理には、少なくとも4回分のバッファ処理が必要である。
チューナモジュールでは、200〔kbyte〕のバッファを備えていれば、20回分の処理が発生する。また、30〔fps〕の表示処理は、0.0333...〔sec〕ごとに発生する(単純化のため0.03〔sec〕とする)。
ところで、コンテンツ保護などの目的で従来のOSとは異なる動作空間(TrustZone空間:アーキテクチャ拡張機能空間)を同一のCPU上で動作させることが可能である。斯かる空間では従来のOSにおけるクロック制御を行うことができない。TrustZoneが多用されると処理速度の低下(クロックの上昇不可)を招いたり、クロックの高止まりにより、クロック制御による低消費電力制御の効果が得られない。
コンテンツ再生にDRM(Digital Rights Management)を必要とするマルチメディアコンテンツ再生では、DRM処理をTrustZoneで行う、コンテンツ再生のような定期的に起動し、定量処理を余儀なくされる場合には、処理開始後、CPU性能の低下状態の継続や、clockの高止まりによる電力消費の発生が懸念される。
斯かる処理では、クロックおよび電圧は比例関係にあり、電力は電圧の2乗に比例するので、発生処理量に対して許容可能な時間内に抑えられるクロック設定を必要とする課題がある。
そこで、本開示の技術の目的は上記課題に鑑み、定期的に起動する特定処理などの情報処理の省電力制御を向上させることにある。
上記目的を達成するため、本開示の技術の一側面によれば、定期的に起動する特定処理を実行する情報処理装置であって、CPUパフォーマンスを設定する制御部を備える。この制御部が、特定処理の処理開始前に履歴情報から前記特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにCPU(Central Processing Unit )パフォーマンスを設定する。
本開示の技術によれば、定期的に起動する特定処理または該特定処理を含む情報処理の省電力制御を向上させることができる。
第1の実施の形態に係る情報処理装置およびその処理手順を示す図である。 情報処理装置の処理を示す図である。 クロックに対する減衰処理の有無を説明するための図である。 クロックに対する減衰処理の効果を説明するための図である。 第1の実施の形態に係る情報処理装置のハードウェア構成例を示す図である。 中央制御部のハードウェア構成例を示す図である。 特定処理の処理情報テーブルの一例を示す図である。 地上波デジタルTV放送受信の処理手順を示すフローチャートである。 クロック制御の処理手順を示すフローチャートである。 処理情報テーブルの更新の処理手順を示すフローチャートである。 初期化後または更新後の処理情報テーブルを示す図である。 数回の更新後の処理情報テーブルを示す図である。 特定処理開始前の処理情報テーブルを示す図である。 特定処理終了後の処理情報テーブルを示す図である。 処理情報テーブルのシミュレーションを示す図である。 処理情報テーブルのシミュレーションを示す図である。 処理情報テーブルのシミュレーションを示す図である。 処理の発生状態を示す図である。 クロック制御の収束状態を示す図である。 クロック制御の処理の比較例を示す図である。 地上波デジタルTV放送受信処理を示す図である。
〔第1の実施の形態〕
図1のAは、第1の実施の形態に係る情報処理装置を示している。図1に示す構成は一例であり、斯かる構成に本開示の技術が限定されるものではない。
この情報処理装置2は、スマートフォン、携帯電話機、タブレットPC(パーソナルコンピュータ)、デジタルカメラ、ゲーム装置などの移動端末や、ノートPC、タブレット端末などのモバイル機器であってもよいし、据置き型のPCであってもよい。
この情報処理装置2には一例としてCPU(Central Processing Unit )4、クロック生成部6、クロック制御部8が備えられる。
この情報処理装置2は定期的に起動する特定処理を含む各種の情報処理を実行する。CPU4は、プログラムの実行により情報処理を実行し、この情報処理には既述の特定処理が含まれる。
クロック生成部6はクロックを生成する。このクロック生成部6はたとえば、TCXO(Temperature Compensated Xtal Oscillator:温度補償型水晶発振器)を用いて、周波数安定度の高い、温度に依存しない高安定度のクロックを生成する。
クロック制御部8では、特定処理の処理開始前に履歴情報から特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにCPUパフォーマンスを設定する。この場合、クロック制御部8はクロック周波数を基準クロックの逓倍などの周波数制御を行う。このクロック制御にはCPUパフォーマンスを漸減させる制御が含まれる。
図1のBは、クロック制御の処理手順の一例を示している。この処理手順は、定期的に起動する特定処理を実行する情報処理装置2の情報処理の一例である。この処理手順では、処理が定期的に起動する特定処理かを判定する(S1)。定期的に起動する特定処理であれば(S1のYES)、実行する特定処理の処理量を予測する(S2)。この処理量の予測には、その特定処理の処理開始前に履歴情報から特定処理の処理量を求めればよい。
そして、CPUパフォーマンスの一例として、特定処理の処理量が処理間隔の一定割合内に抑えられるようにクロック制御を行う(S3)。
また、S1において、処理が定期的に起動する特定処理でなければ(S1のNO)、S2、S3をスキップし、通常のクロック設定を行う(S4)。このクロック設定つまり、特定処理を除く通常処理におけるクロック設定では、実行すべき処理によるCPU4の占有率に応じたクロック制御を行えばよい。
そして、クロック制御の処理には、履歴対象区間の算出処理、減衰値の設定などの付随的な処理を含んでもよい。
<履歴対象区間の算出処理>
図2は、特定処理の一例として、継続する周期的な繰り返し処理を示している。たとえば、処理P1は時点t1から開始され、時点t2で終了する。時点t1は、処理P1を要求された時点で識別できる。時点t2は、処理P1の終了時点で識別することができる。これら時点t1、t2を記録すればよい。
次の処理P2が開始される時点t3で、処理P1の開始時点t1からの処理間隔時間Taがあらかじめ設定していた最大許容間隔Tm未満であれば、各処理Pが継続していると判断し継続処理を行う。この継続処理とはこれまでに発生した仕事量の移動平均を使って次回発生の仕事量を予測することである。非継続の場合は前回データを初回値として移動平均対象とすればよい。処理間隔時間Taが最大許容間隔Tm以上に到達すれば、それまでの情報を前回の履歴情報とし、これを記録し継続処理を中止する。この履歴情報を特定処理の処理量の予測に用いる。
<減衰値の設定>
動画処理などコンテンツにより処理量が動的に変動する処理では、前回履歴に基づいて処理量を予測し、その処理量に応じてクロック制御を行う。この場合、負荷が軽いコンテンツなどの処理に重負荷のクロックを設定すれば、その処理に対し必要以上の高クロックになる場合がある。このような不都合を回避するには、クロック制御で得られるクロックを減衰値によって減衰させ、高クロック化を防止すればよい。
図3のAは、クロックに対する減衰無しの場合を示している。図3のAでは横軸に時間、縦軸にクロックを示している。前回の処理10−1の後、今回の処理10−2が実行され、処理10−2では減衰無しの処理を行っている。この処理では、クロックに対し予測設定が行われ、今回の処理10−2ではその処理量に大きな空き12−1が生じている。
これに対し、図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より小さくなっている。
このように、前回の処理10−1の処理量より少ない処理量の処理10−2が発生した場合には、減衰なしでは図3のAに示すように、必要以上の高クロック処理に突入することになる。そこで、クロックに減衰値をかけると、処理10−2に比較して処理10−3の処理時間が延びるが、この処理10−3ではクロックが抑制されるので、電圧上昇を抑制でき、処理に対する消費電力を低減できる。
<処理割合の算出とクロック制御>
単位時間のすべてを特定処理のたとえば、動画処理に割り当てると、UI(User Interface)処理など速やかに実行できない。これを回避するため、単位時間当たりの一定の割合で処理が済むようなクロックを設定し、他の処理を速やかに処理できるようにする。
処理量の減衰により徐々にクロックが下がっていくと、前回生じた処理係る処理量が今回も発生した場合のCPU4の推定占有率が上がってくる。スマートフォンなどの情報処理装置2では、動画処理だけでなく、他の処理も並行して処理するため、UI処理やその操作などの即応性を確保するには、動画処理などによるCPU4の占有率を一定の処理量に抑える必要がある。そこで、動画処理などの特定処理によるCPU4の占有率が一定値以上になると予測した場合つまり、前回発生した処理の処理量と減衰したクロックから予測し、特定処理の処理量が一定割合に収まるようにクロックの引き上げを行う。
具体的にはたとえば、図4に示すように、クロック制御を行う。図4には、横軸に時間、縦軸にクロックをとっている。図4において、MCは設定可能なクロックでの可能処理量、T1は変更前の推定占有時間、T2は変更後の推定占有時間である。クロックに対して推定占有時間T1となると判断した場合には、推定占有時間T2になるようにクロックの引き上げを行い、このクロックによって処理量を抑制する。変更前の推定占有時間T1では他の処理が可能な空きE1であるのに対し、変更後の推定占有時間T2では他の処理が可能な空きE2に拡大している。つまり、クロックを引き上げることにより、他の処理が可能な空き容量が増加する。
<第1の実施の形態の効果>
以上説明した第1の実施の形態によれば、次のような効果が得られる。
(1) 放送受信処理などの定期的に起動する特定処理について、処理開始前に処理量を履歴をもとに予測し、処理間隔に対し一定割合内に処理を押さえられるようにCPUパフォーマンスを設定するので、省電力制御を向上させることができる。
(2) 既述のCPUパフォーマンスの設定では、定期的に起動する特定処理または該特定処理を含む情報処理を実行する際に特定処理の処理量が処理間隔の一定割合内に抑えられるようにクロック制御を行うので、情報処理装置2の省電力制御を向上させることができる。
(3) 特定処理のクロック制御により特定処理以外の他の処理の処理量を増加させ、CPU4の処理量を特定処理とそれ以外の処理量に効率的に配分することができる。
(4) 定期的に発生する電力制御対象外の処理たとえば、トラストゾーン(TrustZone:アーキテクチャ拡張機能)上の処理に、あらかじめ処理履歴を用いて計算して予測したクロックを実行してもよい。この場合、発生処理量に対し許容可能な時間内で最低限のクロックを設定すれば、CPU4を適切に使用でき、消費電流を低減できる。
(5) 特定処理などの処理を処理間隔の一定割合内に抑えることで、ユーザインターフェース(UI)処理などの不規則な処理に対しても適切なクロック処理を行うことができる。
〔第2の実施の形態〕
図5は、第2の実施の形態に係る情報処理装置2のハードウェア構成例を示している。図5において、図1と同一部分には同一符号を付してある。
情報処理装置2はたとえば、スマートフォンのハードウェア構成例である。この情報処理装置2は、中央制御部14および記憶部16が備えられる。中央制御部14には既述のCPU4が含まれる。記憶部16には、プログラムや処理情報が格納される。プログラムにはOS(Operating System)やクロック制御などの各種の情報処理プログラムが含まれる。処理情報はたとえば、処理情報テーブルによって格納される。この記憶部16にはメモリなどの記憶装置や、ハードディスクなどの補助記憶装置を含んでもよい。
さらに、情報処理装置2には、RF(Radio Frequency )部18、モデム部20、音声入出力部22、キー制御部24、チューナー部26、表示制御部28、タッチパネル制御部30、SD制御部32、TCXO34が備えられる。
RF部18はアンテナ36を備えて中央制御部14の制御により基地局との無線通信を行う。モデム部20はRF部18により無線通信を行い、データ信号を送信する無線信号の変調処理を含む生成処理や、無線信号からデータ信号の復調処理を行う。
音声入出力部22は、中央制御部14の制御により音声の入出力を行う。この音声の入力にはマイクロフォン、音声の出力にはスピーカが用いられる。
キー制御部24はキーボードなどを備え、キー入力の制御を行う。チューナー部26は放送受信用アンテナ42を備え、テレビ放送などの受信を行う。表示制御部28は表示パネル44を用いて可視情報の表示制御を行う。タッチパネル制御部30はタッチパネル46を備え、ユーザの指やスタイラスペンのタッチ制御を行う。SD制御部32は外部メモリであるSDメモリカード48のデータの書込み、読出しなどの処理を行う。TCXO34はクロック生成部6の一例であり、クロック生成を行う。
中央制御部14はたとえば、図6に示すように、ASIC(Application Specific Integrated Circuit :特定用途向け専用IC)で構成し、既述のCPU4が含まれる。
この中央制御部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の一例である。
逓倍器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に供給する。
この中央制御部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が形成されている。
<処理情報テーブル60>
図7は、特定処理に用いられる処理情報テーブル60の一例を示している。この処理情報テーブル60は、記憶部16に構築され、特定処理の実行により格納情報が更新されて維持される。
この処理情報テーブル60にはNo、処理ID、初期間隔Is〔sec〕、減衰係数a、割合b、前回処理開始時間Td〔sec〕、処理クロックCp〔GHz〕、実行回数n、処理時間T〔sec〕、移動平均間隔Isma〔sec〕、移動平均クロックCsma〔GHz〕、移動平均処理時間Tsma〔sec〕が格納される。
Noは、処理単位に付された項番号である。処理IDは各処理を識別するための情報である。したがって、この処理情報テーブル60には処理毎に上記データが更新可能に格納される。
<地上デジタルTV放送受信処理>
図8は、地上デジタルTV放送受信の処理手順を示している。この処理手順では、電源ONを受け、特定処理の処理情報テーブル60の初期化を行う(S11)。
この初期化の後、特定処理か特定処理以外の処理かの処理切替え要求を受ける(S12)。この処理切替えの後、特定処理かを判定する(S13)。特定処理でなければ(S13のNO)、待機状態となる。
特定処理であれば(S13のYES)、この特定処理の処理情報テーブル60は登録済かを判断する(S14)。
選択されている特定処理について、処理情報テーブル60が登録済であれば(S14のYES)、クロック設定処理を行う(S15)。このクロック設定処理では、時間測定開始を契機に、処理時間Tに現在時刻を設定し(S16)、その特定処理を開始する(S17)。
この特定処理終了後、処理時間Tの測定停止と処理情報テーブル60の更新を行い、S12に戻る。特定処理が継続している限り、S12〜S18の処理を継続して行う。
S14の判断において、実行しようとする特定処理の処理情報テーブル60が登録されていなければ(S14のNO)、処理情報テーブル60への新規の登録処理を行う(S19)。この処理には、処理情報テーブル60の初期化(クロックの初期設定、実行回数nの初期化、開始時間Tdに現在時刻を設定する)と、クロックの設定などの処理が含まれる。
この登録処理の後、特定処理を実行し(S20)、処理時間Tの測定停止により処理情報テーブル60の更新を行い(S21)、S12に戻る。そして、この特定処理が継続している限り、既に処理情報テーブル60は登録済となるので、S12〜S18の処理を継続して行う。
<クロック制御>
図9は、既述のクロック設定処理(S15)の処理手順の一例を示している。この処理手順では、クロック設定処理(S15)に移行すると、現在時刻(nowtime )を取得し、間隔(I)を算出する(S21)。前回の開始時間はTdなので、処理間隔Iは、
I=nowtime −Td ・・・(1)
から算出される。つまり、間隔Iは取得した現在時刻nowtime から前回処理開始時間Tdを引くことにより求められる。
この場合、算出した間隔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)
から求められる。
I<Isでなければ(S22のNO)、実行回数nの更新を行い、この場合、n=1に更新する(S24)。
このようなステップを経て、期待処理時間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)
となる。
このTtを(b×Isma)と比較する(S26)。(b×Isma)は、移動平均間隔Ismaに割合bを乗ずることにより、移動平均間隔Ismaの割合bを示す。この時間以内に処理を終え、他処理の動作時間を確保することを目的とする。
Tt<(b×Isma)であれば(S26のYES)、クロックCtをクロックに設定し、処理クロックCpをクロックCtに更新し(S27)、処理手順(図8)のS15にリターンする。
また、S26において、Tt≧(b×Isma)であれば(S26のNO)、時間内に処理が終わらないため、クロックCtを再設定する(S28)。このクロックCtは、
Ct=Tsma×Csma/(b×Isma) ・・・(6)
から求める。この処理の後、S27に移行し、処理手順(図8)のS15にリターンする。
斯かる処理に求められたクロックCtは、特定処理が動作するCPUコア群のクロックに設定するとともに処理クロックCpをクロックCtに更新し、特定処理を実施する。
図10は、既述の処理情報テーブル60の更新処理(S18、S21)の一例を示している。
この更新処理では、処理時間Tを測定し、この処理時間Tに前回処理開始時間Tdを更新する(S31)。現在時刻(nowtime )を取得し、処理時間Tを算出する(S32)。この処理時間Tは、T=nowtime −Tから算出すればよい。
次に、処理時間Tを用いて移動平均処理時間Tsmaを算出する(S33)。この移動平均処理時間Tsmaは、
Tsma={Tsma×(n−1)+T}/n ・・・(7)
から算出される。ただし、Tは処理時間であり、nは実行回数である。
次に、クロックCtを用いて移動平均クロックCsmaを算出し(S34)、この処理を終了する。S34において、移動平均クロックCsmaは、
Csma={Csma×(n−1)+Ct}/n ・・・(8)
から算出される。ただし、クロックCtは式(6) から求められたクロックである。
<処理情報テーブル60のデータ変化>
図11のAは、初期化後の処理情報テーブル60を示している。図11のBは、1回目の更新後の処理情報テーブル60を示している。処理情報テーブル60の更新により、図11のBに示す処理情報テーブル60では項番号No=2が加わり、更新情報が格納されている。
図12のAは、2回目の更新後の処理情報テーブル60を示している。処理情報テーブル60の2回目の更新により、項番号No=3が加わり、その更新情報が格納されている。そして、連続した更新処理を経て、図12のBは、7回目の更新後の処理情報テーブル60を示している。項番号No=4〜7が加わり、これらの更新情報が格納されている。
そして、図13は、一定時間処理が停止した後、特定処理の開始前の処理情報テーブル60を示している。これに対し、図14は、特定処理の終了後の処理情報テーブル60を示している。
特定処理の終了前の処理情報テーブル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の値を示している。
<特定処理のシミュレーション>
図15、図16および図17は、特定処理のシミュレーション結果を示している。
このシミュレーションでは、前提条件として最大クロックCmax=1.5〔GHz〕とする。仕事は0.05〔sec〕毎に処理量0.3(クロック〔GHz〕×時間〔sec〕)でランダムに30〔%〕以内で変動しながら発生する。処理は0.25〔sec〕毎に行われる。そして、処理後に移動平均を用いて計算を行う。この場合、減衰係数a=0.9、当該処理の割合b=30〔%〕とした。
<処理の概要>
図18は、特定処理を含む処理P1、P2・・・Pnのばらつき状況を示している。 上記実施の形態で示したクロック制御は、このようなばらついた複数の処理が不連続に発生する場合に適用すればよい。
図19は、各処理のクロックの収束状況を示している。当初変動したクロックは、0.8〜1.0の最適値に収束している。
<第2の実施の形態の機能および効果>
以上説明した第2の実施の形態における機能および効果は以下の通りである。
(1) CPU4はコア4−1、4−2、4−3、4−4を含み、各コアクロックを独立して変更可能であり、各コア4−1、4−2、4−3、4−4では特定処理の実行時のクロックと処理時間が測定可能である。
(2) 処理を特定可能であって、処理ごとに情報としてクロックおよび処理時間を保持することができる。電源ONの後、初めて処理を実行したことを判別することができる。
(3) 特定処理の開始前にCPU使用率とクロックを読み出し可能である。そして、初めて処理を実行するときに、その処理で最も最適なクロックが設定可能である。
(4) 処理時間を計測でき、実行時のクロックと処理時間を記録可能で、かつ、クロックと処理時間の移動平均値を記録可能である。特定処理の開始間隔を測定可能で予め決めた時間間隔を超えた場合、その値は破棄でき、かつ、移動平均を算出し、その値が記録可能である。
(5) 移動平均をとったクロックと処理時間の積を前回実行時のクロックにあらかじめ設定した減衰係数をかけて算出した処理クロックで割って、期待処理時間を算出可能である。この場合、移動平均で算出した開始間隔に対し、期待処理時間が予め設定した割合との比較処理が可能である。
(6) 予め設定した割合以上の場合、移動平均で算出した開始間隔にあらかじめ設定した割合をかけて算出した期待処理時間で移動平均のクロックと処理時間の積を割って新たな処理クロックを算出することが可能である。
(7) 定期的に起動する特定処理について、処理開始前に処理量を過去の履歴をもとに予測し処理開始時にクロックを設定する(たとえば、Trust Zoneに遷移する前に設定する)。電源ON後の履歴データがない場合はクロックを最高に設定し、コンテンツ再生などのように定期的にデータを処理する場合には、あらかじめ最大許容間隔を設定することで、間隔を超えた場合処理が終了したと判断できる。そして、自動的に再生開始と終了を検出し次回開始時のクロックを計算でき、算出したクロックにあらかじめ決めた減衰値をかけることにより、低負荷なコンテンツの再生などの処理では必要最低限のクロックで処理を開始できる。
(8) 単位時間当たりの処理時間の割合を決めておき、過去の移動平均単位処理時間と移動平均クロックから算出した値を設定クロックで割り、これにより求めた期待時間の単位時間当たりの割合があらかじめ決めた値を下回った場合にはクロック再設定する。この場合、クロックの周波数を高くする。これにより、クロックが徐々に低下し、処理時間が伸びることを防止でき、常に必要なクロックに維持できる。つまり、電源ON後もっとも高いクロックで測定し、あらかじめ減衰係数、処理間隔、処理割合を設定し利用することで最適な状態に自動的に漸近させることができる。これにより、必要な処理を遅延なく効率よく実行できる。
<比較例との対比>
図20のAは、上記実施の形態の仕事量の変化を示している。上記実施の形態では既述したように、特定処理はたとえば、マルチメディアのデコード処理などの周期的な繰り返し処理である特定処理に対してクロック制御を行う。
電源ON後、初めての特定処理を実行する際、CPU4で取り得る最大のクロック(Cmaxとする)を設定して処理を行い処理時間Tを測定し、その特定処理と処理時間Tを記録する。この特定処理の処理間隔Iを計測し、この処理間隔Iが履歴情報から想定される初期間隔Isを超えた場合、これまでのクロックおよび処理時間から前回処理量として期待処理時間、処理間隔を移動平均から計算して更新し、これらの値を移動平均処理時間Tsma、移動平均間隔Ismaとして記録する。
特定処理の移動平均クロックCsmaは、特定処理が起動したとき、移動平均で算出した処理量であり、クロックと時間の積で求められる。期待処理時間Ttは、移動平均クロックCsmaと移動平均処理時間Tsmaの積(Csma×Tsma)を突入クロック:Ctで割って求められる。Ctは、前回処理のクロック:Cpに対して予め設定した減衰させる係数a(たとえば、a=0.9など)をかけた値である。
この期待処理時間Ttが予め決めた繰り返し間隔に対する割合b(たとえば、b=0.2など)未満になるか(Tt/Isma<b)を判断し、割合b以上の場合、割合b未満になる最低のクロックを使用する(処理割合の算出とクロック再設定)。
図20のBは、比較例1(たとえば、特開2004−164643号公報)のCPUの動作状態を示している。負荷1の処理でアイドル(以下「IDL」と称する)が増えたので、デッドライン値増(2)、クロック(タスクワーク値)減(1)になる。
負荷2を処理時、デッドライン値を超えると、CPUのクロックが上がり(1⇒3⇒5)、タスク実行間隔内に処理が終わる。この場合、IDLが少ないことからデッドライン値は増えず、クロック(タスクワーク値)の減衰も行われない。
負荷3を処理すると、IDLが増え、デッドライン値増、クロック(タスクワーク値)減となり、負荷4が処理される。負荷4の処理でIDLが減り、デッドライン値減、クロック増で負荷5が処理される。負荷5の処理でIDLが増え、デッドライン値増、クロック減となり、負荷6が処理される。
図20のCは、比較例2(特開2004−164643号公報)のTrustZoneのCPU動作状態を示している。処理中にクロックが変更できない場合には、デッドライン値を超えてもクロックが変更できない。上記実施の形態では、処理中に中断が可能であり、処理中のみクロックが引き上げが可能である。
図20のDは、上記実施の形態の一例であるTrustZoneのCPU動作状態を示している。既述したように、一定時間内(周期の一定割合内)に処理を終了するので、処理中にクロックを変更できない場合にもオーバーフローを生じない。
〔他の実施の形態〕
a)上記実施の形態では情報処理装置としてスマートフォンを例示したが、スマートフォン以外の情報処理機器であってもよい。
b)特定処理の一例として地上デジタルTV放送受信処理を例示したが、対象とする特定処理は放送受信以外の周期的に繰り返されるゲームなどの処理であってもよい。
以上説明したように、本発明の技術の最も好ましい実施の形態などについて説明した。本発明は、上記記載に限定されるものではない。特許請求の範囲に記載され、または発明を実施するための形態に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能である。斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。
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 タッチパネル
48 SDメモリカード
50−1、50−2、50−3、50−4 逓倍器
52−1、52−2、52−3、52−4 クロック制御部
60 処理情報テーブル

Claims (7)

  1. 定期的に起動する特定処理を実行する情報処理装置であって、
    特定処理の処理開始前に履歴情報から前記特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにCPUパフォーマンスを設定する制御部を備えることを特徴とする情報処理装置。
  2. 前記制御部は、前記CPUパフォーマンスを漸減させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記特定処理の処理量が前記処理間隔の一定割合以上である場合、予測される処理時間に応じた処理クロックを算出し、この処理クロックに制御することを特徴とする請求項1に記載の情報処理装置。
  4. コンピュータに実行させるためのクロック制御プログラムであって、
    定期的に起動する特定処理の開始前に履歴情報から前記特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにクロック制御を行う
    処理を前記コンピュータに実行させるためのクロック制御プログラム。
  5. 前記クロック制御は、CPUパフォーマンスを漸減させる制御を含むことを特徴とする請求項4に記載のクロック制御プログラム。
  6. 定期的に起動する特定処理の開始前に履歴情報から前記特定処理の処理量を予測し、該処理量が処理間隔の一定割合内に抑えられるようにクロック制御を行うことを特徴とするクロック制御方法。
  7. 前記クロック制御は、CPUパフォーマンスを漸減させる制御を含むことを特徴とする請求項6に記載のクロック制御方法。
JP2014108311A 2014-05-26 2014-05-26 情報処理装置、クロック制御プログラムおよびクロック制御方法 Active JP6299429B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014108311A JP6299429B2 (ja) 2014-05-26 2014-05-26 情報処理装置、クロック制御プログラムおよびクロック制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014108311A JP6299429B2 (ja) 2014-05-26 2014-05-26 情報処理装置、クロック制御プログラムおよびクロック制御方法

Publications (2)

Publication Number Publication Date
JP2015225389A true JP2015225389A (ja) 2015-12-14
JP6299429B2 JP6299429B2 (ja) 2018-03-28

Family

ID=54842109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014108311A Active JP6299429B2 (ja) 2014-05-26 2014-05-26 情報処理装置、クロック制御プログラムおよびクロック制御方法

Country Status (1)

Country Link
JP (1) JP6299429B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122747A (ja) * 1998-10-12 2000-04-28 Nec Corp ディジタル信号演算処理部の制御装置および方法
JP2005062956A (ja) * 2003-08-14 2005-03-10 Toshiba Corp スケジューリング方法および情報処理システム
JP2009282629A (ja) * 2008-05-20 2009-12-03 Toyota Motor Corp ナビゲーション装置のクロック制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000122747A (ja) * 1998-10-12 2000-04-28 Nec Corp ディジタル信号演算処理部の制御装置および方法
JP2005062956A (ja) * 2003-08-14 2005-03-10 Toshiba Corp スケジューリング方法および情報処理システム
JP2009282629A (ja) * 2008-05-20 2009-12-03 Toyota Motor Corp ナビゲーション装置のクロック制御装置

Also Published As

Publication number Publication date
JP6299429B2 (ja) 2018-03-28

Similar Documents

Publication Publication Date Title
CN106415296B (zh) 自适应电池寿命延长
CN109906421B (zh) 基于线程重要性的处理器核划分
US9244747B2 (en) System and method for providing dynamic clock and voltage scaling (DCVS) aware interprocessor communication
CN109906437B (zh) 基于线程重要性的处理器核停止和频率选择
JP4490298B2 (ja) プロセッサ電力制御装置及びプロセッサ電力制御方法
JP2011100449A (ja) 動的電圧周波数スケーリング方法
US9063707B2 (en) Dynamic voltage dithering
US9690363B2 (en) Method and system for optimizing a core voltage level and enhancing frequency performance of individual subcomponents for reducing power consumption within a PCD
US20140281608A1 (en) Battery Usage Throttling for Mobile Devices
CN109661649B (zh) 用于支持优先系统事件的增强的功率管理
JP2020513603A (ja) 動的な外部電力資源選択
JP2008107944A (ja) データ処理装置
US20130097453A1 (en) Apparatus and method for controlling cpu in portable terminal
US20160335127A1 (en) System and method for dynamic granularity control of parallelized work in a portable computing device (pcd)
JP6299429B2 (ja) 情報処理装置、クロック制御プログラムおよびクロック制御方法
US10649934B2 (en) Image processing apparatus, notification monitoring program, and notification monitoring method
CN112367099A (zh) 时钟信号的处理方法、装置及电子设备
US20150220434A1 (en) Electronic device and method for executing garbage collection
KR101421361B1 (ko) 워크로드 요청들에 기초하여 동적 클록 및 전압 스위칭 알고리즘을 조정하는 시스템 및 방법
JP5614347B2 (ja) 情報処理装置、電力制御方法、および電力制御プログラム
US9891948B2 (en) Information processing to shut down application based on start-up time and network access time
EP3172637B1 (en) Method and system for optimizing power usage by individual subsystems of a portable computing device
CN113986065A (zh) 信息显示方法及装置
CN113986512A (zh) 任务调度的方法和电子设备
WO2012076362A1 (en) Managing cache destage scan times

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171031

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171226

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: 20180130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180212

R150 Certificate of patent or registration of utility model

Ref document number: 6299429

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533