JP4030408B2 - Operating frequency control system and method - Google Patents

Operating frequency control system and method Download PDF

Info

Publication number
JP4030408B2
JP4030408B2 JP2002317276A JP2002317276A JP4030408B2 JP 4030408 B2 JP4030408 B2 JP 4030408B2 JP 2002317276 A JP2002317276 A JP 2002317276A JP 2002317276 A JP2002317276 A JP 2002317276A JP 4030408 B2 JP4030408 B2 JP 4030408B2
Authority
JP
Japan
Prior art keywords
operating frequency
frequency
processor
load
timing
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.)
Expired - Fee Related
Application number
JP2002317276A
Other languages
Japanese (ja)
Other versions
JP2004152068A (en
Inventor
宣彰 上田
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2002317276A priority Critical patent/JP4030408B2/en
Publication of JP2004152068A publication Critical patent/JP2004152068A/en
Application granted granted Critical
Publication of JP4030408B2 publication Critical patent/JP4030408B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)

Description

【0001】
【発明の属する技術分野】
この発明はプロセッサの動作周波数を制御するための動作周波数制御システムおよび動作周波数制御方法に関し、特に、プロセッサにおいて実行される処理による負荷の程度に応じて動作周波数を制御する動作周波数制御システムおよび動作周波数制御方法に関する。
【0002】
【従来の技術】
携帯電話機やPDA(Personal Digital Assistant)、ノート型パソコンといった携帯情報処理端末向けのCPU(Central Processing Unit)やMPU(Micro Processing Unit)などのプロセッサは、通常、充電可能な電池(二次電池)などから電力を供給を受けて駆動される。したがって、携帯型の情報処理端末向けプロセッサにおける消費電力を低減させることが要求される。当該要求に応えるための技術として、プロセッサの動作周波数を動的に制御する動作周波数制御システムが知られている(特許文献1参照)。この動作周波数制御しシステムは、例えば、プロセッサがOS(Operating System)を起動することにより実現される。
【0003】
プロセッサの処理速度や消費電力は動作周波数を切り替えることで変化する。そこで、この動作周波数制御システムは、例えば電話帳データや電子メールを示すデータ、あるいは静止画などを表示するためのプログラムといった、比較的プロセッサにかかる負荷の軽いアプリケーションを実行する際には、動作周波数を低減して電力の消費量を抑制する。他方、動画や音声を再生するプログラムといった、比較的プロセッサにかかる負荷が重いアプリケーションを実行する際にはレスポンスタイムを短くしてユーザが違和感を感じることがないように動作周波数を増大させるように制御する。
【0004】
こうした機能を実現するために、該動作周波数制御システムでは、例えば処理量が多く、プロセッサに多くの負荷がかかる処理を含んだアプリケーションを周波数制御動作と関連付け、当該アプリケーションの実行開始時および終了時に、プロセッサの動作周波数を制御する“動作周波数強制制御”や、所定のタイミングにて、プロセッサの負荷量をモニタリングし、所定の時間が経過するごとに、モニタリングした負荷量に基づいてプロセッサの利用状況を特定し、特定した利用状況に応じてプロセッサの動作周波数を制御する“パフォーマンスモニタ制御”が用いられている。
【0005】
上述の動作周波数強制制御では、プロセッサに重い負荷がかかる処理を含んだ高負荷アプリケーション実行時には、プロセッサに供給する電圧のレベルを、通常動作時において供給する電圧のそれとは異なるレベルに変更した後に動作周波数を制御させる。
【0006】
上述のパフォーマンスモニタ制御では、所定の周期ごとにモニタリングしたプロセッサ負荷量をもとに、動作周波数のクロックアップ時は段階的に行い(つまり、段階的に一つ上の動作周波数にクロックアップする)、クロックダウン時は必要最低限の最低動作周波数に変化させるように制御する。
【0007】
【特許文献1】
特開2002−182776公報の明細書と図面
【0008】
【発明が解決しようとする課題】
上述の動作周波数強制制御は、アプリケーションが要求する動作周波数をいったん設定すると、そのアプリケーションの時系列的な動作状況によらず、常に設定された動作周波数で動作することとなり、アプリケーションの動作/非動作中によらず、常に一定の電力を消費することになってしまう。例えば、400MHzの動作周波数を要求するあるアプリケーションと40MHzの動作周波数で十分なパフォーマンスを確保できる他のアプリケーションが同時に動作している場合を想定する。あるアプリケーションは不定期な割込みをトリガとして動作し、他のアプリケーションは継続的に処理を行うような場合、上述の動作周波数強制制御では、一旦あるアプリケーションについて動作周波数が設定されると、あるアプリケーションが動作中/休止中によらず、つねに400MHzの動作周波数を必要としてしまい無駄な電力が消費される。つまり、実際のプロセッサの利用状況に合わせて動的に動作周波数を制御することが望まれる。
【0009】
一方、上述のパフォーマンスモニタ制御では、適切な周期にてプロセッサ負荷量をモニタリングし、適宜動作周波数を制御するため電力消費の無駄をなくして、動作周波数強制制御における課題を回避できる。しかし、動作周波数のクロックアップ処理は段階的に行われるため、十分なパフォーマンスを引き出すために必要となる動作周波数に到達するまでに長時間を要する。したがって、アプリケーションなどのプロセスの起動時、割込み処理開始時または終了時にはプロセッサ負荷量が大きくなるという一般的な傾向に鑑みると、該課題によりアプリケーションのリアルタイム性(要求された時刻から、特定の時間内までに処理を行い応答すること)は阻害されることになる。
【0010】
それゆえに、この発明の目的は、プロセスの実行状況に拘わらず応答性を維持しながら、プロセスの実行状況に応じた動作周波数に移行させることのできる動作周波数制御システムおよび動作周波数制御方法を提供することである。
【0011】
【課題を解決するための手段】
この発明のある局面に従うと、動作周波数制御システムは設定された動作周波数に基づいて動作しながら複数種類のプロセスを起動させて実行するプロセッサに係る負荷の量を検出する負荷量検出手段と、負荷量検出手段により検出された負荷量についてプロセスの応答性を確保するための所定の動作周波数と現在の動作周波数とを比較する比較手段と、比較手段による比較結果、現在動作周波数は所定周波数に満たないときは、プロセッサについて設定可能な最高の動作周波数を現在動作周波数に設定する最高周波数設定手段と、最高周波数設定手段により最高動作周波数が設定された後に、現在動作周波数を負荷量検出手段により検出された負荷量に応じた動作周波数に切り換え設定する周波数切換手段とを備える。
【0012】
したがって、プロセッサについて検出された負荷量が現在の動作周波数に基づいた動作では十分な応答性が得られないような時は、最高動作周波数が設定されて、その後に検出された負荷量に応じた動作周波数に切換え設定される。
【0013】
それゆえに、現在の動作周波数に基づいた動作では十分な応答性が得られないような負荷量が検出された場合には、最高動作周波数にて動作するように設定されるから、応答性が劣化することを回避してプロセスの実行状況に拘わらず応答性を良好に維持できる。
【0014】
また、最高動作周波数に設定された後に、動作周波数は検出された負荷量に応じた動作周波数に切換え設定されるから、プロセスの実行状況に応じた動作周波数に移行させることもできる。
【0015】
上述の負荷量検出手段は好ましくは、所定のタイミングにて負荷量をモニタリング開始し、所定の時間が経過すると、モニタリングした負荷量を積算して検出する。
【0016】
したがって負荷量検出手段は所定タイミングにおいてのみ負荷量をモニタリングし開始して積算し、常にはしないから、該システムが搭載されたプロセッサの負荷が必要以上に上昇するのを回避できる。
【0017】
上述の動作周波数制御システムは好ましくは、プロセッサが実行するプロセスの切換タイミングと、割込み処理の実行開始タイミングおよび実行終了タイミングとを検出するタイミング検出手段をさらに備え、前述の所定タイミングはタイミング検出手段が検出するいずれかのタイミングである。
【0018】
したがって、負荷量検出手段はプロセッサが実行するプロセスの切換タイミング、割込み処理の実行開始タイミングおよび実行終了タイミングのいずれかが検出されたときのみ負荷量を検出し、検出負荷量に基づいて動作周波数が最高周波数に設定される。
【0019】
それゆえに、プロセッサが実行するプロセスの切換タイミング、割込み処理の実行開始タイミングおよび実行終了タイミングそれぞれにおいては、プロセッサの負荷が上昇するけれども、最高動作周波数で動作しているから、負荷量の上昇を十分に吸収できて応答性を維持できる。
【0020】
上述の動作周波数制御システムは好ましくは、プロセッサに供給される電圧のレベルを、設定された現在動作周波数に応じたレベルに調整する。
【0021】
したがって、過度の電圧が供給されるのを、また供給電圧の不足するのも回避できるから、電力消費の無駄を低減でき、また供給電圧不足による応答性の劣化も回避できる。
【0022】
この発明の他の局面に従う動作周波数制御方法は、設定された動作周波数に基づいて動作しながら複数種類のプロセスを起動させて実行するプロセッサに係る負荷の量を検出する負荷量検出ステップと、負荷量検出ステップにより検出された負荷量についてプロセスの応答性を確保するための所定の動作周波数と現在の動作周波数とを比較する比較ステップと、比較ステップによる比較結果、現在動作周波数は所定周波数に満たないときは、プロセッサについて設定可能な最高の動作周波数を現在動作周波数に設定する最高周波数設定ステップと、最高周波数設定ステップにより最高動作周波数が設定された後に、現在動作周波数を負荷量検出ステップにより検出された負荷量に応じた動作周波数に切り換え設定する周波数切換ステップとを備える。
【0023】
上述の動作周波数制御方法をコンピュータに実行させるためのプログラムが提供されてもよい。また、該プログラムを記録した機械読取り可能な記録媒体が提供されてもよい。
【0024】
【発明の実施の形態】
以下に、図面を参照して、この発明の実施の形態に係わる動作周波数制御システムと方法について、図1に示す携帯情報処理端末100に適用した場合を例に説明する。携帯情報処理端末100ではインストールされたOSは制御対象をプロセス(またはタスク)単位で管理し、管理においてはプロセスの生成、終了、切換えなどが行なわれる。
【0025】
図1の携帯情報処理端末100の構成は、例えば携帯型電話機やPDA(Personal Digital Assistant)、ノート型パソコン(パーソナルコンピュータの略)といった、商用電源から切り離した状態でも動作可能な端末装置に係る構成である。
【0026】
図1において携帯情報処理端末100はプロセッサ1、ROM(Read Only Memory)2と、RAM(Random Access Memory)3、入力部4、表示制御部5、表示部6、電源制御部7、電源制御部7により制御されて携帯情報処理端末100の各部に駆動するための電力を供給する電源8、外部から記録媒体15が着脱自在に装着されて装着された記録媒体15をI/F(Interface)13を介したプロセッサ1の制御のもとにアクセスする記録媒体駆動部14、およびインターネットなどの外部のネットワーク18と通信するためにI/F16を介したプロセッサ1の制御のもとに動作する通信部17を備える。
【0027】
プロセッサ1は、例えばCPU(Central Processing Unit)、あるいはMPU(Micro Processing Unit)などから構成されて携帯情報処理端末100全体の動作を制御するためのものである。プロセッサ1は、OS(オペレーティングシステム)の制御の下、例えばROM2に記録されているプログラムを読み出して、各種アプリケーションなどを実行する。なお、プロセッサ1は、図示されない磁気ディスク装置などの任意の記録媒体からプログラムを読み出してアプリケーションを実行してもよい。
【0028】
プロセッサ1の内部のレジスタ12には現在の動作周波数CFと電源8から電源制御部7を介して供給されている現在の電圧レベルCVとが記憶される。
【0029】
また、プロセッサ1は、1チックごとにチック値CVをカウントアップして出力するチックカウンタ10を有する。ここで、1チックは、プロセッサ1に図示されないクロックから供給される1つのクロック信号に相当する。すなわち、チックカウンタ10は、例えばプロセッサ1に供給されるクロック信号の立ち上がりエッジのタイミングでクロック数をカウントすることにより、チック値CVをカウントアップする。クロック信号またはチック値により携帯情報処理端末100の各部の動作(演算の制御、メモリのアクセスなど)のタイミングを取るための周波数である動作周波数が決定される。
【0030】
ROM2は、携帯情報処理端末100の各部に動作を行なわしめるためにプロセッサ1により読出されて実行されるデバイスドライバやローダープログラム、OS、アプリケーションプログラムなどのプログラムを記憶する読み取り専用の記憶回路である。また、ROM2には図2に例示するような動作周波数テーブルTBが予め記憶される。
【0031】
図2に示す動作周波数テーブルTBは、プロセッサ1に対して設定可能な複数種類の動作周波数A1のそれぞれに対応して、該動作周波数A1でプロセッサ1が動作する場合に十分な応答性を確保できる負荷量の範囲に相当のチック値の幅(値域)を示すチック幅A2およびプロセッサ1への電源8による供給電圧の大きさを示す供給電圧レベルA3を含む。
【0032】
RAM3は、プロセッサ1がプログラムを実行する際のワークエリアを提供し、データの一時的な記憶などを可能とする書換可能な記憶回路である。
【0033】
入力部4は、例えばキーパッドやマウス、ポインティングデバイスなどから構成され、携帯情報処理端末100の動作を指示する指示情報や、文字および数字を示すデータなど入力するためのものである。
【0034】
表示制御部5は、例えばVRAM(Video-RAM)、LCD(Liquid Crystal Display)ドライバなどから構成され、プロセッサ1から受けた画像データなどに応じて表示部6の動作を制御する。
【0035】
電源制御部7は、例えばスイッチングレギュレータなどから構成され、電源8から供給された電源電圧を所定の電圧に規定し、プロセッサ1なども各部に供給する。ここで、電源制御部7は、プロセッサ1に供給する電圧レベルを変更することで、供給電力を調整し動作周波数の制御を可能とする。
【0036】
電源制御部7は、携帯情報処理端末100が図示されない充電機器に接続された場合、充電機器にセットされた旨をプロセッサ1に通知し、電源8の充電を開始する。他方、電源制御部7は、携帯情報処理端末100と充電機器との接続が解放されると、その旨をプロセッサ1に通知して、電源8の充電を終了する。
【0037】
電源8は、例えばリチウムイオン電池やニッケル水素イオン電池といった、充電可能な電池(二次電池)から構成され、携帯情報処理端末100の各部を駆動するための電力を供給する。
【0038】
動作周波数制御システム101の機能ブロックが図3に示される。図3の各機能ブロックは携帯情報処理端末100において、ROM2が記憶するプログラムをプロセッサ1が実行して、OSを起動することにより実現されるソフトウェアにより提供される。図3において動作周波数制御システム101はパフォーマンスモニタタイマ30を有する負荷量検出部20、周波数切換制御部21、タイミング検出部22、モニタフラグ23および動作モード設定処理部24を備える。
【0039】
負荷量検出部20はチックカウンタ10によりカウントされたチック値CVを用いてプロセッサ1にかかる負荷量を検出するための処理を実行する。例えば、負荷量検出部20は、チックカウンタ10のチック値CVを積算することにより、一定の時間内に実行されたプロセスや割込処理にて要したチック値CVを求め、変数Tとして設定する。ここで、負荷量検出部20は、チックカウンタ10のチック値CVを示す変数TROおよびTRを用いてチック値CVを積算するための処理を実行する。変数TROは、プロセッサ1が現在実行中のプロセスに処理を切り換えたタイミングや、割込み処理の実行を開始するタイミングにおけるチックカウンタ10のチック値CVを示す。変数TRは、現在におけるチックカウンタ10のチック値CVを示す。
【0040】
周波数切換制御部21は、負荷量検出部20により設定された変数Tの値に基づいて、プロセッサ1の動作周波数の切換を制御する。周波数切換制御部21は、プロセッサ1の動作周波数を別の動作周波数に切り換える際には、電源制御部7に対して、プロセッサ1に供給する電圧のレベルの切換を指示する。この際、周波数切換制御部21は、切換え先の別の動作周波数に基づいてROM2に格納されている動作周波数テーブルTBを検索して、別の動作周波数に一致する動作周波数A1に対応の供給電圧レベルA3を特定して、電源制御部7からプロセッサ1に供給される電圧レベルを特定された供給電圧レベルA3に規定する。
【0041】
タイミング検出部22のパフォーマンスモニタタイマ30は、負荷量検出部20および周波数切換制御部21が各種の処理を実行するタイミングを検出するために用いられる。すなわち、タイミング検出部22は、プロセッサ1が実行するプロセスの切換タイミングや、割込み処理の実行開始・終了タイミングを検出すると、チックカウンタ10のチック値CVを積算するための処理(図4を参照)の実行を、負荷量検出部20に指示する。また、タイミング検出部22は、各種のプロセスを実行するタイミングを検出してから予め定められた時間TMが経過したことをパフォーマンスモニタタイマ30により検出すると、プロセッサ1の利用状況に応じて動作周波数を自動的に切り換えるための処理の実行を、周波数切換制御部21に指示する。時間TMはプロセッサ1の利用状況を評価する周期を指す。パフォーマンスモニタタイマ30は、プロセッサ1の利用状況に応じて動作周波数を切り換えるための処理が実行されるごとにリセットされて、再び経過時間の計測を開始(リスタート)する。
【0042】
このように負荷量検出部20はタイミング検出部22によりプロセッサ1が実行するプロセスの切換タイミングや、割込み処理の実行開始・終了タイミングが検出されたときにのみ、チックカウンタ10のチック値CVを積算するための処理を実行し、常には実行しない。したがって、プロセッサ1の負荷が必要以上に上昇するのを回避できる。
【0043】
モニタフラグ23は、携帯情報処理端末100がプロセッサ1の利用状況に応じて動作周波数を自動的に切り換える動作モードであるか否かを示すためのものである。すなわち、モニタフラグ23は、携帯情報処理端末100がプロセッサ1の負荷量をモニタリングして動作周波数を自動的に切り換えるモードであるとき、“ON”になる。また、モニタフラグ23は、プロセッサ1で実行されるユーザプログラムからの指示に応じた動作周波数でプロセッサ1を動作させるモードであるとき、“OFF”となる。ここでは説明を簡単にするために、後者の動作モードについての詳細は省略する。
【0044】
動作モード設定処理部24は、電源8により電力供給開始された時などに図5に示すような所定の初期化処理を実行することなどにより携帯情報処理端末100の動作モードを設定する。
【0045】
以下に、この発明の実施の形態に係わる携帯情報処理端末100の動作を説明する。
【0046】
携帯情報処理端末100において動作周波数制御システム101は、モニタフラグ23が“ON”であるとき、すなわちプロセッサ1の利用状況に応じて動作周波数を自動的に切り換えるモードであるときに、チックカウンタ10のチック値CVを積算することにより、プロセッサ1の利用状況である負荷量を検出する。
【0047】
例えば、動作モード設定処理部24は、電源8による電力供給開始が指示された際に入力部4から入力された指示情報や、電源8を前回切断した時点における動作モードなどに対応した処理を実行し、モニタフラグ23が“ON”でないと判断すると(図5のステップS(以下、単にSとする)1)、変数T、TROおよびTRを“0”とし(S2、S3)、パフォーマンスモニタタイマ30をリセットして経過時間の計測をスタートさせるなどの初期化処理を実行する(S4)。こののち、動作モード設定処理部24は、モニタフラグ23を“ON”に設定する(S5)。
【0048】
モニタフラグ23が“ON”に設定されると(図4のS20)、タイミング検出部22は、プロセスの切換タイミングや割込み処理の実行開始・終了タイミングを検出し、検出した各タイミングにて、負荷量検出部20に対してチックカウンタ10のチック値CVを積算する旨の指令を送る。
【0049】
負荷量検出部20は、変数TRから変数TROを差し引いた値に、変数Tの現在値を加え合わせたものを、新たに変数Tとして設定するなどして、プロセッサ1の負荷量に応じたチック値CVを積算する(S21)。そして変数TROには変数TRの値がセットされて更新される(S22)。
【0050】
タイミング検出部22は、パフォーマンスモニタタイマ30により、予め定められた時間TMが経過したことを検出すると、図6のフローチャートに示す動作周波数自動切換処理の実行を開始する旨の指令を、周波数切換制御部21に送る。動作周波数自動切換処理は、プロセッサ1の利用状況に応じて動作周波数を自動的に切り換えるための処理である。
【0051】
図6を参照して、周波数切換制御部21は、タイミング検出部22からの指令に応答して動作周波数自動切換処理を開始すると、プロセッサ1が現在プロセスを実行中であるか否かを判別する(S30)。周波数切換制御部21は、プロセスを実行中であると判別すると(S30にてYES)、変数Tを設定するための処理を実行する(S31)。すなわち、変数TRから変数TROを差し引いた値に、変数Tの現在値を加えたものを新たに変数Tとして設定する。
【0052】
周波数切換制御部21は、プロセッサ1がプロセスを実行していないと判別すると(S30にてNO)、ステップS31の処理をスキップする。
【0053】
こののち、プロセッサ1の動作周波数として新たに設定する設定周波数Fを特定する(S32)。具体的には、周波数切換制御部21はROM2に記憶されている動作周波数テーブルTBを変数Tが示すチック値に基づいて検索して、各チック値幅A2と変数Tのチック値とを比較照合し、変数Tのチック値をその値域に含むチック値幅A2を特定して、対応の動作周波数A1を設定周波数Fとして特定する。
【0054】
周波数切換制御部21は、特定した設定周波数Fが、プロセッサ1における現在の動作周波数CFより大きいか否かを判別する(S33)。設定周波数Fが現在の動作周波数CFより大きいと判別すると(S33にてYES)、プロセッサ1への供給電圧レベルを最高動作周波数で動作可能なレベルにして設定周波数Fに最高動作周波数を設定し(S999)、後述する動作周波数クロックアップ処理を実行し(S34)、プロセッサ1の動作周波数をクロックアップする。
【0055】
ここで最高動作周波数とはプロセッサ1を構成する回路素子の特性などに基づいて、処理の精度は維持しながらも最も高速な応答を可能とするような動作周波数である。例えば図2の動作周波数テーブルTBに従えば800MHzとなり、供給電圧レベルは1.65Vとなるであろう。なお、プロセッサ1の動作周波数を規定するクロック信号は、チックカウンタ10がカウントアップするためのクロック信号とは異なるものであり、この携帯情報処理端末100の各部位に供給されるものである。
【0056】
このように動作周波数をクロックアップする必要がある場合にはすなわち、プロセス起動時または割り込み処理をトリガとするような不定期プロセス起動時には、最高動作周波数までアップしているので(S999)、これら起動時であって負荷が高まるような場合にでも起動されたプロセスについてのリアルタイム処理を迅速に開始することが可能となる。
【0057】
一方、周波数切換制御部21は、設定周波数Fが現在の動作周波数CF以下であると判別すると(S33にてNO)、設定周波数Fが、プロセッサ1における現在の動作周波数CFより小さいか否かを判別する(S35)。周波数切換制御部21は、設定周波数Fが現在の動作周波数CFより小さいと判別すると(S35にてYES)、後述する動作周波数クロックダウン処理を実行して(S36)、プロセッサ1の動作周波数をクロックダウンする。一方、周波数切換制御部21は、設定周波数Fが現在の動作周波数CFと等しいと判別すると(S35にてNO)、S36の処理をスキップする。
【0058】
この後、周波数切換制御部21は変数T、TRおよびTROをゼロとして初期化し(S37)、周波数切換制御部21はパフォーマンスモニタタイマ30をリセットして、再び経過時間の計測を開始(リスタート)させ(S39)、動作周波数自動切換処理を終了する。
【0059】
次に、前述した最高動作周波数にまで上昇させた後に実行される動作周波数クロックアップ処理(S34)について図7のフローチャートを参照して説明する。
【0060】
周波数切換制御部21は、設定周波数Fが現在の動作周波数CFと異なっていない、すなわち設定周波数Fと現在の動作周波数CFが一致していると判別すると(S40にてNO)、そのまま動作周波数クロックアップ処理を終了する。
【0061】
一方、周波数切換制御部21は、設定周波数Fが現在の動作周波数CFと異なっていると判別すると(S40にてYES)、設定周波数Fに対応してプロセッサ1に供給する電圧レベルを特定する(S41)。具体的には、周波数切換制御部21は、ROM2に記憶されている動作周波数テーブルTBを設定周波数Fに基づいて検索して、設定周波数Fに一致する動作周波数A1に対応の供給電圧レベルA3を、供給電圧レベルとして特定する。
【0062】
周波数切換制御部21は、特定した供給電圧レベルが現在のプロセッサ1への供給電圧レベルCVと異なっていると判断すると(S42にてYES)、電源制御部7を介して、電源8からプロセッサ1に供給される電圧のレベルCVがS41で特定された供給電圧レベルとなるように制御する(S43)。
【0063】
一方、周波数切換制御部21は、特定された供給電圧レベルと現在の供給電圧のレベルCVとが異なっていない、すなわち一致していると判別すると(S42にてNO)、S43の処理をスキップする。
【0064】
この後、周波数切換制御部21は、プロセッサ1の動作周波数CFを設定周波数Fに合わせて変更することでクロックアップして(ステップS44)、動作周波数クロックアップ処理を終了する。
【0065】
このように、一旦、最高動作周波数にまで上昇させた後は、その時点での実際の負荷の程度に応じた動作周波数(設定周波数F)および供給電圧のレベルとなるように調整されるので、十分な応答性を維持しながらも無駄な電力消費を抑制できる。したがって、段階的に動作周波数を調整する方法と比較して適切な動作周波数へのクロックアップが迅速に行うことが可能となるし、プロセスの起動時点から好ましい応答性を得ることが可能となる。
【0066】
次に、動作周波数クロックダウン処理(S36)について図8のフローチャートを参照して説明する。周波数切換制御部21は、動作周波数クロックダウン処理を開始すると、設定周波数Fが、プロセッサ1における現在の動作周波数CFと異なっているか否かを判別する(S50)。設定周波数Fと現在の動作周波数CFとが一致していると判別すると(S50にてNO)、そのままクロックダウン処理を終了する。
【0067】
一方、周波数切換制御部21は、設定周波数Fが現在の動作周波数CFと異なっていると判別すると(S50にてYES)、設定周波数Fに対応してプロセッサ1に供給する電圧レベルを特定する(S51)。具体的には、周波数切換制御部21はROM2に記憶されている動作周波数テーブルTBを設定周波数Fに基づいて検索して、該設定周波数Fに一致する動作周波数A1に対応の供給電圧レベルA3を特定する。
【0068】
そして、周波数切換制御部21は、プロセッサ1の現在の動作周波数CFを設定周波数Fに合わせて変更することでクロックダウンする(S52)。
【0069】
その後、周波数切換制御部21はS51で特定した供給電圧レベルが、現在の供給電圧レベルCVと異なっているか否かを判別する(S53)。異なっていると判別すると(S53にてYES)、電源制御部7を、プロセッサ1に電源8から供給される電圧のレベルCVがS51で特定された供給電圧レベルとなるように制御し(S54)、動作周波数クロックダウン処理を終了する。
【0070】
一方、周波数切換制御部21は、特定された供給電圧レベルと現在の供給電圧レベルCVとが一致していると判別すると(S53にてNO)、S54の処理をスキップして、動作周波数クロックダウンの処理を終了する。
【0071】
このようにして、動作周波数制御システム101は、携帯情報処理端末100が備えるプロセッサ1の利用状況(負荷の程度)に応じて動作周波数を自動的に切り換えることができる。
【0072】
本実施の形態では、チックカウンタ10によりカウントされるチック値を積算することにより、一定の時間内に実行されたプロセスや割込み処理に要したチック値を求め、プロセッサ1の負荷量(負荷の程度)を特定するものとして説明したが、特定方法はこれに限定されるものではない。例えば、プロセッサ1が実行する処理それぞれと該処理を実行した場合のプロセッサ1の負荷量との対応関係を示すデータを予めROM2に記憶しておき、負荷量検出部20は、ROM2に記憶されているデータを参照することにより、プロセッサ1が実行する処理から負荷量を特定するようにしてもよい。
【0073】
また、プロセッサ1の負荷量をモニタリングする周期となる所定の時間TMは任意に変更できるようにしてもよく、例えば、入力部4により入力された指示情報に応じて任意の時間を設定してもよい。
【0074】
本実施の形態では、プロセッサ1がチックカウンタ10を内蔵しているとしたが、これに限定されない。すなわち、プロセッサ1の外部にチック値をカウントすることができるRTC(Real Time Clock)を設け、プロセッサ1の負荷量のモニタリングや所定の時間TMの計測に用いるようにしても良い。
【0075】
プロセッサ1の利用状況(負荷の程度)に応じて動作周波数を自動的に切り換える場合に、前述の従来の技術で説明した段階的に動作周波数を切換える方法と本実施の形態による方法とのいずれかに選択的に切換えるようにしてもよい。例えば、ユーザが使用する環境化や目的(動作させるアプリケーション)に合わせて切換えることが望ましい。切換えの指示は入力部4の操作により与えられることになろう。
【0076】
本実施の形態では、動作周波数制御システム101を実現するためのOSとなる動作プログラムがROM2に予め記憶されているものとして説明したが、これに限定されるものではない。すなわち動作プログラムは、FD(Flexible Disc)、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)、IC(Integrated Circuit)メモリなどのコンピュータ読み取り可能な記録媒体15に記録して、記録媒体15が記録媒体駆動部14に装着されることで記録されたプログラムが読出されてRAM3にインストールされて配布されるとしてもよい。また、外部ネットワーク18を介して伝送される搬送波に該プログラムの信号を重畳して送信し、通信部17によりこれを受信してRAM3にダウンロードすることにより配布されるとしてもよい。
【0077】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0078】
【発明の効果】
この発明によれば、現在の動作周波数に基づいた動作では十分な応答性が得られないような負荷量が検出された場合には、最高動作周波数にて動作するように設定されるから、応答性が劣化することを回避してプロセスの実行状況に拘わらず応答性を良好に維持できる。
【0079】
また、最高動作周波数に設定された後に、動作周波数は検出された負荷量に応じた動作周波数に切換え設定されるから、プロセスの実行状況に応じた動作周波数に移行させることもできる。
【図面の簡単な説明】
【図1】 この発明の実施の形態に係わる動作周波数制御システムが適用される携帯情報処理端末の構成を示す図である。
【図2】 動作周波数テーブルを例示する図である。
【図3】 動作周波数制御システムの機能構成図である。
【図4】 チック値の積算処理を説明するためのフローチャートである。
【図5】 パフォーマンスモニタ初期化処理を説明するためのフローチャートである。
【図6】 本実施の形態に係る動作周波数自動切換処理を説明するためのフローチャートである。
【図7】 動作周波数クロックアップ処理を説明するためのフローチャートである。
【図8】 動作周波数クロックダウン処理を説明するためのフローチャートである。
【符号の説明】
1 プロセッサ、7 電源制御部、8 電源、10 チックカウンタ、20 負荷量検出部、21 周波数切換制御部、22 タイミング検出部、23 モニタフラグ、24 動作モード設定処理部、30 パフォーマンスモニタタイマ、100 携帯情報処理端末、101 動作周波数システム、TB 動作周波数テーブル。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an operating frequency control system and an operating frequency control method for controlling an operating frequency of a processor, and more particularly to an operating frequency control system and an operating frequency for controlling an operating frequency according to the degree of load caused by processing executed in the processor. It relates to a control method.
[0002]
[Prior art]
Processors such as CPUs (Central Processing Units) and MPUs (Micro Processing Units) for portable information processing terminals such as mobile phones, PDAs (Personal Digital Assistants), and notebook computers are usually rechargeable batteries (secondary batteries), etc. It is driven by receiving electric power. Therefore, it is required to reduce power consumption in a processor for a portable information processing terminal. As a technique for meeting this requirement, an operating frequency control system that dynamically controls the operating frequency of a processor is known (see Patent Document 1). This operating frequency control system is realized, for example, when a processor activates an OS (Operating System).
[0003]
The processing speed and power consumption of the processor change by switching the operating frequency. Therefore, this operating frequency control system is used when executing an application with a relatively light load on the processor, such as a phone book data, e-mail data, or a program for displaying still images. To reduce power consumption. On the other hand, when executing an application with a relatively heavy load on the processor, such as a program that plays video or audio, the response time is shortened so that the operating frequency is increased so that the user does not feel uncomfortable. To do.
[0004]
In order to realize such a function, in the operation frequency control system, for example, an application including a process with a large amount of processing and a heavy load on the processor is associated with the frequency control operation, and at the start and end of execution of the application, “Operating frequency forced control” that controls the operating frequency of the processor and the load amount of the processor is monitored at a predetermined timing, and the usage status of the processor is determined based on the monitored load amount every time a predetermined time elapses. “Performance monitor control” is used, which identifies and controls the operating frequency of the processor in accordance with the identified usage situation.
[0005]
In the above-described forced operation frequency control, when a high-load application including processing that places a heavy load on the processor is executed, the voltage level supplied to the processor is changed to a level different from that supplied during normal operation. Control the frequency.
[0006]
In the performance monitor control described above, based on the processor load monitored at a predetermined period, the operation frequency is clocked up stepwise (that is, the operation frequency is stepped up to the next higher operating frequency). When the clock is down, control is performed so that the minimum operating frequency is changed.
[0007]
[Patent Document 1]
Specifications and drawings of JP-A-2002-182776
[0008]
[Problems to be solved by the invention]
In the above-described forced operation frequency control, once the operation frequency requested by the application is set, the application always operates at the set operation frequency regardless of the time-series operation status of the application. Regardless of the inside, constant power is always consumed. For example, it is assumed that an application that requires an operating frequency of 400 MHz and another application that can ensure sufficient performance at an operating frequency of 40 MHz are operating simultaneously. When an application operates with an irregular interrupt as a trigger and another application continuously performs processing, in the above-described operation frequency forced control, once an operation frequency is set for an application, Regardless of whether it is operating or not operating, an operating frequency of 400 MHz is always required and wasteful power is consumed. In other words, it is desirable to dynamically control the operating frequency in accordance with the actual usage status of the processor.
[0009]
On the other hand, in the performance monitor control described above, the processor load amount is monitored at an appropriate cycle, and the operation frequency is appropriately controlled, so that power consumption is not wasted and problems in the operation frequency forced control can be avoided. However, since the clock-up process of the operating frequency is performed in stages, it takes a long time to reach the operating frequency necessary for extracting sufficient performance. Therefore, in view of the general tendency that the processor load increases at the start of an application process or at the start or end of interrupt processing, the real-time nature of the application (within a specific time period from the requested time) Processing and responding until then) will be inhibited.
[0010]
SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an operating frequency control system and an operating frequency control method capable of shifting to an operating frequency according to the process execution status while maintaining responsiveness regardless of the process execution status. That is.
[0011]
[Means for Solving the Problems]
According to one aspect of the present invention, the operating frequency control system operates based on the set operating frequency, and detects the amount of load related to the processor that starts and executes a plurality of types of processes, and the load Comparison means for comparing a predetermined operating frequency for ensuring the responsiveness of the process with respect to the load detected by the quantity detecting means and the current operating frequency, and a comparison result by the comparing means indicates that the current operating frequency satisfies the predetermined frequency. If not, the highest frequency setting means that sets the highest operating frequency that can be set for the processor as the current operating frequency, and the highest operating frequency is set by the highest frequency setting means, and then the current operating frequency is detected by the load amount detecting means. Frequency switching means for switching and setting the operating frequency according to the load amount.
[0012]
Therefore, when the load amount detected for the processor does not provide sufficient responsiveness in the operation based on the current operation frequency, the maximum operation frequency is set and the load amount detected thereafter is set. Switched to the operating frequency.
[0013]
Therefore, if a load is detected that does not provide sufficient responsiveness in the operation based on the current operating frequency, it is set to operate at the maximum operating frequency. Therefore, it is possible to maintain good responsiveness regardless of the execution state of the process.
[0014]
In addition, since the operating frequency is switched to the operating frequency corresponding to the detected load after the maximum operating frequency is set, the operating frequency can be shifted to the operating frequency corresponding to the process execution status.
[0015]
Preferably, the load amount detection unit described above starts monitoring the load amount at a predetermined timing, and integrates and detects the monitored load amount when a predetermined time elapses.
[0016]
Therefore, the load amount detection means monitors and starts the load amount only at a predetermined timing and does not always add it. Therefore, it is possible to prevent the load of the processor on which the system is mounted from increasing more than necessary.
[0017]
Preferably, the operating frequency control system described above further includes timing detection means for detecting a switching timing of a process executed by the processor and execution start timing and execution end timing of interrupt processing. Any timing to detect.
[0018]
Therefore, the load amount detection means detects the load amount only when any one of the switching timing of the process executed by the processor, the execution start timing of the interrupt processing, and the execution end timing is detected, and the operating frequency is determined based on the detected load amount. Set to the highest frequency.
[0019]
Therefore, at each of the switching timing of the process executed by the processor, the execution start timing of the interrupt processing, and the execution end timing, although the processor load increases, the load is sufficiently increased because the processor operates at the maximum operating frequency. Can be absorbed and maintain responsiveness.
[0020]
The operating frequency control system described above preferably adjusts the level of the voltage supplied to the processor to a level corresponding to the set current operating frequency.
[0021]
Therefore, since it is possible to avoid supplying an excessive voltage and a shortage of supply voltage, waste of power consumption can be reduced, and deterioration of responsiveness due to a shortage of supply voltage can also be avoided.
[0022]
An operating frequency control method according to another aspect of the present invention includes a load amount detecting step for detecting a load amount related to a processor that starts and executes a plurality of types of processes while operating based on a set operating frequency, and a load A comparison step for comparing a predetermined operation frequency for ensuring the responsiveness of the process with respect to the load detected in the amount detection step and a current operation frequency, and a comparison result by the comparison step indicates that the current operation frequency satisfies the predetermined frequency. If not, the highest frequency setting step that sets the highest operating frequency that can be set for the processor to the current operating frequency, and the highest operating frequency is set by the highest frequency setting step, then the current operating frequency is detected by the load amount detection step A frequency switching step for switching to an operating frequency according to the load amount Obtain.
[0023]
A program for causing a computer to execute the above-described operating frequency control method may be provided. A machine-readable recording medium in which the program is recorded may be provided.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
In the following, the operating frequency control system and method according to the embodiment of the present invention will be described with reference to the drawings, taking as an example the case where it is applied to the portable information processing terminal 100 shown in FIG. In the portable information processing terminal 100, the installed OS manages the control target in units of processes (or tasks), and processes are generated, terminated, switched, and the like.
[0025]
The configuration of the portable information processing terminal 100 in FIG. 1 relates to a terminal device that can operate even when disconnected from a commercial power source, such as a mobile phone, a PDA (Personal Digital Assistant), or a notebook personal computer (abbreviation of personal computer). It is.
[0026]
In FIG. 1, a portable information processing terminal 100 includes a processor 1, a ROM (Read Only Memory) 2, a RAM (Random Access Memory) 3, an input unit 4, a display control unit 5, a display unit 6, a power control unit 7, and a power control unit. 7, a power source 8 that supplies power for driving each unit of the portable information processing terminal 100, and a recording medium 15 that is detachably mounted from the outside is connected to an I / F (Interface) 13. A recording medium drive unit 14 that is accessed under the control of the processor 1 via the I / F and a communication unit that operates under the control of the processor 1 via the I / F 16 to communicate with an external network 18 such as the Internet. 17.
[0027]
The processor 1 is composed of, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) and controls the operation of the entire portable information processing terminal 100. The processor 1 reads out a program recorded in, for example, the ROM 2 under the control of an OS (operating system), and executes various applications. The processor 1 may read the program from an arbitrary recording medium such as a magnetic disk device (not shown) and execute the application.
[0028]
The register 12 in the processor 1 stores the current operating frequency CF and the current voltage level CV supplied from the power supply 8 via the power supply control unit 7.
[0029]
The processor 1 also has a tick counter 10 that counts up and outputs a tick value CV for each tick. Here, one tick corresponds to one clock signal supplied from a clock (not shown) to the processor 1. That is, the tick counter 10 counts up the tick value CV, for example, by counting the number of clocks at the timing of the rising edge of the clock signal supplied to the processor 1. An operating frequency, which is a frequency for timing the operation (control of computation, memory access, etc.) of each unit of the portable information processing terminal 100 is determined by the clock signal or tick value.
[0030]
The ROM 2 is a read-only storage circuit that stores programs such as a device driver, a loader program, an OS, and an application program that are read and executed by the processor 1 in order to cause each unit of the portable information processing terminal 100 to operate. The ROM 2 stores in advance an operating frequency table TB as illustrated in FIG.
[0031]
The operating frequency table TB shown in FIG. 2 can ensure sufficient responsiveness when the processor 1 operates at the operating frequency A1 corresponding to each of a plurality of types of operating frequencies A1 that can be set for the processor 1. A tick width A2 indicating a width (value range) of a corresponding tick value in the load amount range and a supply voltage level A3 indicating a magnitude of a supply voltage from the power supply 8 to the processor 1 are included.
[0032]
The RAM 3 is a rewritable storage circuit that provides a work area when the processor 1 executes a program and enables temporary storage of data.
[0033]
The input unit 4 includes, for example, a keypad, a mouse, and a pointing device, and is used to input instruction information for instructing the operation of the portable information processing terminal 100, data indicating characters and numbers, and the like.
[0034]
The display control unit 5 includes, for example, a VRAM (Video-RAM), LCD (Liquid Crystal Display) driver, and the like, and controls the operation of the display unit 6 in accordance with image data received from the processor 1.
[0035]
The power supply control unit 7 is composed of, for example, a switching regulator, and regulates the power supply voltage supplied from the power supply 8 to a predetermined voltage, and also supplies the processor 1 and the like to each unit. Here, the power supply control unit 7 adjusts the supplied power and controls the operating frequency by changing the voltage level supplied to the processor 1.
[0036]
When the portable information processing terminal 100 is connected to a charging device (not shown), the power control unit 7 notifies the processor 1 that the portable information processing terminal 100 is set in the charging device, and starts charging the power source 8. On the other hand, when the connection between the portable information processing terminal 100 and the charging device is released, the power supply control unit 7 notifies the processor 1 to that effect and ends the charging of the power supply 8.
[0037]
The power supply 8 is composed of a rechargeable battery (secondary battery) such as a lithium ion battery or a nickel hydrogen ion battery, and supplies power for driving each part of the portable information processing terminal 100.
[0038]
The functional blocks of the operating frequency control system 101 are shown in FIG. Each functional block of FIG. 3 is provided by software realized by the processor 1 executing the program stored in the ROM 2 and starting the OS in the portable information processing terminal 100. In FIG. 3, the operating frequency control system 101 includes a load amount detection unit 20 having a performance monitor timer 30, a frequency switching control unit 21, a timing detection unit 22, a monitor flag 23, and an operation mode setting processing unit 24.
[0039]
The load amount detection unit 20 executes processing for detecting the load amount applied to the processor 1 using the tick value CV counted by the tick counter 10. For example, the load amount detection unit 20 obtains a tick value CV required for a process executed during a certain time or an interruption process by integrating the tick value CV of the tick counter 10 and sets it as a variable T. . Here, the load amount detection unit 20 executes processing for integrating the tick value CV using the variables TRO and TR indicating the tick value CV of the tick counter 10. The variable TRO indicates the tick value CV of the tick counter 10 at the timing when the processor 1 switches the process to the currently executing process or the timing at which the execution of the interrupt process is started. The variable TR indicates the current tick value CV of the tick counter 10.
[0040]
The frequency switching control unit 21 controls switching of the operating frequency of the processor 1 based on the value of the variable T set by the load amount detection unit 20. When switching the operating frequency of the processor 1 to another operating frequency, the frequency switching control unit 21 instructs the power supply control unit 7 to switch the level of the voltage supplied to the processor 1. At this time, the frequency switching control unit 21 searches the operating frequency table TB stored in the ROM 2 based on another operating frequency of the switching destination, and supplies the supply voltage corresponding to the operating frequency A1 that matches the other operating frequency. The level A3 is specified, and the voltage level supplied from the power supply control unit 7 to the processor 1 is defined as the specified supply voltage level A3.
[0041]
The performance monitor timer 30 of the timing detection unit 22 is used to detect timings at which the load amount detection unit 20 and the frequency switching control unit 21 execute various processes. That is, when the timing detection unit 22 detects the switching timing of the process executed by the processor 1 and the execution start / end timing of the interrupt process, the process for accumulating the tick value CV of the tick counter 10 (see FIG. 4). Is instructed to the load amount detection unit 20. In addition, when the performance monitor timer 30 detects that a predetermined time TM has elapsed after detecting the timing of executing various processes, the timing detection unit 22 determines the operating frequency according to the usage status of the processor 1. The frequency switching control unit 21 is instructed to execute processing for automatic switching. The time TM indicates a cycle for evaluating the usage status of the processor 1. The performance monitor timer 30 is reset every time processing for switching the operating frequency is executed in accordance with the usage status of the processor 1, and starts (restarts) measuring elapsed time again.
[0042]
As described above, the load amount detection unit 20 integrates the tick value CV of the tick counter 10 only when the timing detection unit 22 detects the switching timing of the process executed by the processor 1 or the execution start / end timing of the interrupt processing. Process is performed, but not always executed. Therefore, it is possible to avoid an increase in the load on the processor 1 more than necessary.
[0043]
The monitor flag 23 is used to indicate whether or not the portable information processing terminal 100 is in an operation mode in which the operation frequency is automatically switched according to the usage status of the processor 1. That is, the monitor flag 23 is “ON” when the portable information processing terminal 100 is in a mode in which the load amount of the processor 1 is monitored and the operating frequency is automatically switched. The monitor flag 23 is “OFF” in a mode in which the processor 1 is operated at an operating frequency according to an instruction from a user program executed by the processor 1. Here, in order to simplify the description, details of the latter operation mode are omitted.
[0044]
The operation mode setting processing unit 24 sets the operation mode of the portable information processing terminal 100 by executing a predetermined initialization process as shown in FIG. 5 when the power supply 8 is started.
[0045]
The operation of portable information processing terminal 100 according to the embodiment of the present invention will be described below.
[0046]
In the portable information processing terminal 100, the operating frequency control system 101 sets the tick counter 10 when the monitor flag 23 is “ON”, that is, when the operating frequency is automatically switched according to the usage status of the processor 1. By integrating the tick value CV, the load amount that is the usage status of the processor 1 is detected.
[0047]
For example, the operation mode setting processing unit 24 executes processing corresponding to the instruction information input from the input unit 4 when the start of power supply by the power supply 8 is instructed, the operation mode at the time when the power supply 8 was previously disconnected, and the like. If it is determined that the monitor flag 23 is not “ON” (step S in FIG. 5 (hereinafter simply referred to as S) 1), the variables T, TRO, and TR are set to “0” (S2, S3), and the performance monitor timer Initialization processing such as resetting 30 and starting measurement of elapsed time is executed (S4). Thereafter, the operation mode setting processing unit 24 sets the monitor flag 23 to “ON” (S5).
[0048]
When the monitor flag 23 is set to “ON” (S20 in FIG. 4), the timing detection unit 22 detects the process switching timing and the execution start / end timing of the interrupt process, and at each detected timing, the load A command for accumulating the tick value CV of the tick counter 10 is sent to the quantity detection unit 20.
[0049]
The load amount detection unit 20 sets a value obtained by adding the current value of the variable T to the value obtained by subtracting the variable TRO from the variable TR as a variable T, for example, so that the tick corresponding to the load amount of the processor 1 is set. The value CV is integrated (S21). Then, the value of the variable TR is set in the variable TRO and updated (S22).
[0050]
When the performance monitor timer 30 detects that a predetermined time TM has elapsed, the timing detector 22 issues a command to start execution of the automatic operation frequency switching process shown in the flowchart of FIG. Send to part 21. The operating frequency automatic switching process is a process for automatically switching the operating frequency according to the usage status of the processor 1.
[0051]
Referring to FIG. 6, when frequency switching control unit 21 starts the operation frequency automatic switching process in response to a command from timing detection unit 22, it determines whether or not processor 1 is currently executing a process. (S30). When frequency switching control unit 21 determines that the process is being executed (YES in S30), it executes processing for setting variable T (S31). That is, a value obtained by subtracting the variable TRO from the variable TR and the current value of the variable T is newly set as the variable T.
[0052]
If frequency switching control unit 21 determines that processor 1 is not executing a process (NO in S30), it skips the process in step S31.
[0053]
After that, the set frequency F newly set as the operating frequency of the processor 1 is specified (S32). Specifically, the frequency switching control unit 21 searches the operating frequency table TB stored in the ROM 2 based on the tick value indicated by the variable T, and compares each tick value width A2 with the tick value of the variable T. The tick value width A2 including the tick value of the variable T in its range is specified, and the corresponding operating frequency A1 is specified as the set frequency F.
[0054]
The frequency switching control unit 21 determines whether or not the specified set frequency F is higher than the current operating frequency CF in the processor 1 (S33). If it is determined that the set frequency F is greater than the current operating frequency CF (YES in S33), the supply voltage level to the processor 1 is set to a level at which the processor 1 can operate at the maximum operating frequency, and the maximum operating frequency is set to the setting frequency F ( (S999), an operating frequency clock-up process described later is executed (S34), and the operating frequency of the processor 1 is clocked up.
[0055]
Here, the maximum operating frequency is an operating frequency that enables the fastest response while maintaining the processing accuracy based on the characteristics of the circuit elements constituting the processor 1. For example, according to the operating frequency table TB of FIG. 2, it will be 800 MHz and the supply voltage level will be 1.65V. Note that the clock signal that defines the operating frequency of the processor 1 is different from the clock signal for the tick counter 10 to count up, and is supplied to each part of the portable information processing terminal 100.
[0056]
When it is necessary to clock up the operating frequency in this way, that is, when the process is started or when an irregular process is started using an interrupt process as a trigger, the maximum operating frequency is increased (S999). Even when the load increases due to the time, the real-time processing for the activated process can be started quickly.
[0057]
On the other hand, when frequency switching control unit 21 determines that set frequency F is equal to or lower than current operating frequency CF (NO in S33), frequency switching control unit 21 determines whether set frequency F is lower than current operating frequency CF in processor 1 or not. A determination is made (S35). When frequency switching control unit 21 determines that set frequency F is lower than current operating frequency CF (YES in S35), it executes an operating frequency clock down process described later (S36), and sets the operating frequency of processor 1 to the clock. To go down. On the other hand, if frequency switching control unit 21 determines that set frequency F is equal to current operating frequency CF (NO in S35), it skips the process of S36.
[0058]
Thereafter, the frequency switching control unit 21 initializes the variables T, TR, and TRO as zero (S37), and the frequency switching control unit 21 resets the performance monitor timer 30 and starts measuring elapsed time again (restart). (S39), and the operation frequency automatic switching process is terminated.
[0059]
Next, the operation frequency clock-up process (S34) executed after raising the above-described maximum operation frequency will be described with reference to the flowchart of FIG.
[0060]
When frequency setting control unit 21 determines that set frequency F is not different from current operating frequency CF, that is, set frequency F and current operating frequency CF match (NO in S40), operating frequency clock remains unchanged. The up process ends.
[0061]
On the other hand, when frequency switching control unit 21 determines that set frequency F is different from current operating frequency CF (YES in S40), it specifies a voltage level to be supplied to processor 1 corresponding to set frequency F ( S41). Specifically, the frequency switching control unit 21 searches the operating frequency table TB stored in the ROM 2 based on the set frequency F, and determines the supply voltage level A3 corresponding to the operating frequency A1 that matches the set frequency F. , Specified as the supply voltage level.
[0062]
When frequency switching control unit 21 determines that the specified supply voltage level is different from the current supply voltage level CV to processor 1 (YES in S42), power supply 8 controls processor 1 through power supply control unit 7. The level CV of the voltage supplied to is controlled so as to be the supply voltage level specified in S41 (S43).
[0063]
On the other hand, if frequency switching control unit 21 determines that the specified supply voltage level and current supply voltage level CV are not different, that is, coincides (NO in S42), the process of S43 is skipped. .
[0064]
Thereafter, the frequency switching control unit 21 clocks up by changing the operating frequency CF of the processor 1 according to the set frequency F (step S44), and ends the operating frequency clock up processing.
[0065]
In this way, once it has been raised to the maximum operating frequency, the operating frequency (set frequency F) according to the actual load level at that time and the level of the supply voltage are adjusted, so Wasteful power consumption can be suppressed while maintaining sufficient responsiveness. Therefore, it is possible to quickly clock up to an appropriate operating frequency as compared with the method of adjusting the operating frequency step by step, and it is possible to obtain a favorable responsiveness from the start of the process.
[0066]
Next, the operating frequency clock down process (S36) will be described with reference to the flowchart of FIG. When starting the operation frequency clock down process, the frequency switching control unit 21 determines whether or not the set frequency F is different from the current operation frequency CF in the processor 1 (S50). If it is determined that set frequency F matches current operating frequency CF (NO in S50), the clock-down process is terminated.
[0067]
On the other hand, when frequency switching control unit 21 determines that set frequency F is different from current operating frequency CF (YES in S50), it specifies a voltage level to be supplied to processor 1 corresponding to set frequency F ( S51). Specifically, the frequency switching control unit 21 searches the operating frequency table TB stored in the ROM 2 based on the set frequency F, and determines the supply voltage level A3 corresponding to the operating frequency A1 that matches the set frequency F. Identify.
[0068]
Then, the frequency switching control unit 21 clocks down by changing the current operating frequency CF of the processor 1 according to the set frequency F (S52).
[0069]
Thereafter, the frequency switching control unit 21 determines whether or not the supply voltage level specified in S51 is different from the current supply voltage level CV (S53). If it is determined that they are different (YES in S53), the power supply control unit 7 is controlled so that the level CV of the voltage supplied from the power supply 8 to the processor 1 becomes the supply voltage level specified in S51 (S54). Then, the operation frequency clock down process is terminated.
[0070]
On the other hand, when frequency switching control unit 21 determines that the specified supply voltage level matches the current supply voltage level CV (NO in S53), it skips the process of S54 and reduces the operating frequency clock. Terminate the process.
[0071]
In this way, the operating frequency control system 101 can automatically switch the operating frequency in accordance with the usage status (degree of load) of the processor 1 provided in the portable information processing terminal 100.
[0072]
In the present embodiment, the tick value counted by the tick counter 10 is integrated to obtain the tick value required for the process or interrupt processing executed within a certain time, and the load amount of the processor 1 (the degree of load) ) Is specified, but the specifying method is not limited to this. For example, data indicating the correspondence between each process executed by the processor 1 and the load amount of the processor 1 when the process is executed is stored in the ROM 2 in advance, and the load amount detection unit 20 is stored in the ROM 2. The load amount may be specified from the processing executed by the processor 1 by referring to the data that is stored.
[0073]
Further, the predetermined time TM that becomes a cycle for monitoring the load amount of the processor 1 may be arbitrarily changed. For example, an arbitrary time may be set according to the instruction information input by the input unit 4. Good.
[0074]
In the present embodiment, the processor 1 includes the tick counter 10, but the present invention is not limited to this. That is, an RTC (Real Time Clock) capable of counting tick values outside the processor 1 may be provided and used for monitoring the load amount of the processor 1 and measuring the predetermined time TM.
[0075]
When the operating frequency is automatically switched according to the usage status (load level) of the processor 1, any one of the method of switching the operating frequency in stages and the method according to the present embodiment described in the above-described conventional technology. You may make it switch selectively. For example, it is desirable to switch according to the environment and purpose (application to be operated) used by the user. The switching instruction will be given by operating the input unit 4.
[0076]
In the present embodiment, the operation program serving as the OS for realizing the operation frequency control system 101 has been described as being stored in the ROM 2 in advance. However, the present invention is not limited to this. That is, the operation program is recorded on a computer-readable recording medium 15 such as an FD (Flexible Disc), a CD (Compact Disc) -ROM, a DVD (Digital Versatile Disc), or an IC (Integrated Circuit) memory. The program recorded by being mounted on the recording medium driving unit 14 may be read out, installed in the RAM 3, and distributed. Alternatively, the program signal may be transmitted by being superimposed on a carrier wave transmitted via the external network 18, received by the communication unit 17, and downloaded to the RAM 3.
[0077]
The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
[0078]
【The invention's effect】
According to the present invention, when a load is detected such that sufficient responsiveness cannot be obtained by the operation based on the current operating frequency, the response is set so as to operate at the maximum operating frequency. It is possible to avoid the deterioration of the performance and maintain the responsiveness regardless of the execution state of the process.
[0079]
In addition, since the operating frequency is switched to the operating frequency corresponding to the detected load after the maximum operating frequency is set, the operating frequency can be shifted to the operating frequency corresponding to the process execution status.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a portable information processing terminal to which an operating frequency control system according to an embodiment of the present invention is applied.
FIG. 2 is a diagram illustrating an operating frequency table.
FIG. 3 is a functional configuration diagram of an operating frequency control system.
FIG. 4 is a flowchart for explaining a tick value integration process;
FIG. 5 is a flowchart for explaining performance monitor initialization processing;
FIG. 6 is a flowchart for explaining an operating frequency automatic switching process according to the present embodiment.
FIG. 7 is a flowchart for explaining an operation frequency clock-up process.
FIG. 8 is a flowchart for explaining an operating frequency clock down process;
[Explanation of symbols]
1 processor, 7 power supply control unit, 8 power supply, 10 tick counter, 20 load amount detection unit, 21 frequency switching control unit, 22 timing detection unit, 23 monitor flag, 24 operation mode setting processing unit, 30 performance monitor timer, 100 mobile phone Information processing terminal, 101 operating frequency system, TB operating frequency table.

Claims (5)

プロセッサの動作周波数を設定する周波数設定手段と、
前記周波数設定手段によって設定された前記動作周波数に基づいて動作しながら複数種類のプロセスを起動させて実行する前記プロセッサに係る負荷量を検出する負荷量検出手段と、を備え、
前記周波数設定手段は、
前記負荷量検出手段により検出された負荷量について前記プロセスの応答性を確保するための所定動作周波数と現在設定されている前記動作周波数とを比較する比較手段と、
前記比較手段による比較結果に基づき、現在設定されている前記動作周波数は前記所定動作周波数に満たないと判別したときは、現在設定されている前記動作周波数を前記プロセッサについて設定可能な最高動作周波数に切換え設定する最高周波数設定手段と、
前記最高周波数設定手段により前記最高動作周波数が設定された後に、現在設定されている前記最高動作周波数を前記負荷量検出手段により検出された負荷量に応じた動作周波数に切り換え設定する周波数切換手段と、を含む、動作周波数制御システム。
Frequency setting means for setting the operating frequency of the processor;
And a load detecting means for detecting the load amount according to the processor executing activates the plurality of types of processes while operating on the basis of the operating frequency set by said frequency setting means,
The frequency setting means includes
And comparing means for comparing the operating frequency being Teido operating frequency and currently set at about the detected amount of load to ensure the responsiveness of the process by the load detecting means,
Based on the comparison result by the comparison means, the operating frequency that are currently set can and is determined to be less than the predetermined operating frequency, the most that can be set for the processor the operating frequency that is currently set high dynamic Maximum frequency setting means for switching to the operating frequency,
Frequency switching means for switching and setting the currently set maximum operating frequency to the operating frequency corresponding to the load amount detected by the load amount detecting means after the maximum operating frequency is set by the maximum frequency setting means; the containing, operating frequency control system.
前記負荷量検出手段は、所定のタイミングにて前記負荷量をモニタリング開始し、所定の時間が経過すると、モニタリングした前記負荷量を積算して検出することを特徴とする、請求項1に記載の動作周波数制御システム。  2. The load amount detection unit according to claim 1, wherein the load amount detection unit starts monitoring the load amount at a predetermined timing and integrates and detects the monitored load amount when a predetermined time elapses. Operating frequency control system. プロセッサが実行するプロセスの切換タイミングと、割込み処理の実行開始タイミングおよび実行終了タイミングとを検出するタイミング検出手段をさらに備え、
前記所定タイミングは前記タイミング検出手段が検出するいずれかのタイミングであることを特徴とする、請求項2に記載の動作周波数制御システム。
Timing detection means for detecting a switching timing of a process executed by the processor and an execution start timing and an execution end timing of interrupt processing;
Wherein the predetermined timing, wherein said timing detecting means is one of timing for detecting the operating frequency control system according to claim 2.
前記プロセッサに供給される電圧のレベルを、現在設定されている前記動作周波数に応じたレベルに調整することを特徴とする、請求項1から3のいずれか1項に記載の動作周波数制御システム。4. The operating frequency control system according to claim 1, wherein a level of a voltage supplied to the processor is adjusted to a level corresponding to the currently set operating frequency. 5. プロセッサの動作周波数を設定する周波数設定ステップと、
前記周波数設定ステップにおいて設定された動作周波数に基づいて動作しながら複数種類のプロセスを起動させて実行する前記プロセッサに係る負荷の量を検出する負荷量検出ステップと、を備え、
前記周波数設定ステップは、
前記負荷量検出ステップにより検出された負荷量について前記プロセスの応答性を確保するための所定動作周波数と現在設定されている前記動作周波数とを比較する比較ステップと、
前記比較ステップによる比較結果に基づき、現在設定されている前記動作周波数は前記所定動作周波数に満たないと判別したときは、現在設定されている前記動作周波数を前記プロセッサについて設定可能な最高動作周波数に切換え設定する最高周波数設定ステップと、
前記最高周波数設定ステップにより前記最高動作周波数が設定された後に、現在設定されている前記最高動作周波数を前記負荷量検出ステップにより検出された負荷量に応じた動作周波数に切り換え設定する周波数切換ステップと、を含む、動作周波数制御方法。
A frequency setting step for setting the operating frequency of the processor;
And a load detection step for detecting an amount of load on the processor executing activates the plurality of types of processes while operating on the basis of the operating frequency set in said frequency setting step,
The frequency setting step includes
A comparing step of comparing the operating frequency is set the load detecting current and Teido operating frequency at to ensure the responsiveness of the process for the detected amount of load by the step,
Based on the comparison result of the comparing step, the operating frequency that are currently set can and is determined to be less than the predetermined operating frequency, the most that can be set for the processor the operating frequency that is currently set high dynamic and the highest frequency setting step of switching set to work frequency,
A frequency switching step of switching and setting the currently set maximum operating frequency to an operating frequency corresponding to the load amount detected by the load amount detecting step after the maximum operating frequency is set by the maximum frequency setting step; An operating frequency control method.
JP2002317276A 2002-10-31 2002-10-31 Operating frequency control system and method Expired - Fee Related JP4030408B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002317276A JP4030408B2 (en) 2002-10-31 2002-10-31 Operating frequency control system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002317276A JP4030408B2 (en) 2002-10-31 2002-10-31 Operating frequency control system and method

Publications (2)

Publication Number Publication Date
JP2004152068A JP2004152068A (en) 2004-05-27
JP4030408B2 true JP4030408B2 (en) 2008-01-09

Family

ID=32460715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002317276A Expired - Fee Related JP4030408B2 (en) 2002-10-31 2002-10-31 Operating frequency control system and method

Country Status (1)

Country Link
JP (1) JP4030408B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005354801A (en) * 2004-07-02 2005-12-22 Giga-Byte Technology Co Ltd Replaceable power supply system for electric circuit work frequency automatic regulation, and electric circuit work frequency automatic regulating method
JP4126702B2 (en) 2004-12-01 2008-07-30 インターナショナル・ビジネス・マシーンズ・コーポレーション Control device, information processing system, control method, and program
US7228446B2 (en) 2004-12-21 2007-06-05 Packet Digital Method and apparatus for on-demand power management
US7337335B2 (en) * 2004-12-21 2008-02-26 Packet Digital Method and apparatus for on-demand power management
JP4697805B2 (en) * 2006-10-24 2011-06-08 ルネサスエレクトロニクス株式会社 Data processing device
JP5428267B2 (en) * 2008-09-26 2014-02-26 富士通株式会社 Power supply control system and power supply control method
US9436265B2 (en) * 2013-10-24 2016-09-06 Fujitsu Limited Information processing apparatus and load control method
JP2016062172A (en) 2014-09-16 2016-04-25 株式会社リコー Information processor

