(57)【要約】  システムは、電圧検知モジュールと周波数調節モジュールとを含む。電圧検知モジュールは、回路ブロックの供給電圧を検知し、供給電圧が第１の電圧以下である場合、第１の制御信号を生成し、供給電圧が第２の電圧の所定の範囲内にある場合、第２の制御信号を生成する。周波数調節モジュールは、電力投入再設定の後に初めて供給電圧が回路ブロックに供給された場合、及び、第１の制御信号または第２の制御信号が受信された場合に、回路ブロックに供給されるクロック信号の周波数を、回路ブロックの通常の動作周波数未満の値に設定する。【選択図】図１Ａ
2013511096.tif 000002
【特許請求の範囲】
【請求項１】
回路ブロックの供給電圧を検知し、前記供給電圧が第１の電圧以下である場合、第１の制御信号を生成し、前記供給電圧が第２の電圧の所定の範囲内にある場合、第２の制御信号を生成する電圧検知モジュールと、
（ｉ）電力投入再設定の後に初めて前記供給電圧が前記回路ブロックに供給された場合、及び、（ｉｉ）前記第１の制御信号または前記第２の制御信号が受信された場合に、前記回路ブロックに供給されるクロック信号の周波数を、前記回路ブロックの通常の動作周波数未満の値に設定する周波数調節モジュールと
を備えるシステム。
【請求項２】
前記周波数調節モジュールは、（ｉ）前記第１の制御信号または前記第２の制御信号が受信された後に所定の時間が経った場合、及び、（ｉｉ）前記第２の制御信号が受信された場合に、前記回路ブロックに供給される前記クロック信号の周波数を、前記通常の動作周波数に設定する請求項１に記載のシステム。
【請求項３】
前記第１の電圧は前記第２の電圧より低い請求項１に記載のシステム。
【請求項４】
前記周波数調節モジュールは、前記第１の制御信号が再度受信されると、前記周波数を、前記通常の動作周波数から前記通常の動作周波数未満の値に切り替え、前記第２の制御信号が再度受信されると、前記周波数を、前記通常の動作周波数未満の値から前記通常の動作周波数に切り替える請求項１に記載のシステム。
【請求項５】
回路ブロックの供給電圧を検知し、前記供給電圧が所定の電圧以下である場合、第１の制御信号を生成し、前記供給電圧が前記供給電圧の所定の範囲の定格値以内である場合、第２の制御信号を生成する電圧検知モジュールと、
前記第１の制御信号が受信されると、前記回路ブロックに供給されるクロック信号の周波数を、前記回路ブロックの通常の動作周波数未満の値に設定して、前記第２の制御信号がアサートされると、前記クロック信号の周波数を前記通常の動作周波数に設定する周波数調節モジュールと
を備えるシステム。
【請求項６】
前記第１の電圧は前記第２の電圧より低い請求項５に記載のシステム。
【請求項７】
前記周波数調節モジュールは、前記第１の制御信号が再度受信されると、前記周波数を、前記通常の動作周波数から前記通常の動作周波数未満の値に切り替え、前記第２の制御信号が再度受信されると、前記周波数を、前記通常の動作周波数未満の値から前記通常の動作周波数に切り替える請求項５に記載のシステム。
【請求項８】
回路ブロックの供給電圧を検知する段階と、
前記供給電圧が第１の電圧以下である場合、第１の制御信号を生成する段階と、
前記供給電圧が第２の電圧の所定の範囲以内である場合、第２の制御信号を生成する段階と、
（ｉ）電力投入再設定の後に初めて前記供給電圧が前記回路ブロックに供給された場合、及び、（ｉｉ）前記第１の制御信号または前記第２の制御信号が受信された場合に、前記回路ブロックに供給されるクロック信号の周波数を、前記回路ブロックの通常の動作周波数未満の値に設定する段階と
を備える方法。
【請求項９】
（ｉ）前記第１の制御信号または前記第２の制御信号が受信された後に所定の時間が経った場合、及び、（ｉｉ）前記第２の制御信号が受信された場合に、前記回路ブロックに供給される前記クロック信号の周波数を、前記通常の動作周波数に設定する段階をさらに備える請求項８に記載の方法。
【請求項１０】
前記第１の電圧は前記第２の電圧より低い請求項８に記載の方法。
【請求項１１】
前記第１の制御信号が再度受信されると、前記周波数を、前記通常の動作周波数から前記通常の動作周波数未満の値に切り替える段階と、
前記第２の制御信号が再度受信されると、前記周波数を、前記通常の動作周波数未満の値から前記通常の動作周波数に切り替える段階と
をさらに備える請求項８に記載の方法。
【請求項１２】
回路ブロックの供給電圧を検知する段階と、
前記供給電圧が所定の電圧以下である場合、第１の制御信号を生成する段階と、
前記供給電圧が前記供給電圧の所定の範囲の定格値以内である場合、第２の制御信号を生成する段階と、
前記第１の制御信号が受信されると、前記回路ブロックに供給されるクロック信号の周波数を、前記回路ブロックの通常の動作周波数未満の値に設定する段階と、
前記第２の制御信号がアサートされると、前記クロック信号の周波数を前記通常の動作周波数に設定する段階と
を備える方法。
【請求項１３】
前記第１の電圧は前記第２の電圧より低い請求項１２に記載の方法。
【請求項１４】
前記第１の制御信号が再度受信されると、前記周波数を、前記通常の動作周波数から前記通常の動作周波数未満の値に切り替える段階と、
前記第２の制御信号が再度受信されると、前記周波数を、前記通常の動作周波数未満の値から前記通常の動作周波数に切り替える段階と
をさらに備える請求項１２に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、コンピューティングデバイスで利用される電力管理システムに係る。
【背景技術】
【０００２】
本願は、２０１０年１１月８日提出の米国特許出願第１２／９４１，５３４号明細書の優先権を請求しており、２００９年１１月１３提出の米国特許仮出願第６１／２６１，１８１号明細書の恩恵を請求している。これら出願の開示の全体をここに参照として組み込むこととする。
【０００３】
ここに記載する背景技術の記述は、概して本開示の文脈を提示する意図からなされている。目下の発明者の、本背景技術セクションに開示されている業績は、開示しなければ出願時には先行技術となりえなかった記述の側面とともに、いずれも、本開示に対する自認した先行技術とは、明示的にも暗示的にもなりえない点を了解されたい。
【０００４】
通常のコンピューティングデバイスは、所定の機能を実行する回路ブロックを含んでいる。任意の時点でコンピューティングデバイスが実行する機能に応じて、回路ブロックもその時点で利用されたりされなかったりする。しかし、利用されていない回路ブロックも電力消費を続ける。電力ゲーティング及び／またはクロックゲーティングは、利用されていない回路ブロックが消費する電力を制御するために利用される技術の一つである。
【０００５】
電力ゲーティングとは、リーク電力を低減させるための技術である。利用されていない回路ブロックを一時的に遮断して（つまり停止する）、全リーク電力を低減させる、というものである。一時的な遮断は、低電力モードまたは非アクティブモードと称されている。回路ブロックが動作を再開する必要がでたときには、これら回路ブロックを起動する（つまり、アクティブモードにアクティベートする）。これら２つのモードは、電力パフォーマンスを最大化するよう、且つ、速度パフォーマンスに対する影響を最小化するように、適時に適当な方法で切り替えられる。
【０００６】
クロックゲーティングとは、同期回路で利用される節電技術である。同期回路においては、クロック配信ネットワークが、共通点からの１以上のクロック信号を、これら１以上のクロック信号を利用する全ての要素に対して配信する。ツリー構造を形成するクロック配信ネットワークは、クロックツリーと称される。
【０００７】
節電するために、クロックゲーティング論理をクロックツリーに追加する。クロックゲーティング論理により、各回路へのクロック供給を停止して、これら回路のフリップフロップ（flop-flop）が状態遷移しないようにする。フリップフロップの切り替えによって、さもなくば消費されてしまう電力を略ゼロにして、リーク電流のみを生じさせる。
【０００８】
一般的には、クロックゲーティング論理を利用しない場合には、マルチプレクサ等の回路要素を、クロック配信制御に利用することができる。しかし、これらの回路要素を利用すると、さらなる制御論理を利用する必要がでてくる。これら回路要素及び関連する制御論理を利用することで、さらに電力が消散され、チップ内のさらなる領域を占有してしまう。
【０００９】
対照的に、マルチプレクサ及び関連する制御論理などの回路要素と比べて、クロックゲーティング論理はあまり電力を消散させず、チップ上で利用する領域も小さい。従って電力及びチップ領域の節減という目的からは、マルチプレクサ及び関連する制御論理の代わりにクロックゲーティングを利用するとよいと思われる。
【発明の概要】
【００１０】
システムは、電圧検知モジュールと周波数調節モジュールとを含む。電圧検知モジュールは、回路ブロックの供給電圧を検知し、供給電圧が第１の電圧以下である場合、第１の制御信号を生成し、供給電圧が第２の電圧の所定の範囲内にある場合、第２の制御信号を生成する。周波数調節モジュールは、電力投入再設定の後に初めて供給電圧が回路ブロックに供給された場合、及び、第１の制御信号または第２の制御信号が受信された場合に、回路ブロックに供給されるクロック信号の周波数を、回路ブロックの通常の動作周波数未満の値に設定する。
【００１１】
他の態様として、周波数調節モジュールは、第１の制御信号または第２の制御信号が受信された後に所定の時間が経った場合、及び、第２の制御信号が受信された場合に、回路ブロックに供給されるクロック信号の周波数を、通常の動作周波数に設定する。
【００１２】
他の態様として、周波数調節モジュールは、第１の制御信号が再度受信されると、周波数を、通常の動作周波数から通常の動作周波数未満の値に切り替え、第２の制御信号が再度受信されると、周波数を、通常の動作周波数未満の値から通常の動作周波数に切り替える。
【００１３】
また他の態様として、システムは、電圧検知モジュールと周波数調節モジュールとを含む。電圧検知モジュールは、回路ブロックの供給電圧を検知し、供給電圧が所定の電圧以下である場合、第１の制御信号を生成し、供給電圧が供給電圧の所定の範囲の定格値以内である場合、第２の制御信号を生成する。周波数調節モジュールは、第１の制御信号が受信されると、回路ブロックに供給されるクロック信号の周波数を、回路ブロックの通常の動作周波数未満の値に設定して、第２の制御信号がアサートされると、クロック信号の周波数を通常の動作周波数に設定する。
【００１４】
他の態様として、周波数調節モジュールは、第１の制御信号が再度受信されると、周波数を、通常の動作周波数から通常の動作周波数未満の値に切り替え、第２の制御信号が再度受信されると、周波数を、通常の動作周波数未満の値から通常の動作周波数に切り替える。
【００１５】
また他の態様として、方法は、回路ブロックの供給電圧を検知する段階と、供給電圧が第１の電圧以下である場合、第１の制御信号を生成する段階と、供給電圧が第２の電圧の所定の範囲以内である場合、第２の制御信号を生成する段階とを備える。方法はさらに、電力投入再設定の後に初めて供給電圧が回路ブロックに供給された場合、及び、第１の制御信号または第２の制御信号が受信された場合に、回路ブロックに供給されるクロック信号の周波数を、回路ブロックの通常の動作周波数未満の値に設定する段階とを備える。
【００１６】
他の態様として、方法は、第１の制御信号または第２の制御信号が受信された後に所定の時間が経った場合、及び、第２の制御信号が受信された場合に、回路ブロックに供給されるクロック信号の周波数を、通常の動作周波数に設定する段階をさらに備える。
【００１７】
他の態様として、方法は、第１の制御信号が再度受信されると、周波数を、通常の動作周波数から通常の動作周波数未満の値に切り替える段階と、第２の制御信号が再度受信されると、周波数を、通常の動作周波数未満の値から通常の動作周波数に切り替える段階とをさらに備える。
【００１８】
本開示のさらなる用途については、以下の詳細な記載、請求項、及び図面を読むことで明らかとなろう。詳細な記載及び特定の例示は、例示のみを目的としており、本開示の範囲を制限する意図はない。
【００１９】
本開示は、以下の記載及び添付図面を読むことで理解が深まる。
【図面の簡単な説明】
【００２０】
【図１Ａ】回路ブロックのクロック信号をシーケンスにするシステムの機能ブロック図である。
【００２１】
【図１Ｂ】電圧検知モジュールの概略図である。
【００２２】
【図２】回路ブロックのクロック信号をシーケンスにする方法のフローチャートである。
【００２３】
【図３】回路ブロックのクロック信号をシーケンスにする方法のフローチャートである。
【発明を実施するための形態】
【００２４】
以下の記述は本質的に単に例示であり、本開示、その用途または利用を制限する意図はない。明瞭性を期して、図面間で利用される同じ参照番号は類似した要素同士を示している。ここで利用されるＡ、Ｂ、及びＣの少なくとも１つといった言い回しは、論理ＯＲを利用して、論理（ＡまたはＢまたはＣ）を意味することが意図されている。往々にして、方法内の各段階は異なる順序で実行されても、本開示の原理は変わらない。
【００２５】
ここで利用するモジュールという用語は、特定用途向け集積回路（ＡＳＩＣ）、電子回路、統合論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、コードを実行するプロセッサ（共有、専用、またはグループ）、その他の、記述する機能の提供に適したコンポーネント、または、これらの一部または全ての組み合わせ（例えばシステムオンチップ等）のことであったり、これらの一部であったり、これらを含んだりするものであってよい。モジュールという用語は、プロセッサが実行するコードを格納するメモリ（共有、専用、またはグループ）を含んでもよい。
【００２６】
上述したようなコードという用語は、ソフトウェア、ファームウェア、及び／または、マイクロコードを含んでよく、プログラム、ルーチン、機能、クラス、及び／または、オブジェクトのことであってよい。上述したような共有という用語は、複数のモジュールからの一部または全てのコードが、単一の（共有）プロセッサで実行されることを示している。加えて、複数のモジュールからの一部または全てのコードが、単一の（共有）メモリで格納できることを示している。上述したようなグループという用語は、単一のモジュールからの一部または全てのコードを、一群のプロセッサにより実行することができることを示している。加えて、単一のモジュールからの一部または全てのコードを、一群のメモリを用いて実行することができることを示している。
【００２７】
ここに記載する装置及び方法は、１以上のプロセッサが実行する１以上のコンピュータプログラムにより実装することができる。コンピュータプログラムには、持続性有形コンピュータ可読媒体に格納されるプロセッサ実行可能命令が含まれる。コンピュータプログラムは格納データを含んでいてもよい。持続性有形コンピュータ可読媒体の、制限ではない例には、不揮発性メモリ、磁気ストレージ、及び光ストレージが含まれる。
【００２８】
コンピューティングデバイスがデータを処理する速度は、コンピューティングデバイスの供給電圧及び動作周波数の組み合わせに依存する。一般的には、供給電圧が高くなると、動作周波数も高くてよくなる。また往々にして、コンピューティングデバイスの供給電圧（ひいては電力消散量）と、コンピューティングデバイスの動作周波数との間には相殺関係が存在する。動作電力を低減するためには、供給電圧を、任意の動作周波数で必要となる最小の値に設定するという方法がよく行われている。しかしこうすると、電力供給の妨害のためのマージンがなくなる。
【００２９】
さらに動作電力を低減させるためには、電力ゲーティング及び／またはクロックゲーティングにより、数多くの回路ブロックを遮断する方法がある。しかし、電力ゲーティング及び／またはクロックゲーティングによる電力消費の変調により、供給電圧が大きく変化する場合がある。過渡動作（transient operations）においては、供給電圧の最小値により、最大動作周波数が決定される。
【００３０】
回路ブロックの電力投入／停止中の電圧過渡に対するマージンを提供するためには、しばしば、供給電圧を少し高めの電圧に設定するという方法がとられる。しかしこうすると、デバイスのベースライン電力消散量が増加して、電力ゲーティング及び／またはクロックゲーティングが提供する節電効果に悪影響がでる場合がある。
【００３１】
殆どの回路ブロックは、徐々に起動することで、電力妨害を最小限に抑えている。しかし、ある回路ブロックに対する電力妨害は、他のブロックの起動特性によっても生じうる。例えば、電力妨害は、他の回路ブロックが同時に立ち上がったとき、及び／または、幅幅広い速度マージンを有する回路ブロックが徐々に起動されない場合等にも生じうる。
【００３２】
本開示は、回路ブロックが引き起こす電力妨害を監視して、電力妨害に基づいて回路ブロックの動作周波数を調節するシステム及び方法に関する。従って、ここに開示するシステム及び方法によって、最小供給電圧を利用しながらも、積極的且つ広範な電力ゲーティング及び／またはクロックゲーティングが実現される。
【００３３】
特に、電圧検知モジュールを利用することで、回路ブロックの供給電圧を検知することができる。電圧検知モジュールは、供給電圧が所定の電圧以下になると（つまり、低供給条件が検知されると）、第１の制御信号を生成する。電圧検知モジュールは、供給電圧が該供給電圧の所定の範囲の定格値にあるときには（つまり、供給有効条件が検知されると）、第２の制御信号を生成する。
【００３４】
第２の制御信号は、供給電圧が該供給電圧の所定の範囲の定格値にある間は（つまり、供給有効条件が続く限りは）アサートされ続ける。従って第２の制御信号が生成されていない、またはアサートされていないときは、供給無効条件であると示される。一部の実装例では、供給無効条件は、第１の制御信号及び第２の制御信号の両方が生成されないときに示されてよい。
【００３５】
電圧検知モジュールは、供給電圧を検知する際にヒステリシスを利用する。例えば、電圧検知モジュールは、供給電圧が、第２の制御信号が生成される電圧を下回ると生成されてよい。つまり、所定の電圧は、定格供給電圧値より低くてよい。
【００３６】
電力投入クロックシーケンスは、第１の制御信号及び第２の制御信号に基づいて回路ブロックに対して提供される。特に、回路ブロックは、電力投入再設定（power on reset operation）の後に初めて起動されるとき、回路ブロックへのクロックは、第１の制御信号または第２の制御信号を受けて始めて起動される。第１の制御信号または第２の制御信号を受けると、クロックの周波数を、公称目標周波数より低く設定する。例えば、周波数を公称目標周波数を２０％下回る値に設定する。設計を簡潔にするべく、周波数は、公称目標周波数の整数の約数とする（つまり、Ｘを１より大きい整数としたときに、１／Ｘとする）ことができる。次いで、プログラミング可能な期間が経ち、第２の制御信号がアサートされると、周波数を公称目標周波数に設定する。
【００３７】
上述したシーケンスを始めに起動した後はいつでも、以下の自動シーケンスを実行することができる。第１の制御信号が再度検知されると、周波数を自動的に、低いほうの周波数に設定する。この後は、第２の制御信号が再度アサートされると、周波数を公称目標周波数へとリセットする。
【００３８】
一部の実施形態では、回路ブロックが電力投入再設定の後に初めて起動されるときには、初期起動クロックシーケンスを行わずに、自動シーケンスを直に実行することもできる。こうすることで、回路ブロックが電力投入再設定の後に初めて起動されるときには、クロックの周波数を直接、公称目標周波数に設定することができるので、回路ブロックはフルスピードで動作することができるようになる。しかし、供給電圧は、起動等によって降下する場合があり、この場合には、他の回路ブロックも自動シーケンスを実行しはじめることになる。
【００３９】
図１Ａ及び図１Ｂを参照すると、本開示において、回路ブロックをシーケンスするシステム１００が示されている。システム１００は複数の回路ブロック１０２−１、１０２−２、…、及び１０２−Ｎを含む（まとめて回路ブロック１０２と称する）。ここでＮは１より大きい整数である。システム１００はさらに、電源１０４、クロック生成器１０６、電力ゲーティングモジュール１０８、クロックゲーティングモジュール１１０、及び制御モジュール１１２を含む。
【００４０】
加えて、システム１００は、回路ブロック１０２それぞれのクロック信号をシーケンスするクロックシーケンスモジュール１１４−１、１１４−２、…、及び１１４−Ｎを含む（まとめてクロックシーケンスモジュール１１４と称する）。一部の実装例では、回路ブロック１０２がそれぞれクロックシーケンスモジュール１１４を含むこともできる。
【００４１】
電源１０４は、回路ブロック１０２に電力を供給する。クロック生成器１０６は、回路ブロック１０２が利用するクロック信号を生成する。電力ゲーティングモジュール１０８は、電力ゲーティング技術を利用して、回路ブロック１０２に供給する電力を制御する。クロックゲーティングモジュール１１０は、クロックゲーティング技術を利用して、回路ブロック１０２が利用するクロック信号を制御する。クロックゲーティング及び電力ゲーティングを、以下で詳述する。
【００４２】
制御モジュール１１２は、電力ゲーティングモジュール１０８及びクロックゲーティングモジュール１１０を制御する。例えば、制御モジュール１１２は、電力ゲーティングモジュール１０８及びクロックゲーティングモジュール１０１が利用する電力ゲーティングスキーム及びクロックゲーティングスキームを決定する。
【００４３】
クロックシーケンスモジュール１１４−１を詳述する。他のクロックシーケンスモジュール１１４も、クロックシーケンスモジュール１１４−１同様に動作する。従って、繰り返しを避けるために、他のクロックシーケンスモジュール１１４に関しては図１Ａに図示せず、詳述もしない。
【００４４】
クロックシーケンスモジュール１１４−１は、電力投入検知モジュール１１６、電圧検知モジュール１１８、及び、周波数調節モジュール１２０を含む。電力投入検知モジュール１１６は、電力再投入後に初めて電力が回路ブロック１０２−１に供給され始めると、これを検知する。回路ブロック１０２−１は、電源再投入処理後に初めて作動されると、回路ブロック１０２−１へのクロックは、第１の制御信号または第２の制御信号を受信して初めて作動される。電圧検知モジュール１１８は、電力ゲーティングモジュール１０８が回路ブロック１０２に供給する電圧を検知する。第１の制御信号及び第２の制御信号は、電圧検知モジュール１１８により生成される。
【００４５】
具体的には、図１Ｂに示すように、電圧検知モジュール１１８は、第１のコンパレータＣ１と第２のコンパレータＣ２とを含む。第１のコンパレータＣ１は、回路ブロック１１４−１への供給電圧を、所定の電圧Ｖ１と比較する。第２のコンパレータＣ２は、回路ブロック１１４−１への供給電圧を、第２の電圧Ｖ２と比較する。電圧Ｖ２は、所定の範囲の回路ブロック１０２−１の定格供給電圧値内の値を有する。所定の電圧Ｖ１は、回路ブロック１０２−１の定格供給電圧値よりも低い。加えて、所定の電圧Ｖ１は電圧Ｖ２より低い。
【００４６】
第１のコンパレータＣ１は、回路ブロック１０２−１に供給される電圧が、所定の電圧ｖ１以下である場合に、第１の制御信号を生成する。第２のコンパレータＣ２は、回路ブロック１０２−１に供給される電圧が、所定の範囲の回路ブロック１０２−１の定格供給電圧値内である場合に、第２の制御信号を生成する。所定の電圧Ｖ１が、回路ブロック１０２−１の定格供給電圧値より低いことから、第１の制御信号は、第２の制御信号よりも低い電圧で生成される。
【００４７】
所定の電圧Ｖ１を、定格供給電圧値より低い値に設定することで、ヒステリシスが保たれる。具体的には、回路ブロック１０２−１は、電源再投入処理後に初めて作動されると、回路ブロック１０２−１へのクロックは、第１の制御信号または第２の制御信号を受信して初めて作動される。Ｖ１を定格供給電圧値より低く設定することで、電圧検知モジュール１１８は、供給電圧が第２の制御信号が生成された電圧を下回ったときに、第１の制御信号を生成することができるようになる。従って、回路ブロック１０２−１が電源再投入処理後に初めて作動されると、Ｖ１が、定格供給電圧値より低く設定されていることから、回路ブロック１０２−１へのクロック投入は、第１の制御信号または第２の制御信号が受信されないと行われない。従って、所定の電圧Ｖ１を、定格供給電圧値より低い値に設定することで、ヒステリシスが保たれる。
【００４８】
図１Ａでは、周波数調節モジュール１２０が、クロックゲーティングモジュール１１０が回路ブロック１０２−１に供給するクロックの周波数を調節する。周波数調節モジュール１２０は、電力ゲーティングモジュール１０８から回路ブロック１０２−１に供給する電圧の値に応じて、クロックの周波数を調節する。周波数調節モジュール１２０は、第１の制御信号及び第２の制御信号に基づいてクロックの周波数を調節する。
【００４９】
周波数調節モジュール１２０は、２段階でクロックの周波数を調節する。第１の段階は、電力再投入処理後に回路ブロック１０２−１に初めて電力が投入されるときの初期クロックシーケンス段階と称される。第２の段階は第１の段階の後に行われ、自動シーケンス段階と称される。
【００５０】
第１の段階では、電力投入再設定の後に回路ブロック１０２−１に初めて電力が供給され始めると、周波数調節モジュール１２０は、回路ブロック１０２−１へのクロック出力を以下のようにして制御する。周波数調節モジュール１２０は、電圧検知モジュール１１８から第１の制御信号または第２の制御信号が受信されるまでは、クロックゲーティグモジュール１１０が受信したクロックを回路ブロック１０２−１に出力しない。第１の制御信号または第２の制御信号が受信されると、周波数調節モジュール１２０は、クロックの周波数を、回路ブロック１０２−１の通常の動作周波数未満の低いほうの周波数に設定する。例えば低いほうの周波数とは、通常の動作周波数の１／Ｘであってよく、ここでＸは１より大きい。
【００５１】
次に、周波数調節モジュール１２０は、所定期間をカウントするタイマーを開始させる。所定の期間はプログラミング可能であり、制御モジュール１１２によりプログラミングすることができる。所定の期間が経つと、周波数調節モジュール１２０は、電圧検知モジュール１１８が第２の制御信号をアサートしたかを判断する。第２の制御信号がアサートされた場合には、周波数調節モジュール１２０は、クロックの周波数を、回路ブロック１０２−１の通常動作周波数に設定する。
【００５２】
後の第２の段階で、周波数調節モジュール１２０は、第１の制御信号及び第２の制御信号を監視する。電圧検知モジュール１１８が第１の制御信号を生成する場合には、周波数調節モジュール１２０は、クロックの周波数を、通常の動作周波数から、低いほうの周波数へと切り替える。逆に、電圧検知モジュール１１８が第２の制御信号を生成する場合には、周波数調節モジュール１２０は、クロックの周波数を、低いほうの周波数から通常の動作周波数へと切り替える。
【００５３】
一部の実装例では、第１の段階を省いてよい。周波数調節モジュール１２０は、電力投入再設定の後に初めて電力が回路ブロック１０２−１に供給され始めたときを含み、全ての時点で、第１の制御信号及び第２の制御信号のみに基づいてクロックの周波数を制御する。従って、制御モジュール１１２は、周波数調節モジュール１２０が利用しているタイマー及び電力投入検知モジュール１１６に対して電力をディセーブルにする。
【００５４】
電力投入再設定の後に初めて電力が回路ブロック１０２−１に供給され始めると、周波数調節モジュール１２０は、電圧検知モジュール１１８から第１の制御信号または第２の制御信号のいずれかを受信することができる。第１の制御信号が受信された場合には、周波数調節モジュール１２０は、クロックの周波数を、回路ブロック１０２−１の、低いほうの周波数に設定する。これと反対に、第２の制御信号が受信された場合には、周波数調節モジュール１２０は、クロックの周波数を、回路ブロック１０２−１の通常の周波数に設定する。
【００５５】
続いて、電圧検知モジュール１１８から第１の制御信号が受信されるたびに、周波数調節モジュール１２０は、通常の動作周波数から、低いほうの周波数へと、クロックの周波数を切り替える。逆に、電圧検知モジュール１１８から第２の制御信号が受信されるたびに、周波数調節モジュール１２０は、低いほうの周波数から通常の動作周波数へと、クロックの周波数を切り替える。
【００５６】
図２を参照すると、回路ブロック（Ｎ≧１）のクロックをシーケンスする方法２００が示されている。制御は２０２から始まる。２０４で、制御は、回路ブロックＮに電源が投入されたかを判断する。制御は、回路ブロックＮに電力が投入されるまで待つ。回路ブロックＮに電力が投入されると、制御は、２０６で、第１の制御信号か第２の制御信号かが受信されたか、判断する。制御は、第１の制御信号または第２の制御信号が受信されるまで待つ。第１の制御信号または第２の制御信号が受信されると、制御は回路ブロックＮに対してクロックを作動させ始める（２０８）。
【００５７】
２１０で、制御は、クロックの周波数を、回路ブロックＮの通常の動作周波数より低い周波数（低いほうの周波数）に設定する。２１２で、制御は、低いほうの周波数にクロックの周波数が設定されてから所定の期間が経ったかを判断する。制御は、所定の期間が経つまで待つ。２１４で、制御は、第２の制御信号が受信されたかを判断する。制御は、第２の制御信号が受信されるまで待つ。第２の制御信号が受信されると、制御は、クロックの周波数を、通常の動作周波数に設定する（２１６）。
【００５８】
２１８で、制御は、第１の制御信号を再度受信したかを判断する。制御は、第１の制御信号を再度受信するまで待つ。第１の制御信号を再度受信すると、制御は、クロックの周波数を、再度、低いほうの周波数へと設定する。この後に制御は２１４に戻る。
【００５９】
図３を参照すると、本開示における、回路ブロック（Ｎ≧１）のクロックをシーケンスする方法３００が示されている。制御は３０２から始まる。３０４で、制御は、回路ブロックＮに電力が投入されたかを判断する。制御は、回路ブロックＮに電力が投入されるまで待つ。回路ブロックＮに電力が投入されると、制御は、３０６で、第１の制御信号か第２の制御信号かが受信されたかを判断する。制御は、第１の制御信号か第２の制御信号かが受信されるまで待つ。第１の制御信号または第２の制御信号が受信されると、制御は回路ブロックＮに対してクロックを作動させ始める（３０８）。
【００６０】
３１０で、第２の制御信号が受信されると、制御は、クロックの周波数を通常の動作周波数に設定する。また、第１の制御信号が受信された場合には、制御は、クロックの周波数を、通常の動作周波数より低い周波数に設定する。
【００６１】
後の３１２で、制御は、クロックの周波数が通常の動作周波数に設定された後に第１の制御信号が再度受信されたかを判断する。このように第１の制御信号を再度受信すると、制御は、クロックの周波数を、通常の動作周波数から、低いほうの周波数へ切り替える（３１４）。
【００６２】
この後で、または、第１の制御信号が再度受信されない場合には、制御は３１６で、クロックの周波数を、低いほうの周波数に設定してから、第２の制御信号が再度受信されたかを判断する。第２の制御信号が再度受信されると、制御は、クロックの周波数を、低いほうの周波数から、通常の動作周波数へと切り替える（３１８）。この後で、または、第２の制御信号が再度受信されない場合には、制御は３１２に戻る。
【００６３】
本開示の広義の教示は、様々な形態で実装することができる。従って本開示には特定の例しか含まれないかもしれないが、本開示の真の範囲は、これに限定されるべきではない。他の変形例も、図面、明細書、及び以下の請求項を研究することで明らかになる。
【図１Ａ】
2013511096.tif 000003
【図１Ｂ】
2013511096.tif 000004
【図２】
2013511096.tif 000005
【図３】
2013511096.tif 000006
【国際調査報告】
2013511096.tif 000007
2013511096.tif 000008
2013511096.tif 000009
2013511096.tif 000010
2013511096.tif 000011