JP2011509461A - データ処理システムの強制アイドル - Google Patents

データ処理システムの強制アイドル Download PDF

Info

Publication number
JP2011509461A
JP2011509461A JP2010541433A JP2010541433A JP2011509461A JP 2011509461 A JP2011509461 A JP 2011509461A JP 2010541433 A JP2010541433 A JP 2010541433A JP 2010541433 A JP2010541433 A JP 2010541433A JP 2011509461 A JP2011509461 A JP 2011509461A
Authority
JP
Japan
Prior art keywords
voltage
frequency
data processing
processing system
operating
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
JP2010541433A
Other languages
English (en)
Other versions
JP5592269B2 (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.)
Apple Inc
Original Assignee
Apple 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 Apple Inc filed Critical Apple Inc
Publication of JP2011509461A publication Critical patent/JP2011509461A/ja
Application granted granted Critical
Publication of JP5592269B2 publication Critical patent/JP5592269B2/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
    • 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/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • 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)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】データ処理システムの電力を管理する方法及び装置を提供する。
【解決手段】第1周波数及び第1電圧で動作するシステムの制約パラメータが監視される。システムは、制約パラメータの監視に基づき、第2周波数及び第2電圧で動作する間にアイドル状態へと強制される。アイドル状態は、インストラクションが実行されるのを防止する。
【選択図】図2

Description

