コンピュータの歴史5

こんにちは。

今回はENIACとその後継機であるEDVACについて紹介します。

まずはENIAC(Electronic Numerical Integrator and Computer)についてです。

ENIACをWikipediaで調べてみた結果が以下になります。

ENIACは、アメリカで開発された世界初の電子的汎用デジタルコンピュータです。

ENIACはチューリング完全なので、万能チューリングマシンと等価です。

しかし、ENIACの「プログラム」は現代のコンピュータとは違って、
パッチケーブルとスイッチの状態で定義が行われていました。

パッチケーブルやスイッチを手作業で、
プログラムをセットしていたのは6人の女性です。

この6人の女性たちは、現代ではENIACガールズと呼ばれています。

ENIACには、18000本の真空管と、30000個以上のスイッチが搭載されていました。

元々、戦争中は多くの女性がミサイルが進む距離や、
ミサイルの着弾箇所の計算を手作業で行っていたようなのです。

その計算時間の高速化のためにENIACの開発が計画されました。

ENIACガールズと呼ばれた彼女らは、山のような設計図を渡され、
「これらから機械の仕組みを考えて、プログラムの仕方について考えろ」

と言われたそうです。

彼女らは数ヶ月かけて、マシン全体のプログラミングを完成させることができました。

しかし、ENIACガールズの活躍は1997年まで公開されることはありませんでした。

彼女らのうち数人は、世間からの注目を浴びることなく亡くなってしまったそうです。

第二次世界大戦にて開発されたコンピュータが、
今のコンピュータアーキテクチャ(コンピュータにおける基本設計・設計思想)に
変化するための重要なステップが第二次世界大戦末期に訪れます。

初めは、そろばんのようなアナログの装置から、
その次に特定の計算を行うための単純なコンピュータが誕生しました。

机上電卓を例とすると、数字や四則演算の記号の入力は行えますが、
その使用方法は限定されています。レベルが上がるにつれて、もっと他のことがしたいと思うでしょう。

電卓のような「固定プログラム」の場合だと、プログラムに変更を加えるためには、
マシンの再配線・再構築・再設計をする必要があり、大変苦労します。

そして、これまでで紹介したENIACなどのコンピュータですら、マシンの再配線などで手間がかかり、
プログラムのセットアップとデバッグに約3週間もかかっていたそうです。

そこでENIACの後継機であるEDVAC(Electronic Discrete Variable Automatic Computer)の設計が始まります。

計画が始まったのはENIACが動き出す前の1944年です。

この設計に携わったのが、「現代コンピュータの父」と呼ばれるジョン・フォン・ノイマンです。

彼が提出したEDVACに関する報告書の第一草稿では、
ストアドプログラムの概念を使用したコンピュータの論理設計が記述されました。

ストアドプログラムコンピュータは、プログラムをメモリに格納するコンピュータのことです。

そこからさらに、プログラムもデータも同じメモリに載せようという考えから、設計されたアーキテクチャは、
ジョン・フォン・ノイマン・アーキテクチャと呼ばれています。

この考え方は万能チューリングマシンの考えと類似しています。

あるテーブル上に、別のチューリングマシンのテーブルを文字列にエンコードします。

さらに、そのチューリングマシンへのデータの入力も同じテープに書きます。
そして、万能チューリングマシンは、そのテープに書かれた情報から、
元々のチューリングマシンの計算をシミュレートすることができます。

実はノイマンはチューリングの論文を知っていた上で、その影響を受けたことが分かっています。

話をストアドプログラムに戻します。

今でこそ、「プログラムがメモリに保持されていること」は、
当然のことのように思えますが、ストアドプログラムコンピュータが生まれる前では、
プラグボード(もしくは、コントロールパネル) と呼ばれる電気回路の一部をそのまま挿入するコンピュータが使われていました。

プログラムが組み込まれたプラグボードをコンピュータに挿入することで、
デジタルコンピュータとして電気回路が完成し、その命令を実行できるようになったのです。

それとは別にストアドプログラムコンピュータでは、プログラム命令がメモリ上で保持されているので、プログラムを変更することで、異なる命令を実行することができます。

 今回はここまでです。

次回は現在用いられているノイマン型コンピュータについて紹介します。

ここまで読んでいただき、ありがとうございました。