# Apollo Guidance Computer (AGC) [[MIT Instrumentation Laboratory]] が開発した、Apollo 宇宙船の Command Module(CM)と Lunar Module(LM)に搭載されたフライトコンピュータ。LM 搭載機は LGC(Lunar Module Guidance Computer)とも呼ばれる。Primary Guidance Navigation and Control System(PGNCS)の中核をなす。 ## ハードウェア仕様 - 金色アノダイズ処理のアルミニウム-マグネシウム製筐体。約6×12×24インチ、重量70ポンド、消費電力約55ワット。 - 論理回路は 5600 個の 3 入力 NOR ゲート(2個ずつフラットパック IC に封止)。設計者 Eldon Hall は、当時未成熟だった集積回路技術の採用という大胆な決断を下した。 - メモリ: 36K ワードの固定(読み取り専用、コア・ロープメモリ)+ 2K ワードの消去可能(RAM)、1 ワード15ビット+パリティ。LM・CM 二基合計で 152 KB。 - メモリサイクルタイム 11.7 マイクロ秒。単精度加算2サイクル、Interpretive 言語での倍精度ベクトル外積は約5ミリ秒。 - 主要インターフェース: 慣性計測ユニット(IMU、"stable member" を内蔵)、Display and Keyboard Unit(DSKY、19キー・3汎用レジスタ)。 ## ソフトウェア - 2言語構成: 「Basic/Yul」(約40命令のアセンブラ、Hugh Blair-Smith 設計)と「Interpretive」(ベクトル・行列演算用のリスト処理型インタプリタ、Charles Muntz 設計)。 - リアルタイム OS は [[Hal Laning]] 設計の Executive/Waitlist 方式(→ [[優先度駆動リアルタイム実行系]])。 - ソフトウェアは "rope" と呼ばれ、SUNBURST(LM-1)→ SUNDANCE(Apollo 9)→ LUMINARY(Apollo 10・月着陸ミッション群、CM 側は COLOSSUS)と系譜が続いた。 - [[リスタート保護]]により、電源瞬断やハードウェア異常検知時でも waypoint から処理を再開でき、致命的な喪失なく飛行を継続できた。 ## Apollo 11 での役割 1969年7月20日の月面着陸中、[[インターフェース仕様の齟齬による障害|ランデブーレーダーのインターフェース仕様齟齬]]によるCPU時間喪失(TLOSS)で 1201/1202 プログラムアラームが発生したが、優先度駆動プリエンプティブな Executive 設計により致命的崩壊は起きず着陸は成功した。詳細は [[@2004__AAS__Tales from the Lunar Module Guidance Computer|Tales from the Lunar Module Guidance Computer]] を参照。 ## 関連 - [[Hal Laning]]: リアルタイム OS 設計者 - [[MIT Instrumentation Laboratory]]: 開発機関 - [[優先度駆動リアルタイム実行系]] / [[リスタート保護]]: AGC 上で実現された設計概念 ## 出典 - [[@2004__AAS__Tales from the Lunar Module Guidance Computer|Tales from the Lunar Module Guidance Computer]]