JP3961619B2 - コンピュータシステムおよびその処理速度制御方法 - Google Patents
コンピュータシステムおよびその処理速度制御方法 Download PDFInfo
- Publication number
- JP3961619B2 JP3961619B2 JP14525397A JP14525397A JP3961619B2 JP 3961619 B2 JP3961619 B2 JP 3961619B2 JP 14525397 A JP14525397 A JP 14525397A JP 14525397 A JP14525397 A JP 14525397A JP 3961619 B2 JP3961619 B2 JP 3961619B2
- Authority
- JP
- Japan
- Prior art keywords
- processing speed
- speed
- cpu
- cpu processing
- software
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 35
- 230000008859 change Effects 0.000 claims description 26
- 230000001133 acceleration Effects 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 8
- 230000003247 decreasing effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000017525 heat dissipation Effects 0.000 description 2
- 238000012508 change request Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- 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
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Digital Computer Display Output (AREA)
- User Interface Of Digital Computer (AREA)
Description
【発明の属する技術分野】
この発明はコンピュータシステムおよびその処理速度制御方法に関し、特にパワーマネージメント機能の実現のためにCPU処理速度を可変制御できるように構成されたコンピュータシステムおよびそのシステムで使用されるCPU処理速度の制御方法に関する。
【0002】
【従来の技術】
近年、携行が容易でバッテリにより動作可能なノートブックタイプのパーソナルコンピュータが種々開発されている。このようなパーソナルコンピュータに於いては、各種のパワーセーブ機能が設けられている。このパワーセーブ機能は、バッテリの消耗を減らして動作時間を延ばすことを主な目的とするものであり、消費電力の節約のためにCPU処理速度を下げられるようにしている。
【0003】
また、近年マイクロプロセサが高性能化するに伴いその消費電力が大きくなり、ポータブルコンピュータにおいては、マイクロプロセサの放熱対策も難しい問題になっている。このため、CPU処理速度を低下させて消費電力を減らすことは、マイクロプロセサなどの温度が上がり過ぎを防止する対策としても重要となっている。
【0004】
従来から用いられているCPU処理速度の制御技術としては、CPUまたは周辺ユニットが意味のある処理をすることがなくなりイベント待ちになったときに、クロック速度を落したり電源供給を断ったりして消費電力を減らすというものである。このような技術は、以下に例示するように数多く知られている。
【0005】
(1)USP4,137,563号公報:待ち状態にあるユニットを動かすのに必要な最小限のクロックパルスを間欠的に出して熱放散を押える技術が開示されている。
【0006】
(2)USP4,381,552号公報:携帯電子機器のCPUとメモリのクロックを非動作時に止める技術が記載されている。
(3)USP4,851,987号公報:キー入力待ちまたは割込待ちになったらCPUクロックを止める。I/Oのクロックは止めない。プロセッサは多くの時間をアイドル・ループで待つのが普通であるので、これによりプロセッサの消費電力が減り、電池の動作時間を大幅に延ばすことができる旨が記載されている。
【0007】
(4)USP5,142,684号公報:低速小電力の第2のCPUをもち、これで非動作時の状態監視をし、高速CPUは非動作時には電源を絶つ。この高速CPUは、実行するタスクに応じてクロック速度を選択する。
【0008】
(5)USP5,222,239号公報:システム性能が重要でない場合にCPUのクロック周波数を下げる。
(6)USP5,452,401号公報:一つのチップ上にある複数のユニットの動作状況に応じて、そのユニットのクロックを非常に速くon/offして、省電力し発熱を押える。
(7)USP5,560,017号公報:イベント待ちの間、システム・クロックの周波数をBIOSソフトウェアが下げる。
【0009】
【発明が解決しようとする課題】
しかし、これら技術はいずれもシステム状況に応じて自動的に処理速度を落とすだけのものであり、ユーザの期待、意志を反映する仕組は有してない。
すなわち、ユーザがコンピュータを使用して作業を行っている最中に動的にユーザの希望でCPU処理速度を変化させることはできず、現在実行中の作業内容によってはパワーセーブよりも処理速度を優先させたい、あるいは、反対に、特定の作業以外はCPU処理速度を落としてバッテリ動作時間を延ばしたいといったユーザの要望に答えることはできなかった。
【0010】
また、従来のようにクロック速度を下げてCPUの動作速度を下げるという技術は、バッテリ動作時間を延ばすことには役立つものの、ある仕事を実行するのに必要なエネルギーを低減するものではないことに注意すべきである。
【0011】
すなわち、CPUのクロック速度を下げても、ある仕事を実行するのに必要な時間とエネルギーをトレードオフにすることはできない。CMOSロジック回路で消費される電力を考えると、CMOSロジック回路の消費するエネルギーは、第1次近似としては、実行クロック・サイクル数に比例する。実行時間に比例するわけではない。したがって、クロック速度を変えても、ある仕事を完成させるのに必要なクロック数が同じである限り、その仕事を完成させるのに必要なエネルギー量は変らない。
【0012】
この発明はこのような点に鑑みてなされたものであり、ユーザの意志を反映したCPU処理速度の制御を実現できるようにし、消費電力を少なくする必要と快適な実行速度を求めるユーザの希望との間の調和を図ることが可能なコンピュータシステムおよびその処理速度制御方法を提供することを目的とする。
【0013】
また、この発明は、ある仕事を実行するのに必要な時間とエネルギーとをトレードオフにすることができるコンピュータシステムおよびその処理速度制御方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
この発明は、CPUの処理速度を可変制御可能なコンピュータシステムにおいて、前記CPUの処理速度の加速および減速をユーザに指示させるためのユーザインタフェースを用いて、ユーザからの加速指示または減速指示を受け取る手段と、前記受け取った加速指示または減速指示に応じて現在のCPU処理速度を変更する手段と、変更後の前記CPU処理速度をグラフによって表示する手段と、前記CPU処理速度が変更された場合、変更されたCPU処理速度を前記コンピュータシステムで実行中のソフトウェアと対応させて記録することにより、ソフトウェア毎にそれを実行するときのCPU処理速度を示す速度管理情報を定義する手段と、前記速度管理情報にCPU処理速度が記録されているソフトウェアが実行された場合、現在のCPU処理速度を、前記速度管理情報に記録されている、前記実行されたソフトウェアに対応するCPU処理速度に設定する手段とを具備することを特徴とする。
【0015】
このコンピュータシステムにおいては、例えばホットキーや表示画面上のボタン操作などのインターフェースを介してユーザからCPU処理速度の加速または減速が指示されると、それに応じてCPU処理速度の変更が動的に行われる。従って、ユーザは作業中にホットキー操作やボタン操作を行うことによって現在のCPU処理速度を動的に変更することが可能となり、作業内容などに応じてその処理速度を自由に変更することが可能となる。さらに、この変更結果はその時実行中のアプリケーションプログラムなどのソフトウェア名と対応させて速度管理情報に記録される。このようにして、ユーザがCPU処理速度の加速または減速を指示する度に速度管理情報が構築されていくので、その速度管理情報を用いることによりソフトウェア毎にそれを実行するときのCPU処理速度を制御することが可能となる。よって、ある特定の幾つかのソフトウェアを実行する場合にはCPU処理速度を高め、それ以外のソフトウェアについては節電などのためにCPU処理速度を落とすといった制御をユーザの意志に基づいて行えるようになり、消費電力を少なくする必要と快適な実行速度を求めるユーザの希望との間の調和を図ることが可能となる。
【0016】
また、ユーザからのCPU処理速度の加速・減速指示を受けるためのユーザインタフェースとしては、加速を指示するためのキーまたはボタンと、減速を指示するためのキーまたはボタンの2つを用意することが好ましい。これにより、ユーザは、自動車のアクセルとブレーキと同じ使い方で容易にCPU処理速度の加速・減速を指示することが可能となる。
【0020】
【発明の実施の形態】
以下、図面を参照してこの発明の実施形態を説明する。
図1には、この発明の一実施形態に係わるコンピュータシステム全体の構成が示されている。このコンピュータシステムはバッテリ駆動可能なノートブックタイプのパーソナルコンピュータであり、ここには、東芝、インテル、マイクロソフトの3社によって策定された電力管理のためのアーキテクチャであるACPI(Advanced Configration and Power Interface Specification)が実装されている。ACPIでは、マザーボード上の各種ハードウェア11の電力管理は全てオペレーティングシステム(OS)12によって直接管理および制御される。このような仕組みはOSPM(Operating System Directed Power Management)と称されている。
【0021】
オペレーティングシステム(OS)12は、図示のように、カーネル121、デバイスドライバ122、ACPIドライバ123、および電力管理システムソフトウェア124を備えている。デバイスドライバ122は電力管理のための標準インターフエースであり、各デバイス管理用のドライバ(クラスドライバ)、バス(PCIバス、USBなど)を管理するためのドライバ(バスドライバ)、WDM(Windows Driver Model)に準拠したデバイス用のドライバなどを含む。ACPIドライバ123は、ACPI対応BIOS15、ACPIテーブル16、およびACPI用レジスタ112を用いて、ハードウェアのパワー制御を行う。ACPIテーブル16には、各ハードウェアの特性が記述される。実際のハードウェアのパワーマネージメントは、そのデバイスに対応するACPI用レジスタ112を用いて行われる。図1では、ACPI用レジスタ112は、CPUとして機能するマイクロプロセッサ111に対応するものである。
【0022】
電力管理システムソフトウェア124はOSPMシステムコードから構成されており、電力管理のためのタスクを実行する。本実施形態では、ここに、新たに速度制御MMI(MMI:マンマシンインターフェース)100が設けられている。この速度制御MMI100は、ユーザの意志を反映したCPU処理速度の制御を実現するために用いられる。すなわち、この速度制御MMI100は、ユーザからCPU処理速度の加速指示・減速指示を受けるためのインターフェースを提供し、このインターフェースを介してユーザからCPU処理速度の加速または減速が指示されたとき、電力管理用システム・ソフトウェア124、ACPIドライバ123、ACPI用レジスタ112を用いてCPU処理速度を変更する。この変更結果は、速度管理データベース125にその時実行中のアプリケーションソフトウェア13の名前と対応して記録される。以降、ソフトウェア速度管理データベース12で管理される速度情報を基に、各ソフトウェア毎にCPU処理速度が決定される。
【0023】
速度制御MMI100によって提供されるユーザインタフェースは、ホットキーまたは速度制御ウインドを用いて実現されている。
ホットキーによるユーザインタフェースを使用する場合には、コンピュータシステムで使用されるキーボード上の所定キーに加速指示を発行するための「アクセル」ホットキーと減速指示を発行するための「ブレーキ」ホットキーとが割り当てられる。すなわち、ユーザがパーソナルコンピュータを使用中にもっと処理速度を上げたいと思ったときは、「アクセル」ホットキーを押すことによって、自分の意志を伝える。また、ユーザがパーソナルコンピュータを使用中に処理速度をもっと落すことによってバッテリを長くもたせたいと思ったときは、「ブレーキ」ホットキーを押すことによって、自分の意志を伝える。
【0024】
ここで、ホットキーとは、実行中のソフトウェア環境に影響を与えることなく、所定の機能を、SMIなどの割り込みによってCPUに実行させるために用意された特定のキーをいう。本実施形態では、FnキーとF9キーの同時操作(Fn+F9)を「アクセル」ホットキーに、またFnキーとF8キーの同時操作(Fn+F8)を「ブレーキ」に割当てている。このキー割当ては、「ブレーキ」キーが「アクセル」キーのすぐ左にあるようにするためである。このように自動車のアクセルペダル、ブレーキペダルと対応させることにより、ユーザが操作しやすくなる。ユーザの設定によって、ホットキーを押したことによる効果を画面上で確認できるようにすることも、その画面表示を省略することもできる。
【0025】
ホットキーが押された後の動作は、以下説明する「アクセル」ボタン、「ブレーキ」ボタンの場合と同じである。
速度制御ウインドウを表示させ、その中のボタンを操作すると、上記のホットキーを押すのと同じ効果を得られる。図2に、その速度制御ウインドウの拡大図を示す。速度制御ウインドウは通常は他の常駐プログラムなどと同様にタスクバー上に表示される。この速度制御ウインドウを開くと、図2の画面が表示される。速度制御ウインドウ上には「アクセル」ボタンと「ブレーキ」ボタンが定義されており、「アクセル」ボタンをマウス操作によってクリックすることにより、ユーザは処理速度をもっと高速にしたいという希望を通知することができる。また、「ブレーキ」ボタンをクリックすることにより、ユーザは、処理速度を遅くしてもよいからバッテリでもっと長く使いたいという希望を通知することができる。
【0026】
次に、速度管理データベース125の利用方法について説明する。
速度管理データベース125は、ユーザからの指定で変更された処理速度をその時実行中のアプリケーションとリンクづけるために用いられる。
【0027】
すなわち、例えばアプリケーションAを実行しているときにユーザがアクセル・キーを押したとする。これよって、変更された処理速度はアプリケーションAの名前と一緒に速度管理データベース125に記録される。ユーザがそのアプリAの実行を終えてアプリBを使い始めたときは、CPU処理速度は自動的に速度管理データベース125に以前に記録されたアプリB用の速度に切り替えられる。また、アプリBが速度管理データベース125に登録されてない場合には、標準速度に切り替えられる。ユーザがアプリAの処理を一時的に止めてアプリBの処理に移った(マイクロソフト社のWindowsにおいては、フォーカスがアプリAのウインドウからアプリBのウインドウに移り、アプリBがアクティブウインドウとなる)ときも同様である。あるいは、後述する理由から、登録されてない場合には、直前の処理速度を継承するするのがより望ましい場合もある。
【0028】
パーソナルコンピュータのユーザは固定した一人であることが多いので、アプリAに対するユーザの速度設定を記憶しておくことにより、たとえば翌日にユーザがアプリAを再び実行したときに前日の速度設定が自動的に適用されるといった運用を行うことが可能となる。また、たとえば、テキスト・エディタを低速で使ったユーザは、翌日そのテキスト・エディタを使う場合も低速を選択することが多い。これを実現するために、前述の速度管理データベース12が用いられ、実行するソフトウェアに対応した処理速度が選択される。
【0029】
図4には、速度管理データベース12の構造が示されている。
この速度管理データベース12は、例えばWindowsのレジストリを用いて実現されている。レジストリは、OSがデバイスドライバやアプリケーションプログラムに関する設定環境を集中管理するためのデータベースであり、ここに速度制御用の階層を追加することによって図3のようにアプリケーション(プロセス)名をキーとし、速度情報を値として保持する速度管理データベース12が実現される。実用的には数段階の速度制御ができればよいので、速度情報の値は1バイトの整数値で十分である。また、より高度な速度制御を実現する場合には、図示のように、クロック速度、予測並列処理のオン/オフ、キャッシュサイズなどの情報の組み合わせを速度情報の値として利用することが望ましい。
【0030】
次に、図5のフローチャートを参照して、図2の速度制御ウインドを介してユーザからの速度制御指示を受けた場合に実行される速度制御動作について説明する。
【0031】
まず、ユーザが「アクセル」ボタンや「ブレーキ」ボタンを操作すると、そのイベントが図1の速度制御MMI100に通知される(ステップS101)。速度制御MMI100は、このイベントによってユーザの希望を知り、電力管理用システム・ソフトウェア124にCPU処理速度の変更を指示する(ステップS102)。
【0032】
電力管理用システム・ソフトウェア124はそれが電力管理上許容範囲内にあれば、ACPIドライバ123、ACPI用レジスタ112を用いてCPU処理速度を変更してそのように設定し、その結果を速度制御MMI100に知らせる(ステップS103,S104)。CPU処理速度の制御は、CPUクロック速度を変化させたり、あるいは後述するCPUの予測並列処理機能のイネーブル・ディスエーブルなどによって行われる。また、許容できないのであればその旨を電力管理用システム・ソフトウェア124が速度制御MMI100に知らせる。それに従って、速度制御MMI100は、変更されたCPU処理速度を実行中のソフトウェア名と対応づけて速度管理データベース125に記録する(ステップS105)。次いで、速度制御MMI100は、図2のウインドウ上の棒グラフ(矢印)を更新する(ステップS106,S107)。この棒グラフ(矢印)は、自動車のスピードメータに見立てたものであり、現在の処理速度の設定を示す。最高速度の場合は棒グラフが右端まで伸び、100%の速度を示す。この表示は、「ブレーキ」ボタンを押すことにより1段階ずつ左に移動し、また、「アクセル」ボタンを押すことにより1段階ずつ右に移動する。
【0033】
図2の棒グラフの更新は速度変更結果をユーザに提示するために行われるものであり、ホットキー操作によって図5の処理が起動された場合には棒グラフの更新処理は省略してもよい。
【0034】
速度制御ウインドウの他の例を図3に示す。この例では、速度表示がより自動車のスピード・メータ直接連想させる表示になっている。また、図2と同じく速度を上げるボタンが、速度を下げるボタンの右側に設けられている。
【0035】
速度制御ホットキーが押された場合の動作は、「アクセル」ボタン、「ブレーキ」ボタンが押された場合の動作と全く同じである。
以上のように、本実施形態の速度制御処理によれば、「アクセル」ボタン、「ブレーキ」ボタンなどによってユーザからCPU処理速度の加速または減速が指示されると、それに応じてCPU処理速度の変更が動的に行われる。さらに、この変更結果はその時実行中のアプリケーションプログラムなどのソフトウェア名と対応させて速度管理データベース125に記録される。このようにして、ユーザがCPU処理速度の加速または減速を指示する度に速度管理データベース125の速度管理情報が構築されていくので、その速度管理情報を用いることによりソフトウェア毎にそれを実行するときのCPU処理速度を動的に制御することが可能となる。
【0036】
よって、ある特定の幾つかのソフトウェアを実行する場合にはCPU処理速度を高め、それ以外のソフトウェアについては節電などのためにCPU処理速度を落としたり、標準速度のまま使用するといった制御をユーザの意志に基づいて行えるようになり、消費電力を少なくする必要と快適な実行速度を求めるユーザの希望との間の調和を図ることが可能となる。
【0037】
なお、例えばファイル操作用のプログラムのように小さなソフトウェアがアクティブになる度に、いちいち速度変更が生じるのは、後で説明するように速度変更のためのオーバーヘッドが大きいので、好ましくない。したがって、予め指定されているプログラム(プロセス)については速度変更の対象とせず、そのようなプロセスがアクティブウインドウとなっても処理速度を直前の状態のまま変更せずに維持するようにする事が望ましい。具体的には、レジストリの速度制御用の階層の下の階層などに、速度変更をしないプロセスを定義しておけばよい。
【0038】
この場合、例えばアクティブウインドウの切り替えが行われる度に、図6の処理が実行されることになる。
すなわち、まず、アクティブウインドウとなったプロセスの速度情報がレジストリに存在するか否かが調べられる(ステップS201)。存在する場合には、その速度情報が読み出され、その速度情報で指定された速度に設定するように電力管理用システム・ソフトウェア124に指示される(ステップS202,S205)。
【0039】
一方、アクティブウインドウとなったプロセスの速度情報がレジストリに存在しない場合には、レジストリに速度変更しないプロセスとして登録されているプロセスであるか否かが判断される(ステップS203)。速度変更しないプロセスとして指定されているものであれば、その時点で処理は終了する。速度変更しないプロセスとして指定されたものでない場合には、標準速度に設定するように電力管理用システム・ソフトウェア124に指示される(ステップS204,S205)。
【0040】
次に、予測並列処理のオン/オフ制御について説明する。
図1のマイクロプロセサ111は、スーパスカラー方式のプロセッサであり、分岐予測機構を用いて予測並列処理を行うように構成されている。分岐予測機構を用いて予測並列処理を行うCPUは、プログラムが条件分岐命令で分岐する場合としない場合の両方向で命令語を先取りして解読しておき、条件が確定した段階で一方を捨てるように構成されている。両方向での命令語の先取り、および解読を行うことにより処理速度の向上を図ることができるが、一方向のみの場合に比べ電力消費が増えることになる。予測が当たる場合と外れる場合の両方に対応した回路を動かし、その結果の一部が不要となるからである。このような予測並列処理を行わず、確定的に必要な仕事だけ行うようにすれば、処理速度の低下と引き換えに、その消費エネルギーを本質的に低減することが可能となる。予測並列処理のオン/オフ制御はこのために用いられる。
【0041】
すなわち、ユーザからの減速指示に応じて分岐予測機構を構成するロジックに対する電源またはクロックの供給のオン/オフを切り替えることにより、分岐予測機構の動作/非動作を制御する。これにより、ある仕事を実行するのに必要な時間とエネルギーとの間の真のトレードオフを実現することができる。
【0042】
以下、図1のマイクロプロセッサ111の構成を例にとって具体的な予測並列処理のオン/オフ制御を説明する。
マイクロプロセッサ111の標準処理回路113の中にはパイプラインを一つしかもたないが、予測並列処理回路114の中にはパイプラインを3列持ち、これと併せると4個までの命令を同時に発行できる。分岐予測ユニットはもちろん予測並列処理回路114に含まれる。キャッシュは、全体として8セットのセット・アソシアティブ・キャッシュになっているが、そのうち2セットが標準処理回路113に含まれ、残り6セットは予測並列処理回路114に含まれる。この例では、例えば、ユーザが減速ボタンを何度も押した場合など、省電力が要求される状況においては、予測並列処理回路114の動作がディスエーブルにされる。これは、分岐予測ユニットに対する電源電圧の供給とクロックの供給の両者または一方を止めることによって、あるいは予測並列処理回路114全体に対する電源電圧の供給とクロックの供給の両者を同時に止めることによって行われる。必要なことは、予測処理に基づく命令の先読み、解読のためにのみ使用されるロジックを動作停止させることである。電源とクロックの供給/遮断の制御は、ACPI用レジスタ112の値に基づいて制御回路115が行う。
【0043】
電力管理用システム・ソフトウェア124が、予測並列処理回路のON/OFFを切替える必要があると判断すると、ACPI用レジスタ112の中にこのために新たに設けられたCPU構成変更レジスタ(図7)のビット0をオンにする。このビット0がオンになると、システム管理割込み要求信号SMIがマイクロプロセサ111へ送られる。CPU構成変更レジスタのビット1は、予測並列処理回路114のON/OFF要求を示すものであり、同じく電力管理用システム・ソフトウェア124がセットする。このビットは、後で述べるようにCPUのマイクロプログラムによって読取られる。
【0044】
SMIの割込みが受付けられると、図8のフローチャートに示す手順が実行される。
すなわち、CPU内の状態がハードウェアで整理され記憶された後、割込み処理のマイクロプログラムが実行され、そこで、割込みの原因が判別される(ステップS301,S302)。上記構成変更レジスタによる割込みである場合は、シャッシュ・フラッシュを行い、キャッシュ再構成の準備をする(ステップS303)。そしてACPI用レジスタ112中のCPU構成変更レジスタのビット1の状態を読取り、マイクロプロセサ111内の制御回路115にセットする(ステップS304)。その後で、マイクロプロセサ111は、自分自身のクロックを止める(ステップS305)。これは、従来の電力管理のためのクロック停止と同じようにして実現される。その場合にタイマだけは動作するのと同様に、図1の制御回路115も動作を続ける。制御回路115は、上記のようにしてセットされたCPU構成制御レジスタのビット1の値に基づき、自身の順序回路の制御の下に、まず予測並列処理回路114に対するクロック供給を許可または禁止するための設定を行い、次に予測並列処理回路114へリセット信号を送り、予測並列処理回路114へ供給する電源をONまたはOFFにする(ステップS306,S307,S308)。
【0045】
そして、十分時間をとってから制御回路115は、リセット信号をOFFにする。これにより、マイクロプロセッサ111が再始動する。この際、制御回路11は、マイクロプログラムの制御回路へ制御信号を送って、ブート・スタートではなく、CPU構成変更割込みのマイクロプログラムを再開させる。これは、従来のリジューム・リセットと同じ動作である。
【0046】
このようにして、予測並列処理回路114のON/OFFの切替えが行われる。
また、このような予測並列処理回路114のON/OFFによる2段階の速度制御を、前述したクロック速度制御などの他の要素と組み合わせて使用することにより、多段階の速度制御を実現できる。
【0047】
【発明の効果】
以上説明したように、この発明によれば、ユーザは作業中に加速・減速キーまたは加速・減速ボタンを操作することによって現在のCPU処理速度を動的に変更することが可能となり、作業内容などに応じてCPU処理速度を自由に変更することが可能となる。特に、CPU処理速度の変更結果を実行中のソフトウェアと対応づけて記録することにより、ソフトウェア毎にCPU処理速度を設定・変更することが可能となる。よって、ある特定の幾つかのソフトウェアを実行する場合にはCPU処理速度を高め、それ以外のソフトウェアについては節電などのためにCPU処理速度を落とすといった制御をユーザの意志に基づいて行えるようになり、消費電力を少なくする必要と快適な実行速度を求めるユーザの希望との間の調和を図ることが可能となる。
【0048】
さらに、予測並列処理機能を有するCPUを使用する場合には、その分岐先の予測および処理にのみ使用されるロジックに対する電源供給またはクロック供給のオン/オフをユーザからの処理速度変更要求に応じて切り替えることにより、同一の仕事を完了するために必要な消費エネルギーを可変設定できるようになり、ある仕事を実行するのに必要な時間とエネルギーとの間の真のトレードオフを実現することが可能となる。
【図面の簡単な説明】
【図1】この発明の一実施形態に係るコンピュータシステム全体の構成を示すブロック図。
【図2】同実施形態のコンピュータシステムに適用される速度制御ウインドウの一例を示す図。
【図3】同実施形態のコンピュータシステムに適用される速度制御ウインドウの他の例を示す図。
【図4】同実施形態のコンピュータシステムで使用される速度管理データベースの構造を示す図。
【図5】同実施形態のコンピュータシステムにおけるCPU処理速度の加速・減速処理手順を示すフローチャート。
【図6】同実施形態のコンピュータシステムにおいてアクティブプロセスの切り替わりに連動して実行されるCPU処理速度の変更処理手順を示すフローチャート。
【図7】同実施形態のコンピュータシステムで使用されるCPU構成変更レジスタの構成を示す図。
【図8】同実施形態のコンピュータシステムで使用されるCPUの予測並列処理機能のイネーブル・ディスエーブル切り替え処理の手順を示すフローチャート。
【符号の説明】
11…ハードウェア
12…オペレーティングシステム
13…アプリケーションソフトウェア
100…速度制御MMI
111…マイクロプロセッサ
112…ACPI用レジスタ
113…標準処理回路
114…予測並列処理回路
115…制御回路
123…ACPIドライバ
124…電力管理システムソフトウェア
125…速度管理データベース
Claims (5)
- CPUの処理速度を可変制御可能なコンピュータシステムにおいて、
前記CPUの処理速度の加速および減速をユーザに指示させるためのユーザインタフェースを用いて、ユーザからの加速指示または減速指示を受け取る手段と、
前記受け取った加速指示または減速指示に応じて現在のCPU処理速度を変更する手段と、
変更後の前記CPU処理速度をグラフによって表示する手段と、
前記CPU処理速度が変更された場合、変更されたCPU処理速度を前記コンピュータシステムで実行中のソフトウェアと対応させて記録することにより、ソフトウェア毎にそれを実行するときのCPU処理速度を示す速度管理情報を定義する手段と、
前記速度管理情報にCPU処理速度が記録されているソフトウェアが実行された場合、現在のCPU処理速度を、前記速度管理情報に記録されている、前記実行されたソフトウェアに対応するCPU処理速度に設定する手段とを具備することを特徴とするコンピュータシステム。 - 前記コンピュータシステムで使用されるキーボード上の所定キーには、前記加速指示を発行するための第1ホットキーと前記減速指示を発行するための第2ホットキーとが割り当てられており、
前記ユーザからの加速指示または減速指示を受け取る手段は、前記第1および第2ホットキーの押下操作に応じて前記加速指示または減速指示を受け取ることを特徴とする請求項1記載のコンピュータシステム。 - 前記ユーザからの加速指示または減速指示を受け取る手段は前記加速および減速を指示するための画面を表示し、この画面上の操作に応じて、ユーザからの加速指示または減速指示を受け取ることを特徴とする請求項1記載のコンピュータシステム。
- 前記CPUは、分岐予測機構を用いて分岐先を予測し、予測が当たる場合と外れる場合の両方を並列に処理する予測並列処理機能を有しており、
前記CPU処理速度を変更する手段は、前記分岐予測機構の動作/非動作を制御することを特徴とする請求項1記載のコンピュータシステム。 - CPUの処理速度を可変制御可能なコンピュータシステムに適用される処理速度制御方法であって、
ユーザからの加速指示または減速指示に応じて現在のCPU処理速度を変更し、
変更後の前記CPU処理速度をグラフによって表示し、
前記CPU処理速度が変更された場合、変更されたCPU処理速度を前記コンピュータシステムで実行中のソフトウェアと対応させて記録することにより、ソフトウェア毎にそれを実行するときのCPU処理速度を示す速度管理情報を構築し、
前記速度管理情報にCPU処理速度が記録されているソフトウェアが実行された場合、現在のCPU処理速度を、前記速度管理情報に記録されている、前記実行されたソフトウェアに対応するCPU処理速度に設定することを特徴とするコンピュータシステムの処理速度制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14525397A JP3961619B2 (ja) | 1997-06-03 | 1997-06-03 | コンピュータシステムおよびその処理速度制御方法 |
US09/073,808 US6081901A (en) | 1997-06-03 | 1998-05-07 | System and method for dynamically controlling processing speed of a computer in response to user commands |
US09/563,820 US6230279B1 (en) | 1997-06-03 | 2000-05-03 | System and method for dynamically controlling processing speed of a computer in response to user commands |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14525397A JP3961619B2 (ja) | 1997-06-03 | 1997-06-03 | コンピュータシステムおよびその処理速度制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10333773A JPH10333773A (ja) | 1998-12-18 |
JP3961619B2 true JP3961619B2 (ja) | 2007-08-22 |
Family
ID=15380866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14525397A Expired - Fee Related JP3961619B2 (ja) | 1997-06-03 | 1997-06-03 | コンピュータシステムおよびその処理速度制御方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US6081901A (ja) |
JP (1) | JP3961619B2 (ja) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0617812B1 (en) | 1991-12-17 | 1998-03-04 | Compaq Computer Corporation | Apparatus for reducing computer system power consumption |
US6865684B2 (en) * | 1993-12-13 | 2005-03-08 | Hewlett-Packard Development Company, L.P. | Utilization-based power management of a clocked device |
JP3961619B2 (ja) * | 1997-06-03 | 2007-08-22 | 株式会社東芝 | コンピュータシステムおよびその処理速度制御方法 |
US6408393B1 (en) * | 1998-01-09 | 2002-06-18 | Hitachi, Ltd. | CPU power adjustment method |
JP3573957B2 (ja) * | 1998-05-20 | 2004-10-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ内のプロセッサの動作速度制御方法及びコンピュータ |
US6167511A (en) * | 1998-06-15 | 2000-12-26 | Phoenix Technologies Ltd. | Method to reflect BIOS set up changes into ACPI machine language |
US6378081B1 (en) * | 1998-10-01 | 2002-04-23 | Gateway, Inc. | Power conservation without performance reduction in a power-managed system |
FI117523B (fi) * | 1998-10-07 | 2006-11-15 | Nokia Corp | Menetelmä tehonkulutuksen säätämiseksi |
US6356738B1 (en) * | 1999-02-18 | 2002-03-12 | Gary W. Schneider | Method and apparatus for communicating data with a transponder |
US6360327B1 (en) * | 1999-03-12 | 2002-03-19 | Compaq Information Technologies Group, L.P. | System with control registers for managing computer legacy peripheral devices using an advanced configuration power interface software power management system |
US7472215B1 (en) * | 1999-03-31 | 2008-12-30 | International Business Machines Corporation | Portable computer system with thermal enhancements and multiple power modes of operation |
KR100553876B1 (ko) * | 1999-04-10 | 2006-02-24 | 삼성전자주식회사 | 에이.씨.피.아이 스펙에서 지원하는 슬리핑 모드 선택 기능을 갖는 컴퓨터 시스템 및 그 방법 |
US6598169B1 (en) * | 1999-07-26 | 2003-07-22 | Microsoft Corporation | System and method for accessing information made available by a kernel mode driver |
US6839833B1 (en) * | 1999-10-15 | 2005-01-04 | Unisys Corporation | Pipeline depth controller for an instruction processor |
JP2001222853A (ja) | 2000-02-08 | 2001-08-17 | Matsushita Electric Ind Co Ltd | ディスク装置の回転速度変更方法、入力装置及びディスク装置 |
JP2002099664A (ja) * | 2000-09-22 | 2002-04-05 | Sanyo Electric Co Ltd | 懸賞提供方法および懸賞提供装置 |
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 |
USRE40866E1 (en) | 2000-09-27 | 2009-08-04 | Huron Ip Llc | System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment |
US7822967B2 (en) | 2000-09-27 | 2010-10-26 | Huron Ip Llc | Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices |
US7058826B2 (en) * | 2000-09-27 | 2006-06-06 | Amphus, Inc. | System, architecture, and method for logical server and other network devices in a dynamically configurable multi-server network environment |
US7032119B2 (en) * | 2000-09-27 | 2006-04-18 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
US7552350B2 (en) * | 2000-09-27 | 2009-06-23 | Huron Ip Llc | System and method for activity or event base dynamic energy conserving server reconfiguration |
US6802015B2 (en) * | 2000-12-29 | 2004-10-05 | Hewlett-Packard Development Company, L.P. | Method for accelerating the speed of a CPU using a system command having an operation not associated with changing the speed of the CPU |
US6826704B1 (en) | 2001-03-08 | 2004-11-30 | Advanced Micro Devices, Inc. | Microprocessor employing a performance throttling mechanism for power management |
US20030196126A1 (en) * | 2002-04-11 | 2003-10-16 | Fung Henry T. | System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment |
US20060248360A1 (en) * | 2001-05-18 | 2006-11-02 | Fung Henry T | Multi-server and multi-CPU power management system and method |
KR20030029378A (ko) * | 2001-10-08 | 2003-04-14 | 삼성전자주식회사 | 컴퓨터 시스템의 cpu 클럭 주파수 설정 방법 |
US7171570B2 (en) * | 2001-11-16 | 2007-01-30 | Apple Computer, Inc. | Method and apparatus for selectively increasing the operating speed of an electronic circuit |
US6813719B2 (en) * | 2001-11-16 | 2004-11-02 | Apple Computer, Inc. | Method and apparatus for increasing the operating frequency of an electronic circuit |
US7469338B2 (en) * | 2002-07-29 | 2008-12-23 | Broadcom Corporation | System and method for cryptographic control of system configurations |
JP4033066B2 (ja) * | 2003-05-07 | 2008-01-16 | ソニー株式会社 | 周波数制御装置、情報処理装置、周波数制御方法及びプログラム |
US7502803B2 (en) * | 2003-05-28 | 2009-03-10 | Hewlett-Packard Development Company, L.P. | System and method for generating ACPI machine language tables |
JP2007520008A (ja) * | 2004-01-28 | 2007-07-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | デジタル処理システムにおけるオーバークロックのための方法及び装置 |
US7330988B2 (en) * | 2004-06-30 | 2008-02-12 | Sun Microsystems, Inc. | Method and apparatus for power throttling in a multi-thread processor |
US7779239B2 (en) * | 2004-07-28 | 2010-08-17 | Intel Corporation | User opt-in processor feature control capability |
US7388248B2 (en) * | 2004-09-01 | 2008-06-17 | Micron Technology, Inc. | Dielectric relaxation memory |
US7600105B2 (en) * | 2004-09-22 | 2009-10-06 | Cyberlink Corp. | Systems, methods, and apparatus for providing efficient startup to computers with peripheral devices |
US7634678B2 (en) * | 2006-02-07 | 2009-12-15 | Omx Technology Ab | Application software initiated speedup |
US7584376B2 (en) * | 2006-08-23 | 2009-09-01 | Palm, Inc. | Method and apparatus for power management |
KR101282139B1 (ko) * | 2006-09-11 | 2013-07-04 | 삼성전자주식회사 | 별도 버튼을 이용하여 성능모드 변경이 가능한컴퓨터시스템 및 그 제어방법 |
JP4960066B2 (ja) * | 2006-11-15 | 2012-06-27 | 株式会社東芝 | 情報処理装置、および情報処理装置の制御方法 |
US7822889B2 (en) * | 2007-08-27 | 2010-10-26 | International Business Machines Corporation | Direct/indirect transmission of information using a multi-tiered full-graph interconnect architecture |
US7958183B2 (en) * | 2007-08-27 | 2011-06-07 | International Business Machines Corporation | Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture |
US8108545B2 (en) * | 2007-08-27 | 2012-01-31 | International Business Machines Corporation | Packet coalescing in virtual channels of a data processing system in a multi-tiered full-graph interconnect architecture |
US8140731B2 (en) * | 2007-08-27 | 2012-03-20 | International Business Machines Corporation | System for data processing using a multi-tiered full-graph interconnect architecture |
US7958182B2 (en) * | 2007-08-27 | 2011-06-07 | International Business Machines Corporation | Providing full hardware support of collective operations in a multi-tiered full-graph interconnect architecture |
US8185896B2 (en) * | 2007-08-27 | 2012-05-22 | International Business Machines Corporation | Method for data processing using a multi-tiered full-graph interconnect architecture |
US7904590B2 (en) * | 2007-08-27 | 2011-03-08 | International Business Machines Corporation | Routing information through a data processing system implementing a multi-tiered full-graph interconnect architecture |
US8014387B2 (en) * | 2007-08-27 | 2011-09-06 | International Business Machines Corporation | Providing a fully non-blocking switch in a supernode of a multi-tiered full-graph interconnect architecture |
US7840703B2 (en) * | 2007-08-27 | 2010-11-23 | International Business Machines Corporation | System and method for dynamically supporting indirect routing within a multi-tiered full-graph interconnect architecture |
US7827428B2 (en) * | 2007-08-31 | 2010-11-02 | International Business Machines Corporation | System for providing a cluster-wide system clock in a multi-tiered full-graph interconnect architecture |
US7921316B2 (en) | 2007-09-11 | 2011-04-05 | International Business Machines Corporation | Cluster-wide system clock in a multi-tiered full-graph interconnect architecture |
CN101821694B (zh) * | 2007-10-11 | 2012-05-23 | 富士通株式会社 | 信息处理装置、以及动作控制方法 |
US8077602B2 (en) * | 2008-02-01 | 2011-12-13 | International Business Machines Corporation | Performing dynamic request routing based on broadcast queue depths |
JP5308043B2 (ja) * | 2008-03-21 | 2013-10-09 | 東芝テック株式会社 | 情報処理装置及びそのクロック制御方法並びにクロック制御プログラム |
JP2010039791A (ja) * | 2008-08-05 | 2010-02-18 | Toshiba Corp | 携帯端末装置 |
CN101676879A (zh) * | 2008-09-17 | 2010-03-24 | 鸿富锦精密工业(深圳)有限公司 | 超频能力测试***及方法 |
US8417778B2 (en) * | 2009-12-17 | 2013-04-09 | International Business Machines Corporation | Collective acceleration unit tree flow control and retransmit |
US8700926B2 (en) * | 2010-01-11 | 2014-04-15 | Qualcomm Incorporated | System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests |
US8671413B2 (en) * | 2010-01-11 | 2014-03-11 | Qualcomm Incorporated | System and method of dynamic clock and voltage scaling for workload based power management of a wireless mobile device |
US8751655B2 (en) * | 2010-03-29 | 2014-06-10 | International Business Machines Corporation | Collective acceleration unit tree structure |
US8429441B2 (en) | 2010-04-19 | 2013-04-23 | International Business Machines Corporation | Operating processor below maximum turbo mode frequency by sending higher than actual current amount signal to monitor |
US9710277B2 (en) * | 2010-09-24 | 2017-07-18 | Intel Corporation | Processor power management based on class and content of instructions |
JP5696603B2 (ja) * | 2011-06-29 | 2015-04-08 | 富士通株式会社 | 計算機システム、計算機システムの電力制御方法およびプログラム |
JP5794010B2 (ja) * | 2011-07-19 | 2015-10-14 | 富士通株式会社 | 情報処理装置、制御プログラムおよび制御方法 |
US8463696B2 (en) * | 2011-09-08 | 2013-06-11 | Precision Trading Ip, Llc | System and method for managing executable functions within a trading system |
US10025329B2 (en) * | 2013-08-21 | 2018-07-17 | Google Technology Holdings LLC | Method and apparatus for adjusting portable electronic device operation based on ambient temperature |
US10223123B1 (en) * | 2016-04-20 | 2019-03-05 | Apple Inc. | Methods for partially saving a branch predictor state |
US11263114B2 (en) | 2019-09-24 | 2022-03-01 | International Business Machines Corporation | Method and technique to find timing window problems |
EP4137913A1 (en) | 2021-08-17 | 2023-02-22 | Axis AB | Power management in processing circuitry which implements a neural network |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS533120A (en) * | 1976-06-30 | 1978-01-12 | Canon Inc | Control circuit |
US4381552A (en) * | 1978-12-08 | 1983-04-26 | Motorola Inc. | Stanby mode controller utilizing microprocessor |
US4851897A (en) * | 1985-05-22 | 1989-07-25 | Canon Kabushiki Kaisha | Image pickup system having a lens assembly and means for providing information relating to the spectral characteristic of the lens assembly |
US5228131A (en) * | 1988-02-24 | 1993-07-13 | Mitsubishi Denki Kabushiki Kaisha | Data processor with selectively enabled and disabled branch prediction operation |
US5142684A (en) * | 1989-06-23 | 1992-08-25 | Hand Held Products, Inc. | Power conservation in microprocessor controlled devices |
US5222239A (en) * | 1989-07-28 | 1993-06-22 | Prof. Michael H. Davis | Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources |
US5560017A (en) * | 1990-11-09 | 1996-09-24 | Wang Laboratories, Inc. | System with clock frequency controller responsive to interrupt independent of software routine and software loop repeatedly executing instruction to slow down system clock |
US5452401A (en) * | 1992-03-31 | 1995-09-19 | Seiko Epson Corporation | Selective power-down for high performance CPU/system |
JPH05297993A (ja) * | 1992-04-16 | 1993-11-12 | Dia Semikon Syst Kk | マイクロプロセッサの駆動制御装置 |
US5586332A (en) * | 1993-03-24 | 1996-12-17 | Intel Corporation | Power management for low power processors through the use of auto clock-throttling |
US5438681A (en) * | 1993-08-24 | 1995-08-01 | Mensch, Jr.; William D. | Topography for CMOS microcomputer |
US5504910A (en) * | 1994-02-02 | 1996-04-02 | Advanced Micro Devices, Inc. | Power management unit including software configurable state register and time-out counters for protecting against misbehaved software |
US5887178A (en) * | 1994-08-29 | 1999-03-23 | Matsushita Electronics Corporation | Idle state detector and idle state detecting method for a microprocessor unit for power savings |
US5719800A (en) * | 1995-06-30 | 1998-02-17 | Intel Corporation | Performance throttling to reduce IC power consumption |
US5768602A (en) * | 1995-08-04 | 1998-06-16 | Apple Computer, Inc. | Sleep mode controller for power management |
US5826092A (en) * | 1995-09-15 | 1998-10-20 | Gateway 2000, Inc. | Method and apparatus for performance optimization in power-managed computer systems |
US5740417A (en) * | 1995-12-05 | 1998-04-14 | Motorola, Inc. | Pipelined processor operating in different power mode based on branch prediction state of branch history bit encoded as taken weakly not taken and strongly not taken states |
US5742832A (en) * | 1996-02-09 | 1998-04-21 | Advanced Micro Devices | Computer system with programmable driver output's strengths responsive to control signal matching preassigned address range |
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 |
US5761517A (en) * | 1996-08-14 | 1998-06-02 | International Business Machines Corporation | System and method for reducing power consumption in high frequency clocked circuits |
US5951689A (en) * | 1996-12-31 | 1999-09-14 | Vlsi Technology, Inc. | Microprocessor power control system |
JP3961619B2 (ja) * | 1997-06-03 | 2007-08-22 | 株式会社東芝 | コンピュータシステムおよびその処理速度制御方法 |
US6108776A (en) * | 1998-04-30 | 2000-08-22 | International Business Machines Corporation | Globally or selectively disabling branch history table operations during sensitive portion of millicode routine in millimode supporting computer |
-
1997
- 1997-06-03 JP JP14525397A patent/JP3961619B2/ja not_active Expired - Fee Related
-
1998
- 1998-05-07 US US09/073,808 patent/US6081901A/en not_active Expired - Lifetime
-
2000
- 2000-05-03 US US09/563,820 patent/US6230279B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6230279B1 (en) | 2001-05-08 |
US6081901A (en) | 2000-06-27 |
JPH10333773A (ja) | 1998-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3961619B2 (ja) | コンピュータシステムおよびその処理速度制御方法 | |
JP4704041B2 (ja) | マルチスレッド・プロセッサ性能を制御する装置及び方法 | |
JP5809366B2 (ja) | ポータブルコンピューティングデバイスにおいて要求をスケジューリングするための方法およびシステム | |
JPH08503566A (ja) | コンピュータ装置の電力消費を自動的に減少させる方法 | |
JP2001521215A (ja) | マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置 | |
US7334138B2 (en) | Windows-driven power management for peripheral devices in a computer system | |
JPH086681A (ja) | 省電力制御システム | |
JPH10307648A (ja) | コンピュータシステムおよびそのクーリング制御方法 | |
JP2005527906A (ja) | 分離式電源管理状態を提供する方法および装置 | |
EP1510908B1 (en) | Processor resource power management | |
JP2002099436A (ja) | コンピュータシステムおよびそのレジューム処理方法 | |
JPH05108218A (ja) | コンピユータシステム | |
US6732216B2 (en) | Peripheral switching device with multiple sets of registers for supporting an ACPI full-operation state | |
JP2002073226A (ja) | 表示制御装置およびコンピュータシステム並びにパワーマネージメント方法 | |
JPH04195619A (ja) | 消費電力制御方式 | |
WO2013154706A1 (en) | Method and system for tracking and selecting optimal power conserving modes of a pcd | |
JPH0916409A (ja) | マイクロコンピュータ | |
JP2005521937A (ja) | コンピュータオペレーティングシステムにおけるコンテキスト切り替え方法及び装置 | |
JP2000172386A (ja) | コンピュータシステムおよびメモリ電源管理方法 | |
JPH0689121A (ja) | 利用環境の変更を容易にした情報処理装置 | |
KR20010047483A (ko) | 컴퓨터에서의 터치 패드 기능 제어 방법 | |
JPH0883133A (ja) | コンピュータシステム及びそのクロック制御方法 | |
JP3302149B2 (ja) | コンピュータシステム | |
JPH0876876A (ja) | マイクロプロセッサのクロック供給制御回路 | |
JPH10149232A (ja) | 電源断時におけるシステム処理要求方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040526 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040526 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20040526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060808 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061006 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070515 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070517 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140525 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |