JP4078644B2 - 情報処理装置および方法、並びにプログラム - Google Patents

情報処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP4078644B2
JP4078644B2 JP2003001721A JP2003001721A JP4078644B2 JP 4078644 B2 JP4078644 B2 JP 4078644B2 JP 2003001721 A JP2003001721 A JP 2003001721A JP 2003001721 A JP2003001721 A JP 2003001721A JP 4078644 B2 JP4078644 B2 JP 4078644B2
Authority
JP
Japan
Prior art keywords
control
power
time
power limit
setting
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
JP2003001721A
Other languages
English (en)
Other versions
JP2004213503A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003001721A priority Critical patent/JP4078644B2/ja
Priority to US10/750,816 priority patent/US7171572B2/en
Publication of JP2004213503A publication Critical patent/JP2004213503A/ja
Application granted granted Critical
Publication of JP4078644B2 publication Critical patent/JP4078644B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びに、プログラムに関し、特に、品質事故を防ぎつつ、実際に必要な制限量で、情報処理装置の消費電力を制限する制御であって、継承と標準化が容易な制御を実行することができるようにした情報処理装置および方法、並びに、プログラムに関する。
【0002】
【従来の技術】
近年、CPU(Central Processing Unit)の能力の増大は著しいものがあるが、その能力の増大に比例して、その最大消費電力の増大も著しいものになっている。
【0003】
一方、最大消費電力を消費する動作状態で、CPUが使用されるケースは少なく、ほとんどのケースにおいては(通常の動作状態においては)、近年登場したCPUでも、それ以前のCPUとさほど変わりない消費電力で動作している。
【0004】
従って、近年、このようなCPUが搭載される情報処理装置に対して、電力を供給する電力供給装置(以下、電源装置とも称する)の設計は、より困難なものとなっている。
【0005】
即ち、例えば、一般的な電源装置の設計においては、最大消費電力が着目される。具体的には、情報処理装置に搭載されるCPU、その他チップ、内蔵ドライブ、および、外部機器接続用端子に接続され得る機器などの全てが、それぞれ同時、かつ最大限に動作した状態での最大消費電力量を想定して、想定した最大消費電力量を供給可能なように、電源装置が設計される。
【0006】
しかしながら、このようにして設計される電源装置は、大型で価格の高いものとなってしまう。
【0007】
従って、そのような大型で価格の高い電源装置は、例えば、持ち運び可能が前提とされるモバイルコンピュータやノート型パーソナルコンピュータ(以下、適宜、ノート型パソコンと略記する)などの携帯型情報処理装置の電源装置としては不適である。
【0008】
また、上述したように、実際のところ、最大消費電力を消費する動作状態で、CPUが使用されるケースは少ないため、単に最大消費電力に着目して設計された電源装置は、過剰な能力を有するものとなってしまう。
【0009】
一方、通常の動作状態でのCPUの消費電力に着目し、CPUの最大消費電力を考慮しないで電源装置が設計された場合、CPUが最大消費電力付近で動作すると、その電源装置の電力供給超過が発生することになる。
【0010】
この電力供給超過が発生すると、品質事故防止のため、電源装置はその電力の供給を止めてしまう。従って、その電源装置を使用する情報処理装置にとっては、突然、電力の供給が遮断された状態となり、情報処理装置内の整合性を維持することができない。即ち、データ損失等が発生してしまう。
【0011】
従って、電源装置にのみ着目するだけではなく、情報処理装置自身の消費電力を減らす工夫も必用である。このような工夫は、従来においても行われている。例えば、特許文献1には、情報処理装置の予測最大消費電力が、所定の閾値を超えた場合、CPUの動作モードを変更して情報処理装置の消費電力を制限する手法が開示されている。
【0012】
【特許文献1】
特開2000−172387号公報
【0013】
【発明が解決しようとする課題】
しかしながら、特許文献1の手法において、情報処理装置の最大消費電力として利用される値は、情報処理装置に搭載されたベース負荷とCPUの動作状態に基づいて予測演算された予測値である。このベース負荷やCPUは、情報処理装置の機種毎に異なるものであり、各機種のそれぞれに対して、専用の予測演算が必要となる。その結果、機種の異なる情報処理装置への制御(特許文献1の手法が適用される制御)の継承には多くの手間がかかり、制御の標準化が困難であるという第1の課題がある。
【0014】
また、特許文献1の手法においては、最悪条件下でも品質事故が発生しないように、非常に大きな制限量で電力制限を行う必要がある。その結果、実際に必要な制限量よりも遥かに大きな制限量で電力制限がかかることになり、電力制限時の情報処理装置のパフォーマンスが非常に悪化するという第2の課題がある。
【0015】
一方、特許文献1の手法においては、CPUの動作モードが変更されるまでに時間がかかる(例えば、インテル(Intel)社のスロットリングモードに変更される場合、制御が設定されてから、実際に制御が開始されるまでの時間(ディレイ時間)として、2秒が仕様として規定されている)ため、消費電力を制限量まで制限できない恐れがあるという課題もある。即ち、上述した品質事故が発生してしまう恐れがあるという第3の課題がある。
【0016】
本発明は、このような状況を鑑みてなされたものであり、品質事故を防ぎつつ、実際に必要な制限量で、情報処理装置の消費電力を制限する制御であって、継承と標準化が容易な制御を実行することができるようにするものである。
【0017】
【課題を解決するための手段】
本発明の情報処理装置は、プロセッサを有する情報処理装置であって、情報処理装置が消費する電力を監視し、監視した電力が所定の閾値を超えた場合、電力の制限を要求する電力制限要求を出力する電力監視手段と、電力監視手段より電力制限要求が出力された場合、プロセッサの稼働率を制限することで電力を制限する制御として、第1の制御を設定する第1の設定手段と、電力監視手段より電力制限要求が出力された場合、プロセッサの稼働率を制限することで電力を制限する制御として、第2の制御を設定する第2の設定手段と、第1の設定手段により設定された第1の制御を実行する第1の制御手段と、第2の設定手段により設定された第2の制御を実行する第2の制御手段とを備え、第1の制御手段は、第1の設定手段により第1の制御が設定された時点から第1の時間が経過した第1の時刻に、第1の制御を開始し、第2の制御手段は、第1の時刻よりも前の第2の時刻に、第2の制御を開始し、 第2の設定手段は、第2の時刻よりも後であって、第1の時刻よりも前の第3の時刻に、第2の制御手段による第2の制御の解除を設定し、第2の制御手段は、第2の設定手段により第2の制御の解除が設定された時点で、第2の制御を解除し、第1の設定手段は、第2の制御手段により第2の制御が実行されている間に、電力監視手段から電力制限要求が出力されなかった場合、第1の時刻の前に、第1の制御手段による第1の制御の解除を設定し、電力監視手段から電力制限要求が出力された場合、第1の時刻から第2の時間が経過した第4の時刻に、第1の制御手段による第1の制御の解除を設定し、第1の制御手段は、第1の設定手段により第1の制御の解除が設定された時点で、第1の制御を解除し、第2の時間は、第1の時間、および、情報処理装置に電力を供給する電力供給装置の仕様として規定されている Duty Rate に基づいて設定されていることを特徴とする。
【0020】
第2の設定手段は、第2の時刻よりも後であって、第1の時刻よりも前の第3の時刻に、第2の制御手段による第2の制御の解除を設定し、第2の制御手段は、第2の設定手段により第2の制御の解除が設定された時点で、第2の制御を解除するようにすることができる。
【0021】
第1の設定手段は、第2の制御手段により第2の制御が実行されている間に、電力監視手段から電力制限要求が出力されなかった場合、第1の時刻の前に、第1の制御手段による第1の制御の解除を設定し、電力監視手段から電力制限要求が出力された場合、第1の時刻から第2の時間が経過した第4の時刻に、第1の制御手段による第1の制御の解除を設定し、第1の制御手段は、第1の設定手段により第1の制御の解除が設定された時点で、第1の制御を解除するようにすることができる。
【0023】
第1の設定手段は、電力監視手段より電力制限要求が出力された場合、第1の制御手段に対して第1の制御を設定するとともに、さらに、第2の設定手段に対して、第2の制御の実行を要求する実行要求を出力し、第2の設定手段は、第1の設定手段から出力された実行要求を検出した時刻を第2の時刻として、第2の制御手段に対して第2の制御を設定するようにすることができる。
【0024】
第1の設定手段は、さらに、第1の時刻より前の所定のタイミングで、第2の設定手段に対して、第2の制御の解除を要求する解除要求を出力し、第2の設定手段は、第1の設定手段から出力された解除要求を検出した時点を第3の時刻として、第2の制御手段に対して第2の制御の解除を設定するようにすることができる。
【0025】
第2の設定手段は、第2の制御手段に対して第2の制御を設定した後、さらに、第1の設定手段に対して、第2の制御を設定したことを応答する応答情報を出力するようにすることができる。
【0026】
第1の設定手段は、第2の設定手段から出力されるはずの応答情報を検出しなかった場合、第2の設定手段に対して、第2の制御の解除を要求する解除要求を出力するとともに、電力監視手段からの電力制限要求の出力の有無に関わらず、第4の時刻に、第1の制御手段に対して第1の制御の解除を設定するようにすることができる。
【0027】
第1の制御は、スロットリング制御であるようにすることができる。
【0028】
第2の制御は、スロットリング制御であるようにすることができる。
【0029】
第2の制御は、TCC(Thermal Control Circuit)による制御であるようにすることができる。
【0030】
第2の制御は、多段階電圧スケーリング制御であるようにすることができる。
【0031】
本発明の情報処理方法は、プロセッサを有する情報処理装置の情報処理方法であって、情報処理装置が消費する電力を監視し、監視した電力が所定の閾値を超えた場合、電力の制限を要求する電力制限要求を生成する電力監視ステップと、電力監視ステップの処理により電力制限要求が生成された場合、プロセッサの稼働率を制限することで電力を制限する制御として、第1の制御を設定する第1の設定ステップと、電力監視ステップの処理により電力制限要求が生成された場合、プロセッサの稼働率を制限することで電力を制限する制御として、第2の制御を設定する第2の設定ステップと、第1の設定ステップの処理により設定された第1の制御を実行する第1の制御ステップと、第2の設定ステップの処理により設定された第2の制御を実行する第2の制御ステップとを含み、第1の制御ステップは、第1の設定ステップの処理により第1の制御が設定された時点から第1の時間が経過した第1の時刻に、第1の制御を開始するステップを含み、第2の制御ステップは、第1の時刻よりも前の第2の時刻に、第2の制御を開始するステップを含み、第2の設定ステップは、第2の時刻よりも後であって、第1の時刻よりも前の第3の時刻に、第2の制御ステップの処理による第2の制御の解除を設定するステップを含み、第2の制御ステップは、第2の設定ステップの処理により第2の制御の解除が設定された時点で、第2の制御を解除するステップを含み、第1の設定ステップは、第2の制御ステップの処理により第2の制御が実行されている間に、電力監視ステップの処理によって電力制限要求が出力されなかった場合、第1の時刻の前に、第1の制御ステップの処理による第1の制御の解除を設定し、電力監視ステップの処理によって電力制限要求が出力された場合、第1の時刻から第2の時間が経過した第4の時刻に、第1の制御ステップの処理による第1の制御の解除を設定するステップを含み、第1の制御ステップは、第1の設定ステップの処理により第1の制御の解除が設定された時点で、第1の制御を解除するステップを含み、第2の時間は、第1の時間、および、情報処理装置に電力を供給する電力供給装置の仕様として規定されている Duty Rate に基づいて設定されていることを特徴とする情報処理方法。
【0032】
本発明のプログラムは、プロセッサと、情報処理装置が消費する電力を監視し、監視した電力が所定の閾値を超えた場合、電力の制限を要求する電力制限要求を出力する電力監視装置と、プロセッサの稼働率を制限することで電力を制限する制御として、第1の制御を実行する第1の制御機構と、プロセッサの稼働率を制限することで電力を制限する制御として、第2の制御を実行する第2の制御機構と、ハードウエアとしての第1のインタフェースを介して第1の制御機構とデータの受け渡しを実行するとともに、ソフトウエアとしての第2のインタフェースを介して第2の制御機構とデータの受け渡しを実行するマイクロコンピュータとを備える情報処理装置において、マイクロコンピュータに実行させるプログラムであって、電力監視装置より電力制限要求が出力された場合、第1のインタフェースを介して、第1の制御機構に対して第1の制御を設定する第1の設定ステップと、電力監視装置より電力制限要求が出力された場合、第2のインタフェースを介して、第2の制御機構に対して第2の制御を設定する第2の設定ステップとを含み、第1の制御ステップは、第1の設定ステップの処理により第1の制御が設定された時点から第1の時間が経過した第1の時刻に、第1の制御を開始するステップを含み、第2の制御ステップは、第1の時刻よりも前の第2の時刻に、第2の制御を開始するステップを含み、第2の設定ステップは、第2の時刻よりも後であって、第1の時刻よりも前の第3の時刻に、第2の制御ステップの処理による第2の制御の解除を設定するステップを含み、第2の制御ステップは、第2の設定ステップの処理により第2の制御の解除が設定された時点で、第2の制御を解除するステップを含み、第1の設定ステップは、第2の制御ステップの処理により第2の制御が実行されている間に、電力監視ステップの処理によって電力制限要求が出力されなかった場合、第1の時刻の前に、第1の制御ステップの処理による第1の制御の解除を設定し、電力監視ステップの処理によって電力制限要求が出力された場合、第1の時刻から第2の時間が経過した第4の時刻に、第1の制御ステップの処理による第1の制御の解除を設定するステップを含み、第1の制御ステップは、第1の設定ステップの処理により第1の制御の解除が設定された時点で、第1の制御を解除するステップを含み、第2の時間は、第1の時間、および、情報処理装置に電力を供給する電力供給装置の仕様として規定されている Duty Rate に基づいて設定されていることを特徴とする。
【0033】
第2のインタフェースは、AML(ACPI Machine Language)またはBIOS(Basic Input Output System)であり、第2の設定ステップの処理は、第2の制御機構に対して第2の制御の実行を要求する実行要求を、SCI(System Control Interrupt)またはSMI(System Management Interrupt)によりAMLまたはBIOSに通知する処理であり、AMLまたはBIOSは、マイクロコンピュータからの実行要求を受けて、第2の制御手段に対して第2の制御を設定するようにすることができる。
【0034】
本発明の情報処理装置および方法、並びにプログラムにおいては、情報処理装置が消費する電力が監視され、監視された電力が所定の閾値を超えた場合、電力の制限を要求する電力制限要求が出力される。すると、プロセッサの稼働率を制限することで電力を制限する制御として、第1の制御と第2の制御が設定され、設定された第1の制御と第2の制御が次のようにして実行される。即ち、第1の制御が設定された時点から第1の時間が経過した第1の時刻に、第1の制御が開始される。一方、第1の時刻よりも前の第2の時刻に、第2の制御が開始される。また、第2の時刻よりも後であって、第1の時刻よりも前の第3の時刻に、第2の制御の解除を設定され、その解除が設定された時点で、第2の制御が解除される。一方、第2の制御が実行されている間に、電力制限要求が出力されなかった場合、第1の時刻の前に、第1の制御の解除が設定され、電力制限要求が出力された場合、第1の時刻から第2の時間が経過した第4の時刻に、第1の制御の解除が設定される。そして、第1の制御の解除が設定された時点で、第1の制御が解除される。第2の時間は、第1の時間、および、情報処理装置に電力を供給する電力供給装置の仕様として規定されている Duty Rate に基づいて設定されている。
【0035】
本発明の情報処理装置は、情報処理装置の内部を流れる電流に基づいて、上述した制御を実行してもよいし、情報処理装置に供給されてくる、情報処理装置の外部を流れる電流に基づいて、上述した制御を実行してもよい。また、情報処理装置の内部および外部を流れる電流を総合的に判断して、上述した制御を実行してもよい。
【0036】
【発明の実施の形態】
図1は、本実施の形態が適用される情報処理装置の構成例を表している。
【0037】
図1の情報処理装置1において、CPU11は、例えば、インテル(Intel)社製のペンティアム(登録商標)プロセッサ等で構成され、フロントサイドバス(FSB)54に接続されている。FSB54には、更に、ノースブリッジ14が接続されており、ノースブリッジ14は、AGP(Accelerated Graphics Port)55を有しているとともに、バス53(インテル社製の場合、ハブインタフェース53)に接続されている。
【0038】
ノースブリッジ14は、例えば、インテル社製のAGP Host Bridge Controllerである440BXなどで構成されており、RAM(Random Access Memory)13(いわゆる、メインメモリ)等を制御する。更に、ノースブリッジ14は、AGP55を介して、ビデオコントローラ15を制御する。ビデオコントローラ15は、LCD(Liquid Crystal Display)16またはVGA(Video Graphics Array)方式のディスプレイ(以下、VGA17と記述する)をコントロールする。
【0039】
ビデオコントローラ15は、CPU11から供給されるデータ(イメージデータまたはテキストデータなど)を受信して、受信したデータに対応するイメージデータを生成するか、または、受信したデータをそのまま内蔵するビデオメモリ(図示せず)に記憶する。ビデオコントローラ15は、LCD16またはVGA17に、ビデオメモリに記憶されているイメージデータに対応する画像を表示させる。LCD16またはVGA17は、ビデオコントローラ15から供給されたデータを基に、画像または文字などを表示する。
【0040】
ノースブリッジ14は、更に、キャッシュメモリ12とも接続されている。キャッシュメモリ12は、SRAM(Static RAM)などRAM13と比較して、より高速な書き込みまたは読み出しの動作を実行できるメモリで構成され、CPU11が使用するプログラムまたはデータをキャッシュする(一時的に記憶する)。
【0041】
なお、CPU11は、その内部に1次的な、キャッシュメモリ12に比較して、より高速に動作でき、CPU11自身が制御するキャッシュを有する。
【0042】
RAM13は、例えば、DRAM(Dynamic RAM)で構成され、CPU11が実行するプログラム、またはCPU11の動作に必要なデータを記憶する。具体的には、例えば、RAM13は、起動が完了した時点において、HDD27からロードされたOS(Operating System)やインターネットプログラムなどを記憶する。
【0043】
OSは、例えば、マイクロソフト社のいわゆるウィンドウズ(登録商標)XP、またはアップルコンピュータ社のいわゆるMac OS(登録商標)等に代表される、コンピュータの基本的な動作を制御するプログラムである。
【0044】
ノースブリッジ14は、ハブインタフェース53を介して、サウスブリッジ18とも接続されている。サウスブリッジ18は、例えば、インテル社製のPIIX4Eなどで構成されており、AC97リンクバス56、USBバス57、または、IDEバス58に接続されるデバイスの制御等、各種のI/O(Input / Output)を制御する。
【0045】
具体的には、AC97リンクバス56には、モデム20、および、サラウンドコントローラ19が接続されている。モデム20は、公衆回線網に接続されており、公衆回線網またはインターネット(いずれも図示せず)を介する通信処理を実行する。サラウンドコントローラ19にはまた、マイクロフォン21とスピーカ22が接続されている。サラウンドコントローラ19は、マイクロフォン21から音声を取り込み、その音声に対応するデータを生成する。サラウンドコントローラ19はまた、スピーカ22を駆動して、スピーカに音声を出力させる。
【0046】
サウスブリッジ18のUSBバス57には、USBコネクタ23が接続され、各種USBデバイスが接続可能になされている。またUSBバス57を介して、メモリースティックスロット24とブルートゥース通信部26が接続されている。メモリースティックスロット24には、メモリースティック(商標)25が装着される。
【0047】
メモリースティック25は、本願出願人であるソニー株式会社によって開発されたフラッシュメモリカードの一種である。このメモリースティック25は、縦21.5×横50×厚さ2.8[mm]の小型薄型形状のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory )の一種であるフラッシュメモリ素子を格納したものであり、10ピン端子を介して画像や音声、音楽等の各種データの書き込み及び読み出しが可能となっている。ブルートゥース通信部26は、ブルートゥース規格による通信を行う。
【0048】
サウスブリッジ18のIDEバス58には、HDD(Hard Disk Drive)27が接続されている。また、IDEバス58には、いわゆるIDEデバイスと称される、CD-ROM(Compact Disc-Read Only Memory)ドライブ28等が電気的に接続される。
【0049】
サウスブリッジ18はまた、信号線72を介して、いわゆるスロットリング制御をCPU11に実行させることができる。スロットリング制御とは、CPU11の発熱を抑えることを主目的として使用される制御であって、CPU11を駆動させたり、させなかったりすることにより、等価的にクロックの周波数を下げる制御(CPU11を間欠的に駆動させ平均値としてクロックの周波数を下げる制御)のことである。換言すると、スロットリング制御は、CPU11の稼働率を制限する制御の1つであり、結果として、CPU11の消費電力を制限することができる。
【0050】
サウスブリッジ18にはまた、PCI(Peripheral Component Interconnect)バス51、および、LPC(Low Pin Count)バス52が接続されている。
【0051】
LPCバス52には、BIOS(Basic Input Output System)30、I/O(Input/Output)インタフェース31、およびコントローラ40が接続されている。
【0052】
BIOS30は、情報処理装置1の基本動作命令を集めたプログラム群であり、例えば、図示しないROM(Read Only Memory)などに記憶されている。また、BIOS30は、OSまたはアプリケーションプログラムと周辺機器との間でのデータの受け渡し(入出力)を制御する。
【0053】
I/Oインタフェース31には、パラレル端子32とシリアル端子33が接続されており、それぞれの端子に接続された機器とのデータの授受を行う。
【0054】
コントローラ40には、ジョグダイヤル43、キーボード44、および、マウス45といった入力機器、並びに電力監視部42などが接続されている。
【0055】
コントローラ40は、例えば、マイクロコンピュータとして構成されており、ジョグダイヤル43、キーボード44、および、マウス45といった入力機器を制御する。
【0056】
本実施の形態においては、コントローラ40はまた、ハードウエアとしての信号線71を介してサウスブリッジ18と接続している。後述するように、コントローラ40は、電力監視部42の監視結果に基づいて、上述したスロットリング制御の実行の設定をサウスブリッジ18に対して行う。このとき、信号線71は、コントローラ40から出力された、スロットリング制御の設定に必要な信号をサウスブリッジ18に伝送する。
【0057】
さらに、本実施の形態においては、後述するように、スロットリング制御以外の、CPU11の稼働率を制限することで情報処理装置1の消費電力を制限する制御が行われる。この制御の設定は、例えば、ソフトウエアプログラムにより行われることもある。コントローラ40は、ソフトウエアプログラムによる制御の設定を、ソフトウエアプログラムに対して要求する処理も実行する。なお、具体的な処理の例については後述する。
【0058】
電源装置41は、情報処理装置1全体に電力を供給する電力供給装置であり、この例においては、例えば、AC(Alternating Current)電源アダプタ、または、バッテリーとして構成される。
【0059】
電力監視部42は、電源装置41から供給され、情報処理装置1が実際に消費している電力を監視し、その監視結果をコントローラ40に供給する。なお、電力監視部42の詳細については、図3を参照して後述する。
【0060】
PCIバス51には、IEEE(Institute of Electrical and Electronics Engineers)1394インタフェース34、PCカードインタフェース36、および、Etherコントローラ46が接続されている。
【0061】
IEEE1394インタフェース34は、IEEE1394ポート35を介して、IEEE1394の規格に準拠するデータ(パケットに格納されているデータ)を送受信する。
【0062】
PCカードインタフェース36は、スロット37に接続された機器(カード(図示せず))から供給されたデータを、CPU11またはRAM13に供給するとともに、CPU11から供給されたデータをスロット37に接続されているカードに出力する。
【0063】
なお、図1に示されるように、スロット37にはまた、必要に応じてドライブ38が接続される。この場合、ドライブ38は、スロット37およびPCカードインタフェース36を介して、PCIバス51に接続される。ドライブ38は、装着されている磁気ディスク61、光ディスク62、光磁気ディスク63、または半導体メモリ64に記録されているデータを読み出し、読み出したデータをRAM13に供給する。また、CPU11の処理により生成されたデータを、ドライブ38に装着される磁気ディスク61、光ディスク62、光磁気ディスク63、または半導体メモリ64に記憶させることができる。
【0064】
Etherコントローラ46は、Etherコネクタ47に接続されたLAN(Local Area Network)などのネットワークを介して、他の情報処理装置(図示せず)との通信を行う。なお、Etherコントローラは、Ethernet(登録商標)コントローラとも称される。同様に、Etherコネクタは、Ethernet(登録商標)コネクタとも称される。
【0065】
ところで、上述したように、近年、周波数が高く、消費電力の比較的大きいCPU11が普及している。一方、図1に示されるように構成される、モバイルコンピュータやノート型パソコンなどの情報処理装置1も普及している。ノート型パソコンなどは、持ち運び可能が前提とされているため、電源装置41として、AC電源アダプタだけでなく、バッテリーも使えるようになっている。
【0066】
従って、例えば、このような周波数が高く、消費電力の大きいCPU11が、ノート型パソコン(情報処理装置1)に搭載される場合、バッテリーの駆動時間を伸ばしたり、バッテリーの小型化を図るために、情報処理装置1全体の消費電力を減らす工夫が必要である。
【0067】
このため、本発明の情報処理装置1は、後述するように、自分自身が消費する全電流(実際に流れている電流)を検出し、検出した電流のレベルが、予め設定されている制限レベルを超える場合、CPU11の稼働率を制限する(クロックの周波数を下げる)ことで、自分自身の消費電力を制限する制御を行っている。以下、このような制御を、電力制限制御と称する。
【0068】
なお、電力制限制御の制御方法は、特に限定されないが、この例においては、例えば、上述したスロットリング制御が使用される。
【0069】
この場合、後述するように、スロットリング制御の開始のトリガは、電力監視部42から信号(後述する図2の電力制限要求)として出力される。従って、電力監視部42をハードウエアで構成し、それを情報処理装置1に搭載することで、トリガを出力するためのOS、アプリケーションソフトウエアプログラム、または、制御テーブルといったものが不必要となる。その結果、電力制限制御の継承、および標準化が容易に実現可能となる。即ち、上述した従来の課題のうちの、第1の課題を解決することが可能となる。
【0070】
しかしながら、電力監視部42からスロットリング制御開始のトリガ(後述する図2の電力制限要求)が出力されても、直ちにスロットリング制御は実行されず、サウスブリッジ18の仕様として予め設定されている所定の時間(例えば、インテル社製のサウスブリッジ18の場合、2秒)が経過した後、スロットリング制御が実行されることになる。
【0071】
従って、電力制限制御として、スロットリング制御が単に行われるだけでは、上述した従来の課題のうちの第2の課題と第3の課題を解決することはできない。
【0072】
そこで、本発明の情報処理装置1はさらに、第2の課題と第3の課題を解決するために、即ち、品質事故を防ぎつつ、実際に必要な制限量で、情報処理装置1自身の消費電力量を制限するために、多段階の電力制限制御を行っている。
【0073】
電力制限制御の段階は、特に限定されないが、本実施の形態においては、説明の簡略上、例えば、2段階とされる。従って、以下、1段階目の電力制限制御(最初に実行される電力制限制御)を、プレ電力制限制御と称し、2段階目の電力制限制御(プレ電力制限制御が開始された後に実行される電力制限制御)を、単に電力制限制御と称する。
【0074】
また、プレ電力制限制御と電力制限制御のそれぞれの制御方法は、特に限定されないが、この例においては、次の通りとされる。
【0075】
即ち、プレ電力制限制御として、上述したスロットリング制御の他、TCC(Thermal Control Circuit:温度制御回路)による制御、および、多段階電圧スケーリング制御が使用可能であり、これら3つの制御のうちのいずれかが選択的に使用される。なお、TCCによる制御と多段階電圧スケーリング制御については後述する。一方、電力制限制御として、上述したスロットリング制御の1つが使用される。
【0076】
図2は、図1の情報処理装置1のうちの、このようなプレ電力制限制御、および電力制限制御を実行する主要部分の詳細な構成例を表した機能ブロック図である。
【0077】
なお、以下、説明の簡略上、図2の構成のものを、1つの装置とみなし、電力制限制御装置と称する。
【0078】
即ち、電力制限制御装置は、CPU11、サウスブリッジ18、コントローラ40、電源装置41、および電力監視部42により構成される。
【0079】
電源装置41は、例えば、AC電源アダプタ、または、バッテリーから構成され、情報処理装置1(図1)に対して電力を供給する。なお、以下、電源装置41が電力を供給する対象を、システムと称する。即ち、いまの場合、システムとは、情報処理装置1全体のことである。
【0080】
電源装置41には、設計仕様として、定格電力値、ピーク電力値、ピーク電力継続時間、および、Duty Rate(システムの消費電力が定格電力内である期間と、定格電力を越える期間との比率)などが定められている。
【0081】
電力監視部42は、例えば、ハードウエアとして構成され、電源装置41からシステムに供給される電力を監視し、監視した電力が所定の閾値を超えた場合、プレ電力制限制御と電力制限制御の実行(ただし、後述するように、電力制限制御は必要に応じて実行される)を要求する信号(以下、そのような信号を、電力制限要求と称する)をコントローラ40に出力する。
【0082】
電力監視部42の詳細な構成例が図3に示されている。そこで、図3を参照して、電力監視部42の詳細について説明する。
【0083】
図3において、電源装置41は、システム(情報処理装置1)が消費する全ての電流を、電送路131と電流検出部121を介してシステムに供給する。換言すると、電送路131は、システムが消費する全ての電流が流れるように、システムの内部に配置されている。
【0084】
電流検出部121は、例えば、検出抵抗として構成され、電源装置41から供給され、電送路131を流れる電流Inを、その両端の電圧として検出する。即ち、電流検出部121は、電流Inを、次の式(1)で示される電圧Vsとして検出する。ただし、式(1)において、Rsは、電流検出部121の検出抵抗の抵抗値を表している。
Vs = In × Rs ・・・(1)
【0085】
増幅部122は、例えば、オペアンプ等で構成され、電流検出部121により検出された検出電圧Vsを、所定のゲインGだけ増幅し(電圧値をG倍し)、電圧Voutとして電流リミット検出部123に出力する。即ち、増幅部122の出力電圧Voutは、次の式(2)で示される値となる。式(2)において、Gは、任意の整数値とされるが、この例においては、例えば、G=20とされる。
Vout = G × Vs ・・・(2)
【0086】
電力リミット検出部123は、増幅部122の出力電圧Voutを入力し、入力した出力電圧Voutに基づいて、電送路131を流れる電流(システムが消費する全電流)Inのレベルを演算し、演算した電流Inのレベルが、予め設定されている制限レベル(電流Inの制限値に対応するレベル)を超えた場合、電力制限要求をコントローラ40に出力する。
【0087】
即ち、電源装置41は、一般的に定電圧源であるので、電送路131を流れる電流Inにより、システム(図1の情報処理装置1全体)が消費する電力を算出することが可能である。
【0088】
従って、電力リミット検出部123は、その時点で電送路131を実際に流れている電流Inが、電源装置41の定格電力(なお、ここでは、定格電力を、制限値として使用するため、制限電力Piplimitと称する)に対応する電流(以下、そのような電流を、制限電流Iinplimitと称する)を超えた場合、その時点でシステムが消費している電力が、制限電力Piplimitを超えたと判断し、電力制限要求をコントローラ40に出力する。
【0089】
なお、制限電力Piplimitと制限電流Iinplimitには、次の式(3)に示されるような関係が成立する。式(3)において、Vinは、電源装置41の出力電圧を表している。
Piplimit = Vin × Iinplimit ・・・(3)
【0090】
図2に戻り、コントローラ40は、電力監視部42から出力された電力制限要求を検出すると、サウスブリッジ18のレジスタ103に対して、電力制限制御(2段階目の電力制限制御)の設定を、ハードウエアとしての信号線71を介して行う。換言すると、信号線71は、コントローラ40とサウスブリッジ18のハードウエアとしてのインタフェースである。
【0091】
なお、以下、電力制限制御の設定に必要な信号であって、信号線71により伝送される信号を、電力制限設定と称する。また、インテル社製のサウスブリッジ18である場合、電力制限設定は、特にTHRM#と称される。
【0092】
ただし、後述するように、コントローラ40から電力制限設定(THRM#)が出力されても、スロットリング制御は直ちに実行されず(後述するスロットリング制御の実行を指令する信号STPCLK#は直ちに出力されず)、予め設定されている所定の時間(例えば、インテル社製のサウスブリッジ18の場合、仕様として設定されている2秒)が経過した後、スロットリング制御が実行される(STPCLK#が出力される)。
【0093】
このため、上述したように、電力制限設定(THRM#)による電力制限制御(スロットリング制御)だけでは、従来の課題のうちの第2の課題と第3の課題を解決することができない。
【0094】
そこで、本発明のコントローラ40はさらに、電力制限設定(THRM#)をサウスブリッジ18に対して出力するとほぼ同時に、プレ電力制限制御の実行を要求する情報(以下、単に、プレ電力制限要求と称する)を、SCI(System Control Interrupt)によりAML(ACPI Machine Language)91に通知する。
【0095】
ここで、SCIとAMLについて説明する。
【0096】
例えば、マイクロソフト社のOSのうちの、Windows(登録商標)98以降のOSにおいては、ACPI(Advanced Configuration and Power Interface)と称される周辺機器とのインタフェースがサポートされている。このようなACPIがサポートされているOSは、ACPI OSと称されている。例えば、図2の例では、ACPI OS は、ACPI OS93として示されている。
【0097】
そして、このACPI OS、若しくはACPI OS上で実行可能なアプリケーションソフトウエアプログラムと、周辺機器との間でのデータの受け渡し(入出力)を制御するソフトウエアプログラムが、ACPIレイヤと称されている。例えば、図2の例では、ACPIレイヤは、ACPIレイヤ92として示されており、ACPIレイヤ92が制御の対象とする周辺機器は、サウスブリッジ18とコントローラ40とされている。
【0098】
しかしながら、ACPIレイヤ92は、情報処理装置の機種毎に異なるものである。そこで、機種に関わらず(ACPIレイヤ92の種類に依存せず)、周辺機器との間でのデータの受け渡し(入出力)の制御を可能とするように、BIOS30(図1)の中にAMLと称されるプログラム(記述言語をコンパイルしたもの)が格納されており、必要に応じてロードされ、実行される。このAMLが、図2の例では、上述したAML91とされている。換言すると、AML91は、周辺機器とのソフトウエアとしてのインタフェースである。
【0099】
また、このようなAML91による制御は、SCIと称される割り込みにより行われる。即ち、AML91は、SCIを検出すると、そのSCIをかけた周辺機器(いまの場合、コントローラ40)を特定し、検出したSCIに対応する制御を実行する。
【0100】
具体的には、例えば、AML91が、コントローラ40からSCIがあったと検出し、そのSCIが、上述したプレ電力制限要求に対応するものであると判断した場合、AML91は、プレ電力制限制御(1段階目の制限制御)の設定を行う(詳細は後述する)。なお、以下、プレ電力制限制御の設定に必要な情報を、単に、プレ電力制限設定と称する。
【0101】
このように、図2の例では、CPU11は、ACPI環境下におけるソフトウエアプログラム86を実行する。即ち、ソフトウエアプログラム86は、OSであるACPI OS93、周辺機器(サウスブリッジ18とコントローラ40)とのデータのやり取りの制御を実行するAML91およびACPIレイヤ92、並びに、ACPI OS93上で動作するアプリケーションソフトウエアプログラム(図示せず)等により構成される。
【0102】
なお、非ACPI環境下(OSがACPI OS以外である環境下)においては、周辺機器との間でのデータの受け渡し(入出力)の制御は、BIOS30(図1)自身が行う。この場合、ACPIのSCIに相当する割り込みが、SMI(System Management Interrupt)と称されている。従って、図示はしないが、非ACPI環境下においては、OSとしてACPI OS以外のOSが使用され、AML91とACPIレイヤ92の代わりにBIOS30が使用され、プレ電力制限要求と後述するプレ電力制限解除要求はSCIの代わりにSMIで行われる。
【0103】
AML91は、プレ電力制限制御の設定を行うと、コントローラ40に対して、プレ電力制限制御の設定を行ったことを通知する。即ち、AML91は、コントローラ40からのプレ電力制限要求に対する肯定応答を行う。なお、以下、この肯定応答を、プレ電力制限中アークナレッジと称する。また、アークナレッジを、適宜ACKと記述する。
【0104】
コントローラ40に再び着目して、コントローラ40は、2つのタイマ111とタイマ112を有している。タイマ111は、電力制限制御用(2段階目の電力制限制御用)のタイマであり、電力制限制御の解除のタイミングを計測する。一方、タイマ112は、プレ電力制限制御用(1段階目の電力制限制御用)のタイマであり、プレ電力制限制御の解除のタイミングを計測する。なお、タイマ111とタイマ112の詳細な使用方法については後述する。
【0105】
次に、CPU11に着目すると、CPU11は、自分自身の稼働率を制限する(クロックの周波数を下げる)制御を行うために、多段階電圧スケーリング制御部81、TCC82、およびスロットリング制御部84を有している。
【0106】
多段階電圧スケーリング制御部81は、多段階電圧スケーリング制御を行う。
【0107】
なお、本明細書においては、クロックに応じたCPU11の電圧の多段階制御を、多段階電圧スケーリング制御と称している。
【0108】
より詳細には、CPU11の消費電力と、CPU11のクロックの周波数(CPU11の稼働率)は比例する。一方、CPU11の消費電力は、CPU11に印加される電圧の2乗に比例する。従って、CPU11に印加される電圧を下げることで、CPU11のクロックの周波数を下げる(CPU11の稼働率を下げる)ことができる。多段階電圧スケーリング制御は、このような原理に基づいて実行される制御であり、CPU11に印加される電圧として多段階の電圧が予め設定されており、設定された多段階の電圧の中から、所望のCPU11のクロックの周波数(CPU11の稼働率)に対応する電圧を選択し、選択した電圧をCPU11に印加するという制御である。
【0109】
多段階電圧スケーリング制御で注目すべき点は、CPU11に印加される電圧を1/n倍にすると、CPU11のクロックの周波数(CPU11の稼働率)は、1/n倍ではなく、その2乗の(1/n)^2になるという点である。即ち、多段階電圧スケーリング制御は、スロットリング制御や後述するTCCによる制御と比較すると、制限の効果(設定(多段階電圧スケーリング制御の場合、電圧の低下の度合い)に対する、CPU11の稼働率の低下の度合)が大きいといえる。
【0110】
なお、多段階電圧スケーリング制御は、インテル社の場合、SpeedStepTM(商標)と、AMD(Advanced Micro Devices)社の場合、PowerNowTM(商標)と、Transmate社の場合、LongRunTMと、それぞれ称されている。
【0111】
TCC82は、ダイの温度を計測するためにダイ上に作り込められた温度センサ83とともに温度管理機構を構成する。即ち、温度センサ83の計測値が所定の温度を超えると、発熱量を減らして温度を下げることを目的として、TCC82が一定の周期でCPU11の動作を定期的に繰り返し休止させる。その結果、CPU11の消費電力も削減されることになる。
【0112】
このようなTCC82が実行する制御を、本明細書においては、TCCによる制御と称している。なお、TCCによる制御は、例えば、インテル社の場合、On demand TCCと称されている。
【0113】
スロットリング制御部84は、後述するSTPCLK#と称される信号を検出すると、スロットリング制御を実行する。
【0114】
CPU11はまた、MSR(Model Specific Register)85を有している。MSR85には、多段階電圧スケーリング制御、またはTCCによる制御を実行するための設定が書き込まれる。
【0115】
例えば、プレ電力制限制御として、多段階電圧スケーリング制御が設定されている場合、AML91は、プレ電力制限設定として、多段階電圧スケーリング制御を実行するための設定をMSR85に書き込む。すると、MSR85は、多段階電圧スケーリング制御部81に対して、多段階電圧スケーリング制御の実行を指令する。
【0116】
これに対して、例えば、プレ電力制限制御として、TCCによる制御が設定されている場合、AML91は、プレ電力制限設定として、TCCによる制御を実行するための情報をMSR85に書き込むことになる。すると、MSR85は、TCC82に対して、TCCによる制御の実行を指令する。
【0117】
なお、プレ電力制限制御として、スロットリング制御が設定されている場合についての説明は後述する。
【0118】
次に、サウスブリッジ18に着目すると、サウスブリッジ18は、CPU11(スロットリング制御部84)にスロットリング制御を実行させるために、STPCLK#生成部101、レジスタ102、レジスタ103、およびタイマ104を有している。
【0119】
STPCLK#生成部101は、CPU11のスロットリング制御部84に対してスロットリング制御の実行を指令する信号(上述したように、ここでは、この信号を、STPCLK#と称している)を生成し、ハードウエアとしての信号線72を介してスロットリング制御部84に出力する。
【0120】
STPCLK#生成部101は、レジスタ102またはレジスタ103から、STPCLK#の生成を開始する指令(このような指令を、以下、生成指令と称する)が入力されると、STPCLK#の生成を開始する。
【0121】
また、STPCLK#生成部101は、生成指令が入力されている限り、STPCLK#を出力し続け(即ち、スロットリング制御部84はスロットリング制御を実行し続け)、生成指令の入力が停止した時点で、STPCLK#の出力を停止する(即ち、スロットリング制御部84はスロットリング制御を停止する)。
【0122】
例えば、プレ電力制限制御として、スロットリング制御が設定されている場合、レジスタ102には、AML91により、プレ電力制限設定として「ON」または「OFF」が書き込まれる。レジスタ102は、「ON」が書き込まれると即時に、生成指令をSTPCLK#生成部101に出力する。その後、レジスタ102は、「OFF」が書き込まれると即時に、生成指令の出力を停止する。
【0123】
これに対して、上述したように、電力監視部42から電力制限要求が出力されると、レジスタ103には、コントローラ40により、電力制限設定(THRM#)として「ON」または「OFF」が書き込まれる。レジスタ103は、「ON」が書き込まれても即座に生成指令を出力せず、タイマ104にカウント動作を開始させる。そして、タイマ104が所定の時間(インテル社製のサウスブリッジ18である場合、2秒)をカウントし、かつ、その時点においてもレジスタ103に「ON」が書き込まれている場合、レジスタ103は、生成指令をSTPCLK#生成部101に出力する。その後、レジスタ103は、「OFF」が書き込まれると即時に、生成指令の出力を停止する。
【0124】
なお、レジスタ102とレジスタ103に書き込まれる情報は、ここでは、説明を容易なものとするために、「ON」、または「OFF」とされているが、実際には、例えば、「ON」に対応するものとして「0(ローレベル)」が、「OFF」に対応するものとして「1(ハイレベル)」が、それぞれ書き込まれる。勿論、レジスタ102とレジスタ103に書き込まれる情報は、「ON」若しくは「OFF」、または、「0」若しくは「1」に限定されず、任意の情報が使用可能である。
【0125】
また、以下、レジスタ102またはレジスタ103に「ON」が書き込まれることを、「ON」に設定されると適宜称する。同様に、以下、レジスタ102またはレジスタ103に「OFF」が書き込まれることを、「OFF」に設定されると適宜称する。
【0126】
なお、生成指令は、レジスタ102のものよりレジスタ103のものが優先される。
【0127】
以上の内容をまとめたものが、図4に示されている。即ち、図4は、プレ電力制限制御と電力制限制御のそれぞれに対する、電力制限制御を設定するブロック(以下、電力制限設定部と称する)と、電力制限の内容を表した図である。
【0128】
このように、図2の構成の電力制限制御装置においては、ハードウエアとしての電力監視部42が電力制限要求を出力すると、ほぼ即座にプレ電力制限制御(多段階電圧スケーリング制御、TCCによる制御、またはスロットリング制御)が実行され、その後、必要に応じて、所定の時間(インテル社製のサウスブリッジ18の場合、2秒)が経過した後、電力制限制御(スロットリング制御)が実行される。従って、品質事故を防ぎつつ、実際に必要な制限量で、情報処理装置の消費電力量を制限することが可能になる。即ち、従来の課題で挙げた第1乃至第3の課題を解決することが可能になる。
【0129】
ところで、AML91がプレ電力制限制御の設定を解除しないと、プレ電力制限制御と、電力制限制御が同時に実行されることになる。この場合、その効果(CPU11の稼働率の減少度合)は、プレ電力制限制御の効果と電力制限制御の効果の積となる(掛け算の効果となる)。従って、効果をあげたい場合、プレ電力制限制御と電力制限制御の同時実行を積極的に行えばよい。
【0130】
しかしながら、効果がありすぎると、電力制限時の情報処理装置1のパフォーマンスが悪化してしまう恐れがある。即ち、従来の課題のうちの第2の課題を解決することができなくなってしまう恐れがある。
【0131】
そこで、このような恐れがある場合、コントローラ40は、電力制限制御が開始される前に、プレ電力制限制御を解除する要求(このような要求を、以下、プレ電力制限解除要求と称する)を、SCIによりAML91に通知することができる。AML91は、このプレ電力制限解除要求を受けると即座に、プレ電力制限制御の設定を解除する。これにより、電力制限制御の開始前に、プレ電力制限制御を停止することが可能になる。即ち、プレ電力制限制御と電力制限制御の同時実行を避けることが可能になる。
【0132】
なお、プレ電力制限制御と電力制限制御のいずれもがスロットリング制御である場合、電力制限制御の開始前の、プレ電力制限解除要求の通知は必須ではない。ただし、本実施の形態においては、プレ電力制限制御がいずれの制御であっても、電力制限制御の開始前に、プレ電力制限解除要求がAML91に通知されるとする。
【0133】
次に、図5を参照して、図2の電力制限制御装置の状態の例を説明する。即ち、図5は、図2の電力制限制御装置の状態遷移の1例を表している。
【0134】
図5に示されるように、電力制限制御装置の状態は、通常状態151、プレ電力制限状態152、および、電力制限状態153のうちのいずれかの状態とされる。
【0135】
通常状態151は、電力制限制御装置が、プレ電力制限制御と電力制限制御のいずれも実行していない状態を表している。
【0136】
プレ電力制限状態152は、電力制限制御装置が、プレ電力制限制御を実行している状態を表している。
【0137】
電力制限状態153は、電力制限制御装置が、電力制限制御を実行している状態を表している。
【0138】
即ち、図5は、電力制限制御とプレ電力制限制御が同時に実行されることがない場合の例を表している。
【0139】
通常状態151、プレ電力制限状態152、および電力制限状態153のうちのいずれかから、通常状態151、プレ電力制限状態152、および電力制限状態153のうちのいずれかへの状態遷移(同一の状態に留まる場合も含む)は、所定の条件(以下、状態遷移条件と称する)が満たされると実行される。
【0140】
このような状態遷移条件は、図5おいては、1つの状態(通常状態151、プレ電力制限状態152、および電力制限状態153のうちのいずれか)から1つの状態(通常状態151、プレ電力制限状態152、および電力制限状態153のうちのいずれか)への遷移を表す矢印に、番号161乃至167を付して表されている。
【0141】
例えば、初期状態(例えば、電源装置41がシステム(図1の情報処理装置1)に電力の供給を開始した時点の状態)が、通常状態151であるとし、いま、電力制限制御装置の状態が、その初期状態であるとする。
【0142】
電力監視部42は、監視した電力が所定の閾値を超えない限り、電力制限要求を出力しない。このような場合、コントローラ40は、状態遷移条件161が満たされと判定し、電力制限制御装置の状態を、通常状態151から通常状態151に遷移させる(状態を遷移させない)。
【0143】
これに対して、電力監視部42は、監視した電力が所定の閾値を超えると、電力制限要求をコントローラ40に出力してくる。このような場合、コントローラ40は、状態遷移条件162が満たされと判定し、電力制限制御装置の状態を、通常状態151からプレ電力制限状態152に遷移させる。
【0144】
電力制限制御装置の状態がプレ電力制限状態152に遷移すると、コントローラ40は、CPU11の稼働率を制限することで電力を制限する制御として、第1の制御(即ち、電力制限制御)の実行を設定する。即ち、電力制限設定(THRM#)が、「ON」に設定される。
【0145】
すると、レジスタ103は、タイマ104のカウント動作を開始させる。即ち、この時点では、レジスタ103は、生成指令をSTPCLK#生成部101に出力しないので、電力制限制御(スロットリング制御)は実行されない。
【0146】
一方、AML91は、電力監視部42から電力制限要求が出力されたことを、コントローラ40からのプレ電力制限要求(SCI)により認識し、CPU11の稼働率を制限することで電力を制限する制御として、第2の制御(即ち、プレ電力制限制御)の実行を設定する情報、即ち、プレ電力制限設定を生成する。
【0147】
なお、コントローラ40は、プレ電力制限要求(SCI)をAML91に通知すると、プレ電力制限用のタイマ112のカウント動作を開始させる。
【0148】
ところで、図2の例では、プレ電力制限制御として、多段階電圧スケーリング制御部81が実行する多段階電圧スケーリング制御、TCC82が実行するTCCによる制御、および、スロットリング制御部84が実行するスロットリング制御といった3つの制御のうちの、任意のものが使用可能である(選択的に使用可能である)。
【0149】
従って、例えば、プレ電力制限制御として、多段階電圧スケーリング制御が使用される場合、AML91は、プレ電力制限設定として、多段階電圧スケーリング制御の実行の設定をMSR85に書き込む。すると、MSR85が、多段階電圧スケーリング制御部81に対して制御の開始を指令し、多段階電圧スケーリング制御部81が、その指令を受けて、AML91により設定された多段階電圧スケーリング制御を実行する。
【0150】
また、例えば、プレ電力制限制御として、TCCによる制御が使用される場合、AML91は、プレ電力制限設定として、TCCによる制御の実行の設定をMSR85に書き込む。すると、MSR85が、TCC82に対して制御の開始を指令し、TCC82が、その指令を受けて、AML91により設定されたTCCによる制御を実行する。
【0151】
また、例えば、プレ電力制限制御として、スロットリング制御が使用される場合、AML91は、プレ電力制限設定として、スロットリング制御の実行を設定する。即ち、AML91は、サウスブリッジ18のレジスタ102に「ON」を書き込む。すると、レジスタ102は、STPCLK#生成部101に対して生成指令を出力する。STPCLK#生成部101は、その生成指令を受けて、STPCLK#を生成し、信号線72を介してスロットリング制御部84に出力する。スロットリング制御部84は、STPCLK#を検出すると、AML91により設定されたスロットリング制御を実行する。
【0152】
このように、電力監視部42が電力制限要求を出力すると、即ち、電力制限制御装置の状態がプレ電力制限状態152に遷移すると、ほぼ即座にプレ電力制限制御が実行されることになる。
【0153】
これに対して、電力監視部42が電力制限要求を出力すると、電力制限設定(THRM#)は「ON」に設定されることになるが、タイマ104が所定の時間(例えば、インテル社製のサウスブリッジ18である場合、2秒)を計時しないと(カウント動作を終了しないと)、レジスタ103は、生成指令をSTPCLK#生成部101に出力しない。即ち、電力監視部42から電力制限要求が出力されても、電力制限制御は、即座に実行されず、タイマ104のカウント動作が終了した時点で実行されることになる。
【0154】
コントローラ40は、プレ電力制限制御を解除するとき、AML91に対して、プレ電力制限解除要求をSCIにより通知する。換言すると、コントローラ40が、AML91に対して、プレ電力制限解除要求をSCIにより通知しない限り、プレ電力制限制御は実行され続ける。従って、このプレ電力制限解除要求が通知されないことが状態遷移条件163であり、状態遷移条件163が満たされている場合、電力制限制御装置の状態は、プレ電力制限状態152からプレ電力制限状態152に遷移する(状態は遷移しない)。
【0155】
これに対して、コントローラ40が、AML91に対してプレ電力制限解除要求をSCIにより通知すると、プレ電力制限制御は終了することになるので、電力制限制御装置の状態は、プレ電力制限状態152から、通常状態151、または電力制限状態153に遷移することになる。
【0156】
即ち、コントローラ40は、いままで実行されていたプレ電力制限制御が成功したと判断した場合、AML91に対してプレ電力制限解除要求をSCIにより通知するとともに、電力制限制御の設定も解除する(電力制限設定(THRM#)を「OFF」に設定する)。すると、状態遷移条件164が満たされたと判定され、電力制限制御装置の状態が、プレ電力制限状態152から通常状態151に遷移する。
【0157】
このとき、レジスタ103は、タイマ104のカウント動作を終了させ、カウンタを初期化する。従って、いままで実行されていたプレ電力制限制御が成功したと判断された場合、電力制限制御は実行されないことになる。
【0158】
これに対して、コントローラ40は、いままで実行されていたプレ電力制限制御が失敗した(成功していない)と判断した場合、AML91に対してプレ電力制限解除要求をSCIにより通知する。ただし、このとき、電力制限制御の設定は解除されない(電力制限設定(THRM#)は、「OFF」に設定されず「ON」の設定のままとなる)。すると、状態遷移条件165が満たされたと判定され、電力制限制御装置の状態が、プレ電力制限状態152から電力制限状態153に遷移する。
【0159】
その後、サウスブリッジ18において、タイマ104のカウント動作が終了すると(インテル社製のサウスブリッジ18の場合、2秒経過すると)、レジスタ103は、STPCLK#生成部101に対して生成指令を出力する。STPCLK#生成部101は、その生成指令を受けて、STPCLK#を生成し、信号線72を介してスロットリング制御部84に出力する。スロットリング制御部84は、STPCLK#を検出すると、電力制限設定(THRM#)によるスロットリング制御(電力制限制御)を実行する。
【0160】
なお、プレ電力制限制御が成功したか否かを判定する条件は、特に限定されないが、本実施の形態においては次の通りとされる。
【0161】
即ち、コントローラ40は、プレ電力制限制御が実行されてからも、電力監視部42からの電力制限要求の出力の有無を監視し続ける。そして、コントローラ40は、プレ電力制限制御が実行されている間(プレ電力制限中アークナレッジを検出した時点から、プレ電力制限用のタイマ112のカウント動作が終了された時点までの間)、電力制限要求を検出しなかった場合、いままで実行されていたプレ電力制限制御は成功であると判定する。
【0162】
これに対して、コントローラ40は、プレ電力制限制御が実行されている間に、電力制限要求を1度でも検出した場合、いままで実行されていたプレ電力制限制御は失敗であると判定する。
【0163】
或いは、コントローラ40は、所定の時間が経過しても(プレ電力制限用のタイマ112が所定のカウント値をカウントしても)、AML91からプレ電力制限中アークナレッジが出力されない場合(検出しなかった場合)、プレ電力制限制御は失敗であると判定する。
【0164】
なお、プレ電力制限用のタイマ112のカウント時間については後述する。
【0165】
ところで、電力制限制御装置の状態が電力制限状態153に遷移すると、上述したように、電力制限制御(電力制限設定(THRM#)によるスロットリング制御)が実行される。
【0166】
このとき、コントローラ40において、電力制限用のタイマ111は、カウント動作を行っており(カウント動作の開始のタイミングについては後述する)、電力制限用のタイマ111のカウント動作が終了すると、コントローラ40は、電力制限制御の設定の解除を行う。即ち、電力制限設定(THRM#)は、「OFF」に設定される。すると、レジスタ103は、生成指令の出力を停止する。STPCLK#生成部101は、生成指令の出力の停止を検出して、STPCLK#の出力を停止する。スロットリング制御部84は、STPCLK#の出力の停止を検出すると、電力制限制御(電力制限設定(THRM#)によるスロットリング制御)の実行を停止する。
【0167】
従って、電力制限制御装置の状態が電力制限状態153に遷移してからは、電力制限用のタイマ111がカウント動作をしていることが状態遷移条件166であり、状態遷移条件166が満たされている場合、電力制限制御装置の状態は、電力制限状態153から電力制限状態153に遷移する(状態は遷移しない)。
【0168】
これに対して、電力制限用のタイマ111のカウント動作が終了したことが状態遷移条件167であり、状態遷移条件167が満たされた場合、電力制限制御装置の状態は、電力制限状態153から通常状態151に遷移する。
【0169】
なお、電力制限用のタイマ111のカウント時間については後述する。
【0170】
次に、図6と図7を参照して、電力制限制御装置(図2)における、電力制限用のタイマ111、およびプレ電力制限用のタイマ112のカウント時間、並びに、電力制限制御、およびプレ電力制限制御の継続時間について説明する。
【0171】
図6は、電力制限制御の継続時間、および電力制限用のタイマ111のカウント時間を説明するタイムチャートである。即ち、図6は、プレ電力制限制御が行われない場合(電力制限設定(THRM#)によるスロットリング制御のみが行われる場合)のタイムチャートである。
【0172】
図6において、図中1番上に時間軸が示されている。そして、時間軸の下方に、図中上から順に、システム(図1の情報処理装置1全体)の消費電力、電力監視部42からの電力制限要求の出力の有無、電力制限設定(THRM#)(コントローラ40が信号線71を介してレジスタ103に「ON」を書き込むタイミング)、スロットリング制御の実行の有無(STPCLK#生成部101からのSTPCLK#の出力の有無)、および、電力制限設定(THRM#)解除(コントローラ40が信号線71を介してレジスタ103に「OFF」を書き込むタイミング)のそれぞれのタイムチャートが示されている。
【0173】
Pinplimitは、閾値である制限電力(いまの場合、電源装置41の定格電力)を表しており、Pimaxは、電源装置41の仕様として規定されているピーク電力を表している。
【0174】
図6に示されるように、例えば、時刻t1に、消費電力が制限電力Pinplimitを越えたとすると、電力監視部42は、それを検出し、電力制限要求をコントローラ40に出力する。
【0175】
なお、以下、電力制限要求、および、STPCLK#等の信号が出力されていることを、適宜「有」と称し、一方、出力されていないことを、適宜「無」と称する。
【0176】
コントローラ40は、電力制限要求が無から有に変化すると、電力制限設定(THRM#)を「ON」に設定する。即ち、電力制限設定(THRM#)のタイミングは、電力制限要求が無から有に変化するとき(図6の例では、略時刻t1)である。
【0177】
サウスブリッジ18は、電力制限設定(THRM#)が「ON」に設定されてから、ディレイ時間T1(タイマ104のカウント時間であって、具体的には、例えば、インテル社製のサウスブリッジ18の場合、仕様として設定されている2秒である)経過後の時刻t2に、STPCLK#を、信号線72を介してCPU11のスロットリング制御部84に出力する。スロットリング制御部84は、STPCLK#を検出すると、スロットリング制御を開始し、STPCLK#を検出し続けている間、スロットリング制御を継続する。即ち、STPCLK#が無から有に変化したとき(図6の例では、時刻t2)、スロットリング制御は開始され、STPCLK#が有の場合、スロットリング制御は継続される。
【0178】
このように、システム(情報処理装置1)の消費電力が制限電力Pinplimitを超えた時刻t1(厳密には、電力制限設定(THRM#)が「ON」に設定され、タイマ104がカウント動作を開始した時刻)から、ディレイ時間T1経過した時刻t2に、電力制限設定(THRM#)によるスロットリング制御(電力制限制御)が開始される。換言すると、プレ電力制限制御が実行されない場合、この時刻t1から時刻t2の間は、無制御状態(電力制限設定(THRM#)によるスロットリング制御が施されていない状態)であるので、システム(情報処理装置1)の消費電力が制限電力Pinplimitを超えた状態が続くことがある。
【0179】
しかしながら、電源装置41の設計仕様において規定されている定格電圧(即ち、制限電圧Pinplimit)は、電源装置41の発熱によって制限されるため、その瞬間値で管理されるわけではなく、所定の時間の平均電力値として管理される。換言すると、一時的に制限電力Pinplimitを越える電力の消費がなされても、規定のピーク電力PimaxとDuty Rateの範囲内での平均電力が、制限電力Pinplimitを超えなければ電源装置41の設計仕様の範囲内とされる。
【0180】
そこで、消費電力が定格電力(制限電圧Pinplimit)を超える(可能性のある)時間T1と、Duty Rate(消費電力が定格電力内である時間と、定格電力を越える時間との比率)から、消費電力が定格電力内である時間T2を設定し、設定した時間T2の間、電力制限設定(THRM#)によるスロットリング制御(電力制限制御)を継続させれば、電源装置41の設計仕様を満たすことになる。即ち、時間T1+時間T2の期間における平均電力(電源装置41の発熱)が、定格電力である制限電力Pinplimit内に収められることになる。
【0181】
具体的には、例えば、Duty Rateが10%(消費電力が定格電力内である時間と、定格電力を越える時間との比率が、9:1)とされ、かつ、ディレイ時間T1が2秒(サウスブリッジ18がインテル社製の場合のディレイ時間)とされた場合、このディレイ時間T1(2秒)の間、ピーク電力Pimaxが続くと仮定すると、電力制限制御が維持されるべき時間T2(以下、電力制限維持時間T2と称する)は、ディレイ時間T1の9倍の時間、即ち、18秒(=9×T1=9×2秒)以上の時間となる。
【0182】
例えば、この電力制限維持時間T2が、コントローラ40の電力制限用のタイマ111のカウント時間として使用可能である(ただし、後述するように、電力制限用のタイマ111のカウント時間は電力制限維持時間T2に限定されない)。この場合、電力制限要求が有から無に変化する時刻t2に、電力制限用のタイマ111はカウント動作を開始し、電力制限維持時間T2分のカウントを行うと、カウント動作を終了する。このカウント動作が終了した時刻t3(時刻t2から電力制限維持時間T2だけ経過した時刻t3)が、電力制限設定(THRM#)解除のタイミングとなる。
【0183】
即ち、コントローラ40は、時刻t3になると(電力制限用のタイマ111が電力制限維持時間T2分のカウントを終了すると)、サウスブリッジ18に対して電力制限制御の設定の解除を、信号線71を介して行う。即ち、電力制限設定(THRM#)が「OFF」に設定される。すると、サウスブリッジ18は、STPCLK#の出力を停止する。スロットリング制御部84は、STPCLK#の出力の停止を検出すると、スロットリング制御を停止する。即ち、STPCLK#が有から無に変化したとき(図6の例では、時刻t3)、電力制限設定(THRM#)によるスロットリング制御(電力制限制御)は終了する。
【0184】
図7は、プレ電力制限制御の継続時間、およびプレ電力制限用のタイマ112のカウント時間を説明する図である。
【0185】
図7において、図中水平方向の軸は、図6の時間軸と同一の時間軸を表している。即ち、時刻t1は、電力制限要求が無から有になる時刻を、時刻t2は、電力制限制御(電力制限設定(THRM#)によるスロットリング制御)の開始時刻を、時刻t3は、電力制限制御の終了時刻を、それぞれ表している。
【0186】
上述したように、ここでは、プレ電力制限制御と電力制限制御の同時実行は禁止されているので、プレ電力制限制御は、電力制限制御の開始前に終了している必要がある。即ち、プレ電力制限制御は、時刻t1から時刻t2までの間の所定の期間に行われることになる。
【0187】
そこで、図7に示されるように、プレ電力制限制御の終了時刻は、猶予時間T6を考慮して、電力制限制御の開始時刻t2よりも猶予時間T6だけ前の時刻tbとされる。なお、この猶予時間T6は、特に限定されないが、この例においては、例えば、0.2秒とされる。
【0188】
従って、プレ電力制限制御の時間は、時間T3となる。即ち、いまの場合、時間T3は、1.8秒(T3=T1-T6=2 - 0.2秒)となる。
【0189】
ただし、上述したように、規定のピーク電力PimaxとDuty Rateの範囲内での平均電力が、制限電力Pinplimitを超えなければ電源装置41の設計仕様の範囲内とされる。従って、例えば、上述した図6の説明と同様に、Duty Rateが10%とされた場合、少なくとも、時間T3の90%の時間である時間T5(いまの場合、T3×0.9=1.8×0.9=1.62秒)の間だけ、プレ電力制限制御が実行されれば、電源装置41の設計仕様を満たすことになる。
【0190】
換言すると、略時刻t1にコントローラ40が、プレ電力制限要求をSCIによりAML91に通知してから、プレ電力制限制御が実際に開始されるまでのタイムラグ(ディレイタイム)が、時間T3の10%の時間である時間T4(いまの場合、T3×0.1=1.8×0.1=0.18秒)以内であればよいことになる。即ち、時刻t1から時間T4だけ経過した時刻taまでの間に、プレ電力制限制御が開始されれば、電源装置41の設計仕様を満たすことになる。
【0191】
そこで、プレ電力制限用のタイマ112は、プレ電力制限要求(SCI)が通知される略時刻t1に、カウント動作を開始し、プレ電力制限制御の終了予定時刻tbに、カウント動作を終了する。即ち、時間T3が、プレ電力制限用のタイマ112のカウント時間である。
【0192】
このとき、上述したように、コントローラ40は、プレ電力制限用のタイマ112のカウント値を監視し、時刻taを過ぎても(プレ電力制限用のタイマ112が時間T4分のカウントをしても)、AML41からプレ電力制限中アークナレッジが出力されてこない場合、プレ電力制限制御は失敗であると判定する。即ち、時刻ta以降に、たとえ、プレ電力制限制御が開始されても、Duty Rateを確保することはできず、電源装置41の仕様を満たすことが不可能となるため、プレ電力制限制御は失敗であるとみなされる。
【0193】
また、コントローラ40は、時刻tbの時点(プレ電力制限用のタイマ112が時間T3分のカウントを終了した時点)で、プレ電力制限制御中(プレ電力制限中アークナレッジを検出してから、時刻tbまでの間)における電力制限要求の有無に基づいて、プレ電力制限制御が成功したか否かを判定する。
【0194】
次に、図8乃至図11のフローチャートを参照して、図2の電力制限制御装置のうちの電力制限設定部、即ち、コントローラ40とAML91の制御についてその順番で個別に説明する。
【0195】
なお、プレ電力制限制御として、いずれの制御が利用されても、以下に説明する処理は同一の処理となるので、以下、プレ電力制限制御として、例えば、スロットリング制御が利用されるとする。
【0196】
また、以下においても、プレ電力制限制御と電力制限制御の同時実行は禁止されており、プレ電力制限制御の後に電力制限制御が実行されるとする。
【0197】
コントローラ40は、電力制限制御に関する処理(以下、電力制限処理と称する)、プレ電力制限制御に関する第1の処理(以下、プレ電力制限処理と称する)、および、プレ電力制限制御に関する第2の処理(以下、プレ電力制限の補助処理と称する)のそれぞれを、他とは独立して実行する。
【0198】
これら3つの独立した処理のうちの、電力制限処理の例が図8のフローチャートに、プレ電力制限処理の例が図9のフローチャートに、プレ電力制限の補助処理の例が図10のフローチャートに、それぞれ示されている。
【0199】
そこで、以下、コントローラ40の電力制限処理、プレ電力制限処理、および、プレ電力制限の補助処理のそれぞれを、図8乃至図10のフローチャートのうちの対応するものを参照して、その順番で個別に説明していく。
【0200】
はじめに、図8のフローチャートを参照して、コントローラ40の電力制限処理について説明する。
【0201】
ステップS1において、コントローラ40は、電力監視部42からの電力制限要求が入力されているか否かを判定する。
【0202】
ステップS1において、電力制限要求が入力されていないと判定した場合、コントローラ40は、ステップS2において、電力制限設定(THRM#)は、「ON」の設定であるか否かを判定する。即ち、コントローラ40は、信号線71を介してサウスブリッジ18のレジスタ103に「ON」を既に書き込んだか否かを判定する。
【0203】
ステップS2において、電力制限設定(THRM#)は、「ON」の設定ではないと判定した場合、即ち、サウスブリッジ18のレジスタ103に「ON」が書き込まれていない場合、コントローラ40は、ステップS3において、処理の終了が指示されたか否かを判定する。
【0204】
ステップS3において、処理の終了が指示されたと判定された場合、電力制限処理は終了となる。
【0205】
これに対して、処理の終了がまだ指示されていないと判定された場合、処理はステップS1に戻され、それ以降の処理が繰り返される。
【0206】
即ち、初期状態(レジスタ103に「ON」が書き込まれておらず、処理の終了が特に指示されていない状態)においては、コントローラ40は、電力監視部42の出力状態を常時監視する。
【0207】
電力監視部42から電力制限要求が出力されると(ステップS1において、電力制限要求が入力されたと判定されると)、コントローラ40は、ステップS4において、電力制限用のタイマ111のカウンタを初期化する。
【0208】
ステップS5において、コントローラ40は、電力制限設定(THRM#)は、「ON」の設定であるか否かを判定する。
【0209】
いまの場合、レジスタ103に「ON」がまだ書き込まれていないので、コントローラ40は、ステップS5において、電力制限設定(THRM#)は、「ON」の設定ではないと判定し、ステップS6において、電力制限設定(THRM#)を「ON」に設定する。即ち、コントローラ40は、信号線71を介してレジスタ103に「ON」を書き込む。
【0210】
その後、処理はステップS1に戻され、電力制限要求が入力されているか否かが再度判定される。
【0211】
上述したように、本実施の形態においては、電力制限設定(THRM#)によるスロットリング制御(即ち、電力制限制御)が実行されるまでの間に、プレ電力制限制御(いまの場合、プレ電力制限設定によるスロットリング制御)が実行される。
【0212】
しかしながら、プレ電力制限制御が開始されるまでは、電力制限要求が出力されていることが多いので、このような場合、ステップS1において、電力制限要求が入力されていると判定され、上述したステップS4の処理が実行されて、ステップS5において、電力制限設定(THRM#)は、「ON」の設定であるか否かが再度判定される。いまの場合、電力制限設定(THRM#)は既に「ON」に設定されているので、ステップS5において、電力制限設定(THRM#)は、「ON」の設定であると判定され、処理は再度ステップS1に戻される。
【0213】
即ち、プレ電力制限制御が開始され、そのプレ電力制限制御の結果、電力監視部42から電力制限要求が出力されなくなるまで、ステップS1、ステップS4、およびステップS5の処理が繰り返される。
【0214】
そして、プレ電力制限制御の結果、電力監視部42から電力制限要求が出力されなくなると(ステップS1において、電力制限要求が入力されていないと判定されると)、ステップS2において、電力制限設定(THRM#)は、「ON」の設定であるか否かが判定される。
【0215】
いまの場合、コントローラ40は、ステップS2において、電力制限設定(THRM#)は、「ON」の設定であると判定し、ステップS7において、電力制限用のタイマ111をデクリメントする。
【0216】
なお、上述した図7の説明においては、電力制限用のタイマ111のカウント時間が、電力制限維持時間T2(上述した例では、18秒)とされたため、電力制限用のタイマ111のカウント動作の開始時刻は時刻t2(電力制限制御が実際に開始される時刻)であった。
【0217】
これに対して、図8のフローチャートの例では、電力制限用のタイマ111のカウント動作の開始時刻は、最初のステップS7の処理の実行時刻となる。具体的には、例えば、プレ電力制限制御が成功した場合、時刻t1から時刻taの間の時刻(即ち、電力制限制御の開始前の時刻)になる。
【0218】
そこで、コントローラ40が、図8のフローチャートに従って電力制限処理を実行する場合、電力制限用のタイマ111のカウント時間を、例えば、ディレイ時間T1+電力制限維持時間T2(上述した例に換算すると、20秒)とすればよい。これにより、図8のフローチャートに従って電力制限制御が実行された場合であっても、電力制限制御(電力制限設定(THRM#)によるスロットリング制御)の終了時刻は、略時刻t3(少なくとも時刻t3よりも前になることはない)となり、電源装置41の仕様を満たすことができる。
【0219】
図8のステップS8において、コントローラ40は、電力制限用のタイマ111のカウンタが0になったか否かを判定する。
【0220】
ステップS8において、電力制限用のタイマのカウンタが0になっていないと判定された場合、その処理は、ステップS1に戻され、それ以降の処理が繰り返される。
【0221】
この間、サウスブリッジ18においては、タイマ104がカウント動作を実行しており、カウント動作を終了すると(インテル社製のサウスブリッジ18の場合、2秒が経過すると)、レジスタ103は、生成指令をSTPCLK#生成部101に出力する。STPCLK#生成部101は、生成指令を受けてSTPCLK#を生成し、信号線72を介してスロットリング制御部84に出力する。
【0222】
スロットリング制御部84は、このSTPCLK#を検出すると、スロットリング制御を開始する。その後、STPCLK#生成部101は、STPCLK#を出力し続けるので、電力制限設定(THRM#)によるスロットリング制御(電力制限制御)は継続される。
【0223】
そして、コントローラ40の電力制限用のタイマ111のカウンタが0になると(ステップS8において、電力制限用のタイマのカウンタが0になったと判定すると)、コントローラ40は、ステップS9において、電力制限設定(THRM#)を「OFF」に設定する。即ち、コントローラ40は、信号線71を介してサウスブリッジ18のレジスタ103に「OFF」を書き込む。
【0224】
すると、レジスタ103は、生成指令の出力を停止し、それに伴い、STPCLK#生成部101も、STPCLK#の出力を停止する。スロットリング制御部84は、STPCLK#の出力の停止を検出すると、電力制限設定(THRM#)によるスロットリング制御(電力制限制御)を停止する。
【0225】
このとき、コントローラ40の電力制限処理においては、処理はステップS1に戻され、それ以降の処理が繰り返されることになる。即ち、コントローラ40は、ステップS1乃至S3の処理を繰り返し、引き続き電力監視部42からの電力制限要求の有無を監視する。
【0226】
なお、図8のフローチャートは、サウスブリッジ18がインテル社製のものである場合の電力制限処理の例を表している。即ち、インテル社製のサウスブリッジ18は、電力制限設定(THRM#)が「ON」に設定されてから2秒経過した後(タイマ104が2秒を計時したとき)、STPCLK#を出力するという仕様を有している。このため、図8のフローチャートは、この仕様に基づいて、電力制限制御(電力制限設定(THRM#)によるスロットリング制御)が開始されるまでの2秒の間に、プレ電力制限制御が実行されることを前提とする、コントローラ40の電力制限処理の例を表している。
【0227】
しかしながら、インテル社製以外のサウスブリッジの中には、電力制限設定(THRM#)が「ON」に設定されると、即座にSTPCLK#を出力する(タイマ104が存在しない)ものもある。このようなサウスブリッジが、図2のサウスブリッジ18として使用されている場合、例えば、図8のフローチャートの処理に対して、さらに、次のような処理が追加される。
【0228】
即ち、例えば、ステップS5とステップS6の処理の間に、プレ電力制限設定が、「ON」の設定であるか否かの判定処理が追加される。そして、プレ電力制限設定が、「ON」の設定であると判定された場合、処理はステップS1に戻される。これに対して、プレ電力制限設定が、「ON」の設定ではない(「OFF」の設定である)と判定された場合、処理はステップS6に進む。
【0229】
次に、図9のフローチャートを参照して、コントローラ40のプレ電力制限処理について説明する。
【0230】
ステップS21において、コントローラ40は、電力制限設定(THRM#)が変化したか否かを判定する。
【0231】
即ち、サウスブリッジ18のレジスタ103に書き込まれている設定が変化しない場合(「ON」のままか、または、「OFF」のままである場合)、ステップS21において、電力制限設定(THRM#)が変化していないと判定され、処理はステップS21に戻され、電力制限設定(THRM#)が変化したか否かが再度判定される。即ち、コントローラ40は、電力制限設定(THRM#)を常時監視している。
【0232】
そして、監視の結果、サウスブリッジ18のレジスタ103に書き込まれている設定が「OFF」から「ON」に変化した場合、または、「ON」から「OFF」に変化した場合、ステップS21において、電力制限設定(THRM#)が変化したと判定される。換言すると、コントローラ40が、プレ電力制限処理とは独立して実行している電力制限処理、または、プレ電力制限の補助処理において、電力制限設定(THRM#)を「ON」、または「OFF」に設定した場合(上述した図8のステップS6、ステップS9、または、後述する図10のステップS54の処理を実行した場合)、プレ電力制限処理のステップS21において、電力制限設定(THRM#)が変化したと判定する。
【0233】
ステップS21において、電力制限設定(THRM#)が変化したと判定すると、コントローラ40は、ステップS22において、電力制限設定(THRM#)は、「ON」の設定であるか否かを判定する。
【0234】
具体的には、例えば、電力制限設定(THRM#)が、「ON」から「OFF」に変化した場合、ステップS22において、電力制限設定(THRM#)は、「ON」の設定ではないと判定され、処理はステップS29に進められる。なお、ステップS29以降の処理については後述する。
【0235】
これに対して、電力制限設定(THRM#)が、「OFF」から「ON」に変化した場合、ステップS22において、電力制限設定(THRM#)は、「ON」の設定であると判定し、コントローラ40は、ステップS23において、プレ電力制限機構は有効化中であるか否かを判定する。
【0236】
なお、ここでは、図2の構成の電力制限制御装置のうちの、プレ電力制限制御を実行する部分(特に、電力制限設定部であるAML91)を、プレ電力制限機構と称している。これに対して、電力制限制御を実行する部分を、電力制限機構と称している。
【0237】
また、ここでは、プレ電力制限機構がプレ電力制限制御を実行することが可能な状態であることを、プレ電力制限機構が有効化中であると称する。これに対して、プレ電力制限機構がプレ電力制限制御を実行することが不可能な状態であることを、プレ電力制限機構が無効化中であると称する。
【0238】
即ち、コントローラ40が、プレ電力制限機構を有効化にするとは、プレ電力制限機構がプレ電力制限制御を実行することが可能な状態であると判断し、プレ電力制限機構に対して処理を行う(例えば、プレ電力制限要求をSCIによりAML91に通知する)ことを許可することである。これに対して、コントローラ40が、プレ電力制限機構を無効化にするとは、プレ電力制限機構がプレ電力制限制御を実行することが不可能な状態であると判断し、プレ電力制限機構に対して処理を行うことを禁止することである。
【0239】
なお、プレ電力制限機構の有効化と無効化の具体的なタイミングについては後述する。
【0240】
ステップS23において、プレ電力制限機構が有効化中ではない(無効化中である)と判定された場合、処理はステップS21に戻され、それ以降の処理が繰り返される。
【0241】
これに対して、ステップS23において、プレ電力制限機構が有効化中であると判定した場合、コントローラ40は、ステップS24において、通知済フラグが立っているか否かを判定する。
【0242】
ここでは、コントローラ40が、プレ電力制限要求をSCIによりAML91に既に通知したこと表すフラグを、通知済フラグと称している。なお、通知済フラグを立てるタイミングと、解除するタイミングについては後述する。
【0243】
ステップS24において、通知済フラグがまだ立っていないと判定された場合、処理はステップS25に進められる。なお、ステップS25以降の処理については後述する。
【0244】
これに対して、ステップS24において、通知済フラグが立っていると判定した場合、コントローラ40は、ステップS28において、処理の終了が指示されたか否かを判定する。
【0245】
ステップS28において、処理の終了が指示されたと判定された場合、プレ電力制限処理は終了となる。
【0246】
これに対して、ステップS28において、処理の終了がまだ指示されていないと判定された場合、処理はステップS21に戻され、それ以降の処理が繰り返される。
【0247】
以下、コントローラ40のプレ電力制限処理のうちのまだ説明していない処理も含めて、電力制限設定(THRM#)が、「OFF」から「ON」に変化した場合の処理と、電力制限設定(THRM#)が、「ON」から「OFF」に変化した場合の処理のそれぞれについて個別に説明する。
【0248】
はじめに、電力制限設定(THRM#)が、「OFF」から「ON」に変化した場合における、コントローラ40のプレ電力制限処理について説明する。
【0249】
この場合、上述したように、ステップS21において、電力制限設定(THRM#)が変化したと判定され、さらに、ステップS22において、電力制限設定(THRM#)は、「ON」の設定であると判定された後、ステップS23において、プレ電力制限機構は有効化中であるか否かが判定される。
【0250】
ステップS23において、プレ電力制限機構は有効化中であると判定された場合、上述したように、ステップS24において、通知済フラグが立っているか否かが判定される。
【0251】
いまの場合、プレ電力制限要求(SCI)をまだ通知していないので、コントローラ40は、ステップS24において、通知済フラグが立っていないと判定し、ステップS25において、プレ電力制限要求をSCIによりAML91に通知する。
【0252】
そして、コントローラ40は、ステップS26において、通知済フラグを立て、ステップS27において、プレ電力制限制御用のタイマ112のカウンタを初期化する。その後、処理は、ステップS21に戻され、それ以降の処理が繰り返される。
【0253】
このとき、後述するように、AML91は、SCIでコントローラ40より通知されたと判定し、通知された要求は、プレ電力制限要求であると判定する(図11のステップS62とS64)。そして、AML91は、プレ電力制限を設定する。即ち、いまの場合、プレ電力制限制御として、スロットリング制御が設定されているので、AML91は、サウスブリッジ18のレジスタ102に、プレ電力制限設定として「ON」を書き込む(図11のスッテプS65)。
【0254】
すると、レジスタ102は、ほぼ即座に生成指令をSTPCLK#生成部101に出力する。STPCLK#生成部101は、生成指令を受けてSTPCLK#を生成し、信号線72を介してスロットリング制御部84に出力する。スロットリング制御部84は、このSTPCLK#を検出すると、スロットリング制御を開始する。即ち、プレ電力制限制御として、スロットリング制御が実行される。
【0255】
AML91は、プレ電力制限制御が開始されるのを待って(処理を所定の時間待機して)、プレ電力制限中アークナレッジをコントローラ40に通知する(図11のステップS66とS67)。
【0256】
なお、このプレ電力制限中アークナレッジに関するコントローラ40側の処理は、プレ電力制限の補助処理における処理であるので、図10のフローチャートを参照して後述する。
【0257】
次に、電力制限設定(THRM#)が、「ON」から「OFF」に変化した場合における、コントローラ40のプレ電力制限処理について説明する。
【0258】
この場合、上述したように、ステップS21において、電力制限設定(THRM#)が変化したと判定され、ステップS22において、電力制限設定(THRM#)は、「ON」の設定ではないと判定され、処理はステップS29に進められる。
【0259】
即ち、ステップS29において、コントローラ40は、プレ電力制限解除要求(SCI)を既に通知したか否かを判定する。
【0260】
ステップS29において、プレ電力制限解除要求(SCI)をまだ通知していないと判定した場合、コントローラ40は、ステップS30において、プレ電力制限解除要求をSCIによりAML91に通知し、その処理をステップS31に進める。
【0261】
このとき、後述するように、AML91は、SCIでコントローラ40より通知されたと判定し、通知された要求は、プレ電力制限要求ではなく、プレ電力制限解除要求であると判定する(図11のステップS62、S64、およびS68)。そして、AML91は、プレ電力制限制御の設定を解除する。即ち、いまの場合、プレ電力制限制御として、スロットリング制御が設定されているので、AML91は、サウスブリッジ18のレジスタ102に「OFF」を書き込む(図11のスッテプS69)。
【0262】
すると、レジスタ102は、生成指令の出力を停止し、STPCLK#生成部101も、それに伴い、STPCLK#の出力を停止する。スロットリング制御部84は、STPCLK#の出力の停止を検出すると、スロットリング制御を停止する。即ち、プレ電力制限制御としてのスロットリング制御が停止する。
【0263】
これに対して、プレ電力制限解除要求(SCI)が既に通知されている場合(ステップS29において、プレ電力制限解除要求を既に通知したと判定された場合)、ステップS30の処理の実行は必要ないので、処理はそのままステップS31に進められる。
【0264】
ステップS31において、コントローラ40は、プレ電力制限機構を有効化する。そして、コントローラ40は、ステップS32において、プレ電力制限制御用のタイマ112のカウンタを初期化し、ステップS33において、通知済フラグをクリアする。その後、処理はステップS21に戻され、それ以降の処理が繰り返される。
【0265】
次に、図10のフローチャートを参照して、コントローラ40のプレ電力制限の補助処理について説明する。
【0266】
ステップS41において、コントローラ40は、プレ電力制限機構は有効化されているか否かを判定する。
【0267】
ステップS41において、プレ電力制限機構は有効化されていないと判定された場合、処理はステップS41に戻され、プレ電力制限機構は有効化されているか否かが再度判定される。即ち、コントローラ40は、プレ電力制限機構が有効化されることを常時監視している。
【0268】
換言すると、プレ電力制限の補助処理は、プレ電力制限機構が有効化された場合に実行される処理である。
【0269】
ステップS41において、プレ電力制限機構が有効化されていると判定した場合、コントローラ40は、ステップS42において、通知済フラグが立っているか否かを判定する。即ち、プレ電力制限要求(SCI)が既に通知されているか否かが判定される。
【0270】
ステップS42において、通知済フラグが立っていないと判定した場合、コントローラ40は、ステップS43において、処理の終了が指示されたか否かを判定する。
【0271】
ステップS43において、処理の終了が指示されたと判定された場合、プレ電力制限の補助処理は終了となる。
【0272】
これに対して、ステップS43において、処理の終了がまだ指示されていないと判定された場合、処理はステップS41に戻され、それ以降の処理が繰り返される。即ち、プレ電力制限要求(SCI)が通知されるまで(通知済フラグが立つまで)、ステップS41、ステップS42、およびステップS43の処理が繰り返される。
【0273】
プレ電力制限要求(SCI)が通知されると、通知済フラグが立つので(上述した図9のステップS25とS26)、コントローラ40は、ステップS42において、通知済フラグが立っていると判定し、ステップS44において、プレ電力制限用のタイマ112をデクリメントする。即ち、上述したように、プレ電力制限用のタイマ112は、プレ電力制限要求(SCI)が通知された時点(図7の例では、略時刻t1)で、カウント動作を開始する。
【0274】
ステップS45において、コントローラ40は、プレ電力制限中アークナレッジが到着したか否かを判定する。
【0275】
ステップS45において、プレ電力制限中アークナレッジがまだ到着していないと判定した場合、コントローラ40は、ステップS46において、プレ電力制限用のタイマ112のカウンタが閾値を超えたか否かを判定する。
【0276】
例えば、この閾値は、図7の時間T4に対応する値とすることができる。即ち、上述したように、AML91が、正常な状態であれば、プレ電力制限中アークナレッジは、プレ電力制限要求(SCI)が通知されてから時間T4が経過する前に到着するはずである。一方、時間T4が経過した後に(時刻ta以降に)、たとえ、プレ電力制限制御が開始されても、Duty Rate(例えば、図7の例では、時間T3に対する時間T4の割合)を確保することができず、電源装置41の仕様を満たすことが不可能となるため、プレ電力制限制御は失敗であるとみなされる。
【0277】
従って、閾値を図7の時間T4に対応する値とすることで、コントローラ40は、図10のステップS46において、プレ電力制限用のタイマ112のカウンタが閾値を超えたか否かを判定することで、プレ電力制限制御が失敗であるか否かを判定することができる。
【0278】
ステップS46において、プレ電力制限用のタイマ112のカウンタがまだ閾値を超えていないと判定された場合、処理はステップS41に戻され、それ以降の処理が繰り返される。即ち、プレ電力制御中アークナレッジが到着しなくとも、閾値に対応する時間が経過するまで、コントローラ40は、プレ電力制限制御は失敗であるとみなさず、プレ電力制御中アークナレッジの到着を待つことになる。
【0279】
これに対して、ステップS46において、プレ電力制限用のタイマ112のカウンタが閾値を超えたと判定した場合、コントローラ40は、プレ電力制限制御は失敗であるとみなし、ステップS47において、プレ電力制限機構を無効化する。即ち、コントローラ40は、AML91等のプレ電力制限機構がプレ電力制限制御を実行できる状態でないため、AML91がプレ電力制限中アークナレッジを通知することができないとみなし、プレ電力制限機構を無効化するのである。
【0280】
そして、コントローラ40は、ステップS48において、プレ電力制限解除要求をSCIによりAML91に通知し、ステップS49において、通知済フラグを解除する。その後、処理はステップS41に戻され、それ以降の処理が繰り返される。
【0281】
以上、プレ電力制限中アークナレッジがAML91から出力されない特殊な例について説明した。しかしながら、通常は、コントローラ40からのプレ電力制限要求(SCI)がAML91に通知されてから、AML91からのプレ電力制限中アークナレッジがコントローラ40に到着するまでに、ステップS46の処理で利用される閾値に対応する時間(例えば、図7の例では、時間T4)が経過することはない。
【0282】
即ち、通常、コントローラ40は、プレ電力制限制御用のタイマ112のカウンタが閾値を越える前に、AML91からのプレ電力制限中アークナレッジを検出し(ステップS45において、プレ電力制限中アークナレッジが到着したと判定し)、ステップS50において、電力監視部42からの電源制限要求の有無の監視を開始する。
【0283】
ステップS51において、コントローラ40は、プレ電力制限用のタイマ112のカウンタが0になったか否かを判定する。
【0284】
ステップS51において、プレ電力制限用のタイマ112のカウンタが0になっていないと判定された場合、処理はステップS41に戻され、それ以降の処理が繰り返される。即ち、プレ電力制限用のタイマ112のカウンタが0になるまで(例えば、図7の例では、時間T3に対応するカウントが終了するまで)、ステップS41、S42、S44、S45、S50、およびS51の処理が繰り返される。具体的には、プレ電力制限用のタイマ112のカウンタがデクリメントされるとともに、電力制限要求の有無が監視される。
【0285】
そして、プレ電力制限用のタイマ112のカウンタが0になると(ステップS51において、プレ電力制限制御用のタイマ112のカウンタが0になったと判定すると)、コントローラ40は、ステップS52において、監視中、電源制限要求が入力されたか否かを判定する。
【0286】
即ち、監視中、1度でも電源制限要求が入力された場合(ステップS52において、監視中、電源制限要求が入力されたと判定した場合)、コントローラ40は、いままで実行されていたプレ電力制限制御は失敗であるとみなし、上述したステップS47以降の処理を実行する。
【0287】
これに対して、監視中、電源制限要求が1度も入力されなかった場合(ステップS52において、監視中、電源制限要求が入力されていないと判定した場合)、コントローラ40は、いままで実行されていたプレ電力制限制御は成功であるとみなし、ステップS53において、電源制限要求の有無の監視を終了し、ステップS54において、電力制限設定(THRM#)を「OFF」に設定する。その後、上述したステップS48以降の処理が実行される。
【0288】
即ち、プレ電力制限制御で、システム(図1の情報処理装置1)の消費電力を制限することができれば、それ以上の制限は不要である。従って、コントローラ40は、いままで実行されていたプレ電力制限制御が成功であると判断すると、電力制限制御(電力制限設定(THRM#)によるスロットリング制御)が開始される前に、その設定の解除を行う。
【0289】
以上、コントローラ40が実行する電力制限処理、プレ電力制限処理、および、プレ電力制限の補助処理について説明した。
【0290】
次に、図11のフローチャートを参照して、コントローラ40のこれらの処理に対する、AML91のプレ電力制限処理について説明する。
【0291】
なお、図11のフローチャートにおいて、図中1番上のブロック内が、「AML(BIOS)のプレ電力制限処理開始」とされているのは、上述したように、プレ電力制限制御における電力制限設定部は、ACPI環境下においては、AML91となるが、非ACPI環境下においては、BIOS30(図1)となるからである。即ち、非ACPI環境下においては、BIOS30が、ACPI環境下にけるAML91のプレ電力制限処理と全く同様に、図11のフローチャートに従って、プレ電力制限処理を実行することができる。
【0292】
ただし、BIOS30が電力制限設定部とされた場合、上述したように、SCIではなくSMIが使用されることになる。そこで、後述するステップS62内の記載が、「SCI(SMI)でコントローラから通知されたか?」という記載とされている。
【0293】
はじめに、ステップS61において、AML91は、スロットリング制御の電力制限量を設定する。即ち、図2には図示されていないが、AML91は、スロットリング制御部84が実行するスロットリング制御の制限量を設定することができる。そこで、AML91は、スロットリング制御が実行される前に、スロットリング制御部84に対して電力制限量の設定を行うのである。
【0294】
ステップS62において、AML91は、SCI(SMI)でコントローラ40から通知されたか否かを判定する。
【0295】
ステップS62において、SCI(SMI)でコントローラ40から通知されていないと判定した場合、AML91は、ステップS63において、処理の終了が指示されたか否かを判定する。
【0296】
ステップS63において、処理の終了が指示されたと判定された場合、プレ電力制限処理は終了となる。
【0297】
これに対して、ステップS63において、処理の終了がまだ指示されていないと判定された場合、処理はステップS62に戻され、それ以降の処理が繰り返される。即ち、AML91は、SCIでコントローラ40から通知されることを常時監視している。
【0298】
SCIでコントローラ40から通知されると(ステップS62において、SCI(SMI)でコントローラから通知されたと判定すると)、AML91は、ステップS64において、通知された要求は、プレ電力制限要求であるか否かを判定する。
【0299】
ステップS64において、通知された要求は、プレ電力制限要求であると判定した場合、AML91は、ステップS65において、プレ電力制限を設定する。即ち、いまの場合、プレ電力制限制御として、スロットリング制御が設定されているので、AML91は、サウスブリッジ18のレジスタ102に、プレ電力制限設定として「ON」を書き込む。
【0300】
すると、レジスタ102は、ほぼ即座に生成指令をSTPCLK#生成部101に出力する。STPCLK#生成部101は、生成指令を受けてSTPCLK#を生成し、信号線72を介してスロットリング制御部84に出力する。スロットリング制御部84は、このSTPCLK#を検出すると、スロットリング制御を開始する。即ち、プレ電力制限制御として、スロットリング制御が実行される。
【0301】
このとき、AML91は、ステップS66において、処理を所定の時間待機し、ステップS67において、プレ電力制限中アークナレッジをコントローラ40に通知する。その後、上述したステップS63以降の処理が実行される。
【0302】
即ち、AML91は、プレ電力制限制御が実際に開始されるのを待つために、処理を所定の時間待機し、その後、プレ電力制限中アークナレッジをコントローラ40に通知する。
【0303】
より詳細には、上述したように、コントローラ40は、プレ電力制限中アークナレッジが到達したことをトリガとして、電力監視部42の出力状態(電力制限要求の有無)の監視を開始する(図10のステップS45とS50)。そして、コントローラ40は、監視中、1度でも電力制限要求が有った場合(図10のステップS52の処理でYESであると判定された場合)、いままで実行されていたプレ電力制限制御は失敗であるとみなす。
【0304】
従って、仮に、プレ電力制限制御の開始前に、プレ電力制限中アークナレッジが出力されてしまうと、コントローラ40は、プレ電力制限制御が実行されていないにも関わらず、電力監視部42からの電力制限要求の有無の監視を開始してしまうことになる。その結果、コントローラ40は、電力制限要求の有無の監視を開始した直後、電力制限要求が有ったとみなしてしまうことになり、本来、プレ電力制限制御は成功であると判断しなければいけないケースにおいても、プレ電力制限制御は失敗であると誤った判断をする恐れがある。
【0305】
そこで、AML91は、プレ電力制限制御が確実に開始されるまでの間、処理を待機し、プレ電力制限制御が開始されてから、プレ電力制限中アークナレッジをコントローラ40に通知するのである。
【0306】
これに対して、ステップS64において、通知された要求は、プレ電力制限要求ではないと判定した場合、AML91は、ステップS68において、通知された要求は、プレ電力制限解除要求であるか否かを判定する。
【0307】
ステップS68において、通知された要求は、プレ電力制限解除要求ではないと判定された場合、上述したステップS63以降の処理が実行される。
【0308】
これに対して、ステップS68において、通知された要求は、プレ電力制限解除要求であると判定した場合、AML91は、ステップS69において、プレ電力制限制御の設定を解除する。その後、上述したステップS63以降の処理が実行される。即ち、いまの場合、プレ電力制限制御として、スロットリング制御が設定されているので、AML91は、サウスブリッジ18のレジスタ102に「OFF」を書き込む。
【0309】
すると、レジスタ102は、ほぼ即座に生成指令の出力を停止し、STPCLK#生成部101も、それに伴い、STPCLK#の出力を停止する。スロットリング制御部84は、このSTPCLK#の出力の停止を検出すると、スロットリング制御を停止する。即ち、プレ電力制限制御としてのスロットリング制御が停止される。
【0310】
次に、図12乃至図19を参照して、図2の電力制限制御装置の動作のうちの、代表的な4つのケースについて説明する。
【0311】
即ち、図12は、プレ電力制限制御が成功するケース(以下、第1のケースと称する)における、コントローラ40、AML91、およびサウスブリッジ18の処理の関係を表したアローチャートである。図13は、第1のケースにおけるタイムチャートを表している。
【0312】
図14は、プレ電力制限制御を実行したにも関わらず、制限電力以内に制限できなかったケース、即ち、プレ電力制限制御は実行されたが失敗してしまったケース(以下、第2のケースと称する)における、コントローラ40、AML91、およびサウスブリッジ18の処理の関係を表したアローチャートである。図15は、第2のケースにおけるタイムチャートを表している。
【0313】
図16は、AML91が応答せず、プレ電力制限制御を実行しなかったケース、即ち、プレ電力制限制御は実行されずに失敗してしまったケース(以下、第3のケースと称する)における、コントローラ40、AML91、およびサウスブリッジ18の処理の関係を表したアローチャートである。図17は、第3のケースにおけるタイムチャートを表している。
【0314】
図18は、AML91は応答したが、その応答が遅く、プレ電力制限制御が失敗とみなされたケース(以下、第4のケースと称する)における、コントローラ40、AML91、およびサウスブリッジ18の処理の関係を表したアローチャートである。図19は、第4のケースにおけるタイムチャートを表している。
【0315】
なお、図12、図14、図16、および図18のアローチャートの各ステップのそれぞれの処理は、上述した図8乃至図11のフローチャートのいずれかに記載されている、対応するステップの処理と同一の処理である。
【0316】
従って、図12、図14、図16、および図18のアローチャートにおいては、図8乃至図11のフローチャートの全てのステップの処理が記載されているわけではなく、そのうちの主要なステップの処理のみが記載されているが、これらのアローチャートに記載されている処理の前後の関係については、図8乃至図11のフローチャートを参照することで、容易に理解することが可能である。
【0317】
また、図13、図15、図17、および、図19において、各図のそれぞれの1番上に、時間軸が示されている。この時間軸は、上述した図6(図7)の時間軸と基本的に同様の時間軸を表している。そして、図中、時間軸の下方に、電力監視部42からの電力制限要求、スロットリング制御(STPCLK#生成部101からのSTPCLK#)、電力制限設定(THRM#)(コントローラ40が信号線71を介してレジスタ103に「ON」を書き込むタイミング)、プレ電力制限要求(コントローラ40がAML91にSCIにより通知するタイミング)、プレ電力制限設定(いまの場合、AML91がレジスタ102に「ON」を書き込むタイミング)、プレ電力制限中ACK(アークナレッジ)(AML91がコントローラ40にプレ電力制限中ACKを通知するタイミング)、プレ電力制限設定解除(いまの場合、AML91がレジスタ102に「OFF」を書き込むタイミング)、および電力制限設定(THRM#)解除(コントローラ40が信号線71を介してレジスタ103に「OFF」を書き込むタイミング)のそれぞれのタイムチャートが示されている。
【0318】
はじめに、図12と図13を参照して、第1のケースにおける、図2の電力制限制御装置の動作について説明する。
【0319】
図13に示されるように、例えば、いま、時刻t1に、電力監視部42からの電力制限要求が無から有に変化したとする。
【0320】
この場合、コントローラ40は、その変化とほぼ同時に(略時刻t1)に、電力制限要求が入力されたと判定し(図12のステップS1)、電力制限設定(THRM#)を「ON」に設定する(図12のステップS6)。即ち、コントローラ40は、信号線71を介してサウスブリッジ18のレジスタ103に「ON」を書き込む。
【0321】
すると、サウスブリッジ18のタイマ104は、カウント動作を開始する。なお、上述したように、インテル社製のサウスブリッジ18の場合、タイマ104のカウント時間は2秒であるので、図12においては、タイマ104は、2秒タイマと記述されている。そこで、以下、サウスブリッジ18はインテル社製のものであるとして、タイマ104を、2秒タイマ104と称することにする。
【0322】
また、コントローラ40は、略時刻t1に、プレ電力制限要求をSCIによりAML91に通知し(図12のステップS25)、プレ電力制御用のタイマ112のカウントを開始する(図12のステップS44)。
【0323】
AML91は、通常の場合(ケース1の場合)、プレ電力制限要求が通知されるとほぼ同時に(図13の例では、時刻tAに)、プレ電力制限設定を行う。即ち、いまの場合、プレ電力制限制御はスロットリング制御とされているので、AML91は、ACPIレイヤ92を介して、サウスブリッジ18のレジスタ102に「ON」を書き込む。
【0324】
すると、レジスタ102は、ほぼ即座に生成指令をSTPCLK#生成部101に出力する。STPCLK#生成部101は、生成指令を受けてSTPCLK#を生成し、信号線72を介してスロットリング制御部84に出力する。スロットリング制御部84は、このSTPCLK#を検出すると、スロットリング制御を開始する。即ち、プレ電力制限制御として、スロットリング制御が実行される。
【0325】
プレ電力制限制御が開始されると、通常の場合、システム(図1の情報処理装置1)の消費電力は制限電力Piplimit(図6)より低く制限されるので、図13で示されるように、電力制限要求が有から無に変化し、その後、無の状態が続く。
【0326】
このとき、AML91は、処理を所定の時間待機し(図12のステップS66)、プレ電力制限中アークナレッジ(ACK)をコントローラ40に通知する(図12のステップS67)。
【0327】
通常の場合、このプレ電力制限中アークナレッジ(ACK)は、コントローラ40のプレ電力制限用のタイマ112のカウント値が閾値を越える前に、コントローラ40に到着する。コントローラ40は、プレ電力制限中アークナレッジ(ACK)が到着したことを検出すると(図12のステップS45(YES))、電力制限要求の監視を開始する(図12のステップS50)。
【0328】
そして、コントローラ40のプレ電力制限用のタイマ112がカウント動作を終了すると(図12のステップS51(YES))、コントローラ40は、電力制限要求の監視を開始してから(図13の例では、プレ電力制限中ACKの黒丸のタイミングから)、タイマ112のカウント動作が終了するまで(図13の例では、略時刻tB)の間、電力制限要求の入力があったか否かを判定する。
【0329】
いまの場合(ケース1の場合)、図13で示されるように、電力制限要求は無の状態が続いているので、コントローラ40は、電力制限要求の入力はなかったと判定し(図12のステップS52(NO))、いままで実行されていたプレ電力制限制御(いまの場合、スロットリング制御)は成功であり、これ以上の電力制限制御は不要であると判断する。
【0330】
そこで、コントローラ40は、電力制限設定(THRM#)を「OFF」に設定する(図12のステップS54)とともに、プレ電力制限解除要求をSCIによりAML91に通知する(図12のステップS48)。
【0331】
すると、サウスブリッジ18の2秒タイマ104は、カウント動作を停止して、初期設定を行う。即ち、電力制限制御(電力制限設定(THRM#)によるスロットリング制御)は実行されないことになる。
【0332】
一方、AML91は、プレ電力制限解除要求を受けて、プレ電力制限設定の解除を行う(図12のステップS68)即ち、いまの場合、プレ電力制限制御として、スロットリング制御が設定されているので、AML91は、サウスブリッジ18のレジスタ102に「OFF」を書き込む。
【0333】
すると、レジスタ102は、ほぼ即座に生成指令の出力を停止し、STPCLK#生成部101も、それに伴い、STPCLK#の出力を停止する。スロットリング制御部84は、このSTPCLK#の出力の停止を検出すると、スロットリング制御を停止する。即ち、プレ電力制限制御としてのスロットリング制御が終了となる。
【0334】
なお、上述したように、いまの場合、プレ電力制限制御と電力制限制御(電力制限設定(THRM#)によるスロットリング制御)の同時実行は禁止されているので、これらの処理は、サウスブリッジ18の2秒タイマ104のカウント動作が終了するまで(いまの場合、2秒経過するまで)、即ち、電力制限制御が開始される予定の時刻(図13の例では、時刻t2)までに実行される必要がある。このため、図13の例では、時刻t2の前の時刻tB(時刻tBは、例えば、図7の時刻tbと同時刻)が、プレ電力制限設定解除と電力制限設定(THRM#)解除のタイミングとされている。
【0335】
このように、時間的に長い電力制限制御の開始前に、時間的に短いプレ電力制限制御が実行され、プレ電力制限制御だけでシステム(図1の情報処理装置1)の消費電力が充分に制限されれば、電力制限制御の実行は必須とされない。従って、電力制限設定(THRM#)によるスロットリング制御(電力制限制御)のみを行う場合に比較して、電力制限時の情報処理装置のパフォーマンスの悪化の度合いが著しく改善される。
【0336】
例えば、サウスブリッジ18がインテル社製のものであって、Duty Rateが10%の場合、電力制限設定(THRM#)によるスロットリング制御(電力制限制御)の時間は約20秒(開始までのディレイ時間2秒含む)にもなる。これに対して、プレ電力制限制御は、システムの消費電力が制限電力を超えてから電力制限制御が開始される前まで、即ち、電力制限制御のディレイ時間(開始までのディレイ時間2秒)以内の時間で行われる。従って、プレ電力制限制御の電力制限時間は、電力制限制御のそれに比較して、1/10以下で済むことになる。即ち、本発明においては、プレ電力制限制御が実行されるので、制限量は、実際に必要な量で済むことになる。
【0337】
次に、図14と図15を参照して、第2のケースにおける、図2の電力制限制御の動作について説明する。
【0338】
図13と図15を比較するとわかるように、第1のケース(図13)は、プレ電力制限制御としてのスロットリング制御が成功し、電力制限要求が有から無に変化した後、そのまま無の状態が続くケースの例である。これに対して、第2のケース(図15)は、プレ電力制限制御としてのスロットリング制御が実行されるまでは、第1のケースと同様である。しかしながら、その後、プレ電力制限制御では、システム(図1の情報処理装置1)の消費電力を完全に制限することができず、状態181に示されるように、プレ電力制限制御中に、電力制限要求が有になってしまったケースの例である。
【0339】
従って、第2のケースにおける、コントローラ40のプレ電力制限用のタイマ112がカウント動作を終了する(図14のステップS51(YES))までの、電力制限制御装置の動作は、第1のケースにおける動作と基本的に同様である。そこで、以下、第2のケースにおける、それ以降の電力制限制御装置の動作について説明する。
【0340】
即ち、コントローラ40のプレ電力制限用のタイマ112がカウント動作を終了すると(図14のステップS51(YES))、コントローラ40は、電力制限要求の監視を開始してから(図15の例では、プレ電力制限中ACKの黒丸のタイミングから)、プレ電力制限用のタイマ112がカウント動作を終了するまで(図15の例では、略時刻tB)の間、電力制限要求の入力があったか否かを判定する。
【0341】
いまの場合(ケース2の場合)、図15の状態181で示されるように、プレ電力制限の間に、電力制限要求が1度有になってしまったので、コントローラ40は、電力制限要求の入力があったと判定し(図12のステップS52(YES))、いままで実行されていたプレ電力制限制御(いまの場合、スロットリング制御)は失敗であり、電力制限制御の実行が必要であると判断する。
【0342】
そこで、コントローラ40は、ケース1の場合とは違い、電力制限設定(THRM#)は解除せず(サウスブリッジ18に対しては、何の処理も実行せず)、プレ電力制限解除要求のみをSCIによりAML91に通知する(図14のステップS48)。
【0343】
AML91は、プレ電力制限解除要求を受けて、プレ電力制限設定の解除を行う(図12のステップS68)。
【0344】
すると、ケース1の場合と同様に、サウスブリッジ18のSTPCLK#生成部101からのSTPCLK#の出力が停止され、プレ電力制限制御としてのスロットリング制御は停止される。
【0345】
しかしながら、電力制限設定(THRM#)は解除されていないので(「ON」のままであるので)、2秒タイマ104のカウント動作が終了すると(図15の例では、時刻t2になると)、レジスタ103は、STPCLK#生成部101に対して生成指令を出力する。STPCLK#生成部101は、生成指令を受けてSTPCLK#を再度生成し、信号線72を介してスロットリング制御部84に出力する。スロットリング制御部84は、このSTPCLK#を検出すると、スロットリング制御を再度実行する。即ち、今度は、電力制限制御として、スロットリング制御が実行されることになる。
【0346】
このように、図2の電力制限制御装置は、たとえ、プレ電力制限制御による結果が不十分なものであっても、次の電力制限制御を確実に実行するので、最終的に、システム(図1の情報処理装置1)の消費電力を制限電力以下に制限することができる。
【0347】
次に、図16と図17を参照して、第3のケースにおける、図2の電力制限制御の動作について説明する。
【0348】
図17に示されるように、第3のケースは、コントローラ40がプレ電力制限要求(SCI)をAML91対して行ったが、AML91が応答しなかったケースの例である。
【0349】
即ち、第1と第2のケースと同様に、例えば、時刻t1に、電力監視部42からの電力制限要求が無から有に変化したとする。
【0350】
すると、コントローラ40は、その変化とほぼ同時に(略時刻t1)に、電力制限要求が入力されたと判定し(図16のステップS1)、電力制限設定(THRM#)を「ON」に設定する(図16のステップS6)。これにより、サウスブリッジ18の2秒タイマ104は、カウント動作を開始する。
【0351】
また、コントローラ40は、略時刻t1に、プレ電力制限要求をSCIによりAML91に通知し(図16のステップS25)、プレ電力制御用のタイマ112のカウント動作を開始する(図16のステップS44)。
【0352】
ここまでの動作は、第1のケースと第2のケースの動作と基本的に同様である。
【0353】
しかしながら、第3のケースにおいては、AML91は、プレ電力制限要求に対して応答しない。即ち、当然ながら、AML91は、プレ電力制限中アークナレッジ(ACK)を出力しない。
【0354】
従って、コントローラ40は、プレ電力制限中ACKが到着しないと判定し続け(図16のステップS45(NO))、コントローラ40のプレ電力制御用のタイマ102のカウンタが閾値を越えると(図16のステップS46(YES))、即ち、図17の場合、時刻ta(図7の時刻taと同一時刻)を過ぎると、プレ電力制限解除要求をSCIによりAML91に通知する(図16のステップS48)。
【0355】
なお、ケース3の場合、AML91が応答しておらず、プレ電力制限設定自身もなされていないため、プレ電力制限解除要求の通知は不要ではあるが、いまの場合、電力制限制御とプレ電力制限制御の同時実行が禁止されているので、安全上の処置として、プレ電力制限解除要求が通知される。
【0356】
このため、図17の例では、プレ電力制限設定解除のタイミングが白丸として示されている。即ち、AML91は、応答しないため、プレ電力制限制御の設定の解除は行わないが、プレ電力制限解除要求自身は通知されているため、黒丸ではなく白丸として示されている。
【0357】
このように、第3のケースにおいては、AML91が応答しないため、プレ電力制限制御は実行されない。
【0358】
そこで、サウスブリッジ18において、2秒タイマ104のカウント動作が終了すると(図17の例では、時刻t2になると)、レジスタ103は、STPCLK#生成部101に対して生成指令を出力する。STPCLK#生成部101は、生成指令を受けてSTPCLK#を生成し、信号線72を介してスロットリング制御部84に出力する。スロットリング制御部84は、このSTPCLK#を検出すると、スロットリング制御を開始する。
【0359】
このように、図2の電力制限制御装置は、たとえ、AML91が応答せず、プレ電力制限制御を実行することができない状態であっても、電力制限制御を確実に実行するので、最終的に、システム(図1の情報処理装置1)の消費電力を制限電力以下に制限することができる。
【0360】
次に、図18と図19を参照して、第4のケースにおける、図2の電力制限制御装置の動作について説明する。
【0361】
図19に示されるように、第4のケースは、コントローラ40がプレ電力制限要求(SCI)をAML91対して行ったが、AML91の反応が遅く、充分なプレ電力制限制御が実行されなかったケースの例である。
【0362】
即ち、第1乃至第3のケースと同様に、例えば、時刻t1に、電力監視部42からの電力制限要求が無から有に変化したとする。
【0363】
すると、コントローラ40は、その変化とほぼ同時に(略時刻t1)に、電力制限要求が入力されたと判定し(図18のステップS1)、電力制限設定(THRM#)を「ON」に設定する(図18のステップS6)。これにより、サウスブリッジ18の2秒タイマ104は、カウント動作を開始する。
【0364】
また、コントローラ40は、略時刻t1に、プレ電力制限要求をSCIによりAML91に通知し(図18のステップS25)、プレ電力制御用のタイマ112のカウントを開始する(図18のステップS44)。
【0365】
ここまでの動作は、第1乃至第3のケースの動作と基本的に同様である。
【0366】
しかしながら、第3のケースにおいては、AML91の反応が遅く、例えば、図19の状態191に示されるように、時刻ta(プレ電力制限制御用のタイマ112の閾値に対応する時刻)の直前に、AML91がプレ電力制限制御の設定をしたとする(図18のステップS65)。
【0367】
この場合、サウスブリッジ18はSTPCLK#を出力し、CPU11のスロットリング制御部84は、プレ電力制限制御としてスロットリング制御を実行する。
【0368】
AML91は、このプレ電力制限制御の確実な実行を待つために、所定の時間だけ処理を待機した後、プレ電力制限中アークナレッジ(ACK)を出力することになる。即ち、プレ電力制限中ACKが出力されたとしても、その出力時刻は、時刻taを過ぎてしまう。
【0369】
ただし、この場合、プレ電力制限中ACKは、後述するプレ電力制限解除要求のタイミングによって、出力されることもあるし、出力されないこともある。そこで、図18には、プレ電力制限中ACKに関する処理は図示されてはおらず、また、図19においては、プレ電力制限中ACKは黒丸ではなく白丸で示されている。
【0370】
従って、コントローラ40側から見た場合、ケース3と全く同様に、プレ電力制限中ACKが到着しないと判定され(図18のステップS45(NO))、コントローラ40のプレ電力制御用タイマ112のカウンタが閾値を越えると(図18のステップS46(YES))、即ち、図19の場合、時刻taを過ぎると、プレ電力制限解除要求がSCIによりAML91に通知される(図18のステップS48)。
【0371】
このように、ケース3の場合においては、AML91が応答しておらず、プレ電力制限設定自身もなされていないため、プレ電力制限解除要求の通知は必須ではなかったが、ケース4の場合においては、プレ電力制限制御自体は行われているので、プレ電力制限解除要求の通知は必須である。即ち、プレ電力制限中ACKが到着しない場合、ケース3においては、安全上の処置として、プレ電力制限解除要求が通知されると説明したが、ケース4も想定すると、プレ電力制限解除要求の通知は必須な処理(処置)となる。
【0372】
このようにして、プレ電力制限解除要求が通知されると、AML91は、プレ電力制限制御の設定を解除する(図18のステップS68)。すると、サウスブリッジ18からのSTPCLK#の出力が停止され、プレ電力制限制御(スロットリング制御部84が実行するスロットリング制御)も停止される。
【0373】
そして、サウスブリッジ18において、2秒タイマ104のカウント動作が終了すると(図19の例では、時刻t2になると)、レジスタ103は、STPCLK#生成部101に対して生成指令を出力する。STPCLK#生成部101は、生成指令を受けてSTPCLK#を生成し、信号線72を介してスロットリング制御部84に出力する。スロットリング制御部84は、このSTPCLK#を検出すると、電力制限設定(THRM#)によるスロットリング制御(電力制限制御)を開始する。
【0374】
このように、図2の電力制限制御装置は、AML91の応答が遅く、プレ電力制限制御の実行が不十分な状態であっても(途中で中断されるので、図19の電力制限要求の点線で示されるように、時刻taから時刻t2の間に電力制限要求が有になることがあっても)、次の電力制限制御を確実に実行するので、最終的に、システム(図1の情報処理装置1)の消費電力を制限電力以下に制限することができる。
【0375】
以上、図2の電力制限制御装置の動作の例として、代表的な4つのケース(第1乃至第4のケース)について説明した。
【0376】
これらの4つのケースのうちの第1のケースは、図5の状態遷移図においては、状態遷移条件162が満たされて、通常状態151からプレ電力制限状態152に遷移し、その後、プレ電力制限制御が成功したため、状態遷移条件164が満たされて、プレ電力制限状態152から通常状態151に戻るケースの例である。
【0377】
これに対して、残りの第2乃至第4のケースは、図5の状態遷移図においては、状態遷移条件162が満たされて、通常状態151からプレ電力制限状態152に遷移し、その後、プレ電力制限制御が失敗したとみなされ、状態遷移条件165が満たされて、プレ電力制限状態152から電力制限状態153に遷移するケースの例である。
【0378】
以上、説明したように、本発明の情報処理装置(例えば、図2の構成の電力制限制御装置を有する図1の情報処理装置1)においては、情報処理装置全体の実際の消費電力が監視され、監視された消費電力が所定の閾値を超えた場合、電力制限要求が出力される。電力制限要求が出力されると、CPUの稼働率を制限することで消費電力を制限する制御として、第1の制御が設定されるとともに、第2の制御が設定される。そして、必要に応じて、第1の制御と第2の制御が同時に実行されたり、どちらか1方のみが実行されたり、或いは、どちらか1方が先に実行された後、他方が実行される。
【0379】
また、本発明の情報処理装置は、第1の制御と第2の制御のみならず、さらに多段階の制御の実行も容易に実現可能である。
【0380】
従って、本発明の情報処理装置は、以下の(1)乃至(8)のような効果を奏することが可能になる。
【0381】
(1)本発明においては、多段階の電力制限制御が実行されるので、電源設計難易度を下げることが可能になる。
【0382】
(2)本発明においては、例えば、上述した図面や説明を参照することで、品質事故防止や論理的整合性を維持しながら、電力供給装置の持続的供給可能な電力量を超える電力(ただし、一時的)を消費するシステムの設計が可能になる。その結果、電力供給装置のサイズや重量などを小さくでき、商品力を向上させることが可能になる。
【0383】
(3)1回だけの電力制限制御が実行される手法においては、電力制限制御を実行する状態と、実行しない状態の2つの状態しかないため、最悪条件を想定して設計する必要がある。従って、閾値(例えば、図6の制限電力Pinplimit)より少しだけしか消費電力が上回らない電力消費に対しても大きな電力制限を掛ける必要があり、その結果、情報処理装置のパフォーマンスが出ない、または、ユーザビリティーが悪化するという問題点があった。これに対して、本発明の情報処理装置においては、例えば、図5の状態遷移図に示されるように、3つ以上の状態を容易に作ることが可能である。従って、本発明の情報処理装置は、閾値を少しだけ上回るような電力消費に対しても、はじめに、最悪設計値よりも低い消費電力制限を行い(例えば、図5の例では、プレ電力制限状態152に遷移し)、それでも制限できない場合、はじめて、最悪設計値での消費電力制限を行う(例えば、図5の例では、プレ電力制限状態152に遷移する)ことが可能になる。即ち、本発明の情報処理装置は、上述した問題点を解決することが可能になる。
【0384】
(4)第1の制御を、ハードウエアドリブンによる電力制限制御(例えば、THRM#によるスロットリング制御)とし、第2の制御を、ソフトウエアドリブンによるプレ電力制限制御(例えば、AML(非ASPI環境下の場合、BIOS)が制御の設定を行う多段階電圧スケーリング制御、TCCによる制御、またはスロットリング制御)とすれば、第1の制御のみを使用する情報処理装置に比較しても、ほぼ同じコストで、第1の制御と第2の制御の両方を使用可能な情報処理装置の製作が可能になる。
【0385】
(5)第2の制御であるソフトウエアドリブンによるプレ電力制限制御は、第1の制御であるハードウエアドリブンによる電力制限制御よりも反応速度が早い。従って、第1の制御と第2の制御の両方を実行する本発明の情報処理装置は、第1の制御のみを使用する情報処理装置に比較して、電力制限制御を即座に実行することができる。即ち、電源負荷が少なく、電源を休ませる時間を短くすることができる。換言すると、情報処理装置のパフォーマンスダウン時間を最小限に収めることが可能になる。
【0386】
(6)一方、第1の制御であるハードウエアドリブンによる電力制限制御は、第2の制御であるソフトウエアドリブンによるプレ電力制限制御よりも信頼性が高い。従って、第1の制御と第2の制御の両方を実行する本発明の情報処理装置は、第2の制御のみを使用する情報処理装置に比較して、信頼性を確保することが可能になる。具体的には、制御対象の状態が異常な状態(例えば、システム(情報処理装置自身)がハングアップしていたり、Too busyであったりする状態)であっても、本発明の情報処理装置は、電力制限制御を確実に行うことができる。
【0387】
(7)本発明においては、スロットリング制御開始のトリガは、ハードウエア(例えば、図3に示される電力監視部42)から信号として出力されるので、OS、ソフトウエアアプリケーション、または、制御テーブルが不必要となり、その結果、電力制限制御の継承、および標準化が容易に実現可能となる。
【0388】
(8)さらに、本発明の情報処理装置は、電力閾値(例えば、図3に示される電力監視部42が使用する閾値)として単に1つの値を有すればよいので、閾値を複数持つ従来の情報処理装置よりも、ハードウェアコスト、設計工数、および、検証コストのそれぞれを抑制することが可能となる。
【0389】
なお、本発明の電力制限制御を行うために必要な電流の検出は、上述した図3の電送路131を流れる電流Inの検出に限定されず、情報処理装置1内外を問わず、情報処理装置1の消費電力の増減に関与する電流が流れる電送路の検出であればよい。例えば、CPU11を流れる電流の検出であってもよいし、USBバス57を流れる電流の検出であってもよい。
【0390】
また、上述した例では、CPUの稼働率低減機能を利用し制御するようにしたが、稼働率低減機能を有していれば、その他のプロセッサ、例えば、図示はしないが、DSP(Digital Signal Processor)やMPU(Micro Processing Unit)などを同様に制御することができる。即ち、本明細書においては、プロセッサとは、情報処理装置に搭載されるハードウエアとしての装置であって、所定の演算を実行する演算装置、所定の制御を実行する制御装置、または、演算装置と制御装置を少なくとも有する装置のことである。
【0391】
ところで、上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0392】
記録媒体は、図1に示されるように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク61(フレキシブルディスクを含む)、光ディスク62(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク63(MD(Mini-Disc)(登録商標)を含む)、若しくは半導体メモリ64などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROMやHDD27が含まれるハードディスクなどで構成される。
【0393】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0394】
【発明の効果】
以上のごとく、本発明によれば、情報処理装置の消費電力を制限する制御を実行することができる。特に、品質事故を防ぎつつ、実際に必要な制限量で、情報処理装置の消費電力を制限する制御であって、継承と標準化が容易な制御を実行することができる。
【図面の簡単な説明】
【図1】本発明が適用される情報処理装置の構成例を示すブロック図である。
【図2】図1の情報処理装置のうちの、電力制限制御を行う部分(電力制限制御装置)の構成例を示す機能ブロック図である。
【図3】図2の電力監視部の詳細な構成例を示すブロック図である。
【図4】2段階の電力制限制御の例、即ち、1段階目のプレ電力制限制御と、2段階目の電力制限制御を説明する図である。
【図5】図2の電力制限制御装置の状態とその遷移の例を説明する状態遷移図である。
【図6】図2の電力制限制御装置が実行する2段階の電力制限制御のうちの、2段階目の電力制限制御の処理例を説明するタイムチャートである。
【図7】図2の電力制限制御装置が実行する2段階の電力制限制御のうちの、1段階目のプレ電力制限制御の処理例を説明する図である。
【図8】図2の電力制限制御装置のコントローラの電力制限処理例を説明するフローチャートである。
【図9】図2の電力制限制御装置のコントローラのプレ電力制限処理例を説明するフローチャートである。
【図10】図2の電力制限制御装置のコントローラのプレ電力制限の補正処理例を説明するフローチャートである。
【図11】図2の電力制限制御装置のAML(または、BIOS)の電力制限処理例を説明するフローチャートである。
【図12】図2の電力制限制御装置のコントローラ、AML(または、BIOS)、サウスブリッジの第1のケースにおける処理の関係を示すアローチャートである。
【図13】図12のアローチャートに示される、第1のケースにおける処理を説明するタイムチャートである。
【図14】図2の電力制限制御装置のコントローラ、AML(または、BIOS)、サウスブリッジの第2のケースにおける処理の関係を示すアローチャートである。
【図15】図14のアローチャートに示される、第2のケースにおける処理を説明するタイムチャートである。
【図16】図2の電力制限制御装置のコントローラ、AML(または、BIOS)、サウスブリッジの第3のケースにおける処理の関係を示すアローチャートである。
【図17】図16のアローチャートに示される、第3のケースにおける処理を説明するタイムチャートである。
【図18】図2の電力制限制御装置のコントローラ、AML(または、BIOS)、サウスブリッジの第4のケースにおける処理の関係を示すアローチャートである。
【図19】図18のアローチャートに示される、第4のケースにおける処理を説明するタイムチャートである。
【符号の説明】
1 情報処理装置, 11 CPU, 18 サウスブリッジ, 40 コントローラ, 41 電源装置, 42 電力監視部, 71,72 信号線, 81 多段階電圧スケーリング制御部, 82 TCC, 84 スロットリング制御部, 85 MSR, 91 AML, 101 STPCLK#生成部, 102 レジスタ, 103 レジスタ, 104,111,112 タイマ, 121 電流検出部, 122 増幅部, 123 電力リミット検出部, 131 電送路, 151 通常状態, 152 プレ電力制限状態, 153 電力制限状態, Piplimit 制限電圧, T1乃至T6 時間, t1乃至t3,tA,tB,ta,tb 時刻

Claims (12)

  1. プロセッサを有する情報処理装置において、
    前記情報処理装置が消費する電力を監視し、監視した前記電力が所定の閾値を超えた場合、前記電力の制限を要求する電力制限要求を出力する電力監視手段と、
    前記電力監視手段より前記電力制限要求が出力された場合、前記プロセッサの稼働率を制限することで前記電力を制限する制御として、第1の制御を設定する
    第1の設定手段と、
    前記電力監視手段より前記電力制限要求が出力された場合、前記プロセッサの稼働率を制限することで前記電力を制限する制御として、第2の制御を設定する第2の設定手段と、
    前記第1の設定手段により設定された前記第1の制御を実行する第1の制御手段と、
    前記第2の設定手段により設定された前記第2の制御を実行する第2の制御手段と
    を備え
    前記第1の制御手段は、前記第1の設定手段により前記第1の制御が設定された時点から第1の時間が経過した第1の時刻に、前記第1の制御を開始し、
    前記第2の制御手段は、前記第1の時刻よりも前の第2の時刻に、前記第2の制御を開始し、
    前記第2の設定手段は、前記第2の時刻よりも後であって、前記第1の時刻よりも前の第3の時刻に、前記第2の制御手段による前記第2の制御の解除を設定し、
    前記第2の制御手段は、前記第2の設定手段により前記第2の制御の解除が設定された時点で、前記第2の制御を解除し、
    前記第1の設定手段は、前記第2の制御手段により前記第2の制御が実行されている間に、前記電力監視手段から前記電力制限要求が出力されなかった場合、前記第1の時刻の前に、前記第1の制御手段による前記第1の制御の解除を設定し、前記電力監視手段から前記電力制限要求が出力された場合、前記第1の時刻から第2の時間が経過した第4の時刻に、前記第1の制御手段による前記第1の制御の解除を設定し、
    前記第1の制御手段は、前記第1の設定手段により前記第1の制御の解除が設定された時点で、前記第1の制御を解除し、
    前記第2の時間は、前記第1の時間、および、前記情報処理装置に電力を供給する電力供給装置の仕様として規定されている Duty Rate に基づいて設定されている
    とを特徴とする情報処理装置。
  2. 前記第1の設定手段は、前記電力監視手段より前記電力制限要求が出力された場合、前記第1の制御手段に対して前記第1の制御を設定するとともに、さらに、前記第2の設定手段に対して、前記第2の制御の実行を要求する実行要求を出力し、
    前記第2の設定手段は、前記第1の設定手段から出力された前記実行要求を検出した時刻を前記第2の時刻として、前記第2の制御手段に対して前記第2の制御を設定する
    ことを特徴とする請求項に記載の情報処理装置。
  3. 前記第1の設定手段は、さらに、前記第1の時刻より前の所定のタイミングで、前記第2の設定手段に対して、前記第2の制御の解除を要求する解除要求を出力し、
    前記第2の設定手段は、前記第1の設定手段から出力された前記解除要求を検出した時点を前記第3の時刻として、前記第2の制御手段に対して前記第2の制御の解除を設定する
    ことを特徴とする請求項に記載の情報処理装置。
  4. 前記第2の設定手段は、前記第2の制御手段に対して前記第2の制御を設定した後、さらに、前記第1の設定手段に対して、前記第2の制御を設定したことを応答する応答情報を出力する
    ことを特徴とする請求項に記載の情報処理装置。
  5. 前記第1の設定手段は、前記第2の設定手段から出力されるはずの前記応答情報を検出しなかった場合、前記第2の設定手段に対して、前記解除要求を出力するとともに、前記電力監視手段からの前記電力制限要求の出力の有無に関わらず、前記第4の時刻に、前記第1の制御手段に対して前記第1の制御の解除を設定する
    ことを特徴とする請求項に記載の情報処理装置。
  6. 前記第1の制御は、スロットリング制御である
    ことを特徴とする請求項1に記載の情報処理装置。
  7. 前記第2の制御は、スロットリング制御である
    ことを特徴とする請求項1に記載の情報処理装置。
  8. 前記第2の制御は、TCC(Thermal Control Circuit)による制御である
    ことを特徴とする請求項1に記載の情報処理装置。
  9. 前記第2の制御は、多段階電圧スケーリング制御である
    ことを特徴とする請求項1に記載の情報処理装置。
  10. プロセッサを有する情報処理装置の情報処理方法において、
    前記情報処理装置が消費する電力を監視し、監視した前記電力が所定の閾値を超えた場合、前記電力の制限を要求する電力制限要求を生成する電力監視ステップと、
    前記電力監視ステップの処理により前記電力制限要求が生成された場合、前記プロセッサの稼働率を制限することで前記電力を制限する制御として、第1の制御を設定する第1の設定ステップと、
    前記電力監視ステップの処理により前記電力制限要求が生成された場合、前記プロセッサの稼働率を制限することで前記電力を制限する制御として、第2の制御を設定する第2の設定ステップと、
    前記第1の設定ステップの処理により設定された前記第1の制御を実行する第1の制御ステップと、
    前記第2の設定ステップの処理により設定された前記第2の制御を実行する第2の制御ステップと
    を含み、
    前記第1の制御ステップは、前記第1の設定ステップの処理により前記第1の制御が設定された時点から第1の時間が経過した第1の時刻に、前記第1の制御を開始するステップを含み、
    前記第2の制御ステップは、前記第1の時刻よりも前の第2の時刻に、前記第2の制御を開始するステップを含み、
    前記第2の設定ステップは、前記第2の時刻よりも後であって、前記第1の時刻よりも前の第3の時刻に、前記第2の制御ステップの処理による前記第2の制御の解除を設定するステップを含み、
    前記第2の制御ステップは、前記第2の設定ステップの処理により前記第2の制御の解除が設定された時点で、前記第2の制御を解除するステップを含み、
    前記第1の設定ステップは、前記第2の制御ステップの処理により前記第2の制御が実行されている間に、前記電力監視ステップの処理によって前記電力制限要求が出力されなかった場合、前記第1の時刻の前に、前記第1の制御ステップの処理による前記第1の制御の解除を設定し、前記電力監視ステップの処理によって前記電力制限要求が出力された場合、前記第1の時刻から第2の時間が経過した第4の時刻に、前記第1の制御ステップの処理による前記第1の制御の解除を設定するステップを含み、
    前記第1の制御ステップは、前記第1の設定ステップの処理により前記第1の制御の解除が設定された時点で、前記第1の制御を解除するステップを含み、
    前記第2の時間は、前記第1の時間、および、前記情報処理装置に電力を供給する電力供給装置の仕様として規定されている Duty Rate に基づいて設定されている
    ことを特徴とする情報処理方法。
  11. プロセッサと、
    情報処理装置が消費する電力を監視し、監視した前記電力が所定の閾値を超えた場合、前記電力の制限を要求する電力制限要求を出力する電力監視装置と、
    前記プロセッサの稼働率を制限することで前記電力を制限する制御として、第1の制御を実行する第1の制御機構と、
    前記プロセッサの稼働率を制限することで前記電力を制限する制御として、第2の制御を実行する第2の制御機構と、
    ハードウエアとしての第1のインタフェースを介して前記第1の制御機構とデータの受け渡しを実行するとともに、ソフトウエアとしての第2のインタフェースを介して前記第2の制御機構とデータの受け渡しを実行するマイクロコンピュータと
    を備える前記情報処理装置において、
    前記マイクロコンピュータに実行させるプログラムであって、
    前記電力監視装置より前記電力制限要求が出力された場合、前記第1のインタフェースを介して、前記第1の制御機構に対して前記第1の制御を設定する第1の設定ステップと、
    前記電力監視装置より前記電力制限要求が出力された場合、前記第2のインタフェースを介して、前記第2の制御機構に対して前記第2の制御を設定する第2の設定ステップと
    を含み、
    前記第1の制御ステップは、前記第1の設定ステップの処理により前記第1の制御が設定された時点から第1の時間が経過した第1の時刻に、前記第1の制御を開始するステップを含み、
    前記第2の制御ステップは、前記第1の時刻よりも前の第2の時刻に、前記第2の制御を開始するステップを含み、
    前記第2の設定ステップは、前記第2の時刻よりも後であって、前記第1の時刻よりも前の第3の時刻に、前記第2の制御ステップの処理による前記第2の制御の解除を設定するステップを含み、
    前記第2の制御ステップは、前記第2の設定ステップの処理により前記第2の制御の解除が設定された時点で、前記第2の制御を解除するステップを含み、
    前記第1の設定ステップは、前記第2の制御ステップの処理により前記第2の制御が実行されている間に、前記電力監視ステップの処理によって前記電力制限要求が出力されなかった場合、前記第1の時刻の前に、前記第1の制御ステップの処理による前記第1の制御の解除を設定し、前記電力監視ステップの処理によって前記電力制限要求が出力された場合、前記第1の時刻から第2の時間が経過した第4の時刻に、前記第1の制御ステップの処理による前記第1の制御の解除を設定するステップを含み、
    前記第1の制御ステップは、前記第1の設定ステップの処理により前記第1の制御の解除が設定された時点で、前記第1の制御を解除するステップを含み、
    前記第2の時間は、前記第1の時間、および、前記情報処理装置に電力を供給する電力供給装置の仕様として規定されている Duty Rate に基づいて設定されている
    ことを特徴とするプログラム。
  12. 前記第2のインタフェースは、AML(ACPI Machine Language)またはBIOS(Basic Input Output System)であり、
    前記第2の設定ステップの処理は、前記第2の制御機構に対して前記第2の制御の実行を要求する実行要求を、SCI(System Control Interrupt)またはSMI(System Management Interrupt)により前記AMLまたは前記BIOSに通知する処理であり、
    前記AMLまたは前記BIOSは、前記マイクロコンピュータからの前記実行要求を受けて、前記第2の制御手段に対して前記第2の制御を設定する
    ことを特徴とする請求項13に記載のプログラム。
JP2003001721A 2003-01-08 2003-01-08 情報処理装置および方法、並びにプログラム Expired - Fee Related JP4078644B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003001721A JP4078644B2 (ja) 2003-01-08 2003-01-08 情報処理装置および方法、並びにプログラム
US10/750,816 US7171572B2 (en) 2003-01-08 2004-01-05 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003001721A JP4078644B2 (ja) 2003-01-08 2003-01-08 情報処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2004213503A JP2004213503A (ja) 2004-07-29
JP4078644B2 true JP4078644B2 (ja) 2008-04-23

Family

ID=32819665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003001721A Expired - Fee Related JP4078644B2 (ja) 2003-01-08 2003-01-08 情報処理装置および方法、並びにプログラム

Country Status (2)

Country Link
US (1) US7171572B2 (ja)
JP (1) JP4078644B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8237386B2 (en) 2003-08-15 2012-08-07 Apple Inc. Methods and apparatuses for operating a data processing system
US7526659B2 (en) * 2005-02-01 2009-04-28 Hewlett-Packard Development Company, L.P. Systems and methods for controlling use of power in a computer system
US7562234B2 (en) * 2005-08-25 2009-07-14 Apple Inc. Methods and apparatuses for dynamic power control
US7793115B2 (en) * 2006-09-13 2010-09-07 Hewlett-Packard Development Company, L.P. Method and apparatus for operating a power feed in a computer system
US7934107B2 (en) * 2007-01-24 2011-04-26 Hewlett-Packard Development Company, L.P. Power management system and method
US10339227B1 (en) 2007-06-08 2019-07-02 Google Llc Data center design
US7783903B2 (en) 2007-08-07 2010-08-24 International Business Machines Corporation Limiting power consumption by controlling airflow
US8880922B2 (en) * 2009-03-05 2014-11-04 Hitachi, Ltd. Computer and power management system for computer
JP2010267127A (ja) * 2009-05-15 2010-11-25 Giga-Byte Technology Co Ltd 自動電源投入遮断スケジューリングシステムおよびその自動電源投入遮断スケジューリング制御手法
DE112009005003T5 (de) * 2009-06-25 2012-08-16 Hewlett-Packard Development Company, L.P. Systeme und Verfahren zum Liefern von Leistung
US8429433B2 (en) * 2010-01-15 2013-04-23 International Business Machines Corporation Dynamically adjusting an operating state of a data processing system running under a power cap
US8683251B2 (en) * 2010-10-15 2014-03-25 International Business Machines Corporation Determining redundancy of power feeds connecting a server to a power supply
CN102566656A (zh) * 2010-12-20 2012-07-11 鸿富锦精密工业(深圳)有限公司 计算机主板
TWI557546B (zh) * 2012-01-11 2016-11-11 技嘉科技股份有限公司 一體式電腦及其電源管理方法
JP5962304B2 (ja) * 2012-07-31 2016-08-03 富士通株式会社 電源装置、処理装置、情報処理システム、及び電源制御方法
US9268393B2 (en) * 2012-11-30 2016-02-23 Intel Corporation Enforcing a power consumption duty cycle in a processor
US8975954B2 (en) * 2013-01-08 2015-03-10 Qualcomm Incorporated Method for performing adaptive voltage scaling (AVS) and integrated circuit configured to perform AVS
US10326229B2 (en) * 2013-03-15 2019-06-18 Knxid, Llc Termination identification device and system
JP6378165B2 (ja) * 2015-12-18 2018-08-22 Necプラットフォームズ株式会社 制御装置及び制御方法
US20210334187A1 (en) * 2020-04-28 2021-10-28 Intel Corporation Real-time power meter for optimizing processor power management
US11115076B1 (en) * 2020-10-28 2021-09-07 Microsoft Technology Licensing, Llc Transceiver assembly protection element

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082542B2 (en) * 2001-12-21 2006-07-25 Intel Corporation Power management using processor throttling emulation
US6848057B2 (en) * 2002-05-28 2005-01-25 Nvidia Corporation Method and apparatus for providing a decoupled power management state
US7243243B2 (en) * 2002-08-29 2007-07-10 Intel Corporatio Apparatus and method for measuring and controlling power consumption of a computer system
US7240225B2 (en) * 2003-11-10 2007-07-03 Dell Products L.P. System and method for throttling power in one or more information handling systems

Also Published As

Publication number Publication date
US7171572B2 (en) 2007-01-30
US20050022043A1 (en) 2005-01-27
JP2004213503A (ja) 2004-07-29

Similar Documents

Publication Publication Date Title
JP4078644B2 (ja) 情報処理装置および方法、並びにプログラム
JP4006634B2 (ja) 情報処理装置および方法、並びにプログラム
JP4701936B2 (ja) 情報処理装置、情報処理方法及びそのプログラム
CN101598969B (zh) 基于等待时间准则的平台功率管理
KR100488088B1 (ko) 휴대용 컴퓨터의 전력 관리 방법
US7225347B2 (en) Method and apparatus for enabling a low power mode for a processor
EP1085399B1 (en) Software-based temperature controller circuit in an electronic apparatus
TWI302237B (en) Method, apparatus and systems of audio noise mitigation for power state transitions
US8230237B2 (en) Pre-boot environment power management
KR20130049201A (ko) 저장 드라이브 관리
WO2002027449A2 (en) Method and apparatus for maintaining the temperature of a microprocessor using a firmware assisted interrupt mechanism
JP4189882B2 (ja) 記録媒体、情報処理装置、制御方法、及びプログラム
JP4810064B2 (ja) 自動シャットダウンの一時的なユーザによるサスペンド
US7360101B2 (en) Apparatus and method for controlling CPU speed transition
JP2001034370A (ja) 省電力制御装置、省電力制御方法及びコンピュータシステム
JP2002082743A (ja) 電子機器及び電子機器制御プログラムを記憶した記憶媒体
EP1424623A2 (en) Power management method of a portable computer
JP2011013914A (ja) 省電力制御装置、および省電力制御方法
JP4038224B2 (ja) 省電力化阻害要因特定システム、情報処理装置、省電力化阻害要因特定方法、プログラム、及び記録媒体
JP2003337634A (ja) コンピュータ装置及びプロセッサ制御方法及びプロセッサ制御方法をコンピュータに実行させるためのプログラム及びプロセッサ制御方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002297272A (ja) 電子機器の処理方法および電子機器
TW201209571A (en) Systems, apparatuses and methods for dynamic voltage and frequency control of components used in a computer system
JP2011028781A (ja) 情報処理装置およびその制御方法
JP2007102371A (ja) 情報処理装置および該情報処理装置にて実行される動作制御方法
JP2005038131A (ja) コンピュータシステムおよびコンピュータシステムの駆動制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071012

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071217

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080124

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140215

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees