阿波羅11號登月程式公開!僅3.75KB記憶體
NASA公開阿波羅11號登月電腦原始碼:3.75KB記憶體成就人類首次登月
近日,美國國家航空暨太空總署(NASA)正式於GitHub平台公開阿波羅11號任務所使用的制導電腦(Apollo Guidance Computer, AGC)完整原始碼,全球使用者皆可自由查閱、下載與研究。這批珍貴數位資產的釋出,標誌著人類航天史上最具里程碑意義的軟體工程成果正式走入公眾視野。
兩大核心系統原始碼同步開放:Comanche055與Luminary099
本次公開之原始碼涵蓋阿波羅11號兩大關鍵飛行模組的全部軟體:
- Comanche055:對應指令艙(Command Module, CM)所搭載的Colossus 2A作業系統;
- Luminary099:對應登月艙(Lunar Module, LM)所採用的Luminary 1A系統。
兩者均以專為AGC設計的yaYUL組合語言撰寫,是支撐登月全程導航、控制與安全監控的核心程式。
ALARM_AND_ABORT.agc:緊急中止機制的關鍵檔案
在Comanche055原始碼中,ALARM_AND_ABORT.agc檔最引發技術社群關注。其命名即揭示功能本質——實時監測硬體異常、觸發警示燈、並精準區分「需立即中止任務」與「可繼續執行」兩類警報。檔案開頭附有詳盡註解,展現60年代工程師對可靠性與可維護性的高度重視。
數位復原背後:Virtual AGC團隊與MIT博物館協力再造歷史
此批原始碼並非直接來自磁帶或晶片,而是由Virtual AGC計畫團隊與麻省理工學院(MIT)博物館合作完成——全數依據當年紙本列印稿掃描影像,逐行轉錄、交叉校對、語法驗證與結構整理,確保數位版本忠實再現原始邏輯與註解脈絡。
不僅可讀,更能運行:Virtual AGC模擬器支援多平台編譯執行
用戶不只可瀏覽原始碼,更可透過開源工具Virtual AGC進行實際編譯與模擬執行。該模擬器相容於Windows XP、Mac OS X 10.3、主流Linux發行版及部分FreeBSD版本,讓現代開發者得以親身體驗60年代即時嵌入式系統的運作節奏與限制。
驚人對比:3.75KB記憶體 vs. 現代太空軟體故障
阿波羅11號AGC硬體規格令人震撼:
- 主記憶體(RAM)僅3840位元組(3.75KB);
- 唯讀記憶體(ROM)容量為69120位元組(67.5KB);
- 運算效能約為每秒8.5萬次指令;
- 機體尺寸達61.595 × 31.580 × 15.174公分,重量高達31.8公斤。
儘管如此,工程師仍以極致優化的演算法實現高精度軌道計算——例如導航模組中僅約30行yaYUL程式碼,便能完成正弦、餘弦等超越函數的快速高精度運算。
從DSKY到Outlook:技術進步下的反思
指令艙與登月艙各配備專用人機介面裝置DSKY(Display and Keyboard),以純數字鍵盤與七段顯示器操作整套系統。反觀今日,新一代「阿提米絲2號」(Artemis II)獵戶座飛船任務中,連微軟Outlook等商用軟體升級後竟出現太空環境運作異常——這份跨越半世紀的對照,不僅凸顯阿波羅時代工程智慧之非凡,亦提醒世人:真正的技術韌性,不在於堆疊參數,而在於對目標的絕對聚焦與對限制的創造性突破。
