説明

スロットリング制御方法、スロットリング制御システム

【課題】CPUの温度制御の一方法であるスロットリングを、ポーリングを実施せずに、基本的なH/W(ハードウェア)モニター機能のみを有するS−I/O(シリアル入出力モジュール)とBIOS動作のみで実現する。
【解決手段】まず、BIOSにより機能デバイスの初期化がなされる。次に、通常動作状態から機能デバイスにより閾値超過といったイベントが検出されると、SMIが発生する。この時、特に何も検出されない場合は通常動作となる。イベントが検出されると通常のH/W Monitor下限閾値から「この値以下であれば正常動作可能」という下限閾値の値を再設定する。同時に、スロットリング(Throttling)制御を行い、システムは省電力動作となる。下限閾値の値を下回り、監視閾値が正常範囲に戻るとイベントが発生し、下限閾値の値を通常初期化状態へと再設定し、スロットリング(Throttling)を終了して通常動作へと移行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、スロットリング制御方法に関し、特にS/W(ソフトウェア)によるCPUのスロットリング制御方法に関する。
【背景技術】
【0002】
CPUの温度制御の一方法に、スロットリング(Throttling)がある。例えば、クロックスロットリングでは、熱の発生を減らすために集積回路のクロックの周波数又はデューティサイクルを低下させる。通常、スロットリング(Throttling)を実施するには、上限設定温度を超えた場合に信号をASSERT(アサート)、下限設定温度を下回った場合にNEGATE(ネゲート)するというH/W(ハードウェア)、例えば、DALLAS DS1721等のディジタルサーモメータ及びサーモスタットを搭載する必要がある。また、ソフトウェアで行う場合もポーリング等の方法を採らざるを得ない。なお、前述のASSERT(アサート)は、信号をアクティブ(有効)な状態にすることを示し、NEGATE(ネゲート)は、信号をインアクティブ(無効)な状態にすることを示す。
【0003】
従来のシステムの例が、特開2000−39937号公報(特許文献1)に開示されている。
この従来技術は、バッテリ駆動可能なコンピュータシステムにおいて、前記コンピュータシステムのアイドル時に、前記コンピュータシステムを、動作状態からスリープ状態に移行させるスリープ手段と、所定のウェイクアップイベントの発生に応答して前記コンピュータシステムが前記スリープ状態から前記動作状態に復帰した時、前記コンピュータシステムの処理速度を低レベルから所定の高レベルにまで段階的に上昇させる処理速度制御手段とを具備することを特徴とする。
そして、CPUがスリープ状態に維持されている状態でウェイクアップイベントが発生した時、CPUの動作速度はすぐにスリープ状態移行前の動作速度に復帰されるのではなく、CPUスロットリング制御回路によるスロットリング制御により、所定の時間間隔で段階的に低レベルから所定の高レベルにまで徐々に上昇される。これにより、CPUの動作速度をすぐにスリープ状態移行前の動作速度に復帰させる場合に比し、CPUの電力消費を少なくし、バッテリ動作時間を延ばすことを目的としている。
【0004】
上記の特許文献1にもスロットリング(Throttling)制御について一部かかれているが、構成としてノートブック、ラップトップ(PC)を前提としたH/W(ハードウェア)が前提となっている。
【0005】
関連する技術として、特開2003−131753号公報(特許文献2)にCPU動作クロックの間欠動作モード切替方式が開示されている。
このCPU動作クロックの間欠動作モード切替方式は、プリント機能を備える複合複写機においてメイン制御基板のCPUの内部クロック動作の許可/禁止機能の信号線を持ち、前記メイン制御基板のCPUの内部動作を停止もしくは動作を制御できる制御手段と、ネットワークI/F(インターフェース)及びIEEE1284パラレルI/Fによる外部通信I/Fを介してデータを送受信する手段と、複写機の原稿を押さえる圧板を開閉したことを検知する手段と、複写機のフロント・ドアおよびリア・ドアを開閉したことを検知する手段と、該複合複写機の操作を行うための操作パネル及び操作キーとを備える。
前記制御手段は、前記複合複写機がアイドル状態になったら直ちに前記メイン制御基板のCPUの内部クロックを止め、予め設定した第1の設定時間の間に一度、状態が変化していないかどうかを確かめるために前記CPUの内部クロックを動作させるCPU動作クロックの第1の間欠動作モードと、予め設定した第2の時間の間に一度、状態が変化していないかどうかを確かめるために前記CPUの内部クロックを動作させるCPU動作クロックの第2の間欠動作モードの2つのモードを、前記ネットワークI/Fのケーブルが差し込まれている状態で、且つ、リンクが確立されている状態である場合と、前記ネットワークI/Fケーブルが差し込まれていないかもしくは差し込まれていてもリンクが確立していない場合とで切替える。
【0006】
特開2000−242357号公報(特許文献3)にコンピュータシステムにおける電力管理装置が開示されている。
このコンピュータ・システムにおける電力管理装置は、CPUの動作周波数を擬似的に低下させるCPUスロットリングを行なう、コンピュータ・システムにおける電力管理装置であって、システム内のイベントを検出するイベント検出部と、前記イベント検出部がイベントを検出したときにシステム内のアクティビティの有無を調べてシステムがビジー状態にあるか、アイドル状態にあるのかを判定するアクティビティ検出部と、システムがビジー状態にあるときにCPUスロットリングを開始し、システムがアイドル状態にあるときにCPUスロットリングを停止するクロック制御部とを含むコンピュータシステムにおける電力管理装置である。
【0007】
【特許文献1】特開2000−39937号公報
【特許文献2】特開2003−131753号公報
【特許文献3】特開2000−242357号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明の目的は、BIOS−SMI(System Management Interrupt:システムマネジメント割り込み)ハンドラと、多くのS−I/O(シリアル入出力モジュール)が持つH/W(ハードウェア)機能の特徴的使用法により解決するスロットリング制御方法を提供することである。
本発明の他の目的は、閾値の動的な変更によって行うスロットリング制御方法を提供することである。
本発明の更に他の目的は、追加H/Wがないことによるコストダウンやポーリングを行わないことによる負荷上昇を抑えることが可能なスロットリング制御方法を提供することである。
【課題を解決するための手段】
【0009】
以下に、[発明を実施するための最良の形態]で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。但し、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
【0010】
本発明のスロットリング制御方法は、(a)機能デバイス(101)の初期化を行い、中央処理装置(100)のスロットリング(Throttling)の制御因子(温度、電圧)を監視対象として閾値の値を設定するステップと、(b)機能デバイス(101)により閾値超過というイベントが検出されるとSMI(システムマネジメント割り込み)を発生するステップと、(c)前記SMIの発生に応じて前記閾値の値を再設定するステップと、(d)前記閾値の再設定と同時に、前記中央処理装置(100)のスロットリングを開始するステップと、(e)前記スロットリング中に前記再設定した閾値の値に達した時、超過通知SMIを発生するステップと、(f)前記超過通知SMIの発生に応じて前記再設定した閾値の値を初期化するステップと、(g)スロットリングを終了するステップとを具備する。
【0011】
上記のスロットリング制御方法を、コンピュータに実行させるためのプログラムを用いる場合もある。
【0012】
本発明のスロットリング制御システムは、スロットリング(Throttling)機能を有する中央処理装置(100)と、中央処理装置(100)のスロットリングの制御因子(温度、電圧)を監視し、制御因子が閾値の値を超過した場合、SMI(システムマネジメント割り込み)を発生して通知する機能デバイス(101)と、中央処理装置(100)のスロットリングを制御する制御回路(102)とを具備する。
中央処理装置(100)は、機能デバイス(101)に閾値の値を設定する閾値設定部(103)と、SMIの発生に応じて閾値の値を再設定する閾値再設定部(105)とを具備する。機能デバイス(101)は、閾値超過というイベントが検出されるとSMIを発生するSMI発生部(104)と、制御因子が再設定した閾値の値に達したことを示す超過通知SMIを発生する超過通知SMI発生部(107)とを具備する。制御回路(102)は、SMIの発生に応じて中央処理装置(100)のスロットリングを開始するスロットリング制御部(106)を具備する。
【0013】
なお、閾値は下限閾値であり、閾値超過は下限閾値の値を下回ることである。
【0014】
他の実施例として、閾値が、上限閾値と、下限閾値とを有する場合がある。この時、上限閾値の値を上回る場合、又は下限閾値の値を下回る場合に、閾値超過というイベントが発生する。
【発明の効果】
【0015】
第1の効果は、Mobile(モバイル)用Chipset(チップセット)や温度制御用IC(DS1721等)といった特別なH/W(ハードウェア)無しにスロットリング(Throttling)制御を実現可能であることにある。その理由は、効果的にSMM(システムマネジメントモード)の動作モード中に閾値変更といった動作を行うためである。
第2の効果は、上記の例においては最も単純な形式で表記したが、同じ構成でスロットリング(Throttling)の段階を多くしたり、IRQ(割込み要求)を同時に上げて上記OS、デバイスドライバに知らせる等といった柔軟な処理が可能になることである。その理由は、標準的H/WとBIOSの動作で実現しているためである。
【発明を実施するための最良の形態】
【0016】
以下に本発明の第1実施形態について添付図面を参照して説明する。
図1を参照すると、中央処理装置100と、機能デバイス101と、スロットリング制御回路102を備える。
【0017】
中央処理装置100は、プログラム制御により動作するSTOPCLK#(ストップクロック)機能を有するプロセッサ又はデータ処理装置である。最近のパーソナルコンピュータで使われるCPU等の代表的な中央処理装置は、ほとんどの場合、STOPCLK#機能を有していると考えられる。なお、STOPCLK#は中央処理装置100が持つ入力信号名であり、制御装置から出されるスロットリング(Throttling)関連の指示を受け付ける場所である。すなわち、STOPCLK#機能を有するCPUは、スロットリング(Throttling)機能を有するCPUということになる。
【0018】
機能デバイス101は、H/W Monitor(ハードウェアモニタ)等の状態監視機能を持っているS−I/O(シリアル入出力モジュール)等の機能デバイスである。
なお、H/W Monitor(ハードウェアモニタ)は、動作中の電圧、ファンの状態、CPUの温度等を監視する機能である。例にあるS−I/Oは、パーソナルコンピュータのメインボード上に、ほとんどの場合において搭載されており、その多くは状態監視機能を持っている。
【0019】
スロットリング制御回路102は、スロットリング(Throttling)を開始する回路であり、主にChipset(チップセット)を用いる。ここでは、スロットリング制御回路102は、中央処理装置(CPU)のスロットリング(Throttling)の開始/終了を制御する。
【0020】
中央処理装置100、機能デバイス101、及びスロットリング制御回路102の間において、閾値設定103と、SMI104と、閾値再設定105と、スロットリング制御106と、SMI107に関する機能が実行される。
【0021】
閾値設定103は、起動時に、例えば、温度等のスロットリング(Throttling)要因の状態監視の閾値の値を設定する。これは、初期設定に該当する。
SMI104は、設定した閾値超え等のイベントが発生した場合に機能デバイスがSMI(システムマネジメント割り込み)をCPUに対して上げる。
閾値再設定105は、SMI発生を受けての処理であり、機能デバイスに対して下限閾値の値を初期値から変更しスロットリング(Throttling)を停止しても良い温度等の閾値の値に設定する。
スロットリング制御106は、閾値再設定と同時に、主にChipset(チップセット)を用いるスロットリング制御回路102によりCPUのスロットリング(Throttling)を開始する。
SMI107は、スロットリング(Throttling)を停止しても問題無い、再設定した下限の値に達したことをSMI(システムマネジメント割り込み)としてCPUに知らせる。
【0022】
この時、中央処理装置100は、閾値設定103と、閾値再設定105を実行する機能を有する。機能デバイス101は、SMI104と、SMI107を実行する機能を有する。スロットリング制御回路102は、スロットリング制御106を実行する機能を有する。この時、中央処理装置100、機能デバイス101、及びスロットリング制御回路102の各々は、上記の機能を実行するためのプログラムを有する場合がある。
なお、中央処理装置100、機能デバイス101、及びスロットリング制御回路102とは別に、閾値設定103、SMI104、閾値再設定105、スロットリング制御106、及びSMI107の各々に対応する独立した装置を用いても良い。この時、閾値設定103、SMI104、閾値再設定105、スロットリング制御106、及びSMI107は、各々の処理を行う装置ということになる。
【0023】
次に、図2のフローチャートを参照して、本発明の第1実施形態の動作について詳細に説明する。ここでは、中央処理装置(CPU)の温度が機能デバイスの監視対象であるため、閾値の判定の対象となるのは中央処理装置(CPU)の温度である。
(1)ステップS201
BIOSにより機能デバイスの初期化がなされる。この時、機能デバイスに下限閾値の値を設定する(閾値設定103の動作)。
(2)ステップS202
次に、通常動作状態から機能デバイスにより閾値超過といったイベントが検出される。ここでは、閾値超過とは、中央処理装置(CPU)の温度が下限閾値の値を下回ることである。イベントが検出されると、SMI(システムマネジメント割り込み)が発生する(SMI104の動作)。この時、特に何もイベントが検出されない場合は通常動作となる。
(3)ステップS203
イベントが検出され、SMIが発生すると、通常のH/W Monitorの下限閾値から「この値以下であれば正常動作可能」という下限閾値の値を再設定する(閾値再設定105の動作)。すなわち、下限閾値の値を変更する。
(4)ステップS204
同時に、スロットリング(Throttling)制御を行い、システムは省電力動作となる(スロットリング制御106の動作)。
(5)ステップS205
スロットリング(Throttling)中に、下限閾値の値を下回り、監視閾値が正常範囲に戻るとイベントが発生し、SMIが発生する(SMI107の動作)。下限閾値の値を下回っていなけらばスロットリング(Throttling)を継続する。
(6)ステップS206
イベントが発生し、SMIが発生すると、下限閾値の値を通常初期化状態へと再設定し(閾値再設定105の動作)、スロットリング(Throttling)を終了する(スロットリング制御106の動作)。なお、スロットリング(Throttling)の終了は、スロットリング制御回路102によらず、SMI107の動作に応じて中央処理装置100が自動的に行うようにしても良い。
(7)ステップS207
通常動作へと移行する。
【0024】
次に、本発明の第1実施形態の効果について説明する。
本発明ではスロットリング(Throttling)制御用の特別なH/W(ハードウェア)構成ではなく、ほとんどのパーソナルコンピュータ、ワークステーションに搭載されていると考えられるCPU、Chipset、S−I/O、BIOSという構成で実現できることとなる。
【0025】
本発明の第2実施形態として、以下のようにすることが考えられる。
図2のステップS203において、上限閾値も更に高い値に変更し、ステップS204とステップS205の間に「上限閾値の値を更に上回ったか」といった処理を追加し、上限/下限両方のイベントについて同時に制御する。これを繰り返すことで、細かく何段階にもスロットリング(Throttling)を制御可能となる。この制御において追加されるH/W等は一切なく上位(OS等)の対応も必要とならない。
【0026】
図3のフローチャートを参照して、本発明の第2実施形態の動作について詳細に説明する。
(1)ステップS301
BIOSにより機能デバイスの初期化がなされる。この時、上限閾値及び下限閾値の値を設定する(閾値設定103の動作)。
(2)ステップS302
次に、通常動作状態から機能デバイスにより閾値超過といったイベントが検出される。ここでは、閾値超過とは、中央処理装置(CPU)の温度が上限閾値を上回ること、或いは下限閾値の値を下回ることである。イベントが検出されると、SMI(システムマネジメント割り込み)が発生する(SMI104の動作)。この時、特に何もイベントが検出されない場合は通常動作となる。
(3)ステップS303
イベントが検出され、SMIが発生すると、通常のH/W Monitorの下限閾値から「この値以下であれば正常動作可能」という下限閾値の値を再設定する(閾値再設定105の動作)。同時に、通常のH/W Monitor上限閾値から「この値以上であれば正常動作可能」という上限閾値の値を再設定する(閾値再設定105の動作)。すなわち、上限閾値及び下限閾値の値を変更する。
(4)ステップS304
同時に、スロットリング(Throttling)制御を行い、システムは省電力動作となる(スロットリング制御106の動作)。
(5)ステップS305
スロットリング(Throttling)中に、再設定された上限閾値、下限閾値の各々に対して監視閾値の判定を行う。
(5−1)ステップS305−1
上限閾値の値を上回り、監視閾値が正常範囲に戻るとイベントが発生し、SMIが発生する(SMI107の動作)。
(5−2)ステップS305−2
下限閾値の値を下回り、監視閾値が正常範囲に戻るとイベントが発生し、SMIが発生する(SMI107の動作)。
なお、上限閾値の値を下回り、且つ、下限閾値の値を上回る場合は、スロットリング(Throttling)を継続する。
(6)ステップS306
イベントが発生し、SMIが発生すると、閾値の値を通常初期化状態へと再設定し(閾値再設定105の動作)、スロットリング(Throttling)を終了する(スロットリング制御106の動作)。この時、上限閾値の値を上回った場合は上限閾値の値を通常初期化状態へと再設定し、下限閾値の値を下回った場合は下限閾値の値を通常初期化状態へと再設定する。なお、いずれの場合でも上限閾値、下限閾値の両方を再設定するようにしても良い。
(7)ステップS307
通常動作へと移行する。
【0027】
本発明によれば、Windows(登録商標)といったOSが動作しなくても温度、電圧等のそれぞれのシステムが持っている制御因子についてスロットリング(Throttling)要因として利用可能である。
また、機能デバイスによりIRQ(割込み要求)を発生させて上位OSのデバイスドライバとの橋渡しとしても動作可能である。この有意な点は顧客がデバイスドライバを作成する場合に自由に開発、変更できること、また、IRQを受けて返すだけの簡単なデバイスドライバのみで既存のシステム管理ソフトウェアが使用可能となる。
【0028】
以上のように、本発明の回路は、プログラム制御により動作するSTOPCLK#を有した中央処理装置(プロセッサ、データ処理装置)と、H/W Monitor等の状態監視機能を持っているS−I/O等の機能デバイスと、中央処理装置を制御可能なチップセットを含む構成である。
【0029】
本発明では、まず、BIOSにより機能デバイスの初期化がなされる。次に、通常動作状態から機能デバイスにより閾値超過といったイベントが検出されると、SMIが発生する。この時、特に何も検出されない場合は通常動作となる。イベントが検出されると通常のH/W Monitor下限閾値から「この値以下であれば正常動作可能」という下限閾値の値を再設定する。同時に、スロットリング(Throttling)制御を行い、システムは省電力動作となる。下限閾値の値を下回り、監視閾値が正常範囲に戻るとイベントが発生し、下限閾値の値を通常初期化状態へと再設定し、スロットリング(Throttling)を終了して通常動作へと移行する。
【図面の簡単な説明】
【0030】
【図1】図1は、本発明の構成を示すブロック図である。
【図2】図2は、第1実施形態の動作を示すフローチャートである。
【図3】図3は、第2実施形態の動作を示すフローチャートである。
【符号の説明】
【0031】
100… 中央処理装置(プロセッサ、データ処理装置)
101… 機能デバイス(S−I/O)
102… スロットリング(Throttling)制御回路(チップセット)
103… 閾値設定
104… SMI(システムマネジメント割り込み)
105… 閾値再設定
106… スロットリング(Throttling)制御
107… SMI(システムマネジメント割り込み)

