JP2005025754A - 電力プロファイリング - Google Patents

電力プロファイリング Download PDF

Info

Publication number
JP2005025754A
JP2005025754A JP2004192281A JP2004192281A JP2005025754A JP 2005025754 A JP2005025754 A JP 2005025754A JP 2004192281 A JP2004192281 A JP 2004192281A JP 2004192281 A JP2004192281 A JP 2004192281A JP 2005025754 A JP2005025754 A JP 2005025754A
Authority
JP
Japan
Prior art keywords
power
processor
power consumption
computer
instructions
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.)
Withdrawn
Application number
JP2004192281A
Other languages
English (en)
Inventor
Jered Donald Aasheim
ドナルド アシュハイム ジェレド
Yongqi Yang
ヨンキ ヤン
Avi Geiger
ガイガー アビ
Jeffrey D Midkiff
ディー.ミッドキフ ジェフリー
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005025754A publication Critical patent/JP2005025754A/ja
Withdrawn 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
    • 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
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 プロセッサ上で実行するソフトウェア命令の電力消費量をプロファイルするためのシステムおよび方法を提供すること。
【解決手段】 電力測定回路は、様々なソフトウェア命令を実行するプロセッサの電力消費量レベルを記録する。プロファイリングツールは、プロセッサ上で実行中の命令を追跡および識別し、これらの命令と、これらの命令の実行中に消費された電力の間の関連付けを生成する。この電力プロファイルにより、これらの命令の実行中に消費された電力の量に対して、命令の正確な分離および識別が可能となる。
【選択図】 図4

Description

本発明は一般にモバイル装置におけるバッテリ寿命を延ばすことに関し、より詳細には、そのような装置上で実行する命令の電力消費量のプロファイリングに関する。
ポータブル装置(例えば、ノートブックコンピュータ、サブノートブックコンピュータ、携帯電話、PDAなど)における電力消費量は、ユーザーにとって大変重要である。結局、このような装置上で得られる電力の程度は、これらの装置をポータブルであると見なすことができる程度である。この一般化の時々発生する例外は、デスクトップの代替コンピュータとして使用されるノートブックコンピュータである可能性がある。このシナリオでは、何人かのユーザーは単にこのようなノートブックコンピュータをある電力コンセントから別の電力コンセントへと移動させることを期待し、したがって、信頼できるポータブル電力についての必要性が減る。しかし、大多数のユーザーは一般に、ノートブックコンピュータおよび他のポータブル装置をモバイル設定において使用することを期待し、この設定では電力コンセントが使用できない。
このような装置において使用されるコンポーネントは、著しい電力を引き出す可能性がある。例えば、通常のノートブックにおけるコンポーネントは、ノートブックがあるアプリケーションを実行する間に25ワット以上を引き出す可能性がある。電力消費量は重要であり、これは、電力消費量によりどのくらい長くバッテリが持続するかが決定され、かつ、どのくらい多くの熱をノートブックのケースが放散し、なお快適に触れることができる状態であるかの制限があるからでもある。熱は、PDAおよび携帯電話に関してそれほど問題ではないが、これらの装置は、はるかに長いバッテリ寿命を有することが期待され、そのため電力消費量はなお主要な懸念である。
このようなポータブル装置のためのコンポーネントを提供するコンポーネントメーカは継続的に、バッテリ電力を節約するためにそれらのコンポーネントが必要とする電力量を削減しようと努めている。例えば、ノートブックコンピュータ向けのチップメーカは、ノートブックコンピュータが「スリープ」モードであるとき、あるいは、AC電力からバッテリ電力に切り替えられるとき、プロセッサのクロック速度および電圧レベルを自動的に低減する能力など、省電力機能を組み込むことができる。他の省電力機能には、あるソフトウェア機能を別のハードウェアチップに埋め込むこと、回路のブロック(例えば、携帯電話内のチップの無線部分)を使用中でないときにシャットダウンすること、ハードウェアコンポーネントを、ある期間に渡って使用されていないときにオフにすること(例えば、表示画面をオフにすること)などが含まれる可能性がある。
これらの省電力機能はいくつかの利点を提供するが、これらは一般に、通常の「ランタイム」環境における電力消費量をどのように削減するかという問題に対処することができず、かつ/または、これらは他の欠点を有する。例えば、ノートブックコンピュータがスリープモードであるか、バッテリ電力上で実行中であるとき、プロセッサのクロック速度および電圧レベルを下げることは、あるアプリケーションのパフォーマンスに悪影響を与える可能性がある。あるソフトウェア機能を埋め込むための追加のハードウェアの使用には、ハードウェアのための追加のスペースおよびコストが必要となる。ある期間に渡って使用中でない回路のブロックおよび他のハードウェア(例えば、表示画面)をシャットダウンすることは、これらのコンポーネントが使用中でないときにのみ、省電力となる。したがって、現在の方法は、このようなポータブル装置の通常のランタイム電力消費量を削減する問題に対処しないだけでなく、装置上で実行するどのようなソフトウェアが電力を消費するのかについてのいかなる有用な情報も提供しない。
さらに、現在のモバイルアプリケーションおよび埋め込み開発ツールは、このようなモバイル装置上で実行するソフトウェアの電力消費量をプロファイルするためのメカニズムを提供しない。このような装置における電力消費量を監視および最適化するための従来の技術は、オシロスコープおよびロジックアナライザを使用した、労働集約的なハードウェアトレーシングおよびソフトウェアデバッギングを必要とする。このような技術は、ソフトウェアコードにおいて電力消費量が過剰になる可能性のある厳密な位置を分離する助けとならない。
したがって、埋め込みのバッテリ電力の装置における電力消費量を削減する助けとするために、特定のソフトウェアが実行されるときの電力消費量をプロファイルするための方法についての必要性が存在する。
本明細書では、ソフトウェア実行の電力プロファイリングを説明する。
一実施態様によれば、プロセッサ上で実行する命令が識別される。電力消費量データが電力測定回路から受信され、識別された命令と相関される。
もう1つの実施態様によれば、電力プロファイルが生成される。電力プロファイルは、複数の電力消費量値および複数の識別された命令を含む。電力消費量の各値は、電力プロファイルにおいて、識別された命令に関連付けられる。
同じ参照番号は、図面の全体に渡って、類似のコンポーネントおよび特徴を参照するために使用される。
(概観)
以下の考察は、プロセッサ上で実行するソフトウェア命令の電力消費量をプロファイルするためのシステムおよび方法を対象とする。電力測定回路は、様々なソフトウェア命令を実行するプロセッサの電力消費量レベルを記録する。プロファイリングツールは、プロセッサ上で実行中の命令を追跡および識別し、これらの命令と、これらの命令の実行中に消費された電力の間の関連付けを生成する。この関連付けは、プロファイルであり、例えば、プロセッサ上で実行された各命令について消費された電力の量を相関させるテーブルまたはグラフとして表現される。この電力プロファイルは、これらの命令の実行中に消費された電力の量に対応した命令の正確な分離および識別を可能とする。
開示するシステムおよび方法の利点には、ソフトウェア開発者が、実行中に過剰な電力量を消費するコードのセクションを分離する方法を提供することが含まれる。過剰な電力量を消費するコードセクションは、同じ機能を実行してなお実行中に消費される電力量を削減する構成への代替が容易にできる。特に、これらのコードセクションを繰り返しを基調として実行する場合、このようなコードセクションの識別および再構成を通じて、著しい省電力をモバイルの埋め込みおよび他の装置上で実現することができる。
(例示的環境)
図1は、電力プロファイリングを実施するために適切である例示的開発環境100を例示する。例示的環境100では、ターゲット装置102がホストコンピュータ104および電力測定回路106に、データ通信バス108を介して結合される。例示的環境100では、ホストコンピュータ104および電力測定回路106もまた、バス108を介して結合される。バス108は、様々な汎用データ通信バスのいずれかを表すように意図され、これには例えば、I2C(Inter−IC)バス、SPI(シリアル周辺インターフェイス)バス、USB(ユニバーサルシリアルバス)などが含まれる。バス108は単一のバスではないが、むしろ、装置102、104および106を相互接続する、108(a)、108(b)および108(c)として例示するいくつかのバスインスタンスで構成される。
ターゲット装置102は、様々な従来のコンピューティング装置のいずれかを表すように意図される。このような装置102は、例えば、デスクトップPC、ノートブックまたは他のポータブル/ハンドヘルドコンピュータ、ワークステーション、サーバー、メインフレームコンピュータ、インターネットアプライアンスなどが含むことができる。しかし、電力プロファイリングは特に、バッテリ電力上で機能することができるモバイル/ポータブルコンピューティング装置の開発において有益である可能性がある。したがって、ターゲット装置102を一般に、この開示の全体に渡って、バッテリ電力上で機能することができるモバイルコンピューティング装置であるとして論じる。
このようなモバイル装置102には通常、埋め込みのハンドヘルド/モバイル装置、PDA(例えば、Hewlett−PackardのiPAQ、3ComのPalmPilot、RIMのBlackberry)、携帯電話、スマートフォンなどが含まれる。このような埋め込みのハンドヘルド/モバイル装置は一般に、通常のパーソナルコンピュータよりも制限されたコンピューティング能力を備える。このような能力には例えば、個人またはビジネス使用のための情報格納および検索能力が含まれる可能性があり、これには、スケジュールカレンダおよびアドレス帳情報の保持が含まれる。このような装置は通常、例えばWindows(登録商標)CEなど、あるバージョンのオペレーティングシステムを提供する。様々なアプリケーションがこのような装置で使用でき、これらのアプリケーションは、通常のパーソナルコンピュータで使用できる完全なバージョンと比較して制限された機能性を提供する。したがって、モバイル、埋め込みのターゲット装置102は、制限されたバージョンの電子メール、電話、SMS(ショートメッセージサービス)、オーガナイザおよびウェブアプリケーションを含むことができる。ターゲット装置102にはまた、ラップトップまたはノートブックコンピュータも含まれる可能性がある。したがって、ターゲット装置102をノートブックコンピュータとして実施することができる。そしてこのノートブックコンピュータは、Microsoft(登録商標)から提供されるWindows(登録商標)ブランドのオペレーティングシステムなどのオープンプラットフォームオペレーティングシステム、および、電子メール、カレンダリング、タスクの編成、文書処理、ウェブブラウジングなど、一般的なコンピューティング機能を実行するための様々なアプリケーションを実行する。ターゲット装置102の様々な実施態様を実施するための例示的コンピューティング環境を、本明細書でより詳細に以下で図9を参照しながら説明する。
電力測定回路106は、ターゲット装置102上の電力消費量を測定することができるカスタム回路である。電力測定回路106は、有効電力消費量をアナログフォーマットにおいて測定すること、および、アナログ電力消費量測定値をデジタルフォーマットに変換することを可能にする。電力測定回路106は、通常、このようなデジタルフォーマットの電力消費量情報の格納、および、この情報をホストコンピュータ104へ、データ通信バス108(c)を介して通信することも可能にする。
ホストコンピュータ104は、様々な従来のコンピューティング装置のいずれにすることもできる。このホストコンピュータ104は、デスクトップPC、ノートブックまたはポータブルコンピュータ、ワークステーション、サーバー、メインフレームコンピュータ、インターネットアプライアンスなどを含む。ホストコンピュータ104は一般に、ターゲット装置102上の電力消費量を、装置102上で実行するソフトウェア命令に対してプロファイルするように構成される。ホストコンピュータ104は、どのソフトウェア命令がターゲット装置102上でその時々に実行中であるかを追跡および識別し、電力消費量情報を電力測定回路106から受信する。ホストコンピュータ104は、電力プロファイルを生成する。その電力プロファイルは、ターゲット装置102上の電力消費量を、装置102上の特定のソフトウェア命令の実行と相関させる。ホストコンピュータ104を実施するための例示的コンピューティング環境を、本明細書でより詳細に以下で図9を参照して説明する。
(例示的実施形態)
図2は、電力プロファイリングを実施するように構成されたターゲット装置102、ホストコンピュータ104、および電力測定回路106の例示的実施形態を例示する。ターゲット装置102は埋め込み装置102として実施され、プロセッサ200およびメモリ202を含む。プロセッサ200はプログラムカウンタ204を含む。プログラムカウンタ204はプロセッサ200内のレジスタであり、メモリ202からの実行されるべき次の命令206のアドレスを含む。プロセッサ200を後続の命令206に向けさせるために、各命令206が取得された後、プログラムカウンタ204は、自動的に増分される。加えて、特殊命令を提供することができ、これは、命令206の実行のシーケンスを、新しい値をプログラムカウンタ204に書き込むことによって変更する。このような命令206には例えば、JUMP命令、CALL命令およびRTS(サブルーチンからの戻り)命令が含まれる。メモリ202内の命令206には、オペレーティングシステム、様々なアプリケーションプログラム、装置ドライバなどの一部であるいずれかの実行可能な命令が含まれる可能性がある。
電力測定回路106は、典型的には、アナログ−デジタルコンバータ(ADC)208、通信インターフェイス210およびメモリ212を含む。ADC208は好ましくは高精度のアナログ−デジタルコンバータであり、これは例えば、National Semiconductor ADC12662などである。ADC208は通常、埋め込み装置102上の命令206を実行するプロセッサ200の有効電力消費量を測定するように構成される。別法として、ADC208を、埋め込み装置102全体の有効電力消費量を装置102上の命令206の実行中に測定するように構成することができる。電力消費量は通常、ミリアンペアまたはミリワット(それぞれ、mAまたはmW)において測定される。
図3は、回路106上の通常のADC208を埋め込み装置102に結合させて電力消費量を測定することができる方法の一実施例を例示する。図3は、埋め込み装置102の電力消費量を測定するように構成されたADC208を例示するが、これをまた、プロセッサ200など、埋め込み装置102の様々なコンポーネントの電力消費量を測定するように構成することもできる。ADC208は通常、装置102からの連続的に可変(すなわち、アナログ)の電力消費量信号をデジタル(離散的)形式に変換する。装置102からのアナログ電力消費量信号は、通常、命令206が埋め込み装置102上のプロセッサ200によって実行されている時のレート以上のレートでサンプリングされる。この電力サンプルレートは、ホストコンピュータ104上のプロファイラ220が埋め込み装置102のプロセッサ200上のプログラムカウンタ204をサンプリングするレートにすることもできる。このことについて以下でより詳細に論じる。ADC208のデジタル出力状態の数は、ADC208の精度によって定義される。例えば、1アンペア/12ビットのADC208は、4096の異なる離散出力値を提供することができ、それぞれが0.2ミリアンペア(すなわち、1アンペア/4096)の分解能を表す。
ADC208によってデジタル形式に変換された各電力消費量値は通常、ホストコンピュータ104に転送される前に、電力消費量データ214として電力測定回路106上のメモリ212に格納される。通信インターフェイス210は、メモリ212に格納された電力消費量データ214をリクエストするホストコンピュータ104からの問合せに応答するように構成される。したがって、通信インターフェイス210は、ホストコンピュータ104からリクエストを受信し、そのリクエストへの応答としてメモリ212からホストコンピュータ104へ電力消費量データ214を返す。通信インターフェイス210は、一般に、バス108(c)を介してホストコンピュータ104と通信することができる、様々なシリアルおよび/またはパラレルインターフェイスのいずれか1つとして実施される。
ホストコンピュータ104は、プロセッサ216およびメモリ218を含み、一般に、本明細書でより詳細に以下で図9を参照して説明する例示的コンピューティング環境によって表すことができる。メモリ218は、電力プロファイラ220モジュールを含み、この電力プロファイラ220は、プロセッサ216上で実行して、埋め込み装置102上で実行するソフトウェア命令206を追跡および識別するように構成される。この点で、電力プロファイラ220は一般に、現在使用可能なプロファイラ開発ツールに似ている。このプロファイラ開発ツールは、統計的方法を使用してどのソフトウェア命令およびコンポーネント(すなわち、命令のグループ)がその時々に実行中であるか、ならびに、どのくらい長くソフトウェア命令およびコンポーネントが実行するかを決定する。
使用頻度の高いプロファイリング方法の1つのよく知られている例は、モンテカルロプロファイリングである。モンテカルロプロファイリングでは、プロファイラ(例えば、電力プロファイラ220)は、システム(例えば、埋め込み装置102上のプロセッサ200)に非常に高いレートで割り込み、どのソフトウェア命令206が現在実行中であるかを調査する。この調査は、割り込まれているプロセッサ200のプログラムカウンタ204のサンプリングを通じて実施される。プログラムカウンタ204のサンプリングされた値を使用して、プロファイラ220は命令ルックアップテーブル222をスキャンして、プログラムカウンタ204に関連付けられたメモリアドレスを探し出す。一般に、ルックアップテーブル222は、メモリロケーション/アドレスと、コンパイラがソースコードをマシンコードにコンパイルするときに生成されたコンパイル済コードとの間のマッピングである。メモリアドレスから、プロファイラ220は、プロセッサ200が割り込まれたときに実行されていたソフトウェア命令を識別する。ある期間の後、各ソフトウェア命令またはコンポーネントについての「ヒット」の数が表にされ、ソフトウェア開発者は、どのソフトウェアが計算時間の大部分を利用しているかをよりよく理解することができる。
電力プロファイラ220は加えて、電力測定回路106に問い合わせて、埋め込み装置102のその時々の電力消費量レベルを決定するように構成される。電力プロファイラ220が電力測定回路106に送信する問合せに応答して、電力プロファイラ220は、電力測定回路106から電力消費量データ214を受信する。プログラムカウンタ204のサンプルを上述のように取得する度、電力プロファイラ220は、電力測定回路106に問い合わせるように適合される。したがって、電力プロファイラ220がプログラムカウンタ204をサンプリングして、プロセッサ200上で実行するソフトウェア命令を識別する度に、電力プロファイラ220は電力測定回路106に問い合わせ、プロセッサ200上のソフトウェア命令の実行中に測定されている電力消費量データ214からの値を受信する。別法として、電力プロファイラ220は、間隔を置いて電力測定回路106に問い合わせ、電力消費量データ214の値のグループを受信することができ、次いでこの電力消費量データ214が、プロセッサ200上で実行された識別されたソフトウェア命令と相関する。したがって、電力消費量データ214は、電力プロファイラ220からリアルタイムで送信された問合せにつき1つの値として受信することができ、あるいはこの電力消費量データ214を、電力測定回路106上のメモリ212に以前から格納されている電力消費量値のグループとして受信することができる。
電力プロファイラ220はまた、電力測定回路106から受信された電力消費量データ214を、埋め込み装置102のプロセッサ200上で実行するソフトウェア命令206と相関させるようにも構成される。電力プロファイラ220は、電力プロファイル224を生成し、これは、埋め込み装置102のプロセッサ200上で実行する正確なソフトウェア命令のために消費された電力を定量化する。電力プロファイル224を様々な形式において表すことができ、これには例えば、表またはグラフが含まれる。これは、ソフトウェア命令を識別する情報と、識別されたソフトウェア命令の実行中に測定された、対応する電力消費量値とのペアを提供する。
図4は、グラフィカルユーザーインターフェイスの一実施例を例示したもので、これは電力プロファイラ220によって、電力プロファイル224内の情報を開発者に伝達するために生成することができる。図4に例示された電力プロファイル224は、グラフの形式において示され、そのグラフは電力消費量のレベル400と、埋め込み装置102上で実行する様々なアプリケーションからの様々なソフトウェア命令402の間の相関を示す。グラフの上半分404における太い横線は、どのソフトウェア命令402が現在実行中であるかを示すように意図される。グラフの下半分406における太い横線は、グラフの上半分に示したような現在実行中のソフトウェア命令の実行中に消費された電力のレベルを示すように意図される。例えば、命令「shell.exe<<0x2DFD098E>>」408が実行するとき、電力消費量は約90mA410であるが、命令「CEMGRC.exe<<0x6DDE76>>」412が実行するとき、電力消費量は約50mA414である。
一般に、図4に示されたものなど、電力プロファイル224において開発者に提示された電力プロファイリング情報は、開発者がモバイル装置102上のランタイム電力消費量の増大があるコードの中に「ホットスポット」を識別する助けとなることが可能である。例えば、図4のプロファイルにおいて、「readdr.exe<<0xCD07A2CE>>」416が実行中であるとき、電力消費量は、「NK.exe<<0x0DFFF002>>」418へのファンクションコールのために劇的に増大する。したがって、もし省電力のために可能であるなら、「NK.exe<<0x0DFFF002>>」418ファンクションコールを除去することが有利であることに開発者は気づくことができる。
図4に示す電力プロファイル224などを用いて、開発者が、それらのソフトウェアモジュールのランタイム電力消費量をプロファイルするとき、開発者は、他のものよりも電力使用の少ない、ある特定の汎用プログラミング構成体およびアルゴリズムを識別することができるはずである。例えば、再帰を用いて頻繁に実行するアルゴリズムは、反復を使用するものよりも多くの電力を消費する可能性がある。同様に、ポーリングは割り込みのために待機するよりも少ない電力を消費する可能性があり、あるいは、不要なコンテキストスイッチの防止は、電力を劇的に削減する可能性などがある。さらに、非常に高い精度のプロファイリングデータを使用することによって、他のものより多くの電力を使用する、特定のハードウェア依存型CPU命令を識別できる可能性がある。
図5は、電力プロファイリングを実施するように構成されたターゲット装置102、ホストコンピュータ104、および電力測定回路106のもう1つの例示的実施形態を例示する。図2の、前の実施形態の場合、ターゲット装置102は、埋め込み装置102として実施される。加えて、図5の埋め込み装置102は一般に、上述のように動作するように構成される。しかし、図5の実施形態では、埋め込み装置102は電力測定回路106を含む。電力測定回路106は、図2の実施形態に関して上述したものに類似の方法で機能する。しかし、電力測定回路106が埋め込み装置102に統合されるので、一実施態様において、電力測定回路106は、メモリ202など、埋め込み装置102の様々なコンポーネントを共有することができる。一実施例として、図5は、埋め込み装置102上のメモリ202に、電力消費量データ214を電力測定回路106によって格納されるものとして例示する。
(例示的方法)
図1の例示的開発環境100などの環境において電力プロファイリングを実施するための方法の実施例を、このとき主に図6〜8の流れ図を参照して説明する。これらの方法は一般に、図2〜5に関して上述した例示的実施形態に適用される。説明する方法の要素は、いかなる適切な手段によって実行することもできる。これらの手段には、例えば、ASIC上のハードウェアロジックブロックよる手段、あるいは、プロセッサ読み取り可能媒体上に定義された、プロセッサ読み取り可能命令の実行による手段などが含まれる。
「プロセッサ読み取り可能媒体」は、本明細書で使用されるとき、プロセッサによる使用またはそれによる実行のための命令を含み、格納し、通信し、伝搬し、あるいは移送することができる、いかなる手段にすることもできる。プロセッサ読み取り可能媒体を、限定なしに、電子、磁気、光、電磁気、赤外線、または半導体のシステム、装置、装置または伝搬媒体にすることができる。プロセッサ読み取り可能媒体のより具体的な実施例には、特に、1つまたは複数のワイヤを有する電気接続(電子)、ポータブルコンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)(磁気)、読み取り専用メモリ(ROM)(磁気)、消去可能なプログラマブルな読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ(光)、再書き込み可能なコンパクトディスク(CD−RW)(光)、および、ポータブルなコンパクトディスク読み取り専用メモリ(CDROM)(光)が含まれる。
図6は、プロセッサ上で実行するソフトウェア命令の電力プロファイリングを実施するための例示的方法600を示す。プロセッサは一般に、バッテリ電力上で動作することができる、埋め込み装置102のコンポーネントである。ブロック602で、プロセッサ上で実行する命令が識別される。識別プロセスを一般に以下で方法700に関して論じる。但し、方法700は方法600の拡張である。
方法600のブロック604で、電力消費量データは、電力測定回路106から受信される。電力測定回路106は通常、ソフトウェア開発ボードの一部であり、あるいはこれは埋め込み装置102自体の上に存在することができる。電力測定回路106は通常、埋め込み装置102上で様々なソフトウェア命令を実行するために実施されている処理回路の電力消費量を測定するように構成される。しかし、埋め込み装置102全体の電力消費量を測定するように構成することもできる。電力プロファイラ220を実行するホストコンピュータ104は通常、電力消費量データを、電力測定回路に問い合わせることにより受信する。しかし、ホストコンピュータ104は電力消費量データを電力測定回路から、ある固定された間隔で自動的に受信することができる。
ブロック606で、電力消費量データは、識別された命令と相関される。ホストコンピュータ104上で実行する電力プロファイラ220は、埋め込み装置102上で実行する各命令を、各識別された命令の実行中に埋め込み装置102の処理回路によって消費される電力の測定量(すなわち、電力測定回路106によって測定された量)と関連付ける。電力プロファイラ220は電力プロファイルを生成し、この電力プロファイルが、埋め込み装置102上で、ソフトウェア命令の実行のために消費される電力を追跡する。したがって、電力プロファイルは通常、埋め込み装置102上で実行された、識別されたソフトウェア命令にそれぞれ関連付けられた、多数の電力消費量値を含む。電力プロファイルは、様々な形式において実施することが可能で、これには例えば、電力消費量値と識別されたソフトウェア命令を一致させるデータのペアを有する表、または、電力消費量値を識別されたソフトウェア命令と視覚的に相関させるグラフが含まれる。
図7は、方法600の拡張である、ソフトウェア命令の電力プロファイリングを実施するための例示的方法700を示す。方法700は方法600のブロック602から拡張し、一般に、プロセッサ上で実行するソフトウェア命令の識別を説明する。プロセッサは一般に、バッテリ電力上で動作することができる、埋め込み装置102のコンポーネントである。方法700のブロック702で、プロセッサが割り込まれる。通常、プロセッサが割り込まれるとき、プロセッサはソフトウェア命令をランタイム環境で実行中である。割り込みは、電力プロファイラ220を実行するホストコンピュータ104から来る。
ブロック704で、プロセッサ上のプログラムカウンタがサンプリングされる。プログラムカウンタはプロセッサ内のレジスタであり、メモリからの実行されるべき次のソフトウェア命令のアドレスを含む。一般に、ホストコンピュータ104上で実行する電力プロファイラ220が、プロセッサが割り込まれるときにどの命令が実行中であるかを識別することを可能にするものは、プログラムカウンタの値である。ブロック706で、ルックアップテーブルは、読み取とられ、プログラムカウンタによって示されたメモリ内のアドレスが決定する。ルックアップテーブルは、埋め込み装置上に格納されるソフトウェア命令の、以前のコンパイル中に生成された表である。ホストコンピュータ104は通常、埋め込み装置102のソフトウェアをコンパイルするコンピュータである。したがって、ルックアップテーブルはホストコンピュータ104上に存在し、埋め込み装置102上のプロセッサが割り込まれてそのプログラムカウンタがサンプリングされるとき、埋め込み装置102上で実行する正確な命令の識別を可能にする。
ブロック708で、プログラムカウンタから決定されたメモリアドレスに存在するソフトウェア命令が識別される。そのソフトウェア命令は、埋め込み装置102上で実行するいかなる数のルーチンまたはアプリケーションからの命令にすることができる。
図8は、もう1つの例示的方法800を示しており、これは埋め込み装置のプロセッサ上で実行するソフトウェア命令の電力プロファイリングを実施するための方法である。ブロック802で、埋め込み装置上で実行するソフトウェア命令の電力消費量は測定される。電力測定回路106は通常、ソフトウェア命令を実行するプロセッサの電力消費量を測定するように構成される。しかし、電力測定回路106はまた、埋め込み装置上のプロセッサによるソフトウェア命令の実行中に、埋め込み装置102全体の電力消費量を測定するように構成することもできる。電力測定回路を埋め込み装置に統合することができ、あるいはこれを、ソフトウェア開発テストボードの一部にすることができる。
ブロック804で、埋め込み装置102からのアナログ電力消費量測定値は、デジタル測定値に変換される。アナログ−デジタル変換は通常、高精度のアナログ−デジタルコンバータ(ADC)208によって実施される。この様なADCにはNational Semiconductor ADC12662などがある。ブロック806で、デジタル電力測定値が電力測定回路106上のメモリに格納される。ブロック808で、電力測定回路106は、ホストコンピュータ104からリクエストを受信し、電力消費量データを送信する。リクエストを、埋め込み装置102のプロセッサ200上の各命令の実行と同じ程度に頻繁に受信することができる。リクエストをまた、間を置いて受信することもできる。ブロック810で、電力測定回路106は、デジタル電力消費量測定値をホストコンピュータ104に送信することによってリクエストに応答する。転送された電力消費量データを一度に1測定値で、あるいは測定値のグループで送信することができる。送信は、ホストコンピュータ104からのリクエストの性質によって決めることが可能である。
1つまたは複数の方法を、流れ図、および、流れ図のブロックに関連付けられたテキストを用いて開示したが、これらのブロックは必ずしも、それらが提示された順序で実行されなければならないとは限らず、代替順序は結果として類似の利点を生じる可能性があることを理解されたい。さらに、これらの方法は排他的ではなく、単独で、あるいは互いとの組み合わせにおいて実行することができる。
(例示的コンピュータ)
図9は、ターゲット装置102およびホストコンピュータ104の様々な実施形態を実施するために適切な例示的コンピューティング環境を例示する。1つの特定の構成を示すが、ターゲット装置102およびホストコンピュータ104を他のコンピューティング構成において実施することができる。例えば、図9の例示的コンピューティング環境は一般に、ターゲット装置102の特定の実施態様のために通常使用することができるよりもさらに発展したコンピューティング環境である。
コンピューティング環境900は、汎用コンピューティングシステムをコンピュータ902の形態において含む。コンピュータ902のコンポーネントには、それだけに限定されないが、1つまたは複数の処理装置904、システムメモリ906、および、システムバス908を含むことができる。このシステムバス908は、プロセッサ904を含む様々なシステムコンポーネントをシステムメモリ906に結合する。
システムバス908は、いくつかのタイプのバス構造のいずれかの1つまたは複数を表し、これには、様々なバスアーキテクチャのいずれかを使用する、メモリバスまたはメモリコントローラ、周辺バス、accelerated graphics port、およびプロセッサまたはローカルバスが含まれる。システムバス908の一例は、メザニンバスとしても知られる、Peripheral Component Interconnects(PCI)バスである。
コンピュータ902は通常、様々なコンピュータ読み取り可能媒体を含む。このような媒体は、コンピュータ902によってアクセス可能であるいかなる使用可能な媒体にすることができ、これには、揮発性および不揮発性のメディア、リムーバブルおよび非リムーバブルのメディアが含まれる。システムメモリ906は、ランダムアクセスメモリ(RAM)910などの揮発性メモリ、および/または、読み取り専用メモリ(ROM)912などの不揮発性メモリの形態におけるコンピュータ読み取り可能媒体を含む。基本入出力システム(BIOS)914は、ROM912に格納され、起動中など、コンピュータ902内の複数の要素の間で情報を転送する助けとなる基本ルーチンを含む。RAM910は通常、処理装置904によって即時アクセス可能および/または現在操作されているデータおよび/またはプログラムモジュールを含む。
コンピュータシステム902はまた、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータストレージメディアも含むことができる。例として、図9は、非リムーバブル、不揮発性の磁気メディア(図示せず)に対する読み書きを行うためのハードディスクドライブ916、リムーバブル、不揮発性磁気ディスク920(例えば「フロッピー(登録商標)ディスク」)に対する読み書きを行うための磁気ディスクドライブ918、および、CD−ROM、DVD−ROMまたは他の光メディアなど、リムーバブル、不揮発性の光ディスク924に対する読み書きを行うための光ディスクドライブ922を例示する。ハードディスクドライブ916、磁気ディスクドライブ918、および光ディスクドライブ922はそれぞれシステムバス908に、1つまたは複数のデータメディアインターフェイス925によって接続される。別法として、ハードディスクドライブ916、磁気ディスクドライブ918、および光ディスクドライブ922をシステムバス908に、SCSIインターフェイス(図示せず)によって接続することができる。
ディスクドライブおよびそれらの関連付けられたコンピュータ読み取り可能媒体は、コンピュータ902用のコンピュータ読み取り可能命令、データ構造、プログラムモジュールおよび他のデータの不揮発性のストレージを提供する。この実施例は、ハードディスク916、リムーバブル磁気ディスク920およびリムーバブル光ディスク924を例示するが、コンピュータによってアクセス可能であるデータを格納することができる他のタイプのコンピュータ読み取り可能媒体を利用して、例示的コンピューティングシステムおよび環境を実施することもできる。これらのコンピュータ読み取り可能媒体は、磁気カセットまたは他の磁気ストレージ装置、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD)または他の光ストレージ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラマブルな読み取り専用メモリ(EEPROM)などである。
いかなる数のプログラムモジュールもハードディスク916、磁気ディスク920、光ディスク924、ROM912および/またはRAM910上に格納することができる。このプログラムモジュールには、例として、オペレーティングシステム926、1つまたは複数のアプリケーションプログラム928、他のプログラムモジュール930およびプログラムデータ932が含まれる。このようなオペレーティングシステム926、1つまたは複数のアプリケーションプログラム928、他のプログラムモジュール930およびプログラムデータ932の各々(またはそのある組み合わせ)は、ユーザーネットワークアクセス情報のための格納計画の一実施形態を含むことができる。
コンピュータ902は、通信メディアとして識別された様々なコンピュータ/プロセッサ読み取り可能媒体を含むことができる。通信メディアは通常、コンピュータ読み取り可能命令、データ構造、プログラムモジュールまたは他のデータを、搬送波または他の移送メカニズムなどの変調データ信号として実施し、いかなる情報配信メディアも含む。「変調データ信号」という用語は、信号における情報を符号化するような方法によってその特性の1つまたは複数が設定または変更されている信号を意味する。限定ではないが、例として、通信メディアは、有線ネットワークまたは直接有線接続などの有線メディア、ならびに、音響、RF、赤外線および他の無線メディアなどの無線メディアを含ふくむ。上記のいずれの組み合わせも、コンピュータ読み取り可能媒体の範囲内に含まれる。
ユーザーはコマンドおよび情報をコンピュータシステム902へ、キーボード934およびポインティング装置936(例えば「マウス」)などの入力装置を介して入力することができる。他の入力装置938(具体的に図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、シリアルポート、スキャナなどが含まれる可能性がある。これらおよび他の入力装置は処理装置904へ、システムバス908に結合される入力/出力インターフェイス940を介して接続されるが、これらを、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)など、他のインターフェイスおよびバス構造によって接続することができる。
モニタ942または他のタイプの表示装置もまた、システムバス908へ、ビデオアダプタ944などのインターフェイスを介して接続することができる。モニタ942に加えて、他の出力周辺装置には、スピーカ(図示せず)およびプリンタ946など、入力/出力インターフェイス940を介してコンピュータ902に接続することができるコンポーネントが含まれる可能性がある。
コンピュータ902は、ネットワーク環境において、リモートコンピューティング装置948など、1つまたは複数のリモートコンピュータへの論理接続を使用して動作することができる。例として、リモートコンピューティング装置948は、パーソナルコンピュータ、ポータブルコンピュータ、サーバー、ルータ、ネットワークコンピュータ、ピア装置または他の共通ネットワークノードなどにすることができる。リモートコンピューティング装置948を、ポータブルコンピュータとして例示する。このポータブルコンピュータは、本明細書でコンピュータシステム902に関連して上述した要素および特徴の多数またはすべてを含むことができる。
コンピュータ902とリモートコンピュータ948の間の論理接続を、ローカルエリアネットワーク(LAN)950および一般的なワイドエリアネットワーク(WAN)952として示す。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。LANネットワーキング環境において実施するとき、コンピュータ902は、ローカルネットワーク950へ、ネットワークインターフェイスまたはアダプタ954を介して接続される。WANネットワーキング環境において実施するとき、コンピュータ902は通常、モデム956、またはワイドネットワーク952を介して通信を確立するための他の手段を含む。モデム956は、コンピュータ902の内部または外部にすることができ、システムバス908へ、入力/出力インターフェイス940または他の適切なメカニズムを介して接続することができる。例示したネットワーク接続は例示的であり、コンピュータ902および948の間で通信リンクを確立する他の手段を使用できることは理解されよう。
コンピューティング環境900により例示したものなど、ネットワーク環境では、コンピュータ902に関連して示したプログラムモジュールまたはその一部を、リモートメモリストレージ装置に格納することができる。例として、リモートアプリケーションプログラム958は、リモートコンピュータ948のメモリ装置上に存在する。例示のため、アプリケーションプログラム、および、オペレーティングシステムなどの他の実行可能プログラムコンポーネントを、本明細書で離散ブロックとして例示するが、このようなプログラムおよびコンポーネントは様々な時間にコンピュータシステム902の異なるストレージコンポーネント内に存在し、コンピュータのデータプロセッサによって実行されることを理解されたい。
(結論)
本発明を構造的特徴および/または方法的動作に特有の言語において説明したが、付属の特許請求の範囲において定義された本発明が必ずしも、説明した特定の特徴または動作に限定されないことを理解されたい。むしろ、特定の特徴および動作は、特許請求の範囲に記載された本発明を実施する例示的形態として開示される。
電力プロファイリングを実施するために適切である例示的開発環境100を例示する図である。 電力プロファイリングを実施するように構成されたターゲット装置、ホストコンピュータ、および電力測定回路の例示的実施形態を例示する図である。 埋め込み装置の電力消費量を測定するように構成された電力測定回路のアナログ−デジタルコンバータを例示する図である。 電力プロファイラによって、電力消費量情報を通信するために生成することができる、グラフィカルユーザーインターフェイスの一実施例を例示する図である。 電力プロファイリングを実施するように構成されたターゲット装置、ホストコンピュータ、および電力測定回路のもう1つの例示的実施形態を例示する図である。 プロセッサ上で実行するソフトウェア命令の電力プロファイリングを実施するための例示的方法のブロック図を例示する図である。 プロセッサ上で実行するソフトウェア命令の電力プロファイリングを実施するための例示的方法のブロック図を例示する図である。 プロセッサ上で実行するソフトウェア命令の電力プロファイリングを実施するための例示的方法のブロック図を例示する図である。 ターゲット埋め込み装置およびホストコンピュータを実施するために適切な例示的コンピューティング環境を例示する図である。
符号の説明
102 ターゲット装置
104 ホストコンピュータ
106 電力測定回路
108 データ通信バス
200 プロセッサ
202 メモリ
204 プログラムカウンタ
206 命令
208 アナログ−デジタルコンバータ(ADC)
210 通信インターフェイス
212 メモリ
214 電力消費量データ
216 プロセッサ
218 メモリ
220 電力プロファイラ
222 命令ルックアップテーブル
224 電力プロファイル

