CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

浮動小数点演算(3)

NS32032ボードが他のCPUに比べてどれくらいの演算性能なのかいつものベンチマーク条件で実行してみました。

マンデルブロ集合の飛び地の一つ約5×10^-5の領域を拡大して計算させますが集合近傍では急速に発散速度が遅くなるので打切り回数NMAXを8192まで大きくしています。

いざ開始してみるとこれが進捗がべらぼうに遅いのです。完了時刻の出力は無く、いつ終わるかわからないので走らせたまま寝るわけにもいかず、4時間たったところでY軸のインデックスが192(75%)まで進んでいたので時間切れで中断、出来たところまでイメージ化しました

 

f:id:O3I:20200509102143j:plain

いちおう計算精度は保たれていて集合の輪郭も明瞭に表れています。翌日残りの1/4(192~255)で再開。結局トータルで4時間31分もかかりました。

 

f:id:O3I:20200509102157j:plain

256×256の領域中で集合に属する(黒い部分=NMAXまで繰返し計算した部分)が全体の1/5としてもそこだけでmandel_chkのループ回数は約1億回(256*256/5*8192)1つのループにFPU命令は20個あるので20億回もの演算をしたことになります。がんばったのですが他に比べるとちょっと残念な結果でした。

f:id:O3I:20200509111317j:plain
参考でPCでの最新の結果も追記しましたがこれは論外としても、堂々のブービー賞です。(というかビリ)

 

f:id:O3I:20200509111346j:plain

アセンブラ直書きで最適化しているしFPU多用でもっと行けるかと思いましたがかなりガッカリです。やはり世代の古いCPUなので内部構造的なものとクロックが遅いのが致命的かもしれません。ただアセンブラなのでサイズの小ささは誰よりも優っています