(57)【要約】  本発明は、電力消費をモニタおよび制御するための電子回路、装置および方法に関する。したがって、クロック信号（ＣＬＫ）と、入力信号（Ｉ）とを受信し、出力信号（Ｏ）を供給することができる、１つまたは複数のシーケンシャルロジック素子（１２）を含む電子回路、装置および方法が提供される。シーケンシャルロジック素子（１２）は、入力および出力信号（Ｉ，Ｏ）をモニタし、入力および出力信号（Ｉ，Ｏ）に応じて制御信号（ＣＳ）を供給するための回路（２０）をさらに備え、ＩＣの電力消費を、制御信号に応じて操作可能に制御することができる。
2007502477.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのシーケンシャルロジック素子を含む電子回路であって、
前記シーケンシャルロジック素子が、
クロック信号を受信するための少なくとも１つのクロック端子と、
入力信号を受信するための少なくとも１つの入力端子と、
出力信号を供給するための少なくとも１つの出力端子と、
を備えるとともに、
当該電子回路は、
前記入力信号および前記出力信号をモニタし、前記入力信号および前記出力信号に応じて制御信号を供給する回路と、
当該電子回路の電力消費を前記制御信号に応じて制御するための手段と、
をさらに備える、ことを特徴とする電子回路。
【請求項２】
前記クロック信号により決定されるレートで制御されることが可能である、ことを特徴とする請求項１に記載の電子回路。
【請求項３】
将来の電力消費に関連する情報を供給することが可能である、ことを特徴とする請求項１または請求項２に記載の電子回路。
【請求項４】
過去のロジカルイベントに基づいて、事前に将来の電力消費を制御可能にさせる能力がある、ことを特徴とする請求項１乃至請求項３のいずれかに記載の電子回路。
【請求項５】
請求項１に記載の電子回路を含むことを特徴とする装置。
【請求項６】
少なくとも１つのシーケンシャルロジック素子を含む電子回路の電力消費を制御する方法であって、
前記シーケンシャルロジック素子が、
クロック信号を受信するための少なくとも１つのクロック端子と、
入力信号を受信するための少なくとも１つの入力端子と、
出力信号を供給するための少なくとも１つの出力端子と、
を備えており、
当該方法が、
前記入力信号および出力信号をモニタするステップと、
前記入力信号および出力信号に応じて制御信号を供給するステップと、
前記制御信号に応じて前記電力消費を操作可能に制御するステップと、
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも１つのシーケンシャルロジック素子を含む電子回路であって、シーケンシャルロジック素子が、クロック信号を受信するための少なくとも１つのクロック端子と、入力信号を受信するための少なくとも１つの入力端子と、出力信号を供給するための少なくとも１つの出力端子と、を備える、電子回路に関する。本発明は、また、上述の特徴を有する電子回路を含む装置、およびこのような電子回路の電力消費を制御する方法に関する。
【背景技術】
【０００２】
国際特許出願第０１／４８５８４号“デジタル電力スロットルを有するマイクロプロセッサ（Microprocessor with digital power throttle）”は、マイクロプロセッサの電力消費をデジタルモニタするための方式を述べている。
【０００３】
一般的に、当該技術では、例えば集積回路（ＩＣ）などの近代的な電子回路の電力消費および浪費の要件および基準は、その性能要件、すなわち機能、複雑さ、ダイサイズ、クロック速度等が増加するにつれ、より一層重要となりつつあることが知られている。さらに、電力消費の問題は、例えばバッテリ駆動コンピュータ、マルチメディア装置および携帯通信などの装置の設計および動作において、非常に重要な要素である。
【０００４】
さらに、当該技術では、高いクロックレートで動作し、よってアクティブな電子回路の部分を相当に有するＩＣは、大量の熱を発生させることが、よく理解されている。この熱は、何らかの形で、ＩＣおよび関連する装置から、最も迅速に、可能な限り効率的かつ高い費用効果で除去しなければならない。この熱の除去は、場合によっては、非常に複雑かつ高価となり、このこともまた、当該技術ではよく理解されている。
【０００５】
ＩＣの電力消費／浪費を操作するための様々な技術、回路およびシステムが、当業者に知られている。多くの研究努力が、許容可能な電力消費レベルで所望の性能基準を達成する回路および技術の設計に向けられている。電力消費は、例えば供給電圧、クロック周波数、スイッチングキャパシタンス、および回路スイッチング動作などの、複数の異なる要素に依存するため、このような要素の１つまたは組み合わせのいずれかによって電力消費を最小にするための、多くの異なる解決策が提案されている。さらに、リーク電流が、ＩＣの電力消費量におけるより大きな要素となっており、それは、ＩＣプロセス技術に変化が生じる際に経験される物理的な影響のためである。その直接の結果として、ＩＣ基板にバックバイアスを行なう、またはＭＴＣＭＯＳ技術を用いるなどの解決策が、これらのリーク電流を制御してＩＣの電力消費を管理するための効率的な方法として提案されている。
【０００６】
ＩＣ電力消費を減少させる努力のほとんどは、ＩＣの設計段階にて行なわれ、この段階では、ＩＣの電力消費に関する情報が、状況および統計データから集められる。市販されているソフトウェアベースの電力消費シミュレータが存在し、電力消費の観点から、最適な回路の設計をいくらか補助している。しかし、これらの電力消費シミュレータは、一連の固定条件に従って電力リソースを最適化するものであり、このことは明らかに不利である。
【０００７】
国際特許出願第０１／４８５８４号においては、マイクロプロセッサが、様々な機能ユニットに分割され、その各々が、デジタルワードに符号化された固有の固定‘電力ウェイト’を有し、この電力ウェイトは、調整プロセスによって決定する必要がある。マイクロプロセッサが、所定のプログラムを実行すると、各機能ユニットの状態がデジタルで、すなわちアクティブまたは非アクティブのいずれかとしてモニタされ、この情報は、特別なモニタユニットに渡される。このモニタユニットは、非アクティブな機能ユニットに関連する電力ウェイトを無視するが、アクティブな機能ユニットの電力ウェイトを加算し、その合計を、予想される最大電力消費を表すしきい値と比較する。合計がしきい値を超える場合、クロック周波数を下げることにより、または命令パイプラインにバブルを導入することにより、命令実行レートが減少される。合計がしきい値よりも低い場合、何の動作も行なわれない。
【０００８】
電力消費操作技術の他のいくつかの例は、システムクロックの周波数を、特に行なわれるデータ処理タスクに応じて、その最適なレートに調整すること、所定の状況のセットに応じて電力供給を調整すること、または電力の供給を完全に除去すること、を含む。
【０００９】
当業者に知られている、ＩＣにより生成される熱を放散させるための多くの様々な方法および装置のいくつかとして、例えば、ヒートシンクおよび液体冷却が挙げられる。このような方法および技術は、ほとんどの場合、費用および空間の両面において、手の込んだ高価なものとなり得る。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
国際特許出願第０１／４８５８４号に開示される方式は、いくつかの典型的な短所を有する。そのような短所の１つは、電力消費がデジタルでモニタされることである。さらなる短所は、電力消費が入力データの質と種類に大きく依存するため、機能ユニットのそれぞれによって消費される電力が、‘固定ウェイト’解決策によって上手く表されないこと、および、機能ユニットのそれぞれを、それらの適切な電力ウェイトを定義するために調整する必要があることである。
【００１１】
本発明の目的は、電力消費の改善された削減を提供することである。
【課題を解決するための手段】
【００１２】
本発明は、独立請求項によって定義される。
【００１３】
従属請求項は、本発明の有利な実施形態を定義する。
【００１４】
この目的は、前記電子回路が、入力信号および出力信号をモニタし、入力信号および出力信号に応じて制御信号を供給する回路をさらに備え、電子回路の電力消費を、制御信号に応じて操作可能に制御できることで実現される。
【００１５】
本発明の回路の一実施形態によると、電子回路は、クロック信号により決定されるレートで制御されることが可能である。このような実施形態は、クロックレートにおけるどのような変化も、電子回路全体に加えられる、という利点を有する。したがって、電力の節約が要求される場合、この節約を迅速かつ大規模に実効することができる。
【００１６】
本発明の回路の他の実施形態によると、電子回路は、将来の電力消費に関する情報を供給することが可能である。将来の電力消費またはその見込みを知ることまたは予測することは、電力消費をアクティブに制御する場合に、明らかな利点を持つことができる。決定を、通常の状況下では電力消費の増加をもたらす既知の、または‘起こりそうな’見込みがあるイベントに先立って、行うことができる。
【００１７】
さらに、本発明の回路の他の実施形態によると、電子回路は、過去のロジカルイベントに基づいて、事前に将来の電力消費を制御可能にさせる能力を有する。将来の電力消費またはその見込みを、過去のイベントに基づいて、知ることまたは予測することは、電力消費をアクティブに制御する場合に、明らかな利点を持つことができる。再び、重要な事前の電力節約の決定を、既知の、または‘起こりそうな’見込みがあるイベントに関して、行うことができる。
【００１８】
本発明の電子回路、装置および方法の他の特性および利点は、添付の好適な図面および以下の説明によって、またはそれらから、明らかにすることができる。
【発明を実施するための最良の形態】
【００１９】
本発明の回路は、ＩＣ、特にＣＭＯＳプロセス技術のＩＣを参照して述べられるが、当業者には、その基礎をなす原則が、他の電子回路およびＩＣプロセス技術にも適用可能であることが、理解されるであろう。
【００２０】
デジタルＩＣの電力消費は、２つの個別のカテゴリーに分けることができる。第１のカテゴリーは、動的電力消費であり、第２は、静的電力消費である。
【００２１】
動的電力消費は、ＩＣのデジタル回路内で発生するロジック状態変化の間に生じる。一方、静的電力消費は、デジタル回路が安定した、または静止した状態にある場合に生じる。動的電力消費は、ＣＭＯＳなどの充電制御回路の電力消費において支配的な要素であり、回路を形成する様々な素子のノードが、適切な入力刺激によって状態を変化させる場合に生じる。
【００２２】
簡潔さの観点から、ここでの用語“電力”の使用は、実際の電力、または、実際の電力に比例し若しくはこれを示す、例えば電流、電圧若しくは他の基準などの値の、一方を含む。
【００２３】
図１を参照すると、デジタル回路１０のこの特定の例は、時にはフリップフロップまたはシーケンシャルロジックとも呼ばれる一連のＤ型データラッチ１２ａ〜１２ｅと、２つの組み合わせロジックブロック１４，１６とを備える。
【００２４】
なお、本発明を記述するために、Ｄ型のフロップフロップを説明および図示したことに留意されたい。しかしながら、本発明の目的および利点は、当業者に理解されるように、例えばＪ−ＫまたはＳ−Ｒ型のフリップフロップなどの、シーケンシャルなあるいはそれ以外の、他の種類のロジックを使用することにより達成することもできる。さらに、組み合わせロジックブロック１４，１６は、例えば処理ロジックブロックおよびデータパスロジックブロックの概略的な例示を意図している。
【００２５】
図１を参照すると、フリップフロップ１２ａは、入力信号Ｉ１を受信して、適当な出力信号Ｏ１を生成し、この出力信号Ｏ１は、第１ロジックブロック１４への第１入力信号として機能する。フリップフロップ１２ｂは、第１ロジックブロック１４からの第１出力信号である入力信号Ｉ２を受信して、適当な出力信号Ｏ２を生成し、この出力信号Ｏ２は、第２ロジックブロック１６への第１入力信号として機能する。フリップフロップ１２ｃは、第２ロジックブロック１６からの第１出力信号である入力信号Ｉ３を受信し、適当な出力信号Ｏ３を生成する。フリップフロップ１２ｄは、第１ロジックブロック１４からの第２出力信号である入力信号Ｉ４を受信し、適当な出力信号Ｏ４を生成し、この出力信号Ｏ４は、第１ロジックブロック１４への第２入力信号として機能する。フリップフロップ１２ｅは、第２ロジックブロック１６からの第２出力信号である入力信号Ｉ５を受信し、適当な出力信号Ｏ５を生成し、この出力信号Ｏ５は、第２ロジックブロック１６への第２入力信号として機能する。フリップフロップ１２ａ〜１２ｅのそれぞれは、また、クロック信号ＣＬＫを受信し、クロック信号ＣＬＫは、操作可能なゲート入力および出力信号に使用される。
【００２６】
フリップフロップ１２ａ〜１２ｅのいずれのデータ内容も変化しない場合、ロジック状態の変化がないため、図１に示された回路の動的電力消費は、この例示のためには、クロック信号ＣＬＫは無視して、ゼロとなる。しかしながら、状態変化が、適当な刺激により、フリップフロップ１２ａ〜１２ｅの１つまたは複数およびロジックブロック１４，１６のいずれか１つまたは両方あるいはその各部で起こる場合、この状態変化は、回路１０中に伝播する。このような伝播は、一定量の動的電力消費を、回路１０内に生成する。したがって、所定のクロックサイクルにわたって、回路１０を構成する素子内で発生する状態変化の数に比例するレートで電力が消費される。平均すると、状態を変化させる素子の数が多いほど、すなわち、回路の‘活動’が激しいほど、電力消費も大きい。したがって、所定のクロックサイクルで状態を変化させる素子の数を知ることは、この特定のクロックサイクルに対して、電力消費への直接の相関を提供する。なお、近代的なデジタルＩＣ設計方法論およびツールは、事前にかなりの正確さで、入力刺激に反応してどの状態変化が発生するか、およびこのような変化がどこで起こるかを、設計者が知ることを可能にすることに留意されたい。このような事前知識は、以下の説明から明らかとなるように、有利である。
【００２７】
回路の電力消費、すなわち活動が、リアルタイムで知られている場合、この知識から、それに応じた回路１０の動作、よってその後の電力消費、を操作可能に制御することが可能である。このような制御は、例えば、回路１０の素子内の状態変化、電源電圧の調整、ＩＣのバックバイアスすなわち基板電圧の調整、または制御信号の周波数の調整を含む。当業者は、前述の例示的な制御技術は、他に加え、多くの変化する度合いおよび組み合わせにおいて使用して、電力消費および性能を減少させることができることを理解するであろう。よって、回路１０の活動をモニタして電力消費の確立を可能にする能力を有することは、以下の本発明の好適な説明および例示から明らかとなるように、集積回路の全体性能を上げることに関して有利である。
【００２８】
適当な入力刺激に応じて、いずれかのフリップフロップ１２の内容が変化した場合、このような変化は、回路１０を通じて伝播し、一定量の動的電力消費を生成する。その後、しかし次のクロックＣＬＫのエッジのいくらか前に、フリップフロップ１２の入力における新たなロジック状態値１１〜１５が決定され、よって、フリップフロップ１２に、新たな活動サイクルに対する準備をさせる。これにより、回路１０の電力消費は、各クロックサイクルにおいて状態を変化させるフリップフロップ１２の数に依存する。したがって、適切なスイッチングノード、すなわちフリップフロップ入力および出力端子、ＤおよびＱのそれぞれにおける活動を、各クロックサイクルの間に操作可能にモニタすることにより、回路１０の電力消費を確立することができる。適切なスイッチングノードは、ＩＣの設計サイクルの一部として、容易に決定することができる。先に述べたように、近代的な設計方法論およびツールは、どのデータパス、よって回路が、既知の入力刺激に対してアクティブとなるかを、設計者が決めることを可能にする。この事前知識を用いて、モニタを、回路内の最も適当なノードに戦略的に配置することができる。これは、例えば、ロジックブロックの特性が知られている場合に、モニタの数が最小に維持できるため、特に有利であり、よって、他の方法ではモニタによって占められる電力およびエリアを減少させる。
【００２９】
本発明によると、電子回路が回路１０に加えられ、その活動をモニタし、すなわち決定する。基本的に、このモニタリングは、いくつかの付加的な回路を、すべてのフリップフロップ１２またはその一定部分のいずれかに加えて、回路１０の活動をモニタすることにより達成される。
【００３０】
図２を参照すると、活動モニタ２０が、本発明に基づき、回路の活動およびその後の電力消費をモニタリングする目的で用いられる基本的な構成単位である。
【００３１】
フリップフロップ、すなわちロジックステージ１２は、この特定の例では、関連する２つの入力と、１つの出力と、活動モニタ２０とを有する。活動モニタ２０の第１の入力が、フリップフロップ１２の入力Ｄに接続され、活動モニタ１２の第２の入力が、フリップフロップ１２の出力Ｑに接続される。活動モニタ２０は、出力信号ＣＳを生成し、出力信号ＣＳは、フリップフロップ１２の各ＤおよびＱ端子における入力および出力信号Ｉ，Ｑの状態によって決定される。
【００３２】
図３を参照すると、電力消費を決定する１つの方法は、スイッチングするフリップフロップ１２の数により示されるように、モニタする必要がある各フリップフロップ１２の入力および出力端子Ｄ，Ｑの間に、２入力のＸＯＲロジックゲート３０を接続することである。この特定の実施形態では、フリップフロップ１２は、フリップフロップ１２の入力端子Ｄにおける入力信号Ｉの値が、その対応する出力端子Ｑにおける出力信号Ｏの値と等しくない場合にのみ、状態を変化させる。
【００３３】
表１は、図３のＸＯＲロジックゲート活動モニタに関連する状態入力および出力値を示すロジック表である。
【表１】
2007502477.tif 000003
【００３４】
フリップフロップ１２の入力および出力端子Ｄ，Ｑにおけるロジック状態が、それらが等しくなくなる、すなわちＩ≠Ｏとなるように変化した場合、ＸＯＲゲート３０からの出力信号ＣＳは、ロジック‘ハイ’すなわち‘１’状態であり、これは、フリップフロップ１２の状態変化を、よって回路のスイッチング活動を示す。したがって、各クロックサイクルにおけるロジック‘１’状態に変化したＸＯＲ出力信号ＣＳの数をカウントすることにより、回路のスイッチング活動に関する必要な情報を提供する。この結果を、１クロックサイクル内で得ることが望ましいため、上述のカウンティングは、不図示の加算回路によって実行する必要がある。しかしながら、Ｎを整数とするＮ個のフリップフロップ１２を有する回路では、図３の例示に基づくこのような実施は、Ｎ個の２入力ＸＯＲゲート３０と、Ｎ個の１ビット入力およびｌｏｇ２Ｎ個の出力を有する図示されないデジタル加算器とを必要とするであろう。当業者には、Ｎが大きくなり得るこの解決策は、以下に説明されるような他の解決策ほどには魅力的でないかもしれないと理解されるであろう。
【００３５】
図４を参照すると、活動モニタ２０は、２つのＰＭＯＳトランジスタＰ１，Ｐ２および２つのＮＭＯＳトランジスタＮ１，Ｎ２を備える。
【００３６】
トランジスタＰ１およびＰ２のソース端子が、両方とも、プラス電源ＶＤＤに接続され、一方で、トランジスタＮ１およびＮ２のソース端子が、互いに接続され、活動モニタ２０の出力端子４０を形成する。この特定の好適な例示では、トランジスタＰ１およびＮ１のゲート端子が、両方とも、フリップフロップ１２の入力端子Ｄに接続され、一方で、トランジスタＰ２およびＮ２のゲート端子が、両方とも、フリップフロップ１２の対応する出力端子Ｑに接続される。４つのトランジスタＰ１、Ｐ２、Ｎ１およびＮ２のそれぞれの、各ドレイン端子が、すべて互いに接続される。
【００３７】
この活動モニタ２０が、フリップフロップ１２での状態変化を検出するために、トランジスタＰ１、Ｐ２、Ｎ１、Ｎ２の各配置は、本質的に、差異を示す必要がある。
【００３８】
表２は、図４の活動モニタに関連する入力および出力ロジック状態ならびにその４つのトランジスタのそれぞれの導通状態の両方を示すロジック表である。
【表２】
2007502477.tif 000004
【００３９】
見られるように、図４および表２に示されるトランジスタＰ１、Ｐ２、Ｎ１およびＮ２の配置および制御は、したがって、フリップフロップ１２の任意のロジック状態変化、すなわち活動を検出することが可能な、差動電流ソースである。
【００４０】
したがって、フリップフロップ１２への入力信号Ｉ，Ｏが等しくない、すなわちＩ≠Ｏである場合にのみ、トランジスタのペア、Ｐ１とＮ２またはＰ２とＮ１のいずれかが、電流を導通する。逆に、フリップフロップ１２への入力信号Ｉ，Ｏが等しい、すなわちＩ＝Ｏである場合、トランジスタのペアＰ１,Ｎ２またはＰ２，Ｎ１のいずれも、導通せず、このような場合は、活動モニタ２０の出力端子４０は、高い出力インピーダンスを示し、したがって、電流は供給されない。
【００４１】
図５を参照すると、フリップフロップ１２ａ〜１２ｅのそれぞれが、それらの各入力および出力端子Ｄ，Ｑの間に操作可能に接続された、関連付けられた活動モニタ２０ａ〜２０ｅを有する。必要とされる場合、個別の活動モニタ２０ａ〜２０ｅによって生成された電流の合計を、それらの各出力端子４０を互いに接続して共通の出力端子５０を形成することによって、達成することができる。
【００４２】
再び、適当な入力刺激によって、フリップフロップ１２ａ〜１２ｅの１つまたは複数およびロジックブロック１４，１６のいずれか一方または両方、あるいはその一部分で状態変化が生じた場合、この状態変化は、回路１０中に伝播する。フリップフロップ１２ａ〜１２ｅのいずれかが状態を変化させた場合、その各活動モニタ２０ａ〜２０ｅが、その動作の差動モードにより、各電流を生成する。
【００４３】
当業者には、関連するフリップフロップ１２ａ〜２０ｅの状態変化に応じて各活動モニタ２０ａ〜２０ｅにより生成される電流の量は、個別に設定および／または制御して、特定の適用または必要性に適合させることが可能であることが、理解されるであろう。
【００４４】
活動モニタ２０により生成される電流の量を設定する１つの方法は、アスペクト比、すなわち設計および製造段階で決定されるトランジスタＰ１、Ｐ２、Ｎ１およびＮ２のゲート幅Ｗと長さＬの比を用いるものである。したがって、特定の活動モニタが、回路の大きな部分のモニタに関連付けられていることにより、比較的大きい電力量の消費を示すことが予測される場合、この活動モニタによって供給される電流の量を、そのトランジスタＰ１、Ｐ２、Ｎ１およびＮ２の１つまたは複数のアスペクト比、典型的には幅Ｗのみを調整することにより、増加させることが可能である。より幅広のトランジスタＰ１、Ｐ２、Ｎ１およびＮ２を用いることができる、１つの可能な適用は、クロック信号ＣＬＫのスイッチング活動のモニタに関連するものである。これは、そのｎＱ出力、すなわちその逆ロジックＱ出力が、そのＤ入力に接続されている、図示されないダミーのフリップフロップを加え、通常は高いことが予測されるそのスイッチング活動、すなわち電力消費をモニタすることにより、達成することができる。
【００４５】
活動モニタ２０により生成される電流の量を制御する１つの方法は、主なトランジスタＰ１、Ｐ２、Ｎ１およびＮ２と並列に接続された、図示されない追加的なトランジスタを、操作可能にインまたはアウトにスイッチすることである。当業者には、多くの技術を用いて、個別またはグループのトランジスタＰ１、Ｐ２、Ｎ１およびＮ２により生成される電流を、設定および／または制御することが可能であることが、理解されるであろう。活動モニタ２０により生成される電流を設定および／または制御する能力を有することは、利点を有する。このような利点の１つは、活動モニタが、その電流出力に、関連するロジックブロックの、例えば、機能、サイズ、および／または電力消費等に対して、ウェイトをかけることができることである。他の利点は、活動モニタ２０からの電流を、その出力経路５０に関連する寄生効果を克服するように、設定／制御できることである。
【００４６】
活動モニタ２０の動作／反応の速度は、その出力電流が、電流経路に関連付けられた、寄生またはそれ以外の任意のキャパシタンスの充電に必要な時間によってのみ制限される。このようなキャパシタンスが、例えば電流経路の長さに起因して大きい場合、図示されない１つまたは複数の電流ミラーを、操作可能に配置して、このようなキャパシタンスを打ち消し、よって動作の速度／反応を増加させることもできる。この、寄生すなわち優勢な容量性の効果を克服する代わりの方法を、活動モニタ２０からの電流を設定および／または制御する方法の代わりに、またはそれに加えることのいずれかで、使用することができる。一連の活動モニタ２０からの電流を制御する代わりに、電流ミラーなどの増幅器を使うことの１つの利点は、すべてのトランジスタＰ１、Ｐ２、Ｎ１およびＮ２のアスペクト比を、最小に維持することができることである。これは、フリップフロップごとに、面積ならびに電力消費および浪費を小さくすることに役立つ。本発明によると、活動モニタを、４つの最小サイズのトランジスタを用いて構築することの利点は、以下のように強調することができる。典型的には、各Ｄ型フリップフロップは、それ自体が、約３０個のトランジスタによって作製される。４つのトランジスタ活動モニタ２０を、典型的なＤ型フリップフロップに含むことの面積オーバーヘッド（area overhead）は、したがって、４／３０＝１３．３％であり、これ自体は、さほど大きな負担ではない。しかしながら、活動モニタ２０が典型的に用いられるＩＣ設計の適用の大部分において含まれる余分なトランジスタの数は、ＩＣを構成するトランジスタの合計数のおよそ数分の１である。
【００４７】
活動モニタ２０ａ〜２０ｅの１つまたは複数からの電流を、スイッチング活動に応じて生成させたが、ここで、望まれる場合、電流対電圧、Ｉ／Ｖ、トランスデューサを使用して、この電流を電圧に変換することができる。
【００４８】
図６ａを参照すると、回路１０の出力端子５０が、図示されるようなレジスタ６０などの抵抗素子、または代わりに、その直線領域にて動作する図示されないＮＭＯＳトランジスタを介して、マイナス供給レール（negative supply rail）ＧＮＤに接続される。電流は、マイナス供給レールＧＮＤに、レジスタ６０を介して流れ、これは、活動モニタ２０ａ〜２０ｅからの電流に比例する出力電圧Ｖａを、レジスタ６０に生成する。
【００４９】
ここで図６ｂを参照すると、回路１０の出力端子５０が、マイナス供給レールＧＮＤに、キャパシタ６２を介して接続される。また、図６ｂには、キャパシタ６２に並列に接続されたＮＭＯＳトランジスタＮ３も示されている。このトランジスタＮ３は、スイッチとして機能し、このスイッチは、操作可能に制御され、キャパシタ６２を放電、すなわちリセットまたは初期化する。スイッチＮ３がオープンであると想定すると、活動モニタ２０ａ〜２０ｅから流れる電流が集積して、キャパシタ６２を充電し、その結果、活動モニタ２０ａ〜２０ｅをソースとする電流の合計量に比例する出力電圧Ｖａが、キャパシタ６２に生じる。スイッチＮ３が、操作可能に閉じられると直ちに、キャパシタ６２の両方の端子が、マイナス供給レールＧＮＤに接続され、これにより、キャパシタ６２が放電され、典型的には、このイベントは、集積の開始時に発生し、それは、通常は各クロックサイクルの開始時である。スイッチＮ３が、再び操作可能に開き、電流が、活動モニタ２０ａ〜２０ｅから流れると、キャパシタ６２は、再び、活動モニタ２０ａ〜２０ｅをソースとする電流に比例する出力電圧Ｖａの充電と生成を開始する。出力電圧Ｖａのピーク値は、所定の集積時間、すなわち、キャパシタ６２の充電期間中に回路１０により消費されるエネルギーを反映する。トランジスタＮ３は、例えば、そのゲート端子を、クロック信号ＣＬＫを受信するように接続させてもよい。本発明の好適な実施形態においては、出力電圧Ｖａを、トランジスタＰ１、Ｐ２、Ｎ１、Ｎ２が、導通時に、それぞれの飽和領域における動作を保証する値よりも下に維持することを、確実にすることが望まれる。当業者によって、このような動作条件は、容易に理解され、したがって、その後に特定の適用に適合できるであろう。
【００５０】
ここで図５を参照すると、活動モニタ２０ａ〜２０ｅの出力は、ハミング距離（Humming distance）のアナログ計算を、回路１０の現在のロジック状態と、その次のロジック状態の間で行なう。当業者に知られるように、このハミング距離は、回路１０の平均電力消費に相互関連付けされる。
【００５１】
本発明の１つのさらなる利点は、活動モニタ２０ａ〜２０ｅが、また、フリップフロップ１２の端子にて起こり得るスイッチングの過渡事象（transients）に応じて、電流を生成することである。したがって、回路１０の出力端子５０における、結果として生じる電圧Ｖａの波形は、クロックごとのその過渡的な電力消費も、より正確に反映する。
【００５２】
回路１０は、図７に示されるように、説明の容易さおよび簡潔さのために、ロジック７０と活動モニタ７２の２つの別個の部分に分けられている。ロジック７０は、それぞれ、先の各図内のすべての好適なフリップフロップ１２および組み合わせロジック１４，１６を表しており、一方で、活動モニタ７２は、それぞれ、先の各図内のすべての好適な個別モニタ２０を表している。また、図７では、コントローラ７４が示されている。
【００５３】
コントローラ７４は、活動モニタ７２から出力電圧Ｖａを受信し、これに応じて、ロジック７０を、全体または一部のいずれかにおいて、例えばその供給電圧、クロック周波数、および／またはしきい値電圧を、単独であるか様々な組み合せであるかにかかわらず、変えることにより、操作可能に制御する。
【００５４】
当業者には、図７に示されるブロック図は、大きなＩＣの場合、ＩＣの様々な領域全体に複製および分配できることが、理解されるであろう。例えば、ロジック７０は、３つの別個の要素である処理、メモリ、入力／出力を有してもよく、これら３つの要素のそれぞれは、その専用のロジック、活動モニタおよび／またはコントローラを持つことができる。このような変化を開示することで、他のこのような組み合わせも、容易に想像可能であり、したがって、必要に応じて、個別の特定の必要性を満たすように適合させることができる。
【００５５】
当業者によって理解されるであろう、本発明の他の利点は、電力消費の予測に関するものである。フリップフロップ１２の動作により、各活動モニタ２０のそれぞれの出力信号Ｖａは、各クロック期間に対する、回路の実際の電力消費の基準を提供する。各出力信号Ｖａは、２つの有用な情報を含む。第１に、過去に関する情報、すなわち関連するフリップフロップにおいて、現在のクロック期間中に、何回の状態変化が起こったか、を提供し、第２に、未来に関する情報、すなわちフリップフロップに関係する何回の状態変化が、次のクロック期間に生成されるか、を提供する。したがって、活動モニタの出力信号Ｖａは、実際に、将来の電力消費、すなわちその関連する回路のスイッチング活動を、それが起こる前に予測する。さらに、所定の電力レベルが超えられそうな、または超えられた状況を、検出することができる。このような予測から、性能を上げるための事前の反応および何らかの戦略の開始が可能となる。
【００５６】
本発明に関連する他の利点は、活動モニタ２０の出力信号Ｖａが、入力データの所定のストリームに対するグリッチング活動（glitching activity）を含む電力消費の波形プロファイルまたはサインを提供する、という事実に由来する。図示されていないものの、このような波形プロファイルまたはサインを、次いでリアルタイムまたはそれ以外のいずれかで分析し、例えば、当該の回路のロジック挙動を変化させないが、潜在的に危険となり得る何らかの異常を、決定してもよい。さらに、例えば所定の命令またはルーチンの実行などの、活動モニタの出力信号Ｖａを記録し、このデータを平均化することにより、このイベントに関連する平均電力消費の基準を、確立することができる。この情報を、次いでハイレベルコントローラ７４により使用し、例えば、ハードウェアおよび／またはソフトウェアのいずれかと共に、状況に応じて回路を制御することができる。ハードウェア制御は、通常、異なる回路またはその部分をインおよび／またはアウトにスイッチする形を取ることができる。ソフトウェア制御は、通常、代わりの命令またはルーチンの実行の形を取ることができる。
【００５７】
図８を参照すると、このブロック図は、バッファ８０と、活動モニタ７２と、サンプルおよびホールド増幅器８２と、電圧調整器８４と、ロジック７０とを示している。
【００５８】
入力データは、ＦＩＦＯメモリ８０内でバッファされ、ＦＩＦＯメモリ８０は、活動モニタ７２およびロジック７０に、操作可能な接続を有する。ＦＩＦＯメモリは、入力データストリームを、これらがロジック回路７０に加えられる前に受信する。本実施形態において、ＦＩＦＯメモリ８０の目的は、入力データの平均レートを、ロジック７０の処理速度に適合させることである。図示されないが、ＦＩＦＯメモリ８０内の各フリップフロップ、すなわちシフトレジスタは、その固有の活動モニタ２０を含むこともでき、したがって、ＦＩＦＯメモリ８０の活動をモニタすることにより、ロジック７０の将来の活動に関する情報を得ることができ、このことは、電力消費の制御およびモニタにおいて有利である。
【００５９】
各クロック期間中に、活動モニタ７２からの出力信号Ｖａが、サンプリングされ、サンプルおよびホールド増幅器８２によって、より適切な値へと再調整される。増幅器８２の出力信号Ｖｃは、電力供給調整器８４に印加され、これに応じて、電力供給調整器８４は、ロジック７０の供給電圧ＶＤＤを、信号Ｖｃに基づき、操作可能に増加または減少させる。
【００６０】
図９のブロック図は、マイクロプロセッサ９０と、合計回路９２と、比較器９４と、周波数調整器９６とを備える。
【００６１】
マイクロプロセッサは、Ｎを整数とする一連の機能ユニットＦＵ１〜ＦＵＮを、さらに備える。これらの機能ユニットは、例えばＡＬＵ、乗算器、シフタ、デコーダ等を表し、これらの機能ユニットのそれぞれは、この特定の例において、その固有の対応する活動モニタＡＭ１〜ＡＭＮを有する。活動モニタＡＭ１〜ＡＭＮのそれぞれの出力信号は、その対応する機能ユニットのそれぞれが、所定の期間にわたり活動する基準であり、合計回路９２に供給される。合計回路９２は、活動モニタからのすべての入力信号の合計に対応する出力信号Ｖａを生成する。比較器は、‘しきい値’参照信号を、合計回路の出力信号Ｖａと共に受信し、合計回路９２からの出力信号Ｖａは、しきい値基準信号と比較される。電圧Ｖａで表される、例えばＮクロックサイクルの間に集積された活動が、しきい値電圧信号よりも大きい場合は、比較器の出力電圧信号Ｖｂは、状態を変化させる。比較器９４におけるこの状態変化は、周波数調整器９６によって検出され、周波数調整器９６は、これに対応して、クロック信号ＣＬＫ’を、マイクロプロセッサに対して操作可能に調整し、活動モニタＡＭ１〜ＡＭＮの出力信号に対応する。
【００６２】
図１０のブロック図は、バッファ８０と、活動モニタ７２と、ルックアップ表を含むアナログ−デジタル変換器１００と、３つのスイッチＳ１〜Ｓ３と、ロジック７０とを示している。
【００６３】
入力データは、活動モニタ７２およびロジック７０への操作可能な接続を有するＦＩＦＯメモリ８０内でバッファされる。活動モニタ７２からの出力信号Ｖａは、ルックアップ表も含むアナログ−デジタル変換器１００に供給され、デジタルワードに変換される。デジタルワードは、次いで、ルックアップ表に入力され、ルックアップ表は、スイッチＳ１、Ｓ２およびＳ３それぞれの最良の状態の条件を決定する。この特定の実証例では、各スイッチＳ１、Ｓ２およびＳ３は、それぞれロジック７０に、２つの可能な値、トランジスタしきい値電圧ハイＶｔＨまたはトランジスタしきい値電圧ローＶｔＬ、クロック周波数ハイＦＨまたはクロック周波数ローＦＬ、および供給電圧ハイＶＤＤＨまたは供給電圧ローＶＤＤＬを供給する。したがって、測定された活動レベルＶａおよびルックアップ表の内容に準じて、供給電圧、トランジスタしきい値電圧および／またはクロック周波数の最良の組み合わせを、スイッチＳ１〜Ｓ３を介して選択することができる。明らかに、上の記述から、スイッチＳ１〜Ｓ３のいずれかまたはすべてが、示された３つ以上の個別のレベルを有することが明白である。
【００６４】
要約すると、本発明で開示される活動モニタは、例えば、平均の電力消費に対する電子回路の動作条件を固定することが便利でないか、または可能である適用において、有用となることができ、平均電力消費は、シミュレーションおよび／または統計的分析から、大部分を決定することができる。このような場合、変化する消費にこれらの条件を適合させる制御方式を用いる本発明の主題が、有利となる。さらに、回路の電力消費および計算上の必要性が、しばしば、入力データまたは実行されるアルゴリズムに強く依存し、このような場合、速度と電力の間での何らかの交換も、有利である。
【００６５】
本発明によると、活動モニタの出力信号は、クロックサイクルごと、またはＮを整数とするＮクロックサイクルごとに、電力消費に関する情報を提供する。得られる情報は、一定の状況では２倍となる。シーケンシャルロジックの性質により、情報は、過去から、および未来に向けて、収集することができる。過去からは、このような情報は、現在のクロックサイクルまたは過去のＮクロックサイクルの間に生成された、フリップフロップ入力におけるロジック状態変化の数に関係する。このような情報は、将来の電力消費に関して予測を行なうこと可能にするため、有益かつ有利である。将来に対し、このような情報は、次のクロック期間に生成されるフリップフロップ出力におけるロジック状態変化の数に関係する。この将来のロジック変化を予測できる能力は、電力消費、性能または両方を向上させる場合に有利である。
【００６６】
なお、上述の実施形態は、本発明を、限定よりもむしろ例示するものであり、また、当業者は、多くの代わりの実施形態を、添付の特許請求の範囲から逸脱することなく、設計可能であることに留意されたい。特許請求の範囲においては、括弧内に置かれるどのような参照符号も、特許請求の範囲の限定としては解釈されないものとする。“備える”等の単語は、どの請求項または明細書全体において列記されるもの以外の要素またはステップの存在を除外しない。単一の要素の参照は、このような要素の複数の参照を除外せず、その逆も同様である。本発明は、いくつかの個別の要素を備えるハードウェアによって、および適切にプログラムされたコンピュータによって実施してもよい。いくつかの手段を列挙する装置請求項においては、これら手段のいくつかは、１つかつ同一のハードウェアの製品によって具体化してもよい。ある種の基準が、互いに異なる従属請求項において述べられる、という単なる事実は、これらの基準の組み合わせを効果的に使用することができない、ということを示すものではない。
【図面の簡単な説明】
【００６７】
本発明の原理の非限定的な例として意図される図面において、
【図１】図１は、典型的な最先端のデジタル回路を示している。
【図２】図２は、本発明に係る電子回路の概略的な実施形態を示している。
【図３】図３は、本発明に係る電子回路の他の実施形態を示している。
【図４】図４は、本発明に係る電子回路のさらに他の実施形態を示している。
【図５】図５は、本発明に係る電子回路が組み込まれた図１のデジタル回路を示している。
【図６ａ】図６ａは、従来技術のトランスコンダクタを示している。
【図６ｂ】図６ｂは、従来技術のトランスコンダクタを示している。
【図７】図７は、本発明に係る電子回路の基本的なシステムブロック図を示している。
【図８】図８は、本発明に係る電圧制御に用いられる電子回路のブロック図を示している。
【図９】図９は、本発明に係る周波数制御に用いられる電子回路のブロック図を示している。
【図１０】図１０は、本発明に係る電力消費の制御に用いられる電子回路の概略的なブロック図を示している。
【図１】
2007502477.tif 000005
【図２】
2007502477.tif 000006
【図３】
2007502477.tif 000007
【図４】
2007502477.tif 000008
【図５】
2007502477.tif 000009
【図６ａ】
2007502477.tif 000010
【図６ｂ】
2007502477.tif 000011
【図７】
2007502477.tif 000012
【図８】
2007502477.tif 000013
【図９】
2007502477.tif 000014
【図１０】
2007502477.tif 000015
【国際調査報告】
2007502477.tif 000016
2007502477.tif 000017
2007502477.tif 000018