非ノイマン型コンピュータ

非ノイマン型コンピュータとは、文字通り、 ノイマン型 でない、コンピュータシステムのことです。
つまり、ノイマン型とは、異なる動作原理で計算機が行われている計算機システム 全てのの総称なわけです。
一般に、非○○というのは、ようするに、「○○でない」ものを指す言葉ですが、 例えば、非人といえば、人間でない、といった形で、かなり否定的な意味で用いられる ことが多いようです(例えば、「平家にあらずば、人にあらず」など.. )。
「非ノイマン型」という言葉も、裏を返せば、如何に世の中のほとんどが 「ノイマン型」の計算機ばかりであるかを如実に表している表現だと言えます。
つまり、言うならば、「ノイマン型であらずんば、計算機にあらず」というのが 現在の状況だということです。

ノイマンボトルネック

こんなに、流行るほど、ノイマン型計算機システムが利用されるには、 それなりの理由があるはずです。つまり、何らかの利点があるから こそ、利用されているはずです。
その理由は、厳密には言いきれないのですが、恐らく、ノイマン型計算機 システムの動作原理である「一度に一つずつの命令を順に実行する」ことに あると思われています。
「一度に一つのことをしない」、なんと、簡単かつ明快な原理でしょう。 おそらく、その分、実現も容易でしょうし、理解もし易いと思われます。 これなら流行るのも理解できそうではないでしょうか。
もともと、ノイマン型計算機システムの動作原理は、 チューリング が、自分の研究の都合が良いように、計算機の原理を 単純化したことにあるわけですから、その分、単純で明快なのもうなずける 話だと思われます。
では、なぜ、これで満足しないのでしょうか ? 今、あるものが十分に便利で 実用的であれば、新しいものなど考える必要はないはずです。すでに、我々 は、ノイマン型計算機を手にしています。そして、それは十分に利用可能で、 いま、人間社会は、この計算機なしでは、済まされない状況になっています。
実は、その答えは、その「一度に一つのことしかしない」という原理にあります。 つまり、「一度に一つのことしかしない」ように作られた計算機は「一つに 一つのことしか *できない*」のです。
この性質を「ノイマンボトルネック」と呼んでいます。ボトルネックというのは、 ようするに、ビンの口の部分の狭くなった所を指す言葉で、ちょうど、コップを 逆さにすると、内容が全部一度に出るのに対し、ビンの場合は、逆さにしても、 このボトルネックが原因となって、一度にはでてきません。
中身が漏れないという意味では、このボトルネックは、良い性質のように、 思われますが、計算機システムの場合は、逆で、本来なら、「一度に計算できる ことがたくさんあり、同時にできるはずなのに、それができない」という 欠点になります。
同時にできることを、同時にするのと、順番にするのでは、当然のことながら 同時にできた方が速いに決まっています。「ノイマンボトルネック」を持つ ということは、要するに、高速化が難しいということを意味するわけです。
つまり、「ノイマン型計算機」は、その原理からいって、「ノイマンボトルネック」 を潜在的に抱えており、その結果として、その「ノイマンボトルネック」により 計算が速くできないということになります。

非ノイマン型コンピュータの意義

計算機は、速ければ速いほど良いに決まっています。その目的には、 ノイマン型コンピュータの抱えるノイマンボトルネックは大きな 障害になっていると考えて良いでしょう。
ここにきて、非ノイマン型コンピュータは、決して、否定的な表現では ないことがわかったかと思います。
つまり、非ノイマン型コンピュータとは、いわば、「ノイマンボトルネックを 持たないコンピュータ」といえるでしょう ( 二重否定なわけですね.. )。
実際に、データフロー計算機システムでは、一度に複数の計算が同時に 行われていることが解るかと思います(実際に触ってみて、実感して くださいね..)。
その意味では、次世代の計算機を占うシステムといえるでしょう。
もちろん、データフローを始めとした非ノイマン型計算機しすてむにも 大きな欠点があります。それは、端的にいえば、解り難いの一言に尽きる と思います。
そこで、様々な研究が行われているわけです。
今回のデータフローコンピュータエミュレータでは、そんな計算機原理を 直感的に解りやすく表現してみようという試みの一つです。
ぜひ、試みてあげてください。