Claims (34)

  1. プロセッサ読み取り可能媒体であって、
    プロセッサ上で実行する命令を識別すること、
    電力消費量データを電力測定回路から受信すること、および、
    前記電力消費量データを前記識別された命令と相関させることを行うために構成されたプロセッサ実行可能命令を備えることを特徴とするプロセッサ読み取り可能媒体。
  2. 前記識別することは、
    前記プロセッサに割り込むこと、
    前記プロセッサのプログラムカウンタをサンプリングすること、
    ルックアップテーブルをスキャンして、前記プログラムカウンタによって指示されたアドレスを発見すること、および
    前記アドレスに位置する命令を決定することを備えることを特徴とする請求項1に記載のプロセッサ読み取り可能媒体。
  3. 前記受信することは、
    前記電力測定回路に問い合わせること、および、
    デジタル電力読み取りを前記電力測定回路から、前記問合せに基づいて受信することを備えることを特徴とする請求項1に記載のプロセッサ読み取り可能媒体。
  4. 前記受信することは、デジタル電力の読み取りを前記電力測定回路から、あらかじめ設定された時間間隔で受信することを備えることを特徴とする請求項1に記載のプロセッサ読み取り可能媒体。
  5. 前記相関させることは、識別された命令と、前記プロセッサ上で前記識別された命令の実行中に消費された電力の測定量を関連付けることを備えることを特徴とする請求項1に記載のプロセッサ読み取り可能媒体。
  6. 前記相関させることは、複数の電力消費量値および複数の識別された命令を含む電力プロファイルを生成することを備え、各電力消費量値は前記電力プロファイルにおいて、識別された命令に関連付けられることを備えることを特徴とする請求項1に記載のプロセッサ読み取り可能媒体。
  7. 前記電力プロファイルは、
    データのペアを有するテーブルであって、データの各ペアは、電力消費量値および識別された命令を備えるテーブルと、
    電力消費量値を、識別された命令と相関させるグラフとを備えるグループから選択されることを特徴とする請求項6に記載のプロセッサ読み取り可能媒体。
  8. 前記電力消費量データは、前記プロセッサ上の前記命令の実行中に測定された電力消費量値を備えることを特徴とする請求項1に記載のプロセッサ読み取り可能媒体。
  9. 前記プロセッサは、
    バッテリ電力により動作可能な埋め込みモバイルPDA(携帯情報端末)コンピューティング装置と、
    携帯電話と、
    スマートフォンと、
    ノートブックコンピュータと、
    デスクトップPC(パーソナルコンピュータ)と、
    ワークステーションと、
    サーバーと、
    メインフレームコンピュータと、
    インターネットアプライアンスとを備えるグループから選択された装置のコンポーネントであることを特徴とする請求項1に記載のプロセッサ読み取り可能媒体。
  10. ソフトウェア命令を、前記ソフトウェア命令を実行することによって消費された電力の量と関連付けるために構成された、プロセッサ実行可能命令を備えることを特徴とするプロセッサ読み取り可能媒体。
  11. 前記関連付けることは、埋め込み装置上で実行するソフトウェア命令を、前記ソフトウェア命令の実行中に測定された対応する電力消費量値とマッチさせる、電力プロファイルを生成することを備えることを特徴とする請求項10に記載のプロセッサ読み取り可能媒体。
  12. プロセッサ読み取り可能媒体であって、
    ターゲットコンピューティング装置上で実行するソフトウェア命令の電力消費量を測定すること、
    アナログ電力測定値をデジタル電力測定値に変換すること、および、
    前記デジタル電力測定値をホストコンピュータに送信することを行うために構成されたプロセッサ実行可能命令を備えることを特徴とするプロセッサ読み取り可能媒体。
  13. 前記デジタル電力測定値を、前記変換の後にメモリに格納するために構成されたプロセッサ実行可能命令をさらに備えることを特徴とする請求項12に記載のプロセッサ読み取り可能媒体。
  14. 前記送信することは、
    前記デジタル電力測定値についてのリクエストを前記ホストコンピュータから受信すること、および、
    前記デジタル電力測定値を前記ホストコンピュータに、前記リクエストに基づいて送信することを備えることを特徴とする請求項12に記載のプロセッサ読み取り可能媒体。
  15. 前記送信することは、前記デジタル電力測定値を前記ホストコンピュータに、あらかじめ設定された時間間隔で送信することを備えることを特徴とする請求項12に記載のプロセッサ読み取り可能媒体。
  16. 前記ターゲットコンピューティング装置は、
    埋め込みモバイルPDA(携帯情報端末)と、
    携帯電話と、
    スマートフォンと、
    ノートブックコンピュータと、
    デスクトップPC(パーソナルコンピュータ)と、
    ワークステーションと、
    サーバーと、
    メインフレームコンピュータと、
    インターネットアプライアンスとを備えるグループから選択されることを特徴とする請求項12に記載のプロセッサ読み取り可能媒体。
  17. ソフトウェア命令を、前記ソフトウェア命令の実行中に消費された電力の量に関連付ける、電力プロファイルを生成するステップを備えることを特徴とする方法。
  18. 前記ソフトウェア命令の前記実行は、ターゲットコンピューティング装置上のプロセッサによって実行され、前記消費された電力の量は、前記プロセッサによって消費された電力の量であることを特徴とする請求項17に記載の方法。
  19. 前記生成するステップは、
    プロセッサ上で実行する前記ソフトウェア命令を識別するステップと、
    電力消費量データを電力測定回路から受信するステップと、
    前記電力消費量データを前記識別されたソフトウェア命令と相関させるステップとを備えることを特徴とする請求項17に記載の方法。
  20. プロセッサ上で実行するソフトウェア命令を識別し、電力消費量データを受信し、前記電力消費量データを前記ソフトウェア命令と相関させて、各ソフトウェア命令が、前記ソフトウェア命令の前記実行中に消費された電力の量を指示する電力消費量値に関連付けられるようにするように構成された、電力プロファイラを備えることを特徴とするコンピュータ。
  21. ルックアップテーブルをさらに備え、前記電力プロファイラは、前記プロセッサ上のプログラムカウンタを監視するように、かつ、前記ソフトウェア命令を、前記ルックアップテーブルを通じて、前記プログラムカウンタに基づいて識別するようにさらに構成されることを特徴とする請求項20に記載のコンピュータ。
  22. それぞれが、対応するソフトウェア命令とペアにされて、前記対応するソフトウェア命令の実行中に消費された電力の量を指示する、複数の電力消費量値を有する電力プロファイルをさらに備えることを特徴とする請求項20に記載のコンピュータ。
  23. ソフトウェア命令を、前記ソフトウェア命令の実行中に消費された電力と相関させる、電力プロファイルを生成するように構成された電力プロファイラを備えることを特徴とするコンピュータ。
  24. コンピュータであって、
    プロセッサ上で実行する命令を識別する手段と、
    電力消費量データを電力測定回路から受信する手段と、
    前記電力消費量データを前記識別された命令と相関させる、電力プロファイルを生成する手段とを備えることを特徴とするコンピュータ。
  25. 前記命令を識別する手段は、
    前記プロセッサに割り込む手段と、
    前記プロセッサのプログラムカウンタをサンプリングする手段と、
    前記プログラムカウンタに基づいて命令を決定する手段とを備えることを特徴とする請求項24に記載のコンピュータ。
  26. 前記受信する手段は、
    前記電力測定回路を問い合わせる手段と、
    デジタル電力読み取りを前記電力測定回路から、前記問合せに基づいて受信する手段とを備えることを特徴とする請求項24に記載のコンピュータ。
  27. 電力測定回路であって、
    埋め込み装置上で実行するソフトウェア命令の電力消費量を測定する手段と、
    アナログ電力測定値をデジタル電力測定値に変換する手段と、
    前記デジタル電力測定値をホストコンピュータへ、前記ホストコンピュータからの問合せに応答して送信する手段とを備えることを特徴とする電力測定回路。
  28. 前記デジタル電力測定値を格納するための手段をさらに備えることを特徴とする請求項27に記載の電力測定回路。
  29. コンピュータであって、
    プロセッサと、
    メモリに格納され、前記プロセッサ上で実行可能な命令と、
    前記プロセッサによって、各命令の実行中に消費された電力を測定するように構成された電力測定回路とを備えることを特徴とするコンピュータ。
  30. 前記電力測定回路の一部として統合され、アナログ電力信号をデジタル電力消費量データに変換するように構成された、アナログ−デジタルコンバータをさらに備えることを特徴とする請求項29に記載のコンピュータ。
  31. 埋め込みモバイルPDA(携帯情報端末)と、
    携帯電話と、
    スマートフォンと、
    ノートブックコンピュータと、
    デスクトップPC(パーソナルコンピュータ)と、
    ワークステーションと、
    サーバーと、
    メインフレームコンピュータと、
    インターネットアプライアンスとを備えるグループから選択された装置として実施されることを特徴とする請求項29に記載のコンピュータ。
  32. システムであって、
    識別されたソフトウェア命令を、前記識別されたソフトウェア命令の実行中に消費された電力の量と相関させるように構成された電力プロファイラと、
    前記識別されたソフトウェア命令を識別するための情報を有するルックアップテーブルと、
    前記電力プロファイラによって生成され、電力消費量値および識別されたソフトウェア命令を有する電力プロファイルであって、各電力消費量値は、対応する識別されたソフトウェア命令とペアにされる電力プロファイルとを備えることを特徴とするシステム。
  33. 前記識別されたソフトウェア命令の実行中に消費された前記電力の量を測定するように構成された電力測定回路と、
    前記電力測定回路の一部として、アナログ電力消費量測定値をデジタル電力消費量データに変換するように構成された、アナログ−デジタルコンバータとをさらに備えることを特徴とする請求項32に記載のシステム。
  34. 前記電力測定回路は、その上で前記識別されたソフトウェア命令が実行されるターゲットコンピューティング装置のコンポーネントであることを特徴とする請求項33に記載のシステム。
