2014年3月11日火曜日

人で無しのための計算機理論入門 その1 ノイマン型コンピュータ


だいたい、分かりやすく専門の知識について説明する講座などのことを、サルにも分かる○○入門だというようだが、モラルハザードに陥って、一人では何もできず、あるいは匿名でしか何かできない可哀想な人で無しの連中とサルを比べるとサルにも申し訳ないような気がする。そこで、サル以下の可哀想な人のために、計算機理論のお話をすることにした。今回は、まず、ノイマン型コンピュータ。

人間誰しも、一つ以上のことをするときには、リソースが限られていることもあって、ただ一つのことに専念するときと比べて、効率が落ちる。もっとも分かりやすいのは、自動車を運転しながらの携帯電話が、何処の国でも法律で禁止されているという事を挙げれば良いだろう。

さて、最近のCPUでは、4コアだとか、マルチスレッド対応だとか、あるいは動的配置だとかいろいろあるが、基本的にノイマン型コンピュータの枠をでない。GPUに関しては、厳密にはノイマン型コンピュータと違うが、基本的には、ノイマン型コンピュータの延長から生まれたものだ。

さて、何となくイメージが持てた方もいようが、非ノイマン型コンピュータというのはどういうものか、という事を先に説明しよう。

例えば、ニューラルコンピュータがそう。あるいは、PS3のCPU(Cell)ももともとは、非ノイマン型コンピュータを目指して作られたものの延長だと言えよう。実現はされていないが、量子コンピュータもその部類に入る。つまり、並列にいろんな物事を処理できるように、根本的に設計されているものを非ノイマン型コンピュータと呼ぶ。

逆に言えば、ノイマン型コンピュータは、基本的に一度に一つのことしかできない。それをものすごい早さでやるから、1秒間にどれだけの計算ができるか(FLOPS:フロップス、Floating-point Operations Per Second 1秒間に浮動小数点の数値演算がどれだけできるかを表わす)というのが、いまだにスーパーコンピューターにおいても速度の目安となるわけ。スーパーコンピューターはもっとも、ものすごいCPU数があってそれをうまい具合に並列処理させる仕組みで動いているけれど、ね。しかし、各CPUはたとえば、日本の誇る「京」だって、ノイマン型の処理をするCPU(今はなきSUNのSPARCの改良型)だからね。ノイマン型は基本中の基本というわけ。

つまり、古典的な紙テープに書いてあるようなプログラムというのが単に記憶装置の進化で電子化されて、後の仕組みは、大して変わらない。いまだに化石燃料を使う内燃機関の進化よりマシだけどね、内燃機関の基本は何にも変わっていないのと同じ。いまのCPUはスーパーコンピューターの世界でいうベクトル型の並列処理を取り入れてたり、一部、スカラー型の並列処理を取り入れたりもするけど。そういう進化はあるにせよ、だね。たとえば、CPUガソリンエンジンに例えると、GPUコンピューティングもスーパーコンピュータの世界ででいえばスカラー式というやつで、つまり、電気モータの補助を使うようなもの。ハイブリッドというのが、低消費電力時代のコンピュータ。

つまり馬鹿という奴が馬鹿。いい加減一回死んで私が死んだくらいに出直してきてくれ。もしくは一昨日来やがれ…って先一昨日あったのかな?ハハハ。

0 件のコメント:

コメントを投稿