本発明は、一般的に、データ処理システムに係り、より詳細には、データ処理システムにおける電力の管理に係るが、これに限定されない。
関連出願:本出願は、2008年1月7日に出願されたKeith Cox、David Conroy、Michael Culbert、及びGuy Sotomayorの“Forced Idle of a Data Processing System”と題する米国特許出願第11/970,483号(代理人管理番号4860P6078)に係る。
慣習的に、コンピュータシステムは、かなりワーストケースの電力負荷を連続的に運転できるように設計される。このような連続的なワーストケース電力負荷に基づく設計は、あまり問題となっていない。というのは、慣習的に、個々のコンポーネントの動作電力が控え目で且つコンピュータシステムの電力バジェットが大きく、システムは、負荷を全く自然に持続できるからである。
コンピュータシステムの個々のコンポーネントの動作電力消費が上昇するにつれて、コンピュータシステムの電力バジェットは、より厳しいものとなった。現在では、連続的なワーストケースワーク負荷を運転しながら、他の高性能目標、例えば、高い計算パワー、コンパクトさ、静寂さ、優れたバッテリ性能、等を追求するようにコンピュータシステムを設計することが難問となりつつある。例えば、ラップトップコンピュータのようなポータブルコンピュータシステムは、バッテリ出力能力に限度があり、従って、所与のバッテリ出力能力に対するワーストケースワーク負荷は、めったに生じるものではないが、システムの性能を制限し得る。
それ故、コンピュータシステムのバッテリ寿命及び熱的設計目標の両方を達成するためには、電力の管理が重要となる。例えば、中央処理ユニット(CPU)の電力を管理するための1つの共通の技術は、コンピュータシステムの複数の個別の状態の間でCPUコアの動作周波数及び電源電圧の両方をダイナミックに調整することである。典型的に、コンピュータシステムの電力動作点では、ダイナミック電力及び漏洩電力のように、電力消費に対して2つの成分が存在する。ダイナミック電力は、実際に望ましい回路動作を表す。これは、第2(周波数)当たりのクロック遷移の数及び電圧の二乗に比例する。漏洩電力は、CPUを完全に付勢させるコストオーバーヘッドを表す。これは、所与の電圧に対して固定され、そして通常、電圧の増加と共に指数関数的に上昇する。しかしながら、動作周波数をダイナミックに調整すると、ダイナミック電力しか管理されず、コンピュータシステムの漏洩電力には影響がない。
データ処理システムの電力を管理する方法及び装置の実施形態を説明する。データ処理システムの1つ以上の制約パラメータが監視される。データ処理システムは、第1周波数及び第1電圧で動作し、その間に、1つ以上の制約パラメータが監視される。データ処理システムは、第2周波数及び第2電圧で動作する間に、1つ以上の制約パラメータに基づいて、アイドル状態へ強制される。一実施形態では、アイドル状態は、インストラクションが実行されるのを防止し、第2周波数は、ゼロより大きく且つ第1周波数未満であり、そして第2電圧は、ゼロより大きく且つ第1電圧未満である。他の実施形態では、アイドル状態は、インストラクションが実行されるのを防止し、第2周波数は、ゼロであり、そして第2電圧は、システムの少なくとも一部分について、ゼロである。一実施形態では、システムをアイドル状態へ強制するレートは、制約パラメータに基づいて決定される。制約パラメータは、例えば、電力、温度、電流、バッテリ負荷、又はその組合せである。
一実施形態では、第1電圧及び第1周波数で動作するシステムの制約パラメータが監視される。システムは、第1電圧が最小電圧であり且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合に、アイドル状態へ強制される。システムの動作点は、システムが最小電圧で動作せず且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合には、下げられる。システムの動作点は、システムの動作電圧、システムの動作周波数又はその組合せを下げることにより下げられる。一実施形態では、第1周波数及び第1電圧で動作するシステムに対するアイドル状態のパーセンテージは、制約パラメータに基づいて決定される。
少なくとも幾つかの実施形態では、データ処理システムは、プロセッサと、プロセッサに結合されたメモリと、第1周波数及び第1電圧で動作するシステムの制約パラメータを監視するためにプロセッサに結合された1つ以上のセンサとを備えている。プロセッサは、システムが第2周波数及び第1電圧より低い第2電圧で動作する間に、プロセッサによりインストラクションが実行されないアイドル状態へシステムを強制するように、制約パラメータに基づいて構成される。メモリは、いつ、どのように、システムをアイドル状態へ強制するかの情報を記憶する。一実施形態では、プロセッサは、更に、システムをアイドル状態へ強制するレートを決定するように構成される。一実施形態では、プロセッサは、更に、第1電圧が最小電圧であり且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムをアイドル状態へ強制するように構成される。又、一実施形態では、プロセッサは、更に、システムが最小電圧で動作せず且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムの動作点を下げるように構成される。
一実施形態では、プロセッサは、更に、第1周波数及び第1電圧で動作するシステムに対するアイドル状態のパーセンテージを制約パラメータに基づいて決定するように構成される。
少なくとも幾つかの実施形態では、第1周波数及び第1電圧で動作するシステムの制約パラメータを監視し、システムが第2周波数及び第1電圧より低い第2電圧で動作する間に、制約パラメータの監視に基づいて、システムをアイドル状態へ強制することを含むオペレーションをデータ処理システムが遂行するようにさせる実行可能なプログラムインストラクションを備えたマシン読み取り可能なメディアについて説明する。
一実施形態では、マシン読み取り可能なメディアは、更に、データ処理システムがシステムをアイドル状態へ強制するレートを決定するようにさせるインストラクションも備えている。又、一実施形態では、マシン読み取り可能なメディアは、更に、第1電圧が最小電圧であり且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にデータ処理システムがそのシステムをアイドル状態へ強制するようにさせるインストラクションも備えている。
一実施形態では、マシン読み取り可能なメディアは、更に、システムが最小電圧で動作せず且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にデータ処理システムがシステムの動作点(例えば、電圧、周波数、又はその組合せ)を下げるようにさせるインストラクションも備えている。
一実施形態では、マシン読み取り可能なメディアは、更に、第1周波数及び第1電圧で動作するシステムに対するアイドル状態のパーセンテージをデータ処理システムが制約パラメータに基づいて決定するようにさせるインストラクションも備えている。
少なくとも幾つかの実施形態では、第1周波数及び第1電圧で動作するシステムの制約パラメータを監視する手段と、システムが第2周波数及び第1電圧より低い第2電圧で動作する間に、制約パラメータの監視に基づいて、システムをアイドル状態へ強制する手段とを備えたデータ処理システムについて説明する。一実施形態では、データ処理システムは、更に、第1電圧が最小電圧であり且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムをアイドル状態へ強制する手段も備えている。又、一実施形態では、データ処理システムは、更に、第1周波数及び第1電圧で動作するシステムに対するアイドル状態のパーセンテージを制約パラメータに基づいて決定する手段も備えている。
本発明の他の特徴は、添付図面及び以下の詳細な説明から明らかとなろう。
本発明は、同様の要素が同じ参照番号で示された添付図面に一例として示されるが、これに限定されるものではない。
強制アイドル状態を与えるために使用できる典型的なコンピュータシステムの一例を示す。 強制アイドル状態を与えるためのシステムの別の実施形態を示す。 強制アイドル状態を与えるシステムの一実施形態を示す。 データ処理システムの電力動作点の一実施形態を示す図である。 電源電圧に対する漏洩電力の依存性を示す図である。 本発明の一実施形態によりデータ処理システムが動作を続ける間にそのシステムをアイドル状態へ強制するところを示す図である。 本発明の一実施形態によりデータ処理システムが動作を続ける間にそのシステムをアイドル状態へ強制するところを示す図である。 本発明の別の実施形態によりデータ処理システムが動作を続ける間にそのシステムをアイドル状態へ強制するところを示す図である。 アイドル状態に関する情報を含むテーブルの一実施形態を示す。 データ処理システムをアイドル状態へ強制する方法の一実施形態のフローチャートである。 データ処理システムをアイドル状態へ強制する方法の一実施形態のフローチャートである。 データ処理システムを制約パラメータに基づいてアイドル状態へ強制する方法の一実施形態のフローチャートである。 ここに開示する幾つかの実施形態に使用される電力使用バジェットをダイナミックに決定する方法を示す。 ここに開示する幾つかの実施形態に使用される電力使用のシナリオを示す。 データ処理システムの電力をターゲット電力へ管理する方法の一実施形態のフローチャートである。 強制アイドルをもたずに動作電力点を上げる方法の一実施形態のフローチャートである。 強制アイドルを含む動作電力点を上げる方法1400の一実施形態のフローチャートである。 強制アイドルをもたずに動作電力点を下げる方法の一実施形態のフローチャートである。 強制アイドルを含む動作電力点を下げる方法の一実施形態のフローチャートである。 データ処理システムのための強制アイドル状態を与える方法の一実施形態のフローチャートである。 強制アイドル状態からスイッチする方法の一実施形態のフローチャートである。 強制アイドル状態を与える方法の一実施形態のフローチャートである。
本発明の種々の実施形態及び態様を、添付図面を参照して以下に詳細に説明する。以下の説明及び添付図面は、本発明を単に例示するもので、本発明をそれに限定するものではない。本発明の種々の実施形態を完全に理解するために、多数の特定の細部について述べる。しかしながら、当業者であれば、本発明の実施形態は、これら特定の細部なしに実施されてもよいことが明らかであろう。他の点では、本発明の実施形態を不明瞭にしないために、良く知られた構造及び装置は、詳細に示さずに、ブロック図の形態で示す。
明細書において「一実施形態」又は「実施形態」という表現は、その実施形態に関連して説明する特定の特徴、構造又は特性が、本発明の少なくとも1つの実施形態に包含されることを意味する。明細書の種々の場所に「一実施形態では」の句が現れるときは、必ずしも同じ実施形態を指していない。
特に指示のない限り、この説明全体にわたり、「処理」又は「コンピューティング」又は「計算」又は「決定」又は「表示」等の用語を使用する説明は、コンピュータシステムのレジスタ及びメモリ内の物理的(電子的)量として表されたデータを、コンピュータシステムメモリ又はレジスタ或いは他のそのような情報記憶、伝送又は表示装置内の物理的量として同様に表された他のデータへと操作及び変換するデータ処理システム又は同様の電子的コンピューティング装置のアクション及び処理を指す。
本発明の実施形態は、ここに述べるオペレーションの1つ以上を遂行するための装置に係る。この装置は、要求される目的のために特別に構成されてもよいし、或いはコンピュータに記憶されたコンピュータプログラムにより選択的にアクチベートされ又は再構成される汎用コンピュータを備えてもよい。このようなコンピュータプログラムは、マシン(例えば、コンピュータ)読み取り可能な記憶媒体、例えば、これに限定されないが、フロッピーディスク、光学ディスク、CD−ROM及び磁気−光学ディスクを含む任意の形式のディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラマブルROM(EPROM)、電気的に消去可能なプログラマブルROM(EEPROM)、磁気又は光学カード、或いは電子的インストラクションを記憶するのに適した任意の形式のメディアに記憶することができ、これらは、各々、バスに結合される。
マシン読み取り可能なメディアは、マシン(例えば、コンピュータ)により読み取り可能な形態で情報を記憶又は伝達するためのメカニズムを含む。例えば、マシン読み取り可能なメディアは、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶メディア、光学的記憶メディア、フラッシュメモリ装置、電気的、光学的、音響的又は他の形式のメディアを含む。
ここに述べるアルゴリズムやディスプレイは、特定のコンピュータ又は他の装置に固有に関連したものではない。種々の汎用システムは、ここに述べる技術によりプログラムと共に使用することもできるし、必要なマシン実施方法のオペレーションを遂行するためのより特殊な装置を構成するのに便利であることも分かっている。これら種々のシステムに必要な構造は、以下の説明から明らかとなろう。
更に、本発明の実施形態は、特定のプログラミング言語を参照して説明しない。ここに述べる本発明の実施形態の教示を具現化するのに種々のプログラミング言語を使用できることが明らかであろう。
本発明の多数の方法は、従来の汎用コンピュータシステムのようなデジタル処理システムで遂行することができる。コンピュータシステムは、例えば、カリフォルニア州クパーチノに所在するアップル社により製造されるエントリーレベルのMac miniTM及び消費者レベルのiMacTMデスクトップモデル、ワークステーションレベルのMac ProTMタワー、並びにMacBookTM及びMacBook ProTMラップトップコンピュータでよい。ここに述べる方法から、小型のシステム(例えば、非常に薄いラップトップコンピュータ)が有利である。1つの機能のみを遂行するよう設計され又はプログラムされた特殊目的のコンピュータ、又はセルラー電話のような消費者向け電子装置も、ここに述べる方法を遂行することができる。
図1Aは、強制アイドル状態を与えるのに使用できる典型的なコンピュータシステムの一例を示す。図1Aは、コンピュータシステムの種々のコンポーネントを示しているが、コンポーネントを相互接続する特定のアーキテクチャー又は方法を表すことを意図していない点に注意されたい。というのは、このような詳細は、本発明と密接な関係がないからである。又、より少数のコンポーネント、又はおそらく、より多数のコンポーネントを有するネットワークコンピュータ及び他のデータ処理システムも、本発明に使用できることも明らかであろう。図1Aのコンピュータシステムは、例えば、Apple Macintosh(登録商標)コンピュータでよい。
図1Aに示すように、データ処理システムの形態のコンピュータシステム100は、マイクロプロセッサ103、ROM107、揮発性RAM105及び不揮発性メモリ106に結合されたバス102を備えている。例えば、モトローラ社又はIBMからのG3、G4又はG5マイクロプロセッサ、或いはインテルからのマイクロプロセッサであるマイクロプロセッサ103は、例えば、図1Aに示すように、キャッシュメモリ104に結合される。バス102は、これら種々のコンポーネントを一緒に相互接続すると共に、コンポーネント103、107、105及び106をディスプレイコントローラ及びディスプレイ装置108へ、及び入力/出力(I/O)装置のような周辺装置へ相互接続し、入力/出力装置は、マウス、キーボード、モデム、ネットワークインターフェイス、プリンタ、スキャナ、ビデオカメラ、及び良く知られた他の装置でよい。典型的に、入力/出力装置110は、入力/出力コントローラ109を経てシステムに結合される。揮発性RAM105は、典型的に、ダイナミックRAM(DRAM)として実施され、これは、メモリ内のデータをリフレッシュ又は維持するのに常時電力を必要とする。不揮発性メモリ106は、典型的に、磁気ハードドライブ又は磁気光学ドライブ又は光学ドライブ又はDVD RAM或いは他の形式のメモリシステムであり、これは、システムから電力が取り去られた後もデータを維持する。典型的に、不揮発性メモリは、ランダムアクセスメモリであるが、これは要求されない。図1Aは、不揮発性メモリが、データ処理システムの残りのコンポーネントに直結されたローカル装置であることを示しているが、本発明は、システムから離れた不揮発性メモリ、例えば、モデム又はイーサネットインターフェイスのようなネットワークインターフェイスを経てデータ処理システムに結合されたネットワーク記憶装置を使用できることが明らかであろう。バス102は、良く知られたように、種々のブリッジ、コントローラ及び/又はアダプタを通して互いに接続された1つ以上のバスを含む。一実施形態では、I/Oコントローラ109は、USB(ユニバーサルシリアルバス)周辺機器を制御するためのUSBアダプタ、及び/又はIEEE−1394周辺機器を制御するためのIEEE−1394バスアダプタを備えている。
本発明の一実施形態では、電力使用量に対して性能を兼ね合せるように少なくとも幾つかのコンポーネントをアクティブに絞ることができる。例えば、マイクロプロセッサ103は、異なるコア電圧及び周波数設定を有する。一実施形態では、システム100は、絞り付きコンポーネント(1つ又は複数)及び絞りなしコンポーネント(1つ又は複数)を備えている。絞り付きコンポーネントは、そのコンポーネントが異なる電力/性能レベルで機能するところの異なる絞り設定(動作設定)を有する。例えば、プロセッサは、異なるコア電圧及びコア周波数で働くように絞ることができ、ディスクドライブは、異なるスピンレートで働くように絞ることができ、バスは、異なる周波数で絞ることができ、等々である。コンポーネントが、電力使用量に対して性能を兼ね合せるように絞られない場合は、コンポーネントは、絞りなしコンポーネントであると考えられる。データ処理システムの絞り付き及び絞りなしコンポーネントは、参考としてここに援用する2005年8月25日出願の米国特許出願第11/212,970号に詳細に説明されている。
本発明の一実施形態では、システム100は、更に、I/Oコントローラ109(1つ又は複数)に結合された電力使用量センサ111(1つ又は複数)を備えている。このセンサ111は、1つ以上のハードウェア及び/又はソフトウェアコンポーネントを含む。一実施形態では、センサは、ハードウェアを使用して実施される。或いは又、少なくとも幾つかのセンサを、ソフトウェアを使用して実施することもできる。例えば、ソフトウェアモジュールを使用して、動作状態及びそれに対応する期間を決定し、動作状態に対する所定の電力消費レートから実際の電力使用量を計算することができる。これは、参考としてここに援用する2005年8月25日に出願された米国特許出願第11/212,970号、2006年1月5日に出願された米国特許出願第11/327,685号、2006年1月5日に出願された米国特許出願第11/327,275号、及び2006年1月5日に出願された米国特許出願第11/327,238号に更に詳細に説明されている。
以下に詳細に述べるように、1つ以上のセンサを使用して、システム100の1つ以上の制約パラメータを監視することができる。制約パラメータは、例えば、システム100に結合できるバッテリ(図示せず)の電力、温度、電流、負荷、又はその組合せでよい。システムの1つ以上の制約パラメータを監視して、中央処理ユニット(CPU)(例えば、マイクロプロセッサ103)及び/又はグラフィック処理ユニット(GPU)(例えば、ディスプレイコントローラ108のプロセッサ)の電力使用量を決定することができる。更に、1つ以上のセンサをCPU及び/又はGPU(図示せず)に直結することができる。
一実施形態では、センサ111により実際の電力使用量が監視される。例えば、実際の電力使用量を周期的に測定して、電力使用量の履歴を決定することができる。電力使用量の履歴を使用して、ある平均化方法で電力使用量を決定することができる。一実施形態では、過去の電力使用量を知ることで、システムは、次の時間インターバル中の許容電力バジェットをダイナミックに決定することができ、これは、参考としてここに援用する2005年8月25日に出願された米国特許出願第11/212,970号に詳細に説明されている。
本発明の一実施形態では、マイクロプロセッサ103は、キャッシュ104、ROM107、RAM105、及び/又は不揮発性メモリ106に記憶されたインストラクションに基づいて、以下に詳細に述べるように、電力使用量のバジェットをダイナミックに決めそしてシステム100をアイドル状態へ強制する。或いは又、システム100は、更に、以下に詳細に述べるように、キャッシュ104、ROM107、RAM105、不揮発性メモリ106に記憶された情報に基づいて、電力使用量のバジェットをダイナミックに決め、そしていつ、どのように、システムを強制アイドル状態へ強制するか決定するためのマイクロコントローラ(図示せず)を備えている。一実施形態では、データ処理システム100は、複数の中央処理ユニット(CPU)/マイクロプロセッサを備えている。
この説明から、本発明の態様は、少なくとも一部分は、ソフトウェアで実施できることが明らかであろう。即ち、その技術は、ROM107、揮発性RAM105、不揮発性メモリ106、キャッシュ104、或いは他の記憶装置又はリモート記憶装置のようなメモリに含まれた一連のインストラクションを実行するマイクロプロセッサ又はマイクロコントローラのようなプロセッサに応答して、コンピュータシステム又は他のデータ処理システムにおいて実行することができる。種々の実施形態において、ハードウェア回路をソフトウェアインストラクションと組み合せて使用し、本発明を実施することもできる。従って、その技術は、ハードウェア回路及びソフトウェアの特定の組合せに限定されず、又、データ処理システムにより実行されるインストラクションの特定のソースにも限定されない。更に、この説明全体を通じて、説明を簡略化するため、種々の機能及びオペレーションは、ソフトウェアコードにより遂行され又は生じさせられるものとして説明する。しかしながら、当業者に明らかなように、このような説明が意味するものは、マイクロプロセッサ103のようなプロセッサ又はマイクロコントローラによってコードを実行することから機能が生じることである。
データ処理システムにより実行されたときにシステムが本発明の種々の方法を遂行するようにさせるソフトウェア及びデータを記憶するために、マシン読み取り可能なメディアを使用することができる。この実行可能なソフトウェア及びデータは、例えば、図1Aに示すように、ROM107、揮発性RAM105、不揮発性メモリ106及び/又はキャッシュ104を含む種々の場所に記憶される。このソフトウェア及び/又はデータの部分は、これら記憶装置のいずれに記憶されてもよい。
従って、マシン読み取り可能なメディアは、マシン(例えば、コンピュータ、ネットワーク装置、パーソナルデジタルアシスタント、製造ツール、1つ以上のプロセッサのセットをもつ装置、等)によってアクセスできる形態で情報を与える(即ち、記憶及び/又は送信する)メカニズムを含む。例えば、マシン読み取り可能なメディアは、記録可能/非記録可能なメディア(例えば、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶メディア、光学的記憶メディア、フラッシュメモリ装置、等)を含む。
本発明の方法は、専用ハードウェア(例えば、フィールドプログラマブルゲートアレイ又は特定用途向け集積回路)又は共有回路(例えば、マシン読み取り可能なメディアに記憶されたプログラムインストラクションの制御のもとにあるマイクロプロセッサ又はマイクロコントローラ)を使用して実施することができる。又、本発明の方法は、図1Aのシステム100のようなデータ処理システムで実行するためのコンピュータインストラクションとして実施することもできる。
図1Bは、強制アイドル状態を与えるためのシステム120の別の実施形態を示す。このシステム120は、複数のサブシステムを有する。一実施形態では、複数のサブシステムは、プロセッサ、例えば、CPU、GPU、マイクロコントローラ、等を含む。図1Bに示すように、システム120は、サブシステム121、例えば、CPUと、サブシステム122、例えば、ディスプレイ装置に結合されるGPUと、1つ以上のサブシステム129、例えば、1つ以上のI/O装置に結合される1つ以上のI/Oコントローラと、バス126に結合されるマイクロ紺とローr127とを備えている。更に、システム120は、揮発性RAM124と、不揮発性メモリ130、例えば、ハードドライブと、ROM123と、バス126に結合されたサブシステム121に結合されたキャッシュメモリ125とを備えている。
少なくとも各サブシステムのサブセットにより使用される電力は、例えば、マイクロコントローラ127のようなマイクロコントローラによって制御され、そして各サブシステムにより使用される最大電力は、平均化期間にわたり全システムのダイナミック電力履歴により決定され、これは、参考としてここに援用する2005年8月25日に出願された米国特許出願第11/212,970号に詳細に説明されている。このように電力を制御することで、少なくともある環境において高性能のオペレーションを行うことができる。即ち、サブシステムは、平均化期間中に著しく低電力のオペレーション、例えば、アイドル時間がある場合には、実質的に高電力のバーストで動作することができ、これは、参考としてここに援用する2005年8月25日に出願された米国特許出願第11/212,970号に詳細に説明されている。
一実施形態では、システムの電力が、負荷プロフィールに基づいてサブシステム間で再分配され、これは、参考としてここに援用する2006年1月5日に出願された米国特許出願第11/327,685号、2006年1月5日に出願された米国特許出願第11/327,275号、及び2006年1月5日に出願された米国特許出願第11/327,238号に詳細に説明されている。
図1Bに示すように、1つ以上のセンサ128がサブシステム121、122、129及びマイクロコントローラ127に結合されている。これらセンサを使用して、電力、温度、電流、バッテリ負荷又はその組合せのような1つ以上の制約パラメータを監視、測定及び/又は推定し、ある周波数及びある電圧で動作する1つ以上のサブシステムによる実際の電力使用量を決定する。センサ128は、次いで、決定された電力使用量の値をマイクロコントローラ127に与え、このマイクロコントローラは、以下に詳細に述べるように、1つ以上の感知されたパラメータに基づいて、システム及び/又はサブシステムをアイドル状態へ強制することができる。プロセッサ、マイクロコントローラ、バス、I/Oコントローラ、I/O装置、メモリ、センサを含むシステム120のコンポーネントは、図1Aを参照して詳細に上述した。一実施形態では、以下に詳細に述べるように、いつ、どのように、システム及び/又はサブシステムをアイドル状態へ強制するかに関する情報を含む1つ以上のルックアップテーブルがメモリ123、124及び125のいずれか、又はマイクロコントローラ127のメモリ内に記憶される。一実施形態では、マイクロコントローラ127が、図4−19を参照して以下に述べる方法を遂行する。別の実施形態では、マイクロコントローラ127ではなく、サブシステム121が、図4−19を参照して以下に述べる方法を遂行する。更に別の実施形態では、サブシステム121及びマイクロコントローラ127が、一緒に、図4−19を参照して以下に述べる方法を遂行する。
図2は、強制アイドル状態を与えるシステムの一実施形態を示す。図2に示すように、システム200は、サブシステムA201、例えば、CPUと、サブシステムB202、例えば、ディスプレイ装置と結合されたGPUと、サブシステムC204、例えば、メモリと、サブシステムD205、例えば、マイクロプロセッサと、1つ以上のサブシステムN203、例えば、1つ以上のI/O装置に結合された1つ以上のI/Oコントローラと、相互接続部206、例えば、バスに結合された電力マネージャー208、例えば、マイクロコントローラ、システムマネージメントコントローラ(SMC)と、を備えている。サブシステムC204は、揮発性RAM、不揮発性メモリ、例えば、ハードドライブ、及び/又はROMである。1つ以上の測定装置207、例えば、図1A及び1Bを参照して上述した1つ以上のセンサは、図2に示すように、サブシステム201−205及び電力マネージャー208に結合される。図4−19を参照して以下に述べるように、いつ、どのように、強制アイドル状態に入るかの情報を含む1つ以上のルックアップテーブルを備えた電力ルックアップテーブル209が、図2に示すように、電力マネージャー208に結合される。プロセッサ、マイクロコントローラ、バス、I/Oコントローラ、I/O装置、メモリ、センサを含むシステム200のコンポーネントは、図1A及び1Bを参照して詳細に上述した。一実施形態では、コンピュータシステムの種々の性能設定に対応する1つ以上の電力ルックアップテーブルがサブシステム201により発生され(又は設計及び/又は製造プロセスにおいてテスト装置により発生され)、そしてメモリ204に記憶され、及び/又は電力マネージャー208内に配置されたメモリに記憶される。コンピュータシステムの種々の性能設定を含む1つ以上の電力ルックアップテーブルは、参考としてここに援用する2005年8月25日に出願された米国特許出願第11/212,970号、2006年1月5日に出願された米国特許出願第11/327,685号、2006年1月5日に出願された米国特許出願第11/327,275号、及び2006年1月5日に出願された米国特許出願第11/327,238号に詳細に説明されたように使用することができる。一実施形態では、電力マネージャー208が、図4−19を参照して以下に述べる方法を遂行する。別の実施形態では、サブシステム201が、図4−19を参照して以下に述べる方法を遂行する。
図3Aは、データ処理システムの電力動作点の一実施形態を示す図である。例えば、データ処理システムは、図1A、1B及び2に示すデータ処理システムのいずれかである。図3Aに示すように、データ処理システムの電力動作点、例えば、電力動作点301−304は、データ処理システムの一対の動作周波数及び電圧に対応する。動作周波数及び電圧は、例えば、データ処理システムのマイクロプロセッサのコア電圧及び周波数である。図3Aに示すように、最も高い電力動作点、例えば、動作点PH(302)は、データ処理システムにより消費される最大電力を表す。データ処理システムにより消費される最大電力は、電力、温度、電流、バッテリ負荷、等の1つ以上のシステム制約パラメータに基づいて決定される。最大電力動作点PH(302)は、一対の最大動作周波数(fH)及び電圧(VH)に対応する。図3Aに示すように、中間電力動作点、例えば、動作点PN(303)は、データ処理システムによって消費される中間電力を表す。この中間電力動作点PN(303)は、一対の中間動作周波数(fN)及び電圧(VN)に対応する。典型的に、データ処理システムの動作周波数は、データ処理システムの電力を、最小(最低)動作電圧VLにより定義されたものより低い電力状態へ減少する必要がある場合には、下げられる。データ処理システムの動作周波数(fN)は、比Xで下げられる。但し、Xは、1未満である。例えば、最低電圧における回路の動作周波数(fN)が1GHzである場合には、X=20%で下げると、動作周波数が800MHzへと変化する(第1のケース)。これは、ダイナミック電力を20%だけ下げるという正味作用を有するが、漏洩電力には影響がない。
データ処理システムの最小電力効率動作点は、データ処理システムが最低電圧で動作されるときに設計通りに振舞い続けるところの最低電圧及び最高周波数により決定される。この最小電力効率動作点、例えば、最低(最小)動作電圧(VL)及び対応最高(最大)動作周波数(FL)に対応する動作点P(301L)は、典型的に、低周波数モード(LFM)と称される。典型的に、最低動作電圧VLは、数百ミリボルト以下である。典型的に、データ処理システムは、管理可能な電力を最小電力動作点、例えば、PL(301)へ減少するだけである。というのは、データ処理システムが、この点より低い実際上の動作点をもたないからである。即ち、データ処理システムが既に最小電圧にあるので、唯一の別の仕方は、動作周波数を下げることであるが、これは、効率が悪く、機能しない。
典型的に、データ処理システムが遂行すべきタスクをもたないときに電力を節約するために、データ処理システムは、クロックを完全に停止する(ゼロ周波数)。これは、ダイナミック電力をゼロへ下げるように作用する。クロックを停止するのに加えて、データ処理システムは、減少電圧レベルへ移行する。これは、漏洩電圧(Pleak)と電源電圧との間の関係を示す図3Bに示されたように、漏洩電力を指数関数的に下げるように作用する。この動作点が、典型的に、アイドル状態と称される。
ここに述べる少なくとも幾つかの実施形態では、以下に詳細に述べる図18及び19に示すように実際のアイドル時間とターゲットアイドル時間との比較に基づき(実行すべきタスク、例えば、実行を待機しているソフトウェアインストラクションがあっても)アイドル状態を強制するインテリジェントに判断される強制アイドリングを使用することにより、システムを最小電力動作点(例えば、PL301)より低く動作させることができ、即ち、この強制アイドリングは、アイドル状態を強制すべきでないことが比較により示されるとき(例えば、既に充分なアイドル時間があったとき)があるので、インテリジェントである。
一実施形態では、最小電力動作点でデータ処理システムの動作を続け、そして動作時間(例えば、クロックの周期)のあるパーセンテージ(例えば、20%)の間、データ処理システムをアイドル状態へ強制することにより、最小電力動作点より低い付加的な動作点が生成される。20%強制アイドル(20%の時間、システムがアイドルへ強制される)での最小動作点の有効電力は、最小動作点の電力の0.8倍と、アイドル状態の電力の0.2倍との和である。アイドル状態の電力は非常に低いので、インテリジェントに判断される強制アイドリングでのこの新たな動作点は、電力が最小動作点より低い点を表す。
一実施形態では、データ処理システムの任意の電力動作点において強制アイドル状態が与えられる。例えば、強制アイドル状態は、電力動作点301、302及び303のいずれでも与えられ、これらの強制アイドル状態は、ある実施形態において有用な中間点を生成する。
強制アイドルスキームを実施する際には多数の重要な事柄がある。あるソフトウェアタスク(例えば、マルチメディア再生)は、リアルタイム応答を要求し、遅延が生じる余裕がない。多数のハードウェア装置は、そのソフトウェアドライバが固定の待ち時間内にそれらに応答することを要求し、さもなければ、間違った動作が生じ得る。あるソフトウェアスレッド、例えば、リアルタイムタスク、割り込みは、強制アイドリングを受けることができない。強制アイドルを適切に実施するには、このような問題を考慮する必要がある(が、実施されるシステムのニーズに基づく要件ではない)。一実施形態では、オペレーティングシステム(OS)カーネルは、例えば、どのスレッドをオフに保持することができ、及びどれが強制アイドル設定とは独立して中間動作を要求するかを追跡する。このカーネルは、リアルタイムスレッドの存在中に長期間平均化強制アイドルパーセンテージが維持されることを保証する役割を果たす。一実施形態では、カーネルのスケジューラが、データ処理システムで実行される全てのプロセス/スレッドにおいて強制アイドリングを遂行する。一実施形態では、オペレーティングシステム(OS)スケジューラメカニズムを使用して、強制アイドリングが与えられる。
図4は、本発明の一実施形態によりデータ処理システムが動作を続ける間にそのシステムをアイドル状態へと強制するところを示す図である。図4に示すように、データ処理システムは、時間T3(401)のような動作時間のうちの部分T1(402)のような第2部分において完全(例えば、100%)動作状態S1(407)で動作を続ける間に、時間T3(401)のような動作時間のうちの部分T2(403)のような第1部分においてアイドル状態S2(406)に入るよう強制される。一実施形態では、データ処理システムは、対応動作電圧について許された動作周波数において動作状態S1(407)で動作を続ける。一実施形態では、データ処理システムは、最低電圧において許された最大周波数において動作状態S1(407)で動作を続ける間にアイドル状態に入るように強制される。図4に示すように、データ処理システムは、時間t1、t2、t3及びt4にアイドル状態に入るように強制される。
図5Aは、本発明の一実施形態によりデータ処理システムが動作を続ける間にそのシステムをアイドル状態へ強制するところを示す図である。図5Aに示すように、このシステムは、1つ以上の制約パラメータに基づくある動作周波数及び電圧において時間T1の部分502のような時間の別の部分中に動作を続ける間に、時間T1(506)の部分504のような時間の一部分中、アイドル状態へと強制される。一実施形態では、時間T1は、データ処理システムのクロック周期(例えば、T〜1/f)である。一実施形態では、アイドル状態は、システムがインストラクションを実行するのを防止する。一実施形態では、システムがアイドル状態に入ると、クロックが停止される(動作周波数がゼロとなる)。図5Aに示すように、システムをアイドル状態に強制するための変調のレートが一定に維持されて、システムがアイドル状態において費やす時間の部分及びシステムが完全動作状態において費やす時間の部分が実質的に同一に保たれるようにする。
図5Bは、本発明の別の実施形態によりデータ処理システムが動作を続ける間にそのシステムをアイドル状態へ強制するところを示す図である。図5Bに示すように、システムが強制アイドル状態にある間に、時間t1に割り込み1(508)が受け取られる。図5Bに示すように、システムは、割り込み1に応答して、ある周波数及び電圧において完全(例えば、100%)動作状態で動作するようにスイッチバックされる。一実施形態において、割り込みに応答してアイドル状態から完全動作状態へスイッチすることは、以下で詳細に述べるように、実際のアイドル時間及びターゲットアイドル時間に基づいて遂行される。割り込み1に応対した後に、システムは、強制アイドル状態へスイッチバックされる。図5Bに示すように、システムは、アイドル時間512の間、強制アイドル状態に保たれる。一実施形態では、アイドル時間512は、システムの制約パラメータと、割り込み1(時間510)に応対する完全動作状態においてシステムがどれほどの時間を費やしたかとに基づいて決定される。図5Bに示すように、システムがアイドル状態にある間に時間t2において割り込み2が受け取られる。システムは、割り込み2に応答して完全(例えば、100%)動作状態で動作するようにスイッチバックされる。図5Bに示すように、システムは、時間518の間、完全動作状態に保たれる。一実施形態では、時間518は、システムの制約パラメータ及び累積アイドル時間量に基づいて決定される。一実施形態では、累積アイドル時間は、データ処理システムの1つ以上のクロック周期にわたって決定される。図5Bに示すように、割り込みに応対した後、システムは、時間520の間、アイドル状態へ戻るよう強制され、次いで、以下に述べるようにシステム制約パラメータ及び累積アイドル時間により決定できる時間522の間、完全動作状態へスイッチして動作する。即ち、システムは、システムの応答性にとって非常に重要な熱/電力制約に基づいて強制アイドル状態中にいつでもプライオリティの高いタスクを行うよう割り込みに応対することが許される。
別の重要な事柄は、強制アイドルの変調のレートと、連続的な強制アイドル状態においてデータ処理システムが費やす最大時間である。(例えば、計算を実行するための)インストラクションの実行をイネーブル及びディスエイブルするための変調レートが速過ぎる場合には、強制アイドルループのオーバーヘッドを管理するのに著しい電力及び計算エネルギーが費やされる。インストラクションの実行をイネーブル及びディスエイブルするための変調レートが遅過ぎる場合には、高いアイドルパーセンテージにより、強制アイドル周期が実質的に長くなる。一実施形態では、以下に詳細に述べるように、低パーセンテージの強制アイドル周期が全て実質的に同じレートで実行されるように制御が行われる。一実施形態では、強制アイドルパーセンテージが、アイドル時間が希望の最大値であるスレッシュホールドに到達すると、以下に詳細に述べるように、最大アイドル時間を越えることがないようにアイドルレートが上がり始める。
図7は、データ処理システムをアイドル状態へ強制する方法700の一実施形態のフローチャートである。この方法は、第1周波数及び第1電圧で動作するデータ処理システムの制約パラメータを監視することを含むオペレーション701で始まる。制約パラメータは、データ処理システムにより消費される電力、データ処理システムの温度、データ処理システムへ供給される電流、データ処理システムへ電力を供給するように結合されるバッテリの負荷、等である。制約パラメータは、上述したように、1つ以上のセンサを使用して監視され、測定される。この方法700は、制約パラメータに基づいて、第2の周波数及び前記第1の電圧とは異なる(例えば、それより低い)第2の電圧でシステムが動作を続ける間に、システムをアイドル状態へ強制することを含むオペレーション702で続けられる。一実施形態では、データ処理システムをアイドル状態へ強制することは、インストラクションがシステムにより実行されるのを防止することを含む。一実施形態では、システムがアイドル状態にある期間が散在され、及び/又はシステムが高性能レベルで動作する期間とインターリーブされ、システムにより消費される平均電力が、システムの電力及び/又は熱的制約から決定される最大平均電力を越えないようにされる。即ち、強制アイドル状態のデューティサイクリングは、以下に詳細に述べるように、ユーザがそれらのマシンに何が生じるか知る必要がないようなレートで遂行される。一実施形態では、強制アイドル状態のデューティサイクリングは、完全に周波数ドメインにおいて遂行される。強制アイドリングメカニズムは、データ処理システムの電力管理を、図3Aに示すPL(301)のような最小電力動作点を更に越えて拡張する。
図8は、データ処理システムをアイドル状態へ強制する方法800の一実施形態のフローチャートである。この方法は、第1周波数及び第1電圧で動作するデータ処理システムの制約パラメータ(例えば、実際の電力、温度、電流、バッテリ負荷、等の制約パラメータ、又はその組合せ)を監視することを含むオペレーション801で始まる。この方法は、制約パラメータが第1の制約パラメータスレッシュホールドより大きいかどうかを決定することを含むオペレーション802で続けられる。制約パラメータスレッシュホールドは、データ処理システムの仕様電力、温度、バッテリ負荷、電流に関連したものである。制約パラメータスレッシュホールドは、図1B及び2に示すサブシステムのようなデータ処理システムの複数のサブシステムに対して有効なワーストケースの値である。一実施形態では、制約パラメータスレッシュホールドは、例えば、多数の測定サンプルの統計学的分布曲線から決定されたワーストケース電力、温度、電流又はバッテリ負荷の値である。一実施形態では、測定された制約パラメータ、例えば、実際の測定電力、温度、電流、バッテリ負荷、又はその組合せが制約パラメータスレッシュホールドと比較されて、測定された制約パラメータが第1の制約パラメータスレッシュホールド以上であるかどうか決定する。制約パラメータが第1の制約パラメータスレッシュホールド以上でない場合には、オペレーション803において、制約パラメータが第2の制約パラメータスレッシュホールド未満であるかどうか決定される。第2の制約パラメータスレッシュホールドは、第1の制約パラメータスレッシュホールドからヒステリシスを差し引くことにより決定される。制約パラメータが第2の制約パラメータスレッシュホールド未満である場合には、動作点(例えば、周波数、電圧)がオペレーション804において上げられ、次いで、方法800は、オペレーション801へ戻る。制約パラメータが第2の制約パラメータスレッシュホールド未満でない場合には、この方法は、オペレーション801へ戻る。制約パラメータが第1の制約パラメータスレッシュホールド以上である場合には、オペレーション806において、データ処理システムの第1動作電圧及び/又は第1動作周波数を更に下げられるかどうか決定される。次いで、第1動作電圧及び/又は第1動作周波数を更に下げられると決定された場合には、電力動作点(例えば、周波数及び/又は電圧)がオペレーション805において下げられ、次いで、方法800は、オペレーション801へ戻る。第1動作電圧が、図3Aに示すVNのような中間動作電圧に対応し、及び/又は第1動作周波数がfNのような中間動作電圧に対応する場合には、電圧及び/又は周波数を、例えば、最低動作周波数fL及び/又は電圧VLへ下げることにより、電力動作点を下方へ移動することができる。第1動作周波数及び/又は第1動作電圧を下げられないと決定された場合には、オペレーション807において、第1動作周波数及び第1動作電圧でシステムの動作を続けながら、データ処理システムをアイドル状態へ強制することが行われる。一実施形態では、第1動作電圧が最小動作電圧であるかどうか決定される。一実施形態では、第1動作電圧が最小電圧であり、且つ監視された実際の制約パラメータが制約パラメータスレッシュホールドより大きい場合に、システムをアイドル状態へ強制する。一実施形態では、データ処理システムをアイドル状態へ強制することは、データ処理システムによりインストラクションが実行されるのを防止することを含む。一実施形態では、システムが最小電圧で動作せず、且つ監視された実際の制約パラメータが制約パラメータスレッシュホールドより大きい場合に、システムの動作点(例えば、周波数及び/又は電圧)が下げられる。
一実施形態では、第1周波数及び第1電圧で動作するシステムに対するアイドル状態のパーセンテージが制約パラメータに基づいて決定される。例えば、アイドル状態のパーセンテージは、制約パラメータに基づいて減少又は増加される。
図9は、制約パラメータに基づいてデータ処理システムをアイドル状態へ強制する方法900の一実施形態のフローチャートである。この方法900は、上述したように、データ処理システムの制約パラメータ(例えば、実際の使用電力、実際の温度、電流、バッテリ負荷、又はその組合せ)を監視することを含むオペレーション901で開始する。オペレーション902において、上述したように、制約パラメータが制約パラメータスレッシュホールド以上であるかどうかの決定がなされる。オペレーション904において、制約パラメータが制約パラメータスレッシュホールド以上である場合には、全動作時間に対する強制アイドル状態のパーセンテージ(一部分)が上げられる。制約パラメータが制約パラメータスレッシュホールド未満であると決定された場合には、オペレーション903において、強制アイドル状態のパーセンテージを任意に下げることができる。
図4に戻ると、制約パラメータに基づいて、アイドル状態T2の部分がT2’(405)へ上げられ、そして完全動作状態T1の部分がT1’(404)へ下げられる。
図6は、アイドル状態に関する情報を含むテーブル600の一実施形態を示す。図6に示すように、テーブル600は、アイドル比、アイドルレート、及びアイドル時間、という列を含む。一実施形態では、低パーセンテージ(例えば30%まで)強制アイドル期間は、全て、同じレートで実行される。強制アイドルパーセンテージが、アイドル状態で費やされる時間(アイドル時間)が希望の最大値であるところのスレッシュホールドに到達すると、最大アイドル時間を越えないようにアイドルレートが上がり始める。図6に示すように、アイドル比が30以下であるときは、アイドルレートが30000マイクロ秒の一定値に維持され、そしてアイドル比が増加するにつれてアイドル時間が増加される。図6に示すように、アイドル比が30より大きくなると、アイドルレートが高くなり、一方、アイドル時間は、10000マイクロ秒の一定値に保持される。
図12は、データ処理システムの電力をターゲット電力へと管理するための方法1220の一実施形態のフローチャートである。この方法1220は、1200で開始される。1201において、初期化が行われ、「積分エラー(Integral Error)」がゼロにセットされる(積分エラー=0)。一実施形態では、積分エラーとは、データ処理システムの測定電力とターゲット電力との間の差として定義される。オペレーション1202では、方法1220は、データ処理システムの電力を測定するために次のサンプルインターバルを待機する。オペレーション1203では、データ処理システムのターゲット電力及び測定電力が受け取られる。一実施形態では、電力は、上述したように、1つ以上のセンサを使用してサンプル時間インターバル中に測定される。データ処理システムのターゲット電力は、上述したように、データ処理システムの1つ以上のシステム制約パラメータ及び希望の性能に基づいて計算される。オペレーション1204において、サンプルインターバル中に測定された電力とデータ処理システムのターゲット電力との間の差(エラー)が決定される。オペレーション1205では、累積エラー(積分エラー)が決定される。一実施形態では、サンプルインターバルにわたって累積された積分エラーが決定される。一実施形態では、データ処理システムの1つ以上のクロック周期にわたって累積された積分エラーが決定される。オペレーション1206では、ある時間(例えば、1つ以上のクロック周期、及び/又はデータ処理システムのサンプルインターバル)にわたる積分電力(PI)が決定される。一実施形態では、PIは、次の式を使用して制御システム利得「G項」をエラー及び積分エラーに適用することにより計算される。
PI=Gp*Error+Gi Integral*Error (1)
但し、Gpは、サンプリングインターバルにわたって決定されるエラーに対する重み付けファクタに関連したものであり、そしてGiは、積分エラーに対する重み付けファクタに関連したものである。オペレーション1207において、積分電力(PI)が上限スレッシュホールド(+スレッシュホールド)より大きいかどうかの決定がなされる。PIが上限スレッシュホールドより大きい場合には、オペレーション1209において、動作電力点が下げられる。PIが上限スレッシュホールド以下である場合には、オペレーション1208において、PIが下限スレッシュホールドより小さいかどうかの決定がなされる。PIが下限スレッシュホールドより小さい場合には、オペレーション1210において、動作電力点が上げられる。
図15は、強制アイドルを伴わずに動作電力点を下げる(1501)ための方法1500の一実施形態のフローチャートである。オペレーション1502において、周波数及び/又は電圧が最低(最小)レベルであるかどうか決定される。周波数及び/又は電圧が最低レベルでない場合には、オペレーション1503において、周波数及び/又は電圧が下げられる。周波数及び/又は電圧が最低レベルである場合には、方法1500は、1504で終了となる。しかしながら、多くの状況においては、この最低レベルは、充分なものでなく、この最低レベルにおいて良好な性能を得るためにインテリジェントな強制アイドリングを使用することができる。
図16は、強制アイドルを含む動作電力点を下げる(1601)ための方法1600の一実施形態のフローチャートである。オペレーション1602において、周波数及び/又は電圧が最低レベルであるかどうかの決定がなされる。周波数及び/又は電圧が最低レベルでない場合には、オペレーション1603において、周波数及び/又は電圧が下げられる。周波数及び/又は電圧が最低レベルである場合には、オペレーション1604において、強制アイドルパーセンテージが最大アイドルパーセンテージレベルであるかどうかの決定がなされる。強制アイドルパーセンテージが最大アイドルパーセンテージレベルでない場合には、オペレーション1605において、強制アイドルパーセンテージが上げられる。方法1600は、1606において終了となる。
図13は、強制アイドルを伴わずに動作電力点を上げる(1301)ための方法1300の一実施形態のフローチャートである。オペレーション1303において、周波数及び/又は電圧が最高(最大)レベルであるかどうかの決定がなされる。データ処理システムの周波数及び/又は電圧が最大レベルでない場合には、この方法は、データ処理システムの周波数及び/又は電圧を上げることを含むオペレーション1303で続けられる。周波数及び/又は電圧が最高レベルである場合には、方法1300が終了となる。
図14は、強制アイドルを含む動作電力点を上げる(1401)ための方法1400の一実施形態のフローチャートである。オペレーション1402において、強制アイドルパーセンテージが0%であるかどうかの決定がなされる。強制アイドルパーセンテージが0%でない場合には、オペレーション1403において、強制アイドルパーセンテージが下げられる。強制アイドルパーセンテージが0%である場合には、オペレーション1404において、周波数及び/又は電圧が最高レベルであるかどうかの決定がなされる。周波数及び/又は電圧が最高レベルでない場合には、オペレーション1405において、周波数及び/又は電圧が上げられる。この方法は、1406において終了となる。
図17は、データ処理システムに対して強制アイドル状態を与える方法1700の一実施形態のフローチャートである。図17に示すように、この方法1700は、上述したように、データ処理システムの1つ以上の制約パラメータを監視することを含むオペレーション1701で始まる。この方法は、1つ以上の制約パラメータに基づいて、データ処理システムを第1の時間部分中にアイドル状態へ強制する一方、システムを第2の時間部分中に動作できるようにすることを含むオペレーション1702で続けられる。このように強制することは、ターゲットアイドル時間と実際のアイドル時間との間の比較に応答して行われる。
図18は、強制アイドル状態からスイッチするための方法1800の一実施形態のフローチャートである。この方法1800は、データ処理システムの1つ以上の制約パラメータに基づいてターゲット強制アイドル時間を決定することを含むオペレーション1801で開始される。例えば、ターゲット強制アイドル時間は、動作期間(例えば、データ処理システムのクロック周期)をアイドル比に乗算することにより決定される。一実施形態では、アイドル比は、上述したように、全動作時間に対するアイドル時間の一部分に関連している。一実施形態では、アイドル比は、システム電力/熱的制約及びシステム性能に基づいて決定される。この方法は、データ処理システムがアイドル状態において費やす実際の時間(実際のアイドル時間)を監視することを含むオペレーション1802で開始される。一実施形態では、実際のアイドル時間は、1つ以上のセンサにより測定されて、システムのメモリに記憶され、システムの1つ以上のクロック周期にわたる累積アイドル時間が与えられる。一実施形態では、この累積アイドル時間は、システムの1つ以上のクロック周期にわたり決定される。
オペレーション1803において、実際のアイドル時間に基づいて累積アイドル時間が決定される。オペレーション1804において、累積アイドル時間がターゲットアイドル時間以上であるかどうかの決定がなされる。累積アイドル時間がターゲットアイドル時間以上である場合には、システムは、オペレーション1805において、ターゲットアイドル時間及び累積アイドル時間に基づいて、時間の一部分中に、アイドル状態から完全動作状態へスイッチすることが許される。一実施形態では、システムは、動作時間の一部分中にオペレーションを継続するようにアイドル状態からスイッチされる。一実施形態では、アイドル状態は、データ処理システムが、実行を待機しているソフトウェアインストラクションを実行することを防止する。又、一実施形態では、データ処理システムのメモリは、1つ以上の制約パラメータに関連したターゲットアイドル時間を含む1つ以上のルックアップテーブルを記憶する。
図19は、強制アイドル状態を与えるための方法1900の一実施形態のフローチャートである。この方法1900は、強制アイドル状態をスタートさせることを含む1901において開始される。オペレーション1902において、データ処理システムの実行が許される時間と強制アイドル時間との比(動作比)が100より小さいかどうか決定される。この動作比が100より小さい場合には、アイドルパーセンテージ(部分)がオペレーション1903において次の式を使用して決定される。
max_idle=((100−動作比)*周期)/100 (2)
但し、周期は、システムの周波数をfとすれば、システムのクロック周期T=1/fを表す。
次いで、オペレーション1905において、アイドルパーセンテージが最後のアイドル(last_idle)より大きいかどうかの決定がなされる。一実施形態では、最後のアイドルは、手前の時間、例えば、システムのクロック周期から決定される。max_idleがlast_idleより大きい場合には、オペレーション1907において、次の式に基づいて最後のアイドルを考慮することにより、累積アイドルが計算される。
max_idle=max_idle−last_idle (3)
max_idleがlast_idle以下である場合には、max_idleがオペレーション1906において0にセットされる。次いで、方法1900は、次の式に基づきデータ処理システムの動作を許すための周期の終わりを決定することを含むオペレーション1908を続ける。
period_end=now+Period (4)
但し、“now”が、現在時間であり、“Period”は、クロック周期である。
次いで、オペレーション1909において、ターゲットアイドル時間が次の式に基づいて決定される(idle_goal)。
idle_goal=accumulated_idle
+maximum idle (5)
但し、“accumulated_idle”は、1つ以上の手前の時間(例えば、クロック周期)から累積されるアイドル時間の合計量であり、そして“maximum idle”は、最新のアイドル時間である。
更に、オペレーション1910において、累積アイドルがidle_goalより小さいかどうか決定される。累積アイドルがidle_goalより小さい場合には、オペレーション1914において、プライオリティの高いスレッドのみが実行を許される。データ処理システム(例えば、CPU)は、オペレーション1915において、max_idle時間までの間、アイドル状態へ強制される。一実施形態では、割り込みによりシステムがアイドル状態から退出させられる。累積アイドルは、データ処理システムが割り込みを考慮して強制アイドル状態において費やす時間量について更新される。次いで、方法1900は、オペレーション1910へ戻る。累積アイドルがidle_goal以上である場合には、オペレーション1911において、アイドルスタート時間がaccumulated_idleであるようにセットされる。方法1900は、オペレーション1908で決定されたperiod_endまでスレッドの実行を許すことを含むオペレーション1912で続けられる。オペレーション1913において、last_idleは、次の式に基づいて決定される。
last_idle=accumulated_idle−idle_start (6)
次いで、方法1900は、オペレーション1902へ戻る。
図18及び19に示すインテリジェントな強制アイドリングは、2005年8月25日に出願された米国特許出願第11/212,970号、及び/又は2006年1月5日に出願された米国特許出願第11/327,685号に説明された1つ以上の電力及び/又は熱管理技術との組合せで遂行することができる。例えば、インテリジェントな強制アイドリングを電力使用量の平均化と共に使用して、将来の時間インターバルに対する許容電力バジェットをダイナミックに決定することができ、図10及び11は、米国特許出願第11/212,970号からのもので、電力使用量の平均化を使用する実施形態に関連しており、これら実施形態及び図面は、その特許出願において詳細に説明されている。
以上、本発明の特定の実施形態を説明した。本発明の広い精神及び範囲から逸脱せずに種々の変更がなされ得ることが明らかであろう。従って、明細書及び図面は、例示に過ぎず、それに限定されるものではない。
100:コンピュータシステム
102:バス
103:マイクロプロセッサ
104:キャッシュメモリ
105:揮発性RAM
106:不揮発性メモリ
107:ROM
108:ディスプレイコントローラ
109:I/Oコントローラ
110:I/O装置
111:電力使用量センサ
120:システム
121:サブシステム
122:サブシステム
123:ROM
124:揮発性RAM
125:キャッシュメモリ
126:バス
127:マイクロコントローラ
128:センサ
129:サブシステム
130:不揮発性メモリ
200:システム
201:サブシステムA
202:サブシステムB
203:サブシステムN
204:サブシステムC
205:サブシステムD
206:相互接続部
207:測定装置
208:電力マネージャー
209:電力ルックアップテーブル

