[릴스 해설] 충전기보다 약한 컴퓨터로 달에 간 이유


한 줄 요약: 아폴로 유도 컴퓨터(AGC)는 약 1MHz·4KB 사양으로도 충분했다 — 고성능이 아니라 ‘절대 신뢰하는 전용 기계’ 설계와 손으로 짠 코어 로프 메모리가 달을 이뤘고, 그 로프를 다룬 엔지니어가 잭 블랙의 어머니 주디스 러브 코언이다.

최근 한 릴스가 화제가 되었습니다. ’스마트폰 충전기 칩셋보다 성능이 낮은 컴퓨터로 인류를 달에 착륙시켰다’는 아폴로 프로젝트 비하인드입니다. 여기에 반전 하나가 더해집니다. 아폴로 13호 승무원을 구한 유도 시스템 개발자가 출산 당일에도 문제를 풀었고, 그녀가 낳은 아이가 훗날 록스타 코미디언 잭 블랙이 되었다는 이야기입니다. 농담처럼 들리지만, 거의 모두 사실입니다. 그 안의 기술을 풀어 설명하겠습니다.

아폴로 유도 컴퓨터 (Apollo Guidance Computer, AGC)

아폴로 우주선을 이끈 컴퓨터입니다. 사양은 다음과 같습니다.

  • 클럭: 약 1MHz(현대 기준으로는 매우 느립니다)
  • RAM(작업 메모리): 2,048워드 × 16비트, 약 4KB
  • ROM(프로그램 저장): 36,864워드 × 16비트, 약 72KB(코어 로프 메모리)

현대 USB-C 충전기에 내장된 제어 칩(예: ARM Cortex-M0, 48MHz, 8KB SRAM)이 AGC보다 클럭은 약 48배, 작업 메모리는 2배 더 많습니다. 그래서 ’충전기보다 성능이 낮은 컴퓨터로 달에 갔다’는 비유가 틀린 말은 아닙니다. 다만 클럭이 곧 연산력을 의미하지는 않으며, AGC는 ’범용 컴퓨터’가 아니라 ’달 착륙에 필요한 작업만 극단적으로 신뢰성 있게 처리’하도록 설계된 전용 기기였습니다.

코어 로프 메모리 (Core rope memory): 소프트웨어를 손으로 짜다

릴스에서 ’실물 전선을 손으로 엮어 만든 물리적 롬’이라고 언급한 것이 바로 이것입니다. AGC의 프로그램(ROM)은 코어 로프 메모리라는 방식으로 저장되었습니다. 자기 코어(작은 링) 여러 개에 전선을 통과시키느냐 우회하느냐에 따라 0과 1을 표현합니다. 전선이 코어를 지나면 1, 지나지 않으면 0입니다. 즉 소프트웨어를 ’물리적인 선의 경로’로 짜는 것입니다.

흥미로운 점은 이 작업을 공장의 여성 작업자들이 손으로 직접 엮었다는 사실입니다. 프로그래머들은 ’LOL memory(Little Old Lady memory, 할머니 메모리)’라는 별명을 붙였습니다. 모듈 하나가 공장을 떠나면, 내용을 변경하는 것은 오늘날의 ’업데이트’와 달리 물리적으로 다시 엮어야 하는 작업이었습니다.

참고: AGC의 4KB 작업 메모리(RAM)는 코어 로프와 다른 자기 코어 메모리(magnetic-core memory)였습니다. 프로그램(ROM)은 로프, 작업 데이터(RAM)는 자기 코더라는 서로 다른 역할을 담당했습니다.

천공카드와 수동 계산자: 사람이 검증하던 시대

코드는 천공카드(punch card)에 담겨 한 줄씩 검수되었습니다. 그리고 컴퓨터가 고장 날 경우를 대비하여 대신 사용할 수동 계산자(slide rule, 슬라이드 룰)도 준비했습니다. ’기계가 틀리면 사람이 계산한다’는 이중 안전망이었습니다. 하드웨어 성능이 빈약한 대신, 사람의 검증과 백업으로 신뢰성을 채운 구조입니다.

중단 유도 시스템 (Abort Guidance System, AGS): 잭 블랙 어머니의 작품

달 착륙선(LEM)에는 주 유도 컴퓨터(AGC) 외에, 비상용 중단 유도 시스템(AGS)이라는 더 단순한 백업 컴퓨터가 별도로 있었습니다. 이 AGS 개발의 핵심 인물이 Judith Love Cohen입니다.

아폴로 13호 사고 당시 사령·서비스 모듈이 손상되자 승무원은 달 착륙선을 ’구명정’으로 사용했습니다. 그런데 주 유도장치는 냉각수를 너무 많이 소모하여, 귀환 경로의 대부분은 AGS가 유도를 담당했고 결국 승무원을 무사히 돌려보냈습니다. USA Today와 위키백과 모두 ’AGS가 아폴로 13호 귀환에 결정적 역할을 했다’고 확인합니다. 릴스의 ’AGS가 아폴로 13호를 구했다’는 과장이 아니었습니다.

잭 블랙과 그 어머니: 그 반전은 사실이다

Cohen은 1969년에 넷째 아이를 낳았습니다. 아들의 추모 글에 따르면, 출산 당일에도 사무실에 나가 일하다가, 병원에 가면서 풀고 있던 문제의 컴퓨터 출력물을 챙겨 갔다고 합니다. 그날 문제를 풀고 상사에게 전화로 ’해결했다’고 보고한 뒤 아이를 낳았고, 그 아이가 훗날 배우이자 뮤지션인 잭 블랙이 되었습니다. 릴스의 ’우주급 태교를 받았으니 천재 과학자가 태어날 줄 알았는데 록스타가 됐다’는 농담은, 실제로 Cohen의 동료들이 ’이 아이는 우주를 품고 태어났다’며 농담했던 데서 비롯된 이야기입니다.

신뢰성이 원래 목적이었다

한 가지 더. 아폴로 임무 중 AGC가 하드웨어 고장으로 실패한 적은 없었습니다. 아폴로 11호 착륙 때 1201/1202 경보(작업이 몰려 재시작)가 발생한 적은 있지만, 컴퓨터는 우선순위가 높은 유도와 제어 작업만 살려두고 나머지는 버리는 방식으로 위기를 넘겼습니다. ’느리고 작다’보다 ’절대 멈추지 않는다’가 이 기계의 진짜 설계 목표였습니다.

어떻게 연결되는가

한 줄로 요약하면: 약 1MHz와 4KB 사양의 컴퓨터(AGC)를 ’절대 신뢰할 수 있는 전용 기계’로 만들고, 프로그램은 손으로 짠 코어 로프 메모리에 저장하고, 검증은 천공카드와 수동 계산으로 수행하고, 비상은 AGS로 대비한 뒤 사람을 달에 보낸 프로젝트입니다. ’충전기보다 성능이 낮은 컴퓨터’라는 농담 아래에는, 제한된 하드웨어를 한 치의 오차도 없게 만든 엔지니어링과 출산 당일에도 문제를 풀던 한 여성 엔지니어의 이야기가 있었습니다. 그리고 그 엔지니어가 낳은 아이가 잭 블랙이라는 반전까지. 기술의 한계를 사람이 채운 이야기, 그 자체입니다.

출처: 위키백과: Judith Love Cohen · 위키백과: Core rope memory · USC Viterbi 추모 글(Neil Siegel) · USA Today 팩트체크(2021) · ScienceBlog: AGC. 릴스 내용은 사실로 확인됨(정정 사항 없음).