본문 바로가기

댓글0
번역beta

Translated by kakao i

번역할 언어 선택

뷰 본문

한국항공우주연구원

이 실뭉치가 컴퓨터 메모리라고?

17,066 읽음
댓글0
번역beta

Translated by kakao i

번역할 언어 선택
이게 뭐게?
심심이
심심이
너 요새 십자수 배우냐?
ㅋㅋ 이게 사람을 달에 보낼려고 만들어본 컴퓨터 메모리야.
심심이
심심이
불몽둥이
심심이
심심이
그게 메모리면 내가 손흥민이다...

이 실뭉치같이 보이는 것이 달에 가려고 만들어 본 컴퓨터 메모리(프로토 타입)라고 하는데 믿어지시나요?

출처ⓒ computerhistory.org

'바느질'같이 보이는 위 화면은 사실 "메모리를 제작하고 데이터를 기록하는 과정"에 대해 시범을 보이고 있는 모습입니다. (영상은 최하단에 링크되어 있습니다.)

출처MIT 유튜브 채널 "From the Vault of MIT" 업로드 영상 "Computer for Apollo" 화면 캡처

이 메모리는 바느질에 능숙한 미국 할머님들의 손에 의해 만들어졌는데요. "Little Old Lady" memory를 줄어 "LOL 메모리"라고도 불렸다고 합니다.

출처ⓒ hrst.mit.edu

현대와 비교해 봤을 때 복장서부터 장비까지 정말 많은 차이가 납니다.

출처ⓒ hrst.mit.edu, unsplash.com

바느질이 끝나면 차곡차곡 접어서 사진과 같은 모듈 트레이에 집어넣는데 이 모듈 안에 들어간 와이어의 총 길이는 0.5마일, 약 800m나 되었다고 하니 축구장 두 바퀴를 돌고도 남는 길이입니다.

출처ⓒ MIT 유튜브 채널 "From the Vault of MIT" 업로드 영상 "Computer for Apollo" 화면 캡처

이런 식의 "바느질 메모리"는 대형 냉장고 크기 정도로 만들어야 2.5Mbyte를 저장할 수 있었다고 하는데요.

출처ⓒ pexels.com

요새 흔히 쓰는 32기가 SD카드 정도의 데이터를 담으려면 바닥면적 200평의 10층 건물을 메모리로 채워야 가능합니다. 요새 메모리들의 집적수준이 어마어마하게 발전했다는 것을 알 수 있습니다.

'실뭉치 바느질 메모리'는 어떻게 데이터를 저장했을까요?

잘 아시는 것처럼 디지털 데이터는 "있다", "없다" 즉 1과 0의 조합입니다. 과거부터 지금까지 디지털 저장매체들은 0과 1을 어떻게 저장하느냐 방식의 차이가 있었을 뿐이죠.

제작 과정을 잘 보면 일단 기본 판에 도넛 모양의 코어를 넣고 특정 코어에만 와이어를 통과시키는 식으로 바느질을 하고 있습니다.

출처MIT 유튜브 채널 "From the Vault of MIT" 업로드 영상 "Computer for Apollo" 화면 캡처

즉 와이어의 코어 통과 여부로 0과 1의 조합을 저장하는 것이죠.

이런 방식의 메모리를
"코어 로프 메모리"라고 합니다.

당연하게도 이런 메모리는 '읽기 전용'입니다. 완성된 메모리의 데이터를 수정할 수 없죠. 

사람이 특정 코어에 한 땀, 한 땀 바느질한 것이기 때문에 배선을 바꾸려면 뜯어내어 다시 만들어야 합니다. 한 번 출고되고 나면 끝, 최신 패치나 업데이트는 불가능하죠.

능숙한 미국 할머님들께도 메모리 '바느질'작업은 수개월이 걸리는 일이었습니다. 일단 프로그래머가 코딩을 하고 어느 위치에 바느질이 되어야 하는지 잘 정리해서 넘기면 그대로 수개월이 걸려 바느질이 되는 방식이었기 때문에 프로그래머들은 바느질 소요시간을 고려해 한참 전에 코딩을 끝내야 했습니다.

매우 바쁨

게다가 이 메모리는 출고 이후에 수정도 안되니 오류 없이 완벽한 프로그래밍이 필요했다고 합니다. 프로그래밍 업계엔 '코딩이 2할이면 디버깅은 8할', '버그가 없는 프로그램은 없다.', '한 번에 돌아가는 프로그램은 없다'라는 말이 있을 정도로 디버깅하며 프로그램을 완성하는 게 일반적인 방식인 점을 떠올려보면 그 시절 프로그래머의 삶도 녹녹치 않았을 것 같다는 생각이 듭니다.

아래 링크의 동영상에서 '실뭉치 바느질 메모리'의 제작과정을 보실 수 있습니다!

작성자 정보

한국항공우주연구원

    실시간 인기