JP5632466B2 - プロセッサのための静止状態保存モード - Google Patents

プロセッサのための静止状態保存モード Download PDF

Info

Publication number
JP5632466B2
JP5632466B2 JP2012516339A JP2012516339A JP5632466B2 JP 5632466 B2 JP5632466 B2 JP 5632466B2 JP 2012516339 A JP2012516339 A JP 2012516339A JP 2012516339 A JP2012516339 A JP 2012516339A JP 5632466 B2 JP5632466 B2 JP 5632466B2
Authority
JP
Japan
Prior art keywords
processor
clock
power
state
setting
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
JP2012516339A
Other languages
English (en)
Other versions
JP2012530973A (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies 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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2012530973A publication Critical patent/JP2012530973A/ja
Application granted granted Critical
Publication of JP5632466B2 publication Critical patent/JP5632466B2/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
    • 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/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/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/325Power saving in peripheral device
    • G06F1/3278Power saving in modem or I/O interface
    • 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/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Description

電子ブックリーダ(「Eブックリーダ」)、携帯電話、携帯メディアプレーヤ、タブレットコンピュータ、ネットブック、携帯情報端末等の電子装置および他の電子装置は、機能するにあたって電力に依存する。
これらの電子装置内において、プロセッサ(単数または複数)および周辺装置を含む部品の中には、動作中に相当量の電力を用いるものもある。これらの周辺装置は、外部メモリインターフェース(EMI:external memory interface)、汎用シリアルバス(USB:Universal Serial Bus)コントローラ、シリアル周辺インターフェース(SPI:serial peripheral interface)、インターインテグレーテッドサーキット(I2C:inter−integrated circuit)バスコントローラ、オーディオ装置、画像処理ユニット(IPU:image processing unit)、入力装置、リアルタイムクロック、同期シリアルインターフェース(SSI:synchronous serial interface)、NORフラッシュメモリコントローラ、NANDフラッシュメモリコントローラ(NFC:NAND flash memory controller)、スマートダイレクトメモリアクセスコントローラ(SDMA:smart direct memory access controller)、マルチメディアカード(MMC:multi−media card)記憶装置コントローラ、その他を含む。いくつかの実装においては、USB、NFC、IPU、SDMA、および他の周辺装置は、データをSDRAMへと、またはSDRAMから、EMIを介して移動することもある。これらの周辺装置は、プロセッサとして同一の「チップ」またはダイ上に存在してもよく、または他のダイ上に存在してもよく、または組み合わせであってもよい。
実行モードにおいてアクティブに使用されてはいないがアイドル状態にあるプロセッサは、相当量の電力を消費する。このアイドル状態は、電子装置により放散される熱の量を増加させる他にも、エネルギーを浪費する。電力消費を低減することは、バッテリーから動作する携帯装置の使用可能時間を増加させる。電力消費を低減することにより、電子装置から放散される熱も低減し、電子装置はより低い温度で動作することが可能となり、その結果、機器の寿命は伸び、冷却用の設計はより簡素化される。
携帯可能な市販装置における電力消費を低減するために、装置のプロセッサおよび周辺装置を「スリープ」モードに設定することによる様々な方式が提案されてきた。一般に、スリープモードに入ることは、マイクロプロセッサの未使用部分の電源遮断および/またはマイクロプロセッサのクロックスピードの低減を伴う。
しかし、これらの技術による省電力は控えめなものにすぎない。さらに、スリープモードに入るためにおよびスリープモードから脱するために用いられる現在の技術により、コマンドを実行するにあたって容認できない待ち時間が導入されること、および実行モードに再び入る際にシステムの不安定性が生じることが多々ある。
上述のように、電子装置は、電力の消費および熱の放散を低減するために、低電力モードを利用する。電子装置は、電子ブックリーダ(「Eブックリーダ」)、携帯電話、携帯メディアプレーヤ、タブレットコンピュータ、ネットブック、携帯情報端末、組込装置等であり得る。
既存の低電力モードによる電力消費の低減は控えめなものにすぎず、コマンドの実行に対する容認できない待ち時間を導入し、実行モードに再び入る際にシステムの不安定性を生じさせ得る。
「静止状態保存モード」(QSRM)と称される新規の低電力モードに電子装置が入ることを可能にする電子装置の状態保存モードを、活用し、向上させるプロセスおよびシステムが開示される。電子装置はこのQSRMに入ることにより、安定した実行オペレーションを迅速且つ確実に再開する能力を保持しつつ、電力消費は大幅に低減され得る。
添付の図面を参照しつつ、詳細な説明を加えることにする。図面において、参照番号の最も左側の桁(単数または複数)は、その参照番号が最初に出現する図面を指す。異なる図面における同一参照番号の使用は、同様のまたは同一の項目を示す。
静止状態保存モード(QSRM)にある例示的なコンピュータシステムの概略図である。 実行モードからQSRMへ移行し、実行モードに戻る例示的な全般的プロセスおよびこれら2つの相対的電力消費を示すフローチャートである。 QSRMに入る例示的なプロセスのフローチャートである。 オフ状態から始まるスイッチングレギュレータからの利用可能な電流、および低電力状態から始まるスイッチングレギュレータからの利用可能な電流と比較して、QSRMから脱して実行モードに入る間のプロセッサに対する、時間の関数としての電力需要を示すグラフである。
1つの実装において、「静止状態保存モード」(QSRM)は、クロックを個別にゲート制御する能力および割込命令にウェイトをかける能力を有するプロセッサを利用し、内蔵のまたは外部の電力制御集積回路(PMIC: power management integrated circuit)を有する電子装置により実行され得る。ゲート制御とは、回路の選択された部分(単数または複数)を遮断する能力を指す。PMICは、実行状態、低電力状態、オフ状態の間で移行する能力を有する線形レギュレータおよびスイッチングレギュレータを含む。例えば、米国・テキサス州・オースティンのフリースケール(登録商標)セミコンダクタ社製のi.MXアーキテクチャおよびAtlas PMIC MC13783は、プロセッサおよびPMICの好適なファミリーの1つである。他のシステムオンチップ(SOC:System−on−a−chip)も使用可能である。
プロセッサは、Linux(登録商標)、UNIX(登録商標)、ワシントン州・レッドモンドのマイクロソフト社のMicrosoft Windows(登録商標)、マイクロソフト社のWindows Mobile(登録商標)、カリフォルニア州・クパティーノのアップル社のMac OS(登録商標)、アップル社のMac OS X(登録商標)、およびカリフォルニア州・アラメダのウィンドリバー社のVx Works(登録商標)を含むがこれらに限定されないオペレーティングシステムを実行する。
例えば、Eブックリーダまたは他の電子装置は、i.MXアーキテクチャを有するフリースケール(登録商標)プロセッサを内蔵し、Linux(登録商標)カーネルを実行し得る。カーネルは、電力制御集積回路(PMIC)、シリアル周辺インターフェース(SPI)、外部メモリインターフェース(EMI)、汎用シリアルバス(USB)コントローラ、画像処理ユニット(IPU)、スマートダイレクトメモリアクセス(SDMA)、マルチメディアカード(MMC)記憶装置コントローラ等の装置と通信するために、デバイスドライバを使用する。これらの周辺装置は、i.MXアーキテクチャの場合のようにプロセッサと同一の「チップ」またはダイ上に存在するか、他のダイ上に存在するか、または2つの組み合わせであり得る。
1つの実装においては、ユーザスペースプロセスにより起動されると、プロセッサはQSRMに移行する。QSRMへ正常に移行した後に電力を消費し続ける部品は、低電力モードに留まるCPUに電力を供給するスイッチングレギュレータを有する低電力スタンバイモードにあるPMICと、メモリがリフレッシュを必要とするときに自己リフレッシュモードにある外部メモリとを含む。他の実装においては、ディスプレイおよび/またはWWAN無線受信器も、QSRMの間、アクティブモードまたはスタンバイモードに留まり得る。QSRMは、同一の発明者による、2008年10月30日に出願された、同時係属出願である米国特許出願第12/261,980号に説明される静止仮眠モード(QDM:quiescent doze mode)と組み合わせて用いられてもよい。
ウェイクアップソースは、通常動作の再開をトリガしてもよい。ウェイクアップソースは、電源ボタン、(外部電力供給源の接続時にPMICにより生成される等の)充電器の検出、または割込を生成するPMICにおけるリアルタイムクロックを含み得る。ウェイクアップソースから割込を受け取ると、プロセッサは、クロックを開放すなわち有効にし、割込を有効にし、および他の方法でシステム状態を復元する。入出力装置のデバイスドライバは、良好な保存された状態を用いて、以前の既知の良好な状態へ入出力装置を戻す。プロセッサはここにおいて実行モードにあり、割込をトリガしたタスクを実行する準備が整った状態となる。プロセッサがアイドル状態に戻ると、装置は再びQSRMに入る。
静止状態保存モードにおける例示的環境
図1は、QSRMにおけるコンピュータシステム100の例示的な概略図である。1つの実装において、コンピュータシステム102はEブックリーダであってもよい。一方、コンピュータシステム100は、携帯電話、携帯メディアプレーヤ、ネットブック、携帯情報端末等において用いられてもよい。
バッテリー、パワーサプライ、充電器、ソーラーパネル等の電力供給源102は、コンピュータシステム100に電力を供給する。電力制御集積回路(PMIC)104は、電力供給源102からの電力を用いて、コンピュータシステム100内の他の装置を適正に動作させる特性を有する電力を供給する。PMIC104はマイクロコントローラ110に接続され、このマイクロコントローラ110は、いくつかの実装においては、SPIまたはI2Cを用いて作られたものであってもよい。PMIC104は1つまたは複数のスイッチングレギュレータ106および/または線形レギュレータ108を備えてもよい。スイッチングレギュレータ106は、高い入力電圧または低い入力電圧から、所望の出力電圧を生成する能力を提供する。出力電圧が入力電圧より大きい場合、これは「ブースト」である。出力電圧が入力電圧より小さい場合、これは「バック」である。線形レギュレータ108は、入力電圧をバックする能力、すなわち入力電圧よりも低い出力電圧を生成する能力を提供する。スイッチングレギュレータ106は一般に、電圧をバック、ブースト、または反転させる能力が与えられた場合、線形レギュレータ108よりもより高い電力変換効率と、より高い設計上の柔軟性を提供する。
PMIC104により供給される電力は、以下の例において示される。すなわち、コンピュータシステムが1.5ボルトのバッテリー(完全充電時)、1.65ボルトを要求するプロセッサ、および1.1ボルトを要求する他の装置を有するものと仮定する。PMIC104は、バッテリーが発する1.5ボルトをプロセッサにより要求される1.65ボルトへとスイッチングレギュレータを用いてブーストするよう設定されてもよい。線形レギュレータは、1.5ボルトのバッテリー電圧を他の装置により要求される1.1ポルトへと低下させるよう設定されてもよい。他の例では、3.8ボルトのバッテリーからの出力は、スイッチングレギュレータによりバックされて、実行モード時には1.8ボルトをQSRMにおいては1.7ボルトをSDRAMに提供するよう構成されてもよい。
コンピュータシステム100におけるマイクロコントローラ110が示される。マイクロコントローラ110は、中央処理装置(CPU)112と、CPUクロック114と、CPUレジスタ(単数または複数)116と、クロックゲート制御レジスタ(単数または複数)(CGR)118と、1次キャッシュおよび/または2次キャッシュ、キャッシュクロック(単数または複数)122、およびクロック制御モジュール(CCM)124を備え得るキャッシュメモリ120とを備える。
マイクロコントローラ110内には、以下のものを含む入出力装置126も存在する。
・シリアル周辺インターフェース(SPI)バス128および関連するSPIクロック130
・外部メモリインターフェース(EMI)132、および以下に説明する外部メモリ144に動作可能に接続され得る、関連するEMIクロック134
・汎用シリアルバス(USB)コントローラ136および関連するUSBクロック138。コントローラ136は、USBインプリメンターズ・フォーラムにより規定されたUSB1.0、1.1、2.0、3.0を含む任意のUSB規格に準拠してもよい。USBコントローラ136は、WWAN無線受信器に接続されたUSBホストコントローラと、USBガジェットコントローラとに分割され得る。
・マイクロコントローラ110内には、関連するクロック142を有する他の装置140が存在してもよい。これらの他の装置140は、IEEE1394バス、カメラ、全地球測位システム、ブルートゥース(登録商標)、オーディオ、PCカード装置、MMCコントローラ、NFC、MMC記憶装置、および他を含んでもよい。
EMI132は外部メモリ144に接続されてもよく、外部メモリ144は、スタティックRAM(SRAM:Static Random Access Memory)、疑似SRAM(PSRAM:Pseudostatic Random Access Memory)、同期型ダイナミックRAM(SDRAM:Synchronous Dynamic Random Access Memory)、ダブルデータレートSDRAM(DDR:Double Data Rate SDRAM)、NANDフラッシュ、磁気抵抗RAM(MRAM:Magnetoresistive Random Access Memory)、メモリスタRAM(MemRAM:Memristor Random Access Memory)、その他を含んでもよい。
いくつかの実装において、入出力装置126もEMI132を介して外部メモリ144に接続されてもよい。例えば、USBコントローラ、オーディオ装置、IPU、MMC記憶装置コントローラ、および他の装置がEMI132を介して外部メモリ144に接続されてもよい。
外部メモリ144は、動作可能にデバイスドライバ(単数または複数)150に接続されたカーネル148を含むオペレーティングシステム146を記憶してもよい。QSRM命令は、カーネル148内に存在してもよい。PMIC104に対するQSRM命令は、デバイスドライバ(単数または複数)150内に存在してもよい。デバイスドライバ150は入出力装置126をカーネル148に動作可能に接続する。
カーネル148およびデバイスドライバ150の間のような動作可能な接続が、強調のために示される。図1に示すすべての装置は動作可能に接続されているが、それぞれの矢印は、例示の簡略化のために省略されている。
QSRMの間、電力供給される部品152は、低電力モードにあるPMIC104と、自己リフレッシュモードにある外部メモリ144とを含む。自己リフレッシュモードにおいて、外部メモリは、メモリコントローラまたは他の部品からの外部入力がなくても、メモリセルをリフレッシュすることができる。いくつかの実装において、外部メモリは、SDRAM、DDR、その他であってもよい。
図2は、実行モードからQSRMに移行し実行モードに戻る全般的なプロセス200を示す他に、これら2つのモードの相対的な電力消費も示す。プロセス200(ならびに下記の図3に示すプロセス)は、論理フローグラフにおけるブロックの集合として示され、これらのブロックは、ハードウェア、ソフトウェア、またはこれらの組み合わせにおいて実装され得る一連の動作を示す。ソフトウェアの状況においては、ブロックは、1つまたは複数のプロセッサにより実行されると前述の動作を実行する、コンピュータにより実行可能な命令を示す。特記しない限り、動作が説明される順序は、限定的なものとして解釈されることを意図するものではなく、他の組み合わせもそのプロセスを実装し得る。検討のために、プロセス200(ならびに下記のプロセス300)について、図1を参照して説明する。
202において、実行モードにあるコンピュータシステム100が示される。実行モードにおいて、グラフ204は、100%の最大電力使用を有するコンピュータシステム100を示す。例示的なEブックリーダにおいて、ページを繰る等のタスクがマイクロコントローラ上で実行されるとき、約200ミリアンペア(mA)の電流消費が観察される。広域ネットワーク(WAN)モジュールの電源投入時または電源遮断時、ピーク電力消費は約400mAまで増加し得、オンラインストアへのアクセス中において装置は約300〜350mAを使用し得る。
ページが開かれるか、またはWANモジュールを用いてデータが転送されると、コンピュータシステム100は、表示中のページを読み終え次のページに移行する等のユーザによる動作を待機する。206において、コンピュータシステム100は、ユーザ入力または何らかの他のウェイクイベントを待機している間、QSRMに入ってもよい。QSRMへ入ることは、ユーザ入力に応答して、実行中のプロセスに応答して、または他の判断に応答して、起動されてもよい。QSRMへ入ることに関しては、図3においてより深く検討する。
QSRMにおいて、グラフ208は、例示的なEブックリーダの電力消費が、約0.67mAすなわち実行モード202における電力消費である200mAの約0.3%であることを示す。比較すると、同一の発明者による、2008年10月30日に出願された、同時係属出願である米国特許出願第12/261,980号に説明された静止仮眠モード(QDM)は、約17.4mAまで電力消費を低減する。したがって、QSRMはQDMと比較して電力の約3.8%しか消費しない。QSRMはQDMと組み合わせて用いられてもよい。例えば、QDMは、デバイスドライバおよびカーネルの間の協調によって電力消費を最小化するとともに、タイマー割込間隔を大幅に増加させる。したがって、コンピュータシステム100は、適宜、実行モード、QDM、QSRMの間で移行してもよい。
210において、ウェイクアップ割込が受け取られ、212においてコンピュータシステム100がウェイクアップする。ウェイクアップ212はクロックおよび割込を有効にし、システムを実行モード202に復元させる。例示的なEブックリーダにおいて、QSRMからのウェイクアップ時間は、一般に比較的短く(200〜300ミリ秒の範囲)、追加的なオーバーヘッドおよび待ち時間を招くことがない。PMIC上の選択された電力レギュレータを低電力モードに保持することと組み合わせて、QSRMへのおよびQSRMからの安定且つ確実な移行を提供することにより、これらの迅速なウェイクアップ時間を達成することが可能となる。ウェイクアップ時間がこの範囲にあると、妥当なユーザレスポンスを保ちながら、より頻繁にコンピュータシステムをQSRMに設定することが可能となる。このようにして、顕著に電力を低減することが可能となる。
QSRMに入るための例示的プロセス
図3は、図1に示すQSRMに入るためのプロセス206の例示的なフローチャートである。1つの実装において、ウェイクアップ論理の間の短い待ち時間を達成するためには、クロックがゲート制御される一方で、回路に電力が供給されてもよい。
302において、CPU上で実行中のプロセスおよびスレッドは凍結される。これは、すべてのカーネルスレッドおよびユーザスペースプロセスを凍結することを意味する。ユーザプロセスのカーネルスレッドが凍結を拒否する場合、凍結プロセスは中断され、カーネルは動作を再開してもよい。1つの実装においては、カーネルは以下の命令を実行してもよい。
pm_suspend();
enter_state();
suspend_prepare();
//kernel/power/main.c を参照せよ
C サンプルコード 1
304において、入出力装置は低電力モードに設定される。デバイスドライバは、装置状態を外部メモリ144に保存する。装置状態が保存されると、装置は低電力モードに設定されるかまたは電源が遮断され、装置を駆動するクロックは、ゲート制御されてもよい。ウェイクアップが行われる間、デバイスドライバはこの良好な保存された状態を復元し、入出力装置は動作を再開する。1つの実装においては、カーネルは以下の命令を実行してもよい。
suspend_devices_and_enter()
//kernel/power/main.c を参照せよ
C サンプルコード 2
306において、ウェイクアップソースが構成される。これらのウェイクアップソースは、電力制御イベント、ネットワークインターフェース、リアルタイムクロック、または電源ボタンを含んでもよい。電力制御イベントはPMIC104により生成され、充電器の接続または取り外し、余剰電力の利用可能性、その他を含み得る。1つの実装において、カーネルは以下の命令を実行してもよい。
_raw_writel(〜((1<<23)|(1<<16)|7),MXC_CCM_WIMR);
//関数mxc_pm_lowpower()において
//arch/arm/mach-mx3/mxc_pm.c を参照せよ
C サンプルコード 3
308において、クロックゲート制御レジスタ(CGR)において定義されたクロックがゲート制御されてもよい。限定としてではなく例示として、i.MXファミリーのプロセッサにおいてCGRに存在し得るクロックは、CGR0、CGR1、CGR2、MXC_CCM_CGR0、MXC_CCM_CGR1、MXC_CCM_CGR2、その他を含む。
310において、PMIC104上の不必要な線形レギュレータは電源が遮断される。不要な線形レギュレータは、ゲート制御されたクロックまたは装置に電力を供給する線形レギュレータである。その他の線形レギュレータは、低電力モードに設定されてもよい。
312において、PMIC104上のスイッチングレギュレータ106は低電力モードに設定される。図4に関して以下でさらに詳細に説明するように、スイッチングレギュレータは、オフ状態から再始動するとき、電力を十分迅速に供給することが不可能である。したがって、スイッチングレギュレータ106を低電力モードに保つことにより、安定性を増加させる一方で、ウェイクアップ時の待ち時間を低減させることが可能となる。例えば、Atlas PMIC MC 13783が用いられる1つの実装において、カーネルは関数mx31_pm_prepare()において、以下の命令を実行してもよい。
pmic_power_regulator_off(SW_PLL);

/*
*オーディオ回路およびVAUDIOを電力遮断する
*/
pmic_power_regulator_off(REGU_VVIB);
pmic_power_regulator_off(REGU_VAUDIO);

pmic_power_regulator_set_lp_mode(REGU_VDIG,
LOW_POWER_CTRL_BY_PIN);
pmic_power_regulator_set_lp_mode(REGU_GPO1,
LOW_POWER_CTRL_BY_PIN);
pmic_power_regulator_set_lp_mode(REGU_GPO2,
LOW_POWER_CTRL_BY_PIN);
pmic_power_regulator_set_lp_mode(REGU_GPO3,
LOW_POWER_CTRL_BY_PIN);
/*
*WANがオフのとき、GPO4上で低電力を有効にしてもよい*/
If((wan_get_power_status()==WAN_OFF)||
(wan_get_power_status()==WAN_INVALID)){
/*WANがオフ*/
pmic_write_reg(REG_POWER_MISCELLANEOUS,(1<<13),(1<<13));
}
else{
/*WANがオン*/
pmic_write_reg(REG_POWER_MISCELLANEOUS,(0<<13),(1<<13));
}
pmic_power_regulator_set_lp_mode(REGU_VAUDIO,
LOW_POWER_CTRL_BY_PIN);

pmic_power_regulator_set_lp_mode(REGU_VIOHI,LOW_POWER_EN);
pmic_power_regulator_set_lp_mode(REGU_VIOLO,LOW_POWER_EN);
C サンプルコード 4
スイッチングレギュレータは、スタートアップにおいて低電力に設定されてもよい。再び例えば、Atlas PMIC MC 13783が用いられる1つの実装において、カーネルは以下の命令を実行してもよい。
/*4つのmcl3783出力電圧を有効にする*/
pmic_write_reg(REG_ARBITRATION_SWITCHERS,(1<<5),(1<<5));

/*mcl3783電圧準備信号を有効にする*/
pmic_write_reg(REG_INTERRUPT_MASK_1,(0<<11),(1<<11));

/*
*スイッチングレギュレータ上のスタンバイ電圧および電力モード
*/
volt.sw1a-ru=SW1A_0_95V;
pmic_power_switcher_set_stby(SW_SW1A,volt);
pmic_power_switcher_set_mode(SW_SW1A,LOW_POWER,1);

pmic_power_switcher_set_mode(SW_SW1B,LOW_POWER,1);
pmic_power_switcher_set_mode(SW_SW2A,LOW_POWER,1);

volt.sw2b=SW2B_1_7V;
pmic_power_switcher_set_stby(SW_SW2B,volt);
pmic_power_switcher_set_mode(SW_SW2B,LOW_POWER,1);

pmic_power_regulator_off(SW_SW3);
pmic_power_regulator_off(REGU_VSIM);
pmic_power_regulator_off(REGU_VESIM);
pmic_power_regulator_off(REGU_VCAM);
pmic_power_regulator_off(REGU_VRFBG);
pmic_power_regulator_off(REGU_VRF1);
pmic_power_regulator_off(REGU_VRF2);
pmic_power_regulator_off(REGU_VRFCP);
pmic_power_regulator_off(REGU_VRFREF);
pmic_power_regulator_off(REGU_VRFDIG);
pmic_power_regulator_off(REGU_GPO2); /*無し*/
//arch/arm/mach-mx3/dvfs_v2.cおよびarch/arm/mach-mx3/pm.cを参照せよ
C サンプルコード 5
314において、serial_pllおよびusb_pllクロックがここでゲート制御される。いくつかの実装において、広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、またはプロセッサとの通信のためにUSBを利用する他の装置(単数または複数)の状態がチェックされてもよい。WANまたは他のUSBに接続された装置の状態が「オフ」および非「オン」である場合、USBおよび関連するクロックはゲート制御されてもよい。1つの実装において、カーネルは以下の命令を実行してもよい。
__raw_writel(__raw_readl(MXC_CCM_CCMR)|MXC_CCM_CCMR_FPME,
MXC_CCM_CCMR);
__raw_writel(__raw_readl(MXC_CCM_CCMR)&〜MXC_CCM_CCMR_MPE,
MXC_CCM_CCMR);
__raw_writel(__raw_readl(MXC_CCM_CCMR)&
〜MXC_CCM_CCMR_PRCS_MASK)|
(1<<MXC_CCM_CCMR_PRCS_OFFSET),
MXC_CCM_CCMR);
//arch/arm/mach-mx3/mxc_pm.c を参照せよ
C サンプルコード 6
316において、PMIC104は低電力モードに入る準備が整えられる。例えば、MX31プロセッサにおいて、VSTBYピンはPMIC104のVSTBYピンに接続されている。クロック制御モジュール124が割込待ち(WFI:wait for interrupt)時にVSTBYを低くするよう設定されている場合、クロック制御モジュール124はVSTBYピンを下に引き、それにより、次にPMIC104のVSTBYピンを下に引き、PMICを低電力モードに設定する。1つの実装において、カーネルは以下の命令を実行してもよい。
reg=__raw_readl(MXC_CCM_CCMR);
reg=(reg〜MXC_CCM_CCMR_LPM_MASK))|
lpm<<MXC_CCM_CCMR_LPM_OFFSET|
MXC_CCM_CCMR_VSTBY;
__raw_writel(reg,MXC_CCM_CCMR);
//arch/arm/mach-mx3/mxc_pm.cを参照せよ。
C サンプルコード 7
318において、リフレッシュを必要とするSDRAMまたは他のメモリ144は自己リフレッシュモードに設定されてもよい。なお、この自己リフレッシュモードにおいては、メモリは外部入力がなくてもそれ自体をリフレッシュする。メモリ144に電力を供給するスイッチングレギュレータ106は、低電力モードに設定されてもよい。SDRAMがスイッチングレギュレータSW2により電力供給され得るMX31アーキテクチャ等の1つの実装において、カーネルは以下の命令を実行してもよい。
Volt.sw2b=SW2B_1_7V;
pmic_power_switcher_set_stby(SW_SW2B,volt);
pmic_power_switcher_set_mode(SW_SW2B,LOW_POWER,1);
//arch/arm/mach-mx3/dvfs_v2.cにおける関数pmic_voltage_init()を参照せよ
C サンプルコード 8
320において、状態保存モードがクロック制御モジュール124において設定される。1つの実装において、カーネルは以下の命令を実行してもよい。
/*有効なWell Bias
*SBYCS=0、MCUクロックソースは無効*/
mxc_ccm_modify_reg(MXC_CCM_CCMR,
MXC_CCM_CCMR_WBEN|MXC_CCM_CCMR_SBYCS,
MXC_CCM_CCMR_WBEN);
//arch/arm/mach-mx3/mxc_pm.cにおけるmxc_pm_lowpower()を参照せよ
C サンプルコード 9
322において、1次キャッシュおよび2次キャッシュはフラッシュされてもよい。キャッシュをフラッシュすることにより、キャッシュは外部メモリ144と同期した状態に保たれ、実行状態が再開したときに不正確なデータが存在することは避けられる。1つの実装において、カーネルは以下の命令を実行してもよい。
flush_cache_all()
C サンプルコード 10
324において、ウェイクアップソースからの割込要求以外のすべての割込要求(IRQ:interrupt request)は無効にする。例えば、電源ボタン、PMIC電力イベント、その他からの割込は、有効状態に留まる。1つの実装において、カーネルは以下の命令を実行してもよい。
Local_irq_disable();
...
_raw_writel(INT_GPT,AVIC_INTDISNUM);/*タイマーを無効にする*/
...

