JPH11232147A - パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体 - Google Patents

パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体

Info

Publication number
JPH11232147A
JPH11232147A JP10033235A JP3323598A JPH11232147A JP H11232147 A JPH11232147 A JP H11232147A JP 10033235 A JP10033235 A JP 10033235A JP 3323598 A JP3323598 A JP 3323598A JP H11232147 A JPH11232147 A JP H11232147A
Authority
JP
Japan
Prior art keywords
power consumption
instruction
program
consumption value
data
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.)
Pending
Application number
JP10033235A
Other languages
English (en)
Inventor
Atsushi Kageshima
淳 影島
Masayoshi Tachibana
昌良 橘
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10033235A priority Critical patent/JPH11232147A/ja
Priority to US09/250,438 priority patent/US6205555B1/en
Publication of JPH11232147A publication Critical patent/JPH11232147A/ja
Pending legal-status Critical Current

Links

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
    • G06F1/32Means for saving power
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

(57)【要約】 【課題】 プログラマが作成したファンクションレベル
のソースプログラムに対して消費電力値の見積りを行う
ことを可能とするパワーエスティメーション技術を提供
する。 【解決手段】 ソースプログラム列1を入力し、ソース
プログラムのトレース情報9を生成するトレース手段8
と、トレース手段8で生成されたトレース情報9を入力
し、ソースプログラムのストール情報12を生成するス
トール情報検出手段10と、ストール情報検出手段10
にて検出されたストール情報12を用い、ソースプログ
ラムの命令ごとの消費電力値ライブラリ15からソース
プログラム対しての消費電力値を求める消費電力算出手
段13とを具備し、ファンクションレベルで実行プログ
ラムの消費電力値を求めることを可能とするものであ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、パワーエスティメ
ーション装置、パワーエスティメーション方法、及びパ
ワーエスティメーションプログラムを記録した機械読み
取り可能な記録媒体に関し、特に、マイクロプロセッサ
に対するパワーエスティメーションに関する。
【0002】
【従来の技術】プロセッサに使用されるパッケージを選
別したり、バッテリの容量を選出したりする場合には、
そのプロセッサが消費する電力値(消費電力値)を算出
する必要がある。この消費電力値を算出する手段とし
て、仮想的にプロセッサを想定し、プロセッサ上で実行
される実行プログラムが実行された時の消費電力値をシ
ミュレーションすることにより消費電力値を求める技術
が知られている。
【0003】図30は、第1の従来例であるシミュレー
ション装置の構成を示すブロック図である。このシミュ
レーション装置は、ソースプログラム列(ここでは、
「ソースプログラム」は、ファンクションレベルのプロ
グラムであって、コンパイルされる前のプログラムのこ
とを指す。具体的には、CやPascalといった高級
言語で書かれたプログラムのことを指している。)1を
アセンブリコード3に変換するコンパイラ2と、アセン
ブリコード3を入力し、実際のプロセッサ上で動作する
時の信号値に変換してゲート/Trレベル用入力信号値
5を生成するゲート/Trレベル変換部4と、生成され
たゲート/Trレベル用信号値5を入力し、ゲート/T
rレベルのシミュレーションを行うことにより高精度な
消費電力値7を生成するシミュレータ6とを備えるもの
である。
【0004】この従来のシミュレーション装置は、実際
にプログラマが作成したファンクションレベルのソース
プログラムを実際のプロセッサ上で動作する時の信号値
に変換し、下流のトランジスタレベル、ゲートレベルで
プロセッサ内部を実際に動作させながらシミュレーショ
ンすることにより消費電力を求めるものである。従っ
て、その見積り精度は非常に高いものとなるが、逆に実
行速度が非常に遅いという問題がある。そのため、完成
したプログラムに対して確認という意味でこのシミュレ
ーション装置を使用することは可能ではあるが、このシ
ミュレーション装置を用いてプログラミング中に消費電
力値を意識しながら試行錯誤することはその実行速度の
点から不可能であった。
【0005】一方、上記シミュレーション装置の実行速
度の問題を回避する方法として、アセンブリコードを用
いて消費電力値をエスティメーションすることにより消
費電力値を求める技術が提案されている(特願平8−2
2811号、特願平8−190456号、特願平9−1
683号、特願平9−282378号)。
【0006】図31は、第2の従来例であるエスティメ
ーション装置の構成を示すブロック図である。このエス
ティメーション装置は、ソースプログラム列1をアセン
ブリコード3に変換するコンパイラ2と、アセンブリコ
ード3を入力し、トレース情報9を生成するトレース部
8と、トレース情報9を入力し、マイクロプロセッサの
動作情報11を用いて実行プログラムのストール情報1
2を検出するストール情報検出部10と、ストール情報
12を用いて、ストール情報を考慮した消費電力ライブ
ラリ14から実行プログラムの消費電力値7を求めるエ
スティメータ13とを備えるものである。
【0007】この従来エスティメーション装置は、実際
にプログラマが作成したファンクションレベルのソース
プログラムをコンパイルしたアセンブリコードを用いて
消費電力値を見積もるものである。従って、実行速度の
高速化が図られ、それにより、実行プログラムの消費電
力値を設計の早い段階で高速に精度良く見積もることが
可能となる。そのため、複数の同一機能実行プログラム
の比較などを行う場合には非常に有効である。しかしな
がら、消費電力の見積りを行うレベルがアセンブリレベ
ルであるため、この見積りによって得られた知見(例え
ば、消費電力が大きくなる原因)をファンクションレベ
ルでプログラミングを行うプログラマにフィードバック
して、より低消費電力なプログラムに修正させることは
不可能であった。
【0008】
【発明が解決しようとする課題】以上説明したように、
第1の従来例のシミュレーション装置には、その実行速
度が遅いために、プログラミング中に使用することはで
きないという問題があった。また第2の従来例のエステ
ィメーション装置には、見積りをアセンブリレベルで実
施していることから、その見積結果に基づいてプログラ
マがファンクションレベルのソースプログラムを修正す
ることはできないという問題があった。
【0009】本発明は、上記事情に鑑みて成されたもの
であり、その目的は、プログラマが作成したファンクシ
ョンレベルのソースプログラムに対して消費電力の見積
りを行うことを可能とするパワーエスティメーション装
置、パワーエスティメーション方法、及びパワーエステ
ィメーションプログラムを記録した機械読み取り可能な
記録媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば、次
の通りである。すなわち、プロセッサ上で実行される実
行プログラムに含まれる命令が実行された時の消費電力
値を見積もるパワーエスティメーション装置に、ファン
クションレベルのプログラム(ソースプログラム)に含
まれる命令ごとの消費電力値を予めシミュレーションに
より求めておき、この消費電力値ライブラリから前記ソ
ースプログラムに含まれる命令ごとの消費電力値を実際
の実行順序で前記プロセッサがストールするか否かを考
慮して算出し、その複数の消費電力値を用いて前記実行
プログラムの消費電力値を求める機能を持たせたもので
ある。
【0011】上記構成によれば、ファンクションレベル
で消費電力値の見積りが可能となり、それによりプログ
ラマはその消費電力値見積結果を参照しつつ、消費電力
値が削減されるようにプログラミングを行うことが可能
となる。
【0012】
【発明の実施の形態】以下、本発明の実施の形態につい
て説明する。
【0013】第1の実施の形態 図1は、本実施の形態に係るパワーエスティメーション
装置の構成を示すブロック図である。このパワーエステ
ィメーション装置は、ファンクションレベルのソースプ
ログラム列1をを入力し、そのソースプログラム列1の
トレース情報9を生成するトレース部8と、トレース情
報9を入力し、マイクロプロセッサの動作情報11を用
いて実行プログラムのストール情報12を検出するスト
ール情報検出部10と、ストール情報を含むトレース情
報12を用いて、一式(関数)当り消費電力ライブラリ
15から実行プログラムの消費電力値7を求めるエステ
ィメータ13とを備えるものである。
【0014】次に、本実施の形態に係るエスティメーシ
ョン装置の動作の具体例を図面を参照しつつ説明する。
なお、以下では、説明を簡単にするために、対象とする
プロセッサの構成を図2に示すものとする。このプロセ
ッサは、命令及びデータを保持する、低速、大容量、安
価のメモリ部16と、メモリ部16よりも高速、小容量
(同時に保持できる命令数を50、データ数を100と
し、オーバーフローが発生した場合には、一番過去に実
行された命令/データが捨てられるものとする)、高価
の命令キャッシュ部17a及びデータキャッシュ部17
bと、それらの制御及び各種の演算を行うコア部18と
を備えるものである。
【0015】また、このプロセッサには、命令キャッシ
ュ17a及びデータキャッシュ17bをクリアする命令
はないものとする。
【0016】さらに、データキャッシュミスを起こす可
能性のある命令は、ファンクションレベルの命令での代
入文(アセンブリレベルのロード命令)のみとする。
【0017】そして、使用するコンパイラは1種類で、
図3に示すように、コンパイル時のオプションによっ
て、通常、実行速度優先、コード量優先の3種類のコン
パイルを行うものとする。ここで、使用するコンパイ
ラ、使用するオプションを上記の如く規定するのは、次
の理由による。
【0018】一般には、ファンクションレベルで書かれ
ているソースプログラムは、同一の記述であってもコン
パイラによって最適化が行われるため、図4に示すよう
に、ファンクションレベルとアセンブリレベルとは一対
一対応していない。また、ファンクションレベルのプロ
グラムは最適化(コンパイル)の際に、図5に示すよう
に、実行順序が変更されることがあるため同じアセンブ
リコードに変換されるという確証はない。そのため、プ
ログラムによって消費される消費電力値を正確に求める
ことはできない。しかし、仮に使用コンパイラや使用オ
プションが予め判明していれば、コンパイルの際に命令
実行順序が入れ替わる可能性があるものの、ファンクシ
ョンレベルの式/関数とアセンブリコードを対応づける
ことは可能である。従って、従来技術で説明した図31
に示すようなエスティメーション装置を用いることによ
り、図6に示すような、ファンクションレベルの一式/
関数当りの消費電力値ライブラリデータを用意すること
が可能となる。そして、このファンクションレベルの一
式/関数当りの消費電力を用いることにより、ファンク
ションレベルでの消費電力の見積りが可能となるのであ
る。
【0019】次に、図7に示すプログラム列を例として
実際に本実施の形態に係るエスティメーション装置を用
いて実際に消費電力値を求めるための手順を図1を参照
しつつ説明する。なお、図7のプログラム列に対する消
費電力値ライブラリデータとして図9に示すライブラリ
データが用意されているものとする。
【0020】まず最初に、図7に示すプログラム列1を
実際に一命令ずつ実行させて展開し、これらの命令がど
のような順番(これ以降、実行順序で示す)で実行され
るかというトレース情報9を求める。このトレース情報
を図8に示す。
【0021】次に、このトレース情報9と、対象とする
プロセッサ(マイクロプロセッサ)の動作情報11を参
照することによって、その実行順序で実行される命令が
どのようなストールを発生しているか、使用するデータ
がメモリ部にあるのかデータキャッシュ部にあるのか、
といった情報をストール情報検出アルゴリズムを用いて
検出し、これらストール情報を含むトレース情報12を
求める。このストール情報検出アルゴリズムの例を図1
0及び図11に示す。
【0022】ここで、ストールとは、例えば、命令をロ
ードするのに数クロックかかるような記憶装置に記憶さ
れているような場合や、命令の依存関係によって命令を
実行できない場合にプロセッサの実行が数クロック遅延
することがある。このように何らかの原因による遅延に
よりプロセッサが命令を実行できない状態をストールと
いう。具体的には、一般にいわれるストール(例えば、
次に実行すべき命令をメモリから読み込むのに時間がか
かってしまうために発生する遅延)、ハザード(例え
ば、これから実行する命令が、前の命令の実行結果に依
存して実行内容が変わるために、前の命令の実行結果が
確定するまで実行できないために発生する遅延)、及び
リソースコンフリクト(命令実行に必要な資源が限られ
ているとき、命令実行に伴って使用したとき、先の命令
によって未だ使用中のためにその実行が終了するまで命
令実行を開始できないときに発生する遅延)が含まれ
る。
【0023】プロセッサが何らかの原因でストールした
場合には、このシステムクロックを数クロック余分に費
やすことになる。この余分に費やしたシステムクロック
のサイクルにおいても、ある程度電力消費される。その
ため、より正確に消費電力値の見積りを行うため、この
ストール情報の検出が行われる。なお、ここでは、スト
ールの原因としてキャッシュミスを起こす場合を例とし
て説明するものとする。
【0024】このアルゴリズムでは、まず、初期化を行
った後(ステップ1)、対象とするプログラムに適用す
るコンパイラの種類の確認(ステップ2)、コンパイル
時のオプションの確認を行う(ステップ3)。
【0025】次に、対象とする命令プログラムから、こ
れから実行する命令(式又は関数)x[n]を一つ読み込
み、その実行命令の種類と、命令番地Y[m]、及び使用
データの番地Z[l]を記憶する(ステップ4)。なお、
ここで用いられる命令番地Y[m]、使用データの番地Z
[l]は実メモリ中の番地ではなく、仮想的にパワーエス
ティメーション装置が過去に読み込まれてキャッシュ中
に格納されているか否かを判断するために持っている番
地のことである。
【0026】次に、その命令番地Y[m]がキャッシュに
保存されている命令番地ΣY[m−1]と等しいか調べる
(ステップ5)。等しければその命令は命令キャッシュ
から読み込まれて実行されることになるためフラグをた
てる(Iflag=1)(ステップ6)。一方、等しく
なければその命令はメモリから読み込まれて実行される
ことになるためフラグを降ろす(Iflag=0)(ス
テップ7)。
【0027】次に、同様に、そのデータ番地Z[l]がキ
ャッシュに保存されているデータ番地ΣZ[l−1]と等
しいか調べる(ステップ8)。等しければそのデータは
データキャッシュから読み込まれて実行されることにな
るためフラグをたてる(Dflag=1)(ステップ
9)。一方、等しくなければそのデータはメモリから読
み込まれて実行されることになるためフラグを降ろす
(Dflag=0)(ステップ10)。
【0028】次に、実行される命令が式であるか関数で
あるかが判断される(ステップ11)。
【0029】(1)ステップ11で実行される命令が式
であると判断された場合 まず、この式に対応するアセンブリが命令キャッシュか
ら読み込まれているか、あるいはメモリから読み込まれ
ているかをIflagから判断する。また、使用データ
がデータキャッシュから読み込まれているか、あるいは
メモリから読み込まれているかをDflagから判断す
る(ステップ12)。そして、Iflag=1、Dfl
ag=1の場合には、命令が命令キャッシュ読み込み/
使用データがデータキャッシュ読み込みの式であると認
識する(ステップ13)。Iflag=1、Dflag
=0の場合には、命令が命令キャッシュ読み込み/デー
タがメモリ読み込みの式であると認識する(ステップ1
4)。Iflag=0、Dflag=1の場合には、命
令がメモリ読み込み/データがデータキャッシュ読み込
みの式であると認識する(ステップ15)。Iflag
=0、Dflag=0の場合には、命令がメモリ読み込
み/データがメモリ読み込みの式であると認識する(ス
テップ16)。
【0030】このように、実行される式の状態を考慮し
た分類を記録した後、命令キャッシュに保持される命
令、データキャッシュに保持されるデータのオーバーフ
ローをチェックする。まず、Iflag=1の場合、す
なわち命令が命令キャッシュから読み込まれたものであ
る場合には、過去に命令キャッシュに保存されていた方
の命令番地データを削除する(ステップ17)。Ifl
ag=0の場合、すなわちメモリ読み込みの場合には、
今回実行した命令が新たに命令キャッシュに保存される
ことを意味するので、保存している命令番地の個数ΣY
[n]が50より多くなるかを調べ(ステップ18)、多
くなる場合は、最古の命令番地情報を削除する(ステッ
プ19)。
【0031】次に、Dflag=1であるか否かを判断
し(ステップ20)、Dflag=1の場合、すなわち
データがデータキャッシュ読み込みの場合には、過去に
データキャッシュに保存されていた方のデータ番地デー
タを削除する(ステップ21)。Dflag=0の場
合、すなわちメモリ読み込みの場合には、今回使用した
データが新たにデータキャッシュに保存されることを意
味するので、保存しているデータ番地の個数ΣZ[l]が
10より多くなるかを調べ(ステップ22)、多くなる
場合には、最古のデータ番地情報を削除する(ステップ
23)。
【0032】(2)ステップ11で実行される命令が関
数であると判断された場合 まず、その関数によって必要とされる命令数M、データ
数Lを図9に示すライブラリデータを参照して求め、命
令数、データ数を増加させる(ステップ24)。
【0033】次に、この関数に対応するアセンブリ群が
命令キャッシュから読み込まれているか、あるいはメモ
リから読み込まれているかをIflagから判断する。
また、使用データがデータキャッシュから読み込まれて
いるか、あるいはメモリから読み込まれているかをDf
lagから判断する(ステップ25)。そして、Ifl
ag=1、Dflag=1の場合には、命令が命令キャ
ッシュ読み込み/使用データがデータキャッシュ読み込
みの関数であると認識する(ステップ26)。Ifla
g=1、Dflag=0の場合には、命令が命令キャッ
シュ読み込み/データがメモリ読み込みの関数であると
認識する(ステップ27)。Iflag=0、Dfla
g=1の場合には、命令がメモリ読み込み/データがデ
ータキャッシュ読み込みの関数であると認識する(ステ
ップ28)。Iflag=0、Dflag=0の場合に
は、命令がメモリ読み込み/データがメモリ読み込みの
関数であると認識する(ステップ29)。
【0034】このように、実行される関数の状態を考慮
した分類を記録した後、命令キャッシュに保持される命
令群、データキャッシュに保持されるデータ群のオーバ
ーフローをチェックする。まず、Iflag=1の場
合、すなわち命令が命令キャッシュから読み込まれたも
のである場合には、過去に命令キャッシュに保存されて
いた方の命令番地データ群を削除する(ステップ3
0)。Iflag=0の場合、すなわちメモリ読み込み
の場合には、今回実行した命令群が新たに命令キャッシ
ュに保存されることを意味するので、保存している命令
番地の個数ΣY[n]が50より多くなるかを調べ(ステ
ップ31)、多くなる場合は、最古の命令番地情報から
オーバーする個数分の命令を削除する(ステップ3
2)。
【0035】次に、Dflag=1であるか否かを判断
し(ステップ33)、Dflag=1の場合、すなわち
データがデータキャッシュ読み込みの場合には、過去に
データキャッシュに保存されていた方のデータ番地デー
タを削除する(ステップ34)。Dflag=0の場
合、すなわちメモリ読み込みの場合には、今回使用した
データが新たにデータキャッシュに保存されることを意
味するので、保存しているデータ番地の個数ΣZ[l]が
10より多くなるかを調べ(ステップ35)、多くなる
場合には、最古のデータ番地情報を削除する(ステップ
36)。
【0036】そして、上記(1)、(2)の処理の後、
最後に、式、関数の場合ともに、実行プログラム中のす
べての命令についてこのアルゴリズム処理を行ったかを
調べ(ステップ37)、終了していなければ、プログラ
ムカウンタ(N)を1増やしてから(ステップ38)、
再度ステップ4から繰り返す。一方、終了していれば、
本アルゴリズムを終了する。
【0037】ここで、このストール情報検出アルゴリズ
ムを上記図8で示したトレース情報を用いてさらに具体
的に説明する。この例では、プログラマが初めにccコ
ンパイラを使用して、通常オプションでコンパイルする
ことを決めているものとする。従って、ステップ2で
「ccコンパイラ使用」が認識され、ステップ3で「通
常オプション」が認識される。
【0038】次に、ステップ4でまず実行順序1の命令
が読み込まれる。この命令は初めて実行されるため、ス
テップ5、ステップ7、ステップ8、ステップ10のパ
スを通ってステップ11に進む。そして、この実行順序
1の命令は式であるため、ステップ12に進み、命令、
データ共にメモリ読み込みであることからステップ1
6、ステップ18へと進む。ここで、保存している命令
番地の個数ΣY[n]が50以下であるため、ステップ2
0に進む。データはメモリ読み込みであるのでステップ
22に進み、保存しているデータ番地の個数ΣZ[l]が
10より多くなるかが調べられる。ここでは10以下で
あるので、ステップ37に進む。そしてまだ、すべての
命令が実行されていないので、ステップ38を通って再
度ステップ4に戻り、次の命令の処理に入る。
【0039】実行順序2の命令は実行順序1の命令と同
じパスを通って処理される。
【0040】実効順序3の命令も初めて実行されるた
め、実行順序1の命令と同じくステップ11まで進む。
ここで、実行順序3の命令は関数であるため、ステップ
24に進む。そして、その関数によって必要とされる命
令数M、データ数Lを図9に示すライブラリデータを参
照して求め、命令数、データ数を増加させる。この実行
順序3の命令は12命令/4データを使用するので、命
令数を(12−1)=11、データ数を(4−1)=3
だけ増加させる。次に、ステップ25に進み、命令、デ
ータ共にメモリ読み込みであるので、ステップ29に振
り分けられ、ステップ31に進む。ここで、保存してい
る命令番地の個数(命令数)ΣY[n]が50以下である
ため、ステップ33に進む。データはメモリ読み込みで
あるので、ステップ35に進み、保存しているデータ番
地の個数(デー多数)ΣZ[l]が10以下であるため、
ステップ37に移り、ステップ38を経てステップ5に
戻る。
【0041】実行順序4、7の命令(式)は、実行順序
1の命令と同じパスを通って、実行順序5、6の命令
(関数)は、実行順序3の命令と同じパスを通って処理
される。
【0042】実行順序3’の命令は、ステップ5におい
てその命令番地がキャッシュに保存されている命令番地
と等しいと判断され、過去に実行された命令と同一であ
ると認識される。そして、ステップ6でフラグが立てら
れ(Iflag=1)、ステップ8に進む。ステップ8
では、既にデータキャッシュにデータがあるので、ステ
ップ9に進み、フラグを立てて(Dflag=1)、ス
テップ11に進む。この命令は関数であるため、ステッ
プ24を経由してステップ25に進む。命令、データ共
にキャッシュ読み込みであるので、ステップ26に振り
分けられ、ステップ30に進む。ステップ30で過去の
同一命令番地群を削除し、ステップ33を経由してステ
ップ34で過去に使用した同一データ番地群を削除す
る。そして、ステップ37、ステップ38を通ってステ
ップ4に戻る。
【0043】実行順序4’の命令は、実行順序3’の命
令と同じパスを通ってステップ4からステップ11に進
む。この命令は式であるため、ステップ12に進み、命
令、データ共にキャッシュ読み込みであるので、ステッ
プ13に振り分けられ、ステップ17で過去の同一命令
番地群を削除する。さらに、ステップ20、ステップ2
1と進み、過去に使用した同一データ番地群を削除す
る。そして、ステップ37、ステップ38を通ってステ
ップ4に戻る。
【0044】実行順序5’の命令は実行順序3の命令と
同じパスを通って処理され、実行順序6’の命令は実行
順序3の命令と同じパスを通って処理され、実行順序
7’の命令は実行順序4’の命令と同じパスを通って処
理される。
【0045】実行順序3”の命令は実行順序3’の命令
と同じパスを通って処理され、ステップ37まで進む。
この命令が最後の命令であるので、アルゴリズムを終了
する。
【0046】以上により、トレース情報にストール情報
を付加する作業が終了し、その出力結果をまとめると、
図12に示すストール情報を考慮したトレース情報を得
ることができる。
【0047】エスティメータ13で、この図12に示す
情報12と図9に示すファンクションレベルの一式/関
数当りの消費電力値ライブラリデータ15とから各命令
の消費電力を求め、それぞれを足し合わせることによっ
て、最終的に対象とする命令プログラム全体の消費電力
値7を求めることができる。図13では、命令プログラ
ムの合計は22300mWであることを示した。
【0048】このようなファンクションレベルのパワー
エスティメーション装置を用いることによって、高精度
なエスティメーション結果を高速に得ることができる。
また、ファンクションレベルでプログラミングする際に
式(関数)とその式(関数)の消費電力とを対応づけて
見ることを可能とすることにより、低消費電力を意識し
たプログラミングをすることが容易となる。
【0049】第2の実施の形態命令が関数である場合に
は、その関数中に分岐やループが存在するために実際に
シミュレーションを行わないと命令実行時の必要サイク
ル数や、消費電力値が一意的に求まらない場合が存在す
る。そこで、本実施の形態では、上記第1の実施の形態
とは異なり、図9に示すライブラリデータに代えて、図
14に示す最大値/最小値が示されたライブラリデータ
を用いる構成としたものである。
【0050】本実施の形態によれば、図1に示すエステ
ィメータ13により消費電力値7を求める際に、対応す
るデータの最大値を積和した最大消費電力値と、最小値
を積和した最小消費電力値をそれぞれ求めることが可能
となる。例えば、上記第1の実施の形態で用いた図7に
示すファンクションレベルの命令列を実行した時の消費
電力値は図14に示すライブラリデータを用いることに
よって図15に示すような最大及び最小の消費電力値7
を求めることができる。従って、消費電力がプログラム
実行時のデータに依存するためにその値を一意的に見積
もることができない場合であっても、少なくともその最
大値と最小値を求めることができる。それにより、消費
電力値が存在する範囲を特定することが可能となる。そ
して、この情報を設計者にフィードバックすることで、
設計者はプログラムの改良を容易に行うことができる。
【0051】第3の実施の形態 図16は、本実施の形態に係るパワーエスティメーショ
ン装置の構成を示すブロック図である。このパワーエス
ティメーション装置は、対象とするファンクションレベ
ルのソースプログラム列1を入力し、そのソースプログ
ラム列1をスタティック展開するスタティック展開部1
9と、そのスタティック展開されたプログラム列20を
用いて、一式(関数)当り消費電力ライブラリ15から
実行プログラムの消費電力値7を求めるエスティメータ
13とを備えるものである。
【0052】本実施の形態では、外部から与えられる分
岐/ジャンプ確率及びループ回数を用いて命令(デー
タ)がキャッシュ読み込みなのか、メモリ読み込みなの
かを判断し、それによりスタティック展開部19がソー
スプログラム列1をスタティック展開する。すなわち、
実際にシミュレーションを行わずにソースプログラム列
1を展開することが可能となる。例えば、上記第1の実
施の形態で用いた図7に示すファンクションレベルの命
令列は、プログラム中のループ回数を外部から「ループ
回数=2」と指定することで、実際にシミュレーション
することなく図12に示すプログラム列を得ることがで
きる。従って、ファンクションレベルにおいて、プログ
ラム中で使用する変数値が確定していない段階であって
も消費電力値の見積りが可能となる。また、実際にシミ
ュレーションを行う必要がないので、消費電力見積りの
高速化が図られ、シミュレーションにかけられない未完
成なプログラムに対しても消費電力の見積りが可能とな
る。
【0053】第4の実施の形態 図17は、本実施の形態に係るデータキャッシュ情報検
出装置の構成を示すブロック図である。このデータキャ
ッシュ情報検出装置は、対象とするファンクションレベ
ルの命令列1を入力し、そのソースプログラム列1のト
レース情報9を生成するトレース部8と、トレース情報
9を用いて、式(関数)毎のデータキャッシュ情報22
からデータキャッシュミス情報23を検出するデータキ
ャッシュチェック部21とを備えるものである。
【0054】本実施の形態では、プログラム中で使用さ
れる関数それぞれに対して、その関数が参照するデータ
の総数、参照する種類(例えば、その関数内部のみで使
用される内部データであるか、対象とするプログラム全
体で使用されるグローバルデータであるか、等であ
る)、参照するタイミング及びその関数実行後データキ
ャッシュ内に保存されるデータの順番と種類を保持する
ライブラリデータであるデータキャッシュ情報22を用
いることにより、データキャッシュミスを起こすデータ
及びその個数が情報として得られるようにしたものであ
る。
【0055】次に、本実施の形態に係るデータキャッシ
ュ情報検出装置の動作の具体例を図面を参照しつつ説明
する。なお、ここでは図19に示すデータを有する関数
が、図20に示す実行順序で実行された場合を例として
説明する。
【0056】図17に示すように、まず最初に、対象と
するプログラム列1を一命例ずつ実行させて展開し、こ
れらの命令がどのような順番(実行順序)で実行される
かというトレース情報9を求める。このプログラムは、
トレース展開しても実行順序は変化しない。
【0057】次に、このトレース情報9と、式(関数)
毎のデータキャッシュ情報22とを参照することにより
データキャッシュミス情報23を検出する。このデータ
キャッシュ情報検出アルゴリズムの例を図18に示す。
このアルゴリズムでは、まず、ステップ101で初期
化を行った後、ステップ102で対象とするプログラム
に適用するコンパイラの種類の確認、ステップ103で
コンパイル時のオプションの確認を行う。この例では、
プログラマが初めにccコンパイラを使用して、通常オ
プションでコンパイルすることを決めているものとすれ
ば、ステップ102で「ccコンパイラ使用」が認識さ
れ、ステップ103で「通常オプション」が認識される
ことになる。
【0058】次に、ステップ104で実行される式/関
数が認識される。図19に示す関数では、最初に命令A
が実行されるので、まず最初に命令Aが認識される。命
令Aは初めて実行される命令なので、ステップ105を
通ってステップ109に進む。ステップ109では、命
令Aの終了時のデータキャッシュ状態を図19から求
め、その状態にデータキャッシュを更新する。そして、
ステップ110でグローバルデータY、Zがデータキャ
ッシュミスを起こしたという情報をプログラマにフィー
ドバックする。
【0059】次に、ステップ111で全ての命令が実行
されたか判断される。ここでは、後続の式/関数が存在
するため、ステップ104に戻る。ステップ104で命
令Bが認識される。データキャッシュ中には既にデータ
が入っているので、ステップ105、ステップ106と
進み、この式/関数で使用するグローバルデータが何で
あるか、及びその総数を認識する。具体的には、図19
から命令Bの使用するグローバルデータがX、Y、Zの
3つであることを認識する。そして、ステップ107で
このデータX、Y、Zがデータキャッシュ中に存在する
か否かをチェックする。ここでは、データYが存在する
ために、ステップ108に進む。ステップ108で実際
にそのデータYがデータキャッシュから読み込むことが
できるか(使用できるか)を確認する。具体的には、図
19に示すデータに基づいてFIFO(first in first
out;先入れ先出し)で実行すると、命令BでデータY
を使用する前に、データキャッシュ中に格納されていた
データYはデータキャッシュから削除され、実際には使
用できない、すなわちキャッシュミスが生じることがわ
かる。そして、ステップ109に進み、命令Bの終了時
のデータキャッシュ状態を図19に示すデータから求
め、その状態にデータキャッシュを更新し、ステップ1
09でグローバルデータX、Y、Zがキャッシュミスを
起こしたという情報をプログラマにフィードバックす
る。
【0060】次に、ステップ111で全ての命令が実行
されたかが判断される。ここでは、後続の式/関数が存
在するため、再びステップ104に戻る。ステップ10
4で命令Cが認識され、命令Bと同じパスを通ってステ
ップ107に進む。命令CのグローバルデータはZであ
り、データZはデータキャッシュ中に存在するので、ス
テップ108に進む。ステップ108で実際にそのデー
タZがデータキャッシュから読み込むことができるか
(使用できるか)を上記と同様に確認する。ここでは、
データZは使用可能であり、ステップ109でデータキ
ャッシュの更新後、ステップ110でグローバルデータ
Zがデータキャッシュヒットであるという情報をプログ
ラマにフィードバックする。
【0061】次に、ステップ111で全ての命令が実行
されたかが判断され、ここで終了する。
【0062】このように得られたデータキャッシュミス
情報により、プログラマはデータキャッシュミスを起こ
すデータ及びその個数を知ることができる。それによ
り、例えば実行結果に影響がない場合であれば図20に
示す実行順序を変更することで、キャッシュミスを改善
したり、この改善による他のデータへの影響を再度調べ
たりすることができる。従って、キャッシュミスによる
消費電力の低減化を図ることが可能となる。
【0063】例えば、図19に示すデータを有する命令
を図20に示す実行順序で実行した場合、データキャッ
シュ内部状態は図21に示すように変化し、そのためグ
ローバルデータのキャッシュミスは4回起こっている。
ここで、命令順序を変更しても実行結果に影響がない場
合、例えば図22に示す実行順序で実行すれば、データ
キャッシュ内部状態は図23に示すように変化するの
で、データキャッシュミスは1回に減少する。従って、
上述したように、キャッシュミスによる消費電力の低減
化を図ることができる。
【0064】なお、上述したパワーエスティメーション
を実現するためのプログラムは記録媒体に保存すること
ができる。この記録媒体をコンピュータシステムによっ
て読み込ませ、前記プログラムを実行してコンピュータ
を制御しながら上述したパワーエスティメーションを実
現することができる。ここで、前記記録媒体とは、メモ
リ装置、磁気ディスク装置、光ディスク装置等、プログ
ラムを記録することができるような装置が含まれる。
【0065】第5の実施の形態 本実施の形態は、上記第1〜第3の実施の形態で求めら
れた消費電力値をプログラマに表示するGUI(graphi
cal user interface)に関するものである。
【0066】図24は、本実施の形態に係るGUIによ
り表示した消費電力値見積結果の第1の例を示す図であ
る。この例では、トレース展開した後のファンクション
レベルの命令それぞれに対して、その式/関数が消費す
る消費電力値を一対一対応で表示したものである。
【0067】図25は、本実施の形態に係るGUIによ
り表示した消費電力値見積結果の第2の例を示す図であ
る。この例では、トレース展開前のファンクションレベ
ルのプログラム列に対して、それぞれの式/関数の発生
頻度、その式/関数が1回当りに消費する最小と最大の
消費電力値、及び発生頻度と最小・最大消費電力値との
積(Totalの消費電力値)を表示したものである。
【0068】図26は、本実施の形態に係るGUIによ
り表示した消費電力値見積結果の第3の例を示す図であ
る。この例では、トレース展開前のファンクションレベ
ルのプログラム列に対して、それぞれの式/関数の発生
頻度、その式/関数が起こすデータキャッシュミスの頻
度、及びその式/関数の発生頻度とデータキャッシュミ
スの頻度を考慮したそれぞれの消費電力値を積算して求
めた消費電力値を表示したものである。
【0069】図27は、本実施の形態に係るGUIによ
り表示した消費電力値見積結果の第4の例を示す図であ
る。この例では、階層構造を有する関数を使用している
場合、その関数を指定することで、より詳細な情報を得
ることができる。
【0070】本実施の形態によれば、より効率良く情報
を解析し、プログラマにフィードバックすることが可能
となる。
【0071】第6の実施の形態 本実施の形態は、上記第4の実施の形態で求められたデ
ータキャッシュミス情報をプログラマに表示するGUI
に関するものである。
【0072】図28は、本実施の形態に係るGUIによ
り表示したデータキャッシュミス情報結果の第1の例を
示す図である。この例では、式/関数が使用するデータ
番地(図中細線)、その式/関数の参照回数、及びデー
タキャッシュミスを起こしたデータの番地(図中太線)
を示したものである。
【0073】図29は、本実施の形態に係るGUIによ
り表示したデータキャッシュミス情報結果の第2の例を
示す図である。この例では、式/関数が使用するデータ
番地、及びその使用タイミングを表示したものである。
【0074】本実施の形態によれば、より効率良く情報
を解析し、プログラマにフィードバックすることが可能
となる。
【0075】
【発明の効果】以上説明したように、本発明によれば、
高速化、かつ高精度に消費電力の見積りを行うことが可
能となる。
【0076】そして、この消費電力の見積りはファンク
ションレベルのソースプログラムに対して行われるの
で、見積結果をプログラムに反映させることが容易とな
り、従って、プロセッサ上で実行する命令プログラム作
成時に、低消費電力を意識したプログラムをリアルタイ
ムで比較検討しながら作成することが可能となる。
【図面の簡単な説明】
【図1】第1の実施の形態に係るパワーエスティメーシ
ョン装置の構成を示すブロック図である。
【図2】第1の実施の形態で使用するプロセッサの構成
を示す図である。
【図3】第1の実施の形態で使用するコンパイラのオプ
ションを説明するための図である。
【図4】ファンクションレベルの式とアセンブリレベル
の対応例を示す図である。
【図5】ファンクションレベルの関数とアセンブリレベ
ルの対応例を示す図である。
【図6】図1の消費電力ライブラリ15の一例を示す図
である。
【図7】図1のプログラム列1の一例を示す図である。
【図8】図7のプログラム列に対する図1のトレース情
報9の一例を示す図である。
【図9】図7のプログラム列に対する図1の消費電力ラ
イブラリ15を示す図である。
【図10】第1の実施の形態で使用するストール情報検
出アルゴリズムを示すフローチャートである(その
1)。
【図11】第1の実施の形態で使用するストール情報検
出アルゴリズムを示すフローチャートである。
【図12】図7のプログラム列に対する図1のストール
情報を考慮したトレース情報12を示す図である。
【図13】図7のプログラム列に対する図1の消費電力
値7を示す図である。
【図14】第2の実施の形態で使用する図1の消費電力
ライブラリ15を示す図である。
【図15】第2の実施の形態での図1の消費電力7を示
す図である。
【図16】第3の実施の形態に係るパワーエスティメー
ション装置の構成を示すブロック図である。
【図17】第4の実施の形態に係るデータキャッシュ情
報検出装置の構成を示すブロック図である。
【図18】第4の実施の形態で使用するデータキャッシ
ュ情報検出アルゴリズムのフローチャートである。
【図19】図17のプログラム列1の一例を示す図であ
る。
【図20】図19のプログラム列の実行順序を示す図で
ある。
【図21】図19のプログラム列を図20の実行順序で
実行した場合におけるデータキャッシュ内部状態の変化
を示す図である。
【図22】図19のプログラム列の他の実行順序を示す
図である。
【図23】図19のプログラム列を図22の実行順序で
実行した場合におけるデータキャッシュ内部状態の変化
を示す図である。
【図24】第5の実施の形態に係るGUIの第1の表示
例を示す図である。
【図25】第5の実施の形態に係るGUIの第2の表示
例を示す図である。
【図26】第5の実施の形態に係るGUIの第3の表示
例を示す図である。
【図27】第5の実施の形態に係るGUIの第4の表示
例を示す図である。
【図28】第6の実施の形態に係るGUIの第1の表示
例を示す図である。
【図29】第6の実施の形態に係るGUIの第2の表示
例を示す図である。
【図30】第1の従来例であるシミュレーション装置の
構成を示すブロック図である。
【図31】第2の従来例であるエスティメーション装置
の構成を示すブロック図である。
【符号の説明】
1 プログラム列 2 コンパイラ 3 アセンブリコード 4 ゲート/Trレベル変換部 5 ゲート/Trレベル用入力信号値 6 シミュレータ 7 消費電力値 8 トレース部 9 トレース情報 10 ストール情報検出部 11 マイクロプロセッサの動作情報 12 ストール情報を含むトレース情報 13 エスティメータ 14 ストール情報を考慮した消費電力ライブラリ 15 一式(関数)当りの消費電力ライブラリ 16 メモリ部 17a 命令キャッシュ部 17b データキャッシュ部 18 コア部 19 スタティック展開部 20 スタティック展開されたプログラム列 21 データキャッシュチャック部 22 式(関数)毎のデータキャッシュ情報 23 データキャッシュミス情報

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサ上で実行される実行プログラ
    ムに含まれる命令が実行された時の消費電力値をファン
    クションレベルのプログラム(以下、ソースプログラム
    という)に含まれる命令に対して見積もるパワーエステ
    ィメーション装置であって、 前記ソースプログラムに含まれる命令ごとの消費電力値
    を前記プロセッサがストールするか否かを考慮して算出
    する手段と、 その複数の消費電力値を用いて前記実行プログラムの消
    費電力値を求める手段とを有することを特徴とするパワ
    ーエスティメーション装置。
  2. 【請求項2】 プロセッサ上で実行される実行プログラ
    ムに含まれる命令がが実行された時の消費電力値をソー
    スプログラムに含まれる命令に対して見積もるパワーエ
    スティメーション装置であって、 前記ソースプログラムを入力し、そのソースプログラム
    のトレース情報を生成するトレース手段と、 そのトレース手段で生成されたトレース情報を入力し、
    前記ソースプログラムのストール情報を生成するストー
    ル情報検出手段と、 このストール情報検出手段にて検出されたストール情報
    を用い、前記ソースプログラムの命令ごとの消費電力値
    ライブラリから前記実行プログラムの消費電力値を求め
    る消費電力算出手段とを有することを特徴とするパワー
    エスティメーション装置。
  3. 【請求項3】 所定の実行プログラムに含まれる命令を
    実行するプロセッサ部と、 前記所定の実行プログラムに含まれる命令を保持するメ
    モリ部と、 前記所定の実行プログラムに含まれる命令の一部を保持
    する命令キャッシュ部と、 前記所定の実行プログラムに含まれる命令に使用される
    データの一部を保持するデータキャッシュとを備えたコ
    ンピュータシステムにおける消費電力値をソースプログ
    ラムに含まれる命令に対して見積もるパワーエスティメ
    ーション装置であって、 前記ソースプログラムを入力し、そのソースプログラム
    のトレース情報を生成するトレース手段と、 このトレース手段で生成されたトレース情報を入力し、
    前記実行プログラムに含まれる命令が前記メモリ部若し
    くは前記命令キャッシュ部のいずれに保持されているか
    の情報、及びその命令に使用されるデータが前記メモリ
    部若しくは前記データキャッシュ部のいずれに保持され
    ているかの情報を含むストール情報を検出するストール
    情報検出手段と、 このストール情報検出手段にて検出されたストール情報
    を用い、前記ソースプログラムの命令ごとの消費電力値
    ライブラリから前記実行プログラムの消費電力値を求め
    る消費電力算出手段とを具備することを特徴とするパワ
    ーエスティメーション装置。
  4. 【請求項4】 前記パワーエスティメーション装置であ
    って、 前記ソースプログラムに含まれる命令に使用されるデー
    タがデータキャッシュミスを起こすか否かの情報を示す
    手段をさらに具備することを特徴とする請求項1、2又
    は3記載のパワーエスティメーション装置。
  5. 【請求項5】 プロセッサ上で実行される実行プログラ
    ムに含まれる命令が実行された時の消費電力値をソース
    プログラムに含まれる命令に対して見積もるパワーエス
    ティメーション方法であって、 前記ソースプログラムに含まれる命令ごとの消費電力値
    を前記プロセッサがストールするか否かを考慮して算出
    するステップと、 前記ソースプログラムに含まれる命令ごとの消費電力値
    を用いて前記実行プログラムの消費電力値を求めるステ
    ップとを有することを特徴とするパワーエスティメーシ
    ョン方法。
  6. 【請求項6】 プロセッサ上で実行される実行プログラ
    ムに含まれる命令が実行された時の消費電力値をソース
    プログラムに含まれる命令に対して見積もるパワーエス
    ティメーションプログラムを記録した機械読み取り可能
    な記録媒体であって、 前記ソースプログラムに含まれる命令ごとの消費電力値
    を前記プロセッサがストールするか否かを考慮して算出
    するステップと、 前記ソースプログラムに含まれる命令ごとの消費電力値
    を用いて前記実行プログラムの消費電力値を求めるステ
    ップとを有することを特徴とするパワーエスティメーシ
    ョンプログラムを記録した機械読み取り可能な記録媒
    体。
