(57)【特許請求の範囲】
【請求項１】
ＣＰＵ（演算ユニット）と、前記ＣＰＵに読み込まれて実行される命令が格納される第１のメモリ及び第２のメモリを備えたマイクロプロセッサにおける命令実行時の消費電力を、実行される命令のアセンブラ記述から求めるマイクロプロセッサのパワーエスティメータ装置において、
前記ＣＰＵで実行される複数の命令の内の第１の命令が前記第１のメモリから前記ＣＰＵに読み込まれると同時に、複数の命令を格納できる前記第２のメモリに前記第１のメモリから前記ＣＰＵに読み込まれた前記第１の命令を含む前記複数の命令が格納され、前記第１の命令が前記ＣＰＵで実行されるのに続いて、前記第２のメモリから前記ＣＰＵに命令が読み込まれて命令が実行される場合に、前記ＣＰＵで実行される命令が前記第１のメモリから読み込まれる場合の第１の消費電力値を求め、前記ＣＰＵで実行される命令が前記第２のメモリから読み込まれる場合の第２の消費電力値を求める第１の消費電力取得手段と、
前記ＣＰＵで実行される命令が、前記第１のメモリから前記ＣＰＵに読み込まれた命令であるか、あるいは前記第２のメモリから前記ＣＰＵに読み込まれた命令であるかを判別する判別手段と、
前記判別手段の判別結果に基づいて、前記第１のメモリから前記ＣＰＵに読み込まれた命令が実行された場合は、前記第１の消費電力取得手段で求められた第１の消費電力値を使用し、前記第２のメモリから前記ＣＰＵに読み込まれた命令が実行された場合には、前記第１の消費電力取得手段で求められた第２の消費電力値を使用して前記マイクロプロセッサの消費電力を求める第２の消費電力取得手段と
を有することを特徴とするマイクロプロセッサのパワーエスティメータ装置。
【請求項２】
前記複数の命令は、ｍ（ｍ＝２，…，自然数）個の命令からなり、前記判別手段は、命令の読み込みが開始された後、ｍ命令毎の命令は前記第１のメモリから読み込まれたことを判別し、他の命令は前記第２のメモリから読み込まれたことを判別し、
前記第２の消費電力取得手段は、前記判別手段の判別結果に基づいて、前記ｍ命令毎の命令の実行には前記第１の消費電力値を使用し、前記他の命令の実行には前記第２の消費電力値を使用してマイクロプロセッサの消費電力を求める
ことを特徴とする請求項１記載のマイクロプロセッサのパワーエスティメータ装置。
【請求項３】
前記複数の命令は、ｍ（ｍ＝２，…，自然数）個の命令からなり、前記判別手段は、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する変更命令が実行される場合に、前記変更命令の実行が開始された後、ｍ命令毎の命令は、前記第１のメモリから読み込まれたことを判別し、他の命令は、前記第２のメモリから読み込まれたことを判別し、
前記第２の消費電力取得手段は、前記判別手段の判別結果に基づいて、前記ｍ命令毎の命令の実行には前記第１の消費電力値を使用し、前記他の命令の実行には前記第２の消費電力値を使用してマイクロプロセッサの消費電力を求める
ことを特徴とする請求項１記載のマイクロプロセッサのパワーエスティメータ装置。
【請求項４】
前記複数の命令は、ｍ（ｍ＝２，…，自然数）個の命令からなり、前記判別手段は、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する変更命令の実行が開始された後、前記変更命令の次の命令以降に続く０又はｍ個未満の命令は、前記第２のメモリから読み込まれたことを判別し、その後に続くｍ命令毎の命令は、前記第１のメモリから読み込まれたことを判別し、他の命令は、前記第２のメモリから読み込まれたことを判別し、
前記第２の消費電力取得手段は、前記判別手段の判別結果に基づいて、前記０又はｍ個未満の命令の実行には前記第２の消費電力値を使用し、前記その後に続くｍ命令毎の命令の実行には前記第１の消費電力値を使用し、前記他の命令の実行には前記第２の消費電力値を使用してマイクロプロセッサの消費電力を求めることを特徴とする請求項１記載のマイクロプロセッサのパワーエスティメータ装置。
【請求項５】
前記複数の命令は、ｍ（ｍ＝２，…，自然数）個の命令からなり、前記判別手段は、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する変更命令の実行が開始されて、前記変更命令に続けて記述されている命令を１又は複数個実行した後命令順序が変更される場合に、前記命令に続けて記述されている命令が複数個実行されてｍ命令毎の命令は、前記第１のメモリから読み込まれたことを判別し、他の命令は、前記第２のメモリから読み込まれたことを判別し、
前記第２の消費電力取得手段は、前記判別手段の判別結果に基づいて、前記ｍ命令毎の命令の実行には前記第１の消費電力値を使用し、前記他の命令の実行には前記第２の消費電力値を使用してマイクロプロセッサの消費電力を求める
ことを特徴とする請求項１記載のマイクロプロセッサのパワーエスティメータ装置。
【請求項６】
前記複数の命令は、ｍ（ｍ＝２，…，自然数）個の命令からなり、前記判別手段は、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する変更命令の実行が開始されて、前記変更命令に続けて記述されている命令を複数個実行した後命令順序が変更される場合に、前記命令に続けて記述されている命令が１又は複数個実行されて次の命令以降に続く０又はｍ個未満の命令は、前記第２のメモリから読み込まれたことを判別し、その後に続くｍ命令毎の命令は、前記第１のメモリから読み込まれたことを判別し、他の命令は、前記第２のメモリから読み込まれたことを判別し、
前記第２の消費電力取得手段は、前記０又はｍ個未満の命令の実行には前記第２の消費電力値を使用し、前記その後に続くｍ命令毎の命令の実行には前記第１の消費電力値を使用し、前記他の命令の実行には前記第２の消費電力値を使用してマイクロプロセッサの消費電力を求める
ことを特徴とする請求項１記載のマイクロプロセッサのパワーエスティメータ装置。
【請求項７】
前記判別手段は、前記ＣＰＵで実行される命令の数、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する変更命令の数、ならびに前記第１又は第２のメモリの容量に基づいて、前記第１のメモリから読み込まれる命令の回数と、前記第２のメモリから読み込まれる命令の回数を求め、
前記第２の消費電力取得手段は、前記判別手段により前記第１のメモリに対して求められた回数と、前記第１の消費電力取得手段により前記第１のメモリに対応して求められた消費電力値との第１の積を求め、前記判別手段により前記第２のメモリに対して求められた回数と、前記第１の消費電力取得手段により前記第２のメモリに対応して求められた消費電力値との第２の積を求め、前記第１のメモリに対して求められた前記第１の積と前記第２のメモリに対して求められた前記第２の積との和を求めてマイクロプロセッサの消費電力を求める
ことを特徴とする請求項１記載のマイクロプロセッサのパワーエスティメータ装置。
【請求項８】
前記判別手段は、前記ＣＰＵで実行される命令の数、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する変更命令が発生する確率、ならびに前記第１又は第２のメモリの容量に基づいて、前記第１のメモリから読み込まれる命令の回数と、前記第２のメモリから読み込まれる命令の回数を求め、
前記第２の消費電力取得手段は、前記判別手段により前記第１のメモリに対して求められた回数と、前記第１の消費電力取得手段により前記第１のメモリに対応して求められた消費電力値との第１の積を求め、前記判別手段により前記第２のメモリに対して求められた回数と、前記第１の消費電力取得手段により前記第２のメモリに対応して求められた消費電力値との第２の積を求め、前記第１のメモリに対して求められた前記第１の積と前記第２のメモリに対して求められた前記第２の積との和を求めてマイクロプロセッサの消費電力を求める
ことを特徴とする請求項１記載のマイクロプロセッサのパワーエスティメータ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数のメモリを備えたマイクロプロセッサにおける命令レベルでの消費電力を、命令のアセンブラ記述から評価するマイクロプロセッサのパワーエスティメータ装置に関する。
【０００２】
【従来の技術】
近年、コンピュータ技術ならびに半導体集積回路の飛躍的な発展により、電子機器、特にパーソナルコンピュータの小型化及び携帯化が進んでいる。このような傾向において、マイクロプロセッサの処理スピードの向上とともに低消費電力化が極めて重要な課題になっている。低消費電力化を達成するにあたっては、マイクロプロセッサを設計する際に消費電力を正確に評価する必要がある。
【０００３】
従来では、例えば文献「Ｖｉｖｅｋ  Ｔｉｗａｒｉ，  Ｓｈａｒａｄ  Ｍａｌｉｋ，  Ａｎｄｒｅｗ  Ｗｏｌｆｅ  ：
“Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ  ｏｆ  Ｅｍｂｅｄｄｅｄ  Ｓｏｆｔｗａｒｅ  ：Ａ  Ｆｉｒｓｔ    Ｓｔｅｐ  ｔｏｗａｒｄｓ  Ｓｏｆｔｗａｒｅ  Ｐｏｗｅｒ  Ｍｉｎｉｍｉｚａｔｉｏｎ”，ＩＮ  ＩＥＥＥ−９４，ＰＰ．３８４−３９０（１９９４）」に記載されているように、ソフトウェアを含めたマイクロプロセッサの消費電力評価方法が知られている。
【０００４】
この評価手法は、実際に命令がマイクロプロセッサで実行される際に実行される命令の種類に着目して消費電力を見積もる手法である。すなわち、マイクロプロセッサで実行されるそれぞれ異なる命令毎に予め消費電力を求めておき、マイクロプロセッサで実行されるプログラムのアセンブラ記述のレベルで、予め命令毎に求めておいた消費電力をそれぞれの命令に適用してマイクロプロセッサでプログラムが実行された際の総消費電力量を見積もろうというものである。
【０００５】
【発明が解決しようとする課題】
以上説明したように、マイクロプロセッサにおける従来の消費電力評価方法にあっては、ソフトウェアを考慮して見積もる手法が知られていた。しかし、この手法においては、マイクロプロセッサのキャッシュメモリに関しては考慮されていなかった。すなわち、消費電力の評価手法において、処理スピードを向上させる観点から階層化された複数のキャッシュメモリを備えたマイクロプロセッサと、このような構成を備えていないマイクロプロセッサとで区別がなされていなかった。
【０００６】
キャッシュメモリは、一般的にアクセススピードや記憶容量といった構成上の相違によって命令がアクセスされる際の消費電力が異なる。このため、複数のキャッシュメモリの内、命令がいずれのキャッシュメモリから読み込まれるかによって消費電力が異なることになる。しかしがら、従来の手法にあっては、すべてのキャッシュメモリにおいて区別することなく同一の消費電力を用いていたため、マイクロプロセッサの命令レベルでの消費電力を正確に評価することが困難であるといった不具合を招いていた。
【０００７】
そこで、この発明は、上記に鑑みてなされたものであり、その目的とするところは、複数のメモリを備えたマイクロプロセッサにおける命令レベルでの消費電力の評価精度を向上させたマイクロプロセッサのパワーエスティメータ装置を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、課題を解決する手段は、ＣＰＵ（演算ユニット）と、前記ＣＰＵに読み込まれて実行される命令が格納される第１のメモリ及び第２のメモリを備えたマイクロプロセッサにおける命令実行時の消費電力を、実行される命令のアセンブラ記述から求めるマイクロプロセッサのパワーエスティメータ装置において、前記ＣＰＵで実行される複数の命令の内の第１の命令が前記第１のメモリから前記ＣＰＵに読み込まれると同時に、複数の命令を格納できる前記第２のメモリに前記第１のメモリから前記ＣＰＵに読み込まれた前記第１の命令を含む前記複数の命令が格納され、前記第１の命令が前記ＣＰＵで実行されるのに続いて、前記第２のメモリから前記ＣＰＵに命令が読み込まれて命令が実行される場合に、前記ＣＰＵで実行される命令が前記第１のメモリから読み込まれる場合の第１の消費電力値を求め、前記ＣＰＵで実行される命令が前記第２のメモリから読み込まれる場合の第２の消費電力値を求める第１の消費電力取得手段と、前記ＣＰＵで実行される命令が、前記第１のメモリから前記ＣＰＵに読み込まれた命令であるか、あるいは前記第２のメモリから前記ＣＰＵに読み込まれた命令であるかを判別する判別手段と、前記判別手段の判別結果に基づいて、前記第１のメモリから前記ＣＰＵに読み込まれた命令が実行された場合は、前記第１の消費電力取得手段で求められた第１の消費電力値を使用し、前記第２のメモリから前記ＣＰＵに読み込まれた命令が実行された場合には、前記第１の消費電力取得手段で求められた第２の消費電力値を使用して前記マイクロプロセッサの消費電力を求める第２の消費電力取得手段とを有することを特徴とする。
【００１６】
【発明の実施の形態】
以下、図面を用いてこの発明の実施形態を説明する。
【００１７】
図１はこの発明の一実施形態に係るマイクロプロセッサのパワーエスティメータ装置が消費電力を評価するマイクロプロセッサの一構成を示す図である。
【００１８】
この発明のマイクロプロセッサのパワーエスティメータ装置は、ＣＰＵ（演算ユニット）と、ＣＰＵに読み込まれて実行される命令が格納される複数のメモリを備えたマイクロプロセッサにおける命令実行時の消費電力を、実行される命令のアセンブラ記述から求めるものであり、ＣＰＵで実行される命令が複数のメモリから読み込まれる場合の消費電力値をメモリのそれぞれに対して求める手段と、ＣＰＵで実行される命令が複数のメモリのいずれのメモリから読み込まれるかを判別する手段と、読み込まれる命令が格納されたメモリの判別結果にそれぞれのメモリに対して求められた消費電力値を対応させて命令がＣＰＵで実行される際の消費電力を求める手段とを有しており、マイクロコンピュータを使用した評価用のツールとして実現される。
【００１９】
なお、消費電力が評価されるマイクロプロセッサに含まれる上記メモリは、メインメモリ、キャッシュメモリ、バッファメモリ、命令キュー等の様々な種類のメモリである。
【００２０】
ここで、図１に示すマイクロプロセッサにおける消費電力評価の作用を説明するにあたって、理解を容易にするために、図１に示す構成に対して、図２に示すようにキャッシュメモリの個数を２つとし、キャッシュ６とキャッシュ６より高速なバッファ７とし、バッファ７が読み込める命令数を４とした構成のマイクロプロセッサを用いて説明する。
【００２１】
この実施形態は、ＣＰＵ５で実行される命令が第１のキャッシュメモリとなるキャッシュ６からＣＰＵ５に読み込まれると同時に、キャッシュ６よりも高速で容量が少なく４個の命令を格納できる第２のキャッシュメモリとなるバッファ７にキャッシュ６からＣＰＵ５に読み込まれた命令を含んで以降に続く最大４個の命令が格納され、バッファ７に格納された命令がすべて実行されるまでバッファ７からＣＰＵ５に命令が読み込まれて命令が実行される動作が反復される場合に、ＣＰＵ５で実行される命令がキャッシュ６から読み込まれる場合の第１の消費電力値を求め、ＣＰＵ５で実行される命令がバッファ７から読み込まれる場合の第２の消費電力値を求め、命令の読み込みが開始された後、４命令毎の命令の実行には第１の消費電力値を使用し、他の命令の実行には第２の消費電力値を使用してマイクロプロセッサの消費電力を求めるようにしたことを特徴とするものである。
【００２２】
図２に示す構成のマイクロプロセッサにおいて、図３に示すようにＣＰＵ５で実行される命令をメインメモリ１から読み込むか（ルートＡ）、キャッシュ６から読み込むか（ルートＢ）、又はバッファ７から読み込むか（ルートＣ）を区別した消費電力値データを求めておき、命令が実際に実行される時に、いずれから読み込まれるかを判断して、それに見合う消費電力値データを使用することによって消費電力値を見積もるようにしている。
【００２３】
次に、この発明の他の実施形態に係るマイクロプロセッサのパワーエスティメータ装置を説明する。
【００２４】
この実施形態のパワーエスティメータは、上記実施形態の特徴に加えて、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する命令が実行される場合に、命令の実行が開始された後、４命令毎の命令の実行には第１の消費電力値を使用し、他の命令の実行には第２の消費電力値を使用してマイクロプロセッサの消費電力を求めるようにしたことを特徴とするものである。
【００２５】
対象とするマイクロプロセッサの動作は、例えば図４に示す命令群を実行する時は、図５に示すようにループの１巡目ではメインメモリ１から命令をキャッシュ６に保存すると同時に、ＣＰＵ５で命令を実行する。この時、キャッシュ６内には図６に示すように命令が格納される。
【００２６】
次に、ジャンプ命令にて再度、同じ命令群が実行される時、実行命令は、メインメモリ１からではなく、キャッシュ６から読み込まれることになる。この時、実行速度向上のため、図７に示すようにバッファ７へ一度に４つの命令が同時に読み込まれ（ルートＢ）、それ以降、バッファ７内の命令がなくなるまでバッファ７からＣＰＵ５に命令が読み込まれる（ルートＣ）。
【００２７】
この時、ルート（Ｂ）を通る場合は、大きな電力が消費されるキャッシュ６が動作するため、大きな消費電力となり、ルート（Ｃ）を通る場合は、キャッシュ６が動作するときよりは小さな電力が消費されるバッファ７が動作するため、小さな消費電力となる。このため、このキャッシュ６に既に読み込まれている命令実行時の消費電力を見積もるために、キャッシュ６から命令を読み込んだ時の消費電力値と、バッファ７から命令を読み込んだ時の消費電力値を予め求めておき、図８に示すように、キャッシュ６から一度にバッファ７へ読み込む命令数がｍ（この実施例では４）個ならば、ｍ命令おきにキャッシュ６から読み込んだ時の消費電力値を使用し、それ以外の命令に対しては、バッファ７から読み込んだ時の消費電力値を使用することを特徴としている。
【００２８】
一方、上述した命令の実行において、ジャンプ、ブランチ、例外処理命令等の一連の命令の実行順序を変更する命令によって、バッファ７に読み込んだ命令全てを実行せずに、他の命令を実行することになる場合がある。
【００２９】
例えば、図４に示す命令群を実行している図８に示す命令の流れの続きを図９に示すと、ジャンプ命令によって、バッファ７に読み込まれた命令ではない命令が実行されることになる。このような場合に対応して、ｍ命令おきにキャッシュ６から読み込んだ時の消費電力値を追加して、ジャンプ、ブランチ、例外処理命令等が行われた場合、その次に実行される命令の消費電力値はキャッシュ６から読み込まれた時の値を使用し、それ以降、ｍ命令おきにキャッシュ６から読み込まれた時の値を使用、それ以外の命令に対しては、バッファ７から読み込んだ時の値を使用するようにしている。
【００３０】
次に、この発明の他の実施形態に係るマイクロプロセッサのパワーエスティメータ装置を説明する。
【００３１】
この実施形態の特徴とするところは、図２に示すマイクロプロセッサの消費電力を評価する場合に、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する変更命令の実行が開始された後、変更命令の次の命令以降に続く０又はｍ個未満の命令の実行にはバッファ７から読み込まれる場合の消費電力値（第２の消費電力値）を使用し、その後に続くｍ命令毎の命令の実行にはキャッシュメモリ６から読み込まれる場合の消費電力値（第１の消費電力値）を使用し、他の命令の実行には前記第２の消費電力値を使用してマイクロプロセッサの消費電力を求めるようにしたことにある。
【００３２】
例えば図１６（それぞれの数字は命令を表し、ｊｕｍｐ３は命令３にジャンプする命令を表す）に示すように、キャッシュメモリに格納された命令を実行する場合に、請求項３記載の発明の一実施形態では図１７に示す実行順序にしたがって命令が実行されるのに対して、この実施形態では図１８に示すように、ｊｕｍｐ３命令（変更命令）の実行後ｊｕｍｐ３命令の次の命令（命令３）はキャッシュメモリ６から読み込まれ、この命令（命令３）以降の１つの命令（命令４）はバッファ７から読み込まれ、その後に続く４（＝ｍ）命令毎にキャッシュメモリ６から読み込まれる。これは、図１６に示すキャッシュメモリ６からバッファ７への読み込みがキャッシュメモリ６の１行毎に行われるためである。
【００３３】
次に、この発明の他の実施形態に係るマイクロプロセッサのパワーエスティメータ装置を説明する。
【００３４】
この実施形態の特徴とするところは、図２に示すマイクロプロセッサの消費電力を評価し、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する変更命令の実行が開始されて、変更命令に続けて記述されている命令を１又は複数個実行した後命令順序が変更される場合に、変更命令に続けて記述されている命令が複数個実行されてｍ命令毎の命令の実行にはキャッシュメモリから読み込まれる場合の消費電力値（第１の消費電力値）を使用し、他の命令の実行にはバッファ７から読み込まれる場合の消費電力値（第２の消費電力値）を使用してマイクロプロセッサの消費電力を求めるようにしたことにある。
【００３５】
例えば、図１６に示すようにキャッシュメモリに格納された命令を実行する場合に、図１９に示すように例えばｊｕｍｐ３命令が実行された後１つの命令（命令８）が実行された後４（＝ｍ）命令毎にキャッシュメモリ６から読み込まれる。
【００３６】
次に、この発明の他の実施形態に係るマイクロプロセッサのパワーエスティメータ装置を説明する。
【００３７】
この実施形態の特徴とするところは、請求項４ならびに請求項５記載の発明の一実施形態の双方を同時に実施するようにしたことにあり、図１６に示す命令を実行する場合には、図２０に示すような順序にしたがって命令が実行される。
【００３８】
次に、この発明の他の実施形態に係るマイクロプロセッサのパワーエスティメータ装置を説明する。
【００３９】
この実施形態のパワーエスティメータは、ＣＰＵ５で実行される命令の数、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する命令の数ならびにメモリの容量に基づいて、メモリから読み込まれる命令の回数をそれぞれのメモリに対して求め、メモリに対して求められた回数とこのメモリに対応して求められた消費電力値との積を前記それぞれのメモリに対して求め、それぞれのメモリに対して求められた回数と消費電力との積の和を求めてマイクロプロセッサの消費電力を求めるようにしたことを特徴とするものである。
【００４０】
マイクロプロセッサにて、ある命令を実行したときの消費電力は、図１０に示すように、ＣＰＵ部９とメモリ部８の消費電力の和として求めることができる。すなわち、
（ある実行命令時の消費電力）（Ｘ）＝（ＣＰＵ部９の消費電力）（Ｙ）＋（メモリ部８の消費電力）（Ｚ）
となる。
このうち消費電力（Ｙ）と消費電力（Ｚ）は、独立して求めることができる。
【００４１】
例えば、図８に示す命令の１つ１つの消費電力値は、メモリ部８とＣＰＵ部９を区別せずに求めていた場合、すなわち従来では、図１１に示すように基本消費電力値を求める必要がある。そして、図１１を用いて図８の消費電力を求めると、図１２に示すようになる。これに対して、メモリ部８とＣＰＵ部９を区別して消費電力値を求めると、すなわちこの実施形態では、図１３に示す基本消費電力値のみを用いればよい。この図１３に示す基本消費電力値を用いて図８の消費電力を求めると、図１４に示すようになり、図１２と図１４は等しいことは明らかである。
【００４２】
これにより、対象命令数ａ個、使用メモリの種類がｂ個のＣＰＵの消費電力を求める際、従来では（ａ×ｂ）個の基本消費電力値求める必要があった。しかし、この実施形態では、（ａ＋ｂ）個の基本消費電力値を求めればよく、予め求めておく消費電力値パターン数を少なくすることができる。
【００４３】
次に、この発明の他の実施形態に係るマイクロプロセッサのパワーエスティメータ装置を説明する。
【００４４】
この実施形態のパワーエスティメータは、ＣＰＵ１で実行される命令の数、ブランチ命令、ジャンプ命令、例外処理命令等の一連の命令の実行順序を変更する命令が発生する確率ならびにメモリの容量に基づいて、メモリから読み込まれる命令の回数をそれぞれのメモリに対して求め、メモリに対して求められた回数とこのメモリに対応して求められた消費電力値との積をそれぞれのメモリに対して求め、それぞれのメモリに対して求められた回数と消費電力との積の和を求めてマイクロプロセッサの消費電力を求めるようにしたことを特徴とするものである。
【００４５】
この実施形態は、外部からイレギュラーに発生するキャッシュ６からの読み込み数の発生確率を与えることにより、メモリからの命令読み込み回数を見積もる方法である。
【００４６】
例えば、図２に示すマイクロプロセッサにおいて、記述された命令数が１０個、総実行命令数が２３個の命令群を実行するとき、まず、メインメモリから命令を読み込む回数が、総記述命令数から９個と判別され、残り１４個に対してブランチ等の発生確率が１４．３％と与えられたならば、（１００／１４．３）＝７回に１度、イレギュラーのキャッシュ６からの読み込みが発生すると仮定できる。４命令毎にレギュラーのキャッシュ６からの読み込みが行われるため、７命令実行で２回キャッシュ６から命令を読み込むと見積もることができる。
【００４７】
したがって、図１５に示すように、総実行命令数が２３個なので、この命令群を実行すると、２×２＝４回のキャッシュ６からの命令読み込みが行われると見積もられ、キャッシュ６から読み込まれる命令１１とバッファ７から読み込まれる命令１２となる。
【００４８】
このことを２次キャッシュメモリまで有する場合で一般化すると、１回にキャッシュからバッファへｐ個読み込むマイクロプロセッサで、総記述命令数ｔ個、総実行命令数がｑ個の命令群を実行するとき、ブランチ等の発生確率がｒ％と与えられたならば、イレギュラーのキャッシュからの命令読み込みサイクルｓは、ｓ＝（１００／ｒ）となり、命令ｓ個に（［ｓ／ｐ］＋１）回のキャッシュからの命令読み込みが行われる。このサイクルは命令総数（ｑ−ｔ）から（ｑ−ｔ）／ｓ回あることが分かる。
【００４９】
したがって、［（ｑ−ｔ）／ｓ］×（［ｓ／ｐ］＋１）によって一般化できる。ただし、ここで［］で囲んだ中のわり算は小数点以下切り捨てを表す（［５／２］＋［７／４］＝２＋１＝３となる）。
【００５０】
あるマイクロプロセッサの例では、ａｄｄ命令を実行する際の消費電力値は、キャッシュ６から読み込んで実行する場合で５６０ｍＷ、バッファ７から読み込んで実行する場合で４０４ｍＷというように、約４０％の違いが発生する。これを補正することにより、命令レベルの消費電力見積もりの精度を高めることができる。
【００５１】
【発明の効果】
以上説明したように、この発明によれば、命令が読み込まれるそれぞれのメモリ毎に求めた消費電力を使用して命令群がＣＰＵで実行された際の消費電力を求めるようにしたので、複数のメモリを備えたマイクロプロセッサにおける消費電力評価の精度を向上させることができる。
【図面の簡単な説明】
【図１】この発明の一実施形態に係るマイクロプロセッサのパワーエスティメータ装置で評価されるマイクロプロセッサの一構成を示す図である。
【図２】この発明の他の実施形態に係るマイクロプロセッサのパワーエスティメータ装置で評価されるマイクロプロセッサの一構成を示す図である。
【図３】図２に示すマイクロプロセッサにおける命令の読み出しの流れを示す図である。
【図４】実行される命令の一例を示す図である。
【図５】図２に示す構成において、実行される命令におけるループ１巡目の命令読み込みの流れを示す図である。
【図６】図２に示す構成において、実行される命令におけるループ１巡目終了時のキャッシュ内部の命令格納状態を示す図である。
【図７】図２に示す構成において、実行される命令におけるループ２巡目の命令読み込みの流れを示す図である。
【図８】実行命令毎の命令読み込み先を示す図である。
【図９】ジャンプ命令後の実行命令毎の命令読み込み先を示す図である。
【図１０】マイクロプロセッサのメモリ部とＣＰＵ部の区分けを示す図である。
【図１１】従来の方法による基本消費電力値の一例を示す図である。
【図１２】図１１に示す基本消費電力値を用いて図８の消費電力を求めた一例を示す図である。
【図１３】この発明の他の実施形態に係る基本消費電力値の一例を示す図である。
【図１４】図１３に示す基本消費電力値を用いて図８の消費電力を求めた一例を示す図である。
【図１５】実行される命令列の一例を示す図である。
【図１６】キャッシュメモリに命令が格納された状態を示す図である。
【図１７】この発明の他の実施形態に係る命令実行順序を示す図である。
【図１８】この発明の他の実施形態に係る命令実行順序を示す図である。
【図１９】この発明の他の実施形態に係る命令実行順序を示す図である。
【図２０】この発明の他の実施形態に係る命令実行順序を示す図である。
【符号の説明】
１  メインメモリ
２  ｎ次キャッシュメモリ
３  ２次キャッシュメモリ
４  １次キャッシュメモリ
５  ＣＰＵ
６  キャッシュメモリ
７  バッファ
８  メモリ部
９  ＣＰＵ部
１０  キャッシュ６又はバッファ７から読み込まれる命令群
１１  キャッシュ６から読み込まれる命令
１２  バッファ７から読み込まれる命令
【図１】
0003618442.tif 000002
【図２】
0003618442.tif 000003
【図３】
0003618442.tif 000004
【図４】
0003618442.tif 000005
【図５】
0003618442.tif 000006
【図６】
0003618442.tif 000007
【図７】
0003618442.tif 000008
【図８】
0003618442.tif 000009
【図９】
0003618442.tif 000010
【図１０】
0003618442.tif 000011
【図１１】
0003618442.tif 000012
【図１２】
0003618442.tif 000013
【図１３】
0003618442.tif 000014
【図１４】
0003618442.tif 000015
【図１５】
0003618442.tif 000016
【図１６】
0003618442.tif 000017
【図１７】
0003618442.tif 000018
【図１８】
0003618442.tif 000019
【図１９】
0003618442.tif 000020
【図２０】
0003618442.tif 000021