JP2009093665A - マルチスレッド・プロセッサ性能を制御する装置及び方法 - Google Patents

マルチスレッド・プロセッサ性能を制御する装置及び方法 Download PDF

Info

Publication number
JP2009093665A
JP2009093665A JP2008289679A JP2008289679A JP2009093665A JP 2009093665 A JP2009093665 A JP 2009093665A JP 2008289679 A JP2008289679 A JP 2008289679A JP 2008289679 A JP2008289679 A JP 2008289679A JP 2009093665 A JP2009093665 A JP 2009093665A
Authority
JP
Japan
Prior art keywords
performance state
logical processor
logical
processor
virtual
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
Application number
JP2008289679A
Other languages
English (en)
Inventor
Barnes Cooper
クーパー,バーンズ
Grant Kobayashi
コバヤシ,グラント
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 JP2009093665A publication Critical patent/JP2009093665A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • 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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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

Landscapes

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

Abstract

【課題】
電力管理手法は、システム管理割り込み(SMI)を用いて物理プロセッサにおける論理プロセッサの性能状態を管理する。
【解決手段】
各論理プロセッサは、仮想性能状態及び実際性能状態と関連している。仮想性能状態を取り出すか変更する要求はSMIを生成させる。仮想性能状態は、オペレーティング・システム(OS)に既知の状態である。実際性能状態は、論理プロセッサが動作している状態である。
【選択図】図7

Description