JP10033235A 1998-02-16 1998-02-16 パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体 Pending JPH11232147A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10033235A JPH11232147A (ja) 1998-02-16 1998-02-16 パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体
US09/250,438 US6205555B1 (en) 1998-02-16 1999-02-16 Processor power consumption estimating system, processor power consumption estimating method, and storage medium storing program for executing the processor power consumption estimating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10033235A JPH11232147A (ja) 1998-02-16 1998-02-16 パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JPH11232147A true JPH11232147A (ja) 1999-08-27

Family

ID=12380807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10033235A Pending JPH11232147A (ja) 1998-02-16 1998-02-16 パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体

Country Status (2)

Country Link
US (1) US6205555B1 (ja)
JP (1) JPH11232147A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691080B1 (en) 1999-03-23 2004-02-10 Kabushiki Kaisha Toshiba Task execution time estimating method
JP2005062106A (ja) * 2003-08-19 2005-03-10 Toshiba Corp トレースデータ処理装置、トレースデータ処理方法およびトレースデータ処理プログラム
JP2006178785A (ja) * 2004-12-22 2006-07-06 Mitsubishi Electric Corp 電力制御情報管理装置、電力制御情報生成装置、電力見積もり生成装置および電力制御装置
JP2011014089A (ja) * 2009-07-06 2011-01-20 Mitsubishi Electric Corp 電力制御情報生成装置および電力制御装置
DE102013104633A1 (de) 2012-05-17 2013-11-21 Mitsubishi Electric Corp. Schätzeinrichtung für verbrauchte Leistung, elektronisches Gerät, Verfahren zum Schätzen von verbrauchter Leistung und Aufzeichnungsmedium
JP2015035033A (ja) * 2013-08-07 2015-02-19 富士通セミコンダクター株式会社 設計支援方法、設計支援プログラム、および設計支援装置
WO2015033759A1 (ja) * 2013-09-04 2015-03-12 株式会社Nttドコモ デバッグ装置、デバッグ方法及びデバッグプログラム
CN112559297A (zh) * 2020-12-23 2021-03-26 Oppo广东移动通信有限公司 功耗计算方法、装置、存储介质、终端及服务器

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6718544B1 (en) * 2000-02-22 2004-04-06 Texas Instruments Incorporated User interface for making compiler tradeoffs
JP2002024029A (ja) * 2000-07-11 2002-01-25 Toshiba Corp コンパイラ、コンパイル方法及びコンパイルプログラムを記録したコンピュータ読み取り可能な記録媒体
US6625737B1 (en) * 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
US7620832B2 (en) * 2000-09-20 2009-11-17 Mips Technologies, Inc. Method and apparatus for masking a microprocessor execution signature
JP3877518B2 (ja) * 2000-12-13 2007-02-07 松下電器産業株式会社 プロセッサの電力制御装置
US20020194511A1 (en) * 2001-06-18 2002-12-19 Swoboda Gary L. Apparatus and method for central processing unit power measurement in a digital signal processor
JP3600556B2 (ja) * 2001-06-29 2004-12-15 株式会社東芝 情報処理装置
US6820222B2 (en) * 2001-08-08 2004-11-16 Texas Instruments Incorporated Apparatus and method for processor power measurement in a digital signal processor using trace data and simulation techniques
US6775787B2 (en) * 2002-01-02 2004-08-10 Intel Corporation Instruction scheduling based on power estimation
US7174468B2 (en) * 2002-08-01 2007-02-06 Texas Instruments Incorporated Methodology for coordinating and tuning application power
US8374841B2 (en) * 2002-11-22 2013-02-12 Texas Instruments Incorporated Precise detection of triggers and trigger ordering for asynchronous events
DE10302795B4 (de) * 2003-01-24 2006-03-09 Infineon Technologies Ag Verfahren zum Bereitstellen und Optimieren eines virtuellen Prototypen und Anordnung
US7200763B2 (en) * 2003-10-09 2007-04-03 Sun Microsystems, Inc. Method and apparatus for controlling the power consumption of a semiconductor device
US7770034B2 (en) * 2003-12-16 2010-08-03 Intel Corporation Performance monitoring based dynamic voltage and frequency scaling
US20070011470A1 (en) * 2003-12-22 2007-01-11 Koninklijke Philips Electronic, N.V. Method and apparatus for rendering multimedia data objects
US7222030B2 (en) * 2004-02-06 2007-05-22 Intel Corporation Method and apparatus for profiling power performance of software applications
WO2007066058A1 (en) * 2005-12-06 2007-06-14 Arm Limited Energy management
US7349828B1 (en) * 2006-02-15 2008-03-25 Hewlett-Packard Development Company, L.P. Estimating an electronic device condition
JP5045122B2 (ja) * 2007-01-29 2012-10-10 富士通株式会社 プログラムの評価プログラム、プログラムの評価装置、プログラムの評価方法
US8756564B2 (en) 2009-05-29 2014-06-17 International Business Machines Corporation Techniques for providing environmental impact information associated with code
US20110145612A1 (en) * 2009-12-16 2011-06-16 International Business Machines Corporation Method and System to Determine and Optimize Energy Consumption of Computer Systems
US8356194B2 (en) * 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
JP5785725B2 (ja) * 2010-10-15 2015-09-30 富士通株式会社 電力見積装置、電力見積方法及びプログラム
JP5505522B2 (ja) * 2011-02-01 2014-05-28 富士通株式会社 プログラム実行方法
US20130061213A1 (en) * 2011-08-26 2013-03-07 Cognitive Electronics, Inc. Methods and systems for optimizing execution of a program in a parallel processing environment
US8904208B2 (en) * 2011-11-04 2014-12-02 International Business Machines Corporation Run-time task-level dynamic energy management
JP5725213B2 (ja) * 2012-01-31 2015-05-27 日本電気株式会社 情報処理装置、及び情報処理装置の使用電力算出方法
US9671844B2 (en) 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
JP6631374B2 (ja) * 2016-04-13 2020-01-15 富士通株式会社 情報処理装置、動作状況収集プログラム及び動作状況収集方法
US10255462B2 (en) 2016-06-17 2019-04-09 Arm Limited Apparatus and method for obfuscating power consumption of a processor
US10812350B2 (en) * 2017-12-20 2020-10-20 Silicon Laboratories, Inc. System monitoring device
US11442834B2 (en) * 2018-08-21 2022-09-13 Wiliot, LTD. System and method for analyzing power usage of an energy-aware computing system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3212213B2 (ja) * 1994-03-16 2001-09-25 株式会社日立製作所 データ処理装置
JPH08202468A (ja) * 1995-01-27 1996-08-09 Hitachi Ltd マルチプロセッサシステム
JP3618442B2 (ja) 1996-02-08 2005-02-09 株式会社東芝 マイクロプロセッサのパワーエスティメータ装置
JP3494813B2 (ja) 1996-07-19 2004-02-09 株式会社東芝 マイクロプロセッサの消費電力見積もり方法
JP3351725B2 (ja) 1997-01-08 2002-12-03 株式会社東芝 パワーシミュレーション装置、パワーシミュレーション方法、及びパワーシミュレーションプログラムを記録した機械読み取り可能な記録媒体

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691080B1 (en) 1999-03-23 2004-02-10 Kabushiki Kaisha Toshiba Task execution time estimating method
JP2005062106A (ja) * 2003-08-19 2005-03-10 Toshiba Corp トレースデータ処理装置、トレースデータ処理方法およびトレースデータ処理プログラム
JP2006178785A (ja) * 2004-12-22 2006-07-06 Mitsubishi Electric Corp 電力制御情報管理装置、電力制御情報生成装置、電力見積もり生成装置および電力制御装置
JP4541127B2 (ja) * 2004-12-22 2010-09-08 三菱電機株式会社 電力制御情報管理装置
JP2011014089A (ja) * 2009-07-06 2011-01-20 Mitsubishi Electric Corp 電力制御情報生成装置および電力制御装置
DE102013104633A1 (de) 2012-05-17 2013-11-21 Mitsubishi Electric Corp. Schätzeinrichtung für verbrauchte Leistung, elektronisches Gerät, Verfahren zum Schätzen von verbrauchter Leistung und Aufzeichnungsmedium
US9342637B2 (en) 2012-05-17 2016-05-17 Mitsubishi Electric Corporation Consumed power estimation device, electronic device, consumed power estimation method and recording medium
JP2015035033A (ja) * 2013-08-07 2015-02-19 富士通セミコンダクター株式会社 設計支援方法、設計支援プログラム、および設計支援装置
WO2015033759A1 (ja) * 2013-09-04 2015-03-12 株式会社Nttドコモ デバッグ装置、デバッグ方法及びデバッグプログラム
JP2015049840A (ja) * 2013-09-04 2015-03-16 株式会社Nttドコモ デバッグ装置、デバッグ方法及びデバッグプログラム
CN112559297A (zh) * 2020-12-23 2021-03-26 Oppo广东移动通信有限公司 功耗计算方法、装置、存储介质、终端及服务器

Also Published As

Publication number Publication date
US6205555B1 (en) 2001-03-20

Similar Documents

Publication Publication Date Title
JPH11232147A (ja) パワーエスティメーション装置、パワーエスティメーション方法、及びパワーエスティメーションプログラムを記録した機械読み取り可能な記録媒体
JP4785213B2 (ja) コンピュータ性能データを分析する方法
JP3351725B2 (ja) パワーシミュレーション装置、パワーシミュレーション方法、及びパワーシミュレーションプログラムを記録した機械読み取り可能な記録媒体
US8484006B2 (en) Method for dynamically adjusting speed versus accuracy of computer platform simulation
US5950009A (en) Method and apparatus for profile-based reordering of program portions in a computer program
US5960198A (en) Software profiler with runtime control to enable and disable instrumented executable
US5987250A (en) Transparent instrumentation for computer program behavior analysis
US7716031B2 (en) Interface converter for unified view of multiple computer system simulations
US7779393B1 (en) System and method for efficient verification of memory consistency model compliance
US7761272B1 (en) Method and apparatus for processing a dataflow description of a digital processing system
US20130318504A1 (en) Execution Breakpoints in an Integrated Development Environment for Debugging Dataflow Progrrams
JPH10254700A (ja) 個々の命令の実行頻度をサンプリングするプロセッサ性能カウンタ
TWI507990B (zh) 多核心指令集模擬之高平行化同步方法
KR102161192B1 (ko) 코어 트레이스로부터 데이터 마이닝을 하기 위한 방법 및 장치
JP3608915B2 (ja) マルチプロセッシングシステムの性能評価方法および装置並びにマルチプロセッシングシステムの性能評価プログラムを格納した記憶媒体
CN107769987B (zh) 一种报文转发性能评估方法和装置
Natarajan et al. From code to weakly hard constraints: A pragmatic end-to-end toolchain for timed c
US20040083088A1 (en) Analysis of the performance of a portion of a data processing system
US6880072B1 (en) Pipelined processor and method using a profile register storing the return from exception address of an executed instruction supplied by an exception program counter chain for code profiling
JPH08180094A (ja) アーキテクチャ・シミュレータ
JP3295803B2 (ja) プロセッサ方式性能測定方式
JPH02176938A (ja) 機械語命令最適化方式
JPH04252336A (ja) プログラム最適化処理装置
JP2000222245A (ja) プログラム実行時間評価装置、ソースプログラム実行時間評価装置、プログラム実行時間評価方法、及びソースプログラム実行時間評価方法
Ramaprasad Analytically bounding data cache behavior for real-time systems