DhrystoneMIPS値

マイコンの性能を表す指標の一つ。マイコン上でDhrystoneプログラム(Dhrystone2.1)を実行し、その結果(MIPS値)が大きいほど性能が良い。
今もマイコンの性能評価で良く使われるが、結果を見るときに意識して欲しい点は以下の通り。
・Dhrystoneプログラムは整数演算のみで、浮動小数点演算はない。

・Dhrystoneプログラムは数KBの容量なので、例えば32KBのキャッシュを持つマイコンの場合、外部RAMへのアクセスは無く、キャッシュ上でDhrystoneプログラムを処理でき、外部バス転送能力は考慮されない。

・結果をよく見せるため、できるだけデータを纏めて、ロード命令やストア命令を使用することがある(例えば、16bitデータを4回ストアする場合、64bitに纏めて1回でストアするとか)。

・コンパイラの最適化によって、結果のMIPS値は大きく異なる。例えば、2waySuperScalar(命令2個を同時に実行できる)でアウトオブオーダー実行可能なマイコンを考える場合、2waySuperScalarに対応したコンパイラを採用すること。当方の感覚だと、命令キャッシュやデータキャッシュを内蔵した2waySuperScalarのアウトオブオーダー実行可能なマイコンが200MHzで動作する場合、400MIPS程度の性能(MIPS値は、マイコンの動作周波数の2倍程度)。2waySuperScalarに対応していないコンパイラだと、200MHzで動作する場合、240MIPS程度の性能(MIPS値は、マイコンの動作周波数の1.2倍程度)。

なお、Dhrystoneプログラム以外のその他ベンチマークプログラムはSPECint、SPECfp、EEMBCなどがある。

補足…2waySuperScalarに対応したコンパイラとは、命令2個を同時に実行させるため、できるだけレジスタの依存関係を無くした命令列を吐き出すコンパイラを意味する。

この記事が気に入ったらサポートをしてみませんか?