/*ウェイクアップソースを構成する*/
_raw_writel(〜((1<<23)|(1<<16)|7),MXC_CCM_WIMR);
//arch/arm/mach-mx3/mxc_pm.cにおけるmxc_pm_lowpower()を参照せよ
C サンプルコード 11
326において、CPUスケーリングは無効にされる。CPUスケーリングは、主として電力消費を最小限にするために、プロセッサ周波数の動的な変化を可能にする。例えば、負荷の大きい一連のタスクを実行中のCPUは、スループットを最大限にするために最も高いプロセッサ周波数で動作してもよい。それに対して、同一のCPUが極めて簡単なタスクを実行するときには、電力消費を最小限にするために、より低いプロセッサ周波数で動作してもよい。ウェイクアップ待ち時間を最小限にするために、プロセッサは、最大のサポートされる動作周波数において動作を再開するよう設定されてもよい。
328において、割込待ち(WFI)命令が実行される。1つの実装において、カーネルは以下の命令を実行してもよい。
/*
*WFI正誤表TLSbo65953に対して
*
*問題の回避なしに、これは単に以下のようになり得る。
* WFI;nop;nop;nop;nop;nop;
*/
_asm__volatile_(
”mrc p15,0,%0,c1,c0,0\n”
”bic %0,%0,#0x00001000\n”
”bic %0,%0,#0x00000004\n”
”mcr p15,0,%0,c1,c0,0\n”
”mov %0,#0\n”
”mcr p15,0,%0,c7,c5,0\n”
”mov %0,#0\n”
”mcr p15,0,%0,c7,c14,0\n”
”mov %0,#0\n”
”mcr p15,0,%0,c7,c0,4\n”
”nop\n” ”nop\n” ”nop\n” ”nop\n”
”nop\n” ”nop\n” ”nop\n”
”mrc p15,0,%0,c1,c0,0\n”
”orr %0,%0,#0x00001000\n”
”orr %0,%0,#0x00000004\n”
”mcr p15,0,%0,c1,c0,0\n”
::”r”(reg));
//arch/arm/mach-mx3/mxc_pm.cを参照せよ
C サンプルコード 12
330において、主要CPUクロックはゲート制御され、PMICは低電力モードへの移行を完了する。この時点において、コンピュータシステム100において電力供給される部品は、低電力スタンバイモードにあるPMIC104および自己リフレッシュモードにある外部メモリ144を含む。この例において、非活動状態にある部品は、CPU112、キャッシュメモリ120、CPUクロック(単数または複数)114、キャッシュクロック122、EMI132、その他を含む。
図4は、オフ状態から始まるスイッチングレギュレータからの利用可能な電力、および低電力状態から始まるスイッチングレギュレータからの利用可能な電力と比較して、QSRMから脱して実行モードに入る間のプロセッサに対する、時間の関数としての電力需要の例示的なグラフ400である。経過時間が時間0から時間「T」までの範囲で横軸402に沿って示される。縦軸404は、0から「W」までの範囲で電力を示す。点408で示されるQSRMから、点410でCPUが実行モードを達成するまで継続する実線の曲線406は、CPU112に対する電力需要を示す。
点線の曲線412は、オフ状態から電力供給されたスイッチングレギュレータから利用可能な電力を示す。図示のように、この曲線はCPU電力需要曲線406よりも下方にある。これが生じると、CPUは、動作するために十分な電力を得ることができず誤動作し、システムが不安定となることもある。
断続線の曲線414は、低電力状態から始まるスイッチングレギュレータから利用可能な電力を示す。図示のように、この曲線は、CPU電力需要曲線406の上方にあり、スイッチングレギュレータがCPUの確実且つ安定な動作のために十分な電力を供給できることを示す。
このように、CPUに電力を供給するスイッチングレギュレータを低電力状態に保持することにより、QSRMから実行モードへの復元はより迅速且つ安定なものとなる。
付記項1:
実行可能命令を用いて構成された1つまたは複数のコンピュータシステムの制御下、
実行中のユーザスペースプロセスおよび前記プロセッサ上で実行中のカーネルスレッドを凍結することと、
前記プロセッサに接続された入出力装置をサスペンドモードに設定することと、
ウェイクアップ割込を生成するよう、前記プロセッサに接続されたウェイクアップソースを構成することと、
前記プロセッサのクロックゲート制御レジスタにおいて定義されたクロックをゲート制御することと、
前記プロセッサに接続された電力制御集積回路(PMIC)上の線形レギュレータをオフ状態に設定することと、
前記PMIC上のスイッチングレギュレータを低電力状態に設定することと、
低電力モードに入るよう、前記PMICを準備することと、
前記プロセッサに接続されたクロック制御モジュールにおいてプロセッサ状態保存モードを設定することと、
前記プロセッサに接続されたキャッシュをフラッシュすることと、
前記ウェイクアップソースからの割込以外の前記プロセッサへの割込要求を無効にすることと、
前記プロセッサにおけるプロセッサスケーリングを無効にすることと、
前記ウェイクアップソースからの前記ウェイクアップ割込を受け取るよう構成された割込命令に対して待機を実行することと、
前記プロセッサの主要クロックをゲート制御することと、
前記PMICを前記低電力モードに設定することと
を含む、プロセッサを静止状態保存モード(QSRM)に設定するコンピュータ実施可能な方法。
付記項2:
前記PMIC上の前記スイッチングレギュレータを低電力状態に設定した後、シリアル周辺インターフェースクロックおよび汎用シリアルバスクロックをゲート制御することをさらに含む、付記項1に記載の方法。
付記項3:
前記フラッシュすることは、前記プロセッサに接続された1次キャッシュおよび前記プロセッサに接続された2次キャッシュをフラッシュすることを含む、付記項1に記載の方法。
付記項4:
前記低電力モードに入るよう前記PMICを準備した後、外部メモリを自己リフレッシュモードに設定することをさらに含む、付記項1に記載の方法。
付記項5:
前記入出力装置を前記サスペンドモードに設定することは、入出力装置状態をメモリに保存することと、前記入出力装置を低電力モードに設定することと、前記入出力装置を駆動するクロックをゲート制御することとを含む、付記項1に記載の方法。
付記項6:
前記プロセッサは、クロックを別個にゲート制御することができるアプリケーションプロセッサを備える、付記項1に記載の方法。
付記項7:
前記ウェイクアップソースは、PMICイベント、ネットワークインターフェース、リアルタイムクロックウェイクアップ、または電源ボタンのうちの少なくとも1つを含む、付記項1に記載の方法。
付記項8:
前記プロセッサスケーリングを無効にすることは、前記プロセッサを、前記プロセッサによりサポートされる最大動作周波数に設定することを含む、付記項1に記載の方法。
付記項9:
前記プロセッサに対して外部にある装置をゲート制御すなわち遮断することをさらに含む、付記項1に記載の方法。
付記項10:
メモリと、
前記メモリに接続されたプロセッサと、
前記メモリに記憶され、前記プロセッサ上で実行されるよう構成されたカーネルであって、静止状態保存モード(QSRM)に入った後、電力制御集積回路(PMIC)のスイッチングレギュレータを低電力状態に保持するよう構成されたカーネルと、
を備えた、携帯電子装置の電力消費を低減するためのシステム。
付記項11:
前記プロセッサに接続された周辺装置をさらに含み、前記カーネルは、
前記周辺装置を低電力状態に設定することと、
前記周辺装置内のウェイクアップソースがウェイクアップ割込を生成するよう構成することと、
を行うことにより、前記QSRMに入るよう構成された、付記項10に記載のシステム。
付記項12:
前記カーネルは、前記QSRMに入った後、メモリを自己リフレッシュ状態に保持するよう、さらに構成された、付記項10に記載のシステム。
付記項13:
前記スイッチングレギュレータは前記プロセッサに電力を供給するよう構成された、付記項10に記載のシステム。
付記項14:
前記カーネルは割込待ち(WFI)命令に対して待機を実行するようさらに構成された、付記項10に記載のシステム。
付記項15:
前記カーネルは、
実行中のユーザスペースプロセスおよび前記プロセッサ上で実行中のカーネルスレッドを凍結することと、
ウェイクアップ割込を生成するようウェイクアップソースを構成することと、
前記プロセッサに接続されたクロックゲート制御レジスタにおいて定義されたクロックをゲート制御することと、
前記プロセッサに接続されたゲート制御された装置に電力を供給するよう構成されたPMICの線形レギュレータをオフ状態に設定することと、
前記プロセッサに電力を供給するよう構成されたPMICの前記スイッチングレギュレータを低電力状態に設定することと、
前記プロセッサに接続された、シリアル周辺インターフェースクロックまたは汎用シリアルバスクロックまたはその両方をゲート制御することと、
前記プロセッサに接続されたクロック制御モジュールにおいて、前記プロセッサに対して状態保存モードを設定することと、
非ウェイクアップソースからの割込生成を無効にすることと、
前記プロセッサ上でプロセッサスケーリングを無効にすることと、
前記プロセッサの主要クロックをゲート制御することと、
を行うことにより、前記QSRMに入るよう構成された、付記項10に記載のシステム。
付記項16:
前記カーネルは、プロセッサスケーリングを無効にした後、前記PMICを低電力モードに設定するようさらに構成された、付記項15に記載のシステム。
付記項17:
プロセッサにより実行されると、前記プロセッサに
実行中のプロセスおよび中央処理装置(CPU)上で実行中のスレッドを凍結することと、
入力装置または出力装置またはその両方の装置を低電力状態またはサスペンド状態に設定することと、
ウェイクアップ割込を生成するようウェイクアップソースを構成することと、
クロックゲート制御レジスタにおいて定義されたクロックをゲート制御することと、
ゲート制御された装置に電力を供給するよう構成された線形レギュレータをオフ状態に設定することと、
前記CPUに電力を供給するよう構成されたスイッチングレギュレータを低電力状態に設定することと、
シリアル周辺インターフェースクロックまたは汎用シリアルバスクロックまたはその両方をゲート制御することと、
クロック制御モジュールにおいて前記CPUに対して状態保存モードを設定することと、
非ウェイクアップソースからの割込を無効にすることと、
CPUスケーリングを無効にすることと、
を実行させる命令を記憶する、1つまたは複数のコンピュータ読取可能記憶媒体。
付記項18:
前記入力装置または出力装置またはその両方の装置を低電力状態またはサスペンド状態に設定することは、装置状態をメモリに保存することと、前記装置を低電力モードに設定することと、および前記装置を駆動するクロックをゲート制御することとを含む、付記項17に記載のコンピュータ読取可能記憶媒体。
付記項19:
前記シリアル周辺インターフェースクロックまたは前記汎用シリアルバスクロックまたはその両方をゲート制御した後、電力制御集積回路(PMIC)を低電力モードに設定することをさらに含む、付記項17に記載のコンピュータ読取可能記憶媒体。
付記項20:
プロセッサスケーリングを無効にすることは、前記CPUを前記CPUによりサポートされる最大動作周波数に設定することをさらに含む、付記項17に記載のコンピュータ読取可能記憶媒体。
付記項21:
前記状態保存モードを前記クロック制御モジュールに設定した後、CPU1次キャッシュまたは2次キャッシュまたはその両方をフラッシュすることをさらに含む、付記項17に記載のコンピュータ読取可能記憶媒体。
付記項22:
CPUスケーリングを無効にした後、割込命令に対して待機を実行することをさらに含む、付記項17に記載のコンピュータ読取可能記憶媒体。
付記項23:
メモリを自己リフレッシュモードに設定することをさらに含む、付記項17に記載のコンピュータ読取可能記憶媒体。
付記項24:
前記ウェイクアップソースは、電力制御イベント、ネットワークインターフェース、リアルタイムクロック、または電源ボタンのうちの少なくとも1つを含む、付記項17に記載のコンピュータ読取可能記憶媒体。
主題について、構造上の特徴および/または方法論的動作に特有の言語で説明してきたが、添付の請求項に定義された主題は必ずしも説明した特定の特徴または動作に限定されないことを理解すべきである。むしろ、特定の特徴および動作は、請求項を実装するための例示的な形態として開示されたものである。例えば、方法論的動作は、本明細書に説明された順序または組み合わせで実施される必要はなく、1つまたは複数の動作の任意の組み合わせで実施されてもよい。

Claims (12)

  1. メモリと、
    前記メモリに接続されたプロセッサと、
    前記メモリに記憶され、前記プロセッサ上で実行されるよう構成されたカーネルであって、静止状態保存モード(QSRM)に入った後、電力制御集積回路(PMIC)のスイッチングレギュレータを低電力状態に保持するよう構成されたカーネルとを備え、
    前記カーネルは、
    実行中のユーザスペースプロセスおよび前記プロセッサ上で実行中のカーネルスレッドを凍結することと、
    ウェイクアップ割込を生成するようウェイクアップソースを構成することと、
    前記プロセッサに接続されたクロックゲート制御レジスタにおいて定義されたクロックをゲート制御することと、
    前記プロセッサに接続されたゲート制御された装置に電力を供給するよう構成されたPMICの線形レギュレータをオフ状態に設定することと、
    前記プロセッサに電力を供給するよう構成されたPMICの前記スイッチングレギュレータを低電力状態に設定することと、
    前記プロセッサに接続された、シリアル周辺インターフェースクロックまたは汎用シリアルバスクロックまたはその両方をゲート制御することと、
    前記プロセッサに接続されたクロック制御モジュールにおいて、前記プロセッサに対して状態保存モードを設定することと、
    非ウェイクアップソースからの割込生成を無効にすることと、
    前記プロセッサ上でプロセッサスケーリングを無効にすることと、
    前記プロセッサ上でプロセッサスケーリングを前記無効にすることは、前記プロセッサによりサポートされる最大動作周波数に前記プロセッサを設定することをさらに含み、
    前記プロセッサの主要クロックをゲート制御することと、
    を行うことにより、前記QSRMに入るように構成された、携帯電子装置の電力消費を低減するためのシステム。
  2. 前記プロセッサに接続された周辺装置をさらに含み、前記カーネルは、
    前記周辺装置を低電力状態に設定することと、
    前記周辺装置内のウェイクアップソースがウェイクアップ割込を生成するよう構成することと、
    を行うことにより、前記QSRMに入るよう構成された、請求項1に記載のシステム。
  3. 前記カーネルは、前記QSRMに入った後、メモリを自己リフレッシュ状態に保持するよう、さらに構成された、請求項1に記載のシステム。
  4. 前記カーネルは割込待ち(WFI)命令に対して待機を実行するようさらに構成された、請求項1に記載のシステム。
  5. 前記カーネルは、プロセッサスケーリングを無効にした後、前記PMICを低電力モードに設定するようさらに構成された、請求項に記載のシステム。
  6. プロセッサにより実行されると、前記プロセッサに
    実行中のプロセスおよび中央処理装置(CPU)上で実行中のスレッドを凍結することと、
    入力装置または出力装置またはその両方の装置を低電力状態またはサスペンド状態に設定することと、
    ウェイクアップ割込を生成するようウェイクアップソースを構成することと、
    クロックゲート制御レジスタにおいて定義されたクロックをゲート制御することと、
    ゲート制御された装置に電力を供給するよう構成された線形レギュレータをオフ状態に設定することと、
    前記CPUに電力を供給するよう構成されたスイッチングレギュレータを低電力状態に設定することと、
    シリアル周辺インターフェースクロックまたは汎用シリアルバスクロックまたはその両方をゲート制御することと、
    クロック制御モジュールにおいて前記CPUに対して状態保存モードを設定することと、
    非ウェイクアップソースからの割込を無効にすることと、
    CPUスケーリングを無効にすることであって、前記CPUスケーリングを無効にすることは、前記CPUによりサポートされる最大動作周波数に前記CPUを設定することをさらに含む、前記CPUスケーリングを無効にすることと、
    を実行させる命令を記憶する、1つまたは複数のコンピュータ読取可能記憶媒体。
  7. 前記入力装置または出力装置またはその両方の装置を低電力状態またはサスペンド状態に設定することは、装置状態をメモリに保存することと、前記装置を低電力モードに設定することと、前記装置を駆動するクロックをゲート制御することとを含む、請求項に記載のコンピュータ読取可能記憶媒体。
  8. 前記シリアル周辺インターフェースクロックまたは前記汎用シリアルバスクロックまたはその両方をゲート制御した後、電力制御集積回路(PMIC)を低電力モードに設定することをさらに含む、請求項に記載のコンピュータ読取可能記憶媒体。
  9. 前記クロック制御モジュールにおいて前記状態保存モードを設定した後、CPU1次キャッシュまたは2次キャッシュまたはその両方をフラッシュすることをさらに含む、請求項に記載のコンピュータ読取可能記憶媒体。
  10. CPUスケーリングを無効にした後、割込命令に対して待機を実行することをさらに含む、請求項に記載のコンピュータ読取可能記憶媒体。
  11. メモリを自己リフレッシュモードに設定することをさらに含む、請求項に記載のコンピュータ読取可能記憶媒体。
  12. 前記ウェイクアップソースは、電力制御イベント、ネットワークインターフェース、リアルタイムクロック、または電源ボタンのうちの少なくとも1つを含む、請求項に記載のコンピュータ読取可能記憶媒体。
JP2012516339A 2009-06-22 2010-06-18 プロセッサのための静止状態保存モード Expired - Fee Related JP5632466B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/488,814 2009-06-22
US12/488,814 US8601302B2 (en) 2009-06-22 2009-06-22 Processor system in low power state retention mode with linear regulator off and switch regulator low in power management IC
PCT/US2010/039194 WO2010151494A1 (en) 2009-06-22 2010-06-18 Quiescent state retention mode for processor

Publications (2)

Publication Number Publication Date
JP2012530973A JP2012530973A (ja) 2012-12-06
JP5632466B2 true JP5632466B2 (ja) 2014-11-26

Family

ID=43355330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012516339A Expired - Fee Related JP5632466B2 (ja) 2009-06-22 2010-06-18 プロセッサのための静止状態保存モード

Country Status (7)

Country Link
US (1) US8601302B2 (ja)
EP (1) EP2446338B1 (ja)
JP (1) JP5632466B2 (ja)
KR (1) KR101668507B1 (ja)
CN (1) CN102498451B (ja)
CA (1) CA2763236C (ja)
WO (1) WO2010151494A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8766919B1 (en) * 2010-03-02 2014-07-01 Manish Lachwani Fast awake from low power mode
US8935549B2 (en) * 2010-06-30 2015-01-13 Via Technologies, Inc. Microprocessor with multicore processor power credit management feature
WO2012018733A2 (en) * 2010-08-03 2012-02-09 Spx Corporation Vehicle diagnostic, communication and signal delivery system
US8463970B2 (en) * 2011-01-04 2013-06-11 Qualcomm Incorporated Method and system for managing sleep states of interrupt controllers in a portable computing device
CN102692984B (zh) * 2011-03-24 2014-12-10 国基电子(上海)有限公司 电子装置
US20130042132A1 (en) * 2011-08-09 2013-02-14 Samsung Electronics Co., Ltd. Image forming appratus, microcontroller, and methods for controlling image forming apparatus and microcontroller
US9104420B2 (en) 2011-08-09 2015-08-11 Samsung Electronics Co., Ltd. Image forming apparatus, microcontroller, and methods for controlling image forming apparatus and microcontroller
WO2014032610A1 (zh) * 2012-09-03 2014-03-06 东南大学 一种面向cpu流水线的错误恢复电路
CN103631299B (zh) * 2013-05-21 2015-07-29 中国科学院电子学研究所 一种恒定压差、可变输出电压低压差线性稳压器
TWI507873B (zh) * 2013-07-29 2015-11-11 Hon Hai Prec Ind Co Ltd 電源適配器及電子裝置
JP2015064676A (ja) 2013-09-24 2015-04-09 株式会社東芝 情報処理装置、半導体装置、情報処理方法およびプログラム
US10234932B2 (en) * 2015-07-22 2019-03-19 Futurewei Technologies, Inc. Method and apparatus for a multiple-processor system
US9658671B2 (en) * 2015-09-28 2017-05-23 Qualcomm Incorporated Power-aware CPU power grid design
US10168760B2 (en) * 2015-12-01 2019-01-01 Intel Corporation Power management of user interfaces with coordinated ultra-low power states
CN107577189B (zh) * 2017-10-20 2023-12-19 中国电建集团成都勘测设计研究院有限公司 一种自动监测系统的精确定时唤醒方法
KR102003721B1 (ko) * 2018-01-10 2019-07-26 성균관대학교산학협력단 Gpu 커널 트랜잭션화 방법 및 컴퓨팅 장치
US10983840B2 (en) 2018-06-21 2021-04-20 International Business Machines Corporation Consolidating read-copy update types having different definitions of a quiescent state
US10916274B2 (en) 2019-04-19 2021-02-09 Samsung Electronics Co., Ltd. Power management integrated circuits and semiconductor memory modules including power management integrated circuits
TWI727509B (zh) * 2019-11-20 2021-05-11 瑞昱半導體股份有限公司 具有省電模式且能夠在省電模式盡量省電的通訊裝置
US11658571B2 (en) 2020-04-01 2023-05-23 Analog Devices International Unlimited Company Low power regulator circuit
CN113220105A (zh) * 2021-03-19 2021-08-06 珠海全志科技股份有限公司 基于Android的电子书及其阅读控制方法
CN114020139A (zh) * 2021-11-05 2022-02-08 珠海全志科技股份有限公司 Cpu功耗管理方法、计算机装置及计算机可读存储介质
CN115840499B (zh) * 2023-02-15 2023-05-26 天津智芯半导体科技有限公司 电源管理系统和芯片设备

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04245332A (ja) * 1991-01-30 1992-09-01 Hitachi Ltd データ処理装置
JPH0776894B2 (ja) 1991-02-25 1995-08-16 インターナショナル・ビジネス・マシーンズ・コーポレイション プロセッサ用クロック信号の制御方法及び情報処理システム
JPH0588775A (ja) * 1991-09-30 1993-04-09 Toshiba Corp クロツク切替え方式
GB2264794B (en) 1992-03-06 1995-09-20 Intel Corp Method and apparatus for automatic power management in a high integration floppy disk controller
JPH07143741A (ja) * 1993-11-15 1995-06-02 Hitachi Ltd スイッチング電源
JP3411396B2 (ja) * 1994-06-22 2003-05-26 シチズン時計株式会社 コンピュータシステム
JPH0944417A (ja) * 1995-07-21 1997-02-14 Internatl Business Mach Corp <Ibm> 情報処理システム及びその制御方法
US6571333B1 (en) * 1999-11-05 2003-05-27 Intel Corporation Initializing a memory controller by executing software in second memory to wakeup a system
JP2001256067A (ja) 2000-03-08 2001-09-21 Mitsubishi Electric Corp プロセッサ省電力制御方法、記憶媒体、およびプロセッサ省電力制御装置
US6715091B1 (en) 2000-04-10 2004-03-30 Intel Corporation System for rearranging plurality of memory storage elements in a computer process to different configuration upon entry into a low power mode of operation
US7032119B2 (en) 2000-09-27 2006-04-18 Amphus, Inc. Dynamic power and workload management for multi-server system
US7000130B2 (en) 2000-12-26 2006-02-14 Intel Corporation Method and apparatus for thermal throttling of clocks using localized measures of activity
JP4686065B2 (ja) 2001-07-05 2011-05-18 富士通セミコンダクター株式会社 クロック制御装置およびクロック制御方法
US6816977B2 (en) 2001-12-03 2004-11-09 Hewlett-Packard Development Company, L.P. Power reduction in computing devices using micro-sleep intervals
AU2002257172A1 (en) * 2002-04-19 2003-11-03 International Business Machines Corporation Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile
JP4175096B2 (ja) 2002-11-22 2008-11-05 日本電気株式会社 クロック制御方式及び方法
US7051222B2 (en) 2002-12-31 2006-05-23 Intel Corporation Robust computer subsystem power management with or without explicit operating system support
US7500127B2 (en) * 2003-09-18 2009-03-03 Vulcan Portals Inc. Method and apparatus for operating an electronic device in a low power mode
CN1902565A (zh) * 2003-09-18 2007-01-24 伏尔甘·波塔尔斯公司 具有高、低功率处理器能够工作于低功率模式的便携式电子设备
US7042263B1 (en) 2003-12-18 2006-05-09 Nvidia Corporation Memory clock slowdown synthesis circuit
KR101136036B1 (ko) * 2003-12-24 2012-04-18 삼성전자주식회사 유휴 모드에서의 전력 소모가 감소된 프로세서 시스템 및그 방법
US7183825B2 (en) * 2004-04-06 2007-02-27 Freescale Semiconductor, Inc. State retention within a data processing system
US7401241B2 (en) * 2004-06-22 2008-07-15 Intel Corporation Controlling standby power of low power devices
US7302600B2 (en) * 2004-06-30 2007-11-27 Marvell International Ltd. Power supply detection method, apparatus, and system
JP2006201948A (ja) * 2005-01-19 2006-08-03 Seiko Epson Corp 割込み信号受け付け装置および割込み信号受け付け方法
US7441131B2 (en) 2005-09-30 2008-10-21 Silicon Laboratories Inc. MCU with power saving mode
US7574613B2 (en) 2006-03-14 2009-08-11 Microsoft Corporation Scaling idle detection metric for power management on computing device
US7536570B2 (en) 2006-10-02 2009-05-19 Silicon Laboratories Inc. Microcontroller unit (MCU) with suspend mode
US7870407B2 (en) * 2007-05-18 2011-01-11 Advanced Micro Devices, Inc. Dynamic processor power management device and method thereof
US9052892B2 (en) * 2007-06-04 2015-06-09 Ericsson Modems, SA Power supply management integrated circuit
US20080307240A1 (en) 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
US8015428B2 (en) 2007-06-12 2011-09-06 Renesas Electronics Corporation Processing device and clock control method
JP4958723B2 (ja) * 2007-10-19 2012-06-20 株式会社リコー 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体
US9088176B2 (en) * 2007-12-17 2015-07-21 Nvidia Corporation Power management efficiency using DC-DC and linear regulators in conjunction
US20090193230A1 (en) 2008-01-30 2009-07-30 Ralf Findeisen Computer system including a main processor and a bound security coprocessor
US20100060078A1 (en) * 2008-09-08 2010-03-11 Micrel, Incorporated Dual Input LDO Regulator With Controlled Transition Between Power Supplies
US8195887B2 (en) * 2009-01-21 2012-06-05 Globalfoundries Inc. Processor power management and method
US9405347B2 (en) 2009-02-26 2016-08-02 Microsoft Technology Licensing, Llc Power-saving operating system for virtual environment
US8412967B2 (en) 2009-07-28 2013-04-02 Stmicroelectronics S.R.L. Method of enhancing power saving in an integrated electronic system with distinctly powered islands of functional circuitries and related device architecture
US8635469B2 (en) 2009-12-22 2014-01-21 Intel Corporation Method and apparatus for I/O devices assisted platform power management
US8713338B2 (en) 2010-05-28 2014-04-29 Lsi Corporation Methods and apparatus for low power out-of-band communications

