ENIAC
[Wikipedia|▼Menu]
プログラミングされるENIAC2人のプログラマがENIACの制御パネルを操作しているところ

ENIAC(エニアック、Electronic Numerical Integrator and Computer[1][2][3]は、アメリカで開発された黎明期の電子計算機
特徴

電子式でディジタル式だがプログラム内蔵方式とするにはプログラムのためのメモリはごくわずかで、パッチパネルによるプログラミングは煩雑ではあったものの、必ずしも専用計算機ではなく広範囲の計算問題を解くことができた[4]。しかし、任意の計算可能な問題について計算できるという能力が当初の時点で基本的にはあったわけではなく(後述)、アナログ機械式計算機の一種類である微分解析機と同様に、微分方程式で表すことができるような多くの種類の問題について積分法によって数値的な解を得る(ただしこちらは数値的(ディジタル)に)、という機械である。後の改良により、ごく小規模だがプログラミング的な使い方も可能になり、円周率の桁数向上記録の歴史で有名な1949年の2037桁という記録は、そのような改良後の機能を活用したものである。
経緯

当初は、アメリカ陸軍弾道研究所での砲撃射表の計算を第一の目的として設計されたが、その初期に行われた計算で射表の計算とは全く違うもののひとつに、マンハッタン計画についてのものがある[5][6]。1946年に発表されたとき、報道には「巨大頭脳」(Giant Brain) といった呼称が見られる。なお、新技術に "Brain" という比喩を使うのは、戦時中から見られる。例えば、ライフ誌1937年8月16日の p.45 に Overseas Air Lines Rely on Magic Brain (RCA Radiocompass)、1942年3月9日の p.55 に the Magic Brain - is a development of RCA engineers (RCA Victrola)、1942年12月14日の p.8 に Blanket with a Brain does the rest! (GE Automatic Blanket)、1943年11月8日の p.8 に Mechanical brain sights gun (How to boss a BOFORS!) といった記事があり、また、各種の計算機械を扱ったエドモンド・バークレーの啓蒙書 "Giant Brains, or Machines That Think"(邦題『人工頭脳』)などといった例もあるように、これは何ら特記事項ではない。

第二次世界大戦中、ENIACの設計と製作の資金はアメリカ陸軍が支出した。その契約は1943年6月5日に結ばれ、ペンシルベニア大学電気工学科(ムーア・スクール)にて Project PX の名で秘密裏に設計が開始された。1946年2月14日の夕方に完成したマシンが公開され[7]、翌日にはペンシルベニア大学で正式に使用が開始された[8]。開発にかかった総額は50万ドル弱だった。アメリカ陸軍に正式に引き渡されたのは1946年7月のことである。1946年11月9日、改造と記憶装置のアップグレードのためにシャットダウンされ、1947年にはメリーランド州アバディーン性能試験場に移送された。そこで1947年7月29日に電源を入れ、1955年10月2日の午後11時45分まで運用された[3]

ENIACを考案・設計したのはペンシルベニア大学のジョン・モークリージョン・プレスパー・エッカートである[9]。設計開発に加わった技術者としては、ロバート・F・ショー(Robert F. Shaw/ファンクションテーブル)、ジェフリー・チュアン・チュー(除算器/平方根計算器)、アーサー・バークス(乗算器)、ハリー・ハスキー(入出力)、ジャック・デイヴィス(Jack Davis/アキュムレータ)らがいる。

1987年、ENIACはIEEEマイルストーンに選ばれた[10]
概要
構造

ENIACはモジュラー構造で、個々のパネルがそれぞれ異なる機能を担っている。そのうち20のモジュールはアキュムレータと呼ばれ、十進法で10桁の数値を記憶し、加減算しかできない。数値はそれらモジュール間を結ぶいくつかの汎用バスを通して渡される。高速性を実現するため、数値の転送も計算も結果の格納も次の操作へのトリガも全て可動部品を使わずに行われる。その汎用性の鍵となったのは分岐する能力で、計算結果の符号によって次の操作を選択できるようになっていた。

ENIACは17,468本の真空管、7,200個のダイオード、1,500個のリレー、70,000個の抵抗器、10,000個のコンデンサ等で構成されていた。人手ではんだ付けされた箇所は約500万に及ぶ。幅30m、高さ2.4m、奥行き0.9m、総重量27トンと大掛かりな装置で、設置には倉庫1個分のスペース(167m2)を要した。消費電力は150kW[11][12]。そのため、ENIACの電源を入れるとフィラデルフィア中の明かりが一瞬暗くなったという噂が生まれた[13]。入出力にはIBMパンチカード(読み取り装置とパンチ)を使用可能だった。出力されたパンチカードをIBMのタビュレーティングマシン(IBM 405 など)に読み込ませて印字することができる。

ENIACでは当時一般的だった8ピンソケットの真空管を使っている。アキュムレータのフリップフロップには双三極管 6SN7 が使われ、他の論理回路には 6L7、6SJ7、6AC7 が使われている。モジュール間を結ぶケーブル上でのパルスを駆動するのに 6L66V6 が使われている。
システム

現在のコンピュータは二進法で計算を行うものがほとんどだが、ENIACは内部構造に十進法を採用した。1桁の十進数を格納するのに、10ビットのリング・カウンタを使用しており、1桁の記憶に36本の真空管を必要とする。そのうち10本は双三極管で、フリップフロップでリング・カウンタを構成している。演算は、リング・カウンタが入力パルスをカウントする形で行われ(リング・カウンタのビット列は二進数を表しているのではなく、"1"の個数がその桁の値である)、あふれるとキャリーパルスを発生する。これは機械式計算機で数を表す歯車を電子的にエミュレートしたものである。全部で20の10桁のアキュムレータがあり、10の補数表現で負の値を表し、毎秒5,000回の加減算を行える。複数のアキュムレータを接続して同時並行的に動作させることができるので、最高性能はさらに高い。

1つのアキュムレータのキャリーをもう1つのアキュムレータへの入力とし、全体で20桁の演算となるよう構成することもできるが、回路のタイミングの関係で3つ以上のアキュムレータをキャリーで接続することはできない(30桁などは不可能)。アキュムレータのうち4台は「乗算器」の制御下にあり、毎秒385回の乗算が可能である。また5台のアキュムレータは「除算器/平方根計算器」の制御下にあり、毎秒40回の除算または毎秒3回の平方根計算が可能である。ENIACのファンクションテーブルを操作している様子。この写真は詳細を分からなくするため、意図的に暗くしたものである。[14]

他に、始動ユニット(処理の始動・停止を行う)、サイクリングユニット(クロックパルスを他のユニットに供給)、マスタープログラマ(ループ回数を制御するユニット)、リーダー(IBM製パンチカード読取装置の制御)、プリンター(IBM製カードパンチ機の制御)、定数転送ユニット、ファンクションテーブルといったユニットで構成されている。

Rojas and Hashagen またはウィルクス[9]は、より詳細に内部の動きを説明しており、それは上述のものとは若干異なる。基本マシンサイクルは200マイクロ秒(サイクリングユニットの100kHzのクロックパルスの20サイクルに相当)で、10桁の数値を毎秒5,000回操作できる。その1サイクルで数値をレジスタに書き込んだり、レジスタから数値を読み出したり、2つの数値の加減算を行ったりできる。10桁の数値と d 桁の数値(d の最大値は10)の乗算には d+4 サイクルを必要とするので、10桁の数値同士の乗算は14サイクル(2800マイクロ秒)かかり、毎秒357回ということになる。どちらか一方の数値の桁数が少なければ乗算はもっと短時間で終了する。除算と平方根計算には 13(d+1) サイクルかかり、この場合の d は結果(商または平方根)の桁数である。したがって最大143サイクル(28,600マイクロ秒)かかるので毎秒35回となる(ウィルクス[9]は、10桁の商を求めるのに6ミリ秒かかるとしている)。こちらも演算結果の桁数が少なければもっと短時間で完了する。
特性
信頼性真空管が並ぶENIACの裏面の一部

当初、真空管は毎日数本が壊れ、修理には毎回30分ほどかかった。特殊な高信頼真空管が使えるようになったのは1948年のことである。故障の大部分は電源の投入・切断時に起きていた。これは真空管のヒーターとカソードの加熱と冷却の際にもっともストレスがかかるためである。そこで、真空管のフィラメントを定格の10%未満という低い電圧で動作させ、加熱と冷却でフィラメントが膨張と収縮を繰り返さないよう電源は落とさない等、多くの工夫を行った。それにより真空管の故障率を2日に1本という割合にまで低減させた。エッカートは1989年のインタビューで「真空管の故障はだいたい2日に1本の割合で、修理は15分で完了した」と述べている[15]。1954年、116時間(ほぼ5日間)という連続運転記録を達成している。
プログラミング
特徴

メモリがごくわずかなため、プログラム内蔵能力は事実上はほぼ無く、パンチカードなどの外部デバイスからプログラムを取り込む方式である。

ENIACは複雑なプログラムも組むことができ、ループ、分岐、サブルーチンが可能である。プログラミングは複雑な作業で、通常1週間ほどかかった。紙上でプログラムが完成したら、次にパッチパネルでスイッチ群やケーブルの配線を変更することでプログラムをENIACに設定する必要があり、それに数日かかる。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:58 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef