누가 지금과 같은 형태의 컴퓨터를 처음 만들었을까? 컴퓨터는 세계 2차 대전 이후, 여러 나라에서 개발을 시도했지만, 처음으로 이론적 모델을 제시한 사람은 영국의 수학자 앨런 튜링이다.
그는 1937년에 발표한 “On Computable Numbers, with an Application to the Entscheidungsproblem“논문에서 튜링 기계(Turing Machine)을 소개하였다. 이는 표에 정의된 각 기호의 규칙대로 긴 테이프에 적힌 기호를 처리하는 추상 장치였는데, 컴퓨터에 대한 수학적 모델을 정의한 것이다[1]. 여기서 튜링 머신에 입력되는 기호가 적인 테이프를 소프트웨어라고 볼 수 있다.
이후 앨런 튜링은 세계 2차대전 동안, 독일 암호문을 해독하는 Bombe라는 장치를 만들어 연합군 승리에 큰 기여를 한다[2]. 이처럼, 2차 대전 기간에 만들어진 컴퓨터는 특정 목적에서만 사용되었으나, 전쟁이 끝나갈 무렵 미국에서는 다용도 컴퓨터인 에니악(ENIAC)을 만들기 시작했다. 에니악은 펜실베니아 대학 존 에커트와 존 모클리 교수팀이 1943년 부터 개발을 시작하여 1946년에 완성하였다. 이후, 미군에 배치되어 미사일 탄도 계산을 위해 사용되었다. 프로그래밍 방식이 지금과 아주 다른데, 일일히 배선을 연결해서 코딩을 해야 했고, 다른 프로그램을 실행하려면 배선판을 바꿔야 했다. 게다가 무게는 30톤이였으며, 18000개의 진공관을 사용했기 때문에 200KW의 전기를 소모해야만 했다[3].
이후, 에니악을 만들었던 팀은 1944년 부터 세계 최초로 프로그램 내장 방식인 에드박(EDVAC) 개발 시작하여 1949년 미군 탄도 연구소(ballistic research laboratory)에 납품한다. 폰 노이만은 컨설턴트로 개발에 참여하여 1945년 First Draft of a Report on the EDVAC 보고서를 작성하는데, 여기서 같은 메모리에 프로그램과 데이터가 저장되는 컴퓨터 구조를 제안한다.
지금도 모든 컴퓨터는 이와 같은 컴퓨터 구조를 사용하고 있고, 이를 폰노이만 구조라고 부른다.
그림에서 볼 수 있듯이, 폰노이만 구조는 크게 CPU, 메모리, 입출력 장치로 구성되어 있으며, CPU안에는 산술/논리장치, 프로세서 레지스터를 포함하고 있는 처리 장치(Processing Unit)와 명령어 레지스터와 프로그램 카운터를 포함하는 제어장치로 구성된다. 메모리는 데이터와 명령어를 함께 저장할 수 있다.
영국은 뒤늦게 미국에서 만든 에드박과 폰노이만이 작성한 보고서에 관해 알게 되었다.
그리고, 앨런 튜링에게 에드박과 같은 프로그램 내장 방식의 컴퓨터 개발을 주문했다. 알랜 튜링은 1945년 부터 국립 물리학 연구소에서 ACE(Automatic Computing Engine)라는 프로그램 내장형 컴퓨터를 개발하면서 자신이 생각한 튜링 머신을 실제 구현해볼 수 있는 기회를 갖게 되었다.
1946년 공개된 그의 논문을 보면 비록 폰노이만의 에드박 보고서 보다 늦게 작성되었지만, 프로그램 내장 방식 컴퓨터에 대한 자세한 설계가 담겨져 있다. 게다가 하드웨어는 최소한으로 구성하고 산술명령 조차 소프트웨어로 구현하도록 설계되어 있어 오늘날 RISC 방식의 CPU와 같은 설계 철학을 갖고 있었다.하지만, 예산 집행이 늦어져서 1947년 케임브리지 대학으로 돌아왔다[4].
결국, 케임브리지대학 수학 연구소는 앨런 튜링이 설계한 방식 보다 이미 검증된 폰노이만 방식으로 에드삭(EDSAC)이라는 컴퓨터를 개발하고 1949년 처음 사용하게 된다.
실제 내장형 컴퓨터에 대한 아이디어와 설계는 앨런 튜링은 앞섰지만, 실제 구현은 미국이 주도하게 된 것이다. 사실, 앨런 튜링은 1936년 부터 2년간 미국 프린스톤 대학에서 공부를 했는데, 이때 수학과에 폰노이만 교수도 있었고, EDVAC을 만들 때, 튜링의 논문을 읽은 것으로 전해진다. 컴퓨터 설계에 대한 기본적인 아이디어는 튜링 논문으로 부터 얻은 것이다. 물론, 그런 내용은 그의 보고서에 언급되지 않았다.,
사실, 영국은 세계 2차 대전 중에 독일 군 암호 해독을 위해 먼저 에니악과 같은 범용 컴퓨터를 만들었으나 기밀 보호를 위해 전쟁이 끝난 후, 모든 폐기처분 하여 그 기술을 잘 발전시키지 못했다. 독일도 마찬가지로 2차 대전 중에 컴퓨터를 만들었지만, 전쟁에 졌기 때문에 계속 연구를 지속할 수 없었다.
하지만, 미국은 폰노이만 같은 이민자들이 초기 컴퓨터 개발에 많은 공헌을 하였고, 컴퓨터를 상업적으로 계속 발전시켜 컴퓨터 시대를 먼저 열게 되었다.
- [1] https://ko.wikipedia.org/wiki/튜링_기계
- [2] https://ko.wikipedia.org/wiki/앨런_튜링
- [3] https://ko.wikipedia.org/wiki/컴퓨터의_역사
- [4] The universal computer, p.167~168, CRC press, 2012