比例道

月に1回更新します

TMS320C30の思い出

1980年代の終わりにとある大学のプロジェクトに参加した.10人くらいのプロジェクトでとあるシステムを研究開発していた.私はメカエンジニアとして参加したのだが,プロジェクトのメンバーのレベルの低さに唖然としたことを覚えている.システム制御にはTIのプロセッサ(当時はDSPと呼んでいた)TMS320C30を採用していた.ソフト担当者がこれのファームウェアを書いていたのだがCコンパイラを使っていた.DSPなんだからアセンブラで書けよと思ったが,それは大した問題ではない.びっくりしたのは「高速化」と称して計算をすべて整数で行っていたのだ.おいおい,TMS320C30をなぜ選んだんだ.TMS320C30は32ビット浮動小数点の積和を1クロックで出来るのが売りの最新鋭DSPだよ.整数の演算も1クロックだ.わざわざ実数を整数へ変換して計算するメリットなどない.桁あふれや丸め誤差が出て却ってマイナスだ.そのことを説明したが誰も分からなかった.TMS320C30を選んだのは「いちばん高いからいちばん性能が良いと思った」からだ.ああ,税金の無駄遣い.というよりこんな連中に給料払っているのが税金の無駄遣い.こんなんに教わる生徒は気の毒だ.

その後,私がシステムの改良をすることになって(なぜメカエンジニアがソフト書かなきゃならないのとは思ったが),ファームはアセンブラで書き直した.もちろん分岐命令は遅延分岐を使った.性能が一桁上がった.過剰性能になったので,次のバージョンではDSPを固定小数点のTMS320C50に変えた.コストが一桁下がった.この件で自動車メーカーでエンジン制御のCPUプログラム書いてる人の方が大学の先生より頭が良いことが分かった.最近のディープラーニングの(アプリの方ね)研究をしている連中はなんとなくこのときの大学の先生と同じ香りがする.