Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3685401B2 - Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム - Google Patents
[go: Go Back, main page]

JP3685401B2 - Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム - Google Patents

Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム Download PDF

Info

Publication number
JP3685401B2
JP3685401B2 JP2001393336A JP2001393336A JP3685401B2 JP 3685401 B2 JP3685401 B2 JP 3685401B2 JP 2001393336 A JP2001393336 A JP 2001393336A JP 2001393336 A JP2001393336 A JP 2001393336A JP 3685401 B2 JP3685401 B2 JP 3685401B2
Authority
JP
Japan
Prior art keywords
cpu
operation performance
memory
information
performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001393336A
Other languages
English (en)
Other versions
JP2003196083A (ja
Inventor
典利 吉山
誠一 河野
博秀 小見山
慎治 松島
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2001393336A priority Critical patent/JP3685401B2/ja
Priority to US10/328,808 priority patent/US20030140264A1/en
Publication of JP2003196083A publication Critical patent/JP2003196083A/ja
Application granted granted Critical
Publication of JP3685401B2 publication Critical patent/JP3685401B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30083Power or thermal control instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータシステムにおけるCPU(Central Processing Unit)のパワーマネージメントにより消費電力を制御する技術に関する。
【0002】
【従来の技術】
近年、コンピュータ装置は、CPUの高性能化に伴って消費電力及び発熱量が増加している。コンピュータ装置において、システムがビジー状態の時には、CPUの消費電力はシステム全体から見て大きな比重を占める。通常、各種のデバイスはCPUに比べて処理が遅いため、CPUにはある程度の待ち時間が必要となる。この待ち時間の間、CPUは多くの場合、無駄な処理を実行することになる。そこで、この待ち時間などに、CPUのパワーマネージメントによって装置全体の消費電力を削減し、熱の発生を抑えることが課題となっている。
【0003】
CPUのパワーマネージメントによる消費電力を減少させる手法として、次のような手法が考えられる。
(1)CPUの動作性能(パフォーマンス)を落とすことにより、CPUにより消費する単位時間あたりの消費電力を抑える方法。
(2)CPUの処理が要求される度合に応じて適宜CPUを省電力状態へ移行させることにより、CPUの消費電力を抑える方法。
上記(1)の手法は、例えばThrottlingや米国インテル社のSpeed Stepにて実現されているが、一般にシステムのスループットは低下する。これに対し、(2)の手法は、CPUへの要求に応じた制御を行うため、システム全体の処理性能を落とさずにCPUの消費電力を削減することができる。
【0004】
(2)の手法が適用できる場合としては、
i)CPUスケジューラで、CPUへ処理の要求がない場合
ii)I/O(Input-Output)バウンドのタスクでデバイスから応答があるまで一定時間待つ必要がある場合
がある。
CPUスケジューラにおいてCPUへの要求がない場合に省電力状態に移行させる手段は、OS(Operating System:オペレーティングシステム)のCPUスケジューラにより、CPUに対して次の要求があるまで当該CPUを省電力状態に入れることができる。省電力状態としては、例えばACPI(Advanced Configuration and Power Interface)においてC0からC3までの4段階の動作状態が定義されており、これを用いることができる。また、APM IdleやInt16を用いて省電力状態に移行することも可能であった。ここで、CPUのキャッシュメモリのスヌーピング(Snooping)が必要な場合、CPUの省電力状態(C3)から通常状態(C0)に戻るか、もしくは、スヌーピングが実行できる省電力状態(C1/C2)を利用する。キャッシュメモリのスヌーピングが必要ない場合は、単にCPUの次の要求があるまで省電力状態にしておくことができる。
【0005】
一方、I/Oバウンドのタスクでデバイスの応答を一定時間待つ場合にCPUを省電力状態に移行させる実用的な手段は、これまでなかった。この種の目的で用いることができる従来技術としては、例えば、米国特許第5875120号に開示された技術や米国特許第5875348号に開示された技術がある。
米国特許第5875120号には、CPUを省電力状態に移行させる際に、予め省電力状態から復帰する時間を指定する手法が開示されている。
また、米国特許第5875348号には、CPUがPort61などのI/Oアクセスを検出し、リフレッシュビット(Refresh Bit)を逃さない程度に、CPUの動作性能を落とすことにより、CPUによる消費電力を抑える方法が開示されている。
【0006】
【発明が解決しようとする課題】
上記のように、CPUのパワーマネージメントによりコンピュータシステム全体の消費電力を低下させるため、従来から種々の手法が提案されている。上述した従来技術のうち、(2)の手法において、ii)のI/Oバウンドのタスクでデバイスから応答があるまで一定時間待つ必要がある場合にCPUの消費電力を抑える方法は、i)のCPUの動作状態に応じて消費電力を抑える方法では対応しきれない場合(デバイスからの応答を待つ間の無駄な実行)に対しても、省電力状態へ移行させることができる。
しかしながら、上述したこの手法における実用的な手段はなく、上述した従来技術には、次のような問題があった。
【0007】
I/Oバウンドのタスクでデバイスから応答があるまで一定時間待つ必要がある場合には一般に、次に示す方法が用いられている。
・BIOS(Basic Input/Output System:基本入出力システム)による制御において、メモリリフレッシュのタイマー(15.2μsec)を数えて一定時間待つ方法。
・OSあるいはデバイスドライバにより、CPUのパフォーマンスを前もって計測し、一定時間、CPUのループインストラクションを使用して待つ方法。この場合、CPUのパフォーマンスに基づく方法では特殊なハードウェアを必要としないが、待ち時間の正確さに問題がある。
・OSによるデバイスドライバの制御において、ACPIのタイマーを使用して一定時間待つ方法。
上述した米国特許第5875120号に開示された手法は、上述のそれぞれの方法に対してBIOSやOS、あるいはデバイスドライバを省電力状態から復帰する時間を指定するように変更する必要があるため、導入が容易ではない。
【0008】
一方、米国特許第5875348号に開示された手法は、CPUの動作性能を落とす必要がない場合にも、動作性能を低下させてしまう場合があるため、システムのスループットの低下を招くおそれがあった。
【0009】
また、CPUの動作性能を落とす手法(上記(1)の手法)は、通常は上述したようにシステムのスループットを低下させてしまうが、ゲームなど、アイドル・ループが多いタスクの場合には、スループットの低下は多くない。したがって、このような場合を特定してCPUの動作性能を低下させることができれば、それだけ消費電力を抑えることが可能となる。
【0010】
そこで本発明は、デバイスとの関係やプログラムの処理の過程でCPUが待ち時間を必要とする場合に、このCPUの動作性能を低下させて消費電力を抑え、システム全体の消費電力と熱の発生とを抑える実用的な手段を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記の目的を達成する本発明は、CPUの動作性能を動的に制御する次のようなCPU制御方法として実現することができる。すなわち、このCPU制御方法は、CPUが実行する命令コードと、この命令コードを実行する際の動作性能に関する情報とをCPUにロードするステップと、この動作性能に関する情報に基づいて決定された値にCPUの動作性能を動的に設定するステップと、設定された動作性能でCPUがこの命令コードを実行するステップとを含むことを特徴とする。
【0012】
さらに好ましくは、このCPU制御方法は、メモリ上のメモリ領域と、当該メモリ領域に展開された命令コードを実行する際の前記CPUの動作性能に関する情報とを対応付けた対応情報を生成するステップをさらに含む構成とすることができる。この場合、動作性能に関する情報をCPUにロードするステップは、メモリから実行すべき命令コードを読み込むステップと、読み込まれた命令コードが展開されていたメモリ領域に関する対応情報からこの命令コードを実行する際の動作性能に関する情報を取得するステップとを含む。
あるいは、このCPU制御方法において、動作性能に関する情報をCPUにロードするステップは、命令コードを含むプログラム中に記述された、所定の命令列を実行する際のCPUの動作性能を指定する動作性能指定命令をCPUに読み込むステップを含む構成とすることもできる。
【0013】
また、本発明は、次のようなCPU制御方法としても実現することができる。すなわち、このCPU制御方法は、メモリ上に前記CPUの相異なる動作性能に対応付けられた複数のメモリ領域を設定するステップと、メモリから実行すべき命令コードを読み込んだ際に、この命令コードが展開されていたメモリ領域に基づき、このメモリ領域に対応付けられている動作性能でCPUを動作させ、この命令コードを実行するステップとを含むことを特徴とする。
ここで、さらに詳しくは、メモリ上にメモリ領域を設定するステップは、メモリ空間を分割するページごとにCPUの動作性能に関する情報を記録したページテーブルを作成するステップを含む。
【0014】
また、上記の目的を達成する他の本発明は、次のように構成されたコンピュータ装置として実現することができる。すなわち、プログラムに記述された命令コードを読み込んで実行するCPUと、このCPUの動作クロックを制御するクロック制御手段とを備え、このCPUは、所定の命令コードを実行する場合に、この命令コードに対して設定された動作性能に関する情報に基づいてクロック制御手段に指示を行い、動作クロックを動的に変更することを特徴とする。
ここで、クロック制御手段は、例えば、CPUに動作クロックを供給するクロック発信器及びそのコントローラで構成される。
【0015】
さらに、このコンピュータ装置は、CPUの相異なる動作性能に対応付けられた複数のメモリ領域が設定されたメモリを備える構成とすることができる。この場合、CPUは、メモリから読み込んだ命令コードに関して、この命令コードが展開されていたメモリ領域に基づき、動作性能に関する情報を取得してクロック制御手段に指示を行う。
ここで、さらに好ましくは、このコンピュータ装置は、メモリ空間をページで管理し、当該ページ単位で前記CPUの動作性能を指定して前記メモリ領域に対応付けるメモリ管理手段を備える構成とすることができる。このメモリ管理手段としては、ページディレクトリやページテーブルを用いることができる。
さらにまた、このコンピュータ装置において、CPUは、プログラム中に記述された、所定の命令列を実行する際のCPUの動作性能を指定する動作性能指定命令を読み込み、この動作性能指定命令にしたがってコントローラに指示を行うことができる。
【0016】
また、本発明は、次のようなコンピュータ装置としても実現することができる。すなわち、このコンピュータ装置は、プログラムを読み込んで演算処理を行うと共に、外部デバイスに対してデータの入出力を行うCPUと、このCPUの動作クロックを制御するクロック制御手段とを備え、このCPUは、I/Oバウンドの処理を行う場合に、クロック制御手段に指示を行い、動作クロックを動的に変更することを特徴とする。あるいは、このCPUは、入力待ちのアイドル・ループ処理を行う場合に、クロック制御手段に指示を行い、動作クロックを動的に変更することを特徴とする。
【0017】
さらにまた、上記の目的を達成する他の本発明は、クロック発信器を制御して動作クロックを動的に変更可能な次のように構成されたCPUとして実現することができる。すなわち、このCPUは、メモリから命令コードを読み込む命令読み込み手段と、読み込まれた命令コードに関して設定された動作性能に関する情報を取得する情報取得手段と、取得された動作性能に関する情報に基づいてクロック発信器のコントローラに動作クロックの変更指示を行う指示手段とを備える。そして、コントローラに対して行われた動作クロックの変更指示により動的に制御された動作クロックにしたがって動作することを特徴とする。
【0018】
ここで詳しくは、この情報取得手段は、読み込まれた命令コードに関して、この命令コードが展開されていたメモリ領域に基づき、このメモリ領域に対応付けられた動作性能に関する情報を取得してコントローラに指示を行う。さらに好ましくは、この情報取得手段は、メモリ空間をページで管理するメモリ管理情報に基づいて、このページ単位でCPUの動作性能に関する情報を取得する。
あるいは、この情報取得手段は、所定の命令列を実行する際のCPUの動作性能を指定する命令コードが命令読み込み手段にて読み込まれた場合に、この命令コードを動作性能に関する情報として認識する。
【0019】
また、本発明は、コンピュータを制御する次のようなプログラムとして実現することができる。すなわち、このプログラムは、メモリ上にCPUの相異なる動作性能に対応付けられた複数のメモリ領域を設定する機能と、プログラム中の命令コードを、この命令コードを実行する際に所望するCPUの動作性能に応じたメモリ領域にロードする機能とをコンピュータに実現させることを特徴とする。
あるいは、次のようなプログラムとしても実現することができる。すなわち、このプログラムは、所定の演算処理を実行させる演算手段と、自プログラム中の命令コードにて特定される所定の命令列を演算手段が実行する際における演算手段の動作性能を動的に変更させる動作制御手段としてコンピュータを機能させることを特徴とする。
これらのプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記憶媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【0020】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて、この発明を詳細に説明する。
まず、本発明の概要を説明する。今日製品化されているCPUには、動作性能を外部から制御できるものがある。例えば、米国トランスメタ(Transmeta)社のクルーソー(Crusoe)や、米国インテル(Intel)社のペンティアム(Pentium)などである。そして、OSやアプリケーションによる制御の下、CPUの使用率に応じて当該CPUの動作性能を動的に変更するという手法によるパワーマネージメントがなされている。
【0021】
本発明は、このようなCPUに対して、動作性能を変更する条件として、対応するアーキテクチャにおけるインストラクションセット(命令セット)のセマンティクス(意味)を与えることにより、CPUのパワーマネージメントを行う。その手法として、本発明では次の2つの方法を提案する。
方法1:メモリに展開されたインストラクションセットの領域と、その領域で必要とするCPUの動作性能を指定する。
方法2:所定のインストラクション・シーケンス(命令列)を指定し、そのインストラクションで必要とするCPUの動作性能を指定する。
【0022】
図1は、上記方法1に対応する実施の形態1によるCPUのパワーマネージメントを実行するコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図1に示すコンピュータ装置は、演算手段であるCPU(Central Processing Unit:中央処理装置)101と、M/B(マザーボード)チップセット102及びCPUバスを介してCPU101に接続されたメインメモリ103と、同じくM/Bチップセット102及びAGP(Accelerated Graphics Port)を介してCPU101に接続されたビデオカード104と、PCI(Peripheral Component Interconnect)バスを介してM/Bチップセット102に接続されたハードディスク105及びネットワークインターフェイス106と、さらにこのPCIバスからブリッジ回路107及びISA(Industry Standard Architecture)バスなどの低速なバスを介してM/Bチップセット102に接続されたフロッピー(登録商標)ディスクドライブ108及びキーボード/マウス109とを備える。また、図1には記載していないが、このコンピュータ装置は、後述するようにCPU101の動作性能(動作クロック)を制御する手段として、クロック発信器及びそのコントローラを備える。
なお、図1は本実施の形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード104を設ける代わりに、ビデオメモリのみを搭載し、CPU101にてイメージデータを処理する構成としても良いし、音声による入出力を行うためのサウンド機構を設けたり、ATA(AT Attachment)などのインターフェイスを介してCD−ROM(Compact Disc Read Only Memory)やDVD−ROM(Digital Versatile Disc Read Only Memory)のドライブを設けたりしても良い。
【0023】
図2は、図1に示したコンピュータ装置を用いて、上述した方法1によるCPUのパワーマネージメントを行う場合のシステム構成を示す図である。
図2において、ソフトウェアであるOS210及びアプリケーションプログラム220は、図1のハードディスク105に格納され、メインメモリ103に読み込まれてCPU101の動作を制御する。また、コンピュータ装置は、CPU101の動作性能制御手段としてクロック発信器112及びそのコントローラ111を備える。
本実施の形態では、OS210またはアプリケーションプログラム220の命令コードが読み込まれるメインメモリ103の領域に応じてCPU101の動作性能が指定される。そして、CPU101は、命令コードが展開されていたメモリ領域にて特定される動作性能の指定値をコントローラ111に指示し、クロック発信器112を制御させることで指定された動作性能を実現する。
【0024】
図示のように、OS210は、ページテーブル211と、カーネル(Kernel Function)212と、入出力待ちファンクション(I/O wait function)213とを備える。ここで、カーネル212は、CPU101を制御して基本的な制御機能を実現する仮想的なソフトウェアブロックである。また入出力待ちファンクション213は、CPU101を制御して信号の入出力における待ち状態の制御機能を実現する仮想的なソフトウェアブロックである。
ページテーブル211は、ページによるメモリ管理を行うメモリ管理手段であり、物理アドレスと論理アドレスとをマッピングするためのテーブルである。本実施の形態では、このページテーブル211のエントリに動作性能属性(Performance Attribute)を追加し、CPU101がページテーブルエントリによってページごとに指定された動作性能で動作することによりパワーマネージメントを実現する。
【0025】
図3は、ページテーブルエントリの記述例を示す図、図4は、図3のページテーブルエントリにおける動作性能属性の記述とCPU101の動作性能との関係を示す図表である。
図3を参照すると、「00:High」、「01:Middle1」、「10:Middle2」、「11:Low」の4段階の動作性能が設定され、2ビットのデータで記述される。また、図4を参照すると、ページテーブルエントリにおける動作性能属性の記述が「00:High」である場合に、CPU101の動作速度(CPUクロック)が1.5GHzであり、同様に、動作性能属性の記述が「01:Middle1」の場合に、CPUクロックが1.0GHzであり、動作性能属性の記述が「10:Middle2」の場合に、CPUクロックが500MHzであり、動作性能属性の記述が「11:Low」の場合に、CPUクロックが100MHzである。
なお、ページテーブル211と共にページングによるメモリ管理に用いられるページディレクトリ(図示せず)を用い、ページテーブルエントリの代わりにページディレクトリエントリに動作性能属性を追加することによっても同様のパワーマネージメントを実現できる。
【0026】
図5は、ページテーブルエントリにて指定された動作性能を反映させたメモリマップの例を示す図である。
図5を参照すると、ページテーブルエントリ(PTE)0がハイパフォーマンス(図3のHigh)、ページテーブルエントリ1がローパフォーマンス(図3のLow)、ページテーブルエントリ2がミドルフォーマンス1(図3のMiddle1)、ページテーブルエントリ3がローパフォーマンス、ページテーブルエントリ4がハイパフォーマンスに指定されている。またメモリマップを参照すると、ページテーブルエントリ0、1に対応するメモリ領域501、502をOS210が使用し、ページテーブルエントリ2、3、4に対応するメモリ領域503、504、505をアプリケーションプログラム220が使用している。
【0027】
本実施の形態におけるCPU101は、上記ページテーブルエントリに記述された動作性能属性を読み込み、当該属性値に応じてコントローラ111に指示を行い、クロック発信器112のクロック周波数を変更させることができる。したがって、CPU101は、メインメモリ103の所定のメモリ領域501〜505から実行すべき命令コードを読み込んだ際に、当該命令コードが展開されていたメモリ領域501〜505を認識し、当該メモリ領域501〜505に対応するページテーブルエントリ0〜nを参照することにより、当該命令コードを実行すべき動作性能の情報である動作性能属性を取得する。そして、当該属性値をコントローラ111に指示し、必要に応じてクロック発信器112のクロック周波数を変更することにより、所望の動作クロックで動作し、当該命令コードを実行することとなる。
図5において、OS210のうち、高速な処理を必要としない入出力待ちファンクション213は、ローパフォーマンスのメモリ領域502が割り当てられている。したがって、本実施の形態におけるCPU101は、100MHzの低速な動作性能で当該入出力待ちファンクション213を実行する。同様にOS210のカーネル212及びアプリケーションプログラム220の各命令コードが、提供する機能において要求されるCPU101の動作性能に応じて、メモリ領域501〜505の所定の位置に割り当てられることとなる。
【0028】
図6は、本実施の形態においてOS210をメインメモリ103へロードする際の動作を説明するフローチャートである。
まず、OS210のカーネル212が使用するメモリ領域(例えば図5のメモリ領域501、502)に対応するページテーブルエントリ(図5の例ではPTE0、1)に動作性能属性を設定する(ステップ601)。そして、カーネル212における高速な処理を要するセクションをハイパフォーマンスのメモリ領域(図5の例ではメモリ領域501)へロードし(ステップ602)、高速な処理を要しないセクションをローパフォーマンスのメモリ領域(図5の例ではメモリ領域502)へロードする(ステップ603)。
以上のようにして、OS210の機能ごとに適切なCPU101の動作性能が指定され、CPU101は各機能を実行する際に、指定された動作性能で処理を実行することとなる。なお、OS210におけるいずれのセクションをどの動作性能で実行させるかについては、例えばOS210の設計の際に設定することができ、OS210の起動時にかかる設定にしたがって各セクションをロードすることが可能である。
【0029】
アプリケーションプログラム220においては、当該アプリケーションプログラム220を実行する際のCPU101の動作性能をユーザが指定することも可能である。
図7は、ユーザによるCPU101の動作性能の設定を受け付ける動作を説明するフローチャートである。
図7を参照すると、まず、ディスプレイ装置にアプリケーションプログラム220のプロパティ設定の画面を表示して実行速度の選択の入力を待つ(ステップ701)。プロパティ設定の画面は、例えば、OS210を米国マイクロソフト社のWindowsとする場合、マウスの右クリックで表示されるメニューの中からプロパティの項目を選択することにより表示するようなユーザインターフェイスとすることができる。
次に、ユーザによる実行速度を選択する操作が行われ(ステップ702)、選択結果がレジストリファイルに保存される(ステップ703)。
以上の操作により、アプリケーションプログラム220を実行する際のCPU101の動作性能が設定され、アプリケーションプログラム220は、メインメモリ103に読み込まれる際に、該当するメモリ領域が割り当てられることとなる。
【0030】
次に、アプリケーションプログラム220の実行時におけるCPU101の動作を説明する。
図8は、アプリケーションプログラム220を起動し実行する際の処理の流れを示すフローチャート、図9は、アプリケーションプログラム220の実行時におけるCPU101の処理を説明するフローチャートである。
【0031】
図8を参照すると、アプリケーションプログラム220の起動命令の入力に応じて、まず図7に示した操作で行われた当該アプリケーションプログラム220の実行速度の設定を検査する(ステップ801)。そして、検査により取得された実行速度の設定がOS210のページテーブル211における該当するページテーブルエントリの動作性能属性にセットされる(ステップ802)。
次に、アプリケーションプログラム220がメインメモリ103にロードされ(ステップ803)、CPU101にて実行される(ステップ804)。
【0032】
ステップ804のCPU101によるアプリケーションプログラム220の実行は、次のように行われる。
図9を参照すると、まずCPU101がメインメモリ103を読み込み(ステップ901)、OS210のページテーブル211における該当するページテーブルエントリの動作性能属性の指定値を検査する(ステップ902)。そして、動作性能を変更する必要がなければ、そのまま当該アプリケーションプログラム220の命令コードを実行する(ステップ903、905)。
一方、動作性能を変更する必要がある場合、コントローラ111に動作性能の指定値を指示してクロック発信器112のクロック数を変更する動作性能変更処理を実行した後(ステップ903、904)、当該アプリケーションプログラム220の命令コードを実行する(ステップ905)。
【0033】
図10及び図11は、本実施の形態によるメモリマッピングの様子を概略的に示す図である。
図10に示すように、メモリマップ上に、CPUを高速に動作させるハイパフォーマンス領域1001、中速で動作させるノーマルパフォーマンス領域1002、低速で動作させるローパフォーマンス領域1003を設定する。そして、高速な処理を要するセクションはハイパフォーマンス領域1001を使用領域とし、高速な処理を要しないセクションはノーマルパフォーマンス領域1002やローパフォーマンス領域1003を使用領域とする。図示の例では、カーネルモードモジュールの使用領域をハイパフォーマンス領域1001とし、短時間固定でデバイスからの応答を待つルーチン(I/Oバウンドのタスク)の使用領域をローパフォーマンス領域1003としている。
また図11に示すように、所定のアプリケーションプログラムにおいて、通常はハイパフォーマンス領域1001を用いて高速な処理を実現し、入力待ちとなるアイドル・ループ処理がローパフォーマンス領域1003を使用して処理速度を落とすように設定することも可能である。
【0034】
次に、上記方法2に対応する実施の形態2によるCPUのパワーマネージメントについて説明する。
実施の形態2は、予め決められた実施の形態1と同様に、図1に示したコンピュータ装置にて実行される。
図12は、図1に示したコンピュータ装置を用いて、上述した方法2、すなわち、所定のインストラクション・シーケンス(命令列)を指定し、そのインストラクションで必要とするCPUの動作性能を指定する方法によるCPUのパワーマネージメントを行う場合のシステム構成を示す図である。
図12において、ソフトウェアであるOS1210及びアプリケーションプログラム1220は、図1のハードディスク105に格納され、メインメモリ103に読み込まれてCPU101の動作を制御する。
本実施の形態では、OS1210またはアプリケーションプログラム1220にCPU101の動作性能を指定する命令コード(以下、パフォーマンス指定命令と称す)が記述されており、CPU101は、パフォーマンス指定命令に基づいてコントローラ111に動作性能の指定値を指示し、クロック発信器112を制御させることで指定された動作性能を実現する。
【0035】
OS1210は、CPU101の動作速度を変更して実行したいプログラムファンクションに対して所望のパフォーマンス指定命令を記述している。図12に示す例では、入出力待ちファンクション(I/O wait function)1211にパフォーマンス指定命令が記述されている。また、アプリケーションプログラム1220に対しても、プログラム全体あるいは所定のプログラムファンクションごとにパフォーマンス指定命令を記述することができる。
【0036】
本実施の形態におけるCPU101は、上記プログラム中に記述されたパフォーマンス指定命令を読み込み、当該命令に応じてコントローラ111に指示を行い、クロック発信器112のクロック周波数を変更させることができる。したがって、CPU101は、OS1210やアプリケーションプログラム1220といったプログラムを実行する過程でパフォーマンス指定命令を読み込んだ際に、当該パフォーマンス指定命令に基づいて、所望の動作性能の指定値を取得する。そして、当該指定値をコントローラ111に指示し、必要に応じてクロック発信器112のクロック周波数を変更することにより、所望の動作クロックで動作し、当該命令コードを実行することとなる。
【0037】
図13は、プログラム中に記述されるパフォーマンス指定命令とCPU101の動作性能との関係を示す図表である。
図13に示す例では、CPU101の動作性能は、High(1.5GHz)、Middle1(1.0GHz)、Middle2(500MHz)、Low(100MHz)の4段階が設定されており、さらに直前の動作性能に復帰するためのレジュームパフォーマンスが設定されている。各設定に対するパフォーマンス指定命令は、Highが「Jmp $+6 DB "@Hi_"」、Middle1が「Jmp $+6 DB "@Md1"」、Middle2が「Jmp $+6 DB "@Md2"」、Lowが「Jmp $+6 DB "@Low"」、レジュームパフォーマンスが「Jmp $+6 DB "@Res"」である。
CPU101は、プログラム中に記述された上記のようなパフォーマンス指定命令を読み込むと、当該パフォーマンス指定命令にて指示されたクロックまたは電圧で、その後のインストラクションを実行する。
【0038】
次に、上記のようなパフォーマンス指定命令が記述されたプログラムを実行する際のCPU101の動作を説明する。
例として、プログラム中に、次のような命令シーケンスがあるものとする。
・ローパフォーマンス(Low)命令:Jmp $+6 DB "@Low"
・高速な実行速度を必要としないプログラムファンクション
・レジュームパフォーマンス命令:Jmp $+6 DB "@Res"
【0039】
図14は、上記の命令シーケンスを読み込んだ際のCPUの動作を説明するフローチャートである。なお、初期的にCPU101はハイパフォーマンスY(High)の動作性能(1.5GHz)で動作しているものとする。
図14を参照すると、CPU101は、まずメインメモリ103の先読み(プリフェッチ)でローパフォーマンス命令を認識する(ステップ1401)。そして、コントローラ111に指示してクロック発信器112を制御することにより、ローパフォーマンス(Low)の動作性能(100MHz)に変更する(ステップ1402)。この後、変更された動作性能で、高速な実行速度を必要としないプログラムファンクションを読み込んで実行する(ステップ1403)。
次に、CPU101は、メインメモリ103の先読み(プリフェッチ)でレジュームパフォーマンス命令を認識する(ステップ1404)。そして、コントローラ111に指示してクロック発信器112を制御することにより、動作性能変更前のハイパフォーマンス(High)の動作性能(1.5GHz)に戻す(ステップ1405)。これ以後、CPU101は再びハイパフォーマンス(High)における高速な実行速度でプログラムファンクションを読み込み、実行する。
【0040】
上述したように、本実施の形態は、CPU101の動作状態に応じてパワーマネージメントを行うのではなく、命令シーケンス、すなわちCPU101がどのような処理を行うかに基づいてパワーマネージメントを行うため、I/Oバウンドの処理やアイドル・ループ処理のようにCPU101が無駄な処理を実行する場合に、きめ細かくCPU101の動作性能を落とし、消費電力の低下及び発熱の抑制を行うことができる。
また、CPU101の待ち時間における消費電力を抑える機能を、メモリやCPU自体に組み込んだため、デバイスドライバを変更する必要はない。また、予め定められた処理の命令シーケンスを対象としてCPU101の動作性能を制御するため、不必要に動作性能を低下させてしまうおそれもない。
【0041】
さらにまた、今後、CPU101の実行速度はさらに高速化することが予想されるが、画像処理などの一部の分野ではCPU101の性能を十分に活かせるものの、主としてテキストデータを扱うワードプロセッサなどのようにCPU101の能力をそれほど必要としないアプリケーションプログラムも多い。
そこで、上記実施の形態のように、所定の処理を行う場合にCPU101の動作性能を低下させるのではなく、通常はある程度CPU101の動作性能を抑えて動作させ、画像処理のようなCPU101の高い性能を要する処理や、そのような処理を多く含むゲームなどのアプリケーションソフトを実行する場合に個別にCPU101の動作性能を高めるといった制御を行うことも可能である。
【0042】
【発明の効果】
以上説明したように、本発明によれば、デバイスとの関係やプログラムの処理の過程でCPUが待ち時間を必要とする場合に、このCPUの動作性能を低下させて消費電力を抑え、システム全体の消費電力と熱の発生とを抑えることを可能とする。
【図面の簡単な説明】
【図1】 実施の形態1によるCPUのパワーマネージメントを実行するコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図2】 図1に示したコンピュータ装置を用いて、方法1によるCPUのパワーマネージメントを行う場合のシステム構成を示す図である。
【図3】 実施の形態1におけるページテーブルエントリの記述例を示す図である。
【図4】 図3のページテーブルエントリにおける動作性能属性の記述とCPUの動作性能との関係を示す図表である。
【図5】 実施の形態1におけるページテーブルエントリにて指定された動作性能を反映させたメモリマップの例を示す図である。
【図6】 実施の形態1において、OSをメモリへロードする際の動作を説明するフローチャートである。
【図7】 実施の形態1において、ユーザによるCPUの動作性能の設定を受け付ける動作を説明するフローチャートである。
【図8】 実施の形態1において、アプリケーションプログラムを起動し実行する際の処理の流れを示すフローチャートである。
【図9】 図8のアプリケーションプログラムの実行時におけるCPUの処理を説明するフローチャートである。
【図10】実施の形態1におけるメモリマッピングの様子を概略的に示す図であり、I/Oバウンドのタスクをローパフォーマンス領域に読み込んだ状態を示す。
【図11】実施の形態1におけるメモリマッピングの様子を概略的に示す図であり、アイドル・ループ処理をローパフォーマンス領域に読み込んだ状態を示す。
【図12】図1に示したコンピュータ装置を用いて、方法2によるCPUのパワーマネージメントを行う場合のシステム構成を示す図である。
【図13】実施の形態2におけるプログラム中に記述されるパフォーマンス指定命令とCPUの動作性能との関係を示す図表である。
【図14】実施の形態2において、命令シーケンスを読み込んだ際のCPUの動作を説明するフローチャートである。
【符号の説明】
101…CPU(Central Processing Unit:中央処理装置)、102…M/B(マザーボード)チップセット、103…メインメモリ、105…ハードディスク、111…コントローラ、112…クロック発信器、210、1210…OS(Operating System:オペレーティングシステム)、211…ページテーブル、212…カーネル(Kernel Function)、213、1211…入出力待ちファンクション(I/O wait function)、220、1220…アプリケーションプログラム

Claims (13)

  1. CPU(Central Processing Unit)の動作性能を動的に制御するCPU制御方法において、
    メモリ上のメモリ領域と当該メモリ領域に展開された命令コードを実行する際の前記CPUの動作性能に関する情報とを対応付けた対応情報を、ページングによるメモリ管理手段を用いて生成するステップと、
    前記CPUが実行すべき命令コードを読み込み、かつ前記対応情報を参照して当該命令コードを実行する際の動作性能に関する情報を取得するステップと、
    前記動作性能に関する情報に基づいて決定された値に前記CPUの動作性能を動的に設定するステップと、
    設定された前記動作性能で前記CPUが前記命令コードを実行するステップと
    を含むことを特徴とするCPU制御方法。
  2. 前記動作性能に関する情報を取得するステップでは、読み込まれた前記命令コードが展開されていた前記メモリ領域に関する前記対応情報から当該命令コードを実行する際の動作性能に関する情報を取得することを特徴とする請求項1に記載のCPU制御方法。
  3. CPU(Central Processing Unit)の動作性能を動的に制御するCPU制御方法において、
    OS(Operating System)の起動時に、ページングによるメモリ管理手段により、メモリ上のメモリ領域と前記CPUの動作性能との対応関係を設定するステップと、
    前記OSのプログラムにおける任意のセクションを、当該セクションの処理を実行する際に所望する前記CPUの動作性能に応じて、当該動作性能に対応付けられたメモリ領域へロードするステップと、
    前記メモリから実行すべき命令コードを読み込んだ際に、当該命令コードが展開されていた前記メモリ領域に基づき、当該メモリ領域に対応付けられている動作性能で動作するように前記CPUを設定するステップと、
    設定された前記動作性能で前記CPUが前記命令コードを実行するステップと
    を含むことを特徴とするCPU制御方法。
  4. 前記対応関係を設定するステップでは、物理アドレスと論理アドレスとをマッピングするページテーブルのエントリに前記CPUの動作性能に関する情報を記述することを特徴とする請求項3に記載のCPU制御方法。
  5. プログラムに記述された命令コードを読み込んで実行するCPU(Central Processing Unit)と、
    ページングによりメモリ管理を行うと共に、メモリ上のメモリ領域と当該メモリ領域に展開された命令コードを実行する際の前記CPUの動作性能に関する情報とを対応付けた対応情報を保持するメモリ管理手段と、
    前記CPUの動作クロックを制御するクロック制御手段とを備え、
    前記CPUは、所定の命令コードを実行する場合に、前記メモリ管理手段に保持されている前記対応情報を参照し、当該命令コードが展開されていたメモリ領域に対して対応付けられた動作性能に関する情報に基づいて前記クロック制御手段に指示を行い、動作クロックを動的に変更することを特徴とするコンピュータ装置。
  6. 前記メモリ管理手段は、物理アドレスと論理アドレスとをマッピングするページテーブルであり、当該ページテーブルのエントリに前記CPUの動作性能に関する情報が記述されることを特徴とする請求項5に記載のコンピュータ装置。
  7. 前記メモリ管理手段は、物理アドレスと論理アドレスとをマッピングするページディレクトリであり、当該ページディレクトリのエントリに前記CPUの動作性能に関する情報が記述されることを特徴とする請求項5に記載のコンピュータ装置。
  8. 前記CPUは、I/Oバウンドの処理を行う場合に、前記動作性能に関する情報に基づいて前記クロック制御手段に指示を行い、動作クロックを動的に変更することを特徴とする請求項5に記載のコンピュータ装置。
  9. 前記CPUは、入力待ちのアイドル・ループ処理を行う場合に、前記動作性能に関する情報に基づいて前記クロック制御手段に指示を行い、動作クロックを動的に変更することを特徴とする請求項5に記載のコンピュータ装置。
  10. クロック発信器を制御して動作クロックを動的に変更可能なCPU(Central Processing Unit)であって、
    メモリから命令コードを読み込む命令読み込み手段と、
    ページングによりメモリ管理を行うと共にメモリ上のメモリ領域と当該メモリ領域に展開された命令コードを実行する際の前記CPUの動作性能に関する情報とを対応付けた対応情報を保持するメモリ管理手段から、読み込んだ前記命令コードが展開されていたメモリ領域に対応付けられた動作性能に関する情報を取得する情報取得手段と、
    取得された前記動作性能に関する情報に基づいて前記クロック発信器のコントローラに動作クロックの変更指示を行う指示手段とを備え、
    前記コントローラに対して行われた前記動作クロックの変更指示により動的に制御された動作クロックにしたがって動作することを特徴とするCPU。
  11. 前記メモリ管理手段は、物理アドレスと論理アドレスとをマッピングしエントリに前記CPUの動作性能に関する情報が記述されたページテーブルであり、前記情報取得手段は、読み込んだ前記命令コードが展開されていたメモリ領域に対応する当該ページテーブルのエントリを参照して前記動作性能に関する情報を取得することを特徴とする請求項10に記載のCPU。
  12. 前記メモリ管理手段は、物理アドレスと論理アドレスとをマッピングしエントリに前記CPUの動作性能に関する情報が記述されたページディレクトリであり、前記情報取得手段は、読み込んだ前記命令コードが展開されていたメモリ領域に対応する当該ページディレクトリのエントリを参照して前記動作性能に関する情報を取得することを特徴とする請求項10に記載のCPU。
  13. コンピュータを制御するプログラムであって、
    OS(Operating System)の起動時に、ページングによるメモリ管理手段により、メモリ上のメモリ領域とCPU(Central Processing Unit)の動作性能との対応関係を設定する機能と、
    前記OSのプログラムにおける任意のセクションを、当該セクションの処理を実行する際に所望する前記CPUの動作性能に応じて、当該動作性能に対応付けられたメモリ領域へロードする機能と、
    取得された前記動作性能に関する情報に基づいてクロック発信器のコントローラに動作クロックの変更指示を行う機能と
    を前記コンピュータに実現させることを特徴とするプログラム。
JP2001393336A 2001-12-26 2001-12-26 Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム Expired - Fee Related JP3685401B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001393336A JP3685401B2 (ja) 2001-12-26 2001-12-26 Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム
US10/328,808 US20030140264A1 (en) 2001-12-26 2002-12-24 Control method, program and computer apparatus for reducing power consumption and heat generation by a CPU during wait

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001393336A JP3685401B2 (ja) 2001-12-26 2001-12-26 Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム

Publications (2)

Publication Number Publication Date
JP2003196083A JP2003196083A (ja) 2003-07-11
JP3685401B2 true JP3685401B2 (ja) 2005-08-17

Family

ID=19188758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001393336A Expired - Fee Related JP3685401B2 (ja) 2001-12-26 2001-12-26 Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム

Country Status (2)

Country Link
US (1) US20030140264A1 (ja)
JP (1) JP3685401B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115823A (en) * 1997-06-17 2000-09-05 Amphus, Inc. System and method for task performance based dynamic distributed power management in a computer system and design method therefor
AU2003283550A1 (en) * 2003-01-13 2004-08-10 Arm Limited Data processing performance control
US20040250035A1 (en) * 2003-06-06 2004-12-09 Atkinson Lee W. Method and apparatus for affecting computer system
JP4549652B2 (ja) * 2003-10-27 2010-09-22 パナソニック株式会社 プロセッサシステム
US20060206732A1 (en) * 2005-03-14 2006-09-14 Sony Computer Entertainment Inc. Methods and apparatus for improving processing performance using instruction dependency check depth
US7634678B2 (en) * 2006-02-07 2009-12-15 Omx Technology Ab Application software initiated speedup
US8397097B2 (en) 2008-04-09 2013-03-12 Nec Corporation Computer system and operating method thereof
JP5459207B2 (ja) 2008-06-30 2014-04-02 富士通株式会社 情報処理装置の性能調整装置及び方法
KR101543326B1 (ko) 2009-01-05 2015-08-10 삼성전자주식회사 시스템 온 칩 및 그 구동 방법
JP6042217B2 (ja) * 2013-01-28 2016-12-14 ルネサスエレクトロニクス株式会社 半導体装置、電子装置、及び半導体装置の制御方法
JP6207342B2 (ja) 2013-10-30 2017-10-04 富士通株式会社 情報処理システムおよび情報処理システムの制御方法
US10387312B2 (en) * 2014-01-03 2019-08-20 Eta Scale Ab System and method for event monitoring in cache coherence protocols without explicit invalidations
CN105068638B (zh) * 2015-07-28 2018-01-23 广东欧珀移动通信有限公司 一种智能手表的控制方法及智能手表
CN105930134B (zh) * 2016-04-20 2018-10-23 同光科技有限公司 一种仪表指令处理方法、处理器及仪表
JP7374588B2 (ja) * 2019-02-06 2023-11-07 キヤノン株式会社 Pciデバイスに接続される省電力状態に移行可能なデバイスを備える電子機器およびその制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5142684A (en) * 1989-06-23 1992-08-25 Hand Held Products, Inc. Power conservation in microprocessor controlled devices
JPH0934867A (ja) * 1995-07-24 1997-02-07 Mitsubishi Electric Corp マイクロコンピュータ
US5774703A (en) * 1996-01-05 1998-06-30 Motorola, Inc. Data processing system having a register controllable speed
JPH10275140A (ja) * 1997-03-31 1998-10-13 Nec Ic Microcomput Syst Ltd マイクロコンピュータ
US6859886B1 (en) * 2001-10-02 2005-02-22 Lsi Logic Corporation IO based embedded processor clock speed control

