今日は、ジェイ・フォレスターの誕生日(1918)。
Whirlwind I の開発発案者です。まだ御存命のようでなにより。
2017.7.14 追記
昨年、2016年の 11月16日に亡くなられています。
詳しくは Whirlwind I のページに書いていますが、ざっと略歴を。
第2次世界大戦中、MIT でサーボ機構の研究開発を行っています。
サーボ機構というのは、いまでいえば「フィードバック制御」のこと。
レーダーで敵機を捉え、捉えた敵機の動きに応じて、常にレーダー探知の「中心」にとどまるように、レーダー自体を動かします。
同時に、この敵機の動き・距離などを勘案し、「撃ったら弾が飛んでいき、当たる」と思われる向きに砲塔を向けます。
今で言えば「ロックオンされた」状態。後は引き金を引けば敵にあたります。
当時はコンピューターが開発される以前なので、全部アナログ回路で動かしていました。
微妙なノウハウの塊で、ジェイ・フォレスターはその第一人者でした。
ある日、彼の元に「訓練用のフライトシミュレータを作れないか」という相談が舞い込みます。
サーボ機構のノウハウを使い、空気抵抗などをシミュレーションして操縦するシステムを作るのですが、シミュレーションが要求された精度に全然届きません。
ここで発案されるのが、Whirlwind プロジェクト。「つむじ風」という意味です。
当時のコンピューターは、1bit の計算回路しか持たないのが普通でした。
1bit でも、繰り返し計算すれば大きな数を計算できます。
ちょうど、人間が大きな数の足し算をするときに、筆算を使って1桁づつの計算に分解するような感じです。
当時は、1bit の計算を繰り返して、36bit ~ 72bit 程度を一度に計算するのが主流でした。
これを、計算回路の幅が 1bit で、計算対象の幅が 36bit ~ 72bit 、と呼ぶようにします。
Whirlwind はフライトシミュレータのために、もっと計算速度が必要でした。
そこで、計算回路の幅を 16bit にして計算します。…これは、当時としては恐ろしく複雑な回路となりました。
計算対象の幅も 16bit です。当時は「対象の幅が大きいほど良い」風潮がありましたから、16bit では話にならない、という人もいました。
しかし、フォレスターはわかっていました。速度が速ければ、ソフトウェアで 16bit の計算を繰り返すことで、32bit にも、64bit にもできます。
計算回路が速くなればコンピューターが速くなる…というほど話は単純ではありません。
実は、当時一番の問題はメモリ。普通は水銀遅延管…超音波という「物理動作」が、電気回路よりも遅いことを利用して、この「遅さ」を記憶として使う方法でした。
実のところ、1bit づつ計算を行う当時のコンピューターは、水銀遅延管を使っていたことに由来します。
水銀遅延管は遅いため、1bit づつ計算するのにも、「メモリを待つ」状態になってしまうのです。
16bit を一度に取りだせて、超高速で動作するメモリが必要でした。
Whirlwind プロジェクトでは、新しいメモリを開発しようとしますが、結果的には失敗。
もう、なんでもいいからメモリとして使えそうなものを片っ端から試す、という状況になります。
ここで見出したのが、コアメモリでした。
非常に単純で、非常に安くて、なのに超高性能…と、中国系移民の発明者は言っていました。
もう、明らかに怪しすぎるし、当時はあまり相手にされていなかったようです。
でも、Whirlwind I は本当に片っ端からメモリを試す状況でした。…使ってみたら本当に理想的なメモリ。
Whirlwind I で採用されて以降、コアメモリはコンピューターメモリの花形となります。
1970年代に、集積回路でメモリを作ろう、というベンチャー企業…インテルが登場するまでは、メモリと言えばコアメモリでした。
#コアメモリは、非常に小さなビーズを入れて、細いワイヤを「編む」必要がある。
小型化に貢献したのは、手先の器用な日本人だった。かなりの量の生産を行い、アメリカに輸出していたらしい。
2017.7.14 追記
コアメモリの発明に関する話、少し勘違いがありました。
中国系移民の発明者が考案したのを使った、のではなく、中国人発明者のの見つけた「記憶効果」を応用し、WhirlWind I のチームが、
「コアメモリ」として発明しています。
高速なフライトシミュレータを作るのであれば、状況をすぐに図示する装置も必要です。
実は、Whirlwind I は、世界で初めて「画面表示」を採用した機械でもあります。
ベクタースキャンディスプレイで、何度か装置が交換されていますが、最終的には 2048x2048 の解像度を持ちます。
また、簡単に文字を表示する機構も備わっていました。
まだ作成中の初期段階で、画面に「弾むボール」を表示するデモプログラムが作られています。
スイッチを使って様々な係数を変更し、いろいろとボールを弾ませることができる。
特にゲームではないのですが、テレビ画面とコンピューターを使ったもっとも初期の「遊び」とされます。
プロジェクト最初の成果物、Whirlwind I (1951)は、現代のコンピューターの直接の「始祖」となるものです。
それ以前のコンピューターとは明らかに構造が異なっている。
本当は、I は性能を確認する実験機にすぎず、つづけて II が作られるはずでした。
しかし、I だけでも予算をはるかに超え、II は作成されません。
I を元にした量産機は、軍事用コンピューターとして多数作られました。
画面を表示するだけでなく、光を感知する「ライトペン」を使って、画面にタッチすることで操作できます。
コンピューターは元々計算用の機械でしたから、入力機器として文字を入れる「キーボード」が普通になるのは、もっと後の話。
キーボードより先に、画面にタッチして操作する、という入力方法が使われていたのです。
#もっとも、Whirlwind I では、タイプライターも接続されています。
キーを使った入力もできたようですが、主に出力のための「プリンタ」としての利用でした。
さて、もう一つ、APT の話も書いておきましょう。
こちらは、ジェイ・フォレスターが直接指揮を執ったわけではありませんが、彼の研究室で作られたもので、「サーボ技術」…最初に書きましたが、フィードバック制御の実績を買われて持ち込まれた相談でした。
コンピューターを使って金属の削り出し加工ができないか、というのがその相談。
当時、旋盤の刃を数値に従って動かす機械はあったのですが、金属の「固さ」に負けて、本当に必要な部分まで削ることができずに誤差が出るのです。
フィードバック制御ができれば、本当に必要なところに刃が達したことを確認でき、誤差のない加工ができるのではないか…というのが相談の内容。
こちらは、機械はほどなくしてできたのですが、その機械を制御するコンピュータープログラムの開発が難航しました。
最終的には、APT …Automatically Programmed Tool (自動プログラム装置)として完成します。(1959)
形状定義ファイルを入力すると、加工機を制御するためのプログラムを生成してくれるプログラムです。
これ、デジタルで形状を作り上げると、手に取れる形にしてくれる「3Dプリンタ」の元祖です。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |