컴퓨터
1. 어원
Compute + er 의 합성어이다. (계산하다는 뜻의 라틴어 Compurate가 어원이다.)
계산하다 + 사람의 뜻 을 가지고 있다.
17세기 초 천문학 분야에서 막대한 양의 계산을 필요로 하였기에 인력을 고용하였고 '컴퓨터'란 단어가 처음 등장하였다.
2차세계대전(1939~1945)당시 타자수와 함께 가장 대표적인 여성직업중 하나였다.
컴퓨터란 기본적으로 계산, 연산을 하는 사람을 일컬었고, 컴퓨터의 발전 과정은 계산기의 발전과 동일하다.
현대에서도 컴퓨터 사양의 진전은 컴퓨터가 얼마나 더 많은 양의 연산을 빠르게 처리하는지와 맥락이 같다.
2. 기계식 계산기
최초의 계산기는 손 계산 부터 시작하여
주판, 산가지 등 말그대로 계산을 도와줄 수 있는 보조 수단이었다.
우선 공식적인 세계 최초의 아날로그 컴퓨터는 그리스의 안티키티라이다.
/* 아날로그란 ? 신호와 자료를 연속적인 물리량으로 나타낸 것. 디지털에 대비되어 쓰인다. */
/* WIKI -
아날로그 컴퓨터는 해결할 문제를 표본화하기 위해 전자, 기계, 수력 현상을 사용하는 컴퓨터의 한 형태이다. */
1900년 그리스의 안티키티라 앞바다에 가라앉은 고대 로마 시대의 난파선인 안티키티라 난파에 대한 조사가 이루어지는 과정에서 발견되었다.
큰 조각 하나와 작은 조각이 둘로 나뉜 채 발견되었는데, 톱니바퀴가 박혀 있어 무언가 정교한 기계일 것으로 추측되었으나 오랫동안 그 정체가 무엇인지 몰라 한동안 방치되었다. 이 기계의 비밀은 1950년경 예일 대학교에서 정밀조사를 시행하면서 드러났다.
이 컴퓨터는 기원전 1세기 초에 그리스에서 만들어진 것으로 보이며 피라미드, 만리장성과 같이 고대 기술이라고 믿을 수 없는 기술력을 갖고 있다.
1950년에서 70년대에 걸쳐 학자들이 내부 구조를 분석하자 이 기계가 태양, 달, 행성의 움직임을 계산하는 아주 복잡한 계산기였음이 드러났다. 측면에 크랭크와 기어가 있어서 이걸 돌려 날짜를 맞추면 행성의 위치를 변경해 그날의 해, 달, 기타 별의 위치를 알린다. 윤년을 반영하여 4년에 하루 정도 날짜가 늦게 돌아가도록 제작하여 1년 365일을 정확하게 맞히는 기능도 있었다고 알려졌다.
이 정도의 복잡성과 세공 기술을 가진 유물은 14세기에 서유럽에서 천문시계가 만들어질 때에야 다시 나타났다.
1623년, 독일의 시카르트에 의해 6자리 숫자의 덧셈과 뺄셈을 수행할 수 있는 기계식 계산기가 발명된다.
첫 번째 모델은 개발 도중 불이 나 소각 되었으며, 두 번째 모델은 친구인 천문학자 요하네스 케플러에게 보내졌다.
그 뒤 1642년, 프랑스 파스칼에 의해 덧셈과 뺄셈이 가능한 최초의 디지털 계산기가 출현하였다.
당시 프랑스의 화폐 제도는 10진법, 12진법, 20진법을 동시에 사용하고 있었는데 이 계산을 도울 수 있는 기계였다.
2차세계 대전 화폐개혁 이전까지 1파운드는 20실링, 1실링은 12펜스, 1파운드는 240펜스였는데, 세무사인 아버지를 돕기 위해 고안하였다고 한다.
값을 입력하는 입력 다이얼(input dial)과 값을 계산하는 처리 장치(add, carry mechanism)와 출력값을 실린더에 보여주는 넘버 휠(number wheel)로 나누어진다.
그러나 곱셈이 불가하단 점이 이 계산기의 단점이다.
1671년 라이프니츠에 의해 곱셈 나눗셈까지 가능한 사칙연산 계산기가 출현하였다.
라이프니츠하면 미적분이 제일 유명하지만 그것과 별개로 또 다른 중요한 업적이 있으니,
바로 '2진법' 의 개발이다.
이 계산기는 최초로 사칙연산이 모두 가능한 기계식 계산기이며, 2진법을 사용하여 전산학의 기초가 된다.
이 이후 계산기는 전자식 계산기 등장 전까지 모두 라이프니츠의 계산기를 계량하거나 구조를 조금 바꾼 형태이다.
1822년 영국의 찰스 배비지가 차분기관을 '고안'하게 된다.
천문학 계산 도중 연산과 검산에 지쳐 만들게 되었다고 한다.
당시 제작을 위해 영국에서 1700파운드 가량의 지원을 해 주었음에도 기술력의 한계로 인해 제작에 실패하고 만다.
당시 1500파운드는 군함 2척을 만들 수 있는 금액
차분기관은 다항함수를 계산할 수 있으며, 7개의 숫자를 31자리까지 기억시킬 수 있게 설계 되었다.
나중에 영국에서 배비지 탄생 200주년을 기념하여 설계도 대로 차분기관을 완성시키게 된다.
배비지는 차분기관 뿐 아니라 '해석기관'이란 기계도 고안했는데 사람의 힘으로 구동이 불가능해 증기기관을 사용해 동작 시키게 설계됐다.
프로그램과 데이터를 '*천공카드'로 입력받았고 프린터와 곡선 플로터, '종'으로 출력했다. 또한 확인을 위해 천공카드 입력기를 장착할 예정이었다. 숫자는 고정 소수점을 갖는 10진수를 사용하였다.
0자리의 숫자 1000개를 저장할 수 있는 저장소(store)가 있으며, 사칙연산과 비교연산 그리고 선택적으로 제곱근의 계산이 가능했다.
반복문과 조건문이 존재하는 현대의 어셈블리언어와 유사한 프로그래밍 언어가 사용되었으며 현대의 중앙처리장치(CPU)와 유사한 내부 프로시저가 존재한다.
완전히 컴퓨터와 같은 형태이지만 설계가 너무 복잡해 아직까지 완성되지 못했다고 한다.
*천공카드
1752년 부터 직조기에 도입되어 사용해 온 카드에 구멍을 뚫어 디지털 자료를 기록하는 저장매체.
유서깊은 입력장치이자 기억장치의 하나이다.
자기테이프, 플로피 디스크의 등장 전까지 컴퓨터의 기억장치로 활용 되었으며, 현대에는 OMR이나 로또 등에서만 국한적으로 쓰이고 있다.
3. 전자식 계산기
전자식 계산기부터 현대에 사용하는 컴퓨터라는 용어로 불리게 된다.
/* WIKI -
컴퓨터는 방대한 정보(데이터)를 저장 하고 검색 하고 처리 할 수 있는, 프로그래밍가능한 전자적 기계장치 또는 자동으로 계산 (연산)을 수행하고 다른 기계장치(machines)들을 제어하는 전자 기기다.*/
1920~1930년대부터 구미 학계에는 이미 1900년대 초반 발명된 '진공관'을 활용하여 기본적인 논리 연산을 수행할 수 있음이 알려져 있었다. 이를 바탕으로 한 디지털 컴퓨터 설계가 1930년대 중후반부터 개념적으로 제안되기에 이르렀으며, 1940년대 들어 각국을 중심으로 디지털 컴퓨터의 실제적 제작에 돌입한다.
현대적인 의미의 컴퓨터는 제 2차 세계대전 직전과 대전 기간 중에 급격히 발전하였다. 이 과정에서 전자회로가 기계식 연산장치를 대체하고디지털 회로가 아날로그 회로를 대체하는 변화가 있었다. 이러한 변화는 연대에 따라 조금씩 이루어졌기 때문에 '최초의 컴퓨터'가 무엇인지 정하는 것은 쉽지 않다.
1938년에 독일의 콘라트 추제가 Z1을 개발하였다.
천공카드를 이용하여 Z1에 명령어를 입력할 수 있었고, 제한된 전자식 프로그래밍 언어에 의해 2진법으로 데이터를 처리하
다만, 이 컴퓨터를 제작하는 데 사용된 부품의 문제로 인하여 완성 당시에는 정확하게 작동하지 아니한 것으로 알려져 있다.
Z1은 현대적인 컴퓨터가 갖추고 있는 처리기관, 저작기관, 미세 분할 시스템, 부동소수점에 기반한 논리체계, 입출력기관 등 대부분의 요소들을 갖고 있었다.
1943년 2차 세계대전 당시 베를린 공습으로 인해 파괴 되었고, 추후 Z2, Z3시리즈를 개발한다.
1942년 개발된 아타나소프-베리 컴퓨터(Atanasoff–Berry Computer)는 약어로 ABC라고 불린다.
ABC는 2진구조를 가진 진공관 컴퓨터이다.
약 300개의 진공관으로 이루어진 논리회로와
입력장치인 천공카드 판독기
이진bit를 저장하기 위한 자기드럼 메모리로 구성되어 있다.
또한 전자공학, 재생식 메모리, 논리작용에 의한 계산, 이진수 체계 등 오늘날의 컴퓨터가 가지고 있는 네 가지의 기본 개념을 구현한 최초의 컴퓨터이다.
1973년 이전까지 ENIAC(에니악)이 대표적인 최초의 컴퓨터 였지만 소송에서 승리하여 대중에게 알려지게 된다.
2차세계대전 당시, 독일의 암호화 타자기 에니그마를 해독하기 위해 개발한 세계 최초의 프로그래밍 가능 디지털 컴퓨터.
1943년 영국에서 앨런 튜닝의 주도하에 암호 해독기 콜로서스 마크1이 개발된다.
영국 입장에서는 다행히 콜로서스 마크 1과 콜로서스 마크 2가 적절한 시기에 개발이 완료되어 노르망디 상륙 작전을 비롯해 2차 세계대전 말미 주요 전투에서 좋은 성과를 얻을 수 있었다.
1970년대까지 모두 군사 기밀로 붙여져 있었다. 또한 영국 수상 윈스턴 처칠은 냉전 중에 로렌츠 암호를 해독할 수 있다는 사실을 외부에 알리지 않기 위해 수명이 다한 콜로서스 컴퓨터를 완전히 파괴할 것을 명령했다. 때문에 콜로서스 컴퓨터의 존재는 한동안 컴퓨터의 역사에 수록되지 않았다.
현재 원래대로 복원된 콜로서스 한대가 블레칠리 파크에 전시되어 있다.
디지털 방식의 고성능 계산기는 1941년 독일의 콘라트 추제(Konrad Zuse)가 만든 Z3이 먼저이긴 하나, 이 장치는 진공관 대신 릴레이를 사용한 전자 기계식 컴퓨터에 가까웠다.
또한, 1942년에 실험된 아타나소프-베리 컴퓨터(ABC)의 경우엔 프로그램 수정이 안되는 문제를 갖고 있었다. 이에 진공관을 사용하고 프로그래밍이 가능한, 현대적 개념의 디지털 컴퓨터에 부합하는 장치로는 콜로서스가 가장 먼저인 것으로 보는 사람도 있다.
1946년 대부분의 사람들이 최초의 컴퓨터로 알고 있는 에니악, ENIAC이 개발된다.
Electronic Numerical Integrator, Analyzer and Computer
<전자식 숫자 적분기, 분석기 그리고 계산기>
1만8천개의 진공간을 사용하여 무게는 대략 30톤에 달하며 군용 목적으로 설계되었다. 포탄의 탄도학 계산을 위해 개발되었다.
그러나 종전이 1945년이었기에 원래 의도대로 사용되지 못했고, 이후 난수 연구, 우주선 연구, 풍동 설계, 일기예보의 수치예보 연구 등의 각종 과학 분야에서 사용되었으며, 초기형 수소폭탄 시뮬레이션에도 쓰였다.
에니악의 구조는 이후 개발되는 '폰노이만 구조'와는 달리 스위칭 소자를 배선으로 직접 이어서 프로그램을 구현하는 방식으로, 현대의 기준으로는 'FPGA'에 가까웠다.
*폰노이만 구조 - 중앙처리장치(CPU), 메모리, 프로그램 이 세 가지 구성요소로 이루어져 있다.
*FPGA - 모든 신호가 하드웨어 레벨에서 실시간 처리된다.
작동에 필요한 전력량은 총 180kW 가량이었으며, 일반적인 릴레이 기반 전자기계식 컴퓨터는 15분이 걸려야 겨우 할 수 있는 계산량을 에니악은 30초 안에 처리할 수 있었다. 따라서 에니악의 처리 속도는 단순한 계산 횟수만 따져도 인간 계산수의 약 2400배, 전자기계식 컴퓨터의 30배였고, 에니악의 유효 숫자가 더 많은 것을 감안하면 실질적인 처리 속도는 인간 계산수의 10만배, 전자기계식 컴퓨터의 1000배까지 늘어났다.
다만 이러한 기술력을 1940년대에 개발하는건 수많은 애로사항이 있었는데,
첫째는 진공관의 발열과 내구성이었다. 1만 8천개의 진공관이 일제히 내뿜는 열 때문에 에니악이 설치된 방은 작동 내내 에어컨으로 냉각해야 했다.
둘째는 느린 입력과 출력 속도였다. 아직 자기 코어 메모리가 개발되지 않았기 때문에 IBM 천공카드가 유일한 입력 수단이었고, 출력된 수치도 천공 카드에 찍혀야 했다. 천공 카드 출력 속도는 연산 속도의 1/20 정도로 매우 느렸다. 그리고 입력과 출력이 진행되는 동안에는 계산을 수행할 수 없었다.
셋째는 프로그래밍에 따르는 어려움이었다. 상술한대로 에니악의 프로그래밍은 사람이 스위칭 소자와 배선을 직접 조작해서 구현하는 방식으로, 미리 작성된 프로그램과 연산에 필요한 변수를 하드웨어 수준에서 구현하는 과정에서만 며칠이나 걸렸다고 한다. 이런 어려움은 '폰 노이만 구조'를 주창하게 되는 결정적인 원인이 된다.
4. 그래서 결국 최초의 컴퓨터는 무엇인가.
한때는 에니악이 세계 최초의 컴퓨터였다.
그러나 이후 소송을 통해서 1973년 10월 19일 미국 법원이 "인류 최초의 전자 계산기는 ABC다"라고 판결 하였다. ABC(어태너소프-베리 컴퓨터)는 1942년에 개발되었다.
이후 세계 최초의 '실용화된 컴퓨터'란 자리 또한 1943년에 개발된 '콜로서스'가 가지고 갔다. 에니악보다 등장시기가 빠르지만 전시 기밀이기 때문에 공개가 1975년에 될 정도로 늦어졌으며 공개가 늦어진 탓에 에니악이 최초의 컴퓨터라는 오해의 원인이 되었다고 한다.
공개가 늦어진 이유는 전쟁이 끝난 후 영국이 독립한 예전 식민지 국가들에게 독일의 암호 기계를 넘겨주고, 콜로서스를 계속 가동하면서 암호를 풀어냈기 때문이다. 1975년에 공개한 이유는 이 즈음에 독일의 암호 체계가 거의 다 도태되어서이다.
한편 세계 최초의 아날로그 계산기는 그리스의 안티키타라 계산기이다.
이와 마찬가지로 컴퓨터의 시초를 어디에 두느냐는 개인의 관점에 따라 달라지며, 시카르트 계산기와 파스칼 계산기도 역할이 확장되기 때문에 결론을 내리기 어렵다.