(57)【要約】【課題】マザーボードで使用するハードウェアモニタ用ＩＣの数を減らすことである。【解決手段】ＣＰＵ温度がハードウェアモニタチップ１の上限閾値より小さいか否かを判定する（Ｓ４３）。ＣＰＵ温度が上限閾値に達したときには、ハードウェアモニタチップ１の各レジスタに、「現在の状態＋１」の温度閾値テーブルの対応する値を書き込む。同様に、ハードウェアモニタチップ２の各レジスタに、「現在の状態＋１」の温度閾値テーブルの対応する値を書き込む（Ｓ４５）。これにより、温度閾値を１つ上の値に変更すると共に、ＣＰＵファン又は電源ファンの回転数を高くすることができる。【選択図】図９
2010157049.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアモニタ用ＩＣを用いたマザーボードの温度監視方法であって、
ＣＰＵ温度が、第１のハードウェアモニタ用ＩＣの上限閾値を記憶する第１のレジスタに設定されている第１の閾値未満のときは、第２のレジスタに少なくとも２個のファンの回転を制御するための第１の制御値を設定し、
前記ＣＰＵ温度が、前記第１のレジスタの前記第１の閾値に達したことが検出された場合には、前記第１のレジスタに前記第１の閾値より大きい第２の閾値を設定し、第２のレジスタに少なくとも２個のファンの回転を制御するための第２の制御値を設定すると共に、第２のハードウェアモニタ用ＩＣの下限閾値を記憶する第３のレジスタに前記第１の閾値より小さい値を設定し、
前記ＣＰＵ温度が、前記第１のレジスタの前記第２の閾値に達したことが検出された場合には、前記第１のレジスタに前記第２の閾値より大きい第３の閾値を設定し、前記第２のレジスタに少なくとも前記２個のファンの回転を制御するための第３の制御値を設定すると共に、前記第２のハードウェアモニタ用ＩＣの前記第３のレジスタに前記第２の閾値より小さい値を設定するマザーボードの温度監視方法。
【請求項２】
前記ＣＰＵ温度が、前記第３の閾値に達したことが検出された場合には、システムの動作を停止させる請求項１記載のマザーボードの温度監視方法。
【請求項３】
前記ＣＰＵ温度が前記第１の閾値未満のとき、少なくとも前記第１のハードウェアモニタ用ＩＣの前記第１レジスタに設定する前記第１の閾値と前記第２のレジスタに設定する前記第１の制御値と、前記第１の閾値より小さい値とを記憶した第１のテーブルと、
前記ＣＰＵ温度が前記第１の閾値以上で、かつ前記第２の閾値未満の範囲にあるとき、前記第１のハードウェアモニタ用ＩＣの前記第１のレジスタに設定する第２の閾値と前記第２のレジスタに設定する第２の制御値と、前記第２のハードウェアモニタ用ＩＣの前記第３のレジスタに設定する、前記第１の閾値より小さい値とを記憶した第２のテーブルと、
前記ＣＰＵ温度が前記第２の閾値以上で、かつ前記第３の閾値未満の範囲にあるとき、前記第１のハードウェアモニタ用ＩＣの前記第１のレジスタに設定する第３の閾値と前記第２のレジスタに設定する第２の制御値と、前記第２のハードウェアモニタ用ＩＣの前記第３のレジスタに設定する前記第２の閾値より小さい値とを記憶した第３のテーブルとを備える請求項１又は２記載のマザーボードの温度監視方法。
【請求項４】
前記第１の制御値は、第１のファンと第２のファンの回転を低速にする複数の制御値からなり、
前記第２の制御値は、前記第１のファンの回転を高速にする制御値と、前記第２のファンの回転を低速にする制御値とからなり、
前記第３の制御値は、前記第１のファンの回転を高速にする制御値と、前記第２のファンの回転を高速にする制御値とからなる請求項１、２又は３記載のマザーボードの温度監視方法。
【請求項５】
前記ＣＰＵ温度が、第１の閾値未満のときには、前記第２のレジスタに第１のファンの回転を低速にする制御値と第２のファンの回転を低速にする制御値を設定し、
前記ＣＰＵ温度が、前記第１の閾値に達したことが検出されたときには、前記第２のレジスタに前記第１のファンの回転を高速にする制御値と前記第２のファンを低速する制御値を設定し、
前記ＣＰＵ温度が、前記第２の閾値に達したことが検出されたときには、前記第１のファンと前記第２のファンの回転を高速にする制御値を設定する請求項１、２又は３記載のマザーボードの温度監視方法。
【請求項６】
ハードウェアモニタ用ＩＣを用いたマザーボードの温度監視プログラムであって、
ＣＰＵ温度が、第１のハードウェアモニタ用ＩＣの上限閾値を記憶する第１のレジスタに設定されている第１の閾値未満のときは、第２のレジスタに少なくとも２個のファンの回転を低速にする第１の制御値を設定するステップと、
前記ＣＰＵ温度が、前記第１のレジスタの前記第１の閾値に達したことが検出された場合には、前記第１のレジスタに前記第１の閾値より大きい第２の閾値を設定し、第２のレジスタに少なくとも２個のファンの一方の回転を上げるための第２の制御値を設定すると共に、第２のハードウェアモニタ用ＩＣの下限閾値を記憶する第３のレジスタに前記第１の閾値より小さい値を設定するステップと、
前記ＣＰＵ温度が、前記第１のレジスタの前記第２の閾値に達したことが検出された場合には、前記第１のレジスタに前記第２の閾値より大きい第３の閾値を設定し、前記第２のレジスタに少なくとも前記２個のファンの両方の回転を上げるための第３の制御値を設定すると共に、前記第２のハードウェアモニタ用ＩＣの前記第３のレジスタに前記第２の閾値より小さい値を設定するステップとを有するマザーボードの温度監視プログラム。
【請求項７】
前記ＣＰＵ温度が、前記第３の閾値に達したことが検出された場合には、システムの動作を停止させるステップを、さらに有する請求項６記載のマザーボードの温度監視プログラム。
【請求項８】
前記ＣＰＵ温度が前記第１の閾値未満のとき、少なくとも前記第１のハードウェアモニタ用ＩＣの前記第１レジスタに設定する前記第１の閾値と前記第２のレジスタに設定する前記第１の制御値と、前記第１の閾値より小さい値とを記憶した第１のテーブルと、
前記ＣＰＵ温度が前記第１の閾値以上で、かつ前記第２の閾値未満の範囲にあるとき、前記第１のハードウェアモニタ用ＩＣの前記第１のレジスタに設定する第２の閾値と前記第２のレジスタに設定する第２の制御値と、前記第２のハードウェアモニタ用ＩＣの前記第３のレジスタに設定する、前記第１の閾値より小さい値とを記憶した第２のテーブルと、
前記ＣＰＵ温度が前記第２の閾値以上で、かつ前記第３の閾値未満の範囲にあるとき、前記第１のハードウェアモニタ用ＩＣの前記第１のレジスタに設定する第３の閾値と前記第２のレジスタに設定する第２の制御値と、前記第２のハードウェアモニタ用ＩＣの前記第３のレジスタに設定する前記第２の閾値より小さい値とを記憶した第３のテーブルとを記憶手段に記憶し、
前記第１、前記第２及び前記第３のテーブルを参照して前記第１のハードウェアモニタ用ＩＣと前記第２のハードウェアモニタ用ＩＣの前記第１、前記第２及び前記第３のレジスタの値を書き換える請求項６又は７記載のマザーボードの温度監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マザーボードにおける温度監視方法及びその温度監視プログラムに関する。
【背景技術】
【０００２】
マザーボードには、ＣＰＵを冷却するためのＣＰＵ冷却用ファンの回転数を制御するため、あるいは装置内部を冷却するためのファンの回転数を制御するためのＨＷＭｏｎｉｔｏｒ（以下、ハードウェアモニタと呼ぶ）チップが実装されている。
【０００３】
特許文献１には、監視対象の値が閾値を超えたとき、閾値の再設定を行うと共に、ＣＰＵのクロックの周波数を下げるなどのスロットリング制御を行うことが記載されている。
特許文献２には、コンピュータメインボードの各領域に配置された電子部品の温度制御閾値と温度制御動作の関係を温度制御テーブルに記録し、その温度制御テーブルを参照して各領域の電子部品の温度制御、例えば、ＦＡＮ(以下、ファンと呼ぶ)の制御を行うことが記載されている。
【０００４】
特許文献３には、パーソナルコンピュータ等において、制御対象（例えば、ＣＰＵ）の温度を検知する第１のセンサと、メモリの温度を検知する第２のセンサを有し、選択されたモードに応じて、第１及び第２のセンサに対応する第１及び第２の閾値を設定変更することが記載されている。そして、御対象の温度が第１の閾値を超えたときには、制御対象の動作点を下げ、メモリの温度が第２の閾値を超えたときには、メモリの転送レートを下げることが記載されている。
【０００５】
ところで、情報処理装置等に用いられるマザーボードには、ＣＰＵの温度上昇を抑えるために冷却用ファンを制御するハードウェアモニタチップが搭載されている。
図１は、一般的なハードウェアモニタチップのレジスタの構成の一例を示す図である。
【０００６】
ハードウェアモニタチップ１は、温度センサで読み取った温度読み取り値を記憶するレジスタ１１と、ユーザが設定する温度の上限値を記憶するレジスタ１２と、ユーザが設定する温度の下限値を記憶するレジスタ１３を有する。さらに、ファンの回転数の読み取り値を記憶するレジスタ１４と、ユーザが設定するファン回転数の制御値を記憶するレジスタ１５と、ユーザが設定するファン回転数の閾値を記憶するレジスタ１６を有する。
【０００７】
例えば、ＣＰＵ温度が７０°Ｃを超えたとき、ＣＰＵ冷却用ファンの回転数を最大にし、ＣＰＵ温度が６０°Ｃ以下になったとき、ＣＰＵ冷却用ファンの回転数を最小にさせる仕様であるとする。
【０００８】
この場合、レジスタ１２にはＣＰＵ温度の上限値として「７０°Ｃ」が設定され、レジスタ１３にはＣＰＵ温度の下限値として「６０°Ｃ」が設定される。
ハードウェアモニタチップ１は、ＣＰＵ温度を監視し、ＣＰＵ温度が７０°Ｃを超えたとき、上限値を超えた旨をＢＩＯＳに通知する。また、ＣＰＵ温度が下がって下限値の６０°Ｃ以下になったとき、下限値を下回った旨をＢＩＯＳに通知する。
【０００９】
ＢＩＯＳは、ハードウェアモニタチップ１から通知を受けた場合に、温度読み取り値が７０°Ｃを超えているときには、ファン回転数の制御値を記憶するレジスタ１５に最大値を書き込む。レジスタ１５に最大値が書き込まれると、ハードウェアモニタチップ１は、ＣＰＵ冷却用ファンの回転数が最大になるように制御する。
【００１０】
また、ＢＩＯＳは、ハードウェアモニタチップ１から通知を受けた場合に、温度読み取り値が６０°Ｃ以下となっているときには、レジスタ１５に最小値を書き込む。レジスタ１５に最小値が書き込まれると、ハードウェアモニタチップ１は、ＣＰＵ冷却用ファンの回転数が最小となるように制御する。
【００１１】
次に、例えば、ＣＰＵ温度が１番目の上限値を超え、さらに２番目の上限値を超えたときに、別のファンの回転数を制御する場合について説明する。この場合、２個のハードウェアモニタチップが必要となる。
【００１２】
図２は、２個のハードウェアモニタチップを使用する場合の制御方法の説明図である。この例は、ハードウェアモニタチップ１によりＣＰＵ冷却用ファンの回転を制御し、ハードウェアモニタチップ２により、電源部を冷却する電源ファンの回転数を制御する場合の例である。
【００１３】
ハードウェアモニタチップ１の温度の上限値を記憶するレジスタ１２には、温度閾値１の上限値（例えば、７０°Ｃ）が設定され、下限値を記憶するレジスタ１３には、下限値（例えば、６０°Ｃ）が設定される。
【００１４】
ハードウェアモニタチップ２の監視温度の上限値を記憶するレジスタ２２には、温度閾値１より高い温度閾値２の上限値が設定され、下限値を記憶するレジスタ２３には、温度閾値２の下限値が設定される。
【００１５】
ＣＰＵ温度がハードウェアモニタチップ１の上限値を超えると、ＣＰＵ冷却用ファン（ＣＰＵファン）の回転が高速（または起動）に切り換えられ、ＣＰＵ温度が下限値未満となると、ＣＰＵ冷却用ファンの回転が低速（または停止）に切り換えられる。
【００１６】
さらに、ＣＰＵ温度が、ハードウェアモニタチップ２の上限値を超えると、電源ファンの回転が高速（または起動）に切り換えられる。ＣＰＵ温度が下限値未満となると、電源ファンの回転が低速（又は停止）に切り換えられる。
【００１７】
次に、３種類の温度閾値がある場合について説明する。この例では、ＣＰＵ温度が３番目の閾値を超えたとき、システムの動作を停止させる仕様になっている。この場合、従来の温度監視方法では、ハードウェアモニタチップが３個必要となる。
【００１８】
図３は、３個のハードウェアモニタチップが必要な場合の温度監視方法の説明図である。
温度閾値が、温度閾値１＜温度閾値２＜温度閾値３の関係を有するとすると、ハードウェアモニタチップ１、２の上限値及び下限値を記憶するレジスタ１２、１３、２２、２３には、図２と同様に、温度閾値１と温度閾値２の上限値と下限値がそれぞれ設定される。ハードウェアモニタチップ３の上限値を記憶するレジスタ３２には、温度閾値３の上限値（例えば１００°Ｃ）が設定され、下限値を記憶するレジスタ３３には、温度閾値３の下限値（例えば、９０°Ｃ）が設定される。
【００１９】
ハードウェアモニタチップ１は、ＣＰＵファンの回転を制御し、ハードウェアモニタチップ２は、電源ファンの回転を制御する。さらに、ハードウェアモニタチップ３は、ＣＰＵ温度が温度閾値３の上限値に達したとき、システムを停止させる信号を出力する。
【００２０】
ＣＰＵ温度が、ハードウェアモニタチップ１のレジスタに設定されている温度閾値１に達すると、ＣＰＵファンの回転を低速から高速に切り換える（又は起動する）。ＣＰＵ温度が下がって温度閾値１以下となると、ＣＰＵファンの回転を低速に切り換える（又は停
止させる）。
【００２１】
ＣＰＵ温度がさらに上昇し、ハードウェアモニタチップ２のレジスタに設定されている温度閾値２に達すると、電源ファンの回転を低速から高速に切り換え（又は電源ファンを起動）。ＣＰＵ温度が下がって温度閾値２以下となると、電源ファンの回転を低速に切り換える（又は停止）。
【００２２】
ＣＰＵ温度がさらに上昇し、ハードウェアモニタチップ３に設定されている温度閾値３の上限値に達すると、システムを停止させる（電源断）。この場合、ＣＰＵ温度が下がって温度閾値３の下限値以下となっても、システムの停止状態を維持する。
【特許文献１】２００７−１７２００９号公報
【特許文献２】２００７−３２８７６１号公報
【特許文献３】２００５−１３５３５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００２３】
上述したように、従来の温度監視方法では、例えば、３種類の温度閾値により２個の冷却用ファンとシステムの動作を制御する場合には、３個のハードウェアモニタチップが必要となり、マザーボードの部品コストが高くなっていた。また、マザーボードに使用されているチップセットの制約などにより多数のハードウェアモニタチップを使用することができない場合もある。
【００２４】
本発明の課題は、マザーボードで使用するハードウェアモニタ用ＩＣの数を減らすことである。
【課題を解決するための手段】
【００２５】
本発明のマザーボードの温度監視方法は、ハードウェアモニタ用ＩＣを用いたマザーボードの温度監視方法であって、ＣＰＵ温度が、第１のハードウェアモニタ用ＩＣの上限閾値を記憶する第１のレジスタに設定されている第１の閾値未満のときは、第２のレジスタに少なくとも２個のファンの回転を制御する第１の制御値を設定し、前記ＣＰＵ温度が、前記第１のレジスタの前記第１の閾値に達したことが検出された場合には、前記第１のレジスタに前記第１の閾値より大きい第２の閾値を設定し、第２のレジスタに少なくとも２個のファンの回転を制御する第２の制御値を設定すると共に、第２のハードウェアモニタ用ＩＣの下限閾値を記憶する第３のレジスタに前記第１の閾値より小さい値を設定し、前記ＣＰＵ温度が、前記第１のレジスタの前記第２の閾値に達したことが検出された場合には、前記第１のレジスタに前記第２の閾値より大きい第３の閾値を設定し、前記第２のレジスタに少なくとも前記２個のファンの回転を制御する第３の制御値を設定すると共に、前記第２のハードウェアモニタ用ＩＣの前記第３のレジスタに前記第２の閾値より小さい値を設定する。
【発明の効果】
【００２６】
本発明によれば、マザーボードで使用するハードウェアモニタ用ＩＣの数を減らすことができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の好適な実施の形態について説明する。図４は、実施の形態のマザーボード４１の要部の回路図である。
ＣＰＵ４２は、ハードディスク（ＨＤＤ）４３に格納されているＯＳ、アプリケーションプログラム等を実行し、処理途中のデータ等をメモリ（Ｍｅｍｏｒｙ）４４に格納する。ＣＰＵ４２とハードディスク４３，メモリ４４との間のデータ転送はＮｏｒｔｈＢｒｉｄｇｅ（以下、ノースブリッジと呼ぶ）４５とＳｏｕｔｈＢｒｉｄｇｅ（以下、サウスブリッジと呼ぶ）４６の制御の元に行われる。なお、ノースブリッジ４５とサウスブリッジ４６はチップセットである。また、ＢＩＯＳプログラムはＢＩＯＳＲＯＭ４７に格納されている
ＣＰＵ４２の近傍には、ＣＰＵ温度を検出する温度センサ４８と、ＣＰＵ４２を冷却するためのＣＰＵファン４９が設けられている。
【００２８】
電源部（図示せず）の近傍には、電源部周辺の温度を検出する温度センサ５１と、電源部を冷却する電源ファン５２が設けられている。この電源ファン５２の回転によりＣＰＵ４２の周囲温度を低下させることが出来る。
【００２９】
図４に点線で囲まれた部分にある温度センサ５３と筐体ファン５４は、マザーボード４１が組み込まれる装置の筐体内部の温度を検出し、装置内部を冷却するためのものであるが、本実施の形態では使用されていない。電源ファン５２の代わりに筐体ファン５４を用いても良い。
【００３０】
ハードウェアモニタチップ１、２は、それぞれ図１に示すような複数のレジスタを有する。図１を参照して説明すると、ハードウェアモニタチップ１は、温度読み取り値を記憶するレジスタ１１と、温度閾値の上限値を記憶するレジスタ１２と、温度閾値の下限値を記憶するレジスタ１３と、ファン回転数の読み取り値を記憶するレジスタ１４と、ＣＰＵファン４９の回転数の制御値を記憶するレジスタ１５と、電源ファン５２の回転数の制御値を記憶するレジスタ１６を有する。ハードウェアモニタチップ２も同様の構成のレジスタを有する。
【００３１】
最初に、ハードウェアモニタチップ１、２に設定するための複数の温度閾値を記憶する温度閾値テーブルについて説明する。
図５は、温度閾値テーブルの一例を示す図である。これらの温度閾値テーブルは、例えば、ＢＩＯＳＲＯＭ４７に記憶されている。
【００３２】
温度閾値テーブル１０１は、ＣＰＵ温度が７０°Ｃ未満のとき（以下、状態１と呼ぶ）に使用されるテーブルである。このテーブルを状態１の温度閾値テーブル１０１と呼ぶ。この例では、動作環境外の低温として０°Ｃを設定している。
【００３３】
温度閾値テーブル１０１には、ハードウェアモニタチップ１に設定するための上限閾値（第１の閾値に対応する）として「７０°Ｃ」、下限閾値として「６６°Ｃ」が記憶されている。さらに、ＣＰＵファン４９の低速時の制御値と、電源ファン５２の低速時の制御値が記憶されている。これらの制御値は、第１の制御値に対応する。
【００３４】
また、温度閾値テーブル１０１には、ハードウェアモニタチップ２に設定するための上限閾値として「０°Ｃ」が、下限閾値として「−４°Ｃ」が記憶されている。
温度閾値テーブル１０２は、ＣＰＵ温度が７０°Ｃ以上から８０°Ｃ未満の範囲（以下、状態２と呼ぶ）にあるときに使用されるテーブルである。このテーブルを状態２の温度閾値テーブル１０２と呼ぶ。
【００３５】
温度閾値テーブル１０２には、ハードウェアモニタチップ１に設定するための上限閾値（第２の閾値に対応する）として「８０°Ｃ」が、下限閾値として上限値より低い「７６°Ｃ」が記憶されている。さらに、ＣＰＵファン４９を高速（一定値以上の回転数）で回転させるための制御値と、電源ファン５２の低速（一定値未満の回転数）で回転させるための制御値が記憶されている。これらの制御値は、第２の制御値に対応する。
【００３６】
また、温度閾値テーブル１０２には、ハードウェアモニタチップ２に設定するための上限閾値として、１つ前の状態（状態１）の上限閾値である「７０°Ｃ」が、下限閾値として４°Ｃ低い「６６°Ｃ」が記憶されている。
【００３７】
温度閾値テーブル１０３は、ＣＰＵ温度が８０°以上から９０°Ｃ未満の範囲（以下、状態３と呼ぶ）にあるときに使用されるテーブルである。このテーブルを状態３の温度閾値テーブル１０３と呼ぶ。
【００３８】
温度閾値テーブル１０３には、ハードウェアモニタチップ１に設定するための上限閾値（第３の閾値に対応する）として「９０°Ｃ」が、下限閾値としてその温度より４°Ｃ低い「８６°Ｃ」が記憶されている。さらに、ＣＰＵファン４９の高速時の制御値と電源ファン５２の高速時の制御値が記憶されている。これらの制御値は、第３の制御値に対応する。
【００３９】
また、温度閾値テーブル１０３には、ハードウェアモニタチップ２に設定するための上限閾値として、１つ前の状態（状態２）の上限閾値である「８０°Ｃ」が、下限閾値としてそれより４°Ｃ低い「７６°Ｃ」が記憶されている。
【００４０】
温度閾値テーブル１０４は、ＣＰＵ温度が９０°Ｃ以上のとき（以下、状態４と呼ぶ）に使用されるテーブルである。このテーブルを状態４の温度閾値テーブル１０４と呼ぶ。
温度閾値テーブル１０４には、ハードウェアモニタチップ１に設定するための上限閾値として「１００°Ｃ」が、下限閾値として「９６°Ｃ」が記憶されている。さらに、ＣＰＵファン４９の高速時の制御値と、電源ファン５２の高速時の制御値が記憶されている。
【００４１】
また、温度閾値テーブル１０４には、ハードウェアモニタチップ２に設定するための上限閾値として、１つ前の状態（状態３）の上限閾値である「９０°Ｃ」が、下限閾値としてそれより４°Ｃ低い「８６°Ｃ」が記憶されている。この例では、動作環境外の高温として１００°Ｃを設定している。
【００４２】
図６は、実施の形態の温度監視処理のフローチャートである。以下の処理は、ＣＰＵ４２により実行される。
装置の電源が投入されると（Ｓ１１）、ＢＩＯＳが起動される（Ｓ１２）。ＢＩＯＳが起動されると、ハードウェアモニタチップ１及び２に対する初期設定処理が実行される（Ｓ１３）。この初期設定処理では、ＣＰＵ温度に応じて、図５の状態１〜４の温度閾値テーブルの値が、ハードウェアモニタチップ１及び２の各レジスタに設定される。
【００４３】
初期設定処理が終了したなら、ＢＩＯＳの処理を終了する（Ｓ１４）。次に、ＯＳを起動する（Ｓ１５）。ＯＳが起動し、システムが起動したなら（Ｓ１６）、システム動作を開始する（Ｓ１７）。システム動作中ハードウェアモニタチップ１又は２は、それぞれのハードウェアモニタチップのレジスタに格納されている温度閾値を超えている否かを常に監視している。監視の結果、温度閾値を超えていることが検出されなければ、システムは通常動作を行う。
【００４４】
ハードウェアモニタチップ１又は２が、ＣＰＵ温度が閾値を超えたことを検出した場合には、システム制御がＯＳからＢＩＯＳに移行してＢＩＯＳ処理が開始される（Ｓ１８）。
【００４５】
ＢＩＯＳによりハードウェアモニタチップ１又は２の設定変更処理が実行される（Ｓ１９）。この設定変更処理は、ＣＰＵ温度が上昇又は下降したときに、ハードウェアモニタチップ１及び２の温度閾値を変更する処理である。ハードウェアモニタチップの設定変更処理が終了したなら、設定処理を完了し、システム制御をＢＩＯＳからＯＳに移行させ、システムの通常動作に戻る（Ｓ２０）。
【００４６】
図７及び図８は、図６のステップＳ１３のハードウェアモニタチップに対する初期設定処理の詳細なフローチャートである。この初期設定処理はＢＩＯＳプログラムの一部であり、ＢＩＯＳプログラムはＣＰＵ４２により実行される。
【００４７】
ハードウェアモニタチップ１の温度読み取り値を記憶するレジスタ１１の値を読み込み、その値を読み取り値Ａとして設定する（Ｓ２１）。ステップＳ２１の処理では、例えば、温度センサ４８で検出されるＣＰＵ４２の温度を読み取り値Ａとして設定する。
【００４８】
次に、１番目の状態１の閾値テーブル（温度閾値テーブル）のハードウェアモニタチップ１用の上限閾値を読み取り、その値を読み取り値Ｂとして設定する（Ｓ２２）。
読み取りＡが読み取り値Ｂより小さいか否か、すなわち、ＣＰＵ温度が上限閾値未満か否かを判別する（Ｓ２３）。
【００４９】
ステップＳ２３において、Ａ＜Ｂと判定されたとき（Ｓ２３，ＹＥＳ）、すなわち、ＣＰＵ温度が、状態１の上限閾値未満のときには、ステップＳ２４に進み、ハードウェアモニタチップ１の各レジスタに、状態１の温度閾値テーブルの値を書き込む。このステップＳ２４の処理により、例えば、ハードウェアモニタチップ１の上限値を記憶するレジスタ１２には、状態１の温度閾値テーブル１０１の上限閾値「７０°Ｃ」、レジスタ１３には下限閾値「６６°Ｃ」、レジスタ１５にはＣＰＵファンを低速で回転させるための制御値、レジスタ１６には電源ファンを低速で回転させるための制御値が設定される（図５参照）。
【００５０】
次に、ハードウェアモニタチップ２の各レジスタに、状態１の温度閾値テーブルの対応する値を書き込む（Ｓ２５）。このステップＳ２５の処理により、例えば、ハードウェアモニタチップ２の下限値を記憶するレジスタ２３には、状態１の温度閾値テーブル１０１の下限閾値「−４°Ｃ」が書き込まれる。
【００５１】
ハードウェアモニタチップ１及び２の書き込みが終了したなら、設定処理を完了する（Ｓ２６）。
ステップＳ２３においてＡ≧Ｂと判定されたとき（Ｓ２３，ＮＯ）、すなわち、ＣＰＵ温度が、状態１の上限閾値以上のときには、ステップＳ２７に進む。ステップＳ２７においては、１つ上（２番目）の状態２の温度閾値テーブルのハードウェアモニタチップ１用の上限閾値を読み取り、その値を読み取り値Ｂとして設定する。
【００５２】
次に、読み取り値Ａが、読み取り値Ｂ（状態２の上限閾値）より小さいか否かを判別する（Ｓ２８）。
ステップＳ２８においてＡ＜Ｂと判定されたとき（Ｓ２８、ＹＥＳ）、すなわち、ＣＰＵ温度が状態２の上限閾値未満のときには、ステップＳ２９に進む。ステップＳ２９では、ハードウェアモニタチップ１の各レジスタに、状態２の温度閾値テーブルの対応する値を書き込む。この処理では、例えば、状態２の温度閾値テーブル１０２の上限閾値「８０°Ｃ」、下限閾値「７６°Ｃ」、ＣＰＵファンを高速で回転させるための制御値、電源ファンを低速で回転させるための制御値が、ハードウェアモニタチップ１の各レジスタに設定される（図５参照）。
【００５３】
次に、ハードウェアモニタチップ２の各レジスタに、状態２の温度閾値テーブルの対応する値を書き込む（Ｓ３０）。この処理では、例えば、状態２の温度閾値テーブル１０２の上限閾値「７０°Ｃ」と下限閾値「６６°Ｃ」が、ハードウェアモニタチップ２の該当
するレジスタに設定される。
【００５４】
ハードウェアモニタチップ１及び２の設定が終了したなら、設定を完了する（Ｓ３１）。
ステップＳ２８において、Ａ≧Ｂと判定されたとき（Ｓ２８、ＮＯ）、すなわち、ＣＰＵ温度が、状態２の上限閾値以上と判定されたときには、図８のステップＳ３２に進む。ステップＳ３２では、状態３の温度閾値テーブルの上限閾値を読み込み、その値を読み取り値Ｂとして設定する。
【００５５】
次に、読み取り値Ａが読み取り値Ｂより小さいか否かを判別する（Ｓ３３）。
Ａ＜Ｂと判定されたとき（Ｓ３３、ＹＥＳ）、すなわち、ＣＰＵ温度が状態３の上限閾値未満と判定されたときには、ステップＳ３４に進む。ステップＳ３４では、ハードウェアモニタチップ１の各レジスタに、状態３の温度閾値テーブルの対応する値を書き込む。
【００５６】
次に、ハードウェアモニタチップ２の各レジスタに状態３の温度閾値テーブルの対応する値を書き込む（Ｓ３５）。
ハードウェアモニタチップ１及び２の初期値の設定が終了したなら、設定を完了する（Ｓ３６）。
【００５７】
ステップＳ３３において、Ａ≧Ｂと判定されたとき（Ｓ３３、ＮＯ）、すなわちＣＰＵ温度が状態３の上限閾値以上と判定されたときには、ステップＳ３７に進む。ステップＳ３７では、ハードウェアモニタチップ１の各レジスタに状態４の温度閾値テーブルの対応する値を書き込む。
【００５８】
次に、ハードウェアモニタチップ２の各レジスタに状態４の温度閾値テーブルの対応する値を書き込む（Ｓ３８）。
ハードウェアモニタチップ１及び２の初期値の設定が終了したなら、設定を完了する（Ｓ３９）。
【００５９】
図９は、図６のステップＳ１９のハードウェアモニタチップ設定変更処理の詳細なフローチャートである。この設定変更処理はＢＩＯＳプログラムの一部である。ＢＩＯＳプログラムはＣＰＵ４２により実行される。
【００６０】
ハードウェアモニタチップ１のＣＰＵ温度の読み取り値を記憶するレジスタの値を読み込み、その値を読み取り値Ａとして設定する（Ｓ４１）。
ハードウェアモニタチップ１の上限閾値を記憶するレジスタの値を読み込み、その値を読み取り値Ｂとして設定する（Ｓ４２）。
【００６１】
次に、読み取り値Ａが読み取り値Ｂより小さいか否かを判定する（Ｓ４３）。
Ａ≧Ｂと判定されたとき、すなわち、ＣＰＵ温度が上昇してハードウェアモニタチップ１に設定されている上限閾値に達した場合には、ステップＳ４４に進む。ステップＳ４４では、ハードウェアモニタチップ１の各レジスタに、「現在の状態＋１」の温度閾値テーブルの対応する値を書き込む。ステップＳ４４の処理は、例えば、現在の状態が「状態２」であれば、１つ上の状態３の温度閾値テーブル１０３のハードウェアモニタチップ１用の上限閾値、下限閾値、ＣＰＵファンの回転数の制御値、電源ファンの回転数の制御値を、ハードウェアモニタチップ１の該当するレジスタに書き込む。
【００６２】
同様に、ハードウェアモニタチップ２の各レジスタに、「現在の状態＋１」の温度閾値テーブルの対応する値を書き込む（Ｓ４５）。ステップＳ４５の処理は、例えば、現在の状態が状態２であれば、１つ上の状態３の温度閾値テーブル１０３のハードウェアモニタ
チップ２用の上限閾値、下限閾値を、ハードウェアモニタチップ２の該当するレジスタに書き込む。
【００６３】
ハードウェアモニタチップ１及び２のレジスタの値の変更が終了したなら、設定を完了する（Ｓ４６）。
ステップＳ４３において、Ａ＜Ｂと判定されたときには、ＣＰＵ温度がハードウェアモニタチップ２の下限閾値以下となり、ハードウェアモニタチップ２から割り込みが通知されたものと判断してステップＳ４７に進む。ステップＳ４７では、ハードウェアモニタチップ１の各レジスタに、「現在の状態−１」の温度閾値テーブルの対応する値を書き込む。
【００６４】
同様に、ハードウェアモニタチップ２の各レジスタに、「現在の状態−１」の温度閾値テーブルの対応する値を書き込む（Ｓ４８）。
ハードウェアモニタチップ１及び２の設定変更処理が終了したなら、設定を完了する（Ｓ４９）。
【００６５】
上述した設定変更処理により、ＣＰＵ温度が上昇してハードウェアモニタチップ１の上限閾値以上となったときには、ハードウェアモニタチップ１及び２の上限閾値、下限閾値、ＣＰＵファンの回転数の制御値及び電源ファンの回転数の制御値を、「現在の状態＋１」の温度閾値テーブルの対応する値に変更することができる。これにより、ＣＰＵ温度がそのときの上限閾値以上となったときには、ＣＰＵファン４９又は電源ファン５２の回転を高速に切り換えることができる。
【００６６】
ＣＰＵファン４９又は電源ファン５２の回転数を高速にしたことにより、ＣＰＵ温度が下がりハードウェアモニタチップ２の下限閾値以下となったときには、ハードウェアモニタチップ１及び２の各レジスタの値を、「現在の状態−１」の温度閾値テーブルの対応する値（例えば、ＣＰＵファン４９の回転数を低速にする制御値など）に変更することができる。これにより、ＣＰＵ温度が下がった場合には、ＣＰＵファン４９又は電源ファン５２の回転を低速に切り換えることができる。
【００６７】
ここで、上述したハードウェアモニタチップ１、２の上限閾値、下限閾値等の設定方法について、図１０〜図１４を参照して具体的に説明する。以下の例は、７０°Ｃ、８０°、９０°Ｃの３つの温度閾値を用いる場合の例である。この場合、例えば、図５の状態１〜状態４の４種類の温度閾値テーブル１０１〜１０４を用いることになる。９０°Ｃ以上となったときレジスタの値を切り換える必要がなければ、状態４の温度閾値テーブルを用いないこともできる。
【００６８】
電源起動時のＣＰＵ温度が５５°Ｃの場合には、ＢＩＯＳの初期設定処理により、最初に状態１の温度閾値テーブル１０１の上限閾値が読み込まれ、その上限閾値７０°ＣよりＣＰＵ温度が低いか否かが判定される。
【００６９】
図１０の１）の例は、ＣＰＵ温度が５５°Ｃで、状態１の上限閾値の７０°Ｃ未満であるので、状態１の温度閾値テーブル１０１の対応する値がハードウェアモニタチップ１及び２の各レジスタに設定される。
【００７０】
具体的には、図５の状態１の温度閾値テーブル１０１のハードウェアモニタチップ１用の上限閾値「７０°Ｃ」と下限閾値「６６°Ｃ」が、ハードウェアモニタチップ１のレジスタ１２とレジスタ１３にそれぞれ設定される。さらに、温度閾値テーブル１０１のＣＰＵファンの低速回転の制御値と、電源ファンの低速回転の制御値が、ハードウェアモニタチップ１のレジスタ１５及び１６に設定される。
【００７１】
同様に、温度閾値テーブル１０１のハードウェアモニタチップ２用の上限閾値「０°Ｃ」と下限値「−４°Ｃ」が、ハードウェアモニタチップ２のレジスタ２２、２３にそれぞれ設定される。
【００７２】
図１０の２）はシステム動作中に、ＣＰＵ温度が７０°Ｃに上昇した場合を示した例であり、ハードウェアモニタチップ１からＢＩＯＳに対して割り込みが通知される。
図１１の３）〜４）は、電源起動後に、ＣＰＵ温度が７０°Ｃに上昇して、ハードウェアモニタチップ１から割り込みが通知され、ハードウェアモニタチップ１及び２の各レジスタの値を、状態２の温度閾値テーブル１０２の値に変更する場合の例である。
【００７３】
ＢＩＯＳは割り込みを受け付けると、ハードウェアモニタチップ１のレジスタからＣＰＵ４２の現在の温度と上限閾値を読み取り、ＣＰＵ温度が上限値に達しているか否かを判定する。
【００７４】
ＣＰＵ温度が上限閾値の７０°Ｃに達している場合には、ＢＩＯＳは、「現在の状態＋１」（この場合は、状態２）の温度閾値テーブル１０２の値を読み取り、読み取った値をハードウェアモニタチップ１及び２の該当するレジスタに書き込む。
【００７５】
具体的には、図５の状態２の温度閾値テーブル１０２のハードウェアモニタチップ１用の上限閾値「８０°Ｃ」と下限閾値「７６°Ｃ」を、ハードウェアモニタチップ１のレジスタ１２とレジスタ１３にそれぞれ設定する。さらに、ＣＰＵファンの高速回転の制御値と電源ファンの低速回転の制御値を、ハードウェアモニタチップ１のレジスタ１５とレジスタ１６にそれぞれ設定する。
【００７６】
同様に、温度閾値テーブル１０２のハードウェアモニタチップ２用の上限閾値「７０°Ｃ」と下限閾値「６６°Ｃ」を、ハードウェアモニタチップ２のレジスタ２２と２３にそれぞれ設定する。
【００７７】
ハードウェアモニタチップ１の各レジスタに上記の値が設定されると、ＣＰＵファン４９は高速で回転するよう制御され、電源ファン５２は低速で回転するように制御される。
図１１の４）の状態で、ＣＰＵ温度が８０°Ｃに上昇すると、ハードウェアモニタチップ１からＢＩＯＳに対して割り込みが通知される。
【００７８】
図１２の５）、６−１）は、ＣＰＵ温度が８０°Ｃに上昇して、ハードウェアモニタチップ１及び２の各レジスタの値を、状態３の温度閾値テーブル１０３の値に変更する場合の例である。
【００７９】
ハードウェアモニタチップ１からＢＩＯＳに対して割り込みが通知されると、ＢＩＯＳは、ハードウェアモニタチップ１のレジスタからＣＰＵ４２の現在の温度と、上限値を読み取る。そして、ＣＰＵ温度が上限値に達している場合には、ＢＩＯＳは「現在の状態＋１」の温度閾値テーブルの値を読み取り、読み取った値をハードウェアモニタチップ１及び２の該当するレジスタに書き込む。
【００８０】
具体的には、図５の状態３の温度閾値テーブル１０３の上限閾値「９０°Ｃ」と下限閾値「８６°Ｃ」を、ハードウェアモニタチップ１のレジスタ１２とレジスタ１３にそれぞれ書き込む。さらに、ＣＰＵファンの高速回転の制御値と電源ファンの高速回転の制御値を、ハードウェアモニタチップ１のレジスタ１５と１６にそれぞれ設定する。
【００８１】
同様に、温度閾値テーブル１０３のハードウェアモニタチップ２用の上限値「８０°Ｃ
」と下限閾値「７６°Ｃ」を、ハードウェアモニタチップ２のレジスタ２２とレジスタ２３にそれぞれ設定する。
【００８２】
ＣＰＵ温度が８０°Ｃ以上になると、電源ファンの回転数の制御値が低速から高速に変更されるので、ハードウェアモニタチップ１は電源ファンを高速で回線させる。電源ファンは、装置内部の温度を下げるのでＣＰＵ４２の温度を下げることができる。
【００８３】
図１２の６−１）の状態で、ＣＰＵ温度が９０°Ｃに上昇すると、ハードウェアモニタチップ１からＢＩＯＳに対して割り込みが通知される。
割り込みが通知されたとき、ＣＰＵ温度が上限値「９０°Ｃ」に達していると判断した場合には、ＢＩＯＳは、システムを停止させる信号を出力する。
【００８４】
図１３，図１４は、ＣＰＵ温度が下がった場合のハードウェアモニタチップの閾値の変更方法の説明図である。
図１３は、ＣＰＵ温度が７６°Ｃに下がった場合の閾値の変更方法の説明図である。前提として、ハードウェアモニタチップ１及び２の各レジスタには、図１３の６−２）に示すような状態３の温度閾値テーブル１０３の値が設定されているものとする。
【００８５】
例えば、ＣＰＵ温度が８０°Ｃからハードウェアモニタチップ２の下限閾値の７６°Ｃまで下がると、ハードウェアモニタチップ２からＢＩＯＳに対して割り込みが通知される。
【００８６】
ＢＩＯＳは割り込みを受け付けると、ハードウェアモニタチップ１と２のレジスタの値を読み取る。そして、ＣＰＵ温度がハードウェアモニタチップ１又は２の上限値又は下限値に達したか否かを判定する。
【００８７】
ＢＩＯＳが、ＣＰＵ温度がハードウェアモニタチップ２の下限値以下となったと判断すると、「現在の状態−１」の温度閾値テーブル、つまり、この場合、状態２の温度閾値テーブル１０２の値をハードウェアモニタチップ１及び２の各レジスタに設定する。
【００８８】
具体的には、ハードウェアモニタチップ１のレジスタ１２に、状態３の温度閾値テーブル１０２の対応する上限閾値「８０°Ｃ」が設定される。さらに、レジスタ１６の電源ファン５２の回転数の制御値として低速回転の制御値が設定される。また、ハードウェアモニタチップ２の下限値レジスタ２３に、状態２の対応する下限閾値「６６°Ｃ」が設定される。
【００８９】
図１３の７−２）は、状態３から状態２の閾値に変更されたときのハードウェアモニタチップ１及び２の各レジスタの値を示している。
上記の処理により、ＣＰＵ温度が８０°Ｃ以上となり、状態３の閾値が設定された後に、ＣＰＵ温度が７６°Ｃに下がると、ハードウェアモニタチップ１及び２の閾値が、状態２の温度閾値テーブル１０２の値に変更され、電源ファンの回転が低速に切り換えられる。この場合、ＣＰＵ温度が７６°Ｃ以下となった時点で、電源ファンの回転数を低速に切り換えることができる。
【００９０】
次に、図１４は、ＣＰＵ温度がさらに下がった場合の閾値の変更方法の説明図（２）である。前提として、ハードウェアモニタチップ１及び２の各レジスタには、図１４の８）に示すように、状態２の温度閾値テーブル１０２の対応する値が設定されているものとする。
【００９１】
例えば、ＣＰＵ温度が、７６°Ｃから６６°Ｃに下がると、ハードウェアモニタチップ
２からＢＩＯＳに対して割り込みが通知される。
ＢＩＯＳは割り込みを受け付けると、ハードウェアモニタチップ１と２のレジスタの値を読み取る。そして、ＣＰＵ温度がハードウェアモニタチップ１又は２の上限値又は下限値に達したか否かを判定する。
【００９２】
ＢＩＯＳが、ＣＰＵ温度がハードウェアモニタチップ２の下限値に達したと判断すると、「現在の状態−１」の温度閾値テーブル、つまり状態１の温度閾値テーブル１０１の対応する値をハードウェアモニタチップ１及び２の各レジスタに設定する。
【００９３】
具体的には、ハードウェアモニタチップ１のレジスタ１２に、状態１の対応する上限閾値である「７０°Ｃ」を設定する。また、ハードウェアモニタチップ２のレジスタ２３に、状態１の対応する下限閾値である「−４°Ｃ」を設定する。さらに、レジスタ１４のＣＰＵファン４９の制御値を低速の制御値に変更する。このとき、電源ファン５２の制御値は低速の制御値になっている。
【００９４】
上記の処理により、ＣＰＵ温度が７０°Ｃ以上となり、ハードウェアモニタチップ１及び２に状態２の閾値が設定された後に、ＣＰＵ温度が６６°Ｃに下がると、ハードウェアモニタチップ１及び２の各レジスタの値が、状態２の値に変更され、ＣＰＵファンの回転が低速に切り換えられる。この場合、ＣＰＵ温度が６６°Ｃ以下となった時点で、ＣＰＵファンの回転数を低速に切り換えることができるので、ＣＰＵファンの消費電力を減らすことができる。
【００９５】
次に、本実施の形態において、ハードウェアモニタチップ１，２の下限値を、それぞれの上限値より小さい値（例えば、−４°Ｃの値）を設定している理由を説明する。
先ず、ハードウェアモニタチップ１と２の上限値を記憶するレジスタと下限値を記録するレジスタに同じ値を設定した場合の割り込みについて説明する。
【００９６】
図１５の１）に示すように、電源起動時に、ＣＰＵ温度が５５°Ｃのときに、ハードウェアモニタチップ１のレジスタ１２とレジスタ１３に、状態１の温度閾値テーブル１０１の対応する上限閾値「７０°Ｃ」を設定する。また、ハードウェアモニタチップ２のレジスタ２２、２３に、状態１の温度閾値テーブル１０１の対応する上限閾値「０°Ｃ」を設定する。
【００９７】
ハードウェアモニタチップ１及び２のレジスタの値が、図１５の２）に示す状態で、ＣＰＵ温度が７０°Ｃに上昇すると、ハードウェアモニタチップ１からＢＩＯＳに対して割り込みが通知される。
【００９８】
ＢＩＯＳは、ＣＰＵ温度がハードウェアモニタチップ１の上限値に達したと判断すると、１つ上の状態２の温度閾値テーブル１０２の値をハードウェアモニタチップ１及び２の各レジスタに設定する。
【００９９】
図１６の３）、４）は、ＣＰＵ温度が７０°Ｃに上昇して、ハードウェアモニタチップ１及び２に、それぞれ状態２の温度閾値テーブル１０２の上限閾値を設定した場合の例である。この場合、ハードウェアモニタチップ１のレジスタ１２及び１３と、ハードウェアモニタチップ２のレジスタ２２及び２３には、状態２の温度閾値テーブル１０２の対応する上限閾値が設定されている。このとき、ＣＰＵファン４９の回転数の制御値として高速回転の制御値が設定されるので、ＣＰＵファン４９は高速で回転している。
【０１００】
このときのＣＰＵ温度が７０°Ｃとすると、ハードウェアモニタチップ２の閾値が同じ値「７０°Ｃ」であるために、ハードウェアモニタチップ２から割り込みは通知されない
。
【０１０１】
図１７の５）に示すように、ＣＰＵファン４９が高速化されたことでＣＰＵ温度が、７０°Ｃから６５°Ｃに下がった場合にも、ハードウェアモニタチップ２からは割り込みは通知されない。これは、ハードウェアモニタチップ２は、温度読み取り値（ＣＰＵ温度）がレジスタ２３に設定されている閾値を超えた後、閾値を下回ったときには割り込み信号を出力するが、温度読み取り値が閾値を超えない場合には、割り込み信号が出力されないからである。
【０１０２】
さらにＣＰＵ温度が下がって４０°Ｃになっても、ハードウェアモニタチップ２からは割り込み信号が出力されないため、ＣＰＵファン４９の回転は低速に切り替わらない。
上記のようにハードウェアモニタチップ２のレジスタ２２とレジスタ２３に同じ閾値を設定すると、ＣＰＵ温度が下限閾値以下となったときに、ファンの回転を低速に切り換えることができない場合が発生する可能性がある。
【０１０３】
本実施の形態において、ハードウェアモニタチップ２の下限値を記憶するレジスタ２３の値を、１つ前の状態の上限閾値より小さい値（実施の形態では、上限閾値−４°Ｃ）」にしているのは、上記のような問題を回避するためである。例えば、図１１に示すように、状態１から状態２の閾値に変更する際に、ハードウェアモニタチップ２の下限値として、１つ前の状態の上限閾値より４°Ｃ低い温度（この場合、「７０−４＝６６°Ｃ」）を設定することで、ＣＰＵ温度が７０°Ｃから６６°Ｃに下がった時点で、ハードウェアモニタチップ２は割り込みを通知することができる。なお、ハードウェアモニタチップ２に設定する下限値は、上限値より−４°Ｃ低い値に限らない。
【０１０４】
図１８は、温度閾値テーブルの他の例を示す図である。この例は、温度監視をするための閾値が１１個ある場合の例である。
図１８に示すように、１０番目の閾値を「Ｊ」とすると、１０番目の温度閾値テーブル１１０には、ハードウェアモニタチップ１用の上限値閾値として１０番目の閾値「Ｊ」が、下限閾値としてその閾値Ｊより小さい値が記憶されている。同様に、温度閾値テーブル１１０には、ハードウェアモニタチップ２用の上限閾値として、１つ前の状態の状態「９」の閾値「Ｉ」が記憶され、下限閾値としてその閾値Ｉより小さい値が記憶される。
【０１０５】
上述した実施の形態は、温度閾値の数に対応する複数の温度閾値テーブルを用意しておき、ハードウェアモニタチップ１及び２の各レジスタに、そのときのＣＰＵの温度に対応する温度閾値テーブルの対応する値を設定する。そして、ＣＰＵ温度がハードウェアモニタチップ１に設定した上限閾値以上となったときには、ハードウェアモニタチップ１及び２の各レジスタに、１つ上の状態（状態を示す数値が大きい）の温度閾値テーブルの値を設定する。これにより、ＣＰＵファン４９、あるいは電源ファン５２の回転を高速側（又は停止状態から動作状態）に切り換えてＣＰＵ４２を冷却することができる。また、ＣＰＵファン４９または電源ファン５２の回転を高速に切り換えた結果、ＣＰＵ温度が下がり、ハードウェアモニタチップ２の下限閾値以下となった場合には、ハードウェアモニタチップ１及び２の各レジスタに、１つ下の状態（状態を示す値が小さい）の温度閾値テーブルの対応する値を設定する。これにより、ＣＰＵファン４９又は電源ファン５２の回転を高速に切り換えて、ＣＰＵ温度が設定した下限閾値以下となったときには、ＣＰＵファン４９又は電源ファン５２の回転を低速側（又は動作状態から停止状態）に切り換えることができる。
【０１０６】
上述した実施の形態によれば、３つ以上の温度閾値が必要な場合でも、２個のハードウェアモニタチップ１、２を用いてＣＰＵの温度監視、複数のファンの回転数の制御、システムの動作制御等を実現できる。
【０１０７】
本発明は、上述した実施の形態に限らず、例えば、以下のように構成して良い。
（１）上述した実施の形態は、温度閾値が３個又は４個の場合について説明したが、温度閾値の数はこれに限らない。
（２）実施の形態は、ＣＰＵ温度を検出して、ＣＰＵファンと電源ファンの回転数を切り換え、ＣＰＵ温度がさらに上昇した場合には、システムを停止させる場合について説明したがこの例に限らない。例えば、ＣＰＵ温度を監視して、ＣＰＵファン、電源ファン、筐体ファンの回転数を制御する場合にも適用できる。
（３）実施の形態は、温度閾値テーブル１０１〜１０４を予め記憶するようにしているが、記憶するデータ形式はテーブルに限らず、他の形式のデータを記憶しても良い。
（４）実施の形態は、温度監視対象としてＣＰＵ温度について説明したが、監視対象はこれに限らない。例えば、電源温度、システム温度を監視してＣＰＵファン、電源ファン、筐体ファンの回転数を制御する場合にも適用できる。
【図面の簡単な説明】
【０１０８】
【図１】ハードウェアモニタチップのレジスタの構成を示す図である。
【図２】２個のハードウェアモニタチップを使用する場合の温度監視方法の説明図である。
【図３】３個のハードウェアモニタチップが必要な場合の温度監視方法の説明図である。
【図４】実施の形態のマザーボードの回路図である。
【図５】温度閾値テーブルを示す図である。
【図６】実施の形態の温度監視処理のフローチャートである。
【図７】ハードウェアモニタチップに対する初期設定処理のフローチャート（１）である。
【図８】ハードウェアモニタチップに対する初期設定処理のフローチャート（２）である。
【図９】ハードウェアモニタチップに対する設定変更処理のフローチャートである。
【図１０】起動時の閾値の初期設定方法の説明図である。
【図１１】ＣＰＵ温度が上昇した場合の閾値の変更方法の説明図（１）でる。
【図１２】ＣＰＵ温度が上昇した場合の閾値の変更方法の説明図（２）でる。
【図１３】ＣＰＵ温度が下がった場合の閾値の変更方法の説明図（１）である。
【図１４】ＣＰＵ温度が下がった場合の閾値の変更方法の説明図（２）である。
【図１５】下限値の設定方法の説明図（１）である。
【図１６】下限値の設定方法の説明図（２）である。
【図１７】下限値の設定方法の説明図（３）である。
【図１８】温度閾値テーブルの他の例を示す図である。
【符号の説明】
【０１０９】
１  ハードウェアモニタチップ
２  ハードウェアモニタチップ
１１〜１６  レジスタ
２２，２３  レジスタ
４１  マザーボード
４２  ＣＰＵ
４７  ＢＩＯＳＲＯＭ
４８、５１、５４  温度センサ
４９  ＣＰＵファン
５２  電源ファン
５４  筐体ファン
【図１】
2010157049.tif 000003
【図２】
2010157049.tif 000004
【図３】
2010157049.tif 000005
【図４】
2010157049.tif 000006
【図５】
2010157049.tif 000007
【図６】
2010157049.tif 000008
【図７】
2010157049.tif 000009
【図８】
2010157049.tif 000010
【図９】
2010157049.tif 000011
【図１０】
2010157049.tif 000012
【図１１】
2010157049.tif 000013
【図１２】
2010157049.tif 000014
【図１３】
2010157049.tif 000015
【図１４】
2010157049.tif 000016
【図１５】
2010157049.tif 000017
【図１６】
2010157049.tif 000018
【図１７】
2010157049.tif 000019
【図１８】
2010157049.tif 000020