非同期グループでは、非同期式コンピュータアーキテクチャについて研究しています。
普通のコンピュータはクロック信号にあわせて動いています。 みなさんご存じですよね。 でも、世の中にはクロック信号がないコンピュータもあります。 これを非同期コンピュータといいます。 では、どうやって動いているのか? ここを見てください。
我が研究室の非同期グループは主に2つの研究をしています。
1つは非同期CPUの研究です。非同期CPUとは文字通り非同期で動作するCPUです。
非同期CPUではパイプラインの各段でそれぞれが可能な最も速いタイミングで動きます。それで は結局一番遅いところに引っ張られて同期式とあまり変わらないのではないかと考えた 方、なかなか鋭いです。確かにパイプラインが一直線のシングルスカラCPU(一度 に1つしか命令を実行できないCPU)では パイプラインの各段がそれぞれが可能な最高のスピードで動いても一番遅いとこ ろにひっぱられるので同期式とスピード的に大きな違いはありません。
しかし、スーパ スカラCPUになると状況は変わって来ます。スーパスカラCPUでは複数の色々なタ イプの命令実行 回路を持っていて、命令の実行は実行できるようになったら実行するという形を取 るので、命令実行回路が空き次第、次の命令を実行することができます。命令実 行回路は実行できる命令の種類によって命令の実行速度が違うので、一番遅い命 令実行回路に縛られる同期式より、それぞれの命令実行回路がそれぞれのスピー ドで動く非同期式の方が速く動く可能性が出て来ます。
我々はその考え方を更に押し進めて、同じ命令実行回路でも速く終わる 命令と遅くまでかかる命令を分けて、速く終わる命令だったら速く次の命令を 実行できるCPUのモデルを作っています。例えば、足し算命令もNOT命令も、普通同 じ命令実行回路で実行しますが足し算命令とNOT命令では実行時間に大きな差が ある事は簡単に想像できると思います。また、同じ足し算命令でも1+1と99999999+ 99999999では実行時間に大きな差があります。この差を最大限に活かしたらどの くらい速くなるのか?これを知るために非同期CPUのモデルを製作しています。
もう1つの研究は、非同期式のリコンフィギャラブルアーキテクチャについてです。
リコンフィギャラブルアーキテクチャとは、簡単にいえば、書き換え可能な回路です。 皆さんもPICOの実験でFPGAを使ったと思いますが リコンフィギャラブルアーキテクチャはFPGAを発展させたもので、 現在、この分野の研究が非常に盛んなものとなっています。 ふんが研でもWASMIIグループで 研究が行われていますが、これとは別に(時には協力して)我々非同期グループでも 研究を行っています。
リコンフィギャラブルアーキテクチャを非同期で動作させる1番の利点は、デバ イス上への回路の配置を自由に行えることです。 同期式では、回路間を配線でつなぐ際に、配線が長くなってしまうと動作周波数 が低下してしまうため、あまり長い配線をすることができません。 しかし非同期式であれば、長い配線をしても、そこを通る部分の性能は低下しま すが、全体の性能はそれほど低下しません。 これにより、回路のプログラム性の向上、つまり回路の作りやすさが向上するわ けです。