【特許請求の範囲】
【請求項1】
(a)機能デバイスの初期化を行い、中央処理装置のスロットリング(Throttling)の制御因子を監視対象として閾値の値を設定するステップと、
(b)機能デバイスにより閾値超過というイベントが検出されるとSMI(システムマネジメント割り込み)を発生するステップと、
(c)前記SMIの発生に応じて前記閾値の値を再設定するステップと、
(d)前記閾値の再設定と同時に、前記中央処理装置のスロットリングを開始するステップと、
(e)前記スロットリング中に前記再設定した閾値の値に達した時、超過通知SMIを発生するステップと、
(f)前記超過通知SMIの発生に応じて前記再設定した閾値の値を初期化するステップと、
(g)スロットリングを終了するステップと
を具備する
スロットリング制御方法。
【請求項2】
請求項1に記載のスロットリング制御方法において、
前記閾値は下限閾値であり、前記閾値超過は前記下限閾値の値を下回ることである
スロットリング制御方法。
【請求項3】
請求項1に記載のスロットリング制御方法において、
前記閾値は、
上限閾値と、
下限閾値と
を有し、
前記上限閾値の値を上回る場合、又は前記下限閾値の値を下回る場合に、前記閾値超過というイベントが発生する
スロットリング制御方法。
【請求項4】
請求項1乃至3のいずれか一項に記載のスロットリング制御方法を、コンピュータに実行させるためのプログラム。
【請求項5】
スロットリング(Throttling)機能を有する中央処理装置と、
前記中央処理装置のスロットリングの制御因子を監視し、前記制御因子が閾値の値を超過した場合、SMI(システムマネジメント割り込み)を発生して通知する機能デバイスと、
前記中央処理装置のスロットリングを制御する制御回路と
を具備し、
前記中央処理装置は、
前記機能デバイスに前記閾値の値を設定する閾値設定部と、
前記SMIの発生に応じて閾値の値を再設定する閾値再設定部と
を具備し、
前記機能デバイスは、
閾値超過というイベントが検出されると前記SMIを発生するSMI発生部と、
前記制御因子が前記再設定した閾値の値に達したことを示す超過通知SMIを発生する超過通知SMI発生部と
を具備し、
前記制御回路は、
前記SMIの発生に応じて前記中央処理装置のスロットリングを開始するスロットリング制御部を具備する
スロットリング制御システム。
【請求項6】
請求項5に記載のスロットリング制御システムにおいて、
前記閾値は下限閾値であり、前記閾値超過は前記下限閾値の値を下回ることである
スロットリング制御システム。
【請求項7】
請求項5に記載のスロットリング制御システムにおいて、
前記閾値は、
上限閾値と、
下限閾値と
を有し、
前記上限閾値の値を上回る場合、又は前記下限閾値の値を下回る場合に、前記閾値超過というイベントが発生する
スロットリング制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2007−172009(P2007−172009A)
【公開日】平成19年7月5日(2007.7.5)
【国際特許分類】
【出願番号】特願2005−364271(P2005−364271)
【出願日】平成17年12月19日(2005.12.19)
【出願人】(000168285)エヌイーシーコンピュータテクノ株式会社 (572)
【Fターム(参考)】