アポロ誘導コンピュータ
Apollo Guidance Computer アポロ誘導コンピュータとDSKY |
開発者 | MIT器械工学研究所(英語版) |
---|
メーカー | レイセオン |
---|
販売開始 | 1966年8月 |
---|
販売終了 | 1975年7月 |
---|
種類 | アビオニクス 誘導コンピュータ |
---|
プロセッサー | RTLベースのIC |
---|
周波数 | 2.048 MHz |
---|
メモリ | 16ビットワード長、 2048ワードRAM(磁気コアメモリ)、36,864ワードROM(コアロープメモリ) |
---|
ポート | DSKY、IMU、ハンドコントローラ、ランデブーレーダー (CM)、着陸レーダー (LM)、テレメトリ受信機、エンジン・コマンド、姿勢制御システム |
---|
消費電力 | 55W[1]:120 |
---|
重量 | 70 lb (32 kg) |
---|
寸法 | 24x12.5x6.5インチ (61x32x17 cm) |
---|
アポロ誘導コンピュータ(アポロゆうどうコンピュータ、Apollo Guidance Computer、AGC)とは、アポロ宇宙船の全航行機能を自動制御し、宇宙飛行士が飛行情報を確認/修正するために使われた、リアルタイム組み込みシステムである。ワード長16ビットで、データ15ビット、パリティ1ビットである。AGC上のソフトウェアの大部分はコアロープメモリと呼ばれる特殊なROMに格納されており、小容量の読み書き可能な磁気コアメモリをデータ格納用に備えている。
宇宙飛行士はDSKYと呼ばれる数値表示部とキーパッドから構成される装置でAGCとやりとりする。AGCとDSKYは、アポロ計画のためにMIT器械工学研究所(英語版)で開発された。AGCは初期の集積回路を採用したコンピュータの1つである。
[編集] アポロの中のAGC
月への飛行には毎回2つのAGCを使った。ひとつは司令船で、もうひとつは月着陸船で使われた。指令船のAGCは誘導/航行システム (G&C) の中央部にあった。月着陸船のAGCではアポロPGNCS(英語版)(Primary Guidance, Navigation and Control System、一次誘導/航行/制御システム)が動作し、頭字語PGNCSを「ピングス」と発音した。
各ミッションでは他にもふたつのコンピュータを使用していた。
- サターンV型ロケットの器械リングにあるIBM製の航行コンピュータ(LDVC)
- 月着陸船のAbort Guidance System(AGS)というTRW製の小さな機械。AGSはPGNCSの障害が発生したときに使われ、月から離陸して司令船にドッキングするまでを制御する。着陸には使えない。
チャールズ・スターク・ドレーパー(英語版)率いるMIT器械工学研究所(英語版)が設計を行った。ハードウェア設計責任者はエルドン・C・ホール(英語版)である[1]。アーキテクチャ設計は、J.H. Laning Jr.、Albert Hopkins、Ramon Alonso[2][3]、Hugh Blair-Smith[4] が行った。実際に搭載したハードウェアはレイセオンが製造し、同社の Herb Thaler[2] がアーキテクチャ設計チームに加わっていた。
アポロ誘導コンピュータは初期の集積回路(IC)を使って作られた。Block I バージョンは4,100個のICを使い、それぞれのICは3入力のNORゲートをひとつ構成していた。次の Block II バージョンは2つの3入力NORゲートをひとつのICで構成したものを2,800個使っている[1]:34。ICはフェアチャイルドセミコンダクター製で、RTLによる実装で、フラットパック (flat-pack) という形でパッケージされている。IC同士はワイヤラッピングで相互接続している。ICを挿入するソケットから金属棒が出ていて、その金属棒にワイヤーを巻きつけて接続する。金属棒とワイヤーは高圧で押し付けられ、気密結合状態となるため、一般的な半田付けよりも信頼性が高い。配線完了後、ワイヤーはエポキシ樹脂で封止される。すべて同じICを使うことにより、初期のICを使った他のコンピュータ(ミニットマンミサイルの誘導コンピュータ)が悩まされた問題は発生しなかった。
コンピュータのRAMは磁気コアメモリ(2048ワード)でROMはコアロープメモリ(36Kワード)である。どちらもサイクル時間は11.72μ秒。メモリのワード長は16ビットで、そのうち1ビットはパリティビットである。 CPU内の16ビットワードは、14ビットデータと1ビットのオーバーフローフラグ、1ビットの符号フラグから成る(数値は1の補数表現)。
[編集] DSKYユーザインタフェース
ユーザインタフェースユニットはDSKY (display and keyboard) と呼ばれ、通常「ディスキー」と発音した。一連の指示灯、数値表示ディスプレイ、電卓型のキーボードから成る。コマンドは数字で入力され、Verb部とNoun部という2つの数値を入力する。Verb は動作の種類を指定し、Noun は Verb コマンドによって変更されるデータを指定する。
表示は高電圧エレクトロルミネセンス・ディスプレイであり、数字毎に7セグメントで表示され、それを並べて数字列を表している。セグメントは電気機械式リレーで制御されるため、表示の更新速度が制限される(Block IIではもっと高速なシリコン制御整流器が使われている)。3行の5桁の数字で八進数か十進数が表示される。この3つの数値で宇宙船の姿勢を表すベクトルを表示したり、必要な速度変化のベクトルを表示したりする。データは内部では国際単位系で保持されているが、表示は慣習的なヤード・ポンド法を使っている。この電卓型インタフェースは[nb 1]、このタイプのものとしては世界初のディジタル制御パネルである。
司令船はふたつのDSKYを備えていた。ひとつはメイン計器パネルにあり、もうひとつは六分儀のそばに設置されて慣性誘導装置を調整するのに使われた。 月着陸船にはひとつのDSKYがAGCに接続されていた。指令船のメイン計器パネルと月着陸船のDSKYには、そのすぐ上にAGCが制御している航行指示装置 (FDAI) がある。
2009年、DSKY1台が Heritage Auctions にて一般向けオークションに出品され、50,788ドルで落札した[5]。
[編集] タイミング
AGCの駆動クリスタル周波数は2.048MHzである。クロックは分周されて4相の1.024MHzとしてAGC内で使われた。さらにそれを分周して512kHzの信号を生成し、これを「マスター周波数」と呼んだ。この信号はAGC以外のアポロ宇宙船のシステムを同期させるのに使われた。
マスター周波数はさらに分周され5分の1の102.4kHzの信号が作られる。これをさらに分周したF1(51.2kHz)からF17(0.78125kHz)の17種類の信号が作られる。F10(100Hz)はAGCに戻され、リアルタイムクロックとPINC(後述)を使った強制カウンターをインクリメントするのに使われる。F17はAGCがスタンバイモードの場合に定期的に動作させるのに使われた。
[編集] セントラルレジスタ
AGCは4本の16ビットレジスタを汎用的に使用した。これらをセントラルレジスタと呼ぶ。
A : | アキュムレータ、一般に計算に使用される。 |
Z : | プログラムカウンタ、次に実行すべき命令のアドレスを保持する。 |
Q : | DV 命令の剰余を保持する。またTC 命令後のリターンアドレスを保持する。 |
LP : | MP 命令後の積の下位ビット部分を格納する。 |
コアメモリには4つの場所があり(アドレス20-23)、ここに格納された値が自動的に1ビットシフトや1ビットローテートされるため "editing locations" と呼ばれた。なお、7ビット右シフトする場所はソフトウェアインタプリタが解釈する擬似命令コードを取り出すのに使われた。これはBlock I、Block IIに共通する。
!doctype>