組込みソフト産業の実態と開発の課題:組込みシステム開発の要素技術と標準化
6
0
0
全文
(2) 汎用システム. 専用システム. コンピュータの 応用分野. 多様性 パソコン 組込みシステム. モバイル 情報機器/ 端末. 図 -1 組込みシステムの多様化と分化. dependent software)などと呼ばれる場合もある.. 組込みシステム開発の要素技術の多様性. て開発するとはいえ,ドメインごとの要求の違いは大き く,組込みシステム向けの要素技術はきわめて多様であ る.たとえば,組込みシステムに使われるプロセッサは, 規模的には 8 ∼ 64 ビットまでのものが幅広く使われてい. 上に述べた組込みシステムの 4 つの特性の中で,(2). るし,性能要件の面でも多様で,高速化に加えて,低消. ∼(4)の 3 つは, シ ス テ ム 開 発を 困 難にする 要 因であ. 費エネルギーやコード効率も重視して設計される.また,. る.一方, (1)の「専用化されたシステム」という特性は,. 組込みシステム向けのリアルタイム OS は,製品化され. システムを開発する上で有利に働く特性であり,他の. ているものだけでも 100 種類を下らないと言われている. 3 つの特性を満たすために活用することができる.すな. し,ネットワークについても,アプリケーションドメイ. わち,システムをあるアプリケーションに特化すること. ンに特化した技術が数多くある.. で,リソース使用量を減らしたり,信頼性やリアルタイ. これらは,パソコン向けのプロセッサ,OS,ネットワー. ム性を向上させることが可能である.このことから,組. クが,いずれも数種類に収束しつつあるのと対照的であ. 込みシステム技術とは,専用化されたシステムであると. るが, 汎用システムの要素技術が, 多様なアプリケーショ. いう特性を活かして, (2)∼(4)の制約を満たすための. ンからの最大公約数的な要求に合致するように設計され. 技術であると位置付けることができる.. ていることを考えると,自然に理解することができる.. しかしながら,あるアプリケーション専用のシステム. この様子を図示したのが図 -1 である.この図で組込. を構築するために,それに特化した要素技術を用いる方. みシステムを大きく示してあるのは,システムおよび要. 法は,開発コストが非常に高くなるために一般には受け. 素技術の多様性を示している.一方市場規模的には,汎. 入れられない.そこで,組込みシステム向けの要素技術. 用システムよりも(かなり)小さい.言うなれば組込み. は,共通の特性を持ったアプリケーションをドメインと. システム技術は,広い技術領域に薄く分布しているわけ. して括り出し,それを狙って開発されるのが一般的であ. である.またこの図では,携帯電話機を代表とするモバ. る.また,アプリケーションに最適化するための仕組み. イル情報機器/端末が,汎用システムに近付いているこ. を,それぞれの要素技術に持たせるアプローチが採られ. とも示されている.. ることも多い.たとえば,アプリケーションの要求に応 じて,命令セットやバス幅などが変更できるプロセッサ (構成可能プロセッサ)がこの例である.すなわち,専. 組込みシステム向けの要素技術と標準化. 用システムを開発するための汎用(または多目的)技術. この章では,組込みシステム向けの要素技術の概要と. が求められているわけである.. 動向について解説し,その標準化の動きについて述べる.. このように,特定のアプリケーションドメインを狙っ. なお,同様の内容に関して,過去に文献 2)でも解説し. 418. 46 巻 4 号 情報処理 2005 年 4 月.
(3) ているため,本稿ではそれ以降の動向に重点を置く.ま. 今後の注目される技術として,プロセッサの命令セッ. た,組込みソフトウェアの開発技術に関しては,文献 3). トや構成をシステム出荷後に変更することができる動的. やこの連載の他の記事に譲ることにして,ここでは扱わ. 再構成可能プロセッサを挙げることができる.動的再構. ない.. 成可能プロセッサについては,研究・開発が進められて. ■プロセッサ. おり,製品に適用したという報告もある.しかし,有効 となるアプリケーションドメインが明確でないことに加. 前述の通り,組込みシステムには非常に多くの種類. えて,ソフトウェア開発環境の問題など,本格的な実用. のプロセッサが用いられている.命令セットアーキテク. 化までに課題も残っている.. チャにも多くの種類があるが,同じ命令セットアーキテ. このようにプロセッサの分野では,技術はますます多. クチャを持ったプロセッサでも,各種のアプリケーショ. 様化する方向に向かっており,標準化の動きは見られな. ン向けにシリーズ展開されている.また,DSP(Digital. い.これは,高級言語のコンパイラが用意されていれば,. Signal Processor)やメディアプロセッサなど,用途専用. ソフトウェアを異なるプロセッサ間で移植することは可. のプロセッサも広く使われている.さらに,前述の構成. 能であり,性能を犠牲にしてまでプロセッサを標準化す. 可能プロセッサが適用されるケースもある.. る意義が低いためと考えられる.. これらの専用プロセッサは,音声や画像などのメディ ア処理,ネットワーク処理,暗号処理などの分野で有効. ■システム LSI と FPGA. 性が高いと考えられる.メディア処理においては,同じ. 上述の携帯電話機やディジタルテレビ,ディジタル. 演算処理を繰り返し行うために,演算を並列に行う命令. カメラなどの組込みシステムでは,そのアプリケーショ. を設けるなどの方法で,その演算処理を高速化する方法. ン(または,その一部の機能) 専用に開発された大規模・. が有効である.それに対して,ネットワーク処理(特に. 複雑なシステム LSI が使用されることが多くなっている.. プロトコル処理)と暗号処理の分野では, ビット演算(お. システム LSI には,1 つまたは複数のプロセッサに加えて,. よび,ビットフィールド演算)の占める比率が高い.こ. そのアプリケーション用の演算回路や周辺デバイス,メ. れらの演算は,汎用プロセッサで実行すると多くの命令. モリなどを 1 チップ上に集積している.これにより,基. を必要とするのに対して,その処理に専用のビット演算. 板上に実装すべき部品の点数を減らせ,コストダウンや. 命令は容易に実装できるという特性がある.. 高信頼化,物理的なサイズの縮小が図れるばかりでなく,. これらの専用プロセッサ技術は,汎用プロセッサと専. 外部バスを駆動しないことによる低消費エネルギー化や. 用ハードウェアの間を埋める技術であると捉えることも. ノイズ対策の容易化など,メリットが大きい.. できる.従来は,ある機能を実現する際に, 汎用プロセッ. 一方,システム LSI の開発には大きなコストがかかる. サ上でソフトウェアで実現するか,専用ハードウェア. ため,大量に使用される見込みがない用途向けには,シ. で実現するかという両極端の選択肢しかなかったものが,. ス テ ム LSI を 開 発するのは 難しい. このような 分 野で. 用途専用プロセッサや構成可能プロセッサにより,その. は,近年,大規模化・高性能化が著しい FPGA(Field. 中間的な選択肢が出てきたということができる.このよ. Programmable Gate Array)を用いることが多くなって. うに選択肢が増えることは,システム設計サイドからは. いる.FPGA とは,内部のメモリ等を書き換えることで. 工夫の余地が増える反面,最適な選択が困難になること. 回路構成を変更できる LSI であり,単一品種の LSI でア. も意味する.そのため,どのような性質を持ったシステ. プリケーションごとの専用回路を構成することができる.. ムにどのようなプロセッサが向いているのかの目安が求. これまでの FPGA の使われ方は,プロセッサと一緒に. められる.. 基板上に載せ,周辺回路を FPGA 上で実現するというか. 最近の傾向としては,1つのチップ上に複数のプロセッ. たちが多かったが,FPGA の大規模化により,FPGA 上. サを搭載したチップマルチプロセッサが使用されるケー. にプロセッサを実現することも容易になってきた.特. スが増えていることが挙げられる.この理由として,ア. に,FPGA 上で 実 現しやすいように 最 適 化して 設 計さ. プリケーションに処理の並列度があるのであれば,高. れたプロセッサの場合,FPGA のリソース使用が少なく,. 速なプロセッサ 1 つよりも,低速なプロセッサ複数でシ. 複数のプロセッサを 1 つの FPGA に載せることも容易で. ステムを実現した方が消費エネルギーが抑えられ,コス. ある.さらに,FPGA の中にプロセッサの回路ブロック. ト的にも安くすむことが大きい.また,処理の特性に合. を組み込んだ LSI も開発されており,これらを用いると,. 致した複数種類のプロセッサを 1 つのチップ上に集積し. アナログ回路を除くコンピュータシステム全体を 1 つの. たヘテロジニアスマルチプロセッサも,携帯電話機や. FPGA に載せることも現実的になってきた.. PDA などに広く使われている. IPSJ Magazine Vol.46 No.4 Apr. 2005. 419.
(4) ■プログラミング言語と言語処理系. 込み Linux のような汎用 OS を組込みシステム向けに修 正した OS とは,構造・機能・性能の面で大きな違いが. 組込みシステム開発に使われるプログラミング言語と. ある.. しては,依然として C 言語が主流である.. ハードウェア資源の管理は OS の最も重要な役割の. C++ や Java は,規模の大きい組込みシステムには適. 1 つであるが,リアルタイムカーネルは,プロセッサ,. 用されているものの,主流と言える状況ではない.これ. メモリ,タイマといった,どのようなコンピュータシス. にはいくつかの原因があると思われるが,最大の原因は,. テムにも備わっているハードウェア資源のみを管理する.. 言語や言語処理系を十分に理解して使わないと,予期し. 逆に言うと,ファイルシステムやプロトコルスタックな. ないオーバーヘッドが生じることと考えられる.たとえ. ど,各種の I/O デバイスを扱うための機能は持っていな. ば C++ では,使用しないことを明示的に記述しない限. い.これらの機能が必要な場合には,リアルタイムカー. り,例外処理のためのコードが無視できないサイズとな. ネルの上に,ミドルウェアというかたちで実現する.こ. る.また,テンプレートを迂闊に用いると,コードサイ. れは,すべての組込みシステムが共通に持っている I/O. ズが急激に大きくなる場合がある.このような問題を解. デバイスがないことに由来している. たとえば,ストレー. 決するために,C++ を組込みシステムに用いるためのサ. ジデバイスを持たない組込みシステムは数多くあるが,. ブセットである Embedded C++(EC++)が,日本のメー. そのようなシステムでは,OS がファイルシステムを持っ. カを 中 心に 提 案され,ISO による 標 準 化 検 討が 進んで. ていても意味がない.. いる.. リアルタイムカーネルのもう 1 つの特徴として,保護. Java については,携帯電話機のように,マシン独立な. 機 能を 持 っ ていないことが 多いことが 挙げられる.OS. バイトコードをダウンロードして使用する機器では活用. の保護機能とは,あるアプリケーションに障害がある場. されているが,それ以外では,ガベージコレクションに. 合でも,他のアプリケーションや OS 自身にそれを波及. よってリアルタイム性が阻害される問題と,仮想マシン. させないための機能である.組込みソフトウェアは,機. のオーバーヘッドが無視できず,それほど活用されてい. 器に固定されて提供され,機器の制御のみを目的に開発. ないのが現状である.. されるのが通常であるため,ソフトウェアの検証が完了. 一方で,まだまだアセンブリ言語が使われる場面も多. すれば,保護機能は不要ということが言える.. い.これは,割り込み処理など,ハードウェアに密接に関. しかし近年,ソフトウェアの大規模化・複合化により,. 連する部分でアセンブリ言語を使わざるを得ないという. ソフトウェアを完全に検証することが困難になっている.. 理由もあるが,用途専用の特殊なプロセッサなどで,十分. また,障害原因を切り分ける意味でも,保護機能が望ま. な性能を持ったコンパイラが使用できないケースもある.. れるケースが多くなっている.それを受けて,ITRON. ■リアルタイム OS. 仕様や OSEK/VDX OS 仕様に対して,保護機能を追加 するための拡張仕様が標準化・実装されている.. 組込みシステムにはリアルタイム OS が使われること. ここでの課題の 1 つは,厳格なリアルタイム性を維持. が 多い. 国 内でも 最も 広く 使われているのが,ITRON. したまま,メモリ保護機能を実現するのは容易でないこ. 仕様に準拠したリアルタイム OS であるが,最近では,. とである.厳格なリアルタイム性を求められるシステム. 組込み Linux(Linux を組込みシステム向けに修正したも. では,最悪実行時間の予測が難しくなるという理由から,. の)が適用されるケースも増えている.言うまでもなく,. キャッシュすら使われていないものが多い.現在のプロ. Linux は元々は汎用システム向けに開発された OS であ. セッサのメモリ管理ユニット(MMU)は,アドレス変. り,前述したような汎用システムに近い性質を持った組. 換結果をキャッシュすることで動作を高速化しているが,. 込みシステムに適用するのは自然な流れである.. この機構ではやはり最悪実行時間の予測が難しくなる.. 標準化の観点では,組込みシステムの要素技術の中で,. そのため,ITRON 仕様と OSEK/VDX OS 仕様のいず. リアルタイム OS は最も標準化が進んでいる分野である. れの保護機能拡張においても,アドレス変換が不要な仕. ということができる.ITRON 仕様は,組込みシステム. 様となっている.すなわち,多重アドレス空間を設けず. 向けの標準リアルタイム OS 仕様として広く使われてい. に,論理アドレスと物理アドレスを一致させ,アクセス. るし,自動車制御システム向けには OSEK/VDX OS 仕. 保護のみを実現するアプローチをとっている.このアプ. 様が標準化されている.また,組込み Linux 技術に関す. ローチであれば,プロセッサの持つメモリ管理ユニット. る標準化も進められている.. を適切に設計することで,厳格なリアルタイム性を維持. ITRON 仕様や OSEK/VDX OS 仕様のようなリアルタ. したままメモリ保護を実現することができる.. イム OS(これを,リアルタイムカーネルと呼ぶ)は,組. メモリ保護以外に重要となる保護機能として,プロ. 420. 46 巻 4 号 情報処理 2005 年 4 月.
(5) セッサ時間を保護するための機能を挙げることができる.. 自動車内のネットワークの分野においても,国際的な. リアルタイムシステムにおいては,あるアプリケーショ. 標準化が進行している.従来は,自動車メーカごとに独. ンがプロセッサを使い過ぎたために,他のアプリケー. 自のネットワーク規格を持っているケースが多かったが,. ションが時間制約を満たせなくなる事態を防ぐことが望. ネットワーク技術の高度化により,メーカごとの規格で. まれる.そこで,アプリケーションが使える時間を制限. は開発コストが大きくなり過ぎることが,その大きな理. し,それを超えてアプリケーションが実行するのを防ぐ. 由である.. 機能があると有用である.これが,プロセッサ時間の保. 現在, 自動車内ネットワークの国際標準規格として広. 護機能である.. く使用されているのが,CAN (Controller Area Network). これは,逆に見ると,あるアプリケーションが使える. である.CAN は,複数のノードを 1 つのバスに接続す. プロセッサ時間を予約していると見ることもできる.こ. る共有メディア型のネットワークで,非破壊ビットワイ. のことから,プロセッサのリザベーション機能と呼ば. ズアービトレーションと呼ばれる方式で,優先度の高い. れる場合もある.これを実現した OS の例として,時間. メッセージから順にバスに送出される仕組みとなってい. 制約が厳格でないソフトリアルタイムシステム向けに,. る.最大のビットレートは 1MBPS で,その場合にはバ. Linuxにリザベーション機能を持たせたOSがある.また,. スの最大伝送距離が 50m となる.制御用のデータを送. このような機能を標準化しようという動きもある.. ることを想定しているため,1 つのメッセージのボディ. ■ネットワーク. のサイズは 1 ∼ 8 バイトとなっている.また CAN は,自 動車内だけでなく,FA 機器などの産業用デバイスのネッ. 近年,組込みシステムもネットワークに接続される場. トワークにも使用されている.. 合が増えている.組込みシステムのネットワーク接続は,. さらに最近では,より速い応答性と高い信頼性を達成. 大きく次の 2 つの目的に分けて考えることができる.. できるネットワークとして,FlexRay と呼ばれる規格の. 1 つめは,制御対象の機械・機器の状態をネットワー. 標準化が進んでいる.FlexRayは,CANと同様共有メディ. クを 通して パ ソ コンなどから監視したり,逆に 状 態を. ア型のネットワークであるが,各ノードがデータを送信. 変更することを目的に,組込みシステムをネットワー. できる時間帯をあらかじめ(設計時に)決めるタイムト. ク接続するケースである.この場合には,パソコンな. リガ型の通信をサポートしている.そのために,ネット. どと互換性のあるネットワーク技術を使う必要があり,. ワークに接続された各ノードのクロックを同期させる機. Ethernet や TCP/IP プロトコルが用いられることが多い.. 能を持っている.また,2 重化バス構成やバスガーディ. 2 つめの目的は,機械・機器を制御する機能自身を,. アンを設けることで,耐故障性を実現している.. 分散システムとして実現するものである.これが最も進. 組込みシステムのネットワーク接続が進んでいること. んでいるのが,自動車の中の組込みシステムである.現. に伴って,組込みシステムの分野でもセキュリティの確. 在の 自 動 車には, 多いものでは 1 台で 50 ∼ 70 個もの コ. 保が重要になってきている.実際,インターネットに接. ンピュータが使われており,それらがネットワークを介. 続して使用する DVD レコーダで,セキュリティ上の問. して協調動作している.. 題が見つかったという事例が出てきている.組込みシス. この場合においては,ネットワークが機械・機器の中. テムのセキュリティ技術は,今後の重要な研究テーマで. で閉じているため,アプリケーションごとの要求に最適. ある.. 化したネットワーク技術を使うことができる.特に,機 械・機器を制御するシステムの場合には,厳格なリアル. ■コデザインとシステムレベル設計. タイム性が求められるのが通常で,Ethernet のような最. 組込みシステムにおいては,ソフトウェアのみならず. 悪ケースの保証ができないようなネットワーク技術は,. ハードウェアも専用に開発することが多いため,ソフト. そのままでは適用できない.. ウェア開発とハードウェア設計を協調して行うことで最. 自動車内のネットワークを例にとると,サブシステム. 適化を図るハードウェア/ソフトウェアコデザインの技. ごとの要求にあわせて,1 台の自動車に 3 ∼ 5 種類のネッ. 術が重要である.. トワーク技術が使用される場合がある.サブシステムご. コデザインには,大きく分けて 2 つのアプローチがあ. との要求の例として,たとえば自動車の走行制御のため. る.1 つは,プロセッサの項で述べた,動作させるソフ. のネットワークでは,個々のデータが小さいために転送. トウェアに最適化した専用のプロセッサを用いるという. レートは低くてもよい一方で,速い応答性(数ミリ秒か. アプローチである.もう 1 つは,システムの機能の中で,. ら十数ミリ秒程度)が求められる.また,厳格に時間制. どの部分をソフトウェア(プロセッサ)で実現し,どの. 約を満たすことが求められ,高い信頼性が求められる.. 部分をハードウェア(専用回路)で実現するかを最適化 IPSJ Magazine Vol.46 No.4 Apr. 2005. 421.
(6) するというアプローチである.. 本稿で述べた通り,組込みシステムの要素技術はき. 第 2 のアプローチに向けては,システム設計の段階に. わめて多様であり,多様な技術が必要とされている.そ. おいてはソフトウェアとハードウェアを分離せずに設計. のため大学にとっては,開発した技術が実用化される可. を進め,なるべく遅い段階で両者の切り分けを決める手. 能 性が 高いという 意 味で, 魅 力のある 分 野ではないか. 法が有力である.このような手法を, ソフトウェアとハー. と考えている.また,我が国発の技術が国際的にもイ. ドウェアを区別しない「システム」というレベルで設計. ニシアティブをとれる可能性の高い分野でもある.実. 4). を進めることから,システムレベル設計と呼ぶ .. 際,ITRON 仕 様や EC++ などのように, 我が 国 発の 標. システムレベル設計を行うためにまず問題となるの. 準化活動で成功を収めているものも出てきているが,よ. は,ソフトウェアとハードウェアを区別しない記述を行. り多くの標準技術を我が国から発信していくべきである.. うためのシステムレベル言語である.システムレベル言. そのためにも,1 人でも多くの大学の研究者に,組込み. 語を開発するアプローチとしては,従来のハードウェア. システム分野の研究に取り組んでいただきたいと考えて. 記述言語(HDL)を拡張する方法と,C や C++ といった. いる.. プログラミング言語をベースにする方法がある.標準化. 一方で,大学においてこの分野に取り組むには,産業. されているシステムレベル言語としては,前者の例とし. 界における組込みシステム開発の現状や課題などが,ほ. て SystemVerilog,後者の例として SystemC と SpecC を. とんどオープンにされていないという問題がある.産業. 挙げることができる.また,複数の言語を組み合わせて. 界で組込みシステム開発に取り組んでいる方には,産学. システムレベルの記述を行おうとするアプローチもある.. 連携を促進する意味でも,このような情報を発信するこ. 組込みシステム分野へのお誘い. とをお願いしたい. この 4 月から,情報処理学会の中に組込みシステム研 究グループを新設し,活動を開始する.組込みシステム. 組込みシステム技術は,自動車,情報家電,工作機. 技術に興味をお持ちの研究者・技術者には,ぜひこの研. 械など,我が国が強い国際競争力を持っている産業を支. 究グループの活動に参加いただけると幸いである.. えるきわめて 重 要な 技 術とな っ ている. にもかかわら ず,特に大学において,組込みシステム技術を専門にし ている 研 究 者はまだまだ 少 数にとどま っ ている. 一 方 海外においては,ACM が組込みシステムに関する論文 誌(Transactions in Embedded Computing Systems)を 発刊したり,SIG(Special Interest Group on Embedded Systems)を設立するなど,組込みシステムに関する研 究が急激に活性化している.. 422. 46 巻 4 号 情報処理 2005 年 4 月. 参考文献 1)高田広章: 組込みシステム開発技術の現状と展望, 情報処理学会論文誌, Vol.42, No.4, pp.930-938(Apr. 2001). 2)高田広章 : 組込みソフトウェア開発の現状と課題 , bit, 2000 年 11 月号 , pp.3-16 (2000). 3)特 集 組 み 込 み ソ フ ト ウ ェ ア 開 発 技 術 , 情 報 処 理 , Vol.45, No.7, pp.675-715 (July 2004). 4)特集 システムレベルデザイン, 情報処理, Vol.45, No.5, pp.449-499(May 2004). (平成 17 年 3 月 14 日受付).
(7)
関連したドキュメント
概要・目標 地域社会の発展や安全・安心の向上に取り組み、地域活性化 を目的としたプログラムの実施や緑化を推進していきます
本装置は OS のブート方法として、Secure Boot をサポートしています。 Secure Boot とは、UEFI Boot
ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.
※ログイン後最初に表示 される申込メニュー画面 の「ユーザ情報変更」ボタ ンより事前にメールアド レスをご登録いただきま
(7)
ユーザ情報を 入力してくだ さい。必要に 応じて複数(2 つ目)のメー ルアドレスが 登録できます。.
航続距離(約 700km ) 水素充填時間(約 3 分). 氷点下始動性(
5.更なるヒューマンエラー防止の取り組み 5. 更なるヒューマンエラー防止の取り組み ◆良好事例を水平展開で実施しているもの