並列処理を使いながら簡単なソフトウエアで差別化できるシリコンを作った
David May氏、英Bristol 大学教授
David May教授は、米国の電子業界誌EE Timesが昨年創刊35周年を迎えその記念に『これからの35年に向け産業界に影響を及ぼす、35の人、技術、サービス』という企画のなかで人の部で選出された一人である。16ビットプロセッサが最先端の時代に、マルチスレッドの並列コンピュータ『トランスピュータ』をインモス社で発明した。その概念は時代よりも早すぎた。しかし、今この概念はソフトウエア無線のようなプログラマブルプロセッサとして開花しようとしている。
英ブリストル大学 デビッド・メイ教授
Q1: 今はどのような仕事に注力されていますか?
A1: ブリストル大学でコンピュータサイエンスを教えています。今はフルタイムの大学教授ですが、仕事の半分を4年前に創業したXMOSセミコンダクタ社のためにも使っています。ここからクルマで5分のところにXMOSのオフィスがあります。大学では博士課程の学生に教えています。
Q2: 研究テーマは何ですか?
A2: 今でもコンピュータアーキテクチャの研究を続けています。現在の興味はコンピュータの低消費電力化です。マルチコアなどによるパラレスプロセッシングやコンカレンシ(並列性)を駆使し、プログラミングを改善しています。
XMOSのアーキテクチャはマルチスレッド方式のコンピュータで、特殊な内部アーキテクチャを持っています。それは全てのスレッドについてリアルタイム性能を保証するアーキテクチャです。あるツールを使って実際にプログラミングを書き、締め切りまでに完了し、それをシリコンチップにインプリメントし、実際に正しいタイミングで動作することを確認します。このツールはタイミングも考慮したプログラミングができます。
日本の大学ともいろいろな協力をしています。コンカレンシとマルチコアについて教えています。XMOSプロセッサは低コストで簡単な技術ですが、さまざまな応用を知りたいのと同時に、応用エンジニアを啓蒙するためにもXCORE.comと呼ぶコミュニティを作り意見交換をしています。今200〜300名の会員同士でディスカッションしています。
XMOS社のプロセッサについては、www.xmos.comを参照することもできますが、YouTubeからMyXMOSと入力すると、XMOSについての説明が得られます。
Q3: XMOS社を設立した理由は何ですか?
A3: 2001年にXMOSのアイデアを考えつきました。これは半導体チップの設計を簡単にしたかったからです。IC設計は時間がかかるしお金もかかる。昔2000万ドルで済んだIC設計が今1億ドルかかるようになりました。
一方で、成長している多くのエレクトロニクス分野では低コスト化が強く要求されています。そこでプログラマブルなIC設計が必要だと考えました。その後、インターネットバブルが終わり、2004年に一人の大学院生に私の考えを提案してみました。すると彼は私のアイデアに基づいてプロセッサチップを設計し試作まで行い、さらにビジネスプランまで立てました。そこで2005年末に企業ファンドやインベスタから資金を調達し創業したのです。開発キットは1000台以上売りました。
Q4: どのような反応がありましたか?
A4: 日本の大学が強い関心を寄せました。コンピュータアーキテクチャを教える教師はみんな逐次コンピューティング技術しか教えずに、並列コンピュータを教える教師がいません。私は150部のテキストをコピーし送りました。大学が逐次コンピューティングを教えても、現実の組み込みシステムではコンカレントで動作することが多いのです。しかし、既存のアプリケーションを並列化するのは難しいです。
Q5: 開発されたXCOREプロセッサは、シングルコアでマルチタスクが可能な並列プロセッサです。いろいろなタスクを振り分けるスケジューリングが難しそうですね。
A5: アプリケーションを熟知し、それを多数のタスクに分けます。そのタスクを書くプロセッサあるいは各スレッドに割り当てます。例えば、オーディオプロセッシングをメインプロセッサで行うには消費電力が大きくなります。オーディオ処理ではたくさんのタスクから成り立っていますので、タスクを細かく分割します。それぞれのタスクをそれぞれのプロセッサあるいはスレッドが行い、最後にそれらのプロセッサをつなげて互いにやり取りする訳です。私たちの技術はたくさんのビルディングブロック部品からなる将来の応用に向けたプロセッサです。
オーディオプロセッシングやロボット技術などさまざまな応用でも一つのハードウエアチップだけで実現できます。また、デザイン時間を短くするというだけでも意味のある技術です。最初の製品はオーディオ処理です。
Q6: 開発されたXCOREプロセッサはソフトウエア無線(Software defined radio)にあやかってSoftware defined siliconと呼んでいましたね。
A6: ハードウエアは同じでソフトウエアだけで差別化するプロセッサチップです。例えば、半導体チップ上にDSPと、USBやイーサーネットなどのI/Oインターフェース、オーディオインターフェースなどが集積されているとしましょう。一つのコアの1スレッドをDSP動作に振り分け、別のコアのスレッドをプロトコルスタックやインターフェース処理といった全く違う仕事に振り分けます。そうすると、ソフトウエアプログラミングは単純になりますし、フレキシブルなプロセッサができます。最新のチップでは、並列性をさらに高めるため4コアを集積しています。1コア当たり400MHzで動作しますので、1600MIPSの性能が得られます。DSP部分は、32×32ビットの積和演算(MAC)を行いますのでオーディオプロセッサとしては十分でしょう。
Q7: 開発ツールは用意されていますか。
A7: 素晴らしいシミュレータがあり、コンパイラもありますが、プログラミングはC言語ベースで行います。C/ C++、XC(並列化に向いた言語)などを使います。並列化に向いた言語が出てきたことは80年代にAdaやさまざまな言語が出来てきた様子と似ています。ただし、組み込みシステムではやはりC言語が主流でしょう。
Q8: XMOSという半導体ビジネスを推進する一方で、大学でも学生に教えています。これからも二束のわらじを履きますか。
A8: 私は大学が好きです。かつてトランスピュータを発明したインモスがSTマイクロエレクトロニクスに買収された後に、転職を考えました。小さな会社の方が好きでしたから。ちょうどそのころ大学に空きができたので大学へ移りました。インモスに入る前にも大学で教えていたことがあります。それ以来、若い人と一緒に働くことが好きです。XMOSでも社員の30%は大学卒業後3〜4年の若いエンジニアです。