JP2009520302A - プロセッサ状態遷移を検出するための方法及び装置 - Google Patents
プロセッサ状態遷移を検出するための方法及び装置 Download PDFInfo
- Publication number
- JP2009520302A JP2009520302A JP2008547289A JP2008547289A JP2009520302A JP 2009520302 A JP2009520302 A JP 2009520302A JP 2008547289 A JP2008547289 A JP 2008547289A JP 2008547289 A JP2008547289 A JP 2008547289A JP 2009520302 A JP2009520302 A JP 2009520302A
- Authority
- JP
- Japan
- Prior art keywords
- priority thread
- shared memory
- time
- state
- power
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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/3419—Recording 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/3423—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4818—Priority circuits therefor
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Power Sources (AREA)
- Debugging And Monitoring (AREA)
Abstract
いくつかの実施例では、プロセッサ遷移状態を検出する方法及び装置が記載される。いくつかの実施例は、オペレーティングシステムによる電力状態遷移を提供する高低のプライオリティ状態を検出する少なくとも2つのスレッドを有する。低プライオリティスレッドは、アイドル又は低電力状態へのエントリ直前に実行される。高プライオリティスレッドは、アイドル状態が終了すると、又は最も高い電力状態に到達すると実行される。いくつかの実施例では、これらのスレッドの利用は、オペレーティングシステムから独立にプロセッサ状態の移行及びアイドルタイムを検出する。他の実施例が記載される。
Description
[背景]
技術分野
本発明の実施例は、一般に計算システムにおけるプロセッサ状態遷移に関する。
技術分野
本発明の実施例は、一般に計算システムにおけるプロセッサ状態遷移に関する。
説明
計算システムの電力消費は、多くのユーザについてますます気になる問題となってきている。大部分のケースにおいて、ユーザはより低いエネルギー請求書を所望する。ユーザはまた、より少ないノイズと熱しか生じない計算システムを好み、典型的には、計算システムにより消費される電力と当該計算システムにより発生するノイズと熱の大きさとの間には正の関係が存在する。さらに、ラップトップコンピュータ、携帯電話(セルフォン)、携帯情報端末(PDA)などのバッテリにより駆動される計算システムでは、電力消費の低減は計算システムのバッテリ寿命を増大させる貴重な効果を有する(すなわち、バッテリが充電又は交換される必要が生じる前に、計算システムが利用可能な時間を増大させること)。
計算システムの電力消費は、多くのユーザについてますます気になる問題となってきている。大部分のケースにおいて、ユーザはより低いエネルギー請求書を所望する。ユーザはまた、より少ないノイズと熱しか生じない計算システムを好み、典型的には、計算システムにより消費される電力と当該計算システムにより発生するノイズと熱の大きさとの間には正の関係が存在する。さらに、ラップトップコンピュータ、携帯電話(セルフォン)、携帯情報端末(PDA)などのバッテリにより駆動される計算システムでは、電力消費の低減は計算システムのバッテリ寿命を増大させる貴重な効果を有する(すなわち、バッテリが充電又は交換される必要が生じる前に、計算システムが利用可能な時間を増大させること)。
典型的には、計算システムは、プロセッサ若しくはマイクロプロセッサ、データ記憶装置、各種入出力(I/O)装置などの多数の各種コンポーネントを有する。計算システムがオフでないとき、計算システム内の各コンポーネントは一定の電力を消費する。さらに、計算システムのマイクロプロセッサアーキテクチャの高度化の進展は、電力管理問題の影響を増大させてきた。計算システム上で実行されるソフトウェアアプリケーションなどのロジックは、計算システム又はそれのコンポーネントの電力状態に意識していないかもしれない。これは、ソフトウェアアプリケーションの動作がユーザに容易には明らかでないとき問題となりうる。さらに、ロジックは、異なるオペレーティングシステム又はオペレーティングシステム(OS)のバージョンにおいて実行され、オペレーティングシステム(OS)から電力状態情報を取得することができないかもしれない。
従って、計算システムの電力管理状態をロジックに意識させるための方法を提供することが必要とされる。特に、OSが計算システムの電力状態を変更しようとする時点をOSに独立な方法によりロジックが検出することが必要とされる。
[詳細な説明]
本発明の実施例が参照される。それらの実施例が添付された図面に示される。本発明が実施例に関して説明されるが、本発明をこれらの実施例に限定するものでないことが理解されるであろう。他方、本発明は添付した請求項により規定されるような本発明の趣旨及び範囲内に含まれる変更、改良及び均等をカバーするものである。さらに、本発明の以下の詳細な説明では、本発明の完全な理解を提供するため、多数の具体的詳細が与えられる。しかしながら、本発明は、これら具体的な詳細なしに実現可能である。他の例では、本発明の特徴を不必要に不明りょうにしないため、周知の方法、手順、コンポーネント及び回路は詳細には説明されていない。
本発明の実施例が参照される。それらの実施例が添付された図面に示される。本発明が実施例に関して説明されるが、本発明をこれらの実施例に限定するものでないことが理解されるであろう。他方、本発明は添付した請求項により規定されるような本発明の趣旨及び範囲内に含まれる変更、改良及び均等をカバーするものである。さらに、本発明の以下の詳細な説明では、本発明の完全な理解を提供するため、多数の具体的詳細が与えられる。しかしながら、本発明は、これら具体的な詳細なしに実現可能である。他の例では、本発明の特徴を不必要に不明りょうにしないため、周知の方法、手順、コンポーネント及び回路は詳細には説明されていない。
本発明のいくつかの実施例は、計算システムに限定されるものでないが、シングル又はマルチコアプロセッサを使用するなど、プロセッサ状態遷移を検出するシステム及び方法に関する。本システムのいくつかの実施例は、限定されるものでないが、2004年9月2日に公開されたAdvanced Configuration and Power Interface(ACPI)仕様書(ACPI Ver.3.0)を使用した計算システムによりサポートされる各種プロセッサ電力管理状態、すなわち、“C状態”などの計算システム又はシングル若しくはマルチコアプロセッサの1以上のアイドルタイムを効果的に検出するのに利用可能な各種電力管理状態を検出するための方法及びシステムに関する。
明細書における本発明の“一実施例”又は“いくつかの実施例”という表現は、当該実施例に関して説明される特定の特徴、機能、構成又は特性が本発明の少なくとも1つの実施例に含まれることを意味する。このため、明細書の各所に出現する“一実施例では”又は“実施例によると”というフレーズの出現は、必ずしもすべてが同一の実施例を参照しているとは限らない。
本発明の実施例は、大きく高度化されたシングル、デュアル及び他のマルチコアマイクロプロセッサを有する計算システムにより実現可能である。しばしば、これらのマルチコアプロセッサは、共通のレベル2(L2)キャッシュと共通のパッケージ及び他の構成とを共有しながら、独自の計算リソースを含む。これは、以下に限定されるものでないが、電力管理問題をもたらすかもしれない。
a.プロセススケジューリングは、オペレーティングシステム(OS)によりシングルパッケージが複数のプロセッサによって共有されていることが把握されないとき、より複雑なものとなるかもしれない。これは、プロセスを利用可能な処理コア上で非効率的にスケジューリングし、これによりより大きな電力消費をもたらす。
b.計算システム上で実行されるアプリケーションは、インタラクティブアプリケーション(限定されるものでないが、Microsoft(登録商標)のExcel(登録商標)やWord(登録商標)など)対バックグラウンドアプリケーション(限定されるものでないが、Symantec(登録商標)のAntivirus(登録商標)又はPersonal Firewall(登録商標)など)としては分類されないかもしれない。これらのアプリケーションは等しい実行機会を取得せず、それらの実行は必要でないかもしれず、このため、電力流失の多くを生じさせるかもしれない。電力流失は、バッテリを利用して動作するモバイル計算システムには問題であるかもしれない。
インテル(登録商標)コーポレイションは、広範なサービスについて低電力消費と高パフォーマンス処理をサポートする技術を搭載したプロセッサを製造している。いくつかのケースでは、低電力消費と高パフォーマンス処理をサポートするこれらのプロセッサの技術は、ACPI仕様書などの電力管理システムに準拠するかもしれない。インテル(登録商標)コーポレイションは、様々な製品指示又は型番の下で上記又は同様の技術を特色とした1以上のプロセッサファミリを販売している。
さらに、ここに記載される本発明の実施例は、システムのハードウェアによりサポート可能な各種低電力モードを利用するため、これらのモードがシステムのOSによりサポートされていないときでさえ、利用されるかもしれない。例えば、インテル(登録商標)PXA26x及びPXA27xプロセッサファミリのプロセッサは、パフォーマンススイッチングのための技術を含む。同様の技術が、Mobile Intel(登録商標)Pentium(登録商標)III Processor−Mと呼ばれるタイプのプロセッサなど、インテル(登録商標)コーポレイションにより販売されている各種モバイルプロセッサに含まれている。これらのプロセッサに含まれるパフォーマンススイッチングのための技術は、一般にIntel SpeedStep(登録商標)技術と呼ばれるかもしれない。本発明の実施例は、このような技術がサポートする電力セーブの可能性をより効率的に利用するのに利用可能である。本発明の他の実施例は、他のタイプのパフォーマンス又は電力管理技術を利用するプロセッサを含む他のタイプのプロセッサを利用する処理システムの効率性を向上させるのに利用可能である。
ここに記載される本発明の実施例は、ACPI仕様又は同様のシステムをサポートするプロセッサを有する計算システムを含むかもしれない。本発明の他の実施例は、インテル(登録商標)コーポレイション又は他のメーカーにより製造されるか否かに関係なく、他のタイプのプロセッサを有する計算システムを含む。
図1及び2は、本発明の実施例による計算システムの具体例のブロック図であり、図3〜6に記載される処理のための具体例を提供する。以下の記載は、本発明の特定の特徴が実現可能な適切な環境の全体的な記載を提供するためのものである。ここに使用される“計算システム”という用語は、広くは単一のマシーン又は通信可能に接続される一緒に動作するマシーン又は装置のシステムを含むことを意図する。一例となる計算システムは、限定されるものでないが、分散計算システム、スーパーコンピュータ、計算クラスタ、メインフレームコンピュータ、ミニコンピュータ、クライアント・サーバシステム、パーソナルコンピュータ、ワークステーション、サーバ、ポータブルコンピュータ、ラップトップコンピュータ、タブレット処理システム、電話、携帯情報端末(PDA)、携帯装置、モバイルハンドセット、オーディオ及び/又はビデオ装置などの娯楽装置、並びに除法を処理若しくは送信するための他の装置を含む。
図1及び2のシステムは、例えば、集積回路(IC)として実現可能である。システムのコンポーネントは、当業者が理解するように、1以上の揮発性又は不揮発性データ記憶装置に接続可能である。また、これらの図は計算システムのすべての可能なコンポーネントを含むものでない。計算システムはまた、1以上のIDE(Integrated Drive Electronics)ドライブ、SCSI(Small Computer System Interface)ドライブ、又は他のタイプのハードディスクドライブなどの大容量記憶装置に通信可能に接続されるかもしれない。本発明の実施例によると、計算システムにより利用可能な他のタイプの大容量記憶装置及び記憶媒体は、フロッピー(登録商標)ディスク、光ストレージ、テープ、メモリスティック、デジタルビデオディスク、バイオロジカルストレージなどを含むかもしれない。
さらに、計算システムはまた、1以上のバスブリッジを含むかもしれない。上記ブリッジ及び係るバスの1以上が、1以上の記憶装置、デバイスコントローラ、入出力(I/O)ポート及びI/Oデバイスなどの追加的なコンポーネントと直接的に又は間接的に図1に示されるプロセッサを接続するのに利用されるかもしれない。例えば、追加的なコンポーネントは、ビデオコントローラ、SCSIコントローラ、ネットワークコントローラ、USB(Universal Serial Bus)コントローラ、キーボードコントローラなどを含むかもしれない。本発明のいくつかの実施例では、このようなコンポーネントは、プログラマブル又は非プログラマブルロジック装置若しくはアレイ、ASIC(Application Specific Integrated Circuit)、埋め込みコンピュータ、スマートカードなどのコンポーネントを利用して、埋め込み装置として実現可能である。
図1は、複数のコア112(112a〜112b)を有するプロセッサ110を示す。ここで、各コア112は、命令フェッチユニット、命令デコーダ、レベル1(L1)キャッシュ114(114a〜114b)、実行ユニットなどにより十分機能する。図示されたプロセッサ110は2つのコア112を有するが、本発明の実施例はそれに限定されるものでない。実際、ここに記載される技術は、電力消費が問題となる任意のマルチコアアーキテクチャに有用である。このため、任意数のコアが、ここに記載される実施例の趣旨及び範囲から逸脱することなく利用可能である。
各コア112は、コア112のアイドル状態への移行を要求するコマンドを検出可能である。このコマンドは、コア112の内部から発生するか、又はコア112の外部から発生するものであるかもしれない。アイドル状態は、ACPI仕様書に記載される“C状態”の1つなどのプロセッサ電力状態とすることが可能である。一般に、よりディープなアイドル状態は、より少ない電力消費とより長い終了遅延(exit latency)に関連付けされる。以下に限定されるものでないが、プロセッサ周波数、プロセッサ電圧などの直接的なモニタリングなどの他のアプローチもまた利用可能である。
プロセッサ110は、コア112により共有されるレベル2(L2)キャッシュ120を有することが可能である。他方、L1キャッシュ114は、各自のコア112に専用とされてもよい。以下で詳細に説明されるように、L1キャッシュ114の専用性は、コア単位の電力管理の機会を提供する。コア112はまた、コア単位の電力セーブを実現するためゲート処理することが可能な専用のクロック入力115(115a〜115b)を有する。ハードウェア調整ロジック116は、複数のコア112のそれぞれのアイドル状態118(118a〜118b)とコマンドに基づき、所与のコア112の電力消費を管理することが可能である。複数のコア112と複数のアイドル状態118を調整することによって、図示されたプロセッサ110はより複雑なアーキテクチャをサポートすることが可能であり、従来のソフトウェアアプローチより迅速に状態変化に応答することが可能である。図示されたプロセッサ110はまた、調整ロジック116を利用して、実際の電力状態の遷移に先行して電力セーブ機能を開始することが可能である。その結果は大きな電力の節約となりうる。
例えば、利用の欠落に基づき、C4状態は第1コア112aに適していると判断されるかもしれない。その他の電力管理状態に関してディープであるC4状態は、典型的には、パッケージワイド電圧及び/又は周波数設定などの共有リソースに関連付けされる。他方、第2コア112bは、アクティブ状態とされるかもしれない。このような状態の下、調整ロジック116は、第1コア12aが依然として電力を節約することができるように、第1コアを特定の専用の電力セーブ機能に開始に係る“仮の”状態に移行させることが可能である。さらに、第2コア112bが以降にC4状態に移行するためのリクエストを受け付けた場合、調整ロジック116はまた、コア112がC4状態に移行している間に、より多くの電力を節約するため共有電力セーブ機能を開始することが可能である。同様の効果が、すべてのコアが同じ状態に移行している時点を検出することによって、その他のアイドル状態について実現可能である。
本発明の実施例によると、1以上のオペレーティングシステム(OS)122がプロセッサ110上で実行されるかもしれない。いくつかの実施例では、OS122はメモリ(図示せず)にロードされる。それらの双方がプロセッサ110にアクセス可能である。ACPIロジック124は、少なくとも上述した特徴を提供するためOS122内にインスタンス化されてもよく、さらにここに記載されるような本発明の実施例の状態情報を提供するかもしれない。本発明のいくつかの実施例では、OS122とACPIロジック124は、限定されるものでないが、ハードディスクなどの大容量記憶装置(図示せず)に格納されてもよい。
図2は、上述されるような複数のコア112’(112a’〜112b’)とハードウェア調整ロジック116’を備えるプロセッサ110’を有するシステム222を示す。図示されたシステム222はまた、チップセット230を介しプロセッサ110’に接続される1以上の入出力(I/O)装置224、RAM(Random Access Memory)226及びROM(Read Only Memory)228を有する。RAM226及びROM228は、コア112’により1以上のスレッド及び/又はプロセスとして実行可能な命令232を格納する。命令232の実行は電力消費を低減させることが可能である。アイドル状態移行コマンドが、コア112’によりチップセット230及び/又はオペレーティングシステムから受け付けされると、ハードウェア調整ロジック116’は、システム222の電力消費を実質的に低減することが可能である。
本発明の実施例によると、1以上のOS122’がプロセッサ110’上で実行可能である。ACPIロジック124’は、少なくとも上述した機能を提供するためOS122’内でインスタンス化され、ここに記載される本発明の実施例の状態情報をさらに提供するかもしれない。本発明のいくつかの実施例では、OS122’及びACPIロジック124’は、限定されるものでないが、ハードディスクなどの大容量記憶装置(図示せず)に格納されてもよい。
本発明の実施例は、限定されるものでないが、OSのアイドル状態を示すプロセッサ電力管理状態などのプロセッサ電力状態へのOSのエントリ(イグジット)を検出することに関する。本発明の実施例によると、プロセッサ電力管理状態エントリ/イグジットが検出されると、OSのスケジューラは、スケジューリング及び/又は電力管理を管理するため、フォアグラウンド対バックグラウンドアプリケーションを知ることと同時に、プラットフォーム及び/又はユーザに固有の選好により拡張されるかもしれない。
本発明のいくつかの実施例では、本方法及び装置は、OS内で動作可能なOSアイドルハンドラ及び/又はOSスケジューラによるプロセッサ電力管理状態とのエントリ及びイグジットを検出するかもしれない。本発明は、マシーンによりアクセ右されると、マシーンにタスクを実行させ、アブストラクションデータタイプ又は低レベルハードウェアコンテクストを規定させる命令、関数、手順、データ構造、アプリケーションプログラムなどを含む関連データを参照して又は関連して説明されるかもしれない。データは、一般にソフトウェアとして参照され、揮発性及び/又は不揮発性データストレージに格納されてもよい。
図3は、OSにより割り当てられるプロセス及びスレッドプライオリティを示す。ブロック図300により示されるように、プライオリティは、単なる理解の簡単化のため、垂直的な配置により図面の左側にカテゴリ化され、ハードウェアプライオリティ302、ディスパッチプライオリティ304、ソフトウェアプライオリティハイ306、ソフトウェアプライオリティノーマル308及びソフトウェアプライオリティロー310としてそれぞれリストされる。図3の右側には、矢印により示されるような1以上のプロセスに係るスレッドが示される。いくつかの実施例では、割り込みサービスルーチン312がハードウェアプライオリティ302に関連付けされ、OSスケジューラ314がディスパッチプライオリティ304に関連付けされ、本実施例に示されるように、ブロック306,308及び310により示されるソフトウェアアプリケーションより高いプライオリティを有する。本発明の実施例によると、OSスケジューラ314はまた、何れのスレッド及びプロセスが次の時間単位において実行されるべきか決定するかもしれない。また、典型的には、低いプライオリティに設定し(少なくともブロック306,308及び310の少なくとも1つを含む)、プロセッサを何れの時点で低電力状態に置くか決定するアプリケーションに接触させないOSアイドルハンドラがあってもよい。
また、図3に示されるように、リアルタイムアプリケーション316がソフトウェアプライオリティハイ306に関連付けされる。リアルタイムアプリケーション316は、ユーザにより直接アクセスされるソフトウェアアプリケーションを有し、計算システムの処理リソースのより多くの部分を必要とするかもしれない。本発明のいくつかの実施例によると、電力状態検出プロセスハイプライオリティスレッド322が、リアルタイムアプリケーション316と共にインスタンス化され、ソフトウェアプライオリティハイ306に関連付けされるかもしれない。
1以上のフォアグラウンドタスク318は、本発明の実施例によるとソフトウェアプライオリティノーマル308に関連付けされる。また本発明のいくつかの実施例では、バックグラウンドタスク320がソフトウェアプライオリティロー310に関連付けされるかもしれない。バックグラウンドタスク320は、ユーザにより直接アクセスされるものでないソフトウェアアプリケーションを有し、典型的には、電力管理を考慮することなく動作するかもしれない。本発明のいくつかの実施例によると、電力状態検出プロセスロープライオリティスレッド324は、バックグラウンドタスク320と共にインスタンス化され、ソフトウェアプライオリティロー310に関連付けされるかもしれない。
本発明の実施例によると、機構は、OSがアイドル状態によりプロセッサを低電力状態にした時点をOSに独立な方法によりほぼ検出し、またプロセッサが低電力状態からアプリケーションを実行するための通常の実行状態にウェイクアップした時点を検出するかもしれない。本発明のいくつかの実施例では、これは、1つのスレッドが典型的なシステムの他のアプリケーションより高いプライオリティを有し、他のスレッドがアプリケーションスレッドが有することが可能な少なくとも可能性のあるプライオリティを有する2つのスレッドによる少なくとも1つのプロセスを生成することにより実現可能である。図3に示されるように、スレッド322及び324は、それぞれ最も高いスレッドと最も低いスレッドとしてインスタンス化されるかもしれない。
さらに、本発明は特定のOSに限定されるものでなく、広範なOSを利用する計算システムにおいて利用可能である。
図4〜6の方法は、図1及び2に関して図示及び説明された計算システムの1以上のモジュールにより実行されるかもしれない。特に本発明の実施例によると、OS122,122’とACPI124,124’は、本発明のためのロジックの一部又はすべてを提供するかもしれない。図4〜6は、インスタンス化される計算システムの論理及び物理モジュールを不必要に参照することなく、本発明の実施例について記載している。
図4は、本発明のいくつかの実施例によるOSアイドルハンドラによる電力状態エントリ/イグジットがどのように検出されるかのフローチャートを示す。確認できるように、検出処理は、検出アプリケーションにより生成される2つのスレッドにより実行可能である。プロセス400は、スタート402から開始され、すぐに404に移行して、高プライオリティスレッド及び低プライオリティスレッドを生成する。その後プロセスは406に移行し、電力状態エントリ/イグジット情報を格納するため、2つのスレッドの間で共有されるメモリを生成する。本発明のいくつかの実施例では、プロセスは、システムシャットダウン408まで2つのスレッドを実行する。本発明の実施例によると、プロセスは電子装置410の状態に関する更新された情報を受け付けるかもしれない。電子装置は、コンピュータシステム、又は図1のマルチコアプロセッサなどの計算システムの1以上のモジュールを有するかもしれない。その後410において、プロセスは図4に示されるように、繰り返される。
図5は、本発明の実施例による高プライオリティスレッドのフローチャートを示す。当該スレッドのプロセス500は502からスタートし、すぐに504に移行する。504において、プロセスは、共有メモリに電力状態イグジットタイムスタンプを格納する。このタイムスタンプは、イグジットタイムと呼ばれるかもしれない。その後、プロセスは506に移行する。506において、プロセスはエントリタイムをイグジットタイムから差し引くことによって、アイドル時間を計算する。本発明のいくつかの実施例では、アイドル時間は、低プライオリティスレッドにより格納される。その後、プロセスは508に移行し、本発明のいくつかの実施例では、他の何れかの電力管理又はスケジュール変更がバックグラウンド対フォアグラウンドプロセスのユーザ入力及び/又は知識に基づき実行される必要があるか決定する。その後、プロセスは、510においてプロセッサに他のスレッドを生成させ、512に移行する。512において、プロセスは、実行準備状態に入るよう低プライオリティスレッドに通知する。本発明の実施例では、プロセスは、後述されるように、612において低プライオリティスレッド600と通信する。その後、プロセスは、514において次のOSタイマーチックのウェイトオンタイマー(wait−on−timer)イベントをスケジューリングし、本発明のいくつかの実施例では、プロセス500が必要に応じて繰り返される516で終了する。
図6は、本発明の実施例による低プライオリティスレッドのフローチャートを示す。スレッドに対するプロセス600は602からスタートし、すぐに604に移行する。604において、プロセスは共有メモリに電力状態エントリタイムスタンプを格納する。このタイムスタンプはエントリタイムと呼ばれるかもしれない。その後、プロセスは606に移行する。606において、プロセスは、エントリタイムからイグジットタイムを差し引くことによって、ビジータイムを計算する。本発明のいくつかの実施例では、ビジータイムは高プライオリティスレッドにより格納される。その後、プロセスは608に移行し、本発明のいくつかの実施例では、他の何れかの電力管理又はスケジューリング変更が、バックグラウンド対フォアグラウンドプロセスのユーザ入力及び/又は知識に基づき実行される必要があるか決定される。その後、プロセスは610においてプロセッサに他のスレッドを生成させ、612に移行する。612において、本発明のいくつかの実施例によると、プロセスは高プライオリティスレッドからウェイトオン信号をスケジューリングし、512において、高プライオリティスレッド500と通信するかもしれない。その後、プロセス600は614に移行してエンドし、必要に応じて繰り返されるかもしれない。
本発明の実施例によると、低プライオリティスレッド600は、例えば、OSスケジューラがプライオリティに基づきスケジュール順序を決定し、低プライオリティスレッドが、スリープ、レスト又は同様の低動作レベルに係る電力状態へのエントリの直前に続くとき、実行する機会を得るかもしれない。このため、それは、次の時間単位がOSアイドルハンドラにより利用され、電力状態へのエントリを生じさせる大変良好な指標となるかもしれない。同様に、高プライオリティスレッド500をすべてのソフトウェアアプリケーションスレッドの中で最も高いプライオリティにより実行させるかもしれないため、本発明の実施例によると、それは典型的には、すべてのハードウェア割込がサービスされた後に始めて実行する機会が与えられるであろう。本発明のいくつかの実施例によると、このプロセスの結果は、OSが電力状態を終了し、ユーザモードの実行が開始される時点の通知を与えるかもしれない。
すなわち、いくつかの実施例では、低プライオリティスレッドは、アイドル又は低電力状態へのエントリ直前に実行され、高プライオリティスレッドは、アイドル状態が終了するか、又は最も高い電力状態に到達したときに実行されてもよい。本発明のいくつかの実施例では、スレッドの何れか又は両方が、タスクを完了させると直ぐに他のスレッド引き継がれるかもしれない。これを実現する1つの方法は、オペレーティングシステムにより許可される最小時間の間、これらのスレッドをスリープ状態に置くことである。これは、次のタイマーの割り込みまでこれらのスレッドをスリープ状態に維持し、OSアイドルハンドラを含む他のスレッドに実行機会を与えるかもしれない。
本発明のいくつかの実施例では、ユーザモード実行の知識及び電力状態遷移若しくは他の動作の通知は、様々なアプリケーション実行モデルを決定及び最適化するのに大いに役立ちうる。例えば、本発明のいくつかの実施例では、スケジューラヘルパー管理アプリケーションは、OSスケジューラが典型的には知らない特定のアプリケーションに関する追加的な知識があるとき、複数存在する場合、特定のプロセスが実行されるべき時点と何れのプロセッサ/コア上で実行されるべきか決定するかもしれない。例えば、本発明の実施例では、アプリケーション管理コンソールはまたこの情報を利用して、共有プロセッサトポロジーの1つのプロセッサがアクティブ状態になったとき、便乗してバックグラウンドスレッドを実行するかもしれない。このタイプのインテリジェントなディスパッチ処理は、各プロセスをパラレルに実行することによって、パッケージ電力状態機会を最大化する。このタイプの技術は、共有された電圧レール実現形態を有するプロセッサにおいて特に有用であるかもしれない。
ここに記載された発明は、システム上で実行される各プロセスに関する追加的な特定の知識を取得し、パフォーマンス、ユーザの体感、電力消費などを効果的に向上させるため、これらのアプリケーションのスケジューリングを変更する管理アプリケーションにより実現可能である。
典型的には、プロセッサがアイドル状態であるときについて、またそれがアプリケーションコードを実行するのに利用されるべきときについての決定が、OSにより判断される。しかしながら、本発明の実施例によると、上記方法及び装置は、OSの外部のソフトウェアがCPUアイドルタイムを効果的に検出することを可能にするかもしれない。この技術は、このような手段が市販のオペレーティングシステムのトップに追加されることを可能にするかもしれない。
本発明の実施例は、ここでの関連する部分において説明された計算システム又は同様のマシーンによる本発明の実現を含む、当業者が本発明を実現することを可能にするのに十分な詳細さにより記載されるかもしれない。他の実施例が利用可能であり、本発明の範囲から逸脱することなく、構造的、論理的及び知能的な変更が可能であるかもしれない。
ここに記載及び図示された原理及び実施例に基づき、図示された実施例はこのような原理から逸脱することなく構成及び詳細において変更可能であることが認識されるであろう。例えば、1以上の実施例が、携帯電話、PDA、ラップトップコンピュータ、タブレットコンピュータ又は他の携帯処理システムなどのバッテリ駆動装置に関して説明されたが、本発明はこのようなシステムでの利用に限定されるものでなく、デスクトップコンピュータやサーバなどの他の多数のタイプのシステムにおいて効果的に利用可能である。従って、本発明のいくつかの実現形態又は実施例の主要な効果の1つは、ソフトウェアアプリケーションにプロセッサの電力状態の変更を認識させることによってバッテリ寿命を延長させるものであるが、他の実現形態又は実施例では、他の効果がより重要であるかもしれない。例えば、ノイズと熱の低減は、いくつかの実現形態又は実施例では主要な効果であるかもしれないが、他の実現形態又は実施例では、エネルギーコストの低下が主要な効果であるかもしれない。
本発明の他の実施例はまた、本発明の処理を実行するためのマシーンアクセス可能なメディア符号化を含む。このような実施例はまた、プログラムプロダクトと呼ばれるかもしれない。このようなマシーンアクセス可能なメディアは、限定されるものでないが、フロッピー(登録商標)ディスク、ハードディスク、CD−ROM、DVD、ROM、RAMなどの記憶媒体と共に、アンテナ、配線、光ファイバ、マイクロ波、無線波、他の磁気若しくは光搬送波などの通信媒体を含むかもしれない。このため、命令及び他のデータは、パケット、シリアルデータ、パラレルデータ、伝搬信号などの形態により伝送環境又はネットワークを介し送信され、分散環境において利用され、シングル又はマルチプロセッサマシーンによるアクセスのためローカル及び/又はリモートに格納されるかもしれない。
また、ここに示されるハードウェア及びソフトウェアコンポーネントは、それぞれが他のものから実質的に独立して設計、構成又は更新可能となるように、自己完結した機能要素を表す。他の実施例では、多くのコンポーネントは、ここに記載及び図示された機能を提供するハードウェア、ソフトウェア又はハードウェアとソフトウェアの組み合わせとして実現可能である。
さらに、異なるものであるが、本発明の各種実施例は必ずしも互いに排他的でないことが理解されるべきである。例えば、いくつかの実施例において記載される特定の特徴、構成又は特性は他の実施例に含まれるかもしれない。当業者は、上記説明から、本発明の実施例の技術が様々な形態により実現可能であることを理解することが可能である。このため、本発明の実施例が特定の具体例に関連して説明されたが、図面、明細書及び移行の請求項を参照することにより他の変形が当業者に明らかとなるため、本発明の実施例の真の範囲がそれに限定されるものでない。
Claims (20)
- 他のスレッドのうち実質的に最も高いプライオリティにおいてプロセッサにより実行される高プライオリティスレッドを生成するステップと、
他のスレッドのうち実質的に最も低いプライオリティにおいてプロセッサにより実行される低プライオリティスレッドを生成するステップと、
前記高プライオリティスレッドと前記低プライオリティスレッドとによりアクセス可能な共有メモリを生成するステップと、
を有する方法。 - 前記共有メモリに電力管理状態エントリ情報を格納するステップと、
前記共有メモリに電力管理状態イグジット情報を格納するステップと、
をさらに有する、請求項1記載の方法。 - 前記共有メモリにおける前記電力管理状態エントリ情報及び/又は前記電力管理状態イグジット情報を更新するステップをさらに有する、請求項2記載の方法。
- 前記高プライオリティスレッドは、
前記共有メモリに電力状態イグジットタイムを格納し、
前記電力状態イグジットタイムから電力状態エントリタイムを差し引くことによって、アイドルタイムを計算し、
実行準備状態に入るよう前記低プライオリティスレッドに通知し、
ウェイトオンタイマーイベントをスケジューリングする、
ことから構成される、請求項1記載の方法。 - 前記低プライオリティスレッドは、
前記共有メモリに電力状態エントリタイムを格納し、
前記電力状態エントリタイムから電力状態イグジットタイムを差し引くことによって、ビジータイムを計算し、
前記高プライオリティスレッドからウェイトオン信号状態をスケジューリングする、
ことから構成される、請求項1記載の方法。 - アクセスされるとマシーンに、
他のスレッドのうち実質的に最も高いプライオリティにおいてプロセッサにより実行される高プライオリティスレッドを生成するステップと、
他のスレッドのうち実質的に最も低いプライオリティにおいてプロセッサにより実行される低プライオリティスレッドを生成するステップと、
前記高プライオリティスレッドと前記低プライオリティスレッドとによりアクセス可能な共有メモリを生成するステップと、
を実行させる命令を有するマシーンアクセス可能な媒体。 - 前記命令はさらに、
前記共有メモリに電力管理状態エントリ情報を格納するステップと、
前記共有メモリに電力管理状態イグジット情報を格納するステップと、
を実行させる、請求項6記載のマシーンアクセス可能な媒体。 - 前記命令はさらに、前記共有メモリにおける前記電力管理状態エントリ情報及び/又は前記電力管理状態イグジット情報を更新するステップを実行させる、請求項7記載のマシーンアクセス可能な媒体。
- 前記高プライオリティスレッドは、
前記共有メモリに電力状態イグジットタイムを格納し、
前記電力状態イグジットタイムから電力状態エントリタイムを差し引くことによって、アイドルタイムを計算し、
実行準備状態に入るよう前記低プライオリティスレッドに通知し、
ウェイトオンタイマーイベントをスケジューリングする、
ことから構成される、請求項6記載のマシーンアクセス可能な媒体。 - 前記低プライオリティスレッドは、
前記共有メモリに電力状態エントリタイムを格納し、
前記電力状態エントリタイムから電力状態イグジットタイムを差し引くことによって、ビジータイムを計算し、
前記高プライオリティスレッドからウェイトオン信号状態をスケジューリングする、
ことから構成される、請求項6記載のマシーンアクセス可能な媒体。 - マシーンアクセス可能な媒体と、
前記マシーンアクセス可能な媒体に符号化される命令と、
を有する装置であって、
前記命令は、計算システムにおいて実行されると、計算システムに、
他のスレッドのうち実質的に最も高いプライオリティにおいてプロセッサにより実行される高プライオリティスレッドを生成するステップと、
他のスレッドのうち実質的に最も低いプライオリティにおいてプロセッサにより実行される低プライオリティスレッドを生成するステップと、
前記高プライオリティスレッドと前記低プライオリティスレッドとによりアクセス可能な共有メモリを生成するステップと、
を実行させる装置。 - 前記命令はさらに、
前記共有メモリに電力管理状態エントリ情報を格納するステップと、
前記共有メモリに電力管理状態イグジット情報を格納するステップと、
を実行させる、請求項11記載の装置。 - 前記命令はさらに、前記共有メモリにおける前記電力管理状態エントリ情報及び/又は前記電力管理状態イグジット情報を更新するステップを実行させる、請求項12記載の装置。
- 前記高プライオリティスレッドは、
前記共有メモリに電力状態イグジットタイムを格納し、
前記電力状態イグジットタイムから電力状態エントリタイムを差し引くことによって、アイドルタイムを計算し、
実行準備状態に入るよう前記低プライオリティスレッドに通知し、
ウェイトオンタイマーイベントをスケジューリングする、
ことから構成される、請求項11記載の装置。 - 前記低プライオリティスレッドは、
前記共有メモリに電力状態エントリタイムを格納し、
前記電力状態エントリタイムから電力状態イグジットタイムを差し引くことによって、ビジータイムを計算し、
前記高プライオリティスレッドからウェイトオン信号状態をスケジューリングする、
ことから構成される、請求項11記載の装置。 - マシーンアクセス可能な媒体と、
前記マシーンアクセス可能な媒体に応答するプロセッサと、
前記マシーンアクセス可能な媒体に符号化される命令と、
を有する計算システムであって、
前記命令は、前記プロセッサにより実行されると、
他のスレッドのうち実質的に最も高いプライオリティにおいてプロセッサにより実行される高プライオリティスレッドを生成するステップと、
他のスレッドのうち実質的に最も低いプライオリティにおいてプロセッサにより実行される低プライオリティスレッドを生成するステップと、
前記高プライオリティスレッドと前記低プライオリティスレッドとによりアクセス可能な共有メモリを生成するステップと、
を実行させる計算システム。 - 前記命令はさらに、
前記共有メモリに電力管理状態エントリ情報を格納するステップと、
前記共有メモリに電力管理状態イグジット情報を格納するステップと、
を実行させる、請求項16記載の計算システム。 - 前記命令はさらに、前記共有メモリにおける前記電力管理状態エントリ情報及び/又は前記電力管理状態イグジット情報を更新するステップを実行させる、請求項17記載の計算システム。
- 前記高プライオリティスレッドは、
前記共有メモリに電力状態イグジットタイムを格納し、
前記電力状態イグジットタイムから電力状態エントリタイムを差し引くことによって、アイドルタイムを計算し、
実行準備状態に入るよう前記低プライオリティスレッドに通知し、
ウェイトオンタイマーイベントをスケジューリングする、
ことから構成される、請求項16記載の計算システム。 - 前記低プライオリティスレッドは、
前記共有メモリに電力状態エントリタイムを格納し、
前記電力状態エントリタイムから電力状態イグジットタイムを差し引くことによって、ビジータイムを計算し、
前記高プライオリティスレッドからウェイトオン信号状態をスケジューリングする、
ことから構成される、請求項16記載の計算システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/316,541 US7689838B2 (en) | 2005-12-22 | 2005-12-22 | Method and apparatus for providing for detecting processor state transitions |
PCT/US2006/047033 WO2007078628A2 (en) | 2005-12-22 | 2006-12-08 | Method and apparatus for providing for detecting processor state transitions |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009520302A true JP2009520302A (ja) | 2009-05-21 |
Family
ID=38195320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008547289A Pending JP2009520302A (ja) | 2005-12-22 | 2006-12-08 | プロセッサ状態遷移を検出するための方法及び装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7689838B2 (ja) |
JP (1) | JP2009520302A (ja) |
KR (1) | KR101029414B1 (ja) |
CN (1) | CN101313284B (ja) |
DE (1) | DE112006003444B4 (ja) |
TW (1) | TWI336448B (ja) |
WO (1) | WO2007078628A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016147349A1 (ja) * | 2015-03-18 | 2016-09-22 | 株式会社日立製作所 | エネルギー管理システムおよび業務アプリケーションの実行方法 |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7689838B2 (en) | 2005-12-22 | 2010-03-30 | Intel Corporation | Method and apparatus for providing for detecting processor state transitions |
TWI474159B (zh) * | 2008-09-05 | 2015-02-21 | Via Tech Inc | 多處理器系統及其進入省電模式方法 |
WO2010060283A1 (zh) * | 2008-11-28 | 2010-06-03 | 上海芯豪微电子有限公司 | 一种数据处理的方法与装置 |
FR2941799B1 (fr) * | 2009-01-30 | 2011-03-04 | St Nxp Wireless France | Procede et systeme de gestion du fonctionnement d'un dispositif de traitement de donnees multicoeurs |
US8064197B2 (en) * | 2009-05-22 | 2011-11-22 | Advanced Micro Devices, Inc. | Heat management using power management information |
US8578384B2 (en) * | 2009-10-28 | 2013-11-05 | Freescale Semiconductor, Inc. | Method and apparatus for activating system components |
US9563250B2 (en) * | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US9176572B2 (en) | 2009-12-16 | 2015-11-03 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US8909962B2 (en) * | 2009-12-16 | 2014-12-09 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
US20110145559A1 (en) * | 2009-12-16 | 2011-06-16 | Thomson Steven S | System and method for controlling central processing unit power with guaranteed steady state deadlines |
US8650426B2 (en) * | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US8689037B2 (en) * | 2009-12-16 | 2014-04-01 | Qualcomm Incorporated | System and method for asynchronously and independently controlling core clocks in a multicore central processing unit |
US9128705B2 (en) * | 2009-12-16 | 2015-09-08 | Qualcomm Incorporated | System and method for controlling central processing unit power with reduced frequency oscillations |
US8775830B2 (en) * | 2009-12-16 | 2014-07-08 | Qualcomm Incorporated | System and method for dynamically controlling a plurality of cores in a multicore central processing unit based on temperature |
US8271812B2 (en) | 2010-04-07 | 2012-09-18 | Apple Inc. | Hardware automatic performance state transitions in system on processor sleep and wake events |
US20110252423A1 (en) | 2010-04-07 | 2011-10-13 | Apple Inc. | Opportunistic Multitasking |
US8468373B2 (en) | 2011-01-14 | 2013-06-18 | Apple Inc. | Modifying performance parameters in multiple circuits according to a performance state table upon receiving a request to change a performance state |
US8949637B2 (en) * | 2011-03-24 | 2015-02-03 | Intel Corporation | Obtaining power profile information with low overhead |
US9465427B2 (en) | 2011-06-30 | 2016-10-11 | International Business Machines Corporation | Software-centric power management by indirectly determining that user is not actively using computer program running on computing device |
WO2013014767A1 (ja) * | 2011-07-27 | 2013-01-31 | 富士通株式会社 | データ処理システム、およびスケジューリング方法 |
TWI556092B (zh) * | 2011-09-30 | 2016-11-01 | 英特爾公司 | 用以減少電力消耗之基於優先順序的應用程式事件控制技術 |
US9064253B2 (en) | 2011-12-01 | 2015-06-23 | Broadcom Corporation | Systems and methods for providing NFC secure application support in battery on and battery off modes |
US9207994B2 (en) | 2012-05-09 | 2015-12-08 | Intel Corporation | Scheduling tasks among processor cores |
CN102929381B (zh) * | 2012-10-22 | 2015-08-05 | 威盛电子股份有限公司 | 电子系统及其电源管理方法 |
US10007323B2 (en) | 2012-12-26 | 2018-06-26 | Intel Corporation | Platform power consumption reduction via power state switching |
US9336068B2 (en) * | 2013-06-07 | 2016-05-10 | Apple Inc. | Throttling of application access to resources |
US20160187958A1 (en) | 2014-12-24 | 2016-06-30 | Intel Corporation | Techniques for managing power and performance for a networking device |
CN104571462B (zh) * | 2014-12-30 | 2017-05-03 | 深圳先进技术研究院 | 电池功耗的控制方法和系统 |
US10275287B2 (en) * | 2016-06-07 | 2019-04-30 | Oracle International Corporation | Concurrent distributed graph processing system with self-balance |
US10462059B2 (en) | 2016-10-19 | 2019-10-29 | Intel Corporation | Hash table entries insertion method and apparatus using virtual buckets |
JP6927089B2 (ja) * | 2018-03-05 | 2021-08-25 | オムロン株式会社 | 制御装置、システムプログラム、制御方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5218704A (en) | 1989-10-30 | 1993-06-08 | Texas Instruments | Real-time power conservation for portable computers |
US5872913A (en) | 1997-03-07 | 1999-02-16 | International Business Machines Corporation | System and method for low overhead, high precision performance measurements using state transistions |
US6131166A (en) * | 1998-03-13 | 2000-10-10 | Sun Microsystems, Inc. | System and method for cross-platform application level power management |
US6308279B1 (en) * | 1998-05-22 | 2001-10-23 | Intel Corporation | Method and apparatus for power mode transition in a multi-thread processor |
KR100613201B1 (ko) | 2000-08-28 | 2006-08-18 | 마이크로코넥트 엘엘씨 | 씨피유 사용량 측정 방법 |
US6622253B2 (en) * | 2001-08-02 | 2003-09-16 | Scientific-Atlanta, Inc. | Controlling processor clock rate based on thread priority |
EP1497726A2 (en) * | 2002-01-24 | 2005-01-19 | Koninklijke Philips Electronics N.V. | Executing processes in a multiprocessing environment |
US7191349B2 (en) * | 2002-12-26 | 2007-03-13 | Intel Corporation | Mechanism for processor power state aware distribution of lowest priority interrupt |
US7013400B2 (en) * | 2003-04-24 | 2006-03-14 | International Business Machines Corporation | Method for managing power in a simultaneous multithread processor by loading instructions into pipeline circuit during select times based on clock signal frequency and selected power mode |
JP4164662B2 (ja) * | 2003-06-10 | 2008-10-15 | 日本電気株式会社 | 携帯端末およびgps時刻維持方法 |
US7617488B2 (en) | 2003-12-30 | 2009-11-10 | Intel Corporation | Method and apparatus and determining processor utilization |
US7272741B2 (en) * | 2004-06-02 | 2007-09-18 | Intel Corporation | Hardware coordination of power management activities |
US7689838B2 (en) | 2005-12-22 | 2010-03-30 | Intel Corporation | Method and apparatus for providing for detecting processor state transitions |
-
2005
- 2005-12-22 US US11/316,541 patent/US7689838B2/en active Active
-
2006
- 2006-12-08 WO PCT/US2006/047033 patent/WO2007078628A2/en active Application Filing
- 2006-12-08 JP JP2008547289A patent/JP2009520302A/ja active Pending
- 2006-12-08 KR KR1020087015001A patent/KR101029414B1/ko not_active IP Right Cessation
- 2006-12-08 CN CN2006800434057A patent/CN101313284B/zh not_active Expired - Fee Related
- 2006-12-08 DE DE112006003444T patent/DE112006003444B4/de not_active Expired - Fee Related
- 2006-12-12 TW TW095146445A patent/TWI336448B/zh not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016147349A1 (ja) * | 2015-03-18 | 2016-09-22 | 株式会社日立製作所 | エネルギー管理システムおよび業務アプリケーションの実行方法 |
JPWO2016147349A1 (ja) * | 2015-03-18 | 2017-07-20 | 株式会社日立製作所 | エネルギー管理システムおよび業務アプリケーションの実行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101313284B (zh) | 2011-04-20 |
DE112006003444T5 (de) | 2008-10-23 |
WO2007078628A2 (en) | 2007-07-12 |
KR20080079276A (ko) | 2008-08-29 |
US7689838B2 (en) | 2010-03-30 |
TW200813842A (en) | 2008-03-16 |
WO2007078628A3 (en) | 2008-02-07 |
CN101313284A (zh) | 2008-11-26 |
DE112006003444B4 (de) | 2012-12-27 |
TWI336448B (en) | 2011-01-21 |
US20070150759A1 (en) | 2007-06-28 |
KR101029414B1 (ko) | 2011-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009520302A (ja) | プロセッサ状態遷移を検出するための方法及び装置 | |
US10664039B2 (en) | Power efficient processor architecture | |
US7814485B2 (en) | System and method for adaptive power management based on processor utilization and cache misses | |
US9904346B2 (en) | Methods and apparatus to improve turbo performance for events handling | |
US7346787B2 (en) | System and method for adaptive power management | |
US8977880B2 (en) | Method for managing power supply of multi-core processor system involves powering off main and slave cores when master bus is in idle state | |
TWI477945B (zh) | 用以控制處理器之渦輪加速模式頻率的方法、及能夠控制其之渦輪加速模式頻率的處理器 | |
US20090158067A1 (en) | Saving power in a computer system | |
US20060053326A1 (en) | Coordinating idle state transitions in multi-core processors | |
US20120284729A1 (en) | Processor state-based thread scheduling | |
EP2972826B1 (en) | Multi-core binary translation task processing | |
GB2536825A (en) | Power efficient processor architecture | |
JP2017021811A (ja) | 電力効率の優れたプロセッサアーキテクチャ | |
JP2016212907A (ja) | 電力効率の優れたプロセッサアーキテクチャ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110523 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110621 |