業界独り言 VOL136 新世紀の最初の年の瀬に

先回に聞いた次のフレーズ「頭の中がアセンブラーで出来ているんだ・・・」は、眩暈がするほど悩ましく頭の中でとぐろを巻いている。開発現場で起こっている現実を前に、何から手をつけてよいのか判らないというのが実感だ。以前クロスコンパイラを開発した際には、アセンブラのノウハウをコンパイラのコード展開に組み込むことに費やした。しかし、その場合にはコードの生成結果とソースコードからの対応でアセンブラ技術者としてみて文句をつけたいから手を入れたのだった。

あれから17年も経過して世の中にはC言語でハードウェアすら記述する時代だったりもする。パソコンで不毛なクロックアップ競走が引き起こした成果なのか、重厚長大なソフトでも気にならなくなってしまったようだ。結果として充実したクラスライブラリなどでの迅速な開発での開発時間短縮のみが評価されるようになった。これにより真の速度の追及までは、要望されていないのが実情だ。もともと利用するソースコードの内、お絵かきをしているようにも見えてしまうUIジェネレータなどが生成したソースコードなどもあるのだから致し方ないのだろうか。

ともすると、今の若い人たちにとって出来上がったCソースコードはそうした上位設計ツールの吐き出した機械語に見えるものなのかもしれない。現場のドライバーを設計している技術者すらCソースでの制御を昔の機械語のように捉えているようだ。となるとコンパイラが更にCコードから生成した機械語の為の最適化などは、魔法使いの領域になってしまうのだろうか。コンパイラの最適化指示によっては、こうした冗長なコードでも高速なコードとしてコンパイルしてくれるものもあるのかもしれないが・・・。

つい最近まで、携帯電話のクロック選定には通信方式が要求するいくつかの諸条件から導かれたTCXOの周波数候補があり、例えば20MHz近傍という条件でいうと19.8や19.68や19.2といったものであった。後は、PLLで必要なクロックを生成することになる。こうした候補があるときに、「弊社では一番低いクロックを選びたいと思います」と明言していた会社があった。この背景には、低いクロックで動作するようにノウハウが活かされていたからなのかも知れない。

現在では、出来る限り動作クロックを向上させるために尽力しているのが、そうしたメーカーの実情でもある。クロックを上げてもPC100やPC133の事例でも明らかなようにメモリのアクセス速度などにも最近は目が行くようになり実質的な速度を高めることにも感心が高まっている。ペンティアムの様に内蔵のキャッシュを搭載してほしいとかいう要求が多いのも確かだ。

かつて、どこかのキャリアではOSの仕様を提示して、それに必要な無線部やハードを起して動作させるべきアプリケーションのコードをCで提供するという形態もあったようだ。技術力の証なのだろう。他のキャリアにも少し爪を煎じて飲んでもらいたいものだが・・・。各メーカー毎に異なったマイコンが乗っていると動作クロックでの性能差以外にもコンパイラの性能差も含めて比較のしようがなく、三菱のマイコンが良いとか、NECのものがよいとか或いは自社チップがベストだとか悩みつつ各社でマイコンを決めていった。

完成した端末の比較では、違うアーキテクチャの物同士の性能差を論じてきた。この場合にはコンパイラ・チップ・ハードアーキテクチャ・ソフト構造・コーディング・・・・とあらゆる部分の性能が加算されてしまい絶対評価を曖昧にしていたのだろう。あるメーカーはコンパイラの性能でチップを選択したりしていたのも懐かしい。相対評価として、製造メーカーが認識しているものは自社のアーキテクチャに照らしてのベンチマーク結果としてコンパイラとチップ性能の差異が見えていたと思われる。

一つのモデルが完成して、そのソースアーカイブが構築されると中々変えられないのも事実かも知れない。引き継がれるソフトのドキュメント不足なのか引き継いだ人間のスキル不足なのか、あるいは開発時間の少なさからなのかは判らない。動いているものには触れたがらないのが背景にはあるのだろう。分析したりする職能があり、評価がなされているのかというと製品としての性能評価で問題が出ない限り部品の性能追求までは、手が回らないのだろう。幾つかのモデルでの利用を経て、改変が追加されてソースコードは蓄積されているのだ。

こうしたソースコードの管理には、細心の留意が為されているのは各社毎に同様な背景があるのだろう。各社のノウハウやハードウェアのアーキテクチャの反映などがそこには露にされているからでもある。QUAD社のビジネスモデルでは、ベースとなる部分の構造と基本ソフトをチップにあわせて提供しているという点が大きく異なっている。ある意味において衆目に晒すことで、より磨かれて美人になっていくというようなアイドルに似ている。一つのソースコードを異なった視点で利用する人たちが使い込んでいくからでもある。

門外不出となっているソースコードに、その会社のノウハウの集大成が出来ていれば良いのだが・・・。衆目に晒されてこそ洗練されていく物ではないのだろうか。ループの渦中に無意味な判断文があったり、ポインターを利用しない形で複雑な配列の要素を次元数だけ複写したりしていたりもする。リアルタイム処理ということで組み込みシステムが説明されることは多いのだが、実情は組み込みバッチシステムになっていたりするのではと思わせる部分もある。まあコボルで書いている訳ではないのだが・・・。

組み込み開発の匠の技は、ハードが限定された環境でカリカリの競走をしているゲーム業界には残っているように見える。鍛えられた軍鶏のようなエンジニアのコードからみると、複雑な化粧ばかりをした脂肪たっぷりのフォアグラのようなソフトに見えてしまうのだろうか。端末のソフト全体を一度全部すっきりと書き換えて欲しいものだと予てより思っていたのだが、そろそろゲームメーカーの手で書かれたUIソフトが登場してくる時代になりそうな勢いがある。

複雑になり、混迷していると思われる携帯業界に対してUIのみで攻め入ろうとしている米国ベンチャーまでも登場しそうだ。ニーズがありシーズが満たせればビジネスが開けるのは自明の理なのだが、果たしてそうなっていくのか。そんな折り、台北の導師からメールが入ってきた忘年会の知らせだ。BYTEな仲間との忘年会は楽しみである。彼らPC業界とのレベル差についても再認識させてくれるに相違ない。刺激的な宴会になりそうだ。私以上に辛口のコメントをしてくれて、昨年同様に喝破してくれるだろう。かつて導師が横浜にショップを興した頃の活気に満ちたマイコンソフトの黎明期事情を知る人たちと語ることで何かが見出せるのではないかと期待もしている。

コメントを残す

メールアドレスが公開されることはありません。