Also Published As

Publication number Publication date
JP2004152068A (en) 2004-05-27

Similar Documents

Publication Publication Date Title
US7596705B2 (en) Automatically controlling processor mode of multi-core processor
JP4764144B2 (en) Information processing apparatus and processor control method
JP4963715B2 (en) Electronic device, method for displaying battery usable time, and computer-executable program
US6052791A (en) Control method for a hard disk drive and a data processor reducing power consumption of the hard disk drive
JP5423362B2 (en) Information processing terminal and control method thereof
CA2591697C (en) System and method for power management in mobile units
JP2004152304A (en) System and method for holding state data of personal computer in standby state at ac power supply failure
US20010020940A1 (en) Information processor and power control method therefor
KR101134743B1 (en) Apparatus and method for downloading or transmitting data under the condition of battery power deficit in portable electronic device
JP4030408B2 (en) Operating frequency control system and method
JP2010009538A (en) Information processor
JP2012033044A (en) Information processor and power control method
JP4607545B2 (en) Information processing apparatus and power control method
JP2004159382A (en) Electronic apparatus
CN113961060B (en) Electronic device and electric quantity management method thereof
JP2002366252A (en) System and method for controlling operation frequency, portable information processing terminal and program
JP7513062B2 (en) Wireless communication device, terminal device, wireless communication system, communication connection control method and program
JPH11312029A (en) Power managing device
CN112448429B (en) Control method, terminal and computer storage medium
JP4230585B2 (en) Computer system and power saving control method
JP2002182776A (en) System and method for controlling operating frequency
JP2002314711A (en) Portable-type small-sized electrical device
JP2009151489A (en) Information processor
JP2010011682A (en) Information processor, battery unit, battery charging method, and program
JPH06149406A (en) Cpu clock switching control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070914

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071016

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101026

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111026

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees