JP2014501982A - 電力管理のためのシステム及び方法 - Google Patents

電力管理のためのシステム及び方法 Download PDF

Info

Publication number
JP2014501982A
JP2014501982A JP2013544993A JP2013544993A JP2014501982A JP 2014501982 A JP2014501982 A JP 2014501982A JP 2013544993 A JP2013544993 A JP 2013544993A JP 2013544993 A JP2013544993 A JP 2013544993A JP 2014501982 A JP2014501982 A JP 2014501982A
Authority
JP
Japan
Prior art keywords
stall
timer
power management
management module
delay
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
JP2013544993A
Other languages
English (en)
Other versions
JP5701399B2 (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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2014501982A publication Critical patent/JP2014501982A/ja
Application granted granted Critical
Publication of JP5701399B2 publication Critical patent/JP5701399B2/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
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)

Abstract

プロセッサコアは、1以上のアプリケーションプロセッサ(AP)コア及びブートストラッププロセッサ(BSP)コアを含む。基本入出力システム(BIOS)は、I/Oオペレーションに応答して、ストール機能を呼び出すI/Oデバイスモジュールと、I/Oデバイスと接続される電力管理モジュールと、電力管理モジュールに接続されタイマモジュールとを備える。電力管理モジュールは、ストール機能のストール遅延に基づいて、タイマモジュールのタイマ周期を調整する。電力管理モジュールは、ストール機能をフックして、ストール遅延と所定の閾値とを比較し、ストール遅延の方が長いと判断された場合には、タイマ周期をストール遅延に設定する。電力管理モジュールは、電力を節約するべく、タイマ周期の間に、BSPをスリープモードにしてもよい。
【選択図】図2

Description

多くのデジタル/電子システムは、システムが動作する時に電力を消費する。電子システム内の1以上の構成要素又はサブシステムがアイドル状態であるイベントでも、1以上のサブシステムが電力を消費している場合がある。例えば、コンピュータシステムでは、システムが1以上のプロセッサの最大計算能力を使用していない時、そのシステムにおける1以上のプロセッサは不必要に電力を消費している場合がある。ある種のシステムは、オペレーティングシステム(OS)を利用して、プロセッサを低電力モードにするものが存在する。
以下、発明の実施形態が例示されるが、これらは図面に示された構成によって限定されるものではない。図示の単純化及び明瞭化のために、図示された要素は必ずしも実寸法で描かれていない。例えば、いくつかの要素の寸法は、明瞭化のために他の要素に比べて拡大して描かれていることがある。さらに、適切であると考えられる場合、対応する又は類似する要素を示すのに参照番号が図面間で繰り返し使用されている。
本発明の一実施形態に係るシステムの一例を説明するブロック図である。 本発明の別の実施形態に係るシステムの別の例を説明するブロック図である。 本発明の一実施形態に係るシステムの別の例の概略図である。 本発明の一部の実施形態に係るフローチャートである。 本発明の一部の実施形態に係るフローチャートである。 本発明の一部の実施形態に係るタイマ周期の変更の例を示した概略図である。 本発明の一部の実施形態に係るタイマ周期の変更の例を示した概略図である。 本発明の一部の実施形態に係るフローチャートである。 本発明の一部の実施形態に係るフローチャートである。
以下の説明では、低消費電力モードを提供する使用モデルを提供する技術について記載する。本技術の実装は、コンピュータシステムに限らず、同様な目的で任意の実行環境に適用可能であり、例えば、任意のデジタル/電子デバイスに適用可能である。以下の説明では、本発明の完全な理解を提供する目的から、ロジック実装、オペコード、オペランドを特定する手段、リソースパーティショニング/共有/複製の実装、システム構成要素間の関係及び種類、及び、ロジックパーティショニング/インテグレーション選択肢等の数多くの詳細事項が記載される。しかしながら、本発明は、このような詳細事項がなくとも実行可能である。また、本発明を不明瞭にしない目的から、制御構造及び完全なソフトウェア命令シーケンスを詳細に示していない。
また、"一実施形態"、"ある実施形態"、"例示的実施形態"、"様々な実施形態"等の言葉は、少なくとも本発明の実施形態が、実施形態に関連した特定の特徴、構造又は特性を含むことを示唆するが、必ずしも全ての実施形態が、これら特定の特徴、構造及び特性を含むことを意味しない。更に、このような言葉は、必ずしも同一の実施形態を意味しない。また、実施形態に関連して特定の特徴、構造又は特性が説明される場合は、明示されていない場合であっても、当業者であれば、このような特徴、構造又は特性を別の実施形態と関連付けることができることを意味する。
本発明の様々な実施形態が、ハードウェア、ファームウェア、ソフトウェア、及びこれらの組み合わせにより実施可能である。また、本発明は、機械可読媒体に含まれる命令として実装可能であり、当該命令は、1以上のプロセッサによって、読み出され、実行される。機械可読媒体としては、機械(例えば、コンピューター)が読み出し可能な形態で情報を格納又は送信するためのあらゆる機構を含む。そのような機械可読メディアとしては、これらに限定されないが、例えば、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光学式記憶媒体、フラッシュメモリ装置、電気的、光学的、音波的、あるいは他の形態の伝播信号(例えば、搬送波、赤外線信号、デジタル信号、信号を送受信するインターフェース等)が含まれる。
以下の説明に含まれる、第1、第2等の言葉は、説明することのみを目的として使用されており、これに限定されると解釈されるべきではない。
図1Aは、システム100の一実施形態例のブロック図である。システム100は、プロセッサ102を備える。プロセッサ102は、ソフトウェアを実行可能な及び/又はデータ信号を処理可能な任意の種類のプロセッサを含む。一実施形態において、プロセッサ102は、複合命令セットコンピュータ(complex instruction set computer:CISC)マイクロプロセッサ、縮小命令セットコンピュータ(reduced instruction set computing:RISC)マイクロプロセッサ、超命令語(very long instruction word:VLIW)マイクロプロセッサ、命令セットの組み合わせを実装するプロセッサ、又は、マイクロプロセッサ、デジタル信号プロセッサ又はマイクロコントローラのようなデジタル信号プロセッサのようなその他のプロセッサデバイスであってもよい。
図1Aには、上記のようなプロセッサであるプロセッサ102のみが示されているが、システム100内には1以上のプロセッサが存在してもよく、また、1以上のプロセッサは、複数のスレッド、複数のコア等を含んでもよい。本発明の拡張対象は、コンピュータシステムにとどまらない。本発明の別の実施形態を、ユニファイド・エクステンシブル・ファームウェア・インタフェース(UEFI)基本入出力システム(BIOS)を使用する任意のフォームファクターデバイス、例えば、ハンドヘルドデバイスや埋め込みアプリケーションで利用することが可能である。ハンドヘルドデバイスの例としては、携帯電話、インターネットプロトコルデバイス、デジタルカメラ、パーソナルデジタルアシスタント(PDA)、又は、ネットブック若しくはノートブックのようなハンドヘルドPCが挙げられる。埋め込みアプリケーションとしては、マイクロコントローラ、デジタル信号プロセッサ(DSP)、システムオンチップ、ネットワークコンピュータ(NetPC)、セットトップボックス、ネットワークハブ、ワイドエリアネットワーク(WAN)スイッチ、又は、その他のシステムが含まれてもよい。
プロセッサ192は、システムロジックチップ104と接続されてもよい。例えば、図示された実施例では、システムロジックチップ104は、メモリ制御ハブ(MCH)であってもよい。一実施形態において、MCH104は、システムメモリ106に対して、命令及びデータ記憶及び/又は、例えば、グラフィックス命令、データ及びテクスチャを記憶するためのメモリパス120を提供してもよい。メモリ120は、メモリバスを含んでもよい。MCH104は、プロセッサ102、システムメモリ106及びシステム100内のその他の構成要素間のデータ信号を伝達してもよく、また、プロセッサ102、システムメモリ106、及び、システムI/O間でデータ信号を橋渡ししてもよい。メモリ106は、ハードディスク、フロッピー(登録商標)ディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ、又は、プロセッサ102が可読なその他の種類の媒体であってもよい。
MCH104は、ローカルI/Oインターコネクトを介して、I/O制御ハブ(ICH)108に接続されてもよい。一実施形態では、ローカルI/Oインターコネクトは、ペリフェラル コンポーネント インターコネクト(PCI)バスのような高速I/Oバスであってもよい。ICH108は、例えば、ローカルI/Oインターコネクトを介して、1以上のI/Oデバイスに接続を提供してもよい。一部の例では、データ記憶デバイス118、オーディオI/O120、キーボード/マウスI/O122、及び、ネットワークコントローラ116、又は、IDE(integrated driver electronics)のようなその他のインテグレィティッドI/Oコンポーネント、ローカルエリアネットワーク(LAN)、ユニーバーサルシリアルバス(USB)のようなシリアル拡張ポート、PCIスロット(図示せず)、無線送受信機、レガシーI/Oコントローラ等が含まれてもよい。データ記憶デバイス118としては、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROMデバイス、フラッシュメモリデバイス、又は、その他のマスストレージデバイスが含まれてもよい。
図1Aに示すように、フラッシュメモリ112のような不揮発性メモリが、例えば、LPC(low pin count)バスを介して、ICH108と接続されてもよい。BIOSファームウェア114がフラッシュメモリ112に存在して、起動されると、フラッシュメモリ又はファームウェアからの命令が実行されてもよい。図1Aには、BIOSファームウェア114がフラッシュメモリ112に存在するように描かれているが、別の実施形態では、BIOSファームウェア114は、ファームウェアハブ等のその他の不揮発性メモリに格納されてもよい。一実施形態において、ユニファイド・エクステンシブル・ ファームウェア・インタフェース(UEFI)ファームウェア又はその他のファームウェアによって、BIOSファームウェア114が実装されてもよい。
図1Aにシステム100が示されたが、本発明に係る実施形態は、複数のプロセッサコアを使用するプラットフォーム又は1つのプロセッサ若しくは1つのコプロセッサを使用するプラットフォーム、I/Oハブを使用するプラットフォーム等のその他のハードウェア構造で使用されてもよく、又は、プロセッサ内に埋め込まれたメモリ制御等が使用されてもよい。
図1Bには、本発明の原理を実装するシステム140の別の実施形態が示されている。システム140は、プロセッサ142を備える。プロセッサ142は、ソフトウェアを実行可能な及び/又はデータ信号を処理可能な任意の種類のプロセッサを含む。一実施形態において、プロセッサ142は、プロセッサ102に関して上記で説明したような任意の種類のプロセッサ又はプロセッサデバイスを含んでもよい。一実施形態において、プロセッサ142は、メモリパス(図示せず)を介して、命令及びデータ記憶及び/又は、例えば、グラフィックス命令、データ及びテクスチャを記憶するためのステムメモリ144と接続されていてもよい。別の実施形態では、プロセッサ142は、PCIインターコネクトを介して、1以上のペリフェラル コンポーネント インターコネクト(PCI)ポート160に接続されてもよい。しかしながら、ある実施形態では、PCIポート160を設ける必要がない。メモリ144は、ハードディスク、フロッピー(登録商標)ディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、フラッシュメモリ、又は、プロセッサ142が可読なその他の種類の媒体であってもよい。
図1Bには、上記のようなプロセッサであるプロセッサ142のみが示されているが、システム140内には1以上のプロセッサが存在してもよく、また、1以上のプロセッサは、複数のスレッド、複数のコア等を含んでもよい。本発明の拡張対象は、コンピュータシステム又はデータ処理デバイスシステムにとどまらない。本発明の別の実施形態を、ユニファイド・エクステンシブル・ファームウェア・インタフェース(UEFI)基本入出力システム(BIOS)を使用する任意のフォームファクターデバイス、例えば、ハンドヘルドデバイスや埋め込みアプリケーションで利用することが可能である。ハンドヘルドデバイスの例としては、携帯電話、インターネットプロトコルデバイス、デジタルカメラ、パーソナルデジタルアシスタント(PDA)、又は、ネットブック若しくはノートブックのようなハンドヘルドPCが挙げられる。埋め込みアプリケーションとしては、マイクロコントローラ、デジタル信号プロセッサ(DSP)、システムオンチップ、ネットワークコンピュータ(NetPC)、セットトップボックス、ネットワークハブ、ワイドエリアネットワーク(WAN)スイッチ、又は、その他のシステムが含まれてもよい。
プロセッサ142は、システムロジックチップ146に接続されてもよい。例えば、図示される実施形態におけるシステムロジックチップ146は、プラットフォーム制御ハブ(PCH)であってもよい。PCH146は、例えば、ローカルI/Oインターコネクトを介して、1以上のI/Oデバイスに接続を提供してもよい。一実施形態では、ローカルI/Oインターコネクトは、ペリフェラル コンポーネント インターコネクト(PCI)バスのような高速I/Oバスであってもよい。PCH146は、プロセッサ142とシステム140内のその他の構成要素との間で信号又はその他の情報を伝達してもよく、また、プロセッサ142とシステムI/O間でデータ信号又は情報を橋渡ししてもよい。
1以上の構成要素の例として、データ記憶デバイス142、1以上のPCIポート154、ネットワーク制御156、USBポート158が含まれる。一実施形態において、データ記憶デバイス152としては、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROMデバイス、フラッシュメモリデバイス、又は、その他のマスストレージデバイスが含まれてもよい。図1Bに示される構成要素の例以外にも、PCH146はその他の構成要素に接続を提供してもよく、例えば、オーディオI/O、キーボード/マウスI/O、及び、IDE(integrated driver electronics)のようなその他のインテグレィティッドI/Oコンポーネント、ローカルエリアネットワーク(LAN)、シリアル拡張ポート、無線送受信機、レガシーI/Oコントローラ等に接続を提供してもよい。
図1Bに示すように、フラッシュメモリ148のような不揮発性メモリが、例えば、LPC(low pin count)バスを介して、PCH146と接続されてもよい。BIOSファームウェア150がフラッシュメモリ148に存在して、起動されると、フラッシュメモリ又はファームウェアからの命令が実行されてもよい。図1Bには、BIOSファームウェア150がフラッシュメモリ148に存在するように描かれているが、別の実施形態では、BIOSファームウェア150は、ファームウェアハブ等のその他の不揮発性メモリに格納されてもよい。一実施形態において、ユニファイド・エクステンシブル・ ファームウェア・インタフェース(UEFI)ファームウェア又はその他のファームウェアによって、BIOSファームウェア150が実装されてもよい。
図1Bにシステム140が示されたが、本発明に係る実施形態は、複数のプロセッサコアを使用するプラットフォーム又は1つのプロセッサ若しくは1つのコプロセッサを使用するプラットフォーム、I/Oハブを使用するプラットフォーム等のその他のハードウェア構造で使用されてもよく、又は、プロセッサ内に埋め込まれたメモリ制御等が使用されてもよい。
図2は、本発明の一実施形態のハードウェア及びファームウェアの階層図を示したブロック図である。図2に示すように、システム200は、1以上の論理プロセッサ202及び1つのブートストラッププロセッサ(BSP)204を備えてもよい。一実施形態において、論理プロセッサ202は、アプリケーションプロセッサ(AP)202であってもよい。AP202及びBSP204は、ファームウェア220を実行してもよい。別の実施形態では、これらプロセッサは、電源が投入されると、ランダムにAP又はBSPであると指定されてもよい。一実施形態において、ファームウェア220は、BIOS環境に実装されてもよく、例えば、UEFI環境又はその他のオペレーティングシステム(OS)休止アプリケーション環境に実装されてもよい。図2には、4つのプロセッサコアが示されているが、ある実施形態では、異なる数のプロセッサコアが、システム200に含まれてもよい。図2には、AP202及びBSP204が描かれているが、実施形態は、任意のその他のプロセッサコアを有するシステムに適用可能である。
図2に示すように、一実施形態において、AP202及びBSP204は、様々な電力モードで動作してもよい。一実施形態において、UEFIファームウェア220は、例えば、Pステート、Cステート若しくはその他のスリープ状態を含む低電力モードで動作するように、又は、プロセッサの1以上をディセーブルするように、AP202及び/又はBSP204に命令してもよい。例えば、UEFIファームウェア220は、AP202及び/又はBSP204がPステートで動作するように命令を供給してもよく、この場合、プロセッサは、最低の/より低い電圧及び/又は最低の/より低い周波数で動作してもよい。例えば、Pステートでは、AP202は、最大計算能力を有さないが、計算能力の一部を発揮できる。別の実施形態では、Pステートでは、BSP204は、例えば、I/Pステータスビットの準備ができたかをポーリングするといったように、I/O機能を有してもよい。別の実施形態では、ファームウェア220は、AP202及び/又はBSP204がCステートで動作するように命令を供給してもよく、この場合、複数のプロセッサにおける少なくとも1以上の構成要素の電力を切って、これら構成要素が動作しないようにするが、ステータスは維持されるようにする。一実施形態において、BSPプロセッサ204は、スリープ状態のAP202を起動させる能力を有してもよい。
別の実施形態では、ファームウェア220は、AP202がディセーブルステートで動作するように命令を供給してもよく、この場合、AP202がディセーブルされる。一実施形態において、ディセーブルされたAP202は、BSP204に対して不可視であってもよい。一実施形態において、ディセーブルステートでは、割り込みウェークアップ機能がディセーブルされる。別の実施形態では、BSP204は、I/Oデバイスステータスビットの準備が完了しているかをポーリングするべくPステートで動作してもよい。一実施形態において、Cステートのプロセッサは、Pステートにある時よりも消費電力が少なくてもよい。別の実施形態では、I/Oアクティビティが存在しない時には、BSP204はCステートで動作してもよい。
図2に示すように、一実施形態において、UEFIファームウェア220は、ネットワークI/Oデバイスモジュール212及びディスクI/Oデバイスモジュール214のような1以上のI/Oデバイスを含んでもよい。一実施形態において、I/Oデバイスモジュール212及びディスクI/Oデバイスモジュール214は、I/Oオペレーション又はイベントに応答して、ブートストラップ・ストール機能を呼びだしてもよく、I/Oオペレーション又はイベントの例としては、ネットワーク転送、ネットワークダウンロード、ハードディスクアクセス、ウイルススキャン、データバックアップ、任意のその他のI/Oオペレーション又はMP3の曲を再生する、OSの前又はプレブート時に画像/動画を見るというリクエスト、オフラインダウンロード、VoIP(Voice over Internet Protocol)等が挙げられる。図2に示すように、I/Oデバイスモジュールは、電力管理ドライバ又はモジュール216とインタフェース接続されてもよい。UEFIファームウェア220は、更に、タイマ218を提供してもよい。一実施形態において、ファームウェア220は、消費電力とタスク負荷をとのバランスを取るべく、タイマ218のタイマ周期を調整してもよい。
一実施形態において、システムブートしてUEFIモードに入り、次のOSモード又はプレOSモードに入るべくUEFIモードを終了しないようなシステムブートに応答して、電力管理モジュール又は制御モジュール216をロードしてもよい。別の実施形態では、メインのOS(例えば、Windows(登録商標)、Linux(登録商標)、埋め込みソフトウェア、及び/又は、グラフィカルユーザインターフェース等)がスリープモード(例えば、S3又はS4環境)である場合に、電力管理モジュール216がロードされてもよい。ロードされた電力管理モジュール216は、システムブート又はOSスリープモードに応答して、若しくは、その他のOS休止環境の場合に、AP202をディセーブルする又はAP202をスリープモード若しくは低電力モード、例えば、P又はCステートにしてもよい。スリープモード又は低電力モードであっても、BSP204のようなメインプロセッサは、通常のように機能する。別の実施形態では、AP202がディセーブルされた後又はスリープモード若しくは低電力モードになった後で、電力管理モジュール216がロードされてもよい。
I/Oオペレーションに応答して、I/Oデバイスモジュール212又は214は、ブートサービスストール()機能を呼び出してもよい。電力管理モジュール216がロードされる前に、ブートサービスストール()機能が呼び出されてもよい。一実施形態において、BSP204はスリープ状態ではなく、例えば、Pステート(最も低い電力状態ではない場合もある)にあり、I/Oが準備完了しているかどうかを常にチェックしてもよい。電力管理モジュール216がロードされると、ロードされた電力管理モジュール216は、例えば、図3A及び3B又は図5A及び5Bでのフローに示すように、元のブートサービスストール機能を停止させてもよい。I/Oデバイスモジュールによってストール()機能が呼び出されると、ロードされた電力管理モジュール216は、ストール()機能のストール遅延と、所定の閾値との比較を行ってもよい。一実施形態において、閾値は、タイマモジュール218の最小タイマ周期であってもよく、別の実施形態では、閾値は、最小タイマ周期でなくてもよい。別の実施形態では、閾値は、タイマモジュール218の精度、所望の電力消費値又はその他の1以上の因子に基づいて決定されてもよい。
ストール遅延が短いと判断された場合には、電力管理モジュール216は、遅延時間が満足されるまでBSP204が常にタイマI/Oをポーリングする元の保存されたブートサービスストール()機能を呼び出してもよい。ストール遅延の終了時間に応答して、電力管理モジュール216はストール機能を終了してもよい。
別の実施形態では、電力管理モジュール216がストール遅延が長いと判断した場合には、電力管理モジュール216は更に、ストール遅延と、タイマ218の現在のタイマ周期とを比較してもよい。ストール遅延が現在のタイマ周期と等しいと判断された場合には、タイマモジュール218のタイマ周期によって、BSP204が、例えば、Pステートよりも低い電力を消費するCステートのような低電力状態に入ってもよい。BSP204は、例えば、タイマ周期の終了のようなタイマ218からのタイマ割り込みイベントによって、起動(waken up)されてもよい。BSP204は、スリープC状態から起動されてもよい。別の実施形態では、電力管理モジュール216は、タイマ割り込みに応答して、ストール()機能を終了してもよい。ある実施形態では、プロセッサが低電力状態にある場合、バス上のその他のデバイスは、低電力モードでなくてもよい。例えば、プロセッサが低電力状態にある場合、ネットワークインターフェースカード(NIC)アダプタは、パケットをプロセッサに及びプロセッサから送受信してもよく、又は、ハードドライブがPCIバスにわたるメモリアクセスを振り分けてもよい。
一実施形態において、ストール遅延が現在のタイマ周期と等しくないと判断されると、電力管理モジュール216は、タイマ周期を、ストール()機能のストール遅延に設定してもよい。電力管理モジュール216は更に、タイマコールバックイベント等のタイマイベントを設定するべく、タイマ割り込みをフックしてもよい。タイマ周期の終了時に、BSP204はCステートに入り、起動されてもよい。タイマ割り込みコールバック機能では、電力管理モジュール216は、継続したストール又は次に続くストールが呼び出されるかを監視する。継続したストールが存在しないと判断された場合には、タイマ周期は、システムの初期値に設定される又は戻される。反対に、電力管理モジュール216は、継続するストールのチェックを継続してもよい。別の実施形態では、タイマ割り込みが周期的に呼び出されてもよく、タイマイベントがタイマ割り込みハンドラにフックされてもよい、又は、選択的にイネーブル若しくはディセーブルされてもよい。
図3A及び図3Bには、本発明の一実施形態に係る方法の一例のフローチャートが示されている。図2及び図3Aには環境の一例が示されており、ブロック302では、システム100の電源が投入されたことに応答して、システムブートが実行されてもよい。一実施形態において、BIOS114(例えば、UEFIファームウェア220)は、命令及びオペレーションを供給して、システムブートされるとシステム100を初期化してもよい。一実施形態において、ブロック302におけるシステムブートは、OSブートステージを含まなくてもよい。別の実施形態では、ブロック302におけるシステムブートは、プリOSステージと関連していてもよい。ブロック304では、別のOS休止環境の一実施形態が示されており、システム100は、S3環境で動作してもよい。一実施形態において、S3環境は、スリープモード、スタンバイモード、又は、RAMの電源が投入されたままとなるRAMモードへのサスペンドであってもよい。一実施形態において、S3環境の下では、OS、アプリケーション、オープンドキュメント又はその他のソフトウェアがディセーブルされてもよい。一実施形態において、S3環境では、ディセーブルされたソフトウェアがメモリに存在してもよい。図3AにはS3環境が示されているが、ある実施形態では、図3Aのフローを、S4環境又はメインOS(例えば、Windows(登録商標)、Linux(登録商標)等)がスリープモードであるシステム休止環境のような、その他のOS休止環境に適用してもよい。
ブロック306において、システムがブートされてUEFI220(ブロック302)になる又はシステムがS3又はS4環境に入る(ブロック304)又はその他のOS休止環境に入ると、BIOS114は、AP202をCステート若しくはPステートにする又はAP202をディセーブルする命令及び/又はオペレーションを供給してもよい。一実施形態において、BIOS114は、UEFIにブートして、AP202をPステート、Cステート又はディセーブルステートにする命令又はオペレーションを供給してもよく、UEFIを終了して次のOSに入らなくてもよい。別の実施形態では、システム100は、OSに入らず、BIOS114又はUEFIファームウェア220が実行環境にあるOS休止アプリケーション環境で動作してもよい。
フローは、ブロック308に移る。ブロック308では、ネットワークI/Oオペレーション又はハードディスクI/Oオペレーション等のI/Oオペレーションに応答して、対応するI/Oデバイスモジュール212又は214は、BSP204によって実行されて、ブートサービスストール機能を呼び出してもよい。フローは、ひし形310に移り、BSP204は、電力管理モジュール216の電力管理ドライバがロードされたかを確認してもよい。図3Aに示すように、電力管理ドライバがロードされていないと判断された場合には、ブロック316において、ブートサービスストール機能が呼び出される。
ひし形310において、電力管理ドライバがロードされたと判断された場合には、フローはブロック312に移り、電力管理モジュール216が、ブートサービスストール機能をフックする。ひし形314では、電力管理モジュール216は、ブートサービスストール機能のストール遅延が、所定の閾値よりも小さいかを確認してもよい。(ひし形314において)ストール遅延が所定の閾値よりも小さいと判断された場合には、フローはブロック316に移り、ブートサービスストール機能が呼び出される。
ひし形314において、ストール遅延が所定の閾値よりも小さくないと判断された場合には、フローはブロック316に戻り、ストール遅延が、タイマモジュール218の現在のタイマ周期、例えば、システムデフォルト値に等しいかを確認する。ブロック318において、ストール遅延が現在のタイマ周期に等しいと判断されると、電力管理モジュール216は、ストール遅延期間又は現在のタイマ周期に、BSP204をCステートにしてもよい。ブロック320において、タイマ割り込みを、ストール遅延の終わり又はタイマ周期の終わりにおいてトリガして、電力管理モジュール216がBSP204を起こしてもよい。一実施形態において、BSP204は、ブロック326において起動する又はストール機能を終了してもよい。BSP204の起動時には、I/O準備ステータスビットをチェックしてもよい。I/O準備ステータスビットが設定されていると判断された場合には、BSP204は、I/Oオペレーションを実行してもよい。反対に、ストール遅延期間にI/O準備ステータスビットが設定されていないと起動されたBSP204が判断した場合には、BSP204は、I/Oオペレーションを実行しなくてもよい。別の実施形態では、BSP204の起動で、I/O準備ステータスビットがストール遅延期間に設定されていないと判断された場合には、対応するI/Oデバイスモジュール212又は214は、例えば、308から326にしたがって、別のBSストール機能を呼び出してもよい。
図3Aに示すように、ストール遅延が現在のタイマ周期と等しくないと判断された場合には(ひし形318)、電力管理モジュール216は、タイマ周期をストール遅延に設定してもよい(ブロック322)。ブロック324において、電力管理モジュール216は、タイマコールバックイベントを設定してもよい。図3Bに示すように、一実施形態において、タイマコールバックイベントが設定されたことに応答して、タイマ割り込みコールバック機能が呼び出されてもよい(ブロック328)。ひし形330では、タイマ割り込みコールバック機能において、電力管理モジュール216は、継続するストールが呼び出されるかを監視してもよい。継続するストールが存在しないと判断された場合には、タイマ周期は、システム初期値に設定される又は戻されてもよい。反対に、電力管理モジュール216は、ひし形330において継続するストールがあるかの確認を続けてもよい。図3Aに戻り、ブロック324においてタイマコールバックイベントに応答して、フローがブロック320に移ってもよい。
図4A及び図4Bには、システムI/O負荷のワークロードに基づくタイマ周期の変化を示した実施形態が示されている。図4A及び図4Bに示すように、初期タイマ周期は100ミリ秒であってもよい。200ミリ秒の時点では、タスクAがI/Oオペレーションを開始し、電力管理モジュール216は、タイマ周期を、例えば、I/Oオペレーションに対応するBSストール機能のストール遅延に従って、10ミリ秒に設定してもよい。BSP204は、10ミリ秒の期間それぞれの間で、低電力状態にとどまってもよい。一実施形態において、BSP204は、I/Oステータスビットを10ミリ秒毎に確認するべく、より高い電力状態に設定されてもよい。230ミリ秒の時点では、BSP204は、ステータスビットが設定されていることを発見し、図4AのCで示されているように、20ミリ秒の間にタスクAを実行してもよい。BSP204が、250ミリ秒の時点でI/Oオペレーションを完了したことに応答して、電力管理モジュール216が実行されて、図4Bに示すようにタイマ周期を10ミリ秒から100ミリ秒へと戻してもよい。
図4Aに示すように、350ミリ秒の時点で、タスクBがI/Oオペレーションを開始する。電力管理モジュール216は、I/Oオペレーションに従って、タイマ周期を、50ミリ秒に調整してもよい。BSP204は、50ミリ秒の周期のそれぞれの間は、例えば、Cステートである低電力状態にとどまってもよい。BSP204を、高電力ステートであるPステートに設定して、50ミリ秒毎にI/Oステータスビットをチェックしてもよい。BSP204が、ステータスビットが450ミリ秒の時点で設定されていることを検出した場合、BSPは、50ミリ秒の間(図4AのDで示されている)タスクを実行してもよい。BSP204が、500ミリ秒の時点でI/Oオペレーションを完了すると、電力管理モジュール216は、タイマ周期を50ミリ秒から、初期値である、例えば、100ミリ秒に再び戻してもよい。
一実施形態において、I/Oデバイスモジュール212及び214は、ストールサービスの変化を知らなくてもよい。別の実施形態では、I/Oオペレーションに対するストール機能のストール遅延は、所定の閾値よりも長くなるように予め規定されてもよく、プロセッサは、図3A及び図3Bのフローに従って、例えば、Cステートのような低電力状態にとどまってもよい。
図5A及び図5Bには、本発明の一実施形態に係る方法の一例を示したフローチャートが示されている。図5Aに示すように、ブロック502及びブロック504はそれぞれ、ブロック302及びブロック304と同様である。ブロック506では、電力管理モジュール216のための電力管理ドライバがロードされてもよい。ブロック508において、電力管理ドライバは、1以上のAP204を、Pステート、Cステート又はディセーブルステートにする。ブロック510において、電力管理ドライバは、BSストール機能をフックしてもよい。ブロック512において、電力管理ドライバは、タイマ218に関する閾値を示すフラグTminを設定してもよい。ブロック514において、電力管理ドライバは、タイマ218のタイマ周期を、タイマ周期の初期値Tdに更新してもよい。ブロック516において、電源管理ドライバは、フラグTcurrentをTdへと設定してもよい。例えば、フラグTcurrentは現在のタイマ周期を示しており、ブロック518において、電力管理ドライバは、フラグTimerChange(タイマ変更)及びフラグContinue(継続)をFALSEに設定してもよい。フラグTimerChangeは、タイマ周期が変更されるか否かを示してもよい。フラグContinueは、継続するストール機能が呼び出されるか否かを示してもよい。ブロック520では、電力管理ドライバは、タイマ割り込みハンドラをフックしてもよい。ブロック522において、フローは、電力管理ドライバを終わりにしてもよい。一実施形態において、ブロック506から522へのフローは、電力管理ドライバの初期化に使用されてもよい。
図5Bに示すように、ブロック524では、ネットワークI/Oオペレーション又はハードディスクI/Oオペレーション等のI/Oオペレーションに応答して、対応するI/Oデバイスモジュール212又は214はブートサービスストール機能を呼び出してもよい。ひし形526では、電力管理モジュール216が、ブートサービスストール機能のストール遅延が、例えば、所定の閾値であるTminよりも小さいかをチェックしてもよい。ストール遅延が所定の閾値よりも小さいと判断された場合には、フローはブロック528に移り、ブートサービスストール機能が呼び出される。ブロック528は、図3Aのブロック316を参照してもよい。
ひし形530において、電力管理モジュールは216は、フラグTimerChangeがTRUEと等しいかをチェックしてもよい。ブロック534において、フラグTimerChangeがTRUEと等しい場合には、電力管理モジュール216は、フラグContinueをTRUEに設定してもよい。反対に、フラグTimerChangeがTRUEと等しくない場合には、電力管理モジュール216は更に、ひし形532において、ストール遅延がフラグTcurrentと等しいかを判断する。ストール遅延が(ひし形532において)フラグTcurrentと等しいと判断された場合には、フローがブロック542に移ってもよい。反対に、等しくないと判断された場合には、フローはブロック536に移り、電力管理モジュール216は、フラグTimerChange及びフラグContinueをTRUEに設定してもよい。ブロック538において、電力管理モジュール216は、フラグTcurrentをストール遅延に設定する。ブロック540において、電力管理モジュール216は、Tcurrentに基づいて、タイマ218のタイマ周期を更新してもよい。
ブロック542において、電力管理モジュール216は、BSP204をCステートにしてもよい。ブロック544において、BSP204は、例えば、タイマ周期の終わりに、タイマ割り込みによって起動されてもよい。BSP204は、起動時に、I/Oが準備完了状態であるかを確認してもよい。ブロック564において、タイマ割り込みによってトリガされても、ストール機能は実行されない。ブロック520において、電力管理ドライバ初期化の間に、フックされたタイマ割り込みハンドラを実行するべく、フローはブロック564に戻る。
ひし形548において、電力管理モジュール216は、フラグTimerChangeがTRUEであるかをチェックしてもよい。ブロック560において、フラグTimerChangeがTRUEでないと判断された場合には、電力管理モジュール216は、タイマ割り込みを終了してもよい。反対に、フラグTimerChangeがTRUEである場合には、フローはひし形550に移り、フラグContinueがTRUEであるかを確認する。フラグContinueがTRUEである場合には、フローは552に移り、電力管理モジュール216は、フラグContinueをFALSEに設定して、フローはタイマ周期を終了してもよい。フラグContinueがTRUEでない場合(ひし形550)、フローはブロック554に移り、TcurrentがTdに設定される。ブロック556では、TimerChangeフラグがFALSEに設定されて、タイマ218のタイマ期間がTcurrentで更新されて、フローが560に移る。562において、タイマ割り込みを終了した後、ストール機能が依然として実行状態である場合には、フローが562に移り、ストール機能を終了してもよい。
図3A、図3B、図5A及び図5Bに示した方法では、一連のプロセスが含まれるが、ある実施形態では、方法は、異なる順番で図示されたプロセスを実行してもよい。
本発明の特定の特徴が実施形態を参照して説明されたが、これらの説明は限定するものとして解釈されるべきではない。実施形態の様々な変形及び本発明の別の実施形態が当業者に明らかであり、本発明の精神及び範囲に含まれると考えられる。

Claims (15)

  1. メモリと、
    メモリに接続された複数のプロセッサコアと、
    前記複数のプロセッサコアに接続される基本入出力システム(BIOS)とを備え、
    前記基本入出力システムは、
    I/Oオペレーションに応答して、ストール機能を呼び出すI/Oデバイスモジュールと、
    前記I/Oデバイスに接続される電力管理モジュールと、
    前記電力管理モジュールに接続されるタイマモジュールとを有し、
    前記電力管理モジュールは、前記タイマモジュールのタイマ周期を前記ストール機能のストール遅延に調整し、前記タイマ周期の間に1つのプロセッサコアをスリープ状態にし、継続するストール機能が呼び出されるかを監視するタイマイベントを設定するシステム。
  2. 前記電力管理モジュールの電力管理ドライバがロードされていないと判断されると、前記ストール機能が呼び出される請求項1に記載のシステム。
  3. 前記電力管理モジュールの電力管理ドライバがロードされている場合には、前記電力管理モジュールは更に前記ストール機能をフックする請求項1に記載のシステム。
  4. 前記プロセッサコアは、1以上の論理プロセッサコア及びブートストラッププロセッサコアを含む請求項1から3の何れか一項に記載のシステム。
  5. 前記ストール遅延が所定の閾値より大きく、調整前に前記ストール遅延が前記タイマ周期に等しくないと判断されると、前記電力管理モジュールは、前記タイマ周期を前記ストール遅延に調整する請求項1から4の何れか一項に記載のシステム。
  6. 呼び出すべき継続するストール機能が存在すると判断されると、前記電力管理モジュールは、前記タイマ周期を初期値に戻す請求項1から5の何れか一項に記載のシステム。
  7. プロセッサコアをディセーブルモード又はスリープモードにする段階と、
    I/Oオペレーションに応答して呼び出されたストール機能に応答して、前記ストール機能のストール遅延と、タイマに関する所定の閾値とを比較する段階と、
    前記ストール遅延が前記所定の閾値よりも小さくなく、前記ストール遅延が現在のタイマ周期と等しくないと判断されると、前記現在のタイマ周期を前記ストール遅延に設定する段階と、
    前記タイマ周期の間に、ブートストラッププロセッサコアを前記スリープモードに設定する段階とを備える方法。
  8. 継続するストールが存在するかを監視するタイマイベントを設定する段階を更に備える請求項7に記載の方法。
  9. オペレーションソフトウェアアプリケーション休止オペレーションにおいて、前記プロセッサコアはディセーブルモード又はスリープモードにされる請求項7又は8に記載の方法。
  10. I/Oオペレーションに対してI/Oが準備完了状態であるかを検出するべく、前記タイマ周期の終了においてタイマ割り込みによって前記ブートストラッププロセッサコアが起動される請求項7から9の何れか一項に記載の方法。
  11. 継続するストールが存在しないと判断されると、前記タイマ周期を初期値に設定する段階を更に備える請求項8から10の何れか一項に記載の方法。
  12. 実行されるとコンピュータシステムに、
    前記コンピュータシステムの基本入出力システム(BIOS)に入る段階と、
    前記基本入出力システムを使用して、前記コンピュータシステムの第1プロセッサをスリープモード又はディセーブルモードにする段階と、
    前記基本入出力システムを使用して、I/Oオペレーションに対してストール機能をフックする段階と、
    前記基本入出力システムを使用して、前記ストール機能のストール遅延の間、第2プロセッサを前記スリープモードにする段階と、
    前記基本入出力システムを使用して、呼び出される継続するストール機能が存在するかを監視するタイマイベントを設定する段階とを実行させるプログラム。
  13. 前記プログラムは更に、前記コンピュータシステムに、
    前記基本入出力システムを使用して、前記ストール遅延と、タイマの所定の閾値とを比較する段階と、
    前記ストール遅延が前記閾値よりも小さいと判断されると、前記ストール機能を呼び出して、前記第2プロセッサを、前記I/Oオペレーションに対してI/O準備完了状態であるかを確認可能にする段階とを更に実行させる請求項12に記載のプログラム。
  14. 前記プログラムは更に、前記コンピュータシステムに、
    前記基本入出力システムを使用して、前記ストール遅延と、タイマの所定の閾値とを比較する段階と、
    前記ストール遅延が前記閾値よりも長いと判断された場合に、前記基本入出力システムを使用して、タイマのタイマ周期を前記ストール遅延に等しくなるように設定する段階と、
    呼び出さすべき継続するストール機能が存在しないと判断された場合には、前記基本入出力システムを使用して、前記タイマ周期を初期値に戻す段階とを更に実行させる請求項12に記載のプログラム。
  15. 前記基本入出力システムは、ユニファイド・エクステンシブル・ファームウェア・インタフェース(UEFI)によって実装される請求項12から14の何れか一項に記載のプログラム。
JP2013544993A 2010-12-21 2010-12-21 電力管理のためのシステム及び方法 Active JP5701399B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/002106 WO2012083486A1 (en) 2010-12-21 2010-12-21 System and method for power management

Publications (2)

Publication Number Publication Date
JP2014501982A true JP2014501982A (ja) 2014-01-23
JP5701399B2 JP5701399B2 (ja) 2015-04-15

Family

ID=46236047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013544993A Active JP5701399B2 (ja) 2010-12-21 2010-12-21 電力管理のためのシステム及び方法

Country Status (6)

Country Link
US (1) US8977871B2 (ja)
EP (1) EP2656169A4 (ja)
JP (1) JP5701399B2 (ja)
KR (1) KR101510028B1 (ja)
CN (2) CN103282854B (ja)
WO (1) WO2012083486A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180125975A (ko) * 2016-03-28 2018-11-26 퀄컴 인코포레이티드 프로세서 주파수 및 버스 대역폭의 활성 및 스톨 사이클 기반 동적 스케일링

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886247B1 (en) * 2011-10-04 2014-11-11 Amazon Technologies, Inc. Proximity based power throttling
US9442732B2 (en) * 2012-03-19 2016-09-13 Via Technologies, Inc. Running state power saving via reduced instructions per clock operation
US9507404B2 (en) * 2013-08-28 2016-11-29 Via Technologies, Inc. Single core wakeup multi-core synchronization mechanism
US9792112B2 (en) 2013-08-28 2017-10-17 Via Technologies, Inc. Propagation of microcode patches to multiple cores in multicore microprocessor
US9465432B2 (en) 2013-08-28 2016-10-11 Via Technologies, Inc. Multi-core synchronization mechanism
USRE49652E1 (en) 2013-12-16 2023-09-12 Qualcomm Incorporated Power saving techniques in computing devices
KR101790133B1 (ko) 2013-12-24 2017-10-26 인텔 코포레이션 컨텍스트 기반 실내 전력 관리
CN104572166A (zh) * 2014-03-21 2015-04-29 中电科技(北京)有限公司 一种基于飞腾台式计算机的uefi固件实现方法
KR102151178B1 (ko) 2014-05-19 2020-09-02 삼성전자 주식회사 직렬 통신 장치 및 그 방법
KR102247742B1 (ko) 2015-04-21 2021-05-04 삼성전자주식회사 애플리케이션 프로세서와 시스템 온 칩
CN106209737B (zh) * 2015-05-04 2019-11-05 阿里巴巴集团控股有限公司 控制远程服务调用频率的方法和装置
CN113535239B (zh) 2020-04-16 2023-08-18 长鑫存储技术有限公司 底层驱动转发方法及基于uefi实现的多核***
CN113867518A (zh) * 2021-09-15 2021-12-31 珠海亿智电子科技有限公司 处理器低功耗阻塞式延时方法、装置及可读介质
US11734055B2 (en) * 2021-09-28 2023-08-22 Dell Products L.P. Minimizing C-state transitions due to software timer interrupts

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010003207A1 (en) * 1998-12-23 2001-06-07 Intel Corporation Method and apparatus of measuring power consumption in a computer system to meet the power delivery specifications of a power outlet
US20050166074A1 (en) * 2004-01-22 2005-07-28 International Business Machines Corporation Method and apparatus for reducing power consumption in a logically partitioned data processing system
JP2007520769A (ja) * 2003-06-27 2007-07-26 インテル コーポレイション モニタメモリ待機を用いたキューされたロック
US20090031318A1 (en) * 2007-07-24 2009-01-29 Microsoft Corporation Application compatibility in multi-core systems
US20100146169A1 (en) * 2008-12-05 2010-06-10 Nuvoton Technology Corporation Bus-handling
JP2011028712A (ja) * 2008-09-30 2011-02-10 Intel Corp システム初期化の動作中にプラットフォーム・グラフィクスを表示するための方法及びシステム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5437021A (en) * 1992-06-12 1995-07-25 Intel Corporation Programmable dedicated timer operating on a clock independent of processor timer
US5630142A (en) * 1994-09-07 1997-05-13 International Business Machines Corporation Multifunction power switch and feedback led for suspend systems
US6065122A (en) * 1998-03-13 2000-05-16 Compaq Computer Corporation Smart battery power management in a computer system
JP2001222346A (ja) * 2000-02-10 2001-08-17 Toshiba Corp コンピュータ、コンピュータシステム、および省電力制御方法
US7152169B2 (en) * 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
US7500127B2 (en) 2003-09-18 2009-03-03 Vulcan Portals Inc. Method and apparatus for operating an electronic device in a low power mode
KR101205323B1 (ko) * 2006-09-28 2012-11-27 삼성전자주식회사 리텐션 입/출력 장치를 이용하여 슬립모드를 구현하는시스템 온 칩
CN101470512A (zh) * 2007-12-24 2009-07-01 英业达股份有限公司 中央处理器的电源管理模块
TW201020779A (en) * 2008-11-18 2010-06-01 Inventec Corp System for auto-operating backup firmware and method thereof
US8607040B2 (en) 2010-11-16 2013-12-10 Intel Corporation Method of provisioning firmware in an operating system (OS) absent services environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010003207A1 (en) * 1998-12-23 2001-06-07 Intel Corporation Method and apparatus of measuring power consumption in a computer system to meet the power delivery specifications of a power outlet
JP2007520769A (ja) * 2003-06-27 2007-07-26 インテル コーポレイション モニタメモリ待機を用いたキューされたロック
US20050166074A1 (en) * 2004-01-22 2005-07-28 International Business Machines Corporation Method and apparatus for reducing power consumption in a logically partitioned data processing system
US20090031318A1 (en) * 2007-07-24 2009-01-29 Microsoft Corporation Application compatibility in multi-core systems
JP2011028712A (ja) * 2008-09-30 2011-02-10 Intel Corp システム初期化の動作中にプラットフォーム・グラフィクスを表示するための方法及びシステム
US20100146169A1 (en) * 2008-12-05 2010-06-10 Nuvoton Technology Corporation Bus-handling

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180125975A (ko) * 2016-03-28 2018-11-26 퀄컴 인코포레이티드 프로세서 주파수 및 버스 대역폭의 활성 및 스톨 사이클 기반 동적 스케일링
KR102009125B1 (ko) 2016-03-28 2019-08-08 퀄컴 인코포레이티드 프로세서 주파수 및 버스 대역폭의 활성 및 스톨 사이클 기반 동적 스케일링

Also Published As

Publication number Publication date
KR101510028B1 (ko) 2015-04-08
KR20130087564A (ko) 2013-08-06
US20120159204A1 (en) 2012-06-21
US8977871B2 (en) 2015-03-10
CN106125885A (zh) 2016-11-16
EP2656169A4 (en) 2016-11-09
CN103282854B (zh) 2016-08-10
JP5701399B2 (ja) 2015-04-15
WO2012083486A1 (en) 2012-06-28
CN106125885B (zh) 2019-12-31
CN103282854A (zh) 2013-09-04
EP2656169A1 (en) 2013-10-30

Similar Documents

Publication Publication Date Title
JP5701399B2 (ja) 電力管理のためのシステム及び方法
US8301917B2 (en) Method and apparatus for managing power from a sequestered partition of a processing system
US7437575B2 (en) Low power mode for device power management
US9600059B2 (en) Facilitating power management in a multi-core processor
US7647509B2 (en) Method and apparatus for managing power in a processing system with multiple partitions
US8286169B2 (en) Dynamic scheduling an interval for polling devices based on a current operational power mode in an extensible firmware interface architecture
US8793697B2 (en) Method and system for scheduling requests in a portable computing device
KR101839646B1 (ko) 접속형 대기 상태를 프로세스의 일시 정지 및/또는 조절 기법
US6128745A (en) Power management inactivity monitoring using software threads
US8230237B2 (en) Pre-boot environment power management
US7093116B2 (en) Methods and apparatus to operate in multiple phases of a basic input/output system (BIOS)
US8261053B2 (en) Method and apparatus for maintaining a partition when booting another partition
KR20140073554A (ko) 동작 콘텍스트들 사이의 스위칭
US9332064B2 (en) Computer system and remote control method thereof
US7272731B2 (en) Information handling system having reduced power consumption
KR101896494B1 (ko) 컴퓨팅 디바이스들에서의 전력 관리
JP2014531099A (ja) 動作コンテキストの切り替え

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140725

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150217

R150 Certificate of patent or registration of utility model

Ref document number: 5701399

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250