컴퓨터의 역사 3

디지털 컴퓨터: 전기 발명 이후의 컴퓨터

디지털 컴퓨팅 시대의 서막

현대적 의미의 컴퓨터, 즉 디지털 컴퓨터는 1904년 진공관(vacuum tube)의 발명에서 시작된다고 해도 과언이 아니다. 진공관 전류의 흐름으로 논리회로를 구성한 방식은 오늘날 컴퓨터의 이진법 체계로 이어지고 있다. 이와 동시에 제2차 세계 대전 중 독일의 암호장치 에니그마를 해독하기 위한 영국의 콜로서스는 대량의 정보를 전자적으로 처리한 최초의 장치 가운데 하나로, 현대 컴퓨터의 중요한 선구자로 평가된다. 1947년 미국의 벨 연구소에서 진공관의 한계를 극복한 트랜지스터가 발명되면서 컴퓨터는 더 작고 빠른 장치로 발전하게 된다.

아타나소프-베리와 하버드 마크 I

1940년대 초반, 컴퓨터는 아직 실험실 속 개념에 가까운 존재였다. 이러한 시기에 등장한 아타나소프-베리 컴퓨터(ABC: Atanasoff-Berry Computer, 1939)와 하버드 마트 I은 현대 컴퓨터로 나아가는 중요한 이정표가 되었다.

아나타소프-베리 컴퓨터

미국 아이오와 주립대의 존 빈센트 아타나소프(John Vincent Atanasoff) 교수와 그의 제자 클리포드 베리(Clifford Berry)가 세계 최초로 진공관을 이용한 전자식 컴퓨터를 개발했다.

280개의 진공관을 연결해 그 무게가 320kg에 달했고 1.6km 이상의 케이블이 사용되었다. 실용성보다는 프로토타입 수준의 실험적 의미가 큰 장치로 컴퓨터라기 보다는 전자계산기에 불과하다고 보기도 한다. 그러나 이진법을 이용한 계산 방식, 톱니 바퀴 같은 기계적 장치 없이 온전히 전자적 방식으로 연산 처리, 연산부와 저장부가 분리된 구조 등은 오늘날의 컴퓨터 개념을 최초로 구현했다는 의의를 지닌다.

하버드 마크I

1937년 하버드 대학교의 에이킨(Howard Aiken) 교수는 배비지의 차분기관을 토대로 전자식 계산기(ASCC: Automatic Sequence Control Calculator) 개발에 착수했다. 당시 그는 차분기관의 해석기 설정이 복잡하다는 점을 극복하고자 디지털 방식을 적용하여 자동으로 계산을 수행할 수 있는 장치를 개발하고자 했었다. 즉, 원하는 순서대로 계산이 자동적으로 수행될 수 있는 장치를 원했던 것이다.

그 후, 1944년 IBM과 합작하여 마크 I을 완성했다. 23자리 숫자의 덧셈, 뺄셈을 0.3초에, 곱셈을 6초에, 나눗셈을 11.4초에 수행할 수 있었지만, 75,000개의 부품으로 구성된 길이 15m, 무게 5t, 전선 800km가 소요되는 거대한 장치였다.

콜로서스

제2차 세계대전은 컴퓨터 기술의 발전을 크게 앞당겼다. 독일군의 암호 체계를 해독하기 위해 영국에서 개발된 콜로서스는 수천 개의 진공관에 연결된 스위치와 플러그를 이용해 프로그램을 구현하도록 개발되었다. 세계 최초의 프로그래밍이 가능한 디지털 컴퓨터로 인정 받고 있다.

콜로서스는 암호 분석이라는 특정 목적을 위해 설계되었지만, 전자 회로를 이용해 방대한 양의 데이터를 고속으로 처리할 수 있다는 사실을 입증했다. 이 때문에 콜로서스는 현대 전자식 컴퓨터의 직접적인 선구자 가운데 하나로 평가받고 있다.

에니악(ENIAC: Electronic Numerical Integrator and Computer, 1946)

전쟁이 끝날 무렵 미국의 펜실베니아 대학교 모클리(John Mauchly)와 애커트(J. Presper Eckert)는 에니악(ENIAC)을 개발했다.

원래 2차 대전 중 포탄의 정확한 궤적을 계산하기 위해 개발이 시작되었는데 전쟁이 끝나고 완성되어 실제 전쟁에 이용되지는 못했다. 우주선 연구, 일기예보, 난수 연구 등에 이용되었다. 다양한 계산 작업을 수행할 수 있는 범용 디지털 컴퓨터로 과학, 군사, 산업 분야에서 실질적인 도구가 될 수 있음을 보여준 역사적인 기계이다.

20개의 변수와 300개의 정수를 기억할 수 있는 메모리가 장착되어 있었다. 10진수를 이용한 계산 방식이었다. 18,000여개의 진공관, 무게 30t, 높이 2.5m, 길이 25m의 거대한 기계장치이다. 전력 소모 또한 상당해서 에니악을 가동시킬 때는 펜실베니아 시내의 가로등이 희미해질 정도였다고 한다.

거대한 기판에 달린 진공관 스위치에 전선을 연결해 계산을 수행하는 방식이어서 스위치 연결 방식 설정과 구현에 상당한 시간이 소요되었다. 다른 계산을 위해서 또 다시 일일이 진공관의 연결선을 바꿔줘야 했고 연결된 기판 중 한 부분이 고장나면 전체가 작동되지 않았다. 하지만 제대로 장치가 설정된 경우 인간 계산의 약 2.400배의 속도로 계산을 해냈다.

현대 미국 스미소니언 박물관에 보존되어 있다.

에드삭과 에드박

에드삭(EDSAC: Electronic Delay Storage Automatic Computer, 1949)

폰 노이만이 작성한 에드박 보고서를 본 영국 캠브리지 대학의 모리스 윌크스(Maurice Wilkes)가 미국에서 관련 공부를 하고 돌아와 영국의 캠브리지 대학교 수학과에서 바로 사용할 수 있는 소형 컴퓨터를 제작했다. 에드박을 모태로 만들어졌으나 에드박보다 먼저 공개되었다. 시간적으로는 공개된 최초의 실용적 프로그램 내장 방식 컴퓨터로 볼 수 있다.

에드박(EDVAC: Electronic Discrete Variable Automatic Computer, 1952)

에니악의 가장 큰 문제는 프로그램을 바꾸기 위해 수많은 케이블과 스위치를 직접 연결해야 한다는 점이었다. 새로운 계산을 하기 위해 기계를 다시 배선해야 했다. 빠르게 계산할 수는 있었지만, 프로그램을 바꾸는 일은 여전히 사람의 손에 크게 의존하고 있었다.

이러한 한계를 해결하기 위해 제안된 것이 에드박이다.

에니악에 자문을 하던 폰 노이만(John von Neumann)이 1945년 “에드박에 관한 1차 보고서”에 에드박의 논리적 구조에 대해 정리해 발표했는데 이것이 오늘날의 프로그램 내장형 구조인 폰 노이만 구조의 시초가 되었다.

폰 노이만 구조는 데이터와 프로그램을 모두 컴퓨터의 메모리 영역에 저장하고 중앙처리장치가 이를 순서대로 읽어 실행하도록 하는 방식이다. 오늘날 우리가 사용하는 컴퓨터, 스마트폰, 서버는 모두 이 원리를 따르고 있다.

에니악과 달리 에드박에서는 메모리에 저장된 명령어만 바꾸면 새로운 작업을 수행할 수 있었다.이는 컴퓨터를 특정 목적의 계산 기계에서 다양한 작업을 수행할 수 있는 범용 장치로 변화시킨 혁신이었다.

에드박 자체는 개발이 지연되어 실제 운용 시기가 늦어졌고 최초로 저장 프로그램 방식을 성공적으로 구현한 컴퓨터라는 명예는 영국의 에드삭이 가져가데 되었다. 그러나 컴퓨터 구조의 관점에서 보면 저장 프로그램이라는 개념이 제시되었다는 사실이다. 그러므로 컴퓨터 역사에서는 흔히 다음과 같이 평가되곤 한다.

  • 에니악: 최초의 범용 전자식 디지털 컴퓨터
  • 에드박: 현대 컴퓨터 구조의 설계도
  • 에드삭: 저장 프로그램 방식을 실제로 구현한 최초의 실용 컴퓨터

즉, 에니악이 전자식 컴퓨터 시대를 열었다면 에드박은 현대 컴퓨터의 설계 원리를 확립한 기계였다. 에드박 개발 과정에서 제안된 저장 프로그램 방식은 프로그램과 데이터를 동일한 기억장치에 저장하고 필요에 따라 불러와 실행하는 개념으로, 오늘날의 거의 모든 컴퓨터의 기본 구조가 되었다. 비록 개발 지연으로 인해 최초의 저장 프로그램 컴퓨터라는 명성은 에드삭에게 돌아갔지만, 에드박은 컴퓨터를 단순한 계산 기계에서 범용 정보 처리 장치로 발전시키는 결정적인 전환점을 마련했다.

[관련글]