JP2009093665A - マルチスレッド・プロセッサ性能を制御する装置及び方法 - Google Patents
マルチスレッド・プロセッサ性能を制御する装置及び方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- 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/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- 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
- 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
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
【課題】
電力管理手法は、システム管理割り込み(SMI)を用いて物理プロセッサにおける論理プロセッサの性能状態を管理する。
【解決手段】
各論理プロセッサは、仮想性能状態及び実際性能状態と関連している。仮想性能状態を取り出すか変更する要求はSMIを生成させる。仮想性能状態は、オペレーティング・システム(OS)に既知の状態である。実際性能状態は、論理プロセッサが動作している状態である。
【選択図】図7
電力管理手法は、システム管理割り込み(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に示す論理的物理プロセッサ(論理プロセッサ)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基底アドレスを指し示させる場合がある。
一実施例では、同期は、論理プロセッサ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に対して最小の変更しか必要としない場合があるので効果的であり得る。
一実施例では、特定の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に既知であり得る性能状態を記憶させるのに用い得る。これは、仮想性能状態と呼び得る。
一実施例では、論理プロセッサの性能状態を記憶させるよう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論理プロセッサの仮想性能状態が戻される。
図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は、一実施例による、論理プロセッサの性能状態を更新するのに用いる処理の例を示す流れ図である。ブロック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が見なすことを可能にするのに同期ポリシを用い得る。
一実施例では、図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記載の処理による動作をプロセッサに行わせ得る。
これらの種々の方法の動作は、マシン判読可能な記憶媒体と見なし得るメモリに記憶されるコンピュータ・プログラム命令シーケンスを実行する、コンピュータ・システムにおける複数の論理プロセッサをサポートするプロセッサによって実施し得る。メモリは、ランダム・アクセス・メモリ、読み取り専用メモリ、大容量記憶装置などの永久記憶メモリ、又はこれらの装置の何れかの組合せであり得る。命令シーケンスの実行は、例えば、図4乃至図6記載の処理による動作をプロセッサに行わせ得る。
命令は、記憶装置からか、1つ又は複数の別のコンピュータ・システム(例えば、サーバ・コンピュータ・システム)からネットワーク接続によってコンピュータ・システムのメモリにロードし得る。命令はいくつかの記憶装置(例えば、仮想メモリなどの、DRAM及びハード・ディスク)に同時に記憶させ得る。よって、この命令の実行は、プロセッサによって直接行い得る。
別の場合には、命令は、直接行われなくてもよく、プロセッサによって直接実行可能なものでなくてもよい。このような状況下では、実行は、命令を解釈するインタープリタをプロセッサに実行させるか、プロセッサによって直接実行することが可能な命令に受信命令を変換するコンパイラをプロセッサに実行させることによって実行し得る。
別の実施例では、配線回路をソフトウェア命令の代わりに用いるかソフトウェア命令と組み合わせて用いて本発明を実施し得る。よって、本発明は、ハードウェアとソフトウェアとの何れかの特定の組み合わせにも、コンピュータ・システムが実行する命令の何れかの特定のソースにも限定されるものでない。
複数の論理プロセッサ(例えば、HTをサポートするプロセッサ)をサポートするプロセッサを低電力状態におく方法及びシステムを開示している。SMMを用いることによって、論理プロセッサの各々の性能状態を管理し得る。本発明は特定の例示的実施例を参照しながら記載したが、本特許請求の範囲記載の、本発明の概略の趣旨と範囲から逸脱することなくこれらの実施例に種々の修正及び変更を行い得ることが明らかとなる。例えば、HTをサポートするプロセッサは、2つの論理プロセッサを有しているものとして記載しているが、上記手法は、3つ以上のプロセッサが存在する場合に適用可能な場合もある。よって、明細書及び添付図面は、制限する意味合いよりも説明する意味合いで位置付けることとする。
Claims (30)
- 方法であって:
システム管理モード(SMM)を単一のオペレーティング・システム内で用いて、物理プロセッサにおける2つ以上の論理プロセッサの性能状態を管理する工程;
を備え;
該2つ以上の論理プロセッサの各々は、仮想性能状態と実際性能状態とに関連し;
該論理プロセッサの該仮想性能状態及び該実際性能状態は互いに異なり得;
該SMMは、該仮想性能状態と該実際性能状態とをアクセスするのに用いられることを特徴とする方法。 - 請求項1記載の方法であって、第1論理プロセッサと関連した該仮想性能状態は:
オペレーティング・システム(OS)に通知される性能状態;
であり;
該性能状態は:
該OSが該第1論理プロセッサの該性能状態を要求する場合のものであることを特徴とする方法。 - 請求項2記載の方法であって、該第1論理プロセッサと関連した該実際性能状態は:
該第1論理プロセッサが実際に動作している性能状態であることを特徴とする方法。 - 請求項3記載の方法であって、更に:
該仮想性能状態を取り出すようステータス・ポートから読み取る工程;
を備えることを特徴とする方法。 - 請求項4記載の方法であって、更に:
該仮想性能状態を既存仮想性能状態から新規仮想性能状態に更新するよう更新ポートに書き込む工程;
を備えることを特徴とする方法。 - 請求項5記載の方法であって、該仮想性能状態を既存仮想性能状態から新規仮想性能状態に更新するよう該更新ポートに書き込む工程が:
該既存仮想性能状態から該新規性能状態への該更新が、該既存仮想性能状態より高い性能状態への更新であるか、該既存仮想性能状態より低い性能状態への更新であるかを判定する工程;
を備えることを特徴とする方法。 - 請求項6記載の方法であって、該更新が、該既存仮想性能状態より高い性能状態への更新であり、該第1論理プロセッサに関連した該実際性能状態が該新規仮想性能状態以上である場合:
該第1論理プロセッサの該実際性能状態が変わらない状態のままであることを特徴とする方法。 - 請求項7記載の方法であって、該更新が、該既存仮想性能状態より高い性能状態への更新であり、該第1論理プロセッサに関連した該実際性能状態が該新規仮想性能状態より低い場合:
該第1論理プロセッサの該実際性能状態と、該第1論理プロセッサに結合される別の論理プロセッサ全ての実際性能状態が該新規仮想性能状態に変更されることを特徴とする方法。 - 請求項7記載の方法であって、該更新が、該既存仮想性能状態より低い性能状態への更新である場合:
該第1論理プロセッサの該実際性能状態と、該第1論理プロセッサに結合される別の論理プロセッサ全ての実際性能状態が、前記論理プロセッサ全てのうちの最高仮想性能状態に変更されることを特徴とする方法。 - 請求項6記載の方法であって、更に:
該第1論理プロセッサの該既存仮想性能状態を該新規仮想性能状態に変更する工程;
を備えることを特徴とする方法。 - 処理システムにおいて実行する場合、該処理システムに方法を行わせる実行可能命令を含むコンピュータ判読可能媒体であって:
該方法は:
第1論理プロセッサの仮想性能状態を取り出し、該第1論理プロセッサの該仮想性能状態を変更するよう、システム管理割り込み(SMI)を単一のオペレーティング・システム内で用いる工程;
を備え;
該第1論理プロセッサは、2つ以上の論理プロセッサを有する物理プロセッサに含まれ;
該第1論理プロセッサの実際性能状態は該第1論理プロセッサの仮想性能状態よりも高いことがあり得ることを特徴とするコンピュータ判読可能媒体。 - 請求項11記載のコンピュータ判読可能媒体であって、該第1論理プロセッサの該実際性能状態が、該第1論理プロセッサの新規仮想性能状態に、該新規仮想性能状態が該第1論理プロセッサの既存実際性能状態よりも高い場合に変更されることを特徴とするコンピュータ判読可能媒体。
- 請求項12記載のコンピュータ判読可能媒体であって、該第1論理プロセッサの該実際性能状態が、該第1論理プロセッサの新規仮想性能状態が該第1論理プロセッサの既存実際性能状態よりも高いので変更される場合、別の論理プロセッサの全ての実際性能状態も該第1論理プロセッサの該新規仮想性能状態に変更されることを特徴とするコンピュータ判読可能媒体。
- 請求項11記載のコンピュータ判読可能媒体であって、該第1論理プロセッサの該実際性能状態を、該第1論理プロセッサの新規仮想性能状態が該第1論理プロセッサの既存仮想性能状態よりも低い場合に変更することを特徴とするコンピュータ判読可能媒体。
- 請求項14記載のコンピュータ判読可能媒体であって、該第1論理プロセッサの該実際性能状態を変更する工程が:
前記論理プロセッサ全てのうちの最高仮想性能状態を判定する工程;及び
該第1論理プロセッサの該実際性能状態を該最高仮想性能状態に変更する工程;
を備えることを特徴とするコンピュータ判読可能媒体。 - 請求項15記載のコンピュータ判読可能媒体であって、更に:
該第1論理プロセッサ以外の論理プロセッサ全ての実際性能状態を該最高仮想性能状態に変更する工程;
を備えることを特徴とするコンピュータ判読可能媒体。 - 方法であって:
第1論理プロセッサの仮想性能状態を取り出し、該第1論理プロセッサの該仮想性能状態を変更するよう、システム管理割り込み(SMI)を単一のオペレーティング・システム内で用いる工程;
を備え;
該第1論理プロセッサが、2つ以上の論理プロセッサを有する物理プロセッサに含まれ;
該第1論理プロセッサが動作する対象の実際性能状態は、オペレーティング・システム(OS)に既知の、該第1論理プロセッサの仮想性能状態とは異なり得ることを特徴とする方法。 - 請求項17記載の方法であって、該第1論理プロセッサの該実際性能状態が:
該2つ以上の論理プロセッサの最高実際性能状態に基づいて選定されることを特徴とする方法。 - 請求項17記載の方法であって、該第1論理プロセッサの該実際性能状態が:
該2つ以上の論理プロセッサの最高仮想性能状態に基づいて選定されることを特徴とする方法。 - 請求項17記載の方法であって、該第1論理プロセッサの該実際性能状態が:
該2つ以上の論理プロセッサの最低実際性能状態に基づいて選定されることを特徴とする方法。 - 請求項17記載の方法であって、該第1論理プロセッサの該実際性能状態が:
該2つ以上の論理プロセッサの最低仮想性能状態に基づいて選定されることを特徴とする方法。 - 請求項17記載の方法であって、該物理プロセッサが:
該第1論理プロセッサの該実際性能状態で動作するものであることを特徴とする方法。 - システムであって:
メモリに結合される物理プロセッサ;
を備え;
該物理プロセッサは:
第1論理プロセッサと第2論理プロセッサとを含み;
該第1論理プロセッサの性能状態と該第2論理プロセッサの性能状態が:
互いに異なり得;
システム管理割り込み(SMI)を単一のオペレーティング・システム内で生成することによって管理され;かつ
仮想性能状態レジスタと、前記論理プロセッサの各々に関連した実際性能状態レジスタとを制御することによって管理されることを特徴とするシステム。 - 請求項23記載のシステムであって:
該第1論理プロセッサの該仮想性能状態レジスタを用いて、オペレーティング・システム(OS)に既知の該第1論理プロセッサの仮想性能状態を記憶させることを特徴とするシステム。 - 請求項24記載のシステムであって:
該第1論理プロセッサの該実際性能状態レジスタを用いて、該第1論理プロセッサが実際に動作している実際性能状態を記憶させることを特徴とするシステム。 - 請求項25記載のシステムであって、更に:
該仮想性能状態レジスタを読み取るようステータス・ポートを備え;かつ
所望の性能状態を該仮想性能状態レジスタに書き込むよう更新ポートを備えることを特徴とするシステム。 - 請求項26記載のシステムであって:
該ステータス・ポート又は該更新ポートがアクセスされる場合に、該SMIが生成されることを特徴とするシステム。 - 請求項26記載のシステムであって:
該所望の性能状態が該第1論理プロセッサの該仮想性能状態レジスタに書き込まれる場合、該第1論理プロセッサの既存実際性能状態が、該所望の性能状態に、(a)該所望の仮想性能状態が該既存仮想性能状態よりも高い場合と、(b)該既存実際性能状態が該所望の性能状態よりも低い場合に変更されることを特徴とするシステム。 - 請求項28記載のシステムであって:
該所望の性能状態が該第1論理プロセッサの該仮想性能状態レジスタに書き込まれる場合、該第1論理プロセッサの既存実際性能状態が、全ての論理プロセッサのうちの最高仮想性能状態に、該所望の仮想性能状態が該既存仮想性能状態よりも低い場合に変更されることを特徴とするシステム。 - 請求項29記載のシステムであって、更に:
前記論理プロセッサ全ての実際性能状態を該最高仮想性能状態に、該所望の仮想性能状態が該既存仮想性能状態よりも低い場合に変更する工程;
を備えることを特徴とするシステム。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011134333A (ja) * | 2009-12-22 | 2011-07-07 | Intel Corp | 仮想cpuベースの、周波数、及び電圧制御 |
Families Citing this family (49)
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)
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)
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 |
-
2002
- 2002-11-30 US US10/307,146 patent/US7219241B2/en not_active Expired - Lifetime
-
2003
- 2003-08-29 TW TW092123961A patent/TWI271653B/zh not_active IP Right Cessation
- 2003-11-06 JP JP2004557190A patent/JP4704041B2/ja not_active Expired - Lifetime
- 2003-11-06 AU AU2003287706A patent/AU2003287706A1/en not_active Abandoned
- 2003-11-06 KR KR1020057009627A patent/KR100831460B1/ko active IP Right Grant
- 2003-11-06 WO PCT/US2003/036067 patent/WO2004051461A2/en active Application Filing
- 2003-11-06 CN CN2003801046017A patent/CN1717645B/zh not_active Expired - Fee Related
- 2003-11-06 EP EP03781911A patent/EP1570342A2/en not_active Ceased
-
2008
- 2008-11-12 JP JP2008289679A patent/JP2009093665A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001043098A (ja) * | 1999-07-29 | 2001-02-16 | Matsushita Electric Ind Co Ltd | オペレーティングシステムおよび仮想計算機システム |
Cited By (1)
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 |