(57)【特許請求の範囲】
【請求項１】
ＰＬＬを含む半導体集積回路であって、
前記集積回路内に配置された温度感知回路と、
前記温度感知回路と接続されたコントローラと、を備え、
前記コントローラは、
ＰＬＬ入力とＰＬＬ出力とを有するＰＬＬと、
２つの入力を有する位相検知器と、
前記ＰＬＬ出力に接続される入力と、前記位相検知器の第１の入力に接続された出力と、を備えた第１の割算回路と、
前記ＰＬＬ入力に接続される入力と、前記位相検知器の第２の入力に接続された出力と、を備えた第２の割算回路と、を有し、
前記集積回路の温度変化に対応して異なる周波数のクロック信号を供給するように構成した半導体集積回路。
【請求項２】
前記コントローラは、前記温度感知回路が予め設定された所定値を超える温度を感知した場合に、前記集積回路の少なくとも一部分の機能を選択的に抑止する手段を、備えることを特徴とする請求項１に記載の半導体集積回路。
【請求項３】
前記コントローラは、前記温度感知回路が前記所定値を下回る温度を感知した場合に、前記選択的に抑止された機能を回復する手段を、さらに備えることを特徴とする請求項２に記載の半導体集積回路。
【請求項４】
前記第１の割算器は、第１のプログラム可能な割算値を有する請求項１乃至３の何れかの項に記載の半導体集積回路。
【請求項５】
前記第２の割算器は、第２のプログラム可能な割算値を有する請求項１乃至３の何れかの項に記載の半導体集積回路。
【請求項６】
前記第１のプログラム可能な割算値は、ソフトウェアによって設定される請求項４に記載の半導体集積回路。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、電力浪費の削減方法に関し、特に、温度を感知して、電気回路、電子回路や光学機器回路、あるいはそれらのシステムで実行される動作回数の調整方法に関するものである。
【０００２】
【従来の技術】
中央処理ユニット（ＣＰＵ）の新型のものは比較的多量の電力を消耗する。その結果として生じる熱は、大型ラジエタやオンチップ冷却ファン等の特殊な冷却装置を用いて除去される。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述したような高レベルの熱が生成されると、特別なパッケージングや冷却装置などが必要となり、追加の製造コストをまねく結果となる。また、熱生成装置を互いに物理的に離しておかなければならないといった点で、経済効率の悪いマザーボードに帰着する。これらの問題から、より大きく、かつより費用のかかるコンピュータシステムが導入されることになる。
【０００４】
コンピュータシステムが次から次へと刷新され、より高レベルの性能を提供するにつれ、システムの放熱能力を越えないように電力の浪費を制御する電力制御の方法が必要とされる。
【０００５】
それゆえ、本発明は、集積回路装置における電力の浪費を削減すべく改良された方法および装置を提供することを目的とする。
【０００６】
また本発明は、自己調整型集積回路装置により電力の浪費を削減すべく改良された方法および装置を提供することを目的とする。
【０００７】
さらに本発明は、データ処理システムにおいて電力の浪費を制御すべく改良された方法および装置を提供することを目的とする。
【０００８】
さらにまた本発明は、データ処理システムにおける動作回数を調整すべく改良された技術を提供することを目的とする。
【０００９】
さらにまた本発明は、電力保護モードで起動する場合に起動条件を変更すべく半導体装置用として改良された方法およびその装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ＰＬＬを含む半導体集積回路であって、前記集積回路内に配置された温度感知回路と、前記温度感知回路と接続されたコントローラと、を備え、前記コントローラは、ＰＬＬ入力とＰＬＬ出力とを有するＰＬＬと、２つの入力を有する位相検知器と、前記ＰＬＬ出力に接続される入力と、前記位相検知器の第１の入力に接続された出力と、を備えた第１の割算回路と、前記ＰＬＬ入力に接続される入力と、前記位相検知器の第２の入力に接続された出力と、を備えた第２の割算回路と、を有し、前記集積回路の温度変化に対応して異なる周波数のクロック信号を供給するように構成した半導体集積回路を提供するものである。
【００１１】
【作用】
ここで、前記コントローラは、前記温度感知回路が予め設定された所定値を超える温度を感知した場合に前記集積回路装置上の少なくとも一部分の機能を選択的に抑止する手段と、前記温度感知回路が前記所定値を下回る温度を感知した場合に前記選択的に抑止された機能を回復する手段を備える。これにより、本発明によれば、、実行される動作または命令を待つ間に、集積回路のあるエリアを選択的に縮小するか、または停止する能力も備えているので、例えば、整数単位部分が動作継続中である間は、プロセッサ内部の浮動小数点実行単位の動作を遅らせるか、または停止することができる。その代わりとして、多重実行単位データ処理システムの一つ以上の実行単位の機能を選択的に抑止することもできる。さらに、電力保護モードで作動する場合には、高電圧から低電圧へと変更される起動条件を半導体装置が自ら保持していてもよい。
【００１２】
感知された周囲温度および利用される装置機能等の可変条件しだいで電力消費を制限する能力が低コストのシステムを目指す好機を与える。例えば、低コストの装置パッケージング（セラミックの代わりにプラスチック等での）、および低コスト金属の使用（リードフレームおよび接続用銅線に代わってアルミニウムを用いる等）が可能となる。さらに、冷却装置、通気孔、構成要素間の間隔などを省き低コストシステムの実装達成も可能となり、それによってボードおよびキャビネットのサイズを縮小することができる。本発明は、使用するバッテリータイプの最大値に最大電力消費量が制限されるか、あるいは、ユーザかシステムが低いレートで電力を消費すべく選択し、より長い継続動作期間および／または動作能率を達成するような、バッテリー起動システムでの継続システム動作をも考慮している。
【００１３】
さらに、本発明は同期基準化へと拡張可能であり、外側でＣＰＵに接続された装置が同じ外部レートで計時されるにもかかわらず、ＣＰＵの測定温度にしたがい異なるレートでＣＰＵ内部のＣＰＵトランザクションを生じることができる。この一例としては、内部的にはクロックを倍加する（あるいは三倍にする）が、外部的には標準的な固定クロックレートで動作するようなＣＰＵがあげられる。電力限界制御回路を用いると、外部レートが維持されるような内部クロックの乗算ファクターを選択するか、あるいはその代わりに、整数の内部クロックサイクルによって外部クロックイベントの発生を引き延ばすことができる。
【００１４】
【実施例】
シリコンは半導体集積回路の製造中に通常用いられる材料である。シリコン（または他の半導体生成材料）の温度変化は電子の移動度の変化を引き起こす。温度が変化するにつれて、ダイオード等の素子を通る電流は、通常以下の式に示すように増加する。
【００１５】
ｉ＝Ｉs （eｑｖ／ＫＴ-1）
上記式中、Ｉs はダイオードの逆飽和電流、ｑは電子荷（ｑ＝１．６×１０-19コロンブス）、Ｋはボルツマン定数（Ｋ＝１．３８×１０-23 ジュール／Ｋ）、Ｔは絶対温度（Ｋ）、ｖはダイオードにかかる電圧を表し、この式は温度に関する電流変化に推定を与えるものである。また、この式には含まれていない（温度に伴うＩs の変化等）その他補足的な影響もある。トランジスタについては、電界効果トランジスタ（ＦＥＴ）を通る飽和電流ＩＤが下記式によって理論的に見積もることができる。
【００１６】
ＩＤ＝Ｋ′Ｗ／Ｋ（ＶGS−ＶT ）2
ここでＷはトランジスタの幅、Ｌはその長さであり、ＶGSはトランジスタのゲートおよびソース間の電圧差、ＶT はトランジスタの作動電圧である。またＫ′は以下の変数からなる温度依存パラメータである。
【００１７】
Ｋ′＝（ｍｅoxｅ0 ）／２ｔox
ここで、ｅ0 はフリースペースの誘電率、ｅoxはゲート酸化物の誘電率、ｔoxはゲート酸化物の厚さ（Å）、そしてｍは１／Ｔ（Ｔはケルビンの絶対温度）とほぼ相当するものとして表し得るキャリヤ移動度である。
【００１８】
トランジスタについては、温度上昇の影響がＦＥＴ電流の減少となっている。
例えば、０℃（２７３Ｋ）から１００℃（３７３Ｋ）への装置接続点温度の変化は２６．８％の電流降下をまねく。これらの原理は、ＭｃＧｒａｗ−ＨｉｌｌＢｏｏｋ社から１９７２年に刊行されたＣａｒｒ，Ｗｉｌｌｉａｍ  Ｎ．およびＭｉｚｅｌ，Ｊａｃｋ  Ｐ．著、テキサス機器エレクトロニクスシリーズの『ＭＯＳおよびＬＳＩの設計と用途』にさらに詳しく説明されているので、それを背景資料としてここで参照する。
【００１９】
他の回路を制御すべく本発明で利用されるのは、温度に関する電流のこの変化である。この制御はディジタルな選定として遂行され、動作スピードや供給電圧等、電気、電子または光学素子の動作特性を制御する。ダイオードかＦＥＴ素子のいずれかを、温度感知および制御信号の生成に使用した場合を以下に説明する。
【００２０】
図１はダイオードベースの温度感知回路１０を表すものである。ダイオードＤ１を通る電流が、レジスタ割算器ネットワークＲ２およびＲ３により、１６でしきい値を超えると判断される場合、比較器（差動増幅器１２）の出力１８はＨＩＧＨへ進み、しきい値温度に達したことを示す。比較器１２の出力１８は、本実施例においては制御信号として用いられ、種々のクロックレートを選択する。この点についてはさらに詳しく図３を用いて後述する。
【００２１】
図１で説明を続けると、回路の温度が上昇するにつれ、ダイオードＤ１を通る逆電流が増加することは前述した通りである。この電流の増加が、差動増幅器１２の正（＋）入力１４における電圧を増加させる。この電圧がＲ２／Ｒ３電圧割算器によって供給されたしきい値電圧１６を超えると、差動増幅器の出力１８はＨＩＧＨへと動かされ、この出力をディジタルロジックレベルの制御信号として認める。このように、回路１０は、温度が監視されているその他の集積回路を含むのと同じ集積回路ダイ上にうまく適合して備えられる。
【００２２】
ＦＥＴ素子もまた、図２に示されるように、温度感知に用いられる。上記ＦＥＴ電流の式によって説明されたような傾向は、温度に伴い前進電流が減少することである。レジスタＲ１がトランジスタＴ１と直列に接続されている場合、トランジスタおよびレジスタ間のノード１６における電圧は、トランジスタを通る電流の変化と共に変わる。この電圧は、Ｒ２／Ｒ３レジスタ割算器から生じた１４における電圧と比較され、温度が限界を超えたかどうか判断する。つまり、測定温度を示すＨＩＧＨ出力値（論理値１）はセットポイントより上であり、測定温度を示すＬＯＷ出力値（論理値０）はセットポイントより下である。ここで、図２においては、トランジスタＴ１を通る電流が温度の増加と共に減少するので、温度上昇に伴い１６における電圧が下降することは、図１と対照してみて留意すべきことである。この電圧が１４での基準電圧よりも低くなると、比較器１２の出力は論理値ＨＩＧＨレベルに切り替わる。このように、図１のダイオードは比較器１２の正（＋）入力１４に接続されが、図２のトランジスタＴ１は比較器１２の負（−）入力１６に接続されている。しかしながら、図２に示された回路もまた、温度が監視されている他の集積回路を含むのと同じ集積回路ダイ上にうまく適合するものである。
【００２３】
所与の温度において、ダイオードあるいは他の半導体素子を通る実際の電流は、プロセスパラメータの変化と関わって変わる。これらの変化を調整するために、素子検査時に、所望の反応を引き起こすのにもっとも密接に関係した素子を選択できるように、各々がその設計において微妙な変化を有する一続きのダイオードを導入してもよい。これは、本技術分野では一般的に公知であるヒューズプログラム可能な論理を通して成し遂げられる。また、その他の一般的な手段でもって、いずれの素子、またはいずれの素子セットを使用すべきかをレジスタ値が特定するようなＥＥＰＲＯＭや他の非不揮発性技術を用いることもできる。さらに、その代わりとして、ダイオードやＦＥＴ特性を変えるのに、本技術分野では一般的に公知である素子のレーザトリミングを使用することもできる。
【００２４】
温度比較器回路（図１の参照符号１０や図２の参照符号２０）の出力１８は、異なる割り算または掛け算レートを選択し、外部周波数から作動周波数を生じるのに用いられる。図３に関して、クロック周波数制御回路４０が示されており、この制御回路は、温度比較器回路３０（図１のダイオードベースの回路１０、または図２のＦＥＴベースの回路２０のいずれか）とアップ／ダウンカウンタ２２（ＣＰＵやその他の装置用作動周波数を選択するのに使用される）とを含んでいる。そして、温度比較器回路３０の出力頻度を制御する更新信号３４が、カウンタ２２の値を増加するか、もしくは削減する場合に用いられるので、作動周波数の増加、または削減が可能となる。図３の例において、温度比較器回路３０からのＨＩＧＨ出力は温度がしきい値を超えたことを示している。センサ出力１８がＨＩＧＨの場合、ＯＲゲート２４の出力もＨＩＧＨであるため、「アップ」に分類されるカウンタ制御入力にクロック位相は供給されない。さらに、比較器回路３０のセンサ出力１８がＨＩＧＨであると、ＡＮＤゲート２６の出力が更新信号３４と等しくなり、更新信号３４の各起動遷移にのせてアップ／ダウンカウンタ２２に値の減少を引き起こす。
【００２５】
図３のアップ／ダウンカウンタ２２はバイナリ値（００，０１，１０，１１）を含むもので、外部クロックレートを内部クロックレートに変換する際に用いられる周波数割算器を表している。また、周波数乗算器等、周波数割算器以外のカウンタを設けることも可能である。アップ／ダウンカウンタ２２の出力値２８が、（図４に示すように、ライン２８ａおよび２８ｂからなる）２８において動作中に４ラインバイナリデコーダ３２に対する２ビットと連結する。デコーダ３２の出力は、３３，６６，９９，１３２ＭＨｚ等、内部ＣＰＵ／装置の周波数を選択するのに用いられる。
【００２６】
内部ＣＰＵ／装置の周波数を選択する一手段を図４に示す。ここで、デコーダ３２の四つの出力Ｙ０〜Ｙ３は、それぞれダイオードＤ２〜Ｄ５を介してレジスタＲ４〜Ｒ８を備える電圧割算器ネットワークに連結する。特定の電圧制御発振器（ＶＣＯ）と整合するように、これらレジスタ用の特定値が選ばれる。図４の回路に対しては、起動されるデコーダの出力Ｙ０〜Ｙ３にしたがってＶＣＯ４２に連結するレジスタネットワークの出力４１が変わるものであり、０〜３Ｖに分かれる。例えば、７４１３９として本技術分野においては公知である伝統的な２−４ラインデコーダはＬＯＷ出力を有している。そこで、入力ＡおよびＢが双方とも論理値０の場合、出力Ｙ０はＬＯＷ、出力Ｙ１〜Ｙ３はＨＩＧＨであり、ＶＣＯ４２には約０Ｖの出力がもたらされる。また、入力Ａが論理値１で、入力Ｂが論理値０の場合（図３のカウンタ２２においてはバイナリ値０１に相当する場合）には、出力Ｙ１はＬＯＷ、Ｙ０，Ｙ２およびＹ３はＨＩＧＨであり、ＶＣＯ４２には約１Ｖの出力がもたらされる。同様のやり方で、カウンタ２２のバイナリ値１０は約２ＶをＶＯＣ４２に出力し、同バイナリ値１１は約３ＶをＶＯＣ４２に出力することになる。異なる入力電圧範囲を有するＶＣＯ個々に要請し、Ｒ４〜Ｒ８用のそれぞれ異なる値が選択され、種々のカウンタ２２の出力値２８に備えて、ＶＣＯ４２に印加される電圧範囲を拡大するか縮小することもできる。
このように、ＶＣＯ出力信号４４はクロック信号であり、その周波数は、カウンタ２２で保持された値に基づき選択可能なものである。このクロック信号は、ＣＰＵ／装置４６の内部入力クロック信号に連結する。それゆえ、ＣＰＵ／装置は温度にしたがう可変レートで計時される。図４に示された回路は、温度が監視されている他の集積回路を含むのと同じ集積回路ダイ上にうまく適合するものである。
【００２７】
ＦＥＴ素子を通る電流の変化を利用できるもう一つの方法は、リング発振器を経由するものである。図５は三つのインバータ（４８，５０，５２）を示しており、一つのインバータからの出力が次のインバータに結合されている。そして、最終インバータ５２は、開始インバータ４８と連結する出力５１を有している。各インバータ４８，５０および５２は、ＰチャンネルおよびＮチャンネルＦＥＴからなる。また、各インバータの入力には、次のインバータにスイッチが入るまで、各ノードである帯電時間を保持するよう、コンデンサ（それぞれ、Ｃ１，Ｃ２，Ｃ３）が取り付けられている。ＦＥＴ電流は温度の上昇に伴い増加するので、図５に示されたリング発振器は、温度上昇につれて遅い周波数で起動する。最終インバータの出力信号５１は、（図４の４４で示されるように）ＣＰＵ／装置のクロック入力を動かすのに用いられると共に、リング発振器をＣＰＵ／装置の電流要請に適応させるべく、高電流バッファ回路５３がオプションとして付け加えられていてもよい。なお、コンデンサＣ１〜Ｃ３のサイズ、およびＰチャンネルとＮチャンネルトランジスタＱ１〜Ｑ６の長さおよび幅は、リング発振器の周波数範囲に適応する公知の手法を用いて修正することができる。
【００２８】
動作周波数により正確な制御を要する用途においては、フェイズロックループ（ＰＬＬ）クロック生成器回路を使うことができ、それは前述した温度比較器回路に関連して用いられる。また、多数のビットを備えるアップ／ダウンカウンタも使用することができる。図６に関して、アップ／ダウンカウンタ５４に格納された値は出力ピンＤ０〜Ｄ２上に送られる。これらの出力ピンは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｓｙｓｔｅｍｓ社（住所：２４３５  Ｂｏｕｌｅｖａｒｄ  ｏｆ  ｔｈｅ  Ｇｅｎｅｒａｌｓ，  Ｖａｌｌｅｙ  Ｆｏｒｇｅ，  ＰＡ  １９４８２−０９６８）から市販されているＩＣＳ１３９４チップ等、外部クロック発振器チップ５６の入力ＦＳ０〜ＦＳ２に連結されている。同タイプの素子を提供する製造業者がその他にもいくつかある。このアップ／ダウンカウンタ５４の値は、クロックチップ５６用の周波数選択入力値として働く。そして、結果として生じた出力周波数ＦOUT ４４は、入力ＦＳ０〜ＦＳ２に現れる周波数選択入力値に関連して、基準周波数ＦREF ５８から引き出される。本発明において、この基準周波数ＦREF は１４．３１８ＭＨｚで、システムボード上の外部水晶発振器から生成される。また、ＦＳ０〜ＦＳ２用の各セット値に備えてＦOUTピン４４に出力される周波数を定義すべく、クロックチップはマスクプログラム可能な周波数セットを有していても、あるいは、ソフトウェア上でプログラムされていてもよい。
【００２９】
上述した手法は、バストランザクション用の一定クロックレートを有する半面、異なる内部クロックレートをも保有するＣＰＵアーキテクチャで使用され得る。この一例がインテル社の４８６ＤＸ／６６  ＣＰＵであり、標準３３ＭＨｚ４８６  ＣＰＵとしての同一バスクロックレートを供給する半面、６６ＭＨｚの内部クロックレートで起動するものである。外部クロックレートの倍数で内部クロックを起動することのできるプロセッサは、外部に供給されたクロックと内部クロックを同期するために用いられるフェイズロックループ（ＰＬＬ）クロック生成器回路を内包しているのが普通である。プロセッサに対して内側の動作は速めのクロックレートで起こり、またそれに対して外側の動作は、入出力機能のタイミング用として外部に供給されたクロックを用い、外部クロックレートで起動する。しかしながら、これは部分的なものに限られる。なぜならば、インテル８０４８６のバスは、受信側の装置がＲＤＹ（準備完了）番号を表明するまで、バスサイクル用のアドレスおよびデータがバス上に残ってしまうような「準備のできていない（即応できない）」ものであるからだ。この受信側からの表明のタイミングは、外部タイミングが外部クロックによって規定されるごとく、外部クロックに呼応するものであるが、その一方で、内部タイミングは内部クロックの倍数によって規定され得るものである。
【００３０】
ここで説明される本発明は、装置温度の変化に伴い、外部クロックレートの倍数の間でマイクロプロセッサの内部クロックを切り替えることを考慮したものである。図７に関し、基準周波数ＦREF ５８は整数値Ｍごとに分けられ、位相検出器６４によりＮごとに分割されたＶＣＯ６６出力周波数ＦOUT と比較される。そしてフェイズロックループが、その優れた特質によって、内部の作動周波数を調節し、基準周波数にかみ合わせる。このようにして、下記式がＰＬＬ６２を規定する。
【００３１】
ＦREF ／Ｍ＝ＦOUT ／Ｎ
あるいは
ＦOUT ＝ＦREF ＊Ｎ／Ｍ
この式から最終的に引き出される結果は、外部基準周波数ＦREF （一般的にはシステムボードからの周波数１４．３１８ＭＨｚであるが、その代わりとしては、周波数２５か３３ＭＨｚのＣＰＵの外部バスクロックレート）が値Ｎで乗算された後に値Ｍ（ここで値ＮおよびＭは共に整数値）で割算されるように、ＰＬＬクロック生成器６２が実行されるということである。このようにして、周波数の範囲を基準周波数から引き出すことができる。ここで、新規の周波数が（ＮまたはＮの新規値を通して）選択されると、図７に示された回路は新規周波数を「送る。」
図７をさらに詳しく説明すると、フェイズロックループ型クロック生成器６２は、位相検出器６４、ループフィルタ６５およびＶＣＯ６６に加えて割算器（割算器１および割算器２）を含んでなる。割算器１の割算値Ｍはデコーダ６１のバイナリ出力値にしたがって選択される。割算器２の割算値Ｎの方はソフトウェア制御によって選択される。図７の回路の残りの部分は、図３で前述したように作動するものである。デコーダ６１は、監視すべき特定集積回路の感知温度に基づいて、割算器１の割算値Ｍを選択するのに用いられるバイナリ値を出力する。
【００３２】
図７の動作の典型的な例を説明する。ここでは、外部クロックＦREF が３３ＭＨｚで起動するものと仮定する。また、外部バスが外部クロックレートでも作動することを思い起こす。Ｍ１〜Ｍ４用の値に関しては、予めＭ１＝１２、Ｍ２＝６、Ｍ３＝４、Ｍ４＝３と定義されているものと仮定する。さらに、割算器２の割算値は、ソフトウェアルーチンを経由して初期値Ｎ＝１２に設定し、割算値Ｍの初期値はＭ＝４に設定されるものと仮定する。そして、前述した式にしたがい、出力周波数はＦOUT ＝ＦREF ＊Ｎ／Ｍから引き出され、ＦOUT ＝３３ＭＨｚ＊（１２／３）＝１３２ＭＨｚとなる。そのため、ＣＰＵ／装置用の内部クロック４４が、外部クロック５８のクロックレートの４倍のレートで起動できる。ここで、ＣＰＵ／装置の温度が上昇すると仮定すると、カウンタ６０出力値Ｄ（ｎ）：Ｄ（０）の減少をまねくことになる。この減少がデコーダ６１によって選択されたＭ３値の結果として起こるならば、それによって生じた内部クロック周波数は３３ＭＨｚ＊（１２／４）＝９９ＭＨｚとなる。同様な仕方で、さらに大きな温度上昇が、デコーダ６１によって選択されたＭ２割算値をもたらし、３３ＭＨｚ＊（１２／６）＝６６ＭＨｚの内部クロック周波数に帰着する。監視される装置が温度の上昇を続けると、最終的にデコーダ６１は割算値Ｍ１を選択し、３３ＭＨｚ＊（１２／１２）＝３３ＭＨｚの内部クロック周波数に帰着する。このように内部クロックは、監視される装置の温度にしたがい、外部クロックレートの倍数の間で切り替わる。
【００３３】
システム特性次第で、クロック出力４４は、ＣＰＵ／装置の内部クロックが安定している間にそれを動かすべく利用できる。あるいはまた、クロック出力４４は、周波数が安定するまである論理レベルに保持されていてもよい。さらに、その代わりとして、この安定化に要する遅延を省くために、以下に説明する同期クロックシステムを用いることもできる。
【００３４】
同期クロックシステムを用いると、ＰＬＬクロック周波数を一定に保つことができる。そして、割算器がＰＬＬクロック出力ＦOUT に接続される。この同期基準化の手法はＰＬＬ周波数の様々な分割を考慮したものであり、突然の不調や安定化に要する時間のないよう、その周波数をた易く選択すると共に、選択されたクロックのきわでスイッチをＯＮにする。クロックを二倍、三倍、あるいは四倍にする場合に、ＮおよびＭ値で制御されるＰＬＬ周波数は、その温度が監視されているＣＰＵ／装置の最大レートの倍数でＰＬＬを起動するように設定される。
次に、図８を参照すると、ＰＬＬの周波数が１３２ＭＨｚの倍数であるようなＮおよびＭの値がソフトウェアによって選択される。例えば、Ｍが３でＮが１２の場合、ＰＬＬは１３２ＭＨｚ（１の倍数）を誘導する。そして、図３に関して上述したのと同様の手法を用い、割算器３の特定値が温度センサ回路により選択される。１での割算（１３２ＭＨｚの内部クロック用Ｐ１値）、３／４での割算（９９ＭＨｚの内部クロック用Ｐ２値）、２での割算（６６ＭＨｚの内部クロック用Ｐ３値）、および４での割算（３３ＭＨｚの内部クロック用Ｐ４値）の基準化除数が得られるように、デコーダ６１が選択し得る割算器３の値Ｐは、最初ソフトウェアによって確定される。同様の仕方で、Ｍ＝２およびＮ＝３２を選び、ＰＬＬ６２が５２８ＭＨｚのＰＬＬクロックレート（４の倍数）で起動されたなら、Ｐ値は最初ソフトウェアによって確定され、Ｐ１＝４、Ｐ２＝３、Ｐ３＝８およびＰ４＝１６となる。そして、デコーダ６１は適当なＰ割算値を選択し、ＣＰＵ／装置の内部クロック４４の周波数を調整する。
【００３５】
図７および図８の詳細回路のブロック図を図１３に示す。ここでは、水晶発振器等外部クロック装置が、基準周波数５８を生じるのに用いられている。この基準周波数は、バスインターフェースを固定クロックレートで起動するのに利用される。また、この基準周波数は、温度依存型レギュレータにも入力され、内部クロック信号４４を生成して実行単位の使用に備える。この内部クロック信号の周波数は温度に依存するものである。本実施例においては、図１３の点線で囲まれた内側で、機能ブロックにより表された回路すべてが集積回路チップまたは集積回路装置上に配置されている。
【００３６】
安定化に要する遅延を省くのに利用され得るもう一つの方法は、二つのＰＬＬクロック生成器を備えることであり、そこでは、一つのＰＬＬが第一のクロックレートを生成させ、一方、二つ目のＰＬＬが第二のクロックレートを提供する。この手法を用いると、第二のクロックに要する安定化時間を省くことができる。なぜならば、第二のクロックはすでに所望の周波数で起動しているからである。二つのクロックレート間を突然変調することなく切り替えために、本技術分野では公知の方法を用いてエッジ感知回路を利用することができる。
【００３７】
さらに本発明は、ＣＰＵ製品のパッケージングに融通性を与えるものでもある。一例をあげると、あるＣＰＵの浮動小数点性能といったものは、ユーザの起動するアプリケーションしだいでほんのたまにしか利用されることがなく、例えば、マイクロソフトウィンドーズ起動のワードプロセッサアプリケーションにおいては、ほとんど浮動小数点の働きがない。そして、この浮動小数点単位が使用されないならば、ほとんど熱も生じない。したがって、ウィンドーズのワードプロセッサのソフト市場がＣＰＵの売り手のターゲットであるならば、より低価格のパッケージでＣＰＵをパッケージングするよう選択することもできる。このようなパッケージは固定少数点での動作に備えた放熱には十分であるが、固定および浮動少数点を同時に実行するのを支援するには不十分である。この場合、浮動小数点単位のオンチップ周波数調整が本発明によって提供され、最適な性能が付与される。このようにして、ＣＰＵ製品は、低価格のパッケージでパッケージングされ、通常の固定小数点動作用のフルスピードで起動すると共に、浮動小数点動作により多くの熱が生じる場合には周波数が浮動小数点単位を調整する。前述したように、この周波数調整が浮動小数点単位のクロックの速度を遅らせ、ＣＰＵ用の低価格パッケージングに適合するような仕方で電力浪費を削減する。
【００３８】
本発明の他の様態は、利用できる熱条件に合わせる能力にある。吸熱装置や冷却ファンが付加されるならば、より大規模の放熱が可能となり、より高い起動周波数を与えることができる。ＣＰＵ用途と所望の装置寿命しだいで、異なる温度しきい値を用いることも可能である。これら異なるしきい値は、図１および図２のＲ２／Ｒ３電圧割算器用の抵抗値を調節することによって得られる。他の実施例においては、ソフトウェアプログラム制御を介してレジスタにアクセスして選択される温度感知回路が、相当数のＲ２／Ｒ３レジスタ対を含んでいる。このレジスタ値は、外部ピンの論理レベルを介することによっても選択できる。この動的な温度セットポイントの試みは、測定温度の一関数として、ＣＰＵ制御下で異なるクロックレートの選択を可能とするものである。図９に示すように、異なるレジスタ値の選択項目（正（＋）極の差動アンプに供給された電圧を判断する）が、異なる「セットポイント」温度の選択に利用される。（ゲートＡおよびＢが活性状態にある場合）Ｒ２およびＲ３から生じた電圧からか、Ｒ２およびＲ４等、他の組み合わせから生じた電圧から、あるいはＲ２とＲ４にＲ３およびＲ５を並列状に加えた組み合わせから生じた電圧からでさえ、このセットポイントを判断することができる。
【００３９】
様々なＲ２／Ｒ３対の間の切り替え方法は、使用される特定の実行方法にしたがうアナログの影響で、様々変化する可能性がある。例えば、安定した結果や繰り返し可能な結果などを導くのが困難となるかもしれない。しかしながら、温度感知回路が小型であることを利用し、ソフトウェアルーチンを介して制御されるマルチプレクサに各比較器からの出力を入力することで、いくつかの感知回路を一つの集積回路上に作成することができる。多数の感知回路を保持する（そして、いずれの出力をマルチプレクサ経由で使用するかを選択する）と、すべての選択がディジタル領域で達成されるという利点がある。
【００４０】
また、二つ以上の温度センサを使用して、温度ウィンドや動作履歴などの確立も考慮されている。例えば、事情によっては動作の上位および下位の温度範囲を確定するのが好ましい場合があり、そこでは、一つのセンサが上位トリップポイントを定め、もう一つのセンサが下位トリップポイントを定める。履歴の手法を用いると、サーモスタット履歴によって得られるのと同様な手法で、温度センサに安定性を補足することができる。
【００４１】
上述した本発明をさらに他の用途に使用すると、全体の作動レートを削減し、それによって生成される熱量を減少するため、クロック信号に「待ち状態」を差し挟むと共に、それをある起動条件に同期することができる。計時された論理の遂行のため、クロックを停止するか、あるいは長時間にわたり１または０の論理レベルに保つかして、電力の浪費を削減することができる。図１０は二種類のクロックＣＬＫ  ＡおよびＣＬＫ  Ｂを示し、電力浪費を上記の通りの削減を達成するために、ＣＬＫ  Ｂは時折停止される。ただし、ＣＬＫ  ＢはＣＬＫ  Ａから生成されるが、破線が引かれたエリア７１で示されるＣＬＫ  Ｂが高歩調パルスを生じないという違いがある。削除されるパルスの頻度は、図３のカウンタ２２に関して上述したのと同様なカウンタ機構によって制御可能であり、これについてはさらに詳しく後述する。
【００４２】
次に、図１１はクロック信号を温度に基づいて変調する回路を示す。ＣＬＫＡは論理ＡＮＤゲート７２に送られ、その他の入力はＤ型フリップフロップ７４のＱバー出力に接続される。また、ＣＬＫ  Ａはインバータ７６によって反転され、カウンタ７８に入力される。カウンタ７８の出力は、アップ／ダウンカウンタ８２に格納された（図３に関して上述したように、温度に伴い変化するような）値と比較器８０で比較される。この比較器８０は、二つのカウンタの段数が同じ場合、論理１レベルをフリップフロップ７４のデータ入力に出力する。そして、論理値１がフリップフロップ７４で計時されると、Ｑ出力は論理値１となり、カウンタ７８をリセットする。その時Ｑバー出力の論理値は０であり、ＡＮＤゲート７２の出力を低レベルにとどめるため、一クロック期間、クロック出力（ＣＬＫ  Ｂ）を論理的０値に保つことができる。ＡＮＤゲートに十分なセットアップ時間を提供するカウンタ機構およびフリップフロップは、反転されたＣＬＫＡ信号で起動する。
【００４３】
要するに、図１１はＣＬＫ  Ｂを生成させる回路を示すものであり、そこでＣＬＫ  Ｂは、Ｍパルス毎に低い値が維持されるという点を除いて（ここでＭはアップ／ダウンカウンタ８２に格納された値である）、ＣＬＫ  Ａと同じである。Ｍ＊Ｎパルス毎に低パルスを加えるように、カウンタ７８に供給されるクロックに備えた割算回路の使用を含めて、この回路には多くの変更が可能である。
【００４４】
本発明のさらに他の用途として、携帯用装置に用いることができる。この携帯用装置において、バッテリー寿命と電流誘引との間には通常非線形的な関係がある。すなわち、１Ｗの消費レートにおけるバッテリー寿命は、消費レート２Ｗの場合の寿命に比べて通常２倍以上である。したがって、インドアでの起動に対しては、ＣＰＵの電力浪費をシリコンの温度から推定することができる。携帯用コンピュータのオペレータは、本発明の結果として、所望のバッテリー寿命に相当する作動の電力レベルを選択することができ、電力の浪費をある値に制限するがごとく、ハードウェアまたはソフトウェアを介する本発明の制御が（図７および図８に関して前述したように）可能となる。例えば、プロセッサが９９ＭＨｚの内部クロックレートで始動するとしても、プロセッサ温度があるしきい値を超えて上昇するならば、その内部レートを６６ＭＨｚに変え、装置内部に生じる熱量を削減することができる。
【００４５】
なお、可変セットポイントを（図９に関して前述したように）保有できると、バッテリーの放電に伴い電力誘引を削減して、より長期間の作動を達成するようなタイプのバッテリーを融通することができる。多くの半導体製造行程においては、５Ｖおよび３Ｖの両方で起動できる（しかしながら、その設計においては３Ｖ起動用に出力が下げられるのが普通であり、例えば、３Ｖの回路を５Ｖで起動する場合、６０％の速度で作動する）。半導体回路は一組の抵抗および電気容量とみなすことができる。この抵抗はトランジスタに備えたオン・オフ状態の抵抗を表し、また電気容量とは各ノードの電気容量のことである。動作中に消費される電力は、充電される電気容量の総量と密接に関係している。コンデンサＣを充電するエネルギーは下記式で得られた値に相当する。
【００４６】
Ｅ＝１／２  ＣＶ2             （Ｖ＝電圧）
この式から、３Ｖで起動する装置は５Ｖ起動時に使用されるエネルギーの９／２５だけ消費することがわかる。５Ｖで起動すると、トランジスタを通る電流を大きくでき、ノードをさらに早く充電または放電し、より速い回路動作を提供するといった利点がある。
【００４７】
上記特性それ自身が加えられることによって、以下のような起動方法が可能となる。すなわち、バッテリーから起動される場合等、３Ｖでの起動が低電力モードに使用されると共に、最高性能が望まれる場合やアウトレットや連結ステーションから電力が製品に供給される場合に５Ｖでの起動を使用できるような起動方法である。ソフトウェア制御を経由して、５Ｖおよび３Ｖのうちから起動に際していずれかを選択することができるが、そこでは、ソフトウェアが３Ｖまたは５Ｖから供給電圧を選択して作動する信号を出力する。その代わりとして、電力浪費がある平均値以下の範囲にとどまるよう、温度感知回路が３Ｖまたは５Ｖ間での選択を直接制御することもできる。例えば、図１２に示すように、図１または図２の出力信号１８がアナログマルチプレクサ９０の制御入力と連結される。このアナログマルチプレクサ９０は、そのＡ入力およびＢ入力にそれぞれ接続された３Ｖおよび５Ｖの電圧を備えている。そして、このマルチプレクサの出力（３Ｖまたは５Ｖ）がＣＰＵ／装置９２の供給電圧と連結される。
【００４８】
また、装置や回路のある部分を選択し、それが保持する機能実行を抑止することによって電力消費を縮小することもできる。例えば、多重並列実行単位を有する超スカラプロセッサは、一つ以上の実行単位を抑止してそれらに費やされる電力を節約することができる。そして、図１または図２の温度感知比較器を用いて、追加の実行単位の機能を抑止するディジタル信号を供給することができる。
【００４９】
上記回路を実行する一つの方法としては、図１に示されたセットポイント回路を使用し、出力がある温度点を通過したことを示す場合に前記回路の機能を抑止することが可能となるものである。例えば、インテル社のペンティアムプロセッサは、同時に命令を実行できるような二つのパイプラインを内蔵している。それらパイプラインのうち一つの機能を抑止すべく本発明を援用することができ、その場合、いったんセットポイント信号が起動されると、プロセッサの先取りやスケジューラ論理によって、どんな命令であっても該当実行単位に送ることができなくなる。
【００５０】
次に、図１４を用いて、一つ以上の実行単位の機能を抑止する他の方法を示す。ここでは、ディスパッチャ９４が命令待ち行列９３からの命令を読み、特定実行単位９５および９６に向けた上記命令に対して時間を割り振る。各実行単位は準備完了（ＲＤＹ）信号を備え、実行すべき命令をもっと受容できる旨を示す。そして、温度がある限界を超えた場合には、温度センサ出力信号１８を用い、ディスパッチャに送られた準備完了信号の機能を選択的に抑止する。また、特定プロセッサアーキテェクチャしだいでは、特定実行単位用の特定命令待ち行列インジケータをそのフルポジションに対して発動するため、その実行単位が追加命令を受容し、それに続いて実行するのを禁止することができる。
【００５１】
次に、図１５を用いて、装置や回路の許可または不許可部分を選択する他の手法を示す。ここでは、優先順位の高いＩ／Ｏセクション９８と優先順位の低いＩ／Ｏセクション９９とを備えるマイクロコンピュータ装置９７が示されている。そして、低優先順位のＩ／Ｏセクションにむけたクロック信号が、温度センサの出力信号１８に基づいて選択的に不許可とされる。このＩ／Ｏセクションにむけたクロック入力の抑止はそのセクションの抑止に帰着する。
【００５２】
また、本発明の温度感知方法を光ファイバー機器（またはその他のデータ伝送）システムに用いると、光学装置の温度や電力浪費を調整することができる。例えば、図４の装置４６が、調整された周波数をある温度で起動する光ファイバー製送信器であってもよい。
【００５３】
また、本発明を固定クロックレート転送プロトコルに利用し、パケットの送信頻度を制御することができる。さらに、無線周波数駆動出力回路のために本発明を用い、無線ネットワークやセルラー通信機器が困難な事態に直面する時、異なるボーレートや限界送信器電力を選択することができる。
【００５４】
一般的に、本発明の温度感知能力は、電気、電子あるいは光学等、多種類の装置の起動周波数をダイナミックに調節するのに用いられる。そして、ある温度限度を超えることなく、ＣＰＵやその他の装置を可能な限り最高のスピードで起動させ得ることがこの能力の持つ利点である。
【００５５】
なお、本発明を上記実施例を用いて説明したが、本発明はそれらに限定されるものではなく、本発明の範囲を逸脱することなく、多くの代用や修正が可能である。
【００５６】
【発明の効果】
以上、実施例を用いて詳細に説明したように、本発明によれば、集積回路の一部分の温度を感知する温度感知回路と、感知された温度に基づき起動周波数を調節するクロック周波数制御回路とを備えて起動周波数の調整を可能となり、電力浪費を削減する能力が付与され、高起動周波数での動作時に発生する熱を制御できるので、その発生熱を除去するための冷却装置等を省くことができ、低価格のパッケージングが達成されると共に、低価格の配線材料等使用可能となり、システム全体のコストを削減すると共に、システムを小型化することができる。
【００５７】
また、本発明がバッテリー起動型の携帯用システムに用いられると、使用するバッテリータイプの最大値に最大電力消費量が制限されるか、ユーザかシステムが低いレートで電力を消費するかのいずれかを選択できるので、状況に応じて継続動作期間を延長したり、または動作能率を向上させたりもできる。
【図面の簡単な説明】
【図１】  ダイオードベースの温度センサと比較器の概略を示す回路図である。
【図２】  ＦＥＴベースの温度センサと比較器の概略を示す回路図である。
【図３】  データ処理システムにおいてクロック周波数を制御するのに用いられる温度比較器回路のブロック図である。
【図４】  集積回路装置用のクロック周波数の選定を示す概略図である。
【図５】  温度感応リング発振器の概略回路図である。
【図６】  集積回路装置用のクロック周波数の選定を示す他の概略図である。
【図７】  温度制御式ＰＬＬを利用した可変基準化用回路を示す図である。
【図８】  温度制御式ＰＬＬを利用した同期基準化用回路を示す図である。
【図９】  選択可能な温度セットポイント回路を示す回路図である。
【図１０】  電力消費が縮小されたために時折抑止されるクロックを示す図である。
【図１１】  温度依存クロック変調回路を示す概略図である。
【図１２】  異なる供給電圧の内からいずれかを感知温度に基づき選択する回路を示す図である。
【図１３】  固定周波数でバスを起動し、選択可能な周波数で実行単位を起動するシステムを示す機能ブロック図である。
【図１４】  装置または回路の許可および抑止部分を選択するシステムを示す図である。
【図１５】  装置または回路の許可および抑止部分を選択する他のシステムを示す図である。
【符号の説明】
２２    アップ／ダウンカウンタ
３０    温度比較器回路
３２    デコーダ
３４    更新信号
４０    周波数制御回路
【図１】
0003963492.tif 000002
【図２】
0003963492.tif 000003
【図３】
0003963492.tif 000004
【図４】
0003963492.tif 000005
【図５】
0003963492.tif 000006
【図６】
0003963492.tif 000007
【図７】
0003963492.tif 000008
【図８】
0003963492.tif 000009
【図９】
0003963492.tif 000010
【図１０】
0003963492.tif 000011
【図１１】
0003963492.tif 000012
【図１２】
0003963492.tif 000013
【図１３】
0003963492.tif 000014
【図１４】
0003963492.tif 000015
【図１５】
0003963492.tif 000016