(57)【特許請求の範囲】
【請求項１】
複数のプロセッサ・ユニット、及び前記複数のプロセッサ・ユニットの部分的利用を管理する制御ブロックを有するプロセッサであって、
前記制御ブロックは、
Ｎｏ−Ｏｐ命令のストリングが検知されたか否か、バス・オンリーか否か、及びマイクロプロセッサ・チップ上の温度センサの検知した温度が入力される論理ブロックと、
前記検知したＮｏ−Ｏｐ命令のストリング、バス・オンリーおよび前記温度の組み合わせによる複数の動作状態が梯子状に配置され、その梯子を上がったり下がったりすることができるアップダウン・カウンタと、
前記アップダウン・カウンタが示す前記動作状態に応じて、前記複数のプロセッサ・ユニットの活動を削減することにより電力消費を安定化させる利用制御モジュールと、
前記アップダウン・カウンタが示す前記動作状態に応じて、減速されたクロック、正常クロックまたは加速されたクロックの何れかのクロックを供給するクロック生成回路と、
前記アップダウン・カウンタが示す前記動作状態に応じて、正常電圧または昇圧された電圧の何れかの電圧を供給する電圧生成回路と、
を含み、
アップダウン・カウンタを進めるために必要な条件は、前記論理ブロックによりデコードされ、
前記検知した温度が、プロセッサを動作させるために特定された最大温度Ｔｍａｘより低い温度Ｔｏｐｔに達しない状態では、前記加速されたクロックおよび昇圧された電圧に制御し、
前記検知した温度が、前記Ｔｏｐｔを超え前記Ｔｏｐｔより僅かだけ高い温度Ｔｓｗｉｔｃｈに達しない状態では、前記加速されたクロックおよび昇圧された電圧に維持したまま前記利用制御モジュールをアクティブに制御し、
前記検出した温度が前記Ｔｓｗｉｔｃｈを超えた状態では、前記正常クロックおよび正常電圧に制御する、
プロセッサ。
【請求項２】
プロセッサの検知温度が該プロセッサを動作させるために特定された最大温度Ｔｍａｘより低い温度Ｔｏｐｔより下であるときは、加速されたクロックおよび昇圧された電圧に切り換えるステップと、
前記プロセッサの検知温度が前記Ｔｏｐｔを超過し、該Ｔｏｐｔより僅かだけ高い温度Ｔｓｗｉｔｃｈに達していないときは、前記加速されたクロックおよび昇圧された電圧に維持したまま利用制御モジュールをアクティブにし、プロセッサの機能ユニットに利用制御を適用して該機能ユニットの活動を削減することにより電力消費を安定化させるステップと、
前記プロセッサの検知温度が、前記Ｔｏｐｔよりも高い前記Ｔｓｗｉｔｃｈを超過しているときは、正常クロックおよび正常電圧に切り換えるステップと、
前記プロセッサがＮｏ−Ｏｐ命令のストリングを検知したときは、減速されたクロックへ切り換えるステップと、
前記プロセッサがバス・アクティビティのみを検知するときは必ず、正常電圧および正常クロックへ切り換えるステップとを含む、プロセッサの性能を最適化する方法。
【請求項３】
加速されたクロックへ切り換える前に、正常電圧から昇圧された電圧へ遷移するステップを含む、ことを特徴とする請求項２に記載の方法。
【請求項４】
昇圧された電圧から正常電圧へ切り換えるに先立って、正常クロックへ遷移するステップを含む、ことを特徴とする請求項２に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はプロセッサの性能を最大限に発揮させる技術に関し、より詳しくはプロセッサの温度を限界内に維持しながら、電圧、動作機能、クロック周波数の組合せを最適にする技術に関する。
【０００２】
【従来の技術】
現在のところ、マイクロプロセッサが、実行中にその電力及び温度を制御するための選択肢は極めて僅かしかない。このことは、移動型及びデスクトップ型の双方のパーソナル・コンピュータにおいていえる。マイクロプロセッサ・システムは、しばしば、最悪の電力消費状態で連続的に使用されることを想定して設計される。製品が生産にリリースされる前に、この設計条件に適合できることを保証するため高精度のシステム検証が行われる。
【０００３】
現在のマイクロプロセッサは、マイクロプロセッサ・システムが稼働中でないときに実行される多数の電力低減状態を有することを特徴とする。Ｘ８６クラスのマイクロプロセッサにおいては、その特徴は、通常、ＳＭＭ（システム管理モード）と称される。電力消費は、次のような方法により極めて低レベルに下げることができる。
・マイクロプロセッサ内の論理オペレーションを停止する。
・マイクロプロセッサへのクロックを止める。
・マイクロプロセッサへの電力を切る。
【０００４】
これらは特に、バッテリ寿命の限られる移動型パーソナル・コンピュータにとって有用な特徴である。しかしながら、上記の手順は全て、マイクロプロセッサによる生産的作業を完全に停止してしまう荒っぽい対応策である。
【０００５】
「フェイル・セーフ・モード」として、幾つかのシステムは、熱によるオーバランの場合にクロックを落とすために外部論理を用いる電力センサを導入してきた。この「フェイル・セーフ・モード」がアクティブにされるとき、その結果として生じる性能の減退が極めて深刻なことがある。例えば、１０分の１になってしまう。
【０００６】
他のマイクロプロセッサ及び技術革新により、そのマイクロプロセッサを所与の特定の動作特性又はその特性に近い特性で動作させることが求められるようになった。例えば、Elmerによる米国特許第５４８８２８８号では、温度及びプロセス変化に応答して、内部動作電圧を発生しかつこれを制御することによりスイッチング速度の揺らぎを補償する電圧安定化装置の使用が開示されている。
【０００７】
Turnvallによる米国特許第５４９８９７１号では、温度の関数として変化するパラメータを有するチップ上回路要素の使用と、ダイ(die)温度を計測しかつ過剰な温度条件の際に回路のクロック周波数を低下させるチップ外の回路要素の使用が開示されている。このことは、２つの所定の電圧をそのダイの出力ピンに対して供給することにより行われ、各々の電圧は、温度と共に変化する回路要素により発生される。そして、電圧の差を計測して、クロック周波数を制御するために用いられるダイ温度を表す信号を発生する。
【０００８】
Schutzらによる米国特許第５４４０５２０号は、別の解決手段であり、電圧マップが温度検知ユニットと結合される。当該特許では、所定の電圧と温度の関係を利用して、高いチップ温度の期間に電圧を上昇させている。そうしなければ、マイクロプロセッサ・チップの性能が低下することとなる。さらに、所定の素子特性のセットを利用して、電圧の上昇を特定の限界以内に制限している。
【０００９】
これらの解決手段の全ての焦点は、性能を安定化するため、又は、熱によるオーバーランを避けるために、電圧及び温度を利用することにある。しばしば、２つのパラメータのうち１つを他の１つに対して計測することにより、性能が精確に計測される。他の動作特性は無視される。
【００１０】
これらの解決手段は、適切な状況を利用できていない。マイクロプロセッサは、長時間その最大電力消費状態にあることはなく、そしてめったにその最大安全温度に近づくことがない。様々な温度範囲において性能を安定させようとするシステムでさえ、マイクロプロセッサ及びそのシステムはそのほとんどの時間において、より多くのオペレーションをサポートすることができるという事実を十分に取り入れてはいない。
【００１１】
本発明は、温度及び電圧の双方を便宜上用いる。本発明は、マイクロプロセッサ・システムがその電力消費の最悪条件で稼動することは稀であるという事実を利用する。本発明では、温度及び電圧以外の変数を用いることにより、様々な方法でシステムをモニターする。システム性能を最適化するためにとられるいかなる動作も、アクティビティが実行されるか若しくは実行されないかの関数となるのであって、いかなる動作も、これらのアクティビティが電圧か温度のいずれかに作用を及ぼす必要のある結果を生じるまで待つことはない。
【００１２】
【発明が解決しようとする課題】
本発明の目的は、マイクロプロセッサの性能を管理するべく、マイクロプロセッサ・システムの性能を最大限とするために種々のアクティビティ状態及び変数を用いる方法及びシステムを創作することである。
【００１３】
本発明の更なる目的は、電圧及び温度の最適設計条件と通常の動作条件との間の差を便宜上利用する。これらの条件は、普通はマイクロプロセッサの限界状態条件におけるものではない。
【００１４】
本発明の更なる目的は、可能な限りの頻度でその最適性能範囲内で動作する１又は複数のマイクロプロセッサを維持することである。
【００１５】
【課題を解決するための手段】
これらの目的は、本発明により充足される。本発明は、連続的にマイクロプロセッサの温度をモニターし、マイクロプロセッサがその瞬間的な最大許容性能において動作するよう維持するために他の変数を導入する。
【００１６】
これらの変数は、供給電圧、クロック及び機能を含む。プロセッサは、リアルタイムで実行されている機能に依存してかつリアルタイム環境の制約の範囲内で、その性能を最大に調整するために、単独でこれらの変数の最良の組合せを決定することができる。例えば、温度が所与の制限内であることがわかっている場合、通常の電圧設計限界を超えてプロセッサを動作させることができる。
【００１７】
システムの最大性能範囲に可能な限り留まるという目的をサポートするには、多数のオペレーション状態が定められる。各状態においてプロセッサ及びそのシステムは、そのシステム及びプロセッサの環境上及び実行上の状態をリアルタイムでモニターする。状態間の移動は、モニター用に選択されたパラメータに基づく。
【００１８】
プロセッサ性能制御モジュールは、状態及び生じた動作を制御し、チップ上の温度検知素子から連続的に入力される。「ｎ」クロック毎の区切りにおいて、プロセッサは、現在のオペレーション条件を評価して、どの動作をとるべきかそしてどの状態に入るべきかを決定する。
【００１９】
【発明の実施の形態】
いかなるときであってもプロセッサが動作している機能は、性能を最大化する上で考慮されるべき重要なパラメータである。行われる動作は、部分的には、実行中のプログラムにより決定される。この目的を達成するためにプロセッサは、実行中の命令タイプのオンゴーイング状態を維持しようとする。これらの命令タイプは、広くいえば次のように特徴付けられる。
・バス・トランザクション
・分岐機能
・レジスタ転送
・算術オペレーション
【００２０】
これらの機能の各々は、専用のハードウェアに関連している。スーパースカラー・マイクロプロセッサにおいては、このハードウェアがしばしば別個のユニットの形態となっており、このようなユニットの複数の複製がある場合もある。例えば、２つの算術ユニットがある場合等である。所与の場合には、これらのユニットは、「回転」、「加算」、「ＯＲ」等のさらに基本的なユニットへ分割されることもある。
【００２１】
スーパースカラー・マイクロプロセッサにおいては、複数のタイプのオペレーションを同時に実行することができる。最適性能を得るために、全てのこれらのアクティビティを監視すると共に、所望するスループットを実現するためのみでなくプロセッサがその性能限界近傍で動作することを確保するべく選択的にオペレーションをアクティブとする。
【００２２】
図１は、温度と電圧を軸としてマイクロプロセッサが動作可能な領域を描いたノモグラフを示す。左側の境界は、回路が満足に動作するであろう最低電圧により決定される。右側の境界は、技術的な安全負荷レベルにより決定される。この最も右側の境界は、温度と電圧の双方の関数であることに留意されたい。
【００２３】
右上の点は、通常性能領域４００の「限界状態動作点」を示す。この点及びこの点と同じ温度における低電圧動作限界により決定される長方形は、特定の動作条件を規定する。限界条件温度に近づかない場合は、技術的に、より高い動作電圧を安全にサポートでき、そしてより高性能をサポートできることになる。実際に、通常の動作条件下では、限界条件温度に近づくことは稀である。斜線の長方形５００は、リアルタイム温度が頻繁に許容する更なる最適性能領域を示す。
【００２４】
本発明の目的は、マイクロプロセッサが、可能な限り頻繁に斜線長方形により示されるこの更なる最適性能領域内で動作するよう維持することである。この目的のサポートにおいて、電力消費及び動作温度を下げる多数の他の動作状態が規定される。
【００２５】
図２は、本発明のための「切り換え制御流れ図」を示す。更なる最適性能領域５００が、４と示されたボックスである。その特徴は、昇圧された電圧（ＡＶ）及び加速されたクロック（ＡＣ）、並びに任意のマイクロプロセッサの機能を完全に利用することに制約がないことである。
【００２６】
他の動作状態は、他のボックスにより表されている。これらのボックスは、梯子状に配置されている。双方向性の矢印は、マイクロプロセッサが梯子の上で隣り合う動作状態間へ切り換えられることを示している。あるいは、特定の条件下では、梯子の最上部と最下部の間で切り換えられることを示す。左上角のキーは、各ボックス内の動作条件を規定する。
【００２７】
・正常電圧（ＮＶ）
正常電圧とは、従来技術によるマイクロプロセッサである場合に設計されてきた汎用的な設計電圧を意味する。
【００２８】
・減速されたクロック（ＲＣ）
減速されたクロックとは、正常クロック又は加速されたクロックよりも非常に低いクロック周波数を意味する。
【００２９】
・正常クロック（ＮＣ）
正常クロックとは、従来技術によるマイクロプロセッサである場合に設計されてきた汎用的クロック周波数を意味する。
【００３０】
・昇圧された電圧（ＡＶ）
昇圧された電圧とは、温度条件が適合するときに適宜許容される、より高い動作電圧を意味する。
【００３１】
・加速されたクロック（ＡＣ）
加速されたクロックとは、昇圧された電圧が適用されかつ温度条件が適合するときに許容し得る、より高いクロック周波数を意味する。
【００３２】
・利用制御（ＵＣ）
利用制御とは、それがなければマイクロプロセッサがそのマイクロプロセッサの内部機能の全てを完全に利用するはずの、何らかの制約状態に置かれていることを意味する。これは、僅かな「スローダウン・モード」であり、クロック周波数の変化を必要としない。
【００３３】
破線の輪郭で示されたボックスは、遷移状態を表す。これらの遷移状態は、マイクロプロセッサが、先ず昇圧された電圧へと切り換わることなしには瞬間的に加速されたクロックへと切り換わることができないという理由から存在するにすぎない。逆に、正常電圧へと戻る前に、マイクロプロセッサは先ず正常クロックへと切り換わらなければならない。
【００３４】
ここで、これらのボックスの各々について、先ず最上部のボックスから検討する。
【００３５】
・状態＃１：ＮＶ／ＲＣ
マイクロプロセッサは、Ｎｏ-Ｏｐ命令のストリングを検知したときには必ずこの非常に低い電力状態に切り換わる。この状態は、電力を減らしかつ温度を下げる。結果的に得られる低い一定温度は、マイクロプロセッサがその後に突発的なアクティビティに遭遇するときに有利となる。
【００３６】
・状態＃２：ＮＶ／ＮＣ
マイクロプロセッサは、バス・アクティビティのみを検知するときには必ずこの状態に留まり、そしてリアルタイム温度がＴopt未満であるとき又は状態＃１と状態＃４の間で遷移しているとき、この状態に留まる。Ｔoptは、限界条件温度より十分に低い温度であり、この温度では、より高い電圧及びより高い周波数のオペレーションが可能でありかつ技術的に不利益がないと判断されている。このポイントは、通常、技術的負荷限界の所与の許容できる誤差の範囲内で、図１に示した更なる最適性能領域５００の高温限界にて選択される。Ｔoptは、図１には符号５０１で示されている。
【００３７】
・状態＃３：ＡＶ／ＮＣ
前述のように、これは遷移状態である。
【００３８】
・状態＃４：ＡＶ／ＡＣ
これは、「更なる最適性能領域」であり、前述した通りである。この状態／領域は、高度かつ生産的なアクティビティの期間のために用いられる。マイクロプロセッサは、温度がＴoptの下にある限りにおいてのみ状態＃４に留まることができる。Ｔoptの定義については、「状態＃２」の記述を引用する。
【００３９】
・状態＃５：ＡＶ／ＡＣ／ＵＣ
状態＃５は、ある程度状態＃４に似ている。状態＃５は、半導体基板温度がＴoptを超えたことをマイクロプロセッサ・センサが検知するときに誘発される。マイクロプロセッサは、昇圧された電圧かつ加速されたクロックに留まるが、電力消費は、その様々な内部マイクロプロセッサ機能の部分的利用に対して巧みな制御を行うことにより制限される。この概念は、以下でさらに詳細に説明される。
【００４０】
・状態＃６：ＡＶ／ＮＣ／ＵＣ
これは、もう１つの遷移状態である。状態＃６を介する状態＃７への遷移は、半導体基板温度がＴswitchを超えたことをマイクロプロセッサ・センサが検知するときに誘発される。Ｔswitchは、Ｔoptよりほんの僅かだけ高い温度である。Ｔswitchを超えることは、更なる温度上昇を止めるための利用制御の適用が十分でなかったことを意味する。そこで、さらに徹底した制御を適用しなければならない。Ｔswitchは、図１の符号５０２により示され、通常、更なる最適領域５００として設定された技術的負荷限界に近い。それは、更なる温度上昇を止めるためにとられる尺度として、プロセッサにその技術的負荷限界を超えさせないように安全に維持するようなポイントである。
【００４１】
・状態＃７
状態＃７では、マイクロプロセッサが、様々な内部マイクロプロセッサ機能の部分的利用に対する制御を適用し続けつつ、正常クロック及び正常電圧へ戻る。状態＃７は、限界条件設計限界の範囲内となることを意図されている。図１の領域４００を参照されたい。これは、通常性能領域であるので、マイクロプロセッサはこの状態に永遠に留まることができる。しかしながら、本発明においては、ほとんど場合にマイクロプロセッサは、状態＃７に入った後まもなく状態＃５か状態＃４のいずれかに戻ることになる。
【００４２】
ここで、マイクロプロセッサは、Ｎｏ-Ｏｐｓ命令のストリングが検知された場合は状態＃７から状態＃１へ直接行くことができることに留意されたい。しかしながら、温度が最初にＴoptより下がるまではそこから状態＃２へ進むことはできない。
【００４３】
上記のように、状態＃４と状態＃５との間の切り換えは、所与の利用制御を呼び出す。正常条件及び正常プログラミングの下では、マイクロプロセッサが常に状態＃４にあることが想定されている。しかしながら、アクティビティの小さなピークが、瞬間的に状態＃５へと移行させることがある。状態＃５は、クロック周波数を単純に粗く下げることよりも、微妙でかつ効果的である。状態＃５は、マイクロプロセッサ機能の幾つかを使用できる頻度を制限することにより、アクティビティのピークであるロード・レベルを求める。明らかに高電力の機能、特に円滑な性能に悪影響を及ぼす機能が先ず削られる。図３及び図４は、このロード・レベル決定を実行する相互動作のパスを示している。
【００４４】
図３は、プロセッサ及びそのシステムの機能を管理するために用いられる性能制御回路の構成図である。性能制御ブロック３２は、マイクロプロセッサの様々なユニットの部分的利用を管理するために自動制御ブロック３６への動作情報を与え、そして自動制御ブロック３６から利用制御情報を受け取る。これを、例えば図３のブロック３４に一般的に示されるように、算術ユニット、浮動小数点ユニット及び他のさらに基本的なユニットへ接続することができる。
【００４５】
さらに、性能制御ブロック３２は、プロセッサのバスを通しバス・モニター３８を介してバス・アクティビティを検知し、この情報を自動制御ブロック３６に対して送る。性能制御ブロックはさらに、クロック制御回路３０へ情報を入力しかつここから情報を受け取る。これらの入力は、利用率を上げるために、そして自動制御ブロック３６に対するシステム・クロック及び初期化情報を与えるために用いられる。一般的に、プロセッサ・ユニット３４の制御は、プロセッサのアーキテクチャ及び対象とする特定のプロセッサの性能に大きく依存する。例えば、アーキテクチャ的配慮により、異なるユニット３４の制御のために異なる利用度を定めることもある。なぜなら、１つのユニットが別のユニットよりも性能若しくは依存性の観点からより重要な場合があるからである。重要性及び利用性のマトリクスに基づいて、１又は複数のユニットに対するクロックが、その性能ユニットにより変更されることもある。
【００４６】
自動制御ブロック３６を形成するネットワークが、図４にさらに詳細に示されている。この自動制御ブロックは、供給電圧及びクロック周波数の双方を制御する。電圧安定化機能は高電力消費を呈するので、通常、この機能は、マイクロプロセッサ・チップから物理的に分離されている。図４では、電圧安定化機能が破線の右に示され、正常電圧(ＮＶ)５０及び昇圧された電圧(ＡＶ)５２により表されている。図４に示すように好適例においては、自動制御ブロックの他の全ての部分が、マイクロプロセッサ・チップ上に置かれている。
【００４７】
アップダウン・カウンタは、２つの電圧（ＮＶ及びＡＶ）間を直接切り換えるチップ外の電圧安定化装置(５０及び５２)を制御する。自動制御ブロックは、電圧安定化装置がその対応するクロック周波数遷移の前に両電圧間の遷移を完了するために十分な時間を許容されるべくプログラミングされている。
【００４８】
さらに自動制御ブロックは、クロック周波数がＲＣ、ＮＣ及びＡＣの間で切り換わることを制御する。再び、自動制御ブロックは、クロック発生器がその対応する供給電圧遷移の前にこれらの間の遷移を完了するために十分な時間を許容されるべくプログラミングされている。
【００４９】
実際の制御は、初期化用のリセット入力（ライン５１）を具備するアップダウン・カウンタとして見ることができる。このカウンタは、条件に基づいて「梯子」を上がったり下がったりすることができる。アップダウン・カウンタを進めるために必要な条件は、単純な論理ブロックによりデコードされる。アップダウン・カウンタの進行は、クロック・サイクル境界上においてのみ行われ、多数のＮｏ-Ｏｐサイクルにわたることもある。システム・クロック・ライン５３は、この同期を与える。
【００５０】
実際の実施においては、これらの単純な論理ブロックへの入力は、性能制御ブロックからの情報を含む。例えば、次のようなものである。
・Ｎｏ-Ｏｐ命令のストリングが検知されたか（図４の符号５６）。
・命令は、「バス・オンリー」か（図４の符号５４）。
【００５１】
自動制御ブロックはさらに、符号５８として集合的に示されるマイクロプロセッサ・チップ上の温度センサからの入力を受け取る。温度感知ダイオードは、この目的のために用いることができる。ブロック６０、６２及び６４は、各々インバータ（６６）を有し、それぞれＴ＞Ｔopt（６０）、Ｔ＞Ｔswitch（６２）、及びＴ＞Ｔmax（６４）となるとき直ちにイネーブルとされる。Ｔmaxは、プロセッサを動作させるために特定された最大温度である。
【００５２】
性能制御ブロック３２からのＮｏ-Ｏｐ信号もまたインバータを有することに注目すると、ゲート６８が状態１を規定し、ゲート７０が状態２を規定し、ゲート７２が状態４及び遷移状態３を規定し、ゲート７４が状態５を規定し、そしてゲート７６が状態７及び遷移状態６を規定する。状態１が真である場合（すなわち、Ｎｏ-Ｏｐ条件又はＴ＞Ｔmaxのいずれかである場合）、減速クロック発生器８０がイネーブルとされ、プロセッサ・クロック出力８８が減速されたクロック速度となる。バス・アクティビティかつＴ＜Ｔoptの場合、状態２がイネーブルとされる。状態２にあるとき、ゲート９０を介する制御が正常クロック（ＮＣ）８２をイネーブルとし、ＮＣ８２から戻される信号に基づきゲート９４を介して正常電圧を維持する。状態３は遷移状態であり、プロセッサのユニットがオペレーションの実行を開始する（状態２から出る）ときはいつでも生じ、そしてＴ＜Ｔoptのとき生じる。この状態においては、ゲート９１が、昇圧電圧安定化装置（ＡＶ）５２をイネーブルとする。ＡＶがイネーブルとされた後、加速クロック（ＡＣ）８４をイネーブルとするために信号がゲート９５を介して送られ、そしてここでプロセッサは状態４にある。Ｔopt＜Ｔ＜Ｔswitchのとき、状態５がゲート７４を介してイネーブルとされる。これは、プロセッサ及びシステムを、利用制御（ＵＣ）８６へ移行させる。この状態では、性能制御ブロック３２が、ユニット３４の活動を削減することにより電力消費を安定化させようとする。
【００５３】
状態６は、Ｔ＞Ｔswitchとなる遷移状態である。この状態では、ゲート７６がゲート９０を介して先ず正常クロック８２をオンとした後、ゲート９３及び９４を介して正常電圧（５０）を発生する。その後システムは状態７にあり、そして温度がＴmaxを超えるか又はＴswitch未満となるまで留まる。温度がＴmaxを超えた場合、システムは状態１へ移行する。しかし、温度がＴswitchより下がった場合、システムは状態５へ戻る。
【００５４】
上記においては、本発明を特定の実施例を参照して記述した。しかしながら、特許請求の範囲に記載の本発明のより広い主旨及び範囲から逸脱することなく様々な修整や変更が可能なことは自明である。明細書及び図面は、説明のためであって限定することを意図したものではない。
【００５５】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００５６】
（１）安定化された電源を用い複数のクロック周波数を有するプロセッサにおいて、前記プロセッサの現在温度に対応する温度信号を与える温度検知回路と、前記プロセッサの機能的オペレーションをモニターする性能制御部と、前記性能制御部及び前記温度検知ユニットから情報を受信し、適切なクロック周波数及び動作電圧を選択するためにその情報を利用する論理ネットワークとを有するプロセッサ。
（２）前記性能制御部の一部であって前記論理ネットワークへ結合され、前記論理ネットワークへ与えられる前記情報に基づいて１又は複数のプロセッサの機能ユニットのオペレーションを制限する利用制御モジュールを有する上記（１）のプロセッサ。
（３）前記論理ネットワークが、前記温度検知ユニット及び前記性能制御部からの前記情報を利用することにより、前記プロセッサの前記オペレーションを制御する状態を提供する上記（１）に記載のプロセッサ。
（４）前記性能制御部の一部であって前記論理ネットワークへ結合され、前記論理ネットワークへ与えられる前記情報に基づいて１又は複数のプロセッサの機能ユニットのオペレーションを制限する利用制御モジュールを有する上記（３）のプロセッサ。
（５）検知される前記温度が最適温度を超えるときに、前記利用制御モジュールが、前記状態のうちの１つによりイネーブルとされる上記（３）のプロセッサ。
（６）検知される前記温度が高電圧及び高速クロックにおいて選択された温度範囲外にあるとき、前記状態のうちの１つが正常電圧及び正常クロックを与える上記（３）のプロセッサ。
（７）前記状態のうちの１つが、検知される前記温度が最適温度より下であるときにイネーブルとされる高電圧及び高速クロックを与える上記（３）のプロセッサ。
（８）前記状態のうちの１つが、検知される前記温度が最適温度より下であるときにイネーブルとされる高電圧及び高速クロックを与える上記（５）のプロセッサ。
（９）検知される前記温度が高電圧及び高速クロックにおいて選択された温度範囲外にあるとき、前記状態のうちの１つが正常電圧及び正常クロックを与える上記（５）のプロセッサ。
（１０）検知される前記温度が高電圧及び高速クロックにおいて選択された温度範囲外にあるとき、前記状態のうちの１つが正常電圧及び正常クロックを与える上記（８）のプロセッサ。
（１１）前記性能制御部がバス・アクティビティのみを検知し、かつ、検知される前記温度が最適温度より下であるとき、前記状態のうちの１つが正常電圧及び正常クロックを与える上記（１０）のプロセッサ。
（１２）前記性能制御部が一連のＮｏ-Ｏｐ命令を検知するか、又は、前記温度が前記プロセッサについて特定された最高温度より上であるかのいずれかのとき、前記状態のうちの１つが減速されたクロック速度を与える上記（１０）のプロセッサ。
（１３）前記性能制御部が一連のＮｏ-Ｏｐ命令を検知するか、又は、前記温度が前記プロセッサについて特定された最高温度より上であるかのいずれかのとき、前記状態のうちの１つが減速されたクロック速度を与える上記（１１）のプロセッサ。
（１４）前記プロセッサの機能ユニットが動作しておりかつ前記プロセッサの検知温度が増進されたアクティビティ状態における最適温度より下であるとき、正常なアクティビティ状態から前記増進されたアクティビティ状態へと切り換えるステップと、前記プロセッサの検知温度が、前記増進されたアクティビティ状態における前記最適温度と超過しない温度との間であるとき、前記プロセッサの機能ユニットを管理する利用制御をイネーブルとするステップと、前記プロセッサの検知温度が、前記増進されたアクティビティ状態で動作するための前記超過しない温度よりも上であるとき、前記増進されたアクティビティ状態から正常なアクティビティ状態へと切り換えるステップとを含むプロセッサの性能を最適化する方法。
（１５）前記正常なアクティビティ状態が正常なクロック及び電圧を有し、前記増進されたアクティビティ状態が増進されたクロック及び電圧並びに前記プロセッサの機能ユニットによる全機能実行を有する上記（１４）のプロセッサの性能を最適化する方法。
（１６）前記プロセッサが一連のＮｏ-Ｏｐ命令を検知したとき、減速されたクロック状態へ入るステップと、前記プロセッサの検知温度が最適温度より下でありかつバス・アクティビティのみがあるとき、減速されたクロック状態から、又は、増進された電圧及びクロック状態から、正常なアクティビティ状態へと移行するステップとをさらに含む上記（１５）の方法。
（１７）  前記プロセッサの検知温度が、前記プロセッサにおける特定の温度より上であるときはいつでも、前記減速されたクロック状態へと切り換えるステップをさらに含む上記（１６）の方法。
（１８）可変のクロック及び電圧を有するプロセッサの性能を最適化する装置において、前記プロセッサの機能ユニットが動作しておりかつ前記プロセッサの検知温度が増進された電圧及びクロック状態での動作における最適温度より下であるとき、正常な電圧及びクロック状態から前記増進された電圧及びクロック状態へと切り換える手段と、前記プロセッサの検知温度が、前記最適温度と前記増進された電圧及びクロック状態における超過しない温度との間であるとき、利用制御をイネーブルする手段と、前記検知温度が、増進された電圧及びクロック状態で動作するための前記超過しない温度より上であるとき、前記増進された電圧及びクロック状態から前記正常なアクティビティ状態へと切り換える手段とを有するプロセッサの性能を最適化する装置。
（１９）前記プロセッサが一連のＮｏ-Ｏｐ命令を検知したとき、減速されたクロック状態に入る手段と、前記プロセッサの検知温度が前記最適温度より下でありかつバス・アクティビティのみがあるとき、減速されたクロック状態から、又は、増進された電圧及びクロック状態から、正常なアクティビティ状態へと移行する手段とをさらに有する上記（１８）の装置。
（２０）前記プロセッサの検知温度が、前記プロセッサにおける特定の温度より上であるときはいつでも、前記減速されたクロック状態へ切り換える手段をさらに有する上記（１９）の装置。
【図面の簡単な説明】
【図１】マイクロプロセッサが動作可能な領域を描いた、温度と電圧を軸とするノモグラフである。
【図２】本発明の切換制御の流れ及びその状態を示す流れ図である。
【図３】本発明の性能制御及び自動制御並びに関連する入力及び出力の構成図である。
【図４】本発明の自動制御論理の単純な論理ブロックを用いた図である。
【符号の説明】
３０    クロック制御
３２    性能制御
３４    機能ユニット
３６    自動制御
３８    バス・モニター
１００  技術的負荷限界
２００  限界条件動作点
３００  回路の電圧限界
４００  汎用的仕様領域
５００  更なる最適性能領域
５０１  Ｔopt
５１０  Ｔswitch
【図１】
0004008989.tif 000002
【図２】
0004008989.tif 000003
【図３】
0004008989.tif 000004
【図４】
0004008989.tif 000005