[전자정보분야 20세기 이후 10대 사건 3]
에니악, 세계 최초 컴퓨터의 등장

|
“정교한 계산이 일상적으로 사용되면서, 계산 속도는 매우 중요해 지고 있다. 그러나 아직 이러한 현대적인 계산에 대한 요구를 만족시키는 기계가 없다.” - 1947년 6월 26일, 에니악의 특허(미국 특허 번호 #3,120,606) 문서의 일부
탄도계산은 너무 어려워!
포탄의 궤적을 계산 하는 작업은 매우 복잡하고 시간이 많이 소요되는 일이다. 제1차 세계대전 이후 1920년대와 30년대, 미육군 탄도연구소(US Army, Ballistics Research Laboratory)는 포의 사격과 관련된 다양한 문제를 풀기 위해 고심했다. 대포의 명중률을 높이려면, 포탄이 날아가는 궤적은 물론이요, 온도, 습도와의 관계를 계산해야 하기 때문이다. 60초 정도 날아가는 탄도의 궤적을 알아내려면, 훈련된 수학자들이 평균 약 20시간이상 상당히 어려운 계산을 해야 했다. 미육군 탄도연구소는 1937년 IBM의 천공카드를 이용하여 탄도 계산을 시작했지만, 탄도 계산에 소모되는 시간을 그렇게 많이 단축시키지는 못했다.
제2차 세계대전의 끝난 지 얼마 지나지 않은 1946년 2월 14일. 미육군 탄도연구소에서는 비밀 프로젝트였던 암호명 ‘프로젝트 PX’의 완성을 알리는 조그만 행사가 열렸다. 제2차 세계대전이 한창이던 1943년 미육군 탄도연구소는 펜실베니아 대학에 포의 탄도를 계산하기 위한 빠른 계산기 개발을 요청한 바 있었고, 모클리(J. Presper Eckert)와 에커트(John Mauchly)가 주도하는 연구팀에 의해 3년 만에 그 결실을 보게 된 것이다.
이 새로운 계산기는 규모가 엄청났다. 17,468개의 진공관과 7,200개의 크리스털 다이오드, 70,000개의 레지스터로 이뤄진, 가로 9m, 세로 15m 크기에 무게만 30톤에 이르는 거대한 기계가 약 20평의 공간에 빽빽하게 들어찼다. 더구나 160Kw라는 당시로서는 엄청난 전력을 소모하여, 해당 전역의 전기가 모두 나간다는 이야기가 나돌 정도였다. 3년간의 개발비로만 무려 50만 달러(현재 환산, 600백만 달러)가 들어간 이 ‘거대한 두뇌’의 또 다른 이름은 바로 에니악(ENIAC : Electronic Numerical Integrator And Computer). 현대 전자식 컴퓨터의 효시로 불리는 에니악은 30초 만에 훈련된 수학자보다 20만 배나 빠른 속도로 탄도 계산을 해 냈다.

|
주판부터 에니악까지 : 빠른 계산의 욕망
 그림 1 1624년 파스칼이 개발한 최초의 기계식 계산기. 간단한 덧셈과 뺄셈을 할 수 있다. 사진 제공 : 영국 과학 박물관 |
복잡하고도 단순한 계산을 빠르기 하고 싶은 인간의 욕망은 비단 20세기의 일만은 아니다. 가장 오래되고 널리 알려진 계산 보조기구는 바로 주판이다. 기원전 2400년부터 바벨론에서 주판을 사용한 흔적이 있으며, 불과 몇 십년 전 전자식 계산기가 보급되기 전까지, 주판은 가장 널리 사용된 계산 보조기구였다.
인간의 빠른 계산을 돕기 위한 계산도구의 개발은 끊임없이 계속 되었다. 1624년 수학자이자 철학자였던 파스칼(Blasise Pascal)은 0에서 9까지 표시할 수 있는 10개의 톱니를 가진 기구를 통해 덧셈과 뺄셈을 할 수 있는 기계적인 계산기를 개발했고, 1670년대에는 라이프니츠는 제곱계산과 4칙 연산이 가능한 계산기를 개발하기도 했다. 1890년대가 되면, 대용량의 자료처리를 위해 미국의 홀러리스(Herman Hollerith)가 카드에 구멍을 뚫어 자료를 분류하고 집계할 수 있는 천공카드 기계를 개발하기도 했다.
컴퓨터의 개념을 만든 사람들 : 베비지와 튜링
 그림 2 현대 컴퓨터의 기초를 세운 찰스 바베지. 사진 제공 : 영국 노팅험대 | 컴퓨터의 기초적인 형태를 제안한 것으로 평가받는 사람은 영국의 찰스 베비지(Charles Babbage, 1791~1871)다. 베비지는 1823년 로그와 삼각함수를 계산 할 수 있는 차분기관(Difference Engine)의 설계를 제시하고, 10년 후인 1833년에는 해석기관(Analytical?Engine)의 설계를 완성했다.
이 해석기관은 금속과 나무로 구성되고, 증기엔진으로 동작되는 구조로 우리가 지금의 컴퓨터와는 다소 거리가 멀어 보인다. 하지만 베비지의 해석기관은 50자리 수까지 계산할 수 있는(지금의 중앙처리장치(CPU)와 같은 기능을 하는) "밀(mill)"이라는 이름의 장치와, 이후의 계산을 위해 숫자를 저장할 수 있는(지금의 메모리와 같은) “스토어(store)”, 그리고 계산 결과를 출력해 주는 인쇄기기(지금의 프린터)를 갖추고 있었다. 또 해석기관의 입력장치에는 지금의 프로그래밍처럼 수식의 값을 수정할 수 있도록 설계되어 있었다. 안타깝게도 베비지는 자신의 천재적인 발명품들을 하나도 실제로 만들지는 못했다. 그러나 그가 설계한 장치들은 현재 우리가 사용하는 모든 컴퓨터의 기본 개념이 되었다.
베비지가 컴퓨터의 기본 원리를 제안했다면, 현대적 컴퓨터 발전의 핵심 원리를 제시했지만 에니악의 후광에 가려 빛을 보지 못한 사람이 있다. 바로 앨런 튜링(Alan Turing, 1912~1954)이다. 튜링의 업적은 크게 두 가지다. 먼저 튜링은 컴퓨터가 하나의 계산만을 수행하는 것이 아니라, 여러 단계의 일을 순차적으로 처리할 수 있다는 컴퓨터의 기본 개념을 제시했다. 이는 우리가 흔히 알고리즘(algorithm)이라고 부르는 것으로, 컴퓨터가 복잡한 일을 한 단계 한 단계씩 처리할 수 있도록 설계하는 것이다.
튜링의 또 하나의 업적은 컴퓨터가 단순 계산기계가 아니라 다양한 작업을 처리할 수 있는 ‘범용 계산 기계(universal computing machine)'의 개념을 제시한 것이다. 튜링은 테이프를 이용해 기계에 자료를 읽고 쓸 수 있도록 한 후, 이 자료를 계산하는 부호를 기록하고 변경할 수 있도록 하면, 하나의 기계를 통해 다양한 작업을 처리할 수 있다고 설명했다.
튜링은 천재적인 수학자이자 암호 해독가이기도 했다. 제2차 세계대전 중 영국 런던 근교에서 악명높은 독일의 암호체계인 이니그마(Enigma, 독일어로 비밀, 퍼즐이라는 뜻)를 해독하는 극비 프로젝트에 참여하여, 콜로서스(Colossus)라 불리우는 암호 해독용 컴퓨터를 개발하기도 했다. 이 전설적인 컴퓨터 천재는 불과 41살의 나이에 청산가리가 묻은 독사과를 먹고 자살로 생을 마감했지만, 그의 놀라운 업적은 잊혀지지 않았고, 앨런 튜링의 업적을 기려, 계산기계협회(ACM)는 1966년부터 '튜링상'을 제정, 매년 최고의 컴퓨터과학자들에게 시상하고 있다.
에니악의 발전
 그림 3 소프트웨어의 개념을 탄생시킨 컴퓨터 에드박(EDVAC). 사진 제공 : 위키피디아 | 손으로 하던 계산 작업에 비하면 상상도 할 수 없을 만큼 빠른 성능을 보여준 에니악이었지만, 에니악에게는 두 가지 큰 단점이 있었다. 새로운 수식을 입력하려면 엄청나게 많은 시간을 쏟아야 했다. 수식을 바꾸려면 진공관의 연결선을 모두 새로 배치해야 했기 때문이다. 또 진공관을 사용한 커다란 덩치와 엄청난 전력을 소모했던 것도 이 놀랍고도 새로운 기계가 널리 사용되기 어려운 장애물이었다.
1949년 헝가리 출신의 미국인 수학자였던 폰 노이만(John von Neumann, 1903-1957)은 차세대 ENIAC 개발의 자문을 맡아, 프로그램 내장 방식이라는 개념을 주창하고 계산장치와 메모리, 그리고 저장장치를 분리하여, 컴퓨터에 프로그램을 쉽게 변경할 수 있는 구조를 설계하고, 10진수가 아닌 2진수를 사용할 것을 주장했다.
폰 노이만의 설계를 반영하여 탄생한 컴퓨터가 EDVAC이다. EDVAC은 2진수를 이용하여 컴퓨터의 연산 속도를 비약적으로 향상 시켰을 뿐만 아니라, 오늘날 ‘소프트웨어’라고 불리는 개념을 탄생시킨 컴퓨터다. 아직도 폰 노이만의 이 설계는 모든 컴퓨터의 기본 설계에 이용되고 있다. 이후 1951년 최초의 상업용 컴퓨터 Mark1이 탄생하고, IBM의 중대형 컴퓨터가 기업용으로 판매되기 시작하면서, 컴퓨터의 상업적 가능성이 열렸다. 트랜지스터의 개발로 컴퓨터가 비약적으로 소형화 되게 되면서, 군사용으로 시작되었던 컴퓨터는 비로소 사람들의 품에 들어오게 되었다.
에니악의 연산 속도는 IBM이 1984년 발표한 퍼스널 컴퓨터(AT 80286, 6Mhz)에 불과한 것으로 알려져 있다. 컴퓨터 속도의 발전은 매 1년 6개월마다 컴퓨터의 속도가 두 배 빨라진다는 무어의 법칙(Moore's Law)을 넘어, 고속화, 고용량화, 네트워크화 되고 있다. 또 양자컴퓨터, 바이오컴퓨터 등 폰 노이만이 설계한 구조를 탈피하여 더 빠르고 복잡한 계산을 가능하게 하기 위한 기술이 지속적으로 개발되고 있다.
 그림 4 캐나다의 컴퓨터 회사 D-wave는 2008년 최초의 ‘상업용 양자컴퓨터’를 개발했다고 발표하는 등, 컴퓨터의 진화는 새로운 국면을 맞고 있다. 사진 제공 : gizmodo.com |
[BOX] 최초의 프로그래머는 누구일까?
최초의 프로그래머는 19세기 사람이다. 그 사람은 당시 27세였으며, 저명한 영국 낭만파 시인 바이런를 아버지로 두었다. 또 매우 아름다운 귀부인이었다고 전해진다. 그녀의 이름은 에이다 러브레이스(Ada Lovelace, 1815-1852). 어릴 때부터 몸이 많이 아팠던 에이다는 가정교사로부터 수학과 과학을 배웠는데, 17살부터는 놀라운 재능을 보이기 시작했다고 한다. 19살에 일찍이 결혼을 한 에이다는 재능을 알릴 기회를 얻지 못했지만, 어느날 찰스 베비지의 발명품 소개회에 참석해 베비지의 차분기관을 보고, 큰 관심을 보였다. 베비지와 여러 번 서신 교환과 만남을 갖은 후, 9개월 간의 연구 끝에 “베비지의 해석기관에 대한 분석”이라는 책을 출간했는데, 이 연구는 현대 컴퓨터 프로그래밍의 역사적 기원으로 평가받고 있다. 이 책에서 에이다는 해석기관을 이용하여 같은 공식을 반복하는 루프(loop), 사용한 공식을 일부 다시 사용하는 서브루틴(subroutine), 그리고 구문을 뛰어 실행하는 점프(jump)의 개념과 조건을 비교한 후 실행하는 IF구문을 구현할 수 있음을 설명했다. 이러한 개념을 통해 그녀는 기계가 단순히 계산을 넘어 주어진 조건에 따라 결정을 내리고 논리를 구성할 수 있는 프로그래밍의 핵심을 만들어 낸 것이다. 또 그녀는 프로그램을 통해 음악을 작곡하거나 그림을 그리는 일도 가능 할 것이라 예측하기도 했다. 이후 그녀의 논문은 100여년이 지난 1953년 재 발간되었고, 앨런 튜링 등 초창기 컴퓨터 과학자들에게 많은 영감을 주었다. 안타깝게도 에이다는 36살이라는 젊은 나이에 자궁암으로 사망했다. 그녀의 업적을 기려 1983년 미국 국방부는 개발된 새로운 컴퓨터 언어에 그녀의 이름(Ada)을 붙여주었다. |
[교육팁] 최초의 컴퓨터 ENIAC은 무게가 30톤에 크기는 교실 하나를 꽉 채울 정도였다. 지금은 그보다 비교가 안 될 정도로 성능이 좋은 컴퓨터가 책상 위에 올라갈 정도로 작아졌다. 집에 있는 데스크 탑을 열어 컴퓨터 속은 어떻게 구성되어 있는지 살펴보고, 각 부품들이 어떤 역할을 하는지 알아보자.
 그림 5 IBM이 2010년에 내놓은 i7 마이크로프로세서를 탑재한 컴퓨터의 메인보드. 사진 제공 : 아수스 | 컴퓨터를 열면 컴퓨터 시스템의 주요 구성 부품들을 설치, 연결, 조잘하는 주 회로 기판이 보인다. 사람 몸에 비유하면 골격, 신경조직, 혈관 같은 역할을 하는 이 주 회로 기판을 ‘메인 보드’라고 한다. CPU, 메모리, 그래픽카드, 전원, 하드디스크 등 컴퓨터를 이루는 주요 부품들은 메인보드에 연결되어 있다. 컴퓨터에 전원을 공급하는 전원장치는 심장 역할을 한다. 전원을 통해 들어온 전력은 메인 보드에서 작은 전압으로 조절하여 각 부품으로 전원을 공급한다. 컴퓨터의 두퇴 역할을 하는 CPU는 메인보드 중앙에 위치한다. 열이 많이 발생하기 때문에 보통 열을 식혀주는 선풍기 모양의 ‘쿨러’로 덮여있다. CPU 옆에는 메모리를 장착할 수 있는 기다란 메모리 슬롯이 있다. 여기에 컴퓨터가 켜져 있는 동안 수 많은 정보를 기억하고 있는 메모리 슬롯이 있다. 여기에 램(RAM) 메모리를 장착한다.
컴퓨터의 가장 중요한 출력장치인 모니터에 정보를 보내는 그래픽 카드는 그래픽 슬롯에 장착한다. 보통 그래픽 카드에는 수많은 정보를 독립적으로 처리해야 하기 때문에 메인 보드와 별도로 고성능의 칩셋과 메모리, 쿨러가 붙어 있는 경우가 많다. 이 밖에 하드디스크를 연결하는 커넥터와 프린터, 사운드 카드, 마우스, 키보드 같은 주변 장치를 연결하는 여러 커넥터들이 있다.
[교육 과정] - 초등학교 5학년 실과, 컴퓨터는 내 친구 - 초등학교 6학년 실과, 컴퓨터와 나의 생활 - 중학교 1학년 실과, 컴퓨터와 정보처리 | 글 / 박동오 한국과학기술정보연구원 연구원 dopark@kisti.re.kr |