핵심 답변: 아폴로 11호의 아폴로 유도 컴퓨터는 현대 스마트폰보다 연산량과 메모리가 압도적으로 작았지만, 단순한 계산기였던 것은 아니다. 2,048단어의 가변 메모리와 36,864단어의 고정 메모리 안에서 우선순위 기반 운영체제와 검증된 항법 소프트웨어를 실행해 달 착륙 임무를 완수한 실시간 제어 컴퓨터였다.

아폴로 11호 컴퓨터는 하나였을까
아폴로 11호에는 한 종류의 컴퓨터만 있었던 것이 아니다. 지휘·기계선과 달착륙선에는 각각 MIT 계측연구소가 설계한 아폴로 유도 컴퓨터(AGC)가 있었고, 달착륙선에는 비상 시 귀환을 돕는 별도의 중단 유도 시스템도 있었다. 지상의 대형 컴퓨터와 관제망도 궤도 계산과 임무 판단을 지원했다. 따라서 ‘손목시계보다 약한 컴퓨터 하나로 달에 갔다’는 표현은 탑재 AGC의 소형화를 강조하지만 전체 시스템을 지나치게 단순화한다.
AGC는 비행기의 자동조종장치처럼 센서와 우주선 장치를 실시간으로 연결했다. 관성측정장치와 광학 관측값을 받아 위치와 속도를 계산하고, 엔진 점화와 자세 제어 명령을 내며, 우주비행사가 DSKY라는 표시·키보드 장치를 통해 프로그램과 데이터를 입력하도록 했다. 현대 스마트폰은 통신, 카메라, 그래픽, 웹, 인공지능 등 수많은 작업을 동시에 처리하는 범용 소비자 기기다. 둘의 숫자를 직접 나누는 것만으로 설계 우열을 판단할 수 없는 이유다.
공식 문서로 본 Block II AGC의 실제 사양
NASA 기술보고서에 실린 Block II AGC 특성은 16비트 단어를 사용하되 15비트가 정보, 1비트가 패리티였다고 설명한다. 고정 메모리는 36,864단어, 지우고 다시 쓸 수 있는 가변 메모리는 2,048단어였다. 메모리 주기는 약 11.7마이크로초, 덧셈은 약 23.4마이크로초였고 정상 명령 수행률은 약 초당 4만 회로 제시된다. 기본 발진 주파수 2.048MHz를 오늘날 CPU의 클럭과 그대로 비교해 ‘2백만 연산/초’라고 읽으면 안 된다. 한 명령은 여러 클럭과 메모리 주기를 사용하기 때문이다.
‘RAM 64KB, 저장공간 72KB’라는 원문 수치도 정확하지 않다. 2,048개의 16비트 단어를 단순 환산하면 물리 저장량은 약 4KiB이고, 36,864단어는 약 72KiB다. 그러나 1비트는 패리티이고 데이터 표현도 현대 바이트 주소 방식과 다르므로 RAM 4KB라고만 쓰는 것 역시 완전한 설명은 아니다. 가장 안전한 표기는 문서 그대로 ‘2,048단어의 가변 코어 메모리와 36,864단어의 고정 코어로프 메모리’다.
AGC와 현대 스마트폰 비교
| 항목 | 아폴로 유도 컴퓨터 | 현대 스마트폰 | 해석할 때 주의점 |
|---|---|---|---|
| 주요 목적 | 항법·유도·우주선 실시간 제어 | 통신·미디어·앱·센서·범용 계산 | 임무 범위가 전혀 다름 |
| 연산 | 약 4만 명령/초, 고정소수점 중심 | 다중 코어 CPU·GPU로 초당 수십억 회 이상 규모 | 명령 종류와 병렬성이 달라 단순 배수는 부정확 |
| 가변 메모리 | 2,048개의 16비트 단어 | 보통 수 GB | 단어 구조와 주소 방식이 다름 |
| 프로그램 메모리 | 36,864단어 코어로프 읽기 전용 메모리 | 보통 수십~수백 GB 플래시 | AGC 프로그램은 물리적으로 배선됨 |
| 실패 대응 | 우선순위 작업, 재시작 보호, 단순하고 검증된 구조 | 격리·보안·앱 복구 등 복잡한 운영체제 기능 | AGC는 임무 필수 작업을 먼저 보장 |
코어 메모리와 코어로프는 어떻게 작동했나
가변 메모리는 작은 자성 코어의 자화 방향으로 비트를 저장했다. 전원이 꺼져도 상태가 남고 우주 환경에서 신뢰성이 높았지만 용량을 늘이기 어렵고 제작 비용이 컸다. 고정 메모리인 코어로프는 프로그램 정보에 따라 도선을 자성 코어를 통과시키거나 우회하게 배선했다. 오늘날 플래시에 파일을 복사하는 것과 달리 프로그램을 바꾸려면 제조 공정을 다시 거쳐야 했다.
이 제약은 소프트웨어 개발 방식에도 영향을 줬다. 명령과 데이터를 치밀하게 배치하고, 여러 프로그램이 같은 작은 가변 메모리를 나눠 쓰며, 계산 오차를 예측할 수 있는 고정소수점 산술을 사용했다. 반대로 스마트폰은 방대한 메모리, 가상 메모리, 고급 언어, 무선 업데이트를 활용하지만 그만큼 운영체제와 앱 계층이 훨씬 복잡하다.
실제 사례: 달 착륙 중 1201·1202 경보
1969년 7월 20일 달착륙선 이글이 하강하던 중 AGC는 1201과 1202 프로그램 경보를 냈다. 랑데부 레이더 관련 신호가 예상보다 많은 컴퓨터 시간을 사용하면서 작업 처리 능력을 넘긴 것이 원인이었다. 중요한 점은 컴퓨터가 무작정 멈추지 않았다는 사실이다. 우선순위가 낮은 작업을 버리고 핵심 유도·제어 작업을 다시 시작해 계속 수행했다.
관제팀은 경보의 의미가 ‘중요한 작업을 유지한 채 과부하에서 회복 중’임을 알고 착륙 계속을 승인했다. 이 사건은 작은 컴퓨터가 운 좋게 버틴 이야기가 아니라 우선순위 실행, 재시작 보호, 지상 시험과 사람의 판단이 결합된 사례다. 화면 갱신 같은 비필수 작업보다 자세 계산과 엔진 제어를 우선하도록 설계했기 때문에 제한된 자원을 임무에 맞게 쓸 수 있었다.
스마트폰이 훨씬 빠른데 왜 그 자체로 우주선 컴퓨터가 아닌가
스마트폰 프로세서의 연산 성능과 메모리는 AGC를 압도한다. 그러나 우주선용 컴퓨터에는 방사선에 의한 비트 오류, 극심한 온도와 진동, 예측 가능한 응답 시간, 장기간 부품 공급, 인증 가능성이 중요하다. 가장 빠른 칩보다 언제나 같은 입력에 정해진 시간 안에 반응하고 고장 상태가 분석 가능한 시스템이 더 적합할 수 있다.
AGC도 무오류 장치는 아니었다. 하드웨어, 소프트웨어, 센서, 승무원 절차, 지상 관제라는 여러 층이 서로 보완했다. 오늘날 우주 컴퓨터는 더 강력하지만 여전히 이중화, 오류 검출·정정, 감시 타이머, 방사선 내성 설계와 엄격한 시험을 사용한다. 아폴로의 교훈은 ‘적은 성능으로 무엇이든 가능하다’가 아니라 ‘목표에 맞춘 시스템 공학이 최고 사양보다 중요할 수 있다’는 것이다.
오해하기 쉬운 점
- 0.043MHz 컴퓨터였다는 주장은 부정확하다. AGC의 기본 발진은 2.048MHz였고 메모리 주기와 명령 시간은 별도로 계산해야 한다.
- 스마트폰 충전기보다 약했다는 말은 성능 지표가 아니다. 전력 소비와 연산 능력은 다른 개념이며, AGC 시스템은 수십 와트 규모에서 신뢰성 있게 동작하도록 설계됐다.
- 달 착륙을 AGC 혼자 계산한 것은 아니다. 탑재 컴퓨터 두 대, 비상 시스템, 센서, 승무원, 지상 관제와 계산 시설이 하나의 임무 체계를 이뤘다.
- 경보는 실패가 아니라 보호 기능의 작동이었다. 과부하 원인은 문제였지만 우선순위 재시작 설계가 핵심 기능을 살렸다.
활용과 한계
AGC 사례는 임베디드 소프트웨어, 자동차 제어, 의료기기, 산업 자동화에서 요구사항 우선순위와 자원 예산을 설계하는 좋은 교재다. 모든 기능을 넣기보다 실패했을 때 반드시 살아남아야 할 기능을 먼저 정하고, 최악의 실행 시간을 시험해야 한다. 다만 AGC의 수치를 현대 장치와 1대1로 비교해 ‘스마트폰이 몇 백만 배’라고 단정하는 데에는 한계가 있다. CPU 명령 집합, 병렬 처리, 메모리 계층, 그래픽 연산과 목적이 달라 하나의 정확한 배수로 환산할 수 없기 때문이다.
자주 묻는 질문
아폴로 11호에는 AGC가 몇 대 있었나요?
지휘·기계선과 달착륙선에 각각 한 대가 있었다. 달착륙선에는 AGC와 별개인 중단 유도 시스템도 있었고 지상 관제 컴퓨터가 임무를 지원했다.
AGC의 RAM은 2KB인가요, 4KB인가요?
공식 단위는 2,048개의 16비트 가변 메모리 단어다. 물리 비트 수를 현대식으로 환산하면 약 4KiB지만 패리티와 단어 구조가 달라 단순히 ‘4KB RAM’이라고만 하면 정보가 빠진다.
프로그램은 어떻게 업데이트했나요?
비행용 프로그램은 도선 패턴으로 만든 코어로프 메모리에 저장돼 막판 수정이 매우 어려웠다. 일부 값과 절차는 가변 메모리나 승무원 입력으로 다룰 수 있었지만 스마트폰처럼 무선으로 앱을 갱신할 수는 없었다.
1202 경보가 다시 났다면 착륙을 중단했을까요?
경보의 빈도와 다른 계기 상태에 따라 판단했을 것이다. 당시 관제팀은 경보가 회복 가능한 과부하임을 확인하고 계속하라고 했으며, 핵심 유도 작업이 유지되는지가 판단의 중심이었다.
결론
아폴로 유도 컴퓨터는 스마트폰보다 ‘성능이 낮은 옛 컴퓨터’이면서 동시에 실시간 제어와 장애 회복을 치밀하게 구현한 선구적 시스템이었다. 2,048단어 가변 메모리와 약 4만 명령/초라는 제약은 약점이었지만, 임무를 좁히고 우선순위를 명확히 한 소프트웨어가 이를 보완했다. 비교의 핵심은 클럭 숫자가 아니라 제한된 자원을 안전에 맞게 배분한 설계다.
성능 비교에는 어떤 지표가 적합할까
클럭은 회로의 박자이고 실제 작업량은 명령당 필요한 주기, 메모리 대기, 병렬 코어 수와 소프트웨어에 따라 달라진다. AGC의 덧셈 시간과 정상 명령률은 해당 구조의 실제 능력을 보여 주는 편이지만, 현대 스마트폰의 부동소수점·그래픽·신경망 연산과는 같은 종류의 시험이 아니다. 메모리도 단어 수, 정보 비트, 읽기·쓰기 가능 여부를 함께 밝혀야 한다.
따라서 가장 유익한 비교는 ‘어느 쪽이 몇 배 빠른가’보다 주어진 자원으로 어떤 마감시간과 신뢰성 요구를 충족했는지 보는 것이다. AGC는 사람이 기다려도 되는 앱 응답이 아니라 엔진과 자세 제어의 정해진 시한을 지켜야 했다. 스마트폰은 훨씬 많은 작업을 처리하지만 한 앱이 잠시 멈춘다고 곧바로 비행 안전을 잃지는 않는다.
공식 출처
- NASA 기술보고서: Apollo Guidance Computer 특성과 명령 수행률
- NASA Apollo 11 Lunar Surface Journal: 프로그램 경보와 우선순위 실행
- NASA 계약보고서: Apollo Guidance Computer의 신뢰성 역사

