JP2011118871A - イベント処理のためのターボ性能を向上させる方法および装置 - Google Patents

イベント処理のためのターボ性能を向上させる方法および装置 Download PDF

Info

Publication number
JP2011118871A
JP2011118871A JP2010209897A JP2010209897A JP2011118871A JP 2011118871 A JP2011118871 A JP 2011118871A JP 2010209897 A JP2010209897 A JP 2010209897A JP 2010209897 A JP2010209897 A JP 2010209897A JP 2011118871 A JP2011118871 A JP 2011118871A
Authority
JP
Japan
Prior art keywords
processor element
processor
task
performance loss
performance
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
JP2010209897A
Other languages
English (en)
Other versions
JP5406149B2 (ja
Inventor
Ryan D Wells
ディー. ウェルス、ライアン
Ohad Falik
ファリク、オハド
Jose P Allarey
ピー. アラレイ、ジョセ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2011118871A publication Critical patent/JP2011118871A/ja
Application granted granted Critical
Publication of JP5406149B2 publication Critical patent/JP5406149B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • 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/3246Power saving characterised by the action undertaken by software initiated power-off
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

【課題】マルチコアプロセッサにおけるタスクおよびイベント処理のための性能を向上させる。
【解決手段】装置160は、複数のプロセッサ要素131−134とタスクルーティングロジック130とプロセッサ要素を制御して、少なくとも1つのアクティブプロセッサ要素を、少なくとも1つの他のプロセッサ要素がアイドルである場合に、より高い周波数で動作させるターボモードロジック140を含む。プロセッサ要素の少なくとも1つがターボモードにある場合には、タスクルーティングロジックは、性能損失の比較に少なくとも基づいて、タスク101を実行するプロセッサ要素を選択する。
【選択図】図1

Description

本発明の実施形態は、割り込みイベント処理に係り、より具体的には本発明の実施形態はイベント処理性能の向上に係る。
マルチコアプロセッサにおいては、プロセッサコアを制御して、利用可能な電力のヘッドルームを利用して性能を最大化することが望ましいと思われる。特定のワークロードの処理に全てのプロセッサコアを利用する必要がない状況においては、アイドル状態にあるコアを停止して、アクティブ状態にある他のコアに対して電力をチャネリングする。アクティブ状態にあるコアは通常、より高い周波数において動作することによってターボモードへと遷移する。
マルチコアプロセッサにおけるタスクおよびイベント処理アルゴリズムは一般的に疑似ランダムであり、特定のコアがターボモードで動作するときの影響を考慮しない。この結果、システム性能全体に影響が及ぶことになる。
本発明の実施形態は、以下の詳細な説明を、本発明の様々な実施形態の添付図面とともに読むことでよりよく理解されるが、図面は本発明を特定の実施形態に制限する意図で捉えられるべきではなく、説明および理解を促す目的のみから示されていることを理解されたい。
割り込みイベントに応じてタスクを実行するプロセッサ要素を選択する装置を含むコンピュータシステムの一実施形態を示す。 割り込みイベントに応じてタスクを実行するプロセッサ要素を選択する処理の一実施形態のフロー図を示す。 本発明の一実施形態とともに利用されるコンピュータシステムを示す。 本発明の一実施形態とともに利用されるポイントツーポイントコンピュータシステムを示す。
イベント処理のための性能を向上させる装置の実施形態を示す。一実施形態では、装置は、複数のプロセッサ要素とタスクルーティングロジックとを含む。プロセッサ要素の少なくとも1つがターボモードにある場合には、タスクルーティングロジックは、性能損失の比較に少なくとも基づいて、タスクを実行するプロセッサ要素を選択する。
以下の記載において、多くの特定の詳細を示して本発明の実施形態の完全な理解を促す。しかし、本発明の実施形態がこれら特定の詳細がなくても実施可能であることは当業者であれば理解するところである。また一方で、公知の構造およびデバイスは詳細を示すのではなく、ブロック図という形態で示すことで、本発明の実施形態を曖昧にしないようにしている。
また一方で、例えばマイクロプロセッサアーキテクチャ、仮想マシンモニタ、電力制御、クロックゲーティング、および公知のロジックの動作の詳細等の公知のコンポーネントまたは方法は詳細に示さないことで本発明を不当に曖昧にしないようにしている。
しかし、これらおよび類似する用語の全ては、適切な物理量と関連付けられるべきものであり、便宜上の符号に過ぎないことを理解されたい。そうではないと明記しない限り、以下の説明から明らかとなるように、「処理(processing)」、「コンピューティング/計算(computing)」、「計算(calculating)」、「決定/判断(determining)」、「表示(displaying)」等の用語を用いて記載される本明細書の説明は、コンピュータシステムのレジスタおよび/またはメモリの物理(電子)量で表されるデータを、コンピュータシステムのメモリ、レジスタ、その他の同様の情報記憶、送信、または表示デバイス内の物理量として同様に表される他のデータに操作および/または変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスの動作および/または処理のことを示している。
本発明の実施形態はさらに、ここで記載される動作を実行する装置に関する。装置のなかには、所望の目的に特別に構築されるものもあれば、コンピュータに格納されているコンピュータプログラムにより選択的に起動または再構成される汎用コンピュータを含むものもある。これらコンピュータプログラムは、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、DVD−ROM、光磁気ディスク等の任意の種類のディスク、ROM、RAM、EPROM、EEPROM(登録商標)、NVRAM、磁気カードまたは光カード、あるいは電子命令を格納し、各々がコンピュータシステムバスに連結された任意の種類の媒体を含むがこれらに限定されないコンピュータ可読記憶媒体に格納することができる。
ここで記載する方法および装置は、イベント処理用にプロセッサ要素を選択する目的に利用される。特に、イベント処理用にプロセッサ要素を選択することは、主に、マルチコアプロセッサコンピュータシステムとの関連で記載される。しかしながら、イベント処理用にプロセッサ要素を選択する方法および装置はこれに限定されず、任意の集積回路デバイスまたはシステム(例えば、セルラー式電話機、携帯情報端末(PDA)、埋め込みコントローラ、モバイルプラットフォーム、デスクトッププラットフォーム、およびサーバプラットフォーム)上に、またはこれらと関連付けて実装することもでき、並びに、コア、ハードウェアスレッド、ソフトウェアスレッド、または論理プロセッサ、アクセラレータコア、その他のプロセッサリソースと協同させて実装することもできる。加えて、イベント処理用のプロセッサ要素の選択は、ハードウェア上で実行されているオペレーティングシステムまたはハイパーバイザ等の任意のハードウェア/ソフトウェア環境で行うことができる。
<概略>
イベント処理のための性能を向上させる装置の実施形態を示す。一実施形態では、装置は、複数のプロセッサ要素とタスクルーティングロジックとを含む。プロセッサ要素の少なくとも1つがターボモードにある場合には、タスクルーティングロジックが、性能損失の比較に少なくとも基づいて、タスクを実行するプロセッサ要素を選択する。
図1は、イベントに応じてタスクを実行するプロセッサ要素を選択する装置を含むコンピュータシステムの一実施形態を示す。バスおよび周辺装置等の多くの関連コンポーネントは示さないことで、本発明を曖昧にしないように示している。図1を参照すると、一実施形態では、プロセッサ160は性能計算ロジック110、タスクルーティングロジック130、ターボモードロジック140、および、プロセッサ要素131−134等の複数のプロセッサ要素を含む。一実施形態では、性能計算ロジックはさらにメモリ111を含む。
一実施形態では、プロセッサ要素は、プロセッサ160の他の共有リソース(例えば、保留ユニット、実行ユニット、より高レベルのキャッシュ、メモリ等)へのアクセスを共有するスレッド、処理(process)、コンテキスト、論理プロセッサ、ハードウェアスレッド、コア、アクセラレータコア、または、任意のプロセッサ要素を含む。一実施形態では、プロセッサ要素はスレッドユニット(つまり、ソフトウェアスレッドでの実行が独立してスケジュールされている命令を有することのできる要素のこと)である。一実施形態では、物理プロセッサは、任意の数の他のプロセッサ要素(例えばコアまたはハードウェアスレッド)を含む集積回路である。
一実施形態では、コアは、別のコアに関して独立したアーキテクチャ状態を維持することのできる集積回路に設けられるロジックである。各々独立して維持されるアーキテクチャ状態は、少なくとも一部の専用実行リソースと関連付けられる。一実施形態では、ハードウェアスレッドは、別のハードウェアスレッドに関して独立したアーキテクチャ状態を維持することのできる集積回路に設けられるロジックである。各々独立して維持されるハードウェアスレッドは、実行リソースへのアクセスを共有する。一部の実施形態では、コアおよびハードウェアスレッドは互換性を有する。一実施形態では、コアまたはハードウェアスレッドをプロセッサ要素とも称する。
一実施形態では、ハードウェアスレッド、コア、またはプロセッサ要素は、オペレーティングシステムまたは管理ソフトウェアから、個々の論理プロセッサとしてみなされる。ソフトウェアプログラムは、各論理プロセッサ上で動作を個々にスケジュールすることができる。加えて、一部の実施形態では、各コアが、複数のソフトウェアスレッドを実行する複数のハードウェアスレッドを含む。
一実施形態では、ハイパーバイザ(不図示)が、ソフトウェア(例えば仮想マシン)とハードウェアリソース(例えばプロセッサ160)との間のインタフェースを提供する。一実施形態では、ハイパーバイザは、複数の仮想マシンが並行に独立して実行可能となるようにハードウェアを抽象化(abstract)する。一実施形態では、仮想マシンは、例えばタスク、ユーザレベルのアプリケーション、ゲストソフトウェア、オペレーティングシステム、別の仮想マシン、仮想マシンモニタ、他の実行可能コード、あるいは任意のこれらの組み合わせといったプログラムに対してソフトウェア実行環境を提供する。一実施形態では、ハイパーバイザは、異なるプログラムに対してハードウェアリソース(例えばコア、ハードウェアスレッド、プロセッサ要素)を割り当てる。
一実施形態ではコンピュータシステムは、インターコネクトを介して信号を送受信する入出力(I/O)バッファを含む。このインターコネクトの例には、GTL(gunning transceiver logic)バス、GTL+バス、DDR(double data rate)バス、ポンプバス(pumped bus)、差動バス、キャッシュコヒーレントバス、ポイントツーポイントバス、マルチドロップバス、または、任意の公知のバスプロトコルが実装された他の公知のインターコネクトが含まれる。
一実施形態では、コンピュータシステムおよび特にプロセッサ160は異なる電力状態(例えばC2状態およびC3状態)を、電力制御インタフェース(ACPI)仕様(ACPI仕様、3.0b改定版、2006年10月10日参照)に従ってサポートする。一実施形態では、スリープ状態(例えばC2状態およびC3状態)はさらにアイドル状態とも称される。一実施形態では、アイドル状態にあるプロセッサ要素はスリープコア、アイドルコア、あるいは非アクティブコアとも称される。一実施形態では、電力ゲートは、アイドルプロセッサ要素への電力供給を遮断する。アイドルプロセッサ要素は、起こされることでプログラムの実行を再開する。
一実施形態では、ターボモードロジック140は、プロセッサ要素131−134を制御して、少なくとも1つのアクティブプロセッサ要素を、少なくとも1つの他のプロセッサ要素がアイドルである場合に、より高い周波数で動作させる。この結果、利用可能な電力および熱のヘッドルームがアクティブプロセッサ要素により利用されて、システムの性能全体が増加または向上する。一実施形態では、このような動作モードをターボモードと称する。ターボモードの間は、ターボモードロジック140が1以上のアイドルプロセッサ要素の電力および熱のヘッドルームを1以上のアクティブプロセッサ要素に再配分して、該1以上のアクティブプロセッサ要素の動作周波数を増加させる。
一実施形態では、プロセッサをターボモードへと、あるいはターボモードから遷移させる(例えば、より高い性能レベルへと、またはより低い性能レベルへと遷移させる)ファクタを、イベントと称する。一実施形態では、イベントは、プロセッサ要素131−134に再ルーティグ可能な割り込みイベントである。一実施形態では、プロセッサ160は一部の対応するタスクまたはサービスをイベントに応じて実行する。一実施形態では、割り込みイベントは、例えばディスクドライブ、ネットワークカード、および入出力デバイス等のデバイスから生じる。
一実施形態では、処理計算ロジック110が、イベント処理における性能損失を計算する。一実施形態では、プロセッサ160は、イベント処理に応じて1つのタスクまたは複数のタスクを実行することから、ワークロードの完了にさらに時間を要する。一実施形態では性能損失を百分率で表す。例えば、ワークロードの実行時間が10msである場合、10%の性能損失によって、ワークロードの完了には11.1ms(つまり10ms/(1−0.10))が必要となる。
一実施形態では、プロセッサ160がターボモードの間に、タスクルーティングロジック130は(イベントの結果)タスク101を受信する。一実施形態では、例えば、プロセッサ要素131は、プロセッサ要素132がアイドルモードにある間、ターボモードにある。一実施形態では、ターボルーティングロジック130は、異なるプロセッサ要素からタスク101を完了するプロセッサ要素(アクティブプロセッサ要素、スリーププロセッサ要素のいずれであってもよい)を選択することに関する性能損失に基づいて、プロセッサ要素のいずれか1つを選択する。
一実施形態では、アイドルプロセッサ要素がタスク101実行に利用される場合の性能損失のことを、WPL(Waking Performance Loss)と称する。一実施形態では、アクティブプロセッサ要素(ターボモードにある)は、より低い動作周波数へと遷移して、スリーププロセッサ要素を起こすべく電力をチャネリングする。一実施形態では、性能計算ロジックは、アクティブプロセッサ要素が実行中のプログラムのスケーラビリティファクタおよびアクティブプロセッサ要素に関する動作周波数の低下に基づいてWPLを決定する。当業者であれば、他のファクタおよびそれらの組み合わせを用いてWPLを決定することができることを理解する。
一実施形態では、周波数スケーラビリティファクタは、周波数の増加(あるいは低下)を、特定のワークロードの性能の増加(または低下)に変換するときに利用される比率である。例えば、動作周波数が10%増加すると性能が10%増加するようなワークロードは、スケーラビリティファクタ1に相当する。また例えば、動作周波数が1%低下すると性能が0.75%低下するようであれば、スケーラビリティファクタ0.75に相当する。
一実施形態では、メモリ111は、アクティブプロセッサ要素が実行中のプログラムの周波数スケーラビリティファクタに関する情報を格納する。一実施形態では、メモリ111は、アクティブプロセッサ要素がターボモードから遷移して退出したときの動作周波数の低下に関する情報を格納する。一実施形態では、この情報はモニタロジック(不図示)が収集し、現在の値を予測/推定する平均履歴値を含む。
一実施形態では、アクティブプロセッサ要素を利用してタスク101を実行するときの性能損失は、APL(Active Performance Loss)と称される。一実施形態では、性能計算ロジック110は、(イベントに応じて)タスク101を実行する処理時間の量およびアクティブプロセッサ要素が実行中のプログラムに関する利用率の値に基づいてAPLを決定する。一実施形態では、イベント処理にかかる処理時間をプログラムワークロードの全ランタイムで除算して得られた値に基づいてAPLを決定する。当業者であれば、他のファクタおよびそれらの組み合わせを用いてAPLを決定することができることを理解する。
一実施形態では、メモリ111は、イベント処理に係る処理時間の量に関する情報を格納する。一実施形態では、この情報はモニタロジック(不図示)が収集し、現在の値を予測/推定する平均履歴値を含む。一実施形態では、モニタロジックはさらに、アクティブプロセッサ要素が実行中のプログラムに関する利用率の値を提供する。
一実施形態では、プロセッサ160がターボモードにある場合、タスクルーティングロジック130が、潜在的な性能損失の比較に基づいて、イベントを処理するプロセッサ要素を決定する。一実施形態では、タスクルーティングロジック130は、プロセッサ160(あるいはプロセッサ要素131−134のいずれか)がターボモードにあるか否かを、ターボモードロジック140からの情報に基づいて判断する。
一実施形態では、WPLがAPLよりも小さい場合、タスクルーティングロジック130は、アイドルプロセッサ要素をイベント処理用に選択する。さもなくば、タスクルーティングロジック130はイベントを、(現在ターボモードにある)アクティブプロセッサ要素に送る。
一実施形態では、プロセッサ要素は、出口レイテンシーがより小さく節電効果が中間であるような浅いC状態(例えばACPIのC1状態)から、出口レイテンシーがより長くより高い節電効果が行われるような深いC状態(例えばACPIのC3状態)にわたる範囲の様々なスリープ状態での動作が可能である。従って、WPLおよびAPLを含む性能損失の判断は、スリープコアのC状態によって異なる。一実施形態では、プロセッサ要素を深いC状態から起こすことは、プロセッサ要素を浅いC状態から起こすことよりも、高価である(従ってより高い性能損失を生じる)。
図2は、割り込みイベントに応じてタスクを実行する(プロセッサの)プロセッサ要素を選択する処理の一実施形態のフロー図を示す。処理は、ハードウェア(回路、専用ロジック等)、ソフトウェア(例えば汎用コンピュータシステムまたは専用マシンで実行されるようなもの)、あるいはこれら両方の組み合わせを含みうる処理ロジックが実行する。一実施形態では、処理は、コントローラ(図1のタスクルーティングロジック130)と協同して実行される。一実施形態では、処理は図3のコンピュータシステムが実行する。
図2を参照すると、一実施形態では、処理ロジックは、再ルーティング可能イベントを受信することから開始される(処理ブロック200)。処理ロジックは、イベントに応じてタスクまたはサービスを実行する。
一実施形態では、処理ロジックは、(プロセッサの)プロセッサ要素のいずかがターボモードで動作しているか否かを判断する(処理ブロック210)。一実施形態では、いずれのプロセッサ要素もターボモードで動作していない場合には、処理ロジックは、イベントを処理するプロセッサ要素を任意に選択する(処理ブロック241)。別の実施形態では、いずれのプロセッサ要素もターボモードで動作していない場合には、処理ロジックは、節電モードにあるプロセッサ要素(例えばスリープコア)を選択して、イベントを処理させる。
一方、プロセッサ要素のいずれかがターボモードにある場合には、一実施形態では、処理ロジックは、潜在的な性能損失を決定する。
一実施形態では、処理ロジックは、アイドルプロセッサ要素を利用してタスクを実行するときのWPL(Waking Performance Loss)を決定する(処理ブロック220)。一実施形態では、処理ロジックは、アクティブプロセッサ要素が実行中のプログラムの周波数スケーラビリティファクタおよびアクティブプロセッサ要素に関する動作周波数の低下に基づいてWPLを決定する。
一実施形態では、処理ロジックは、アクティブプロセッサ要素を利用してタスクを実行するときのAPL(Active Performance Loss)を決定する(処理ブロック221)。一実施形態では、処理ロジックは、タスクを実行する処理時間の量およびアクティブプロセッサ要素が実行中のプログラムに関する利用率の値に基づいてAPLを決定する。
一実施形態では、処理ロジックは、WPLとAPLとを比較する(処理ブロック230)。一実施形態では、WPLがAPLより小さい場合、処理ロジックは、アイドルプロセッサ要素を選択してタスクを実行させる(処理ブロック242)。さもなくば、処理ロジックは、ターボモードにあるアクティブプロセッサ要素を選択してタスクを実行させる(処理ブロック243)。
本発明の実施形態は、様々な電子デバイスおよび論理回路での実装が可能である。さらに、本発明の実施形態を含むデバイスおよび回路は、様々なコンピュータシステムに組み込むことができる。本発明の実施形態はさらに、他のコンピュータシステムトポロジーおよびアーキテクチャに組み込むことができる。
例えば図3は、本発明の一実施形態とともに利用されるコンピュータシステムを示す。プロセッサ705は、レベル1(L1)キャッシュメモリ706、レベル2(L2)キャッシュメモリ710、およびメインメモリ715からのデータにアクセスする。本発明の他の実施形態では、キャッシュメモリ706は、マルチレベルキャッシュメモリであってよく、コンピュータシステムメモリ階層構造においてL1キャッシュとL2キャッシュ等の他のメモリとを含み、キャッシュメモリ710は、L3キャッシュまたはよりマルチレベルなキャッシュ等の、より低レベルの後続するキャッシュメモリである。さらに、他の実施形態では、コンピュータシステムは、複数のプロセッサコア用の共有キャッシュとして、キャッシュメモリ710を有することができる。
プロセッサ705は、任意の数のプロセッサコアを有することができる。しかし本発明の他の実施形態は、システムの他のデバイス内に実装することができ、または、システム全体にハードウェア、ソフトウェア、あるいはこれらのうちの組み合わせのいずれかとして分散させることもできる。一実施形態では、プロセッサ705は、例えば図1のタスクルーティングロジック130等のコンポーネントに類似したロジックを含む。
メインメモリ715は、DRAM,HDD720、NVRAM技術に基づく固体ディスク725、または、ネットワークインタフェース730を介して、または、様々な記憶デバイスおよび技術を含むワイヤレスインタフェース740を介してコンピュータシステムから遠隔に位置するメモリソース等の様々なメモリリソースに実装可能である。キャッシュメモリは、プロセッサ内、または、プロセッサに近接した位置(例えばプロセッサのローカルバス707上)に設けることができる。さらにキャッシュメモリは、6つのトランジスタ(6T)セルまたは、これと略等しい、または、これよりアクセススピードの速い他のメモリセル等の比較的高速のメモリセルを含んでよい。
しかし本発明の他の実施形態は、図3のシステム内の他の回路、論理ユニット、またはデバイスに設けることもできる。さらに、本発明の他の実施形態は、図3に示す複数の回路、論理ユニット、またはデバイスに分散させることもできる。
同様に、少なくとも1つの実施形態をポイントツーポイントコンピュータシステム内に実装することができる。例えば図4は、ポイントツーポイント(PtP)構成のコンピュータシステムを示す。特に図4のシステムでは、プロセッサ、メモリ、入出力デバイスが複数のポイントツーポイントインタフェースで相互接続されている。
図4のシステムは、さらに複数のプロセッサを含んでよく、このうち、2つのみ(プロセッサ870、880)が明瞭化を目的として示されている。プロセッサ870、880は、各々、メモリ850、851と接続するローカルメモリコントローラハブ(MCH)811、821を含んでよい。プロセッサ870、880は、ポイントツーポイント(PtP)インタフェース回路812、822を利用してPtPインタフェース853を介してデータを交換してよい。プロセッサ870、880は、各々、ポイントツーポイントインタフェース回路813、823、860、861を利用してPtPインタフェース830、831を個々に介してチップセット890とデータを交換してよい。チップセット890はさらに、高性能グラフィックインタフェース862を介して高性能グラフィック回路852とデータを交換してよい。本発明の実施形態は、コンピュータバス(834または835)に連結されることも、チップセット890内に設けられることも、あるいは、データ記憶装置875と連結されることも、あるいは、図4のメモリ850に連結されることもできる。
しかし本発明の他の実施形態は、図4のシステム内の他の回路、論理ユニット、またはデバイスに設けることもできる。さらに、本発明の他の実施形態は、図4に示す複数の回路、論理ユニット、またはデバイスに分散させることもできる。
本発明は記載された実施形態に限定されず、添付請求項の精神および範囲内における変形および変更を行うことで実行することができる。例えば、本発明は、全ての種類の半導体集積回路(IC)チップに対する用途に利用可能であることを理解されたい。これらICチップの例には、プロセッサ、コントローラ、チップセットコンポーネント、プログラム可能な論理アレイ(PLA)、メモリチップ、ネットワークチップ等が含まれ、これらに限定はされない。さらに、サイズ、モデル、値、範囲について例示してきた場合であっても、本発明の実施形態がこれらに限定されるとうい意味ではないことを理解されたい。製造技術(例えばフォトリソグラフィー技術)の将来の進歩如何によって、より小型のデバイスが製造可能となることが予期される。
以上の記載を読んだ当業者が本発明の実施形態の変形例および変更例を想到するであろうことは疑いがないので、例示された特定の実施形態のいずれをも限定として捉えることは適切ではないことを理解されたい。従って、様々な実施形態の詳細についての言及は、発明の核心部分とみなされる特徴のみを記載する性質の請求項の範囲を限定する意図はない。

Claims (16)

  1. 第1のプロセッサ要素と、
    第2のプロセッサ要素と、
    前記第1のプロセッサ要素および前記第2のプロセッサ要素のうち少なくとも1つがターボモードにある場合に、性能損失の比較に少なくとも基づいて、前記第1のプロセッサ要素および前記第2のプロセッサ要素のうちタスクを実行するプロセッサ要素を選択するタスクルーティングロジックと
    を備える装置。
  2. 前記タスクルーティングロジックに連結されて、前記第1のプロセッサ要素が実行中のプログラムの周波数スケーラビリティファクタに関する情報を格納するメモリをさらに備える請求項1に記載の装置。
  3. 前記第1のプロセッサ要素が実行中のプログラムの周波数スケーラビリティファクタと、前記第1のプロセッサ要素に関する動作周波数の低下とに基づいて、性能損失を決定する性能計算ロジックをさらに備える請求項1に記載の装置。
  4. 前記タスクの実行期間と、前記第1のプロセッサ要素が実行中のプログラムに関する利用率の値とに基づいて、性能損失を決定する性能計算ロジックをさらに備える請求項1に記載の装置。
  5. 前記タスクルーティングロジックは、前記第1のプロセッサ要素の選択および前記第2のプロセッサ要素の選択のそれぞれに関する第1の性能損失および第2の性能損失のうち、小さいほうの性能損失を選択する請求項1に記載の装置。
  6. 前記第2のプロセッサ要素がアイドルであり、前記第2のプロセッサ要素が前記タスクを実行するよう選択された場合、前記第1のプロセッサ要素の動作周波数が低下する請求項1に記載の装置。
  7. 前記ターボモードにある前記第1のプロセッサ要素は、前記第1のプロセッサ要素が、前記第2のプロセッサ要素がアイドルであることに起因してより多く受電する場合、通常モードにあるプロセッサ要素よりも高い周波数で動作する請求項1に記載の装置。
  8. 前記タスクは、前記第1のプロセッサ要素または前記第2のプロセッサ要素のいずれかが実行可能な再ルーティング可能イベントである請求項1に記載の装置。
  9. 第1のプロセッサ要素および第2のプロセッサ要素を含む複数のプロセッサ要素と、
    前記複数のプロセッサ要素のうち少なくとも1つがターボモードにある場合に、前記第1のプロセッサ要素および前記第2のプロセッサ要素のうちタスクを実行するプロセッサ要素を選択するタスクルーティングロジックと、
    前記タスクルーティングロジックに連結されて、前記複数のプロセッサ要素が実行するプログラムを格納するメモリと
    を備えるシステム。
  10. 前記第1のプロセッサ要素が実行中のプログラムの周波数スケーラビリティファクタと、前記第1のプロセッサ要素に関する動作周波数の低下とに基づいて、性能損失を決定する性能計算ロジックをさらに備える請求項9に記載のシステム。
  11. 前記タスクの実行期間と、前記第1のプロセッサ要素が実行中のプログラムに関する利用率の値とに基づいて、性能損失を決定する性能計算ロジックをさらに備える請求項9に記載のシステム。
  12. 前記タスクルーティングロジックは、前記第1のプロセッサ要素の選択および前記第2のプロセッサ要素の選択のそれぞれに関する第1の性能損失および第2の性能損失のうち、小さいほうの性能損失を選択する請求項9に記載のシステム。
  13. 複数のプロセッサ要素のいずれかがターボモードで動作しているか否かを判断する段階と、
    前記複数のプロセッサ要素のうち少なくとも1つが前記ターボモードにある場合に、性能損失の比較に少なくとも基づいて、第1のプロセッサ要素にタスクを実行させるよう選択する段階と
    を備える方法。
  14. 前記第1のプロセッサ要素が実行中のプログラムの周波数スケーラビリティファクタと、前記第1のプロセッサ要素に関する動作周波数の低下とに基づいて、性能損失を決定する段階をさらに備える請求項13に記載の方法。
  15. 前記タスクの平均実行期間と、前記第1のプロセッサ要素が実行中のプログラムに関する利用率の値とに基づいて、性能損失を決定する段階をさらに備える請求項13に記載の方法。
  16. 前記第1のプロセッサ要素の選択に関する第1の性能損失が、スリープ状態にある第2のプロセッサ要素を起こすことに関する第2の性能損失よりも低い場合、アクティブプロセッサ要素である前記第1のプロセッサ要素に前記タスクを実行させるよう選択する段階をさらに備える請求項13に記載の方法。
JP2010209897A 2009-12-03 2010-09-17 イベント処理のためのターボ性能を向上させる方法および装置 Active JP5406149B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/630,438 2009-12-03
US12/630,438 US9098274B2 (en) 2009-12-03 2009-12-03 Methods and apparatuses to improve turbo performance for events handling

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013226877A Division JP6074351B2 (ja) 2009-12-03 2013-10-31 イベント処理のためのターボ性能を向上させる方法および装置

Publications (2)

Publication Number Publication Date
JP2011118871A true JP2011118871A (ja) 2011-06-16
JP5406149B2 JP5406149B2 (ja) 2014-02-05

Family

ID=43972569

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010209897A Active JP5406149B2 (ja) 2009-12-03 2010-09-17 イベント処理のためのターボ性能を向上させる方法および装置
JP2013226877A Active JP6074351B2 (ja) 2009-12-03 2013-10-31 イベント処理のためのターボ性能を向上させる方法および装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2013226877A Active JP6074351B2 (ja) 2009-12-03 2013-10-31 イベント処理のためのターボ性能を向上させる方法および装置

Country Status (5)

Country Link
US (3) US9098274B2 (ja)
JP (2) JP5406149B2 (ja)
CN (4) CN104239152B (ja)
DE (1) DE102010045743B4 (ja)
TW (3) TWI420393B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101624061B1 (ko) * 2011-09-06 2016-05-24 인텔 코포레이션 전력 효율적 프로세서 아키텍처

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling
US20120144218A1 (en) * 2010-12-03 2012-06-07 International Business Machines Corporation Transferring Power and Speed from a Lock Requester to a Lock Holder on a System with Multiple Processors
US8862918B2 (en) * 2011-07-01 2014-10-14 Intel Corporation Efficient frequency boost operation
CN104115091B (zh) 2011-12-30 2017-12-26 英特尔公司 多层级cpu高电流保护
US9436245B2 (en) 2012-03-13 2016-09-06 Intel Corporation Dynamically computing an electrical design point (EDP) for a multicore processor
CN104169832B (zh) 2012-03-13 2017-04-19 英特尔公司 提供处理器的能源高效的超频操作
WO2013137862A1 (en) 2012-03-13 2013-09-19 Intel Corporation Dynamically controlling interconnect frequency in a processor
US9250869B1 (en) 2012-03-30 2016-02-02 Emc Corporation Synchronous business process execution engine for action orchestration in a single execution transaction context
US9213381B2 (en) * 2012-05-24 2015-12-15 Ati Technologies Ulc Voltage regulator dynamically determining whether requested power transition can be supported
US9218045B2 (en) * 2012-06-30 2015-12-22 Intel Corporation Operating processor element based on maximum sustainable dynamic capacitance associated with the processor
US9460304B1 (en) * 2012-09-28 2016-10-04 Emc Corporation Data services generation
US9164931B2 (en) 2012-09-29 2015-10-20 Intel Corporation Clamping of dynamic capacitance for graphics
US9336057B2 (en) 2012-12-21 2016-05-10 Microsoft Technology Licensing, Llc Assigning jobs to heterogeneous processing modules
US9110735B2 (en) * 2012-12-27 2015-08-18 Intel Corporation Managing performance policies based on workload scalability
US9348401B2 (en) * 2013-06-25 2016-05-24 Intel Corporation Mapping a performance request to an operating frequency in a processor
US9250910B2 (en) 2013-09-27 2016-02-02 Intel Corporation Current change mitigation policy for limiting voltage droop in graphics logic
US10079019B2 (en) 2013-11-12 2018-09-18 Apple Inc. Always-on audio control for mobile device
US9514715B2 (en) 2013-12-23 2016-12-06 Intel Corporation Graphics voltage reduction for load line optimization
US10031000B2 (en) * 2014-05-29 2018-07-24 Apple Inc. System on a chip with always-on processor
US9778728B2 (en) 2014-05-29 2017-10-03 Apple Inc. System on a chip with fast wake from sleep
US20160117199A1 (en) * 2014-10-28 2016-04-28 Samsung Electronics Co., Ltd. Computing system with thermal mechanism and method of operation thereof
KR20160054850A (ko) * 2014-11-07 2016-05-17 삼성전자주식회사 다수의 프로세서들을 운용하는 장치 및 방법
US9652027B2 (en) * 2015-04-01 2017-05-16 Microsoft Technology Licensing, Llc Thread scheduling based on performance state and idle state of processing units
JP2017016250A (ja) * 2015-06-29 2017-01-19 日本電気株式会社 バリア同期装置、バリア同期方法及びプログラム
US10296067B2 (en) * 2016-04-08 2019-05-21 Qualcomm Incorporated Enhanced dynamic clock and voltage scaling (DCVS) scheme
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
US10996725B2 (en) * 2018-08-21 2021-05-04 Nvidia Corporation Power management in a multiple-processor computing device
KR20200084987A (ko) * 2019-01-03 2020-07-14 삼성전자주식회사 전력을 제어하기 위한 전자 회로
US20210216377A1 (en) * 2021-03-26 2021-07-15 Intel Corporation Methods and apparatus for power sharing between discrete processors

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008505396A (ja) * 2004-07-02 2008-02-21 インテル・コーポレーション リソースの割り当ておよび制限を介するヘテロジニアスチップマルチプロセッサのための装置および方法
JP2008513912A (ja) * 2004-09-28 2008-05-01 インテル・コーポレーション 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
JP2009505396A (ja) * 2005-08-09 2009-02-05 サイマー インコーポレイテッド 放電タイミングによる多室ガス放電レーザの帯域幅制御
JP2009123215A (ja) * 2007-11-15 2009-06-04 Intel Corp マルチダイマイクロプロセッサにおける周波数及び性能を最適化する方法、装置、及びシステム

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865684B2 (en) * 1993-12-13 2005-03-08 Hewlett-Packard Development Company, L.P. Utilization-based power management of a clocked device
US5860024A (en) * 1996-04-15 1999-01-12 Advanced Micro Devices, Inc. Microprocessor with automatic name generation including performance indication
US6041400A (en) 1998-10-26 2000-03-21 Sony Corporation Distributed extensible processing architecture for digital signal processing applications
US6377975B1 (en) * 2000-03-01 2002-04-23 Interactive Intelligence, Inc. Methods and systems to distribute client software tasks among a number of servers
US20070192863A1 (en) 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US6988211B2 (en) * 2000-12-29 2006-01-17 Intel Corporation System and method for selecting a frequency and voltage combination from a table using a selection field and a read-only limit field
US7017060B2 (en) * 2001-03-19 2006-03-21 Intel Corporation Power management system that changes processor level if processor utilization crosses threshold over a period that is different for switching up or down
US6845456B1 (en) * 2001-05-01 2005-01-18 Advanced Micro Devices, Inc. CPU utilization measurement techniques for use in power management
US7058824B2 (en) * 2001-06-15 2006-06-06 Microsoft Corporation Method and system for using idle threads to adaptively throttle a computer
US7830934B2 (en) 2001-08-29 2010-11-09 Cymer, Inc. Multi-chamber gas discharge laser bandwidth control through discharge timing
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
US6813719B2 (en) * 2001-11-16 2004-11-02 Apple Computer, Inc. Method and apparatus for increasing the operating frequency of an electronic circuit
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US8645954B2 (en) 2001-12-13 2014-02-04 Intel Corporation Computing system capable of reducing power consumption by distributing execution of instruction across multiple processors and method therefore
US7089430B2 (en) * 2001-12-21 2006-08-08 Intel Corporation Managing multiple processor performance states
US7036030B1 (en) * 2002-02-07 2006-04-25 Advanced Micro Devices, Inc. Computer system and method of using temperature measurement readings to detect user activity and to adjust processor performance
JP2003271572A (ja) * 2002-03-14 2003-09-26 Fuji Photo Film Co Ltd 処理分散制御装置、分散処理システム、処理分散制御プログラム、処理分散制御方法
US6556160B1 (en) * 2002-04-17 2003-04-29 Delphi Technologies, Inc. Circuit for converting an analog signal to a PWM signal
US6959297B2 (en) 2002-04-25 2005-10-25 Winnow Technology, Llc System and process for searching within a data stream using a pointer matrix and a trap matrix
JP3825722B2 (ja) * 2002-07-02 2006-09-27 東芝エルエスアイシステムサポート株式会社 半導体回路装置
US7076672B2 (en) * 2002-10-14 2006-07-11 Intel Corporation Method and apparatus for performance effective power throttling
US7002900B2 (en) 2002-10-25 2006-02-21 Qualcomm Incorporated Transmit diversity processing for a multi-antenna communication system
US7093147B2 (en) * 2003-04-25 2006-08-15 Hewlett-Packard Development Company, L.P. Dynamically selecting processor cores for overall power efficiency
US7240223B2 (en) * 2003-05-07 2007-07-03 Apple Inc. Method and apparatus for dynamic power management in a processor system
US7249268B2 (en) * 2004-06-29 2007-07-24 Intel Corporation Method for performing performance optimization operations for a processor having a plurality of processor cores in response to a stall condition
US7219252B1 (en) * 2004-07-09 2007-05-15 Cypress Semiconductor Corp. Apparatus and method for dynamic overclocking
US7451333B2 (en) * 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US7966511B2 (en) * 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
US7594128B2 (en) * 2004-08-04 2009-09-22 Hewlett-Packard Development Company, L.P. Systems and methods to determine processor utilization
US7788670B2 (en) * 2004-10-26 2010-08-31 Intel Corporation Performance-based workload scheduling in multi-core architectures
US20060109468A1 (en) 2004-11-24 2006-05-25 Evans Richard W Devices, methods, and systems for measuring an optical property of a sample
US8279886B2 (en) * 2004-12-30 2012-10-02 Intel Corporation Dataport and methods thereof
US7502948B2 (en) * 2004-12-30 2009-03-10 Intel Corporation Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores
US20060168571A1 (en) * 2005-01-27 2006-07-27 International Business Machines Corporation System and method for optimized task scheduling in a heterogeneous data processing system
US7698417B2 (en) 2005-06-15 2010-04-13 Microsoft Corporation Optimized performance counter monitoring
US7490254B2 (en) * 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
CN1971523A (zh) * 2005-11-26 2007-05-30 鸿富锦精密工业(深圳)有限公司 中央处理器超频控制系统及方法
TW200805047A (en) 2005-12-23 2008-01-16 Koninkl Philips Electronics Nv Performance analysis based system level power management
JP2007328461A (ja) 2006-06-06 2007-12-20 Matsushita Electric Ind Co Ltd 非対称マルチプロセッサ
US7650518B2 (en) * 2006-06-28 2010-01-19 Intel Corporation Method, apparatus, and system for increasing single core performance in a multi-core microprocessor
US7617403B2 (en) * 2006-07-26 2009-11-10 International Business Machines Corporation Method and apparatus for controlling heat generation in a multi-core processor
US7584369B2 (en) * 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
JP2008084009A (ja) * 2006-09-27 2008-04-10 Toshiba Corp マルチプロセッサシステム
DE112007003007T5 (de) 2006-12-14 2009-10-15 Intel Corporation, Santa Clara Verfahren und Vorrichtung für die Energieverwaltung bei einem Prozessor
US7818596B2 (en) * 2006-12-14 2010-10-19 Intel Corporation Method and apparatus of power management of processor
US7930578B2 (en) 2007-09-27 2011-04-19 International Business Machines Corporation Method and system of peak power enforcement via autonomous token-based control and management
US8284205B2 (en) * 2007-10-24 2012-10-09 Apple Inc. Methods and apparatuses for load balancing between multiple processing units
US8578193B2 (en) * 2007-11-28 2013-11-05 International Business Machines Corporation Apparatus, method and program product for adaptive real-time power and perfomance optimization of multi-core processors
US7962771B2 (en) * 2007-12-31 2011-06-14 Intel Corporation Method, system, and apparatus for rerouting interrupts in a multi-core processor
US8219993B2 (en) * 2008-02-27 2012-07-10 Oracle America, Inc. Frequency scaling of processing unit based on aggregate thread CPI metric
US8156362B2 (en) * 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US20090248988A1 (en) 2008-03-28 2009-10-01 Mips Technologies, Inc. Mechanism for maintaining consistency of data written by io devices
US8010822B2 (en) 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8281295B2 (en) 2008-05-23 2012-10-02 International Business Machines Corporation Computer analysis and runtime coherency checking
US9032223B2 (en) * 2008-09-05 2015-05-12 Intel Corporation Techniques to manage operational parameters for a processor
US8219994B2 (en) * 2008-10-23 2012-07-10 Globalfoundries Inc. Work balancing scheduler for processor cores and methods thereof
US8261112B2 (en) * 2008-12-08 2012-09-04 International Business Machines Corporation Optimizing power consumption by tracking how program runtime performance metrics respond to changes in operating frequency
US8230245B2 (en) * 2009-01-23 2012-07-24 Dell Products, L.P. Method and system for operating-system-independent power management using performance verifications
US9098274B2 (en) * 2009-12-03 2015-08-04 Intel Corporation Methods and apparatuses to improve turbo performance for events handling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008505396A (ja) * 2004-07-02 2008-02-21 インテル・コーポレーション リソースの割り当ておよび制限を介するヘテロジニアスチップマルチプロセッサのための装置および方法
JP2008513912A (ja) * 2004-09-28 2008-05-01 インテル・コーポレーション 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
JP2009505396A (ja) * 2005-08-09 2009-02-05 サイマー インコーポレイテッド 放電タイミングによる多室ガス放電レーザの帯域幅制御
JP2009123215A (ja) * 2007-11-15 2009-06-04 Intel Corp マルチダイマイクロプロセッサにおける周波数及び性能を最適化する方法、装置、及びシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101624061B1 (ko) * 2011-09-06 2016-05-24 인텔 코포레이션 전력 효율적 프로세서 아키텍처
US9360927B2 (en) 2011-09-06 2016-06-07 Intel Corporation Power efficient processor architecture
US9864427B2 (en) 2011-09-06 2018-01-09 Intel Corporation Power efficient processor architecture
US9870047B2 (en) 2011-09-06 2018-01-16 Intel Corporation Power efficient processor architecture
KR101873935B1 (ko) * 2011-09-06 2018-07-04 인텔 코포레이션 전력 효율적 프로세서 아키텍처
US10048743B2 (en) 2011-09-06 2018-08-14 Intel Corporation Power efficient processor architecture
KR101889755B1 (ko) * 2011-09-06 2018-08-21 인텔 코포레이션 전력 효율적 프로세서 아키텍처
KR101889756B1 (ko) * 2011-09-06 2018-08-21 인텔 코포레이션 전력 효율적 프로세서 아키텍처
US10664039B2 (en) 2011-09-06 2020-05-26 Intel Corporation Power efficient processor architecture

Also Published As

Publication number Publication date
JP5406149B2 (ja) 2014-02-05
TW201626221A (zh) 2016-07-16
CN104239152A (zh) 2014-12-24
DE102010045743A1 (de) 2011-06-09
TWI514284B (zh) 2015-12-21
DE102010045743B4 (de) 2022-10-13
CN104850209B (zh) 2018-03-13
CN104239152B (zh) 2019-05-10
CN102087619B (zh) 2017-06-13
US20110138388A1 (en) 2011-06-09
US20150253833A1 (en) 2015-09-10
TW201407481A (zh) 2014-02-16
TWI420393B (zh) 2013-12-21
CN104850209A (zh) 2015-08-19
CN102087619A (zh) 2011-06-08
US9098274B2 (en) 2015-08-04
CN102306111B (zh) 2017-12-19
US9904346B2 (en) 2018-02-27
TW201137753A (en) 2011-11-01
TWI564806B (zh) 2017-01-01
US9092218B2 (en) 2015-07-28
JP6074351B2 (ja) 2017-02-01
JP2014056594A (ja) 2014-03-27
US20110238974A1 (en) 2011-09-29
CN102306111A (zh) 2012-01-04

Similar Documents

Publication Publication Date Title
JP5406149B2 (ja) イベント処理のためのターボ性能を向上させる方法および装置
US10613876B2 (en) Methods and apparatuses for controlling thread contention
TWI477945B (zh) 用以控制處理器之渦輪加速模式頻率的方法、及能夠控制其之渦輪加速模式頻率的處理器
US8799902B2 (en) Priority based throttling for power/performance quality of service
US8181047B2 (en) Apparatus and method for controlling power management by comparing tick idle time data to power management state resume time data
US7219241B2 (en) Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode
TWI516909B (zh) 包括在裝置中自主的硬體式深度省電之能源效率及能源節約的方法、設備及系統
CN107924219B (zh) 遮蔽处理器的核的功率状态
US10860083B2 (en) System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120905

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121203

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121206

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130612

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131031

R150 Certificate of patent or registration of utility model

Ref document number: 5406149

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250