(57)【要約】  命令キャッシュから命令を取り出し、前記命令の処理を、予め定められた方法により完了させ、当該完了と共に、該処理の最終結果を示す情報を書き込みステージに置数する。実行ステージへの置数完了時に、ＣＰＵの状況、又は該ＣＰＵ周辺の金物の状況に応じて、前記実行ステージに存在する命令の実行時の使用電力を算出し、当該使用電力を、前記書き込みステージへの置数完了時に、ソフトウエアビジブルレジスタの１つである電力積算レジスタの現在の値と加算して積算する。
2013114745.tif 000002
【特許請求の範囲】
【請求項１】
命令キャッシュから命令を取り出す手段と、
前記命令の処理を、予め定められた方法により完了させる手段と、
前記命令の処理の完了と共に、該処理の最終結果を示す情報を書き込みステージに置数する手段と、
前記命令の処理の実行に関する実行ステージへの置数完了時に、ＣＰＵの状況、又は該ＣＰＵ周辺の金物の状況に応じて、前記実行ステージに存在する命令の実行時の使用電力を算出する手段と、
前記算出した使用電力を、前記書き込みステージへの置数完了時に、ソフトウエアビジブルレジスタの１つである電力積算レジスタの現在の値と加算して積算する手段と
を備える情報処理装置。
【請求項２】
前記書き込みステージに置数されたパイプライン処理の最終結果を示す情報の有効性を、ＣＰＵ内部の状態を考慮して判定すると共に、判定結果を示す情報を所定の内部レジスタに置数する手段
を更に備える請求項１に記載の情報処理装置。
【請求項３】
前記電力積算レジスタに積算された使用電力の有効性を、前記所定の内部レジスタに置数された前記判定結果を示す情報に基づいて判定し、有効と判定された場合に、前記積算された使用電力を、前記電力積算レジスタに置数する手段
を更に備える請求項２に記載の情報処理装置。
【請求項４】
前記命令の種類として、前記電力積算レジスタの値を参照する命令、前記電力積算レジスタの値をリセットする命令、及び該電力積算レジスタの内容を他のソフトウエアビジブルレジスタへ転記する命令を含めている
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記ＣＰＵ周辺の金物の種類として、ＣＰＵの動作をサポートするブリッジチップ、管理チップ、電源ユニット、及びマザーボード上のセンサを含めている
請求項１に記載の情報処理装置。
【請求項６】
命令キャッシュから命令を取り出すステップと、
前記命令の処理を、予め定められた方法により完了させるステップと、
前記命令の処理の完了と共に、該処理の最終結果を示す情報を書き込みステージに置数するステップと、
前記命令の処理の実行に関する実行ステージへの置数完了時には、ＣＰＵの状況、又は該ＣＰＵ周辺の金物の状況に応じて、前記実行ステージに存在する命令の実行時の使用電力を算出するステップと、
前記算出した使用電力を、前記書き込みステージへの置数完了時に、ソフトウエアビジブルレジスタの１つである電力積算レジスタの現在の値と加算して積算するステッブと
を備える情報処理装置の使用電力算出方法。
【請求項７】
前記書き込みステージに置数されたパイプライン処理の最終結果を示す情報の有効性を、ＣＰＵ内部の状態を考慮して判定すると共に、判定結果を示す情報を所定の内部レジスタに置数するステップ
を更に備える請求項６に記載の情報処理装置の使用電力算出方法。
【請求項８】
前記電力積算レジスタに積算された使用電力の有効性を、前記所定の内部レジスタに置数された前記判定結果を示す情報に基づいて判定し、有効と判定された場合に、前記積算された使用電力を、前記電力積算レジスタに置数するステップ
を更に備える請求項７に記載の情報処理装置の使用電力算出方法。
【請求項９】
前記命令の種類として、前記電力積算レジスタの値を参照する命令、前記電力積算レジスタの値をリセットする命令、及び該電力積算レジスタの内容を他のソフトウエアビジブルレジスタへ転記する命令を含めている
請求項６から８のいずれか一項に記載の情報処理装置の使用電力算出方法。
【請求項１０】
前記ＣＰＵ周辺の金物の種類として、ＣＰＵの動作をサポートするブリッジチップ、管理チップ、電源ユニット、及びマザーボード上のセンサを含めている
請求項６に記載の情報処理装置の使用電力算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理装置の使用電力算出方法に係る。
特に、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）命令が実効的に実行された時に、システム情報の１つである使用電力を、ＣＰＵのワークロード（アプリケーション）毎に見積もることができる情報処理装置、及び情報処理装置の使用電力算出方法に関する。
本願は、２０１２年１月３１日に出願された特願２０１２−１７９８９号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【０００２】
近年、地球温暖化の懸念や省エネルギーに対する意識の高まりにより、ＩＣＴ（Information and Communication Technology）機器が使用する電力を正確に算出することが要求されている。
従前は、ＩＣＴ機器の使用電力を、電源の定格電力等で推定したり、若しくは電源コードの接続部にセンサを取り付けたりすることで計測していた。しかしながら、プログラムやプロセス等、ユーザが把握できる論理的な管理単位では正確な電力量の管理はなされておらず、論理的な管理単位については何らかの仮定を置くことで、全電力量を勘案して各管理単位に割り当てていた。
また、昨今の情報処理システムでは、仮想化が進展していることにより、仮想マシン毎の消費電力の把握が要求されている。【０００３】
この分野の公知技術として、例えば特許文献１は、プロセッサコアやメガセルコアの再利用による大規模半導体集積回路設計時に、その半導体集積回路の消費電力を高速に見積もることを開示している。
具体的には、プロセッサ部の実行処理をシミュレートし、予め求められているプロセッサ部の消費電力情報により、プロセッサ部で消費される電力を計算する手段を備える。また、機能ブロックの動作をシミュレートし、動作レベルの機能ブロックのその一部の入力ピン又は出力ピンの状態毎の消費電力情報によって消費電力を求める手段を備える。また、論理ゲート毎の消費電力情報と論理ゲートの出力のトグル回数によって消費電力を求める手段を備える。また、各ブロックの消費電力を集計して出力する手段を備える。そして、プロセッサにてシミュレートするプログラムコードが終了するまで、上記手段の実行を繰り返し、回路全体で消費される電力を計算する。【０００４】
また、例えば特許文献２は、デバイスで消費される電力を予測する論理設計装置を開示している。
具体的には、エミュレータに実装された電気的に書き換え可能な複数の論理素子の各々に対して、電力を供給するサブ電源と、消費される電力を測定する回路と、電圧／電流計とを設ける。そして、論理素子へＭＰＵやＩＣＥ機能を実装し、エミュレータ上でソフトウェアを実行し、電圧／電流計は、実行されたソフトウェアの所定の命令単位を実行するのに要した消費電力を測定する。消費電力集計部は、測定された消費電力について、最大値、最小値、平均値を求める。表示部は、インサーキットエミュレータのソースコードデバッガーに付属するメモリウインドウの画面に、上記測定された消費電力を表示する。消費電力集計部は、換算表記憶部に記憶された消費電力換算表に基づいて、測定した消費電力を、最終製品のＬＳＩ等のターゲットデバイスで消費される電力に換算する。【０００５】
また、例えば特許文献３は、ＭＭＵ（メモリ管理機構）とキャッシュメモリを搭載し、論理アドレスを物理アドレスに変換するプロセッサにおいて、アーキテクチャレベルでその半導体集積回路の消費電力を高速に見積もる方法を開示している。
具体的には、予めＭＭＵ部のＭＭＵ動作毎の消費電力情報を備え、キャッシュ部に対してはライトバックモードとライトスルーモードとを区別し、ダーティデータの書き出し時も含めたキャッシュ動作毎の消費電力情報を備え、命令毎のＣＰＵ部の消費電力情報を備える。これにより、シミュレーション実行中又は終了後に、消費電力情報によりシミュレーション対象回路全体で消費される電力を計算する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−１６１６９２号公報
【特許文献２】特許第４２７５２８２号公報
【特許文献３】特開２００２−３３４１２８号公報
【非特許文献】
【０００７】
【非特許文献１】「サーバ消費電力測定調査研究に関する報告書」、一般社団法人  電子情報技術産業協会、サーバ事業委員会、平成２３年６月２９日。ＵＲＬ  ：  ｈｔｔｐ：／／ｈｏｍｅ．ｊｅｉｔａ．ｏｒ．ｊｐ／ｃｇｉ−ｂｉｎ／ｐａｇｅ／ｄｅｔａｉｌ．ｃｇｉ？ｎ＝１５５＆ｃａ＝１
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、上述した情報処理装置は、複数のワークロードが動作する環境において、使用電力等のシステム情報を具体的かつ正確に取得することができない。【０００９】
使用電力等のシステム情報をＣＰＵのワークロード毎に得る方法においては、特定の時間間隔や特定の動作状況を仮定する。そして、特定の時間間隔毎、若しくは特定の動作状況となるまでの間に、間接的な方法で取得した電力等の情報を、仮定を含む割合でもって分割することにより取得している。このため、ＣＰＵのワークロード毎に正確な電力を見積もることができなかった。
より具体的に説明すると、システムプログラム（定型的なハードウェアの命令列、システム設置のアプリケーション、及びオペレーションシステムのプログラムなど）と、ユーザプログラムとの割合は、経験的な割合により求めて分配するしか分配方法がない。【００１０】
なお、特許文献１〜３は、いずれもソフトウェア・シミュレーション、または、ハードウェア・エミュレーションに基づく電力予測手段についての技術を開示している。
より具体的には、前述の特許文献１に記載の技術は、消費電力をシミュレートするのではなく、実際に消費された電力をデジタル化し、命令が用いるレジスタに格納することを骨子としている。
また、電力値は予め設定された表形式のデータとして収められていることが明記されている。【００１１】
また、特許文献２に記載の技術は、ターゲットとなるハードウェアとして、少なくともＭＰＵが存在し、ＭＰＵの電力を、ＦＰＧＡ（Field Programmable Gate Array）でシミュレート（エミュレート）して見積もるものであり、ＭＰＵ自体の動作に必要な実際の電力を測定するものではない。
また、前述の特許文献３に記載の技術は、やはり、キャッシュメモリ及びＭＭＵの実際の動作に要する電力ではなく、ソフトウェアによるシミュレーションによって見積もるものである。【００１２】
本発明の目的は、上述した課題を解決する情報処理装置、及び情報処理装置の使用電力算出方法を提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明に係る情報処理装置は、命令キャッシュから命令を取り出す手段と、命令の処理を、予め定められた方法により完了させる手段と、命令の処理の完了と共に、該処理の最終結果を示す情報を書き込みステージに置数する手段と、前記命令の処理の実行に関する実行ステージへの置数完了時に、ＣＰＵの状況、又は該ＣＰＵ周辺の金物の状況に応じて、実行ステージに存在する命令の実行時の使用電力を算出する手段と、算出した使用電力を、書き込みステージへの置数完了時に、ソフトウエアビジブルレジスタ（ソフトウェアで参照可能なレジスタ）の１つである電力積算レジスタの現在の値と加算して積算する手段と、を備えたことを特徴とする。【００１４】
また、本発明に係る情報処理装置の使用電力算出方法は、命令キャッシュから命令を取り出すステップと、命令の処理を、予め定められた方法により完了させるステップと、命令の処理の完了と共に、該処理の最終結果を示す情報を書き込みステージに置数するステップと、前記命令の処理の実行に関する実行ステージへの置数完了時に、ＣＰＵの状況、又は該ＣＰＵ周辺の金物の状況に応じて、実行ステージに存在する命令の実行時の使用電力を算出するステップと、算出した使用電力を、書き込みステージへの置数完了時に、ソフトウエアビジブルレジスタの１つである電力積算レジスタの現在の値と加算して積算するステッブと、を有することを特徴とする。
【発明の効果】
【００１５】
以上説明したように、本発明によれば、システム情報の１つである使用電力を、ＣＰＵの命令毎に正確に得ることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る情報処理装置の全体構成を示す構成図である。
【発明を実施するための形態】
【００１７】
図１は、本発明の一実施形態に係る情報処理装置の全体構成を示す構成図である。
本実施形態の情報処理装置は、ＣＰＵの命令パイプラインの構成要素として、命令キャッシュ１、機能ユニット２、３、演算論理装置４、有効性判定ユニット５、演算論理装置６、使用電力算出ユニット７、レジスタ１１〜１６、及び電力積算レジスタ１７を備える。
ここで、レジスタ１１は命令デコードステージ、レジスタ１２はオペランドフェッチステージ、レジスタ１３は実行ステージ、レジスタ１４は書き込みステージである。
【００１８】
以下、本実施形態の情報処理装置の全体的な機能について説明する。
まず、命令キャッシュ１からＣＰＵの命令コードを順に取り出す。このＣＰＵの命令コードは、レジスタ１１（命令デコードステージ）、機能ユニット２、レジスタ１２（オペランドフェッチステージ）、機能ユニット３、レジスタ１３（実行ステージ）、演算論理装置４、レジスタ１４（書き込みステージ）を、順に経過する。この経過により、命令コードのＣＰＵにおけるパイプライン処理が完了する。
【００１９】
パイプライン処理の最終結果を示す情報は、レジスタ１４（書き込みステージ）に置数（入力）するものとする。この命令に対するパイプライン処理の最終結果を示す情報（即ち、レジスタ１４（書き込みステージ）に置数された情報）の有効性は、ＣＰＵ内部の種々の状態を考慮して、有効性判定ユニット５が判定を下し、この判定結果を示す情報をレジスタ１５に置数する。これにより、レジスタ１４（書き込みステージ）の書き込みの有効性を示す情報が、レジスタ１５に置数された情報によって表示される。
その後、信号１１２により、最終的なソフトウエアビジブルレジスタへの書き込みを行う。
【００２０】
レジスタ１３（実行ステージ）の置数完了時には、使用電力算出ユニット７は、ＣＰＵの状況又はＣＰＵの周辺の金物（ハードウエア）の状況に応じて、レジスタ１３（実行ステージ）に存在する命令コードの命令を実行するために必要な使用電力を算出する。
なお、ここでいう金物としては、例えば、ＣＰＵの動作をサポートするブリッジチップや、管理チップ、電源ユニット、マザーボード上のセンサ等を挙げることができる。
【００２１】
また、演算論理装置６は、レジスタ１３（実行ステージ）に存在する命令コードの命令を実行するために必要な使用電力を、レジスタ１４（書き込みステージ）の置数完了時に、電力積算レジスタ１７の現在の値と加算して積算する。また、この時、命令の実行有効性を表すレジスタ１５からの信号１１３により、積算された使用電力の有効性を判定し、有効と判定された場合に、積算された使用電力を電力積算レジスタ１７に置数する。
【００２２】
なお、ソフトウェアに組み込むＣＰＵ命令コードには、電力積算レジスタ１７の値を参照するための命の他、電力積算レジスタ１７をリセットする命令や、電力積算レジスタ１７の内容を他のソフトウエアビジブルレジスタへコピーする命令等も含む。ユーザは、これらの命令を介して、適当なタイミングで電力積算レジスタ１７の値を参照することにより、システム情報の１つである使用電力を、プログラム、プロセス、ユーザ、仮想マシン等の、論理的管理単位で把握することができる。
また、仮想マシン環境の場合は、仮想マシンの識別子と、仮想マシンの使用電力情報とを対応付けることにより、仮想マシン毎の使用電力を算定することができる。
【００２３】
この実施形態に係る情報処理装置によれば、命令毎の使用電力を積算できるため、ＣＰＵ上で実行される、特定のプログラムや、ＯＳ等が管理するプロセス毎の電力を正確に算定することができる効果が有る。
また、仮想マシン環境においては、使用電力算出ユニット７において、例えば命令毎に示される仮想マシンの識別子と、この仮想マシンの使用電力情報とを対応付けることにより、仮想マシン毎の使用電力を算定することができる効果が有る。
【００２４】
上記の実施形態の一部、又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００２５】
（付記１）命令キャッシュから命令を取り出す手段と、前記命令の処理を、予め定められた方法により完了させる手段と、前記命令の処理の完了と共に、該処理の最終結果を示す情報を前記書き込みステージに置数する手段と、前記命令の処理の実行に関する実行ステージへの置数完了時に、ＣＰＵの状況、又は該ＣＰＵ周辺の金物の状況に応じて、前記実行ステージに存在する命令の実行時の使用電力を算出する手段と、前記算出した使用電力を、前記書き込みステージへの置数完了時に、ソフトウエアビジブルレジスタの１つである電力積算レジスタの現在の値と加算して積算する手段とを備える情報処理装置。
【００２６】
（付記２）前記書き込みステージに置数された前記パイプライン処理の最終結果を示す情報の有効性を、ＣＰＵ内部の状態を考慮して判定すると共に、判定結果を示す情報を所定の内部レジスタに置数する手段を更に備える付記１に記載の情報処理装置。
【００２７】
（付記３）前記電力積算レジスタに積算された使用電力の有効性を、前記所定の内部レジスタに置数された前記判定結果を示す情報に基づいて判定し、有効と判定された場合に、前記積算された使用電力を、前記電力積算レジスタに置数する手段を更に備える付記２に記載の情報処理装置。
【００２８】
（付記４）前記命令の種類として、前記電力積算レジスタの値を参照する命令、前記電力積算レジスタの値をリセットする命令、及び該電力積算レジスタの内容を他のソフトウエアビジブルレジスタへ転記する命令を含めている付記１から３のいずれか一項に記載の情報処理装置。
【００２９】
（付記５）前記ＣＰＵ周辺の金物の種類として、ＣＰＵの動作をサポートするブリッジチップ、管理チップ、電源ユニット、及びマザーボード上のセンサを含めている付記１に記載の情報処理装置。
【００３０】
（付記６）命令キャッシュから命令を取り出すステップと、前記命令の処理を、予め定められた方法により完了させるステップと、前記命令の処理の完了と共に、該処理の最終結果を示す情報を前記書き込みステージに置数するステップと、前記命令の処理の実行に関する実行ステージへの置数完了時に、ＣＰＵの状況、又は該ＣＰＵ周辺の金物の状況に応じて、前記実行ステージに存在する命令の実行時の使用電力を算出するステップと、前記算出した使用電力を、前記書き込みステージへの置数完了時に、ソフトウエアビジブルレジスタの１つである電力積算レジスタの現在の値と加算して積算するステッブとを備える情報処理装置の使用電力算出方法。
【００３１】
（付記７）前記書き込みステージに置数された前記パイプライン処理の最終結果を示す情報の有効性を、ＣＰＵ内部の状態を考慮して判定すると共に、判定結果を示す情報を所定の内部レジスタに置数するステップを更に備える付記６に記載の情報処理装置の使用電力算出方法。
【００３２】
（付記８）前記電力積算レジスタに積算された使用電力の有効性を、前記所定の内部レジスタに置数された前記判定結果を示す情報に基づいて判定し、有効と判定された場合に、前記積算された使用電力を、前記電力積算レジスタに置数するステップを更に備える付記７に記載の情報処理装置の使用電力算出方法。
【００３３】
（付記９）前記命令の種類として、前記電力積算レジスタの値を参照する命令、前記電力積算レジスタの値をリセットする命令、及び該電力積算レジスタの内容を他のソフトウエアビジブルレジスタへ転記する命令を含めている付記６から８のいずれか一項に記載の情報処理装置の使用電力算出方法。
【００３４】
（付記１０）前記ＣＰＵ周辺の金物の種類として、ＣＰＵの動作をサポートするブリッジチップ、管理チップ、電源ユニット、及びマザーボード上のセンサを含めている付記６に記載の情報処理装置の使用電力算出方法。
【産業上の利用可能性】
【００３５】
本発明によれば、システム情報の１つである使用電力を、ＣＰＵの命令毎に正確に得ることができる。
【符号の説明】
【００３６】
１  命令キャッシュ
２、３  機能ユニット
４、６  演算論理装置
５  有効性判定ユニット
７  使用電力算出ユニット
１１〜１６  レジスタ
１７  電力積算レジスタ
１１２、１１３  信号
【図１】
2013114745.tif 000003
【国際調査報告】
2013114745.tif 000004
2013114745.tif 000005
2013114745.tif 000006
2013114745.tif 000007