JP2018528524A - 配電網(pdn)ドループ/オーバーシュート緩和 - Google Patents

配電網(pdn)ドループ/オーバーシュート緩和 Download PDF

Info

Publication number
JP2018528524A
JP2018528524A JP2018505415A JP2018505415A JP2018528524A JP 2018528524 A JP2018528524 A JP 2018528524A JP 2018505415 A JP2018505415 A JP 2018505415A JP 2018505415 A JP2018505415 A JP 2018505415A JP 2018528524 A JP2018528524 A JP 2018528524A
Authority
JP
Japan
Prior art keywords
frequency
processors
clock
clock signal
signal clk
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.)
Granted
Application number
JP2018505415A
Other languages
English (en)
Other versions
JP6530134B2 (ja
JP2018528524A5 (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 JP2018528524A publication Critical patent/JP2018528524A/ja
Publication of JP2018528524A5 publication Critical patent/JP2018528524A5/ja
Application granted granted Critical
Publication of JP6530134B2 publication Critical patent/JP6530134B2/ja
Active 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
    • G06F1/08Clock generators with changeable or programmable 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/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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • 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
    • 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)

Abstract

配電網(PDN)ドループ/オーバーシュート緩和のためのシステムおよび方法が提供される。一実施形態では、1つまたは複数のプロセッサをアクティブ化するための方法は、クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減することを備え、ここにおいて、クロック信号は、1つまたは複数のプロセッサを含む複数のプロセッサに出力される。本方法はまた、クロック信号の周波数が低減された後に1つまたは複数のプロセッサをアクティブ化することと、1つまたは複数のプロセッサがアクティブ化された後に、クロック信号を第2のクロック周波数から第1のクロック周波数に増加させることとを備える。

Description

関連出願の相互参照
[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、2015年8月3日に米国特許商標庁に出願された非仮出願第14/817,178号の優先権および利益を主張する。
[0002]本開示の態様は、一般に配電網(PDN:power distribution network)に関し、より詳細には、PDNドループ/オーバーシュート緩和(droop/overshoot mitigation)に関する。
[0003]チップが、チップ上の1つまたは複数のプロセッサへの電力を管理する電力マネージャを含み得る。たとえば、電力マネージャは、電力を温存するために、プロセッサが使用されていないとき、チップ上のプロセッサをアイドルモードに入れ得る。プロセッサが後で必要とされたとき、電力マネージャは、プロセッサをアクティブモードに入れるためにプロセッサを起動し得る。
[0004]以下は、1つまたは複数の実施形態の基本的理解を与えるために、そのような実施形態の簡略化された概要を提示する。この概要は、すべての企図された実施形態の包括的な概観ではなく、すべての実施形態の主要または重要な要素を識別するものでも、いずれかまたはすべての実施形態の範囲を定めるものでもない。その唯一の目的は、後で提示されるより詳細な説明の導入として、1つまたは複数の実施形態のいくつかの概念を簡略化された形で提示することである。
[0005]一態様によれば、処理システムが本明細書で説明される。本処理システムは、複数のプロセッサと、入力クロック信号を生成するように構成されたクロックデバイスと、クロックデバイスから入力クロック信号を受信し、入力クロック信号に基づいて複数のプロセッサに出力クロック信号を出力するように構成された周波数調整器とを備える。本処理システムは、プロセッサのうちの1つまたは複数をアクティブにする(active)ための信号を受信するように構成された電力マネージャをも備え、ここにおいて、信号に応答して、電力マネージャは、出力クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減するように周波数調整器に命令し、出力クロック信号の周波数が第2のクロック周波数にある間、プロセッサのうちの1つまたは複数をアクティブにし、プロセッサのうちの1つまたは複数がアクティブ化された後に、出力クロック信号の周波数を第2のクロック周波数から第1のクロック周波数に増加させるように周波数調整器に命令するように構成される。
[0006]第2の態様は、1つまたは複数のプロセッサをアクティブ化するための方法に関する。本方法は、クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減することを備え、ここにおいて、クロック信号は、1つまたは複数のプロセッサを含む複数のプロセッサに出力される。本方法はまた、クロック信号の周波数が低減された後に1つまたは複数のプロセッサをアクティブ化することと、1つまたは複数のプロセッサがアクティブ化された後に、クロック信号を第2のクロック周波数から第1のクロック周波数に増加させることとを備える。
[0007]第3の態様は、1つまたは複数のプロセッサをアクティブ化するための装置に関する。本装置は、クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減するための手段を備え、ここにおいて、クロック信号は、1つまたは複数のプロセッサを含む複数のプロセッサに出力される。本装置はまた、クロック信号の周波数が低減された後に1つまたは複数のプロセッサをアクティブ化するための手段と、1つまたは複数のプロセッサがアクティブ化された後に、クロック信号を第2のクロック周波数から第1のクロック周波数に増加させるための手段とを備える。
[0008]上記および関連する目的を達成するために、1つまたは複数の実施形態は、以下で十分に説明され、特に特許請求の範囲で指摘される特徴を備える。以下の説明および添付の図面は、1つまたは複数の実施形態のいくつかの例示的な態様を詳細に記載する。ただし、これらの態様は、様々な実施形態の原理が採用され得る様々な方法のほんのいくつかを示すものであり、説明される実施形態は、すべてのそのような態様およびそれらの均等物を含むものとする。
[0009]電力管理をもつ例示的なマルチコア処理システムを示す図。 [0010]本開示の一実施形態による、電力管理をもつ例示的なマルチコア処理システムを示す図。 [0011]本開示の一実施形態による、1つまたは複数のプロセッサのアクティブ化中の例示的なクロック信号を示す図。 [0012]本開示の一実施形態による、図3A中のクロック信号のうちの1つの周波数を経時的に示す図。 [0013]本開示の一実施形態による、周波数ランプダウンの一例を示す図。 [0014]本開示の一実施形態による、周波数ランプアップの一例を示す図。 [0015]本開示の一実施形態による、周波数ランプダウンおよび周波数ランプアップの一例を示す図。 [0016]本開示の一実施形態による、電力マネージャに結合されたタイマーの一例を示す図。 [0017]本開示の一実施形態による、温度コントローラおよび電流コントローラの一例を示す図。 [0018]本開示の一実施形態による、複数のクロックソースを備えるクロックデバイスの一例を示す図。 [0019]本開示の一実施形態による、1つまたは複数のプロセッサがアクティブ化される例示的なタイムラインを示す図。 [0020]本開示の一実施形態による、複数のクロック信号を出力することが可能なクロックデバイスの一例を示す図。 [0021]本開示の一実施形態による、例示的なクロックゲーティング回路を示す図。 [0022]本開示の一実施形態による、1つまたは複数のプロセッサをアクティブ化するための方法を示す流れ図。
[0023]添付の図面に関して以下に記載される発明を実施するための形態は、様々な構成を説明するものであり、本明細書で説明される概念が実施され得る構成のみを表すものではない。発明を実施するための形態は、様々な概念の完全な理解を与えるための具体的な詳細を含む。ただし、これらの概念はこれらの具体的な詳細なしに実施され得ることが当業者には明らかであろう。いくつかの事例では、そのような概念を不明瞭にしないように、よく知られている構造および構成要素がブロック図の形式で示される。
[0024]図1は、第1のプロセッサ115(1)と、第2のプロセッサ115(2)と、第3のプロセッサ115(3)と、第4のプロセッサ115(4)とを備えるマルチコア処理システム105(たとえば、クワッドコア処理システム)の一例を示す。各プロセッサは、プロセッサコア、処理ユニットまたは他の用語で呼ばれることもある。処理システム105は、(「Clk」と示される)クロック信号を生成し、それをプロセッサ115(1)〜115(4)に出力するクロックデバイス110をも備える。クロックデバイス110は、たとえば、(たとえば、水晶発振器からの)基準クロック信号の周波数に所望の量を乗算す-ることによってクロック信号Clkを生成する位相ロックループ(PLL:phase-locked loop)を備え得る。各プロセッサは、プロセッサ中の論理ゲート(たとえば、トランジスタ)をスイッチングするためにクロック信号Clkを使用し得る。
[0025]プロセッサ115(1)〜115(4)は、PDN(図示せず)を介して外部電源(図示せず)から電力を受信し得る。外部電源は、電力管理集積回路(PMIC:power management integrated circuit)または別の電源を備え得る。また、他のデバイス(たとえば、論理デバイス、I/Oインターフェース、モデム、メモリなど)が、外部電源から電力を受信するためにPDNに結合され得る。たとえば、処理システム105は、他のデバイスをも含むモバイルデバイス中に含まれ得る。
[0026]処理システム105は、処理システム105のための電力を管理するように構成された電力マネージャ120をさらに備える。この点について、電力マネージャ120は、電力を温存するために、プロセッサが使用されていないとき、プロセッサ115(1)〜115(4)のいずれか1つを(スリープモードとも呼ばれる)アイドルモードに入れ得る。プロセッサが後で必要とされたとき、電力マネージャ120は、プロセッサをアクティブモードに入れ得る。所与の時間において、任意の数(たとえば、0〜すべて)のプロセッサ115(1)〜115(4)がアイドルモードにあり得る。したがって、電力マネージャ120は、プロセッサ115(1)〜115(4)のアイドル/アクティブモードを管理することによって、処理システム105の電力を管理する。
[0027]プロセッサがアイドルモードにあるとき、プロセッサの内部クロック経路がゲートされ、これは、クロック信号Clkが内部クロック経路を介してプロセッサ中の論理ゲートに伝搬するのを防ぐ。これは、論理ゲートによるスイッチングアクティビティを停止し、それにより、プロセッサの動的電力消費を著しく低減する。プロセッサがアクティブモードにあるとき、内部クロック経路はアンゲート(un-gate)され、クロック信号Clkがプロセッサ中の論理ゲートに伝搬することが可能になる。アクティブモードでは、プロセッサは、命令をフェッチ、復号および/または実行し得る。
[0028]一例では、プロセッサは、プロセッサをアイドルモードに入れることを電力マネージャ120に要求する信号を電力マネージャ120に送り得る。プロセッサは、たとえば、中断まで待機(WFI:wait-for-interrupt)またはイベントまで待機(WFE:wait-for-event)命令を実行すると、信号を送り得る。プロセッサはまた、プロセッサが実行を現在待っているタスクを有しないとき、信号を送り得る。信号に応答して、電力マネージャ120は、プロセッサをアクティブモードからアイドルモードに遷移させ得る。電力マネージャ120は、電力マネージャ120が中断信号を受信するか、または特定のイベントが発生したとき、プロセッサをアクティブモードに後で遷移させ得る。
[0029]図1中の処理システム105に関する問題は、プロセッサがアイドルモードからアクティブモードに遷移するとき、プロセッサが、フルクロック周波数(すなわち、クロック信号Clkの周波数)においてスイッチングアクティビティを直ちに再開し得ることである。これは、プロセッサ115(1)〜115(4)によって共有されるPDN上の電流負荷を急激に変化させ、PDN上の電源電圧をドループさせることがある。電圧ドループが十分に大きい場合、電圧ドループは、他のプロセッサが誤動作すること、および/またはPDNに結合された他のデバイス(図示せず)が誤動作することを引き起こし得る。電圧ドループは、2つまたはそれ以上のプロセッサがほぼ同時にアイドルモードからアクティブモードに遷移する場合、より悪くなり得る。したがって、1つまたは複数のプロセッサのアクティブ化によって引き起こされるPDN上の電圧ドループを緩和する必要がある。
[0030]図2は、本開示の一実施形態による、マルチコア処理システム205を示す。処理システム205は、さらに、電力マネージャ220の制御下でクロック信号Clkの周波数を調整可能な量だけ低減するように構成されたクロック周波数調整器210を備える。一例では、クロック周波数調整器210は、クロック信号Clkのパルスを選択的にスワローする(swallow)ことによってクロック信号Clkの周波数を低減するパルススワロワ(swallower)を備え得る。たとえば、パルススワロワは、クロック信号Clkの1つおきのパルスをスワローすることによって、クロック信号Clkの周波数を50%だけ低減し得る。別の例では、クロック周波数調整器210は、クロック信号Clkの周波数を調整可能な量(除数)で除算することによってクロック信号Clkの周波数を低減する周波数分割器(たとえば、フラクショナル周波数分割器)を備え得る。たとえば、周波数分割器は、クロック信号Clkの周波数を2で除算することによって、クロック信号Clkの周波数を50%だけ低減し得る。
[0031]一実施形態では、電力マネージャ220は、以下でさらに説明されるように、プロセッサ115(1)〜115(4)のうちの少なくとも1つがアクティブモードにあり、他のプロセッサ115(1)〜115(4)のいずれもアイドルモードとアクティブモードとの間で遷移するプロセスにないとき、クロック信号Clkを受け渡すように周波数調整器210に命令するように構成され得る。この場合、周波数調整器210によってプロセッサ115(1)〜115(4)に出力された(「Clk_out」と示される)クロック信号は、クロックデバイス110からのクロック信号Clkと同じである。
[0032]プロセッサ115(1)〜115(4)のうちの1つまたは複数が(たとえば、中断信号またはイベントに応答して)アイドルモードからアクティブモードに遷移すべきであり、プロセッサ115(1)〜115(4)のうちの1つまたは複数の他のプロセッサがすでにアクティブモードにあるとき、電力マネージャ220は、クロック信号Clk_outの周波数をあらかじめ決定された量だけ低減するように周波数調整器210に命令し得る。以下で説明されるように、クロック周波数のこの低減は、1つまたは複数のプロセッサがアクティブ化されるときのPDN上の電圧ドループを低減する。
[0033]クロック周波数が低減された後に、電力マネージャ220は、1つまたは複数のプロセッサをアクティブ化するために1つまたは複数のプロセッサの内部クロック経路をアンゲートする。これは、1つまたは複数のプロセッサ中の論理ゲートが、クロック信号Clk_outを使用してスイッチングを開始することを引き起こす。時間期間が経過した後に、電力マネージャ220は、クロック信号Clk_outの周波数をフルクロック周波数(すなわち、クロックデバイス110からのクロック信号Clkの周波数)に増加させるように周波数調整器210に命令する。時間期間は、以下でさらに説明される1つまたは複数のファクタに基づき得る。
[0034]したがって、電力マネージャ220は、1つまたは複数のプロセッサをアクティブ化するより前に、プロセッサ115(1)〜115(4)へのクロック信号Clk_outの周波数を低減する。クロック周波数が低減された後に、電力マネージャ220は、1つまたは複数のプロセッサをアクティブにするために1つまたは複数のプロセッサの内部クロック経路をアンゲートする。時間期間が経過した後に、電力マネージャ120は、クロック信号Clk_outの周波数をフルクロック周波数に増加させるように周波数調整器210に命令する。クロック周波数の一時的低減は、1つまたは複数のプロセッサがアクティブ化されるときの電流負荷の変化におけるレートを低減する。これは、1つまたは複数のプロセッサがアクティブ化されるときのPDN上の電圧ドループを低減する。
[0035]図3Aは、本開示の一実施形態による、クロックデバイス110からのクロック信号Clkと周波数調整器210によって出力されたクロック信号Clk_outとの例示的なタイムラインを示す。この例では、プロセッサのうちの1つまたは複数は、他のプロセッサのうちの1つまたは複数がすでにアクティブモードにある間、アイドルモードからアクティブモードに遷移する。最初に、クロック信号Clk_outは、フルクロック周波数(すなわち、クロックデバイス110からのクロック信号Clkの周波数)にある。時間t1において、電力マネージャ220は、クロック信号Clk_outの周波数を25%だけ低減して、フルクロック周波数の約75%に等しい周波数にするように周波数調整器210に命令する。電力マネージャ220は、以下でさらに説明されるように、たとえば、中断信号またはイベントに応答してこれを行い得る。図3Aに示されている例では、周波数調整器210は、クロックデバイス110からのクロック信号Clkの4つごとのパルスの中から1つをスワローすることによって、クロック信号Clk_outの周波数をフルクロック周波数の75%に低減する。
[0036]周波数が低減された後に、電力マネージャ220は、時間t2において、1つまたは複数のプロセッサをアクティブ化するために1つまたは複数のプロセッサの内部クロック経路をアンゲートする。これは、1つまたは複数のプロセッサ中の論理ゲートが、クロック信号Clk_outを使用してスイッチングを開始することを引き起こす。電力マネージャ220は、時間t3においてクロック信号Clk_outの周波数をフルクロック周波数に増加させるように周波数調整器210に命令する前に、(図3A中で「待機時間」と標示される)時間期間の間待機する。
[0037]図3Bは、図3A中の例のために、クロック信号Clk_outの周波数をフルクロック周波数の割合として示す。図3Bに示されているように、クロック信号Clk_outの周波数は、1つまたは複数のプロセッサのアクティブ化より前である時間t1において、フルクロック周波数の75%に低減される。1つまたは複数のプロセッサの内部クロック経路がアンゲートされた後に、クロック信号Clk_outの周波数は、時間t3においてフルクロック周波数に復元される。
[0038]図3A中の待機時間が、図3Aに示されているクロック信号Clkのサイクル(期間)よりも多くのサイクルにわたり得ることを諒解されたい。さらに、図3Aは、クロック信号Clk_outの周波数がクロックパルススワロー(clock pulse swallowing)を使用して低減される一例を示すが、クロック信号Clk_outの周波数はまた、クロック信号Clkの周波数を分割することによって低減され得ることを諒解されたい。また、本開示は、クロック信号Clk_outがフルクロック周波数の75%に低減される例に限定されず、クロック信号Clk_outの周波数がフルクロック周波数の他の割合に低減され得ることを諒解されたい。たとえば、クロック信号Clk_outの周波数は、フルクロック周波数の20%から80%の間の周波数、またはフルクロック周波数の50%〜80%に低減され得る。
[0039]一実施形態では、電力マネージャ220は、アクティブ化されるべきであるプロセッサの数および/またはすでにアクティブモードにあるプロセッサの数に応じて、クロック信号Clk_outの周波数を異なる量だけ低減し得る。たとえば、電力マネージャ220は、異なるシナリオをリストするテーブルをメモリ中に含み得、ここで、各シナリオは、アクティブ化されるべきである1つまたは複数のプロセッサおよび/またはすでにアクティブモードにある1つまたは複数の他のプロセッサに対応する。各シナリオについて、テーブルは、クロック信号Clk_outのための対応する低減された周波数(たとえば、フルクロック周波数の75%)を示し得る。
[0040]この例では、1つまたは複数のプロセッサがアクティブ化されるべきであるとき、電力マネージャ220は、アクティブ化されるべき1つまたは複数のプロセッサおよび/またはすでにアクティブモードにある1つまたは複数の他のプロセッサに基づいて、テーブル中のどのシナリオが適用されるかを決定し得る。適用可能なシナリオを決定した後に、電力マネージャ220は、テーブル中の対応する低減された周波数(たとえば、フルクロック周波数の75%)をルックアップし、クロック信号Clk_outの周波数を、テーブル中の対応する低減された周波数に低減するように周波数調整器210に命令し得る。
[0041]テーブルは経験的に生成され得る。たとえば、各シナリオについて、PDN上の電圧ドループは、(たとえば、テスト環境において外部測定デバイスによって)異なる低減された周波数について測定され得る。次いで、各測定された電圧ドループは、電圧ドループ限界(たとえば、PDNに結合されたプロセッサおよび/または他のデバイスによって、誤動作することなしに許容され得る電圧ドループの量)と比較され得る。この例では、電圧ドループ限界内の電圧ドループを生じる低減された周波数のうちの1つが、シナリオのために選定され、テーブルに記憶され得る。一態様では、電圧ドループ限界内の電圧ドループを生じる低減された周波数のうちの最も大きい周波数が、シナリオのために選定され、テーブルに記憶され得る。これは、クロック信号Clk_outの周波数が低減されたときの性能損失を最小限に抑えるために行われ得る。したがって、各シナリオのための低減された周波数は、経験的に決定され、電力マネージャ220による後の使用のためにテーブルに記憶され得る。
[0042]一実施形態では、クロック信号Clk_outの周波数が低減された周波数に低減されるべきであるとき、電力マネージャ220は、フルクロック周波数から対応する低減された周波数にジャンプする代わりに、クロック信号Clk_outの周波数を、フルクロック周波数から対応する低減された周波数にランプダウンするように周波数調整器210に命令し得る。これは、以下でさらに説明されるように、PDN上の電圧オーバーシュートを緩和するために行われ得る。
[0043]クロック信号Clk_outの周波数を低減することは、アクティブモードにある1つまたは複数のプロセッサからのPDN上の電流負荷を減少させる。電流負荷の減少は、PDN上の電圧オーバーシュートを引き起こし、オーバーシュートの量は、電流負荷が減少するレートに依存し、より高いレートは、概して、より大きいオーバーシュートに対応する。クロック信号Clkの周波数をランプダウンすることによって、電力マネージャ220は、電流負荷が減少するレートを低減し、それにより、オーバーシュートが低減する。
[0044]この点について、図4は、クロック信号Clk_outの周波数がフルクロック周波数の50%に低減される一例のために、クロック信号Clk_outの周波数をフルクロック周波数の割合として経時的に示す。この例では、電力マネージャ220は、1つまたは複数のプロセッサがアクティブ化されるべきであり、1つまたは複数の他のプロセッサがすでにアクティブモードにあるとき、クロック信号Clk_outを低減し得る。図4に示されているように、クロック信号Clk_outの周波数は、複数のステップにおいてランプダウンされ、クロック信号Clk_outの周波数は、各後続のステップにおいてより低い周波数に低減される。クロック信号Clk_outの周波数は、この例における1つまたは複数のプロセッサがアクティブ化される前に、フルクロック周波数の50%にランプダウンされる。
[0045]第1のステップにおいて、クロック信号Clk_outの周波数は、フルクロック周波数の87.5%に低減される。これは、たとえば、クロック信号Clkの8つのパルスごとに1つのパルスをスワローすることによって行われ得る。第2のステップにおいて、クロック信号Clk_outの周波数は、フルクロック周波数の75%に低減される。第3のステップにおいて、クロック信号Clk_outの周波数は、フルクロック周波数の67.5%に低減される。これは、たとえば、クロック信号Clkの8つのパルスごとに3つのパルスをスワローすることによって行われ得る。最終的に、第4のステップにおいて、クロック信号Clk_outの周波数は、フルクロック周波数の50%に低減される。各ステップの持続時間はあらかじめ決定され得る。クロック信号Clk_outの周波数がフルクロック周波数の50%に低減された後に、電力マネージャ220は、1つまたは複数のプロセッサをアクティブ化するために1つまたは複数のプロセッサの内部クロック経路をアンゲートし得る。
[0046]したがって、クロック信号Clk_outの周波数は、複数のステップにわたってランプダウンされ、クロック信号Clk_outの周波数は、各後続のステップにおいてより低い周波数に低減される。上記の図4の説明がクロックパルススワローの例を使用するが、本開示はこの例に限定されないことを諒解されたい。たとえば、クロック信号Clk_outの周波数は、周波数分割器を使用してランプダウンされ得る。この例では、クロック信号Clk_outの周波数は、クロック信号Clkの周波数を増加する量(除数)で除算することによってランプダウンされ得る。
[0047]上記で説明されたように、電力マネージャ220は、異なるシナリオをリストするテーブルをメモリ中に含み得、ここで、各シナリオは、アクティブ化されるべきである1つまたは複数のプロセッサおよび/またはすでにアクティブモードにある1つまたは複数の他のプロセッサに対応する。各シナリオについて、テーブルは、クロック信号Clk_outのための対応する低減された周波数(たとえば、フルクロック周波数の50%)を示し得る。各シナリオについて、テーブルは、クロック信号Clk_outの周波数を、フルクロック周波数から対応する低減された周波数にランプダウンするための対応するランプダウンシーケンスをも示し得る。ランプダウンシーケンスは、フルクロック周波数と対応する低減された周波数との間の中間周波数のシーケンスを指定し得、中間周波数は、最も高い周波数から最も低い周波数に順序付けられ得る。
[0048]この例では、1つまたは複数のプロセッサがアクティブ化されるべきであるとき、電力マネージャ220は、テーブル中のどのシナリオが適用されるかを決定し得る。適用可能なシナリオを決定した後に、電力マネージャ220は、テーブル中の対応する低減された周波数とランプダウンシーケンスとをルックアップし得る。電力マネージャ220は、次いで、クロック信号Clk_outの周波数を、最も高い周波数から最も低い周波数の順のランプダウンシーケンスにおける中間周波数の各々に連続的に低減するように周波数調整器210に命令し得る。各中間周波数上で費やされる時間の量はあらかじめ決定され得る。最後の中間周波数が到達された後に、電力マネージャ220は、クロック信号Clk_outの周波数を、対応する低減された周波数(たとえば、フルクロック周波数の50%)に低減するように周波数調整器210に命令し得る。電力マネージャ220は、次いで、シナリオの下でアクティブ化されるべき1つまたは複数のプロセッサをアクティブ化し得る。
[0049]テーブル中の異なるシナリオのためのランプダウンシーケンスは経験的に生成され得る。たとえば、各シナリオについて、PDN上の電圧オーバーシュートは、異なるランプダウンシーケンスについて測定され得る。次いで、各測定された電圧オーバーシュートは、電圧オーバーシュート限界(たとえば、PDNに結合されたプロセッサおよび/または他のデバイスによって、誤動作することなしに許容され得る電圧オーバーシュートの量)と比較され得る。この例では、電圧オーバーシュート限界内の電圧オーバーシュートを生じるランプダウンシーケンスのうちの1つが、シナリオのために選定され、テーブルに記憶され得る。
[0050]一実施形態では、クロック信号Clk_outの周波数が、1つまたは複数のプロセッサのアクティブ化の後にフルクロック周波数に復元されるとき、電力マネージャ220は、対応する低減された周波数からフルクロック周波数にジャンプする代わりに、クロック信号Clk_outの周波数を、対応する低減された周波数からフルクロック周波数にランプアップするように周波数調整器210に命令し得る。これは、以下でさらに説明されるように、PDN上の電圧ドループを緩和するために行われ得る。
[0051]クロック信号Clk_outの周波数を増加させることは、1つまたは複数のアクティブプロセッサからのPDN上の電流負荷を増加させる。電流負荷の増加は、PDN上の電圧ドループを引き起こし、ドループの量は、電流負荷が増加するレートに依存し、より高いレートは、概して、より大きいドループに対応する。クロック信号Clkの周波数をランプアップすることによって、電力マネージャ220は、電流負荷が増加するレートを低減し、それにより、ドループが低減する。
[0052]この点について、図5は、クロック信号Clk_outの周波数がフルクロック周波数の50%からフルクロック周波数に増加される一例のために、クロック信号Clk_outの周波数をフルクロック周波数の割合として経時的に示す。この例では、電力マネージャ220は、1つまたは複数のプロセッサがアクティブ化された後にフルクロック周波数を復元するために、クロック信号Clk_outの周波数を増加させ得る。図5に示されているように、クロック信号Clk_outの周波数は、複数のステップにおいてランプアップされ、クロック信号Clk_outの周波数は、各後続のステップにおいてより高い周波数に増加される。クロック信号Clk_outの周波数は、この例における1つまたは複数のプロセッサがアクティブ化された後にランプアップされ得る。
[0053]第1のステップにおいて、クロック信号Clk_outの周波数は、フルクロック周波数の67.5%に増加される。第2のステップにおいて、クロック信号Clk_outの周波数は、フルクロック周波数の75%に増加される。第3のステップにおいて、クロック信号Clk_outの周波数は、フルクロック周波数の87.5%に増加される。最終的に、第4のステップにおいて、クロック信号Clk_outの周波数は、フルクロック周波数に増加され、それにより、プロセッサにフルクロック周波数を復元する。各ステップの持続時間はあらかじめ決定され得る。
[0054]したがって、クロック信号Clk_outの周波数は、複数のステップにわたってランプアップされ、クロック信号Clk_outの周波数は、各後続のステップにおいてより高い周波数に増加される。一例では、クロック信号Clk_outの周波数は、クロックスワロワを使用してランプアップされ得る。この例では、クロック信号Clk_outの周波数は、クロックパルスの減少する割合をスワローすることによってランプアップされる。別の例では、クロック信号Clk_outの周波数は、周波数分割器を使用してランプアップされ得る。この例では、クロック信号Clk_outの周波数は、クロック信号Clkの周波数を減少する量(除数)で除算することによってランプアップされる。
[0055]上記で説明されたように、電力マネージャ220は、異なるシナリオをリストするテーブルをメモリ中に含み得、ここで、各シナリオは、アクティブ化されるべきである1つまたは複数のプロセッサおよび/またはすでにアクティブモードにある1つまたは複数の他のプロセッサに対応する。各シナリオについて、テーブルは、クロック信号Clk_outおよび/またはランプダウンシーケンスのための対応する低減された周波数(たとえば、フルクロック周波数の50%)を示し得る。各シナリオについて、テーブルは、シナリオの下での1つまたは複数のプロセッサのアクティブ化の後に、クロック信号Clk_outの周波数をフルクロック周波数にランプアップするための対応するランプアップシーケンスをも示し得る。ランプアップシーケンスは、対応する低減された周波数とフルクロック周波数との間の中間周波数のシーケンスを指定し得、中間周波数は、最も低い周波数から最も高い周波数に順序付けられ得る。
[0056]この例では、1つまたは複数のプロセッサがアクティブ化されるべきであるとき、電力マネージャ220は、テーブル中のどのシナリオが適用されるかを決定し得る。適用可能なシナリオを決定した後に、電力マネージャ220は、テーブル中の対応する低減された周波数とランプアップシーケンスとをルックアップし得る。電力マネージャ220は、次いで、クロック信号Clk_outの周波数を、対応する低減された周波数に低減し得る。これは、上記で説明されたように、クロック信号Clk_outの周波数をランプダウンすることを伴い得る。クロック信号Clk_outの周波数が低減された後に、電力マネージャ220は、シナリオの下でアクティブ化されるべき1つまたは複数のプロセッサをアクティブ化し得る。1つまたは複数のプロセッサがアクティブ化された後に、電力マネージャ220は、クロック信号Clk_outの周波数を、最も低い周波数から最も高い周波数の順のランプアップシーケンスにおける中間周波数の各々に連続的に増加させるように周波数調整器210に命令し得る。各中間周波数上で費やされる時間の量はあらかじめ決定され得る。最後の中間周波数が到達された後に、電力マネージャ220は、クロック信号Clk_outの周波数をフルクロック周波数に増加させるように周波数調整器210に命令し得る。
[0057]テーブル中の異なるシナリオのためのランプアップシーケンスは経験的に生成され得る。たとえば、各シナリオについて、PDN上の電圧ドループは、異なるランプアップシーケンスについて測定され得る。次いで、各測定された電圧ドループは、電圧ドループ限界と比較され得る。この例では、電圧ドループ限界内の電圧ドループを生じるランプアップシーケンスのうちの1つが、シナリオのために選定され、テーブルに記憶され得る。
[0058]図6は、(たとえば、中断信号またはイベントに応答して)1つまたは複数のプロセッサがアクティブ化され、1つまたは複数の他のプロセッサがすでにアクティブモードにある一例のために、クロック信号Clk_outの周波数をフルクロック周波数の割合として経時的に示す。最初に、プロセッサへのクロック信号Clk_outは、フルクロック周波数(すなわち、クロックデバイス110からのクロック信号Clkの周波数)にある。時間t1において、電力マネージャ220は、クロック信号Clk_outの周波数をフル周波数の50%に等しい低減された周波数にランプダウンするように周波数調整器210に命令する。時間t2において、クロック信号Clk_outの周波数は、低減された周波数に到達する。電力マネージャ220は、次いで、時間t3において、1つまたは複数のプロセッサをアクティブにするために1つまたは複数のプロセッサの内部クロック経路をアンゲートする。(図6中の「待機時間」と標示される)待機期間の後に、電力マネージャ220は、時間t4において、クロック信号Clk_outの周波数をフルクロック周波数にランプアップするように周波数調整器210に命令する。時間t5において、クロック信号Clk_outの周波数はフル周波数に復元される。クロック信号Clk_outの周波数がフルクロック周波数の50%のほかに他の周波数に低減され得、したがって、フルクロック周波数の50%の例に限定されないことを諒解されたい。
[0059]上記で説明されたように、1つまたは複数のプロセッサの内部クロック経路をアンゲートした後に、電力マネージャ220は、クロック信号Clk_outの周波数をフルクロック周波数に増加させる前に待機期間の間待機し得る。一例では、待機期間は、以下で説明されるように、1つまたは複数のプロセッサの内部クロック経路がアンゲートされた後のPDNのための電圧整定時間に依存し得る。
[0060]1つまたは複数のプロセッサの内部クロック経路をアンゲートすることは、1つまたは複数のプロセッサからのPDN上の電流負荷の増加により、PDN上の電圧ドループを引き起こす。この電圧ドループは、上記で説明されたように、1つまたは複数のプロセッサの内部クロック経路をアンゲートするより前にクロック信号Clk_outの周波数を低減することによって低減される。電圧ドループの後に、PDNの電圧は、PDNの公称電源電圧にほぼ等しい電圧に徐々に整定する。この例では、待機時間は、PDNの電圧が、PDNの公称電源電圧のある範囲内に(たとえば、5%以下内に)整定するのに要する時間によって決定され得る。整定時間は、以下でさらに説明されるように、経験的に決定され得る。
[0061]上記で説明されたように、電力マネージャ220は、異なるシナリオをリストするテーブルをメモリ中に含み得、ここで、各シナリオは、アクティブ化されるべきである1つまたは複数のプロセッサおよび/またはすでにアクティブモードにある1つまたは複数の他のプロセッサに対応する。各シナリオについて、テーブルは、対応する低減された周波数と、対応する待機時間とを含み得る。この例では、1つまたは複数のプロセッサがアクティブ化されるべきであるとき、電力マネージャ220は、テーブル中のどのシナリオが適用されるかを決定し得る。適用可能なシナリオを決定した後に、電力マネージャ220は、テーブル中の対応する低減された周波数と対応する待機時間とをルックアップし得る。電力マネージャ220は、次いで、クロック信号Clk_outの周波数を、対応する低減された周波数に低減し得る。クロック信号Clk_outの周波数が低減された後に、電力マネージャ220は、シナリオの下でアクティブ化されるべき1つまたは複数のプロセッサの内部クロック経路をアンゲートし得る。クロック経路がアンゲートされた後に、電力マネージャ220は、クロック信号Clk_outの周波数をフルクロック周波数に増加させる前に、対応する待機時間の間待機する。この例では、電力マネージャ220は、待機時間がいつ経過したかを決定するためにタイマーを使用し得る。
[0062]テーブル中の異なるシナリオのための待機時間は経験的に生成され得る。たとえば、各シナリオについて、PDNの電圧波形は、シナリオの下でアクティブ化されるべき1つまたは複数のプロセッサの内部クロック経路がアンゲートされるときに測定され得る。電圧波形は、次いで、PDNの電圧がPDNの公称電源電圧のある範囲内に整定する時間を決定するために分析され得る。決定された時間(整定時間)は、シナリオのための待機時間を決定するために使用され得、決定された待機時間は、電力マネージャ220による後の使用のためにテーブルに記憶され得る。
[0063]上記で説明されたように、電力マネージャ220は、プロセッサが、中断まで待機(WFI)命令、イベントまで待機(WFE)命令、またはプロセッサがアイドルモードに入れられるべきであることを示す別の命令を実行したとき、プロセッサ115(1)〜115(4)のうちの1つをアイドルモードに入れ得る。命令を実行すると、プロセッサは、プロセッサをアイドルモードに入れるように電力マネージャ220にシグナリングし得る。プロセッサがアイドルモードに入れられた後に、電力マネージャ220は、電力マネージャ220が中断信号を受信するか、またはあるイベントが発生したとき、プロセッサをアクティブモードに遷移させ得る。中断信号は、(たとえば、データを処理するために)プロセッサを必要とするデバイス(たとえば、周辺デバイス)から来得る。
[0064]別の例では、中断信号はタイマーから来得る。この点について、図7は、処理システム705が、電力マネージャ220に結合されたタイマー710を含む一例を示す。この例では、プロセッサをアイドルモードに入れるようにとの信号を受信したことに応答して、電力マネージャ220はタイマー710をトリガし得る。トリガされた後に、タイマー710は、あらかじめ決定された時間期間が経過した後に、電力マネージャ220に中断信号を送り得る。タイマー710は、内部カウンタまたは別の回路を使用して時間を追跡し得る。タイマー710からの中断信号に応答して、電力マネージャ220は、上記で説明されたように、プロセッサをアクティブ化し得る。
[0065]電力マネージャ220は、あらかじめ決定された時間期間をタイマー710にプログラムし得る。あらかじめ決定された時間期間は、プロセッサが再び必要とされるまでの時間の量の推定値に基づき得る。たとえば、プロセッサは、時間フレームにおいてデータを処理するために使用され得る。この例では、プロセッサは、次の時間フレームのためのデータが受信される前に、現在の時間フレームのためのデータを処理することを終了し得る。この場合、プロセッサが、現在の時間フレームのためのデータを処理することを終了されたとき、プロセッサは、プロセッサをアイドルモードに入れるように電力マネージャ220にシグナリングし得る。応答して、電力マネージャ220は、電力を温存するために、プロセッサをアイドルモードに入れ得る。電力マネージャ220はまた、タイマー710が次のフレームの開始の直前に中断信号を送るように、次の時間フレームの開始までの時間の量を決定し、決定された時間の量に従ってタイマー710をプログラムし得る。代替的に、プロセッサは、次のフレームまでの時間の量を決定し、それに応じてタイマー710をプログラムするために、決定された時間の量を電力マネージャ220に送り得る。
[0066]別の例では、電力マネージャ220は、あるイベントが発生したとき、プロセッサをアクティブモードに遷移させ得る。この例では、イベントが発生したとき、電力マネージャ220は、イベントが発生したことを示すイベント信号をデバイス(たとえば、周辺デバイス)から受信し得る。イベント信号に応答して、電力マネージャ220は、上記で説明されたように、プロセッサをアクティブ化し得る。
[0067]イベントは、デバイス(たとえば、周辺デバイス)がプロセッサを使用する必要であり得る。この例では、デバイスが(たとえば、データ処理のために)プロセッサを使用する必要があるとき、デバイスは、プロセッサをアクティブ化するために電力マネージャ220にイベント信号を送り得る。デバイス(たとえば、カメラ)は、アクティブ化され、および/または処理システム205または705を備えるモバイルデバイス(たとえば、スマートフォン)に接続されたすぐ後に、電力マネージャ220にイベント信号を送り得る。また、デバイスは、デバイスが2つ以上のプロセッサを必要とする場合、2つまたはそれ以上のプロセッサをアクティブ化するためにイベント信号を送り得ることを諒解されたい。
[0068]上記の例では、周波数調整器210は、プロセッサ115(1)〜115(4)のうちの1つまたは複数のアクティブ化より前にクロック信号Clk_outの周波数を低減するために使用される。しかしながら、周波数調整器210は、他の適用例においてクロック信号Clk_outの周波数を低減するためにも使用され得ることを諒解されたい。たとえば、温度コントローラが、温度緩和中にクロック信号Clk_outの周波数を低減するために周波数調整器210を使用し得る。この点について、図8は、温度コントローラ810が、1つまたは複数のオンチップ温度センサー820を使用して、プロセッサシステム805が存在するチップの温度を監視する、処理システム805の一例を示す。監視された温度が熱しきい値を上回り上昇した場合、温度コントローラ810は、温度を低減するために、クロック信号Clk_outの周波数を低減するように周波数調整器210に命令し得る。低減された周波数は、アクティブプロセッサの動的電力散逸を低減することによって温度を低減する。
[0069]別の例では、電流コントローラ830は、PDN上の電流が電流限界を超えるのを防ぐために周波数調整器210を使用し得る。この例では、電流コントローラ830は、1つまたは複数のオンチップ電流センサー840を使用して、PDN上の電流を監視し得る。監視された電流が電流限界を超える場合、電流コントローラ830は、電流を低減するために、クロック信号Clk_outの周波数を低減するように周波数調整器210に命令し得る。低減された周波数は、アクティブプロセッサの電流負荷を低減することによって電流を低減する。
[0070]したがって、1つまたは複数のプロセッサがアクティブ化されるべきであるとき、クロック信号Clk_outの周波数は、(たとえば、温度緩和により)クロック信号Clkの周波数よりも低い周波数にすでにあり得る。この場合、電力マネージャ220は、クロック信号Clk_outの周波数をどのくらい低減すべきかを決定する際に、クロック信号Clk_outの現在の周波数を考慮に入れ得る。
[0071]この点について、電力マネージャ220は、異なるシナリオをリストするテーブルをメモリ中に含み得、ここで、各シナリオは、アクティブ化されるべきである1つまたは複数のプロセッサ、すでにアクティブモードにある1つまたは複数の他のプロセッサ、および/またはクロック信号Clk_outの現在の周波数に対応する。各シナリオについて、テーブルは、対応する低減された周波数、ランプダウンシーケンス、ランプアップシーケンス、および/または待機時間を示し得る。
[0072]この例では、1つまたは複数のプロセッサがアクティブ化されるべきであるとき、電力マネージャ220は、アクティブ化されるべき1つまたは複数のプロセッサ、すでにアクティブモードにある1つまたは複数の他のプロセッサ、および/またはクロック信号Clk_out現在の周波数に基づいて、テーブル中のどのシナリオが適用されるかを決定し得る。(クロック信号Clkの周波数よりも低くなり得る)現在のクロック周波数は、現在の周波数が、1つまたは複数のプロセッサがアクティブ化される前の周波数であるので、「初期周波数」と呼ばれることがある。
[0073]適用可能なシナリオを決定した後に、電力マネージャ220は、テーブル中の対応する低減された周波数、ランプダウンシーケンス、ランプアップシーケンス、および/または待機時間をルックアップし得る。電力マネージャ220は、次いで、クロック信号Clk_outの周波数を、初期周波数から対応する低減された周波数に低減するように周波数調整器210に命令し得る。テーブルがシナリオのための対応するランプダウンシーケンスを含む場合、電力マネージャ220は、対応するランプダウンシーケンスに従って、クロック信号Clk_outの周波数を、初期周波数から対応する低減された周波数にランプダウンするように周波数調整器210に命令し得る。クロック信号Clk_outの周波数が低減された後に、電力マネージャ220は、シナリオの下でアクティブ化されるべき1つまたは複数のプロセッサをアクティブ化し得る。電力マネージャ220は、次いで、クロック信号Clk_outの周波数を初期クロック周波数に増加させる前に、対応する待機時間の間待機し得る。テーブルがシナリオのための対応するランプアップシーケンスを含む場合、電力マネージャ220は、対応するランプアップシーケンスに従って、クロック信号Clk_outの周波数を初期クロック周波数にランプアップするように周波数調整器210に命令し得る。
[0074]テーブルは、上記で説明された技法を使用して経験的に生成され得る。より詳細には、各シナリオについて、PDNの電圧をドループ限界および/またはオーバーシュート限界内に保つ、低減された周波数、ランプダウンシーケンス、ランプアップシーケンス、および/または待機時間が、上記で説明された技法を使用して決定され得る。
[0075]1つまたは複数のプロセッサがアクティブ化された後に初期クロック周波数に戻る代わりに、電力マネージャ220は、クロック信号Clk_outの周波数を、低減された周波数から、低減された周波数と初期クロック周波数との間の周波数に増加させるように周波数調整器210に命令し得る。これは、たとえば、初期クロック周波数が、温度コントローラ810による温度緩和のためにフルクロック周波数よりも低い場合に行われ得る。これは、1つまたは複数のプロセッサのアクティブ化が、1つまたは複数のプロセッサが処理システムの総動的電力散逸の原因となることを引き起こすからであり、このことは、温度を増加させ得る。クロック信号Clk_outの周波数を、低減された周波数から初期周波数よりも低い周波数に増加させることは、1つまたは複数のプロセッサからの追加された動的電力散逸を補償し得る。代替的に、電力マネージャ220は、クロック信号Clk_outの周波数を初期周波数に増加させるように周波数調整器210に命令し、温度コントローラ810が、1つまたは複数のプロセッサのアクティブ化から生じる温度の増加に基づいてクロック信号Clk_outの周波数を再調整することに依拠し得る。
[0076]一実施形態では、クロックデバイス110は、プロセッサ115(1)〜115(4)のうちの1つまたは複数のための所望の処理速度に応じて、複数の異なるクロック周波数のうちの1つを出力するように構成され得る。この点について、図9は、クロックデバイス110が、第1のクロックソース915と、第2のクロックソース920と、マルチプレクサ930とを備える処理システム905の一例を示す。クロックソース915および920の各々は、位相ロックループ(PLL)または別のタイプの回路を備え得る。第1のクロックソース915は、マルチプレクサ930に(「Clk_a」と示される)第1の入力クロック信号を与え、第2のクロックソース920は、マルチプレクサ930に(「Clk_b」と示される)第2の入力クロック信号を与え、第1の入力クロック信号Clk_aは第2の入力クロック信号Clk_bよりも高い周波数を有する。図9中の例におけるクロックデバイス110は2つのクロックソースを備えるが、クロックデバイス110は、3つ以上のクロックソースを備え得ることを諒解されたい。
[0077]マルチプレクサ930は、入力クロック信号Clk_aおよびClk_bを受信し、クロックコントローラ935の制御下で入力クロック信号Clk_aおよびClk_bのうちの1つを選択的に出力するように構成される。入力クロック信号Clk_aおよびClk_bのうちの選択された1つは、クロックデバイス110の出力クロック信号Clkを与える。
[0078]クロックコントローラ935は、入力クロック信号Clk_aおよびClk_bのうちのどちらがマルチプレクサ930によって選択されるかを制御することによって、使用事例に応じて、クロック信号Clkの周波数を動的に変化させるように構成され得る。たとえば、プロセッサ115(1)〜115(4)のうちの1つまたは複数が、高い処理速度を必要とする1つまたは複数のアプリケーションを実行している場合、クロックコントローラ935は、第1の入力クロック信号Clk_aを選択するようにマルチプレクサ930に命令し得る。この場合、クロック信号Clkは、第1の入力クロック信号Clk_aによってソーシングされ、したがって、第1の入力クロック信号Clk_aの周波数を有する。別の例では、プロセッサ115(1)〜115(4)のうちの1つまたは複数が、高い処理速度を必要としない1つまたは複数のアプリケーションを実行している場合、クロックコントローラ935は、電力を温存するために、第2の入力クロック信号Clk_bを選択するようにマルチプレクサ930に命令し得る。この場合、クロック信号Clkは、第2の入力クロック信号Clk_bによってソーシングされ、したがって、第1の入力クロック信号Clk_aの周波数よりも低い、第2のクロック信号Clk_bの周波数を有する。
[0079]一態様では、プロセッサ115(1)〜115(4)の各々は、プロセッサの処理必要に基づいてクロック信号Clkの周波数を変化させるようにとの要求をクロックコントローラ935に送るように構成され得る。たとえば、プロセッサは、プロセッサが計算集約的アプリケーションを実行している場合、クロック信号Clkの周波数を増加させるようにとの要求をクロックコントローラ935に送り得る。要求に応答して、クロックコントローラ935は、第2の入力クロック信号Clk_bが現在選択されている場合、第1の入力クロック信号Clk_aを選択するようにマルチプレクサ930に命令し得る。別の例では、クロックコントローラ935は、プロセッサのうちの1つまたは複数がより高いクロック周波数を要求しない限り、第2の入力クロック信号Clk_bを選択し得る。
[0080]電力マネージャ220はまた、入力クロック信号Clk_a〜Clk_bのうちのどちらを選択すべきかをクロックコントローラ935に命令し得る。たとえば、電力マネージャ220は、電力を温存するために、処理システム905に電力供給しているバッテリーが低で動作している場合、第2の入力クロック信号Clk_bを選択するようにクロックコントローラ935に命令し得る。この場合、電力マネージャ220からの命令は、クロック周波数を増加させるようにとのプロセッサからの要求をオーバーライドし得る。一態様では、クロックコントローラ935は、以下でさらに説明されるように、入力クロック信号Clk_aおよびClk_bのうちのどちらが現在選択されているかを電力マネージャ220に通知し得る。
[0081]上記で説明されたように、1つまたは複数のプロセッサがアクティブ化されるべきであるとき、電力マネージャ220は、クロック信号Clk_outの周波数をどのくらい低減すべきかを決定する際に、クロック信号Clk_outの現在の周波数を考慮に入れ得る。この実施形態では、クロック信号Clk_outの現在の周波数は、入力クロック信号Clk_aおよびClk_bのうちのどちらがマルチプレクサ930によって選択されるかに少なくとも部分的に依存する。したがって、電力マネージャ220によって使用されるテーブル中のシナリオは、入力クロック信号Clk_aおよびClk_bの各々に対応するシナリオを含み得る。
[0082]この例では、1つまたは複数のプロセッサがアクティブ化されるべきであるとき、電力マネージャ220は、アクティブ化されるべき1つまたは複数のプロセッサ、すでにアクティブモードにある1つまたは複数の他のプロセッサ、および/またはクロック信号Clk_outの現在の周波数に基づいて、テーブル中のどのシナリオが適用されるかを決定し得る。現在のクロック周波数は、入力クロック信号Clk_aおよびClk_bのうちのどちらが現在選択されているかに少なくとも部分的に依存する。上記で説明されたように、現在の周波数は、現在の周波数が、1つまたは複数のプロセッサがアクティブ化される前の周波数であるので、「初期周波数」と呼ばれることがある。
[0083]適用可能なシナリオを決定した後に、電力マネージャ220は、テーブル中の対応する低減された周波数、ランプダウンシーケンス、ランプアップシーケンス、および/または待機時間をルックアップし得る。電力マネージャ220は、次いで、クロック信号Clk_outの周波数を、初期周波数から対応する低減された周波数に低減するように周波数調整器210に命令し得る。テーブルがシナリオのための対応するランプダウンシーケンスを含む場合、電力マネージャ220は、対応するランプダウンシーケンスに従って、クロック信号Clk_outの周波数を、初期周波数から対応する低減された周波数にランプダウンするように周波数調整器210に命令し得る。クロック信号Clk_outの周波数が低減された後に、電力マネージャ220は、シナリオの下でアクティブ化されるべき1つまたは複数のプロセッサをアクティブ化し得る。電力マネージャ220は、次いで、クロック信号Clk_outの周波数を初期周波数に増加させる前に、対応する待機時間の間待機し得る。テーブルがシナリオのための対応するランプアップシーケンスを含む場合、電力マネージャ220は、対応するランプアップシーケンスに従って、クロック信号Clk_outの周波数を初期周波数にランプアップするように周波数調整器210に命令し得る。
[0084]テーブルは、上記で説明された技法を使用して経験的に生成され得る。より詳細には、各シナリオについて、PDNの電圧をドループ限界および/またはオーバーシュート限界内に保つ、低減された周波数、ランプダウンシーケンス、ランプアップシーケンス、および/または待機時間が、上記で説明された技法を使用して決定され得る。
[0085]一実施形態では、電力マネージャ220は、電力を温存するために、プロセッサ115(1)〜115(4)のすべてがアイドルモードにあるとき、クロック信号Clkを無効にするように構成され得る。たとえば、電力マネージャ220は、クロックデバイス110中のクロックソース915および920(たとえば、PLL)を遮断することによって、クロック信号Clkを無効にし得る。この例では、クロックコントローラ935は、電力マネージャ220の制御下でクロックソース915および920を遮断するように構成され得る。別の例では、電力マネージャ220は、マルチプレクサ930を無効にすることによって、クロック信号Clkを無効にし得る。
[0086]この実施形態では、1つまたは複数のプロセッサがアクティブ化されるべきであり、プロセッサ115(1)〜115(4)のすべてが最初にアイドルモードにあるとき、電力マネージャ220は、最初にクロック信号Clkを有効にし得る。たとえば、電力マネージャ220は、クロックソース915および920をオンにし、および/またはマルチプレクサ930を有効にするようにクロックコントローラ935に命令し得る。電力マネージャ220はまた、クロック信号Clkをソーシングするために、入力クロック信号Clk_aおよびClk_bのうちのどちらを選択すべきかをクロックコントローラ935に命令し得る。たとえば、電力マネージャ220は、最初に第2の入力クロック信号Clk_bを選択するようにクロックコントローラ935に命令し得る。別の例では、電力マネージャ220は、プロセッサ115(1)〜115(4)のすべてがアイドルモードに入れられる前に最後に選択された入力クロック信号を選択するようにクロックコントローラ935に命令し得る。
[0087]クロック信号Clkが有効にされたとき、電力マネージャ220は、所望の低減された周波数(すなわち、クロック信号Clkの周波数よりも低い周波数)においてクロック信号Clk_outを出力するように周波数調整器210に命令し得る。低減された周波数は、以下でさらに説明されるように、1つまたは複数のプロセッサがアクティブ化されるときのPDN上の電圧ドループを低減する。クロック信号Clk_outの周波数が低減された周波数にある間、電力マネージャ220は、(たとえば、1つまたは複数のプロセッサの内部クロック経路をアンゲートすることによって)1つまたは複数のプロセッサをアクティブ化し得る。電力マネージャ220は、次いで、待機期間の間待機し、待機期間が経過した後に、クロック信号Clk_outの周波数をフルクロック周波数に増加させ得る。一態様では、電力マネージャ220は、クロック信号の周波数を、低減された周波数からフルクロック周波数にランプアップし得る。
[0088]したがって、1つまたは複数のプロセッサは、フルクロック周波数(すなわち、クロック信号Clkの周波数)の代わりに、低減されたクロック周波数においてアクティブ化される。低減された周波数は、1つまたは複数のプロセッサがアクティブ化されるときのPDN上の電流負荷の変化におけるレートを低減し、それにより、PDN上の電圧ドループが低減する。
[0089]上記で説明されたように、電力マネージャ220は、異なるシナリオをリストするテーブルをメモリ中に含み得る。テーブル中のシナリオは、プロセッサ115(1)〜115(4)のすべてが最初にアイドルモードにある複数のシナリオを含み得る。これらのシナリオの各々は、アクティブ化されるべきである1つまたは複数のプロセッサ、および/またはクロック信号Clk(たとえば、入力クロック信号Clk_aおよびClk_bのうちの選択された1つ)の周波数に対応し得る。これらのシナリオの各々について、テーブルは、クロック信号Clk_outのための対応する低減された周波数、ランプアップシーケンス、および/または待機時間を示し得る。
[0090]この例では、1つまたは複数のプロセッサがアクティブ化されるべきであり、プロセッサ115(1)〜115(4)のすべてが最初にアイドルモードにあるとき、電力マネージャ220は、アクティブ化されるべき1つまたは複数のプロセッサ、および/またはクロック信号Clkの周波数(たとえば、入力クロック信号Clk_aおよびClk_bのうちの選択された1つの周波数)に基づいて、テーブル中の複数のシナリオのうちのどれが適用されるかを決定し得る。適用可能なシナリオを決定した後に、電力マネージャ220は、テーブル中の対応する低減された周波数、ランプアップシーケンス、および/または待機時間をルックアップし得る。電力マネージャ220は、次いで、クロック信号Clkを有効にし、対応する低減された周波数における周波数を用いてクロック信号Clk_outを出力するように周波数調整器210に命令し得る。電力マネージャ220は、次いで、シナリオの下でアクティブ化されるべき1つまたは複数のプロセッサをアクティブ化し、クロック信号Clk_outの周波数をフルクロック周波数(すなわち、クロック信号Clkの周波数)に増加させる前に、対応する待機時間の間待機し得る。テーブルがシナリオのための対応するランプアップシーケンスを含む場合、電力マネージャ220は、対応するランプアップシーケンスに従って、クロック信号Clk_outの周波数をフルクロック周波数にランプアップするように周波数調整器210に命令し得る。
[0091]テーブルは、上記で説明された技法を使用して経験的に生成され得る。より詳細には、各シナリオについて、PDNの電圧をドループ限界および/またはオーバーシュート限界内に保つ、低減された周波数、ランプアップシーケンス、および/または待機時間が、上記で説明された技法を使用して決定され得る。
[0092]図10は、(たとえば、中断信号またはイベントに応答して)1つまたは複数のプロセッサがアクティブ化され、プロセッサのすべてが最初にアイドルモードにある一例のために、クロック信号Clk_outの周波数をフルクロック周波数の割合として経時的に示す。時間t1において、電力マネージャ220は、クロック信号Clkを有効にし、周波数調整器210は、フルクロック周波数の50%に等しい低減された周波数においてクロック信号Clk_outを出力する。この時点で、プロセッサのすべてはアイドルモードにあり得る。電力マネージャ220は、次いで、時間t2において、1つまたは複数のプロセッサをアクティブにするために1つまたは複数のプロセッサの内部クロック経路をアンゲートする。(図10中の「待機時間」と標示される)待機期間の後に、電力マネージャ220は、時間t4において、クロック信号Clk_outの周波数をフルクロック周波数にランプアップするように周波数調整器210に命令する。時間t5において、クロック信号Clk_outの周波数はフル周波数に到達する。他の低減された周波数がフルクロック周波数の50%のほかに使用され得、したがって、本開示は、フルクロック周波数の50%の例に限定されないことを諒解されたい。さらに、図10には示されていないが、クロック信号Clk_outは、クロック信号Clkが有効にされたとき、約0ヘルツから、低減された周波数にランプアップされ得ることを諒解されたい。
[0093]一実施形態では、クロックデバイスは、2つ以上のクロック信号をプロセッサ115(1)〜115(4)に出力し得る。この点について、図11は、クロックデバイス1110が、(「Clk1」と示される)第1のクロック信号を第1のプロセッサ115(1)および第2のプロセッサ115(2)に出力し、(「Clk2」と示される)第2のクロック信号を第3のプロセッサ115(3)および第4のプロセッサ115(4)に出力する処理システム1105の一例を示す。これは、以下でさらに説明されるように、第1のプロセッサ115(1)および第2のプロセッサ115(2)が、第3のプロセッサ115(3)および第4のプロセッサ115(4)とは異なるクロック速度において動作することを可能にする。
[0094]この例では、クロックデバイス1110は、第1のマルチプレクサ930(1)と第2のマルチプレクサ930(2)とを備える。第1のマルチプレクサ930(1)は、入力クロック信号Clk_aおよびClk_bを、それぞれ、第1のクロックソース915および第2のクロックソース920から受信し、クロックコントローラ935の制御下で、入力クロック信号Clk_aおよびClk_bのうちの1つを、第1のプロセッサ115(1)および第2のプロセッサ115(2)に選択的に出力するように構成される。第2のマルチプレクサ930(2)は、入力クロック信号Clk_aおよびClk_bを、それぞれ、第1のクロックソース915および第2のクロックソース920から受信し、クロックコントローラ935の制御下で、入力クロック信号Clk_aおよびClk_bのうちの1つを、第3のプロセッサ115(3)および第4のプロセッサ115(4)に選択的に出力するように構成される。この構成は、第1のマルチプレクサ930(1)および第2のマルチプレクサ930(2)の選択に応じて、プロセッサ115(1)〜115(4)が、入力クロック信号Clk_aおよびClk_bのうちの同じ1つを受信すること、または、第1のプロセッサ115(1)および第2のプロセッサ115(2)が、第3のプロセッサ115(3)および第4のプロセッサ115(4)とは異なる、入力クロック信号Clk_aおよびClk_bのうちの1つを受信することを可能にする。
[0095]クロックコントローラ935は、入力クロック信号Clk_aおよびClk_bのうちのどちらがそれぞれのマルチプレクサによって選択されるかを制御することによって、第1の出力クロック信号Clk1および第2の出力クロック信号Clk2の各々の周波数を動的に変化させるように構成され得る。たとえば、第1のプロセッサ115(1)および第2のプロセッサ115(2)の一方または両方が、高い処理速度を必要とする(たとえば、第1のプロセッサ115(1)および第2のプロセッサ115(2)の一方または両方が、高いクロック速度を要求する)場合、クロックコントローラ935は、第1の入力クロック信号Clk_aを選択するように第1のマルチプレクサ930(1)に命令し得る。この場合、第1の出力クロック信号Clk1は、第1の入力クロック信号Clk_aによってソーシングされる。同様に、第3のプロセッサ115(2)および第4のプロセッサ115(3)の一方または両方が、高い処理速度を必要とする(たとえば、第3のプロセッサ115(3)および第4のプロセッサ115(4)の一方または両方が、高いクロック速度を要求する)場合、クロックコントローラ935は、第1の入力クロック信号Clk_aを選択するように第2のマルチプレクサ930(2)に命令し得る。この場合、第2の出力クロック信号Clk2は、第1の入力クロック信号Clk_aによってソーシングされる。
[0096]別の例では、第1のプロセッサ115(1)および第2のプロセッサ115(2)の一方または両方が高い処理速度を必要としない場合、クロックコントローラ935は、電力を温存するために、第2の入力クロック信号Clk_bを選択するように第1のマルチプレクサ930(1)に命令し得る。この場合、第1の出力クロック信号Clk1は、第1の入力クロック信号Clk_aよりも低い周波数を有する、第2の入力クロック信号Clk_bによってソーシングされる。同様に、第3のプロセッサ115(3)および第4のプロセッサ115(4)の一方または両方が高い処理速度を必要としない場合、クロックコントローラ935は、電力を温存するために、第2の入力クロック信号Clk_bを選択するように第2のマルチプレクサ930(2)に命令し得る。この場合、第2の出力クロック信号Clk2は、第2の入力クロック信号Clk_bによってソーシングされる。
[0097]図11中の例では、処理システム1105は、第1の周波数調整器210(1)と第2の周波数調整器210(2)とを備える。第1の周波数調整器210(1)は、電力マネージャ220の制御下で第1のクロック信号Clk1の周波数を調整可能な量だけ低減し、(「Clk_out1」と示される)得られたクロック信号を第1のプロセッサ115(1)および第2のプロセッサ115(2)に出力するように構成される。第2の周波数調整器210(2)は、電力マネージャ220の制御下で第2のクロック信号Clk2の周波数を調整可能な量だけ低減し、(「Clk_out2」と示される)得られたクロック信号を第3のプロセッサ115(3)および第4のプロセッサ115(4)に出力するように構成される。これは、電力マネージャ220が、第1の出力クロック信号Clk_out1の周波数と第2の出力クロック信号Clk_out2の周波数とを独立して調整することを可能にする。
[0098]この例では、電力マネージャ220は、様々なシナリオの下でプロセッサ115(1)〜115(4)の1つまたは複数をアクティブにし得る。たとえば、1つの例示的なシナリオでは、電力マネージャ220は、他のプロセッサのうちの1つまたは複数がすでにアクティブモードにある間、第1のプロセッサ115(1)および/または第2のプロセッサ115(2)をアクティブにし得る。このシナリオでは、電力マネージャ220は、第1のプロセッサおよび/または第2のプロセッサをアクティブ化する前に、第1の出力クロック信号Clk_out1の周波数を低減し得る。別の例示的なシナリオでは、電力マネージャ220は、他のプロセッサのうちの1つまたは複数がすでにアクティブモードにある間、第3のプロセッサ115(3)および/または第4のプロセッサ115(4)をアクティブにし得る。このシナリオでは、電力マネージャ220は、第3のプロセッサおよび/または第4のプロセッサをアクティブ化する前に、第2の出力クロック信号Clk_out2の周波数を低減し得る。また別の例示的なシナリオでは、電力マネージャ220は、第2のプロセッサおよび第4のプロセッサの一方または両方がすでにアクティブモードにある間、第1のプロセッサ115(1)および第3のプロセッサ115(3)をアクティブにし得る。このシナリオでは、電力マネージャ220は、第1のプロセッサおよび第3のプロセッサをアクティブ化する前に、第1の出力クロック信号Clk_out1の周波数および第2の出力クロック信号Clk_out2の周波数を低減し得る。
[0099]異なるシナリオの下でプロセッサ115(1)〜115(4)のうちの1つまたは複数をアクティブ化するために、電力マネージャ220は、異なるシナリオをリストするテーブルをメモリ中に含み得る。これらのシナリオの各々は、アクティブ化されるべきプロセッサのうちの1つまたは複数、すでにアクティブモードにあるプロセッサのうちの1つまたは複数の他のプロセッサ、第1の出力クロックClk_out1の周波数、および/または第2の出力クロックClk_out2の周波数に対応し得る。これらのシナリオの各々について、テーブルは、第1の出力クロック信号Clk_out1のためのパラメータのセット(たとえば、対応する低減された周波数、ランプダウンシーケンス、ランプアップシーケンス、および/または待機時間)、および/または第2の出力クロック信号Clk_out2のためのパラメータのセット(たとえば、対応する低減された周波数、ランプダウンシーケンス、ランプアップシーケンス、および/または待機時間)を含み得る。
[00100]いくつかのシナリオ(たとえば、プロセッサのうちの1つのみがアクティブ化されるべきであるシナリオ)について、テーブルは、第1の出力クロック信号Clk_out1および第2の出力クロック信号Clk_out2のうちの1つのためのパラメータのセットのみを含み得る。これらのシナリオでは、電力マネージャ220は、出力クロック信号のうちの他の1つをそのままにしておくことがある。他のシナリオ(たとえば、第1および第3のプロセッサがアクティブ化されるべきであるシナリオ)について、テーブルは、第1の出力クロック信号Clk_out1および第2の出力クロック信号Clk_out2の各々のためのパラメータのセットを含み得る。
[00101]1つまたは複数のプロセッサがアクティブ化されるべきであるとき、電力マネージャ220は、アクティブ化されるべき1つまたは複数のプロセッサ、すでにアクティブモードにあるプロセッサのうちの1つまたは複数の他のプロセッサ、第1の出力クロック信号Clk_out1の現在の周波数、および/または第2の出力クロック信号Clk_out2の現在の周波数に基づいて、テーブル中の複数のシナリオのうちのどれが適用されるかを決定し得る。適用可能なシナリオを決定した後に、電力マネージャ220は、第1の出力クロック信号Clk_out1のためのテーブル中のパラメータのセット(たとえば、対応する低減された周波数、ランプダウンシーケンス、ランプアップシーケンスおよび/または待機時間)、および/または第2の出力クロック信号Clk_out2のためのテーブル中のパラメータのセット(たとえば、対応する低減された周波数、ランプダウンシーケンス、ランプアップシーケンスおよび/または待機時間)をルックアップし得る。
[00102]電力マネージャ220は、次いで、第1の出力クロック信号Clk_out1の周波数を、対応する低減された周波数に低減し、および/または第2の出力クロック信号Clk_out2の周波数を、対応する低減された周波数に低減し得る。出力クロック信号Clk_out1とClk_out2の両方の周波数がランプダウンされた場合、周波数ランプダウンは時間的に重複し得る。代替的に、電力マネージャ220は、出力クロック信号のうちの他の1つの周波数をランプダウンする前に、出力クロック信号のうちの1つの周波数をランプダウンし得る。
[00103]第1の出力クロック信号Clk_out1の周波数および/または第2の出力クロック信号Clk_out2の周波数が低減された後に、電力マネージャ220は、シナリオの下でアクティブ化されるべき1つまたは複数のプロセッサをアクティブ化し得る。電力マネージャ220は、次いで、対応する待機時間の後に第1の出力クロック信号Clk_out1の周波数を増加させ、および/または対応する待機時間の後に第2の出力クロック信号Clk_out2の周波数を増加させ得る。出力クロック信号Clk_out1とClk_out2の両方の周波数がランプアップされた場合、周波数ランプアップは時間的に重複し得る。代替的に、電力マネージャ220は、出力クロック信号のうちの他の1つの周波数をランプアップする前に、出力クロック信号のうちの1つの周波数をランプアップし得る。この場合、第1の出力クロック信号のための待機時間と第2の出力クロック信号のための待機時間とは異なり得る。
[00104]この例におけるテーブルは、上記で説明された技法を使用して経験的に生成され得る。より詳細には、異なるシナリオの各々について、第1の出力クロック信号Clk_out1のためのパラメータのセットが決定され得、および/または第2の出力クロック信号Clk_out2のためのパラメータのセットが決定され得、これらのパラメータのセットは、PDN上の電圧を、上記で説明されたオーバーシュート限界および/またはドループ限界内に保つ。
[00105]本開示の実施形態が、4つのプロセッサを備える処理システムの例を使用して上記で説明されたが、本開示の実施形態はこの例に限定されないことを諒解されたい。たとえば、本開示の実施形態は、2つのプロセッサを備える処理システム、8つのプロセッサを備える処理システムなどにおいて使用され得る。
[00106]図12は、本開示の一実施形態による、例示的なクロックゲーティング回路1210を示す。プロセッサ115(1)〜115(4)の各々は、プロセッサによって受信されたクロック信号Clk_outを選択的にゲートするために、クロックゲーティング回路1210を含み得る。クロックゲーティング回路1210は、クロックゲーティング論理1220と、クロックゲート1225とを備える。クロックゲーティング論理1220は、以下でさらに説明されるように、電力マネージャ220の制御下でクロックゲート1225を有効または無効にするように構成される。
[00107]図12中の例では、クロックゲート1225は、クロック信号Clk_outに結合された第1の入力と、クロックゲーティング論理1220に結合された第2の入力と、それぞれのプロセッサの論理ゲートに結合されたクロック出力1230とを有するANDゲートを備える。クロック出力1230は、論理ゲート1240の様々なゲートにクロック信号を与えるために、複数のクロック経路(図示せず)に分岐し得る。論理ゲート1240は、命令をフェッチ、復号および実行し、ならびに/またはクロック信号Clk_outを使用して他の動作を実行するように構成され得る。この例では、クロックゲート1225は、クロックゲーティング回路1220がクロックゲート1225に論理0を出力したときに無効にされ(すなわち、クロック信号Clk_outをブロックし)、クロックゲーティング回路1220がクロックゲート1225に論理1を出力したときに有効にされる(すなわち、クロック信号Clk_outが通過することを可能にする)。
[00108]クロックゲーティング論理1220は、アイドルモードに入るようにとの信号を電力マネージャ220から受信すると、クロックゲート1225を無効にする(すなわち、クロック信号Clk_outをゲートする)ように構成され得る。クロックゲーティング論理1220は、クロックゲート1225を無効にする前に、論理ゲートが1つまたは複数の未解決の命令を完了したことを検証し得る。クロックゲーティング論理1220はまた、アイドルモードを出る(たとえば、アクティブモードに遷移する)ようにとの信号を電力マネージャ220から受信すると、クロックゲート1225を有効にするように構成され得る。クロックゲーティング論理1220は、クロック信号Clk_outまたは別のクロック信号(図示せず)によってクロック制御され得る。
[00109]図13は、本開示の一実施形態による、1つまたは複数のプロセッサをアクティブ化するための方法1300を示す流れ図である。1つまたは複数のプロセッサは、マルチコア処理システムの複数のプロセッサ(たとえば、プロセッサ115(1)〜115(4))のうちの1つまたは複数であり得る。この例では、1つまたは複数のプロセッサは、マルチコア処理システムの1つまたは複数の他のプロセッサがすでにアクティブモードにある間、アクティブ化され得る。
[00110]ステップ1310において、クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減する。たとえば、クロック信号(たとえば、クロック信号Clk_out)は、マルチコア処理システムのプロセッサに与えられる。一例では、周波数低減は、入力クロック信号(たとえば、クロック信号Clk)を受信し、プロセッサにクロック信号(たとえば、クロック信号Clk_out)を出力する周波数調整器(たとえば、周波数調整器210)によって実行され得る。この例では、周波数調整器は、パルスをスワローすること、および/または入力クロック信号(たとえば、クロック信号Clk)の周波数を分割することによって、クロック信号(たとえば、クロック信号Clk_out)の周波数を低減し得る。また、この例では、第1のクロック周波数は、入力クロック信号(たとえば、クロック信号Clk)の周波数にほぼ等しくなり得、第2のクロック周波数は、入力クロック信号の周波数よりも低くなり得る。
[00111]ステップ1320において、クロック信号の周波数が低減された後に、1つまたは複数のプロセッサをアクティブ化する。これは、クロック信号が1つまたは複数のプロセッサ中の論理ゲートに伝搬することを可能にするために1つまたは複数のプロセッサ中の内部クロック経路をアンゲートし、論理ゲートがスイッチングを開始することを引き起こすことによって、行われ得る。
[00112]ステップ1330において、1つまたは複数のプロセッサのアクティブ化の後に、クロック信号の周波数を第1のクロック周波数に増加させる。たとえば、第1のクロック周波数は、上記で説明された入力クロック信号(たとえば、クロック信号Clk)の周波数にほぼ等しくなり得る。
[00113]本開示の実施形態は、1つまたは複数のプロセッサがアイドルモードからアクティブモードに遷移する例を使用して上記で説明されたが、本開示の実施形態はまた、1つまたは複数のプロセッサがアクティブモードからアイドルモードに遷移するときに使用され得ることを諒解されたい。この場合、クロック信号Clk_outの周波数は、PDN上の電圧オーバーシュートを低減するために、1つまたは複数のプロセッサをアクティブモードからアイドルモードに通過するより前に低減され得る。低減された周波数は、1つまたは複数のプロセッサがアイドルモードに遷移するときの電流負荷が減少するレートを低減することによってオーバーシュートを低減する。1つまたは複数のプロセッサがアイドルモードになった後に、クロック信号Clk_outの周波数は、フルクロック周波数に増加され得る。
[00114]上記で説明された実施形態のいずれかに記載のクロックコントローラおよび電力マネージャは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明された機能を実行するように設計されたそれらの任意の組合せを用いて実装され得ることを諒解されたい。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、本明細書で説明された遅延コントローラの機能を実行するためのコードを備えるソフトウェアを実行することによって機能を実行し得る。ソフトウェアは、RAM、ROM、EEPROM(登録商標)、光ディスク、および/または磁気ディスクなど、コンピュータ可読記憶媒体に記憶され得る。
[00115]本開示についての以上の説明は、いかなる当業者も本開示を作成または使用することができるように与えられたものである。本開示への様々な修正は当業者には容易に明らかになり、本明細書で定義された一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。したがって、本開示は、本明細書で説明された例に限定されるものではなく、本明細書で開示された原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
[00115]本開示についての以上の説明は、いかなる当業者も本開示を作成または使用することができるように与えられたものである。本開示への様々な修正は当業者には容易に明らかになり、本明細書で定義された一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用され得る。したがって、本開示は、本明細書で説明された例に限定されるものではなく、本明細書で開示された原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
複数のプロセッサと、
入力クロック信号を生成するように構成されたクロックデバイスと、
前記クロックデバイスから前記入力クロック信号を受信し、前記入力クロック信号に基づいて前記複数のプロセッサに出力クロック信号を出力するように構成された周波数調整器と、
前記プロセッサのうちの1つまたは複数をアクティブにするための信号を受信するように構成された電力マネージャと、ここにおいて、前記信号に応答して、前記電力マネージャは、前記出力クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減するように前記周波数調整器に命令し、前記出力クロック信号の前記周波数が前記第2のクロック周波数にある間、前記プロセッサのうちの前記1つまたは複数をアクティブにし、前記プロセッサのうちの前記1つまたは複数がアクティブ化された後に、前記出力クロック信号の前記周波数を前記第2のクロック周波数から前記第1のクロック周波数に増加させるように前記周波数調整器に命令するように構成された、を備える、処理システム。
[C2]
前記第1のクロック周波数が、前記入力クロック信号の周波数にほぼ等しい、C1に記載の処理システム。
[C3]
前記第2のクロック周波数が、前記第1のクロック周波数の20%〜80%にほぼ等しい、C2に記載の処理システム。
[C4]
前記プロセッサのうちの1つまたは複数の他のプロセッサは、前記電力マネージャが前記プロセッサのうちの前記1つまたは複数をアクティブにする間、アクティブモードにある、C1に記載の処理システム。
[C5]
前記電力マネージャが、前記プロセッサのうちの前記1つまたは複数中の内部クロック経路をアンゲートすることによって、前記プロセッサのうちの前記1つまたは複数をアクティブにする、C1に記載の処理システム。
[C6]
前記周波数調整器が、前記入力クロック信号のパルスを選択的にスワローすることによって前記出力クロック信号の前記周波数を低減するように構成された、C1に記載の処理システム。
[C7]
前記周波数調整器が、前記入力クロック信号の周波数を分割することによって前記出力クロック信号の前記周波数を低減するように構成された、C1に記載の処理システム。
[C8]
前記プロセッサのうちの前記1つまたは複数をアクティブにするための前記信号が中断信号を備える、C1に記載の処理システム。
[C9]
前記電力マネージャが、中断まで待機(WFI)命令の実行に応答して前記プロセッサのうちの前記1つまたは複数をアイドルモードに入れるように構成され、前記中断信号は、前記プロセッサのうちの前記1つまたは複数が前記アイドルモードに入れられた後に受信される、C8に記載の処理システム。
[C10]
前記電力マネージャは、前記信号に応答してアクティブ化されるべき前記プロセッサのうちの前記1つまたは複数と、前記信号が受信された時間においてアクティブ状態にある前記プロセッサのうちの1つまたは複数の他のプロセッサとに基づいて、前記第2のクロック周波数を決定するように構成された、C1に記載の処理システム。
[C11]
前記電力マネージャが、前記第1のクロック周波数に基づいて前記第2のクロック周波数を決定するようにさらに構成された、C10に記載の処理システム。
[C12]
1つまたは複数のプロセッサをアクティブ化するための方法であって、
クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減することと、ここにおいて、前記クロック信号が、前記1つまたは複数のプロセッサを含む複数のプロセッサに出力される、
前記クロック信号の前記周波数が低減された後に前記1つまたは複数のプロセッサをアクティブ化することと、
前記1つまたは複数のプロセッサがアクティブ化された後に前記クロック信号を前記第2のクロック周波数から前記第1のクロック周波数に増加させることと
を備える、方法。
[C13]
前記第2のクロック周波数が、前記第1のクロック周波数の20%〜80%にほぼ等しい、C12に記載の方法。
[C14]
前記複数のプロセッサのうちの1つまたは複数の他のプロセッサは、前記1つまたは複数のプロセッサがアクティブ化される間、アクティブモードにある、C12に記載の方法。
[C15]
前記1つまたは複数のプロセッサをアクティブ化することが、前記1つまたは複数のプロセッサ中の内部クロック経路をアンゲートすることを備える、C12に記載の方法。
[C16]
中断まで待機(WFI)命令の実行に応答して前記1つまたは複数のプロセッサをアイドルモードに入れることと、
前記1つまたは複数のプロセッサが前記アイドルモードに入れられた後に中断信号を受信することと
をさらに備え、
ここにおいて、前記1つまたは複数のプロセッサが前記中断信号に応答してアクティブ化される、C12に記載の方法。
[C17]
前記1つまたは複数のプロセッサと、前記第2のクロック周波数の決定が行われる時間においてすでにアクティブ状態にある前記複数のプロセッサのうちの1つまたは複数の他のプロセッサとに基づいて、前記第2のクロック周波数を決定することをさらに備える、C12に記載の方法。
[C18]
前記第2のクロック周波数を決定することが、前記第1のクロック周波数に基づいて前記第2のクロック周波数を決定することをさらに備える、C17に記載の方法。
[C19]
1つまたは複数のプロセッサをアクティブ化するための装置であって、
クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減するための手段と、ここにおいて、前記クロック信号が、前記1つまたは複数のプロセッサを含む複数のプロセッサに出力される、
前記クロック信号の前記周波数が低減された後に前記1つまたは複数のプロセッサをアクティブ化するための手段と、
前記1つまたは複数のプロセッサがアクティブ化された後に前記クロック信号を前記第2のクロック周波数から前記第1のクロック周波数に増加させるための手段と
を備える、装置。
[C20]
前記第2のクロック周波数が、前記第1のクロック周波数の20%〜80%にほぼ等しい、C19に記載の装置。
[C21]
前記複数のプロセッサのうちの1つまたは複数の他のプロセッサは、前記1つまたは複数のプロセッサがアクティブ化される間、アクティブモードにある、C19に記載の装置。
[C22]
前記1つまたは複数のプロセッサをアクティブ化するための前記手段が、前記1つまたは複数のプロセッサ中の内部クロック経路をアンゲートするための手段を備える、C19に記載の装置。
[C23]
中断まで待機(WFI)命令の実行に応答して前記1つまたは複数のプロセッサをアイドルモードに入れるための手段と、
前記1つまたは複数のプロセッサが前記アイドルモードに入れられた後に中断信号を受信するための手段と
をさらに備え、
ここにおいて、前記1つまたは複数のプロセッサをアクティブ化するための前記手段が、前記中断信号に応答して前記1つまたは複数のプロセッサをアクティブ化する、C19に記載の装置。
[C24]
前記1つまたは複数のプロセッサと、前記第2のクロック周波数の決定が行われる時間においてすでにアクティブ状態にある前記複数のプロセッサのうちの1つまたは複数の他のプロセッサとに基づいて、前記第2のクロック周波数を決定するための手段をさらに備える、C19に記載の装置。
[C25]
前記第2のクロック周波数を決定するための前記手段が、前記第1のクロック周波数に基づいて前記第2のクロック周波数をさらに決定する、C24に記載の装置。

Claims (25)

  1. 複数のプロセッサと、
    入力クロック信号を生成するように構成されたクロックデバイスと、
    前記クロックデバイスから前記入力クロック信号を受信し、前記入力クロック信号に基づいて前記複数のプロセッサに出力クロック信号を出力するように構成された周波数調整器と、
    前記プロセッサのうちの1つまたは複数をアクティブにするための信号を受信するように構成された電力マネージャと、ここにおいて、前記信号に応答して、前記電力マネージャは、前記出力クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減するように前記周波数調整器に命令し、前記出力クロック信号の前記周波数が前記第2のクロック周波数にある間、前記プロセッサのうちの前記1つまたは複数をアクティブにし、前記プロセッサのうちの前記1つまたは複数がアクティブ化された後に、前記出力クロック信号の前記周波数を前記第2のクロック周波数から前記第1のクロック周波数に増加させるように前記周波数調整器に命令するように構成された、
    を備える、処理システム。
  2. 前記第1のクロック周波数が、前記入力クロック信号の周波数にほぼ等しい、請求項1に記載の処理システム。
  3. 前記第2のクロック周波数が、前記第1のクロック周波数の20%〜80%にほぼ等しい、請求項2に記載の処理システム。
  4. 前記プロセッサのうちの1つまたは複数の他のプロセッサは、前記電力マネージャが前記プロセッサのうちの前記1つまたは複数をアクティブにする間、アクティブモードにある、請求項1に記載の処理システム。
  5. 前記電力マネージャが、前記プロセッサのうちの前記1つまたは複数中の内部クロック経路をアンゲートすることによって、前記プロセッサのうちの前記1つまたは複数をアクティブにする、請求項1に記載の処理システム。
  6. 前記周波数調整器が、前記入力クロック信号のパルスを選択的にスワローすることによって前記出力クロック信号の前記周波数を低減するように構成された、請求項1に記載の処理システム。
  7. 前記周波数調整器が、前記入力クロック信号の周波数を分割することによって前記出力クロック信号の前記周波数を低減するように構成された、請求項1に記載の処理システム。
  8. 前記プロセッサのうちの前記1つまたは複数をアクティブにするための前記信号が中断信号を備える、請求項1に記載の処理システム。
  9. 前記電力マネージャが、中断まで待機(WFI)命令の実行に応答して前記プロセッサのうちの前記1つまたは複数をアイドルモードに入れるように構成され、前記中断信号は、前記プロセッサのうちの前記1つまたは複数が前記アイドルモードに入れられた後に受信される、請求項8に記載の処理システム。
  10. 前記電力マネージャは、前記信号に応答してアクティブ化されるべき前記プロセッサのうちの前記1つまたは複数と、前記信号が受信された時間においてアクティブ状態にある前記プロセッサのうちの1つまたは複数の他のプロセッサとに基づいて、前記第2のクロック周波数を決定するように構成された、請求項1に記載の処理システム。
  11. 前記電力マネージャが、前記第1のクロック周波数に基づいて前記第2のクロック周波数を決定するようにさらに構成された、請求項10に記載の処理システム。
  12. 1つまたは複数のプロセッサをアクティブ化するための方法であって、
    クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減することと、ここにおいて、前記クロック信号が、前記1つまたは複数のプロセッサを含む複数のプロセッサに出力される、
    前記クロック信号の前記周波数が低減された後に前記1つまたは複数のプロセッサをアクティブ化することと、
    前記1つまたは複数のプロセッサがアクティブ化された後に前記クロック信号を前記第2のクロック周波数から前記第1のクロック周波数に増加させることと
    を備える、方法。
  13. 前記第2のクロック周波数が、前記第1のクロック周波数の20%〜80%にほぼ等しい、請求項12に記載の方法。
  14. 前記複数のプロセッサのうちの1つまたは複数の他のプロセッサは、前記1つまたは複数のプロセッサがアクティブ化される間、アクティブモードにある、請求項12に記載の方法。
  15. 前記1つまたは複数のプロセッサをアクティブ化することが、前記1つまたは複数のプロセッサ中の内部クロック経路をアンゲートすることを備える、請求項12に記載の方法。
  16. 中断まで待機(WFI)命令の実行に応答して前記1つまたは複数のプロセッサをアイドルモードに入れることと、
    前記1つまたは複数のプロセッサが前記アイドルモードに入れられた後に中断信号を受信することと
    をさらに備え、
    ここにおいて、前記1つまたは複数のプロセッサが前記中断信号に応答してアクティブ化される、
    請求項12に記載の方法。
  17. 前記1つまたは複数のプロセッサと、前記第2のクロック周波数の決定が行われる時間においてすでにアクティブ状態にある前記複数のプロセッサのうちの1つまたは複数の他のプロセッサとに基づいて、前記第2のクロック周波数を決定することをさらに備える、請求項12に記載の方法。
  18. 前記第2のクロック周波数を決定することが、前記第1のクロック周波数に基づいて前記第2のクロック周波数を決定することをさらに備える、請求項17に記載の方法。
  19. 1つまたは複数のプロセッサをアクティブ化するための装置であって、
    クロック信号の周波数を第1のクロック周波数から第2のクロック周波数に低減するための手段と、ここにおいて、前記クロック信号が、前記1つまたは複数のプロセッサを含む複数のプロセッサに出力される、
    前記クロック信号の前記周波数が低減された後に前記1つまたは複数のプロセッサをアクティブ化するための手段と、
    前記1つまたは複数のプロセッサがアクティブ化された後に前記クロック信号を前記第2のクロック周波数から前記第1のクロック周波数に増加させるための手段と
    を備える、装置。
  20. 前記第2のクロック周波数が、前記第1のクロック周波数の20%〜80%にほぼ等しい、請求項19に記載の装置。
  21. 前記複数のプロセッサのうちの1つまたは複数の他のプロセッサは、前記1つまたは複数のプロセッサがアクティブ化される間、アクティブモードにある、請求項19に記載の装置。
  22. 前記1つまたは複数のプロセッサをアクティブ化するための前記手段が、前記1つまたは複数のプロセッサ中の内部クロック経路をアンゲートするための手段を備える、請求項19に記載の装置。
  23. 中断まで待機(WFI)命令の実行に応答して前記1つまたは複数のプロセッサをアイドルモードに入れるための手段と、
    前記1つまたは複数のプロセッサが前記アイドルモードに入れられた後に中断信号を受信するための手段と
    をさらに備え、
    ここにおいて、前記1つまたは複数のプロセッサをアクティブ化するための前記手段が、前記中断信号に応答して前記1つまたは複数のプロセッサをアクティブ化する、
    請求項19に記載の装置。
  24. 前記1つまたは複数のプロセッサと、前記第2のクロック周波数の決定が行われる時間においてすでにアクティブ状態にある前記複数のプロセッサのうちの1つまたは複数の他のプロセッサとに基づいて、前記第2のクロック周波数を決定するための手段をさらに備える、請求項19に記載の装置。
  25. 前記第2のクロック周波数を決定するための前記手段が、前記第1のクロック周波数に基づいて前記第2のクロック周波数をさらに決定する、請求項24に記載の装置。
JP2018505415A 2015-08-03 2016-07-05 配電網(pdn)ドループ/オーバーシュート緩和 Active JP6530134B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/817,178 US9798376B2 (en) 2015-08-03 2015-08-03 Power distribution network (PDN) droop/overshoot mitigation
US14/817,178 2015-08-03
PCT/US2016/041001 WO2017023472A1 (en) 2015-08-03 2016-07-05 Power distribution network (pdn) droop/overshoot mitigation

Publications (3)

Publication Number Publication Date
JP2018528524A true JP2018528524A (ja) 2018-09-27
JP2018528524A5 JP2018528524A5 (ja) 2019-05-09
JP6530134B2 JP6530134B2 (ja) 2019-06-12

Family

ID=56551562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018505415A Active JP6530134B2 (ja) 2015-08-03 2016-07-05 配電網(pdn)ドループ/オーバーシュート緩和

Country Status (7)

Country Link
US (1) US9798376B2 (ja)
EP (1) EP3332307B1 (ja)
JP (1) JP6530134B2 (ja)
KR (1) KR102049952B1 (ja)
CN (1) CN107924220B (ja)
BR (1) BR112018002234A2 (ja)
WO (1) WO2017023472A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7452259B2 (ja) 2020-06-02 2024-03-19 富士通株式会社 半導体装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296076B2 (en) * 2016-05-16 2019-05-21 Qualcomm Incorporated Supply voltage droop management circuits for reducing or avoiding supply voltage droops
US10642336B2 (en) 2016-07-12 2020-05-05 Advanced Micro Devices, Inc. Clock adjustment for voltage droop
US10303200B2 (en) * 2017-02-24 2019-05-28 Advanced Micro Devices, Inc. Clock divider device and methods thereof
US10409317B2 (en) * 2017-06-05 2019-09-10 Qualcomm Incorporated Apparatus and methods for reducing clock-ungating induced voltage droop
US10535394B2 (en) * 2017-07-20 2020-01-14 Samsung Electronics Co., Ltd. Memory device including dynamic voltage and frequency scaling switch and method of operating the same
US10171081B1 (en) 2017-07-28 2019-01-01 International Business Machines Corporation On-chip supply noise voltage reduction or mitigation using local detection loops in a processor core
US11073884B2 (en) 2017-11-15 2021-07-27 International Business Machines Corporation On-chip supply noise voltage reduction or mitigation using local detection loops
US10606305B2 (en) 2018-04-30 2020-03-31 Qualcomm Incorporated Processor load step balancing
US20190339757A1 (en) * 2018-05-01 2019-11-07 Qualcomm Incorporated Pdn resonance aware wakeup control
US10985761B1 (en) * 2018-05-31 2021-04-20 Synopsys, Inc. Fractional divider
US11442082B2 (en) * 2019-12-23 2022-09-13 Graphcore Limited Droop detection
GB2590660B (en) * 2019-12-23 2022-01-05 Graphcore Ltd Reactive droop limiter
CN111309134B (zh) * 2020-03-23 2020-12-22 上海燧原智能科技有限公司 一种负载电流调整方法、装置、电子设备及存储介质
DE102020207861A1 (de) 2020-06-25 2021-12-30 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Durchführung einer abgesicherten Startsequenz eines Steuergeräts
US11417370B2 (en) * 2020-08-12 2022-08-16 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device
US11789518B2 (en) 2021-06-22 2023-10-17 International Business Machines Corporation Voltage overshoot management

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5551044A (en) * 1994-12-01 1996-08-27 Intel Corporation Method and apparatus for interrupt/SMI# ordering
US6298448B1 (en) 1998-12-21 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for automatic CPU speed control based on application-specific criteria
US6539049B1 (en) * 1999-05-28 2003-03-25 Dot Wireless, Inc. Device and method for maintaining time synchronous with a network master time
US6711447B1 (en) * 2003-01-22 2004-03-23 Intel Corporation Modulating CPU frequency and voltage in a multi-core CPU architecture
US7017059B2 (en) * 2003-12-12 2006-03-21 Cray Canada Inc. Methods and apparatus for replacing cooling systems in operating computers
KR101136036B1 (ko) 2003-12-24 2012-04-18 삼성전자주식회사 유휴 모드에서의 전력 소모가 감소된 프로세서 시스템 및그 방법
ATE393928T1 (de) 2004-06-21 2008-05-15 Koninkl Philips Electronics Nv Strom-management
JP2007293748A (ja) * 2006-04-27 2007-11-08 Matsushita Electric Ind Co Ltd クロック制御装置
US8327158B2 (en) 2006-11-01 2012-12-04 Texas Instruments Incorporated Hardware voting mechanism for arbitrating scaling of shared voltage domain, integrated circuits, processes and systems
TWI342498B (en) * 2007-01-12 2011-05-21 Asustek Comp Inc Multi-processor system and performance enhancement method thereof
US7856562B2 (en) * 2007-05-02 2010-12-21 Advanced Micro Devices, Inc. Selective deactivation of processor cores in multiple processor core systems
US8250395B2 (en) * 2009-11-12 2012-08-21 International Business Machines Corporation Dynamic voltage and frequency scaling (DVFS) control for simultaneous multi-threading (SMT) processors
US8627128B2 (en) 2010-11-09 2014-01-07 International Business Machines Corporation Power management for processing capacity upgrade on demand
US8937511B2 (en) * 2011-11-22 2015-01-20 Marvell World Trade Ltd. Frequency scaling of variable speed systems for fast response and power reduction
JP2014048972A (ja) 2012-08-31 2014-03-17 Fujitsu Ltd 処理装置、情報処理装置、及び消費電力管理方法
JP5892083B2 (ja) 2013-02-12 2016-03-23 日本電気株式会社 パラメータ設定装置、パラメータ設定プログラム及びパラメータ設定方法
US9766685B2 (en) * 2013-05-15 2017-09-19 Intel Corporation Controlling power consumption of a processor using interrupt-mediated on-off keying
KR102114453B1 (ko) 2013-07-19 2020-06-05 삼성전자주식회사 모바일 장치 및 그것의 제어 방법
EP2849024A1 (en) 2013-09-16 2015-03-18 ST-Ericsson SA Power consumption management system and method
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7452259B2 (ja) 2020-06-02 2024-03-19 富士通株式会社 半導体装置

Also Published As

Publication number Publication date
BR112018002234A2 (pt) 2018-09-18
KR102049952B1 (ko) 2019-11-28
EP3332307A1 (en) 2018-06-13
JP6530134B2 (ja) 2019-06-12
US9798376B2 (en) 2017-10-24
CN107924220B (zh) 2021-03-05
CN107924220A (zh) 2018-04-17
WO2017023472A1 (en) 2017-02-09
KR20180036966A (ko) 2018-04-10
EP3332307B1 (en) 2019-02-27
US20170038814A1 (en) 2017-02-09

Similar Documents

Publication Publication Date Title
JP6530134B2 (ja) 配電網(pdn)ドループ/オーバーシュート緩和
JP6595092B2 (ja) 電力配分ネットワーク(pdn)ドループ/オーバシュート緩和
JP6125539B2 (ja) リアルタイムシステムにおける動的電力管理
TWI527051B (zh) 記憶體控制器之調校、電力閘控與動態頻率改變
JP4490298B2 (ja) プロセッサ電力制御装置及びプロセッサ電力制御方法
CN104969142B (zh) 用于以有保证的瞬态最后期限来控制中央处理单元功率的***和方法
TW201024986A (en) Processor power consumption control and voltage drop via micro-architectural bandwidth throttling
US11119559B2 (en) Controlling a processor clock
US9494992B2 (en) Multi-core processor system avoiding stopping of cores too close in time
US20230113657A1 (en) Preemptive wakeup circuit for wakeup from low power modes
US8892923B2 (en) Data processing apparatus and method for maintaining a time count value in normal and power saving modes of operation
US9632566B2 (en) Dynamically controlling power based on work-loop performance
JPH07191779A (ja) コンピュータシステム中の電力を節約するnapnop回路
CN104756043B (zh) 用于以有保证的瞬态最后期限来控制中央处理单元功率的***和方法
US8127161B2 (en) Data processing apparatus
US20150293788A1 (en) Scheduling of Global Voltage/Frequency Scaling Switches Among Asynchronous Dataflow Dependent Processors

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190320

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190320

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190320

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190408

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: 20190416

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190515

R150 Certificate of patent or registration of utility model

Ref document number: 6530134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250