組み込み世界征服

もう何度もあちこちに書いていることなのですが、ムーアの法則のおかげで我々が使っているマイコンの演算能力はすさまじいものがあります。
100MHzのLPC1768は7.8MHzの初代Macintoshの130倍くらいの演算能力があります*1。メモリーさえ十分あれば初代のMacOSを余裕で動かす力があるわけです。最初に大成功したスーパーコンピュータであるCRAY-1は160MFLOPSでしたが、今のラップトップPCでもそのくらいの性能は出ます*2。それどころか、組み込み用の浮動小数DSPでもそのくらいの性能が出ます。AVアンプってスーパーコンピュータ使っていますよ。あれって、核融合のシミュレーションとかできるんです。
その昔は大型コンピュータが数台あれば、全世界の仕事をまかなうことができるなんて言われていたとか。アシモフの小説にもそう言う考え方で書かれたものがいくつかあります。しかし後になっていくら性能を上げてもそれを消費するプログラムが現れることが経験則でわかってきます。最初はOSが無駄だ!と多少揶揄を含んで言われたものですが、ユーザーの方もどんどん無駄なことをするようになりました。
加えて増井俊之氏によってユーザーインターフェースや生産性を向上させる方法としての富豪的プログラミングが提唱されるにいたって、MIPSを演算以外のことに積極的に差し出すことが明確に意識されることになります。.Net Micro FrameworkやPico Javaなどは、富豪的プログラミングの一例といえます。そもそも高級言語プログラミングそのものが富豪的といえます。
そう言った背景のせいではなさそうですが、残念ながら100MHzのLPC1768をもってしても世界制覇はできそうにありません。あるいは世界制覇のハードルが年々高くなっているのかもしれません。だとしたらそれは幾分いいニュースに聞こえます。
なんにせよ、我々はアメリカがアポロ宇宙船の制御に使ったコンピューターの1000倍以上の速度の組み込みコンピュータを使っているのですから、それなりにおもしろいものを作る無言のプレッシャーを感じざるを得ない世界に生きています。

*1:Drystone比

*2:CRAY-1の160MFLOPSはベクトル性能なので、今のPCのピーク性能と単純比較すると間違う。しかし、さすがにCPUの性能が1GHzを超えるとなると、ベクトル処理性能でも余裕で160MFLOPS位は出る