


Pilot ACE (Automatic Computing Engine) は、英国で最初に製造されたコンピュータの 1 つです。[ 3 ] 1950 年代初頭に国立物理研究所(NPL)で製造されたPilot ACE は、初期の汎用プログラム内蔵型コンピュータの 1 つです。同時代のマンチェスター Mark 1やEDSACなど、他の英国製コンピュータと並ぶものです。これは、アラン・チューリングが設計した完全版ACEの試作版で、チューリングは Pilot ACE の製造が完了する前に NPL を去りました。
パイロットACEは、チューリングの完全なACE設計の縮小版として構築されました。チューリングがNPLを去った後(ACEの構築の進展の遅さに失望したことも一因)、ジェームズ・H・ウィルキンソンがプロジェクトを引き継ぎました。ドナルド・デイビス、ハリー・ハスキー、マイク・ウッドガーが設計に関わりました。[ 4 ] [ 5 ]パイロットACEは1950年5月10日に最初のプログラムを実行し、[ 6 ] [ 7 ] 1950年11月に報道陣に公開されました。[ 8 ] [ 9 ]
当初は試作機として開発されたものの、当時他に計算装置がなかったことを考えると、この機械は潜在的に有用な資源であることが明らかになった。運用上の実用性を高めるための改良が加えられた後、1951年後半に運用が開始され、その後数年間にわたって相当な運用実績を上げた。Pilot ACEが有用であった理由の一つは、科学計算に必要な浮動小数点演算を実行できたことである。ウィルキンソンはこの経緯について語っている。[ 10 ]
Pilot ACE は、当初は他のコンピュータとは異なり、乗算や除算のためのハードウェアを備えていませんでした。(ハードウェア乗算は後から追加されました。)Pilot ACE は当初、ソフトウェアで実装された固定小数点乗算と除算を使用していました。しかし、数値がすぐに範囲外になるため、固定小数点演算は良くないアイデアであることがすぐに明らかになりました。Pilot ACE が浮動小数点演算を実行できるように新しいソフトウェアを作成するのに時間はかかりませんでした。その後、James Wilkinson は専門家となり、浮動小数点計算における丸め誤差に関する本を執筆し、最終的にその本はよく売れました。[ 11 ]
Pilot ACE は約 800 本の真空管を使用していた。メイン メモリは水銀遅延線で構成され、当初は 32 ビットのワードが128 個で あったが、後に 352 ワードに拡張された 。1954 年に 4096 ワードのドラム メモリが追加された。基本クロック周波数は 1メガヘルツで、初期のイギリス製コンピュータの中では最速だった。命令の実行時間は、メモリ内の命令の位置によって大きく左右された (遅延線メモリを使用していたため)。加算には 64 マイクロ秒から 1024マイクロ秒かかることがあった。
その機械は非常に成功したため、イングリッシュ・エレクトリック社によって「DEUCE」という名の商用版が製造・販売された。
1954年に磁気ドラムが導入されたことで、行列を扱うプログラムを実行するための制御プログラムの開発への道が開かれました。ブリティッシュ・エアクラフト・コーポレーションのJMハーン[ 13 ] [ 14 ] [ 15 ]の奨励を受けて、ブライアン・W・マンディは、単純なコードワードだけで「ブリック」と呼ばれるプログラムの集合を実行できる汎用解釈プログラム(GIP)を開発しました。各ブリックは、連立方程式の解法、行列の逆行列計算、行列乗算など、単一のタスクを実行できました。この概念自体は目新しいものではありませんでしたが、GIPは、行列の境界を指定しないコードワードの単純さにおいて独特でした。境界はドラム上の行列から取得され、境界は格納されている2番目と3番目の要素でした。行列がカードにパンチされると、境界は最初の2つの要素として与えられました。したがって、一度プログラムを作成すれば、プログラムを変更することなく、異なるサイズの行列で自動的に実行できました。 GIPは1954年に稼働し[ 16 ]、Pilot ACEの後継であるDEUCE向けに書き直されました。
GIPで使用するブリックはM. Woodgerによって作成され、配列要素を格納するための独自の方式、すなわち「ブロック浮動小数点」が考案されました。通常の浮動小数点を使用すると、各要素に2ワードが必要になります。妥協案として、配列のすべての要素に単一の指数を使用することにしました。これにより、各要素に必要なワードは1つだけで済みました。最大の要素のみが正規化され、より小さな要素はそれに応じてスケーリングされました。小さな要素では精度が多少低下しましたが、要素同士が10倍以内の範囲に収まる傾向があることを考慮すると、大きな問題ではありませんでした。指数は、次元とともに行列に格納されました。
パイロットACE 1950。