JPH09305569A - Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置 - Google Patents

Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置

Info

Publication number
JPH09305569A
JPH09305569A JP9006718A JP671897A JPH09305569A JP H09305569 A JPH09305569 A JP H09305569A JP 9006718 A JP9006718 A JP 9006718A JP 671897 A JP671897 A JP 671897A JP H09305569 A JPH09305569 A JP H09305569A
Authority
JP
Japan
Prior art keywords
cpu
clock
interrupt
power
dynamic operating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9006718A
Other languages
English (en)
Inventor
Lavaughn F Watts Jr
エフ.ワッツ ラボーフン
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPH09305569A publication Critical patent/JPH09305569A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • 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
    • G06F11/3419Recording 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 by assessing time
    • G06F11/3423Recording 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 by assessing time where the assessed time is active or idle time
    • 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

Abstract

(57)【要約】 【課題】 ポータブルコンピュータのCPUの動的動作
特性を検出して活動レベルを予測し、電力節約や温度管
理を動的に行う方法と装置を提供する。 【解決手段】 CPUが第1クロック速度で動作中に
(134)少なくとも1つの動的CPU動作特性を検出
する(140)方法と回路を含む。この装置(130)
は、少なくとも1つの検出されたCPUの動的動作特性
が前記少なくとも1つの動的動作特性に関連する所定の
設定点に対して所定の関係を確立する(140)ことに
より、設定点割り込み条件が存在するかどうかを決定す
る(140)。設定点割り込み条件が存在する場合は、
第1クロック速度に対してクロック速度を制御する(1
44)。設定点割り込み条件が存在しない場合は、割り
込み条件を決定してクロック速度を制御する上記ステッ
プを繰り返す。またこの方法と装置(130)はCPU
が計算指向状態にあるかどうかを決定する(142)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は実時間のコンピュ
ータ中央処理装置(CPU)制御に関し、より詳しく
は、中央処理装置(CPU)内の実時間活動レベルから
生じるCPU温度や温度の変化や電力消費などの動的動
作特性を検出し、これに基づいてCPUのクロック速度
を調整する装置と方法に関する。
【0002】
【従来の技術】パーソナルコンピュータ産業の初期の発
展段階では、移動可能なポータブルコンピュータは非常
に人気があった。初期のポータブルコンピュータは大き
な電源を用いており、実際は小型のデスクトップパーソ
ナルコンピュータであった。しかし現在のポータブルコ
ンピュータはデスクトップパーソナルコンピュータにく
らべて小型で軽く、しかもユーザはデスクトップコンピ
ュータと同じソフトウエアを用いることができる。
【0003】第1世代の「ポータブル」コンピュータは
交流電力だけで動作した。より新しい次世代のパーソナ
ルコンピュータは電池を使っているので真の意味でポー
タブルである。このように可搬性が向上したのは、ディ
スプレイ技術や、ディスクの記憶容量や、要素の重量お
よび容積技術が発達したためである。
【0004】このような発達によってポータブルコンピ
ュータの大きさは減少したが、動作上の限界はまだ存在
する。たとえば、現在のポータブルコンピュータが用い
るソフトウエアはデスクトップパーソナルコンピュータ
が用いるものと一般に同じである。したがって、電池で
動作するポータブルコンピュータに特有の機能的限界や
考慮すべき点があるにもかかわらず、ポータブルコンピ
ュータはデスクトップコンピュータの機能をすべて備え
なければならない。ポータブルコンピュータは一方では
デスクトップコンピュータと同じデータ流れ速度を持つ
が、他方では電力供給が短時間に限られ、またデスクト
ップコンピュータにくらべて熱放散能力が限られてい
る。現在のポータブルコンピュータは用いるソフトウエ
アの異なるプラットフォームに対して特別の対応策を持
たない。オペレーティングシステム(たとえばMS−D
OS)や、基本入出力システム(BIOS)ソフトウエ
アや、第三者の応用ソフトウエアは、ポータブルコンピ
ュータでもデスクトップコンピュータでも実質的に同じ
である。これは特に、CPUの異なる動的動作特性をソ
フトウエアシステムが処理する方法において当てはま
る。
【0005】ソフトウエア技術者やプログラマがより高
機能のソフトウエアシステムを開発するに従って、デス
クトップコンピュータはシステム性能の実質的にすべて
の分野において性能を高めることができる。演算能力を
高めたCPUの採用から始まってメモリ容量の増加やデ
ィスクドライブの高速高性能化まで、デスクトップコン
ピュータの動作能力に対する要求は急速に高まってい
る。ポータブルコンピュータのメーカーは、このような
要求に何とかついてゆくしかない。
【0006】しかし現在まで、ポータブルコンピュータ
は交流電力でだけか、または大きくて重い電池で動作し
ている。デスクトップコンピュータや新しいソフトウエ
アの性能要求に追従するため、ポータブルコンピュータ
の中には高価な要素を用いて必要電力を削減しているも
のがある。それでも、コンピュータ用の重い電池は長時
間にわたって電力を供給することができない。つまり従
来のポータブルコンピュータのユーザは、第三者の応用
ソフトウエアシステムが期待する性能を出すためには、
電源配線から得た交流電流を用いるか、電池で短時間だ
け動作するかしかない。
【0007】
【発明が解決しようとする課題】電力を節約する、すな
わち電池で長く動作できるポータブルコンピュータを設
計するため、ユーザがコンピュータを使用していない間
はポータブルコンピュータの電力消費を減らすようにし
たポータブルコンピュータ電源方式もある。またある設
計では、キーボードを用いていないときはコンピュータ
のディスプレイを消すことにより電力を節約する。この
ような方式はたしかに電力を節約するが、コンピュータ
の動作を妨げるので実用的でないか、またはコンピュー
タの中で最大の電力消費が起こったときに電力を節約す
ることができない。これまでのポータブルコンピュータ
の電力節約方式は、意味のある仕事にユーザがコンピュ
ータを使っているときは電力を節約することができな
い。
【0008】しかしポータブルコンピュータの電力供給
方式の問題はこれだけではない。現在のポータブルコン
ピュータシステムには、CPUの動的動作特性に応える
ような知的なシステムがない。CPUの動的動作特性
は、CPU温度や、温度の変化や、電力消費などの広範
囲の特性を含む。電池の電力の節約や最適な使用を管理
する方法や装置は存在しない。CPUが複雑な命令を計
算するときに、高速で動作する高密度の電子回路の温度
を適切に監視して管理する方法や装置は存在しない。さ
らに、CPUを入出力回路から実際上切り離したとき
に、CPUの動的動作特性から望ましくない影響が起こ
らないようにする方法も装置も存在しない。起こり得る
望ましくない状態または影響とは、CPUが過度に電力
を消費することや、入出力機能を含まない大量の命令を
CPUが実行するときに過大な温度に達することなどで
ある。
【0009】
【課題を解決するための手段】CPU内の活動レベルを
予測し、この予測を用いてCPUの動的動作特性を自動
的に管理する装置と方法が必要である。
【0010】ユーザが自動的な活動レベルの予測を修正
し、この修正した予測を用いてCPUの動的動作特性を
自動的に管理することができる、フィードバックの方法
と装置が必要である。
【0011】CPUの動的動作特性の管理に応じてクロ
ック速度を実時間で減少させたり回復させたりしてCP
Uを休止の期間から完全な処理速度に戻し、しかもソフ
トウエアプログラムやユーザには透明であるような装置
と方法がさらに必要である。
【0012】さらに、動的動作特性に基づいて、CPU
の活動レベルに従ってCPUを休止させてよいまたは休
止させなければならないかどうかを決定し、この決定に
従ってハードウエアセレクタを起動するような装置と方
法が必要である。CPUを休止させすなわち休眠させて
よい場合は、ハードウエアセレクタは休眠クロックレベ
ルの振動を与える。CPUを活動させなければならない
場合は、ハードウエアセレクタは高速クロックレベルの
振動を与える。
【0013】この発明は、CPUの活動状態だけでな
く、オペレータと動作中の応用ソフトウエアプログラム
の活動を調べる。この発明はこの活動を実時間でサンプ
リングし、CPUの性能レベルを調整して、電力節約
や、コンピュータ電力および温度条件や、また他の任意
の適当な所望の動的動作特性を管理する。これらの調整
はCPUサイクル内で行うので、ユーザは性能や他のソ
フトウエアプログラムの動作が変わったことには気が付
かない。
【0014】この発明の好ましい実施態様は検出したC
PUの動的動作特性を制御する方法と装置を与えるもの
で、少なくとも1台のCPUの動的動作特性を検出する
ステップを含む。この方法と装置は、動作特性を検出す
るときにCPUのクロック速度を検出する。少なくとも
1つの動的動作特性が前記少なくとも1つの動的動作特
性に関連する所定の設定点に対して所定の関係を確立す
ることにより設定点割り込み条件が存在することを決定
することが、この発明の方法の次のステップである。設
定点割り込み条件が存在する場合は、この方法と装置は
CPUのクロック速度を制御して所定の設定点を調整す
るか、または別の方法でCPUの動的動作特性を管理す
る。他方、設定点割り込み条件が存在しない場合は、こ
の方法と装置は上記の決定および制御のステップを繰り
返し、CPUの動的動作特性を効果的に管理する。
【0015】したがってオペレーティングシステム/B
IOSの第三者ソフトウエアのオペレータがコンピュー
タを使用していないときは、この発明は電力を節約する
ために、必要になるまでCPUを急速に止めるかまたは
遅くして、動作特性をより低い状態に移行させる。必要
になると、このシステムは性能が変わったことに気付か
れずにCPU動作を急速に完全に回復する。「遅い」モ
ードから完全な動作への切り替えを行うのにはユーザが
要求する必要がなく、またコンピュータが「作動可能」
状態に戻るのを待っているときにコンピュータの動作が
遅れることはない。
【0016】この発明の技術的利点は、CPUの動作特
性を予見すなわち予測できることである。この発明は、
命令の数を数えてその種類を決定することにより、入出
力がほとんどない計算指向モードにCPUが入るかどう
かを決定するので、CPUの遅れやCPUへの入出力は
起こらない。この予見により、関連する所定の設定点に
1つ以上のCPUの動的動作特性が達するかどうかを、
計算指向モード中に決定することができる。達するよう
であれば、この発明はクロック速度を調整したり、所定
の設定点を修正したり、またはその他のCPU動作の変
更を行うことにより、特定の所定の設定点に達して悪い
結果が生じることがないようにする。
【0017】この発明のさらに別の技術的利点は、単一
CPUコンピュータの場合だけでなく、多数のまたは並
列のCPUコンピュータシステムの場合も、CPUの動
的動作特性の変化に対応できることである。実際に、こ
の発明により1組の並列CPUを構成して、CPUの動
的動作特性に関して起こる割り込み条件に応じて1台以
上のCPUを調整することにより、すべてのCPUの間
で所望の平均クロック速度を維持することができる。
【0018】
【発明の実施の形態】以下の説明は、この発明の電力節
約に関する。しかしこの発明は電力節約または消費の他
に、他のCPUの動的動作特性を制御する方法と装置を
さらに含む。
【0019】任意のシステムのコンピュータ活動の期間
を調べる場合、CPUおよび関連する要素には利用率が
ある。たとえばユーザがキーボードからデータを入力す
る場合は、キーを打つ間の時間はCPUサイクルに比べ
て非常に長い。この間にコンピュータは、報告書を印刷
するなど多くのことを行うことができる。報告書を印刷
している間でも、クロック/カレンダ表示の背景を更新
するなど別の動作を行う時間がある。それでもなお、C
PUが用いられていない空き時間がほとんど常にある。
この発明はこの空き時間にCPUを止めまたは遅くして
実時間の電力節約を行い、コンピュータの電池の寿命を
延ばす方法を提供する。
【0020】この発明の好ましい実施態様では、MS−
DOSだけでなく、OS/2、UNIX、Window
TMなどのオペレーティングシステムやアップルコンピ
ュータのオペレーティングシステムの下でのCPUの動
的動作特性を制御するためには、ハードウエアとソフト
ウエアの組み合わせを必要とする。この実施態様は任意
のシステムで動作するので、実現する際にはシステム毎
にわずかな違いはあるものの、この発明の範囲はMS−
DOSまたはその他の特定のオペレーティングシステム
の下で動作するコンピュータシステムに限定されないこ
とに注意していただきたい。
【0021】この発明の好ましい実施態様では、コンピ
ュータシステムの要素を遅くしまたは停止させることに
より電力消費を減らし、動作温度を下げ、またはその他
の方法で動的動作特性を制御する。もちろん制御または
変化の量はシステムによって異なってよい。したがって
この実施態様では、クロックを止めれば(しかし実際に
はクロックを止められないCPUもある)クロックを遅
くするだけより電力の消費を減らすことができる。
【0022】一般に、毎秒のCPU動作(すなわち命
令)の数はCPUクロックにほぼ比例すると考えてよ
い。 命令/秒=命令/サイクル*サイクル/秒 (1)
【0023】簡単のために、同じ命令を繰り返し実行し
て毎秒の命令が一定であると仮定すると、上の関係は次
のようになる。 Fq = K1 * Clk (2) ただし、Fq は毎秒の命令数、K1 はサイクル毎の命令
の単位を持つ値、Clkは毎秒のサイクル数を表す。し
たがって大まかに言えば、実行速度はCPUクロックの
周波数と共に増加する。
【0024】任意の瞬間にコンピュータが使う電力量も
CPUクロックの周波数に、したがってCPUの実行速
度に関係する。一般にこの関係は次の式で表される。 P=K2 + (K3 * Clk) (3) ただし、Pは電力(ワット)、K2 はワットの単位を持
つ定数、K3 はワット秒/サイクルの数を表す定数、C
lkは毎秒のCPUクロックのサイクル、である。式
(3)から、CPUクロック周波数が増加すると所定の
時刻にCPUが消費する電力量も増加することが分か
る。
【0025】所定の期間Tをn個の間隔に分けて、各間
隔中の電力Pが一定になるようにすることができる。ま
た全期間中にCPUが消費するエネルギーの量Eは次式
で表される。 E=P(1)ΔT1 + P(2)ΔT2 + ...+P(n)ΔTN (4) さらに、CPUクロックClkは「オン」か「オフ」の
2つの状態だけと仮定する。ここで「オン」状態はCP
Uが動作する最大周波数でのCPUクロックの状態を表
し、「オフ」状態は最小周波数でのクロックの状態を表
す。この最小クロック速度は、自分のクロックを止める
ことができるCPUではゼロである。
【0026】CPUクロックが常に「オン」という条件
では前式の各P(i)は等しく、全エネルギーは E(max)=P(オン)*(ΔT1 + ΔT2 + ...+ΔTN ) =P(オン)*T (5) である。ただし、P(オン)はクロックが「オン」状態
の時に消費する電力を表し、P(オフ)はクロックが
「オフ」のときに消費する電力を表す。これは、CPU
の動的動作特性を制御しない場合の、コンピュータの最
大電力消費を表す。間隔1から4の一部でCPUクロッ
クが「オフ」の場合は、各間隔は2つの電力レベルを含
む。クロックが「オン」の時間間隔をすべて合計してT
(オン)とし、「オフ」の間隔を合計してT(オフ)と
すると、次式が得られる。 T=T(オン)+T(オフ) (6)
【0027】ところで、CPUが期間Tの間に使うエネ
ルギーは次式のようになる。 E=〔P(オン)*T(オン)〕+〔P(オフ)*T(オフ)〕 (7)
【0028】これらの条件の下で、CPUが消費する全
エネルギーは時間間隔T(オフ)を多くすることにより
減少させることができる。したがってクロックが「オ
フ」状態にある期間を制御することにより、この実施態
様はCPUが使うエネルギーの量を減らす。期間T中の
T(オフ)の期間を多数の間隔に分けると、各間隔の幅
がゼロに近付くに従ってエネルギー消費は最大値になる
ことがこの実施態様から分かる。逆に、T(オフ)の間
隔の幅を大きくするとエネルギー消費は減少する。
【0029】
【実施例】「オフ」の間隔とCPUが通常休止している
期間とを一致させると、この実施態様は性能が低下した
ことをユーザに気付かれずに全エネルギー消費をE(最
大)状態から減少させて、コンピュータシステムを動作
させることができる。T(オフ)間隔とCPU休止期間
とを一致させるために、この実施態様は、閉ループ、た
とえば図1に示す閉ループ10、を用いてCPU活動レ
ベルの幅T(オフ)間隔を決定する。図1ではCPU活
動レベルをステップ12で決定する。このレベルが直前
の決定より増加している場合は、判断14により流れ図
はステップ16に進み、この発明はT(オフ)間隔を減
少させる。ステップ16から流れはステップ12に進ん
で、CPU活動レベルを決定する。他方、CPU活動レ
ベルが直前の決定より減少している場合は、この発明は
ステップ18に示すようにT(オフ)間隔を増加させ、
流れはステップ12に進んで再びCPU活動レベルを決
定する。このようにして、閉ループ10は絶えずT(オ
フ)間隔を調整して、CPU活動レベルを合わせる。
【0030】どのオペレーティングシステムにも2つの
重要な論理の要点がある。すなわち、(1)オペレーテ
ィングシステム内のアイドルすなわち「何もしない」ル
ープと(2)通常、応用ソフトウエアが必要とするサー
ビスに利用できるオペレーティングシステム要求チャン
ネルである。これらの論理の要点と調和する論理を用い
ることにより、この実施態様は応用ソフトウエアが行う
または将来行う予定の活動要求の種類を評価することが
できる。この種の情報を持っているので、この実施態様
はフィードバックと制御を行ってCPUの動的動作特性
を管理することができる。たとえば活動要求の種類が分
かると、電力節約を開始し、スライス期間の決定を開始
することができる。スライス期間は時間軸のT(オン)
対T(オフ)の数を活動レベルによって計算したもので
ある。
【0031】この実施態様では、CPUの活動レベルを
決定するのに1つの仮定を行う。この実施態様が行う仮
定は、サービスを必要とするソフトウエアプログラムは
通常さらに別のサービスを必要とすることと、サービス
要求の間の期間を用いて、コンピュータ上を走って電力
などのCPUの動的動作特性を制御する任意の応用ソフ
トウエアの活動レベルを決定したり節約のためのスライ
ス数を決めたりしてよいことである。
【0032】たとえば、電力節約スライス中に、すなわ
ちT(オフ)中に、この実施態様がCPUに割り込みを
行うと、CPUは割り込みソフトウエアに向かう前に割
り込みを受けたルーチンの状態を保存する。電力節約ソ
フトウエアはこの節約スライス中に動作していたので、
この実施態様は活動的な電力節約ループに制御を返す。
前記活動的な電力節約ループはCPUクロックを監視す
るだけであって、電力節約モードから出る条件が存在す
ることを決定してT(オフ)状態からT(オン)状態に
出る。図1に関して上に説明したように、処理の流れは
監視した活動レベルに従って次の電力節約状態の間隔を
調整する。ある実現ではハードウエア論理によってT
(オフ)からの自動的な出口を作り、電力節約ループか
ら自動的に出て、T(オン)間隔中にCPU命令を実行
する。
【0033】図2から図4は、この実施態様の活動的な
電力モニタ機能を示す。動作を説明すると、CPUのリ
ードオンリーメモリ(ROM)が記憶するプログラムか
ら、またはランダムアクセスメモリ(RAM)内にプロ
グラムを記憶する外部装置から、CPUは活動的な電力
モニタ機能20をインストールする。CPUが活動的な
電力モニタ機能20をロードすると、活動的な電力モニ
タ機能20の処理の流れは初期化ステップ22に進ん
で、システム割り込みの初期化や、ユーザ構成の設定
や、システム/応用の特定の初期化のステップを行う。
アイドルすなわち「何もしない」機能のためのハードウ
エアまたはソフトウエア割り込みが発生すると、アイド
ル分岐24を実行する。これについては図3aに詳細に
示す。アイドルすなわち「何もしない」ループ(すなわ
ち計画的な休止状態)に入るCPUはこの種類の割り込
みを発生する。オペレーティングシステムや、入出力サ
ービス要求や、応用プログラムや、内部オペレーティン
グシステム機能によって起こるソフトウエアまたはハー
ドウエア割り込みが発生すると、流れ図の活動分岐26
を実行する。これについては図4に詳細に示す。
【0034】プログラムはたとえばディスク入出力機能
や、読み出しや、印刷や、ロードや、その他のサービス
の要求であってよい。選択した分岐が何であっても、復
帰ベクトル28は処理の流れを最終的にCPUのオペレ
ーティングシステムに戻す。好ましい実施態様は、CP
Uが活動的な電力モニタ機能20をROM内のプログラ
ムによりロードする場合は1度だけ、またCPUがモニ
タ機能20を外部の装置のRAMからロードする場合は
パワーアップ中は毎回、初期化分岐(図2に詳細に示
す)を実行する。活動的な電力モニタ機能20の初期化
分岐22が完全にモニタ機能を行った後、処理の流れは
CPU活動の種類に従ってアイドル分岐24か活動分岐
26に分岐する。オペレーティングシステムが電力節約
モードに入ると、CPU活動の種類に従ってアイドル分
岐24か活動分岐26を選択する。すなわち、計画的な
休止中の電力節約ではアイドル分岐24を選択し、CP
U活動中の電力節約では活動分岐26を選択する。
【0035】さらに図2の初期化分岐22を詳細に見る
と、すべてのシステム割り込みと変数を初期化した後、
処理の流れはステップ30で、POWER_LEVEL
パラメータをDEFAULT_LEVELに等しく設定
する。POWER_LEVELの入力をユーザが制御す
るオペレーティングシステムでは、ステップ32でプロ
グラムはUSER_LEVELパラメータをすでに選択
したかどうか調べる。USER_LEVELパラメータ
がゼロより小さいかまたはMAXIMUM_LEVEL
より大きい場合は、システムはDEFAULT_LEV
ELパラメータ値を用いる。そうでない場合は、初期化
分岐22はステップ34に進んで、POWER_LEV
ELパラメータ値をUSER_LEVELパラメータに
等しく設定する。
【0036】この発明のこの実施態様では、初期化分岐
22はステップ36で変数IDLE_TICKをゼロ
に、変数ACTIVITY_TICKをゼロに設定す
る。MS/DOSを用いる場合は、IDLE_TICK
変数は「何もしない」ループ内の割り込みの数である。
ACTIVITY_TICK変数は、活動割り込みによ
る割り込みの数を表す。この割り込みの数はCPU活動
レベルを決定する。チックのカウントは次の割り込みの
デルタ時間ΔTi を表す。IDLE_TICKは、ソフ
トウエア割り込みが起こってこの期間に上書きするので
なければ、チックの間の一定デルタ時間ΔTi である。
すなわち、ソフトウエア割り込みは割り込みの間のデル
タ時間を再プログラムすることができる。
【0037】IDLE_TICK変数とACTIVIT
Y_TICK変数をゼロに設定した後で、初期化分岐2
2は設定ステップ38に進み、ここで初期化分岐22は
システムに特有の詳細を用いて応用に特有の構成の微同
調を行い、設定ステップ38で活動的な電力モニタ機能
20を初期化する。次に初期化分岐22はステップ40
で割り込み入出力にハードウエアへの命令を準備する。
これは次の割り込みでそのハードウエアが制御を受け持
ってよいことを示す。次に初期化分岐22は復帰ベクト
ル28を経て、オペレーティングシステムに、または活
動的な電力モニタ20を呼んだ元の機能に出る。
【0038】図3aは、活動的な電力モニタ機能20の
アイドル分岐24を詳細に示す。CPUの計画的な休止
期間に応じて、活動的な電力モニタ機能20は、アイド
ル分岐24に入ることができるかどうか知るためにまず
活動割り込みAが現在使用中かどうか決定する。判断4
2でパラメータBUSY_Aが再入フラグBUSY_F
LAGの値に等しい場合は、現在CPUは使用中であっ
て休眠にはできないことを意味する。したがって活動的
な電力モニタ機能20はすぐ復帰Iステップ44に進ん
でルーチンから出る。復帰Iステップ44は、前のオペ
レーティングシステムのアイドルベクトル割り込みに戻
って通常の処理を行うための間接ベクトルである。CP
Uは、活動的な電力モニタ機能20に入る前にこの間接
ベクトルを記憶する。言い換えると、復帰Iステップ4
4によりすぐ前の連鎖ベクトルに割り込み復帰する。
【0039】判断42でBUSY_A割り込みフラグが
使用中でないと決定した場合は、活動的な電力モニタ機
能20はステップ46で、BUSY_IDLE割り込み
フラグがBUSY_FLAGに等しいかどうか調べる。
等しければ、活動的な電力モニタ機能はすでにアイドル
分岐24にあることを示し、したがってCPU割り込み
があってはならない。BUSY_IがBUSY_FLA
Gに等しい場合は、アイドル分岐24の処理の流れはス
テップ44に進む。
【0040】しかしBUSY_A再入フラグもBUSY
_I再入フラグもセットされていない場合は、再入保護
のために、ステップ48でアイドル分岐24はBUSY
_Iフラグをセットする。すなわちBUSY_IをBU
SY_FLAGと同じ値にする。ステップ50で、ID
LE_TICK変数を1だけ増やす。IDLE_TIC
K変数はあるT(オフ)間隔の前のT(オン)の数であ
る。アイドル割り込みおよび設定割り込みの数とCPU
活動レベルによりIDLE_TICKの値が決まる。I
DLE_TICK変数を1だけ増やして事象を平滑化す
る。これにより、限界(critical)入出力活動は平滑化を
制御することができる。
【0041】ステップ52で、活動的な電力モニタ機能
20はIDLE_TICK変数が所定の一定値IDLE
_MAXTICKSに等しいかどうか調べる。IDLE
_MAXTICKSは初期化分岐22の設定ステップ3
8で初期化する定数の1つで、所定のCPUでは一定で
ある。この実施態様では、一定のパラメータIDLE_
MAXTICKSにより活動レベルの自己同調ができ
る。変数IDLE_TICKが定数IDLE_MAXT
ICKSに等しくない場合は、アイドル分岐24はステ
ップ54でBUSY_Iフラグをクリアし、復帰I間接
ベクトル44に進んで処理の流れから出る。しかしID
LE_TICK変数がIDLE_MAXTICKSに等
しい場合は、ステップ56でIDLE_TICK変数を
IDLE_START_TICKS定数(ゼロまたは非
ゼロ)に等しくする。
【0042】一般に、特定のCPUがそのクロックを停
止してしかも正しく機能することができる場合は、ID
LE_START_TICKSはゼロである。そうでな
い場合は、IDLE_START_TICKSは所定の
CPUに適した所定の値を取る。このステップは、活動
的な電力モニタ機能20が残りの休眠機能を何度実行し
てよいかを指定することにより、この実施態様の自己同
調の態様を決定する。IDLE_START_TICK
SをIDLE_MAXTICKSから1を引いた値に等
しく設定することにより、この実施態様は連続的なT
(オフ)間隔を得る。判断58で、アイドル分岐24は
POWER_LEVELパラメータのレベルを調べる。
POWER_LEVELパラメータがゼロの場合は、ア
イドル分岐24はステップ54でBUSY_Iフラグを
クリアし、復帰I間接ベクトル44に進んで、制御をオ
ペレーティングシステムに返す。したがって、オペレー
ティングシステムは活動的な電力モニタ機能20に入る
前に行っていた仕事を続けてよい。
【0043】しかし、判断58でPOWER_LEVE
Lパラメータの値がゼロでない場合は、アイドル分岐2
4は割り込みマスクがあるかどうか決定する。システム
/応用ソフトウエアはINTERRUPT_MASK変
数を設定して、活動的な電力モニタ機能20に割り込み
を行ってよいかどうかを決定する。判断60で割り込み
マスクがNOT_AVAILABLEと決定した場合
は、アイドル分岐24はBUSY_I再入フラグをクリ
アして制御をオペレーティングシステムに返し、CPU
は活動的な電力モニタ機能20に入る前に実行していた
仕事を続ける。オペレーティングシステムも応用ソフト
ウエアも、割り込みマスクをNOT_AVAILABL
E値すなわちフラグと同じ値に設定することにより、連
続的なT(オン)状態を作るようにT(オン)間隔を設
定することができる。
【0044】割り込みマスクがAVAILABLEの場
合は、活動的な電力モニタ機能20は電力節約サブルー
チン62に進み、ハードウエア状態が確立したT(オ
フ)の1期間中、電力節約サブルーチン62を十分に実
行する。たとえば好ましい実施態様では、可能な最長間
隔は恐らく18ミリ秒で、これは実時間クロックからの
2つのチックすなわち割り込みの間の最長時間である。
電力節約サブルーチン62の間は、CPUクロックは速
度を落として休眠クロックレベルになる。
【0045】限界入出力動作によりT(オン)間隔が開
始すると、アイドル分岐24の割り込みは引き続き別の
限界入出力要求に対して作動可能である。CPUが限界
入出力で使用中になると、利用可能なT(オフ)間隔は
少なくなる。逆に限界入出力要求が減少してその間の時
間間隔が増加すると、利用可能なT(オフ)間隔は多く
なる。アイドル分岐24は、活動割り込みからのフィー
ドバック(CPU活動レベルが低下するにつれてT(オ
フ)間隔を増やす)に基づく自己同調システムを与え
る。
【0046】図3bと関連する説明によって示すよう
に、活動的な電力モニタ機能20が電力節約サブルーチ
ン62を完了すると、ステップ54でBUSY_I再入
フラグをクリアし、流れは復帰Iベクトル44を経て、
活動的な電力モニタ機能20を要求した元のオペレーテ
ィングシステムに戻る。
【0047】図3bをより詳細に参照すると、流れ図8
0は電力節約サブルーチン62の説明である。活動的な
電力モニタ機能20はステップ82で入出力ハードウエ
ア高速クロックを決定する。電力節約サブルーチン62
の次のステップ84で、CURRENT_CLOCK_
RATEを適当な高速クロックに等しく設定して、多レ
ベルの高速クロックを持つCPUにこの値を保存する。
したがって、あるCPUが12MHzと6MHzの高速
クロックを持つ場合は、活動的な電力モニタ機能20
は、活動的な電力モニタ機能20が電力を減少させる前
に、どちらの高速クロックでCPUを制御するかを決め
なければならない。これによりCPUは、目覚めたとき
にCPUを適切な高速クロックで再設定することができ
る。ステップ84で、電力節約サブルーチンはSAVE
_CLOCK_RATE変数を、ステップ82で決定し
たCURRENT_CLOCK_RATEの値に等しく
する。CPUの高速クロックが1個だけの場合はSAV
E_CLOCK_RATE84は使わない。次に活動的
な電力モニタ機能20は休眠クロックステップ86に進
み、パルスをハードウエアセレクタ(図7に示す)に送
ってクロック周波数を下げまたは止めることにより、C
PUクロックを休眠させる。入出力ポートハードウエア
休眠クロックの振動は、CPUクロックの通常の振動よ
りはるかに低い。
【0048】この時点で2つの事象のどちらかが起こ
る。すなわちシステム/応用割り込みか、実時間クロッ
ク割り込みが起こる。システム/応用割り込み88が起
こる場合は、活動的な電力モニタ機能20は割り込みル
ーチン90に進む。電力節約ルーチン62はこの割り込
みをすぐ処理してステップ92で入出力割り込みを準備
し、判断94に戻って、割り込みがあるかどうか決定す
る。この場合は割り込みがあったので、ステップ96で
SAVE_CLOCK_RATEの値を用いて、どちら
の高速クロックでCPUを戻すかを決定する。電力節約
サブルーチン62の流れ図80は復帰ベクトル98で終
了する。
【0049】しかし判断94でシステム/応用割り込み
がないと決定した場合は、電力節約サブルーチン62は
判断94で実時間クロック割り込みが起こるまで待ち続
ける。実時間割り込みが起こると、電力節約サブルーチ
ン62はCPUを、記憶したSAVE_CLOCK_R
ATEに再設定する。休眠クロック速度が停止クロック
速度でなかった場合、すなわち休眠クロック速度がゼロ
でなかった場合は、制御は遅いクロックで進み、電力節
約サブルーチン62は判断94とステップ88から92
を通る割り込みループを実行する。他方、制御が休眠ク
ロック速度ゼロで進む場合は、電力節約サブルーチン6
2は、判断94とステップ88から92を含む割り込み
ループを一度だけ実行した後CPUクロックをSAVE
_CLOCK_RATE96に戻し、その後流れは復帰
ベクトル98に進む。
【0050】次に図4において流れ図100は、システ
ム/応用の活動要求がオペレーティングシステムサービ
ス要求の割り込みによりトリガする、活動分岐26の処
理の流れを示す。活動分岐26は再入保護から始まる。
ステップ102で活動的な電力モニタ機能20は、BU
SY_I変数がBUSY_FLAG値に等しく設定され
ているかどうかを決定する。等しい場合は、活動的な電
力モニタ機能20システムは既にアイドル分岐24にあ
り、割り込みできないことを意味する。BUSY_Iが
BUSY_FLAG値に等しい場合は、処理の流れは復
帰Iベクトル44に進んで、活動的な電力モニタ機能2
0から出る。復帰Iベクトル44は元の活動ベクトル割
り込みに戻って通常の処理を行うための間接ベクトルで
ある。復帰Iベクトル44は割り込みベクトルによりC
PU動作を通常の位置に戻す。これは要求されたサービ
スをオペレーティングシステムが行った後に動作する。
【0051】BUSY_Iフラグ変数がBUSY_FL
AG値に等しくない場合は、活動的な電力モニタ機能2
0がアイドル分岐24にアクセスしていないことを意味
する。活動的な電力モニタ機能20は判断104で、B
USY_AフラグがBUSY_FLAG値に等しいかど
うか決定する。等しければ、活動分岐26はこの時点で
制御をコンピュータシステムに戻す。これは、すでに活
動分岐26に入っているので割り込みできないことを意
味する。BUSY_Aフラグがセットされていない場合
は、すなわちBUSY_AがBUSY_FLAG値に等
しくない場合は、活動的な電力モニタ機能20はステッ
プ106でBUSY_AパラメータをBUSY_FLA
G値に等しく設定し、実行中の割り込みを防ぐ。
【0052】判断108で、活動分岐26はPOWER
_LEVELパラメータ値を決定する。POWER_L
EVELパラメータ値がゼロの場合は、活動的な電力モ
ニタ機能20はまずステップ110でBUSY_A再入
フラグをクリアした後、活動分岐26から出る。しかし
POWER_LEVELパラメータ値がゼロでない場合
は、活動分岐26は次に、入出力ハードウエアのCUR
RENT_CLOCK_RATEパラメータの値を決定
する。図3bの電力節約サブルーチンのステップ84で
そうであったように、所定のCPUに多レベルの高速ク
ロックがある場合は、図4の活動分岐26はステップ1
12でCURRENT_CLOCK_RATEパラメー
タ値を用いる。多レベルでない場合は、CURRENT
_CLOCK_RATEパラメータ値は常にCPUの高
速クロックに等しい。ステップ112でCURRENT
_CLOCK_RATEパラメータ値を決定した後、ス
テップ114でIDLE_TICKパラメータ値を一定
のSTART_TICKSに等しく設定する。STAR
T_TICKS定数は、前に決定したCURRENT_
CLOCK_RATEに設定する。活動的な現在の高速
クロックがT(オフ)間隔を設定する。
【0053】活動分岐26の次のステップ判断116で
は、要求があったことを決定する。要求は、特定の種類
の必要なサービスのためにコンピュータ上を走る応用ソ
フトウエアからの入力である。判断116で、活動分岐
26は要求が限界入出力かどうか決定する。限界入出力
は、T(オン)がT(オフ)より大きくなるまで絶えず
T(オン)を長くする。要求が限界入出力の場合は、活
動的な電力モニタ機能20はまずステップ110でBU
SY_A再入フラグをクリアした後、活動分岐26から
出る。
【0054】他方、要求が限界入出力でない場合は、活
動分岐26はステップ118でACTIVITY_TI
CKパラメータを1だけ増やす。処理の流れは判断12
0に進み、ACTIVITY_TICKパラメータ値が
ACTIVITY_MAXTICKS一定値に等しいか
どうか決定する。判断120のチェックにより限界入出
力からの平滑化が可能になり、次のACTIVITY_
TICKのT(オン)間隔中にシステムを別の限界入出
力に備えさせる。ACTIVITY_TICKパラメー
タ値がACTIVITY_MAXTICKS一定値に等
しくない場合は、活動分岐26の処理の流れはステップ
110でBUSY_A再入フラグをクリアした後で、復
帰Iベクトル44に進む。他方、ACTIVITY_T
ICKが一定値ACTIVITY_MAXTICKSに
等しい場合は、ステップ122で、活動分岐26はAC
TIVITY_TICKパラメータを一定値LEVEL
_MAXTICKSに設定する。活動分岐26はLEV
EL_MAXTICKS値を、判断108で決定する特
定の電力レベルに設定する。
【0055】判断124で、活動分岐26は割り込みマ
スクが存在するかどうか決定する。システム/応用ソフ
トウエアは割り込みマスクを設定する。割り込みマスク
をNOT_AVAILABLEフラグ値に設定すると連
続的なT(オン)状態を作る。これは、現在割り込みが
利用できないことを意味する。この場合は、活動分岐2
6の処理の流れはステップ110に進み、BUSY_A
再入フラグをクリアして、復帰Iベクトル44に進む。
しかし割り込みマスクがAVAILABLEの場合は、
活動分岐26は判断126で、判断116で識別した要
求が遅いI/O_INTERRUPTだったかどうか決
定する。遅いI/O_INTERRUPT要求は、入出
力装置が「作動可能」になるまで遅れてよい。「作動可
能にする」動作中に連続的なT(オフ)間隔が始まって
電力の節約を続ける。
【0056】したがって、要求が遅いI/O_INTE
RRUPTでない場合は、活動分岐26の処理の流れは
ステップ110に進んでBUSY_A再入フラグをクリ
アし、続いて復帰Iベクトル44に進む。しかし要求が
遅いI/O_INTERRUPTで、かつ入出力装置が
「作動可能」になるまでにまだ時間がある場合は、活動
分岐26は判断128で、入出力要求が完了したかどう
か決定する。したがって本質的に、判断128は関連す
る入出力装置が作動可能かどうか決定する。入出力装置
が作動可能でない場合は、活動的な電力モニタ機能20
はT(オフ)を長くする。これによりCPUは、遅い入
出力装置が作動可能になるまで待たされすなわち休眠さ
せられて、電力を節約する時間がある。したがって活動
分岐26は、図2cと関連する説明で詳細に示した電力
節約サブルーチン62に入る。判断128で入出力要求
が完了したと決定すると、処理の流れはステップ110
に進んでBUSY_A再入フラグをクリアし、復帰Iベ
クトル44を経て、制御はオペレーティングシステムに
戻る。
【0057】この発明のこの実施態様は活動的な電力監
視を行うだけでなく、他のCPUの動的動作特性を管理
する方法と装置も提供する。他の動的動作特性とは、た
とえば望ましくない電磁周波数放射線の放出や、この発
明に従って繰り返し調整してもCPUが所定の温度帯域
内で動作を継続することができない、などである。詳し
く言うと、図5に示すように、この実施態様は積極的に
温度を管理する方法や、ユーザに透明で図3bの電力節
約サブルーチン62と同様な方法で動作する、温度制御
用の実時間フィードバックループを含む装置を提供す
る。
【0058】図5は、ステップ132から始まる温度管
理サブルーチンの流れ図130を示す。温度管理サブル
ーチン132を実現するには、活動的な電力モニタ機能
20を修正して、関連するCPUおよびコンピュータシ
ステムにより電力消費だけでなく他のCPUの動的動作
特性を監視できるよう、より一般的な活動的なモニタ機
能にする。従って本質的に、活動的な電力モニタ機能2
0がアイドル分岐24と活動分岐26により電力節約サ
ブルーチン62を呼ぶのと同様に、より一般的な活動的
なモニタ機能は、温度管理サブルーチン132にCPU
の温度制御動作を行わせるときは温度管理サブルーチン
132を呼ぶ。しかし重要な差は、電力節約サブルーチ
ン62を呼ぶのは活動レベルが低いときであるのに反し
て、この実施態様は、温度条件がCPUの温度限界に近
付いたときまたは近づきそうなときに温度管理サブルー
チン132を呼ぶ点である。
【0059】詳しく言うと、この実施態様の活動的なモ
ニタ機能は、BUSY_AパラメータがBUSY_FL
AG一定値に等しいときに、活動分岐26内で温度管理
サブルーチン132を呼ぶ。それ以後の処理の流れは温
度管理サブルーチン132に示すように進む。
【0060】図5をより詳細に参照すると、ステップ1
32は温度管理サブルーチンの最初のステップである。
温度管理サブルーチン132はステップ134でCUR
RENT_CLOCK_RATEパラメータの値を決定
する。次のステップ136で、CPUが多レベルの高速
クロックを持つ場合は、CURRENT_CLOCK_
RATEパラメータを適当な高速クロックに等しく設定
し、この値を保存する。したがって、あるCPUが12
MHzと6MHzの高速クロックを持つ場合は、活動的
なモニタ機能はCPU内の過度の温度または温度変化条
件に応じるために、活動的なモニタ機能がどの高速クロ
ックでCPUを制御するかを決定しなければならない。
これにより、CPUは目覚めたときに適当な高速で動作
を再設定することができる。ステップ136で、温度管
理サブルーチン132はステップ134で決定した値に
SAVE_CLOCK_RATEパラメータ値を設定す
る。この実施態様では、CPUの高速クロックが1個だ
けの場合はSAVE_CLOCK_RATEステップ1
36を用いない方がよい。
【0061】温度管理サブルーチン132はステップ1
38に進み、CPUが処理する予定の命令の数を数え
る。この実施態様は、関連するコンピュータシステムの
ROMが記憶するルックアップテーブルを含んでよい。
ルックアップテーブルは、入出力を要求する命令と入出
力なしのCPU動作に関する命令とを区別する。
【0062】命令のリストを数えるステップ138の次
に、判断140はTHERMAL_INTERRUPT
パラメータ値が一定値THERMAL_SETPOIN
Tに等しいかどうか決定する。これは温度割り込みの必
要性を示す。温度割り込みは、温度条件が望ましくない
場合にCPUの動作を止めるか変えるための割り込みで
ある。THERMAL_INTERRUPTパラメータ
の値がTHERMAL_SETPOINTの値に等しく
ない場合は、温度管理サブルーチン132の処理の流れ
は計算指向サブルーチン142に進む。他方、THER
MAL_INTERRUPTがTHERMAL_SET
POINTに等しい場合は処理の流れはステップ144
に進み、ここでCPUクロックはより低い休眠クロック
速度に移行する。処理の流れは休眠クロック速度ステッ
プ144から判断146に進み、処理の流れが温度管理
サブルーチン132から出るかどうか調べる。処理の流
れが温度管理サブルーチン132から出ない場合は、処
理の流れは判断140に戻り、引き続き温度割り込み条
件が存在するかどうか調べる。
【0063】CPUが温度管理サブルーチン132から
出る場合は、処理の流れは判断146から復帰ベクトル
148に進む。処理の流れはここから前に説明した活動
的なモニタ機能に戻る。これには種々の場合がある。た
とえば、活動的なモニタ機能が図3aのアイドル分岐2
4に飛ぶなど。温度割り込み条件が存在する限り、温度
管理サブルーチン132はステップ144のより遅い休
眠クロック速度でCPUを動作させる。
【0064】温度管理サブルーチン132の処理の流れ
が計算指向サブルーチン142に向かう場合は、処理の
流れは図6に示す計算指向サブルーチン流れ図150の
ようになる。計算指向サブルーチンはステップ142で
始まり、処理の流れは判断152に進んで、CPUが計
算指向状態にあるかどうか調べる。CPUが計算指向状
態になければ、処理の流れは復帰ベクトル154に進
む。復帰ベクトル154は、温度管理サブルーチン13
2の処理の流れをTHERMAL_INTERRUPT
判断140に戻す(図5参照)。
【0065】CPUが計算指向状態にある場合は、計算
指向サブルーチン142の処理の流れは判断156に進
む。この発明が与える技術的な利点は、CPUの動作特
性を予見すなわち予測できることである。命令の数を数
えてその種類を決定することにより、この実施態様はC
PUが計算指向動作モードにあって、入出力はほとんど
ないか、したがってCPUの減速もCPUへの入出力機
能も起こらないかどうか決定する。CPUが計算指向状
態にあるかどうかの決定は、命令のリストを数えるステ
ップ138で数えた、CPUが実行する予定の命令の数
から得られる。
【0066】この実施態様は、CPUが実行する予定の
命令とコンピュータシステムがROMに保持しているル
ックアップテーブルの要素とを比較する比較器を備え
る。このルックアップテーブルは、命令の種類が入出力
機能を含むものか、入出力機能を含まずにCPUの処理
と計算動作だけに関するものかという特徴付けを行う。
この実施態様は、入出力機能を含む断続した入出力命令
を持たない、連続した計算命令の数についての所定のし
きい値を与える。入出力機能を含まない命令の数が所定
のしきい値数を超える場合は、この実施態様は、CPU
が計算指向状態にあると判断する。
【0067】CPUが計算指向状態にあると計算指向サ
ブルーチン142が決定すると、処理の流れは判断15
6に進み、CPUが計算指向状態中に温度割り込み条件
を設定するかどうか調べる。この設定は、CPUが温度
割り込みに達するのを防ぐために、または所望であれ
ば、この温度割り込みを新しい温度割り込みレベルにす
るために行う。したがって計算指向サブルーチン142
が判断156で、計算指向状態中にCPUが温度割り込
みに達すると決定すると、処理の流れは判断158に進
む。他方、計算指向状態中に温度割り込み条件が起こら
ない場合は、処理の流れは復帰ベクトル154に進ん
で、温度管理サブルーチン132内の処理を続ける。
【0068】たとえばCPUが計算指向状態中に温度割
り込み設定点を必要とはするが、計算指向状態が十分長
くないのでCPUに悪い影響を与えない場合は、この実
施態様は一定値THERMAL_SETPOINTを調
整することができる。言い換えると、通常の条件下で、
CPUがこの温度に達しても安全の余裕があってCPU
が温度による損傷を受けることがないように、温度割り
込み条件を設定する。たとえばCPU温度が一定値TH
ERMAL_SETPOINTに達する理由が分かる場
合は、かなりの調整可能な安全余裕がある。計算指向C
PUの外箱の温度の上昇速度に従って、CPUの温度は
既知の予測可能な状態で上昇する。
【0069】計算指向状態でCPUが実行する命令の数
と種類が分かると、これに基づいて計算指向サブルーチ
ン142は、CPUはCPUの温度設定点THERMA
L_SETPOINTに達するかまたは超えるが、そう
なるのはほんの短い期間だけであると決定することがで
きる。計算指向サブルーチン142が決定するこの短い
期間ではCPUの損傷やその恐れはない。この状態に対
処するために、計算指向サブルーチン142は判断15
8で現在のTHERMAL_SETPOINTの値を調
整する必要があるかどうか調べる。現在のTHERMA
L_SETPOINTの値を調整する必要がある場合
は、処理の流れはステップ160に進んで、THERM
AL_SETPOINTの値を調整する。ステップ16
0から、処理の流れは復帰ベクトル154に進む。他
方、THERMAL_SETPOINTを現在の値に保
つ場合は処理の流れは判断162に進み、THERMA
L_INTERRUPTパラメータの値をTHERMA
L_SETPOINTの一定値に設定するかどうか調べ
る。
【0070】THERMAL_INTERRUPTパラ
メータの値をTHERMAL_SETPOINTの一定
値に設定する場合は処理の流れはステップ164に進
み、計算指向サブルーチン142はTHERMAL_I
NTERRUPTパラメータの値をTHERMAL_S
ETPOINTの一定値に設定する。次に、処理の流れ
は復帰ベクトル154に進む。他方、THERMAL_
INTERRUPTパラメータの値をTHERMAL_
SETPOINTの値に設定しない場合は、処理の流れ
はそのまま復帰ベクトル154に進む。この後、処理の
流れは復帰ベクトル148に進んで、温度管理サブルー
チン132に戻る。
【0071】自己同調は連続フィードバックループの制
御システムに固有のものである。この発明のソフトウエ
アはCPUの活動が低いとき、したがってこの発明の電
力節約態様を起動してよいときを検出することができ
る。他方この実施態様は、CPUの活動が高くて温度管
理を起動してよい時を決定する。電力節約モニタが起動
すると、その間隔内でCPUクロック動作は最高速度に
急速に復帰するのでコンピュータの性能は低下しない。
同様に、温度設定点の条件がなくなって温度管理の必要
がなくなると、CPU内のCPUクロック動作は最高速
度に急速に復帰して、温度管理の影響はほとんど気付か
れない。この最高速度のCPUクロック動作に急速に復
帰させるため、この発明の好ましい実施態様はいくつか
の関連するハードウエアを用いる。
【0072】次に図7は、活動的な電力節約および温度
管理用の、この発明に用いる関連ハードウエアを表す簡
単化した略図である。CPUがいつでも休眠できる状態
にあると決定した場合は、活動的な電力モニタ機能20
は入出力ポート(図示せず)に書き込んで休眠線にパル
スを出す。休眠線のこのパルスの立ち上がり端で、フリ
ップフロップのQは高に、Q−は低になる。これによ
り、ANDゲート202および204とORゲート20
6を含むAND/OR論理は、休眠クロック発振器20
8から休眠クロック線に出るパルスを選択して、CPU
クロックに送って使用する。休眠クロック発振器208
は、通常のCPU活動中に用いるCPUクロックより遅
いクロックである。
【0073】フリップフロップ200のQから来る高信
号は、休眠クロック発振器208から来るパルスとの論
理積をANDゲート202でとり、またフリップフロッ
プ200のQ−からの低信号との論理和をORゲート2
06でとり、さらに高速クロック発振器210から高速
クロック線に出るパルスとの論理積をANDゲート20
4でとって、CPUクロックを作る。入出力ポートが休
眠クロックを指定すると、CPUクロックは休眠クロッ
ク発振器208の値に等しくなる。他方、割り込みが起
こると割り込み値はフリップフロップ200をクリア
し、この割り込みにより、ANDゲート202および2
04とORゲート206を備えるAND/ORセレクタ
は高速クロック値を選択する。AND/ORセレクタ
は、CPUクロック値を高速クロック発振器210から
来る値に戻す。したがってCPUの電力節約動作中にシ
ステム内で割り込みを検出すると、CPU動作を最高ク
ロック速度に回復してから割り込みを受けて処理する。
【0074】任意のシステムの各CPU以外の必要な関
連ハードウエアは、用いるオペレーティングシステム
や、CPUが止められるか、などによって異なってよい
ことに注意していただきたい。しかし、多くの使用可能
なポータブルコンピュータシステム内でこの発明が活動
的に電力を節約しまたは温度条件を管理するのに、この
発明の範囲はシステムに特有の必要な変更によって制限
されるものではない。例として、2つの実際の実施態様
を図8と図9に示して以下に説明する。
【0075】現在、多くのVLSI設計ではCPU速度
のクロック切り替えが可能である。ゼロクロックまたは
遅いクロックから速いクロックに切り替える論理は、ユ
ーザがキーボード命令により速度を変える論理と同じで
ある。このような切り替え論理を活動的なモニタ機能の
論理に追加することにより、割り込みを検出するとすぐ
高速クロックに戻すことができる。この簡単な論理が、
CPUに割り込みを行って割り込みを最高速度で処理で
きるようにするのに必要なハードウエア支援の鍵であ
る。
【0076】MS−DOSの下で電力消費および温度を
含むCPUの動的動作特性を管理する方法は、MS−D
OSアイドルループトラップを用いて、「何もしない」
ループにアクセスする。アイドルループは、アイドル状
態すなわち低活動状態にある応用ソフトウエアおよびオ
ペレーティングシステムの動作に特殊なアクセスを行う
ためのもので、システム内の任意の部分で活動レベルを
決定するには慎重な調査が必要である。活動レベルを決
定するには、割り込み21Hサービス要求からのフィー
ドバックループを用いる。活動レベルの予測は割り込み
21H要求から決定し、これから、この発明はCPUを
「休眠させる」(すなわち、遅くするかまたは止める)
ためのスライス期間を設定する。追加の機能により、ユ
ーザは割り込み21Hの活動レベルに従ってスライスを
変更することができる。
【0077】図8は、インテル80386などのシステ
ム用の実際の休眠ハードウエアの実現の略図である。ち
なみに、インテル80386CPUはクロックを止める
ことはできない。アドレス可能バス220およびアドレ
スバス222からデマルチプレクサ224にCPU入力
を与える。デマルチプレクサ224の出力は、SLEE
PCSを経てORゲート226および228の入力にな
る。ORゲート226および228の他の入力は、それ
ぞれ入出力書き込み制御線と入出力読み出し制御線であ
る。これらのゲートの出力は、NORゲート230の出
力と共にDフリップフロップ232に入ってポートを復
号する。「INTR」は入出力ポート(周辺装置)から
NORゲート230に入る割り込み入力で、これにより
論理ハードウエアは切り替わって高速クロックに戻る。
次に、フリップフロップ232の出力はORゲート22
6からの出力と共に3状態バッファ234に入る。これ
により、バッファ234はポート上にあるものを読み戻
すことができる。読み出し/書き込み入出力ポート(周
辺装置)は、上に述べたすべてのハードウエアを用いて
電力節約「休眠」動作を選択する。出力「SLOW−」
は図2から図4の「SLEEP」と同じもので、後で説
明するフリップフロップ236に入力する。
【0078】休眠クロック発振器238の出力は、Dフ
リップフロップ240および242により2つの遅いク
ロックに分割される。図8に示す特定の実現では、16
MHzの休眠クロック発振器238は4MHzと8MH
zクロックに分割される。ジャンパーJ1により、どち
らのクロックを「休眠クロック」にするか選択する。
【0079】この特定の実現では、高速クロック発振器
244は32MHz発振器である。ただしこの特定の速
度はこの発明では必要条件ではない。32MHzの発振
器は抵抗器(この実現では33オーム)に直列であり、
抵抗器は2個のコンデンサ(10pF)に直列である。
この発振の出力をDフリップフロップ246および24
8のクロックに接続する。
【0080】Dフリップフロップ236、246、24
8は同期したフリップフロップである。Dフリップフロ
ップ236および246は図2から図4の活動的な電力
モニタ機能20の簡単化した休眠ハードウエアには示さ
なかったが、これらのフリップフロップにより、クロッ
ク切り替えはクロックの端だけで起こる。図8に示すよ
うに、図7のフリップフロップ200と同様に、CPU
が休眠する(「FASTEN−」)か目覚めるか(「S
LOWEN−」)かに従って、フリップフロップ248
の出力はORゲート250かORゲート252を起動す
る。
【0081】ORゲート250および252とANDゲ
ート254は、図7のAND/ORセレクタと機能的に
同じものである。これらにより、「SLOWCLK」
(遅いクロック、また休眠クロックとも言う)か高速ク
ロック(入力線に32MHzと指定されている)かを選
択する。この実現では、ジャンパーJ1に従って遅いク
ロックは4MHzか8MHzであり、高速クロックは3
2MHzである。ANDゲート254の出力(図のAT
UCLK信号)はCPUクロックの速度を設定する。こ
れは、図7のCPUクロックと同じものである。
【0082】次に図9は、インテル80286などのシ
ステムの、別の実際の休眠ハードウエア実現の略図を示
す。ちなみに、インテル80286はクロックを止める
ことができる。速度の切り替えにはウエスタン・ディジ
タルFE3600VLSIを特殊な外部装置PAL25
6と共に用い、割り込みが来るとCPUを目覚めさせる
割り込みゲートを制御する。この発明のソフトウエア電
力節約態様により、割り込み受け付けが起こるのを監視
する。これは割り込み後の次のP(i)ΔTi間隔を起
動する。
【0083】CPUへの割り込み要求があると、システ
ムは通常の動作に戻る。CPUへの割り込み要求INT
RQにより、PALはRESCPU線にWAKE_UP
信号を出してFE3001に送り、FE3001はCP
UとDMAクロックを使用可能にして、システムを通常
の状態に戻す。これは、図7の「INTERRUPT
−」と同じものである。状態機械の混乱を避けるために
割り込み要求は同期をとっているので、割り込み信号I
NTDETはサイクルが活動化しているときだけ検出さ
れる。RESCPU信号の立ち上がり端によりFE30
01は目を覚まし、システム全体を休眠モードから解放
する。
【0084】386SXで実現する場合は、この実施態
様のCPUの動的動作特性機能を実行する外部のハード
ウエアとソフトウエアループが異なるだけである。割り
込みが起こると、ソフトウエアループは割り込みを実行
する前に外部ハードウエアを高速クロックに切り替え
る。電力節約ソフトウエアに戻ると、活動的なモニタ機
能は高速クロックサイクルを検出して、高速クロック動
作用のハードウエアをリセットする。
【0085】OS/2で実現する場合は、優先度の低い
背景動作で走るスレッド(THREAD)としてプログラムされ
た「何もしない」ループを用いる。スレッドを起動する
と、割り込みが発生してCPUを元のクロック速度に戻
すまでは、CPUは休眠すなわち低速度クロック動作に
なる。
【0086】この発明の好ましい実施態様では割り込み
を用いてCPUを目覚めさせたが、システム内のまたは
システムに与えられる任意の周期的活動を用いても同じ
機能を実現することができる。
【0087】この発明の電力節約態様と温度管理態様と
の違いは、温度管理態様ではCPUの温度を検出する必
要があることである。これはサーミスタまたはその他の
直接検出機構を用いて行い、温度の測定値を温度管理サ
ブルーチン132に与える。サーミスタまたはその他の
温度検出装置はこの技術でよく知られている。さらに、
検出された動作特性は、特定の応用で関心のあるCPU
の動的動作特性に従って、他の直接読み取り装置すなわ
ちセンサにより得ることができる。
【0088】要約すると、この発明は検出されたCPU
の動的動作特性を制御する方法を与えるもので、少なく
とも1つのCPUの動的動作特性を検出するステップを
含む。この発明は、少なくとも1つの動的動作特性を検
出したときのCPUのクロック速度を検出する。この方
法と装置は、少なくとも1つのCPUの動的動作特性が
前記少なくとも1つのCPUの動的動作特性に関連する
所定の設定点に対して所定の関係を確立することによ
り、設定点割り込み条件が存在することを決定する。割
り込み条件が存在する場合は、この発明は、検出したク
ロック速度に対してクロック速度を制御するステップを
含む。他方、設定点割り込み条件が存在しない場合は、
この発明は、上記の決定および制御ステップを繰り返す
ためのステップと回路を含む。
【0089】この発明の別の優れた特徴は、電力消費や
温度などの検出されたCPUの動的動作特性に従って単
一のCPUを制御するだけでなく、所定のコンピュータ
システムを支援する多数のCPUを制御できることであ
る。たとえば二重CPUコンピュータシステムでは、こ
の発明は検出されたCPUの動的動作特性の制御を調整
して、コンピュータシステムの性能を全体的に所望のレ
ベルに維持する。たとえば、両方のCPUに与えられた
計算指向サブルーチン142の決定に従って、一方のC
PUは計算指向モードにあり、二重CPUコンピュータ
の他方のCPUは計算指向ではなく、多くの入出力機能
を含む命令を実行しているとする。計算指向CPUの外
箱温度の上昇係数によって現在のクロック速度ではCP
U温度が上昇することが分かると、この発明は計算指向
CPUのクロックを減速させて、温度の設定点に達しな
いようにする。コンピュータシステムの性能を一定にす
る必要があるかどうかに従って、この発明は他のCPU
のクロック速度を上げて、平均のまたは全体のクロック
速度を一定に保ち、コンピュータシステムの性能レベル
を均一にする。
【0090】この発明の多重CPU実施態様の一態様を
例示する図10は、多重CPU開始ステップ282で始
まる多重CPU流れ図280を示す。多重CPU開始ス
テップ282は、まず判断284で1個以上のCPUを
制御する必要があるかどうか調べる。1個以上のCPU
を制御する場合は、処理の流れは判断286に進む。そ
うでない場合は、処理の流れは復帰ベクトル288に進
んで、CPUは多重CPUサブルーチン282を実行す
る前に行っていた動作に戻る。
【0091】判断286で、多重CPUサブルーチン2
82は多重CPUを調整して管理するかどうか調べる。
調整しない場合は処理の流れは復帰ベクトル288に進
む。調整する場合は処理の流れはステップ290に進
む。ステップ290は、多重CPUのそれぞれの制御を
導くベクトルの役目をする。検出されたCPUの動的動
作特性により制御されるCPU毎に、処理の流れは活動
的なモニタサブルーチン292に進む。活動的なモニタ
サブルーチン292は本質的に、活動的な電力モニタ機
能20や、温度管理サブルーチン132のモニタ機能な
どの活動的なモニタ機能や、電力節約と温度管理を調整
するモニタ機能や、1つ以上の検出されたCPUの動的
動作特性に応じてCPUを制御する他のモニタ機能また
はサブルーチンと同じである。
【0092】多重CPUサブルーチン282の処理の流
れがCPU毎に進むと、判断294で、少なくとも1つ
の調整されたCPUに設定点割り込み条件があるかどう
か調べる。このような設定点関連の割り込み条件がない
場合は処理の流れは判断294に戻って、設定点関連の
割り込み条件があるかどうかの調査を続ける。このよう
な割り込み条件があると処理の流れは判断296に進ん
で、影響を受けないCPUのクロック速度を多重CPU
サブルーチン282が制御または調整する希望または予
定があるか調べる。影響を受けないCPUを調整しない
場合は、判断296から処理の流れは復帰ベクトル28
8に進む。調整する場合は、処理の流れはステップ29
8に進み、影響を受けないCPUのクロック速度を調整
して、コンピュータシステム全体のクロック速度を一定
に保つかまたは所望の値を得る。
【0093】この発明の好ましい実施態様のいくつかの
実現を示して説明したが、当業者は種々の修正や別の実
施態様を考えることができる。したがって、この発明は
特許請求の範囲によってだけ限定されるものである。
【0094】以上の説明に関してさらに以下の項を開示
する。 (1) 検出されたCPUの動的動作特性を制御する方
法であって、(a) コンピュータ内の第1クロック速
度で動作する、コンピュータ内の中央処理装置(CP
U)の少なくとも1つの動的動作特性を検出し、(b)
前記少なくとも1つの動的動作特性が前記少なくとも
1つの動的動作特性に関連する所定の設定点に対して所
定の関係を確立することにより、設定点割り込み条件が
存在することを決定し、(c) 前記設定点割り込み条
件が存在する場合は、前記クロック速度を前記第1クロ
ック速度に対して制御し、(d) 前記設定点割り込み
条件が存在しない場合は、ステップ(b)と(c)を繰
り返す、ステップを含む、検出されたCPUの動的動作
特性を制御する方法。
【0095】(2) 検出されたCPUの動的動作特性
を制御する前記方法はCPUの動的動作特性を管理する
方法を含み、さらに、前記少なくとも1つの動的動作特
性を検出する前記ステップは前記CPUの動作温度を検
出するステップを含み、またさらに前記決定するステッ
プは割り込み条件の存在を決定するステップを含み、前
記動作温度は所定の温度設定点に対して所定の関係を確
立する、第1項記載の検出されたCPUの動的動作特性
を制御する方法。
【0096】(3) 前記少なくとも1つの動的動作特
性を検出する前記ステップは前記CPUの動作温度を検
出するステップを含み、またさらに前記決定するステッ
プは前記CPUが計算指向状態にある期間中に前記動作
温度が所定の温度設定点に近いことを決定するステップ
を含む、第1項記載の検出されたCPUの動的動作特性
を制御する方法。 (4) 前記CPUが計算指向状態にあるかどうかを決
定し、前記計算指向状態中に前記割り込み条件が存在す
るかどうかをさらに決定する、ステップをさらに含む、
第1項記載の検出されたCPUの動的動作特性を制御す
る方法。
【0097】(5) (a)前記CPUが計算指向状態
にあるかどうかを決定し、(b)前記計算指向状態中に
前記少なくとも1つの動的動作特性に前記割り込み条件
が存在するかどうかを決定し、(c)前記計算指向状態
中に前記割り込み条件が存在する場合は前記割り込み条
件を修正する、ステップをさらに含む、第1項記載の検
出されたCPUの動的動作特性を制御する方法。 (6) 前記CPUの電力節約が可能かどうかを決定
し、前記CPUの電力節約が可能な場合は、前記電力節
約から生じる前記割り込み条件および制御信号の存在に
従って前記クロック速度を前記保存されたクロック速度
に対して制御する、ステップをさらに含む、第1項記載
の検出されたCPUの動的動作特性を制御する方法。
【0098】(7) 前記CPUが計算指向状態にある
かどうかを決定し、前記計算指向状態中に前記CPUが
実行する予定の計算指向命令の量を決定することにより
前記計算指向状態の継続時間を決定する、ステップをさ
らに含む、第1項記載の検出されたCPUの動的動作特
性を制御する方法。 (8) 前記CPUが計算指向状態にあるかどうかを決
定し、前記計算指向状態中に前記CPUが実行する予定
の計算指向命令の量を決定することにより前記計算指向
状態の継続時間を決定し、さらに前記計算指向状態中に
前記割り込み条件が存在する場合は前記割り込み条件を
修正する、ステップをさらに含む、第1項記載の検出さ
れたCPUの動的動作特性を制御する方法。
【0099】(9) 前記CPUが計算指向状態にある
かどうかを決定し、前記計算指向状態の継続時間を決定
し、さらに前記クロック速度を前記保存されたクロック
速度に対して修正して前記計算指向状態中に前記割り込
み条件が存在しないようにする、ステップをさらに含
む、第1項記載の検出されたCPUの動的動作特性を制
御する方法。 (10) 前記CPUの前記少なくとも1つのCPUの
動的動作特性を検出する前記ステップは、サーミスタ検
出装置を用いて前記CPUの動作温度を検出するステッ
プを含む、第1項記載の検出されたCPUの動的動作特
性を制御する方法。
【0100】(11) 前記所定の関係と前記所定の設
定点を前記コンピュータのメモリ位置内に記憶するステ
ップをさらに含む、第1項記載の検出されたCPUの動
的動作特性を制御する方法。 (12) 前記所定の関係と前記所定の設定点を前記コ
ンピュータのレジスタを備えるメモリ位置内に記憶する
ステップをさらに含む、第1項記載の検出されたCPU
の動的動作特性を制御する方法。 (13) 前記所定の関係と前記所定の設定点を前記コ
ンピュータに関連し前記CPU以外の回路を備えるメモ
リ位置内に記憶するステップをさらに含む、第1項記載
の検出されたCPUの動的動作特性を制御する方法。
【0101】(14) 第2項記載の方法であって、実
時間電力節約を調整し前記CPU内の検出された動的動
作特性を制御する方法をさらに含み、前記実時間電力節
約法は前記検出されたCPU動的温度特性の前記制御法
に関連して動作し、(e) 前記CPUの電力節約が可
能かどうかを決定し、(f) 前記CPUの電力節約が
可能な場合は、前記CPUの現在のクロック速度を決定
し、(g) 前記CPUに与えられている現在のクロッ
ク速度を減らすか止めるようハードウエアセレクタに示
し、(h) 電力節約割り込みが起こったかどうか決定
し、(i) 前記電力節約割り込みが起こらなかった場
合はこのステップ(i)を繰り返し、前記電力節約割り
込みが起こるまで前記CPUは前記電力節約モードに留
まり、(j) 前記電力節約割り込みが起こった場合
は、前記決定された現在のクロック速度を前記CPUに
回復するよう前記ハードウエアセレクタに示す、ステッ
プを含む、実時間電力節約を調整し前記CPU内の検出
された動的動作特性を制御する方法。
【0102】(15) 前記CPUに与えられている現
在のクロック速度を減らすか止めるようハードウエアセ
レクタに示す前記ステップ(g)は、前記ハードウエア
セレクタへの通信線を通して前記ハードウエアセレクタ
に電力節約のCPU命令をパルスで与え、前記電力節約
のCPU命令に基づいて前記ハードウエアセレクタによ
り電力節約クロックを選択し、前記電力節約クロックか
ら前記CPUにパルスを送って前記CPUを電力節約モ
ードにする、ステップをさらに含む、第14項記載の実
時間電力節約を調整し前記CPU内の検出された動的動
作特性を制御する方法。
【0103】(16) コンピュータ内の中央処理装置
(CPU)の電力節約が可能かどうかを決定する前記ス
テップ(e)は、前記CPUがすでに前記電力節約モー
ドにあるかどうか調べ、前記CPUがまだ前記電力節約
モードにない場合は、前記CPUが前記電力節約モード
になる前に前記CPUを目覚めさせる電力節約割り込み
が使用可能かどうか決定し、電力節約割り込みが使用可
能な場合は、前記CPUが前記電力節約モードに入るこ
とを妨げる、ステップをさらに含む、第14項記載の実
時間電力節約を調整し前記CPU内の検出された動的動
作特性を制御する方法。
【0104】(17) コンピュータ内の中央処理装置
(CPU)の電力節約が可能かどうかを決定する前記ス
テップ(e)は、前記CPUが要求を受けたかどうかを
調べ、前記CPUが要求を受けた場合は、前記要求は限
界入出力かどうかを決定し、前記要求が限界入出力の場
合は前記CPUが前記電力節約モードに入らないように
し、前記要求が限界入出力でない場合は、前記CPUが
前記電力節約モードに入る前に前記CPUを目覚めさせ
る電力節約割り込みが使用可能かどうか決定し、前記C
PUが前記電力節約モードに入らないようにし、前記要
求は前記入出力装置が作動可能になるまで遅れを持つ入
出力からかどうかを決定し、前記要求が遅れを持つ入出
力からでない場合は前記CPUが前記電力節約モードに
入らないようにする、ステップをさらに含む、第14項
記載の実時間電力節約を調整し前記CPU内の検出され
た動的動作特性を制御する方法。
【0105】(18) 複数のCPUの検出された動的
動作特性を制御する方法であって、(a) 計算システ
ムの複数の中央処理装置(CPU)の少なくとも1つの
動的動作特性を検出し、(b) 各前記複数のCPUの
第1クロック速度を検出し、(c) 各前記複数のCP
U毎に少なくとも1つの設定点割り込み条件が存在する
ことを決定し、1つ以上の前記少なくとも1つの検出さ
れた動的動作特性は前記少なくとも1つの動的動作特性
の対応する1つに関連する所定の設定点に対する所定の
関係を確立し、(d) 少なくとも1つの割り込み条件
が存在する場合は、前記少なくとも1つの設定点割り込
み条件に対応する前記複数のCPUの1つの前記第1ク
ロック速度に対して少なくとも前記クロック速度を制御
し、(e) 前記複数のCPUのどれにも割り込み条件
が存在しない場合はステップ(b)と(c)を繰り返
す、ステップを含む、複数のCPUの検出された動的動
作特性を制御する方法。
【0106】(19) 前記割り込み条件に対応する前
記CPU以外の少なくとも1つの前記複数のCPUを制
御して、前記計算システムが前記複数のCPUの間でほ
ぼ一定の平均クロック速度を保持するようにするステッ
プをさらに含む、第18項記載の複数のCPUの検出さ
れた動的動作特性を制御する方法。
【0107】(20) 検出されたCPUの動的動作特
性を制御する装置であって、CPU活動検出器と、CP
Uクロックと、少なくとも第1パルスを第1速度で、ま
た第2パルスを第2速度で与える少なくとも1個の発振
器と、前記第1パルスと前記第2パルスを選択的に制御
し選択するハードウエアセレクタであって、前記ハード
ウエアセレクタはさらに前記第1パルスと前記第2パル
スの前記選択された方を前記CPUクロックに送り、ま
た少なくとも1つの検出されたCPUの動的動作特性が
前記検出されたCPUの動的動作特性に関連する所定の
設定点に対して所定の関係を確立することにより存在す
る、設定点割り込み条件に応じる、ハードウエアセレク
タと、検出されたCPUの活動を前記CPU活動検出器
から受け、さらに前記ハードウエアセレクタに送るパル
スを発生して前記ハードウエアセレクタがどのパルスを
選択すべきかを指定する、CPU休眠管理装置と、を備
える、検出されたCPUの動的動作特性を制御する装
置。
【0108】(21) 検出されたCPUの動的動作特
性を制御する装置であって、(a) コンピュータ内の
第1クロック速度で動作する中央処理装置(CPU)の
少なくとも1つの動的動作特性を検出する検出回路と、
(b) 前記少なくとも1つの動的動作特性が前記少な
くとも1つの動的動作特性に関連する所定の設定点に対
して所定の関係を確立することにより、設定点割り込み
条件が存在することを決定する、前記CPU上で動作す
る設定点命令と、(c) 前記設定点割り込み条件が存
在する場合は、前記クロック速度を前記第1クロック速
度に対して制御する制御命令と、(d) 前記設定点割
り込み条件が存在しない場合は、ステップ(b)と
(c)を繰り返す繰り返し命令と、を備える、検出され
たCPUの動的動作特性を制御する装置。
【0109】(22) CPUの動的動作特性を管理す
る管理命令をさらに含み、また前記温度検出回路はさら
に、前記CPUの動作温度を含む前記少なくとも1つの
動的動作特性を検出する動的温度検出回路を備え、また
さらに前記設定点命令は割り込み条件の存在を決定する
命令をさらに含み、前記動作温度は所定の温度設定点に
対して所定の関係を確立する、第21項記載の検出され
たCPUの動的動作特性を制御する装置。
【0110】(23) 前記検出回路は前記CPUの動
作温度を検出する回路をさらに備え、またさらに前記設
定点命令は前記CPUが計算指向状態にある期間中に前
記動作温度が所定の温度設定点に近いことを決定する命
令をさらに含む、第21項記載の検出されたCPUの動
的動作特性を制御する装置。 (24) 前記CPUが計算指向状態にあるかどうかを
決定し、前記計算指向状態中に前記割り込み条件が存在
するかどうかをさらに決定する、計算指向決定命令をさ
らに含む、第21項記載の検出されたCPUの動的動作
特性を制御する装置。
【0111】(25) 前記CPUが計算指向状態にあ
るかどうかを決定する計算指向決定命令をさらに含み、
前記設定点命令は前記計算指向状態中に前記少なくとも
1つの動的動作特性に前記割り込み条件が存在するかど
うかを決定する命令をさらに含み、前記計算指向状態中
に前記割り込み条件が存在する場合は前記割り込み条件
を修正する修正命令をさらに含む、第21項記載の検出
されたCPUの動的動作特性を制御する装置。 (26) 前記CPUの電力節約が可能かどうかを決定
し、前記CPUの電力節約が可能な場合は、前記電力節
約から生じる前記割り込み条件の存在と制御信号に従っ
て前記クロック速度を前記保存されたクロック速度に対
して制御する、電力節約命令をさらに含む、第21項記
載の検出されたCPUの動的動作特性を制御する装置。
【0112】(27) 前記CPUが計算指向状態にあ
るかどうかを決定し、前記計算指向状態中に前記CPU
が実行する予定の計算指向命令の量を決定することによ
り前記計算指向状態の継続時間を決定する、計算指向決
定命令をさらに含む、第21項記載の検出されたCPU
の動的動作特性を制御する装置。 (28) 前記CPUが計算指向状態にあるかどうかを
決定し、前記計算指向状態中に前記CPUが実行する予
定の計算指向命令の量を決定することにより前記計算指
向状態の継続時間を決定し、さらに前記計算指向状態中
に前記割り込み条件が存在する場合は前記割り込み条件
を修正する、計算指向決定命令をさらに含む、第21項
記載の検出されたCPUの動的動作特性を制御する装
置。
【0113】(29) 前記CPUが計算指向状態にあ
るかどうかを決定し、前記計算指向状態の継続時間を決
定し、さらに前記クロック速度を前記保存されたクロッ
ク速度に対して修正して前記計算指向状態中に前記割り
込み条件が存在しないようにする、計算指向決定命令を
さらに含む、第21項記載の検出されたCPUの動的動
作特性を制御する装置。 (30) 前記検出回路はサーミスタ検出装置を備え
る、第21項記載の検出されたCPUの動的動作特性を
制御する装置。 (31) 前記所定の関係と前記所定の設定点を前記コ
ンピュータのメモリ位置内に記憶するメモリ回路をさら
に備える、第21項記載の検出されたCPUの動的動作
特性を制御する装置。
【0114】(32) 検出されたCPUの動的動作特
性を制御する方法と装置(130)であって、CPUが
第1クロック速度で動作中に(134)少なくとも1つ
の動的CPU動作特性を検出する(140)方法と回路
を含む。装置(130)は、少なくとも1つの検出され
たCPUの動的動作特性が前記少なくとも1つの動的動
作特性に関連する所定の設定点に対して所定の関係を確
立する(140)ことにより、設定点割り込み条件が存
在するかどうかを決定する(140)。設定点割り込み
条件が存在する場合は、回路と命令は第1クロック速度
に対してクロック速度を制御する(144)。設定点割
り込み条件が存在しない場合は、回路と命令は割り込み
条件を決定してクロック速度を制御する上記ステップを
繰り返す。またこの方法と装置(130)はCPUが計
算指向状態にあるかどうかを決定する(142)。この
動作は、実時間の電力節約装置および方法(20)と共
に、この発明の特に優れた機能である。
【図面の簡単な説明】
【図1】この発明の好ましい実施態様の自己同調状態を
述べる流れ図。
【図2】この発明の実施態様で用いる活動的な電力節約
モニタを説明する流れ図。
【図3】この発明の実施態様で用いる活動的な電力節約
モニタを説明する流れ図。
【図4】この発明の実施態様で用いる活動的な電力節約
モニタを説明する流れ図。
【図5】この発明が用いる温度管理法の簡単化した流れ
図。
【図6】この発明が用いる計算指向決定ステップの流れ
図。
【図7】この発明の実施態様が用いる、活動的な電力節
約に関連するハードウエアを表す簡単化した略図。
【図8】この発明の一実施態様の休眠ハードウエアの略
図。
【図9】この発明の別の実施態様の休眠ハードウエアの
略図。
【図10】この発明の別の実施態様の多重CPUの動的
動作特性の制御機能の流れ図。
【符号の説明】
130 CPUの動的動作特性の制御装置 134 現在のクロック速度の決定 140 設定点割り込み条件の存在の決定 142 CPUが計算指向状態にあることの決定 144 休眠クロック速度の制御

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 検出されたCPUの動的動作特性を制御
    する方法であって、 (a) コンピュータ内の第1クロック速度で動作す
    る、コンピュータ内の中央処理装置(CPU)の少なく
    とも1つの動的動作特性を検出し、 (b) 前記少なくとも1つの動的動作特性が前記少な
    くとも1つの動的動作特性に関連する所定の設定点に対
    して所定の関係を確立することにより、設定点割り込み
    条件が存在することを決定し、 (c) 前記設定点割り込み条件が存在する場合は、前
    記クロック速度を前記第1クロック速度に対して制御
    し、 (d) 前記設定点割り込み条件が存在しない場合は、
    ステップ(b)と(c)を繰り返す、ステップを含む、
    検出されたCPUの動的動作特性を制御する方法。
  2. 【請求項2】 検出されたCPUの動的動作特性を制御
    する装置であって、 CPU活動検出器と、 CPUクロックと、 少なくとも第1パルスを第1速度で、また第2パルスを
    第2速度で与える少なくとも1個の発振器と、 前記第1パルスと前記第2パルスを選択的に制御し選択
    するハードウエアセレクタであって、前記ハードウエア
    セレクタはさらに前記第1パルスと前記第2パルスの前
    記選択された方を前記CPUクロックに送り、また少な
    くとも1つの検出されたCPUの動的動作特性が前記検
    出されたCPUの動的動作特性に関連する所定の設定点
    に対して所定の関係を確立することにより存在する、設
    定点割り込み条件に応じる、ハードウエアセレクタと、 検出されたCPUの活動を前記CPU活動検出器から受
    け、さらに前記ハードウエアセレクタに送るパルスを発
    生して前記ハードウエアセレクタがどのパルスを選択す
    べきかを指定する、CPU休眠管理装置と、を備える、
    検出されたCPUの動的動作特性を制御する装置。
