ウィリアムス管
ウィリアムス管(Williams tube)、またはウィリアムス-キルバーン管(Williams-Kilburn tube)は、陰極線管を使用したコンピュータの記憶装置(メモリ)で、ブラウン管の一種とすることもある。名前は開発者であるフレディー・ウィリアムスとトム・キルバーンに由来する。これは、初のランダムアクセス可能な記憶装置(Random Access Memory)であり、いくつかの初期のコンピュータで使用された。
ウィリアムス管は、陰極線管(CRT)上にドットのグリッドを表示することで動作する。CRTの動作原理により、各ドットに静電気の電荷が発生する。各ドットの位置での電荷は、ディスプレイのすぐ前にある薄い金属板で読み取られる。時間の経過とともにディスプレイの表示は薄くなる(すなわち、電荷が失われる)ため、定期的にリフレッシュする必要がある。
それまで主流だった水銀遅延線は水銀中の音波で記録していたため、情報の伝達や更新に音速の制限があった。ウィリアムス管ではその制限が真空管内の電子の速度となるため、より速いサイクルで使用できる。ただし、ドットの間隔を短くしすぎると、電荷が周りのドットにも影響を与えてしまうため、ある程度の間隔を開ける必要があり、小型化が不可能だった。
ウィリアムスとキルバーンは、イギリスで1946年12月11日と1947年10月2日に特許を出願し、その後アメリカで1947年12月10日と1949年5月16日に特許を出願した。
ウィリアムス管は、陰極線管(CRT)で発生する二次電子放出という現象を利用したものである。電子ビームがディスプレイ表面の蛍光体に当たると、通常は蛍光体が点灯するが、ビームのエネルギーが所定の閾値(蛍光体の種類によって異なる)を超えると、蛍光体から電子が飛び出す。この電子は、短い距離を移動してCRTの表面に引き寄せられ、少し離れた場所でCRTの上に落下する。全体的な効果としては、電子が不足しているビームのすぐ近くの領域ではわずかに正の電荷が発生し、それらの電子が着地するドットの周囲ではわずかに負の電荷が発生する。結果として生じるポテンシャル井戸は、電子が元の位置に戻るまでの数秒間、管の表面に留まる。その寿命は、蛍光体の電気抵抗と井戸の大きさに依存する。
ポテンシャル井戸を生成するプロセスを、コンピュータメモリの書き込み操作として使用し、2進数の1桁、すなわちビットを格納する。ドットやスペースの集合体、多くの場合、ディスプレイ上の横一列が、コンピュータのワードを表す。ドットの大きさや間隔と寿命、隣接するドットとの干渉を防ぐ能力には関係がある。このため、記録密度には上限があり、1本のウィリアムス管には通常1024~2560ビットのデータを保存することができる。電子ビームは本質的に慣性がなく、ディスプレイ上のどこにでも移動できるため、コンピュータは任意の場所のデータにアクセスすることができるので、ランダムアクセスが可能なメモリとなる。一般的に、コンピュータはアドレスをXとYのペアとしてドライバ回路にロードし、タイムベースジェネレータを起動して選択した場所を掃引し、通常はフリップフロップとして実装されている内部レジスタからの読み出しまたは書き込みを行う。
メモリの読み取りは、書き込み動作によって引き起こされる二次的な効果を利用して行われる。書き込みが行われる短い時間の間に、蛍光体の電荷の再分配により、近くの導体に電圧を誘導する電流が発生する。これは、CRTの表示側のすぐ近くに薄い金属板を置くことによって読み取られる。読み出し動作中、ビームはディスプレイ上の選択されたビット位置に書き込みを行う。先に書き込まれた場所はすでに電子が消耗しているため、電流は流れず、金属板上には電圧がかからない。これにより、コンピュータはその場所に"1"が記録されていると判断することができる。もしその場所が以前に書き込まれていなかった場合は、書き込みプロセスによってポテンシャル井戸が作成され、金属板上にパルスが読み込まれて"0"を示す。
メモリの場所を読み取ると、そこに何が記録されていたかに関わらず、電荷が発生し、その場所の元の内容が破壊されるため、データを元に戻すために、読み取った後に再度書き込みを行う必要がある。いくつかのシステムでは、これはCRT内部の第2電子銃を使用して行っている。これは、第1電子銃でデータを読み取っている間に、その前に読み込んだ箇所にデータを書き込むものである。ディスプレイは時間の経過とともに薄くなってゆくため、同様の方法でディスプレイ全体を定期的にリフレッシュする必要がある。しかし、データを読み込んですぐに書き込むため、中央処理装置(CPU)で他の処理を行っている間に、外部回路でこの動作を行うことができる。このリフレッシュ動作は、DRAMのメモリリフレッシュサイクルに似ている。
リフレッシュ処理を行うと、同じパターンが連続して表示されるため、以前に書き込んだ値を消去できるようにする必要があった。これは通常、元の位置のすぐ横のディスプレイに書き込むことで達成される。この新しい書き込みによって放出された電子は、以前に書き込まれたポテンシャル井戸に落ちて、ポテンシャル井戸を埋めることになる。
ウィリアムス管の中には、レーダー型の陰極線管に蛍光体のコーティングを施してデータを視認できるようにしたものあった。このコーティングの有無は管の動作に影響を与えず、管の表面はピックアップ用の金属板で覆われていたので、オペレータにとっては重要ではなかった。目に見える出力が必要な場合は、蓄電管と並列に接続され、蛍光体でコーティングして金属板を取り付けていない第2の管が表示装置として使用された。
このメモリは、イギリスのマンチェスター大学で開発され、同大学で開発されたコンピュータ・Manchester Small-Scale Experimental Machine(マンチェスター・ベビー)が1948年6月21日に初めてプログラムの実行に成功したときの、プログラムを記憶する媒体として使用された。実際のところ、マンチェスター・ベビーのためにウィリアムス管を開発したのではなく、ウィリアムス管の信頼性を実証するためのテストベッドとして作られたのがマンチェスター・ベビーだった。トム・キルバーンが、218の最大の約数を計算する17行のプログラムを書いた。大学の伝説では、これがキルバーンが書いた唯一のプログラムだったとされている。正しい答えを導き出すのに350万回の計算を53分かけて実行した。
ウィリアムス管は使用時間とともに信頼性が低くなる傾向があり、ほとんどの装置は手で調整する必要があった。対照的に、水銀遅延管メモリは遅く、ビットがシリアルに提示されるため、プログラミングが複雑になり、真の意味でのランダムアクセスではなかった。遅延線もまた、手作業でのチューニングが必要だったが、データレート、重量、コスト、熱、毒性の問題があったにもかかわらず、初期のデジタルコンピュータではそれほど老朽化することもなく、ある程度の成功を収めていた。しかし、ウィリアムス管を使用したManchester Mark Iは、Ferranti Mark 1として製品化に成功した。アメリカの初期のコンピュータにも、IASマシン(もともとはセレクトロン管メモリ用に設計されていた)、UNIVAC 1103、IBM 701、IBM 702、SWACなど、ウィリアムス管が使用されていたものがある。ウィリアムス管は、ソ連のStrela-1や日本のTACでも使用されていた。
ウィリアムス管は、磁気コアメモリが登場する1950年代前半まで用いられていた。