拡大し続ける「組込みシステム技術」の29年史
家電、自動車・車載機器、携帯電話、デジタルオーディオプレーヤー、テレビ、DVDレコーダーなどなど、幅広い適用製品。半導体プロセスからOS、ミドルウェア、アプリケーションまで、幅広い技術領域。それらに対応して、幅広く多くのエンジニアが貢献して現在に至っているのが「組込みシステム」。技術史連載第2回は、この技術ジャンルが形成されてきた29年史をつづります。

■Part1 生活の中に入り込んだ組込みシステム
 コンピュータといえば、誰もが本体にキーボードとディスプレイが接続されている姿を思い浮かべるだろう。いまや、企業における業務はもちろん小学生さえもが授業でパソコンを利用し、コンピュータはかなり身近な存在となった。

 これに対し、誰もが形を想像できるコンピュータよりも、はるかに数多く生活の中に入り込んでいるのが、組込みシステムと呼ばれるコンピュータだ。家庭で利用されるテレビや洗濯機、エアコンなどの家電製品はもちろん、街に出れば信号機や自動販売機、駅の自動改札など、電気で動いているものほとんどにコンピュータが組み込まれていると言っても過言ではない。組込みシステムの産業規模は、急拡大している。日本における組込みシステムの開発規模は経済産業省によると約3兆2700億円(2007年6月時点)あり、これは前年に比べて19.8%も拡大しているという。

 組込みシステムとパソコンなどのコンピュータの違いは、行う処理が専用か汎用かということ。パソコンでは、ワープロや表計算などソフトウェアを切り替え目的に合わせ処理を行う。そのため、さまざまなソフトウェアを動かすよう汎用的な構造となっており、操作のためのキーボードやディスプレイもさまざまなデータが扱える汎用的なインターフェースとなっている。

 対して、例えば洗濯機に組み込まれているコンピュータは、洗濯のための処理しか行わない。インターフェースは数個のスイッチ、表示もせいぜい数個の LEDかあっても小さな液晶程度で汎用性はない。当然ながら、コンピュータが入っているからといって洗濯機で四則演算ができるわけではない。
 もちろん昔の洗濯機には、コンピュータは組み込まれていなかった。単に電源をオン、オフするスイッチがあるだけで、せいぜいアナログ式のタイマーがある程度。この単純だった家電が、全自動洗濯機の登場で大きく変化する。洗濯物を入れボタンを押せば、自動的に洗濯物の量を確認し、最適な水量で洗い、すすぎ、脱水、そして今なら乾燥まで行う。この家電の便利さを実現しているのが、組込みシステムだ。

 組込みシステムには、さまざまな過酷ともいえる稼働条件がある。その中でも、開発するうえで影響が大きいものが3つある。ひとつ目はパソコンのようにシャットダウンなどの手続きなしに電源のオン、オフですぐに起動、終了ができることだ。もうひとつは、利用できるコンピュータリソースが通常は極めて少ないこと。コストに大きく跳ね返るためだ。そして最後が、スイッチを押せばすぐに処理を行うリアルタイム性の確保だ。これらの条件を克服するために、汎用的なコンピュータで動くソフトウェアとは異なる開発スキルが、組込みシステム技術者には求められる。

■1980年代、組込みOSの活用へ
 1980年代以前は、組込みシステムを実現するにはアセンブラ言語を用いプログラム開発を行うのが普通だった。専用ハードウェアに限られたリソースしかないので、選択肢がアセンブラしかなかったのだ。ごく簡単な処理であれば、機械語を用い直接プログラムをハードウェア上に記述する方法でもよかった。現在でもコストが厳しく、利用できるコンピュータリソースが極めて限られる場合には、この方法が使われる。