![]()
![]()
スウェーデンで1998年に設立されたバーチャテックは、その後2003年に米国に本拠を移し、満を持して日本市場に乗り込んできた。超高速仮想ソフトウェア開発環境を提供する同社は、今でも開発拠点を北欧に置く。北欧の洗練と米国の先進が、日本の老練にどのようなメリットを与えてくれるのだろうか。ウインドリバーとの協業に、その答えがありそうだ。
|
ソフトウェア開発にストレスのない環境を提供
バーチャテック・ジャパン株式会社(以下、バーチャテック・ジャパン)は、2006年に日本法人を設立したばかり。設立後2年を経て、着々と顧客を増やし、知名度を高めてきた。
これだけのARMコアが出荷されているにも関わらず、アームは実際に半導体そのものを販売しているわけではなく、ARMアーキテクチャのCPUコア(ARMコア)をライセンス供与しているI P(Intellectual Property)ベンダである。
ひとことでARM搭載プロセッサといっても、それを製造・販売しているメーカは数多く、2007年9月末においてライセンシーはワールドワイドで204社にのぼり、同じARMコアを搭載しているマイコンやプロセッサ、SoCなどであったとしても、それぞれ異なるブランドで提供されていることになる。
マイコンを選択するときのポイントのひとつとして、既存のソフトウェア資産や開発環境、スキルを活用できるかどうかがあげられる。したがって、同一アーキテクチャのコアを搭載したマイコンを正しく選択することが必要である。
ARMコアを搭載している製品であれば、メーカやブランドが異なったとしても、同じARMアーキテチャであることから、開発環境を共用でき、既存の多くの資産を活かすことも可能となる。
「ARMコアは、低消費電力ながら高い性能を実現しており、携帯電話やポータブル音楽プレーヤー、デジカメなどのモバイル製品をはじめ、プリンタやテレビ、自動車、ネットワーク製品、ゲームなど幅広いジャンルの製品に採用されています」(平田氏)という。
Simics」と呼ばれる組み込みソフトウェア開発/テスト向けの仮想実行環境が同社の主力製品だ。Simicsは、CPUの命令セットだけでなく、シリアルやLANコントローラ等のI/Oデバイスやメモリなど、周辺環境を含むボード全体を仮想環境でシミュレートする。同様のソフトウェアは市場にいくつかあるが、Simicsは機能レベルの互換性を持ちながら、精度より速さに重きを置いて開発された唯一の製品だという。高速性は、一般的なWindows PCで数百MIPSの性能を出したことで実証済み。実際に、他社製品と比べて10倍以上の性能である。バーチャテック・ジャパン ビジネス・デベロップメント・マネジャー 高橋 高弘氏は、次のように語る。
「組込みソフトウェア開発者が開発・デバッグ・試験を行う環境として求めるのは、軽快な実行速度です。Simicsではメモリやレジスタというソフト開発に必要なバイナリ互換性を保ちながら、繰り返しの多いソフト開発の実行条件に耐える実行速度を実現しており、世界中の大規模ソフトウェア開発者に役立っています」
![]() 拡大画像 |
| 図1:仮想化ソフトウェア開発環境「Simics」 |
一般に、仮想開発環境は精緻さを求めて開発される。しかし、Simicsの特長は、このように開発者に十分なテスト・パフォーマンスを提供できる高速性を求めて開発されていることにあるといえよう。開発者は、高い開発生産性を得られる後者に魅力を感じるものなのだ。
もちろん、開発やテストの工程で高い精度が求められる場面もある。精度を高めるためには、「Simics Hybrid simulation」を利用すればよい。Simicsのハイブリッド型シミュレーションはサイクル精度のシミュレータと、Simics本来の機能レベルシミュレータを必要に応じて切り替えて使用することを可能とする。通常の実行では機能レベルシミュレータを使用し、性能を評価したい部分は、低速にはなるもののサイクル精度シミュレータに切り替えて厳密な性能評価を行うことが可能となるのだ。
![]() 拡大画像 |
| 図2:「Simics」構成図 |
強力なデバッグ機能でソフトウェア開発者を支援
組込みソフトウェア開発者にとって、Simicsのデバッグ機能も魅力だ。Simicsは開発環境 Wind River Workbenchと直接接続できるため、ユーザーは使い慣れたウインドリバーの開発環境を使う感覚で、Simicsのデバッグエンジンを活用できる。このデバッグエンジンの特長は、一般的なソースコード検証機能だけでなく、“逆実行環境”を備えていることにある。
「逆実行環境を活用することで、トレースデータを見る以上の価値を得られるのです」と高橋氏は語る。CPU上で実行されるプログラムの状況とともに、周辺のメモリやレジスタの状態を把握し、それをステップバックできる。
「ボード全体の実行状況を時系列にセーブしておけるといえばわかりやすいでしょうか。このため、実行状況をある特定のタイミングで切って、続くプログラムを実行したり戻したりしながら、さまざまなパターンのテストをくり返すことができるのです」
Simicsがすべての情報を蓄積してくれるため、トレースデータを使う場合のように、プログラムにログ出力のコードを追加し、膨大なデータを追いかける必要はなくなるというわけだ。この機能は、開発チームとテストチームが地理的に離れた場所で作業する場合にも威力を発揮する。実行中の状態をファイルとして吐き出せるため、電子メールにファイルを添付して送付するだけで、問題が発生した部分の状況を共有できるのだ。多くの企業がテスト工程にオフショアアウトソーシングを利用する現在、Simicsの可能性は大きく広がっている。
なお、バーチャテックは、シミュレーションモデルを構築するサービスも提供している。時間とコスト、もしくは多くの人的リソースが必要になるモデル構築の面でも、メリットが期待できそうだ。
さらなるマルチコア化を強力なタッグで実現
バーチャテック・ジャパンとウインドリバーの協業は、対称型マルチプロセッシング(SMP)に対応するVxWorks 6.6の登場で本格化した。
バーチャテックは、フリースケールからベストパートナーに認定されるなど、フリースケール製マルチコアCPUのシミュレーションに力を入れている。SMP対応のOSと開発環境をウインドリバーに提供してもらうことで、トータルなソリューションとして顧客に提案できるようになる。
高橋氏は、「マルチコア開発において、ウインドリバーは優れたOSと開発環境を提供してくれています。VxWorksとフリースケールのCPUを利用する開発プロセスにおいて、Simicsをデバッグに活用してほしいのです」と話す。
Simicsの逆実行環境を使えば、再現性に難のあるマルチコア環境のテストでもスムーズに実行できる。迅速なデバッグが可能になることで、トータルな製品開発期間が短縮できる。
現在、フリースケールは最新の8コア・マイクロプロセッサ「QorIQP4080」の出荷を準備中だ。バーチャテックは、P4080向けの仮想開発環境をすでに用意している。ウインドリバーも同様に、出荷後すぐにVxWorks対応BSP(Board Support Package)を提供する準備を進行中。できるだけ早くP4080を活用したい顧客は、製品が出荷されていない現時点でも、SimicsでVxWorksをポーティングしたP4080プラットフォームの組込みソフトウェア開発をスタートすることができる。
マルチコアは、ハードウェアベンダーの提案だ。電力消費は少なくなり、性能は向上する。きょう体の削減は、有効利用できるスペースを生み出す。一方で、マルチコア向けの組み込みソフトウェア開発は、デバッグの難しさから難航するケースも少なくない。
高橋氏は、「ソフトウェアがマルチコア化のネックになってはいけません」と力説する。
「SMPにきちんと対応できているVxWorksと、P4080の開発にもかかわっているバーチャテックのSimics。これこそ、最適な組み合わせです。ウインドリバーとタッグを組んで、マルチコア化の流れをさらに加速させたいと考えています」
ウインドリバーパートナー製品紹介ページ
http://www.windriver.com/japan/alliances/directory/list/virtutech.html


