組込みシステムは,FPGAの利用を前提にして開発する。このような時代が訪れつつある。組込み技術には,組み込む機能や開発手法の柔軟性を維持すること,高性能化を継続することが常に求められる。柔軟性があるからハードを共通化しながら様々なニーズに応えることができ,高性能化し続けてきたから応用分野が広がってきた。これまで,柔軟性と高性能化の両方を担っていたのが,「ムーアの法則」によって進化するマイクロプロセッサだった。しかし,ムーアの法則だけでは,柔軟性と高性能化を両立できなくなりそうだ。こうしたジレンマを解決するのがFPGAである。アルテラは,FPGAとプロセッサを併用して,今後の組込みシステムの進化を支えるためのコンセプト「エンベデッド・イニシアチブ」を打ち出した。2010年末にはその中核になるツール「Qsys」(キューシス)をリリースし,2011年には対応製品の詳細を明らかにする予定である。


日本アルテラ、  マーケティング部ディレクター堀内伸郎氏

アルテラが発表した,エンベデッド・イニシアチブの直接の狙いは,二つある。一つは,FPGAと組み合わせてシステムを構成できるプロセッサの選択肢を拡大すること。もう一つは,アーキテクチャの異なる様々なプロセッサに対して,共通のシステム開発フローを提供することである。FPGAを活用すれば同じ開発環境を使って,様々なプロセッサを搭載したシステム開発が可能となる(図1)。

これらは,いずれも組込みシステムを構成する最も重要な部品であるプロセッサの使い勝手の向上につながる。一方で,FPGAが組込みシステムでプロセッサを生かすための鍵を握る存在になったことも示している。

アルテラと主要なプロセッサ・ベンダーの間で,今後の組込みシステムの開発環境を協力して整えようとする動きが急になってきた。Intel社はアルテラのFPGAを搭載した組込み用製品の発売を予定し,ARM社とアルテラは広範囲な技術ライセンス契約を結んだ。「これらの動きは,いずれもエンベデッド・イニシアチブの一環として位置付けられる。」(日本アルテラ、マーケティング部ディレクター堀内伸郎氏)

すべては柔軟性の維持と高性能化の継続に向けて


図1 アルテラが発表したエンベデッド・イニシアチブの概念図 (クリックで拡大)

システムの柔軟性を担ってきたプロセッサは,高性能化の継続が困難な状況に陥りつつある。これまでプロセッサは,製造プロセスの微細化を推し進めてトランジスタを高速化し,チップのクロック周波数を向上させて,ムーアの法則に沿った高性能化を続けてきた。しかし,こうした手法では,消費電力と発熱量が増大し過ぎて,現実的なチップを開発できなくなった。現在ではパソコンのような汎用機器ではプロセッサ・コアのマルチ化が,組込みシステムでは特定の演算を高速実行するハードウエア・アクセラレータの利用が必須になってきた。

「組込みシステムの開発で必須になるハードウエア・アクセラレータの利用は,機能の固定化を伴う諸刃の剣となりうる」(堀内氏)。システム開発の初期に,アクセラレータの仕様を固めておかなければならないし,システム開発の過程での仕様変更や不具合の修正が困難になるからだ。こうした機能の固定化を避け,ハードウエア・アクセラレータを実現する手段がFPGAの利用である。

組込みシステム開発案件の40%上でFPGAを使用

現在,プロセッサとFPGAを組み合わせて使う開発例が増えている。「組込みシステムの開発案件のうち,40%以上でFPGAが利用されている。また,アルテラのFPGAを使った組込みシステムの開発事例のうち,30%以上がアルテラ製のマイクロプロセッサ『Nios ? 』を使っている」(堀内氏)。しかし,現状ではプロセッサとFPGAの併用には,開発者の自由度を損なう問題を抱えている。FPGA上に搭載できるプロセッサの種類が限られていることである。

もちろん,FPGAへの搭載に向けて用意されているプロセッサを利用しても,様々な機能を実現することができる。しかし,実際には組込みシステム開発におけるプロセッサ選びは,それだけでは融通が利かない場合が多い。プロセッサは,応用分野や保有するソフト資産に応じて選択することを強いられることもあるからだ。たとえば,携帯電話機向けではARMアーキテクチャが,パソコン向けのソフト資産を生かしたい用途ではIntel系のアーキテクチャが選択される傾向がみられるだろう。また,応用分野を問わず,従来使い慣れたOSや過去に開発したソフト資産を利用した方が開発効率は上がる。このため,様々なプロセッサを利用できるようにして,FPGAで対応して欲しいというニーズが高まっている。

プロセッサの選択肢を増やして開発リスクを軽減

これまで組込みシステムの開発者は,プロセッサ・コアのアーキテクチャを積極的に変えようとは考えなかった。しかし,近年利用するプロセッサ・コアの変更が迫られるケースが増えてきた。

携帯電話とパソコン,民生機器と通信機器など,これまで違うカテゴリに分類されていた機器の機能が融合するようになり,使い慣れないOSやソフトを使わざるを得ない状況が生まれている。たとえば,携帯電話機がスマートフォンに進化する過程で,端末メーカーが独自開発したOSから,Googleの「Android」に乗り換えるようなケースがこれに当たる。こうした場合,Androidへの対応を最優先に考えてプロセッサを決める。

ところが,プロセッサを乗り換えることによって,システムの開発環境も使い慣れないものに乗り換える必要が出てくる。プロセッサのアーキテクチャが違っても,ソフトの開発では,共通化した開発環境やフレームワークを利用できるようになった。しかし,プロセッサと組み合わせるハードを自由に変える場合には,その組み合わせごとに開発フローが違っているからだ。このため,プロセッサの乗り換えが容易な,システム設計の環境が必要になる。「同じ開発環境を使って,様々なプロセッサを搭載したシステムを開発ができることは,市場や技術の変化に柔軟に対応するためのリスク・ヘッジとしても重要になる」(堀内氏)。

実績が多く,将来性のあるプロセッサを取り込む

これまで,アルテラのFPGAに搭載できるプロセッサ・コアの代表的なもとしては,同社のNios ? を中心にARM社の「Coretex M1」,Freescale Semiconductor社の「ColdFire」の3種類が各社から提供されてきた。エンベデッド・イニシアチブに沿って,アルテラはこれを6種類に拡大する。

まず,マルチコア機能を搭載したARMアーキテクチャで既に実装可能なレベルとしては最高性能のプロセッサ「ARM Cortex-A9」と,アルテラの28nm技術で製造したFPGAを1チップ化したチップを,アルテラブランドで発売する予定である。「プロセッサとFPGA,それぞれの特性に合わせて分散処理するメディア・プロセッサとして使う応用を想定している」(堀内氏)という。現時点で,詳細なチップの仕様は明らかになっていないが,ARM Cortex-A9はハード・コアの形でチップ上に搭載される。

Intel社の組込み用チップにAlteraのFPGAを搭載

またMIPS Technologies社の「MIPS32」アーキテクチャをライセンスを取得し,アルテラのFPGA上に搭載可能な同社のソフト・コア「MP32」として投入する。ソフト・コアであるため,システム開発者は,条件に合った様々なFPGAの中から性能やコストに応じたものを自由に選ぶことができる。MP32では,自社製のNios ? では対応していないOSのユーザーがFPGAを利用できるようにする。「これまでアルテラは,Nios ? 上で動作するOSを増やしてきた。しかし,組込み機器での利用実績は多いが,Nios ? 上では動作しないOSも残されていた」(堀内氏)。産業機器や通信機器での利用が多いWind River社の「VxWorls」やQNX Software Systems社の「QNX」がその代表例である。MP32ならば,これらのOSおよびOS上で動作するソフト資産をFPGA上のプロセッサで利用することができる。

加えて,Intel社は産業機器への搭載に向けたプロセッサ「Atom E600」とアルテラのFPGAを1パッケージに納めたチップを2010年9月に開催した「Intel Developer Forum 2010 San Francisco」で披露した。そして,2011年上期中に発売する計画を明らかにしている。FPGAの特徴を生かして,リコンフィギュラブル(再構成可能)性を備えたアクセラレータを実現し,医療機器などへの搭載を狙っている。

開発環境を一本化し,プロセッサを選択可能に

これまでアルテラは,プロセッサとFPGAを併用する組込みシステムの開発に向けた「SOPC Builder」と呼ぶツールを提供していた。エンベデッド・イニシアチブに沿って,SOPC Builderの機能と性能を大幅に強化し,さらに多くの種類のプロセッサに対応した「Qsys」(キューシス)をリリースする。QsysはSOPC Builderと同様に,アルテラのFPGA向け統合開発ツール「Quartus ? 」の中に組み込まれる。アルテラアルテラのチップだけではなく,Intel社のコンフィギュラブルなAtomベースのプロセッサもQuartus ? を使って組込みシステムを開発する。Qsysに新たに搭載される主な機能の概要を紹介する。

まず,Qsysでは,FPGA上のプロセッサやIPコアを多彩なネットワーク・トポロジで接続できる「ネットワーク・オン・チップ」と呼ぶ概念を採用している。SOPC Builderで構成するのは,プロセッサやDMACなどのマスター・デバイスと,メモリーやI/OペリフェラルなどのIPコアをスレーブとした,メッシュ型のネットワーク(スイッチ・ファブリック)である。このようなネットワークは,スケーラブルだが,スイッチの構成が大きくなるため,高性能化しにくい欠点があった。Qsysでは,リング型やスター型も利用できるようにした。また,パケットのインタフェースを取り入れ,バースト転送の効率を上げることができる。さらに多段パイプラインの自動挿入もサポートする。

これにより開発したシステムの性能も向上する。マスター・スレーブ型のデータパスで比較すると,Qsysで開発したデータパスはSOPC Builderで開発したものよりも2倍高速で動作させることができる(堀内氏)という。

AMBAなど業界標準のIPインタフェースに対応

階層設計にも対応した。SOPC Builderでは,同じ階層にある機能ブロック同士しか配線やスイッチ・ファブリックで接続することができなかった。Qsysでは,多段の階層での接続に対応した。このため,システム開発者がシステム・レベルで効率よく機能ブロックの接続,除去,追加ができるようになった。

また,業界標準のIPインタフェースに対応した。従来は,アルテラ独自のインタフェース「Avalon」だけに対応していた。これが,ARM社の「AMBA」なども使えるようになる。各マイクロプロセッサ・ベンダーは,それぞれ独自のインタフェースを持っているが,「Qsysでは対応するインタフェースを徐々に増やしていく」(堀内氏)という。

アルテラは,2010年末にはQsysをリリースする予定である。また2011年には,プロセッサとFPGAを適材適所に使い分けることができる,ARM Cortex-A9とFPGAを1チップ化した製品の詳細を明らかにする見込みである。組込みシステムの実現手段を一新する,アルテラの動きから目が離せない。

(2010年10月)
「この記事は、日経BP社『Focus-On! 』に掲載されていたコンテンツを、日経BP社の許可を得て転載しています。」