ENIAC
目次
システム構造
ENIACは、このような方式ですから、俗に言う「プログラム」と言う物には広く対応出来ません。とはいえ、配線の組替えや、パンチカードによるパルス制御、さらにはプログラム内蔵によってかなり汎用性の高い計算機になっています。
ENIAC は、単一の回路ではなく、別々に設置されたいくつかのユニットが協調して動作する仕組みになっていました。これらの個々のユニットは並列動作が可能であり、ユニット間はパルスによって情報のやり取りが行われていました。
ENIACのプログラムを表す模式図
始動ユニットは、人間とのインターフェイス部分です。プログラムをそろえ、開始ボタンを押せばプログラムが実行されますし、結果はプリンタから出力されます。
マスタープログラマはプログラムの実行を制御します。プログラムと言うのは現在で言うプログラムとはニュアンスがことなり、「どの順序でアキュムレータを呼び出すか」だと思って良いでしょう。
実際には「どの」アキュムレータを呼び出すかは、マスタープログラマとアキュムレータを結ぶ配線によっても決定されますので、マスタープログラマの仕事は「いつ」呼び出すかのタイミング制御と、くり返し制御でした。
「ENIAC はプログラム内蔵方式ではない」という言葉は、実際には誤っていることになる。
アキュムレータは、計算を行うユニットです。基本的には値を累積していくもので、計算に使う数字は他のアキュムレータからもらうことも出来ますし、マスタープログラマを通してパンチカードからもらうことも出来ます。
1つのアキュムレータは10進数10桁を符号付で記憶することが出来、アキュムレータを二つ使うことで20桁の数字を扱うことも可能になっていました。
ENIAC のシステムとしては全部で20台のアキュムレータが用意されていました。
定数転送ユニットは、計算に使う様々な定数を記憶してあるメモリ装置です。
ユニット内では抵抗マトリックス回路によって、任意の関数表3つを記憶しておくことが出来ました。
全体としては、定数記憶ユニットは10進数12桁300語の容量を持ちます。
アキュムレータ、および定数転送ユニットは、マスタープログラマからのパルス以外に、ディジットトランクと呼ばれる線でも結ばれていました。
この線は、現在で言うデータバスのようなものです。
アキュムレータや定数転送ユニットは、マスタープログラマからの指示に応じて、自分の持っている値をディジットトランクを通じて別のアキュムレータに送ることが出来ました。この際、ディジットトランクの配線次第で、データをシフト(10の累乗倍に当たる)することも可能でした。
アキュムレータ自体は独立した累積計算機であり、他のアキュムレータと独立して動作することが出来ますので、プログラムによっては並列計算を行うことも可能でした。
基本的には、これらの組み合わせによってENIAC は計算を行います。全体の同期信号であるパルスは1秒間に5千回送られていたそうです。…簡単には比べられませんが、クロック周波数5kHz ということになります。
このような仕組みで弾道計算を行った時、弾道1つについての計算を完了するのにかかる時間は、バーニバー・ブッシュのアナログ計算機の10〜20分に対し、ENIAC ではわずか20秒しか掛からなかったと言います。
ひとつの表を作るのにはおよそ3,000本の弾道計算が必要でした。そう考えると、ブッシュのアナログ計算機では1枚の表を作るのに1ヶ月を要していたものが、ENIACでは半日でできることになります。
ENIACとフォン・ノイマン
ENIAC の開発は、当初陸軍のプロジェクトとして陸軍弾道研究所で始まりました。しかし、ENIAC 作成の提案と実際の作成はペンシルバニア大学ムーア校で行われています。
作成したのは、ムーア校に着任したばかりのモークリー、大学院研究生のエッカート、弾道研究所軍将校のゴールドスタインを中心としたメンバーです。 左は開発スタッフの写真。左端がエッカート、2人おいてゴールドスタイン、つづいてモークリー。 プロジェクトは1943年6月に開始されましたが、完成したのは戦争終結後の1946年2月でした。 |
完成後公開された ENIAC。139平方メートルの部屋に、コの字型に設置されていた。 この部屋は空調が行き届き、真空管が安定して動作できるように管理されていた。もちろん、虫などが入り込むことは出来ない。 手前の男は配線を切り替えるパッチパネルを使い、プログラムを行っている。 |
完成して最初のテストは、弾道計算ではありませんでした。加減乗除、正弦余弦関数の表を作る簡単なプログラムと一緒にテストされたのは、水爆の爆縮時の衝撃波の計算でした。
当時の新聞によれば、人間の計算手にやらせれば100年はかかると見積もられるこの問題を、ENIACは2時間で解いたそうです。
この応用問題は、ENIAC 開発開始から1年程たったころ、開発中心者のひとりであったゴールドスタインが、水爆開発を行っていたロス・アラモス研究所の顧問と出会ったことから行われたものでした。
研究所顧問とは、当時衝撃波の専門家としてしられた数学者、フォン・ノイマンでした。
ノイマンはゴールドスタインから電子計算機の話を聞き、強い興味を持ってENIAC開発現場を何度か訪れていたのです。
ノイマンは、この後別のコンピューターの開発に携わり、コンピューターの父と呼ばれるようになります。