Also Published As

Publication number Publication date
JP2003196083A (ja) 2003-07-11
US20030140264A1 (en) 2003-07-24

Similar Documents

Publication Publication Date Title
JP3685401B2 (ja) Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム
JP3580630B2 (ja) 消費電力を管理するシステム及び電源を管理する方法
CN100492295C (zh) 利用指针来再排序指令的方法和装置
JP4249763B2 (ja) コンピュータ・システム、及び、その性能・電力消費の管理をする方法
US7137017B2 (en) Method and apparatus for controlling processor operation speed
US7340621B2 (en) Power conservation techniques for a digital computer
CN1189828C (zh) 图形控制器以及图形控制器中使用的电源管理方法
JP2006508468A (ja) マルチスレッド・プロセッサ性能を制御する装置及び方法
US6336153B1 (en) High-speed hybernation
JP2004280269A (ja) 情報処理装置、プログラム、記録媒体、及び制御回路
WO1999017187A1 (en) Method and apparatus for power management
JP2002123424A (ja) コンピュータ・システムにおいてメモリを動的に再割当てするシステムおよび方法
JP3467631B2 (ja) ロジックlsi
JP4482275B2 (ja) オペレーティングシステムサポートのために一定の時間基準を用いるマルチモード電力管理システムのハードウェアアーキテクチャ
JP2000276370A (ja) マイクロコンピュータ、電子機器及びエミュレーション方法
US6393498B1 (en) System for reducing processor workloads with memory remapping techniques
JP2009070389A (ja) 処理装置のためのコントローラ
JP2003308138A (ja) 電子機器および電子機器の駆動制御方法
KR100699268B1 (ko) 하드 디스크 드라이브의 플래쉬 메모리를 메인 &비디오메모리로 사용 할 수 있는 컴퓨터
US7512770B2 (en) Buffering apparatus and buffering method using ring buffer
CN117078499B (zh) 双显卡渲染处理方法、装置、计算设备及可读存储介质
US7415592B2 (en) Ring-buffer based buffering apparatus and method of using memory apparatus
JPH11306074A (ja) 情報処理装置
US20100327938A1 (en) System and method for clock control for power-state transitions
JP3134811B2 (ja) データ処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050408

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: 20050502

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050526

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: 20080610

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090610

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees