JP6309641B2 - 低レイテンシスイッチングを用いた動的クロックおよび電圧スケーリング - Google Patents

低レイテンシスイッチングを用いた動的クロックおよび電圧スケーリング Download PDF

Info

Publication number
JP6309641B2
JP6309641B2 JP2016550710A JP2016550710A JP6309641B2 JP 6309641 B2 JP6309641 B2 JP 6309641B2 JP 2016550710 A JP2016550710 A JP 2016550710A JP 2016550710 A JP2016550710 A JP 2016550710A JP 6309641 B2 JP6309641 B2 JP 6309641B2
Authority
JP
Japan
Prior art keywords
clock
integrated circuit
clock divider
frequency
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016550710A
Other languages
English (en)
Other versions
JP2017506458A5 (ja
JP2017506458A (ja
Inventor
パル、ディプティ・ランジャン
ペンゼス、ポール・アイバン
アッラーム、モハメド・ワリード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2017506458A publication Critical patent/JP2017506458A/ja
Publication of JP2017506458A5 publication Critical patent/JP2017506458A5/ja
Application granted granted Critical
Publication of JP6309641B2 publication Critical patent/JP6309641B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • H03L7/22Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using more than one loop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Logic Circuits (AREA)

Description

[0001] 本発明は、集積回路および電子処理システムに関し、より具体的には、集積回路および電子処理システムにおけるクロックおよび電圧スケーリングの動的制御に関する。
[0002] 集積回路は、ますます複雑性を増してきている。パフォーマンスと電力との間のトレードオフを改善するために、集積回路は、異なる時間に、異なる周波数および異なる電圧で動作し得る。例えば、集積回路は、高パフォーマンスモードおよび低電力モードを含む様々な周波数−電圧モードで動作し得る。高パフォーマンスモードは、高いクロック周波数および高い供給電圧を使用し、よって高いパフォーマンスを提供するが、それはまた高い電力消費を有する。低電力モードは、低いクロック周波数および低い供給電圧を使用し、よって低い電力消費を提供するが、それはまた低いパフォーマンスを有する。加えて、集積回路内部の様々なブロックは、異なる周波数で、および異なる電圧で動作し得る。
[0003] 低レイテンシで、複数の周波数−電圧モード間で集積回路をスイッチングできる動的クロックおよび電圧スケーリングのためのシステムおよび方法が提供される。これらのシステムは、電力管理集積回路(PMIC)、位相ロックループ(PLL)、およびクロック分周器を制御できるリソース電力マネジャモジュールを含む。リソース電力マネジャは、周波数−電圧モード間の遷移を制御する。これらシステムおよび方法は、周波数−電圧モード間の遷移が原子動作である動的クロックおよび電圧スケーリングを提供する。加えて、リソース電力マネジャモジュールは、多くのモジュール、例えば、複数のクロック分周器を、並行して制御できる。本発明は、複数の周波数−電圧モード間のより低いレイテンシにより、改善されたシステムパフォーマンスおよび低減されたシステム電力を提供できる。
[0004] 1つの態様では、ソフトウェア命令を実行するように構成されるプロセッサモジュールと、複数のクロック分周器モジュールであって、これらクロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、プロセッサモジュールからモード選択を受信するように構成されるリソース電力マネジャモジュールであって、このモード選択は複数の動作モードのうちの1つを示し、このリソース電力マネジャモジュールは複数のクロック分周器モジュールのうちの少なくとも2つを制御して複数の動作モードのうちの選択された1つに従って動作させるために制御入力を同時に供給するようにさらに構成される、リソース電力マネジャモジュールとを含む、集積回路が提供される。
[0005] 1つの態様では、集積回路において動作モードをスイッチングするための方法であって、複数の周波数−電圧モードのうちの1つを集積回路のための新しい動作モードとして選択することであって、それら周波数−電圧モードの各々は集積回路のためのクロックモジュール制御および電圧を指定するものである、選択することと、選択された周波数−電圧モードによって指定された電圧を電力管理集積回路へシグナリングすることと、選択された周波数−電圧モードによって指定されたクロックモジュール制御を、複数のクロック分周器モジュールへシグナリングすることであって、それらクロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成され、シグナリングすることと、ここにおいて選択された周波数−電圧モードによって指定されたクロックモジュール制御は複数のクロック分周器モジュールのうちの少なくとも2つに同時に供給される、を含む方法が提供される。
[0006] 1つの態様では、ソフトウェア命令を実行するように構成されるプロセッサモジュールと、複数のクロック分周器モジュールであって、これらクロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、プロセッサモジュールからモード選択を受信するように構成される、リソース電力を管理するための手段であって、このモード選択は複数の動作モードのうちの1つを示し、複数のクロック分周器モジュールのうちの少なくとも2つを同時に制御して複数の動作モードのうちの選択された1つに従って動作させるように構成される、リソース電力を管理するための手段と、を含む集積回路が提供される。
[0007] 本発明の他の特徴および利点は、例として、本発明の態様を例示する、以下の説明から明らかになるはずである。
本発明の詳細は、その構造および動作の両方に関し、添付の図面を検討することによってある程度収集されでき(may be gleaned)、ここで同様の参照符号は同様の部分を指す。
集積回路のためのクロックおよび電圧スケーリングの態様を例示する機能ブロック図である。 ここに開示される実施形態による、システムオンチップ集積回路のためのクロックおよび電圧スケーリングの態様を例示する機能ブロック図である。 ここに開示される実施形態による、リソース電力マネジャモジュールの動作の態様を例示する機能ブロック図である。 ここに開示される実施形態による、リソース電力マネジャモジュールとプロセッサとの間のインタフェースを例示する機能ブロック図である。 ここに開示される実施形態による、クロックおよび電圧スケーリングを制御するための方法を例示するフローチャートである。 ここに開示される実施形態による、位相ロックループ制御の態様を例示する機能ブロック図である。 ここに開示される実施形態による、集積回路において動作モードをスイッチングするためのプロセスのフローチャートである。
[0016] 添付図面に関連して以下に記載される詳細な説明は、様々な構成の1つの説明として意図されたものであり、ここに説明される概念が実施され得る唯一の構成を表すようには意図されていない。詳細な説明は、様々な概念の徹底した理解を提供することを目的として特定の詳細を含む。しかしながら、これらの概念がこれらの特定の詳細なしに実施され得ることは、当業者に明らかであるだろう。いくつかの例では、そのような概念をあいまいにすることを避けるために、周知の構造およびコンポーネントは、簡略化された形態で示される。
[0017] 例示的な集積回路が、図1の機能ブロック図に例示される。この集積回路は、プロセッサモジュール110およびコアモジュール120を含む。プロセッサモジュール110およびコアモジュール120は、電力管理IC(PMIC)140によって供給される独立した供給電圧で動作する。PMICは、別個の集積回路であり得る。
[0018] この集積回路はまた、クロック信号(XOCLK、例えば、水晶発振器からの)を受信し、そしてプロセッサモジュール110およびコアモジュール120による使用のためのクロック信号を生成する第1のPLL151および第2のPLL152を含む。PLLの動作は、生成されるクロック信号の周波数を含め、プロセッサモジュール110によって制御される。
[0019] プロセッサモジュール110は、第1のクロック分周器モジュール111、第2のクロック分周器モジュール112、および第3のクロック分周器モジュール113を含む。これらクロック分周器モジュールは、プロセッサモジュール110のサブモジュールによる使用のためのクロックを生成する。各クロック分周器モジュールは、クロックモジュール制御に基づいて出力クロックを生成する。各クロック分周器モジュールは、XOCLKおよび複数のPLLの複数の出力のうちから入力クロック信号を選択することと、選択された入力クロック信号を分周値(divide value)で割ることとによって、それの出力クロックを生成できる。従って、クロックモジュール制御は、入力クロック信号の選択を示し、かつ分周値を示す信号を含むことができる。分周値は、出力クロック信号の周波数と選択された入力クロック信号の周波数との間の比を示す。入力クロック信号の、および分周値の選択は、プロセッサモジュール110によって制御される。プロセッサモジュール110は、ある実施では、3つより多くのクロック分周器モジュールを有し得る、例えば、集積回路は、何百ものクロック分周器モジュールを有し得る。プロセッサモジュール110はまた、プログラム可能なプロセッサによって実行されるためのソフトウェア命令を記憶するメモリを含み得る。
[0020] コアモジュール120は、集積回路の他の機能、例えば、グラフィックプロセッサまたは通信モデムを含むことができる。コアモジュール120は、第1のクロック分周器モジュール121および第2のクロック分周器モジュール122を含む。これらクロック分周器モジュールは、プロセッサモジュール110のクロック分周器モジュールと似ているが、コアモジュール120中のクロック分周器モジュールは、コアモジュール120のサブモジュールによる使用のためのクロックを生成する。コアモジュール120の分周器モジュールの動作はまた、プロセッサモジュール110によって制御される。コアモジュール120は、ある実施では、2つよりはるかに多くの(many more than two)クロック分周器モジュールを有し得る。加えて、集積回路は、多くの他の、プロセッサモジュール110またはコアモジュール120のようなモジュールを含み得る。
[0021] プロセッサモジュール110はまた、PMIC140の動作を制御する。例えば、プロセッサモジュールは、プロセッサモジュール110によって使用される供給電圧を含む、PMICの出力電圧を制御できる。
[0022] プロセッサモジュール110は、複数の周波数−電圧モード間の変更(changing)を、変更されるべき様々な機能に関連する制御レジスタ(例えば、クロック分周器モジュールに配置される)へ書き込むことによって、制御し得る。周波数−電圧モードのプロセッサモジュール110によるソフトウェア制御は、モード間の変更をゆっくり(slow)にする可能性がある。例えば、モード変更は、プロセッサに、何百もの制御レジスタへ書き込みをさせ得、何百マイクロ秒もかかり得る。
[0023] モード間のゆっくりな変更(レイテンシ)は、集積回路のパフォーマンスを損なわせる可能性がある。例えば、高電力モードから低電力モードへのゆっくりな変更は、集積回路に、遷移の間、追加的なエネルギを消費させる可能性がある。集積回路による低電力モードのエントリが遅延されるので、集積回路は、低電力モードで過ごす時間が減る。別の例としては、低パフォーマンスモードから高パフォーマンスモードへのゆっくりな変更は、集積回路がその機能を行うことにおいて遅らせる可能性がある。集積回路による高パフォーマンスモードのエントリが遅れるので、集積回路は、遷移の間、よりゆっくりと機能する。加えて、周波数−電圧モード変更を行うために使用されるプロセッサのサイクルは、他の機能を行うために使用されることができない。
[0024] 低レイテンシの周波数−電圧モード変更を提供することにより、集積回路のパフォーマンスを改善できる。低レイテンシの周波数−電圧モード変更は、集積回路が低電力モードにある時間の量を増加させることによって、電力消費を低減できる。低レイテンシの周波数−電圧モード変更はまた、高パフォーマンスモードがより早く始まることを可能にすることによって、パフォーマンスを増加させることもできる。
[0025] 加えて、プロセッサモジュールによって行われるモード変更は、集積回路が中間状態にある間にインタラプトされ得る。中間状態は、例えば、新しいモードに設定されたクロック分周器も以前のモードに設定されたクロック分周器も有し得る。元のモードを復元(restore)するか、新しいモードに進むかは、複雑であり得る。従って、原子動作である周波数−電圧モード変更を提供することにより、この複雑性を解決できる。
[0026] 図2は、システムオンチップ(SoC)集積回路(IC)のためのクロックおよび電圧スケーリングの態様を示す機能ブロック図である。図2の集積回路は、説明される差異を除いて、同様に動作する同様の名称のモジュールを有する図1の集積回路と似ている。この集積回路は、例えば、携帯電話で使用され得るモバイルシステムモデムであり得る。この集積回路は、例えば、CMOSプロセスを使用して製造され得る。
[0027] 図2の集積回路は、リソース電力マネジャモジュール130を含む。リソース電力マネジャモジュール130は、PLL151、152、PMIC140、およびクロック分周器モジュール111−113、121−122の動作を制御する。リソース電力マネジャモジュール130は、プロセッサモジュール110に接続され、プロセッサモジュール110のモード制御モジュール160から新しい周波数−電圧モードへスイッチングするためのコマンドを受信できる。リソース電力マネジャモジュール130は、例えば、モード制御モジュール160からモード選択を受信し得る。モード選択は、複数のモードレジスタのセットのうちの選択された1つからの値が使用されることになることを示し得る。
[0028] モード制御モジュール160は、例えば、モード制御モジュール160の機能を行うためにメモリからの命令を実行するプロセッサモジュール110を有するソフトウェアモジュールであり得る。モード制御モジュール160は、代替的に、プロセッサモジュール110とは別個のモジュールであり得る。
[0029] モード制御モジュール160は、例えば、プロセッサモジュール110からリソース電力マネジャモジュール130への単一のレジスタ書き込みによって、新しいモードへのスイッチングをトリガし得る。するとリソース電力マネジャモジュール130は、プロセッサモジュール110とのさらなる対話なしに、周波数−電圧モードの変更を行える。リソース電力マネジャモジュール130は、例えば、複数のクロック分周器モジュールにおける複数の分周値を同時に変える等、モード変更の複数の部分を行える。これにより、プロセッサによって連続的に行われる時よりも、モード変更がより素早く行われることを可能にできる。加えて、プロセッサモジュール110は続いて、リソース電力マネジャモジュール130がモード変更を行う間、他のタスクを行える。さらに、モード変更動作は、プロセッサ割り込み(processor interrupt)にさらされない原子動作であることができる。モード変更動作が原子動作である時、モード変更は、一旦それが始められると完了されることになる。従って、集積回路は、部分的に完了したモード変更の下で動作することが可能である必要がなく、また部分的に完了したモード変更からの回復に対処するためのロジックを必要ともしない。
[0030] 図3は、図2の集積回路のリソース電力マネジャモジュール130の動作の態様を例示する機能ブロック図である。リソース電力マネジャモジュール130は、モードレジスタのセット、例えば、図3に示されるような4つのモードレジスタ(第1のモードレジスタ310、第2のモードレジスタ320、第3のモードレジスタ330、および第4のモードレジスタ340)を使用する。複数のモードレジスタの各々は、複数の周波数−電圧モードのうちの1つに関する。例えば、第1のモードレジスタ310は、高周波数、高電圧モードに関し得、および第4のモードレジスタ340は、低周波数、低電圧モードに関し得る。複数のモードレジスタの各々は、そのモードのための動作条件を設定する制御ビットを含む。4つより多くのまたは4つより少ない周波数−電圧モードを有する集積回路(an integrated circuit with more or less than four frequency-voltage modes)の場合、リソース電力マネジャモジュールは、対応する数のモードレジスタを有することになる。
[0031] 第1のモードレジスタ310は、例えば、第1のクロック分周器値311、第1のクロックソース選択値312、および第1のクロック出力イネーブル値313を含む。第1のクロック分周器値311、第1のクロックソース選択値312、および第1のクロック出力イネーブル値313は、集積回路中の複数のクロック分周器モジュールのうちの第1のものを制御するために使用される。第1のクロック出力イネーブル値313は、第1のクロックモジュールの出力クロックがイネーブルされるかどうかを制御するために使用される。第1のクロックソース選択値312は、ソースクロック(例えば、PLL出力クロックまたはXOCLK)のうちの何れが、第1のクロック分周器モジュール(例えば、クロック分周器モジュール111)によって使用されるかを制御するために使用される。第1のクロック分周器値311は、第1のクロック分周器モジュール(例えば、クロック分周器モジュール111)の分周値を制御するために使用される。クロック分周器値、クロックソース選択値、およびクロック出力イネーブル値は、クロックモジュール制御と称され得る。
[0032] 第1のモードレジスタ310はまた、集積回路中の他のクロック分周器モジュールの各々に関するクロック分周器値、クロックソース選択値、およびクロック出力イネーブル値を含む。所与のモードレジスタに関して、複数のクロック分周器モジュールのうちの異なるクロック分周器モジュールは、周波数の様々な組み合わせに関して制御され得る。第1のモードレジスタ310はまた、PMICの動作を制御するためのPMIC制御値317(例えば、電圧を設定する)、および、PLLの動作(例えば、周波数を設定する)を制御するためのPLL制御値318を含む。PMIC制御値はまた、PMIC制御と称され得、PLL制御値はまた、位相ロックループ制御と称され得る。他のモードレジスタは、他のモードに関する対応する制御値を含む。
[0033] モードレジスタにおける値は、ハードウェアリセットによってある特定の値に設定され得る。これらの値はまた、初期化プロセス(例えば、PROMからの)によって初期化され得る。モードレジスタにおける値はまた、ある実施形態では、プロセッサモジュールによって設定され得る。プロセッサモジュールは、例えば、新しい値を関連するモードレジスタに書き込みすることによって、複数のモードのうちの1つを再定義し得る。ある実施形態では、複数のモードレジスタのうちのあるサブセットのみが、プロセッサモジュールによって書き込み可能であり得る。
[0034] 集積回路に含まれる周波数−電圧モードの数は、設計トレードオフである可能性がある。モード数がより多くなれば、それらモードが、集積回路の様々な動作条件に厳密に適合される(closely tailored to)ことが可能になり得る。多数のモードはまた、回路複雑性を増加させる。集積回路のあるブロックがより高い周波数で動作する時、それはまた、より高い電圧で動作することを必要とする。しかしながら、そのブロックは、より低い周波数およびより高い電圧で動作ができる。電圧の変更は一般に、周波数の変更に比べてゆっくりである。集積回路は、1つ以上の、クロック周波数が異なるが同じ電圧を使用する周波数−電圧モードセットを、含み得る。集積回路は、同じ電圧を使用する複数のモードのセット中の複数のモード間で非常に迅速に変わることができる。これにより、例えば、それらモードが短時間使用される時、改善された電力パフォーマンストレードオフを提供できる。加えて、いくつかのレジスタハードウェアは、複数のモード間で共有され得る。
[0035] 周波数−電圧モードが変わる時、モード選択信号は、選択されたモードに対応するモードレジスタから値を選択するようにセレクタ341を制御する。例えば、リソース電力マネジャモジュール130は、モード選択信号を制御し得る。代替的に、モード制御モジュール160が、モード選択信号を供給できる。選択された値は、リソース電力マネジャモジュール130によって制御される様々なモジュールへ供給される。例えば、図3に例示されるように、選択されたクロックイネーブル値、選択されたクロック分周器値、および選択されたクロックソース選択値は、クロック分周器モジュール351のうちの1つ(例えば、クロック分周器モジュール111または他のクロック分周器モジュール112、113、121、122のうちの1つ)へ供給される。それら値は、例えば、クロック分周器モジュール351中のレジスタへ供給され得る。クロック分周器モジュール351は、供給された制御信号を使用して、それの出力クロックclk_outを生成する。図3には例示されていないが、集積回路は、セレクタ341によって供給される制御信号を有する多くの追加的なクロック分周器モジュールを有することになる。セレクタ341からの制御信号はまた、PMICおよびPLLへ供給される。
[0036] リソース電力マネジャモジュールは、それの制御信号を、(例えば、クロック分周器モジュール111−113、121−122、PLL151、152、およびPMIC140のような)リソース電力マネジャモジュールによって制御されるモジュールへ、様々な方法で供給し得る。例えば、制御信号は、並行して、リソース電力マネジャモジュールによって制御される全てのモジュールへ供給され得る。代替的に、リソース電力マネジャモジュールは、制御信号のうちのいくつかを連続的に提供し得る。リソース電力マネジャモジュールとリソース電力マネジャモジュールによって制御されるモジュールとの間でインタフェースするために使用されるクロック信号は、複数のモード変更の間でゲートオフされ得る(may be gated off)。
[0037] リソース電力マネジャモジュール130は、新しい制御信号が様々なモジュールへ供給される時を制御する。具体的には、リソース電力マネジャモジュール130は、クロック分周器モジュールを制御するタイミングに対してPMICを制御するタイミングを制御できる。例えば、周波数(例えば、クロック分周器値)と供給電圧との両方が増加されることになる時、供給電圧が一般に初めに増加されることになり、周波数を変えることがその後に続く。同様に、周波数と供給電圧との両方が減少されることになる時、クロック分周器値が一般に初めに減少し、供給電圧を変えることがその後に続く。加えて、クロック出力についての望まれないタイミングまたはグリッチを避けるために、リソース電力マネジャモジュールは、クロックソース選択を変える前にクロック分周器モジュールの出力をディセーブルし得、新しいソース選択を設定した後に、クロック分周器モジュールの出力を再イネーブルし得る。リソース電力マネジャモジュールは、モード変更のタイミングを制御するために有限状態マシン(a finite state machine)を使用し得る。
[0038] 図4は、ここに開示される実施形態による、リソース電力マネジャモジュール430とプロセッサ460との間のインタフェースを例示する機能ブロック図である。インタフェースは、例えば、それぞれ、リソース電力マネジャモジュール130およびプロセッサモジュール110(モード制御モジュール160を使用する)である、リソース電力マネジャモジュール430およびプロセッサモード制御モジュール460と共に、図2の集積回路で使用され得る。図4に例示されるインタフェースは、例示的なものであり、他のインタフェースもまた使用され得る。
[0039] インタフェースは、周波数−電圧モードをシグナリングする、プロセッサ460からリソース電力マネジャモジュール430へのOPP信号を含む。op信号は、例えば、図3に例示されるモードレジスタ310、320、330、340のうちの1つを示し得る。OPP信号が変わる時、リソース電力マネジャモジュール430は、その変更をOPP_ack信号を用いてプロセッサ460に肯定応答する。
[0040] インタフェースはまた、リソース電力マネジャモジュール430に周波数−電圧モードの変更の準備をするようトリガできる、プロセッサ460からのOPP_prework信号を含む。リソース電力マネジャモジュール430は、プロセッサ460に対して、OPP_prework_ack信号を用いて、そのOPP_prework信号を肯定応答する。pre−workは、モード変更のための準備である。
[0041] インタフェースは、実際のモード変更をトリガするために、プロセッサ460がリソース電力マネジャモジュール430に送るアップデート信号を含む。変更が完了した時、アップデートは、プロセッサ460にリソース電力マネジャモジュール430から送られるUpdate_ack信号で肯定応答される。
[0042] 図5は、ここに開示される実施形態による、クロックおよび電圧スケーリングを制御するためのプロセスを例示するフローチャートである。このプロセスは、図2の集積回路を用いて、図4のインタフェースを使用して行われ得る。例えば、リソース電力マネジャモジュール130は、モード制御モジュール160から受信される信号を使用してプロセスを行い得る。同様のプロセスは、他の集積回路を用いて、他のインタフェースを使用して行われ得る。例示されるプロセスは、集積回路を、現在の周波数−電圧モードから新しい周波数−電圧モードへ変えるために使用されることができる。
[0043] 例示されたプロセスは、現在の周波数−電圧モードを指定する現在のOPP505で始まる。リソース電力マネジャモジュール130がモード制御モジュール160からOPP_prework信号を受信する時、リソース電力マネジャモジュール130は、新しいOPP評価ステップ510に入る。これは、集積回路が現在のOPPから新しいOPPへ変わることになることをシグナリングする。ステップ510において、プロセスは、新しいOPPによって指定されるクロック分周器に関する入力クロック信号のためのソースをチェックする。新しいOPPにおいて入力クロック信号のうちの1つを供給するために指定された各PLLに関して、プロセスは、指定されたPLLの状態を評価する。指定されたPLLがオフである場合、指定されたPLLは、新しいOPPのために指定された値に従ってプログラムされる。リソース電力マネジャモジュール130は、例えば、指定されたPLLを、そのPLLに関連する制御レジスタに書き込みすることによってプログラムし得る。プロセスは次に、PLLがそれの新しい状態にロックする(lock in its new state)のを待つ。
[0044] 加えて、新しいOPPにおいて指定されるクロックソース(クロック分周器モジュールへの、またはクロック分周器モジュールに入力クロック信号を供給するPLLへの)は、現在のOPPにおいて稼働していない(not running in)クロックモジュール(例えば、水晶発振器)からのものであり得る。クロックソースが現在稼働していないクロックモジュールからのものである場合、プロセスは、そのクロックモジュールにクロックソースを要求し、クロックソースが稼働されるのを待つ。リソース電力マネジャモジュール130は、例えば、クロックモジュールに関連する制御レジスタに、それをイネーブルするために、書き込み得る。
[0045] プロセスは次に、Updateステップのための待ち時間(a wait)520に入る。リソース電力マネジャモジュール130は、preworkの完了をシグナリングするために、OPP_prework_ackをモード制御モジュール160に送る。リソース電力マネジャモジュール130は次に、OPPモード変更を続けるために、Updateがそれをシグナリングするのを待つ。リソース電力マネジャモジュール130が、Update信号を待っている間に追加的なOPP_preworkを受信する場合、プロセスは、新しいOPPを再評価するために新しいOPP評価ステップ510に戻る。
[0046] リソース電力マネジャモジュール130がUpdate信号を受信する時、プロセスは、ステップ530に続く。ステップ530において、リソース電力マネジャモジュール130は、新しいクロックモジュール制御(例えば、分周値および入力クロック信号選択)をクロック分周器モジュールへ供給する。リソース電力マネジャモジュール130は次に、クロック分周器モジュールらが、それらの新しい状態にスイッチングするのを待つ。プロセスは、例えば、ある特定の数のクロックサイクル待ち得る。

[0047] プロセスは次にステップ540に続く。ステップ540において、リソース電力マネジャモジュール130は、Update_ackをモード制御マネジャ160にシグナリングする。これは、新しいOPPが施行されている(in effect)ことを示す。プロセスはまた、新しいOPPの値を反映するために、OPPレジスタをアップデートし得る。
[0048] リソース電力マネジャモジュール130は、例えば、図5のプロセスを行うためにプログラム可能なプロセッサまたは有限状態マシンを使用し得る。ある実施形態では、プロセッサモジュール110は、リソース電力マネジャ130によって行われるステップをオーバーライドすることが可能であり得る。例えば、リソース電力マネジャモジュール130は、プロセッサモジュール110に介入(intervene)させるためにプロセスの様々なポイントでプロセッサをインタラプトし得る。
[0049] 図6は、ここに開示される実施形態による、PLL制御の態様を例示する機能ブロック図である。PLL制御は、図2の集積回路で使用され得る。PLLは、選択された周波数−電圧モードに関する様々な信号によって制御される。制御信号は、PLLモード(例えば、オンモード、オフモード、および1つ以上のスタンバイモードを含む)、周波数選択(例えば、MおよびN分周器値によってシグナリングされる)、入力クロック選択、および出力クロックイネーブルを含むことができる。
[0050] PLL周波数を合成するために使用される分周器値に加えて、PLLは、出力クロックについての分周器653、654を含み得る。PLL出力クロックについての分周器を使用してそれの周波数を低くすることにより、PLL出力クロックを受信するクロック分周器モジュールの設計を単純化できる。例えば、クロック分周器モジュールは、低い電圧にある時、最大周波数で動作する必要がない。電力消費もまた低減され得る。例えば、低い周波数および低い電圧を用いる周波数−電圧モードでは、PLL出力クロック分周器を含めることで、クロック分周器モジュールが動作するように設計された最大周波数を、それの供給が低い電圧にある時に、低くできる。同様に、クロックバッファ回路のパフォーマンス要件もまた低減され得る。
[0051] 図6は、PLL650、第1のクロック分周器モジュール651、および第2のクロック分周器モジュール652を例示する。図6のPLL制御が図2の集積回路で使用される時、PLL650、第1のクロック分周器モジュール651、および第2のクロック分周器モジュール652は、例えば、それぞれ、PLL151、クロック分周器モジュール111、およびクロック分周器モジュール121であり得る。クロック分周器モジュールは、リソース電力マネジャモジュールから制御信号を、それらの分周値と、それらのソース選択と、それらのクロック出力がイネーブルされるかどうかと、を制御するために、受信する。クロックソース選択に関する可能性のあるソースは、PLL650の2つの出力を含む。
[0052] 図6に例示されるPLL650は、ゲート655、656によってイネーブルまたはディセーブルされる2つの出力クロックを生成する。ゲート655からの第1の出力は、ORゲート640からの信号によってイネーブルされる。ゲート656からの第2の出力は、ORゲート641からの信号によってイネーブルされる。ORゲートは一般に、それぞれの出力を、関連するクロック信号が複数のクロック分周器のうちの1つによって使用されることになる時、イネーブルする。クロック信号が使用される時にのみPLLからの出力クロック信号をイネーブルすることで、電力消費を低減できる。
[0053] ORゲート640は、ORゲートの入力信号のうちの何れかがアクティブである時、ゲート655をイネーブルする。第1のクロック分周器モジュール651は、ゲート655からのPLLクロック信号が第1のクロック分周器モジュール651によって選択される時をシグナリングするために、要求信号をORゲート640へ供給する。第2のクロック分周器モジュール652もまた、ゲート655からのPLLクロック信号が第2のクロック分周器モジュール652によって選択される時、要求信号をORゲート640へ供給する。ORゲート640はまた、制御信号SW0を受信する。制御信号SW0は、例えば、PLL出力クロック信号を、それがクロック分周器モジュールのうちの1つによって使用されない時に、ディセーブルする通常動作(normal operation)をオーバーライドするための、ソフトウェア制御レジスタ値であり得る。第2のゲート656は、第1のゲート655と同様の方法で機能する。
[0054] PLL出力クロック信号のイネーブルは、PLLをイネーブルするためにORゲート642においてコンバインされる。ORゲート642はまた、例えば、プロセッサモジュールおよびリソース電力マネジャモジュールによって供給され得る2つの制御信号SW2、M2を受信し得る。ORゲート642からのPLLのためのイネーブルはまた、PLL650への電圧供給源(voltage supply)をイネーブルするためにORゲート644へ供給される。電圧供給源イネーブル(voltage supply enable)はまた、制御信号M4、SW4によって制御され得る。ORゲート642からのPLLのためのイネーブルはまた、発振器イネーブル信号を発生させるためにORゲート643へ供給される。発振器イネーブルはまた、制御信号M3、CLK_REQによって制御され得る。
[0055] 図7は、ここに開示される実施形態による、集積回路において動作モードをスイッチングするためのプロセスのフローチャートである。このプロセスは、例えば、図2の集積回路を使用して行われ得る。

[0056] ステップ710において、新しい動作モードが集積回路のために選択される。新しい動作モードは、例えば、モード制御モジュール160によって選択され得る。新しい動作モードは、複数の周波数−電圧モードから選択される。周波数−電圧モードの各々は、集積回路に関する動作クロック周波数および電圧を指定する。
[0057] ステップ720において、選択された周波数−電圧モードによって指定された電圧が、電力管理集積回路にシグナリングされる。例えば、リソース電力マネジャモジュール130は、新しい電圧にスイッチングするためにPMIC140へシグナリングし得る。
[0058] ステップ730において、選択された周波数−電圧モードによって指定された周波数が、複数のクロック分周器モジュールにシグナリングされる。例えば、リソース電力マネジャモジュール130は、クロック分周器モジュールの新しい出力クロック周波数を(例えば、入力クロック信号選択および分周値を使用して)シグナリングするためにクロック分周器モジュール111−113、121−122に関連するレジスタへ書き込み得る。周波数は、クロック分周器モジュールのうちのいくつかまたは全てに同時に提供される。
[0059] 動作モードのスイッチングに関するプロセスは、例えば、追加、省略、並べ替え、または改変(altering)ステップによって修正され得る。例えば、ステップ730は、周波数および電圧が減少している時、ステップ720の前に行われ得る。加えて、複数のステップが同時に行われ得る。
[0060] 本発明の実施形態は、上で特定の実施形態について説明されたが、異なる数の電圧供給源、異なる数のクロック分周器、および異なる数のPLLを有するものを含む本発明の多くの変形が可能である。加えて、様々な実施形態の特徴は、上述した組み合わせとは異なる組み合わせで組み合わせられ得る。
[0061] 当業者は、ここに開示された実施形態に関連して説明された様々な例示的なブロックおよびモジュールは、様々な形態で実施され得ることを認識するだろう。いくつかのブロックおよびモジュールは、一般にそれらの機能の観点から上述された。そのような機能が、如何に実施されるかは、システム全体に課せられる設計制約に依存する。当業者は、説明された機能性を、各特定のアプリケーションに関して様々な方法で実施できるが、そのような実施の決定は本発明の範囲から逸脱を生じさせるものと解釈されるべきでない。加えて、モジュール、ブロック、またはステップ内の機能のグループ分けは、説明を容易にするためのものである。特定の機能またはステップは、本発明から逸脱することなく1つのモジュールまたはブロックから移動され得る。
[0062] ここに開示された実施形態に関連して説明された様々な例示的な論理ブロックおよびモジュールは、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、ディスクリートゲートまたはトランジスタ論理、ディスクリートハードウェアコンポーネント、またはここに説明された機能を実施するように設計されたそれらの任意の組み合わせを用いて、実施または行われることができる。汎用プロセッサは、マイクロプロセッサであることができるが、別の方法では、プロセッサは、任意のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであることができる。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPと1つのマイクロプロセッサ、複数のマイクロプロセッサ、DSPコアと連携した1つ以上のマイクロプロセッサ、または任意の他のそのような構成との組み合わせとして実施され得る。
[0063] ここに開示された実施形態に関連して説明されたアルゴリズムまたは方法のステップは、直接的にハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはそれら2つの組み合わせにおいて、具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROM(登録商標)メモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または任意の他の形態の記憶媒体内に存在できる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み出すこと、また、記憶媒体に情報を書き込みできるように、プロセッサに結合され得る。代替えとして、記憶媒体はプロセッサに内蔵され得る。プロセッサおよび記憶媒体は、ASIC内に存在できる。
[0064] 開示された実施形態の上記説明は、当業者が本出願を製造または使用できるように提供されている。これらの実施形態への様々な修正は、当業者には容易に明らかであるだろうし、ここに説明された一般的な原理は、本出願の精神または範囲から逸脱することなく他の実施形態にも適用され得る。従って、ここに提示された説明および図面は、本発明の現在好ましい実施形態を表し、よって、本発明によって広く熟慮される主題を代表するものであることは理解されるべきである。さらに、本出願の範囲は、当業者に自明になり得る他の実施形態を完全に包含すること、および、よって本発明の範囲は添付の特許請求の範囲以外の何れによっても限定されないことは理解されるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ソフトウェア命令を実行するように構成されるプロセッサモジュールと、
複数のクロック分周器モジュールであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、
前記プロセッサモジュールからモード選択を受信するように構成されるリソース電力マネジャモジュールであって、前記モード選択は複数の動作モードのうちの1つを示し、前記リソース電力マネジャモジュールは前記複数のクロック分周器モジュールのうちの少なくとも2つを制御して前記複数の動作モードのうちの選択された1つに従って動作させるために前記制御入力を同時に供給するようにさらに構成される、リソース電力マネジャモジュールと
を備える、集積回路。
[C2]
前記リソース電力マネジャモジュールによって制御される前記複数のクロック分周器モジュールの動作は複数の入力クロック信号のうちの1つの選択を含み、分周値は前記出力クロック信号の周波数および前記選択された入力クロック信号の周波数の間の比を示す、C1に記載の集積回路。
[C3]
前記リソース電力マネジャモジュールによって制御される前記複数のクロック分周器モジュールの動作は前記出力クロック信号がイネーブルされるかどうかの選択をさらに含む、C2に記載の集積回路。
[C4]
1つ以上の位相ロックループ(PLL)をさらにを備え、前記PLLの各々は1つ以上のクロック信号を生成するように構成され、
ここにおいて前記リソース電力マネジャモジュールは前記PLLを制御して前記複数の動作モードのうちの選択された1つに従って動作させるようにさらに構成され、
ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記PLLによって生成された前記クロック信号を含む、
C2に記載の集積回路。
[C5]
前記複数のクロック分周器モジュールを制御して前記複数の動作モードのうちの選択された1つに従って動作させることは原子動作である、C1に記載の集積回路。
[C6]
前記リソース電力マネジャモジュールは電力管理集積回路(PMIC)を制御して前記複数の動作モードのうちの選択された1つに従って電圧供給源を前記集積回路へ提供させるようにさらに構成される、C1に記載の集積回路。
[C7]
前記リソース電力マネジャモジュールは、前記複数のクロック分周器モジュールを制御するタイミングに対して前記PMICを制御するタイミングを制御するようにさらに構成される、C6に記載の集積回路。
[C8]
前記複数の動作モードは前記電圧供給源を同一レベルで提供することを前記PMICにさせる2つの動作モードを含み、前記2つの動作モードの各々は関連する出力クロック信号を異なる周波数で生成することを前記複数のクロック分周器モジュールのうちの少なくとも1つにさせる、C6に記載の集積回路。
[C9]
集積回路において動作モードをスイッチングするための方法であって、
複数の周波数−電圧モードのうちの1つを前記集積回路のための新しい動作モードとして選択することであって、前記周波数−電圧モードの各々は前記集積回路のためのクロックモジュール制御および電圧を指定するものである、選択することと、
前記選択された周波数−電圧モードによって指定された前記電圧を電力管理集積回路にシグナリングすることと、
前記選択された周波数−電圧モードによって指定された前記クロックモジュール制御を複数のクロック分周器モジュールにシグナリングすることであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、シグナリングすることと、
ここにおいて前記選択された周波数−電圧モードによって指定された前記クロックモジュール制御は前記複数のクロック分周器モジュールのうちの少なくとも2つに同時に供給される、
を備える、方法。
[C10]
前記複数のクロック分周器モジュールの各々のための前記クロックモジュール制御は複数の入力クロック信号のうちの1つの選択のための信号と、前記選択された入力クロック信号および前記出力クロック信号の周波数の間の比を示す分周値のための信号とを含む、C9に記載の方法。
[C11]
前記クロックモジュール制御は前記出力クロック信号がイネーブルされるかどうかをさらに含む、C10に記載の方法。
[C12]
前記選択された周波数−電圧モードによって指定された位相ロックループ制御を1つ以上の位相ロックループ(PLL)にシグナリングすることをさらに備え、前記PLLの各々は前記位相ロックループ制御に基づいて1つ以上のクロック信号を生成するように構成され、ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記PLLによって生成された前記クロック信号を含む、C10に記載の方法。
[C13]
前記複数の周波数−電圧モードのうちの1つを選択することはプロセッサによって行われる、C9に記載の方法。
[C14]
前記複数の周波数−電圧モードは同一電圧レベルを指定する2つの周波数−電圧モードを含み、前記2つの周波数−電圧モードの各々は前記クロック分周器モジュールのうちの少なくとも1つについて異なるクロックモジュール制御を指定する、C10に記載の方法。
[C15]
ソフトウェア命令を実行するように構成されるプロセッサモジュールと、
複数のクロック分周器モジュールであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、
前記プロセッサモジュールからモード選択を受信するように構成される、リソース電力を管理するための手段であって、前記モード選択は複数の動作モードのうちの1つを示し、前記複数のクロック分周器モジュールのうちの少なくとも2つを同時に制御して前記複数の動作モードのうちの選択された1つに従って動作させるように構成される、リソース電力を管理するための手段と、
を備える、集積回路。
[C16]
リソース電力を管理するための前記手段によって制御される前記複数のクロック分周器モジュールの動作は複数の入力クロック信号のうちの1つの選択を含み、分周値は前記出力クロック信号の周波数および前記選択された入力クロック信号の周波数の間の比を示す、C15に記載の集積回路。
[C17]
リソース電力を管理するための前記手段によって制御される前記複数のクロック分周器モジュールの動作は前記出力クロック信号がイネーブルされるかどうかの選択をさらに含む、C16に記載の集積回路。
[C18]
1つ以上の位相ロックループ(PLL)であって、1つ以上のクロック信号を生成するように各々構成される、PLLをさらにを備え、
ここにおいてリソース電力を管理するための前記手段は前記PLLを制御して前記複数の動作モードのうちの選択された1つに従って動作させるようにさらに構成され、
ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記PLLによって生成された前記クロック信号を含む、
C16に記載の集積回路。
[C19]
前記複数のクロック分周器モジュールを制御して前記複数の動作モードのうちの選択された1つに従って動作させることは原子動作である、C15に記載の集積回路。
[C20]
リソース電力を管理するための前記手段は電力管理集積回路(PMIC)を制御して前記複数の動作モードのうちの選択された1つに従って電圧供給源を前記集積回路へ提供させるようにさらに構成される、C15に記載の集積回路。
[C21]
リソース電力を管理するための前記手段は前記複数のクロック分周器モジュールを制御するタイミングに対して前記PMICを制御するタイミングを制御するようにさらに構成される、C20に記載の集積回路。
[C22]
前記複数の動作モードは前記電圧供給源を同一レベルで提供することを前記PMICにさせる2つの動作モードを含み、前記2つの動作モードの各々は関連する出力クロック信号を異なる周波数で生成することを前記複数のクロック分周器モジュールのうちの少なくとも1つにさせる、C20に記載の集積回路。

Claims (24)

  1. ソフトウェア命令を実行するように構成されるプロセッサモジュールと、
    複数のクロック分周器モジュールであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、
    前記プロセッサモジュールからモード選択を受信するように構成されるリソース電力マネジャモジュールであって、前記モード選択は様々な周波数および電圧モードを備える複数の動作モードのうちの1つを示す、
    前記リソース電力マネジャモジュールと
    を備え、前記リソース電力マネジャモジュールはさらに、前記モード選択に基づいて複数のモードレジスタのうちの1つを選択するように構成され、前記複数のモードレジスタの各々は、(1)前記複数の動作モードのそれぞれ1つに従って前記複数のクロック分周器モジュールを動作させるための制御入力であって、前記複数の動作モードのうちの前記選択された1つに従って動作させるために前記複数のモードレジスタのうちの前記選択された1つからの前記制御入力を前記複数のクロック分周器モジュールのうちの少なくとも2つの制御レジスタに同時に供給するようにするための、制御入力と、(2)前記複数の動作モードのうちの前記それぞれ1つに関連する特定の電圧レベルをシグナリングするための関連する制御入力との両方を備え、ここにおいて、前記複数のモードレジスタのうちの各々は、クロック分周器値、クロックソース選択値およびクロック出力イネーブル値を備える、集積回路。
  2. 前記リソース電力マネジャモジュールによって制御される前記複数のクロック分周器モジュールの動作は前記クロック分周器モジュールの各々のための複数の入力クロック信号のうちの1つの選択を含み、前記クロック分周器モジュールの各々に関する分周値は前記それぞれの出力クロック信号の周波数および前記それぞれの選択された入力クロック信号の周波数の間の比を示す、請求項1に記載の集積回路。
  3. 前記リソース電力マネジャモジュールによって制御される前記複数のクロック分周器モジュールの動作は、前記クロック分周器モジュールの各々の前記出力クロック信号がイネーブルされるかどうかの選択をさらに含む、請求項2に記載の集積回路。
  4. 1つ以上の位相ロックループ(PLL)をさらに備え、前記PLLの各々は1つ以上のクロック信号を生成するように構成され、
    ここにおいて前記リソース電力マネジャモジュールは前記PLLを制御して前記複数の動作モードのうちの前記選択された1つに従って動作させるようにさらに構成され、
    ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記PLLによって生成された前記クロック信号を含む、
    請求項2に記載の集積回路。
  5. 前記複数のクロック分周器モジュールを制御して前記複数の動作モードのうちの前記選択された1つに従って動作させることは原子動作である、請求項1に記載の集積回路。
  6. 前記リソース電力マネジャモジュールは電力管理集積回路(PMIC)を制御して前記関連する制御入力に基づいた前記複数の動作モードのうちの前記選択された1つに従って電圧供給源を前記集積回路へ提供させるようにさらに構成される、請求項1に記載の集積回路。
  7. 前記リソース電力マネジャモジュールは、前記複数のクロック分周器モジュールを制御するタイミングに対して前記PMICを制御するタイミングを制御するようにさらに構成される、請求項6に記載の集積回路。
  8. 前記複数の動作モードは前記電圧供給源を同一レベルで提供することを前記PMICにさせる2つの動作モードを含み、前記2つの動作モードの各々は前記それぞれの出力クロック信号を異なる周波数で生成することを前記複数のクロック分周器モジュールのうちの少なくとも1つにさせる、請求項6に記載の集積回路。
  9. 集積回路において動作モードをスイッチングするための方法であって、
    複数の周波数−電圧モードのうちの1つを前記集積回路のための新しい動作モードとして選択することであって、前記周波数−電圧モードの各々は前記集積回路のための電圧およびクロックモジュール制御を指定するものである、選択することと、
    前記選択された周波数−電圧モードによって指定された前記電圧を電力管理集積回路にシグナリングすることと、
    前記選択された周波数−電圧モードに基づいて複数のモードレジスタのうちの1つを選択することであって、前記複数のモードレジスタの各々は、前記複数の周波数−電圧モードのそれぞれ1つによって指定された前記クロックモジュール制御を備える、選択することと、
    前記モードレジスタのうちの前記選択された1つからの前記クロックモジュール制御を複数のクロック分周器モジュールに供給することであって、前記クロック分周器モジュールの各々は前記クロックモジュール制御に基づいて出力クロック信号を生成するように構成される、供給することと、
    ここにおいて前記モードレジスタのうちの前記選択された1つからの前記クロックモジュール制御は前記複数のクロック分周器モジュールのうちの少なくとも2つの制御レジスタに同時に供給される、ここにおいて、前記複数のモードレジスタのうちの各々は、クロック分周器値、クロックソース選択値およびクロック出力イネーブル値をさらに備える、
    を備える、方法。
  10. 前記複数のクロック分周器モジュールの各々のための前記クロックモジュール制御は複数の入力クロック信号のうちの1つの選択のための1つの信号と、前記それぞれの出力クロック信号の周波数および前記それぞれの選択された入力クロック信号の周波数の間の比を示す分周値のための1つの信号とを含む、請求項9に記載の方法。
  11. 前記クロック分周器モジュールの各々のための前記クロックモジュール制御は前記それぞれの出力クロック信号がイネーブルされるかどうかを制御するための信号をさらに含む、請求項10に記載の方法。
  12. 前記選択された周波数−電圧モードによって指定された位相ロックループ制御を1つ以上の位相ロックループ(PLL)にシグナリングすることをさらに備え、前記PLLの各々は前記位相ロックループ制御に基づいて1つ以上のクロック信号を生成するように構成され、ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記PLLによって生成された前記クロック信号を含む、請求項10に記載の方法。
  13. 前記複数の周波数−電圧モードのうちの1つを選択することはプロセッサによって行われる、請求項9に記載の方法。
  14. 前記複数の周波数−電圧モードは同一電圧レベルを指定する2つの周波数−電圧モードを含み、前記2つの周波数−電圧モードの各々は前記クロック分周器モジュールのうちの少なくとも1つについて異なるクロックモジュール制御を指定する、請求項10に記載の方法。
  15. ソフトウェア命令を実行するように構成されるプロセッサモジュールと、
    複数のクロック分周器モジュールであって、前記クロック分周器モジュールの各々は制御入力に基づいて出力クロック信号を生成するように構成される、複数のクロック分周器モジュールと、
    前記プロセッサモジュールからモード選択を受信するように構成され、前記モード選択は様々な周波数および電圧モードを備える複数の動作モードのうちの1つを示すもので、前記モード選択に基づいて複数のモードレジスタのうちの1つを選択するように構成される、リソース電力を管理するための手段と、
    を備え、前記複数のモードレジスタの各々は、(1)前記複数の動作モードのそれぞれ1つに従って前記複数のクロック分周器モジュールを動作させるための制御入力であって、前記複数の動作モードのうちの前記選択された1つに従って動作させるために前記モードレジスタのうちの前記選択された1つからの前記制御入力を前記複数のクロック分周器モジュールのうちの少なくとも2つの制御レジスタに同時に供給するようにするための、制御入力と、(2)前記複数の動作モードのうちの前記それぞれ1つに関連する特定の電圧レベルをシグナリングするための関連する制御入力との両方を備え、ここにおいて、前記複数のモードレジスタのうちの各々は、クロック分周器値、クロックソース選択値およびクロック出力イネーブル値をさらに備える、集積回路。
  16. リソース電力を管理するための前記手段によって制御される前記複数のクロック分周器モジュールの動作は前記クロック分周器モジュールの各々のための複数の入力クロック信号のうちの1つの選択を含み、前記クロック分周器モジュールの各々に関する分周値は前記それぞれの出力クロック信号の周波数および前記それぞれの選択された入力クロック信号の周波数の間の比を示す、請求項15に記載の集積回路。
  17. リソース電力を管理するための前記手段によって制御される前記複数のクロック分周器モジュールの動作は前記クロック分周器モジュールの各々の前記出力クロック信号がイネーブルされるかどうかの選択をさらに含む、請求項16に記載の集積回路。
  18. 1つ以上の位相ロックループ(PLL)をさらに備え、前記PLLの各々は1つ以上のクロック信号を生成するように構成され、ここにおいてリソース電力を管理するための前記手段は前記PLLを制御して前記複数の動作モードのうちの前記選択された1つに従って動作させるようにさらに構成され、ここにおいて前記複数のクロック分周器モジュールの前記複数の入力クロック信号は前記PLLによって生成された前記クロック信号を含む、
    請求項16に記載の集積回路。
  19. 前記複数のクロック分周器モジュールを制御して前記複数の動作モードのうちの前記選択された1つに従って動作させることは原子動作である、請求項15に記載の集積回路。
  20. リソース電力を管理するための前記手段は電力管理集積回路(PMIC)を制御して前記関連する制御入力に基づいた前記複数の動作モードのうちの前記選択された1つに従って電圧供給源を前記集積回路へ提供させるようにさらに構成される、請求項15に記載の集積回路。
  21. リソース電力を管理するための前記手段は前記複数のクロック分周器モジュールを制御するタイミングに対して前記PMICを制御するタイミングを制御するようにさらに構成される、請求項20に記載の集積回路。
  22. 前記複数の動作モードは前記電圧供給源を同一レベルで提供することを前記PMICにさせる2つの動作モードを含み、前記2つの動作モードの各々は前記それぞれの出力クロック信号を異なる周波数で生成することを前記複数のクロック分周器モジュールのうちの少なくとも1つにさせる、請求項20に記載の集積回路。
  23. 前記複数のモードレジスタのうちの前記選択された1つからの前記制御入力は複数のクロック分周器値を備え、前記クロック分周器値の各々は前記クロック分周器モジュールのそれぞれ1つの分周値を制御し、前記クロック分周器モジュールの各々の前記分周値は前記それぞれの出力クロック信号の周波数およびそれぞれの入力クロック信号の周波数の間の比である、請求項1に記載の集積回路。
  24. 前記複数のモードレジスタのうちの前記選択された1つからの前記制御入力は複数のクロックソース選択値を備え、前記クロックソース選択値の各々は前記クロック分周器モジュールのそれぞれ1つのための複数の入力クロック信号のうちの1つの選択を制御する、請求項1に記載の集積回路。
JP2016550710A 2014-02-10 2015-02-05 低レイテンシスイッチングを用いた動的クロックおよび電圧スケーリング Expired - Fee Related JP6309641B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/177,073 2014-02-10
US14/177,073 US9678556B2 (en) 2014-02-10 2014-02-10 Dynamic clock and voltage scaling with low-latency switching
PCT/US2015/014688 WO2015120199A1 (en) 2014-02-10 2015-02-05 Dynamic clock and voltage scaling with low-latency switching

Publications (3)

Publication Number Publication Date
JP2017506458A JP2017506458A (ja) 2017-03-02
JP2017506458A5 JP2017506458A5 (ja) 2017-09-07
JP6309641B2 true JP6309641B2 (ja) 2018-04-11

Family

ID=52577970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016550710A Expired - Fee Related JP6309641B2 (ja) 2014-02-10 2015-02-05 低レイテンシスイッチングを用いた動的クロックおよび電圧スケーリング

Country Status (6)

Country Link
US (1) US9678556B2 (ja)
EP (1) EP3105653A1 (ja)
JP (1) JP6309641B2 (ja)
KR (1) KR101844424B1 (ja)
CN (1) CN105980959B (ja)
WO (1) WO2015120199A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9933845B2 (en) * 2014-11-24 2018-04-03 Intel Corporation Apparatus and method to provide multiple domain clock frequencies in a processor
US10120408B2 (en) * 2015-09-30 2018-11-06 Texas Instruments Incorporated Event controlled clock switching
US11068018B2 (en) * 2016-10-25 2021-07-20 Dolphin Design System and method for power management of a computing system with a plurality of islands
CN106788398B (zh) 2016-12-06 2020-06-02 矽力杰半导体技术(杭州)有限公司 时钟分频电路、控制电路以及电源管理集成电路
KR102390766B1 (ko) 2017-05-22 2022-04-26 삼성에스디아이 주식회사 이차 전지
KR102640922B1 (ko) * 2018-03-05 2024-02-27 삼성전자주식회사 동작 상태에 따라 기능 모듈들을 저전력 상태로 제어하는 집적 회로, 전자 장치 및 그 제어 방법
CN109787625B (zh) * 2019-03-05 2022-04-05 上海芷锐电子科技有限公司 一种基于双pll的系统超频引起的电压毛刺保护系统
CN113157078B (zh) * 2020-01-07 2023-05-30 上海寒武纪信息科技有限公司 用于控制处理器的方法、装置及其处理器
US11442495B2 (en) * 2020-03-06 2022-09-13 Advanced Micro Devices, Inc. Separate clocking for components of a graphics processing unit
GB2597275B (en) * 2020-07-17 2022-09-07 Graphcore Ltd Multi-clock control
CN112130658A (zh) * 2020-09-29 2020-12-25 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 程控智能电源与时钟控制方法及系统
JP7422066B2 (ja) * 2020-12-28 2024-01-25 ルネサスエレクトロニクス株式会社 半導体装置
US11467622B2 (en) * 2021-02-23 2022-10-11 Texas Instruments Incorporated Clock oscillator control circuit
CN113572357B (zh) * 2021-07-23 2022-12-27 维沃移动通信有限公司 电子设备
KR102605288B1 (ko) * 2023-04-11 2023-11-23 주식회사 바움디자인시스템즈 집적 회로에 대한 소비 전력을 예측하기 위한 시뮬레이션 방법 및 이를 수행하는 집적 회로 시뮬레이션 시스템

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215725B1 (en) 1997-07-23 2001-04-10 Sharp Kabushiki Kaisha Clock-synchronized memory
US6425086B1 (en) 1999-04-30 2002-07-23 Intel Corporation Method and apparatus for dynamic power control of a low power processor
US6988211B2 (en) 2000-12-29 2006-01-17 Intel Corporation System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field
US7290161B2 (en) * 2003-03-24 2007-10-30 Intel Corporation Reducing CPU and bus power when running in power-save modes
US7171577B2 (en) * 2003-10-06 2007-01-30 Texas Instruments Incorporated Methods and apparatus for a system clock divider
WO2005052820A1 (en) 2003-10-31 2005-06-09 International Business Machines Corporation Method and apparatus for dynamic system-level frequency scaling
US7605622B2 (en) * 2005-09-29 2009-10-20 Hynix Semiconductor Inc. Delay locked loop circuit
US7539278B2 (en) 2005-12-02 2009-05-26 Altera Corporation Programmable transceivers that are able to operate over wide frequency ranges
WO2007148159A1 (en) 2006-06-22 2007-12-27 Freescale Semiconductor, Inc. A method and device for power management
US20080307240A1 (en) 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
US8028181B2 (en) 2008-09-19 2011-09-27 Intel Corporation Processor power consumption control and voltage drop via micro-architectural bandwidth throttling
US8448001B1 (en) 2009-03-02 2013-05-21 Marvell International Ltd. System having a first device and second device in which the main power management module is configured to selectively supply a power and clock signal to change the power state of each device independently of the other device
US8190931B2 (en) 2009-04-30 2012-05-29 Texas Instruments Incorporated Power management events profiling
KR101851614B1 (ko) * 2011-12-12 2018-06-12 삼성전자주식회사 기능블럭을 포함하는 SoC의 클락 제어 방법, 이를 구현한 SoC 및 이를 포함하는 반도체 시스템
KR101897050B1 (ko) * 2012-05-04 2018-09-12 에스케이하이닉스 주식회사 반도체 장치
CN103248358A (zh) * 2013-05-30 2013-08-14 上海贝岭股份有限公司 实时时钟补偿装置及方法

Also Published As

Publication number Publication date
US9678556B2 (en) 2017-06-13
CN105980959A (zh) 2016-09-28
US20150227185A1 (en) 2015-08-13
KR101844424B1 (ko) 2018-04-02
CN105980959B (zh) 2019-08-06
EP3105653A1 (en) 2016-12-21
KR20160119121A (ko) 2016-10-12
WO2015120199A1 (en) 2015-08-13
JP2017506458A (ja) 2017-03-02

Similar Documents

Publication Publication Date Title
JP6309641B2 (ja) 低レイテンシスイッチングを用いた動的クロックおよび電圧スケーリング
US10853304B2 (en) System on chip including clock management unit and method of operating the system on chip
US9588916B1 (en) Interrupt latency reduction
JP6595092B2 (ja) 電力配分ネットワーク(pdn)ドループ/オーバシュート緩和
US7640449B2 (en) Systems and methods for dynamic clock frequencies for low power design
US9733957B2 (en) Frequency and power management
KR102340679B1 (ko) 전압 드룹을 위한 클록 조정
JP4686065B2 (ja) クロック制御装置およびクロック制御方法
JP2017506458A5 (ja)
US11275708B2 (en) System on chip including clock management unit and method of operating the system on chip
KR102306084B1 (ko) 클럭 디바이더 디바이스 및 그 방법
KR20180078558A (ko) 시스템 온 칩의 구동 방법, 이를 수행하는 시스템 온 칩 및 이를 포함하는 전자 시스템
US8127161B2 (en) Data processing apparatus
EP3270257B1 (en) Clock adjustment for voltage droop
WO2023229866A1 (en) Fsm based clock switching of asynchronous clocks
JPH10320072A (ja) 消費電力制御回路
JP2015158826A (ja) 伝送装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170724

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170724

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180314

R150 Certificate of patent or registration of utility model

Ref document number: 6309641

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees