(57)【要約】      （修正有）【課題】集積回路に対する適切な周波数を決定し供給する。【解決手段】システム２００に電源２０２が電圧を供給する。電圧センサ２０３は集積回路ＩＣ２０１に送られる電圧を検知し、供給電圧に関する情報をロジックブロック２０４に供給する。ロジックブロック２０４は集積回路ＩＣ２０１に適切である周波数を決定し、この情報を周波数合成器２０５に提供する。周波数合成器２０５はシステムクロック２０６の信号を決定された適切な周波数に対応するように変更する。【選択図】図２
2005092867.tif 000002
【特許請求の範囲】
【請求項１】
回路を制御する方法であって、
集積回路（２０１）の一部への供給電圧（３０１）を検知し（１０１）、
前記集積回路（２０１）の一部に対する適切な周波数（３０２）を決定し（１０２）、及び
前記適切な周波数（３０２）を前記集積回路（２０１）に供給すること（１０３）からなる、回路を制御する方法。
【請求項２】
前記供給電圧（３０１）を電圧センサ（２０３）の構成デバイス（５０３）に印加することをさらに含む、請求項１に記載の回路を制御する方法。
【請求項３】
前記供給電圧（３０１）における前記構成デバイスのスイッチング速度をさらに判定し、及び
前記スイッチング速度を使用して前記適切な周波数（３０２）を決定することをさらに含む、請求項２に記載の回路を制御する方法。
【請求項４】
前記供給電圧（３０１）を電圧センサ（２０３）の構成デバイス（５０３）に印加し、及び
前記電圧センサ（２０３）及び前記集積回路（２０１）の一部を同じ物理的条件の作用を受けさせることをさらに含む、請求項２に記載の回路を制御する方法。
【請求項５】
前記供給電圧（３０１）の値を計算し、及び
前記供給電圧（３０１）の値のセットに関連付けられた前記適切な周波数（３０２）の値のセットのテーブルを使用して、前記適切な周波数（３０２）を決定することをさらに含む、請求項１に記載の回路を制御する方法。
【請求項６】
回路を制御するためのシステムであって、
集積回路（２０１）の一部への供給電圧（３０１）を検知するための少なくとも１つの電圧センサ（２０３）と、
前記集積回路（２０１）の一部に対する適切な周波数（３０２）を前記供給電圧（３０１）から決定するための少なくとも１つのロジックブロック（２０４）と、及び
前記適切な周波数（３０２）を前記集積回路（２０１）の一部に供給するための少なくとも１つの回路構成（２０５）とを備える、システム。
【請求項７】
前記ロジックブロック（２０４）が、前記適切な周波数（３０２）として、前記供給電圧（３０１）において前記集積回路（２０１）の一部に可能な最高周波数を決定する、請求項６に記載のシステム。
【請求項８】
前記供給電圧（３０１）が印加される少なくとも１つのテストデバイス（５０３）をさらに含む、請求項６に記載のシステム。
【請求項９】
前記印加電圧（３０１）において前記少なくとも１つのテストデバイス（５０３）のスイッチング速度を判定するための少なくとも１つのテストデバイスロジックブロック（２０４）をさらに含み、前記スイッチング速度が前記適切な周波数（３０２）を決定するために使用される、請求項８に記載のシステム。
【請求項１０】
前記供給電圧（３０１）を値に変換するための変換器（２０４）をさらに含み、その変換器（２０４）がアナログ−デジタル変換器である、請求項６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路を制御するための方法と装置に関する。
【０００２】
背景
ＶＬＳＩデバイスのプロセス技術、スケーリング、及び動作周波数の傾向により、消費電力は集積回路設計において主要な問題になった。従って、消費電力の管理は、こういったデバイスの設計目的において優先度が高い。
【０００３】
ＶＬＳＩデバイスの電力管理システムの具現化形態では、電力管理の最も有効的な手段は、１）集積回路に送られる電圧、及び２）その集積回路の動作周波数を同時に変更することであることが広く認識されている。電圧は、集積回路のトランジスタのスイッチング速度の主要な決定要因であるため、設計者は一般に、所与の電圧で一部が動作することのできる最高周波数を指定することになる。従って、マイクロプロセッサの例では、電源はデバイスに２ボルトの一定電圧を生成することができ、デバイスが２ギガヘルツ（ＧＨｚ）で動作するように指定され得る。しかしながら、デバイスの設計は、集積回路に見られる電圧が最大の２ＧＨｚ動作を可能にするレベルよりも決して下がらないようなものである必要がある。集積回路の電圧がそのレベルより下がる場合、タイミング障害が発生する可能性があり、構成要素によっては２ＧＨｚサイクル時間にするのに十分高速にスイッチすることができなくなる。
【０００４】
しかし、電源は変動し、電源と集積回路の実際のトランジスタとの間の電気的寄生は電力の伝達を行う。従って、集積回路に実際に送られる電圧は、完全に一定の値ではなく、むしろ脈動し、時間の経過につれて変動する。平均して、これらの脈動は全電圧のおおよそ＋１０％又は−１０％の総量を有する場合がある。２ボルトを集積回路に送る意図である場合、実際に送られる電圧は１．８ボルトから２．２ボルトの間で変動する可能性がある。電圧により、構成要素のスイッチング速度が主に決まるため、設計者は、（電流の例では）供給電圧が１．８ボルトである場合であっても、使用中のデバイスが２ＧＨｚで依然として動作することができることを確実にする必要がある。これは、ガードバンディング（guardbanding)として知られている技術である。このガードバンディングなしでは、集積回路は、電圧が降下したときに動作しなくなる可能性がある。
【０００５】
消費電力の場合、電圧が変動するとき、２つの関係が重要になる。１つは電圧に対するデバイス速度の関係であり、これはおおよそ線形な関係である。トランジスタに印加される電圧が１０％低下した場合、そのトランジスタのスイッチング速度はおおよそ１０％低下する。一次近似は、
Ｆ∝ｖ                                                  （１）
として示され得る。
【０００６】
第２の関係は電力と周波数の関係である。電力（集積回路により消費される総ワット数）は、デバイスのスイッチングキャパシタンス（所与の設計で比較的一定の値、Ｃと表記される）を、デバイス両端の電圧（Ｖと表記される）の二乗で乗算し、デバイスがスイッチングする周波数を乗算したもの（に、ここでは無視することができるリーク項を加算したもの）に等しい。従ってこの関係は、
Ｐ＝Ｃ×Ｖ２×Ｆ                                        （２）
である。
【０００７】
先の例を使用すると、構成要素のキャパシタンスがサイクル毎に１回スイッチングする場合、キャパシタンスは２ＧＨｚの速度でスイッチングしている（即ち、５００ピコ秒毎に１回）。式２は、電圧の低下が二乗則の電力低下になることを示している。たとえば、電圧（Ｖ）が１０％降下し、０．９×Ｖになった場合、二乗則の低下により電力（Ｐ）は０．９×０．９×Ｐ、即ち０．８１×Ｐ（１９％低下）になる。
【０００８】
式１が示すように、周波数は電圧に正比例する。従って、式２と組み合わせた場合、周波数の低下は電力低下におけるさらなる電圧因子につながることになる。これにより、電力はおおよそＶ３で低下するという結果になる。先の例を用いると、Ｖが１０％低下すると、電圧の１０％低下に対して電力は、０．９×０．９×０．９×Ｐ（０．７２×Ｐ、即ち２８％）低下するという結果になる。この関係は良く知られており、特に、ラップトップなどのモバイル装置における電力管理に利用されている。
【０００９】
多くの電力管理の解決策は、ソフトウェアを用いてマイクロプロセッサ及び他の同様のデバイスの余分な計算電力を最小限に抑えている。予想負荷に基づいて、ソフトウェアは、プロセッサがどれだけ速く動作しなければならないかを決定し、たとえば、ソフトウェアは、密にコード化されたアプリケーションには単純なアプリケーションよりも速い速度が必要とされ得ることに留意することができる。ソフトウェアは、需要により必要な速度を決定すると、単に必要とされる速度まで速度を低減することができる。結果として、デバイスの消費電力が、ある期間にわたって低減される。
【００１０】
しかしながら、これらの方法は電圧管理の非効率性につながる。たとえば、これらの方法では、ソフトウェアプログラムは、集積回路が遭遇するであろう計算需要を予測し、次いでそれに従って電圧および周波数を変更する必要がある。これは、予測の不正確に関連する遅延時間をもたらす。さらに、これらのシステムの意図は、ある期間にわたってプロセッサの総エネルギ消費を最小化することである。従って、ラップトップなどの可搬型装置は、これらのアルゴリズムを使用してバッテリの寿命を最大化することができる。サーバ型プロセッサの場合、ある時間期間にわたる総エネルギ使用の最小化は目標ではない。計算能力の最大化が目標である。サーバシステムは、所与の電力包絡線内で、顧客の要求に応じて利用できる性能を最大化すべきである。理想的には、常に最高の性能能力が顧客に対して提供されるべきである。しかしながら、サーバシステムにおいてさえも、電力を低くすることに対して大きな動機付けがある。たとえば、チップは、電力を消費するとき、小さなシリコンダイから除去することが難しい熱を発生する。さらに、多数のプロセッサをより大きい電力で動作させることはよりコストがかかり、その電力を密な空間に供給することは難しい。従って、サーバの場合、計算のニーズが高いときに電力を最小化しようとするだけのシステムでは十分ではない。即ち、計算のニーズは常に高い。同様に、単に最大計算能力を供給するだけのシステムも、大半のシステムにとって不十分である。従って、不正確であることが多いソフトウェア予測に頼る必要なく、最高の性能を提供するシステムの能力を維持しながら、消費される電力を能動的に最適化する方法が必要とされている。
【００１１】
現在利用可能な解決策のさらなる欠点は、電力を低減する機会を認識してから（又は、計算ニーズが高いことにより電力を増大する必要性を認識してから）その変更を実行する動作までのタイムラグである。認識後、電圧を変更するためのコマンドは、プロセッサにより使用される電圧を生成する電圧レギュレータに送出されなければならない。そして、電圧レギュレータがそのタスクを実行するのに数マイクロ秒（一般に、１０〜１００マイクロ秒）かかる。対応する電圧よりも高い周波数で動作するプロセッサがタイミング障害になる可能性があるので、電圧遷移が完了して初めて、プロセッサ自体の周波数を実際に上げることができる。従って、周波数を上げることができる前に電圧を変更するのを待つタイムラグがある。同様に、電圧を下げる（電力消費を低減する）ためには、所与の周波数に対して電圧が低すぎることに起因したタイミング障害を回避するために、周波数を最初に下げなければならない。所与の電圧に対して集積回路がどれだけ速く動作することができるかということを厳密に理解したシステムは、その電圧に合った周波数でチップを動作させることができるシステムと組み合わされると、大幅な効率の改善になる。電圧の低減を予測し、周波数を予め下げる代わりに、係るシステムは電圧および周波数を一緒に下げることができる。また、係るシステムは、設計者がデバイスの変動する動作条件を予測することを必要とされる場合に、必要なガードバンディングを回避することもできる。上記の例を用いれば、電圧が＋１０％又は−１０％変動する場合、設計者は、予想電圧の９０％のみが供給される場合に、見積もられた周波数でデバイスが動作することを確実にしなければならない。従って、周波数を観察された電圧に合わせて設定することが可能であり、実際に供給された電圧に合わせて周波数を常に変化させるシステムが必要とされている。
【００１２】
効率をさらに改善するために、多くの電力管理システムは、使用中ではない集積回路の部分を遮断する。たとえば、マイクロプロセッサにおける浮動小数点演算ユニットは、テクニカルコードに必要な高性能ユニットである。多くのアプリケーション（ワードプロセッシング、トランザクション処理、及び他の一般的な整数アプリケーション）の場合、浮動小数点演算は不要である。典型的な電力節減方法は、浮動小数点ユニットが電力を使用しないように、浮動小数点ユニットへのクロックを遮断することができる。しかし、集積回路上のユニットへの電源を入れたり切ったりするときに、プロセッサは消費電力の大きく急激な変化を受ける可能性がある。これは、常に構成要素と電源との間にいくらかの抵抗およびいくらかのインダクタンスが存在するため、電力供給システムに難問を投げかける。さらに、休止状態領域への電力の急激なスパイクは、すでに電力が供給されているセクションへの電圧降下をもたらす可能性があり、これは動作的およびタイミング的問題を引き起こす可能性がある。従って、消費電力の急激な変化に起因する電圧変化に非常に迅速に適応することができるシステムが必要とされている。
【００１３】
概要
本発明の開示される一実施形態は、集積回路の一部への供給電圧を検知し、集積回路の一部に対する適切な周波数を決定し、その適切な周波数を集積回路に供給することからなる回路制御を対象とする。
【００１４】
ここで、本発明をより完全に理解するために、添付図面に関連してなされる以下の説明を参照する。
【００１５】
詳細な説明
参照により本明細書に組み込まれる米国特許出願第            号：代理人整理番号２００２０８７５２−１（Ｐ７４７ＵＳ−１０３０４０６７、まだ出願されていない）に記載されるような電圧センサは、集積回路に実際に送られる電圧を検出する手段を提供することができる。多くの場合、集積回路上の異なる箇所の電力消費は様々であり、集積回路の、他の場所で見られない一部分の電圧降下という結果になる。ダイ全体にわたって分散された多数の電圧センサを有することが有利である可能性がある。参照により本明細書に組み込まれる米国特許出願第            号：代理人整理番号２００２０８７３１−１（Ｐ７４９ＵＳ−１０３０４０７１、まだ出願されていない）に記載されるような高速応答周波数合成器等、決められた周波数を供給するように構成された回路は、集積回路の特定のセクションを駆動するクロック周波数を迅速に調整する能力を提供することができる。周波数決定手段を使用して、供給される電圧においてどの周波数が集積回路（又はその一部）に適切であるかを判定する。
【００１６】
図１は、本発明の特定の実施形態の基本的な段階を説明するフローチャート１００を示す。段階１０１において、実際に集積回路に送られている電圧が検知される。上述したように、電源により送られる電圧は、時間が経つにつれて変動する可能性がある。電圧が変動する場合、タイミング障害を回避するために、集積回路を動作させるために使用されるクロックの周波数を変更する必要があるかもしれない。段階１０２は、基本的な方法により、集積回路へ供給するための適切な周波数を決定することを示す。一般に、この周波数は供給電圧から直接的に導き出される。最後に、段階１０３において、基本的な方法により適切と決定された周波数を集積回路に供給する。
【００１７】
図２は、本発明の一実施形態の構成要素レイアウト例を示す。システム２００は、集積回路２０１を管理するために当該技術分野における上述した問題すべてに対処することが可能である。電源２０２は電圧をシステム２００に供給する。上述したように、この電圧は変動する可能性がある。電圧センサ２０３が、集積回路２０１に送られる電圧を検知する。図示の実施形態では、電圧センサ２０３は、供給電圧に関する情報をロジックブロック２０４に供給する。ロジックブロック２０４は、図示の実施形態において、集積回路２０１に適切である周波数を決定し、この情報を周波数合成器２０５に提供する。周波数合成器２０５はシステムクロック２０６の信号を、決定された適切な周波数に対応するように変更する。当業者ならば、システム２００が構成例であり、本発明の実施形態が図示の構成に限定されないことを理解するであろう。
【００１８】
図３は、上記実施形態のいくつかの利点を示す。図式関係３００は、供給電圧３０１、本発明の実施形態により供給される周波数３０２、本発明の実施形態により供給される平均周波数３０３、及び従来技術による方法によって与えられる周波数３０４の比較を示す。
【００１９】
上述したように、供給電圧３０１は、電圧の偏移３０５によって見られるように変動する可能性がある。従来技術の解決策では、最低電圧３０６においてさえも依然として実行可能であるように、供給される周波数３０４を十分低くする必要があった。本発明のいくつかの実施形態は、供給電圧３０１を連続的に検知し、供給電圧３０１を追跡する周波数３０２を供給することができる。従って、本発明のこれらの実施形態により供給される平均周波数３０３は、従来技術の解決策により与えられる周波数３０４よりもかなり高い。
【００２０】
本発明の実施形態は、電圧から周波数に変換する一態様に限定されない。本発明の一実施形態では、電圧センサが回路速度に対する電圧の影響を測定する。図４は、このタイプの実施形態のフローチャート例である。方法４００は概して、このような実施形態がどのようにスイッチング速度を利用することができるかを示す。段階４０１において、供給電圧が検知される。このような実施形態において、次いで、供給電圧は、電圧センサの一部とすることができるテストデバイス（トランジスタ等）に印加される（４０２）。次いで、電圧センサは、テストデバイスが現在供給されているクロック周波数でサイクル動作することができるか否かを判定する（４０３）。できない場合、周波数合成器は、補償するために、供給周波数を遅くするよう命令される（４０４）。テストデバイスが現在供給されている周波数でサイクル動作できる場合、図示の方法は、テストデバイスが供給されている周波数よりも高速な速度でサイクル動作することが可能であるか否かを判定する（４０５）。可能である場合、周波数合成器はそれに従って周波数を上げるように命令される（４０６）。可能でない場合、現在供給されている周波数は変更されない。
【００２１】
この方法を用いる一実施形態において、電圧センサはゲートして実施される複数のＶＬＳＩトランジスタを含む。これらのトランジスタは、実施形態が実施されたＶＬＳＩ回路の限界を表す長さ及び伝搬時間遅延からなるように特に選択される。従って、センサトランジスタを介した遅延が集積回路上の瞬時周波数のサイクル時間に等しい場合、集積回路は効率的に動作している。電圧が降下した場合、電圧センサ中のトランジスタは減速される（サイクル時間よりも伝搬に長くかかる）。これは、サイクル時間が短すぎであり、タイミング障害を回避するために周波数を下げるべきであることを示す。反対に、電圧が上がる場合、センサトランジスタの伝搬は１クロックサイクルよりも速く、周波数を安全に上げることができる。
【００２２】
図５は、上記実施形態とともに使用され得る電圧センサの例を示す。センサ５００は、電源５０１から集積回路５０２に電力を供給する電力ラインに接続される。テストデバイス５０３がセンサ５００を構成する。これらのデバイスは、ゲート、単純なトランジスタ、又は他の構成要素として実施され得る。次いで、これらの構成要素のスイッチング速度に関する情報がロジックブロックに転送される。
【００２３】
本発明の他の実施形態は、アナログ−デジタル変換器を使用して供給電圧の値を実際に測定することができる。次いで、テーブルを指し示すことによって、この測定された数を使用することができる。図６は、本発明の特定の実施形態によって実施され得る方法を示すフローチャートの例を示す。供給電圧が電圧センサに印加される（６０１）。この電圧は、たとえばアナログ−デジタル変換器により数値に変換される（６０２）。次いで、実施形態は、電圧値に適切な周波数を関連付けるテーブル又はデータベースにアクセスし（６０３）、供給電圧に関連付けられた周波数を周波数合成器に送る（６０４）。次いで、その合成器は、調和させるようにクロック周波数を調整する（６０５）ことができる。たとえば、供給電圧が１．４ボルトとして測定される場合、実施形態は、１．４ボルトが１．９ＧＨｚを維持することができることを示したテーブルを指し示すことができる。次いで、１．９ＧＨｚが新しい周波数として周波数合成器に送られる。次のクロックサイクル中、プロセスを繰り返すことができる。１．４２ボルトが次のサイクルで測定される場合、テーブルが再び指し示され、適切な周波数を再び決定し、新しい周波数（たとえば、１．９３ＧＨｚ）が合成器に送られる。
【００２４】
また、温度の影響により、デバイスが設計者の予測した値よりも高速または低速で動作する可能性もある。高温の環境では、デバイスは減速する傾向がある。図６によって説明されたような実施形態は、温度によってもたらされるテーブル又はデータベースの不正確性を考慮するためにガードバンディングを必要とするかもしれない。しかしながら、図４によって説明されたような実施形態は、集積回路が全体として受けている温度等、同じ物理的条件を受ける所与の電圧で集積回路がどれだけ速く動作できるかを決定するためのトランジスタをセンサ中に有することができる。検出器トランジスタは、集積回路中のデバイスと同じ態様で温度が上昇すると減速するので、追加の補正は必要ない。
【００２５】
図７は、応答ループ中のアクティビティのタイミング図である。これは、電圧降下（７０１）、及びその降下７０１に応答して領域電圧検出器がどのように減速するか（７０２）を示す。これは、その低速化がどこで検出されるか（７０３）、その情報をどのように周波数合成器に戻すように伝達するか（７０４）、及び周波数合成器が、集積回路の構成要素においてその後見られる周波数をどのように変更するか（７０５）をさらに示す。もちろん、周波数の変更は、クロックを使用する集積回路上の構成要素によって実際に見られるときにのみ有用である。電力消費が急に変化した場合、急激な電圧降下が見られる。電圧に応じた周波数変更が速いほど、システムはより効率的になる。理想的には、周波数は電圧によりサポートされる最大値に非常に接近した状態を維持する。本発明のいくつかの実施形態は、サイクル時間を比較する電圧センサ及び適切な周波数を供給するための合成器を組み込む。この結果、周波数が電圧の後に沿って追従し、必要な電力に基づいて電圧を自由自在に変更することができるシステムが提供される。
【００２６】
多くの実施形態では、集積回路のいくつかの領域に複数の電圧センサを分散させることが有利であることが分かる。当業者ならば、本発明の実施形態が上記に示した構成の単一の具現化形態に限定されないことを理解するであろう。いくつかの実施形態は、領域電圧検出器として分散された複数の電圧検出器、ならびに複数の周波数合成器を有することができる。図８は、一実施形態において領域電圧検出器および周波数合成器が配置される場所を示す。領域電圧センサ８０１は、ＶＬＳＩ（超大規模集積）集積回路８００にわたって分散される。これらのセンサ８０１は、ＶＬＳＩ集積回路８００の一部への供給電圧を検知することができ、周波数合成器８０２により、集積回路の異なる部分への周波数を変更することができる。
【００２７】
本発明のいくつかの実施形態における周波数合成器８０２は、互いに「交信する」能力を有することができる。１つの周波数合成器８０２が電圧降下を検知する、即ち、領域電圧検出器が減速する必要性を示す場合、それらの検出器に関連する周波数合成器が即座に減速する。次いで、この領域的減速を他の周波数合成器に伝達して追従させることができる。しかしながら、遠くにある周波数合成器は１つ又は複数のサイクル後に減速するかもしれない。しかし、集積回路にわたって電圧の乱れが伝搬するのにゼロでない量の時間がかかるので、減速化における遅延は、動作予想からの取るに足りない遅延である。従って、集積回路上のクロック周波数は、プリエンプティブシステムでのように普遍的でない場合があり、周波数は時間的および場所的変動を有する場合がある。いくつかの実施形態の態様はこれを考慮することができる。集積回路の一領域で、別の領域がまだ受けていない周波数の変化が見られる場合、これら２つの間に位相誤差が発生する場合がある。しかしながら、このような誤差はＶＬＳＩ設計の分野においてよく知られており、当業者ならば、過度の実験なしでこのようなスキューを補償するように特定のＶＬＳＩ設計を容易に適合させることが可能である。
【００２８】
本発明の特定の実施形態は、平均周波数の概念を利用する。電圧が変動すると、本発明のこれらの実施形態は、周波数をその電圧の最大値のかなり近くに押し動かす。この結果、周波数は場所および時間に関して変動する。従って、集積回路の性能（通常、動作周波数にかなり相関する）は、従来技術の集積回路が安全に動作することのできる最大値である最低周波数よりもかなり高い平均周波数に維持される。これら２つの値の差および得られる利益は、図３に示される。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態のフローチャートである。
【図２】本発明の一実施形態による回路レイアウトである。
【図３】本発明の特定の実施形態のいくつかの利点を示すグラフである。
【図４】本発明の一実施形態のフローチャートである。
【図５】本発明の一実施形態によるレイアウトである。
【図６】本発明の一実施形態のフローチャートである。
【図７】タイミング関係のチャートである。
【図８】本発明の一実施形態による回路平面図である。
【図１】
2005092867.tif 000003
【図２】
2005092867.tif 000004
【図３】
2005092867.tif 000005
【図４】
2005092867.tif 000006
【図５】
2005092867.tif 000007
【図６】
2005092867.tif 000008
【図７】
2005092867.tif 000009
【図８】
2005092867.tif 000010
【外国語明細書】
2005092867000001.pdf