아마도 과거에 분명 컴퓨터의 역사에 관한 책도 봤을 터인데 왠지 전혀 모르고 있던 1960년대 아폴로 계획에서 사용된 메모리에 대해 알게 되었습니다.
아래 링크의 Youtube로부터 시작하여 몇 개를 보게 되었는데, 컴퓨터와 우주에 관심이 있다면 한번 볼 만하다는 생각이 듭니다. 요즘 자동 자막 생성은 물론이고 한국어로의 번역도 가능하게 되어서 한글로도 자막을 볼 수 있습니다.
MIT Science Reporter - Computer for Apollo (1965) 비디오는 달 착륙에 대비하여 엄청난 자원을 쏟아 붇던 시기에 아폴로 가이던스와 네비게이션 장치에 대한 내용(Youtube 링크)이 나옵니다.
위 Youtube에도 잠시 나오지만, 당시의 ROM과 RAM에는 코어 메모리라는 기술이 사용되었다고 합니다. RAM의 경우 1비트를 저장하기 위하여 페라이트 코어에 전류를 흘려서 반지 모양의 코어를 자화 시킨 후 나중에 읽는 방식인데, 작동 원리에 대해 자세히 소개한 Youtube가 있습니다.
아폴로 계획에 이용되었던 새턴 V 로켓에 장착된 컴퓨터에도 당연히 위와 같은 코어 메모리가 사용되었다고 합니다. 당시에 트랜지스터도 있었는데, 장착 방식이 현재 BGA칩에 사용하는 것과 비슷하다고 하네요. 이 Youtube비디오에서 상세히 설명하고 있습니다.
The Computer that Controlled the Saturn V (Behind the Scenes ft Linus Tech Tips) - Smarter Every Day 비디오에 출연한 분은 실제 과거에 IBM에 근무하면서 새턴 V 로켓 프로젝트에 참여하셨다고 하는데, 아직까지도 로켓의 세세한 부분들을 숫자까지 기억하고 있는 살아있는 전설이셨습니다. 아폴로/새턴 V 센터(다른 분 티스토리)는 한번 가보고 싶네요.
어쨌든 RAM으로 사용된 코어 메모리의 경우 읽고 쓰기가 가능해야 했으므로, 주소 할당을 위한 와이어, 읽고 쓰기 위한 와이어가 교차했고 특정 비트 이외에는 지워지지 않도록 하는 금지 와이어도 지나갔다고 합니다. 상세한 것은 CuriousMarc의 Youtube 채널에서 볼 수 있는데 실제 아폴로 계획에 이용되었던 가이던스 컴퓨터를 복원하여 작동까지 시키는 프로젝트도 소개하고 있습니다.
이러한 마그네틱 코어 메모리(magnetic core memory)는 1950년대 초에 MIT에서 개발된 후 IBM에서 상용화했다고 합니다.
이제는 ROM이 있어야 할 터인데, 고정 로프 메모리(fixed rope memory)는 읽기만 하면 되므로 자화된 마그네틱 코어 안으로 들어가게 바느질(?)을 하거나 바깥으로 가게 하여 비트 값을 결정했다고 합니다.
저도 과거에 8비트 어셈블리를 잠시 작성한 적이 있었고, 모토롤라 68K에서 C로 코딩할 때에도 RAM이 있었지만 지금처럼 풍족하지 않아서 메모리 아끼느라 신경 썼던 기억이 납니다. 하지만, 달로 우주선을 보내는데도 저렇게 비트 단위로 만들어진 기억 장치를 사용하였다니 참으로 대단한 사람들이었다는 생각이 듭니다.
당시에 미국 소련 간의 경쟁으로 막대한 인원과 비용을 넣지 않았다면 달 착륙 같은 것은 꿈도 꾸지 못할 시대였겠다는 생각이 듭니다.
거의 모든 내용을 정리하여 30분만에 설명 ㄷㄷ한 비디오입니다.
The Computer That Got Us to the Moon - The Apollo Guidance Computer - YouTube