データフローコンピュータ

某社のT氏よりデータフローコンピュータの説明してやるから来いというメールが来ていたので、コン部の数人で聞きに行くことに。

データフローコンピュータとは非ノイマン型コンピュータの一種で、ALU をパイプラインにして、DataPool にあるデータのタグを見てペアがそろったものから ALU へ送り出して計算させるというシステムの様子。

計算させたいデータにタグをつけて DataPool にいれておくと、データペアがそろった段階で、ハードウェアにより ALU に送り込まれて計算結果が再び DataPool に帰ってくる。 データフェッチで発生するノイマンボトルネックを解消するのが目的で開発されたものだが、ループなどによるの爆発という問題を抱えているために、実用化はなかなか難しい様子。

同様のデータフローマシンに ALU を並列に配置して、その次の段に ALU からの出力を入れ替えるスイッチを配置し、その次の ALU に送り込めるようにする。 その ALU とスイッチの組みを4段ほど重ねたタイプのデータフローマシンもあるらしい。

こっちはループや条件分岐があるとどうするのか考えると楽しくなるらしい。 なかなか面白そうなことになるというのはわかった。

そういう話を聞きながらそのあいだに多くの雑談を挟みながらいろいろと話を聞いてきた。 部誌について解説記事ばっかりなのがものすごくご不満の様子で、間違っててもいいから自分でなにかを発想しろとなんども言っておられた。 来年はなにかそう言うものを書きたいと思う。