JPH11353052A - コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ - Google Patents
コンピュータ内のプロセッサの動作速度制御方法及びコンピュータInfo
- Publication number
- JPH11353052A JPH11353052A JP10138465A JP13846598A JPH11353052A JP H11353052 A JPH11353052 A JP H11353052A JP 10138465 A JP10138465 A JP 10138465A JP 13846598 A JP13846598 A JP 13846598A JP H11353052 A JPH11353052 A JP H11353052A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- value
- operation speed
- index
- changing
- 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
- 238000000034 method Methods 0.000 title claims description 64
- 230000008859 change Effects 0.000 claims description 52
- 230000007423 decrease Effects 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 40
- 230000008569 process Effects 0.000 description 20
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
Abstract
ユーザ・モードの命令数及び単位時間当たりのプロセッ
サの総実行命令数を用いる、プロセッサの動作速度制御
方法を提供すること。 【解決手段】コンピュータのパフォーマンス指標の一つ
としてユーザ・モードの実行命令数Iuを、消費電力指
標の一つとして総実行命令数Itを用いる。これらのパ
ラメータは、エネルギー指標Eと、E∝It/Iuという
関係を有している。パフォーマンス指標の値をユーザ指
定の消費電力指標範囲において増大させる、又はエネル
ギー指標Eの値を減少させるように、CPUの動作速度
(動作周波数)を増減する。これにより、省電力とパフ
ォーマンスのバランスをとったパワーマネージメント処
理を実施することができる。
Description
ける省電力技術に関し、より詳しくは、プロセッサの動
作速度(又は動作周波数)を変更する方法に関する。
より消費電力を減少させる技術は多数ある。例えば、特
開平9−237132号公報は、CPUの負荷状態、バ
ッテリの残量、CPUの発熱温度状態に従って、クロッ
ク周波数の変更を指示し、これらのシステムの状況に応
じてクロック周波数を適正値に設定することを開示して
いる。本公報においてCPUの負荷状態は、OSに付属
するドライバソフトウエアにより、ある一定時間でのC
PU12のアイドル状態の回数から判断される。すなわ
ち、システムコントローラは、CPUがI/O又はメモ
リをアクセスするごとにビジー状態を示すフラグがセッ
トされるため、このフラグのセット回数に基づいてアイ
ドル状態の回数を認識してCPUの負荷状態を検出す
る。
国特許出願第395335号1995年2月28日出願
の対応日本特許出願)は、CPUのアクティビティ及び
温度レベルのリアルタイムサンプルに基づいてCPUが
休止できるかをモニターが監視し、休止できればハード
ウエアセレクタがCPUのクロック時間を減少し、CP
UがアクティブであればCPUを前の高速クロックレベ
ルへ戻す、ポータブルコンピュータ用リアルタイム省電
力及び熱管理装置を開示している。モニターはコンピュ
ータの性能レベルを調整しCPUアクティビティ及び温
度のリアルタイムサンプリングに応答して省電力及び温
度管理を実施する。
国特許出願第010135号1996年1月17日出願
の対応特許出願)は、ポータブルコンピュータのCPU
の動的動作特性を検出して活動レベルを予測し、電力節
約や電力管理を動的に行うため、CPUが第1クロック
で動作中に少なくとも1つの動的CPU動作特性を検出
し、このCPU動作特性がこの特性に関連する所定の設
定点に対して所定の関係を確立するか(設定点割り込み
条件が存在するか)判断し、設定点割り込み条件が存在
する場合には、第1クロックを変更して所定の設定点を
調整することを開示している。また、命令の数を数えて
その種類を決定することにより、入出力がほとんどない
計算指向モードにCPUが入るかどうかを決定する、と
いう事項も開示している。
は、コンピュータのパフォーマンスに関する指標(パフ
ォーマンス指標と呼ぶ)と消費電力に関する指標(消費
電力指標と呼ぶ)を参照し、プロセッサの動作速度を制
御する全てのアルゴリズムが開示されているわけではな
い。また、消費電力指標の値に対するパフォーマンス指
標の値の比で表されるエネルギー指標を参照する、プロ
セッサの動作速度制御のアルゴリズムは開示されていな
い。
参照してプロセッサの動作速度を制御する新規な方法を
提供することが目的である。この際、パフォーマンス指
標に加えて消費電力指標を参照するようにしてもよい。
サの動作速度制御方法を提供することが目的である。
時間当たりにプロセッサにより実行されたユーザ・モー
ドの命令数を用いる、プロセッサの動作速度制御方法を
提供することが目的である。
たりのプロセッサの総実行命令数を用いる、プロセッサ
の動作速度制御方法を提供することも目的である。
コンピュータにおけるプロセッサの動作速度を制御する
方法であって、第1所定期間における第1パフォーマン
ス指標の値を測定するステップと、プロセッサの動作速
度を変更するステップと、第2所定期間における第2パ
フォーマンス指標の値を測定するステップと、第1及び
第2パフォーマンス指標の値を参照して、プロセッサの
動作速度を変更する変更ステップとを含む。このように
パフォーマンス指標の値を動作速度変更の前後において
測定し、その測定結果を用いるようにすれば、パフォー
マンス指標の変化傾向に従って、例えば所定の条件でパ
フォーマンスをなるべく増大させるようにプロセッサの
動作速度を変更できる。なお、動作速度は、動作周波数
とほぼ同義であるが、実際の周波数を上下できない場合
には、動作期間と非動作期間を設け、その割合を制御す
ることにより、実質的な動作速度又は動作周波数を変更
する。
の値を測定するステップと、消費電力指標の値に基づ
き、プロセッサの動作速度を変更するステップとをさら
に含むようにすることも可能である。例えば、消費電力
指標の値により動作周波数を設定することも可能であ
る。
ンス指標及び消費電力指標の値を測定するステップと、
パフォーマンス指標の値と消費電力指標の値との比を参
照して、プロセッサの動作速度の変更方針を切り換える
ステップと、変更方針を参照して、プロセッサの動作速
度を変更する変更ステップとを含む。先に述べたエネル
ギー指標又はその逆数を用いて、プロセッサの動作速度
を変更するものである。変更方針は、例えばエネルギー
指標の変化率が大きい場合に、動作速度変更処理を最初
から実施し直す場合、又はエネルギー指標の逆数を所定
値にて区分し、それらの区分ごとに定義された動作速度
変更処理を実施するようにする場合等がある。
マンス指標及び消費電力指標の値を測定するステップ
と、パフォーマンス指標及び消費電力指標の値から、エ
ネルギー指標の値を計算するステップと、エネルギー指
標の値を減少させるように、プロセッサの動作速度を変
更するステップとを含む。エネルギー指標をより小さく
することは、より省電力で且つパフォーマンスも高い
(パフォーマンスの犠牲が小さい)ことを意味するの
で、より効率的なパワーマネージメントが行われること
となる。
令数を用いる本発明の第4の態様は、第1所定期間にお
ける、実行されたユーザ・モード命令数Iuをカウント
するステップと、Iuを参照して、プロセッサの動作速
度を変更する変更ステップとを含む。ユーザ・モードの
実行命令数は、パフォーマンス指標の1つの例であっ
て、ユーザ・モードの実行命令数を多く実行すれば、ユ
ーザから見てタスク・パフォーマンスが高くなる。よっ
て、このユーザ・モード実行命令数を多くするように動
作周波数を変更する。但し、動作周波数を上げてもユー
ザ・モード実行命令数がそれに見合う程常に増加するわ
けではない。
ウントし、再度変更ステップを実施してもい。これによ
り、動作速度の変更の効果をフィードバックすることが
できる。
ユーザ・モード命令数Iu2をカウントするステップと、
IuからIu2への変化率が所定値より大きい場合、プロ
セッサの動作速度を所定値に設定するステップとを含む
ようにしてもよい。これにより、プロセッサが実行して
いるタスクの種類の変更を検出する。
カウントするステップをさらに含むようにすることもで
きる。この総実行命令数は、消費電力指標の一つであ
り、このカウント値を用いて動作速度を制御することも
可能である。総実行命令数の割にはユーザ・モード実行
命令数が少ない場合もありうる。この場合には、ユーザ
のタスクはあまり実行されていないことになるので、ユ
ーザから見たタスク・パフォーマンスという点では動作
速度の変更の余地がある。
じにして、ItとIuの比を参照して、動作速度の変更制
御モード又は変更制御フローを切り換えるステップを実
行してもよい。例えば、ItとIuの比をもって、ユーザ
命令指向のモードとシステム命令指向のモードを分ける
ことも、またItとIuの比の変化率等で変化制御フロー
を切り換えたりすることもできる。
更し、さらに変更後の状態で再度I tとIuをカウントし
て、動作周波数変更の効果をフィードバックすることも
できる。
ザ・モード命令数Iuをカウントするステップと、所定
期間における総実行命令数Itをカウントするステップ
と、ItとIuの比を参照して、プロセッサの動作速度を
変更する変更ステップとを含むようにすることもでき
る。その際には、動作速度の変更方針を切り換えるステ
ップと、変更方針を参照して、プロセッサの動作速度を
変更するステップを含むようにすることも可能である。
で説明したが、それぞれの処理を実施する電子回路や、
その他の装置を用いて本発明を実施することもできる。
特に、ItとIuとをカウントする回路はプロセッサに内
蔵される場合もある。また、本発明で必要な各ステップ
を実施するプログラムを作成することも可能である。こ
のプログラムは、自身でIt及びIuのカウントをせず、
専用の回路にてカウントされた値を読み出して、その値
に基づき動作速度変更の設定を行うようにすることもで
きる。プログラムは、記憶装置に記憶されており、流通
段階においては、CD−ROMやフロッピー・ディスク
などの記憶媒体に格納されていることもある。
するコンピュータ1の構成例を示す。コンピュータ1の
ハードウエア部分は、CPU(Central Processing Uni
t)3と、クロック発振器9と、コントローラ11と、
センサ13を含む。なお、センサには、温度センサや、
電流計測器、電力計測器等が考えられる。センサ13
は、他で必要な情報を取得できる場合には不要である。
また、コンピュータ1のソフトウエア部分には、OS
(Operating System)5及びアプリケーション・プログ
ラム7を含み、OS5にはパワーマネージメント・ドラ
イバ15を含む。このパワーマネージメント・ドライバ
15は、制御部19とタイマ21を含んでいる。
合、CPU3に入力されるクロック信号はコントローラ
11によって制御される。クロック信号の制御は、CP
U3が対応できる場合には、クロック信号の周波数を変
更したり、クロック信号の供給を停止したりすることに
より実施する。それらが不可能な場合には、所定のクロ
ック信号を供給しつつ、コントローラ11がCPU3に
所定期間動作の停止を命じることで実施される。また、
CPU3がクロック発振器9のクロック信号から内部ク
ロックを生成している場合には、内部クロック生成の方
法を変更することにより、内部クロックの周波数を変更
するようにしてもよい。コントローラ11は、CPU3
の動作を観測し、センサ13からの入力を監視する。C
PU3の動作の観測には、例えば、キャッシュミス率
や、ノンキャッシャブル・メモリへのアクセス数、I/
O命令比率等、単位時間当たりの総実行命令数及びユー
ザ・モードの実行命令数が考えられる。ユーザ・モード
の命令とは、CPU3の特権レベルが最も低い状態で実
行される命令であり、GUIや算術計算など、一般アプ
リケーション・プログラムの骨格部分を構成する命令の
大部分がこれに相当する。一方、I/O命令などはシス
テム・モードで実行され、ユーザ・モードとは区別され
る。また、OS5からのハードウエア使用に関する情
報、OS5を介して又は介さずに直接、アプリケーショ
ン・プログラム7から得られるハードウエア使用に関す
る情報等も取得可能である。これらの情報を用いてコン
トローラ11は、クロック発振器9及びCPU3の動作
を制御する。コントローラ11の動作については後に述
べる。なお、コントローラ11自体をCPU3内に組み
込むことも考えられる。
合、パワーマネージメント・ドライバ15の制御部19
が、CPU3にアクセスして、例えば、単位時間当たり
の総実行命令数及びユーザ・モードの実行命令数を検出
する。また、センサ13からその測定結果を取得するよ
うにしてもよい。また、アプリケーション・プログラム
7からハードウエア使用に関する情報を、またOS5の
他の部分からハードウエア使用に関する情報を、得るよ
うにすることも考えられる。制御部19は、このように
取得した情報に基づき、CPU3の動作速度を制御す
る。この制御は、コントローラ11を介してクロック発
振器9の出力クロック信号の制御を行ったり、CPU3
にHalt命令を出力することにより、行われる。例え
ば、タイマ21が定期的(例えば244μs)に制御部
19に割り込みをかけ、制御部19は収集した情報に従
い設定された割り合いで、CPU3にHalt命令を出
力するようにすることも可能である。例えば、CPU3
の動作速度を1/4にすると決定した場合には、4回の
割り込みのうち、3回はHalt命令を出力し(これに
よりCPU3の動作が停止する)、1回は何もしないで
CPU3に処理を実施させるようにする。
数及びユーザ・モードの実行命令数は、パーソナル・コ
ンピュータにおいてよく用いられているPentium
(Intel社の商標)プロセッサでは、その内部レジスタ
であるモデル・スペシフィック・レジスタ3a(Model
Specific Register: MSR)から取得可能となっている
(Intel Pentium Processor Family Developer's Manua
l Vol.1: Pentium Processor,(1995) pp33-1〜33-25
参照のこと)。よって、コントローラ11及び制御部1
9は、このレジスタを読みに行けばよい。なお、MSR
には累積値が格納されるので、実際にはレジスタ3aに
格納された値の変化量を用いる。単位時間は、MSRの
1つの種類であるタイム・スタンプ・レジスタ(Time S
tamp Register: TSR)に格納された値を用いることがで
きる。TSRには、CPU3のクロックごとに1加算さ
れた値が格納され、このTSRに格納された値の変化量
で、総実行命令数の変化量又はユーザ・モードの実行命
令数の変化量を割れば、単位時間当たりの総実行命令数
又はユーザ・モードの実行命令数を得ることができる。
19が行うCPU3の動作速度制御において、次のよう
な指標を採用する。 P:消費電力指標(プロセッサの消費電力(W)) V:パフォーマンス指標(単位時間あたりに処理したタ
スクの問題サイズ(計算速度)) T:与えられた問題を処理するのに要した時間(V=1
/T) E:エネルギー指標 エネルギー指標は、E=P/V(又はE∝P/V)で表
される。一般に、Pが大きくなると、Vも増加する。す
なわち、消費電力が増加するように高速でCPU3を動
作させると、処理速度も早くなる。しかし、個々のタス
クごとに、I/O命令の比率や、キャッシュミス率等が
異なり、タスクによっては、Pの増加に対してVが徐々
に飽和してCPU3の動作速度の増加が必ずしもパフォ
ーマンスの上昇にはつながらない場合もある。この場合
には、パフォーマンスと省電力の両方の観点からエネル
ギー指標Eをより小さくするような速度でCPUを動作
させれば、より効率的である。一方、ユーザによって
は、所定の消費電力範囲内でパフォーマンスをより増大
させることを欲する場合もある。このような場合には、
パフォーマンス指標Vがより高くなるように制御する。
きる情報としては、所定時間内の総実行命令数、センサ
13が温度センサである場合には温度から計算される熱
量、センサ13が電流計測器である場合には測定された
電流値、センサ13が電力計測器である場合には測定さ
れた電力値、等が考えられる。また、パフォーマンス指
標としては、所定時間内のユーザ・モードの実行命令
数、キャッシュミス率、ノンキャッシャブルメモリへの
アクセス数、I/O命令比率、OS5又はアプリケーシ
ョン・プログラム7からのハードウエア使用に関する情
報(例えば、タスクごとのCPU占有率、プロセスの優
先度、アプリケーション・プログラムの要求、又はそれ
らの組み合わせ)が考えられる。エネルギー指標は、上
述の式から得られる。
指標の値を取得し、それらを用いて目標を達成するよう
な制御フローを以下に述べる。
の処理フロー (a)第1例 エネルギー指標Eの最小化を目標とする第1例の処理フ
ローを図2に示す。最初に、CPU3の動作速度f
i(iは図2における繰り返しの回数を示す)を最大値
fmaxに設定する(ステップ103)。そして、その時
のエネルギー指標E(fi)を取得(測定)する(ステッ
プ105)。先に述べたとおり、パフォーマンス指標V
及び消費電力指標Pを測定して、計算にて取得する。も
し、|(E(fi)−E(fi-1))/ΔT|が所定のしき
い値E0を超えている場合(エネルギー指標Eの変化量
がしきい値E0を超えている場合)には、CPUが実行
しているタスクの性質が切り替わったと判断して、処理
をステップ103に戻す。このようにエネルギー指標E
を参照して、CPU3の動作速度の変更処理フローを切
り換える。なお、ΔTは図2におけるステップ105か
ら次のステップ105までのループの実行間隔であっ
て、例えば数百μs程度である。
あれば(図2の最初の処理はfi-1がないので必ず切り
替わっていないとする)、CPU3の動作速度をΔtの
間だけ、f-=fi−Δf0に設定する(動作速度をΔf0
だけ下げる。ステップ109)。Δtは、一時的にCP
U3の動作速度を調整するための期間であるから、例え
ば数十μs程度である。そして、再度エネルギー指標E
(f-)を取得し(ステップ111)、E(f-)<E
(fi)が成り立つかどうか判断する(ステップ11
3)。もし、成り立つようであれば、CPU3の動作速
度を減少させた方がよいので、既にfiがfminでなけれ
ば、fi+1=fi−Δf1を設定する(Δf1だけ減速す
る。ステップ117)。一方、ステップ113の条件が
成り立たない場合には、CPU3の動作速度を減少させ
るとエネルギー指標Eに悪影響を及ぼすので、既にfi
がfmaxでなければ、fi+1=fi+Δf1を設定する(Δ
f1だけ高速化する。ステップ115)。このように第
1例では、Eの値を参照して、CPU3の動作速度の変
更方針を決定している。なお、本例ではΔf1はΔf0よ
り大きな値とするが、同じでも問題ない。そして、iを
1インクリメントしてステップ105に戻る(ステップ
119)。
エネルギー指標Eを最小化するようにCPU3の動作速
度(又は駆動周波数)fを変更する。
を示す。本処理フローでは、エネルギー指標Eは最低に
はならないが、エネルギー指標Eをある許容範囲内に収
めるようになっている。なお、第2例ではV/P=1/
E=Rという値を導入する。単位時間当たりの総実行命
令数It及びユーザ・モードの実行命令数Iuを用いて処
理を実行する場合には、Rは、ユーザ・モードの実行命
令数の割合を示しており、所定のしきい値R1Hより高い
場合には、CPU3はユーザ命令指向の状態にあると言
える。また、Rが所定のしきい値R1Lより低い場合に
は、CPU3はシステム命令指向の状態にあると言え
る。
定する(ステップ123)。そして、fmaxの時のRの
値R0が所定のしきい値R1Hを超えているかどうか判断
する(ステップ125)。もし、超えていない場合に
は、R0が所定のしきい値R1Lより小さいかどうか判断
する(ステップ135)。もし、R0が所定のしきい値
R1 L以上である場合には、R0はR1L≦R0≦R1Hであっ
て、エネルギー指標Eは許容範囲内に収まっており、こ
れ以上の制御は必要ないとして、ステップ133に移行
する。
PU3の動作速度fをΔfだけ減速する(ステップ12
7)。もし、減速した後の動作速度が最低の動作速度で
ある場合には、ステップ133に移行する(ステップ1
29)。そうでない場合には、減速した後の動作速度
で、パフォーマンス指標V及び消費電力指標Pを測定
し、V>V0*R3且つV/P>R1Hであるかどうか判断
する(ステップ131)。第1の式は、CPU3の動作
速度を減速した際に下がるパフォーマンス指標Vの許容
範囲を定めるものであって、動作速度がfmaxであった
時のパフォーマンス指標値V0に対する割合である。ま
た第2の式は、CPU3の動作速度を減速した後にR=
V/Pがステップ125におけるしきい値R1Hの範囲内
にとどまっているかどうかを判断するためのものであ
る。単位時間当たりの総実行命令数It及びユーザ・モ
ードの実行命令数Iuを用いて処理を実行する場合に
は、動作速度減速後もユーザ命令指向の状態にあるかど
うかを判断している。もし、第1及び第2の式を満たし
ている場合には、さらにCPU3の動作速度を減速す
る。一方、第1又は第2の式を満たしていない場合に
は、その時の動作速度に固定してステップ133に移行
する。
135)には、CPU3の動作速度fをΔfだけ減速す
る(ステップ137)。もし、減速した後の動作速度が
最低の動作速度である場合には、ステップ133に移行
する(ステップ129)。そうでない場合には、減速し
た後の動作速度で、パフォーマンス指標V及び消費電力
指標Pを測定し、V>V0*R2且つV/P<R1Lであ
るかどうか判断する(ステップ131)。第1の式は、
CPU3の動作速度を減速した際にパフォーマンス指標
Vの許容範囲を定めるものであって、動作速度がfmax
であった時のパフォーマンス指標V0に対する割合であ
る。また第2の式は、CPU3の動作速度を減速した後
にR=V/Pがステップ135におけるしきい値R1Lの
範囲内にとどまっているかどうかを判断するためのもの
である。単位時間当たりの総実行命令数It及びユーザ
・モードの実行命令数Iuを用いて処理を実行する場合
には、動作速度減速後もシステム命令指向の状態にある
かどうかを判断している。もし、第1及び第2の式を満
たしている場合には、さらにCPU3の動作速度を減速
する。一方、第1又は第2の式を満たしていない場合に
は、その時の動作速度に固定してステップ133に移行
する。
用いて、CPU3の動作速度の変更処理モード(変更処
理方針)を設定し、それに基づき処理を実施している。
ステップ127及びステップ137のΔfは同じでも異
なる値でもよい。
Vの変化率の絶対値を検査する。すなわち、パフォーマ
ンス指標Vの変化率の絶対値が所定のしきい値R4を超
えたかどうか判断する。この処理は定期的に又は必要に
応じて行なわれ、この条件が満たされないうちは、同じ
動作速度でCPU3を動作させる。この条件が満たされ
た時には、CPU3で処理されるタスクの種類が変更さ
れたとしてステップ123に戻る。パフォーマンス指標
Vにより処理フローが変更されたと考えることもでき
る。
2及びR3も同一でもよい。これらの定数及びR4は、固
定にしてもよいし、場合によっては動的に変更すること
も可能である。
り一般的には、パフォーマンス指標と消費電力指標Pの
比)に着目して行われる処理フローである。
ための処理フロー (a)第1例 本例はエネルギー指標Eを用いない。但し、消費電力指
標Pを用いてCPU3の動作速度を変更する処理を含
む。なお、CPU3の動作速度の初期値P(f1)は設定
できる最大値fmaxに設定されている。まず、動作速度
fiにおける消費電力指標P(fi)を取得する(ステッ
プ153)。fのサフィックスは、図4の処理の繰り返
し数を表す。そして、P(fi)が、ユーザ指定のPmin
及びPmaxの間にあるかどうか判断する(ステップ15
5)。もし、Pmax以上である場合、又はPmin以下であ
る場合には、fiへの変更が不適当であった、又はfi設
定後にタスクの性質が切り替わった場合であるから、一
旦fiをfi-1(前回図4の処理を開始する際の動作速
度)に戻す(ステップ157)。
fiにおけるパフォーマンス指標V(fi)を取得する
(ステップ159)。そして、CPU3の動作速度をΔ
tの間だけΔf0 +上昇させる(ステップ161)。すな
わち、f+=fi+Δf0 +と設定する。その後、f+にお
けるパフォーマンス指標V(f+)を取得する(ステップ
163)。もし、V(f+)>V(fi)ならば(ステップ
165)、CPU3の動作速度を上昇させた方がパフォ
ーマンス指標Vの値が上昇するので、fi+1=fi+Δf
1 +と設定する(ステップ177)。一方、V(f+)≦V
(fi)であるならば、CPU3の動作速度をΔtの間だ
けΔf0 -減速する(ステップ167)。すなわち、f-
=fi−Δf0 -を設定する。そして、f-におけるパフォ
ーマンス指標V(f-)を取得する(ステップ169)。
その後、V(f-) V(fi)であるか判断する(ステップ171)。この条
件が満たされないということは、CPU3の動作速度を
変更しなくともパフォーマンスは変わらないので、f
i+1=fiに設定する(ステップ173)。一方、V
(f-) V(fi)でない場合には、fi+1=fi−Δf1 -を設定す
る(ステップ175)。
て実施する。ユーザ指定の省電力指標に従い、省電力と
パフォーマンスの両方のバランスをとることができる。
なお、第1例ではΔf0 +とΔf0 -は、それぞれΔf1 +と
Δf1 -より小さいものとして考えているが、同じ値であ
ってもよい。また、上付サフィックス+及び−は異なる
値でも同じ値でもよい。
フローの第2例を示す。第2例では、パフォーマンス指
標Vの変化率を考慮して、動作速度変更の処理フローを
切り換える。なお、図5に示されている処理は、第i回
目の繰り返し処理である。この処理は、所定間隔で又は
必要に応じて繰り返し実行される。なお、CPU3の動
作速度の初期値P(f1)は設定できる最大値fmaxに設
定されている。
fiにおける消費電力指標P(fi)を取得する(ステッ
プ183)。そして、ユーザ指定のPmaxと比較する
(ステップ185)。もし、PmaxよりP(fi)が大き
い場合には、消費電力を減らずべく、fi+1=fi−Δf
1を設定する(ステップ189)。また、ユーザ指定の
PminとP(fi)を比較し(ステップ187)、もしP
minより小さければ、パフォーマンス指標の値を上げる
ためにCPU3の動作周波数を上げることができるの
で、fi+1=fi+Δf1を設定する(ステップ19
1)。
を両方満たしていない場合には、CPU3の動作速度を
制御できる。よって、fiにおけるパフォーマンス指標
V(f i)を取得する(ステップ193)。次に、CPU
3の動作速度をΔtの間だけΔf1減速する(ステップ
195)。よって、f-=fi−Δf0を設定する。そし
て、f-におけるパフォーマンス指標V(f-)を取得す
る(ステップ197)。取得したパフォーマンス指標を
用いて、V(f-) V(fi)であるかどうか判断する(ステップ199)。
もし、この条件が満たされれないならば、CPU3の動
作速度を変更する必要がないので、fi+1=fiと設定す
る(ステップ201)。一方、ステップ199の条件を
満たす場合には、fi+1=fi−Δf1を設定する(ステ
ップ203)。そして、次に、パフォーマンス指標Vの
変化率を検査する。これは、|(V(fi)−V
(fi-1))/dt|で計算する。これが所定のV0を超
えている場合には、CPU3が処理しているタスクの種
類が切り換えられたとして、fi+1を設定できる最大値
fmaxに設定する(ステップ207)。タスクの種類が
切り換えられていない場合には、ステップ203又はス
テップ201において設定されたままで、処理を終了す
る(ステップ209)。
指定の消費電力指標とパフォーマンスの両方のバランス
をとることができる。なお、第2例ではΔf0はΔf1よ
り小さいと考えているが、同じ値であってもよい。
J=(dV/dP)/(V/P)という、V/Pで正規
化された指標Jを導入する。このJの最小値であるJ
minをさらに規定しておく。このJが1.0より大きい
又は1.0程度の値である場合には、より多くの電力が
供給されるとJの分子は減少せずにJ自体も増加する。
よって、より多くの電力を供給した時にパフォーマンス
に改善の余地があるということを示す。一方、このJが
1.0より小さい(J<Jmin)ならば、より多くの電
力が供給されてもJの分子は減少し、パフォーマンスの
改善にはつながらないということを示している。
に、S=|Vi/Pi−V0/P0|/(V0/P0)という
指標Sを導入する。ここでVi及びPiは、それぞれその
初期値である。Vi及びP は、それぞれ最新のV及びP
である。タスク特性の変化を検出するためのしきい値S
maxも規定しておく。
た時の各タスクの実行数をカウントするための指標Coun
tも導入する。これは、タスクが安定状態になる前にプ
ロセッサの動作速度を変えてしまったり、動作速度の変
更をあまりに多くしないようにするために用いられる。
よって、タスクが安定状態になったということを判断す
るためのしきい値をCとする。
動作速度調整アルゴリズムの一例を示す。このアルゴリ
ズムは図6に示すように、タスクごとに行われ、各変数
は各タスクごとに保存される。まず、このタスクAが新
たなタスクであるかどうか判断される(ステップ22
1)。もし、新たなタスクであれば、処理状態を表わす
変数Searchをstart状態に設定し、先に述べたCountを初
期値0に設定し、プロセッサの動作速度Speedを最高速
度MAXに設定する(ステップ223)。もし、タスクA
が新たなタスクでない場合には、前回タスクAについて
決定された変数値を取り出す。そして、プロセッサの動
作速度をSpeedに設定し、P及びVの測定を開始する
(ステップ225)。そして、タスクAを実行する(ス
テップ227)。もし、タスクAが新たなタスクであれ
ば、ここで取得されるP及びVは、P0及びV0となり、
次のタスクにスイッチする。
Xにセットし、その時のVi及びPi(Vcount+1及びP
count+1)を測定する。さらに、Countを1インクリメン
トする(ステップ229)。そして、S<Smaxである
かどうか判断する(ステップ231)。もし、S<S
maxでなければ、タスク特性が変わっているので、変数S
earchをstart状態にセットし、countを初期値0に戻
し、プロセッサの動作速度Speedを最高速度MAXにセット
する(ステップ233)。一方、タスク特性が変わって
いなければ、現在のCount値がしきい値Cより大きいか
判断する(ステップ235)。しきい値CよりCount値
が小さければ、またタスクは安定状態でないので、その
後の処理を行わず、次のタスクにスイッチする(ステッ
プ245)。もし、タスクが安定状態であれば、処理状
態を表わす変数SearchがEndを表わしているか検査する
(ステップ237)。このEndは、プロセッサ動作速度
の調整が済んでいることを表わす。よって、Search=En
dであれば、次のタスクにスイッチする。
する(ステップ239)。この条件に合致しない場合に
は、プロセッサの動作速度を減少させることができるの
で、Speedを一段階(Δf)減速するようにセットする
(ステップ243)。すなわち、Speed=Speed-1とす
る。そして、次のタスクにスイッチする。一方、ステッ
プ239の条件を満たしていない場合には、これ以上減
速できないので、一回前のプロセッサ動作速度に戻し
(Speed=Speed+1)、処理状態Searchを終了状態Endに変
更する(ステップ241)。この後、次のタスクにスイ
ッチする。
Sのスケジューラが行う。なお、上で述べたパワーマネ
ージメント・ドライバと協動してもよい。
パワーマネージメント・ドライバ15内の制御部19に
より実施する。なお、図1のブロック図は一例であっ
て、例えばタイマ21はパワーマネージメント・ドライ
バ15内に設けているが、OS5の他の部分にて有する
タイマを用いても、ハードウエアのタイマを使用しても
よい。さらに、センサ自体をCPU13が含むようにす
ることも可能である。本発明のコントローラ11は、他
の周辺回路と一緒のチップに実装しても別個に実装して
もよい。図1ではアプリケーション・プログラム7は1
つしか描かれていないが、当然複数実行されている場合
もある。なお、図1では機能ブロック間の参照のための
線を必要と考えられる部分のみ描いているが、機能間で
図1に描かれていない参照を設けることも可能である。
一例であって、CPU3の動作速度を目的に応じて調整
できるようなアルゴリズムであれば、図2乃至図6と異
なっていてもよい。また、OS5に他のパワーマネージ
メント機能(例えばAPMドライバ(Advanced Power Manag
ement)が含まれている場合には、それらとの整合をとる
必要がある場合も生じ得る。
作速度を制御する新規な方法を提供することができた。
また、消費電力指標も参照するような方法も提供でき
た。
サの動作速度制御方法を提供することができた。
期間においてプロセッサにより実行されたユーザ・モー
ドの命令数を用いる、プロセッサの動作速度制御方法を
提供することができた。
おけるプロセッサの総実行命令数を用いる、プロセッサ
の動作速度制御方法を提供することもできた。
る。
ローを示した図である。
ローを示した図である。
理フローを示した図である。
理フローを示した図である。
理フローを示した図である。
fiにおけるパフォーマンス指標V(fi)を取得する
(ステップ159)。そして、CPU3の動作速度をΔ
tの間だけΔf0 +上昇させる(ステップ161)。すな
わち、f+=fi+Δf0 +と設定する。その後、f+にお
けるパフォーマンス指標V(f+)を取得する(ステップ
163)。もし、V(f+)>V(fi)ならば(ステップ
165)、CPU3の動作速度を上昇させた方がパフォ
ーマンス指標Vの値が上昇するので、fi+1=fi+Δf
1 +と設定する(ステップ177)。一方、V(f+)≦V
(fi)であるならば、CPU3の動作速度をΔtの間だ
けΔf0 -減速する(ステップ167)。すなわち、f-
=fi−Δf0 -を設定する。そして、f-におけるパフォ
ーマンス指標V(f-)を取得する(ステップ169)。
その後、V(f-)≧V(fi)であるか判断する(ステッ
プ171)。この条件が満たされないということは、C
PU3の動作速度を変更しなくともパフォーマンスは変
わらないので、fi+1=fiに設定する(ステップ17
3)。一方、V(f-)≧V(fi)でない場合には、fi+
1=fi−Δf1 -を設定する(ステップ175)。
を両方満たしていない場合には、CPU3の動作速度を
制御できる。よって、fiにおけるパフォーマンス指標
V(f i)を取得する(ステップ193)。次に、CPU
3の動作速度をΔtの間だけΔf1減速する(ステップ
195)。よって、f-=fi−Δf0を設定する。そし
て、f-におけるパフォーマンス指標V(f-)を取得す
る(ステップ197)。取得したパフォーマンス指標を
用いて、V(f-)≧V(fi)であるかどうか判断する
(ステップ199)。もし、この条件が満たされれない
ならば、CPU3の動作速度を変更する必要がないの
で、fi+1=fiと設定する(ステップ201)。一方、
ステップ199の条件を満たす場合には、fi+1=fi−
Δf1を設定する(ステップ203)。そして、次に、
パフォーマンス指標Vの変化率を検査する。これは、|
(V(fi)−V(fi-1))/dt|で計算する。これが
所定のV 0を超えている場合には、CPU3が処理して
いるタスクの種類が切り換えられたとして、fi+1を設
定できる最大値fmaxに設定する(ステップ207)。
タスクの種類が切り換えられていない場合には、ステッ
プ203又はステップ201において設定されたまま
で、処理を終了する(ステップ209)。
Claims (27)
- 【請求項1】コンピュータ内のプロセッサの動作速度を
制御する方法であって、 第1所定期間における、実行されたユーザ・モード命令
数Iuをカウントするステップと、 前記Iuを参照して、前記プロセッサの動作速度を変更
する変更ステップと、を含む動作速度制御方法。 - 【請求項2】前記変更ステップ実施後、再度Iuをカウ
ントし、再度前記変更ステップを実施することを特徴と
する請求項1記載の動作速度制御方法。 - 【請求項3】第2所定期間における、実行されたユーザ
・モード命令数Iu2をカウントするステップと、 前記Iuから前記Iu2への変化率が所定値より大きい場
合、前記プロセッサの動作速度を所定値に設定するステ
ップと、 をさらに含む請求項1記載の動作速度制御方法。 - 【請求項4】第2所定期間における総実行命令数Itを
カウントするステップをさらに含む、請求項1記載の動
作速度制御方法。 - 【請求項5】前記Itを参照して、前記プロセッサの動
作速度を変更する変更ステップをさらに含む請求項4記
載の動作速度制御方法。 - 【請求項6】前記第1所定期間と前記第2所定期間が同
一であることを特徴とする請求項4記載の動作速度制御
方法。 - 【請求項7】前記変更ステップが、 前記ItとIuの比を参照して、当該動作速度の変更制御
モードを切り換えるステップを含む請求項6記載の動作
速度制御方法。 - 【請求項8】前記変更ステップが、 前記ItとIuの比を参照して、当該動作速度の変更制御
フローを切り換えるステップを含む請求項6記載の動作
速度制御方法。 - 【請求項9】前記変更ステップ実施後、再度It及びIu
をカウントし、当該ItとIuとの比を参照して、前記プ
ロセッサの動作周波数を変更するステップをさらに含む
請求項6記載の動作速度制御方法。 - 【請求項10】コンピュータ内のプロセッサの動作速度
を制御する方法であって、 所定期間における、実行されたユーザ・モード命令数I
uをカウントするステップと、 前記所定期間における総実行命令数Itをカウントする
ステップと、 前記ItとIuの比を参照して、当該動作速度の変更方針
を切り換えるステップと、 前記変更方針を参照して、前記プロセッサの動作速度を
変更する変更ステップと、 を含む動作速度制御方法。 - 【請求項11】コンピュータ内のプロセッサの動作速度
を制御する方法であって、 第1所定期間における第1パフォーマンス指標の値を測
定するステップと、 前記プロセッサの動作速度を変更するステップと、 第2所定期間における第2パフォーマンス指標の値を測
定するステップと、 前記第1及び第2パフォーマンス指標の値を参照して、
前記プロセッサの動作速度を変更する変更ステップと、 を含む動作速度制御方法。 - 【請求項12】第3所定期間において消費電力指標の値
を測定するステップと、 前記消費電力指標の値に基づき、前記プロセッサの動作
速度を変更するステップとをさらに含む請求項11記載
の動作速度制御方法。 - 【請求項13】前記変更ステップが、 パフォーマンスが増大するように、前記プロセッサの動
作速度を変更するステップを含む請求項11記載の動作
速度制御方法。 - 【請求項14】コンピュータのプロセッサの動作速度を
制御する方法であって、 パフォーマンス指標及び消費電力指標の値を測定するス
テップと、 前記パフォーマンス指標の値と前記消費電力指標の値と
の比を参照して、プロセッサの動作速度の変更方針を切
り換えるステップと、 前記変更方針を参照して、前記プロセッサの動作速度を
変更する変更ステップと、 を含む動作速度制御方法。 - 【請求項15】コンピュータのプロセッサの動作速度を
制御する方法であって、 パフォーマンス指標及び消費電力指標の値を測定するス
テップと、 前記パフォーマンス指標及び前記消費電力指標の値か
ら、エネルギー指標の値を計算するステップと、 前記エネルギー指標の値を減少させるように、前記プロ
セッサの動作速度を変更するステップと、 を含む動作速度制御方法。 - 【請求項16】所定期間における、プロセッサにより実
行されたユーザ・モード命令数Iuをカウントする第1
カウンタと、 前記Iuを参照して、前記プロセッサの動作速度を変更
するコントローラと、を有するコンピュータ。 - 【請求項17】前記所定期間における、前記プロセッサ
の総実行命令数Itをカウントする第2カウンタをさら
に有し、 前記コントローラが、 前記IuとItの比を参照して、前記プロセッサの動作速
度を変更する請求項16記載のコンピュータ。 - 【請求項18】コンピュータのパフォーマンス指標の値
を測定する測定器と、 前記コンピュータ内のプロセッサの動作速度を変更する
コントローラと、 を有し、 前記測定器は、第1所定期間において第1のパフォーマ
ンス指標の値を測定し、 その後前記コントローラは、前記プロセッサの動作速度
を変更し、 前記測定器は、当該動作速度変更後、第2所定期間にお
いて第2のパフォーマンス指標の値を測定し、 前記コントローラは、前記第1及び第2のパフォーマン
ス指標の値を参照して、前記プロセッサの動作速度を変
更するコンピュータ。 - 【請求項19】前記コントローラは、前記第1及び第2
のパフォーマンス指標の値を参照して、パフォーマンス
が増大するように、前記プロセッサの動作速度を変更す
る請求項18記載のコンピュータ。 - 【請求項20】コンピュータのパフォーマンス指標の値
を測定する第1測定器と、 前記コンピュータの消費電力指標の値を測定する第2測
定器と、 前記パフォーマンス指標の値と前記消費電力指標の値と
の比を参照して、前記プロセッサの動作速度を変更する
コントローラと、 を有するコンピュータ。 - 【請求項21】コンピュータのパフォーマンス指標の値
を測定する第1測定器と、 前記コンピュータの消費電力指標の値を測定する第2測
定器と、 前記パフォーマンス指標及び前記消費電力指標の値か
ら、エネルギー指標の値を計算し、当該エネルギー指標
の値を減少させるように、前記プロセッサの動作速度を
変更するコントローラと、 を有するコンピュータ。 - 【請求項22】コンピュータ内のプロセッサの動作速度
を当該プロセッサに変更させるプログラムを格納する記
憶媒体であって、 前記プログラムは、前記プロセッサに、 所定期間における、実行されたユーザ・モード命令数I
uのカウントを読み出すステップと、 前記Iuを参照して、前記プロセッサの動作速度を設定
する設定ステップと、 を実行させる、記憶媒体。 - 【請求項23】前記所定期間における総実行命令数It
のカウントを読み出すステップをさらに実行させ、 前記設定ステップは、 前記ItとIuの比を参照して、前記動作速度の変更制御
フローを切り換えるステップを含む、請求項22記載の
記憶媒体。 - 【請求項24】コンピュータ内のプロセッサの動作速度
を当該プロセッサに変更させるプログラムを格納した記
憶媒体であって、 前記プログラムは、前記プロセッサに、 所定期間における、実行されたユーザ・モード命令数I
uのカウントを読み出すステップと、 前記所定期間における総実行命令数Itのカウントを読
み出すステップと、 前記ItとIuの比を参照して、前記プロセッサの動作速
度を設定するステップと、 を実行させる、記憶媒体。 - 【請求項25】コンピュータ内のプロセッサの動作速度
を前記プロセッサに変更させるプログラムを格納した記
憶媒体であって、 前記プログラムは、前記プロセッサに、 第1所定期間における第1パフォーマンス指標の測定結
果を読み出すステップと、 前記プロセッサの動作速度の変更を命ずるステップと、 第2所定期間における第2パフォーマンス指標の測定結
果を読み出すステップと、 前記第1及び第2パフォーマンス指標の値を参照して、
前記プロセッサの動作速度を設定するステップと、 を実行させる、記憶媒体。 - 【請求項26】コンピュータのプロセッサの動作速度を
前記プロセッサに変更させるプログラムを格納した記憶
媒体であって、 前記プログラムは、前記プロセッサに、 パフォーマンス指標及び消費電力指標の測定結果を読み
出すステップと、 前記パフォーマンス指標の値と前記消費電力指標の値と
の比を参照して、前記プロセッサの動作速度を設定する
ステップと、 を実行させる、記憶媒体。 - 【請求項27】コンピュータのプロセッサの動作速度を
前記プロセッサに変更させるプログラムを格納した記憶
媒体であって、 パフォーマンス指標及び消費電力指標の測定結果を読み
出すステップと、 前記パフォーマンス指標及び前記消費電力指標の値か
ら、エネルギー指標の値を計算するステップと、 前記エネルギー指標の値を減少させるように、前記プロ
セッサの動作速度を設定するステップと、 を実行させる、記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13846598A JP3573957B2 (ja) | 1998-05-20 | 1998-05-20 | コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ |
US09/311,926 US6513124B1 (en) | 1998-05-20 | 1999-05-14 | Method and apparatus for controlling operating speed of processor in computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13846598A JP3573957B2 (ja) | 1998-05-20 | 1998-05-20 | コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11353052A true JPH11353052A (ja) | 1999-12-24 |
JP3573957B2 JP3573957B2 (ja) | 2004-10-06 |
Family
ID=15222680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13846598A Expired - Fee Related JP3573957B2 (ja) | 1998-05-20 | 1998-05-20 | コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ |
Country Status (2)
Country | Link |
---|---|
US (1) | US6513124B1 (ja) |
JP (1) | JP3573957B2 (ja) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1376314A1 (en) * | 2002-06-28 | 2004-01-02 | Kabushiki Kaisha Toshiba | Clock frequency control method and electronic apparatus |
WO2005066795A1 (ja) * | 2004-01-07 | 2005-07-21 | Hiroshi Nakamura | 半導体装置および半導体装置の電源電圧/クロック周波数制御方法 |
JP2005244212A (ja) * | 2004-01-30 | 2005-09-08 | Semiconductor Energy Lab Co Ltd | 半導体装置 |
WO2008120274A1 (ja) * | 2007-03-29 | 2008-10-09 | Fujitsu Limited | 演算能力を制御する処理装置 |
JP2009159712A (ja) * | 2007-12-26 | 2009-07-16 | Fujitsu Ltd | 消費電力監視プログラム、消費電力監視装置、および消費電力監視方法 |
JP2009277252A (ja) * | 2003-05-07 | 2009-11-26 | Mosaid Technologies Corp | 電力の島を使用した集積回路での電力の管理 |
US7836326B2 (en) | 2006-07-25 | 2010-11-16 | National University Corporation Nagoya University | Apparatus with variable pipeline stages via unification processing and cancellation |
JP2010538371A (ja) * | 2007-08-27 | 2010-12-09 | マーベル ワールド トレード リミテッド | 動的コア切り替え |
KR101020008B1 (ko) | 2006-10-19 | 2011-03-09 | 인터내셔널 비지네스 머신즈 코포레이션 | 컴퓨터 프로세서 시스템을 위한 전력 관리 시스템 및 방법 |
JP2012168660A (ja) * | 2011-02-10 | 2012-09-06 | Fujitsu Ltd | 情報抽出プログラム、情報抽出方法、および情報抽出装置 |
US8321711B2 (en) | 2004-01-30 | 2012-11-27 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device having a threshold voltage control function |
US8397097B2 (en) | 2008-04-09 | 2013-03-12 | Nec Corporation | Computer system and operating method thereof |
JP2014507719A (ja) * | 2011-09-21 | 2014-03-27 | エンパイア テクノロジー ディベロップメント エルエルシー | マルチコアシステムエネルギー消費最適化 |
JP2017049972A (ja) * | 2015-09-04 | 2017-03-09 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | 電子システム及び関連するクロック管理方法 |
JP2020198055A (ja) * | 2019-06-05 | 2020-12-10 | ファナック株式会社 | 制御装置 |
JP2022015605A (ja) * | 2020-07-09 | 2022-01-21 | 富士通株式会社 | 情報処理装置及び情報処理装置における制御方法 |
US11281559B2 (en) | 2017-09-06 | 2022-03-22 | Fujitsu Limited | Information processing apparatus, information processing system, and storage medium |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100061B2 (en) | 2000-01-18 | 2006-08-29 | Transmeta Corporation | Adaptive power control |
KR100361340B1 (ko) * | 2000-05-15 | 2002-12-05 | 엘지전자 주식회사 | 씨피유 클럭 제어 방법 |
US6968469B1 (en) | 2000-06-16 | 2005-11-22 | Transmeta Corporation | System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored |
US6772352B1 (en) * | 2000-09-29 | 2004-08-03 | Intel Corporation | Method and apparatus for reducing the rate of commands being issued if the rate exceeds a threshold which is based upon a temperature curve |
US7260731B1 (en) * | 2000-10-23 | 2007-08-21 | Transmeta Corporation | Saving power when in or transitioning to a static mode of a processor |
US6715089B2 (en) * | 2001-01-22 | 2004-03-30 | Ati International Srl | Reducing power consumption by estimating engine load and reducing engine clock speed |
US6895520B1 (en) | 2001-03-02 | 2005-05-17 | Advanced Micro Devices, Inc. | Performance and power optimization via block oriented performance measurement and control |
KR100390645B1 (ko) * | 2001-07-27 | 2003-07-07 | 삼성전자주식회사 | 이동통신단말기 시스템에서 소모전류를 줄이기 위한 방법 |
KR100422132B1 (ko) * | 2001-09-06 | 2004-03-11 | 엘지전자 주식회사 | 실시간 시스템의 씨피유 타스크 점유율 측정장치 |
US6809538B1 (en) * | 2001-10-31 | 2004-10-26 | Intel Corporation | Active cooling to reduce leakage power |
US6775787B2 (en) * | 2002-01-02 | 2004-08-10 | Intel Corporation | Instruction scheduling based on power estimation |
TW567408B (en) * | 2002-03-29 | 2003-12-21 | Uniwill Comp Corp | Apparatus and method for controlling power and clock speed of electronic system |
JP3692089B2 (ja) * | 2002-04-02 | 2005-09-07 | 株式会社東芝 | 消費電力制御方法及び情報処理装置 |
US7180322B1 (en) * | 2002-04-16 | 2007-02-20 | Transmeta Corporation | Closed loop feedback control of integrated circuits |
US7336090B1 (en) | 2002-04-16 | 2008-02-26 | Transmeta Corporation | Frequency specific closed loop feedback control of integrated circuits |
US7941675B2 (en) | 2002-12-31 | 2011-05-10 | Burr James B | Adaptive power control |
US7080268B2 (en) * | 2002-12-03 | 2006-07-18 | Intel Corporation | Method and apparatus for regulating power to electronic circuits |
US8086884B2 (en) * | 2002-12-16 | 2011-12-27 | Hewlett-Packard Development Company, L.P. | System and method for implementing an integrated circuit having dynamically variable power limit |
US7205758B1 (en) * | 2004-02-02 | 2007-04-17 | Transmeta Corporation | Systems and methods for adjusting threshold voltage |
US7953990B2 (en) * | 2002-12-31 | 2011-05-31 | Stewart Thomas E | Adaptive power control based on post package characterization of integrated circuits |
US7228242B2 (en) * | 2002-12-31 | 2007-06-05 | Transmeta Corporation | Adaptive power control based on pre package characterization of integrated circuits |
US7642835B1 (en) * | 2003-11-12 | 2010-01-05 | Robert Fu | System for substrate potential regulation during power-up in integrated circuits |
US7786756B1 (en) | 2002-12-31 | 2010-08-31 | Vjekoslav Svilan | Method and system for latchup suppression |
US7949864B1 (en) | 2002-12-31 | 2011-05-24 | Vjekoslav Svilan | Balanced adaptive body bias control |
AU2004243334B2 (en) * | 2003-05-28 | 2009-08-06 | Bm Alliance Coal Operations Pty Ltd | Method and apparatus for determining particle parameter and processor performance in a coal and mineral processing system |
JP4025260B2 (ja) * | 2003-08-14 | 2007-12-19 | 株式会社東芝 | スケジューリング方法および情報処理システム |
US7149913B2 (en) * | 2003-08-22 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Bus clock frequency management based on characteristics of an application program |
US7146519B2 (en) * | 2003-08-22 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Bus clock frequency management based on device bandwidth characteristics |
US7206960B2 (en) * | 2003-08-22 | 2007-04-17 | Hewlett-Packard Development Company, L.P. | Bus clock frequency management based on device load |
US7079904B1 (en) * | 2003-09-12 | 2006-07-18 | Itt Manufacturing Enterprises, Inc. | Adaptive software management |
US7692477B1 (en) | 2003-12-23 | 2010-04-06 | Tien-Min Chen | Precise control component for a substrate potential regulation circuit |
US7649402B1 (en) | 2003-12-23 | 2010-01-19 | Tien-Min Chen | Feedback-controlled body-bias voltage source |
US7012461B1 (en) | 2003-12-23 | 2006-03-14 | Transmeta Corporation | Stabilization component for a substrate potential regulation circuit |
US7129771B1 (en) | 2003-12-23 | 2006-10-31 | Transmeta Corporation | Servo loop for well bias voltage source |
US7859062B1 (en) | 2004-02-02 | 2010-12-28 | Koniaris Kleanthes G | Systems and methods for integrated circuits comprising multiple body biasing domains |
US7816742B1 (en) * | 2004-09-30 | 2010-10-19 | Koniaris Kleanthes G | Systems and methods for integrated circuits comprising multiple body biasing domains |
US7434171B2 (en) * | 2004-03-25 | 2008-10-07 | Intel Corporation | Performance control apparatus |
US7562233B1 (en) | 2004-06-22 | 2009-07-14 | Transmeta Corporation | Adaptive control of operating and body bias voltages |
US7774625B1 (en) | 2004-06-22 | 2010-08-10 | Eric Chien-Li Sheng | Adaptive voltage control by accessing information stored within and specific to a microprocessor |
US7295949B2 (en) * | 2004-06-28 | 2007-11-13 | Broadcom Corporation | Energy efficient achievement of integrated circuit performance goals |
US7353410B2 (en) | 2005-01-11 | 2008-04-01 | International Business Machines Corporation | Method, system and calibration technique for power measurement and management over multiple time frames |
US8108863B2 (en) * | 2005-12-30 | 2012-01-31 | Intel Corporation | Load balancing for multi-threaded applications via asymmetric power throttling |
JP4808108B2 (ja) * | 2006-08-29 | 2011-11-02 | パナソニック株式会社 | プロセッサシステム |
US7681054B2 (en) * | 2006-10-03 | 2010-03-16 | International Business Machines Corporation | Processing performance improvement using activity factor headroom |
JP2008225772A (ja) * | 2007-03-12 | 2008-09-25 | Hitachi Ltd | ストレージシステム及び省電力化のための管理情報取得方法 |
US7925901B2 (en) * | 2007-03-15 | 2011-04-12 | International Business Machines Corporation | Method and system for estimating processor utilization from power measurements |
US8725488B2 (en) * | 2007-07-26 | 2014-05-13 | Qualcomm Incorporated | Method and apparatus for adaptive voltage scaling based on instruction usage |
US7904287B2 (en) * | 2007-11-13 | 2011-03-08 | International Business Machines Corporation | Method and system for real-time prediction of power usage for a change to another performance state |
US7971102B2 (en) * | 2007-12-19 | 2011-06-28 | International Business Machines Corporation | Preemptive thermal management for a computing system based on cache performance |
US8615647B2 (en) | 2008-02-29 | 2013-12-24 | Intel Corporation | Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state |
JP4962396B2 (ja) * | 2008-04-23 | 2012-06-27 | 日本電気株式会社 | パケット処理装置 |
TWI374355B (en) * | 2008-08-22 | 2012-10-11 | Asustek Comp Inc | Computer system capable of dynamically changing core voltage/frequency of cpu |
TWI372330B (en) * | 2008-08-22 | 2012-09-11 | Asustek Comp Inc | Computer system capable of dynamically cahaging operation voltage and frequency of cpu |
US8311683B2 (en) * | 2009-04-29 | 2012-11-13 | International Business Machines Corporation | Processor cooling management |
US8972702B2 (en) * | 2009-11-30 | 2015-03-03 | Intenational Business Machines Corporation | Systems and methods for power management in a high performance computing (HPC) cluster |
US8527801B2 (en) | 2010-06-30 | 2013-09-03 | International Business Machines Corporation | Performance control of frequency-adapting processors by voltage domain adjustment |
US8732495B2 (en) | 2010-08-31 | 2014-05-20 | Integrated Device Technology, Inc. | Systems, apparatuses and methods for dynamic voltage and frequency control of components used in a computer system |
US8856571B2 (en) * | 2011-04-05 | 2014-10-07 | Apple Inc. | Adjusting device performance over multiple time domains |
JP5692137B2 (ja) * | 2012-03-28 | 2015-04-01 | 日本電気株式会社 | 消費電力制御装置、情報処理装置、消費電力制御方法、及びプログラム |
US9292060B1 (en) | 2012-06-28 | 2016-03-22 | Amazon Technologies, Inc. | Allowing clients to limited control on power consumed by the cloud while executing the client's tasks |
US9310864B1 (en) * | 2012-09-19 | 2016-04-12 | Amazon Technologies, Inc. | Monitoring and real-time adjustment of power consumption settings |
CN103454492B (zh) * | 2013-09-02 | 2016-02-17 | 万高(杭州)科技有限公司 | 电能计量信号处理器的运算频率控制方法 |
CN105765957A (zh) * | 2014-03-28 | 2016-07-13 | 联发科技股份有限公司 | 在电子装置中进行系统功率控制的方法和相关设备 |
US9671853B2 (en) * | 2014-09-12 | 2017-06-06 | Intel Corporation | Processor operating by selecting smaller of requested frequency and an energy performance gain (EPG) frequency |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222239A (en) * | 1989-07-28 | 1993-06-22 | Prof. Michael H. Davis | Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources |
US5752011A (en) * | 1994-06-20 | 1998-05-12 | Thomas; C. Douglas | Method and system for controlling a processor's clock frequency in accordance with the processor's temperature |
US5815693A (en) * | 1995-12-15 | 1998-09-29 | National Semiconductor Corporation | Processor having a frequency modulated core clock based on the criticality of program activity |
KR100468561B1 (ko) * | 1996-01-17 | 2005-06-21 | 텍사스 인스트루먼츠 인코포레이티드 | 중앙처리장치의동작특성에따라컴퓨터의동작을제어하는방법및시스템 |
US5812860A (en) * | 1996-02-12 | 1998-09-22 | Intel Corporation | Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption |
US5832284A (en) * | 1996-12-23 | 1998-11-03 | International Business Machines Corporation | Self regulating temperature/performance/voltage scheme for micros (X86) |
JP3961619B2 (ja) * | 1997-06-03 | 2007-08-22 | 株式会社東芝 | コンピュータシステムおよびその処理速度制御方法 |
-
1998
- 1998-05-20 JP JP13846598A patent/JP3573957B2/ja not_active Expired - Fee Related
-
1999
- 1999-05-14 US US09/311,926 patent/US6513124B1/en not_active Expired - Lifetime
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7228445B2 (en) | 2002-06-28 | 2007-06-05 | Kabushiki Kaisha Toshiba | Clock frequency control method and electronic apparatus |
EP1376314A1 (en) * | 2002-06-28 | 2004-01-02 | Kabushiki Kaisha Toshiba | Clock frequency control method and electronic apparatus |
JP2009277252A (ja) * | 2003-05-07 | 2009-11-26 | Mosaid Technologies Corp | 電力の島を使用した集積回路での電力の管理 |
US8782590B2 (en) | 2003-05-07 | 2014-07-15 | Conversant Intellectual Property Management Inc. | Power managers for an integrated circuit |
US8762923B2 (en) | 2003-05-07 | 2014-06-24 | Conversant Intellectual Property Management Inc. | Power managers for an integrated circuit |
WO2005066795A1 (ja) * | 2004-01-07 | 2005-07-21 | Hiroshi Nakamura | 半導体装置および半導体装置の電源電圧/クロック周波数制御方法 |
US8321711B2 (en) | 2004-01-30 | 2012-11-27 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device having a threshold voltage control function |
JP2005244212A (ja) * | 2004-01-30 | 2005-09-08 | Semiconductor Energy Lab Co Ltd | 半導体装置 |
US7836326B2 (en) | 2006-07-25 | 2010-11-16 | National University Corporation Nagoya University | Apparatus with variable pipeline stages via unification processing and cancellation |
KR101020008B1 (ko) | 2006-10-19 | 2011-03-09 | 인터내셔널 비지네스 머신즈 코포레이션 | 컴퓨터 프로세서 시스템을 위한 전력 관리 시스템 및 방법 |
WO2008120274A1 (ja) * | 2007-03-29 | 2008-10-09 | Fujitsu Limited | 演算能力を制御する処理装置 |
JP2010538371A (ja) * | 2007-08-27 | 2010-12-09 | マーベル ワールド トレード リミテッド | 動的コア切り替え |
JP2009159712A (ja) * | 2007-12-26 | 2009-07-16 | Fujitsu Ltd | 消費電力監視プログラム、消費電力監視装置、および消費電力監視方法 |
US8185753B2 (en) | 2007-12-26 | 2012-05-22 | Fujitsu Limited | Storage medium for storing power consumption monitor program, power consumption monitor apparatus and power consumption monitor method |
US8397097B2 (en) | 2008-04-09 | 2013-03-12 | Nec Corporation | Computer system and operating method thereof |
JP2012168660A (ja) * | 2011-02-10 | 2012-09-06 | Fujitsu Ltd | 情報抽出プログラム、情報抽出方法、および情報抽出装置 |
JP2014507719A (ja) * | 2011-09-21 | 2014-03-27 | エンパイア テクノロジー ディベロップメント エルエルシー | マルチコアシステムエネルギー消費最適化 |
JP2017049972A (ja) * | 2015-09-04 | 2017-03-09 | 聯發科技股▲ふん▼有限公司Mediatek Inc. | 電子システム及び関連するクロック管理方法 |
US9996138B2 (en) | 2015-09-04 | 2018-06-12 | Mediatek Inc. | Electronic system and related clock managing method |
US11281559B2 (en) | 2017-09-06 | 2022-03-22 | Fujitsu Limited | Information processing apparatus, information processing system, and storage medium |
JP2020198055A (ja) * | 2019-06-05 | 2020-12-10 | ファナック株式会社 | 制御装置 |
JP2022015605A (ja) * | 2020-07-09 | 2022-01-21 | 富士通株式会社 | 情報処理装置及び情報処理装置における制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3573957B2 (ja) | 2004-10-06 |
US6513124B1 (en) | 2003-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH11353052A (ja) | コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ | |
EP1361501B1 (en) | Power conservation and thermal management arrangements for computers | |
US7036030B1 (en) | Computer system and method of using temperature measurement readings to detect user activity and to adjust processor performance | |
US7058824B2 (en) | Method and system for using idle threads to adaptively throttle a computer | |
US7502952B2 (en) | Method and apparatus for thermal control of electronic components | |
US8402290B2 (en) | Power management for multiple processor cores | |
JP5547718B2 (ja) | 電源マネージャ及び電源管理方法 | |
US7051219B2 (en) | System and apparatus for adjusting a clock speed based on a comparison between a time required for a scheduler function to be completed and a time required for an execution condition to be satisfied | |
Liu et al. | Sleepscale: Runtime joint speed scaling and sleep states management for power efficient data centers | |
JP2008026948A (ja) | 半導体集積回路 | |
US8171319B2 (en) | Managing processor power-performance states | |
JP2008165798A (ja) | データ処理装置におけるプロセッサの性能管理 | |
JP3742364B2 (ja) | クロック周波数の制御方法および電子機器 | |
US20130173946A1 (en) | Controlling power consumption through multiple power limits over multiple time intervals | |
US8762744B2 (en) | Energy management system configured to generate energy management information indicative of an energy state of processing elements | |
JP2003271401A (ja) | 負荷監視機能を有するマイクロプロセッサ | |
Schöne et al. | Energy Efficiency Features of the Intel Alder Lake Architecture | |
US7903502B2 (en) | Automatic read of current time when exiting low-power state utility | |
Eiblmaier et al. | Power management for main memory with access latency control | |
US11347289B2 (en) | Enabling performance features for voltage limited processors | |
GB2626996A (en) | Power management | |
JPH08153057A (ja) | ディスク制御装置 | |
JPH0876875A (ja) | マイクロコンピュータ応用システム | |
JPH06168115A (ja) | 演算プロセッサ無演算継続ステップ命令方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040512 |
|
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: 20040608 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040630 |
|
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: 20070709 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080709 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080709 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090709 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100709 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110709 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |