(57)【特許請求の範囲】
【請求項１】
ソフトウェア命令を実行するように構成されるプロセッサモジュールと、
複数のクロック分周器モジュールであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、
前記プロセッサモジュールからモード選択を受信するように構成されるリソース電力マネジャモジュールであって、前記モード選択は様々な周波数および電圧モードを備える複数の動作モードのうちの１つを示す、
前記リソース電力マネジャモジュールと
を備え、前記リソース電力マネジャモジュールはさらに、前記モード選択に基づいて複数のモードレジスタのうちの１つを選択するように構成され、前記複数のモードレジスタの各々は、（１）前記複数の動作モードのそれぞれ１つに従って前記複数のクロック分周器モジュールを動作させるための制御入力であって、前記複数の動作モードのうちの前記選択された１つに従って動作させるために前記複数のモードレジスタのうちの前記選択された１つからの前記制御入力を前記複数のクロック分周器モジュールのうちの少なくとも２つの制御レジスタに同時に供給するようにするための、制御入力と、（２）前記複数の動作モードのうちの前記それぞれ１つに関連する特定の電圧レベルをシグナリングするための関連する制御入力との両方を備え、ここにおいて、前記複数のモードレジスタのうちの各々は、クロック分周器値、クロックソース選択値およびクロック出力イネーブル値を備える、集積回路。
【請求項２】
前記リソース電力マネジャモジュールによって制御される前記複数のクロック分周器モジュールの動作は前記クロック分周器モジュールの各々のための複数の入力クロック信号のうちの１つの選択を含み、前記クロック分周器モジュールの各々に関する分周値は前記それぞれの出力クロック信号の周波数および前記それぞれの選択された入力クロック信号の周波数の間の比を示す、請求項１に記載の集積回路。
【請求項３】
前記リソース電力マネジャモジュールによって制御される前記複数のクロック分周器モジュールの動作は、前記クロック分周器モジュールの各々の前記出力クロック信号がイネーブルされるかどうかの選択をさらに含む、請求項２に記載の集積回路。
【請求項４】
１つ以上の位相ロックループ（ＰＬＬ）をさらに備え、前記ＰＬＬの各々は１つ以上のクロック信号を生成するように構成され、
ここにおいて前記リソース電力マネジャモジュールは前記ＰＬＬを制御して前記複数の動作モードのうちの前記選択された１つに従って動作させるようにさらに構成され、
ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記ＰＬＬによって生成された前記クロック信号を含む、
請求項２に記載の集積回路。
【請求項５】
前記複数のクロック分周器モジュールを制御して前記複数の動作モードのうちの前記選択された１つに従って動作させることは原子動作である、請求項１に記載の集積回路。
【請求項６】
前記リソース電力マネジャモジュールは電力管理集積回路（ＰＭＩＣ）を制御して前記関連する制御入力に基づいた前記複数の動作モードのうちの前記選択された１つに従って電圧供給源を前記集積回路へ提供させるようにさらに構成される、請求項１に記載の集積回路。
【請求項７】
前記リソース電力マネジャモジュールは、前記複数のクロック分周器モジュールを制御するタイミングに対して前記ＰＭＩＣを制御するタイミングを制御するようにさらに構成される、請求項６に記載の集積回路。
【請求項８】
前記複数の動作モードは前記電圧供給源を同一レベルで提供することを前記ＰＭＩＣにさせる２つの動作モードを含み、前記２つの動作モードの各々は前記それぞれの出力クロック信号を異なる周波数で生成することを前記複数のクロック分周器モジュールのうちの少なくとも１つにさせる、請求項６に記載の集積回路。
【請求項９】
集積回路において動作モードをスイッチングするための方法であって、
複数の周波数−電圧モードのうちの１つを前記集積回路のための新しい動作モードとして選択することであって、前記周波数−電圧モードの各々は前記集積回路のための電圧およびクロックモジュール制御を指定するものである、選択することと、
前記選択された周波数−電圧モードによって指定された前記電圧を電力管理集積回路にシグナリングすることと、
前記選択された周波数−電圧モードに基づいて複数のモードレジスタのうちの１つを選択することであって、前記複数のモードレジスタの各々は、前記複数の周波数−電圧モードのそれぞれ１つによって指定された前記クロックモジュール制御を備える、選択することと、
前記モードレジスタのうちの前記選択された１つからの前記クロックモジュール制御を複数のクロック分周器モジュールに供給することであって、前記クロック分周器モジュールの各々は前記クロックモジュール制御に基づいて出力クロック信号を生成するように構成される、供給することと、
ここにおいて前記モードレジスタのうちの前記選択された１つからの前記クロックモジュール制御は前記複数のクロック分周器モジュールのうちの少なくとも２つの制御レジスタに同時に供給される、ここにおいて、前記複数のモードレジスタのうちの各々は、クロック分周器値、クロックソース選択値およびクロック出力イネーブル値をさらに備える、
を備える、方法。
【請求項１０】
前記複数のクロック分周器モジュールの各々のための前記クロックモジュール制御は複数の入力クロック信号のうちの１つの選択のための１つの信号と、前記それぞれの出力クロック信号の周波数および前記それぞれの選択された入力クロック信号の周波数の間の比を示す分周値のための１つの信号とを含む、請求項９に記載の方法。
【請求項１１】
前記クロック分周器モジュールの各々のための前記クロックモジュール制御は前記それぞれの出力クロック信号がイネーブルされるかどうかを制御するための信号をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記選択された周波数−電圧モードによって指定された位相ロックループ制御を１つ以上の位相ロックループ（ＰＬＬ）にシグナリングすることをさらに備え、前記ＰＬＬの各々は前記位相ロックループ制御に基づいて１つ以上のクロック信号を生成するように構成され、ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記ＰＬＬによって生成された前記クロック信号を含む、請求項１０に記載の方法。
【請求項１３】
前記複数の周波数−電圧モードのうちの１つを選択することはプロセッサによって行われる、請求項９に記載の方法。
【請求項１４】
前記複数の周波数−電圧モードは同一電圧レベルを指定する２つの周波数−電圧モードを含み、前記２つの周波数−電圧モードの各々は前記クロック分周器モジュールのうちの少なくとも１つについて異なるクロックモジュール制御を指定する、請求項１０に記載の方法。
【請求項１５】
ソフトウェア命令を実行するように構成されるプロセッサモジュールと、
複数のクロック分周器モジュールであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、
前記プロセッサモジュールからモード選択を受信するように構成され、前記モード選択は様々な周波数および電圧モードを備える複数の動作モードのうちの１つを示すもので、前記モード選択に基づいて複数のモードレジスタのうちの１つを選択するように構成される、リソース電力を管理するための手段と、
を備え、前記複数のモードレジスタの各々は、（１）前記複数の動作モードのそれぞれ１つに従って前記複数のクロック分周器モジュールを動作させるための制御入力であって、前記複数の動作モードのうちの前記選択された１つに従って動作させるために前記モードレジスタのうちの前記選択された１つからの前記制御入力を前記複数のクロック分周器モジュールのうちの少なくとも２つの制御レジスタに同時に供給するようにするための、制御入力と、（２）前記複数の動作モードのうちの前記それぞれ１つに関連する特定の電圧レベルをシグナリングするための関連する制御入力との両方を備え、ここにおいて、前記複数のモードレジスタのうちの各々は、クロック分周器値、クロックソース選択値およびクロック出力イネーブル値をさらに備える、集積回路。
【請求項１６】
リソース電力を管理するための前記手段によって制御される前記複数のクロック分周器モジュールの動作は前記クロック分周器モジュールの各々のための複数の入力クロック信号のうちの１つの選択を含み、前記クロック分周器モジュールの各々に関する分周値は前記それぞれの出力クロック信号の周波数および前記それぞれの選択された入力クロック信号の周波数の間の比を示す、請求項１５に記載の集積回路。
【請求項１７】
リソース電力を管理するための前記手段によって制御される前記複数のクロック分周器モジュールの動作は前記クロック分周器モジュールの各々の前記出力クロック信号がイネーブルされるかどうかの選択をさらに含む、請求項１６に記載の集積回路。
【請求項１８】
１つ以上の位相ロックループ（ＰＬＬ）をさらに備え、前記ＰＬＬの各々は１つ以上のクロック信号を生成するように構成され、ここにおいてリソース電力を管理するための前記手段は前記ＰＬＬを制御して前記複数の動作モードのうちの前記選択された１つに従って動作させるようにさらに構成され、ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記ＰＬＬによって生成された前記クロック信号を含む、
請求項１６に記載の集積回路。
【請求項１９】
前記複数のクロック分周器モジュールを制御して前記複数の動作モードのうちの前記選択された１つに従って動作させることは原子動作である、請求項１５に記載の集積回路。
【請求項２０】
リソース電力を管理するための前記手段は電力管理集積回路（ＰＭＩＣ）を制御して前記関連する制御入力に基づいた前記複数の動作モードのうちの前記選択された１つに従って電圧供給源を前記集積回路へ提供させるようにさらに構成される、請求項１５に記載の集積回路。
【請求項２１】
リソース電力を管理するための前記手段は前記複数のクロック分周器モジュールを制御するタイミングに対して前記ＰＭＩＣを制御するタイミングを制御するようにさらに構成される、請求項２０に記載の集積回路。
【請求項２２】
前記複数の動作モードは前記電圧供給源を同一レベルで提供することを前記ＰＭＩＣにさせる２つの動作モードを含み、前記２つの動作モードの各々は前記それぞれの出力クロック信号を異なる周波数で生成することを前記複数のクロック分周器モジュールのうちの少なくとも１つにさせる、請求項２０に記載の集積回路。
【請求項２３】
前記複数のモードレジスタのうちの前記選択された１つからの前記制御入力は複数のクロック分周器値を備え、前記クロック分周器値の各々は前記クロック分周器モジュールのそれぞれ１つの分周値を制御し、前記クロック分周器モジュールの各々の前記分周値は前記それぞれの出力クロック信号の周波数およびそれぞれの入力クロック信号の周波数の間の比である、請求項１に記載の集積回路。
【請求項２４】
前記複数のモードレジスタのうちの前記選択された１つからの前記制御入力は複数のクロックソース選択値を備え、前記クロックソース選択値の各々は前記クロック分周器モジュールのそれぞれ１つのための複数の入力クロック信号のうちの１つの選択を制御する、請求項１に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  本発明は、集積回路および電子処理システムに関し、より具体的には、集積回路および電子処理システムにおけるクロックおよび電圧スケーリングの動的制御に関する。
【背景技術】
【０００２】
[0002]  集積回路は、ますます複雑性を増してきている。パフォーマンスと電力との間のトレードオフを改善するために、集積回路は、異なる時間に、異なる周波数および異なる電圧で動作し得る。例えば、集積回路は、高パフォーマンスモードおよび低電力モードを含む様々な周波数−電圧モードで動作し得る。高パフォーマンスモードは、高いクロック周波数および高い供給電圧を使用し、よって高いパフォーマンスを提供するが、それはまた高い電力消費を有する。低電力モードは、低いクロック周波数および低い供給電圧を使用し、よって低い電力消費を提供するが、それはまた低いパフォーマンスを有する。加えて、集積回路内部の様々なブロックは、異なる周波数で、および異なる電圧で動作し得る。
【発明の概要】
【０００３】
[0003]  低レイテンシで、複数の周波数−電圧モード間で集積回路をスイッチングできる動的クロックおよび電圧スケーリングのためのシステムおよび方法が提供される。これらのシステムは、電力管理集積回路（ＰＭＩＣ）、位相ロックループ（ＰＬＬ）、およびクロック分周器を制御できるリソース電力マネジャモジュールを含む。リソース電力マネジャは、周波数−電圧モード間の遷移を制御する。これらシステムおよび方法は、周波数−電圧モード間の遷移が原子動作である動的クロックおよび電圧スケーリングを提供する。加えて、リソース電力マネジャモジュールは、多くのモジュール、例えば、複数のクロック分周器を、並行して制御できる。本発明は、複数の周波数−電圧モード間のより低いレイテンシにより、改善されたシステムパフォーマンスおよび低減されたシステム電力を提供できる。
【０００４】
[0004]  １つの態様では、ソフトウェア命令を実行するように構成されるプロセッサモジュールと、複数のクロック分周器モジュールであって、これらクロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、プロセッサモジュールからモード選択を受信するように構成されるリソース電力マネジャモジュールであって、このモード選択は複数の動作モードのうちの１つを示し、このリソース電力マネジャモジュールは複数のクロック分周器モジュールのうちの少なくとも２つを制御して複数の動作モードのうちの選択された１つに従って動作させるために制御入力を同時に供給するようにさらに構成される、リソース電力マネジャモジュールとを含む、集積回路が提供される。
【０００５】
[0005]  １つの態様では、集積回路において動作モードをスイッチングするための方法であって、複数の周波数−電圧モードのうちの１つを集積回路のための新しい動作モードとして選択することであって、それら周波数−電圧モードの各々は集積回路のためのクロックモジュール制御および電圧を指定するものである、選択することと、選択された周波数−電圧モードによって指定された電圧を電力管理集積回路へシグナリングすることと、選択された周波数−電圧モードによって指定されたクロックモジュール制御を、複数のクロック分周器モジュールへシグナリングすることであって、それらクロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成され、シグナリングすることと、ここにおいて選択された周波数−電圧モードによって指定されたクロックモジュール制御は複数のクロック分周器モジュールのうちの少なくとも２つに同時に供給される、を含む方法が提供される。
【０００６】
[0006]  １つの態様では、ソフトウェア命令を実行するように構成されるプロセッサモジュールと、複数のクロック分周器モジュールであって、これらクロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、プロセッサモジュールからモード選択を受信するように構成される、リソース電力を管理するための手段であって、このモード選択は複数の動作モードのうちの１つを示し、複数のクロック分周器モジュールのうちの少なくとも２つを同時に制御して複数の動作モードのうちの選択された１つに従って動作させるように構成される、リソース電力を管理するための手段と、を含む集積回路が提供される。
【０００７】
[0007]  本発明の他の特徴および利点は、例として、本発明の態様を例示する、以下の説明から明らかになるはずである。
【図面の簡単な説明】
【０００８】
本発明の詳細は、その構造および動作の両方に関し、添付の図面を検討することによってある程度収集されでき（may be gleaned）、ここで同様の参照符号は同様の部分を指す。
【図１】集積回路のためのクロックおよび電圧スケーリングの態様を例示する機能ブロック図である。
【図２】ここに開示される実施形態による、システムオンチップ集積回路のためのクロックおよび電圧スケーリングの態様を例示する機能ブロック図である。
【図３】ここに開示される実施形態による、リソース電力マネジャモジュールの動作の態様を例示する機能ブロック図である。
【図４】ここに開示される実施形態による、リソース電力マネジャモジュールとプロセッサとの間のインタフェースを例示する機能ブロック図である。
【図５】ここに開示される実施形態による、クロックおよび電圧スケーリングを制御するための方法を例示するフローチャートである。
【図６】ここに開示される実施形態による、位相ロックループ制御の態様を例示する機能ブロック図である。
【図７】ここに開示される実施形態による、集積回路において動作モードをスイッチングするためのプロセスのフローチャートである。
【発明を実施するための形態】
【０００９】
[0016]  添付図面に関連して以下に記載される詳細な説明は、様々な構成の１つの説明として意図されたものであり、ここに説明される概念が実施され得る唯一の構成を表すようには意図されていない。詳細な説明は、様々な概念の徹底した理解を提供することを目的として特定の詳細を含む。しかしながら、これらの概念がこれらの特定の詳細なしに実施され得ることは、当業者に明らかであるだろう。いくつかの例では、そのような概念をあいまいにすることを避けるために、周知の構造およびコンポーネントは、簡略化された形態で示される。
【００１０】
[0017]  例示的な集積回路が、図１の機能ブロック図に例示される。この集積回路は、プロセッサモジュール１１０およびコアモジュール１２０を含む。プロセッサモジュール１１０およびコアモジュール１２０は、電力管理ＩＣ（ＰＭＩＣ）１４０によって供給される独立した供給電圧で動作する。ＰＭＩＣは、別個の集積回路であり得る。
【００１１】
[0018]  この集積回路はまた、クロック信号（ＸＯＣＬＫ、例えば、水晶発振器からの）を受信し、そしてプロセッサモジュール１１０およびコアモジュール１２０による使用のためのクロック信号を生成する第１のＰＬＬ１５１および第２のＰＬＬ１５２を含む。ＰＬＬの動作は、生成されるクロック信号の周波数を含め、プロセッサモジュール１１０によって制御される。
【００１２】
[0019]  プロセッサモジュール１１０は、第１のクロック分周器モジュール１１１、第２のクロック分周器モジュール１１２、および第３のクロック分周器モジュール１１３を含む。これらクロック分周器モジュールは、プロセッサモジュール１１０のサブモジュールによる使用のためのクロックを生成する。各クロック分周器モジュールは、クロックモジュール制御に基づいて出力クロックを生成する。各クロック分周器モジュールは、ＸＯＣＬＫおよび複数のＰＬＬの複数の出力のうちから入力クロック信号を選択することと、選択された入力クロック信号を分周値（divide value）で割ることとによって、それの出力クロックを生成できる。従って、クロックモジュール制御は、入力クロック信号の選択を示し、かつ分周値を示す信号を含むことができる。分周値は、出力クロック信号の周波数と選択された入力クロック信号の周波数との間の比を示す。入力クロック信号の、および分周値の選択は、プロセッサモジュール１１０によって制御される。プロセッサモジュール１１０は、ある実施では、３つより多くのクロック分周器モジュールを有し得る、例えば、集積回路は、何百ものクロック分周器モジュールを有し得る。プロセッサモジュール１１０はまた、プログラム可能なプロセッサによって実行されるためのソフトウェア命令を記憶するメモリを含み得る。
【００１３】
[0020]  コアモジュール１２０は、集積回路の他の機能、例えば、グラフィックプロセッサまたは通信モデムを含むことができる。コアモジュール１２０は、第１のクロック分周器モジュール１２１および第２のクロック分周器モジュール１２２を含む。これらクロック分周器モジュールは、プロセッサモジュール１１０のクロック分周器モジュールと似ているが、コアモジュール１２０中のクロック分周器モジュールは、コアモジュール１２０のサブモジュールによる使用のためのクロックを生成する。コアモジュール１２０の分周器モジュールの動作はまた、プロセッサモジュール１１０によって制御される。コアモジュール１２０は、ある実施では、２つよりはるかに多くの（many more than two）クロック分周器モジュールを有し得る。加えて、集積回路は、多くの他の、プロセッサモジュール１１０またはコアモジュール１２０のようなモジュールを含み得る。
【００１４】
[0021]  プロセッサモジュール１１０はまた、ＰＭＩＣ１４０の動作を制御する。例えば、プロセッサモジュールは、プロセッサモジュール１１０によって使用される供給電圧を含む、ＰＭＩＣの出力電圧を制御できる。
【００１５】
[0022]  プロセッサモジュール１１０は、複数の周波数−電圧モード間の変更(changing)を、変更されるべき様々な機能に関連する制御レジスタ（例えば、クロック分周器モジュールに配置される）へ書き込むことによって、制御し得る。周波数−電圧モードのプロセッサモジュール１１０によるソフトウェア制御は、モード間の変更をゆっくり(slow)にする可能性がある。例えば、モード変更は、プロセッサに、何百もの制御レジスタへ書き込みをさせ得、何百マイクロ秒もかかり得る。
【００１６】
[0023]  モード間のゆっくりな変更（レイテンシ）は、集積回路のパフォーマンスを損なわせる可能性がある。例えば、高電力モードから低電力モードへのゆっくりな変更は、集積回路に、遷移の間、追加的なエネルギを消費させる可能性がある。集積回路による低電力モードのエントリが遅延されるので、集積回路は、低電力モードで過ごす時間が減る。別の例としては、低パフォーマンスモードから高パフォーマンスモードへのゆっくりな変更は、集積回路がその機能を行うことにおいて遅らせる可能性がある。集積回路による高パフォーマンスモードのエントリが遅れるので、集積回路は、遷移の間、よりゆっくりと機能する。加えて、周波数−電圧モード変更を行うために使用されるプロセッサのサイクルは、他の機能を行うために使用されることができない。
【００１７】
[0024]  低レイテンシの周波数−電圧モード変更を提供することにより、集積回路のパフォーマンスを改善できる。低レイテンシの周波数−電圧モード変更は、集積回路が低電力モードにある時間の量を増加させることによって、電力消費を低減できる。低レイテンシの周波数−電圧モード変更はまた、高パフォーマンスモードがより早く始まることを可能にすることによって、パフォーマンスを増加させることもできる。
【００１８】
[0025]  加えて、プロセッサモジュールによって行われるモード変更は、集積回路が中間状態にある間にインタラプトされ得る。中間状態は、例えば、新しいモードに設定されたクロック分周器も以前のモードに設定されたクロック分周器も有し得る。元のモードを復元（restore）するか、新しいモードに進むかは、複雑であり得る。従って、原子動作である周波数−電圧モード変更を提供することにより、この複雑性を解決できる。
【００１９】
[0026]  図２は、システムオンチップ（ＳｏＣ）集積回路（ＩＣ）のためのクロックおよび電圧スケーリングの態様を示す機能ブロック図である。図２の集積回路は、説明される差異を除いて、同様に動作する同様の名称のモジュールを有する図１の集積回路と似ている。この集積回路は、例えば、携帯電話で使用され得るモバイルシステムモデムであり得る。この集積回路は、例えば、ＣＭＯＳプロセスを使用して製造され得る。
【００２０】
[0027]  図２の集積回路は、リソース電力マネジャモジュール１３０を含む。リソース電力マネジャモジュール１３０は、ＰＬＬ１５１、１５２、ＰＭＩＣ１４０、およびクロック分周器モジュール１１１−１１３、１２１−１２２の動作を制御する。リソース電力マネジャモジュール１３０は、プロセッサモジュール１１０に接続され、プロセッサモジュール１１０のモード制御モジュール１６０から新しい周波数−電圧モードへスイッチングするためのコマンドを受信できる。リソース電力マネジャモジュール１３０は、例えば、モード制御モジュール１６０からモード選択を受信し得る。モード選択は、複数のモードレジスタのセットのうちの選択された１つからの値が使用されることになることを示し得る。
【００２１】
[0028]  モード制御モジュール１６０は、例えば、モード制御モジュール１６０の機能を行うためにメモリからの命令を実行するプロセッサモジュール１１０を有するソフトウェアモジュールであり得る。モード制御モジュール１６０は、代替的に、プロセッサモジュール１１０とは別個のモジュールであり得る。
【００２２】
[0029]  モード制御モジュール１６０は、例えば、プロセッサモジュール１１０からリソース電力マネジャモジュール１３０への単一のレジスタ書き込みによって、新しいモードへのスイッチングをトリガし得る。するとリソース電力マネジャモジュール１３０は、プロセッサモジュール１１０とのさらなる対話なしに、周波数−電圧モードの変更を行える。リソース電力マネジャモジュール１３０は、例えば、複数のクロック分周器モジュールにおける複数の分周値を同時に変える等、モード変更の複数の部分を行える。これにより、プロセッサによって連続的に行われる時よりも、モード変更がより素早く行われることを可能にできる。加えて、プロセッサモジュール１１０は続いて、リソース電力マネジャモジュール１３０がモード変更を行う間、他のタスクを行える。さらに、モード変更動作は、プロセッサ割り込み（processor interrupt）にさらされない原子動作であることができる。モード変更動作が原子動作である時、モード変更は、一旦それが始められると完了されることになる。従って、集積回路は、部分的に完了したモード変更の下で動作することが可能である必要がなく、また部分的に完了したモード変更からの回復に対処するためのロジックを必要ともしない。
【００２３】
[0030]  図３は、図２の集積回路のリソース電力マネジャモジュール１３０の動作の態様を例示する機能ブロック図である。リソース電力マネジャモジュール１３０は、モードレジスタのセット、例えば、図３に示されるような４つのモードレジスタ（第１のモードレジスタ３１０、第２のモードレジスタ３２０、第３のモードレジスタ３３０、および第４のモードレジスタ３４０）を使用する。複数のモードレジスタの各々は、複数の周波数−電圧モードのうちの１つに関する。例えば、第１のモードレジスタ３１０は、高周波数、高電圧モードに関し得、および第４のモードレジスタ３４０は、低周波数、低電圧モードに関し得る。複数のモードレジスタの各々は、そのモードのための動作条件を設定する制御ビットを含む。４つより多くのまたは４つより少ない周波数−電圧モードを有する集積回路（an integrated circuit with more or less than four frequency-voltage modes）の場合、リソース電力マネジャモジュールは、対応する数のモードレジスタを有することになる。
【００２４】
[0031]  第１のモードレジスタ３１０は、例えば、第１のクロック分周器値３１１、第１のクロックソース選択値３１２、および第１のクロック出力イネーブル値３１３を含む。第１のクロック分周器値３１１、第１のクロックソース選択値３１２、および第１のクロック出力イネーブル値３１３は、集積回路中の複数のクロック分周器モジュールのうちの第１のものを制御するために使用される。第１のクロック出力イネーブル値３１３は、第１のクロックモジュールの出力クロックがイネーブルされるかどうかを制御するために使用される。第１のクロックソース選択値３１２は、ソースクロック（例えば、ＰＬＬ出力クロックまたはＸＯＣＬＫ）のうちの何れが、第１のクロック分周器モジュール（例えば、クロック分周器モジュール１１１）によって使用されるかを制御するために使用される。第１のクロック分周器値３１１は、第１のクロック分周器モジュール（例えば、クロック分周器モジュール１１１）の分周値を制御するために使用される。クロック分周器値、クロックソース選択値、およびクロック出力イネーブル値は、クロックモジュール制御と称され得る。
【００２５】
[0032]  第１のモードレジスタ３１０はまた、集積回路中の他のクロック分周器モジュールの各々に関するクロック分周器値、クロックソース選択値、およびクロック出力イネーブル値を含む。所与のモードレジスタに関して、複数のクロック分周器モジュールのうちの異なるクロック分周器モジュールは、周波数の様々な組み合わせに関して制御され得る。第１のモードレジスタ３１０はまた、ＰＭＩＣの動作を制御するためのＰＭＩＣ制御値３１７（例えば、電圧を設定する）、および、ＰＬＬの動作（例えば、周波数を設定する）を制御するためのＰＬＬ制御値３１８を含む。ＰＭＩＣ制御値はまた、ＰＭＩＣ制御と称され得、ＰＬＬ制御値はまた、位相ロックループ制御と称され得る。他のモードレジスタは、他のモードに関する対応する制御値を含む。
【００２６】
[0033]  モードレジスタにおける値は、ハードウェアリセットによってある特定の値に設定され得る。これらの値はまた、初期化プロセス（例えば、ＰＲＯＭからの）によって初期化され得る。モードレジスタにおける値はまた、ある実施形態では、プロセッサモジュールによって設定され得る。プロセッサモジュールは、例えば、新しい値を関連するモードレジスタに書き込みすることによって、複数のモードのうちの１つを再定義し得る。ある実施形態では、複数のモードレジスタのうちのあるサブセットのみが、プロセッサモジュールによって書き込み可能であり得る。
【００２７】
[0034]  集積回路に含まれる周波数−電圧モードの数は、設計トレードオフである可能性がある。モード数がより多くなれば、それらモードが、集積回路の様々な動作条件に厳密に適合される（closely tailored to）ことが可能になり得る。多数のモードはまた、回路複雑性を増加させる。集積回路のあるブロックがより高い周波数で動作する時、それはまた、より高い電圧で動作することを必要とする。しかしながら、そのブロックは、より低い周波数およびより高い電圧で動作ができる。電圧の変更は一般に、周波数の変更に比べてゆっくりである。集積回路は、１つ以上の、クロック周波数が異なるが同じ電圧を使用する周波数−電圧モードセットを、含み得る。集積回路は、同じ電圧を使用する複数のモードのセット中の複数のモード間で非常に迅速に変わることができる。これにより、例えば、それらモードが短時間使用される時、改善された電力パフォーマンストレードオフを提供できる。加えて、いくつかのレジスタハードウェアは、複数のモード間で共有され得る。
【００２８】
[0035]  周波数−電圧モードが変わる時、モード選択信号は、選択されたモードに対応するモードレジスタから値を選択するようにセレクタ３４１を制御する。例えば、リソース電力マネジャモジュール１３０は、モード選択信号を制御し得る。代替的に、モード制御モジュール１６０が、モード選択信号を供給できる。選択された値は、リソース電力マネジャモジュール１３０によって制御される様々なモジュールへ供給される。例えば、図３に例示されるように、選択されたクロックイネーブル値、選択されたクロック分周器値、および選択されたクロックソース選択値は、クロック分周器モジュール３５１のうちの１つ（例えば、クロック分周器モジュール１１１または他のクロック分周器モジュール１１２、１１３、１２１、１２２のうちの１つ）へ供給される。それら値は、例えば、クロック分周器モジュール３５１中のレジスタへ供給され得る。クロック分周器モジュール３５１は、供給された制御信号を使用して、それの出力クロックｃｌｋ＿ｏｕｔを生成する。図３には例示されていないが、集積回路は、セレクタ３４１によって供給される制御信号を有する多くの追加的なクロック分周器モジュールを有することになる。セレクタ３４１からの制御信号はまた、ＰＭＩＣおよびＰＬＬへ供給される。
【００２９】
[0036]  リソース電力マネジャモジュールは、それの制御信号を、（例えば、クロック分周器モジュール１１１−１１３、１２１−１２２、ＰＬＬ１５１、１５２、およびＰＭＩＣ１４０のような）リソース電力マネジャモジュールによって制御されるモジュールへ、様々な方法で供給し得る。例えば、制御信号は、並行して、リソース電力マネジャモジュールによって制御される全てのモジュールへ供給され得る。代替的に、リソース電力マネジャモジュールは、制御信号のうちのいくつかを連続的に提供し得る。リソース電力マネジャモジュールとリソース電力マネジャモジュールによって制御されるモジュールとの間でインタフェースするために使用されるクロック信号は、複数のモード変更の間でゲートオフされ得る（may be gated off）。
【００３０】
[0037]  リソース電力マネジャモジュール１３０は、新しい制御信号が様々なモジュールへ供給される時を制御する。具体的には、リソース電力マネジャモジュール１３０は、クロック分周器モジュールを制御するタイミングに対してＰＭＩＣを制御するタイミングを制御できる。例えば、周波数（例えば、クロック分周器値）と供給電圧との両方が増加されることになる時、供給電圧が一般に初めに増加されることになり、周波数を変えることがその後に続く。同様に、周波数と供給電圧との両方が減少されることになる時、クロック分周器値が一般に初めに減少し、供給電圧を変えることがその後に続く。加えて、クロック出力についての望まれないタイミングまたはグリッチを避けるために、リソース電力マネジャモジュールは、クロックソース選択を変える前にクロック分周器モジュールの出力をディセーブルし得、新しいソース選択を設定した後に、クロック分周器モジュールの出力を再イネーブルし得る。リソース電力マネジャモジュールは、モード変更のタイミングを制御するために有限状態マシン（a finite state machine）を使用し得る。
【００３１】
[0038]  図４は、ここに開示される実施形態による、リソース電力マネジャモジュール４３０とプロセッサ４６０との間のインタフェースを例示する機能ブロック図である。インタフェースは、例えば、それぞれ、リソース電力マネジャモジュール１３０およびプロセッサモジュール１１０（モード制御モジュール１６０を使用する）である、リソース電力マネジャモジュール４３０およびプロセッサモード制御モジュール４６０と共に、図２の集積回路で使用され得る。図４に例示されるインタフェースは、例示的なものであり、他のインタフェースもまた使用され得る。
【００３２】
[0039]  インタフェースは、周波数−電圧モードをシグナリングする、プロセッサ４６０からリソース電力マネジャモジュール４３０へのＯＰＰ信号を含む。ｏｐ信号は、例えば、図３に例示されるモードレジスタ３１０、３２０、３３０、３４０のうちの１つを示し得る。ＯＰＰ信号が変わる時、リソース電力マネジャモジュール４３０は、その変更をＯＰＰ＿ａｃｋ信号を用いてプロセッサ４６０に肯定応答する。
【００３３】
[0040]  インタフェースはまた、リソース電力マネジャモジュール４３０に周波数−電圧モードの変更の準備をするようトリガできる、プロセッサ４６０からのＯＰＰ＿ｐｒｅｗｏｒｋ信号を含む。リソース電力マネジャモジュール４３０は、プロセッサ４６０に対して、ＯＰＰ＿ｐｒｅｗｏｒｋ＿ａｃｋ信号を用いて、そのＯＰＰ＿ｐｒｅｗｏｒｋ信号を肯定応答する。ｐｒｅ−ｗｏｒｋは、モード変更のための準備である。
【００３４】
[0041]  インタフェースは、実際のモード変更をトリガするために、プロセッサ４６０がリソース電力マネジャモジュール４３０に送るアップデート信号を含む。変更が完了した時、アップデートは、プロセッサ４６０にリソース電力マネジャモジュール４３０から送られるＵｐｄａｔｅ＿ａｃｋ信号で肯定応答される。
【００３５】
[0042]  図５は、ここに開示される実施形態による、クロックおよび電圧スケーリングを制御するためのプロセスを例示するフローチャートである。このプロセスは、図２の集積回路を用いて、図４のインタフェースを使用して行われ得る。例えば、リソース電力マネジャモジュール１３０は、モード制御モジュール１６０から受信される信号を使用してプロセスを行い得る。同様のプロセスは、他の集積回路を用いて、他のインタフェースを使用して行われ得る。例示されるプロセスは、集積回路を、現在の周波数−電圧モードから新しい周波数−電圧モードへ変えるために使用されることができる。
【００３６】
[0043]  例示されたプロセスは、現在の周波数−電圧モードを指定する現在のＯＰＰ５０５で始まる。リソース電力マネジャモジュール１３０がモード制御モジュール１６０からＯＰＰ＿ｐｒｅｗｏｒｋ信号を受信する時、リソース電力マネジャモジュール１３０は、新しいＯＰＰ評価ステップ５１０に入る。これは、集積回路が現在のＯＰＰから新しいＯＰＰへ変わることになることをシグナリングする。ステップ５１０において、プロセスは、新しいＯＰＰによって指定されるクロック分周器に関する入力クロック信号のためのソースをチェックする。新しいＯＰＰにおいて入力クロック信号のうちの１つを供給するために指定された各ＰＬＬに関して、プロセスは、指定されたＰＬＬの状態を評価する。指定されたＰＬＬがオフである場合、指定されたＰＬＬは、新しいＯＰＰのために指定された値に従ってプログラムされる。リソース電力マネジャモジュール１３０は、例えば、指定されたＰＬＬを、そのＰＬＬに関連する制御レジスタに書き込みすることによってプログラムし得る。プロセスは次に、ＰＬＬがそれの新しい状態にロックする（lock in its new state）のを待つ。
【００３７】
[0044]  加えて、新しいＯＰＰにおいて指定されるクロックソース（クロック分周器モジュールへの、またはクロック分周器モジュールに入力クロック信号を供給するＰＬＬへの）は、現在のＯＰＰにおいて稼働していない（not running in）クロックモジュール（例えば、水晶発振器）からのものであり得る。クロックソースが現在稼働していないクロックモジュールからのものである場合、プロセスは、そのクロックモジュールにクロックソースを要求し、クロックソースが稼働されるのを待つ。リソース電力マネジャモジュール１３０は、例えば、クロックモジュールに関連する制御レジスタに、それをイネーブルするために、書き込み得る。
【００３８】
[0045]  プロセスは次に、Ｕｐｄａｔｅステップのための待ち時間（a wait）５２０に入る。リソース電力マネジャモジュール１３０は、ｐｒｅｗｏｒｋの完了をシグナリングするために、ＯＰＰ＿ｐｒｅｗｏｒｋ＿ａｃｋをモード制御モジュール１６０に送る。リソース電力マネジャモジュール１３０は次に、ＯＰＰモード変更を続けるために、Ｕｐｄａｔｅがそれをシグナリングするのを待つ。リソース電力マネジャモジュール１３０が、Ｕｐｄａｔｅ信号を待っている間に追加的なＯＰＰ＿ｐｒｅｗｏｒｋを受信する場合、プロセスは、新しいＯＰＰを再評価するために新しいＯＰＰ評価ステップ５１０に戻る。
【００３９】
[0046]  リソース電力マネジャモジュール１３０がＵｐｄａｔｅ信号を受信する時、プロセスは、ステップ５３０に続く。ステップ５３０において、リソース電力マネジャモジュール１３０は、新しいクロックモジュール制御（例えば、分周値および入力クロック信号選択）をクロック分周器モジュールへ供給する。リソース電力マネジャモジュール１３０は次に、クロック分周器モジュールらが、それらの新しい状態にスイッチングするのを待つ。プロセスは、例えば、ある特定の数のクロックサイクル待ち得る。
[0047]  プロセスは次にステップ５４０に続く。ステップ５４０において、リソース電力マネジャモジュール１３０は、Ｕｐｄａｔｅ＿ａｃｋをモード制御マネジャ１６０にシグナリングする。これは、新しいＯＰＰが施行されている（in effect）ことを示す。プロセスはまた、新しいＯＰＰの値を反映するために、ＯＰＰレジスタをアップデートし得る。
【００４０】
[0048]  リソース電力マネジャモジュール１３０は、例えば、図５のプロセスを行うためにプログラム可能なプロセッサまたは有限状態マシンを使用し得る。ある実施形態では、プロセッサモジュール１１０は、リソース電力マネジャ１３０によって行われるステップをオーバーライドすることが可能であり得る。例えば、リソース電力マネジャモジュール１３０は、プロセッサモジュール１１０に介入（intervene）させるためにプロセスの様々なポイントでプロセッサをインタラプトし得る。
【００４１】
[0049]  図６は、ここに開示される実施形態による、ＰＬＬ制御の態様を例示する機能ブロック図である。ＰＬＬ制御は、図２の集積回路で使用され得る。ＰＬＬは、選択された周波数−電圧モードに関する様々な信号によって制御される。制御信号は、ＰＬＬモード（例えば、オンモード、オフモード、および１つ以上のスタンバイモードを含む）、周波数選択（例えば、ＭおよびＮ分周器値によってシグナリングされる）、入力クロック選択、および出力クロックイネーブルを含むことができる。
【００４２】
[0050]  ＰＬＬ周波数を合成するために使用される分周器値に加えて、ＰＬＬは、出力クロックについての分周器６５３、６５４を含み得る。ＰＬＬ出力クロックについての分周器を使用してそれの周波数を低くすることにより、ＰＬＬ出力クロックを受信するクロック分周器モジュールの設計を単純化できる。例えば、クロック分周器モジュールは、低い電圧にある時、最大周波数で動作する必要がない。電力消費もまた低減され得る。例えば、低い周波数および低い電圧を用いる周波数−電圧モードでは、ＰＬＬ出力クロック分周器を含めることで、クロック分周器モジュールが動作するように設計された最大周波数を、それの供給が低い電圧にある時に、低くできる。同様に、クロックバッファ回路のパフォーマンス要件もまた低減され得る。
【００４３】
[0051]  図６は、ＰＬＬ６５０、第１のクロック分周器モジュール６５１、および第２のクロック分周器モジュール６５２を例示する。図６のＰＬＬ制御が図２の集積回路で使用される時、ＰＬＬ６５０、第１のクロック分周器モジュール６５１、および第２のクロック分周器モジュール６５２は、例えば、それぞれ、ＰＬＬ１５１、クロック分周器モジュール１１１、およびクロック分周器モジュール１２１であり得る。クロック分周器モジュールは、リソース電力マネジャモジュールから制御信号を、それらの分周値と、それらのソース選択と、それらのクロック出力がイネーブルされるかどうかと、を制御するために、受信する。クロックソース選択に関する可能性のあるソースは、ＰＬＬ６５０の２つの出力を含む。
【００４４】
[0052]  図６に例示されるＰＬＬ６５０は、ゲート６５５、６５６によってイネーブルまたはディセーブルされる２つの出力クロックを生成する。ゲート６５５からの第１の出力は、ＯＲゲート６４０からの信号によってイネーブルされる。ゲート６５６からの第２の出力は、ＯＲゲート６４１からの信号によってイネーブルされる。ＯＲゲートは一般に、それぞれの出力を、関連するクロック信号が複数のクロック分周器のうちの１つによって使用されることになる時、イネーブルする。クロック信号が使用される時にのみＰＬＬからの出力クロック信号をイネーブルすることで、電力消費を低減できる。
【００４５】
[0053]  ＯＲゲート６４０は、ＯＲゲートの入力信号のうちの何れかがアクティブである時、ゲート６５５をイネーブルする。第１のクロック分周器モジュール６５１は、ゲート６５５からのＰＬＬクロック信号が第１のクロック分周器モジュール６５１によって選択される時をシグナリングするために、要求信号をＯＲゲート６４０へ供給する。第２のクロック分周器モジュール６５２もまた、ゲート６５５からのＰＬＬクロック信号が第２のクロック分周器モジュール６５２によって選択される時、要求信号をＯＲゲート６４０へ供給する。ＯＲゲート６４０はまた、制御信号ＳＷ０を受信する。制御信号ＳＷ０は、例えば、ＰＬＬ出力クロック信号を、それがクロック分周器モジュールのうちの１つによって使用されない時に、ディセーブルする通常動作（normal operation）をオーバーライドするための、ソフトウェア制御レジスタ値であり得る。第２のゲート６５６は、第１のゲート６５５と同様の方法で機能する。
【００４６】
[0054]  ＰＬＬ出力クロック信号のイネーブルは、ＰＬＬをイネーブルするためにＯＲゲート６４２においてコンバインされる。ＯＲゲート６４２はまた、例えば、プロセッサモジュールおよびリソース電力マネジャモジュールによって供給され得る２つの制御信号ＳＷ２、Ｍ２を受信し得る。ＯＲゲート６４２からのＰＬＬのためのイネーブルはまた、ＰＬＬ６５０への電圧供給源(voltage supply)をイネーブルするためにＯＲゲート６４４へ供給される。電圧供給源イネーブル（voltage supply enable）はまた、制御信号Ｍ４、ＳＷ４によって制御され得る。ＯＲゲート６４２からのＰＬＬのためのイネーブルはまた、発振器イネーブル信号を発生させるためにＯＲゲート６４３へ供給される。発振器イネーブルはまた、制御信号Ｍ３、ＣＬＫ＿ＲＥＱによって制御され得る。
【００４７】
[0055]  図７は、ここに開示される実施形態による、集積回路において動作モードをスイッチングするためのプロセスのフローチャートである。このプロセスは、例えば、図２の集積回路を使用して行われ得る。
[0056]  ステップ７１０において、新しい動作モードが集積回路のために選択される。新しい動作モードは、例えば、モード制御モジュール１６０によって選択され得る。新しい動作モードは、複数の周波数−電圧モードから選択される。周波数−電圧モードの各々は、集積回路に関する動作クロック周波数および電圧を指定する。
【００４８】
[0057]  ステップ７２０において、選択された周波数−電圧モードによって指定された電圧が、電力管理集積回路にシグナリングされる。例えば、リソース電力マネジャモジュール１３０は、新しい電圧にスイッチングするためにＰＭＩＣ１４０へシグナリングし得る。
【００４９】
[0058]  ステップ７３０において、選択された周波数−電圧モードによって指定された周波数が、複数のクロック分周器モジュールにシグナリングされる。例えば、リソース電力マネジャモジュール１３０は、クロック分周器モジュールの新しい出力クロック周波数を（例えば、入力クロック信号選択および分周値を使用して）シグナリングするためにクロック分周器モジュール１１１−１１３、１２１−１２２に関連するレジスタへ書き込み得る。周波数は、クロック分周器モジュールのうちのいくつかまたは全てに同時に提供される。
【００５０】
[0059]  動作モードのスイッチングに関するプロセスは、例えば、追加、省略、並べ替え、または改変（altering）ステップによって修正され得る。例えば、ステップ７３０は、周波数および電圧が減少している時、ステップ７２０の前に行われ得る。加えて、複数のステップが同時に行われ得る。
【００５１】
[0060]  本発明の実施形態は、上で特定の実施形態について説明されたが、異なる数の電圧供給源、異なる数のクロック分周器、および異なる数のＰＬＬを有するものを含む本発明の多くの変形が可能である。加えて、様々な実施形態の特徴は、上述した組み合わせとは異なる組み合わせで組み合わせられ得る。
【００５２】
[0061]  当業者は、ここに開示された実施形態に関連して説明された様々な例示的なブロックおよびモジュールは、様々な形態で実施され得ることを認識するだろう。いくつかのブロックおよびモジュールは、一般にそれらの機能の観点から上述された。そのような機能が、如何に実施されるかは、システム全体に課せられる設計制約に依存する。当業者は、説明された機能性を、各特定のアプリケーションに関して様々な方法で実施できるが、そのような実施の決定は本発明の範囲から逸脱を生じさせるものと解釈されるべきでない。加えて、モジュール、ブロック、またはステップ内の機能のグループ分けは、説明を容易にするためのものである。特定の機能またはステップは、本発明から逸脱することなく１つのモジュールまたはブロックから移動され得る。
【００５３】
[0062]  ここに開示された実施形態に関連して説明された様々な例示的な論理ブロックおよびモジュールは、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、またはここに説明された機能を実施するように設計されたそれらの任意の組み合わせを用いて、実施または行われることができる。汎用プロセッサは、マイクロプロセッサであることができるが、別の方法では、プロセッサは、任意のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであることができる。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、ＤＳＰと１つのマイクロプロセッサ、複数のマイクロプロセッサ、ＤＳＰコアと連携した１つ以上のマイクロプロセッサ、または任意の他のそのような構成との組み合わせとして実施され得る。
【００５４】
[0063]  ここに開示された実施形態に関連して説明されたアルゴリズムまたは方法のステップは、直接的にハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはそれら２つの組み合わせにおいて、具現化され得る。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭ（登録商標）メモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または任意の他の形態の記憶媒体内に存在できる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み出すこと、また、記憶媒体に情報を書き込みできるように、プロセッサに結合され得る。代替えとして、記憶媒体はプロセッサに内蔵され得る。プロセッサおよび記憶媒体は、ＡＳＩＣ内に存在できる。
【００５５】
[0064]  開示された実施形態の上記説明は、当業者が本出願を製造または使用できるように提供されている。これらの実施形態への様々な修正は、当業者には容易に明らかであるだろうし、ここに説明された一般的な原理は、本出願の精神または範囲から逸脱することなく他の実施形態にも適用され得る。従って、ここに提示された説明および図面は、本発明の現在好ましい実施形態を表し、よって、本発明によって広く熟慮される主題を代表するものであることは理解されるべきである。さらに、本出願の範囲は、当業者に自明になり得る他の実施形態を完全に包含すること、および、よって本発明の範囲は添付の特許請求の範囲以外の何れによっても限定されないことは理解されるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ソフトウェア命令を実行するように構成されるプロセッサモジュールと、
複数のクロック分周器モジュールであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、
前記プロセッサモジュールからモード選択を受信するように構成されるリソース電力マネジャモジュールであって、前記モード選択は複数の動作モードのうちの１つを示し、前記リソース電力マネジャモジュールは前記複数のクロック分周器モジュールのうちの少なくとも２つを制御して前記複数の動作モードのうちの選択された１つに従って動作させるために前記制御入力を同時に供給するようにさらに構成される、リソース電力マネジャモジュールと
を備える、集積回路。
［Ｃ２］
前記リソース電力マネジャモジュールによって制御される前記複数のクロック分周器モジュールの動作は複数の入力クロック信号のうちの１つの選択を含み、分周値は前記出力クロック信号の周波数および前記選択された入力クロック信号の周波数の間の比を示す、Ｃ１に記載の集積回路。
［Ｃ３］
前記リソース電力マネジャモジュールによって制御される前記複数のクロック分周器モジュールの動作は前記出力クロック信号がイネーブルされるかどうかの選択をさらに含む、Ｃ２に記載の集積回路。
［Ｃ４］
１つ以上の位相ロックループ（ＰＬＬ）をさらにを備え、前記ＰＬＬの各々は１つ以上のクロック信号を生成するように構成され、
ここにおいて前記リソース電力マネジャモジュールは前記ＰＬＬを制御して前記複数の動作モードのうちの選択された１つに従って動作させるようにさらに構成され、
ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記ＰＬＬによって生成された前記クロック信号を含む、
Ｃ２に記載の集積回路。
［Ｃ５］
前記複数のクロック分周器モジュールを制御して前記複数の動作モードのうちの選択された１つに従って動作させることは原子動作である、Ｃ１に記載の集積回路。
［Ｃ６］
前記リソース電力マネジャモジュールは電力管理集積回路（ＰＭＩＣ）を制御して前記複数の動作モードのうちの選択された１つに従って電圧供給源を前記集積回路へ提供させるようにさらに構成される、Ｃ１に記載の集積回路。
［Ｃ７］
前記リソース電力マネジャモジュールは、前記複数のクロック分周器モジュールを制御するタイミングに対して前記ＰＭＩＣを制御するタイミングを制御するようにさらに構成される、Ｃ６に記載の集積回路。
［Ｃ８］
前記複数の動作モードは前記電圧供給源を同一レベルで提供することを前記ＰＭＩＣにさせる２つの動作モードを含み、前記２つの動作モードの各々は関連する出力クロック信号を異なる周波数で生成することを前記複数のクロック分周器モジュールのうちの少なくとも１つにさせる、Ｃ６に記載の集積回路。
［Ｃ９］
集積回路において動作モードをスイッチングするための方法であって、
複数の周波数−電圧モードのうちの１つを前記集積回路のための新しい動作モードとして選択することであって、前記周波数−電圧モードの各々は前記集積回路のためのクロックモジュール制御および電圧を指定するものである、選択することと、
前記選択された周波数−電圧モードによって指定された前記電圧を電力管理集積回路にシグナリングすることと、
前記選択された周波数−電圧モードによって指定された前記クロックモジュール制御を複数のクロック分周器モジュールにシグナリングすることであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、シグナリングすることと、
ここにおいて前記選択された周波数−電圧モードによって指定された前記クロックモジュール制御は前記複数のクロック分周器モジュールのうちの少なくとも２つに同時に供給される、
を備える、方法。
［Ｃ１０］
前記複数のクロック分周器モジュールの各々のための前記クロックモジュール制御は複数の入力クロック信号のうちの１つの選択のための信号と、前記選択された入力クロック信号および前記出力クロック信号の周波数の間の比を示す分周値のための信号とを含む、Ｃ９に記載の方法。
［Ｃ１１］
前記クロックモジュール制御は前記出力クロック信号がイネーブルされるかどうかをさらに含む、Ｃ１０に記載の方法。
［Ｃ１２］
前記選択された周波数−電圧モードによって指定された位相ロックループ制御を１つ以上の位相ロックループ（ＰＬＬ）にシグナリングすることをさらに備え、前記ＰＬＬの各々は前記位相ロックループ制御に基づいて１つ以上のクロック信号を生成するように構成され、ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記ＰＬＬによって生成された前記クロック信号を含む、Ｃ１０に記載の方法。
［Ｃ１３］
前記複数の周波数−電圧モードのうちの１つを選択することはプロセッサによって行われる、Ｃ９に記載の方法。
［Ｃ１４］
前記複数の周波数−電圧モードは同一電圧レベルを指定する２つの周波数−電圧モードを含み、前記２つの周波数−電圧モードの各々は前記クロック分周器モジュールのうちの少なくとも１つについて異なるクロックモジュール制御を指定する、Ｃ１０に記載の方法。
［Ｃ１５］
ソフトウェア命令を実行するように構成されるプロセッサモジュールと、
複数のクロック分周器モジュールであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、
前記プロセッサモジュールからモード選択を受信するように構成される、リソース電力を管理するための手段であって、前記モード選択は複数の動作モードのうちの１つを示し、前記複数のクロック分周器モジュールのうちの少なくとも２つを同時に制御して前記複数の動作モードのうちの選択された１つに従って動作させるように構成される、リソース電力を管理するための手段と、
を備える、集積回路。
［Ｃ１６］
リソース電力を管理するための前記手段によって制御される前記複数のクロック分周器モジュールの動作は複数の入力クロック信号のうちの１つの選択を含み、分周値は前記出力クロック信号の周波数および前記選択された入力クロック信号の周波数の間の比を示す、Ｃ１５に記載の集積回路。
［Ｃ１７］
リソース電力を管理するための前記手段によって制御される前記複数のクロック分周器モジュールの動作は前記出力クロック信号がイネーブルされるかどうかの選択をさらに含む、Ｃ１６に記載の集積回路。
［Ｃ１８］
１つ以上の位相ロックループ（ＰＬＬ）であって、１つ以上のクロック信号を生成するように各々構成される、ＰＬＬをさらにを備え、
ここにおいてリソース電力を管理するための前記手段は前記ＰＬＬを制御して前記複数の動作モードのうちの選択された１つに従って動作させるようにさらに構成され、
ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記ＰＬＬによって生成された前記クロック信号を含む、
Ｃ１６に記載の集積回路。
［Ｃ１９］
前記複数のクロック分周器モジュールを制御して前記複数の動作モードのうちの選択された１つに従って動作させることは原子動作である、Ｃ１５に記載の集積回路。
［Ｃ２０］
リソース電力を管理するための前記手段は電力管理集積回路（ＰＭＩＣ）を制御して前記複数の動作モードのうちの選択された１つに従って電圧供給源を前記集積回路へ提供させるようにさらに構成される、Ｃ１５に記載の集積回路。
［Ｃ２１］
リソース電力を管理するための前記手段は前記複数のクロック分周器モジュールを制御するタイミングに対して前記ＰＭＩＣを制御するタイミングを制御するようにさらに構成される、Ｃ２０に記載の集積回路。
［Ｃ２２］
前記複数の動作モードは前記電圧供給源を同一レベルで提供することを前記ＰＭＩＣにさせる２つの動作モードを含み、前記２つの動作モードの各々は関連する出力クロック信号を異なる周波数で生成することを前記複数のクロック分周器モジュールのうちの少なくとも１つにさせる、Ｃ２０に記載の集積回路。
【図１】
0006309641.tif 000002
【図２】
0006309641.tif 000003
【図３】
0006309641.tif 000004
【図４】
0006309641.tif 000005
【図５】
0006309641.tif 000006
【図６】
0006309641.tif 000007
【図７】
0006309641.tif 000008