Also Published As

Publication number Publication date
CA2763236A1 (en) 2010-12-29
JP2012530973A (ja) 2012-12-06
EP2446338A4 (en) 2016-05-25
CN102498451B (zh) 2015-02-04
WO2010151494A1 (en) 2010-12-29
US8601302B2 (en) 2013-12-03
EP2446338B1 (en) 2017-08-09
KR20120047859A (ko) 2012-05-14
CN102498451A (zh) 2012-06-13
CA2763236C (en) 2018-12-04
US20100325457A1 (en) 2010-12-23
KR101668507B1 (ko) 2016-10-21
EP2446338A1 (en) 2012-05-02

Similar Documents

Publication Publication Date Title
JP5632466B2 (ja) プロセッサのための静止状態保存モード
US9841807B2 (en) Method and apparatus for a zero voltage processor sleep state
US8230247B2 (en) Transferring architectural functions of a processor to a platform control hub responsive to the processor entering a deep sleep state
US9568983B1 (en) Power cut off mode for conserving power in electronic devices
US9411402B2 (en) Power control system and power control method
WO2019067146A1 (en) HIERARCHICAL ENERGY MANAGEMENT UNIT FOR DEVICES WITH LOW CONSUMPTION AND LOW CYCLE RATIO
US11360543B2 (en) USB Type-C subsystem power management
US9323307B2 (en) Active display processor sleep state
TW201416844A (zh) 電子系統及其電源管理方法
CN114008562A (zh) 使用自适应算法的基于工作负载的动态能量性能偏好

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141009

R150 Certificate of patent or registration of utility model

Ref document number: 5632466

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

LAPS Cancellation because of no payment of annual fees