 |
EDSAC (electronic delay storage automatic calculator) |

EDSAC は 1949 年、ケンブリッジ大学のウィルクス
(Maurice Vincent Wilkes)
によって作られた、 最初のコンピュータです。
左の写真の人物はウィルクス。
眺めているのは EDSAC のメモリです。
EDSAC の正式名称は "Electronic Delay Storage Automatic Calculator" ですが、
"delay strage" とは 「遅延線メモリ」 のことで、 写真のパイプが並んでいる長い箱が遅延線メモリ、
これ全体でほぼ 1 キロバイトの記憶容量です。
管の中に水銀を満たして片側から超音波のパルスを与えると、 超音波は水銀中を伝わって反対側に届きます。
これを電気信号に変えてまた超音波のパルスにして管に戻してやると、
水銀の中で循環する超音波のパルスとしてデータを記憶させることができます。
これを遅延線メモリといい、 連続しているデータを順次読み書きするこのようなタイプのメモリを、
シーケンシャルアクセスメモリ
(sequential access memory) といいます。
EDSAC のメモリの水銀管の長さは 5 フィート
(1.5m) あります。
水銀中の音速は 1,450m/sec ですから、 水銀管の端から端まで、 約1秒で超音波が届きます。
これをまたすぐ入り口側に戻してやると、 約 1 msec でデータが循環することになります。
一方 EDSAC の
クロック周波数は 500kHz ですから、
1秒間に 50 万回、 2μsec 毎に命令を実行できます。
メモリに比べると 500 倍程度の速さです。
EDSAC 自身は高速に命令を実行できますが、 メモリアクセスが遅いため、
実際に実行できる命令は平均すると 1 秒間に 650回でした。
メモリの記憶容量はどうでしょうか。
EDSAC のメモリは 1 本の水銀管に 1 語
(ワード) 17 ビットのデータが 32 ワード記憶でき、
上の写真の箱にはそのタンクが 16 本納められていましたので、 記憶容量は 17 × 32 × 16 = 8.5k ビットになります。
今日の感覚では 8k ビット、 つまり 1k バイトのメモリと考えてよさそうです

。
EDSAC には上の写真のメモリが 2 台ありましたので、 全体としては 2k バイトのメモリを持っていたことになります。

1k バイトのメモリにしては大きすぎると思うかもしれませんが、
もしこれを水銀遅延線でなく真空管で作ったとすると、 1 ビット当たり 2 本の真空管が要りますから、
1k バイトだと 16,384 本もの真空管が必要です。
メモリだけでも
ENIAC 並みの真空管を使うことになってしまいます。
左の写真の真空管は、 1 本の真空管の中に 2 個の 3 極真空管素子が入っています。
「双三極管」 といいますが、 こういうものを使えば見かけの真空管の本数を 1/2 にすることができます。
実際、 ENIAC にもこうした真空管が多用されていますが、 それでも 17,468 本にもなっています。

現在の私たちは、 2G バイト程度のメモリをお小遣い

で買うことが出来ます。
上の EDSAC の遅延線メモリと比べると、 記憶容量はざっと 10 万倍、アクセス時間は 10 万分の 1、
重量はおそらく 1 万分の 1 程度でしょう。
これらを単純に性能の向上率として全部掛け合わせる
(あるいは割る) と、
100 兆倍になります。
価格も含めれば 10 京
(けい: 京 = 10 16) 倍
くらいになるかも知れません。
60 余年の間の技術の進歩の凄さに驚くと同時に、 先人のご苦労が偲ばれます。

EDSAC には 3,000本の真空管が使われ、消費電力は 12kW、専有面積は 20m
2 でした。
ほぼ 12畳の部屋いっぱいの大きさだったことになります。
EDSAC は上記の遅延線メモリの他に、 「イニシャルオーダー」 と呼ばれた 31 ワードの
ROM を備えていました。
文字コードで書かれた EDSAC のプログラムは、 このイニシャルオーダーで 2 進数のプログラムに変換され、
メモリに読み込まれました。
後のアセンブラのような機能を持っていたことになります。
イニシャルオーダーは後さらに 41 word に拡張され、
メモリアドレスを置き換えることによってサブルーチンの実行を容易にする、
画期的な機能を持つようになりました。