(57)【要約】【課題】マイクロ・プロセッサ・チップの処理速度を最適化する装置及び方法を提供することである。【解決手段】最適処理周波数が各プロセッサの個別動作特性に基づきプロセッサに対してセットされる。プロセッサに供給される電源電圧は、そのプロセッサに指定された最高値まで手動で又はソフトウェア制御の下に上昇される。これがプロセッサを最高可能周波数で動作させる。プロセッサ・クロックをその最高動作周波数に適当にセットすることができるようにプロセッサ・クロック周波数がマザーボード・クロック周波数に対して変動させられる。プロセッサが適正に機能する際の最高クロック周波数を判定するために近似方法が使用される。熱的に誘導される半導体降服を防止するために、追加ヒート・シンクが遂行され及び（又は）熱管理方式が使用される。プロセッサへの最適動作周波数及び最適電源電圧を決定するために電源電圧がまたクロック速度と一緒に制御されることがある。【選択図】図１
2005285114.tif 000002
【特許請求の範囲】
【請求項１】
可変周波数プロセッサの性能を強化する方法であって、前記プロセッサがデジタル制御電源から供給電圧を受け、前記プロセッサの動作周波数がデジタル周波数制御値により決定され、前記方法は、
前記電源に第１のデジタル電源制御値を印加し前記電源を前記プロセッサの動作範囲内の初期電圧レベルに設定するステップと、
前記プロセッサに第１のデジタル周波数制御値を印加し前記プロセッサが初期周波数で動作するクロック速度を設定するステップと、
初期周波数および初期電圧レベルで動作する前記プロセッサの性能値を決定するステップと、および
前記プロセッサに複数のデジタル周波数制御値を印加し前記電源に複数のデジタル電源制御値を印加する関係においてクロック速度を制御し前記電源を制御し前記プロセッサの最適性能値を決定するステップと、
を含む前記方法。
【請求項２】
請求項１記載の方法であって、前記プロセッサは、コンピュータ・システムの一部であり、前記方法は、さらに、コンピュータ・システムが適正に動作する最大クロック速度が見出されるまで複数のデジタル周波数制御値を印加しクロック速度を増加することにより前記プロセッサが初期周波数に設定されるとき適正に動作するコンピュータ・システムに応答するステップを含む前記方法。
【請求項３】
請求項１記載の方法であって、前記プロセッサは、コンピュータ・システムの一部であり、前記方法は、さらに、コンピュータ・システムが適正に動作する最大クロック速度が見出されるまで複数のデジタル周波数制御値を印加しクロック速度を減少することにより前記プロセッサが初期周波数に設定されるとき不適当に動作するコンピュータ・システムに応答するステップを含む前記方法。
【請求項４】
請求項１から３のいずれかに記載の方法であって、クロック速度を増加または減少するために逐次近似が使用される前記方法。
【請求項５】
可変周波数プロセッサの性能を強化する装置であって、電源制御装置および前記プロセッサの周波数を可変する手段を含み、前記装置は、請求項１から４のいずれかの方法を実施する前記装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（本発明の背景）
（本発明の分野）
本発明は、マイクロ・プロセッサ・チップの処理速度を最適化する装置及び方法に関する。
（関連技術の説明）
周知のように、プロセッサ・チップの性能の尺度は、そのプロセッサ・チップの動作周波数である。高クロック周波数で動作するプロセサ・チップは、低クロック周波数で動作する同等のプロセサ・チップよりも短時間により多くの情報を処理する能力を有する。それゆえ、プロセサ・チップを、そのプロセッサの内部遅延、熱破壊に起因して又は熱的に誘導される自動停止に起因してそのプロセッサを誤動作させることなく、又は熱的に誘導される運転停止に起因する性能の劣化を起こさせることなく、その特定のプロセサ・チップが動作することができる最高クロック周波数で、ランさせることが望ましい。
多くの場合、プロセサ・チップは、そのプロセッサが上述の故障又は保護上の停止を生じることなく維持することができる最高動作周波数よりもかなり低いクロック周波数で動作するコンピュータ・システム内に実現される。これは、多くの理由から起こることがある。例えば、プロセサ・チップは、典型的に、２つないし３つの速度階級（例えば、６６ＭＨｚ、１００ＭＨｚ等）に類別されるので、標準クロック速度階級より高いクロック速度で実際にランする能力を有する多くのプロセサ・チップは、単に、所与のコンピュータに対するクロック速度階級に適合するために低クロック速度にセットされる。更に、処理チップ製造業者は、時には、１つの速度階級（例えば、１００ＭＨｚ）以上で動作する能力を有するチップを過剰に生産するが、しかし、市場計画と協調するために、これらの製造業者は、故意にそのプロセッサを低速度階級で市場に出し、市場圧力が高速度階級を要求するまで速度を下げたままにする。最終的に、時には、処理チップは、低電圧条件下でのみ試験される。技術的に周知のように、高電源電圧がマイクロプロセサ・チップに印加されると、このチップは、典型的に、この処理チップが動作することのできる最高クロック速度を増すように働く。これは、より高い電圧がプロセッサ電子回路全体を通して容量性時間遅延の短縮をもたらすゆえである。しかしながら、熱的考慮、電源ニーズ及び結局、電圧によって誘導される半導体降服に起因して、電源電圧は、多くの処理チップ上でしばしば低く維持される。それゆえ、遥かに高いクロック速度でランする能力を有する或る処理チップは、時には、試験が実施された条件に起因してより低いクロック速度階級に分類される。
プロセッサの性能を強化する１つの既知の方法は、マザーボード・クロックを使用禁止し、かつ、より高い周波数クロック源を追加することである。しかしながら、このような実現は、通常、マザーボード上のシステム構成要素の全て（例えば、メモリ、マザーボード・バス、入出力装置等）が高められたクロック速度で動作することを要求する。したがって、システム構成要素の１つが高クロック速度で動作する能力を有さないならば、性能を改善するために、このような実施例を使用することはできない。
それゆえ、個々の処理チップの性能を最適化するために、プロセサ・チップのクロック速度性能を強化する装置及び方法をアフタサービス製造業者又は個々のＰＣ所有者によって実現することができるとしたならば、望ましいことである。
【０００２】
（本発明の要約）
コンピュータ・システム内で可変周波数プロセサ・チップの性能を強化する方法において、プロセサ・チップが指定最高電圧レベルを有し、かつデジタル制御される電源電圧によって附勢される。この方法は、次のステップを含む。すなわち、電源電圧を指定最高電圧レベルにセットするために複数のデジタル電源制御値を印加するステップ、プロセサ・チップが動作するクロック速度を初期周波数にセットするために第１のデジタル値をプロセサ・チップに印加するステップ、プロセサ・チップがこの周波数にセットされているときコンピュータ・システムが適正に動作するかどうか判定するステップ、及びプロセサ・チップが初期周波数にセットされているときコンピュータ・システムが適正に動作しないならば、処理チップが適正に動作する最高クロック速度が見付かるまでクロック速度を低下させるように異なるデジタル値をプロセサ・チップに印加するステップ。プロセサ・チップが初期周波数にセットされているときコンピュータ・システムが適正に動作するならば、コンピュータ・システムが適正に動作する最高クロック速度が見付けられるまでクロック速度を上昇させるようにデジタル値が印加される。
好適実施例では、クロック速度を上昇又は低下させるために逐次近似が使用される。
他の好適実施例では、本方法は、プロセサ・チップの温度を監視し、かつ、その温度がしきい値を超えるとプロセッサ温度が安全値に復帰するような時間までプロセッサの動作周波数を低下させるために中断を生じるステップを更に含み、この時間にプロセッサは、その元のクロック速度でランすることを許される。
【０００３】
特定実施例では、本方法は、プロセッサの冷却を増すことを含む。１つの実現では、ファン又はヒート・シンクをプロセッサの冷却を増すのに使用することもできる。
他の態様では、本発明の好適実施例は、可変周波数プロセサ・チップの性能を強化する方法であって、プロセサ・チップがデジタル制御される電源電圧によって附勢される。この方法は、次のステップを含む。すなわち、電源電圧をプロセサ・チップの動作範囲内の電圧レベルにセットするために複数のデジタル電源制御値を電源に印加するステップ、プロセサ・チップが動作するクロック速度を初期周波数にセットするために第１の複数のデジタル周波数制御値をプロセサ・チップに印加するステップ、プロセサ・チップが初期周波数で適正に動作するかどうか判定するステップ、及びプロセサ・チップが適正に動作する最高クロック速度を決定するために電源電圧と一緒にクロック速度を制御するように異なるデジタル周波数制御値をプロセサ・チップに印加するステップを含む。
好適実施例では、クロック速度を上昇又は低下させるために逐次近似が使用される。
他の好適実施例では、本方法は、プロセサ・チップの温度を監視しかつその温度がしきい値を超えるとプロセッサ温度が安全値に復帰するような時間までプロセッサの動作周波数を低下させるために中断を生じるステップを更に含み、この時間にプロセッサは、その元のクロック速度でランすることを許される。
なお他の好適実施例では、本方法は、プロセッサの冷却を増すことを含む。特定実施例では、ヒート・シンク又はファンがプロセッサの冷却を増すために使用される。
【実施例】
【０００４】
（本発明の詳細な説明）
図１は、本発明の教示により構成されたコンピュータ・システム１００の極めて簡単化されたブロック図である。コンピュータ・システム１００は、本発明を図解するに当たって明確の目的のために図１に示されていない追加電子回路を典型的に含むことは、当業者の承知する所である。コンピュータ・システム１００は、中央処理装置（ＣＰＵ）１１０を含み、この装置は、例えば、ＩＮＴＥＬから入手可能なＰ６マイクロ・プロセサ・チップを含んでよい。ＣＰＵ又はプロセッサ１１０はマイクロ・プロセッサ・バス１３０及びコア論理１３５を経由してマザーボード上のメモリ、入出力（Ｉ／Ｏ）装置等１２０のような、他のシステムと連絡する。プロセッサ１１０は、また電源制御レジスタ１４０を含み、このレジスタは、ＣＰＵ電源１４５の調整電圧を制御するために通常使用される電圧制御値を記憶する。
本発明の１つの好適実施例によれば、ＣＰＵ電源１４５を制御するために使用されるＣＰＵの電源制御レジスタからの線路は、遮断され、ＣＰＵ電源１４５の制御は、スイッチのアレイ又は別個マイクロ・コントローラのような外部制御装置によって施される。
プロセッサ１１０は、内部周波数変換器１６０を含み、この変換器は、マザーボード・システム構成要素に供給されるクロック周波数から内部クロック周波数を発生する。周波数変換器１６０は、線路１６７を経由して発振器１６５からクロック入力を受信する。
周波数変換器１６０は、ＣＰＵ１１０のピン上の電圧レベルをラッチすることによって、製造業者のＣＰＵハードウェア仕様によって定義されたようにリセットの際に決定された周波数で動作する。これらのピンは、マルチプレクサ１４１によって駆動される。リセットが表明されないとき、これらのピンは、コア論理１３５によって制御される。リセット中、これらのピンは、スイッチ又はハード・ワイヤ・ジャンパのどちらかであり得る周波数制御ハードウェア１４３によって制御される。
【０００５】
当業者に周知のように、かつ上に短く論じたように、プロセッサが動作することのできる最高クロック速度は、電圧による降服を防止するためにチップ製造業者によって制限された電源電圧の指定範囲内でプロセッサ１１０に印加される電源電圧の関数である。しかしながら、電源電圧が上昇するに従って、熱的に誘導される半導体降服の公算もまた増大する。それゆえ、本発明は、システム管理中断（ＳＭＩ）技術を用いてプロセッサ温度を熱的に管理することによって、又は特定応用によって要求されるに従って追加ヒート・シンクを含めることによって、熱管理技術の利点を活用する。ＳＭＩは、プロセッサ１１０の温度が特定値を超えると、プロセッサを停止又は速度低下させる。いったんプロセッサ１１０が充分に冷却されると、プロセッサは、正常動作を回復する。
特定のいくつかの応用の場合、ＳＭＩに起因するプロセッサ１１０の停止又は速度低下が高電源電圧に対してプロセッサ１１０を実際に低有効速度でランさせる結果を招くことが判る。これらの応用では、プロセッサ１１０がそのチップの個別特性に対する最適許容クロック速度でランすることができるように平衡を見付けなければならない。それゆえ、本発明の１つの態様によれば、電源電圧ばかりでなくプロセッサ１１０に供給されるクロック速度を制御する方法は、プロセッサ１１０が動作することのできる最適クロック周波数を見付ける。更に、このようにして、プロセッサ１１０の動作寿命期間を短縮する危険を伴うことなく、各個のプロセッサにとっての最高クロック速度を利用することができる。
プロセッサ１１０の最適クロック速度を、プロセッサ１１０の内部自己試験を使用して周波数コントローラ１４３の制御の下に電力投入中、決定することができる。いったん、この最適クロック速度が決定されると、プロセッサ１１０は、マザーボード上のシステム構成要素１２０及び１３５と一緒に正常に動作する。本発明は、プロセッサ・クロック周波数とマザーボード・クロック周波数との間の可変関係を活用する。プロセッサ・クロック周波数をマザーボード動作周波数に対して変動させることができるので、マザーボード・システム構成要素１２０及び１３５のクロック速度に影響することなく、どのようなクロック速度でもプロセッサ１１０に対して定義してよい。
【０００６】
図２は、プロセッサ１１０内に典型的に含まれる周波数変換器１６０の極めて簡単化したブロック図である。図２に示されているように、周波数変換器１６０は、第１の分周回路２００を含み、この回路は、線路１６７を通して周波数入力を及び３ビット・バス２１２を経由して第１３ビット・レジスタ２１０から周波数スケーラ値を受信する。分周出力２０２（Ａで除した入力周波数に等しく、ここにＡは、第１のレジスタ２１０に記憶された３ビット・スケーラ入力値である）が、位相ロック・ループ２２０に第１の入力２０２として供給される。
位相ロック・ループ２２０の出力２２２は、分周回路２３０を経由して位相ロック・ループ２２０の第２の入力２３２にフィードバックされる。分周回路２３０は、第２の３ビット・レジスタ２４０内に記憶された値に等しいスケーラ値だけ位相ロック・ループ２２０の出力信号２２２の周波数を分周する。３ビット・スケーラ値は、３ビット・バス２４２を経由して分周器２３０に入力として供給される。
位相ロック・ループ２２０は、その第１の入力に印加される信号の位相及び周波数とその第２の入力に印加される信号の位相及び周波数との同等性を維持することを追及するので、位相ロック・ループ２２０によって供給される出力信号２２２の周波数は、信号１６７の入力周波数をＢ（Ｂは、第２のレジスタ２４０に記憶された３ビット値に等しい）で倍周した上でＡで分周したものに等しい。位相ロック・ループ２２０によって供給される出力周波数２２２が入力周波数１６７のＡ分のＢである限り、この位相ロック・ループの第１の入力２０２及び第２の入力２３２の両方に印加される信号の周波数は、入力周波数をＡで分周したものに等しい。ここで注意を要するのは、Ａ及びＢが３ビット２進カウンタである実施例では、Ａ及びＢは、典型的に１から８の値（１０進法の）の範囲にあることである。更に、理解すべきことは、ｆｏｕｔｍａｘ＝ｆｉｎ×８かつｆｏｕｔｍｉｎ＝ｆｉｎ＋８である。Ａ及びＢの両方にとって８つの可能な値があるから、したがって、８×８＝６４の可能な比がある。このようにして、プロセッサ・クロックをスケーラ値Ｂ及びＡによって定義可能などんな比にもセットすることができ、そのためマザーボード・クロック周波数は・プロセッサ・クロック周波数から減結合される。カウンタ制御レジスタ２１０及び２４０は、典型的に、プロセッサ内のハードウェア内に実現されるルックアップ・テーブル２６０からの出力である。レジスタ２５０は、このルックアップ・テーブルからの記述項を選択するのに使用される。周波数変換器の動作にとって必要ではないが、このルックアップ・テーブルは、比を定義するのに要求されるピンの数を減少させるために通常、含まれる。レジスタ２５０、２１０、２４０が全て３ビット・レジスタである実施例では、６４の可能な比が８つの比からなる副集合に減少させられる。ルックアップ・テーブル記述項は、典型的には、周波数選択レジスタ２５０に記憶された値によって選択される。このレジスタは、図１に示されたようにＣＰＵ１１０上のＩ／Ｏピン１４２を経由してリセット時間にロードされる。
【０００７】
図３は、プロセッサ動作クロック速度を最適値にセットする本発明の一般的方法を図解する。本方法は、開始ブロック３００内に表示されたように初期化し、その後、活動ブロック３０５内に表示されたように、ＣＰＵ１１０の冷却を補足する１つ以上の技術を使用する。技術上周知のように、中央処理装置の動作速度を上昇させることが望ましいときは必ず、ＣＰＵの動作が活発になることに起因して典型的に加熱を増す結果を招く。それゆえ、例えば、熱的降服に関連した有害な結果を回避するために、ＣＰＵ１１０の動作速度を上昇させる前にＣＰＵ冷却を補足することが重要である。１つの実施例では、ＣＰＵ冷却をファン又はヒート・シンクを追加することによって又は温度しきい値を超える度にＣＰＵ１１０の動作速度を低下させるソフトウェア熱管理を使用することによって行うことができる。
その後、活動ブロック３１０内に表示されたように、ＣＰＵ１１０の動作電圧が最高定格値にセットされる。すなわち、ＣＰＵ１１０の製造業者が仕様書を提供するが、この仕様にＣＰＵ１１０が動作することのできる最高動作電圧値が指示される。技術上周知のように、動作電圧値の上昇は、典型的にＣＰＵ１１０の動作速度の上昇を招くから、ＣＰＵ１１０の動作電圧を最高定格値にセットすることによって、ＣＰＵ１１０の性能を強化することができる。
いったんＣＰＵ１１０の動作電圧が最高定格値にセットされると、周波数制御値の全ての比におけるＣＰＵ性能が活動ブロック３１５内に表示されたように特徴付けられる。すなわち、Ａの可能な値とＢの可能な値（図２参照）の各々毎に、ＣＰＵ１１０が自己診断試験を通過するかどうか判定する試験が行われ、もし通過するならば、ＳＥＭＡＮＴＥＣ  ＣＯＲＰＯＲＡＴＩＯＮから入手可能な周知のＮＯＴＲＴＯＮユーテリティのような標準ベンチ・マーキング・ソフトウェアを使用して、その比に対する性能得点が判定される。第１表は、例証ＣＰＵ１１０について比コード（すなわち、図２の周波数選択レジスタ２５０にロードされたコード）によって指定された、周波数制御値を特徴付ける表である。
【表１】
2005285114.tif 000003
【０００８】
注意を要するのは、周波数制御比値の各々におけるＣＰＵ１１０の性能をＣＰＵ製造業者のハードウェア仕様マニュアルから提供することもできることである。
活動ブロック３１５内に表示されたようにいったんＣＰＵ１１０の性能が周波数制御値の全ての比において特徴付けられると、最適ＣＰＵ性能に相当する比をセットするために、最高性能得点を与える周波数制御値が周波数選択レジスタ２５０にロードされる。例えば、第１表に掲げられた例証値から、１．３４なる正規化性能得点を有する比コードＮ＋３が最高得点を与える周波数制御値に相当する。それゆえ、Ｎ＋３なる値がＣＰＵ１１０の動作速度を決定するために周波数選択レジスタ２５０にロードされることになる。
その後、活動ブロック３２５内に表示されたように、ＣＰＵ１１０の故障率を判定するために故障追跡記録が維持される。故障追跡記録は、１つの実施例においてＣＰＵ１１０が処理誤りを冒す回数の記録である。判定ブロック３３０内に表示されたように、故障率が特定のしきい値より高いと判定されるならば、周波数制御比値は、次に最高な性能得点（例えば、第１の表内の値Ｎ＋２）を与える値にセットされる。この後、本発明は、新故障追跡記録を維持するために活動ブロック３２５に再び入る。いったん故障率が許容可能であると判定されるならば、ＣＰＵ１１０は、現在、周波数制御値によって提供される動作速度にセットされたままであり、かつ本方法の終了が終了ブロック３４０内に表示される。もちろん、注意を要するのは、故障追跡記録の維持は、本発明の方法で単一ステップとして図３に描かれているが、故障率が許容可能なしきい値を超えるとき必ず周波数制御値が調整されるように、有利上、ＣＰＵ１１０の動作を通して連続的に計算される。
【０００９】
本発明の好適実施例が上で詳細に説明されたが、本発明の精神及び中心的特性に反することなく明白な変形が本発明になされ得ることは当業者に理解される。例えば、単に、電源電圧と無関係にプロセッサのクロック速度を制御する代わりに、プロセッサ１１０に供給される電源電圧及び処理周波数を最適クロック速度を決定するために一緒に制御することもできる。更に、逐次近似手段又は他の手段をＣＰＵ１１０の最適動作速度を手動的に又は自動的に選択するために使用することもできる。それゆえ、上述の説明を解説として解釈することはできるが、限定として解釈することはできない。したがって、本発明の範囲は、添付の請求の範囲に観点から定義されるべきである。
【図面の簡単な説明】
【００１０】
【図１】プロセッサ性能強化発明を組み込んだコンピュータシステムの極めて簡単化されたブロック図である。
【図２】図１に描かれたコンピュータシステムの周波数変換部の１実現を示すブロック図である。
【図３】本発明によるプロセッサ性能を高める一般方法を図解する流れ図である。
【図１】
2005285114.tif 000004
【図２】
2005285114.tif 000005
【図３】
2005285114.tif 000006