従来からの組込みコンピューティングデバイスに、プロセッサとASIC(特定用途向け集積回路)があります。さらに最近では、プロセッサとASICのいいとこ取りをしたFPGAというデバイスが注目されています。FPGAのすごい点は、設計しだいでどんなハードウェアにもなれることです。高瀬先生は、このFPGAを楽チンに使いこなすシステム設計環境「SWORDS」の開発を進めています。「SWORDS」があれば、ハード屋さんもソフト屋さんも、元気になれる? そのすごいところを見ていきましょう。
ハード屋さんもソフト屋さんも楽チンな、システム設計環境「SWORDS」ができた
私の専門は組込みシステムと呼ばれるものです。組込みシステムとは何でしょうか。乱暴な定義をすれば、汎用システム以外のコンピュータシステムのこと。もう少し格好良く言うと、私たちの生活を豊かにする専用コンピュータシステムと言えます。例えば掃除機ロボットとか自動車など、すべての生活機器の中に、実はコンピュータが入っています。私から見たら、Pepper君も組込みシステムです。
組込みシステムのデバイスについて説明を進めましょう。従来からのハードウェアの代表的なものに、プロセッサとASIC(特定用途向け集積回路)があります。でも両者には一長一短があります。
そこで私が注目しているのは、プロセッサとASIC(特定用途向け集積回路)のいいとこ取りをしたFPGAという集積回路です。FPGAのすごい点は、書き換え可能で回路を無制限に変更でき、設計次第でどんなハードウェアにもなれることです。第3のコンピュータと呼ばれています。
最近では、ソフトウェアでFPGA上のハードウェアを設計することだってできます。プロセッサとFPGAを同じデバイスに集積して繋げることだってできます。このデバイスはプログラマブルSoCと呼ばれています。でもこのプログラマブルSoCを使いこなすの、ハードウェアも設計しないといけないしどうやって通信させるか考えないといけないし、とっても大変なんです。
私は、このFPGAを使いこなすシステム設計環境として「SWODRSフレームワーク」の開発を進めています。
このSWORDS、何をしてくれるのか簡単に説明します。
まずプログラムの上で、普通にソフトウェアだけでアルゴリズムを記述してください。それで、どの処理をハードウェアにして速く動かしたいかを決めてください。あとはSWORDSが頑張ります。SWORDSはそのソフトウェアの一部分を切り出して、ハードウェアに合成します。さらに、ソフトウェアとハードウェアの間に、インターフェースという通信経路も合成します。そして、ハードウェアをソフトウェアと同じように扱えるようなOSも提供します。
ちょっとややこしいので今回は要点だけ。とにかく、ソフトの開発技術だけですごい組込みシステムを作れるようにします!だから SWORDSは、システム設計技術で、ソフト屋さんとハード屋さんの両方を元気にします!