JP9006718A 1996-01-17 1997-01-17 Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置 Pending JPH09305569A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US1013696P 1996-01-17 1996-01-17
US010136 1996-01-17

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007027444A Division JP2007128556A (ja) 1996-01-17 2007-02-07 Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置

Publications (1)

Publication Number Publication Date
JPH09305569A true JPH09305569A (ja) 1997-11-28

Family

ID=21744093

Family Applications (2)

Application Number Title Priority Date Filing Date
JP9006718A Pending JPH09305569A (ja) 1996-01-17 1997-01-17 Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置
JP2007027444A Pending JP2007128556A (ja) 1996-01-17 2007-02-07 Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2007027444A Pending JP2007128556A (ja) 1996-01-17 2007-02-07 Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置

Country Status (6)

Country Link
US (1) US5996084A (ja)
EP (1) EP0785498A3 (ja)
JP (2) JPH09305569A (ja)
KR (1) KR100468561B1 (ja)
CN (1) CN1192298C (ja)
TW (1) TW454117B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008516337A (ja) * 2004-10-06 2008-05-15 インテル・コーポレーション プロセッサ構成設定をオーバーライドする方法

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719800A (en) * 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US6411156B1 (en) 1997-06-20 2002-06-25 Intel Corporation Employing transistor body bias in controlling chip parameters
JPH1139868A (ja) * 1997-07-18 1999-02-12 Matsushita Electric Ind Co Ltd 半導体集積回路システム、半導体集積回路、及び半導体集積回路システムの駆動方法
US6065122A (en) * 1998-03-13 2000-05-16 Compaq Computer Corporation Smart battery power management in a computer system
US6112164A (en) * 1998-03-31 2000-08-29 Compaq Computer Corporation Computer system thermal management
JP3573957B2 (ja) * 1998-05-20 2004-10-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ
US6172611B1 (en) * 1998-10-19 2001-01-09 Telcom Semiconductor, Inc. Independent hardware thermal sensing and monitoring
US6415388B1 (en) * 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US6298448B1 (en) * 1998-12-21 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for automatic CPU speed control based on application-specific criteria
US6484265B2 (en) * 1998-12-30 2002-11-19 Intel Corporation Software control of transistor body bias in controlling chip parameters
US6219795B1 (en) 1999-01-29 2001-04-17 Micron Electronics, Inc. Thermal management apparatus based on a power supply output
US6182232B1 (en) * 1999-01-29 2001-01-30 Micron Electronics, Inc. Power and thermal management based on a power supply output
US6418535B1 (en) * 1999-04-28 2002-07-09 International Business Machines Corporation Bi-level power saver method for portable or laptop computer
US6624816B1 (en) * 1999-09-10 2003-09-23 Intel Corporation Method and apparatus for scalable image processing
US7050959B1 (en) * 1999-12-23 2006-05-23 Intel Corporation Dynamic thermal management for integrated circuits
US7100061B2 (en) 2000-01-18 2006-08-29 Transmeta Corporation Adaptive power control
US6574739B1 (en) * 2000-04-14 2003-06-03 Compal Electronics, Inc. Dynamic power saving by monitoring CPU utilization
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
US7006943B1 (en) * 2000-09-12 2006-02-28 Advanced Micro Devices, Inc. Method and apparatus for using an on-board temperature sensor on an integrated circuit
US6718474B1 (en) * 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US7263567B1 (en) * 2000-09-25 2007-08-28 Intel Corporation Method and apparatus for lowering the die temperature of a microprocessor and maintaining the temperature below the die burn out
US6910139B2 (en) * 2000-10-02 2005-06-21 Fujitsu Limited Software processing apparatus with a switching processing unit for displaying animation images in an environment operating base on type of power supply
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
US20030030326A1 (en) * 2001-08-10 2003-02-13 Shakti Systems, Inc. Distributed power and supply architecture
US20030056123A1 (en) * 2001-09-19 2003-03-20 Hsieh Kuang Hsun Power management method for hand-held information processing apparatus
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US7111179B1 (en) 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US20030074590A1 (en) * 2001-10-12 2003-04-17 Fogle Steven L. Computer system with improved entry into powersave and lock modes and method of use therefor
US6791298B2 (en) * 2001-11-05 2004-09-14 Shakti Systems, Inc. Monolithic battery charging device
WO2003041249A1 (en) * 2001-11-05 2003-05-15 Shakti Systems, Inc. Dc-dc converter with resonant gate drive
US6785831B2 (en) * 2001-12-06 2004-08-31 Matsushita Electric Industrial Co., Ltd. Power consumption management apparatus
US6957352B2 (en) * 2002-03-15 2005-10-18 Intel Corporation Processor temperature control interface
US7941675B2 (en) * 2002-12-31 2011-05-10 Burr James B Adaptive power control
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
TWI262380B (en) * 2002-04-25 2006-09-21 Quanta Comp Inc Dynamic adjustment method for power consumption of computer system
US6685334B2 (en) 2002-04-30 2004-02-03 G-5 Electronics System and method of power management for a solar powered device
US6970698B2 (en) * 2002-07-23 2005-11-29 Sbc Technology Resources, Inc. System and method for updating data in remote devices
US7243243B2 (en) * 2002-08-29 2007-07-10 Intel Corporatio Apparatus and method for measuring and controlling power consumption of a computer system
TW575803B (en) * 2002-10-17 2004-02-11 Uniwill Comp Corp The method of managing portable computer power cord
US7849332B1 (en) 2002-11-14 2010-12-07 Nvidia Corporation Processor voltage adjustment system and method
US7882369B1 (en) 2002-11-14 2011-02-01 Nvidia Corporation Processor performance adjustment system and method
US7886164B1 (en) 2002-11-14 2011-02-08 Nvidia Corporation Processor temperature adjustment system and method
US7228242B2 (en) 2002-12-31 2007-06-05 Transmeta Corporation Adaptive power control based on pre package characterization of 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
US7205758B1 (en) 2004-02-02 2007-04-17 Transmeta Corporation Systems and methods for adjusting threshold voltage
US7642835B1 (en) 2003-11-12 2010-01-05 Robert Fu System for substrate potential regulation during power-up in integrated circuits
US7953990B2 (en) * 2002-12-31 2011-05-31 Stewart Thomas E Adaptive power control based on post package characterization of integrated circuits
TW200416522A (en) 2003-02-25 2004-09-01 Asustek Comp Inc Portable computer carrying desktop computer processor and power management method thereof
US20040215912A1 (en) * 2003-04-24 2004-10-28 George Vergis Method and apparatus to establish, report and adjust system memory usage
EP1623349B1 (en) * 2003-05-07 2018-01-24 Conversant Intellectual Property Management Inc. Managing power on integrated circuits using power islands
JP4033066B2 (ja) * 2003-05-07 2008-01-16 ソニー株式会社 周波数制御装置、情報処理装置、周波数制御方法及びプログラム
KR100663408B1 (ko) * 2003-07-14 2007-01-02 엘지전자 주식회사 씨피유 속도 트랜지션 제어장치 및 방법
TWI220700B (en) * 2003-08-20 2004-09-01 Delta Electronics Inc Programmable logic controller with an auxiliary processing unit
US7141953B2 (en) * 2003-09-04 2006-11-28 Intel Corporation Methods and apparatus for optimal voltage and frequency control of thermally limited systems
US20050068831A1 (en) * 2003-09-30 2005-03-31 Johnson Brian P. Method and apparatus to employ a memory module information file
US7134029B2 (en) * 2003-11-06 2006-11-07 International Business Machines Corporation Computer-component power-consumption monitoring and control
US7240225B2 (en) * 2003-11-10 2007-07-03 Dell Products L.P. System and method for throttling power in one or more information handling systems
FR2862773B1 (fr) * 2003-11-25 2006-04-14 Giga Byte Tech Co Ltd Dispositif et procede pour ajuster automatiquement la frequence de fonctionnement de l'unite centrale d'un ordinateur
US7251302B2 (en) * 2003-12-05 2007-07-31 Dell Products L.P. Method, system and apparatus for quantifying the contribution of inter-symbol interference jitter on timing skew budget
US20050125797A1 (en) * 2003-12-09 2005-06-09 International Business Machines Corporation Resource management for a system-on-chip (SoC)
US7129771B1 (en) 2003-12-23 2006-10-31 Transmeta Corporation Servo loop for well bias voltage source
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
CN1332288C (zh) * 2004-01-09 2007-08-15 佛山市顺德区顺达电脑厂有限公司 电脑装置的中央处理器时脉速度实时调整方法
US7816742B1 (en) 2004-09-30 2010-10-19 Koniaris Kleanthes G Systems and methods for integrated circuits comprising multiple body biasing domains
US7859062B1 (en) * 2004-02-02 2010-12-28 Koniaris Kleanthes G Systems and methods for integrated circuits comprising multiple body biasing domains
US7529947B2 (en) * 2004-03-31 2009-05-05 Marvell International Ltd. Determining power consumption of an application
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
US7562233B1 (en) 2004-06-22 2009-07-14 Transmeta Corporation Adaptive control of operating and body bias voltages
US7347621B2 (en) 2004-07-16 2008-03-25 International Business Machines Corporation Method and system for real-time estimation and prediction of the thermal state of a microprocessor unit
US7711966B2 (en) * 2004-08-31 2010-05-04 Qualcomm Incorporated Dynamic clock frequency adjustment based on processor load
US7603571B2 (en) * 2004-10-08 2009-10-13 Dell Products L.P. System and method for regulating the power consumption of a computer system
ATE408863T1 (de) * 2004-10-25 2008-10-15 Bosch Gmbh Robert Datenverarbeitungssystem mit variabler taktrate
WO2006045806A2 (de) * 2004-10-25 2006-05-04 Robert Bosch Gmbh Verfahren und vorrichtung zur steuerung eines rechnersystems
US7386737B2 (en) * 2004-11-02 2008-06-10 Intel Corporation Method and apparatus to control temperature of processor
US7313711B2 (en) * 2004-12-03 2007-12-25 Agere Systems Inc. Adaptive power management in portable entertainment device
US7464277B2 (en) * 2005-01-28 2008-12-09 Dell Products, L.P. Microprocessor performance mode control utilizing sensed temperature as an indication of microprocessor utilization
US7739531B1 (en) 2005-03-04 2010-06-15 Nvidia Corporation Dynamic voltage scaling
JP4492394B2 (ja) * 2005-03-08 2010-06-30 株式会社デンソー マイクロコンピュータ
TW200638267A (en) * 2005-04-22 2006-11-01 Chi Mei Comm Systems Inc Method for adjusting CPU speed of an electronic appliance
US7464278B2 (en) * 2005-09-12 2008-12-09 Intel Corporation Combining power prediction and optimal control approaches for performance optimization in thermally limited designs
CN100349098C (zh) * 2005-11-28 2007-11-14 北京中星微电子有限公司 基于任务的动态调节cpu工作频率的方法及系统
CN100435109C (zh) * 2006-12-19 2008-11-19 威盛电子股份有限公司 数字式温度感测系统
US9134782B2 (en) 2007-05-07 2015-09-15 Nvidia Corporation Maintaining optimum voltage supply to match performance of an integrated circuit
US8725488B2 (en) * 2007-07-26 2014-05-13 Qualcomm Incorporated Method and apparatus for adaptive voltage scaling based on instruction usage
US7970566B2 (en) * 2007-11-27 2011-06-28 Microsoft Corporation Correlating power consumption with CPU activity
US8370663B2 (en) 2008-02-11 2013-02-05 Nvidia Corporation Power management with dynamic frequency adjustments
EP2263136A4 (en) * 2008-03-03 2015-10-07 Hewlett Packard Development Co POWER PLAFFICATION BY SOFTWARE
US20090235108A1 (en) * 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
US8525840B2 (en) * 2008-05-15 2013-09-03 Apple Inc. Thermal management of graphics processing units
US8037325B1 (en) 2008-12-09 2011-10-11 Google Inc. System and method for determining power consumption
US8190939B2 (en) * 2009-06-26 2012-05-29 Microsoft Corporation Reducing power consumption of computing devices by forecasting computing performance needs
TWI416313B (zh) * 2009-07-31 2013-11-21 Via Tech Inc 可省電之電腦系統及其省電方法、可省電之電源管理單元
US9261929B2 (en) * 2009-08-20 2016-02-16 Hewlett-Packard Development Company, L.P. Cooling device control
US9256265B2 (en) 2009-12-30 2016-02-09 Nvidia Corporation Method and system for artificially and dynamically limiting the framerate of a graphics processing unit
US9830889B2 (en) 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
CN102129392B (zh) * 2010-01-18 2013-09-04 扬智科技股份有限公司 用来进行适应性频率调整的方法以及相关的电子装置
US8839006B2 (en) 2010-05-28 2014-09-16 Nvidia Corporation Power consumption reduction systems and methods
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
US8984305B2 (en) * 2010-12-21 2015-03-17 Intel Corporation Method and apparatus to configure thermal design power in a microprocessor
TWI627520B (zh) * 2010-12-21 2018-06-21 英特爾股份有限公司 用以配置處理器或處理裝置中之熱設計功率的系統
US9043457B2 (en) * 2012-10-25 2015-05-26 Qualcomm Incorporated Dynamic adjustment of an interrupt latency threshold and a resource supporting a processor in a portable computing device
US9529397B2 (en) 2013-03-01 2016-12-27 Qualcomm Incorporated Thermal management of an electronic device based on sensation model
CN104216812B (zh) * 2014-08-29 2017-04-05 杭州华为数字技术有限公司 一种性能监控单元多事件统计的方法和装置
KR102329473B1 (ko) 2014-11-24 2021-11-19 삼성전자주식회사 프로세서와 이를 포함하는 반도체 장치
KR102528692B1 (ko) * 2016-01-04 2023-05-08 한국전자통신연구원 중앙처리장치의 동적 주파수 조절 장치 및 그 방법
US11157329B2 (en) * 2019-07-26 2021-10-26 Intel Corporation Technology for managing per-core performance states
CN110955323A (zh) * 2019-11-27 2020-04-03 出门问问信息科技有限公司 一种智能手表设备
WO2021104267A1 (zh) 2019-11-27 2021-06-03 出门问问信息科技有限公司 一种数据传输方法、装置和智能手表设备
US11687116B2 (en) 2020-09-02 2023-06-27 International Business Machines Corporation Intelligent user equipment central processing unit core clock adjustment
KR20220102286A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 전자 장치 및 전자 장치에서 사용자 활동 기반 발열 제어 방법

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218704A (en) * 1989-10-30 1993-06-08 Texas Instruments Real-time power conservation for portable computers
JPH05297993A (ja) * 1992-04-16 1993-11-12 Dia Semikon Syst Kk マイクロプロセッサの駆動制御装置
ES2113498T3 (es) * 1992-12-28 1998-05-01 Advanced Micro Devices Inc Circuito de microprocesador con dos señales de temporizacion.
US5721837A (en) * 1993-10-28 1998-02-24 Elonex I.P. Holdings, Ltd. Micro-personal digital assistant including a temperature managed CPU
US5422832A (en) * 1993-12-22 1995-06-06 Advanced Micro Devices Variable thermal sensor
US5422806A (en) * 1994-03-15 1995-06-06 Acc Microelectronics Corporation Temperature control for a variable frequency CPU
US5535401A (en) * 1994-04-05 1996-07-09 International Business Machines Corporation Method and system of power and thermal management for a data processing system using object-oriented program design
US5798667A (en) * 1994-05-16 1998-08-25 At&T Global Information Solutions Company Method and apparatus for regulation of power dissipation
TW282525B (ja) * 1994-06-17 1996-08-01 Intel Corp
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
US5490059A (en) * 1994-09-02 1996-02-06 Advanced Micro Devices, Inc. Heuristic clock speed optimizing mechanism and computer system employing the same
US5451892A (en) * 1994-10-03 1995-09-19 Advanced Micro Devices Clock control technique and system for a microprocessor including a thermal sensor
US5572719A (en) * 1994-11-22 1996-11-05 Advanced Micro Devices Clock control system for microprocessors including a delay sensing circuit
US5623647A (en) * 1995-03-07 1997-04-22 Intel Corporation Application specific clock throttling
US5713030A (en) * 1995-10-11 1998-01-27 Vlsi Technology, Inc. Thermal management device and method for a computer processor
US5630110A (en) * 1996-03-01 1997-05-13 Samsung Electronics Co., Ltd. Method and apparatus for enhancing performance of a processor
US5826083A (en) * 1996-06-20 1998-10-20 Intel Corporation CPU cycle consumption self-regulating method and apparatus
US5774704A (en) * 1996-07-29 1998-06-30 Silicon Graphics, Inc. Apparatus and method for dynamic central processing unit clock adjustment
US5832284A (en) * 1996-12-23 1998-11-03 International Business Machines Corporation Self regulating temperature/performance/voltage scheme for micros (X86)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008516337A (ja) * 2004-10-06 2008-05-15 インテル・コーポレーション プロセッサ構成設定をオーバーライドする方法
JP4842956B2 (ja) * 2004-10-06 2011-12-21 インテル・コーポレーション プロセッサ構成設定をオーバーライドする方法
JP2012014716A (ja) * 2004-10-06 2012-01-19 Intel Corp プロセッサ構成設定をオーバーライドする方法
JP2014112402A (ja) * 2004-10-06 2014-06-19 Intel Corp プロセッサ構成設定をオーバーライドする方法

Also Published As

Publication number Publication date
TW454117B (en) 2001-09-11
EP0785498A2 (en) 1997-07-23
CN1168501A (zh) 1997-12-24
CN1192298C (zh) 2005-03-09
JP2007128556A (ja) 2007-05-24
KR100468561B1 (ko) 2005-06-21
KR970059886A (ko) 1997-08-12
EP0785498A3 (en) 1999-01-07
US5996084A (en) 1999-11-30

Similar Documents

Publication Publication Date Title
JPH09305569A (ja) Cpuの動作特性に応じてコンピュータの動作を制御する方法と装置
US6732283B2 (en) Processor having real-time power conservation
US7389438B2 (en) Method for detecting temperature and activity associated with a processor and using the results for controlling power dissipation associated with a processor
US6848054B1 (en) Real-time computer thermal management and power conservation
US7194646B1 (en) Real-time thermal management for computers
EP1416355B1 (en) Improvements in or relating to central processing units

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060517

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060522

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061010