JP2002304232A - 演算処理システム及び演算処理制御方法、並びに記憶媒体 - Google Patents
演算処理システム及び演算処理制御方法、並びに記憶媒体Info
- Publication number
- JP2002304232A JP2002304232A JP2001104560A JP2001104560A JP2002304232A JP 2002304232 A JP2002304232 A JP 2002304232A JP 2001104560 A JP2001104560 A JP 2001104560A JP 2001104560 A JP2001104560 A JP 2001104560A JP 2002304232 A JP2002304232 A JP 2002304232A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- operating frequency
- power supply
- time
- supply voltage
- 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.)
- Pending
Links
Landscapes
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【課題】 応答時間に対する要求が課せられた処理を、
より低い消費電力で実行する。 【解決手段】 システムは、プロセッサに与える動作周
波数と電源電圧をシステム稼動中に変化させるハードウ
ェア機構を備える。電力マネージャは、待ち状態(キー
入力やマウスのクリックなどの入出力を待機する状態)
にあるときは、他の負荷を処理するのに必要充分な動作
周波数と電源電圧を設定する。待ち状態から脱してから
経過時間に応じて、動作周波数と電源電圧を変化させて
いくことで、プロセッサの消費電力を削減する。
より低い消費電力で実行する。 【解決手段】 システムは、プロセッサに与える動作周
波数と電源電圧をシステム稼動中に変化させるハードウ
ェア機構を備える。電力マネージャは、待ち状態(キー
入力やマウスのクリックなどの入出力を待機する状態)
にあるときは、他の負荷を処理するのに必要充分な動作
周波数と電源電圧を設定する。待ち状態から脱してから
経過時間に応じて、動作周波数と電源電圧を変化させて
いくことで、プロセッサの消費電力を削減する。
Description
【0001】
【発明の属する技術分野】本発明は、1以上のタスクを
同時に実行するタイプのプロセッサに関する電力削減技
術に係り、特に、応答時間に対する要求が課されたタス
クを含んだ1以上のタスクを実行するプロセッサに関す
る電力削減技術に関する。
同時に実行するタイプのプロセッサに関する電力削減技
術に係り、特に、応答時間に対する要求が課されたタス
クを含んだ1以上のタスクを実行するプロセッサに関す
る電力削減技術に関する。
【0002】更に詳しくは、本発明は、動作周波数と電
源電圧を変化させる機構を備えたプロセッサに関する電
力削減技術に係り、GUI(Graphical User Interfac
e)処理のように、あらかじめ実行開始時間や処理時間
が予測することができないタスクを実行時の動作周波数
と電源電圧を最適に設定することにより低消費電力化を
図るプロセッサに関する電力削減技術に関する。
源電圧を変化させる機構を備えたプロセッサに関する電
力削減技術に係り、GUI(Graphical User Interfac
e)処理のように、あらかじめ実行開始時間や処理時間
が予測することができないタスクを実行時の動作周波数
と電源電圧を最適に設定することにより低消費電力化を
図るプロセッサに関する電力削減技術に関する。
【0003】
【従来の技術】昨今のLSI(Large Scale Integratio
n)技術における革新的な進歩とも相俟って、各種の情
報処理機器や情報通信機器が開発され、市販されるよう
になってきた。この種の機器では、CPU(Central Pr
ocessing Unit)やその他のプロセッサが所定のプログ
ラム・コードを実行することによりさまざまな処理サー
ビスを提供するようになっている。
n)技術における革新的な進歩とも相俟って、各種の情
報処理機器や情報通信機器が開発され、市販されるよう
になってきた。この種の機器では、CPU(Central Pr
ocessing Unit)やその他のプロセッサが所定のプログ
ラム・コードを実行することによりさまざまな処理サー
ビスを提供するようになっている。
【0004】他方において、情報機器に関する消費電力
の削減が産業界における最重要課題の1つとされてい
る。これは、バッテリ駆動式の情報機器においてはバッ
テリ持続時間の延長に関わる問題だからである。また、
商用電源で無尽蔵に駆動することができる情報機器にお
いても、資源有限という社会生態学的な観点から省電力
化が推奨されている。
の削減が産業界における最重要課題の1つとされてい
る。これは、バッテリ駆動式の情報機器においてはバッ
テリ持続時間の延長に関わる問題だからである。また、
商用電源で無尽蔵に駆動することができる情報機器にお
いても、資源有限という社会生態学的な観点から省電力
化が推奨されている。
【0005】情報機器内では、そのメイン・コントロー
ラであるプロセッサの消費電力は、機器全体のそれに占
める割合は高い。言い換えれば、プロセッサの省電力化
は情報機器自体の省電力化にもつながる。一般には、プ
ロセッサは、動作周波数の増大に従って演算速度が向上
する一方で、その消費電力(さらには発熱量)が増大す
る傾向にある。
ラであるプロセッサの消費電力は、機器全体のそれに占
める割合は高い。言い換えれば、プロセッサの省電力化
は情報機器自体の省電力化にもつながる。一般には、プ
ロセッサは、動作周波数の増大に従って演算速度が向上
する一方で、その消費電力(さらには発熱量)が増大す
る傾向にある。
【0006】例えば、特開平11−194849号公報
には、消費電力を無用に増加させることなく所定の処理
時間に所定の処理動作を完了することができ、タスクの
処理容量が変化する場合でも設定作業が簡単となるデー
タ処理方法及び装置について開示している。
には、消費電力を無用に増加させることなく所定の処理
時間に所定の処理動作を完了することができ、タスクの
処理容量が変化する場合でも設定作業が簡単となるデー
タ処理方法及び装置について開示している。
【0007】同公報に開示されたデータ処理装置では、
マイクロコンピュータが各種の処理動作を実行する場合
の処理容量と処理時間を容量記憶手段と時間記憶手段と
に登録しておき、マイクロコンピュータが各種の処理動
作を実行する場合に対応する処理容量及び処理時間を選
出し、処理容量を処理時間で除算してマイクロコンピュ
ータの処理速度を算出して基準クロックの周波数を可変
としている。マイクロコンピュータの処理速度を処理容
量と処理時間に対応して可変するので、所定の処理動作
を所定の処理時間に確実に完了することができるととも
に、基準クロックの周波数を最適値に設定できるので、
データ処理装置における消費電力の無用な増加も防止す
ることができる。
マイクロコンピュータが各種の処理動作を実行する場合
の処理容量と処理時間を容量記憶手段と時間記憶手段と
に登録しておき、マイクロコンピュータが各種の処理動
作を実行する場合に対応する処理容量及び処理時間を選
出し、処理容量を処理時間で除算してマイクロコンピュ
ータの処理速度を算出して基準クロックの周波数を可変
としている。マイクロコンピュータの処理速度を処理容
量と処理時間に対応して可変するので、所定の処理動作
を所定の処理時間に確実に完了することができるととも
に、基準クロックの周波数を最適値に設定できるので、
データ処理装置における消費電力の無用な増加も防止す
ることができる。
【0008】しかしながら、同公報に開示されるデータ
処理方法及び装置では、プロセッサの動作クロック周波
数を変更するだけで消費電力の削減を図るものである。
言い換えれば、動作クロック周波数の削減によって、単
位時間当りの消費電力は低下するものの、各処理を完了
させるための所要時間が長くなり、この結果、総電力量
を削減する効果はあまり高くない。すなわち、プロセッ
サがアイドリング状態にあるときの消費電力量の範囲を
越えず、効果として不充分である。
処理方法及び装置では、プロセッサの動作クロック周波
数を変更するだけで消費電力の削減を図るものである。
言い換えれば、動作クロック周波数の削減によって、単
位時間当りの消費電力は低下するものの、各処理を完了
させるための所要時間が長くなり、この結果、総電力量
を削減する効果はあまり高くない。すなわち、プロセッ
サがアイドリング状態にあるときの消費電力量の範囲を
越えず、効果として不充分である。
【0009】また、同公報に開示されるデータ処理方法
及び装置は、各処理の処理タイミングがあらかじめ定ま
っており、且つ、各処理を中断することなく順次処理す
ることによってすべての処理を時間内に完了させること
が可能なことを前提とするものである。このため、ある
処理の実行を中断して、より緊急度が高い処理(例えば
リアルタイム処理)を行わせる必要があるシステムに対
しては適用することができない。
及び装置は、各処理の処理タイミングがあらかじめ定ま
っており、且つ、各処理を中断することなく順次処理す
ることによってすべての処理を時間内に完了させること
が可能なことを前提とするものである。このため、ある
処理の実行を中断して、より緊急度が高い処理(例えば
リアルタイム処理)を行わせる必要があるシステムに対
しては適用することができない。
【0010】また、特開2000−122747号公報
には、デジタル信号演算処理部にクロックを供給するク
ロック発生部を設けて、このクロック発生部からデジタ
ル信号演算処理部へ供給するクロック周波数を、デジタ
ル信号演算処理部での演算処理量に基づいて制御するこ
とによって消費電力を低減する制御装置及び方法につい
て開示されている。
には、デジタル信号演算処理部にクロックを供給するク
ロック発生部を設けて、このクロック発生部からデジタ
ル信号演算処理部へ供給するクロック周波数を、デジタ
ル信号演算処理部での演算処理量に基づいて制御するこ
とによって消費電力を低減する制御装置及び方法につい
て開示されている。
【0011】しかしながら、同公報に開示される制御装
置及び方法では、演算部の動作クロック周波数を変更す
るだけで消費電力の削減を図るものである。言い換えれ
ば、動作クロック周波数の削減によって、単位時間あた
りの消費電力は低下するものの、各処理を完了させるた
めの所要時間が長くなり、この結果、電力量の削減効果
は、演算部がアイドリング状態にあるときの消費電力量
の範囲を越えず、効果として不充分である。
置及び方法では、演算部の動作クロック周波数を変更す
るだけで消費電力の削減を図るものである。言い換えれ
ば、動作クロック周波数の削減によって、単位時間あた
りの消費電力は低下するものの、各処理を完了させるた
めの所要時間が長くなり、この結果、電力量の削減効果
は、演算部がアイドリング状態にあるときの消費電力量
の範囲を越えず、効果として不充分である。
【0012】また、同公報に開示される制御装置及び方
法では、アイドリング時間が占める割合から動作周波数
を算出するようになっている。ところが、アイドリング
時間が占める割合は時々刻々と変化するので、その変化
を予測することは極めて困難である。
法では、アイドリング時間が占める割合から動作周波数
を算出するようになっている。ところが、アイドリング
時間が占める割合は時々刻々と変化するので、その変化
を予測することは極めて困難である。
【0013】また、Takanori Okuma, Tohru Ishihara,
Hiroto Yasuura共著の論文"Real-Time Task Scheduling
for a Variable Voltage Processor"(IEEE 12th Inte
rnational Symposium on System Synthesis, November
1999)において提案されるSS及びSDなるスケジュー
リング手法では、システムの稼動前に、タスクの実行開
始時間が判っていることを前提としている。このため、
GUI(Graphical User Interface)処理のように、あ
らかじめ実行開始時間や処理時間が予測することができ
ない処理に対して適用することができないという問題が
ある。
Hiroto Yasuura共著の論文"Real-Time Task Scheduling
for a Variable Voltage Processor"(IEEE 12th Inte
rnational Symposium on System Synthesis, November
1999)において提案されるSS及びSDなるスケジュー
リング手法では、システムの稼動前に、タスクの実行開
始時間が判っていることを前提としている。このため、
GUI(Graphical User Interface)処理のように、あ
らかじめ実行開始時間や処理時間が予測することができ
ない処理に対して適用することができないという問題が
ある。
【0014】また、この論文で提案されているDDスケ
ジューリング手法は、GUI処理のように明確なデッド
ラインを持たない処理に対しては適用することができな
いという問題がある。
ジューリング手法は、GUI処理のように明確なデッド
ラインを持たない処理に対しては適用することができな
いという問題がある。
【0015】また、Yann-Hang Lee, C. M. Krishna共著
の論文"Voltage-Clock Scaling forLow Energy Consump
tion in Real-time Embedded Systems"(IEEE Sixth In
ternational Conference on Real-Time Computing Syst
ems and Applications, December 1999)において提案
されている"Task based static scheduling"なる手法
は、システムの稼動前にタスクの実行時間があらかじめ
判っていることを前提としている。このため、GUI処
理のように、あらかじめ実行時間や処理時間が予測でき
ない処理に対して適用することができないという問題が
ある。
の論文"Voltage-Clock Scaling forLow Energy Consump
tion in Real-time Embedded Systems"(IEEE Sixth In
ternational Conference on Real-Time Computing Syst
ems and Applications, December 1999)において提案
されている"Task based static scheduling"なる手法
は、システムの稼動前にタスクの実行時間があらかじめ
判っていることを前提としている。このため、GUI処
理のように、あらかじめ実行時間や処理時間が予測でき
ない処理に対して適用することができないという問題が
ある。
【0016】また、本出願人に既に譲渡されている、特
願2000−287882号明細書並びに特願2000
−287883号明細書には、動作周波数と電源電圧が
可変なタイプのプロセッサを含んだ演算処理システムに
おけるタスク実行の省電力スケジューリングについて提
案されている。
願2000−287882号明細書並びに特願2000
−287883号明細書には、動作周波数と電源電圧が
可変なタイプのプロセッサを含んだ演算処理システムに
おけるタスク実行の省電力スケジューリングについて提
案されている。
【0017】このうち、特願2000−287882号
明細書には、アプリケーションのリアルタイム要求に応
えつつプロセッサによる電力消費を削減することができ
る省電力スケジューリング手法について開示されてい
る。すなわち、プロセッサの動作周波数と電源電圧をオ
ペレーティング・システムの制御により変化させること
が可能なシステムにおいて、起動された周期リアルタイ
ム・タスク並びに非リアルタイム・タスクを遅滞なく処
理するために必要なプロセッサの動作周波数を適応的に
変化させるとともに、時々刻々と切り替わる動作周波数
に応じて最適なプロセッサ用電源電圧を決定していくこ
とで、プロセッサの消費電力の低減を実現する。
明細書には、アプリケーションのリアルタイム要求に応
えつつプロセッサによる電力消費を削減することができ
る省電力スケジューリング手法について開示されてい
る。すなわち、プロセッサの動作周波数と電源電圧をオ
ペレーティング・システムの制御により変化させること
が可能なシステムにおいて、起動された周期リアルタイ
ム・タスク並びに非リアルタイム・タスクを遅滞なく処
理するために必要なプロセッサの動作周波数を適応的に
変化させるとともに、時々刻々と切り替わる動作周波数
に応じて最適なプロセッサ用電源電圧を決定していくこ
とで、プロセッサの消費電力の低減を実現する。
【0018】また、特願2000−287883号明細
書には、アプリケーションのリアルタイム要求に応えつ
つプロセッサによる電力消費を削減することができるマ
ルチプロセッサ構成システムについて開示されている。
すなわち、動作周波数と電源電圧をオペレーティング・
システムの制御により動的に変化させることができるプ
ロセッサを複数備えたマルチプロセッサ構成システムに
おいて、各プロセッサ毎に、起動された各タスクを遅滞
なく処理するために必要な動作周波数を適応的に変化さ
せるとともに、時々刻々と切り替わる動作周波数に応じ
て最適な電源電圧を決定していくことで、各プロセッサ
並びにシステム全体の消費電力の低減を実現する。
書には、アプリケーションのリアルタイム要求に応えつ
つプロセッサによる電力消費を削減することができるマ
ルチプロセッサ構成システムについて開示されている。
すなわち、動作周波数と電源電圧をオペレーティング・
システムの制御により動的に変化させることができるプ
ロセッサを複数備えたマルチプロセッサ構成システムに
おいて、各プロセッサ毎に、起動された各タスクを遅滞
なく処理するために必要な動作周波数を適応的に変化さ
せるとともに、時々刻々と切り替わる動作周波数に応じ
て最適な電源電圧を決定していくことで、各プロセッサ
並びにシステム全体の消費電力の低減を実現する。
【0019】しかしながら、特願2000−28788
2号並びに特願2000−287883号はいずれも、
起動間隔と最大所要時間があらかじめ分っているリアル
タイム・タスクを対象とするものであり、GUI処理の
ように、あらかじめ実行開始時間や処理時間が予測する
ことができないタスクを実行中に、省電力スケジューリ
ングを行うものではない。
2号並びに特願2000−287883号はいずれも、
起動間隔と最大所要時間があらかじめ分っているリアル
タイム・タスクを対象とするものであり、GUI処理の
ように、あらかじめ実行開始時間や処理時間が予測する
ことができないタスクを実行中に、省電力スケジューリ
ングを行うものではない。
【0020】一般には、プロセッサは、動作周波数の増
大に従って演算速度が向上する一方で、消費電力(さら
には発熱量)が増大する傾向にある(前述)。また、プ
ロセッサの動作周波数とともにその電源電圧(言い換え
れば消費電力)をつり上げていかなければならない。
(但し、実際には、LSI製造プロセスの微細化によっ
て電源電圧の上限が制限されているので、電圧を上げる
ことによって周波数を上げることは行われない。)
大に従って演算速度が向上する一方で、消費電力(さら
には発熱量)が増大する傾向にある(前述)。また、プ
ロセッサの動作周波数とともにその電源電圧(言い換え
れば消費電力)をつり上げていかなければならない。
(但し、実際には、LSI製造プロセスの微細化によっ
て電源電圧の上限が制限されているので、電圧を上げる
ことによって周波数を上げることは行われない。)
【0021】プロセッサの動作周波数と電源電圧を動的
制御により変化させることが可能なシステムであれば、
起動された各タスクを遅滞なく処理するために必要な動
作周波数を適応的に変化させるとともに、時々刻々と切
り替わる動作周波数に応じて最適な電源電圧を決定して
いくことで、プロセッサの消費電力を低減することが可
能と思料される。
制御により変化させることが可能なシステムであれば、
起動された各タスクを遅滞なく処理するために必要な動
作周波数を適応的に変化させるとともに、時々刻々と切
り替わる動作周波数に応じて最適な電源電圧を決定して
いくことで、プロセッサの消費電力を低減することが可
能と思料される。
【0022】しかしながら、GUI処理のように、あら
かじめ実行開始時間や処理時間が予測することができな
いタスクを実行中に、動作周波数と電源電圧の設定によ
りプロセッサの低消費電力化を実現した従来技術は見当
たらない。
かじめ実行開始時間や処理時間が予測することができな
いタスクを実行中に、動作周波数と電源電圧の設定によ
りプロセッサの低消費電力化を実現した従来技術は見当
たらない。
【0023】
【発明が解決しようとする課題】本発明の目的は、応答
時間に対する要求が課されたタスクを含んだ1以上のタ
スクを実行するプロセッサに関する優れた電力削減技術
を提供することにある。
時間に対する要求が課されたタスクを含んだ1以上のタ
スクを実行するプロセッサに関する優れた電力削減技術
を提供することにある。
【0024】本発明の更なる目的は、動作周波数と電源
電圧を変化させる機構を備えたプロセッサに関する優れ
た電力削減技術を提供することにある。
電圧を変化させる機構を備えたプロセッサに関する優れ
た電力削減技術を提供することにある。
【0025】本発明の更なる目的は、GUI(Graphica
l User Interface)処理のように、あらかじめ実行開始
時間や処理時間が予測することができないタスクを実行
時の動作周波数と電源電圧を最適に設定することにより
低消費電力化を実現することができる、プロセッサに関
する優れた電力削減技術を提供することにある。
l User Interface)処理のように、あらかじめ実行開始
時間や処理時間が予測することができないタスクを実行
時の動作周波数と電源電圧を最適に設定することにより
低消費電力化を実現することができる、プロセッサに関
する優れた電力削減技術を提供することにある。
【0026】
【課題を解決するための手段及び作用】本発明は、上記
課題を参酌してなされたものであり、その第1の側面
は、応答時間に対する要求が課せられた処理タスクを実
行可能なプロセッサを含んだ演算処理システム又は演算
処理制御方法であって、前記プロセッサの稼動中の各時
点において、該応答時間に対する要求を満たすために充
分な前記プロセッサの動作周波数を決定する動作周波数
決定手段又はステップと、前記動作周波数決定手段又は
ステップによる決定結果に基づく動作周波数クロックを
生成して前記プロセッサに供給するプロセッサ・クロッ
ク生成手段又はステップと、を具備することを特徴とす
る演算処理システム又は演算処理制御方法である。
課題を参酌してなされたものであり、その第1の側面
は、応答時間に対する要求が課せられた処理タスクを実
行可能なプロセッサを含んだ演算処理システム又は演算
処理制御方法であって、前記プロセッサの稼動中の各時
点において、該応答時間に対する要求を満たすために充
分な前記プロセッサの動作周波数を決定する動作周波数
決定手段又はステップと、前記動作周波数決定手段又は
ステップによる決定結果に基づく動作周波数クロックを
生成して前記プロセッサに供給するプロセッサ・クロッ
ク生成手段又はステップと、を具備することを特徴とす
る演算処理システム又は演算処理制御方法である。
【0027】但し、ここで言う「システム」とは、複数
の装置(又は特定の機能を実現する機能モジュール)が
論理的に集合した物のことを言い、各装置や機能モジュ
ールが単一の筐体内にあるか否かは特に問わない。
の装置(又は特定の機能を実現する機能モジュール)が
論理的に集合した物のことを言い、各装置や機能モジュ
ールが単一の筐体内にあるか否かは特に問わない。
【0028】前記動作周波数決定手段は、応答時間に対
する要求が課せられた処理タスクが待ち状態にあるとき
は、前記プロセッサに課された他のタスクを処理するの
に充分な前記プロセッサの動作周波数を決定するように
する。また、処理タスクが待ち状態を脱してから所定時
間が経過したことに応じて前記プロセッサの動作周波数
を段階的に増大させるようにする。
する要求が課せられた処理タスクが待ち状態にあるとき
は、前記プロセッサに課された他のタスクを処理するの
に充分な前記プロセッサの動作周波数を決定するように
する。また、処理タスクが待ち状態を脱してから所定時
間が経過したことに応じて前記プロセッサの動作周波数
を段階的に増大させるようにする。
【0029】したがって、本発明の第1の側面に係る演
算処理システム又は演算処理制御方法によれば、処理タ
スクが待ち状態を脱したときを利用して、ユーザが感じ
る反応時間を増大させることなく(すなわち、ユーザの
使用感に悪影響を与えることなく)、タスク実行によっ
てプロセッサが消費する電力を好適に削減することがで
きる。
算処理システム又は演算処理制御方法によれば、処理タ
スクが待ち状態を脱したときを利用して、ユーザが感じ
る反応時間を増大させることなく(すなわち、ユーザの
使用感に悪影響を与えることなく)、タスク実行によっ
てプロセッサが消費する電力を好適に削減することがで
きる。
【0030】例えば、GUIアプリケーションの応答時
間は0.1秒程度で充分である。もし、これよりも早く
応答したとしても、ユーザのシステム使用感はほとんど
向上しない(体感されない)。通常であれば0.1秒以
下で実行できる処理を実行するときには、0.1秒程度
の比較的遅い応答速度で実行されるようにプロセッサの
動作周波数を制御することによって、ユーザの使用感に
悪影響を及ぼすことなく、システムの消費電力を削減す
ることができる。
間は0.1秒程度で充分である。もし、これよりも早く
応答したとしても、ユーザのシステム使用感はほとんど
向上しない(体感されない)。通常であれば0.1秒以
下で実行できる処理を実行するときには、0.1秒程度
の比較的遅い応答速度で実行されるようにプロセッサの
動作周波数を制御することによって、ユーザの使用感に
悪影響を及ぼすことなく、システムの消費電力を削減す
ることができる。
【0031】同様に、ディスク装置からのデータ読出し
要求実行時においても、ディスク装置側からの完了イベ
ントの通知を受けてからの経過時間に応じて、プロセッ
サの動作周波数を徐々に回復させることによって、ユー
ザの使用感に悪影響を与えないようにしながら、システ
ムの消費電力を削減することができる。
要求実行時においても、ディスク装置側からの完了イベ
ントの通知を受けてからの経過時間に応じて、プロセッ
サの動作周波数を徐々に回復させることによって、ユー
ザの使用感に悪影響を与えないようにしながら、システ
ムの消費電力を削減することができる。
【0032】また、ネットワーク・コネクションを介し
てデータ読み出しを依頼する場合においても、リモート
装置側からの完了イベントの通知を受けてからの経過時
間に応じて、プロセッサの動作周波数を徐々に回復させ
ることによって、ユーザの使用感に悪影響を与えないよ
うにしながら、システムの消費電力を削減することがで
きる。
てデータ読み出しを依頼する場合においても、リモート
装置側からの完了イベントの通知を受けてからの経過時
間に応じて、プロセッサの動作周波数を徐々に回復させ
ることによって、ユーザの使用感に悪影響を与えないよ
うにしながら、システムの消費電力を削減することがで
きる。
【0033】本発明の第1の側面に係る演算処理システ
ム又は演算処理方法は、前記動作周波数決定手段により
決定された動作周波数で前記プロセッサを駆動させるた
めに充分な前記プロセッサの電源電圧を決定する電源電
圧決定手段又はステップと、前記電源電圧決定手段又は
ステップによる決定結果に基づく電源電圧を生成して前
記プロセッサに供給するプロセッサ電源供給手段又はス
テップとをさらに備えていてもよい。
ム又は演算処理方法は、前記動作周波数決定手段により
決定された動作周波数で前記プロセッサを駆動させるた
めに充分な前記プロセッサの電源電圧を決定する電源電
圧決定手段又はステップと、前記電源電圧決定手段又は
ステップによる決定結果に基づく電源電圧を生成して前
記プロセッサに供給するプロセッサ電源供給手段又はス
テップとをさらに備えていてもよい。
【0034】一般に、プロセッサの動作周波数を増大さ
せるためには供給電源の電圧を吊り上げる必要がある。
プロセッサにおいて起動された各タスクを遅滞なく処理
するために必要な動作周波数を適応的に変化させるとと
もに、時々刻々と切り替わる動作周波数に応じて最適な
電源電圧を決定していくことで、プロセッサの消費電力
を効果的に低減することが可能となる。
せるためには供給電源の電圧を吊り上げる必要がある。
プロセッサにおいて起動された各タスクを遅滞なく処理
するために必要な動作周波数を適応的に変化させるとと
もに、時々刻々と切り替わる動作周波数に応じて最適な
電源電圧を決定していくことで、プロセッサの消費電力
を効果的に低減することが可能となる。
【0035】また、前記動作周波数決定手段又はステッ
プは、処理タスクが待ち状態を脱してから所定時間が経
過したことに応じて前記プロセッサの動作周波数を段階
的に増大させるようにしてもよい。
プは、処理タスクが待ち状態を脱してから所定時間が経
過したことに応じて前記プロセッサの動作周波数を段階
的に増大させるようにしてもよい。
【0036】あるいは、前記動作周波数決定手段又はス
テップは、処理タスクが待ち状態を脱してから所定時間
が経過するまでの期間に前記プロセッサの動作周波数を
連続的に増大させるようにしてもよい。
テップは、処理タスクが待ち状態を脱してから所定時間
が経過するまでの期間に前記プロセッサの動作周波数を
連続的に増大させるようにしてもよい。
【0037】また、本発明の第2の側面は、応答時間に
対する要求が課せられた処理タスクを実行可能なプロセ
ッサによる演算処理の制御をコンピュータ・システム上
で実行するように記述されたコンピュータ・ソフトウェ
アをコンピュータ可読形式で物理的に格納した記憶媒体
であって、前記コンピュータ・ソフトウェアは、前記プ
ロセッサの稼動中の各時点において、該応答時間に対す
る要求を満たすために充分な前記プロセッサの動作周波
数を決定する動作周波数決定ステップと、前記動作周波
数決定ステップによる決定結果に基づく動作周波数クロ
ックを生成して前記プロセッサに供給するプロセッサ・
クロック生成ステップと、を具備することを特徴とする
記憶媒体である。
対する要求が課せられた処理タスクを実行可能なプロセ
ッサによる演算処理の制御をコンピュータ・システム上
で実行するように記述されたコンピュータ・ソフトウェ
アをコンピュータ可読形式で物理的に格納した記憶媒体
であって、前記コンピュータ・ソフトウェアは、前記プ
ロセッサの稼動中の各時点において、該応答時間に対す
る要求を満たすために充分な前記プロセッサの動作周波
数を決定する動作周波数決定ステップと、前記動作周波
数決定ステップによる決定結果に基づく動作周波数クロ
ックを生成して前記プロセッサに供給するプロセッサ・
クロック生成ステップと、を具備することを特徴とする
記憶媒体である。
【0038】本発明の第2の側面に係る記憶媒体は、例
えば、様々なプログラム・コードを実行可能な汎用コン
ピュータ・システムに対して、コンピュータ・ソフトウ
ェアをコンピュータ可読な形式で提供する媒体である。
このような媒体は、例えば、CD(Compact Disc)やF
D(Floppy Disk)、MO(Magneto-Optical disc)な
どの着脱自在で可搬性の記憶媒体である。あるいは、ネ
ットワーク(ネットワークは無線、有線の区別を問わな
い)などの伝送媒体などを経由してコンピュータ・ソフ
トウェアを特定のコンピュータ・システムに提供するこ
とも技術的に可能である。
えば、様々なプログラム・コードを実行可能な汎用コン
ピュータ・システムに対して、コンピュータ・ソフトウ
ェアをコンピュータ可読な形式で提供する媒体である。
このような媒体は、例えば、CD(Compact Disc)やF
D(Floppy Disk)、MO(Magneto-Optical disc)な
どの着脱自在で可搬性の記憶媒体である。あるいは、ネ
ットワーク(ネットワークは無線、有線の区別を問わな
い)などの伝送媒体などを経由してコンピュータ・ソフ
トウェアを特定のコンピュータ・システムに提供するこ
とも技術的に可能である。
【0039】このような記憶媒体は、コンピュータ・シ
ステム上で所定のコンピュータ・ソフトウェアの機能を
実現するための、コンピュータ・ソフトウェアと記憶媒
体との構造上又は機能上の協働的関係を定義したもので
ある。換言すれば、本発明の第2の側面に係る記憶媒体
を介して所定のコンピュータ・ソフトウェアをコンピュ
ータ・システムにインストールすることによって、コン
ピュータ・システム上では協働的作用が発揮され、本発
明の第1の側面に係る演算処理システム及び演算処理制
御方法と同様の作用効果を得ることができる。
ステム上で所定のコンピュータ・ソフトウェアの機能を
実現するための、コンピュータ・ソフトウェアと記憶媒
体との構造上又は機能上の協働的関係を定義したもので
ある。換言すれば、本発明の第2の側面に係る記憶媒体
を介して所定のコンピュータ・ソフトウェアをコンピュ
ータ・システムにインストールすることによって、コン
ピュータ・システム上では協働的作用が発揮され、本発
明の第1の側面に係る演算処理システム及び演算処理制
御方法と同様の作用効果を得ることができる。
【0040】本発明のさらに他の目的、特徴や利点は、
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
後述する本発明の実施例や添付する図面に基づくより詳
細な説明によって明らかになるであろう。
【0041】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施例を詳解する。
の実施例を詳解する。
【0042】1.システム構成 図1には、本発明の実施に供される演算処理システム1
0のハードウェア構成を模式的に示している。同図に示
すように、演算処理システム10は、プロセッサ11
と、RAM(Random Access Memory)12と、ROM
(Read Only Memory)13と、周辺デバイス14と、タ
イマ15とを含んでいる。
0のハードウェア構成を模式的に示している。同図に示
すように、演算処理システム10は、プロセッサ11
と、RAM(Random Access Memory)12と、ROM
(Read Only Memory)13と、周辺デバイス14と、タ
イマ15とを含んでいる。
【0043】プロセッサ11は、演算処理システム10
のメイン・コントローラであり、オペレーティング・シ
ステム(OS)の制御下で、各種のプログラム・コード
を実行するようになっている。
のメイン・コントローラであり、オペレーティング・シ
ステム(OS)の制御下で、各種のプログラム・コード
を実行するようになっている。
【0044】オペレーティング・システムがプログラム
実行を管理・制御する単位は、一般に「タスク」と呼ば
れる。本実施例に係るプロセッサ11は、異なる周期で
動作する複数のタスクを同時に実行するマルチタスク機
構を備えているものとする。タスクには、次の周期の開
始までに実行を完了させる必要がある「周期リアルタイ
ム・タスク」と、このような実行完了時間に制約がない
「非リアルタイム・タスク」とに大別することができ
る。非リアルタイム・タスクには、応答時間に対する要
求が課せられたタスク、若しくは、GUI(Graphical
User Interface)処理のように、待ち状態を含んだり、
実行開始時間や処理時間が予測できない処理が含まれ
る。
実行を管理・制御する単位は、一般に「タスク」と呼ば
れる。本実施例に係るプロセッサ11は、異なる周期で
動作する複数のタスクを同時に実行するマルチタスク機
構を備えているものとする。タスクには、次の周期の開
始までに実行を完了させる必要がある「周期リアルタイ
ム・タスク」と、このような実行完了時間に制約がない
「非リアルタイム・タスク」とに大別することができ
る。非リアルタイム・タスクには、応答時間に対する要
求が課せられたタスク、若しくは、GUI(Graphical
User Interface)処理のように、待ち状態を含んだり、
実行開始時間や処理時間が予測できない処理が含まれ
る。
【0045】プロセッサ11は、バス16によって他の
機器類(後述)と相互接続されている。バス16上の各
機器にはそれぞれ固有のメモリ・アドレス又はI/Oア
ドレスが付与されており、プロセッサ11はこれらアド
レスを指定することによって所定の機器へのアクセスが
可能となっている。バス16は、アドレス・バス、デー
タ・バス、コントロール・バスを含む共通信号伝送路で
ある。
機器類(後述)と相互接続されている。バス16上の各
機器にはそれぞれ固有のメモリ・アドレス又はI/Oア
ドレスが付与されており、プロセッサ11はこれらアド
レスを指定することによって所定の機器へのアクセスが
可能となっている。バス16は、アドレス・バス、デー
タ・バス、コントロール・バスを含む共通信号伝送路で
ある。
【0046】RAM12は、書き込み可能なメモリであ
り、プロセッサ11において実行されるプログラム・コ
ードをロードしたり、実行プログラムの作業データを一
時格納するために使用される。プログラム・コードに
は、例えば、BIOS(BasicInput/Output System:基
本入出力システム)、周辺機器をハードウェア操作する
ためのデバイス・ドライバ、オペレーティング・システ
ム、アプリケーションなどが挙げられる。
り、プロセッサ11において実行されるプログラム・コ
ードをロードしたり、実行プログラムの作業データを一
時格納するために使用される。プログラム・コードに
は、例えば、BIOS(BasicInput/Output System:基
本入出力システム)、周辺機器をハードウェア操作する
ためのデバイス・ドライバ、オペレーティング・システ
ム、アプリケーションなどが挙げられる。
【0047】ROM13は、所定のコードやデータを恒
久的に記憶するための不揮発メモリであり、例えば、B
IOSや始動時の自己診断プログラム(Power On Self
Test:POST)などを格納している。
久的に記憶するための不揮発メモリであり、例えば、B
IOSや始動時の自己診断プログラム(Power On Self
Test:POST)などを格納している。
【0048】周辺デバイス14には、ディスプレイやプ
リンタのようなユーザ出力装置、キーボードやマウスの
ようなユーザ出力装置、ハード・ディスクやその他のメ
ディア・ドライブからなる外部記憶装置、ネットワーク
・インターフェース・カード(NIC)のような通信装
置が含まれる。
リンタのようなユーザ出力装置、キーボードやマウスの
ようなユーザ出力装置、ハード・ディスクやその他のメ
ディア・ドライブからなる外部記憶装置、ネットワーク
・インターフェース・カード(NIC)のような通信装
置が含まれる。
【0049】各周辺デバイスには、割り込みレベルが割
り当てられており、所定のイベント発生(例えばキーボ
ード入力やマウス・クリックなどのGUI処理や、ハー
ド・ディスクにおけるデータ転送の完了など)に応答し
て、割り込み要求信号線19を介してプロセッサ11に
通知することができる。プロセッサ11は、このような
割り込み要求に応答して、対応する割り込みハンドラを
実行する。この種の割り込み処理は、待ち状態を含んだ
り、実行開始時間や処理時間が予測できない処理であ
る。
り当てられており、所定のイベント発生(例えばキーボ
ード入力やマウス・クリックなどのGUI処理や、ハー
ド・ディスクにおけるデータ転送の完了など)に応答し
て、割り込み要求信号線19を介してプロセッサ11に
通知することができる。プロセッサ11は、このような
割り込み要求に応答して、対応する割り込みハンドラを
実行する。この種の割り込み処理は、待ち状態を含んだ
り、実行開始時間や処理時間が予測できない処理であ
る。
【0050】タイマ15は、タイマ信号を所定周期で発
生させる装置である。タイマ15にも割り込みレベルが
割り当てられており、割り込み要求信号線19を介して
プロセッサ11に対して周期的な割り込みを発生するよ
うになっている。(但し、周期の異なる複数の周期リア
ルタイム・タスクが存在する場合、タイマ信号は周期的
な割り込みにはならない。)
生させる装置である。タイマ15にも割り込みレベルが
割り当てられており、割り込み要求信号線19を介して
プロセッサ11に対して周期的な割り込みを発生するよ
うになっている。(但し、周期の異なる複数の周期リア
ルタイム・タスクが存在する場合、タイマ信号は周期的
な割り込みにはならない。)
【0051】上述したようなシステム10の各コンポー
ネントには、電源装置17からの電力が電源供給線18
を介して供給される。電源装置17は、例えばバッテリ
や商用AC電源で構成されるが、AC/DCアダプタや
DC/DCコンバータによって一定の電源電圧を供給す
ることができる。
ネントには、電源装置17からの電力が電源供給線18
を介して供給される。電源装置17は、例えばバッテリ
や商用AC電源で構成されるが、AC/DCアダプタや
DC/DCコンバータによって一定の電源電圧を供給す
ることができる。
【0052】図示の例では、プロセッサ11に対して
は、専用のDC/DC変換器21が配設されている。本
実施形態では、プロセッサ11は、オペレーティング・
システムの制御下で、プロセッサ用DC/DC変換器2
1からの供給電圧を設定する機構を備えている。
は、専用のDC/DC変換器21が配設されている。本
実施形態では、プロセッサ11は、オペレーティング・
システムの制御下で、プロセッサ用DC/DC変換器2
1からの供給電圧を設定する機構を備えている。
【0053】また、プロセッサ11は、プロセッサ・ク
ロック生成器22が発生する動作クロックを入力して、
その動作周波数に同期的に駆動する。一般には、動作周
波数の増大とともに、プロセッサ11のパフォーマンス
すなわち処理速度は向上するとともに、その消費電力も
増大する。本実施例では、プロセッサ11は、オペレー
ティング・システムの制御下で、プロセッサ・クロック
生成器22が生成するクロックの動作周波数を設定する
機構を備えている。
ロック生成器22が発生する動作クロックを入力して、
その動作周波数に同期的に駆動する。一般には、動作周
波数の増大とともに、プロセッサ11のパフォーマンス
すなわち処理速度は向上するとともに、その消費電力も
増大する。本実施例では、プロセッサ11は、オペレー
ティング・システムの制御下で、プロセッサ・クロック
生成器22が生成するクロックの動作周波数を設定する
機構を備えている。
【0054】なお、プロセッサ11に対する電源電圧と
動作周波数の双方をプロセッサ用DC/DC変換器21
とプロセッサ・クロック生成器22の各々によって動的
に制御する必要は必ずしもなく、いずれか一方の動作に
よっても本発明の効果を実現することができる。言い換
えれば、オペレーティング・システムは、プロセッサ1
1の電源電圧と動作周波数の双方を動的制御するのでは
なく、いずれか一方のみを制御する場合であっても、後
述する本発明の動作特性並びに効果を実現することがで
きる。また、電源電圧と動作周波数のいずれか一方のみ
を演算処理により設定し、他方はその設定に自動的に追
従するように構成してもよい(例えば、プロセッサ11
の周波数をオペレーティング・システムが設定すること
によって、その周波数で動作するために必要な最小の電
源電圧が自動的にプロセッサ11に供給されるように構
成してもよい)。
動作周波数の双方をプロセッサ用DC/DC変換器21
とプロセッサ・クロック生成器22の各々によって動的
に制御する必要は必ずしもなく、いずれか一方の動作に
よっても本発明の効果を実現することができる。言い換
えれば、オペレーティング・システムは、プロセッサ1
1の電源電圧と動作周波数の双方を動的制御するのでは
なく、いずれか一方のみを制御する場合であっても、後
述する本発明の動作特性並びに効果を実現することがで
きる。また、電源電圧と動作周波数のいずれか一方のみ
を演算処理により設定し、他方はその設定に自動的に追
従するように構成してもよい(例えば、プロセッサ11
の周波数をオペレーティング・システムが設定すること
によって、その周波数で動作するために必要な最小の電
源電圧が自動的にプロセッサ11に供給されるように構
成してもよい)。
【0055】プロセッサ11は、一般に、CMOS(Co
mplementary Metal Oxide semiconductor:相補性金属
酸化膜半導体)論理素子で構成される。CMOS論理素
子には、その遅延時間が電源電圧によって変化するとい
う特性がある。これは、プロセッサ11の動作周波数を
下げることによって、より低い電源電圧で回路を駆動す
ることが可能であることを意味する。また、電源電圧を
高めることによって、より高い動作周波数でプロセッサ
11を動作させることが可能であることも意味する。
mplementary Metal Oxide semiconductor:相補性金属
酸化膜半導体)論理素子で構成される。CMOS論理素
子には、その遅延時間が電源電圧によって変化するとい
う特性がある。これは、プロセッサ11の動作周波数を
下げることによって、より低い電源電圧で回路を駆動す
ることが可能であることを意味する。また、電源電圧を
高めることによって、より高い動作周波数でプロセッサ
11を動作させることが可能であることも意味する。
【0056】ところで、CMOS論理素子が消費する電
力は、単位時間当りのスイッチング回数(これはプロセ
ッサ11の動作周波数にほぼ比例する)に比例する。し
かし、プロセッサ11の処理能力はクロック周波数にほ
ぼ比例するため、単純に動作周波数を下げただけでは、
ある所定の計算を行うために必要な電力は削減できない
(何故ならば、単位時間当りの消費電力を削減すること
はできるが、その分だけ計算に要する時間が増大するた
め、結局、計算を完了させるまでに消費する電力量は変
わらないことになる)。
力は、単位時間当りのスイッチング回数(これはプロセ
ッサ11の動作周波数にほぼ比例する)に比例する。し
かし、プロセッサ11の処理能力はクロック周波数にほ
ぼ比例するため、単純に動作周波数を下げただけでは、
ある所定の計算を行うために必要な電力は削減できない
(何故ならば、単位時間当りの消費電力を削減すること
はできるが、その分だけ計算に要する時間が増大するた
め、結局、計算を完了させるまでに消費する電力量は変
わらないことになる)。
【0057】他方、動作周波数が下がることによって、
プロセッサ11が正常に動作可能な最低電源電圧は低下
する。さらに、プロセッサ11の消費電力は電源電圧の
2乗にほぼ比例する。したがって、プロセッサ11のク
ロック周波数を低下させるとともに電源電圧を低下させ
ることによって、ある計算に要する消費電力量を削減す
ることが可能である。
プロセッサ11が正常に動作可能な最低電源電圧は低下
する。さらに、プロセッサ11の消費電力は電源電圧の
2乗にほぼ比例する。したがって、プロセッサ11のク
ロック周波数を低下させるとともに電源電圧を低下させ
ることによって、ある計算に要する消費電力量を削減す
ることが可能である。
【0058】本実施形態では、プロセッサ11の動作ク
ロック周波数と電源電圧は、プロセッサ11が実行する
電力マネージャ(後述)によって、システムに課せられ
た性能要求を満たす範囲で、可能な限り低くなるように
制御される。電力マネージャは、例えば、オペレーティ
ング・システムの一部の機能として実装することができ
る。
ロック周波数と電源電圧は、プロセッサ11が実行する
電力マネージャ(後述)によって、システムに課せられ
た性能要求を満たす範囲で、可能な限り低くなるように
制御される。電力マネージャは、例えば、オペレーティ
ング・システムの一部の機能として実装することができ
る。
【0059】電力マネージャは、プロセッサ11への動
作クロック周波数と電源電圧のうちいずれか一方だけを
設定して、他方はその設定に自動的に追従するように構
成してもよい。例えば、電力マネージャがプロセッサ1
1の動作周波数だけを設定することによって、その周波
数で動作するために必要な最小の電源電圧が自動的に供
給されるように構成してもよい。
作クロック周波数と電源電圧のうちいずれか一方だけを
設定して、他方はその設定に自動的に追従するように構
成してもよい。例えば、電力マネージャがプロセッサ1
1の動作周波数だけを設定することによって、その周波
数で動作するために必要な最小の電源電圧が自動的に供
給されるように構成してもよい。
【0060】2.アプリケーション 本発明は、応答時間の対する要求が課された処理、ある
いは、待ち状態を含んだり、実行開始時間や処理時間が
予測できない処理を実行中のプロセッサ11の消費電力
を低減するように、その動作周波数や電源電圧の設定を
行うものである。以下では、応答時間の対する要求が課
された処理の例として、キーボードやマウスからのユー
ザ入力に応答して動作するGUIアプリケーションをと
り上げて説明する。
いは、待ち状態を含んだり、実行開始時間や処理時間が
予測できない処理を実行中のプロセッサ11の消費電力
を低減するように、その動作周波数や電源電圧の設定を
行うものである。以下では、応答時間の対する要求が課
された処理の例として、キーボードやマウスからのユー
ザ入力に応答して動作するGUIアプリケーションをと
り上げて説明する。
【0061】GUIアプリケーションの多くは、以下に
挙げるようなさまざまなイベントに逐次反応することに
よって処理を進めるように実装されている。すなわち、
挙げるようなさまざまなイベントに逐次反応することに
よって処理を進めるように実装されている。すなわち、
【0062】(1)ユーザが、キーボード内のあるキー
を押下操作したとき、あるいは押下していたキーを解放
した。 (2)マウス・ボタンが押された、又は解放された。 (3)マウス・ポインタが、ウィンドウ中のある領域内
に突入した、あるいはその領域から退出した。
を押下操作したとき、あるいは押下していたキーを解放
した。 (2)マウス・ボタンが押された、又は解放された。 (3)マウス・ポインタが、ウィンドウ中のある領域内
に突入した、あるいはその領域から退出した。
【0063】図2には、GUIフレームワーク、並びに
GUIアプリケーションの構成を模式的に示している。
GUIアプリケーションの構成を模式的に示している。
【0064】GUIフレームワークは、キーボードやマ
ウス、ディスプレイなどのようにGUI入出力を行う周
辺デバイスを制御する。これら周辺デバイス上で、「キ
ー入力された」、「マウス操作された」、「ディスプレ
イ表示が更新された」などのイベントが発生すると、G
UIフレームワークは、そのイベント・オブジェクトを
イベント・キューに送信する。
ウス、ディスプレイなどのようにGUI入出力を行う周
辺デバイスを制御する。これら周辺デバイス上で、「キ
ー入力された」、「マウス操作された」、「ディスプレ
イ表示が更新された」などのイベントが発生すると、G
UIフレームワークは、そのイベント・オブジェクトを
イベント・キューに送信する。
【0065】一方、GUIアプリケーションは、起動
後、アプリケーションの初期設定を行った後、イベント
・キューにイベント・オブジェクトが到着するまで待機す
る。すなわち、GUIフレームワークのイベント・キュ
ーに対してイベント待ち手続の呼出しを行う。
後、アプリケーションの初期設定を行った後、イベント
・キューにイベント・オブジェクトが到着するまで待機す
る。すなわち、GUIフレームワークのイベント・キュ
ーに対してイベント待ち手続の呼出しを行う。
【0066】アプリケーションが処理すべきイベント・
オブジェクトがイベント・キューに到着すると、次い
で、イベントの種類を特定して、各イベントに対応した
処理を実行する。
オブジェクトがイベント・キューに到着すると、次い
で、イベントの種類を特定して、各イベントに対応した
処理を実行する。
【0067】イベントの処理においては、必要に応じ
て、GUIフレームワーク内の描画部に対して表示の更
新を依頼することができる。描画部は、この依頼に応答
して、ディスプレイ上の該当ウィンドウの描画処理を行
う。
て、GUIフレームワーク内の描画部に対して表示の更
新を依頼することができる。描画部は、この依頼に応答
して、ディスプレイ上の該当ウィンドウの描画処理を行
う。
【0068】図2において、GUIフレームワークがイ
ベント到着によってGUIアプリケーションへ制御を移
行させてから、GUIアプリケーションがイベント・キ
ューにイベント・オブジェクトが到着するまで待つ処理
の実行を開始するまでの時間が、GUIアプリケーショ
ンの応答時間に相当する。
ベント到着によってGUIアプリケーションへ制御を移
行させてから、GUIアプリケーションがイベント・キ
ューにイベント・オブジェクトが到着するまで待つ処理
の実行を開始するまでの時間が、GUIアプリケーショ
ンの応答時間に相当する。
【0069】多くのアプリケーションにおいて、GUI
アプリケーションの応答時間は0.1秒程度で充分であ
る。もし、これよりも早く応答したとしても、ユーザの
システム使用感はほとんど向上しない(体感されな
い)。さらに、既に述べたように、プロセッサ11の動
作周波数を低下させることによって、同一の処理をより
低い電力消費量で実行することができる。
アプリケーションの応答時間は0.1秒程度で充分であ
る。もし、これよりも早く応答したとしても、ユーザの
システム使用感はほとんど向上しない(体感されな
い)。さらに、既に述べたように、プロセッサ11の動
作周波数を低下させることによって、同一の処理をより
低い電力消費量で実行することができる。
【0070】そこで、本実施形態においては、通常であ
れば0.1秒以下で実行できる処理を実行するときに
は、0.1秒程度の比較的遅い応答速度で実行されるよ
うにプロセッサ11の動作周波数と電源電圧を制御する
ようにした。このような制御を行うことによって、ユー
ザの使用感に悪影響を及ぼすことなく、システム10の
消費電力を削減することができる、という点を充分理解
されたい。
れば0.1秒以下で実行できる処理を実行するときに
は、0.1秒程度の比較的遅い応答速度で実行されるよ
うにプロセッサ11の動作周波数と電源電圧を制御する
ようにした。このような制御を行うことによって、ユー
ザの使用感に悪影響を及ぼすことなく、システム10の
消費電力を削減することができる、という点を充分理解
されたい。
【0071】例えば、システム10内でただ1つのタス
クが動作しており、且つ、それがGUI処理タスクだっ
た場合、イベントが発生してから一定の時間は、プロセ
ッサ11を低い動作周波数で動作させるが、その後(所
定時間経過後)、高い動作周波数で制御するようにし
て、イベント発生に伴う待ち状態からの再開時において
ユーザの使用感に悪影響を及ぼすことなく、プロセッサ
11の消費電力を削減することができる。
クが動作しており、且つ、それがGUI処理タスクだっ
た場合、イベントが発生してから一定の時間は、プロセ
ッサ11を低い動作周波数で動作させるが、その後(所
定時間経過後)、高い動作周波数で制御するようにし
て、イベント発生に伴う待ち状態からの再開時において
ユーザの使用感に悪影響を及ぼすことなく、プロセッサ
11の消費電力を削減することができる。
【0072】図3には、GUI処理タスク実行中におい
て、イベント発生時におけるプロセッサ11の動作周波
数の制御タイミング例を示している。同図に示す例で
は、プロセッサ11は、フル稼働するために必要な高レ
ベル要求値と、比較的遅い応答速度を満たすために最低
限必要な低レベル要求値という、2段階の動作周波数で
駆動することができるものとする。
て、イベント発生時におけるプロセッサ11の動作周波
数の制御タイミング例を示している。同図に示す例で
は、プロセッサ11は、フル稼働するために必要な高レ
ベル要求値と、比較的遅い応答速度を満たすために最低
限必要な低レベル要求値という、2段階の動作周波数で
駆動することができるものとする。
【0073】まず、GUIアプリケーションがユーザか
らのGUI入力を求めるイベント待ち状態に変位する
と、プロセッサ11の動作周波数を停止して、最大限に
低消費電力化を図る。
らのGUI入力を求めるイベント待ち状態に変位する
と、プロセッサ11の動作周波数を停止して、最大限に
低消費電力化を図る。
【0074】次いで、ユーザによるGUI入力が行わ
れ、イベントがGUIアプリケーションに到着すると、
待ち状態から脱して、一定期間(要求レベル変更時間)
は、比較的応答速度が遅い動作でもユーザの使用感に悪
影響を与えない。そこで、プロセッサ11に対して低レ
ベル要求値の動作周波数を供給して、低消費電力化を図
る。
れ、イベントがGUIアプリケーションに到着すると、
待ち状態から脱して、一定期間(要求レベル変更時間)
は、比較的応答速度が遅い動作でもユーザの使用感に悪
影響を与えない。そこで、プロセッサ11に対して低レ
ベル要求値の動作周波数を供給して、低消費電力化を図
る。
【0075】そして、要求レベル変更時間が経過する
と、応答速度が遅いままではユーザの使用感に悪影響を
及ぼし始めるので、プロセッサ11に対して高レベル要
求値の動作周波数を供給して、最速の応答速度に戻す。
と、応答速度が遅いままではユーザの使用感に悪影響を
及ぼし始めるので、プロセッサ11に対して高レベル要
求値の動作周波数を供給して、最速の応答速度に戻す。
【0076】プロセッサの動作周波数を低下させた場
合、従来のシステムで長い応答時間を要していた処理
は、さらに応答時間が長くなるという問題が生じる。こ
れに対し、本実施形態では、要求レベル変更時間を例え
ば0.1秒程度に設定することにより、応答の遅れは約
0.1秒以下になる。0.1秒の性能劣化は、ユーザの
使用感にほとんど悪影響を与えないので、問題とはなら
ない。
合、従来のシステムで長い応答時間を要していた処理
は、さらに応答時間が長くなるという問題が生じる。こ
れに対し、本実施形態では、要求レベル変更時間を例え
ば0.1秒程度に設定することにより、応答の遅れは約
0.1秒以下になる。0.1秒の性能劣化は、ユーザの
使用感にほとんど悪影響を与えないので、問題とはなら
ない。
【0077】図3に示す例では、システム10がイベン
ト待ち状態を脱出してからただ一度だけプロセッサ11
の動作周波数を変化させている。しかしながら、各処理
の計算時間が広くばらついているような場合には、動作
周波数が一段階の変化しかしなければ、満足の行く省電
力制御を実現できないことも考えられる。このような場
合のために、GUIアプリケーションへのイベント到着
からの経過時間に応じて多段階でプロセッサ11の動作
周波数を変化させることも有効であると思料される。
ト待ち状態を脱出してからただ一度だけプロセッサ11
の動作周波数を変化させている。しかしながら、各処理
の計算時間が広くばらついているような場合には、動作
周波数が一段階の変化しかしなければ、満足の行く省電
力制御を実現できないことも考えられる。このような場
合のために、GUIアプリケーションへのイベント到着
からの経過時間に応じて多段階でプロセッサ11の動作
周波数を変化させることも有効であると思料される。
【0078】図4には、GUI処理タスク実行中におい
て、イベント到着からの経過時間に応じて多段階でプロ
セッサ11の動作周波数を変化させる場合の制御タイミ
ング例を示している。同図に示す例では、プロセッサ1
1は、動作周波数が低い方から順に、要求値レベル1、
要求値レベル2、要求値レベル3という3段階のの動作
周波数で駆動することができるものとする。
て、イベント到着からの経過時間に応じて多段階でプロ
セッサ11の動作周波数を変化させる場合の制御タイミ
ング例を示している。同図に示す例では、プロセッサ1
1は、動作周波数が低い方から順に、要求値レベル1、
要求値レベル2、要求値レベル3という3段階のの動作
周波数で駆動することができるものとする。
【0079】まず、GUIアプリケーションがユーザか
らのGUI入力を求めるイベント待ち状態に変位する
と、プロセッサ11の動作周波数を停止して、最大限に
低消費電力化を図る。
らのGUI入力を求めるイベント待ち状態に変位する
と、プロセッサ11の動作周波数を停止して、最大限に
低消費電力化を図る。
【0080】次いで、ユーザによるGUI入力が行わ
れ、イベントがGUIアプリケーションに到着すると、
待ち状態から脱して、最初の要求レベル変更時間までの
期間は、要求値レベル1に相当する動作周波数をプロセ
ッサ11に供給して、応答速度が最も遅い状態で動作さ
せる。
れ、イベントがGUIアプリケーションに到着すると、
待ち状態から脱して、最初の要求レベル変更時間までの
期間は、要求値レベル1に相当する動作周波数をプロセ
ッサ11に供給して、応答速度が最も遅い状態で動作さ
せる。
【0081】次いで、最初の要求レベル変更時間が経過
すると、要求値レベル2に相当する動作周波数をプロセ
ッサ11に供給して、応答速度を少し高める。
すると、要求値レベル2に相当する動作周波数をプロセ
ッサ11に供給して、応答速度を少し高める。
【0082】さらに、2回目の要求レベル変更し時間が
経過すると、要求値レベル3に相当する動作周波数をプ
ロセッサ11に供給して、最速の応答速度に戻す。
経過すると、要求値レベル3に相当する動作周波数をプ
ロセッサ11に供給して、最速の応答速度に戻す。
【0083】図3及び図4に示す例では、システム10
がイベント待ち状態を脱出してからプロセッサ11の動
作周波数を段階的に変化させているが、イベント到着か
ら所定時間が経過するまでに動作周波数を最大に戻すま
での期間に動作周波数を変化させる態様はこれらに限定
されるものではない。例えば、イベント到着から所定時
間が経過するのでの間に、動作周波数を変化させる段階
を無限に増やし、連続的に変化させることも有効であ
る。
がイベント待ち状態を脱出してからプロセッサ11の動
作周波数を段階的に変化させているが、イベント到着か
ら所定時間が経過するまでに動作周波数を最大に戻すま
での期間に動作周波数を変化させる態様はこれらに限定
されるものではない。例えば、イベント到着から所定時
間が経過するのでの間に、動作周波数を変化させる段階
を無限に増やし、連続的に変化させることも有効であ
る。
【0084】図5には、GUI処理タスク実行中におい
て、イベント到着からの経過時間に応じてプロセッサ1
1の動作周波数を連続的に変化させる場合の制御タイミ
ング例を示している。同図に示す例では、プロセッサ1
1は、動作周波数を連続的に変化させて駆動することが
できるものとする。
て、イベント到着からの経過時間に応じてプロセッサ1
1の動作周波数を連続的に変化させる場合の制御タイミ
ング例を示している。同図に示す例では、プロセッサ1
1は、動作周波数を連続的に変化させて駆動することが
できるものとする。
【0085】まず、GUIアプリケーションがユーザか
らのGUI入力を求めるイベント待ち状態に変位する
と、プロセッサ11の動作周波数を停止して、最大限に
低消費電力化を図る。
らのGUI入力を求めるイベント待ち状態に変位する
と、プロセッサ11の動作周波数を停止して、最大限に
低消費電力化を図る。
【0086】次いで、ユーザによるGUI入力が行わ
れ、イベントがGUIアプリケーションに到着すると、
待ち状態から脱して、最初の要求レベル変更時間までの
期間は、プロセッサ11の動作周波数を要求レベル1ま
で連続的に変化させる。
れ、イベントがGUIアプリケーションに到着すると、
待ち状態から脱して、最初の要求レベル変更時間までの
期間は、プロセッサ11の動作周波数を要求レベル1ま
で連続的に変化させる。
【0087】次いで、最初の要求レベル変更時間から2
回目の要求レベル変更時間までの期間中は、プロセッサ
11の動作周波数を要求レベル1から要求レベル2まで
連続的に変化させる。
回目の要求レベル変更時間までの期間中は、プロセッサ
11の動作周波数を要求レベル1から要求レベル2まで
連続的に変化させる。
【0088】そして、2回目の要求レベル変更器官を経
過した後は、所定時間内に、プロセッサ11の動作周波
数を要求レベル2から要求レベル3まで、連続的に変化
させて、最速の応答速度に戻す。
過した後は、所定時間内に、プロセッサ11の動作周波
数を要求レベル2から要求レベル3まで、連続的に変化
させて、最速の応答速度に戻す。
【0089】3.他の実施形態 これまでは、GUIアプリケーション実行時を例にとっ
て、プロセッサ11の省電力制御について説明してきた
が、本発明の要旨は、GUIアプリケーションへの適用
に限定されるものではなく、一般に、応答時間に対する
要求があり、且つ、あるイベントに反応して処理を行う
アプリケーション全般に対して適用することができる。
て、プロセッサ11の省電力制御について説明してきた
が、本発明の要旨は、GUIアプリケーションへの適用
に限定されるものではなく、一般に、応答時間に対する
要求があり、且つ、あるイベントに反応して処理を行う
アプリケーション全般に対して適用することができる。
【0090】本発明の他の実施形態として、ハード・デ
ィスクなどのディスク装置(あるいはその他のタイプの
外部記憶装置)からのデータ到着待ち状態における適用
例を挙げることができる。
ィスクなどのディスク装置(あるいはその他のタイプの
外部記憶装置)からのデータ到着待ち状態における適用
例を挙げることができる。
【0091】プロセッサ11がディスク装置から要求デ
ータが到着するまで待ち状態に陥り、その後、転送デー
タを基に画面表示を行う処理を繰り返すアプリケーショ
ンを実行する場合を例にとって、図6を参照しながら説
明する。
ータが到着するまで待ち状態に陥り、その後、転送デー
タを基に画面表示を行う処理を繰り返すアプリケーショ
ンを実行する場合を例にとって、図6を参照しながら説
明する。
【0092】この場合、アプリケーション・プログラム
は、オペレーティング・システム(又は、OS内のファ
イル・マネージャ)に対して、ディスク装置からのデー
タ読出しを依頼する。
は、オペレーティング・システム(又は、OS内のファ
イル・マネージャ)に対して、ディスク装置からのデー
タ読出しを依頼する。
【0093】オペレーティング・システム(又はファイ
ル・マネージャ)は、該当するディスク装置に対してデ
ータ読出し命令を発行する。オペレーティング・システ
ムとディスク装置の間には所定のディスク・ドライバ
(図示しない)などのソフトウェアが介在していてもよ
い。
ル・マネージャ)は、該当するディスク装置に対してデ
ータ読出し命令を発行する。オペレーティング・システ
ムとディスク装置の間には所定のディスク・ドライバ
(図示しない)などのソフトウェアが介在していてもよ
い。
【0094】このデータ読出し要求を発行した後、プロ
セッサ11はイベント待ち状態に陥り、動作周波数を停
止させる。
セッサ11はイベント待ち状態に陥り、動作周波数を停
止させる。
【0095】その後、ディスク装置が要求されたデータ
の読出しを完了すると、オペレーティング・システムに
対して完了イベントを通知する。オペレーティング・シ
ステムは、さらに要求元アプリケーションに対して完了
イベントを通知する。
の読出しを完了すると、オペレーティング・システムに
対して完了イベントを通知する。オペレーティング・シ
ステムは、さらに要求元アプリケーションに対して完了
イベントを通知する。
【0096】この完了イベントは、GUIアプリケーシ
ョンへの適用例における「イベント到着」に相当する。
したがって、この完了イベントの通知を受けてからの経
過時間に応じて、例えば図3〜図5に示したような形式
で、プロセッサ11の動作周波数を徐々に回復させるこ
とができる。この結果、ユーザの使用感に悪影響を与え
ないようにしながら、システム10の消費電力を削減す
ることができる。
ョンへの適用例における「イベント到着」に相当する。
したがって、この完了イベントの通知を受けてからの経
過時間に応じて、例えば図3〜図5に示したような形式
で、プロセッサ11の動作周波数を徐々に回復させるこ
とができる。この結果、ユーザの使用感に悪影響を与え
ないようにしながら、システム10の消費電力を削減す
ることができる。
【0097】アプリケーション・プログラムは、オペレ
ーティング・システムを経由して受け取った読出しデー
タを基に、ディスプレイに読出し結果を表示することが
できる。この際、GUIフレームワーク(前述)が介在
してもよい。
ーティング・システムを経由して受け取った読出しデー
タを基に、ディスプレイに読出し結果を表示することが
できる。この際、GUIフレームワーク(前述)が介在
してもよい。
【0098】また、本発明の他の実施形態として、ネッ
トワーク・コネクションを介してデータ入出力を行うア
プリケーションに対する適用例を挙げることができる。
トワーク・コネクションを介してデータ入出力を行うア
プリケーションに対する適用例を挙げることができる。
【0099】プロセッサ11がネットワーク・コネクシ
ョンを介して要求データが到着するまで待ち状態に陥
り、その後、転送データを基に画面表示を行う処理を繰
り返すアプリケーションを実行する場合を例にとって、
図7を参照しながら説明する。
ョンを介して要求データが到着するまで待ち状態に陥
り、その後、転送データを基に画面表示を行う処理を繰
り返すアプリケーションを実行する場合を例にとって、
図7を参照しながら説明する。
【0100】この場合、アプリケーション・プログラム
は、オペレーティング・システム(又は、通信プロトコ
ル・ソフトウェア)に対して、ネットワーク・コネクショ
ンを介した(リモート・ディスクからの)データ読出し
を依頼する。
は、オペレーティング・システム(又は、通信プロトコ
ル・ソフトウェア)に対して、ネットワーク・コネクショ
ンを介した(リモート・ディスクからの)データ読出し
を依頼する。
【0101】オペレーティング・システム(又は通信プ
ロトコル・ソフトウェア)は、該当するリモート・ディス
クに対してデータ読出し命令を発行する。
ロトコル・ソフトウェア)は、該当するリモート・ディス
クに対してデータ読出し命令を発行する。
【0102】このデータ読出し要求を発行した後、プロ
セッサ11はイベント待ち状態に陥り、動作周波数を停
止させる。
セッサ11はイベント待ち状態に陥り、動作周波数を停
止させる。
【0103】その後、リモート・ディスクが要求された
データの読出しを完了すると、オペレーティング・シス
テムに対して完了イベントを通知する。オペレーティン
グ・システムは、さらに要求元アプリケーションに対し
て完了イベントを通知する。
データの読出しを完了すると、オペレーティング・シス
テムに対して完了イベントを通知する。オペレーティン
グ・システムは、さらに要求元アプリケーションに対し
て完了イベントを通知する。
【0104】この完了イベントは、GUIアプリケーシ
ョンへの適用例における「イベント到着」に相当する。
したがって、この完了イベントの通知を受けてからの経
過時間に応じて、例えば図3〜図5に示したような形式
で、プロセッサ11の動作周波数を徐々に回復させるこ
とができる。この結果、ユーザの使用感に悪影響を与え
ないようにしながら、システム10の消費電力を削減す
ることができる。
ョンへの適用例における「イベント到着」に相当する。
したがって、この完了イベントの通知を受けてからの経
過時間に応じて、例えば図3〜図5に示したような形式
で、プロセッサ11の動作周波数を徐々に回復させるこ
とができる。この結果、ユーザの使用感に悪影響を与え
ないようにしながら、システム10の消費電力を削減す
ることができる。
【0105】アプリケーション・プログラムは、オペレ
ーティング・システムを経由して受け取った読出しデー
タを基に、ディスプレイに読出し結果を表示することが
できる。この際、GUIフレームワーク(前述)が介在
してもよい。また、アプリケーションは、ネットワーク
経由で、データ読出し先に結果を送信する。
ーティング・システムを経由して受け取った読出しデー
タを基に、ディスプレイに読出し結果を表示することが
できる。この際、GUIフレームワーク(前述)が介在
してもよい。また、アプリケーションは、ネットワーク
経由で、データ読出し先に結果を送信する。
【0106】4.ソフトウェア構成 図3〜図5に示したようなプロセッサ11の動作周波数
制御による電力管理は、例えば、オペレーティング・シ
ステムの1つの機能として実装することができる。以下
では、オペレーティング・システム内の当該機能モジュ
ールのことを、「電力マネージャ」と呼ぶことにする。
制御による電力管理は、例えば、オペレーティング・シ
ステムの1つの機能として実装することができる。以下
では、オペレーティング・システム内の当該機能モジュ
ールのことを、「電力マネージャ」と呼ぶことにする。
【0107】図8には、図3に示したように、イベント
到着以後1段階でプロセッサ11の動作周波数を回復さ
せる場合の電力マネージャのソフトウェア構成を模式的
に示している。
到着以後1段階でプロセッサ11の動作周波数を回復さ
せる場合の電力マネージャのソフトウェア構成を模式的
に示している。
【0108】図8に示すように、電力マネージャは、各
タスク毎に1つずつ、フレームワーク部とタイマを用意
する。各タスクは、以下の3種類の変数を保持してい
る。これらの変数の持つ意味は、図3を参照しながら既
に説明した通りである。
タスク毎に1つずつ、フレームワーク部とタイマを用意
する。各タスクは、以下の3種類の変数を保持してい
る。これらの変数の持つ意味は、図3を参照しながら既
に説明した通りである。
【0109】(1)低レベル要求値(値域は[0,1.
0]) (2)高レベル要求値(値域は[0,1.0]) (3)要求レベル変更時間
0]) (2)高レベル要求値(値域は[0,1.0]) (3)要求レベル変更時間
【0110】図8に示す例では、フレームワーク部は、
以下の手順で動作する。
以下の手順で動作する。
【0111】ステップ1:タスクが「イベント・キュー
にイベント・オブジェクトが到着するまで待つ」処理の
実行開始をフレームワーク部に依頼したとき(手順P
1)、電力マネージャに対して、このタスクがプロセッ
サ11の動作周波数に関してまったく要求を行っていな
いことを通知する(手順P2)。また、タイマが動作中
だった場合には、それを停止させる。
にイベント・オブジェクトが到着するまで待つ」処理の
実行開始をフレームワーク部に依頼したとき(手順P
1)、電力マネージャに対して、このタスクがプロセッ
サ11の動作周波数に関してまったく要求を行っていな
いことを通知する(手順P2)。また、タイマが動作中
だった場合には、それを停止させる。
【0112】ステップ2:イベント・キューにイベント
が到着したとき(手順P3)、タスクがプロセッサ11
の動作周波数に対して低レベルな要求を行っていること
を通知して(手順P4)、タイマを始動させる(手順P
5)。また、対応するアプリケーションにイベントの到
着を通知する(手順P6)。タイマは、始動してから要
求レベル変更時間が経過したときに、電力マネージャに
対して、このタスクが高レベルな要求を行っていること
を通知する(手順P7)。
が到着したとき(手順P3)、タスクがプロセッサ11
の動作周波数に対して低レベルな要求を行っていること
を通知して(手順P4)、タイマを始動させる(手順P
5)。また、対応するアプリケーションにイベントの到
着を通知する(手順P6)。タイマは、始動してから要
求レベル変更時間が経過したときに、電力マネージャに
対して、このタスクが高レベルな要求を行っていること
を通知する(手順P7)。
【0113】また、図9には、図4に示したように、イ
ベント到着以後1段階でプロセッサ11の動作周波数を
回復させる場合のソフトウェア構成を模式的に示してい
る。
ベント到着以後1段階でプロセッサ11の動作周波数を
回復させる場合のソフトウェア構成を模式的に示してい
る。
【0114】図9に示すように、電力マネージャは、各
タスク毎に以下の4種類の変数を用意する。これらの変
数の意味は、以下に示す通りである。
タスク毎に以下の4種類の変数を用意する。これらの変
数の意味は、以下に示す通りである。
【0115】(1)要求値段階番号 現在、プロセッサ11の動作周波数が何段階目に達して
いるかを保持する変数である。例えば、図4に示す例で
は、「2.イベントの到着」直後から「3.最初の要求
値変更時間が経過」直前までは、この変数の値は1であ
る。その後、要求値の変更が行われる度に、要求値段階
番号は1ずつ加算される。また、要求が発生していない
(すなわち、タスクがイベント待ち状態にある)とき
は、値0をとる。
いるかを保持する変数である。例えば、図4に示す例で
は、「2.イベントの到着」直後から「3.最初の要求
値変更時間が経過」直前までは、この変数の値は1であ
る。その後、要求値の変更が行われる度に、要求値段階
番号は1ずつ加算される。また、要求が発生していない
(すなわち、タスクがイベント待ち状態にある)とき
は、値0をとる。
【0116】(2)要求値配列 要求値配列のn番目の要素には、変数「要求値段階番
号」が値nをとるときの要求値が格納されている。
号」が値nをとるときの要求値が格納されている。
【0117】(3)要求値変更時間配列 要求値変更時間配列のn番目の要素には、変数「要求値
段階番号」が値nをとり、電力マネージャに対して要求
「要求値配列[n]」が設定されている期間の長さが格
納されている。この時間が経過したならば、次の段階の
要求値が設定されることになる。但し、以下に述べる変
数「段階数」を越えてnが増加することはない。
段階番号」が値nをとり、電力マネージャに対して要求
「要求値配列[n]」が設定されている期間の長さが格
納されている。この時間が経過したならば、次の段階の
要求値が設定されることになる。但し、以下に述べる変
数「段階数」を越えてnが増加することはない。
【0118】(4)段階数 段階数を保持する変数である。
【0119】図9に示す例では、フレームワーク部は、
以下の手順で動作する。
以下の手順で動作する。
【0120】ステップ1:タスクが「イベント・キュー
にイベント・オブジェクトが到着するまで待つ」処理の
実行開始をフレームワーク部に依頼したとき(手順P1
1)、電力マネージャに対して、このタスクがプロセッ
サ11の動作周波数に関してまったく要求を行っていな
いことを通知する(手順P12)。また、タイマが動作
中だった場合には、それを停止させる。さらに、フレー
ムワーク部の要求値段階番号に0を代入する。
にイベント・オブジェクトが到着するまで待つ」処理の
実行開始をフレームワーク部に依頼したとき(手順P1
1)、電力マネージャに対して、このタスクがプロセッ
サ11の動作周波数に関してまったく要求を行っていな
いことを通知する(手順P12)。また、タイマが動作
中だった場合には、それを停止させる。さらに、フレー
ムワーク部の要求値段階番号に0を代入する。
【0121】ステップ2:イベント・キューにイベント
が到着したとき(手順P13)、要求値段階番号に1を
代入する(又は、1だけ増分する)。そして、第1段階
(又は、次の段階)の要求値を電力マネージャに設定し
て(手順P14)、タイマを始動させる(手順P1
5)。また、対応するアプリケーションにイベントの到
着を通知する(手順P16)。タイマは、要求値変更時
間配列の先頭の要素が示す時間が経過したとき、電力マ
ネージャに対して、このタスクが次の段階の要求を行っ
ていることを通知する(手順P17)。これによって、
要求値段階番号の更新と、この段階番号に対応する要求
値の設定、及び、タイマの再設定が行われる。
が到着したとき(手順P13)、要求値段階番号に1を
代入する(又は、1だけ増分する)。そして、第1段階
(又は、次の段階)の要求値を電力マネージャに設定し
て(手順P14)、タイマを始動させる(手順P1
5)。また、対応するアプリケーションにイベントの到
着を通知する(手順P16)。タイマは、要求値変更時
間配列の先頭の要素が示す時間が経過したとき、電力マ
ネージャに対して、このタスクが次の段階の要求を行っ
ていることを通知する(手順P17)。これによって、
要求値段階番号の更新と、この段階番号に対応する要求
値の設定、及び、タイマの再設定が行われる。
【0122】5.電力マネージャ マルチタスク環境下でも本発明を好適に実現するため
に、電力マネージャは、複数のタスクの性能要求を統合
し、プロセッサ11の適切な動作周波数、及び電源電圧
を決定する必要がある。この項では、その決定処理を行
う方法について説明する。
に、電力マネージャは、複数のタスクの性能要求を統合
し、プロセッサ11の適切な動作周波数、及び電源電圧
を決定する必要がある。この項では、その決定処理を行
う方法について説明する。
【0123】本実施形態では、プロセッサ11は、以下
の3種類のタスクを扱うことができるものとする。
の3種類のタスクを扱うことができるものとする。
【0124】(1)リアルタイム・タスク リアルタイム・タスクは、ある定められた周期で起動さ
れ、且つ、次の周期の開始までに実行を完了させる必要
があるタスクのことである。但し、各リアルタイム・タ
スクの周期は区々である。
れ、且つ、次の周期の開始までに実行を完了させる必要
があるタスクのことである。但し、各リアルタイム・タ
スクの周期は区々である。
【0125】(2)高応答性タスク 応答時間の対する要求が課された処理、あるいは、待ち
状態を含んだり、実行開始時間や処理時間が予測できな
い処理を行うタスクである。高応答性タスクは、キーボ
ードやマウスなどのユーザ入力操作をはじめとしたさま
ざまなイベントに応答して実行される。
状態を含んだり、実行開始時間や処理時間が予測できな
い処理を行うタスクである。高応答性タスクは、キーボ
ードやマウスなどのユーザ入力操作をはじめとしたさま
ざまなイベントに応答して実行される。
【0126】(3)その他のタスク
【0127】本実施形態では、電力マネージャは、動作
中のすべてのリアルタイム・タスクと、その他のタスク
を考慮して、負荷の変化に応じて、プロセッサ11の適
切な動作周波数を常に計算する。この処理自体は、例え
ば、本出願人に既に譲渡されている特願2000−28
7882号明細書に開示されている(起動された周期リ
アルタイム・タスク並びに非リアルタイム・タスクを遅
滞なく処理するために必要なプロセッサの動作周波数を
適応的に変化させるとともに、時々刻々と切り替わる動
作周波数に応じて最適なプロセッサ用電源電圧を決定し
ていくことで、プロセッサの消費電力を低減する)。そ
して、その計算結果が変数「リアルタイム・タスク、そ
の他のタスクの要求値」に格納される。
中のすべてのリアルタイム・タスクと、その他のタスク
を考慮して、負荷の変化に応じて、プロセッサ11の適
切な動作周波数を常に計算する。この処理自体は、例え
ば、本出願人に既に譲渡されている特願2000−28
7882号明細書に開示されている(起動された周期リ
アルタイム・タスク並びに非リアルタイム・タスクを遅
滞なく処理するために必要なプロセッサの動作周波数を
適応的に変化させるとともに、時々刻々と切り替わる動
作周波数に応じて最適なプロセッサ用電源電圧を決定し
ていくことで、プロセッサの消費電力を低減する)。そ
して、その計算結果が変数「リアルタイム・タスク、そ
の他のタスクの要求値」に格納される。
【0128】リアルタイム・タスクは、その性質上、他
のタスクよりも優先的に実行する必要がある。すなわ
ち、実行可能なリアルタイム・タスクが存在するときに
は、必ずそれらが実行されることが保証されているもの
とする。
のタスクよりも優先的に実行する必要がある。すなわ
ち、実行可能なリアルタイム・タスクが存在するときに
は、必ずそれらが実行されることが保証されているもの
とする。
【0129】動作中の高応答性タスクの要求値は、フレ
ームワーク部を経由して電力マネージャへと通知される
(例えば、図8中の手順P2,P4,P7)。この通知
が行われる度に(すなわち、高応答性タスクの要求が変
化する度に)、電力マネージャは以下の値を計算して、
これをプロセッサ11の動作周波数として設定する。
ームワーク部を経由して電力マネージャへと通知される
(例えば、図8中の手順P2,P4,P7)。この通知
が行われる度に(すなわち、高応答性タスクの要求が変
化する度に)、電力マネージャは以下の値を計算して、
これをプロセッサ11の動作周波数として設定する。
【0130】
【数1】
【0131】[追補]以上、特定の実施例を参照しなが
ら、本発明について詳解してきた。しかしながら、本発
明の要旨を逸脱しない範囲で当業者が該実施例の修正や
代用を成し得ることは自明である。すなわち、例示とい
う形態で本発明を開示してきたのであり、限定的に解釈
されるべきではない。本発明の要旨を判断するために
は、冒頭に記載した特許請求の範囲の欄を参酌すべきで
ある。
ら、本発明について詳解してきた。しかしながら、本発
明の要旨を逸脱しない範囲で当業者が該実施例の修正や
代用を成し得ることは自明である。すなわち、例示とい
う形態で本発明を開示してきたのであり、限定的に解釈
されるべきではない。本発明の要旨を判断するために
は、冒頭に記載した特許請求の範囲の欄を参酌すべきで
ある。
【0132】
【発明の効果】以上詳記したように、本発明によれば、
応答時間に対する要求が課されたタスクを含んだ1以上
のタスクを実行するプロセッサに関する優れた電力削減
技術を提供することができる。
応答時間に対する要求が課されたタスクを含んだ1以上
のタスクを実行するプロセッサに関する優れた電力削減
技術を提供することができる。
【0133】また、本発明によれば、動作周波数と電源
電圧を変化させる機構を備えたプロセッサに関する優れ
た電力削減技術を提供することができる。
電圧を変化させる機構を備えたプロセッサに関する優れ
た電力削減技術を提供することができる。
【0134】また、本発明によれば、GUI(Graphica
l User Interface)処理のように、あらかじめ実行開始
時間や処理時間が予測することができないタスクを実行
時の動作周波数と電源電圧を最適に設定することにより
低消費電力化を実現することができる、プロセッサに関
する優れた電力削減技術を提供することができる。
l User Interface)処理のように、あらかじめ実行開始
時間や処理時間が予測することができないタスクを実行
時の動作周波数と電源電圧を最適に設定することにより
低消費電力化を実現することができる、プロセッサに関
する優れた電力削減技術を提供することができる。
【0135】また、本発明によれば、ユーザが感じる反
応時間を増大させることなく(すなわち、ユーザの使用
感に悪影響を与えることなく)、GUIアプリケーショ
ンやネットワーク・アプリケーションなどの実行によっ
てプロセッサが消費する電力を好適に削減することがで
きる。また、プロセッサの消費電力が低減されることに
より、その発熱量も抑制することができる。
応時間を増大させることなく(すなわち、ユーザの使用
感に悪影響を与えることなく)、GUIアプリケーショ
ンやネットワーク・アプリケーションなどの実行によっ
てプロセッサが消費する電力を好適に削減することがで
きる。また、プロセッサの消費電力が低減されることに
より、その発熱量も抑制することができる。
【図1】本発明の実施に供される演算処理システム10
のハードウェア構成を模式的に示した図である。
のハードウェア構成を模式的に示した図である。
【図2】GUIフレームワーク、並びにGUIアプリケ
ーションの構成を模式的に示した図である。
ーションの構成を模式的に示した図である。
【図3】GUI処理タスク実行中において、イベント発
生時におけるプロセッサ11の動作周波数の制御タイミ
ング例を示した図である。
生時におけるプロセッサ11の動作周波数の制御タイミ
ング例を示した図である。
【図4】GUI処理タスク実行中において、イベント発
生時におけるプロセッサ11の動作周波数の制御タイミ
ングの他の例を示した図である。
生時におけるプロセッサ11の動作周波数の制御タイミ
ングの他の例を示した図である。
【図5】GUI処理タスク実行中において、イベント発
生時におけるプロセッサ11の動作周波数の制御タイミ
ングの他の例を示した図である。
生時におけるプロセッサ11の動作周波数の制御タイミ
ングの他の例を示した図である。
【図6】ディスク装置から要求データが到着するまで待
ち状態に陥り、その後、転送データを基に画面表示を行
う処理を繰り返すアプリケーションを実行する場合にお
ける、本発明の適用例を模式的に示した図である。
ち状態に陥り、その後、転送データを基に画面表示を行
う処理を繰り返すアプリケーションを実行する場合にお
ける、本発明の適用例を模式的に示した図である。
【図7】ネットワーク・コネクションを介してデータ入
出力を行うアプリケーションに対する本発明の適用例を
模式的に示した図である。
出力を行うアプリケーションに対する本発明の適用例を
模式的に示した図である。
【図8】図3に示したように、イベント到着以後、1段
階でプロセッサ11の動作周波数を回復させる場合の電
力マネージャのソフトウェア構成を模式的に示した図で
ある。
階でプロセッサ11の動作周波数を回復させる場合の電
力マネージャのソフトウェア構成を模式的に示した図で
ある。
【図9】図4に示したように、イベント到着以後、多段
階でプロセッサ11の動作周波数を回復させる場合の電
力マネージャのソフトウェア構成を模式的に示した図で
ある。
階でプロセッサ11の動作周波数を回復させる場合の電
力マネージャのソフトウェア構成を模式的に示した図で
ある。
10…演算処理システム 11…プロセッサ 12…RAM 13…ROM 14…周辺デバイス 15…タイマ 16…システム・バス 17…電源装置 18…電源供給線 19…割り込み要求線 21…プロセッサ用DC/DC変換器 22…プロセッサ・クロック生成器
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B011 EA01 LL02 LL13 5B033 AA06 AA15 BC01 5B079 BA01 BC01 5B098 FF03 GA02 GA04
Claims (15)
- 【請求項1】応答時間に対する要求が課せられた処理タ
スクを実行可能なプロセッサを含んだ演算処理システム
であって、 前記プロセッサの稼動中の各時点において、該応答時間
に対する要求を満たすために充分な前記プロセッサの動
作周波数を決定する動作周波数決定手段と、 前記動作周波数決定手段による決定結果に基づく動作周
波数クロックを生成して前記プロセッサに供給するプロ
セッサ・クロック生成手段と、を具備することを特徴と
する演算処理システム。 - 【請求項2】前記動作周波数決定手段により決定された
動作周波数で前記プロセッサを駆動させるために充分な
前記プロセッサの電源電圧を決定する電源電圧決定手段
と、 前記電源電圧決定手段による決定結果に基づく電源電圧
を生成して前記プロセッサに供給するプロセッサ電源供
給手段と、をさらに備えることを特徴とする請求項1に
記載の演算処理システム。 - 【請求項3】前記動作周波数決定手段は、処理タスクが
待ち状態を脱してからの経過時間に応じて前記プロセッ
サの動作周波数を決定する、ことを特徴とする請求項1
に記載の演算処理システム。 - 【請求項4】前記動作周波数決定手段は、処理タスクが
待ち状態を脱してから所定時間が経過したことに応じて
前記プロセッサの動作周波数を段階的に増大させる、こ
とを特徴とする請求項1に記載の演算処理システム。 - 【請求項5】前記動作周波数決定手段は、処理タスクが
待ち状態を脱してから所定時間が経過するまでの期間に
前記プロセッサの動作周波数を連続的に増大させる、こ
とを特徴とする請求項1に記載の演算処理システム。 - 【請求項6】前記プロセッサは、応答時間に対する要求
が課せられた処理タスクを含んだ1以上のタスクを並行
して実行することが可能であり、 前記動作周波数決定手段は、応答時間に対する要求が課
せられた処理タスクが待ち状態にあるときは、前記プロ
セッサに課された他のタスクを処理するのに充分な前記
プロセッサの動作周波数を決定する、ことを特徴とする
請求項1に記載の演算処理システム。 - 【請求項7】応答時間に対する要求が課せられた処理タ
スクを実行可能なプロセッサによる演算処理を制御する
演算処理制御方法であって、 前記プロセッサの稼動中の各時点において、該応答時間
に対する要求を満たすために充分な前記プロセッサの動
作周波数を決定する動作周波数決定ステップと、 前記動作周波数決定ステップによる決定結果に基づく動
作周波数クロックを生成して前記プロセッサに供給する
プロセッサ・クロック生成ステップと、を具備すること
を特徴とする演算処理制御方法。 - 【請求項8】前記動作周波数決定ステップにより決定さ
れた動作周波数で前記プロセッサを駆動させるために充
分な前記プロセッサの電源電圧を決定する電源電圧決定
ステップと、 前記電源電圧決定ステップによる決定結果に基づく電源
電圧を生成して前記プロセッサに供給するプロセッサ電
源供給ステップと、をさらに備えることを特徴とする請
求項7に記載の演算処理制御方法。 - 【請求項9】前記動作周波数決定ステップでは、処理タ
スクが待ち状態を脱してからの経過時間に応じて前記プ
ロセッサの動作周波数を決定する、ことを特徴とする請
求項7に記載の演算処理制御方法。 - 【請求項10】前記動作周波数決定ステップでは、処理
タスクが待ち状態を脱してから所定時間が経過したこと
に応じて前記プロセッサの動作周波数を段階的に増大さ
せる、ことを特徴とする請求項7に記載の演算処理制御
方法。 - 【請求項11】前記動作周波数決定ステップでは、処理
タスクが待ち状態を脱してから所定時間が経過するまで
の期間に前記プロセッサの動作周波数を連続的に増大さ
せる、ことを特徴とする請求項7に記載の演算処理制御
方法。 - 【請求項12】前記プロセッサは、応答時間に対する要
求が課せられた処理タスクを含んだ1以上のタスクを並
行して実行することが可能であり、 前記動作周波数決定ステップでは、応答時間に対する要
求が課せられた処理タスクが待ち状態にあるときは、前
記プロセッサに課された他のタスクを処理するのに充分
な前記プロセッサの動作周波数を決定する、ことを特徴
とする請求項7に記載の演算処理制御方法。 - 【請求項13】応答時間に対する要求が課せられた処理
タスクを実行可能なプロセッサによる演算処理の制御を
コンピュータ・システム上で実行するように記述された
コンピュータ・ソフトウェアをコンピュータ可読形式で
物理的に格納した記憶媒体であって、前記コンピュータ
・ソフトウェアは、 前記プロセッサの稼動中の各時点において、該応答時間
に対する要求を満たすために充分な前記プロセッサの動
作周波数を決定する動作周波数決定ステップと、 前記動作周波数決定ステップによる決定結果に基づく動
作周波数クロックを生成して前記プロセッサに供給する
プロセッサ・クロック生成ステップと、を具備すること
を特徴とする記憶媒体。 - 【請求項14】前記動作周波数決定ステップでは、処理
タスクが待ち状態を脱してから所定時間が経過するまで
の期間に前記プロセッサの動作周波数を連続的に増大さ
せる、ことを特徴とする請求項13に記載の記憶媒体。 - 【請求項15】前記プロセッサは、応答時間に対する要
求が課せられた処理タスクを含んだ1以上のタスクを並
行して実行することが可能であり、 前記動作周波数決定ステップでは、応答時間に対する要
求が課せられた処理タスクが待ち状態にあるときは、前
記プロセッサに課された他のタスクを処理するのに充分
な前記プロセッサの動作周波数を決定する、ことを特徴
とする請求項13に記載の記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001104560A JP2002304232A (ja) | 2001-04-03 | 2001-04-03 | 演算処理システム及び演算処理制御方法、並びに記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001104560A JP2002304232A (ja) | 2001-04-03 | 2001-04-03 | 演算処理システム及び演算処理制御方法、並びに記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002304232A true JP2002304232A (ja) | 2002-10-18 |
Family
ID=18957399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001104560A Pending JP2002304232A (ja) | 2001-04-03 | 2001-04-03 | 演算処理システム及び演算処理制御方法、並びに記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002304232A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220609A (ja) * | 2003-01-13 | 2004-08-05 | Arm Ltd | データ処理性能制御装置及び方法 |
EP1615134A2 (en) | 2004-07-05 | 2006-01-11 | Sony Corporation | System and method for distributing processing among a plurality of processors based on information regarding the temperature of each processor |
US7225346B2 (en) | 2003-04-22 | 2007-05-29 | Lenovo Singapore Pte. Ltd | Information processor, program, storage medium, and control method |
JP2008192040A (ja) * | 2007-02-07 | 2008-08-21 | Nec Corp | 半導体集積回路及び動作条件制御方法 |
US8112754B2 (en) | 2007-09-11 | 2012-02-07 | Hitachi, Ltd. | Controlling body-bias voltage and clock frequency in a multiprocessor system for processing tasks |
JP2013516710A (ja) * | 2010-01-11 | 2013-05-13 | クアルコム,インコーポレイテッド | 中央処理装置内のデータをサンプリングするシステムおよび方法 |
WO2013114935A1 (ja) | 2012-02-02 | 2013-08-08 | シャープ株式会社 | 抑止装置、抑止装置の制御方法、被制御装置、電子機器、制御プログラム、および記録媒体 |
WO2023277467A1 (ko) * | 2021-07-02 | 2023-01-05 | 삼성전자 주식회사 | 전력 관리 집적 회로를 포함하는 전자 장치 및 그 운용 방법 |
-
2001
- 2001-04-03 JP JP2001104560A patent/JP2002304232A/ja active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220609A (ja) * | 2003-01-13 | 2004-08-05 | Arm Ltd | データ処理性能制御装置及び方法 |
US7600141B2 (en) | 2003-01-13 | 2009-10-06 | Arm Limited | Data processing performance control |
US7225346B2 (en) | 2003-04-22 | 2007-05-29 | Lenovo Singapore Pte. Ltd | Information processor, program, storage medium, and control method |
US8086880B2 (en) | 2004-07-05 | 2011-12-27 | Sony Corporation | Information processing apparatus, information processing method, and computer program |
EP1615134A2 (en) | 2004-07-05 | 2006-01-11 | Sony Corporation | System and method for distributing processing among a plurality of processors based on information regarding the temperature of each processor |
US7536229B2 (en) | 2004-07-05 | 2009-05-19 | Sony Corporation | Information processing apparatus, information processing method, and computer program |
JP2008192040A (ja) * | 2007-02-07 | 2008-08-21 | Nec Corp | 半導体集積回路及び動作条件制御方法 |
US8112754B2 (en) | 2007-09-11 | 2012-02-07 | Hitachi, Ltd. | Controlling body-bias voltage and clock frequency in a multiprocessor system for processing tasks |
JP2013516710A (ja) * | 2010-01-11 | 2013-05-13 | クアルコム,インコーポレイテッド | 中央処理装置内のデータをサンプリングするシステムおよび方法 |
KR101499303B1 (ko) * | 2010-01-11 | 2015-03-05 | 퀄컴 인코포레이티드 | 중앙 처리 유닛 내의 데이터를 샘플링하는 시스템 및 방법 |
WO2013114935A1 (ja) | 2012-02-02 | 2013-08-08 | シャープ株式会社 | 抑止装置、抑止装置の制御方法、被制御装置、電子機器、制御プログラム、および記録媒体 |
US9569382B2 (en) | 2012-02-02 | 2017-02-14 | Sharp Kabushiki Kaisha | Inhibition device, method for controlling inhibition device, device under control, electronic equipment, and computer readable storage medium |
WO2023277467A1 (ko) * | 2021-07-02 | 2023-01-05 | 삼성전자 주식회사 | 전력 관리 집적 회로를 포함하는 전자 장치 및 그 운용 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7849463B2 (en) | Dynamically variable idle time thread scheduling | |
US7137117B2 (en) | Dynamically variable idle time thread scheduling | |
JP2002099432A (ja) | 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体 | |
US10649935B2 (en) | Deferred inter-processor interrupts | |
JP2002099433A (ja) | 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体 | |
US7272730B1 (en) | Application-driven method and apparatus for limiting power consumption in a processor-controlled hardware platform | |
US9329671B2 (en) | Power-efficient inter processor communication scheduling | |
JP3803418B2 (ja) | コンピュータ・システムの電力を管理する方法およびそのコンピュータ・システム | |
EP2227727B1 (en) | Data processor performance prediction | |
JP4123640B2 (ja) | 情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体 | |
US7334138B2 (en) | Windows-driven power management for peripheral devices in a computer system | |
JP2886491B2 (ja) | 情報処理システム | |
KR101551321B1 (ko) | 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템 | |
JP2002215597A (ja) | マルチプロセッサ装置 | |
JPH07230347A (ja) | Scsiディスクドライブパワーダウン装置 | |
JP2002099436A (ja) | コンピュータシステムおよびそのレジューム処理方法 | |
EP1510908B1 (en) | Processor resource power management | |
TW202101211A (zh) | 中斷處理系統與中斷處理方法 | |
JP2002304232A (ja) | 演算処理システム及び演算処理制御方法、並びに記憶媒体 | |
US5771390A (en) | System and method for cascading from a power managed suspend state to a suspend-to-disk state in a computer system | |
JP2002007316A (ja) | 低消費電力コンピュータシステム | |
US6766461B1 (en) | Status switching method of an information apparatus to ensure an operating status when the apparatus is liable to receive vibration or shock | |
JP2002082743A (ja) | 電子機器及び電子機器制御プログラムを記憶した記憶媒体 | |
WO2022039744A1 (en) | Temperature control of computing device | |
JPH0594226A (ja) | クロツク切替え方式 |