JP2004192281A 2003-06-30 2004-06-29 電力プロファイリング Withdrawn JP2005025754A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/610,496 US20040268159A1 (en) 2003-06-30 2003-06-30 Power profiling

Publications (1)

Publication Number Publication Date
JP2005025754A true JP2005025754A (ja) 2005-01-27

Family

ID=33435410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004192281A Withdrawn JP2005025754A (ja) 2003-06-30 2004-06-29 電力プロファイリング

Country Status (5)

Country Link
US (1) US20040268159A1 (ja)
EP (1) EP1494110A3 (ja)
JP (1) JP2005025754A (ja)
KR (1) KR20050002667A (ja)
CN (1) CN1577219A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186163A (ja) * 2007-01-29 2008-08-14 Fujitsu Ltd プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法
JP2013063475A (ja) * 2011-09-15 2013-04-11 Daihen Corp 産業用ロボットの消費電力モニタ装置
US8645718B2 (en) 2008-08-22 2014-02-04 Fujitsu Limited Apparatus and method for sampling power consumption
US9372523B2 (en) 2010-06-30 2016-06-21 Fujitsu Limited Calculating amount of power consumed by a user's application in multi-user computing environment basing upon counters information
JP2016206743A (ja) * 2015-04-16 2016-12-08 富士通株式会社 情報処理装置、消費電力計測プログラムおよび消費電力計測方法
US9600388B2 (en) 2012-01-31 2017-03-21 Nec Corporation Information processing apparatus that computes power consumption for CPU command
JP2019505895A (ja) * 2015-12-22 2019-02-28 ソニーモバイルコミュニケーションズ株式会社 電力消費の時間同期

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287173B2 (en) * 2003-12-19 2007-10-23 Intel Corporation Method for computing power consumption levels of instruction and recompiling the program to reduce the excess power consumption
US7424632B2 (en) 2004-02-13 2008-09-09 Microsoft Corporation Systems and methods that facilitate state machine power and wake state management
US7181190B2 (en) 2004-04-30 2007-02-20 Microsoft Corporation Method for maintaining wireless network response time while saving wireless adapter power
JP2006059068A (ja) * 2004-08-19 2006-03-02 Matsushita Electric Ind Co Ltd プロセッサ装置
US8200209B2 (en) 2005-02-16 2012-06-12 Telefonaktiebolaget L M Ericsson (Publ) Power consumption debugging in mobile terminals
JP2007109085A (ja) * 2005-10-14 2007-04-26 Sony Computer Entertainment Inc 発熱制御方法、装置およびシステム
US7376532B2 (en) * 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7460932B2 (en) * 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US7698089B2 (en) * 2005-11-29 2010-04-13 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using processor activity
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7681053B2 (en) * 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
US7848901B2 (en) * 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
WO2007066058A1 (en) * 2005-12-06 2007-06-14 Arm Limited Energy management
US20070198864A1 (en) * 2006-02-21 2007-08-23 Toshiba America Electronic Components Systems and methods for determining and using power profiles for software programs executing on data processors
US20070220293A1 (en) * 2006-03-16 2007-09-20 Toshiba America Electronic Components Systems and methods for managing power consumption in data processors using execution mode selection
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US20070260894A1 (en) * 2006-05-03 2007-11-08 Aguilar Maximino Jr Optimizing thermal performance using feed-back directed optimization
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US7555666B2 (en) * 2006-05-04 2009-06-30 Dell Products L.P. Power profiling application for managing power allocation in an information handling system
KR100869953B1 (ko) * 2007-05-30 2008-11-24 경북대학교 산학협력단 Etm 인터페이스를 이용한 전력 측정 시스템 및 그 방법
US8027798B2 (en) * 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
JP5439715B2 (ja) * 2007-11-20 2014-03-12 日本電気株式会社 携帯端末、制御方法、プログラム、及び記録媒体
CN101971119B (zh) * 2008-03-14 2013-10-23 惠普开发有限公司 基础设施的基于有效能的评估
US8086882B2 (en) * 2008-06-29 2011-12-27 Microsoft Corporation Energy measurement techniques for computing systems
US8340952B2 (en) 2009-03-12 2012-12-25 Freescale Semiconductor, Inc. Power estimation method and device therefor
US8898049B2 (en) * 2009-04-20 2014-11-25 International Business Machines Corporation System level power profiling of embedded applications executing on virtual multicore system-on-chip platforms
US8311683B2 (en) * 2009-04-29 2012-11-13 International Business Machines Corporation Processor cooling management
US8756564B2 (en) 2009-05-29 2014-06-17 International Business Machines Corporation Techniques for providing environmental impact information associated with code
US20110016455A1 (en) * 2009-07-20 2011-01-20 Glenn Perry Power Profiling for Embedded System Design
US8468380B2 (en) 2009-07-31 2013-06-18 Dell Products, Lp Power consumption monitor and method therefor
NL2003915C2 (en) 2009-12-07 2011-06-09 Yggdra Solutions Improved power usage management.
US20120016606A1 (en) * 2010-02-25 2012-01-19 Emmanuel Petit Power Profiling for Embedded System Design
KR20110114910A (ko) 2010-04-14 2011-10-20 삼성전자주식회사 집적회로 및 그것의 소비전력 측정 방법
CN102354971B (zh) * 2010-05-21 2014-01-01 美国能量变换公司 用于控制功率分配的方法和装置
EP2572411A4 (en) 2010-05-21 2015-08-12 American Power Conv Corp METHOD AND APPARATUS FOR CONTROLLING CURRENT DISTRIBUTION
KR101243513B1 (ko) * 2011-02-23 2013-03-20 성균관대학교산학협력단 프로세서 파워 시뮬레이션 수행 방법 및 프로세서 파워 시뮬레이션 시스템
US20120278749A1 (en) * 2011-04-27 2012-11-01 Nokia Corporation Method and apparatus for providing consumption information for software applications
US8971819B2 (en) * 2011-06-16 2015-03-03 Deutsche Telekom Ag System for analyzing mobile browser energy consumption
US9465427B2 (en) 2011-06-30 2016-10-11 International Business Machines Corporation Software-centric power management by indirectly determining that user is not actively using computer program running on computing device
US8904208B2 (en) * 2011-11-04 2014-12-02 International Business Machines Corporation Run-time task-level dynamic energy management
US9009517B2 (en) * 2011-11-16 2015-04-14 Infineon Technologies Ag Embedded voltage regulator trace
JP5790431B2 (ja) * 2011-11-18 2015-10-07 富士通株式会社 設計支援装置、設計支援方法および設計支援プログラム
US9064253B2 (en) * 2011-12-01 2015-06-23 Broadcom Corporation Systems and methods for providing NFC secure application support in battery on and battery off modes
KR101387769B1 (ko) * 2012-04-04 2014-04-21 김광진 스마트 디바이스의 전력 소모를 줄이기 위한 스케줄링 방법, 시스템, 및 컴퓨터 판독 가능한 기록 매체
US20140068581A1 (en) * 2012-08-30 2014-03-06 International Business Machines Corporation Optimized division of work among processors in a heterogeneous processing system
US10459464B2 (en) 2012-09-03 2019-10-29 Schneider Electric It Corporation Method and apparatus for controlling distribution of power
US10133329B2 (en) 2012-11-19 2018-11-20 Qualcomm Incorporated Sequential feature computation for power efficient classification
US20140229754A1 (en) * 2013-02-11 2014-08-14 Nvidia Corporation Power telemetry remote monitoring
KR102050076B1 (ko) 2013-12-26 2019-11-28 한국전자통신연구원 절전형 컴퓨터 시스템 및 컴퓨터 시스템의 절전 제어 방법
KR101497870B1 (ko) * 2014-02-06 2015-03-04 계명대학교 산학협력단 전력데이터 처리유닛 및 처리방법, 이의 모바일 기기
KR102151135B1 (ko) 2014-04-28 2020-09-02 삼성전자주식회사 전력 관리 방법 및 그 방법을 처리하는 전자 장치
EP3062142B1 (en) 2015-02-26 2018-10-03 Nokia Technologies OY Apparatus for a near-eye display
US9766673B2 (en) 2015-02-27 2017-09-19 Intel Corporation Supercapacitor-based power supply protection for multi-node systems
US10078364B2 (en) * 2016-01-14 2018-09-18 Hcl Technologies Limited System and method for optimizing power consumption of one or more devices
JP6631374B2 (ja) * 2016-04-13 2020-01-15 富士通株式会社 情報処理装置、動作状況収集プログラム及び動作状況収集方法
US10650552B2 (en) 2016-12-29 2020-05-12 Magic Leap, Inc. Systems and methods for augmented reality
EP4300160A3 (en) 2016-12-30 2024-05-29 Magic Leap, Inc. Polychromatic light out-coupling apparatus, near-eye displays comprising the same, and method of out-coupling polychromatic light
US10387285B2 (en) 2017-04-17 2019-08-20 Microsoft Technology Licensing, Llc Power evaluator for application developers
US10820274B2 (en) * 2017-06-19 2020-10-27 T-Mobile Usa, Inc. Systems and methods for testing power consumption of electronic devices
US10578870B2 (en) 2017-07-26 2020-03-03 Magic Leap, Inc. Exit pupil expander
CN111448497B (zh) 2017-12-10 2023-08-04 奇跃公司 光波导上的抗反射涂层
KR20200100720A (ko) 2017-12-20 2020-08-26 매직 립, 인코포레이티드 증강 현실 뷰잉 디바이스용 인서트
US10755676B2 (en) 2018-03-15 2020-08-25 Magic Leap, Inc. Image correction due to deformation of components of a viewing device
WO2019231850A1 (en) 2018-05-31 2019-12-05 Magic Leap, Inc. Radar head pose localization
US11579441B2 (en) 2018-07-02 2023-02-14 Magic Leap, Inc. Pixel intensity modulation using modifying gain values
US11510027B2 (en) 2018-07-03 2022-11-22 Magic Leap, Inc. Systems and methods for virtual and augmented reality
US11856479B2 (en) 2018-07-03 2023-12-26 Magic Leap, Inc. Systems and methods for virtual and augmented reality along a route with markers
JP7426982B2 (ja) 2018-07-24 2024-02-02 マジック リープ, インコーポレイテッド 移動検出デバイスの温度依存較正
WO2020023543A1 (en) 2018-07-24 2020-01-30 Magic Leap, Inc. Viewing device with dust seal integration
US11112862B2 (en) 2018-08-02 2021-09-07 Magic Leap, Inc. Viewing system with interpupillary distance compensation based on head motion
WO2020028191A1 (en) 2018-08-03 2020-02-06 Magic Leap, Inc. Unfused pose-based drift correction of a fused pose of a totem in a user interaction system
US12016719B2 (en) 2018-08-22 2024-06-25 Magic Leap, Inc. Patient viewing system
CN117111304A (zh) 2018-11-16 2023-11-24 奇跃公司 用于保持图像清晰度的图像尺寸触发的澄清
US11425189B2 (en) 2019-02-06 2022-08-23 Magic Leap, Inc. Target intent-based clock speed determination and adjustment to limit total heat generated by multiple processors
US11762623B2 (en) 2019-03-12 2023-09-19 Magic Leap, Inc. Registration of local content between first and second augmented reality viewers
EP3963565A4 (en) 2019-05-01 2022-10-12 Magic Leap, Inc. CONTENT DELIVERY SYSTEM AND PROCEDURES
JP2022542363A (ja) 2019-07-26 2022-10-03 マジック リープ, インコーポレイテッド 拡張現実のためのシステムおよび方法
CN111026571B (zh) * 2019-11-11 2023-09-08 北京字节跳动网络技术有限公司 处理器降频处理方法、装置及电子设备
WO2021097323A1 (en) 2019-11-15 2021-05-20 Magic Leap, Inc. A viewing system for use in a surgical environment
US20220100853A1 (en) * 2020-09-25 2022-03-31 Robert Bosch Gmbh System and method for intrusion detection on a physical level using an internal analog to digital converter
CN112601269B (zh) * 2020-11-13 2023-08-15 维沃移动通信有限公司 一种通信连接方法、装置、电子设备和可读存储介质
US20230161398A1 (en) * 2021-11-22 2023-05-25 Rakuten Mobile, Inc. Data storage system with power consumption efficiency and methods of operating the same
US11899514B2 (en) * 2022-01-20 2024-02-13 VMware LLC Managing power consumption in a software build environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996019765A1 (en) * 1994-12-22 1996-06-27 Intel Corporation System power consumption tracking and reporting
JP3693420B2 (ja) * 1996-06-20 2005-09-07 株式会社リコー 集積回路の消費電力見積り装置
US6560773B1 (en) * 1997-12-12 2003-05-06 International Business Machines Corporation Method and system for memory leak detection in an object-oriented environment during real-time trace processing
US6553564B1 (en) * 1997-12-12 2003-04-22 International Business Machines Corporation Process and system for merging trace data for primarily interpreted methods
JP3285807B2 (ja) * 1997-12-26 2002-05-27 富士通株式会社 電源及びハードウェア障害の切り分け装置及びその方法
JP4298878B2 (ja) * 2000-02-17 2009-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 消費電力情報の表示方法および電子機器
EP1182556B1 (en) * 2000-08-21 2009-08-19 Texas Instruments France Task based adaptive profiling and debugging
US6834353B2 (en) * 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit
US7149636B2 (en) * 2002-04-04 2006-12-12 Texas Instruments Incorporated Method and apparatus for non-obtrusive power profiling
US7185215B2 (en) * 2003-02-24 2007-02-27 International Business Machines Corporation Machine code builder derived power consumption reduction

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186163A (ja) * 2007-01-29 2008-08-14 Fujitsu Ltd プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法
US8171496B2 (en) 2007-01-29 2012-05-01 Fujitsu Limited Program evaluation program, program evaluation device, and program evaluation method
US8645718B2 (en) 2008-08-22 2014-02-04 Fujitsu Limited Apparatus and method for sampling power consumption
US9372523B2 (en) 2010-06-30 2016-06-21 Fujitsu Limited Calculating amount of power consumed by a user's application in multi-user computing environment basing upon counters information
JP2013063475A (ja) * 2011-09-15 2013-04-11 Daihen Corp 産業用ロボットの消費電力モニタ装置
US9600388B2 (en) 2012-01-31 2017-03-21 Nec Corporation Information processing apparatus that computes power consumption for CPU command
JP2016206743A (ja) * 2015-04-16 2016-12-08 富士通株式会社 情報処理装置、消費電力計測プログラムおよび消費電力計測方法
JP2019505895A (ja) * 2015-12-22 2019-02-28 ソニーモバイルコミュニケーションズ株式会社 電力消費の時間同期

