ColdFire MCF52233 基板 (10) -- FM音源プログラム TGMCF

GCC & GDB 環境での「FM音源プログラム」は、内蔵デモ曲の演奏ができる所まで進みました。
プログラム名は「TGMCF」としました。
MIDI 入力部は UART0 を使用する前提で作りましたが、どうやら gdb スタブで UART0 は使われているようで、MIDI 入力はうまく動きませんでした。
MIDI 入力部は UART1 を使用するようにハード / ソフトを変更しようと思います。
同時発音数、サンプリング周波数の設定と、デモ演奏時の CPU 負荷率の表を下に示します。

同時発音数 サンプリング周波数 CPU 負荷率
3 48 kHz 74 %
6 30 kHz 82 %
8 24 kHz 83 %
13 16 kHz 86 %
16 12 kHz 80 %

gcc の最適化オプションは「-O3」でコンパイルしています。
ともに「暫定版」レベルである STARM 版との比較では、CPU クロック周波数比を単純に計算すると、
MCF52233/STARM = 60/72 = 0.833
となります。
一方、同時発音数とサンプリング周波数を掛け合わせて、秒当りの処理能力の指標とすると、
MCF52233/STARM = (16*12)/(16*18) = 0.667
となり、クロック周波数比よりは性能が落ちることが分かります。
GCC は、マルチプラットフォーム、マルチターゲットの展開を重視し、特定のプロセッサでの性能追及には重点を置いていないので、専用コンパイラよりは性能が劣る傾向があります。
現在は CodeWarriorコンパイルしたオブジェクトを書き込める環境にないのですが、そのうち環境を整えて (具体的には BDM ケーブルを自作して) GCC と比較して、どのくらい性能が向上するのかを試してみたいと思います。