本発明は、一般的に、コンピュータ・システムの分野に関し、特に、コンピュータ・システムにおける電力管理の方法及び装置に関する。
個人向ディジタル・データ端末や携帯電話などの小型ハンドヘルド型電子機器や、セットトップ・ボックスや別の消費者向エレクトロニクスなどの特定用途向電子部品や、中型のモバイル・システムやデスクトップ型システムから、大型のワークステーションやサーバまでの全てを含むコンピュータ・システムが我々の社会において一層浸透してきている。更に強力な消費者向コンピュータ・システムを備えるよう、開発者はプロセッサの動作速度を懸命に増加させ続けようとしている。プロセッサ速度を増加させることの思いがけない結果として、消費電力量の増加がある。電力消費の増加によってバッテリ寿命が短縮される。
コンピュータ・システムにおいて電力消費を削減する種々の手法が公知である。例えば、Advanced Configuration and Power Interface (ACPI) Specification (Rev. 2.0a, March 31,2002)は、携帯型コンピュータ・システムやその他のコンピュータ・システムの動的電力消費を削減する方法に関する情報を表している。コンピュータ・システムにおいて用いられるプロセッサに関しては、種々のプロセッサ電力状態(すなわちC状態)が上記ACPI Specificationに規定されている。
モバイル・コンピュータ・システムは、電力を節減するよう種々のC状態を伝統的に実施してきている。C0は、プロセッサが、アイドル状態になく、コードを実行しており、有用な作業を行っている実行状態にある。プロセッサがアイドル状態にある(例えば、スレッドを何ら実行していない)場合、OSは、プロセッサ停止命令シーケンスを出すことによってプロセッサを停止状態におく場合がある。例えば、OSは、非マスク割り込みが登録されるまでプロセッサを停止状態におく「STI;HLT(割り込みイネーブル;プロセッサ停止)」を発行し得る。C1状態では、プロセッサはスヌープ・トランザクションに応答することができ、コードを実行するか、バス・マスタ・スヌープ・トランザクションを処理するよう非常に速くウェイクアップすることができる。プロセッサは、なお多くの電力を節減するよう、必要に応じてC2、C3、C4など、より低い状態を漸次循環し得る。C2は、通常クロックがダイの大部分にゲートされるストップ・グラント状態又はモバイルの「高速起動」状態である。プロセッサは、C2状態においてスヌープを処理することができる。C2状態は、ソフトウェアが実行をすばやく再開することを可能にするよう相当低いレーテンシ出口もサポートする。C3は、内部又は外部でプロセッサ全体に向けてクロックをゲートし得るディープ・スリープ状態である。C3状態では、プロセッサは、バス・マスタ・トランザクションをスヌープすることができない。最後に、C4状態は、クロックが停止され、電圧が動作レベルに及ばないレベル(プロセッサ状態を維持するのに十分なだけの電圧)に低減される。漏洩電力は当該部分に印加される電圧に関係するので、C4状態は、極めて低いレベルまでプロセッサ電力を低減させるのに極めて好適である。
モバイル・コンピュータ・システムが電力を節減するよう実施した別の手法は、プロセッサが動作する周波数及び電圧を動的に調節するものである。例えば、低周波数及び低電圧でプロセッサを動作させることが、プロセッサ電力消費を低減させることに寄与する場合がある。低周波数及び低電圧でプロセッサを動作させることによって、プロセッサは停止しない場合があるが、プロセッサの性能レベルを変え得る。プロセッサの周波数と電圧とを動的に調節することができることによって、コンピュータ・システムにおいて起こる事象に対するプロセッサの応答性を高めることが可能である。例えば、コンピュータ・システムにおける温度が望ましくないレベルに上昇する場合、プロセッサを停止させてコンピュータ・システムにキーッと音をたてて停止させるかわりに、周波数を低減させ得る。周波数が低減される場合、電圧を低減させ得る。例えば、プロセッサの性能レベルが20%低減される場合、プロセッサの電力消費を最大50%低減させ得る。これは、性能と電力が非線形のトレードオフの関係にあるということである。よって、作業量が少ない場合(例えば、電子メール、ワープロなどの場合)、プロセッサが、低性能及び低電圧で実行し、高効率レベルで動作し、バッテリ寿命を延長させることを可能にする場合がある。あるいは、高性能を必要とするアプリケーションがある場合、考えられる最善の性能を、バッテリ寿命を犠牲にして備えるよう、周波数及び電圧を動的に増加させ得る。
ハイパー・スレッド(HT)技術は、スレッドを並列に単一の物理プロセッサを用いて実行することを可能にするカリフォルニア州サンタクララ(Santa Clara, California)のインテル(Intel)(登録商標)社(Corporation)の技術である。物理プロセッサは、物理プロセッサ・ダイを表すか、インテル・ペンティアム(登録商標)4プロセッサ・ファミリの場合には単一のパッケージを表す。HTは2つの論理プロセッサを1つの物理プロセッサ・ダイ上に組み入れている。論理プロセッサは、コードを実行し、システムにおける別のプロセッサからは一意のアーキテクチャ状態を維持することができる、OS管理下の独立プロセッサである。HTは、アーキテクチャ状態を複製することによって達成され、各アーキテクチャ状態は、1つのプロセッサ実行リソース群を共有する。
プロセッサがHTをサポートする場合、複数のスレッドを同時に実行し得る。両方の論理プロセッサにおけるスレッドが同じ瞬間に機能停止することになる可能性は低いので、共有実行装置は効果的に利用され、その結果、特定のクロック・レートでの高い全体性能をもたらす。HTをサポートするプロセッサがモバイル・コンピュータ・システムで実施される場合、解決する必要がある、性能上の課題と電力管理上の課題とがあり得る。
一実施例では、プロセッサの性能状態を管理する方法を開示している。プロセッサはマルチスレッド・プロセッサである場合があり、2つ以上の論理プロセッサを含み得る。システム管理割り込み(SMI)は、オペレーティング・システム(OS)が所定のアドレス・ポートをアクセスする場合に生成される。アクセスされるアドレス・ポートによって、プロセッサの性能状態は適宜調節し得る。
下記明細書では、説明する目的で、数多くの特定の詳細を表して、本発明が徹底的に分かるようにしている。しかし、本発明をこのような特定の詳細なしで行い得るということは当業者に明らかとなる。別の場合には、周知の構造、処理及び機器は、構成図形式又は要約形式で表して、不必要な詳細なしで説明するようにしている。
添付図面は、本発明の種々の実施例を単に説明する目的で開示するものであり、本発明の範囲を限定することを意図するものでない。
図1は、複数の論理プロセッサをサポートするプロセッサの例を示す構成図である。プロセッサ100は、2つの論理プロセッサ105及び110を含み得る。例えば、プロセッサ100は、ハイパー・スレッド技術(HT)をサポートする場合があり、プロセッサ100を2つの論理プロセッサ105及び110として認識させるよう、2つのアーキテクチャ状態101及び102を含み得る。物理プロセッサが3つ以上の論理プロセッサをサポートする場合があり、その各々が1つのアーキテクチャ状態と関連するということを当業者は認識し得る。2つの論理プロセッサ105及び110は、同じ実行リソース115、同じキャッシュ120、同じシステム・バス125、及び同じ主メモリ130を共有する。論理プロセッサ105と論理プロセッサ110とのどちらが利用可能であるかによって、物理プロセッサ100はスレッドをインタリーブした方式でスケジューリングし得る。例えば、論理プロセッサ110がC0状態にある一方で論理プロセッサ105がC1状態にあることも、両方のプロセッサがC0状態にあることも、両方のプロセッサがC1状態にあることも考えられ得る。一方の論理プロセッサがC1状態にある場合、他方の非アイドル状態にある論理プロセッサが用いるよう共有実行リソース115を開放させ得る。
通常、現在出荷されているオペレーティング・システムは、該システムが、複数の論理プロセッサを有する単一の物理プロセッサを備えているシステムではなくマルチプロセッサ・システムであるという前提に基づいて動作する。図2は、複数の論理プロセッサを有するプロセッサとともに用いる場合にオペレーティング・システムが動作する方法の例を示す構成図である。マルチプロセッサをサポートする、現在出荷されているオペレーティング・システム(例えば、ワシントン州レッドモンド(Redmond, Washington)のマイクロソフト社(Microsoft Corporation)のウィンドウズ(登録商標)XPやウィンドウズ(登録商標)2000のプロダクト)は、複数の物理プロセッサに対する処理が行われるよう企図されている場合がある。これらのオペレーティング・システムは、該システムにおけるプロセッサの各々が、別個に管理し得る独立エンティティであるということを仮定し得る。これらのオペレーティング・システムは、各物理プロセッサが、単一の論理プロセッサのみを含んでおり、物理プロセッサにおける個々の論理プロセッサの状態を考慮することなく物理プロセッサの性能を管理するということを当て込んでいる。例えば、図2を参照すれば、OS200は、(マルチプロセッサ・システムにおける)一方の物理プロセッサ100に対する処理が行われる際にはいつでも、その処理の、他方の物理プロセッサへの影響は何らないと見なし得る。今日のOSは、複数のプロセッサが機能的に同等であり、一方のプロセッサに対して行われる処理が他方に影響を及ぼさないということをそのOSが見なしているという点で対称である。論理プロセッサ105及び110が、共通の電圧レイル206と共通の内部クロック208とを共有する同じダイ上にあるので、各論理プロセッサの性能状態を無関係に変更することは可能でない場合がある。1つの論理プロセッサの性能状態への如何なる変更もその他の論理プロセッサの性能状態に影響を及ぼし得る。
システム管理モード(SMM)
一実施例では、図1に示す論理的物理プロセッサ(論理プロセッサ)105及び110は、電力を管理するようシステム管理モード(SMM)をサポートし得る。SMMは、OS又はアプリケーション・プログラムを妨害しない、電力管理のソフトウェア・ルーチン又はハンドラを実行する環境を備える。SMMには、(本明細書及び特許請求の範囲記載の)SMIサービス要求をハードウェア又はソフトウェアを用いて生成することによって入り得る。例えば、SMIが論理プロセッサ105に送出される場合、論理プロセッサ105はSMMに入り、SMRAMアドレス空間におけるSMMソフトウェア・ルーチンを実行して、SMIに関連した要求を処理する。SMRAMアドレス空間は、メモリ130とは別個であり得るメモリ・アドレス空間である。SMRAMアドレス空間は物理プロセッサ100上に備える場合があり、SMMソフトウェア・ルーチンの記憶と実行とに用い得る。SMRAMアドレス空間は、SMMにおいて実行するソフトウェア・ルーチンがOS又はアプリケーション・ソフトウェアと競合しないようにするよう、メモリ130とは別個のものであり得る。SMMは、当業者に既知のものである。
一実施例では、複数の論理プロセッサ(例えば、図1に示すプロセッサ100などの、HTをサポートするプロセッサ)において、SMIが生成されると、論理プロセッサ105と論理プロセッサ110とのどちらに向けてSMIが送出されるかに係わらず、論理プロセッサ105も論理プロセッサ110もSMMに入り得る。論理プロセッサ105及び110は同じSMRAMを共有する場合があるが、SMRAMの別々の領域を用い得る。例えば、論理プロセッサ105に関連したSMRAMにおけるソフトウェア・ルーチンからOSがサービスを要求する場合、OSはSMIを論理プロセッサ105に向けて送出させ得る。更に、OSの実行を一時的に中断させ得る。論理プロセッサ105はその場合、SMMに入り得る。論理プロセッサ110はSMMに入る場合もある。論理プロセッサ105は更に、そのSMRAMにおけるSMIに相当するソフトウェア・ルーチンを実行して要求を処理し得る。論理プロセッサ105はその場合、SMMを出る場合がある。SMMから出る処理は、論理プロセッサ105がRSM(再開)命令を実行する場合に行い得る。論理プロセッサ110はSMMから出る場合もある。OSの実行はその場合、続行し得る。
プロセッサ同期
一実施例では、同期は、論理プロセッサ105も論理プロセッサ110も同時にSMMに入り、SMMを出るようにするのに行い得る。SMIは、生成される場合、プロセッサ(論理プロセッサ及び/又は物理プロセッサ)全てに送出し得る。図3は、一実施例による同期処理の例を示す。第1論理プロセッサがSMMに入ると、第1論理プロセッサはその命令ポインタ(IP)に、第1論理プロセッサ内部の専用ベクトルであり得るSMRAM基底アドレスを指し示させる場合がある。
図3を参照すれば、ブロック305でSMMに入ると、第1論理プロセッサ(例えば、プロセッサ105)は、第2論理プロセッサ(例えば、プロセッサ110)がSMMに入るのを待ち得る。第1論理プロセッサは、ブロック315に表すように、第2論理プロセッサがSMMに入る旨の通知を第1論理プロセッサが第2論理プロセッサから受信するまでループ内で待ち得る。その通知が受信されると、第1論理プロセッサは、ブロック320に表すように、SMIを処理するようソフトウェア・ルーチンの実行に進み得る。なお、このソフトウェア・ルーチンは、第1論理プロセッサの性能状態と第2論理プロセッサの性能状態とを検証して、それらの性能状態を更新する(例えば、より高い性能状態に更新するか、又はより低い性能状態に更新する)必要があるかを判定し得る。図示していないが、ソフトウェア・ルーチンは、別のタスク(例えば、所望の性能状態を現在の性能状態と比較するタスクなど)を行う場合もある。このタスクが完了すると、図3の処理はブロック320からブロック325に進み、ブロック325では、第1論理プロセッサは、第1論理プロセッサがSMMをもうすぐ出ようとしている旨を第2論理プロセッサに通知する。ブロック330では、第1論理プロセッサは、SMMを出るよう命令(例えば、再開命令)を実行する。
図3を参照すれば、第1論理プロセッサがSMMに入ると、ブロック350に表すように、第2論理プロセッサもSMMに入る。ブロック355では、第2論理プロセッサは、第2論理プロセッサがSMMに入っていることを第1論理プロセッサに通知する。第2論理プロセッサは、第1論理プロセッサがSMMを出る際に第1論理プロセッサが通知するのを待ち得る。第2論理プロセッサは、ブロック365に表すように、通知が第1論理プロセッサから受信されるまでループ内で待ち得る。この通知が第1論理プロセッサから受信されると、図3における処理はブロック365からブロック370に進み、ブロック370では、第2論理プロセッサは、SMMを出るよう命令(例えば、再開命令)を実行する。Bのブロック355からAまでを結んでいる点線は、第2論理プロセッサによって第1論理プロセッサに送出される通知の例を示す。Aのブロック325からBまでを結んでいる点線は、第1論理プロセッサによって第2論理プロセッサに送出される通知の例を示す。
ステータス・ポート及び更新ポート
一実施例では、特定のI/OポートをアクセスするI/O命令を論理プロセッサが実行する際にSMIトラップが生成される。例えば、物理プロセッサ100に関連したシステム基本入出力システム(BIOS)は、SMIが生成されることを可能にするよう構成し得る。特定のI/Oポート(又はレジスタ・アドレス)をアクセスするI/O命令を論理プロセッサが実行する場合、システムBIOSは、I/Oポートが、性能状態ステータスを取得するか性能状態を制御するのに用いる特定のポートの1つであるということを認識し、SMIを生成させる。SMIは、OSがSMIの完了する対象のサービスを待って、I/O命令をほうっておいている間に、論理プロセッサ105及び110がSMMに入ることを可能にする。これによって、SMIが仮想I/Oポートをコンピュータ・システムにおいて作成することを可能にする。SMIが処理されている間、OSの実行は一時中断させ得る。OSの状態は、SMMに入る前に保存される場合があり、SMMから出た後に復元させ得る。OSの実行はその場合、次の命令で再開し得る。SMIを生成する別の方法を用いる場合もある。本明細書及び特許請求の範囲記載のI/O命令を用いることは、OSに対して最小の変更しか必要としない場合があるので効果的であり得る。
一実施例では、OSが論理プロセッサの性能状態を知りたい際に、特定のステータス・ポートを読み取る場合があり、OSが論理プロセッサの性能状態を更新したい際に、特定の更新ポートに所望の性能状態を書き込み得る。あるいは、同じポートを両方の目的で用い得る。例えば、ステータス・ポートから読み取るI/O命令をOSが出す場合、論理プロセッサの性能状態が戻される。これは、戻されることをOSが当てにしている場合がある性能状態であり得る。以下に説明するように、OSに戻される性能状態は、論理プロセッサが実際に動作している性能状態であってもなくてもよい。更新ポートに書き込むI/O命令をOSが出す際には、I/O命令中に備えられる所望の性能状態に基づいて、論理プロセッサの性能状態を修正し得る。以下に説明するように、OSによって備えられる所望の性能状態は、論理プロセッサが実際に動作している性能状態を変更するのに用いても用いなくてもよい。
仮想性能状態レジスタ及び実際性能状態レジスタ
一実施例では、論理プロセッサの性能状態を記憶させるよう2つのレジスタ群を用い得る。レジスタは、SMRAMにおけるメモリ場所である場合があり、論理プロセッサがSMMに入る場合にアクセスし得る。一方のレジスタ群は第1論理プロセッサ105と関連する場合があり、他方のレジスタ群は第2論理プロセッサ110と関連し得る。各レジスタ群は、OSに既知であり得る性能状態を記憶させるのに用い得る。これは、仮想性能状態と呼び得る。
各レジスタ群は、実際性能状態レジスタすなわち物理性能状態レジスタを含む場合もある。実際性能状態レジスタは、論理プロセッサが実際に動作している場合がある性能状態を記憶させるのに用い得る。これは、実際性能状態すなわち物理性能状態として表し得る。なお、論理プロセッサの、仮想性能状態と実際性能状態は同様であってもなくてもよい。仮想性能状態と実際性能状態とを有していることによって、論理プロセッサの各々の性能状態をOSが無関係に管理することが可能であるということをOSが見なすことを可能にし得る。
性能状態を取り出す工程
図4は、一実施例による、論理プロセッサの性能状態を取り出すのに用いる処理の例を示す流れ図である。一実施例では、OSが論理プロセッサの性能状態を要求する際にはいつでも、その論理プロセッサの仮想性能状態が戻される。ブロック405では、第1論理プロセッサは、ステータス・ポートを読み取るI/O命令を実行する。ブロック410に表すように、ステータス・ポートを読み取ることによってSMIを生成させ得る。この時点では、物理プロセッサにおける論理プロセッサは全てSMMに入り得る。SMMにいる間、SMIに関連したソフトウェア・ルーチンは、どの論理プロセッサがSMIを受信するかを判定するよう実行させ得る。これは、論理プロセッサが実行する最後の命令を検査し、その最後の命令がI/O命令であり、そのオペランドがステータス・ポートを示すということを識別することによって行い得る。この例では、SMIを受信する論理プロセッサが第1論理プロセッサであるということをソフトウェア・ルーチンが識別する場合、ブロック415に表すように、ソフトウェア・ルーチンは、第1論理プロセッサと関連した仮想性能状態レジスタをアクセスして仮想性能状態を取り出し得る。ブロック420では、第1論理プロセッサの仮想性能状態が戻される。
性能状態の更新
図5は、一実施例による、論理プロセッサの性能状態を更新するのに用いる処理の例を示す流れ図である。ブロック505では、第1論理プロセッサは、更新ポートに所望の性能状態を書き込むI/O命令を実行する。更新ポートに書き込むことによって、ブロック510に表すように、SMIを生成させる場合がある。この時点で、物理プロセッサにおける論理プロセッサは全て、SMMに入り得る。SMMにいる際には、SMIと関連するソフトウェア・ルーチンは、論理プロセッサのうちのどれがSMIを受信したかを判定することを必要とし得る。このことは、論理プロセッサの各々が実行した最後の命令を検査することによって行い得る。この例では、SMIを受信する論理プロセッサが第1論理プロセッサであるということをソフトウェア・ルーチンが識別する場合、ソフトウェア・ルーチンは、第1論理プロセッサに関連した仮想性能状態レジスタをアクセスして、第1論理プロセッサの性能状態をI/O命令が、より高い性能状態に変更させたいか、より低い性能状態に変更させたいかを判定し得る。ブロック515では、ソフトウェア・ルーチンは所望の性能状態を、第1論理プロセッサと関連した実際性能状態レジスタに、必要な場合記憶させ得る。このことは図6に関して更に詳細に説明することとする。上記のように、実際性能状態レジスタは、第1論理プロセッサが実際に動作している場合がある性能状態を示し得る。よって、所望の性能状態が実際性能状態レジスタに記憶される場合、第1論理プロセッサが動作している性能状態は更新し得る。ブロック520では、ソフトウェア・ルーチンは更に、所望の性能状態を仮想性能状態レジスタに記憶させ得る。
性能同期ポリシ
一実施例では、図5のブロック515における動作を行うよう、所望の性能状態を実際性能状態レジスタに書き込むか否かを判定するのに、性能同期ポリシをソフトウェア・ルーチンによって用い得る。図6は、一実施例による、性能同期ポリシの例を示す構成図である。論理プロセッサの性能状態をOSが別個に操作するということをOSが見なすことを可能にするのに同期ポリシを用い得る。
一実施例では、性能同期ポリシは、高位の実際性能状態に偏り過ぎる場合がある。性能同期ポリシは、すなわち、論理プロセッサが動作しているとOSが見なす状態よりも高い実際性能状態で論理プロセッサが動作することを可能にするよう取り決められる場合がある。
一実施例では、物理プロセッサは、論理プロセッサの実際性能状態に等しい性能状態で動作し得る。すなわち、1つ又は複数の論理プロセッサが動作しているとOSが見なす性能状態よりも高い性能状態で物理プロセッサが動作している場合があることが考えられ得る。
論理プロセッサのうちの1つの実際性能状態と仮想性能状態が同じである場合があることが考えられ得る。更に、論理プロセッサの仮想性能状態がその論理プロセッサの実際性能状態以下であることが考えられ得る。しかし、論理プロセッサの仮想性能状態がその論理プロセッサの実際性能状態より高いということが考えられない場合がある。
図6の例を参照すれば、OSは、第1論理プロセッサの性能状態を変更したい場合、所望の性能状態を更新ポートに書き込む。ブロック605では、第1論理プロセッサの仮想性能状態を、第1論理プロセッサに関連した仮想性能状態レジスタから取り出し得る。ブロック610では、SMIと関連したソフトウェア・ルーチンが実行し得る。ソフトウェア・ルーチンは、所望の性能状態を第1論理プロセッサの(、仮想性能状態レジスタに記憶されている)仮想性能状態と比較して、命令が、第1論理プロセッサの性能状態をより高い性能状態に変更させる要求かより低い性能状態に変更させる要求かを判定し得る。
それがより高い性能状態に変更する要求である場合(すなわち、所望の性能状態が、仮想性能状態レジスタに記憶されている仮想性能状態よりも高い場合)、当該処理はブロック610からブロック620に進む。ブロック620では、ソフトウェア・ルーチンは、所望の性能状態を第1論理プロセッサの(、実際性能状態レジスタに記憶されている)実際性能状態と比較し得る。第1論理プロセッサが所望の性能状態以上の性能状態で既に動作している場合、第1論理プロセッサの実際性能状態を変更させる必要がない場合がある。所望の性能状態は更に、第1論理プロセッサに関連した仮想性能状態レジスタに記憶させ得る。この所望の性能状態が、第1論理プロセッサが動作しているとOSが見なしている新規仮想性能状態となる。当該処理は更に、ブロック620からブロック630に進む。
ブロック620から、要求が、論理プロセッサの性能状態をより高い性能状態に変更させるものであり、第1論理プロセッサが、所望の性能状態より低い性能状態で現在動作している場合、当該処理はブロック625に進む。ブロック625では、第1論理プロセッサの実際性能状態が所望の性能状態に更新される。これは、所望の性能状態を実際性能状態レジスタに書き込む工程を含み得る。更に、別の論理プロセッサの全ての実際性能状態も所望の性能状態に更新し得る。なお、この場合には、第1論理プロセッサと関連した仮想レジスタ状態以外は、論理プロセッサの全てに関連した仮想レジスタ状態は変わらない状態のままであり得る。該処理は更に、ブロック625からブロック630に進む。
ブロック610から、それが、より低い性能状態に変更する要求である場合(すなわち、所望の性能状態が、仮想性能状態レジスタに記憶されている仮想性能状態より低い場合)、当該処理はブロック610からブロック615に進み、ブロック615では、全ての論理プロセッサのうちの最高仮想性能状態が判定される。例えば、その他の論理プロセッサの全ては、(それらの仮想性能状態レジスタによって示す)低性能状態で動作するよう要求した場合があるが、それらは全て、第1論理プロセッサが動作している実際性能状態と同様な高い実際性能状態で実行している場合がある。よって、より低い性能状態に変更する要求が受信される場合、ブロック618に表すように、論理プロセッサ(、更には、よって物理プロセッサ)の全ての実際性能状態をより低い性能状態に変更することが考えられ得る。なお、この場合、第1論理プロセッサと関連した仮想レジスタ状態以外は、論理プロセッサの全てと関連した仮想レジスタ状態は変わらない状態のままであり得る。当該処理は更に、ブロック618からブロック630に進む。
なお、図6の上記性能同期ポリシは、選択が2つの論理プロセッサのうちの最高仮想性能状態(ブロック618)又は最高実際性能状態(ブロック625)に基づいて行われるため、高性能に偏り過ぎる場合がある性能指向ポリシである。あるいは、別の控えめな性能同期ポリシを用いる場合もある。例えば、バッテリ寿命を長くするよう、性能同期ポリシは低性能に偏り過ぎる場合がある。一実施例では、選択が、2つの論理プロセッサの最低仮想性能状態又は最低実際性能状態に基づいて行い得る。別の実施例では、選択は、2つの論理プロセッサの性能状態の加重平均に基づいて行い得る。例えば、第1論理プロセッサの実際性能状態の対象が1GHzであり、第2論理プロセッサの実際性能状態の対象が2GHzである場合、何れのプロセッサも1.6GHzで動作するよう設定して、第1論理プロセッサのわずかに高い性能をなおもたらす一方で、第2論理プロセッサの電力をいくらか節減する場合がある。
図7は、一実施例による、物理プロセッサにおける2つの論理プロセッサの仮想性能状態と実際性能状態との例を示す構成図である。この図は図6の性能同期ポリシに基づいて示す。時間T0では、左の列には、第1論理プロセッサの(、仮想性能状態レジスタによって示す)仮想性能状態は第1論理プロセッサが1GHzで動作しているということを示し、第2論理プロセッサの仮想性能状態は第2論理プロセッサが2GHzで動作しているということを示す。一方、右の列には、(実際性能状態レジスタによって示す、)第1論理プロセッサの実際性能状態は第1論理プロセッサが実際に2GHzで動作しているということを示す。同様に、第2論理プロセッサの実際性能状態は第2論理プロセッサが実際に2GHzで動作しているということを示す。この場合には、物理プロセッサは2GHzで動作している場合がある。
時間T1では、OSは、第1論理プロセッサの性能状態を1.5GHzに増加させるよう更新ポートに書き込むI/O命令を出し得る。第1論理プロセッサの実際性能状態は、高性能状態である2GHzにあるので、第1論理プロセッサの実際性能状態は更新する必要がない場合がある。第1論理プロセッサの仮想性能状態はOSに既知であり得る性能状態であるので、第1論理プロセッサの仮想性能状態は、OSが当てにする同じ性能状態(例えば、1.5GHz)に増加される。なお、第1論理プロセッサの実際性能状態も第2論理プロセッサの実際性能状態も2GHzにある。この場合、物理プロセッサが2GHzで動作している場合がある。
時間T2では、OSは、第2論理プロセッサの性能状態を2.5GHzに増加させるよう更新ポートに書き込むI/O命令を出し得る。第2論理プロセッサの実際性能状態は現在、低性能状態である2GHzにあるので、第2論理プロセッサの実際性能状態は2.5GHzに増加させ得る。第2論理プロセッサの仮想性能状態レジスタもOSが当てにする同じ性能状態(例えば、2.5GHz)に増加させ得る。図6記載の同期ポリシは高性能状態に偏り過ぎる場合があるので、その仮想性能状態が1.5GHzで変わらない状態のままにある場合があっても、その第1論理プロセッサの実際性能状態を2.5GHzに変更する場合もある。この場合、物理プロセッサは2.5GHzで動作し得る。
時間T3では、OSは、第1論理プロセッサの性能状態を0.75GHzに低減させるよう更新ポートに書き込むI/O命令を出し得る。第2論理プロセッサの実際性能状態が2.5GHzにあり、同期ポリシは高性能状態に偏り過ぎることを可能にするので、第1論理プロセッサの実際性能状態は0.75GHzに変更されない場合がある一方、2.5GHzで変わらない状態のままであり得る。第1論理プロセッサの仮想性能状態レジスタはOSが当てにする性能状態(例えば、0.75GHz)に変更し得る。第2論理プロセッサの実際性能状態と仮想性能状態とには何ら変更はない。この場合、物理プロセッサは2.5GHzで動作している場合がある。
時間T4では、OSは、第2論理プロセッサの性能状態を0.5GHzに低減させるよう更新ポートに書き込むI/O命令を出し得る。第1の論理プロセッサは最高仮想性能状態を(第2論理プロセッサの場合の0.5GHzに対して)0.75GHzで有するので、第1論理プロセッサの実際性能状態と第2論理プロセッサの実際性能状態とを0.75GHzに低減させ得る。第2論理プロセッサの仮想性能状態は、OSが当てにする性能状態(例えば、0.5GHz)に低減させ得る。第1論理プロセッサの仮想性能状態には変動は何らなく、0.75GHzから変わらない状態のままである。物理プロセッサは0.75GHzで動作している場合がある。
コンピュータ判読可能媒体
これらの種々の方法の動作は、マシン判読可能な記憶媒体と見なし得るメモリに記憶されるコンピュータ・プログラム命令シーケンスを実行する、コンピュータ・システムにおける複数の論理プロセッサをサポートするプロセッサによって実施し得る。メモリは、ランダム・アクセス・メモリ、読み取り専用メモリ、大容量記憶装置などの永久記憶メモリ、又はこれらの装置の何れかの組合せであり得る。命令シーケンスの実行は、例えば、図4乃至図6記載の処理による動作をプロセッサに行わせ得る。
命令は、記憶装置からか、1つ又は複数の別のコンピュータ・システム(例えば、サーバ・コンピュータ・システム)からネットワーク接続によってコンピュータ・システムのメモリにロードし得る。命令はいくつかの記憶装置(例えば、仮想メモリなどの、DRAM及びハード・ディスク)に同時に記憶させ得る。よって、この命令の実行は、プロセッサによって直接行い得る。
別の場合には、命令は、直接行われなくてもよく、プロセッサによって直接実行可能なものでなくてもよい。このような状況下では、実行は、命令を解釈するインタープリタをプロセッサに実行させるか、プロセッサによって直接実行することが可能な命令に受信命令を変換するコンパイラをプロセッサに実行させることによって実行し得る。
別の実施例では、配線回路をソフトウェア命令の代わりに用いるかソフトウェア命令と組み合わせて用いて本発明を実施し得る。よって、本発明は、ハードウェアとソフトウェアとの何れかの特定の組み合わせにも、コンピュータ・システムが実行する命令の何れかの特定のソースにも限定されるものでない。
複数の論理プロセッサ(例えば、HTをサポートするプロセッサ)をサポートするプロセッサを低電力状態におく方法及びシステムを開示している。SMMを用いることによって、論理プロセッサの各々の性能状態を管理し得る。本発明は特定の例示的実施例を参照しながら記載したが、本特許請求の範囲記載の、本発明の概略の趣旨と範囲から逸脱することなくこれらの実施例に種々の修正及び変更を行い得ることが明らかとなる。例えば、HTをサポートするプロセッサは、2つの論理プロセッサを有しているものとして記載しているが、上記手法は、3つ以上のプロセッサが存在する場合に適用可能な場合もある。よって、明細書及び添付図面は、制限する意味合いよりも説明する意味合いで位置付けることとする。
複数の論理プロセッサをサポートするプロセッサの例を示す構成図である。 複数の論理プロセッサをサポートするプロセッサとともに用いる場合に、現在出荷されているオペレーティング・システムが動作する方法の例を示す構成図である。 Aは一実施例による、第1論理プロセッサによって行われる同期処理を示す流れ図であり、Bは一実施例による、第2論理プロセッサによって行われる同期処理を示す流れ図である。 一実施例による、論理プロセッサの性能状態を取り出すのに用いる処理の例を示す流れ図である。 一実施例による、論理プロセッサの性能状態を更新するのに用いる処理の例を示す流れ図である。 一実施例による、同期ポリシの例を示す構成図である。 一実施例による、物理プロセッサにおける論理プロセッサの、仮想性能状態及び実際性能状態の例を示す構成図である。

