Whirlwind

Whirlwind（ホワールウィンド、原義は「つむじ風」）とは、マサチューセッツ工科大学（MIT）で開発されたコンピュータである。リアルタイム処理を念頭に置いた世界初のコンピュータであり、出力機器として世界初のモニター端末を使い、従来の機械システムの電子的置換ではない初めてのシステムと言われている。その開発は、直接的にはアメリカ空軍のSAGEシステムに受け継がれ、間接的には1960年代の商用コンピュータに影響を及ぼした。 第二次世界大戦中、アメリカ海軍はMITに爆撃機の乗組員を訓練するためのフライトシミュレータを制御するコンピュータの開発が可能か打診した。彼らが想定していたのは、パイロットの操作に基づいて計器盤の表示を継続的にシミュレートするという単純なコンピュータであった。従来のリンクトレーナとは異なり、彼らの想定したシステムは空気力学的モデルに基づいた実物に限りなく近いものであり、様々な航空機の訓練に使えるものだったのである。 MITサーボ機構研究室はそのようなシステムは開発可能であるとの結論に至った。それを受けて海軍は「Project Whirlwind」の名前で資金提供を決定し、プロジェクトの責任者としてジェイ・フォレスターが選任された。彼らは即座に大型のアナログコンピュータを開発したが、それは正確さに欠け、柔軟性に乏しかった。その問題を解決するにはさらに大型のシステムが必要だったが、それは到底製造可能とは考えられなかった。 1945年、MITのチームの一員であったジェリー・クローフォードはENIACのデモンストレーションを見てデジタル式コンピュータが解決策となるかもしれないと示唆した。デジタル式であれば、部品を追加する代わりにプログラムを追加すればシミュレーションの正確性を向上させることができる為であった。当時の認識ではコンピュータは十分に高速であり、どんな複雑なシミュレーションでも理論的には可能と思われた。 当時のコンピュータは一度にひとつのタスクを実行するバッチ処理用に開発されていた。入力データが事前に用意され、コンピュータがそれを使って計算を行い、結果を出力する。しかしこれではWhirlwindシステムには不十分である。Whirlwindでは、時々刻々と変化する入力に対して連続的に計算を行う必要があった。速度が最も大きな問題となった。一般のシステムでは計算結果がプリントアウトされるのをじっと待っているのが普通だったが、Whirlwindでは速度が遅いとシミュレーションできる複雑さが極端に制限されてしまう。 1947年、フォレスターとエヴァレットは高速なプログラム内蔵式コンピュータの設計を完了した。当時の多くのコンピュータは「ビット直列」式で動作していた。これは1ビットの演算を繰り返し実行することでワード長ぶんの処理を行う方式で、ワード長は48ビットとか60ビットと長かった。しかしこの方式は彼らの用途には性能が悪すぎたので、Whirlwindは16ビットを並列に処理する演算回路を備え、ワード長も 16ビットとして、サイクル毎に「ビット並列」式で演算が行えた。メモリの速度を無視すれば Whirlwind は当時の他のコンピュータの 16倍の高速性を誇っていた。現在ではほとんどのコンピュータはこの方式を採用していて、さらに 32ビットや 64ビットのワードを一度に処理するようになっている。 ワード長はちょっとした考慮のうえで決定された。マシンは命令毎にひとつのメモリアドレスを指定されて動作する。二つのオペランドに対する演算をする場合（例えば加算をする場合）、もう一方のオペランドは直前の命令のオペランドを使用するものとされた。したがって、Whirlwindのプログラムは逆ポーランド記法の電卓に似ている。（ただし、オペランドのスタックがあるわけではない。）設計者は最低でも2000ワード分のメモリが必要であると考え、アドレスのビット幅を11ビットとし、さらに16～32種類の命令を識別するための命令コード用の 5ビットを加えて、ワード長を 16ビットとしたのである。ジョン・フォン・ノイマンはこのワード長の小ささを聞いて、Whirlwindに興味を持たなかったという（彼の興味は科学技術計算にあり、精度を上げるためにワード長が長くなければならなかった）。 マシンの建造は翌年から開始された。これには175人（うち70人が技術者）が関わっている。Whirlwindは完成までに 3年を費やし、1951年4月20日に動作した。当初海軍のフライトシミュレータ向けだったものが、完成時には空軍のSAGE向けになっていた。プロジェクトは毎年百万ドルを消費し、海軍は既に興味を失っていたのである。一方空軍では、冷戦の勃発、航空機のジェット化による高速化、また特にソ連の原子爆弾完成により、可能な限り迅速に未確認機の発見と要撃管制、敵の侵攻であれば即座に撃墜できる態勢を整えることが喫緊の課題であり、自動化された機械の助け無くしてジェット機による核攻撃を防ぐことは不可能であった。これがWhirlwindを彼らのプロジェクトに組み込んだ理由であった。 当初の速度は非常に遅く（20KIPS）、実用には程遠かった。加算は 49マイクロ秒、乗算は 61マイクロ秒かかっていた。トラブルの原因のほとんどは主記憶装置としてウィリアムス管を使っていたためである。フォレスターはこれを改善する技術を探し、らせん状の磁気テープなどを試したが、最終的に磁気コアメモリにたどり着いた。これによって性能は約二倍（40KIPS）となった（1953年）。 磁気コアメモリを実装することで、Whirlwindは当時の世界最高速コンピュータとなった。Whirlwind Iは磁気コアメモリを搭載した最初のコンピュータである。加算時間は8マイクロ秒、乗算時間は25.5マイクロ秒、除算は57マイクロ秒（ただし、メモリアクセス時間を除く）となった。磁気ドラムメモリでは8,500マイクロ秒だったアクセス時間が、磁気コアメモリでは8マイクロ秒に改善されている。1940年代後半 Whirlwindにて、桁上げ保存乗算器が初めて姿を現している。 この高速化によってSAGEで十分使える性能となり、AN/FSQ-7 という量産機を製造して使用する段階となった。当時、RCAが有力だったが、IBMがその製造業者に選ばれた。IBMは後にこのシステムで培われたリアルタイム技術をSABREシステム（航空機のチケット予約システム）で商用化している。AN/FSQ-7 の製造は1957年に開始され、同時に建物や送電施設や通信ネットワークがSAGEシステムのために建設された。 Whirlwind IIは、1959年6月30日までSAGEにおいてサポート役を果たした。その後1970年代後半までプロジェクトメンバーのBill Wolfが年1ドルでマシンを借りていた。その後ケン・オルセンがこれを買い取って一時的に所有していたが、スミソニアン博物館に寄贈した。 Whirlwindは約5000本の真空管で構成されていた。そのデザインをそのままトランジスタ化する作業がケン・オルセンによって行われており、TX-0として知られている。これが成功を収めたので、さらに大規模化したTX-1が計画された。しかしこのプロジェクトは野心的すぎたため、規模を縮小してTX-2が完成した。これもトラブルが多いマシンであったが、オルセンは途中でプロジェクトを抜けてデジタル・イクイップメント・コーポレーション社（DEC）を設立。DECのPDP-1はTX-0とTX-2のコンセプトを集めて、より小さなマシンに仕立てたものである。 ^ P.HYES & 1978,1979, p. 21. ^ P.HYES & 1978,1979, p. 190. John F. Jacobs, The SAGE Air Defense System: A Personal History (MITRE Corporation, 1986) Whirlwindに関する様々な資料を含む 『コンピューター200年史 －情報マシーン開発物語－』M.キャンベル＝ケリー他(著)、山本菊男(訳)、海文堂（1999年）、ISBN 4-303-71430-5 P.HAYES, JOHN (1978,1979). Computer Architecture and Organization. pp. 21. ISBN 0-07-027363-4  いずれも英文。 Computer Structures: Readings & Examples — The Whirlwind I computer Whirlwind documentation