STM32 Value Line Discovery (3) -- 各 CPU の能力比較
各プロセッサ用のFM音源プログラムの処理能力を表にまとめてみました。
本来は、サンプリング周波数 (fs) 、同時発音数 (NPOLY) をそろえて、CPU 負荷率で比較するのが良いのですが、そうなってはいません。
現状のプログラムでは、同時発音数 16 がリミットなので、それ以上には設定できません。
単純に、サンプリング周波数 (fs) と同時発音数 (NPOLY) を掛け合わせて、1 秒あたりの処理サンプル (オペレーション) 数 [kOP/s] を求めて、その値の大きい順に並べて表にしたものを次に示します。
各プロセッサ用のプログラムには、LCD 表示やキー入力のサポートがあるものと、ないものがあり、その点では、公平な比較ではありません。
プロセッサ | NPOLY | fs [kHz] |
kOP/s | fclk [MHz] |
kOP/fclk |
---|---|---|---|---|---|
SH-2A | 16 | 24 | 384 | 144 | 2.66 |
STM32F103VB | 16 | 18 | 288 | 72 | 4 |
LPC2388 | 16 | 15 | 240 | 72 | 3.33 |
MCF52233 | 16 | 12 | 192 | 50 | 3.84 |
STM32F100RB | 8 | 16 | 128 | 24 | 5.33 |
V850 | 8 | 12 | 96 | 20 | 4.8 |
FR60 | 6 | 15 | 90 | 40 | 2.25 |
ADuC7026 (fast) |
5 | 13 | 65 | 40 | 1.63 |
ADuC7026 (slow) |
5 | 8 | 40 | 40 | 1 |
ATmega168 | 2 | 16 | 32 | 24 | 1.33 |
32 ビット RISC プロセッサ用のプログラムは、基本部分は同一のものですが、ATmega168 用のプログラムは ATmega 専用に、高速化のためにアセンブリ・ルーチンを使うなどして、他のプロセッサ用のものとは大きく違っています。
総じて、当然ですが、絶対的に CPU クロック周波数の高いものが、処理能力も高くなっています。
しかし、処理オペレーション数を CPU クロック周波数で割って、クロック 1 MHz あたりの処理能力 (kOP/fclk) を表す数値を見ると、クロック周波数が 20 MHz 台の STM32F100RB と、V850 が良い成績となっています。
これは、クロック周波数が低いので、内蔵フラッシュのアクセスにウェイトが必要なく、ウェイトによる性能低下が存在しないためと考えられます。
このクロック 1 MHz あたりの処理能力で見ると、STM32 VL Discovery (STM32F100RB) が 5.33 と、最も良い値となっています。