JP2004152068A - 動作周波数制御システムおよび方法 - Google Patents
動作周波数制御システムおよび方法 Download PDFInfo
- Publication number
- JP2004152068A JP2004152068A JP2002317276A JP2002317276A JP2004152068A JP 2004152068 A JP2004152068 A JP 2004152068A JP 2002317276 A JP2002317276 A JP 2002317276A JP 2002317276 A JP2002317276 A JP 2002317276A JP 2004152068 A JP2004152068 A JP 2004152068A
- Authority
- JP
- Japan
- Prior art keywords
- operating frequency
- frequency
- processor
- load
- load amount
- 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
Links
Images
Landscapes
- Power Sources (AREA)
Abstract
【解決手段】タイミング検出部22により負荷が上昇するタイミングが検出されると、負荷量検出部20により負荷量が検出される。検出された負荷量が現在の動作周波数に基づいた動作では十分な応答性が得られないようなレベルであるときには、周波数切換制御部21は動作周波数を最高動作周波数に一旦設定して、その後に、動作周波数を検出された負荷量に応じた動作周波数に切換え設定する。したがって、負荷量が急上昇したとしても応答性を維持でき、また、プロセスの実行状況に応じた動作周波数に移行させることもできる。
【選択図】 図3
Description
【発明の属する技術分野】
この発明はプロセッサの動作周波数を制御するための動作周波数制御システムおよび動作周波数制御方法に関し、特に、プロセッサにおいて実行される処理による負荷の程度に応じて動作周波数を制御する動作周波数制御システムおよび動作周波数制御方法に関する。
【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(PersonalDigital 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 動作周波数テーブル。
Claims (5)
- 設定された動作周波数に基づいて動作しながら複数種類のプロセスを起動させて実行するプロセッサに係る負荷の量を検出する負荷量検出手段と、
前記負荷量検出手段により検出された負荷量について前記プロセスの応答性を確保するための所定の動作周波数と現在の動作周波数とを比較する比較手段と、
前記比較手段による比較結果、前記現在動作周波数は前記所定周波数に満たないときは、前記プロセッサについて設定可能な最高の動作周波数を前記現在動作周波数に設定する最高周波数設定手段と、
前記最高周波数設定手段により前記最高動作周波数が設定された後に、前記現在動作周波数を前記負荷量検出手段により検出された負荷量に応じた動作周波数に切り換え設定する周波数切換手段とを備える、動作周波数制御システム。 - 前記負荷量検出手段は、所定のタイミングにて前記負荷量をモニタリング開始し、所定の時間が経過すると、モニタリングした前記負荷量を積算して検出することを特徴とする、請求項1に記載の動作周波数制御システム。
- プロセッサが実行するプロセスの切換タイミングと、割込み処理の実行開始タイミングおよび実行終了タイミングとを検出するタイミング検出手段をさらに備え、
前記所定タイミングは前記タイミング検出手段が検出するいずれかのタイミングであることを特徴とする、請求項2に記載の動作周波数制御システム。 - 前記プロセッサに供給される電圧のレベルを、設定された前記現在動作周波数に応じたレベルに調整することを特徴とする、請求項1から3のいずれか1項に記載の動作周波数制御システム。
- 設定された動作周波数に基づいて動作しながら複数種類のプロセスを起動させて実行するプロセッサに係る負荷の量を検出する負荷量検出ステップと、
前記負荷量検出ステップにより検出された負荷量について前記プロセスの応答性を確保するための所定の動作周波数と現在の動作周波数とを比較する比較ステップと、
前記比較ステップによる比較結果、前記現在動作周波数は前記所定周波数に満たないときは、前記プロセッサについて設定可能な最高の動作周波数を前記現在動作周波数に設定する最高周波数設定ステップと、
前記最高周波数設定ステップにより前記最高動作周波数が設定された後に、前記現在動作周波数を前記負荷量検出ステップにより検出された負荷量に応じた動作周波数に切り換え設定する周波数切換ステップとを備える、動作周波数制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002317276A JP4030408B2 (ja) | 2002-10-31 | 2002-10-31 | 動作周波数制御システムおよび方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002317276A JP4030408B2 (ja) | 2002-10-31 | 2002-10-31 | 動作周波数制御システムおよび方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004152068A true JP2004152068A (ja) | 2004-05-27 |
JP4030408B2 JP4030408B2 (ja) | 2008-01-09 |
Family
ID=32460715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002317276A Expired - Fee Related JP4030408B2 (ja) | 2002-10-31 | 2002-10-31 | 動作周波数制御システムおよび方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4030408B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005354801A (ja) * | 2004-07-02 | 2005-12-22 | Giga-Byte Technology Co Ltd | 電気回路仕事周波数自動調整用交換式給電システム及び電気回路仕事周波数自動調整方法 |
JP2008107944A (ja) * | 2006-10-24 | 2008-05-08 | Nec Electronics Corp | データ処理装置 |
JP2008524744A (ja) * | 2004-12-21 | 2008-07-10 | パケット ディジタル | オンデマンド電力管理の方法及び機器 |
US7415383B2 (en) | 2004-12-01 | 2008-08-19 | International Business Machines Corporation | Compiling method, apparatus, and program |
JP2010081752A (ja) * | 2008-09-26 | 2010-04-08 | Fujitsu Ltd | 電源制御システム、および電源制御方法 |
US8020015B2 (en) | 2004-12-21 | 2011-09-13 | Packet Digital | Method and apparatus for on-demand power management |
JP2015082321A (ja) * | 2013-10-24 | 2015-04-27 | 富士通株式会社 | 情報処理装置、負荷制御方法および負荷制御プログラム |
US9639373B2 (en) | 2014-09-16 | 2017-05-02 | Ricoh Company, Ltd. | Reconfigurable embedded device, method of reconfiguring an embedded device and non-transitory recording medium therefor |
-
2002
- 2002-10-31 JP JP2002317276A patent/JP4030408B2/ja not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005354801A (ja) * | 2004-07-02 | 2005-12-22 | Giga-Byte Technology Co Ltd | 電気回路仕事周波数自動調整用交換式給電システム及び電気回路仕事周波数自動調整方法 |
US7415383B2 (en) | 2004-12-01 | 2008-08-19 | International Business Machines Corporation | Compiling method, apparatus, and program |
US7925471B2 (en) * | 2004-12-01 | 2011-04-12 | International Business Machines Corporation | Compiling method, apparatus, and program |
JP2008524744A (ja) * | 2004-12-21 | 2008-07-10 | パケット ディジタル | オンデマンド電力管理の方法及び機器 |
US8020015B2 (en) | 2004-12-21 | 2011-09-13 | Packet Digital | Method and apparatus for on-demand power management |
US8095818B2 (en) | 2004-12-21 | 2012-01-10 | Packet Digital | Method and apparatus for on-demand power management |
JP2008107944A (ja) * | 2006-10-24 | 2008-05-08 | Nec Electronics Corp | データ処理装置 |
JP4697805B2 (ja) * | 2006-10-24 | 2011-06-08 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
JP2010081752A (ja) * | 2008-09-26 | 2010-04-08 | Fujitsu Ltd | 電源制御システム、および電源制御方法 |
JP2015082321A (ja) * | 2013-10-24 | 2015-04-27 | 富士通株式会社 | 情報処理装置、負荷制御方法および負荷制御プログラム |
US9639373B2 (en) | 2014-09-16 | 2017-05-02 | Ricoh Company, Ltd. | Reconfigurable embedded device, method of reconfiguring an embedded device and non-transitory recording medium therefor |
Also Published As
Publication number | Publication date |
---|---|
JP4030408B2 (ja) | 2008-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4963715B2 (ja) | 電子機器、そのバッテリ使用可能時間の表示方法、およびコンピュータが実行可能なプログラム | |
US7562240B2 (en) | Apparatus and method for selecting between operating modes for a multi-core processor | |
JP5423362B2 (ja) | 情報処理端末およびその制御方法 | |
EP1830839B1 (en) | System and method for power management in mobile units | |
US6052791A (en) | Control method for a hard disk drive and a data processor reducing power consumption of the hard disk drive | |
JP2004152304A (ja) | Ac電源障害の場合にスタンバイ状態にあるパーソナルコンピュータの状態データを保持するためのシステムおよび方法 | |
US20010020940A1 (en) | Information processor and power control method therefor | |
KR101134743B1 (ko) | 휴대용 전자 기기의 배터리 전원 부족시의 비상 데이터송수신 장치 및 방법 | |
JP2014006619A (ja) | 携帯端末装置の制御方法、制御プログラム及び携帯端末装置 | |
JP2011120316A (ja) | 電子機器 | |
JP4030408B2 (ja) | 動作周波数制御システムおよび方法 | |
JP2004159382A (ja) | 電子機器 | |
JP4607545B2 (ja) | 情報処理装置および電力制御方法 | |
JP2012033044A (ja) | 情報処理装置及び電力制御方法 | |
CN110413098B (zh) | 一种控制方法及装置 | |
JP2002366252A (ja) | 動作周波数制御システム、携帯情報処理端末、動作周波数制御方法及びプログラム | |
JP7513062B2 (ja) | 無線通信装置、端末装置、無線通信システム、通信接続制御方法及びプログラム | |
WO2016198003A1 (zh) | 一种移动终端电源管理方法、装置和移动终端 | |
JPH11312029A (ja) | 電力管理装置 | |
JP2006153819A (ja) | バッテリーチェック装置及び方法 | |
CN107577479B (zh) | 电子装置及其半休眠控制方法 | |
JP2002182776A (ja) | 動作周波数制御システム及び動作周波数制御方法 | |
CN112448429B (zh) | 一种控制方法、终端及计算机存储介质 | |
JP4230585B2 (ja) | コンピュータシステムおよび省電力制御方法 | |
JP2002314711A (ja) | 携帯式小型電気機器 |
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 |