ノイマン型コンピュータ
von Neumann-type computer
NHKの教育テレビの番組で時々お見かけするピーター・フランクルさんという大道芸をやりながら数学を教える先生がおられる。
この方、実に達者な日本語を話して、その芸と話術で数学の面白さに引き込まれてしまう。実はハンガリーの出身なのだそうだ。
ハンガリーという国は残念ながら印象が薄い国ではある。
この国のことをとても良く知っているという人は珍しい部類だと思う。
実のところそう言う私もよく知っているわけではない。
しかしこの国は実は面白い国ではないかと最近思うようになった。
ハンガリーという国は世界史的にいえば、かつてのゲルマン民族の大移動を引き起こしたフン族の末裔という俗説もあるが、マジャール人という民族の国だ。
行ったことは無いが、モンゴル取材の下調べの時に面白いことを知った。
我々日本人のかなり大部分は赤ん坊の時にお尻に緑色の大きな痣をつけて生まれてくる。
古語では赤ん坊のことを嬰児(みどりご)と言うが、この言葉はこのお尻の斑点が語源だという説を聞いたことがある。
この嬰児の斑紋を「蒙古斑」というが、この「蒙古斑」が出る民族は世界中で我々日本人と韓国朝鮮などのツングース族、それにモンゴル人ということになる。中国人などは民族的には日本人に近いように思われているが実際は一部の内モンゴルに住むモンゴル族や朝鮮族を除いてほとんどの中国人は「蒙古斑」が出ない。
そして世界にもうひとつだけ「蒙古斑」が出る民族があった。それがハンガリーに主に住むマジャール人なのだという。
ハンガリー人と我々日本人にどういうつながりがあるのかはよく判らないが、「蒙古斑」については全く同じ遺伝的形質を持っていることだけは明らかだ。
ハンガリー人は日本人やモンゴル人と同じウラル・アルタイ語族であるという点も面白い。
その容貌はヨーロッパ人の姿形をしているが、言葉は英語やラテン語のような前置詞を使わない。
日本語やモンゴル語のように後置詞を使う。
また名前は我々日本人と同じように名字が先にきて名前が後に来る。
フランツ・リストというハンガリー人の有名なピアニスト、作曲家がいるがハンガリー人はリスト・フランツと呼ぶ。
またハンガリー人は今では牛肉を主食としているが、かつては羊を主食にしていたという中央アジアの遊牧民族の色も残していた。
日本人やモンゴル人と同じ系列の言葉をしゃべり、かつては東方から移動してきた遊牧民族であるという民族伝説を持ち、また我々日本人と同じ「蒙古斑」が出るということを考えると、ハンガリー人は実は我々日本人から見ると中国人よりもずっと近い親戚なのかもしれない。
ところで冒頭でピーター・フランクルさんの話を引き合いに出したのは、このお方は18歳で国際数学オリンピックで金メダルを獲っているというもともとの数学の秀才だったということを聞いたからだ。
ハンガリーという国は数学などの教育水準がもともと高い国だということを最近知った。
これも最近知ったことなのだがハンガリーは、人口当たりのノーベル賞受賞者の比率が世界一高い国なのだそうだ。
そういう数学ができて、教育水準も高い国だからなのかどうかハッカーが世界的に見ても多い国でもある。
そしてこの国の出身者で有名人ということになると、もうひとりフォン・ノイマンという人名が上がってくる。
このフォン・ノイマンという名前はコンピュータに詳しい人だったら誰でも知っているような名前だ。
なぜなら今日我々が使っている全てのコンピュータは、「ノイマン型コンピュータ」と呼ばれている世代のコンピュータだからだ。
フォン・ノイマンという人物はこのネーミングから察するに近代コンピュータの父というような位置づけをされているように見える。
その詳細は後述するが、ここでもう一度ノイマン型コンピュータってどういうものなのかおさらいする。
コンピュータというものはそもそも軍事技術に役立てる目的で開発された。
その第一の利用目的は大砲を撃つ時の弾道計算だ。
大砲を撃つ時は近い敵を撃つ時には大砲を水平に近く寝かせて撃つ。
しかし遠い時には大砲を上に向けて、飛行中の自然落下を加味した分だけ上を狙うことになる。
これが角度が微小なうちは良いが、第一次世界大戦の頃の砲撃戦になると距離4000メートル、大砲もほとんど斜め上を狙わなくてはいけないような遠距離砲撃戦になってきた。
昔はどれくらい上を狙うかというのは砲手の経験と勘に頼っていたが、さすがに4000メートルにもなると経験と勘などといっていられなくなったので計算表を使うようになった。
しかしこの計算表は新しい大砲ができる度に計算し直さなければいけないが、その計算式は複雑で算出に1か月もかかったそうだ。大砲を撃つ地方の天候にあわせた計算表も必要だ。
これだけ長距離射撃になると距離だけでなく風向きや風速、気温まで弾道に影響するからだ。
計算表ができるまで1か月も待っていたら刻々と戦況が変わる戦争には間に合わない。
ワンタッチで大砲の仰角や装薬量を割り出してくれるような機械が必要だということになった。
これを実現した世界最初のコンピュータがアメリカで開発されたENIACというコンピュータだ。
1946年のことだった。
コンピュータといってもその中身は、今日の我々が持っているイメージとはかなり違う。
見た目も1万7000本以上もの真空管、17万個もの抵抗、1500個もの継電器、1万個のコンデンサーを使い重量30トンという大掛かりな物になった。
カラはでかいが、この計算機のおかげで1か月かかっていた計算は数分でできるという高速化は果たせた。
ただこのコンピュータはカラのでかさだけでなく中身の原理も今日のコンピュータとはかなり考え方が違う。
これは真空管をスイッチングに使った論理回路というようなものだった。
どういうことかというと、それまでにもあった歯車式の計算機の構造を電気に置き換えたようなそういう物と思うと近いかもしれない。
昔、学校出たての頃に大阪の十三に本社のある「タイガー計算機」という会社に営業にいったことがある。この会社は機械式の卓上計算機の国内トップメーカーだった。
当時既に電卓はかなり普及しはじめていたので、むしろ機械式の計算機という商売がまだあることに驚かされたが、その中身は実に精緻なものだった。
その機械は真ん中にドラムのような入力機があって、つまみを回転させて計算したい数字をセットする。そしてそのドラムを左右にずらせて、加減乗除の計算を選択する。
それでレバーを思いっきり回転させると計算結果が出るという機械だった。
中身はそれぞれの計算のプロセスに合わせて歯車がセットしてあって、どんな数字をいれてもちゃんと計算ができるようになっていた。
これと似たようなものでちょっと前までよく見かけたのが、機械式のレジだった。
金額をいれてレバーを引くと「ガチャン〜」と音がしておつりの金額を表示する。
今じゃそういう機械もあまり見かけなくなったが。
この世代のコンピュータも原理はこの機械式レジと同じだ。
ある数字を入れると計算プロセスが回路と真空管で作られていて、その中を流れると自動的に答えの数字の信号を点灯させるという構造になっていた。
ある意味すごいといえる。
しかしこのコンピュータには、「でかすぎる」という以外にももうひとつ欠点があった。
計算のプロセスを司る、今日の概念でいうプログラムに当たる部分が機械に組み込まれている。
なので弾道計算用に組まれた回路はその目的にしか使えない。
もしこのコンピュータを他の計算にも使おうと思ったら、その度にこの真空管と回路を組み直さなくてはいけない。
その組み替えには電源を入れて計算をしているよりもはるかに膨大な時間が必要だった。
それは簡単な加減乗除のような計算をする時でも同じことだ。
真空管1万7000本、重量30トンもの巨大な機械が基本的には専用機だということだ。
勿論将来的には小型化されるとしても、この構造は本質的な問題があるといわざるをえない。
そこでコンピュータのプログラムを単純化する方法とプログラムを機械部分と切り離すという提案が後にテストされる。
プログラムを単純化するというのは10進法をやめて、2進法で情報を処理するいわゆるデジタル化のことだ。
その作業は、このENIAC試作機を開発したエッカートとモークリーによってはじめられた。
しかし回路がデジタルになるだけではまだ問題の解決にはならなかった。
ところでこのENIACの開発は陸軍の弾道研究所というところで始められた。その開発目的が既述の通り弾道計算のためだったからだが、実際には最初にENIACが活用されたのは弾道計算ではなく核爆弾開発の技術計算だった。
核爆弾という爆弾の構造をご存じだろうか?
核爆弾は恐ろしく頑丈な鉄球のなかでダイナマイトを内向きに爆発させてその衝撃波で中央に置いた核物質を圧縮する「爆縮」というプロセスを経て、その「爆縮」で臨界点を越えた核物質が起爆するという仕組みになっている。
核物質自体はニトログリセリンと違って、落として衝撃を加えようが、加熱しようがそんなことでは起爆しない。原子核同士が衝突するほどの高い圧力を加えて圧縮しないと何の反応も起こさない。
だからその鉄球も中でダイナマイトが爆発したくらいで割れているようなやわなものでは駄目だし、内側の核物質の容器に向かう衝撃波もかなり強いものでないといけない。
核爆弾の研究をしていたロスアラモス研究所はこの陸軍弾道研究所の最新鋭計算機の話を聞きつけ、この衝撃波をどういう構成でどれくらいの強さにすると起爆できるのかという計算を依頼してきた。
この計算は人間が筆算でやると100年かかるといわれたが、ENIACはこの計算をわずか2時間でこなしたという。
この計算を依頼してきたのがロスアラモス研究所の顧問で、当時既に衝撃波の権威として名声を博していた数学者フォン・ノイマンだった。
フォン・ノイマンはこの縁で、エッカートたちの計算機に興味を持った。
エッカートたちは、ENIACを完成させた時にはすでに次の世代のEDVACの試作に取りかかっていた。
先の問題を解決するためにデジタル化という概念を盛り込んだと書いたが、ノイマンが参加した時点でもうひとつの新機軸を打ち出した。
それが「ソフトウエア」という概念だ。
ノイマンたちは計算プロセスのプログラムを論理回路などの機械的な部分に任せるのではなく、それも電気的な情報として機械に記憶させる方が合理的だと考えた。
そうすればENIACのように、ひとつの処理が済んで次の違う目的に使う時に長時間かかって回路の組み替えをしないといけないなんてこともない。
ENIACのような固定プログラムのコンピュータでは入力するのは処理するデータだけだが、このEDVACではプログラムも処理するデータと同列に記憶部位に置いておく。
こうすることで、処理をする回路は大幅に単純化できるというのが最大のメリットだった。
そのために回路の本線もひとつに絞って、ENIACのようにいくつもの流れを同時処理することも止めた。こうすることでひとつのグループのメモリからひとつずつデータやプログラムを読み出して、ひとつの流れのプロセッサでひとつずつ処理するというシンプルな構成のコンピュータができた。
メリットは勿論高速化だ。
シンプルで一度にやることが少ないからこの機械は、いくらでも高速化できる可能性が出てきた。
2番目のメリットはENIACの最大の欠点だった、汎用性のなさを克服できたということだ。
処理するプログラムの種類をどんどん組み替えて、メモリに逐次入れていけばどんな種類の計算でも連続してこなすことができる。
プログラムを電気的な信号としてメモリに内蔵し、処理するべきデータとプログラムを順番に読み出す「線形の空間を持つ」メモリを持ち、プロセッサで順番に処理していくコンピュータ、これが今日私たちが日常的に見ているコンピュータで、このノイマンが参加したEDVACはその要件を全て満たしていた。
この世代のコンピュータの構造から「ハードウエア」と「ソフトウエア」という概念が生まれた。
この新しい概念を持ったコンピュータを「ノイマン型コンピュータ」と呼ぶのは、このプロジェクトに参加したノイマンがソフトウエア内蔵型コンピュータの数学的な論文を発表して有名になってしまったからだ。
これについては若干いきさつがあるし、その詳細には諸説がある。
一般的にはノイマンがこのソフトウエア内蔵型のコンピュータを考案したということになっている。しかしエッカートたちはその考案は自分達がしたもので、ノイマンはそれを論文にして発表しただけだと主張していたらしい。(しかもメンバーに無断で)
ただその概念はエッカートたちが考えたにせよ、ノイマンがいなかったら本当にそれが実現したかどうかは判らない。
ここいらが世間で信じられている俗説と現実の違いでもあるし、技術というものはある日誰かがはたと思いついて急に実現するというような単純な物ではないということも話を複雑にしている。
ひとつだけ間違いないことはエッカートたちオリジナルメンバーと後から参加したノイマンの間で感情的な対立があって、このプロジェクトは空中分解してしまい頓挫している間にイギリスのEDSACというプロジェクトに「ノイマン型コンピュータ第一号」という名誉を先取りされてしまったということだ。
いきさつはともかくノイマン型コンピュータはその後のコンピュータの構造の主流になり、このタイプのコンピュータにはノイマンの名が冠されることになった。
このノイマンがハンガリー人だったということを聞いて、何となく日本人とも親戚関係のような親近感を感じ始めた折でもあったので、ノイマンについて知っていることを書いてみたくなった。
この話には以下続編も書いてみる。
非ノイマン型コンピュータ
Non-von Neumann-type computer
前項でノイマン型コンピュータの起こりと構造について触れた。
最初のコンピュータのENIACの世代は非ノイマン型コンピュータといわれるが、現在のコンピュータにやがてとって替わる次世代のコンピュータとして繰り返し期待をもって語られる想像上のコンピュータも「非ノイマン型コンピュータ」とされている。
「想像上の」と書いたのは、目指すものは解っているがそれをどうすれば実現できるかという方法論がはっきり判っていないという意味では、「想像上」のとしか言い様がないものだからだ。
それでも一時に比べると下火になったとはいえ「非ノイマン型コンピュータ」という概念が繰り返し語られるのには理由がある。
かつての巨大な「電気計算機」としか言い様がない世代のコンピュータからノイマン型コンピュータに世代交代した時に何が変わったかは前述した。
ノイマン型はプログラムがハードウエアに依存していないので、プログラムを入れ変えることでどんどん別のことができる。
今日のパソコンでも、アプリケーションを次々立ち上げてワープロを打ってみたり、メールをしたり、写真を加工したりと一台の機械で連続して切り替えて使えるのはノイマン型の成功のおかげだ。
またノイマン型コンピュータはメモリやCPUの内部の構造が単純なので、小型化、集積化、高速化が容易で、おかげで今日秋葉原の店頭で売られているノートパソコンは、十数年前の大学の研究室にあったスーパーコンピュータと同じくらいの能力を持っている。
こんなに短期で高性能化ができるのも、ノイマン型という構造の恩恵だ。
しかし良いことばかりではない。
ノイマン型はあらかじめ用意されたプログラムをメモリに内蔵しておいて、その手順通りに処理を進めることしかできない。
多少はフローチャートのような形のプログラムを書くことで、状況に応じて処理の方法を変えるということは実現できる。
しかしプログラマが全く予想もしていなかった新しい状況には対応できない。
一昨年だったか、学習能力を持つ歩くロボットというのを研究している大学があった。
この学習するコンピュータという概念は重要だ。
事前に状況が判っていれば、その状況に合わせてロボットは実に精緻な動きができるようになった。
ホンダのアシモなどを見れば、微妙に体を傾けながらバランスをとり歩いている姿は艶かしくすらある。
しかしこのアシモは歩くという単機能についてはすばらしい専用機だが、新しい状況に全く対応できない。コースの途中に階段があるのなら階段を上るというプログラムをプログラマーが書いてやらないといけない。
そこでこの大学では、新しい障害物を発見するごとにそれを回避する方法を学ぶというプログラムを書き上げた。
コース上に鉄パイプを置くと最初はその上に乗って滑って転んでしまう。
しかし2回目からは鉄パイプに乗ると滑るということを学習して、鉄パイプに乗らないでそれを跨いで歩こうとする。
原因と結果を判断して次からはそのリスクを避けるというこの学習能力はすばらしい。
がしかし、この学習能力を実現するためには実は膨大なプログラムが書かれている。
またこのロボットは歩く時のリスクについては学習するが、火の中に入ったら故障するというようなリスクは学習できない。
これも単機能の学習能力という意味では今までのコンピュータと本質的に変わっていない。
ただプログラムによって教えていないことも学ぶことが可能だということを立証できたのが重要ではあるが。
ロボットに「コップに水を注いで」という命令を実行させるためにはどういうプログラムを書かなくてはいけないかということが問題だ。
「コップに水を注いで」
というだけでは機械にとっては全く意味をなさない。
1)腕をオブジェクト「コップ」に近付けて、手をオブジェクト「コップ」の幅以上に開く
2)手をオブジェクト「コップ」を挟むように閉じる。
3)この時の挟む強さはオブジェクト「コップ」を割らない程度に弱く、落とさない程度以上に強く
4)オブジェクト「コップ」をオブジェクト「水道」の蛇口の下に持っていく
5)オブジェクト「水道」のコックを左回りにひねる
6)オブジェクト「コップ」の中の水が適量になったことを確認する
7)オブジェクト「水道」のコックを右回りにひねる
機械というのはここまで丁寧にしてやらないと何もできないのだ。
赤ん坊に物を教えるより大変だ。
赤ん坊は教えなくても自然に学んでいく。親が一生懸命言葉を教えなくても赤ん坊はいつかは必ず言葉を覚えて話せるようになる。しかし機械は教えないと自然には学んでくれない。
この1番から始まる手順書をアルゴリズムという。
問題を解決する手順という意味だ。
コップに水を注ぐアルゴリズムはこういうことだが、スープを注ぐ、というアルゴリズムはこのままではどうにもならない。
*スープはコップには注がない。スープ皿に注ぐ
*スープは水道から出てこない。鍋から注ぐ
*鍋を持ち上げてスープ皿を下にかざしてどこかをひねってもスープは出てこない。スープは鍋の蓋を取ってやらないといけない
*スープを注ぐ時にはオタマジャクシで掬ってやらないといけない....
などこういう条件に合わせてアルゴリズムを細々と修正しないといけない。
この調子で、シチューを注ぐ、おにぎりを作る、パンを切る....、等と解決すべき課題が増えるとアルゴリズムも同じ数だけ増えていくことになる。
問題はこのアルゴリズムをいちいちプログラマが手書きで書いてやらないといけないのかということだ。
それでこういうアルゴリズムをいちいち人間が書いて用意しなくても、機械が自分で考えて問題解決に一番近そうなアルゴリズムを組み合わせて、それを自分で修正して新しいアルゴリズムを作るということをしてくれると、コンピュータの能力はさらに飛躍的に高くなる。
そう考えるのは自然なことで、ルーティンワークの繰り返しでは人間の数万倍という速度を持つコンピュータだが、プログラムが複雑になるほど新しいプログラムの開発が大きな負担になってくる。
しかし自然に学習していろいろなことを覚える赤ん坊の脳には、生まれたばっかりの時にはそんなに複雑なプログラムが内蔵されているとは思えないからだ。
柔軟な赤ん坊の脳はコンピュータとは根本的に違う構造を持っているはずだ。
しかしそれを実現するというのは今まで長い間SF作家の仕事だった。
J.P. ホーガンのSF小説で「未来の二つの顔」という作品にこの人工知能の開発について詳しく書かれている。
作品は70年代のSFなので今日の常識から見るとちょっと古くさい記述もあるが、テーマ的には古びていないという意味ではA.C. クラークの作品と双璧だと思う。
このなかでコンピュータの学習能力について書かれた下りが興味深い。
仮想世界の中にマスコットを創造して、これを巨大なコンピュータで動かす。それでどうなるかというと仮想的に作られた部屋の中で、「部屋の隅から隅へ移動しなさい」と命令する。
そうするとこのマスコットは部屋の中央にある机にぶつかって移動する。命令を全て額面通りに受け取るコンピュータらしい反応の仕方だ。
そこでオペレータたちは「机と他のものは同時に同じ空間を占めることはできない」ということを教える。
コンピュータで擬似的に知能を開発しようとすると、こういう気が遠くなるような作業が必要になってくる。
そこで繰り返し語られる柔軟な脳の構造が人工知能には必要だということになる。
それがどういう構造で実現できるのかは今でもあまり判っていない。
しかしプログラムが一度確定されると、それが変更できないという構造では駄目だろう。
ノイマン型コンピュータは同じ入力に対しては同じ出力がえられるということが、動作の条件になっている。
しかし今求められているのは「同じ入力に対して出力が同じになるとは限らない」という構造だ。
ところがプログラムが自動改変されるとすると、それ自体がエラーの原因になる可能性がある。
改変がエラーに繋がらないかどうチェックして制御するかが問題になる。
(実は前出のJ.P. ホーガンの小説もこの自律学習型のコンピュータが制御する月基地が大事故を起こすという話から始まる。このエラーの原因と対処法を検証するために壮大な実験が始まるというのがホーガンの小説のモチーフだ。)
S. キューブリックの「2001年宇宙の旅」という映画を父親と弟と3人で見た時のことだ。
私の父は機械工学科を卒業している。弟は電子工学の情報工学科を卒業している。そして私は文学部の出身だ。
3人でこの映画を見た時に3人がそれぞれ違う反応をした。
木星に向かう「ディスカバリー号」の船上ですべてをコントロールする人工知能HAL9000型コンピュータが原因不明の不調を見せ始める。
HALは単にあらかじめ準備されたプログラムを実行するだけでなく、問題を見つけ、問題解決法を自分で模索し、新しい方法論、結論を発見することができるまさに次世代のコンピュータで、この木星探査船のミッションは全てHALがコントロールしており、乗組員はその働きをチェックしているだけという関係になっている。
ところがこの意味不明の不調を見て乗組員たちは不安になる。
そこで飛行士たちは、船外活動用のスペースポッドの中に隠れてHALを切断するかどうか相談しはじめる。
(船内の全ての場所での会話はHALコンピュータによってモニターされている。このコンピュータはいちいちキーボードやマウスで入力しなくても、乗組員の会話を聞いて必要な作業を常に先回りでやる。これは便利だが常に会話は聞かれているわけで、そのコンピュータを切断するかどうかという微妙な密談はこういう場所に隠れないとできないわけだ。)
接続を切って密室になったポッドの中で飛行士たちは、「HALを切断してすべて手動制御に切り変えるかどうか」相談する。
ところがHALはポッドの窓から飛行士たちの唇を読んで会話を盗み聞きしていた。
このシーンを見た時に私は思わず
「あんなコンピュータが本当にできるのかな?」
と疑問を口にした。
機械工学出身の父親は、
「読唇術ができるコンピュータなんてできないだろう」
と言った。
ところが情報工学出身の弟は
「読唇術といっても結局はパターン認識の積み重ねだから、今のコンピュータが高速化していけば実現可能だろう」
とつぶやいた。
そこで文学部出身の私が
「いや読唇術ができるコンピュータは作れるかもしれないが、あんな好奇心を持ったコンピュータなんて本当に作れるんだろうか?」
というと情報工学出身の弟は
「う〜ん」
と唸って考え込んでしまった。
この映画ではHALは「ポッドに隠れた乗組員の唇を読め」などとは誰からも命令されていない。
そういうプログラムもされていないはずだ。
なのに自分のパターン認識能力をフルに使い、またそういう能力を使うことを必要だと考えた。
しかもそうして得た情報を人間に報告せずにいきなり「殺人」という形でフィードバックした。
こうなるともはや機械というよりは、人間と同じになってくる。
扱いも人間と同じにしないといけない。
人間だっていきなり「殺す」といわれたら殺されないためにそれなりの処置をするだろうし、他に方法がないと判断したら「殺される前に殺す」という結論になるかもしれない。
このHALコンピュータも人間がするのと全く同じように反応したわけだ。
しかしHALは反乱を起こす前は、単なる機械というよりも人間のパートナーとして有能にこのミッションをコントロールしていた。
決められたことを決められた手順でしかこなせない、また入力には曖昧な人間の会話ではなく、決められたコンピュータ向けの実行手順が必要なコンピュータの対極にある能力こそこのHALの「ケイパビリティ」だ。
(HALは会話の中でこの言葉を好んで使う。「能力」という言葉を誇らしげに語るところがまたいかにも人間的だ。)
そのことの是非はともかくコンピュータが本当に人間と同じ力を持つためにはこういう能力を結局は獲得しなくてはならない。
(ただこのSF映画は、コンピュータがそういう能力を持つことの是非もテーマのひとつにしていたように思う)
しかしそのためには、どういうシステムを作ればそういう能力をコンピュータが持つことができるのか見当もつかなかったので弟は唸なり込んでしまったのだ。
これはひとつの入力に対してひとつの答えしか出せないノイマン型のコンピュータでは基本的に無理な話だ。
これが非ノイマン型コンピュータというコンセプトが繰り返し語られる理由だ。
もし思考し学習する非ノイマン型コンピュータが実現したら、我々はそのコンピュータの人格と人権を認めて、あたかも人間を扱うように扱わなければならなくなるかもしれない。
しかしそういうコンピュータを拒否するなら、作業ごとに全ての手順を書いてやらないとスプーンひとつ持てない現在のノイマン型コンピュータと永久にお付き合いしなくてはならない。
そのどちらを選択するかという問題は勿論本当にそれが実現可能かどうかが判ってからの話だろうが、技術はそういうものを指向していることだけは間違いない。
昨今はムーアの法則以来、現行のコンピュータは無限に高性能化していってあらゆることが可能になる時代が来るというような空気が支配的だ。
そのせいか非ノイマン型コンピュータはSF的な幻想として片付けられてしまい、そういうこともあまりいわれなくなって下火になってきているようだ。
かつてはノイマン型コンピュータは、CPUとメモリの間の情報のやりとりの速度に限度があるために処理速度の成長に限界がある「フォン・ノイマンボトルネック」が一番の問題点だとされていた。しかしこのボトルネックの問題はCPUやメモリ、転送レイトのクロックアップによって、かつて限界といわれた水準を越えつつある。
もう非ノイマン型コンピュータは必要ないという主張はここいらが根拠になっている。
しかしCPUの高速化がコンピュータの問題を解決するという思い込みこそ幻想だと思う。
現に高速化して高性能化しているはずのWindowsのバカさ加減に、今でも多くの人たちが手を焼いている。
Windowsがいいか悪いかは別の問題としても、現行のシステムの高速化、高性能化だけでコンピュータが劇的に進歩することはないと考えている。
結局はアプリケーションの数が増えていくだけのことで、本質的な問題は何も変わらない。
便利を追求するなら、いつかは非ノイマン型コンピュータを指向する時代がまた来る、これは当然の帰結だと今でも思っている。
2004年10月26日
|
|