戻る The Baby (SSEM: Small Scale Experimental Machine,  "The Baby")


Williams
Williams
Kilburn
Kilburn
"The Baby" は、 マンチェスター大学のウィリアムス (Freddie Williams) と キルバーン (Tom Kilburn) によって作られ、 1948年6月21日、プログラムの実行に成功した、最初のプログラム内蔵式のコンピュータです。

Baby は、今日、コンピュータの基本的な特徴と考えられている構成要素を、すべて備えていました。

そして、特筆すべきことは、データもプログラムも、電子的メモリに記憶し、 それを電子的な速度で処理することができる、最初のコンピュータだったことです。


ABC (1942年) のメモリは、コンデンサドラムでした。ドラムは1秒間に1回転します。 メモリからデータを読み出したり書き込んだりするたびに、 "秒" のオーダーで待たなくてはなりません。 とても 「電子的な速度で」、とはいえません。

ENIAC (1946年) のメモリは真空管を使ったフリップフロップで、現在の SRAM と同じ原理です。 「電子的なメモリ」 で、かつ 「電子的な速度」 でアクセスできますが、 プログラムはメモリでなく、ハードウェアで与えられていました。

EDSAC (1949年) のメモリは水銀遅延線です。 タンクに満たした水銀中を超音波のパルスが伝播していく物理現象を利用しています。 ABC よりはエレガントですが、「電子的なメモリ」 ではなく、 メモリアクセス時間も音速に制限され、かつ、シーケンシャルアクセスです。


Baby Mark 1 prototype
Baby Mark 1 prototype

"Baby" はニックネームで、SSEM (Small Scale Experimental Machine) が公式の名前です。

写真ではかなり大きいマシンのように見えますが、 どうしてこれが "小規模実験機" で、 "Baby" なのでしょうか?


Kilburn and CRT
キルバーンと CRT
ウィリアムスは 1946年2月に CRT (Cathode Ray Tube) をメモリとして使用する研究に着手し、10月初旬、1ビットのメモリとして動作させることに成功しました。

データは CRT スクリーンの蛍光面上の電荷として記憶されます。 蛍光物質は絶縁体ですが、それでも電荷はすぐに失われるので、 電荷を読み出しては再書き込みすることによって、記憶を保つようにされました。
このプロセスは "regeneration" と呼ばれましたが、 ABC のコンデンサドラムメモリでも、現在の DRAM でも同様の方式が使われています。 現在はこれを 「リフレッシュ」 と呼んでいます。

1947年11月にはキルバーンの新たなアイデアも加わって、 6インチの CRT に 2,048 ビットを記憶できるようになりました。 従ってこれは、本来 「ウィリアムス−キルバーン管」 と呼ばれるべきでしょうが、 このメモリシステムは、一般的に 「ウィリアムス管」 という名で知られています。

CRT
CRT による表示
左の写真は (Baby に使われたものではありませんが)、 40×32 ビットの2進数を記憶しているウィリアムス管のデータの様子を、別の CRT で表示させたものです。 一番上の行には、別途 20ビットのデータが記憶されているようです。

明るい点は "1" を、暗い点は "0" を表しています。

EDSAC の水銀遅延線に比べて、ウィリアムス−キルバーン管の本質的な特徴は、高速アクセス と ランダムアクセス性 にあります。


1947年の秋には、2,048 ビットを記憶できるようになりましたが、データを書き換えるのに1秒近く要しました。 これは、ウィリアムス−キルバーン管の本来の能力の、わずか 1/100,000 程度のスピードにすぎませんでした。

Baby は、ウィリアムス−キルバーン管が、コンピュータのメモリとして実用に耐えられるかどうかを確認するため、 そしてまた、このメモリを使ってもっと本格的なコンピュータを作ることができるかどうかを検証するために、 「実験的」 に作られた 「小規模な」 コンピュータです。

Baby の主な特徴は、次の通りです。

1. 32 ビットマシン
2. 2 の補数の整数を使った 2進数逐次演算方式
3. 命令コードは単一アドレスフォーマット
4. 主記憶装置は 32語のランダムアクセスメモリ                    
5. 演算速度は1命令当り約 1.2 msec.


First Program 左図は Baby の最初のプログラムです。 (図をクリックすると拡大されます)

Baby には7種類の命令があり、これは3ビットのコードで表されました。 メモリは 32ワードですから、アドレスは5ビットの2進数で表すことができます。 従って、Baby は 32ビットマシンでしたが、プログラムは、実質的にはわずか8ビットで記述できました。

左図のプログラム自体は 19ステップで、他に8ワードのメモリがプログラムの制御や計算に使用されています。 メモリはもう、あと5ワードしか残っていません。

やはり "Small Scale Experimental Machine" で、"Baby" の名がふさわしいようです。


ウィリアムス−キルバーン管は、IBM 701 や 702 など、その後の いくつかのコンピュータのメモリとして使われましたが、 1955年頃から安価な "磁気コアメモリ" が現れ、以後、次第にコアメモリに置き換えられていきました。


情報処理概論 に戻る   講義資料 に戻る   戻る

このページは Manchester Baby computer (http://www.computer50.org/) を参考にして作成し、 写真もマンチェスター大学コンピュータサイエンス学部の許可を得て、同ページより引用しています。


2001.03.14  ueyama@infonet.co.jp