개념 풀이
계산기는 어떻게 컴퓨터가 되었나 — 무엇이든 되는 기계
계산기는 더하기를 하는 기계입니다. 컴퓨터는 무엇을 하는 기계일까요. 정답은 '정해져 있지 않다'입니다. 컴퓨터를 만든 결정적 발명은 부품이 아니라 생각 하나였습니다 — 명령도 데이터처럼 넣었다 뺄 수 있다는 것.
지금까지 만난 재료를 늘어놓아 봅시다. 스위치(1편), 스위치에 담는 숫자(2편), 숫자로 된 명령(3편). 그런데 이 재료들만으로는 아직 '무엇이든 되는 기계'가 안 나옵니다. 결정적인 생각이 두 개 더 필요했습니다. 둘 다 부품이 아니라 종이 위에서 나왔습니다.
종이 위의 기계 — 하나면 충분하다
1936년, 영국의 한 젊은 수학자가 이상한 기계를 상상합니다. 긴 종이띠에 적힌 기호를 읽고, 규칙표에 따라 지우고 쓰고 옆 칸으로 움직이는, 그게 전부인 기계입니다. 실제로 만들지도 않았습니다. 머릿속 기계였습니다.
그런데 그는 이 단순한 기계로 놀라운 것을 증명합니다. 규칙표만 바꿔주면 이 기계 하나가 다른 어떤 계산 기계든 흉내 낼 수 있다는 것입니다. 더하는 기계의 규칙표를 주면 더하는 기계가 되고, 암호 푸는 기계의 규칙표를 주면 암호 푸는 기계가 됩니다.
같은 사람이 이 기계로 '계산할 수 없는 문제도 있는가'라는 더 깊은 물음까지 파고들었고, 몇 년 뒤에는 전쟁 한복판에서 암호 깨는 기계를 실제로 만드는 일에 뛰어듭니다.
규칙표를 기계 안에 넣다
초기의 전자 계산 기계들은 만능과는 거리가 멀었습니다. 일을 바꾸려면 사람이 며칠씩 전선을 뽑아서 다시 꽂아야 했습니다. 규칙표가 기계 바깥에, 배선 그 자체로 있었던 셈입니다.
1940년대 후반에 나온 다음 생각이 이 판을 끝냅니다. 명령도 어차피 숫자다(3편). 숫자는 기계 안에 저장할 수 있다(2편). 그렇다면 명령을 데이터와 같은 곳에 저장하면 되지 않는가.
이러면 일을 바꾸는 것이 전선 작업이 아니라 그냥 다른 숫자 뭉치를 읽어 들이는 일이 됩니다. 규칙표를 갈아 끼우는 데 며칠이 아니라 한순간이면 됩니다. 이 설계를 정리한 문서에 이름이 올라 있던 수학자의 이름을 따서, 지금도 거의 모든 컴퓨터가 이 방식을 씁니다.
여기부터 조금 더
만능의 값
명령과 데이터가 같은 곳에 산다는 것에는 값이 하나 붙어 있습니다. 데이터인 척 들어온 것이 명령 행세를 할 수 있다는 것. 컴퓨터 바이러스가 가능한 이유가 바로 이 설계에 있습니다. 만능의 문은 아무에게나 열립니다.
그래도 이 거래는 남는 장사였습니다. 용도가 정해진 기계는 그 용도가 끝나면 고철이 되지만, 정해지지 않은 기계는 다음 세대가 새 규칙표를 쓰는 만큼 계속 새 기계가 됩니다. 70년 전의 설계가 아직 현역인 이유입니다.
1편의 이야기가 여기서 완성됩니다. 스위치를 작게 만든 역사가 컴퓨터의 절반이라면, 나머지 절반은 기계에서 용도를 떼어낸 생각입니다.
이제 재료와 설계가 다 모였습니다. 그럼 두목님이 화면을 한 번 누르는 그 순간, 이 만능 기계 안에서는 실제로 무슨 일이 벌어질까요. 다음 편은 클릭 한 번을 따라 들어갑니다.
남은 질문프로그램만 갈아 끼우면 무엇이든 되는 기계 — 그렇다면 '컴퓨터'라는 것은 물건일까요, 약속일까요?