自分が考えたコンピュータをかたちにして、動かしてみたいと思いませんか。システムとLSI設計のエキスパート、今川隆司先生は、「FPGA」というスグレモノのハードウェアを用いて、システム設計の楽しく、耳よりな話を届けます。
FPGAを使って自分が考えた回路を作ってみよう
システム設計にはやることがたくさん
私たちの身の回りには、情報処理システムというものがあふれています。システムを作っている人たちは、具体的にどういうことをしているのでしょう。
「作りたいものを決めて、プログラムを書いて、コンピュータで動かす」。これだけ単純であればありがたい話です。ですが、残念ながら考えるべきこと、やるべきことはもっとたくさんあります。
例えば、イケてる画像認識システムを作るとします。画像処理の方法にも沢山の種類がありますが、今回はその中から人工知能の一種である深層学習を使おうと決めました。次にプログラミング言語にC言語を選び、コンピュータが実行できる形式に変換してやります。こうした工程を続けていくと、実際に処理を行うハードウェアであるCPU(プロセッサー)に行き着きます。
CPUの代わりに便利なFPGA
プロセッサは、コンピュータの頭脳といっていい重要なパーツです。どんなプロセッサを選ぶかでシステムの品質は大きく変わりますので、自分なりの工夫を盛り込みたくなってきます。しかしプロセッサの実物なんて、どうやったら作れるのでしょうか。やはり既製品を買ってくるしかないのでしょうか。
ところがここに、FPGAという非常に便利なハードウェアがあります。FPGAは中身を書き換えることで、自分が考えたプロセッサなどを「回路」のかたちにすることができます。
情報処理システムのなかでFPGAを上手に使えば、既製品を上回る性能や効率を出すこともできるのです。
市販のFPGAにも色々なものがありますが、扱いやすく結構な性能のものでも、価格は約3万円。これを高いと思うか安いと思うかは人それぞれだと思いますが、決して手の届かないレベルではないと思います。
こういったFPGAは、すでに色々な現場で使われています。代表的なところでは、人工知能、ロボット制御、ネットワーク機器などが挙げられます。
従来型のFPGAと比べて小型化に成功
私がこれまでに関わってきた研究の中には、ビアスイッチという新しい仕組みを使って新たにFPGAを作るというものがあります。ここでのスイッチは、回路の中で「信号を流す・流さない」を制御するためのスイッチと思ってください。
ビアスイッチFPGAは、従来型のFPGAと比べて12分の1の小型化に成功しました。まだまだ改良の余地はありますが、信号を伝える速度が速いなどのメリットがあることからFPGAの更なる高速化、省エネ化なども見込まれています。
最後に私からのメッセージです。何を、どのようにと考え、作っていくシステム設計というのは、考えどころがたくさんあって、非常に面白いものです。FPGAのおかげで、プロセッサの中身を考えて実際の製品に組込むことも、現実的な選択肢になっています。何より、自分の手で作ったものを動かすことは、たとえ既製品に劣る性能しか出なかったとしても、何ものにも変え難い経験になると思います。
「計算機システム」が 学べる大学・研究者はこちら
その領域カテゴリーはこちら↓「13.IT・AI」の「53.ハード・ソフト(OS、アプリ)、プログラム系」
◆先生は研究テーマをどのように見つけたのでしょうか。
初めてFPGAに触ったのは、大学の実習科目でした。元々、ゲーム機やパソコンの中身に興味をもっていたこともあり、課題であることを忘れるぐらい夢中になったことを覚えています。FPGA向けの回路設計では、(イメージがしにくいかもしれませんが) ソフトウェア開発と似たような感じでコードを書いていきます。このときの考え方というか頭の使い方が、ソフトウェアのときとは少し違っていて非常に面白く感じられ、そのときの楽しい感覚を味わい続けるために、このテーマの研究を続けている側面もあります。
世界でもっとも強力な9のアルゴリズム
ジョン・マコーミック、長尾高弘:訳(日経BP)
情報社会を支える重要なアルゴリズムが分かりやすく説明されています。アルゴリズムそのものを学ぶだけでなく、「こんなことを考えついた人達の頭の良さ」を楽しみながら読み進めてはいかがでしょうか。私のオススメは公開鍵暗号。「宝箱を閉める時と開ける時で異なる鍵を使い、片方の鍵は世界中の人に渡してしまって問題無い」。こんなこと本当にできるんでしょうか?