Claims (25)

  1. 第1周波数及び第1電圧で動作するシステムの制約パラメータを監視するステップと、
    システムが第2周波数及び前記第1電圧より低い第2電圧で動作する間にシステムをアイドル状態へと強制するステップであって、前記アイドル状態は、インストラクションが実行されるのを防止し、且つ前記強制は、制約パラメータの監視に基づくものであるステップと、
    を備えたマシン実施方法。
  2. 前記第2周波数は、前記第1周波数より低い、請求項1に記載のマシン実施方法。
  3. システムをアイドル状態へ強制するレートを決定するステップを更に備えた、請求項1に記載のマシン実施方法。
  4. 制約パラメータが制約パラメータスレッシュホールドより大きいかどうか決定するステップと、
    前記第1電圧が最小電圧であるかどうか決定するステップと、
    前記第1電圧が最小電圧であり且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムをアイドル状態へ強制するステップと、
    を更に備えた請求項1に記載のマシン実施方法。
  5. システムが最小電圧で動作せず且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムの動作点を下げるステップを更に備えた、請求項4に記載のマシン実施方法。
  6. 前記制約パラメータは、電力、温度、電流、バッテリ負荷、又はその組合せであり、前記第2周波数は、ゼロより大きく且つ前記第1周波数より低く、そして前記第2電圧は、ゼロより大きく且つ前記第1電圧より低い、請求項1に記載のマシン実施方法。
  7. 前記第1周波数及び第1電圧で動作するシステムに対するアイドル状態のパーセンテージを制約パラメータに基づいて決定するステップを更に備え、システムの少なくとも一部分に対して前記第2周波数がゼロであり且つ前記第2電圧がゼロである、請求項1に記載のマシン実施方法。
  8. プロセッサと、
    プロセッサに結合されたメモリと、
    第1周波数及び第1電圧で動作するシステムの制約パラメータを監視するためにプロセッサに結合された1つ以上のセンサと、
    を備え、前記プロセッサは、システムが第2周波数及び前記第1電圧より低い第2電圧で動作する間にシステムをアイドル状態へ強制するように構成され、前記アイドル状態は、インストラクションが実行されるのを防止し、且つ前記プロセッサは、制約パラメータの監視に基づいてシステムをアイドル状態へ強制する、データ処理システム。
  9. 前記第2周波数は、前記第1周波数より低い、請求項8に記載のデータ処理システム。
  10. 前記プロセッサは、更に、システムをアイドル状態へ強制するレートを決定するように構成される、請求項8に記載のデータ処理システム。
  11. 前記プロセッサは、更に、前記制約パラメータが制約パラメータスレッシュホールドより大きいかどうか決定し、前記第1電圧が最小電圧であるかどうか決定し、そして前記第1電圧が最小電圧であり且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムをアイドル状態へ強制するように構成される、請求項8に記載のデータ処理システム。
  12. 前記プロセッサは、更に、システムが最小電圧で動作せず且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムの動作点を下げるように構成される、請求項11に記載のデータ処理システム。
  13. 前記プロセッサは、更に、前記第1周波数及び第1電圧で動作するシステムに対するアイドル状態のパーセンテージを制約パラメータに基づいて決定するように構成され、そしてシステムの少なくとも一部分に対して前記第2周波数がゼロであり且つ前記第2電圧がゼロである、請求項8に記載のデータ処理システム。
  14. 前記メモリは、いつ、どのように、システムをアイドル状態へ強制するかの情報を記憶する、請求項8に記載のデータ処理システム。
  15. 前記制約パラメータは、電力、温度、電流、バッテリ負荷、又はその組合せであり、前記第2周波数は、ゼロより大きく且つ前記第1周波数より低く、そして前記第2電圧は、ゼロより大きく且つ前記第1電圧より低い、請求項8に記載のデータ処理システム。
  16. 第1周波数及び第1電圧で動作するシステムの制約パラメータを監視するオペレーションと、
    システムが第2周波数及び前記第1電圧より低い第2電圧で動作する間にシステムをアイドル状態へと強制するオペレーションであって、前記アイドル状態は、インストラクションが実行されるのを防止し、且つ前記強制は、制約パラメータの監視に基づくものであるオペレーションと、
    をデータ処理システムが遂行するようにさせる実行可能なプログラムインストラクションを記憶するマシン読み取り可能な記憶メディア。
  17. 前記第2周波数は、前記第1周波数より低い、請求項16に記載のマシン読み取り可能な記憶メディア。
  18. システムをアイドル状態へ強制するレートを決定するオペレーションをデータ処理システムが遂行するようにさせるインストラクションを更に備えた、請求項16に記載のマシン読み取り可能な記憶メディア。
  19. 制約パラメータが制約パラメータスレッシュホールドより大きいかどうか決定するオペレーションと、
    前記第1電圧が最小電圧であるかどうか決定するオペレーションと、
    前記第1電圧が最小電圧であり且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムをアイドル状態へ強制するオペレーションと、
    をデータ処理システムが遂行するようにさせるインストラクションを更に備えた、請求項16に記載のマシン読み取り可能な記憶メディア。
  20. システムが最小電圧で動作せず且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムの動作点を下げるオペレーションをデータ処理システムが遂行するようにさせるインストラクションを更に備えた、請求項19に記載のマシン読み取り可能な記憶メディア。
  21. 前記第1周波数及び第1電圧で動作するシステムに対するアイドル状態のパーセンテージを制約パラメータに基づいて決定するオペレーションであって、システムの少なくとも一部分に対して前記第2周波数がゼロであり且つ前記第2電圧がゼロであるようなオペレーションをデータ処理システムが遂行するようにさせるインストラクションを更に備えた、請求項16に記載のマシン読み取り可能な記憶メディア。
  22. 前記制約パラメータは、電力、温度、電流、バッテリ負荷、又はその組合せであり、前記第2周波数は、ゼロより大きく且つ前記第1周波数より低く、そして前記第2電圧は、ゼロより大きく且つ前記第1電圧より低い、請求項16に記載のマシン読み取り可能な記憶メディア。
  23. 第1周波数及び第1電圧で動作するシステムの制約パラメータを監視する手段と、
    システムが第2周波数及び前記第1電圧より低い第2電圧で動作する間にシステムをアイドル状態へと強制する手段であって、前記アイドル状態は、インストラクションが実行されるのを防止し、且つ前記強制は、制約パラメータの監視に基づくものである手段と、
    を備えたデータ処理システム。
  24. 制約パラメータが制約パラメータスレッシュホールドより大きいかどうか決定する手段と、
    前記第1電圧が最小電圧であるかどうか決定する手段と、
    前記第1電圧が最小電圧であり且つ制約パラメータが制約パラメータスレッシュホールドより大きい場合にシステムをアイドル状態へ強制する手段と、
    を更に備えた請求項23に記載のデータ処理システム。
  25. 前記第1周波数及び第1電圧で動作するシステムに対するアイドル状態のパーセンテージを制約パラメータに基づいて決定する手段を更に備え、前記第2周波数は、ゼロより大きく且つ前記第1周波数より低く、そして前記第2電圧は、ゼロより大きく且つ前記第1電圧より低い、請求項23に記載のデータ処理システム。
