(57)【要約】【課題】拡張機器への供給電力が過大となることを抑止する。【解決手段】実施形態の電子機器は、電力監視部と、送信部とを有する。電力監視部は、バスを介して接続する拡張機器に供給する電力量を監視する。送信部は、電力量が所定値を超える場合に、拡張機器が消費電力量を低減させることとなる拡張機器の状態を示す信号を拡張機器に送信する。【選択図】図２
2018181115.tif 000002
【特許請求の範囲】
【請求項１】
バスを介して接続する拡張機器に供給する電力量を監視する電力監視部と、
前記電力量が所定値を超える場合に、前記拡張機器が消費電力量を低減させることとなる当該拡張機器の状態を示す信号を前記拡張機器に送信する送信部と、
を有することを特徴とする電子機器。
【請求項２】
前記信号は、前記拡張機器が消費電力量を低減させることとなる当該拡張機器の温度にかかる温度情報である、
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記バスは、ＰＣＩ  Ｅｘｐｒｅｓｓである、
ことを特徴とする請求項１または２に記載の電子機器。
【請求項４】
バスを介して接続する拡張機器に供給する電力量を取得し、
前記電力量が所定値を超える場合に、前記拡張機器が消費電力量を低減させることとなる当該拡張機器の状態を示す信号を前記拡張機器に送信する、
処理をコンピュータに実行させることを特徴とする管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、電子機器および管理プログラムに関する。
【背景技術】
【０００２】
従来、ＰＣ（パーソナルコンピュータ）等の電子機器においては、グラフィックカードなどの拡張機器をバスを介して接続するものがある。電子機器に接続された拡張機器は、電子機器から供給された電力により画像処理などの各種機能を電子機器に提供する。
【０００３】
このように拡張機器を接続する電子機器の装置保護においては、機能ボードを実装した装置架内の任意の箇所の温度の異常を検出し、温度異常が高温状態のときはボード内のクロック周波数を逓減する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−３１９５７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、電子機器から拡張機器に供給する電力が過大な状態が継続し、電力供給を行う電子機器に過度な負荷が生じる場合があるという問題がある。
【０００６】
例えば、多くの処理を行うために拡張機器がクロック周波数を逓増することで消費電力量が多くなる場合がある。このような場合には、高温状態を検出して拡張機器がクロック周波数を逓減するまでは供給電力が過大な状態が継続することとなる。また、拡張機器がクロック周波数を逓増しているときに電子機器側が拡張機器への供給電力を一方的に制限すると、拡張機器の動作が不安定となることがある。
【０００７】
１つの側面では、拡張機器を変更することなく、拡張機器への供給電力が過大となることを抑止できる電子機器および管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、電子機器は、電力監視部と、送信部とを有する。電力監視部は、バスを介して接続する拡張機器に供給する電力量を監視する。送信部は、電力量が所定値を超える場合に、拡張機器が消費電力量を低減させることとなる拡張機器の状態を示す信号を拡張機器に送信する。
【発明の効果】
【０００９】
本発明の１実施態様によれば、拡張機器を変更することなく、拡張機器への供給電力が過大となることを抑止できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態にかかる電子機器のハードウエア構成例を示すブロック図である。
【図２】図２は、実施形態にかかる電子機器の機能構成を説明する説明図である。
【図３】図３は、実施形態にかかる電子機器の動作例を示すフローチャートである。
【図４−１】図４−１は、ＡＰＩ初期化のサンプルコードの一例を示す説明図である。
【図４−２】図４−２は、温度情報構造体の一例を示す説明図である。
【図４−３】図４−３は、温度情報のダウンロード／アップロードを行うファンクションの一例を示す説明図である。
【図４−４】図４−４は、温度情報を取得するサンプルコードの一例を示す説明図である。
【図４−５】図４−５は、温度情報を更新するサンプルコードの一例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、実施形態にかかる電子機器および管理プログラムを説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する電子機器および管理プログラムは、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１２】
図１は、実施形態にかかる電子機器のハードウエア構成例を示すブロック図である。図１に示すように、電子機器１は、本体側のマザーボード１０にグラフィックカード２０ａ、ストレージ装置２０ｂなどの拡張機器２０を接続する、例えばタワー型のＰＣ（パーソナルコンピュータ）などのコンピュータである。なお、拡張機器２０におけるグラフィックカード２０ａ、ストレージ装置２０ｂは、一例であり、例えば演算ボードなどの機能ボードであってもよい。
【００１３】
マザーボード１０は、ＣＰＵ１１（CPU:Central  Processing  Unit）、メモリ１２、ＰＣＨ１３（PCH:Platform  Controller  Hub）、バス１４、コネクタ１５、電源部１６および電力モニタ部１７を有する。
【００１４】
ＣＰＵ１１は、中央処理装置であり、電子機器１におけるシステム制御の中心的な役割を果たす。ＣＰＵ１１にはメモリコントローラが含まれており、メモリ１２と接続されている。ＣＰＵ１１は、メモリ１２に格納されたプログラム１２ａを順次実行することで、電子機器１の動作を中央制御する。
【００１５】
メモリ１２は、電子機器１の記憶装置であり、例えば、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）などである。メモリ１２は、プログラム１２ａを格納する。プログラム１２ａには、ＯＳ（Operating  System）などの基本プログラムの他、拡張機器２０の管理にかかる管理プログラムなどが含まれる。
【００１６】
ＰＣＨ１３は、ノースブリッジとサウスブリッジの機能を統合したチップである。ＰＣＨ１３は、拡張機器２０とＣＰＵ１１とのインタフェースを取り持つ。具体的には、ＰＣＨ１３は、バス１４およびコネクタ１５を介して拡張機器２０と接続する。
【００１７】
例えば、ＰＣＨ１３は、ＰＣＩｅバス１４ａを介してＰＣＩｅスロット１５ａに取り付けられたグラフィックカード２０ａと接続する。ＰＣＩｅは、ＰＣＩ  Ｅｘｐｒｅｓｓ（ピーシーアイエクスプレス（登録商標））の略記であり、ＰＣＩ−ＳＩＧによって策定されたシリアルインタフェースである。また、ＰＣＨ１３は、ＵＳＢバス１４ｂ（ＵＳＢ：Universal  Serial  Bus）を介してＵＳＢコネクタ１５ｂに取り付けられたストレージ装置２０ｂと接続する。
【００１８】
なお、マザーボード１０と拡張機器２０との接続については、ＰＣＩｅやＵＳＢに限定しない。例えば、Ｔｈｕｎｄｅｒｂｏｌｔ（サンダーボルト）などのシリアルインタフェースであってもよい。
【００１９】
電源部１６は、商用電源などの電源から供給される電力を拡張機器２０を含む電子機器１の各部に供給する。例えば、電源部１６は、バス１４を介して電力供給を行う、いわゆるバスパワーで拡張機器２０に電力を供給する。なお、電源部１６から拡張機器２０への電力供給は、バスパワーに限定するものではなく、電源プラグ（図示しない）を経由して電力供給してもよいし、バスパワーおよび電源プラグを共に用いて電力供給してもよい。
【００２０】
電力モニタ部１７は、電力量を計測する回路であり、電源部１６が各部に供給する電力量を監視する。電力モニタ部１７は、ＣＰＵ１１からのアクセスに応じて監視中の電力量を示す電力情報を通知する。
【００２１】
図２は、実施形態にかかる電子機器１の機能構成を説明する説明図である。なお、図２ではマザーボード１０とグラフィックカード２０ａとの接続を例示して説明しているが、グラフィックカード２０ａ以外の拡張機器２０の場合（例えばストレージ装置２０ｂ）も同様であることは言うまでもないことである。また、図２における太字の矢印は、電力の流れを示している。また、白抜きの矢印は制御を示しており、太字または白抜き以外の矢印は信号やデータなどの情報の流れを示している。
【００２２】
図２に示すように、電子機器１において、グラフィックカード２０ａおよびグラフィックカード２０ａ以外の他デバイス１８には、電源部１６より電力が供給される。電力モニタ部１７は、電源部１６よりＰＣＩｅバス１４ａを介して供給されるグラフィックカード２０ａへの電力量を監視している。すなわち、電力モニタ部１７は、電力監視部の一例である。
【００２３】
ＣＰＵ１１は、グラフィックカード２０ａなどの拡張機器２０の管理にかかる管理プログラムを実行することで、Ｓ１〜Ｓ３の処理を実行する。具体的には、ＣＰＵ１１は、電力モニタ部１７にアクセスしてグラフィックカード２０ａに供給している電力量を示す電力情報を取得する（Ｓ１）。
【００２４】
次いで、ＣＰＵ１１は、取得した電力情報をもとに、グラフィックカード２０ａに供給している電力量が予め設定された閾値以上であるか否かを判定する（Ｓ２）。この閾値は、一例として、グラフィックカード２０ａに供給している電力量が過大となる目安の値が設定されている。
【００２５】
ＣＰＵ１１は、電力量が閾値以上である場合（Ｓ２：ＹＥＳ）、グラフィックカード２０ａが消費電力量を低減させることとなるグラフィックカード２０ａの状態を示す信号をグラフィックカード２０ａに送信する。すなわち、ＣＰＵ１１は、送信部の一例である。
【００２６】
具体的は、ＣＰＵ１１は、温度センサー２３により検知した温度が所定値以上の高温状態である場合に消費電力量を低減させる動作モードとするグラフィックカード２０ａのコントローラー２２に対し、グラフィックカード２０ａが高温状態であることを示す温度情報を送信する（Ｓ３）。
【００２７】
このＣＰＵ１１からコントローラー２２への信号（例えば温度情報）の送信には、ソフト的な手法と、ハード的な手法のいずれを用いてもよい。例えば、ソフト的な手法には、ソフトウエア・インタフェースを利用するものとして、拡張機器２０へのアクセスにかかるＡＰＩ（アプリケーション・プログラミング・インタフェース）のコールがある。
【００２８】
グラフィックカード２０ａなどの拡張機器２０のベンダーは、拡張機器２０へのアクセスにかかるＡＰＩを提供（公開）している場合がある。したがって、グラフィックカード２０ａにかかるＡＰＩをコールすることで、ＣＰＵ１１は、グラフィックカード２０ａの状態などへのアクセスが可能となり、例えばグラフィックカード２０ａの温度状態の取得やその書き換えを行うことができる。
【００２９】
また、ハード的な手法としては、ＣＰＵ１１からコントローラー２２への信号線を温度センサー２３からコントローラー２２への伝送経路にＡＮＤ接続するものがある。例えば、ＣＰＵ１１からは、Ｉ２Ｃ（アイ・スクエアド・シー）などを介してグラフィックカード２０ａへ信号を送信する。グラフィックカード２０ａでは、ＣＰＵ１１からの信号と、温度センサー２３からの信号とをＡＮＤ回路で受けてコントローラー２２に出力する。
【００３０】
グラフィックカード２０ａのコントローラー２２は、温度センサー２３が検出した温度情報およびＣＰＵ１１から送信された温度情報を受け付ける（Ｓ４）。次いで、コントローラー２２は、温度センサー２３およびＣＰＵ１１から受け付けた温度をもとに、グラフィックカード２０ａの温度が所定値以上の高温状態であるか否かを判定する（Ｓ５）。
【００３１】
例えば、所定値以上の高温状態であることを示す温度情報がＣＰＵ１１から送信されている場合、コントローラー２２は、グラフィックカード２０ａが高温状態であると判定する。
【００３２】
高温状態である場合（Ｓ５：ＹＥＳ）、コントローラー２２は、温度上昇を抑止するため、ＧＰＵ２１（GPU：Graphics  Processing  Unit）の動作モードを、消費電力量が少なくなる動作モードに切り替える。具体的には、コントローラー２２は、ＧＰＵ２１について、Ｌｏｗ  Ｃｌｋによる周波数の逓減またはスロットリングを行う（Ｓ６）。これにより、グラフィックカード２０ａにおける消費電力量が低減される。したがって、電子機器１では、グラフィックカード２０ａへの供給電力が過大となることを抑止できる。
【００３３】
なお、グラフィックカード２０ａが消費電力量を低減させることとなるグラフィックカード２０ａの状態については、グラフィックカード２０ａの温度状態に限定しない。例えば、グラフィックカード２０ａの冷却ファンの回転状態やグラフィックカード２０ａの電力状態など、温度状態以外であってもよい。
【００３４】
一例として、グラフィックカード２０ａは、冷却ファンの回転状態（例えば回転停止）により、冷却ファンによる冷却能力が低減しているものとして、消費電力量が少なくなる動作モードに切り替える場合がある。このようなグラフィックカード２０ａに対し、ＣＰＵ１１は、電力量が閾値以上である場合（Ｓ２：ＹＥＳ）、例えば冷却ファンの回転が停止していることを示す信号をグラフィックカード２０ａに送信する。これにより、高温状態の場合と同様、ＧＰＵ２１の動作モードが消費電力量が少なくなる動作モードに切り替えられ、グラフィックカード２０ａにおける消費電力量が低減される。したがって、電子機器１では、グラフィックカード２０ａへの供給電力が過大となることを抑止できる。
【００３５】
図３は、実施形態にかかる電子機器１の動作例を示すフローチャートである。より具体的には、図３では、ＡＰＩを用いる場合の動作例を示している。
【００３６】
図３に示すように、処理が開始されると、ＣＰＵ１１は、グラフィックカード２０ａにかかるＡＰＩを初期化する（Ｓ１１）。図４−１は、ＡＰＩ初期化のサンプルコードの一例を示す説明図である。
【００３７】
図４−１に示すように、ＡＰＩの初期化では、例えばベンダー（ＮＶＩＤＩＡ（登録商標）、ＡＭＤ（登録商標）等）のＡＰＩを順次初期化して成功したものを採用する。本実施形態では、グラフィックカード２０ａのベンダーはＮＶＩＤＩＡであり、ＮＶＩＤＡＩが提供するＡＰＩ（ＮＶＡＰＩ）を採用しているものとする。
【００３８】
次いで、ＣＰＵ１１は、電力モニタ部１７より取得した電力情報をもとに、グラフィックカード２０ａに供給している電力量が予め設定された閾値以上であるか否かを判定する（Ｓ１２）。閾値以上でない場合（Ｓ１２：ＮＯ）、ＣＰＵ１１は、処理を待機する。
【００３９】
閾値以上である場合（Ｓ１２：ＹＥＳ）、ＣＰＵ１１は、ＡＰＩの機能（ファンクション）をコールして、グラフィックカード２０ａより温度情報２２ａをダウンロードする（Ｓ１３）。
【００４０】
図４−２は、温度情報構造体の一例を示す説明図である。温度情報２２ａは、図４−２に示すような構造体としてグラフィックカード２０ａにおいて管理されている。例えば、グラフィックカード２０ａにおける現在の温度値（ｃｕｒｒｅｎｔＴｅｍｐ）が管理されている。
【００４１】
図４−３は、温度情報２２ａのダウンロード／アップロードを行うファンクションの一例を示す説明図である。図４−３に示すように、温度情報２２ａのダウンロードを行う場合は、「ＮｖＡＰＩ＿ＧＰＵ＿ＧｅｔＴｈｅｒｍａｌＳｅｔｔｉｎｇｓ」などのファンクションをコールする。また、温度情報２２ａのアップロードを行う場合は、「ＮｖＡＰＩ＿ＧＰＵ＿ＳｅｔＴｈｅｒｍａｌＳｅｔｔｉｎｇｓ」などのファンクションをコールする。
【００４２】
図４−４は、温度情報２２ａを取得するサンプルコードの一例を示す説明図である。図４−４に示すようなサンプルコードを実行することで、ＣＰＵ１１は、グラフィックカード２０ａより温度情報２２ａを取得することができる。
【００４３】
次いで、ＣＰＵ１１は、温度情報２２ａにおける温度値（ｃｕｒｒｅｎｔＴｅｍｐ）を、所定値以上の高温状態とする温度値に書き換える（Ｓ１４）。次いで、ＣＰＵ１１は、ＡＰＩの機能（ファンクション）をコールして（図４−３参照）、温度値の書き換え後の温度情報２２ａをグラフィックカード２０ａにアップロードする（Ｓ１５）。
【００４４】
グラフィックカード２０ａは、複数の温度に応じて消費電力量を少なくする複数の動作モード（例えば温度が高くなるのに応じて消費電力量を少なくする段階的な動作モード）を有している。Ｓ１４では、複数の動作モードに対応する温度のうち、ダウンロードした温度情報２２ａよりも高い中で、より温度情報２２ａに近い温度値に書き換える。これにより、電力量が閾値以下となる範囲で、且つ、グラフィックカード２０ａの能力を落とし過ぎることなく、グラフィックカード２０ａにおける消費電力量を低減することができる。
【００４５】
図４−５は、温度情報２２ａを更新するサンプルコードの一例を示す説明図である。図４−５に示すようなサンプルコードを実行することで、ＣＰＵ１１は、ダウンロードした温度情報２２ａにおける温度値を書き換える。次いで、ＣＰＵ１１は、書き換え後の温度情報２２ａにアップロードし、温度情報２２ａを更新する。
【００４６】
アップロードされた温度情報２２ａにより、グラフィックカード２０ａのコントローラー２２は、グラフィックカード２０ａが高温状態であると判定し、消費電力量が少なくなる動作モードにＧＰＵ２１を切り替える。よって、グラフィックカード２０ａにおける消費電力量が低減されることから、電子機器１では、グラフィックカード２０ａへの供給電力が過大となることを抑止できる。
【００４７】
以上のように、電子機器１は、バス１４を介して接続する拡張機器２０に供給する電力量を監視する電力モニタ部１７を有する。また、電子機器１は、ＣＰＵ１１の処理により、拡張機器２０に供給する電力量が所定値を超える場合に、拡張機器２０が消費電力量を低減させることとなる拡張機器２０の状態を示す信号を拡張機器２０に送信する。
【００４８】
これにより、拡張機器２０が消費電力量を低減させるので、電子機器１では、拡張機器２０を変更することなく、拡張機器２０への供給電力が過大となることを抑止できる。また、拡張機器２０自身が消費電力量を低減させることから、拡張機器２０の動作が不安定となること防止しつつ、拡張機器２０への供給電力が過大となることを抑止することができる。
【００４９】
また、電子機器１では、拡張機器２０に供給する電力量が所定値を超える場合に送信する信号を拡張機器２０の温度にかかる温度情報とすることで、自身の温度状態によって消費電力量を低減させる拡張機器２０に対応できる。
【００５０】
また、ＰＣＩｅでは、最大供給電力の上限について規定（例えば７５Ｗ）がある一方で、電力供給の制御方法が定義されていない。このため、ＰＣＩｅのバスを介して接続する拡張機器２０では供給電力が規定よりも過大となる場合がある。しかしながら、本実施形態では、拡張機器２０への供給電力が過大となることを抑止することができる。
【００５１】
図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００５２】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。例えば、本実施形態では、ＣＰＵ１１が管理プログラムを実行する構成を例示したが、ＰＣＨ１３におけるＭＣＵなどのチップが管理プログラムを実行してもよい。
【００５３】
また、プログラム１２ａは、必ずしもメモリ１２に記憶されている必要はない。例えば、電子機器１が読み取り可能な記憶媒体に記憶されたプログラム１２ａを、電子機器１が読み出して実行するようにしてもよい。電子機器１が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのプログラム１２ａを記憶させておき、電子機器１がこれらからプログラム１２ａを読み出して実行するようにしてもよい。
【００５４】
以上の実施形態に関し、さらに以下の付記を開示する。
【００５５】
（付記１）バスを介して接続する拡張機器に供給する電力量を監視する電力監視部と、
前記電力量が所定値を超える場合に、前記拡張機器が消費電力量を低減させることとなる当該拡張機器の状態を示す信号を前記拡張機器に送信する送信部と、
を有することを特徴とする電子機器。
【００５６】
（付記２）前記信号は、前記拡張機器が消費電力量を低減させることとなる当該拡張機器の温度にかかる温度情報である、
ことを特徴とする付記１に記載の電子機器。
【００５７】
（付記３）前記バスは、ＰＣＩ  Ｅｘｐｒｅｓｓである、
ことを特徴とする付記１または２に記載の電子機器。
【００５８】
（付記４）バスを介して接続する拡張機器に供給する電力量を取得し、
前記電力量が所定値を超える場合に、前記拡張機器が消費電力量を低減させることとなる当該拡張機器の状態を示す信号を前記拡張機器に送信する、
処理をコンピュータに実行させることを特徴とする管理プログラム。
【００５９】
（付記５）前記信号は、前記拡張機器が消費電力量を低減させることとなる当該拡張機器の温度にかかる温度情報である、
ことを特徴とする付記４に記載の管理プログラム。
【００６０】
（付記６）前記バスは、ＰＣＩ  Ｅｘｐｒｅｓｓである、
ことを特徴とする付記４または５に記載の管理プログラム。
【符号の説明】
【００６１】
１…電子機器
１０…マザーボード
１１…ＣＰＵ
１２…メモリ
１２ａ…プログラム
１３…ＰＣＨ
１４…バス
１４ａ…ＰＣＩｅバス
１４ｂ…ＵＳＢバス
１５…コネクタ
１５ａ…ＰＣＩｅスロット
１５ｂ…ＵＳＢコネクタ
１６…電源部
１７…電力モニタ部
１８…他デバイス
２０…拡張機器
２０ａ…グラフィックカード
２０ｂ…ストレージ装置
２１…ＧＰＵ
２２…コントローラー
２２ａ…温度情報
２３…温度センサー
【図１】
2018181115.tif 000003
【図２】
2018181115.tif 000004
【図３】
2018181115.tif 000005
【図４−１】
2018181115.tif 000006
【図４−２】
2018181115.tif 000007
【図４−３】
2018181115.tif 000008
【図４−４】
2018181115.tif 000009
【図４−５】
2018181115.tif 000010