Claims (30)

  1. 方法であって:
    システム管理モード(SMM)を単一のオペレーティング・システム内で用いて、物理プロセッサにおける2つ以上の論理プロセッサの性能状態を管理する工程;
    を備え;
    該2つ以上の論理プロセッサの各々は、仮想性能状態と実際性能状態とに関連し;
    該論理プロセッサの該仮想性能状態及び該実際性能状態は互いに異なり得;
    該SMMは、該仮想性能状態と該実際性能状態とをアクセスするのに用いられることを特徴とする方法。
  2. 請求項1記載の方法であって、第1論理プロセッサと関連した該仮想性能状態は:
    オペレーティング・システム(OS)に通知される性能状態;
    であり;
    該性能状態は:
    該OSが該第1論理プロセッサの該性能状態を要求する場合のものであることを特徴とする方法。
  3. 請求項2記載の方法であって、該第1論理プロセッサと関連した該実際性能状態は:
    該第1論理プロセッサが実際に動作している性能状態であることを特徴とする方法。
  4. 請求項3記載の方法であって、更に:
    該仮想性能状態を取り出すようステータス・ポートから読み取る工程;
    を備えることを特徴とする方法。
  5. 請求項4記載の方法であって、更に:
    該仮想性能状態を既存仮想性能状態から新規仮想性能状態に更新するよう更新ポートに書き込む工程;
    を備えることを特徴とする方法。
  6. 請求項5記載の方法であって、該仮想性能状態を既存仮想性能状態から新規仮想性能状態に更新するよう該更新ポートに書き込む工程が:
    該既存仮想性能状態から該新規性能状態への該更新が、該既存仮想性能状態より高い性能状態への更新であるか、該既存仮想性能状態より低い性能状態への更新であるかを判定する工程;
    を備えることを特徴とする方法。
  7. 請求項6記載の方法であって、該更新が、該既存仮想性能状態より高い性能状態への更新であり、該第1論理プロセッサに関連した該実際性能状態が該新規仮想性能状態以上である場合:
    該第1論理プロセッサの該実際性能状態が変わらない状態のままであることを特徴とする方法。
  8. 請求項7記載の方法であって、該更新が、該既存仮想性能状態より高い性能状態への更新であり、該第1論理プロセッサに関連した該実際性能状態が該新規仮想性能状態より低い場合:
    該第1論理プロセッサの該実際性能状態と、該第1論理プロセッサに結合される別の論理プロセッサ全ての実際性能状態が該新規仮想性能状態に変更されることを特徴とする方法。
  9. 請求項7記載の方法であって、該更新が、該既存仮想性能状態より低い性能状態への更新である場合:
    該第1論理プロセッサの該実際性能状態と、該第1論理プロセッサに結合される別の論理プロセッサ全ての実際性能状態が、前記論理プロセッサ全てのうちの最高仮想性能状態に変更されることを特徴とする方法。
  10. 請求項6記載の方法であって、更に:
    該第1論理プロセッサの該既存仮想性能状態を該新規仮想性能状態に変更する工程;
    を備えることを特徴とする方法。
  11. 処理システムにおいて実行する場合、該処理システムに方法を行わせる実行可能命令を含むコンピュータ判読可能媒体であって:
    該方法は:
    第1論理プロセッサの仮想性能状態を取り出し、該第1論理プロセッサの該仮想性能状態を変更するよう、システム管理割り込み(SMI)を単一のオペレーティング・システム内で用いる工程;
    を備え;
    該第1論理プロセッサは、2つ以上の論理プロセッサを有する物理プロセッサに含まれ;
    該第1論理プロセッサの実際性能状態は該第1論理プロセッサの仮想性能状態よりも高いことがあり得ることを特徴とするコンピュータ判読可能媒体。
  12. 請求項11記載のコンピュータ判読可能媒体であって、該第1論理プロセッサの該実際性能状態が、該第1論理プロセッサの新規仮想性能状態に、該新規仮想性能状態が該第1論理プロセッサの既存実際性能状態よりも高い場合に変更されることを特徴とするコンピュータ判読可能媒体。
  13. 請求項12記載のコンピュータ判読可能媒体であって、該第1論理プロセッサの該実際性能状態が、該第1論理プロセッサの新規仮想性能状態が該第1論理プロセッサの既存実際性能状態よりも高いので変更される場合、別の論理プロセッサの全ての実際性能状態も該第1論理プロセッサの該新規仮想性能状態に変更されることを特徴とするコンピュータ判読可能媒体。
  14. 請求項11記載のコンピュータ判読可能媒体であって、該第1論理プロセッサの該実際性能状態を、該第1論理プロセッサの新規仮想性能状態が該第1論理プロセッサの既存仮想性能状態よりも低い場合に変更することを特徴とするコンピュータ判読可能媒体。
  15. 請求項14記載のコンピュータ判読可能媒体であって、該第1論理プロセッサの該実際性能状態を変更する工程が:
    前記論理プロセッサ全てのうちの最高仮想性能状態を判定する工程;及び
    該第1論理プロセッサの該実際性能状態を該最高仮想性能状態に変更する工程;
    を備えることを特徴とするコンピュータ判読可能媒体。
  16. 請求項15記載のコンピュータ判読可能媒体であって、更に:
    該第1論理プロセッサ以外の論理プロセッサ全ての実際性能状態を該最高仮想性能状態に変更する工程;
    を備えることを特徴とするコンピュータ判読可能媒体。
  17. 方法であって:
    第1論理プロセッサの仮想性能状態を取り出し、該第1論理プロセッサの該仮想性能状態を変更するよう、システム管理割り込み(SMI)を単一のオペレーティング・システム内で用いる工程;
    を備え;
    該第1論理プロセッサが、2つ以上の論理プロセッサを有する物理プロセッサに含まれ;
    該第1論理プロセッサが動作する対象の実際性能状態は、オペレーティング・システム(OS)に既知の、該第1論理プロセッサの仮想性能状態とは異なり得ることを特徴とする方法。
  18. 請求項17記載の方法であって、該第1論理プロセッサの該実際性能状態が:
    該2つ以上の論理プロセッサの最高実際性能状態に基づいて選定されることを特徴とする方法。
  19. 請求項17記載の方法であって、該第1論理プロセッサの該実際性能状態が:
    該2つ以上の論理プロセッサの最高仮想性能状態に基づいて選定されることを特徴とする方法。
  20. 請求項17記載の方法であって、該第1論理プロセッサの該実際性能状態が:
    該2つ以上の論理プロセッサの最低実際性能状態に基づいて選定されることを特徴とする方法。
  21. 請求項17記載の方法であって、該第1論理プロセッサの該実際性能状態が:
    該2つ以上の論理プロセッサの最低仮想性能状態に基づいて選定されることを特徴とする方法。
  22. 請求項17記載の方法であって、該物理プロセッサが:
    該第1論理プロセッサの該実際性能状態で動作するものであることを特徴とする方法。
  23. システムであって:
    メモリに結合される物理プロセッサ;
    を備え;
    該物理プロセッサは:
    第1論理プロセッサと第2論理プロセッサとを含み;
    該第1論理プロセッサの性能状態と該第2論理プロセッサの性能状態が:
    互いに異なり得;
    システム管理割り込み(SMI)を単一のオペレーティング・システム内で生成することによって管理され;かつ
    仮想性能状態レジスタと、前記論理プロセッサの各々に関連した実際性能状態レジスタとを制御することによって管理されることを特徴とするシステム。
  24. 請求項23記載のシステムであって:
    該第1論理プロセッサの該仮想性能状態レジスタを用いて、オペレーティング・システム(OS)に既知の該第1論理プロセッサの仮想性能状態を記憶させることを特徴とするシステム。
  25. 請求項24記載のシステムであって:
    該第1論理プロセッサの該実際性能状態レジスタを用いて、該第1論理プロセッサが実際に動作している実際性能状態を記憶させることを特徴とするシステム。
  26. 請求項25記載のシステムであって、更に:
    該仮想性能状態レジスタを読み取るようステータス・ポートを備え;かつ
    所望の性能状態を該仮想性能状態レジスタに書き込むよう更新ポートを備えることを特徴とするシステム。
  27. 請求項26記載のシステムであって:
    該ステータス・ポート又は該更新ポートがアクセスされる場合に、該SMIが生成されることを特徴とするシステム。
  28. 請求項26記載のシステムであって:
    該所望の性能状態が該第1論理プロセッサの該仮想性能状態レジスタに書き込まれる場合、該第1論理プロセッサの既存実際性能状態が、該所望の性能状態に、(a)該所望の仮想性能状態が該既存仮想性能状態よりも高い場合と、(b)該既存実際性能状態が該所望の性能状態よりも低い場合に変更されることを特徴とするシステム。
  29. 請求項28記載のシステムであって:
    該所望の性能状態が該第1論理プロセッサの該仮想性能状態レジスタに書き込まれる場合、該第1論理プロセッサの既存実際性能状態が、全ての論理プロセッサのうちの最高仮想性能状態に、該所望の仮想性能状態が該既存仮想性能状態よりも低い場合に変更されることを特徴とするシステム。
  30. 請求項29記載のシステムであって、更に:
    前記論理プロセッサ全ての実際性能状態を該最高仮想性能状態に、該所望の仮想性能状態が該既存仮想性能状態よりも低い場合に変更する工程;
    を備えることを特徴とするシステム。
JP2008289679A 2002-11-30 2008-11-12 マルチスレッド・プロセッサ性能を制御する装置及び方法 Pending JP2009093665A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/307,146 US7219241B2 (en) 2002-11-30 2002-11-30 Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004557190A Division JP4704041B2 (ja) 2002-11-30 2003-11-06 マルチスレッド・プロセッサ性能を制御する装置及び方法

Publications (1)

Publication Number Publication Date
JP2009093665A true JP2009093665A (ja) 2009-04-30

Family

ID=32392527

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2004557190A Expired - Lifetime JP4704041B2 (ja) 2002-11-30 2003-11-06 マルチスレッド・プロセッサ性能を制御する装置及び方法
JP2008289679A Pending JP2009093665A (ja) 2002-11-30 2008-11-12 マルチスレッド・プロセッサ性能を制御する装置及び方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2004557190A Expired - Lifetime JP4704041B2 (ja) 2002-11-30 2003-11-06 マルチスレッド・プロセッサ性能を制御する装置及び方法

Country Status (8)

Country Link
US (1) US7219241B2 (ja)
EP (1) EP1570342A2 (ja)
JP (2) JP4704041B2 (ja)
KR (1) KR100831460B1 (ja)
CN (1) CN1717645B (ja)
AU (1) AU2003287706A1 (ja)
TW (1) TWI271653B (ja)
WO (1) WO2004051461A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134333A (ja) * 2009-12-22 2011-07-07 Intel Corp 仮想cpuベースの、周波数、及び電圧制御

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1584020B1 (en) * 2003-01-13 2011-08-10 ARM Limited Data processing performance control
US7334142B2 (en) * 2004-01-22 2008-02-19 International Business Machines Corporation Reducing power consumption in a logically partitioned data processing system with operating system call that indicates a selected processor is unneeded for a period of time
US7194641B2 (en) * 2004-01-22 2007-03-20 International Business Machines Corporation Method and apparatus for managing power and thermal alerts transparently to an operating system in a data processing system with increased granularity in reducing power usage and thermal generation
US7512774B2 (en) * 2004-04-14 2009-03-31 Barclays Capital Inc. Method and system for collecting processor information
US7784064B2 (en) * 2004-04-14 2010-08-24 Barclays Capital Inc. Method for collecting monitor information
US7451333B2 (en) * 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US7543161B2 (en) * 2004-09-30 2009-06-02 International Business Machines Corporation Method and apparatus for tracking variable speed microprocessor performance caused by power management in a logically partitioned data processing system
US8108863B2 (en) 2005-12-30 2012-01-31 Intel Corporation Load balancing for multi-threaded applications via asymmetric power throttling
US7802073B1 (en) * 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
US7493436B2 (en) * 2006-10-26 2009-02-17 International Business Machines Corporation Interrupt handling using simultaneous multi-threading
EP2073119A1 (en) * 2007-04-09 2009-06-24 Panasonic Corporation Multiprocessor control unit, its control method, and integrated circuit
US7853928B2 (en) * 2007-04-19 2010-12-14 International Business Machines Corporation Creating a physical trace from a virtual trace
US7797512B1 (en) 2007-07-23 2010-09-14 Oracle America, Inc. Virtual core management
WO2009058042A1 (en) * 2007-10-29 2009-05-07 Intel Corporation A method of external performance monitoring for virtualized environments
US8166326B2 (en) * 2007-11-08 2012-04-24 International Business Machines Corporation Managing power consumption in a computer
US20090132842A1 (en) * 2007-11-15 2009-05-21 International Business Machines Corporation Managing Computer Power Consumption In A Computer Equipment Rack
US8041521B2 (en) * 2007-11-28 2011-10-18 International Business Machines Corporation Estimating power consumption of computing components configured in a computing system
US7992015B2 (en) 2008-02-05 2011-08-02 Dell Products L.P. Processor performance state optimization
US8635625B2 (en) * 2008-04-04 2014-01-21 International Business Machines Corporation Power-aware workload allocation in performance-managed computing environments
US8301742B2 (en) * 2008-04-07 2012-10-30 International Business Machines Corporation Systems and methods for coordinated management of power usage and runtime performance in performance-managed computing environments
US20090288092A1 (en) * 2008-05-15 2009-11-19 Hiroaki Yamaoka Systems and Methods for Improving the Reliability of a Multi-Core Processor
US8103884B2 (en) * 2008-06-25 2012-01-24 International Business Machines Corporation Managing power consumption of a computer
US8307220B2 (en) 2008-06-25 2012-11-06 International Business Machines Corporation Managing power consumption of a computer
TW201015321A (en) * 2008-09-25 2010-04-16 Panasonic Corp Buffer memory device, memory system and data trnsfer method
US8041976B2 (en) * 2008-10-01 2011-10-18 International Business Machines Corporation Power management for clusters of computers
US8514215B2 (en) * 2008-11-12 2013-08-20 International Business Machines Corporation Dynamically managing power consumption of a computer with graphics adapter configurations
US8230245B2 (en) * 2009-01-23 2012-07-24 Dell Products, L.P. Method and system for operating-system-independent power management using performance verifications
US9244797B2 (en) * 2009-05-29 2016-01-26 Dell Products L.P. Methods for managing performance states in an information handling system
US20100332877A1 (en) * 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
US8578138B2 (en) 2009-08-31 2013-11-05 Intel Corporation Enabling storage of active state in internal storage of processor rather than in SMRAM upon entry to system management mode
FR2960314B1 (fr) * 2010-05-19 2012-07-27 Bull Sas Procede d'optimisation de gestion de veille d'un microprocesseur permettant la mise en oeuvre de plusieurs coeurs logiques et programme d'ordinateur mettant en oeuvre un tel procede
US8478923B2 (en) 2010-09-25 2013-07-02 International Business Machines Corporation Interrupt suppression by processing just first interrupt of a same type
CN102339230B (zh) * 2011-09-01 2014-01-29 西安交通大学 复用客户操作系统设备驱动的实现方法
US8935699B1 (en) 2011-10-28 2015-01-13 Amazon Technologies, Inc. CPU sharing techniques
US9104485B1 (en) * 2011-10-28 2015-08-11 Amazon Technologies, Inc. CPU sharing techniques
CN103946765B (zh) * 2011-11-22 2017-11-17 英特尔公司 协同处理器以及系统性能和功率管理
CN104011703B (zh) * 2011-12-22 2017-04-12 英特尔公司 用于指定应用线程性能状态的指令的指令处理装置及相关方法
US9396020B2 (en) 2012-03-30 2016-07-19 Intel Corporation Context switching mechanism for a processing core having a general purpose CPU core and a tightly coupled accelerator
US9003218B2 (en) * 2012-05-21 2015-04-07 International Business Machines Corporation Power shifting in multicore platforms by varying SMT levels
US9052885B2 (en) * 2012-12-21 2015-06-09 Advanced Micro Devices, Inc. Using temperature margin to balance performance with power allocation
US8904389B2 (en) 2013-04-30 2014-12-02 Splunk Inc. Determining performance states of components in a virtual machine environment based on performance states of related subcomponents
US9495187B2 (en) * 2013-04-30 2016-11-15 Splunk, Inc. Interactive, top-down presentation of the architecture and performance of a hypervisor environment
US9015716B2 (en) 2013-04-30 2015-04-21 Splunk Inc. Proactive monitoring tree with node pinning for concurrent node comparisons
US9164786B2 (en) 2013-04-30 2015-10-20 Splunk Inc. Determining performance states of parent components in a virtual-machine environment based on performance states of related child components during a time period
US9467120B1 (en) * 2013-12-19 2016-10-11 Altera Corporation Power management for PCI express
US9734110B2 (en) 2015-02-13 2017-08-15 International Business Machines Corporation Dynamic synchronous to asynchronous frequency transitions in high-performance symmetric multiprocessing
US10216245B2 (en) 2015-12-22 2019-02-26 Cray Inc. Application ramp rate control in large installations
US11948008B2 (en) 2019-04-30 2024-04-02 Hewlett-Packard Development Company, L.P. System management memory coherency detection
US11392418B2 (en) 2020-02-21 2022-07-19 International Business Machines Corporation Adaptive pacing setting for workload execution

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043098A (ja) * 1999-07-29 2001-02-16 Matsushita Electric Ind Co Ltd オペレーティングシステムおよび仮想計算機システム

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4220815B1 (en) * 1978-12-04 1996-09-03 Elographics Inc Nonplanar transparent electrographic sensor
US4320292A (en) * 1979-08-22 1982-03-16 Nippon Telegraph And Telephone Public Corporation Coordinate input apparatus
JPS5685792A (en) * 1979-12-14 1981-07-13 Citizen Watch Co Ltd Liquid crystal display unit
FR2496949B1 (fr) * 1980-12-23 1987-05-15 Thomson Csf Dispositif electro-optique de commutation
US4476463A (en) * 1981-08-24 1984-10-09 Interaction Systems, Inc. Display device having unpatterned touch detection
DE3369571D1 (en) * 1982-06-18 1987-03-05 Philips Nv Liquid-crystal display device
JPS5910988A (ja) * 1982-07-12 1984-01-20 ホシデン株式会社 カラ−液晶表示器
US4785564A (en) * 1982-12-20 1988-11-22 Motorola Inc. Electronic notepad
JPH0654960B2 (ja) * 1983-10-20 1994-07-20 シチズン時計株式会社 液晶表示装置の駆動方法
US4655552A (en) * 1984-03-17 1987-04-07 Citizen Watch Co., Ltd. Flat panel display device having on-screen data input function
US4603356A (en) * 1984-03-19 1986-07-29 Energy Conversion Devices, Inc. Imaging system with light valve and photodetector
JPS616729A (ja) * 1984-06-20 1986-01-13 Sharp Corp 情報入出力装置
US4917474A (en) * 1984-09-10 1990-04-17 Semiconductor Energy Laboratory Co., Ltd. Optoelectronic panel and method of making the same
US4814760A (en) * 1984-12-28 1989-03-21 Wang Laboratories, Inc. Information display and entry device
US4782327A (en) * 1985-01-02 1988-11-01 Victor B. Kley Computer control
US4794634A (en) * 1985-12-24 1988-12-27 Kabushiki Kaisha Komatsu Seisakusho Position-sensitive photodetector and light transmissive tablet and light-emitting pen
US4720869A (en) * 1986-02-18 1988-01-19 International Business Machines Corporation Hand dimension verification
DE3787583T2 (de) * 1986-07-07 1994-02-03 Semiconductor Energy Lab Tragbares Buch ohne Papier.
US4698460A (en) * 1986-08-26 1987-10-06 Tektronix, Inc. Touch panel system
US4782328A (en) * 1986-10-02 1988-11-01 Product Development Services, Incorporated Ambient-light-responsive touch screen data input method and system
US4767192A (en) * 1986-10-31 1988-08-30 International Business Machines Corporation Light activated light valve with a silicon control element
US4772101A (en) * 1986-11-07 1988-09-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Remotely controllable real-time optical processor
US5051570A (en) * 1989-01-20 1991-09-24 Nec Corporation Liquid crystal light valve showing an improved display contrast
JP2816979B2 (ja) * 1989-02-13 1998-10-27 日本フィリップス株式会社 入力機能付き表示装置
US5153535A (en) * 1989-06-30 1992-10-06 Poget Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
US5021679A (en) * 1989-06-30 1991-06-04 Poqet Computer Corporation Power supply and oscillator for a computer system providing automatic selection of supply voltage and frequency
US6158012A (en) * 1989-10-30 2000-12-05 Texas Instruments Incorporated Real-time power conservation and thermal management for computers
FI85544C (fi) * 1989-11-03 1992-04-27 Marttila Heikki Oy Koppling foer kompensering av verkan av yttre ljus pao infraroedkaensliga fototransistorer i kontaktdisplaypaneler.
US5105186A (en) * 1990-05-25 1992-04-14 Hewlett-Packard Company Lcd touch screen
US6067062A (en) * 1990-09-05 2000-05-23 Seiko Instruments Inc. Light valve device
JPH04133313A (ja) * 1990-09-25 1992-05-07 Semiconductor Energy Lab Co Ltd 半導体作製方法
US5445871A (en) * 1990-10-30 1995-08-29 Kansai Paint Co., Ltd. Surface-modified plastic plate
TW237562B (ja) * 1990-11-09 1995-01-01 Semiconductor Energy Res Co Ltd
US5153420A (en) * 1990-11-28 1992-10-06 Xerox Corporation Timing independent pixel-scale light sensing apparatus
US5204661A (en) * 1990-12-13 1993-04-20 Xerox Corporation Input/output pixel circuit and array of such circuits
GB9027481D0 (en) * 1990-12-19 1991-02-06 Philips Electronic Associated Matrix display device with write-in facility
GB9108226D0 (en) * 1991-04-17 1991-06-05 Philips Electronic Associated Optical touch input device
EP0511644B1 (en) * 1991-05-01 1997-07-23 Matsushita Electric Industrial Co., Ltd. Solid-state image pickup device
US5243332A (en) * 1991-10-31 1993-09-07 Massachusetts Institute Of Technology Information entry and display
US5610629A (en) * 1991-12-06 1997-03-11 Ncr Corporation Pen input to liquid crystal display
US5751453A (en) * 1991-12-06 1998-05-12 Ncr Corporation Liquid crystal display with pen-input capability
JP2863363B2 (ja) * 1992-01-24 1999-03-03 シャープ株式会社 表示装置
JP2837578B2 (ja) * 1992-05-20 1998-12-16 シャープ株式会社 画像入出力装置および方法
GB9220104D0 (en) * 1992-09-07 1992-11-04 Philips Electronics Uk Ltd Matrix display device with light sensing function
KR950004378B1 (ko) * 1992-09-09 1995-04-28 주식회사금성사 위치감지액정표시소자및제조방법
US5581378A (en) * 1993-02-01 1996-12-03 University Of Alabama At Huntsville Electro-optical holographic display
US6133906A (en) * 1993-03-15 2000-10-17 Microtouch Systems, Inc. Display-integrated stylus detection system
GB9313841D0 (en) * 1993-07-05 1993-08-18 Philips Electronics Uk Ltd An electro-optic device
US5502838A (en) * 1994-04-28 1996-03-26 Consilium Overseas Limited Temperature management for integrated circuits
US5752011A (en) * 1994-06-20 1998-05-12 Thomas; C. Douglas Method and system for controlling a processor's clock frequency in accordance with the processor's temperature
US5635982A (en) * 1994-06-27 1997-06-03 Zhang; Hong J. System for automatic video segmentation and key frame extraction for video sequences having both sharp and gradual transitions
US5812109A (en) * 1994-08-23 1998-09-22 Canon Kabushiki Kaisha Image input/output apparatus
US5917464A (en) * 1994-10-18 1999-06-29 Xerox Corporation Combination of 2-D detector array with display for image processing
US5734585A (en) * 1994-11-07 1998-03-31 Norand Corporation Method and apparatus for sequencing power delivery in mixed supply computer systems
US5652600A (en) * 1994-11-17 1997-07-29 Planar Systems, Inc. Time multiplexed gray scale approach
US5724565A (en) * 1995-02-03 1998-03-03 International Business Machines Corporation Method and system for processing first and second sets of instructions by first and second types of processing systems
TW327707B (en) * 1995-05-18 1998-03-01 Motorola Inc Method for producing power consumption in a portable electronic device with a liquid crystal display screen
US5877735A (en) * 1995-06-23 1999-03-02 Planar Systems, Inc. Substrate carriers for electroluminescent displays
US5990988A (en) * 1995-09-01 1999-11-23 Pioneer Electric Corporation Reflection liquid crystal display and a semiconductor device for the display
US5767623A (en) * 1995-09-11 1998-06-16 Planar Systems, Inc. Interconnection between an active matrix electroluminescent display and an electrical cable
US5793342A (en) * 1995-10-03 1998-08-11 Planar Systems, Inc. Resonant mode active matrix TFEL display excitation driver with sinusoidal low power illumination input
US5712528A (en) * 1995-10-05 1998-01-27 Planar Systems, Inc. Dual substrate full color TFEL panel with insulator bridge structure
JPH09203890A (ja) * 1996-01-25 1997-08-05 Sharp Corp 入力機能付き液晶表示素子および反射型入力機能付き液晶表示素子、並びにそれらの製造方法
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
JPH11505633A (ja) * 1996-03-18 1999-05-21 フィリップス エレクトロニクス ネムローゼ フェン ノートシャップ 表示デバイス
US5778108A (en) * 1996-06-07 1998-07-07 Electronic Data Systems Corporation Method and system for detecting transitional markers such as uniform fields in a video signal
US5959697A (en) * 1996-06-07 1999-09-28 Electronic Data Systems Corporation Method and system for detecting dissolve transitions in a video signal
US5920360A (en) * 1996-06-07 1999-07-06 Electronic Data Systems Corporation Method and system for detecting fade transitions in a video signal
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
CN100373331C (zh) * 1996-08-27 2008-03-05 松下电器产业株式会社 独立处理多个指令流、软式控制各指令流的处理功能的多线程处理器
JP3854392B2 (ja) * 1996-11-11 2006-12-06 同和鉱業株式会社 光学的フィルター
KR100393039B1 (ko) * 1996-11-20 2003-10-17 삼성에스디아이 주식회사 액정표시소자
US6105142A (en) * 1997-02-11 2000-08-15 Vlsi Technology, Inc. Intelligent power management interface for computer system hardware
US6314511B2 (en) * 1997-04-03 2001-11-06 University Of Washington Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers
US6038632A (en) * 1997-05-07 2000-03-14 Kabushiki Kaisha Toshiba Interrupt control on SMM
US6087599A (en) * 1997-11-24 2000-07-11 The Whitaker Corporation Touch panels having plastic substrates
US6163313A (en) * 1997-12-12 2000-12-19 Aroyan; James L. Touch sensitive screen and method
US6308279B1 (en) * 1998-05-22 2001-10-23 Intel Corporation Method and apparatus for power mode transition in a multi-thread processor
US6157989A (en) * 1998-06-03 2000-12-05 Motorola, Inc. Dynamic bus arbitration priority and task switching based on shared memory fullness in a multi-processor system
KR100394023B1 (ko) * 1998-08-06 2003-10-17 엘지.필립스 엘시디 주식회사 반투과 반사형 액정표시장치
US6278444B1 (en) * 1998-08-21 2001-08-21 Geoffrey D. Wilson Low current four-wire interface for five-wire resistive touch-screen
JP3732956B2 (ja) * 1998-09-16 2006-01-11 三洋電機株式会社 反射型液晶表示装置
US6184863B1 (en) * 1998-10-13 2001-02-06 The George Washington University Direct pointing apparatus and method therefor
US6295113B1 (en) * 1998-12-16 2001-09-25 Picvue Electronics, Ltd. Twisted nematic color liquid crystal display
US6181394B1 (en) * 1999-01-22 2001-01-30 White Electronic Designs, Corp. Super bright low reflection liquid crystal display
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6351076B1 (en) * 1999-10-06 2002-02-26 Tohoku Pioneer Corporation Luminescent display panel drive unit and drive method thereof
US6564328B1 (en) * 1999-12-23 2003-05-13 Intel Corporation Microprocessor with digital power throttle
US6184394B1 (en) * 2000-01-27 2001-02-06 Eastman Chemical Company Process for the preparation of 3-furoate esters and novel intermediate compounds
US6718474B1 (en) * 2000-09-21 2004-04-06 Stratus Technologies Bermuda Ltd. Methods and apparatus for clock management based on environmental conditions
US6704876B1 (en) * 2000-09-26 2004-03-09 Sun Microsystems, Inc. Microprocessor speed control mechanism using power dissipation estimation based on the instruction data path
US6687838B2 (en) * 2000-12-07 2004-02-03 Intel Corporation Low-power processor hint, such as from a PAUSE instruction
US6829713B2 (en) * 2000-12-30 2004-12-07 Intel Corporation CPU power management based on utilization with lowest performance mode at the mid-utilization range
US6895520B1 (en) * 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US6836849B2 (en) * 2001-04-05 2004-12-28 International Business Machines Corporation Method and apparatus for controlling power and performance in a multiprocessing system according to customer level operational requirements
US6834353B2 (en) * 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043098A (ja) * 1999-07-29 2001-02-16 Matsushita Electric Ind Co Ltd オペレーティングシステムおよび仮想計算機システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134333A (ja) * 2009-12-22 2011-07-07 Intel Corp 仮想cpuベースの、周波数、及び電圧制御

Also Published As

Publication number Publication date
TW200416599A (en) 2004-09-01
AU2003287706A1 (en) 2004-06-23
JP4704041B2 (ja) 2011-06-15
WO2004051461A2 (en) 2004-06-17
US7219241B2 (en) 2007-05-15
AU2003287706A8 (en) 2004-06-23
WO2004051461A3 (en) 2005-06-23
EP1570342A2 (en) 2005-09-07
JP2006508468A (ja) 2006-03-09
KR20050084011A (ko) 2005-08-26
CN1717645A (zh) 2006-01-04
TWI271653B (en) 2007-01-21
US20040107369A1 (en) 2004-06-03
KR100831460B1 (ko) 2008-05-22
CN1717645B (zh) 2010-05-12

Similar Documents

Publication Publication Date Title
JP4704041B2 (ja) マルチスレッド・プロセッサ性能を制御する装置及び方法
US7152169B2 (en) Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
Jang et al. Energy reduction in consolidated servers through memory-aware virtual machine scheduling
TWI233545B (en) Mechanism for processor power state aware distribution of lowest priority interrupts
KR100745477B1 (ko) 단일 스레드와 동시 멀티스레드 모드간의 멀티스레드프로세서의 동적 스위칭
US7032116B2 (en) Thermal management for computer systems running legacy or thermal management operating systems
US9003421B2 (en) Acceleration threads on idle OS-visible thread execution units
US9658877B2 (en) Context switching using a context controller and on-chip context cache
US20140115594A1 (en) Mechanism to schedule threads on os-sequestered sequencers without operating system intervention
US20040216120A1 (en) Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor
US8516483B2 (en) Transparent support for operating system services for a sequestered sequencer
US7493435B2 (en) Optimization of SMI handling and initialization
JP2005284749A (ja) 並列処理コンピュータ
US11360809B2 (en) Multithreaded processor core with hardware-assisted task scheduling
US7111182B2 (en) Thread scheduling mechanisms for processor resource power management
US8392640B2 (en) Pre-memory resource contention resolution
US8255721B2 (en) Seamless frequency sequestering
CN115981833A (zh) 一种任务处理方法及装置
JP4482275B2 (ja) オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ
JP2004199684A (ja) プリフェッチ・バッファを用いたメモリ電力管理
JP2001290664A (ja) マルチタスク制御プロセッサシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120417

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121113