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
Application number
JP10138465A
Other languages
English (en)
Other versions
JP3573957B2 (ja
Inventor
Sanehiro Furuichi
実裕 古市
Tatsu Aihara
達 相原
Susumu Shimotoono
享 下遠野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP13846598A priority Critical patent/JP3573957B2/ja
Priority to US09/311,926 priority patent/US6513124B1/en
Publication of JPH11353052A publication Critical patent/JPH11353052A/ja
Application granted granted Critical
Publication of JP3573957B2 publication Critical patent/JP3573957B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • 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

(57)【要約】 【課題】単位時間当たりのプロセッサにより実行された
ユーザ・モードの命令数及び単位時間当たりのプロセッ
サの総実行命令数を用いる、プロセッサの動作速度制御
方法を提供すること。 【解決手段】コンピュータのパフォーマンス指標の一つ
としてユーザ・モードの実行命令数Iuを、消費電力指
標の一つとして総実行命令数Itを用いる。これらのパ
ラメータは、エネルギー指標Eと、E∝It/Iuという
関係を有している。パフォーマンス指標の値をユーザ指
定の消費電力指標範囲において増大させる、又はエネル
ギー指標Eの値を減少させるように、CPUの動作速度
(動作周波数)を増減する。これにより、省電力とパフ
ォーマンスのバランスをとったパワーマネージメント処
理を実施することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータにお
ける省電力技術に関し、より詳しくは、プロセッサの動
作速度(又は動作周波数)を変更する方法に関する。
【0002】
【従来の技術】プロセッサの動作速度を減速することに
より消費電力を減少させる技術は多数ある。例えば、特
開平9−237132号公報は、CPUの負荷状態、バ
ッテリの残量、CPUの発熱温度状態に従って、クロッ
ク周波数の変更を指示し、これらのシステムの状況に応
じてクロック周波数を適正値に設定することを開示して
いる。本公報においてCPUの負荷状態は、OSに付属
するドライバソフトウエアにより、ある一定時間でのC
PU12のアイドル状態の回数から判断される。すなわ
ち、システムコントローラは、CPUがI/O又はメモ
リをアクセスするごとにビジー状態を示すフラグがセッ
トされるため、このフラグのセット回数に基づいてアイ
ドル状態の回数を認識してCPUの負荷状態を検出す
る。
【0003】さらに、特開平9−22317号公報(米
国特許出願第395335号1995年2月28日出願
の対応日本特許出願)は、CPUのアクティビティ及び
温度レベルのリアルタイムサンプルに基づいてCPUが
休止できるかをモニターが監視し、休止できればハード
ウエアセレクタがCPUのクロック時間を減少し、CP
UがアクティブであればCPUを前の高速クロックレベ
ルへ戻す、ポータブルコンピュータ用リアルタイム省電
力及び熱管理装置を開示している。モニターはコンピュ
ータの性能レベルを調整しCPUアクティビティ及び温
度のリアルタイムサンプリングに応答して省電力及び温
度管理を実施する。
【0004】また、特開平9−305569号公報(米
国特許出願第010135号1996年1月17日出願
の対応特許出願)は、ポータブルコンピュータのCPU
の動的動作特性を検出して活動レベルを予測し、電力節
約や電力管理を動的に行うため、CPUが第1クロック
で動作中に少なくとも1つの動的CPU動作特性を検出
し、このCPU動作特性がこの特性に関連する所定の設
定点に対して所定の関係を確立するか(設定点割り込み
条件が存在するか)判断し、設定点割り込み条件が存在
する場合には、第1クロックを変更して所定の設定点を
調整することを開示している。また、命令の数を数えて
その種類を決定することにより、入出力がほとんどない
計算指向モードにCPUが入るかどうかを決定する、と
いう事項も開示している。
【0005】
【発明が解決しようとする課題】しかし、従来技術で
は、コンピュータのパフォーマンスに関する指標(パフ
ォーマンス指標と呼ぶ)と消費電力に関する指標(消費
電力指標と呼ぶ)を参照し、プロセッサの動作速度を制
御する全てのアルゴリズムが開示されているわけではな
い。また、消費電力指標の値に対するパフォーマンス指
標の値の比で表されるエネルギー指標を参照する、プロ
セッサの動作速度制御のアルゴリズムは開示されていな
い。
【0006】よって、本発明は、パフォーマンス指標を
参照してプロセッサの動作速度を制御する新規な方法を
提供することが目的である。この際、パフォーマンス指
標に加えて消費電力指標を参照するようにしてもよい。
【0007】また、エネルギー指標を参照するプロセッ
サの動作速度制御方法を提供することが目的である。
【0008】さらに、パフォーマンス指標として、単位
時間当たりにプロセッサにより実行されたユーザ・モー
ドの命令数を用いる、プロセッサの動作速度制御方法を
提供することが目的である。
【0009】加えて、消費電力指標として、単位時間当
たりのプロセッサの総実行命令数を用いる、プロセッサ
の動作速度制御方法を提供することも目的である。
【0010】
【課題を解決するための手段】本発明の第1の態様は、
コンピュータにおけるプロセッサの動作速度を制御する
方法であって、第1所定期間における第1パフォーマン
ス指標の値を測定するステップと、プロセッサの動作速
度を変更するステップと、第2所定期間における第2パ
フォーマンス指標の値を測定するステップと、第1及び
第2パフォーマンス指標の値を参照して、プロセッサの
動作速度を変更する変更ステップとを含む。このように
パフォーマンス指標の値を動作速度変更の前後において
測定し、その測定結果を用いるようにすれば、パフォー
マンス指標の変化傾向に従って、例えば所定の条件でパ
フォーマンスをなるべく増大させるようにプロセッサの
動作速度を変更できる。なお、動作速度は、動作周波数
とほぼ同義であるが、実際の周波数を上下できない場合
には、動作期間と非動作期間を設け、その割合を制御す
ることにより、実質的な動作速度又は動作周波数を変更
する。
【0011】また、第3所定期間において消費電力指標
の値を測定するステップと、消費電力指標の値に基づ
き、プロセッサの動作速度を変更するステップとをさら
に含むようにすることも可能である。例えば、消費電力
指標の値により動作周波数を設定することも可能であ
る。
【0012】また、本発明の第2の態様は、パフォーマ
ンス指標及び消費電力指標の値を測定するステップと、
パフォーマンス指標の値と消費電力指標の値との比を参
照して、プロセッサの動作速度の変更方針を切り換える
ステップと、変更方針を参照して、プロセッサの動作速
度を変更する変更ステップとを含む。先に述べたエネル
ギー指標又はその逆数を用いて、プロセッサの動作速度
を変更するものである。変更方針は、例えばエネルギー
指標の変化率が大きい場合に、動作速度変更処理を最初
から実施し直す場合、又はエネルギー指標の逆数を所定
値にて区分し、それらの区分ごとに定義された動作速度
変更処理を実施するようにする場合等がある。
【0013】さらに、本発明の第3の態様は、パフォー
マンス指標及び消費電力指標の値を測定するステップ
と、パフォーマンス指標及び消費電力指標の値から、エ
ネルギー指標の値を計算するステップと、エネルギー指
標の値を減少させるように、プロセッサの動作速度を変
更するステップとを含む。エネルギー指標をより小さく
することは、より省電力で且つパフォーマンスも高い
(パフォーマンスの犠牲が小さい)ことを意味するの
で、より効率的なパワーマネージメントが行われること
となる。
【0014】また、プロセッサのユーザ・モード実行命
令数を用いる本発明の第4の態様は、第1所定期間にお
ける、実行されたユーザ・モード命令数Iuをカウント
するステップと、Iuを参照して、プロセッサの動作速
度を変更する変更ステップとを含む。ユーザ・モードの
実行命令数は、パフォーマンス指標の1つの例であっ
て、ユーザ・モードの実行命令数を多く実行すれば、ユ
ーザから見てタスク・パフォーマンスが高くなる。よっ
て、このユーザ・モード実行命令数を多くするように動
作周波数を変更する。但し、動作周波数を上げてもユー
ザ・モード実行命令数がそれに見合う程常に増加するわ
けではない。
【0015】上記の変更ステップ実施後、再度Iuをカ
ウントし、再度変更ステップを実施してもい。これによ
り、動作速度の変更の効果をフィードバックすることが
できる。
【0016】また、第2所定期間における、実行された
ユーザ・モード命令数Iu2をカウントするステップと、
uからIu2への変化率が所定値より大きい場合、プロ
セッサの動作速度を所定値に設定するステップとを含む
ようにしてもよい。これにより、プロセッサが実行して
いるタスクの種類の変更を検出する。
【0017】第2所定期間における総実行命令数It
カウントするステップをさらに含むようにすることもで
きる。この総実行命令数は、消費電力指標の一つであ
り、このカウント値を用いて動作速度を制御することも
可能である。総実行命令数の割にはユーザ・モード実行
命令数が少ない場合もありうる。この場合には、ユーザ
のタスクはあまり実行されていないことになるので、ユ
ーザから見たタスク・パフォーマンスという点では動作
速度の変更の余地がある。
【0018】よって、第1所定期間と第2所定期間を同
じにして、ItとIuの比を参照して、動作速度の変更制
御モード又は変更制御フローを切り換えるステップを実
行してもよい。例えば、ItとIuの比をもって、ユーザ
命令指向のモードとシステム命令指向のモードを分ける
ことも、またItとIuの比の変化率等で変化制御フロー
を切り換えたりすることもできる。
【0019】また、ItとIuの比により動作周波数を変
更し、さらに変更後の状態で再度I tとIuをカウントし
て、動作周波数変更の効果をフィードバックすることも
できる。
【0020】また、所定期間における、実行されたユー
ザ・モード命令数Iuをカウントするステップと、所定
期間における総実行命令数Itをカウントするステップ
と、ItとIuの比を参照して、プロセッサの動作速度を
変更する変更ステップとを含むようにすることもでき
る。その際には、動作速度の変更方針を切り換えるステ
ップと、変更方針を参照して、プロセッサの動作速度を
変更するステップを含むようにすることも可能である。
【0021】以上、本発明の各態様を処理フローの形式
で説明したが、それぞれの処理を実施する電子回路や、
その他の装置を用いて本発明を実施することもできる。
特に、ItとIuとをカウントする回路はプロセッサに内
蔵される場合もある。また、本発明で必要な各ステップ
を実施するプログラムを作成することも可能である。こ
のプログラムは、自身でIt及びIuのカウントをせず、
専用の回路にてカウントされた値を読み出して、その値
に基づき動作速度変更の設定を行うようにすることもで
きる。プログラムは、記憶装置に記憶されており、流通
段階においては、CD−ROMやフロッピー・ディスク
などの記憶媒体に格納されていることもある。
【0022】
【発明の実施の形態】図1に本発明に関連する部分に関
するコンピュータ1の構成例を示す。コンピュータ1の
ハードウエア部分は、CPU(Central Processing Uni
t)3と、クロック発振器9と、コントローラ11と、
センサ13を含む。なお、センサには、温度センサや、
電流計測器、電力計測器等が考えられる。センサ13
は、他で必要な情報を取得できる場合には不要である。
また、コンピュータ1のソフトウエア部分には、OS
(Operating System)5及びアプリケーション・プログ
ラム7を含み、OS5にはパワーマネージメント・ドラ
イバ15を含む。このパワーマネージメント・ドライバ
15は、制御部19とタイマ21を含んでいる。
【0023】本発明をハードウエアのみで実施する場
合、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内に組み
込むことも考えられる。
【0024】本発明をソフトウエアのみで実施する場
合、パワーマネージメント・ドライバ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に処理を実施させるようにする。
【0025】上で述べた、単位時間当たりの総実行命令
数及びユーザ・モードの実行命令数は、パーソナル・コ
ンピュータにおいてよく用いられている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に格納された値の変化量
で、総実行命令数の変化量又はユーザ・モードの実行命
令数の変化量を割れば、単位時間当たりの総実行命令数
又はユーザ・モードの実行命令数を得ることができる。
【0026】本発明では、コントローラ11及び制御部
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がより高くなるように制御する。
【0027】なお、消費電力指標として用いることがで
きる情報としては、所定時間内の総実行命令数、センサ
13が温度センサである場合には温度から計算される熱
量、センサ13が電流計測器である場合には測定された
電流値、センサ13が電力計測器である場合には測定さ
れた電力値、等が考えられる。また、パフォーマンス指
標としては、所定時間内のユーザ・モードの実行命令
数、キャッシュミス率、ノンキャッシャブルメモリへの
アクセス数、I/O命令比率、OS5又はアプリケーシ
ョン・プログラム7からのハードウエア使用に関する情
報(例えば、タスクごとのCPU占有率、プロセスの優
先度、アプリケーション・プログラムの要求、又はそれ
らの組み合わせ)が考えられる。エネルギー指標は、上
述の式から得られる。
【0028】以上のようなパフォーマンス指標及び電力
指標の値を取得し、それらを用いて目標を達成するよう
な制御フローを以下に述べる。
【0029】(1)エネルギー指標Eを減少させるため
の処理フロー (a)第1例 エネルギー指標Eの最小化を目標とする第1例の処理フ
ローを図2に示す。最初に、CPU3の動作速度f
i(iは図2における繰り返しの回数を示す)を最大値
maxに設定する(ステップ103)。そして、その時
のエネルギー指標E(fi)を取得(測定)する(ステッ
プ105)。先に述べたとおり、パフォーマンス指標V
及び消費電力指標Pを測定して、計算にて取得する。も
し、|(E(fi)−E(fi-1))/ΔT|が所定のしき
い値E0を超えている場合(エネルギー指標Eの変化量
がしきい値E0を超えている場合)には、CPUが実行
しているタスクの性質が切り替わったと判断して、処理
をステップ103に戻す。このようにエネルギー指標E
を参照して、CPU3の動作速度の変更処理フローを切
り換える。なお、ΔTは図2におけるステップ105か
ら次のステップ105までのループの実行間隔であっ
て、例えば数百μs程度である。
【0030】タスクの性質が切り替わっていないようで
あれば(図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を設定する(Δ
1だけ高速化する。ステップ115)。このように第
1例では、Eの値を参照して、CPU3の動作速度の変
更方針を決定している。なお、本例ではΔf1はΔf0
り大きな値とするが、同じでも問題ない。そして、iを
1インクリメントしてステップ105に戻る(ステップ
119)。
【0031】この処理を繰り返し実施することにより、
エネルギー指標Eを最小化するようにCPU3の動作速
度(又は駆動周波数)fを変更する。
【0032】(2)第2例 図3にエネルギー指標Eを減少させるための処理フロー
を示す。本処理フローでは、エネルギー指標Eは最低に
はならないが、エネルギー指標Eをある許容範囲内に収
めるようになっている。なお、第2例ではV/P=1/
E=Rという値を導入する。単位時間当たりの総実行命
令数It及びユーザ・モードの実行命令数Iuを用いて処
理を実行する場合には、Rは、ユーザ・モードの実行命
令数の割合を示しており、所定のしきい値R1Hより高い
場合には、CPU3はユーザ命令指向の状態にあると言
える。また、Rが所定のしきい値R1Lより低い場合に
は、CPU3はシステム命令指向の状態にあると言え
る。
【0033】まず、CPU3の動作速度fをfmaxに設
定する(ステップ123)。そして、fmaxの時のRの
値R0が所定のしきい値R1Hを超えているかどうか判断
する(ステップ125)。もし、超えていない場合に
は、R0が所定のしきい値R1Lより小さいかどうか判断
する(ステップ135)。もし、R0が所定のしきい値
R1 L以上である場合には、R0はR1L≦R0≦R1Hであっ
て、エネルギー指標Eは許容範囲内に収まっており、こ
れ以上の制御は必要ないとして、ステップ133に移行
する。
【0034】一方、R0がR1Hより大きい場合には、C
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に移行
する。
【0035】また、R0<R1Lを満たす場合(ステップ
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に移行
する。
【0036】以上のように、第2例ではR1H及びR1L
用いて、CPU3の動作速度の変更処理モード(変更処
理方針)を設定し、それに基づき処理を実施している。
ステップ127及びステップ137のΔfは同じでも異
なる値でもよい。
【0037】ステップ133では、パフォーマンス指標
Vの変化率の絶対値を検査する。すなわち、パフォーマ
ンス指標Vの変化率の絶対値が所定のしきい値R4を超
えたかどうか判断する。この処理は定期的に又は必要に
応じて行なわれ、この条件が満たされないうちは、同じ
動作速度でCPU3を動作させる。この条件が満たされ
た時には、CPU3で処理されるタスクの種類が変更さ
れたとしてステップ123に戻る。パフォーマンス指標
Vにより処理フローが変更されたと考えることもでき
る。
【0038】R1H及びR1Lは同じ値でもよい。また、R
2及びR3も同一でもよい。これらの定数及びR4は、固
定にしてもよいし、場合によっては動的に変更すること
も可能である。
【0039】第1及び第2例ともエネルギー指標E(よ
り一般的には、パフォーマンス指標と消費電力指標Pの
比)に着目して行われる処理フローである。
【0040】(2)パフォーマンス指標Vを増大させる
ための処理フロー (a)第1例 本例はエネルギー指標Eを用いない。但し、消費電力指
標Pを用いてCPU3の動作速度を変更する処理を含
む。なお、CPU3の動作速度の初期値P(f1)は設定
できる最大値fmaxに設定されている。まず、動作速度
iにおける消費電力指標P(fi)を取得する(ステッ
プ153)。fのサフィックスは、図4の処理の繰り返
し数を表す。そして、P(fi)が、ユーザ指定のPmin
及びPmaxの間にあるかどうか判断する(ステップ15
5)。もし、Pmax以上である場合、又はPmin以下であ
る場合には、fiへの変更が不適当であった、又はfi
定後にタスクの性質が切り替わった場合であるから、一
旦fiをfi-1(前回図4の処理を開始する際の動作速
度)に戻す(ステップ157)。
【0041】ステップ155又はステップ157の後、
iにおけるパフォーマンス指標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)。
【0042】以上の処理を所定時間間隔又は必要に応じ
て実施する。ユーザ指定の省電力指標に従い、省電力と
パフォーマンスの両方のバランスをとることができる。
なお、第1例ではΔf0 +とΔf0 -は、それぞれΔf1 +
Δf1 -より小さいものとして考えているが、同じ値であ
ってもよい。また、上付サフィックス+及び−は異なる
値でも同じ値でもよい。
【0043】(b)第2例 図5に、パフォーマンス指標Vを増大させるための処理
フローの第2例を示す。第2例では、パフォーマンス指
標Vの変化率を考慮して、動作速度変更の処理フローを
切り換える。なお、図5に示されている処理は、第i回
目の繰り返し処理である。この処理は、所定間隔で又は
必要に応じて繰り返し実行される。なお、CPU3の動
作速度の初期値P(f1)は設定できる最大値fmaxに設
定されている。
【0044】まず、設定されているCPU3の動作速度
iにおける消費電力指標P(fi)を取得する(ステッ
プ183)。そして、ユーザ指定のPmaxと比較する
(ステップ185)。もし、PmaxよりP(fi)が大き
い場合には、消費電力を減らずべく、fi+1=fi−Δf
1を設定する(ステップ189)。また、ユーザ指定の
minとP(fi)を比較し(ステップ187)、もしP
minより小さければ、パフォーマンス指標の値を上げる
ためにCPU3の動作周波数を上げることができるの
で、fi+1=fi+Δf1を設定する(ステップ19
1)。
【0045】ステップ185及びステップ187の条件
を両方満たしていない場合には、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を設定できる最大値
maxに設定する(ステップ207)。タスクの種類が
切り換えられていない場合には、ステップ203又はス
テップ201において設定されたままで、処理を終了す
る(ステップ209)。
【0046】以上の処理を実行することにより、ユーザ
指定の消費電力指標とパフォーマンスの両方のバランス
をとることができる。なお、第2例ではΔf0はΔf1
り小さいと考えているが、同じ値であってもよい。
【0047】(3)第3例 本例は、図5を発展させたアルゴリズムである。まず、
J=(dV/dP)/(V/P)という、V/Pで正規
化された指標Jを導入する。このJの最小値であるJ
minをさらに規定しておく。このJが1.0より大きい
又は1.0程度の値である場合には、より多くの電力が
供給されるとJの分子は減少せずにJ自体も増加する。
よって、より多くの電力を供給した時にパフォーマンス
に改善の余地があるということを示す。一方、このJが
1.0より小さい(J<Jmin)ならば、より多くの電
力が供給されてもJの分子は減少し、パフォーマンスの
改善にはつながらないということを示している。
【0048】さらに、タスク特性の変化を検出するため
に、S=|Vi/Pi−V0/P0|/(V0/P0)という
指標Sを導入する。ここでVi及びPiは、それぞれその
初期値である。Vi及びP は、それぞれ最新のV及びP
である。タスク特性の変化を検出するためのしきい値S
maxも規定しておく。
【0049】加えて、プロセッサの動作速度を最高にし
た時の各タスクの実行数をカウントするための指標Coun
tも導入する。これは、タスクが安定状態になる前にプ
ロセッサの動作速度を変えてしまったり、動作速度の変
更をあまりに多くしないようにするために用いられる。
よって、タスクが安定状態になったということを判断す
るためのしきい値をCとする。
【0050】図6にこれらの指標を用いたプロセッサの
動作速度調整アルゴリズムの一例を示す。このアルゴリ
ズムは図6に示すように、タスクごとに行われ、各変数
は各タスクごとに保存される。まず、このタスクAが新
たなタスクであるかどうか判断される(ステップ22
1)。もし、新たなタスクであれば、処理状態を表わす
変数Searchをstart状態に設定し、先に述べたCountを初
期値0に設定し、プロセッサの動作速度Speedを最高速
度MAXに設定する(ステップ223)。もし、タスクA
が新たなタスクでない場合には、前回タスクAについて
決定された変数値を取り出す。そして、プロセッサの動
作速度をSpeedに設定し、P及びVの測定を開始する
(ステップ225)。そして、タスクAを実行する(ス
テップ227)。もし、タスクAが新たなタスクであれ
ば、ここで取得されるP及びVは、P0及びV0となり、
次のタスクにスイッチする。
【0051】その後、プロセッサ速度をその最高速度MA
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であれば、次のタスクにスイッチする。
【0052】そうでなければ、J<Jminであるか判断
する(ステップ239)。この条件に合致しない場合に
は、プロセッサの動作速度を減少させることができるの
で、Speedを一段階(Δf)減速するようにセットする
(ステップ243)。すなわち、Speed=Speed-1とす
る。そして、次のタスクにスイッチする。一方、ステッ
プ239の条件を満たしていない場合には、これ以上減
速できないので、一回前のプロセッサ動作速度に戻し
(Speed=Speed+1)、処理状態Searchを終了状態Endに変
更する(ステップ241)。この後、次のタスクにスイ
ッチする。
【0053】以上の処理は、タスクのスイッチを行うO
Sのスケジューラが行う。なお、上で述べたパワーマネ
ージメント・ドライバと協動してもよい。
【0054】以上のような処理をコントローラ11又は
パワーマネージメント・ドライバ15内の制御部19に
より実施する。なお、図1のブロック図は一例であっ
て、例えばタイマ21はパワーマネージメント・ドライ
バ15内に設けているが、OS5の他の部分にて有する
タイマを用いても、ハードウエアのタイマを使用しても
よい。さらに、センサ自体をCPU13が含むようにす
ることも可能である。本発明のコントローラ11は、他
の周辺回路と一緒のチップに実装しても別個に実装して
もよい。図1ではアプリケーション・プログラム7は1
つしか描かれていないが、当然複数実行されている場合
もある。なお、図1では機能ブロック間の参照のための
線を必要と考えられる部分のみ描いているが、機能間で
図1に描かれていない参照を設けることも可能である。
【0055】また図2乃至図6に示したアルゴリズムは
一例であって、CPU3の動作速度を目的に応じて調整
できるようなアルゴリズムであれば、図2乃至図6と異
なっていてもよい。また、OS5に他のパワーマネージ
メント機能(例えばAPMドライバ(Advanced Power Manag
ement)が含まれている場合には、それらとの整合をとる
必要がある場合も生じ得る。
【0056】
【効果】パフォーマンス指標を参照してプロセッサの動
作速度を制御する新規な方法を提供することができた。
また、消費電力指標も参照するような方法も提供でき
た。
【0057】また、エネルギー指標を参照するプロセッ
サの動作速度制御方法を提供することができた。
【0058】さらに、パフォーマンス指標として、所定
期間においてプロセッサにより実行されたユーザ・モー
ドの命令数を用いる、プロセッサの動作速度制御方法を
提供することができた。
【0059】加えて、消費電力指標として、所定期間に
おけるプロセッサの総実行命令数を用いる、プロセッサ
の動作速度制御方法を提供することもできた。
【図面の簡単な説明】
【図1】本発明の装置構成例を示したブロック図であ
る。
【図2】エネルギー指標を減少させるための第1処理フ
ローを示した図である。
【図3】エネルギー指標を減少させるための第2処理フ
ローを示した図である。
【図4】パフォーマンス指標を増大させるための第1処
理フローを示した図である。
【図5】パフォーマンス指標を増大させるための第2処
理フローを示した図である。
【図6】パフォーマンス指標を増大させるための第3処
理フローを示した図である。
【符号の説明】
1 コンピュータ 3 CPU 3a MSR 5 OS 7 アプリケーション・プログラム 9 クロック発振器 11 コントローラ 13 センサ 15 パワーマネージメント・ドライバ 19 制御部 21 タイマ
【手続補正書】
【提出日】平成11年1月29日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0041
【補正方法】変更
【補正内容】
【0041】ステップ155又はステップ157の後、
iにおけるパフォーマンス指標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)。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0045
【補正方法】変更
【補正内容】
【0045】ステップ185及びステップ187の条件
を両方満たしていない場合には、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)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 相原 達 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内 (72)発明者 下遠野 享 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 東京基礎研究所 内

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】コンピュータ内のプロセッサの動作速度を
    制御する方法であって、 第1所定期間における、実行されたユーザ・モード命令
    数Iuをカウントするステップと、 前記Iuを参照して、前記プロセッサの動作速度を変更
    する変更ステップと、を含む動作速度制御方法。
  2. 【請求項2】前記変更ステップ実施後、再度Iuをカウ
    ントし、再度前記変更ステップを実施することを特徴と
    する請求項1記載の動作速度制御方法。
  3. 【請求項3】第2所定期間における、実行されたユーザ
    ・モード命令数Iu2をカウントするステップと、 前記Iuから前記Iu2への変化率が所定値より大きい場
    合、前記プロセッサの動作速度を所定値に設定するステ
    ップと、 をさらに含む請求項1記載の動作速度制御方法。
  4. 【請求項4】第2所定期間における総実行命令数It
    カウントするステップをさらに含む、請求項1記載の動
    作速度制御方法。
  5. 【請求項5】前記Itを参照して、前記プロセッサの動
    作速度を変更する変更ステップをさらに含む請求項4記
    載の動作速度制御方法。
  6. 【請求項6】前記第1所定期間と前記第2所定期間が同
    一であることを特徴とする請求項4記載の動作速度制御
    方法。
  7. 【請求項7】前記変更ステップが、 前記ItとIuの比を参照して、当該動作速度の変更制御
    モードを切り換えるステップを含む請求項6記載の動作
    速度制御方法。
  8. 【請求項8】前記変更ステップが、 前記ItとIuの比を参照して、当該動作速度の変更制御
    フローを切り換えるステップを含む請求項6記載の動作
    速度制御方法。
  9. 【請求項9】前記変更ステップ実施後、再度It及びIu
    をカウントし、当該ItとIuとの比を参照して、前記プ
    ロセッサの動作周波数を変更するステップをさらに含む
    請求項6記載の動作速度制御方法。
  10. 【請求項10】コンピュータ内のプロセッサの動作速度
    を制御する方法であって、 所定期間における、実行されたユーザ・モード命令数I
    uをカウントするステップと、 前記所定期間における総実行命令数Itをカウントする
    ステップと、 前記ItとIuの比を参照して、当該動作速度の変更方針
    を切り換えるステップと、 前記変更方針を参照して、前記プロセッサの動作速度を
    変更する変更ステップと、 を含む動作速度制御方法。
  11. 【請求項11】コンピュータ内のプロセッサの動作速度
    を制御する方法であって、 第1所定期間における第1パフォーマンス指標の値を測
    定するステップと、 前記プロセッサの動作速度を変更するステップと、 第2所定期間における第2パフォーマンス指標の値を測
    定するステップと、 前記第1及び第2パフォーマンス指標の値を参照して、
    前記プロセッサの動作速度を変更する変更ステップと、 を含む動作速度制御方法。
  12. 【請求項12】第3所定期間において消費電力指標の値
    を測定するステップと、 前記消費電力指標の値に基づき、前記プロセッサの動作
    速度を変更するステップとをさらに含む請求項11記載
    の動作速度制御方法。
  13. 【請求項13】前記変更ステップが、 パフォーマンスが増大するように、前記プロセッサの動
    作速度を変更するステップを含む請求項11記載の動作
    速度制御方法。
  14. 【請求項14】コンピュータのプロセッサの動作速度を
    制御する方法であって、 パフォーマンス指標及び消費電力指標の値を測定するス
    テップと、 前記パフォーマンス指標の値と前記消費電力指標の値と
    の比を参照して、プロセッサの動作速度の変更方針を切
    り換えるステップと、 前記変更方針を参照して、前記プロセッサの動作速度を
    変更する変更ステップと、 を含む動作速度制御方法。
  15. 【請求項15】コンピュータのプロセッサの動作速度を
    制御する方法であって、 パフォーマンス指標及び消費電力指標の値を測定するス
    テップと、 前記パフォーマンス指標及び前記消費電力指標の値か
    ら、エネルギー指標の値を計算するステップと、 前記エネルギー指標の値を減少させるように、前記プロ
    セッサの動作速度を変更するステップと、 を含む動作速度制御方法。
  16. 【請求項16】所定期間における、プロセッサにより実
    行されたユーザ・モード命令数Iuをカウントする第1
    カウンタと、 前記Iuを参照して、前記プロセッサの動作速度を変更
    するコントローラと、を有するコンピュータ。
  17. 【請求項17】前記所定期間における、前記プロセッサ
    の総実行命令数Itをカウントする第2カウンタをさら
    に有し、 前記コントローラが、 前記IuとItの比を参照して、前記プロセッサの動作速
    度を変更する請求項16記載のコンピュータ。
  18. 【請求項18】コンピュータのパフォーマンス指標の値
    を測定する測定器と、 前記コンピュータ内のプロセッサの動作速度を変更する
    コントローラと、 を有し、 前記測定器は、第1所定期間において第1のパフォーマ
    ンス指標の値を測定し、 その後前記コントローラは、前記プロセッサの動作速度
    を変更し、 前記測定器は、当該動作速度変更後、第2所定期間にお
    いて第2のパフォーマンス指標の値を測定し、 前記コントローラは、前記第1及び第2のパフォーマン
    ス指標の値を参照して、前記プロセッサの動作速度を変
    更するコンピュータ。
  19. 【請求項19】前記コントローラは、前記第1及び第2
    のパフォーマンス指標の値を参照して、パフォーマンス
    が増大するように、前記プロセッサの動作速度を変更す
    る請求項18記載のコンピュータ。
  20. 【請求項20】コンピュータのパフォーマンス指標の値
    を測定する第1測定器と、 前記コンピュータの消費電力指標の値を測定する第2測
    定器と、 前記パフォーマンス指標の値と前記消費電力指標の値と
    の比を参照して、前記プロセッサの動作速度を変更する
    コントローラと、 を有するコンピュータ。
  21. 【請求項21】コンピュータのパフォーマンス指標の値
    を測定する第1測定器と、 前記コンピュータの消費電力指標の値を測定する第2測
    定器と、 前記パフォーマンス指標及び前記消費電力指標の値か
    ら、エネルギー指標の値を計算し、当該エネルギー指標
    の値を減少させるように、前記プロセッサの動作速度を
    変更するコントローラと、 を有するコンピュータ。
  22. 【請求項22】コンピュータ内のプロセッサの動作速度
    を当該プロセッサに変更させるプログラムを格納する記
    憶媒体であって、 前記プログラムは、前記プロセッサに、 所定期間における、実行されたユーザ・モード命令数I
    uのカウントを読み出すステップと、 前記Iuを参照して、前記プロセッサの動作速度を設定
    する設定ステップと、 を実行させる、記憶媒体。
  23. 【請求項23】前記所定期間における総実行命令数It
    のカウントを読み出すステップをさらに実行させ、 前記設定ステップは、 前記ItとIuの比を参照して、前記動作速度の変更制御
    フローを切り換えるステップを含む、請求項22記載の
    記憶媒体。
  24. 【請求項24】コンピュータ内のプロセッサの動作速度
    を当該プロセッサに変更させるプログラムを格納した記
    憶媒体であって、 前記プログラムは、前記プロセッサに、 所定期間における、実行されたユーザ・モード命令数I
    uのカウントを読み出すステップと、 前記所定期間における総実行命令数Itのカウントを読
    み出すステップと、 前記ItとIuの比を参照して、前記プロセッサの動作速
    度を設定するステップと、 を実行させる、記憶媒体。
  25. 【請求項25】コンピュータ内のプロセッサの動作速度
    を前記プロセッサに変更させるプログラムを格納した記
    憶媒体であって、 前記プログラムは、前記プロセッサに、 第1所定期間における第1パフォーマンス指標の測定結
    果を読み出すステップと、 前記プロセッサの動作速度の変更を命ずるステップと、 第2所定期間における第2パフォーマンス指標の測定結
    果を読み出すステップと、 前記第1及び第2パフォーマンス指標の値を参照して、
    前記プロセッサの動作速度を設定するステップと、 を実行させる、記憶媒体。
  26. 【請求項26】コンピュータのプロセッサの動作速度を
    前記プロセッサに変更させるプログラムを格納した記憶
    媒体であって、 前記プログラムは、前記プロセッサに、 パフォーマンス指標及び消費電力指標の測定結果を読み
    出すステップと、 前記パフォーマンス指標の値と前記消費電力指標の値と
    の比を参照して、前記プロセッサの動作速度を設定する
    ステップと、 を実行させる、記憶媒体。
  27. 【請求項27】コンピュータのプロセッサの動作速度を
    前記プロセッサに変更させるプログラムを格納した記憶
    媒体であって、 パフォーマンス指標及び消費電力指標の測定結果を読み
    出すステップと、 前記パフォーマンス指標及び前記消費電力指標の値か
    ら、エネルギー指標の値を計算するステップと、 前記エネルギー指標の値を減少させるように、前記プロ
    セッサの動作速度を設定するステップと、 を実行させる、記憶媒体。
JP13846598A 1998-05-20 1998-05-20 コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ Expired - Fee Related JP3573957B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社東芝 コンピュータシステムおよびその処理速度制御方法

Cited By (22)

* Cited by examiner, † Cited by third party
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