JP2010541433A 2008-01-07 2008-12-23 データ処理システムの強制アイドル Active JP5592269B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/970,483 2008-01-07
US11/970,483 US7949889B2 (en) 2008-01-07 2008-01-07 Forced idle of a data processing system
PCT/US2008/014036 WO2009088451A2 (en) 2008-01-07 2008-12-23 Forced idle of a data processing system

Publications (2)

Publication Number Publication Date
JP2011509461A true JP2011509461A (ja) 2011-03-24
JP5592269B2 JP5592269B2 (ja) 2014-09-17

Family

ID=40845537

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010541433A Active JP5592269B2 (ja) 2008-01-07 2008-12-23 データ処理システムの強制アイドル

Country Status (5)

Country Link
US (2) US7949889B2 (ja)
JP (1) JP5592269B2 (ja)
KR (1) KR101148642B1 (ja)
CN (1) CN102232205B (ja)
WO (1) WO2009088451A2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013518346A (ja) * 2010-01-28 2013-05-20 カビウム・インコーポレーテッド 電力制御方法および電力制御装置
WO2013153755A1 (en) * 2012-04-10 2013-10-17 International Business Machines Corporation Minimizing power consumption for fixed-frequency processing unit operation
JP2015509622A (ja) * 2012-02-08 2015-03-30 インテル・コーポレーション 電力を使用するダイナミックcpugpuロードバランシング
JP2015513336A (ja) * 2012-02-01 2015-05-07 日本テキサス・インスツルメンツ株式会社 リアルタイムシステムにおける動的電力管理
JP2017515230A (ja) * 2014-04-30 2017-06-08 クアルコム,インコーポレイテッド グラフィックスフレーム処理において電力消費を低減させるためのcpu/gpu dcvs相互最適化

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101520745B (zh) * 2008-02-27 2012-03-28 联想(北京)有限公司 数据处理设备及其状态切换方法
EP2263136A4 (en) * 2008-03-03 2015-10-07 Hewlett Packard Development Co POWER PLAFFICATION BY SOFTWARE
US8315746B2 (en) * 2008-05-30 2012-11-20 Apple Inc. Thermal management techniques in an electronic device
US8306772B2 (en) * 2008-10-13 2012-11-06 Apple Inc. Method for estimating temperature at a critical point
US8291421B2 (en) * 2008-11-19 2012-10-16 Sharp Laboratories Of America, Inc. Idle task monitor
CN102395937B (zh) * 2009-04-17 2014-06-11 惠普开发有限公司 功率封顶***及方法
US8578384B2 (en) * 2009-10-28 2013-11-05 Freescale Semiconductor, Inc. Method and apparatus for activating system components
US8667308B2 (en) 2010-06-18 2014-03-04 Apple Inc. Dynamic voltage dithering
US8364999B1 (en) * 2010-06-23 2013-01-29 Nvdia Corporation System and method for processor workload metering
WO2012093193A1 (en) * 2011-01-07 2012-07-12 Nokia Corporation Method and apparatus for statistical handling of connections
US9069555B2 (en) * 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
TWI486763B (zh) * 2011-07-18 2015-06-01 Wistron Corp 電腦系統之過熱保護方法及相關裝置
US8595525B2 (en) * 2011-09-22 2013-11-26 Qualcomm Incorporated On-chip thermal management techniques using inter-processor time dependent power density data for indentification of thermal aggressors
US9201477B2 (en) 2012-05-29 2015-12-01 Apple Inc. Power management with thermal credits
JP6123442B2 (ja) 2013-04-09 2017-05-10 オムロン株式会社 センサ装置、計測システム、および計測方法
US9395784B2 (en) * 2013-04-25 2016-07-19 Intel Corporation Independently controlling frequency of plurality of power domains in a processor system
JP6162329B2 (ja) * 2013-06-28 2017-07-12 インテル コーポレイション マルチコンポーネントプラットフォームにおけるアクティビティ管理のための技術およびシステム
JP6179276B2 (ja) * 2013-08-28 2017-08-16 富士通株式会社 情報処理装置及び電源監視回路
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
KR102164099B1 (ko) * 2014-03-28 2020-10-12 삼성전자 주식회사 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치
US10095286B2 (en) 2014-05-30 2018-10-09 Apple Inc. Thermally adaptive quality-of-service
US10203746B2 (en) 2014-05-30 2019-02-12 Apple Inc. Thermal mitigation using selective task modulation
US9760158B2 (en) 2014-06-06 2017-09-12 Intel Corporation Forcing a processor into a low power state
KR102218699B1 (ko) * 2014-09-15 2021-02-22 삼성전자주식회사 스마트 카드의 동작 방법 및 이를 포함하는 스마트 카드 시스템의 동작 방법
US9618998B2 (en) * 2015-06-10 2017-04-11 International Business Machines Corporation Identification of idle servers using power consumption
US10324519B2 (en) * 2016-06-23 2019-06-18 Intel Corporation Controlling forced idle state operation in a processor
US10216256B2 (en) * 2016-10-03 2019-02-26 Microsoft Technology Licensing, Llc Power conservation of computing components using forced idle state
US10712800B2 (en) * 2018-02-28 2020-07-14 Advanced Micro Devices, Inc. Aligning active and idle phases in a mixed workload computing platform
US20210223805A1 (en) * 2020-12-23 2021-07-22 Intel Corporation Methods and apparatus to reduce thermal fluctuations in semiconductor processors

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10268963A (ja) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
JP2002163038A (ja) * 2000-11-16 2002-06-07 Internatl Business Mach Corp <Ibm> 温度制御に伴うアクションレベルを決定する電池、電池パック、コンピュータ装置、電気機器、および電池の温度制御方法
JP2002202830A (ja) * 2000-12-28 2002-07-19 Denso Corp マイクロコンピュータ
JP2003295986A (ja) * 2002-04-02 2003-10-17 Toshiba Corp 消費電力制御方法及び情報処理装置
WO2006019973A1 (en) * 2004-07-27 2006-02-23 Intel Corporation Power management coordination in multi-core processors
WO2007069486A1 (ja) * 2005-12-13 2007-06-21 Matsushita Electric Industrial Co., Ltd. データ処理装置

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US711178A (en) * 1902-08-04 1902-10-14 Kempshall Mfg Co Playing-ball.
US5167024A (en) 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
US7194646B1 (en) 1989-10-30 2007-03-20 Texas Instruments Incorporated Real-time thermal management for computers
US5396635A (en) 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
JP3352090B2 (ja) 1991-10-02 2002-12-03 株式会社東芝 コンポーネントが消費する電力をユーザから入力される動作時間に応じて自動的に制御する電子機器
US5483656A (en) 1993-01-14 1996-01-09 Apple Computer, Inc. System for managing power consumption of devices coupled to a common bus
EP0632360A1 (en) 1993-06-29 1995-01-04 Xerox Corporation Reducing computer power consumption by dynamic voltage and frequency variation
US5734585A (en) 1994-11-07 1998-03-31 Norand Corporation Method and apparatus for sequencing power delivery in mixed supply computer systems
WO1996019764A1 (en) 1994-12-22 1996-06-27 Intel Corporation Power budgeting with device specific characterization of power consumption
US5833365A (en) 1995-03-24 1998-11-10 Interuniversitair Micro-Electronika Centrum Vzw Method for local temperature sensing for use in performing high resolution in-situ parameter measurements
US5520153A (en) * 1995-04-28 1996-05-28 Saturn Corporation Internal combustion engine control
US5745375A (en) 1995-09-29 1998-04-28 Intel Corporation Apparatus and method for controlling power usage
US5963424A (en) 1995-11-07 1999-10-05 Sun Microsystems, Inc. Pulsar desk top system that will produce 500 watts of heat
US5812860A (en) 1996-02-12 1998-09-22 Intel Corporation Method and apparatus providing multiple voltages and frequencies selectable based on real time criteria to control power consumption
JP3637181B2 (ja) 1997-05-09 2005-04-13 株式会社東芝 コンピュータシステムおよびそのクーリング制御方法
US6122758A (en) 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6415388B1 (en) 1998-10-30 2002-07-02 Intel Corporation Method and apparatus for power throttling in a microprocessor using a closed loop feedback system
US6789037B2 (en) 1999-03-30 2004-09-07 Intel Corporation Methods and apparatus for thermal management of an integrated circuit die
US6270252B1 (en) 1999-05-18 2001-08-07 Alaris Medical Systems, Inc. Predictive temperature measurement system
US6477156B1 (en) 1999-06-29 2002-11-05 Nokia Corporation Apparatus, and associated method, for selectably operating radio device in alternate operating mode
US6594771B1 (en) 2000-04-13 2003-07-15 Hewlett-Packard Development Company, L.P. Method and apparatus for managing power in an electronic device
JP2002006991A (ja) 2000-06-16 2002-01-11 Toshiba Corp コンピュータシステム及び冷却ファンの回転数制御方法
DE10141626B4 (de) 2000-09-06 2007-08-09 International Business Machines Corp. Dynamische Angleichung von Leistungsvermögen und Strombedarf
US6718474B1 (en) 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US7174194B2 (en) 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
JP3746952B2 (ja) 2000-12-07 2006-02-22 Necパーソナルプロダクツ株式会社 情報処理装置
US7389293B2 (en) 2000-12-20 2008-06-17 Oracle International Corporation Remastering for asymmetric clusters in high-load scenarios
US7000130B2 (en) 2000-12-26 2006-02-14 Intel Corporation Method and apparatus for thermal throttling of clocks using localized measures of activity
JP2002222031A (ja) 2001-01-25 2002-08-09 Toshiba Corp 情報処理装置および同装置の消費電力制御方法
US6701272B2 (en) 2001-03-30 2004-03-02 Intel Corporation Method and apparatus for optimizing thermal solutions
US6535382B2 (en) 2001-04-12 2003-03-18 Johnson Controls Technology Company Cooling system for electronic equipment cabinets
US7058824B2 (en) 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US6904968B2 (en) 2001-09-14 2005-06-14 Hewlett-Packard Development Company, L.P. Method and apparatus for individually cooling components of electronic systems
US20030061523A1 (en) * 2001-09-25 2003-03-27 Stanley Randy P. Method and apparatus to provide a user priority mode
US7111178B2 (en) 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US7171570B2 (en) 2001-11-16 2007-01-30 Apple Computer, Inc. Method and apparatus for selectively increasing the operating speed of an electronic circuit
US6925573B2 (en) 2002-01-02 2005-08-02 Intel Corporation Method and apparatus to manage use of system power within a given specification
US7096145B2 (en) 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
US20040003301A1 (en) 2002-06-28 2004-01-01 Nguyen Don J. Methods and apparatus to control processor performance to regulate heat generation
US6986069B2 (en) 2002-07-01 2006-01-10 Newisys, Inc. Methods and apparatus for static and dynamic power management of computer systems
US7243243B2 (en) 2002-08-29 2007-07-10 Intel Corporatio Apparatus and method for measuring and controlling power consumption of a computer system
US7865744B2 (en) 2002-09-04 2011-01-04 Broadcom Corporation System and method for optimizing power consumption in a mobile environment
US20040064745A1 (en) 2002-09-26 2004-04-01 Sudarshan Kadambi Method and apparatus for controlling the rate at which instructions are executed by a microprocessor system
JP4006634B2 (ja) 2002-10-10 2007-11-14 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7036027B2 (en) 2002-10-21 2006-04-25 Sun Microsystems, Inc. Computer system layout and cooling configuration
KR100935574B1 (ko) 2002-11-04 2010-01-07 삼성전자주식회사 Cpu 과열방지시스템
DE10256623A1 (de) 2002-12-03 2004-06-24 Krohne Meßtechnik GmbH & Co KG Elektrisches Gerät und Verfahren zum Betreiben eines elektrischen Geräts
US8086884B2 (en) 2002-12-16 2011-12-27 Hewlett-Packard Development Company, L.P. System and method for implementing an integrated circuit having dynamically variable power limit
US7085945B2 (en) 2003-01-24 2006-08-01 Intel Corporation Using multiple thermal points to enable component level power and thermal management
US20040148258A1 (en) * 2003-01-29 2004-07-29 Tillett Wiley S. Electronic check settlement method
US7210048B2 (en) 2003-02-14 2007-04-24 Intel Corporation Enterprise power and thermal management
US20040159240A1 (en) 2003-02-14 2004-08-19 Lyall Lucian H. Beverage brewing apparatus and method
US7139920B2 (en) 2003-03-13 2006-11-21 Sun Microsystems, Inc. Method and apparatus for supplying power in electronic equipment
US7454643B2 (en) 2003-04-30 2008-11-18 Marvell World Trade Ltd. Pre-emptive power supply control system and method
US6745117B1 (en) 2003-05-16 2004-06-01 Deere & Company Power-limiting control method and system for a work vehicle
EP1631892A1 (en) 2003-05-27 2006-03-08 Koninklijke Philips Electronics N.V. Monitoring and controlling power consumption
US20050210304A1 (en) 2003-06-26 2005-09-22 Copan Systems Method and apparatus for power-efficient high-capacity scalable storage system
US7272732B2 (en) 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
US7543306B2 (en) 2003-07-02 2009-06-02 Intel Corporation Method, system, and program for handling device interrupts in a multi-processor environment
US7451332B2 (en) 2003-08-15 2008-11-11 Apple Inc. Methods and apparatuses for controlling the temperature of a data processing system
US7146519B2 (en) 2003-08-22 2006-12-05 Hewlett-Packard Development Company, L.P. Bus clock frequency management based on device bandwidth characteristics
US7127625B2 (en) 2003-09-04 2006-10-24 Hewlett-Packard Development Company, L.P. Application management based on power consumption
US7134029B2 (en) 2003-11-06 2006-11-07 International Business Machines Corporation Computer-component power-consumption monitoring and control
US7203849B2 (en) 2003-12-12 2007-04-10 Hewlett-Packard Development Company, L.P. Method and system for distributing power to networked devices
US7580905B2 (en) 2003-12-15 2009-08-25 Intel Corporation Adaptive configuration of platform
US20050138440A1 (en) 2003-12-18 2005-06-23 Barr Andrew H. Equipment rack load modulation system and method
US7177728B2 (en) 2003-12-30 2007-02-13 Jay Warren Gardner System and methods for maintaining power usage within a set allocation
US7228448B2 (en) 2004-02-13 2007-06-05 Microsoft Corporation Method for making power supplies smaller and more efficient for high-power PCs
US7366921B2 (en) 2004-04-23 2008-04-29 Hewlett-Packard Development Company, L.P. Selecting input/output devices to control power consumption of a computer system
US20060047983A1 (en) 2004-05-19 2006-03-02 Zeev Aleyraz Multiple source/multiple device connector
US20050283683A1 (en) 2004-06-08 2005-12-22 International Business Machines Corporation System and method for promoting effective operation in user computers
US7519837B2 (en) 2004-06-15 2009-04-14 Hewlett-Packard Development Company, L.P. Power controller
US7295949B2 (en) 2004-06-28 2007-11-13 Broadcom Corporation Energy efficient achievement of integrated circuit performance goals
US7281146B2 (en) 2004-06-30 2007-10-09 Intel Corporation Dynamic power requirement budget manager
US7739527B2 (en) 2004-08-11 2010-06-15 Intel Corporation System and method to enable processor management policy in a multi-processor environment
US7877621B2 (en) 2004-09-03 2011-01-25 Virginia Tech Intellectual Properties, Inc. Detecting software attacks by monitoring electric power consumption patterns
US7239119B2 (en) 2004-11-05 2007-07-03 Power Integrations, Inc. Method and apparatus to provide temporary peak power from a switching regulator
US7343499B2 (en) 2005-01-27 2008-03-11 International Business Machines Corporation Method and apparatus to generate circuit energy models with multiple clock gating inputs
US7421598B2 (en) 2005-02-09 2008-09-02 International Business Machines Corporation Dynamic power management via DIMM read operation limiter
US7383451B2 (en) 2005-02-18 2008-06-03 Lenovo (Singapore) Pte. Ltd. Controlling power usage of computing device components in holistic manner
US7640760B2 (en) 2005-03-25 2010-01-05 Hewlett-Packard Development Company, L.P. Temperature control using a sensor network
US7444526B2 (en) 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US7484108B2 (en) 2005-06-23 2009-01-27 Intel Corporation Enhancing power delivery with transient running average power limits
US7386750B2 (en) 2005-07-15 2008-06-10 Hewlett-Packard Development Company, L.P. Reduced bus turnaround time in a multiprocessor architecture
US7461274B2 (en) 2005-08-23 2008-12-02 International Business Machines Corporation Method for maximizing server utilization in a resource constrained environment
US8374730B2 (en) 2005-08-25 2013-02-12 Apple Inc. Methods and apparatuses for dynamic thermal control
US7562234B2 (en) 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
JP4764696B2 (ja) 2005-10-07 2011-09-07 ルネサスエレクトロニクス株式会社 半導体集積回路装置
US7616568B2 (en) * 2006-11-06 2009-11-10 Ixia Generic packet generation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10268963A (ja) * 1997-03-28 1998-10-09 Mitsubishi Electric Corp 情報処理装置
JP2002163038A (ja) * 2000-11-16 2002-06-07 Internatl Business Mach Corp <Ibm> 温度制御に伴うアクションレベルを決定する電池、電池パック、コンピュータ装置、電気機器、および電池の温度制御方法
JP2002202830A (ja) * 2000-12-28 2002-07-19 Denso Corp マイクロコンピュータ
JP2003295986A (ja) * 2002-04-02 2003-10-17 Toshiba Corp 消費電力制御方法及び情報処理装置
WO2006019973A1 (en) * 2004-07-27 2006-02-23 Intel Corporation Power management coordination in multi-core processors
WO2007069486A1 (ja) * 2005-12-13 2007-06-21 Matsushita Electric Industrial Co., Ltd. データ処理装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013518346A (ja) * 2010-01-28 2013-05-20 カビウム・インコーポレーテッド 電力制御方法および電力制御装置
JP2015513336A (ja) * 2012-02-01 2015-05-07 日本テキサス・インスツルメンツ株式会社 リアルタイムシステムにおける動的電力管理
JP2015509622A (ja) * 2012-02-08 2015-03-30 インテル・コーポレーション 電力を使用するダイナミックcpugpuロードバランシング
WO2013153755A1 (en) * 2012-04-10 2013-10-17 International Business Machines Corporation Minimizing power consumption for fixed-frequency processing unit operation
GB2515223A (en) * 2012-04-10 2014-12-17 Ibm Minimizing power consumption for fixed-frequency processing unit operation
US8943341B2 (en) 2012-04-10 2015-01-27 International Business Machines Corporation Minimizing power consumption for fixed-frequency processing unit operation
GB2515223B (en) * 2012-04-10 2015-04-15 Ibm Minimizing power consumption for fixed-frequency processing unit operation
US9052905B2 (en) 2012-04-10 2015-06-09 International Business Machines Corporation Minimizing power consumption for fixed-frequency processing unit operation
JP2017515230A (ja) * 2014-04-30 2017-06-08 クアルコム,インコーポレイテッド グラフィックスフレーム処理において電力消費を低減させるためのcpu/gpu dcvs相互最適化

Also Published As

Publication number Publication date
KR20100113110A (ko) 2010-10-20
US8225121B2 (en) 2012-07-17
CN102232205B (zh) 2015-03-25
WO2009088451A3 (en) 2010-09-10
KR101148642B1 (ko) 2012-05-21
CN102232205A (zh) 2011-11-02
US7949889B2 (en) 2011-05-24
JP5592269B2 (ja) 2014-09-17
US20090177907A1 (en) 2009-07-09
WO2009088451A2 (en) 2009-07-16
US20110219247A1 (en) 2011-09-08

Similar Documents

Publication Publication Date Title
JP5592269B2 (ja) データ処理システムの強制アイドル
US7949888B2 (en) Forced idle of a data processing system
US8458498B2 (en) Method and apparatus of power management of processor
US8578189B2 (en) Methods and apparatuses for dynamic power control
US7529948B2 (en) Methods and apparatuses for dynamic power estimation
US8799687B2 (en) Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates
US8112647B2 (en) Protocol for power state determination and demotion
US7155623B2 (en) Method and system for power management including local bounding of device group power consumption
TWI467363B (zh) 協同處理器及系統之效能與電力管理
US8171319B2 (en) Managing processor power-performance states
KR20070027604A (ko) 저전력 디바이스의 대기 전력 제어
CN101379453A (zh) 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置
US10775876B2 (en) Method and apparatus for controlling power consumption of an integrated circuit

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120301

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120601

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120608

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120702

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130726

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130801

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140708

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140731

R150 Certificate of patent or registration of utility model

Ref document number: 5592269

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