Also Published As

Publication number Publication date
US20040268159A1 (en) 2004-12-30
EP1494110A2 (en) 2005-01-05
CN1577219A (zh) 2005-02-09
EP1494110A3 (en) 2008-12-31
KR20050002667A (ko) 2005-01-10

Similar Documents

Publication Publication Date Title
JP2005025754A (ja) 電力プロファイリング
US10416995B2 (en) Techniques for providing environmental impact information associated with code
Hort et al. A survey of performance optimization for mobile applications
US6795781B2 (en) Method and apparatus for compiler assisted power management
JP6197196B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
Chen et al. Fine-grained power management using process-level profiling
Gholkar et al. Uncore power scavenger: A runtime for uncore power conservation on hpc systems
JP2010517142A (ja) 複数の装置に電力を割り当てるためのデータ構造
JP2006134321A (ja) システムパフォーマンスを改善するための外部メモリデバイスの使用
JP2005018760A (ja) アプリケーションのプロファイリングを容易にするシステムおよび方法
JP2007193775A (ja) ソフトウェア熱プロファイルおよびハードウェア熱プロファイルを使用してスケジューリングする、コンピュータによって実施する方法、データ処理システム、およびコンピュータ・プログラム
US6978285B2 (en) Methods and apparatus for concurrent enumeration of an object reference root set
JP2007183925A (ja) ソフトウェア熱プロファイルの分析生成のコンピュータによって実施する方法、データ処理システム、およびコンピュータ・プログラム
JP2007200285A (ja) シミュレートされた環境でのアプリケーション用のソフトウェア熱プロファイル生成のコンピュータによって実施する方法、データ処理システム、およびコンピュータ・プログラム
Lewis et al. Runtime energy consumption estimation for server workloads based on chaotic time-series approximation
WO2022151707A1 (zh) 内存测试方法及装置、可读存储介质、电子设备
Rotem et al. H-EARtH: Heterogeneous multicore platform energy management
Imes et al. A portable interface for runtime energy monitoring
JP2007026436A (ja) 装置、方法、システム
Heath et al. Code transformations for energy-efficient device management
US7142995B2 (en) Method for reading battery status by operation system of portable computer
CN109710495B (zh) 一种信息处理方法及电子设备
US6892146B2 (en) Method for reading battery status by operation system of portable computer
Xian et al. Power measurement of software programs on computers with multiple I/O components
CN113741672B (zh) 一种主板电源漏电检测方法、系统及相关组件

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070904