Semiconductor Portal

HOME » セミコンポータルによる分析 » 技術分析

英国特集2009・組み込みシステムを先導する専用プロセサの時代に(1)

マイクロプロセッサが汎用的ではなくなるかもしれない。プロセッサの得意なアプリケーションに応じて、最適なプロセサが活躍する。これまでのマイクロプロセッサは、パソコン用がメインで、それもインテル、AMDだけが市場を占めるという自由主義経済とは思えない状況が支配してきた。パソコンからポストPCの時代へと叫ばれて久しいが、ポストPC、すなわち組み込みシステムの時代に入っているため、各組み込みシステムに応じた最適なマイクロプロセッサが求められるようになってきた。ここに成長のチャンスがある。

組み込みシステムとは、パソコンやコンピュータ以外のシステムに使われながら、コンピュータと同じように、プロセッサとメモリー、周辺回路を含むシステムを指す。デジカメ、携帯電話、ゲーム機、音楽プレーヤー、DVDプレーヤー、計測器、自動車用のECU(電子制御ユニット)、上げるとキリのないほど多くの電子機器が今や、プロセッサとメモリー、周辺回路でできている。まさに組み込みシステム全盛の時代である。


図1 ASSP、ASICの設計件数は減少傾向にある
図1 ASSP、ASICの設計件数は減少傾向にある


これからも組み込みシステムは果てしなく増えていく。というのは、これまではハードウエアでこういった電子機器を作っていたが、その中核となっていた、ASICやASSPがもはや減衰の道をたどっているからだ(図1)。設計件数は毎年減っていく一方で、ソフトウエアの行数が年々増えていくといった状況を呈している。もちろん、ASSPの売り上げが大きく減っているわけではなく微増ではあるが、もはやハードウエアで電子機器を作る時代ではなくなってきていることも疑いない。組み込みシステムでは基本ハードウエアは変わらず、ソフトウエアで差別化を図る。

この状況はビジネス的にも大きく変化している。プロセッサとメモリー、周辺回路でできているシステムの時代にもかかわらず、インテルがひとり勝ちできない状況にもなっているからだ。アプリケーションごとに最適なプロセッサでは、インテルさえもが勝てない時代なのである。だからこそ、今インテルはパソコン以外の組み込みシステムへの進出に躍起になっている。Atomは単なるネットブック用のプロセッサではない。Atomをプロセッサコアにして、さまざまな組み込み系システムのプロセッサへと発展させていこうと狙っている。MoorestownやLincroftなどロードマップに載っている将来のプロセッサはAtomをプロセッサコアにした大きなプロセッサチップである。一方、英ARM社のプロセッサコアは携帯電話には最適なプロセッサであるが、脱携帯電話用プロセッサを目指して開発を進めている。組み込み時代は誰が勝つか全くわからない混沌としたビジネスの時代だといえよう。インテルでもない。ARMでもない。第3、第4のプロセッサメーカーが登場することはあと5年もすれば時代が証明してくれる。

このような時代だからこそ、進取の気性を先取りしている英国からさまざまなプロセサが提案されていることが今回のスコットランド取材でもはっきりと見えてきた。マルチコアプロセッサのソフト開発をまるでシングルプロセッサと同じようにプログラムできるツールを開発しているCritical Blue社、およびデジカメ応用を意識したリコンフィギュアラブルプロセッサのSpiral Gateway社、さらに命令セットを32ビットではなくむしろ16ビットにして超低消費電力プロセッサを狙うCambridge Consultants社を紹介する。昨年の英国特集で、シングルコアの小さなチップで並列処理するマルチスレッドプロセッサを開発しているXMOS Semiconductor社Icera社を紹介したが、Imagination Technologies社でも同様のプロセッサを製品として売るかどうかをまだ表明していないが、持っている。今回の3社は今後、評価されるメーカーになると信じて開発を進めている。

解析して危ない個所を発見するCritical Blue
スコットランドのエジンバラを本社とするCritical Blue社は、マルチコア開発用のソフトウエアをこれまでのような特殊な言語で開発するのではなく、一般的なプログラム言語であるC/C++言語でソフトウエアプログラムを書いても構わない、というソフトウエア開発環境Prismを発売した。ソフトウエア開発者はマルチコアを意識せずにシングルコアのソフトを書く要領で、結果的にマルチコアプロセッサのソフトを開発できるという便利なツールだ。

これまでマルチコアプロセッサは、プロセッサを並列処理させるためにプロセッサへのジョブのスケジューリングやコア同士の依存関係などを考慮に入れながら、書いていくためソフト開発に時間がかかっていた。ソフト開発のためのツールがなければ、並列処理するためのモデルもない。性能分析機能もなければ、ソフトウエアドライバもない。全くのないないづくしだった。

このPrismでは、図2に示すように、ソフトウエア開発者は従来のソフトウエア環境を使ってC/C++コードを書いていき、コンパイルした後IDEや命令セットシミュレータで検証する。その後、Prismとつなげ、コード、特に並列性をチェックしていく。同時進行部分の解析やデータの相互依存性を解析し、性能をチェックする。知らずに相互依存性を見逃している部分を検出したり、データのレーシングを起こしていないかどうかを検出したりする。もちろん、スケジューリングも確かめてくれる。


Prismの基本構造
図2 Prismの基本構造


さまざまな問題を解析、検出した後に、場所などを教えてくれるため、ユーザーはそれを見ながらコードを直していく。まずはシーケンシャルコードを解析し、問題がありそうなホットスポットに注力する。What-Ifベースのコードからスレッド(命令)になりそうなものをアノテーション(注釈をつけるとの意)関数とする。What-Ifのスレッド同士の依存性を確認し、それに従ってスレッドを発行する。そのスレッド発行を検証し、最後にスレッド発行を調整する。

現在、日本のメーカー5社と調整中であるが、今のところ東芝のMePコアを並べたVenezia向けのツールと、ARMのCortexシリーズ向けに出しているが、徐々に広げていくと、同社CEOのDavid Stewart氏は語る。またMIPS、さらにPowerPC、SHシリーズにもライセンスを与えていく計画だ。


Critical Blue社CEOのDavid Steward氏
Critical Blue社CEOのDavid Steward氏


(2009/04/06 セミコンポータル編集室)

ご意見・ご感想