2017년 10월 15일 일요일

컴퓨터.

컴퓨터 (computer)

라는 단어는 전자회로를 이용해 다양한 종류의 데이터를 처리하는 기기를 일컫는다. 하지만 폭넓은 의미에서 보면 컴퓨터는 전자 회로의 유무와 관계 없이 계산을 할 수 있는 기기 전반을 가리킨다. 컴퓨터라는 단어는 ‘계산하다’ 라는 뜻을 가진 라틴어인 ‘computare’에서 유래되었기 때문이다. 

전자 회로를 이용한 고속의 자동 계산기. 숫자 계산, 자동 제어, 데이터 처리, 사무 관리, 언어나 영상 정보 처리 따위에 광범위하게 이용된다. 

인류 역사상 최초의 컴퓨터 (계산기) 라고 할 수 있는 주판은 기원전 2400년경에 바빌로니아에서 원시적인 형태의 것이 개발된 이후, 기원전 200년경에 중국에서 개량을 거쳐 거의 2000년 이상 쓰였다. 하지만 주판은 사용방법을 익히는데 시간이 걸리고, 계산 과정의 상당 부분을 여전히 사람의 머리에 의존해야 했다. 자동으로 계산을 할 수 있는 최초의 계산도구는 17세기부터 본격적으로 개발되기 시작했다. 

대표적인 것이 1623년에 독일의 빌헬름 시카드 (Wilhelm Schickard, 1592~1635) 가 처음 발표한 기계식 계산기다. 기계식 계산기는 톱니나 피스톤과 같은 기계 부품으로 구성된 것으로, 이를 사람이나 태엽의 힘으로 돌리면서 계산을 할 수 있었다. 다만, 이는 물리적으로 맞물린 기계 부품으로 구성된 탓에 구조가 복잡하고 고장이 잦아 관리가 어려웠으며, 복잡한 계산을 할수록 뻑뻑해져서 구동이 잘 되지 않는다는 단점이 있었다. 

기계식 계산기의 단점을 극복한 전자식 계산기, 즉 근대적인 의미의 컴퓨터는 19세기부터 고안되기 시작했다. 1822년에 영국의 찰스 배비지 (Charles Babbage, 1792~1871) 가 기계식 디지털 계산기인 ‘차분기관  (difference engine)’ 을 발표했다. 

배비지의 차분기관은 기존의 기계식 계산기와 달리 로그 함수와 삼각 함수의 계산이 가능했다. 차분기관은 핸들을 돌려 작동했지만, 천공 카드 (일정한 패턴의 구멍을 뚫어 데이터를 기록하는 종이 카드) 를 이용해 디지털 데이터 (0과 1) 를 기록할 수 있다는 점은 오늘날의 컴퓨터와 유사한 점이 있다. 

1904년에는 영국의 존 플레밍 (John Ambrose Fleming, 1849~1945) 이 진공 상태에서 전자의 흐름을 조절해 신호의 변경과 증폭을 가능케 하는 장치인 ‘진공관 (vacuum tube)’ 을 개발했으며, 1936년에 영국의 앨런 튜링 (Alan Turing, 1912~1954) 이 입력과 연산, 그리고 출력과 기억을 연속적으로 할 수 있는 ‘튜링 기계 (Turing Machine)’ 의 개념을 정의한 논문을 발표했다. 

진공관의 개발과 튜링 기계의 발표로 인해 근대적인 컴퓨터의 핵심 부품 및 기본 동작원리가 확립되었다. 제2차 세계대전, 각 분야의 과학자들은 전쟁을 위해 소집돼 하나의 목표 즉, 승리를 위해 자신의 모든 것을 짜내야 했다. 서로 평행선을 그으며 좀처럼 마주치는 일이 없던 이질적 학문 분과의 학자들이 한곳에 모여 같이 연구를 하는 순간, 그전까지는 생각도 하지 못했던 많은 과학적인 성과가 나타났다. 

원자폭탄과 같은 인류의 비극 또한 그런 과학자들에 의해 만들어졌으니 무작정 그들의 공동 연구에 찬사만 보낼 수는 없지만, 전시의 공동 연구가 종전 후 그들이 다시 학계 및 산업계로 돌아갔을 때 많은 긍정적인 변화를 이끌어냈음은 인정해야 할 것이다. 

1939년, 미국 아이오와 주립대학의 존 아타나소프 (John Vincent Atanasoff, 1903~1995) 와 그의 조수였던 클리포드 베리 (Clifford Berry, 1918~1963) 는 ‘아타나소프 베리 컴퓨터 (Atanasoff-BerryComputer)’ 라는 세계 최초의 완전한 전자식 컴퓨터를 발표했다. 약자인 ‘ABC’로 더 많이 불린 이 컴퓨터는 1939년에 시험모델이 제작되어 최초 가동 실험을 했으며, 1942년에 완성품이 발표되었다. 

1944년, 영국에서는 튜링이 고안하고 영국 체신청의 기술자인 토미 플라워스 (TommyFlowers, 1905~1998) 가 설계한 ‘콜로서스 (Colossus)’ 라는 전자식 컴퓨터가 개발되었다. 하지만 콜로서스의 존재는 극비라서 외부에 거의 알려지지 않았다. 

그 이유는 콜로서스가 군사용으로 쓰인 탓이다. 콜로서스는 2차 세계대전 중에 독일군의 암호를 해독하는 작업에 주로 쓰였고, 많은 성과를 올렸다고 한다. 때문에 콜로서스를 세계 최초의 ‘실용화된’ 컴퓨터로 분류하기도 한다. 

1946년에는 미국 펜실베니아 대학의 존 에커트 (John Presper Eckert, 1919~1995) 와 존 모클리 (John William Mauchly, 1907~1980) 가 당시로서는 최고의 성능을 자랑하던 컴퓨터인 ‘에니악 (ENIACElectronic Numerical Integrator and Computer)’ 을 발표해 화제가 되었다. 

에니악은 초당 5,000번 이상의 계산을 하는 등, 이전까지 사용하던 컴퓨터보다 1,000배 이상 높은 성능을 발휘했다. 에니악을 비롯한 당시의 컴퓨터는 새로운 작업을 할 때마다 회로 및 기억장치를 바꿔 끼워야 하는 불편함이 있었다. 

1945년에 헝가리 출신의 미국 수학자인 존 폰 노이만 (John vonNeumann, 1903~1957) 은 컴퓨터 내부의 기억장치에 소프트웨어 방식의 프로그램을 내장, 소프트웨어만 바꾸면 여러 가지 작업에 대응할 수 있는 프로그램 내장 방식 컴퓨터의 개념을 발표했다. 

1949년에는 이를 실용화한 최초의 컴퓨터인 ‘에드삭 (EDSACElectronic Delay Storage Automatic Calculator)’ 이 등장했으며, 몇 개월 후에 에드삭의 개량형인 ‘에드박 (EDVAC:Electronic Discrete Variable Automatic Computer)’도 발표되었다. 

에드삭과 에드박의 이른바 ‘폰 노이만 구조’는 현재 쓰이는 대부분의 컴퓨터에도 적용되고 있다. ABC와 에니악의 등장, 그리고 폰 노이만형 컴퓨터의 개발로 인해 실용적인 컴퓨터의 기본 개념은 거의 확립되었다. 이에 따라 1950년대부터는 이를 직접 민간 부문에 판매하고자 하는 경쟁, 즉 컴퓨터의 상용화가 시작되었다. 

최초의 상용 컴퓨터는 1950년에 완성되어 이듬해부터 출시를 시작한 레밍턴 랜드(Remington Rand)사의 ‘유니박 (UNIVAC: Universal Automatic Computer) I’ 이다. 유니박 I은 대당 16만 달러에 판매되었다. 

컴퓨터의 개념 및 정의" 

컴퓨터 (computer) 기술은 현대의 과학 기술들 중에서 가장 급속히 발전하고 있는 분야이다.100년 전 까지만 해도 컴퓨터란 전자 기기가 아닌 주판이나 계산자 (계산척) 과 같은 전통적인 계산도구, 혹은 계산을 하는 사람을 뜻했다. 

20세기 중반부터 전자식 자동 계산기에 대한 연구가 활발하기 이루어지고, 디지털 데이터의 입력과 출력, 그리고 연산 및 저장 방식에 대한 원리가 확립되면서 비로소 컴퓨터는 오늘날의 의미로 쓰이게 된다. 

성능을 발휘하기 위해 에니악은 1만 7천 개 이상의 진공관과 7만개 이상의 저항기로 구성되었으며, 총 무게가 30톤에 이르렀다. 게다가 고장도 잦아서 매주 2~3번씩 진공관을 교체해야 했으며 전력 소모도 150킬로와트에 달했다. 하지만 미국 국방부에서는 에니악의 높은 성능에 주목, 탄도 계산, 날씨 예측, 원자폭탄 개발 등 다양한 용도로 활용했다. 

에니악의 등장은 당시 큰 화제가 되었기에 한때는 에니악이 세계 최초의 컴퓨터로 알려지기도 했다. 하지만 이후 법정 공방 끝에 에니악이 아닌 ABC가 세계 최초의 컴퓨터로 인정받게 된다. 

여러 가지 상용 컴퓨터가 등장했지만 여전히 대부분의 컴퓨터는 너무 비싼데다 덩치도 커서 여전히 정부기관이나 기업에서만 쓰였다. 하지만 1977년, 미국의 애플 (Apple) 사에서 ‘애플 II’라는 소형 컴퓨터를 출시하면서 컴퓨터의 대중화가 시작되었다. 

애플 II는 크기가 작고 사용법도 간편했으며, 가격도 1,300달러 근처로 싼 편이라 큰 인기를 끌었다. ABC는 280개의 진공관과 1.6km 이상의 케이블로 구성되어 있었으며, 무게는 320kg 정도였다. ABC는 디지털(2진수) 방식의 데이터를 사용하며, 기계적인 장치(톱니 등)가 없이 완전한 전자식으로 연산을 했다. 

그 외에 연산부 (프로세서) 와 저장부(메모리) 가 분리되어 있는 등, 현재 사용하는 컴퓨터와 유사한 점이 많았다. 하지만 실험적인 의미가 강했기 때문에 실용성은 없었다. 

컴퓨터공학 (-computer engineering) 은 컴퓨터의 하드웨어와 소프트웨어를 연구하여 컴퓨터 시스템과 컴퓨터와 관련된 여러 기술을 개발하고 학습하며 이를 각 분야에 응용하는 것을 목적으로 하는 학문 분야이다. 

현재 우리나라는 전자공학(electronics) 분야의 학과에서는 하드웨어와 관련된 분야를 연구 및 학습하고, 전산 관련 학과에서 소프트웨어와 관련된 컴퓨터 시스템 분야, 프로그래밍 분야 등으로 나누어 가르치고 있다. 

여기서는 전자공학의 하드웨어 관점에서 컴퓨터의 구성과 동작을 다루기 때문에 컴퓨터구조(-computer architecture) 를 중심으로 하는 하드웨어를 중심으로 살펴보기로 한다.  

컴퓨터구조" 는 시스템소프트웨어와 더불어 컴퓨터 시스템을 구성하는 핵심기술이다. 오늘날 컴퓨터는 휴대용 태블릿 PC에서부터 과학 계산 처리를 위한 초고속 슈퍼컴퓨터에 이르기까지 크기, 가격 및 성능에 있어서 매우 다양한 종류의 컴퓨터들이 존재하고 있다. 그런데 흥미로운 것은 그러한 컴퓨터들의 기본 구조와 동작 원리는 거의 동일하다는 점이다. 

컴퓨터구조 학문에서는 이와 같은 컴퓨터구조의 기본 원리와 핵심기술을 학습한다. 컴퓨터의 성능을 높이기 위해 새로이 개발된 첨단 프로세서들의 구조와 시스템 설계 기술들에 관하여 학습하고, 연구하는 분야이다. 컴퓨터의 데이터 표현 방법부터 컴퓨터 병렬구조까지 컴퓨터구조를 이해하는 데 필요한 전반적인 내용을 다루며, 

컴퓨터구조의 큰 틀을 이해할 수 있도록 컴퓨터의 기본적인 구성을 살펴본다. 컴퓨터 외부와 내부를 학습하고 컴퓨터구조의 기본 개념과 하드웨어 동작 과정을 연구하며, 컴퓨터 기본 이론 → 구성장치 → 컴퓨터 동작 과정 순으로 단계별로 연구한다. 


1) 컴퓨터시스템의 개요; 

(1) 연구목표; 

① 컴퓨터의 기본 구조에 대하여 연구한다. 

② 정보의 표현을 이해한다. 

③ 시스템의 구성에 관하여 연구한다. 

④ 컴퓨터구조의 발전 과정에 대하여 연구한다. 

(2) 연구내용; 

컴퓨터는 기본적으로 중앙처리장치 (CPU)주기억장치 및 입출력장치로 구성된다. 주어진 프로그램을 읽어서 처리하고, 저장하는 기능을 빠르게 처리하는 방식으로 프로그램이 수행된다. 컴퓨터가 받아들이고 처리하는 정보의 종류에는 프로그램과 데이터가 있다. 컴퓨터의 주요 구성요소들의 동작원리를 이해하도록 한다. 초기의 컴퓨터들이 오늘날과 같은 눈부신 발전을 하게 된 것은 집적회로의 발전에 힘입은 바가 크다. 이 같이 주요 컴퓨터 부품들의 발전 과정과 컴퓨터 시스템들의 발전 경위를 살펴본다. 


2) 중앙처리장치 (CPU) 의 구조와 기능; 

(1) 연구목표; 

① CPU의 기본 구조에 대하여 연구한다.

 ② 명령어 처리 사이클에 대하여 연구한다. 

③ 명령어 파이프라이닝 등을 연구한다.

 ④ 연산의 종류, 명령어 형식 및 주소 지정 방식에 대하여 연구한다. 

(2) 연구내용; 

컴퓨터의 핵심 요소인 CPU가 기억장치에 저장되어 있는 명령들을 실행함으로써 ‘프로그램 수행’을 하게 된다. 여기서는 기본적인 기능을 수행하는 과정을 통하여, CPU의 구조와 동작원리를 이해하게 된다. CPU가 수행해야 할 기능으로는 명령어 인출(instruction fetch)명령어 해독(instruction decode), 데이터 인출(data fetch), 데이터 처리(data process) 및 데이터 쓰기(data store)이다. CPU가 기억장치에 저장되어 있는 명령어를 인출하여 실행하는, 실제적인 작업을 수행하는 과정에 대하여 연구한다.


 3) 컴퓨터의 산술연산 및 논리연산; 

(1) 연구목표; 

① 연산장치(ALU)의 구성요소에 대하여 연구한다. 

② 정수의 표현에 대하여 연구한다.

③ 논리연산에 대하여 연구한다. 

④ 정수의 산술연산에 대하여 연구한다. 

⑤ 부동소수점 수의 표현 및 연산에 대하여 연구한다. 

(2) 연구내용; 

컴퓨터의 기본 기능은 수치에 대한 산술적 계산과 논리 데이터에 대한 연산이라고 할 수 있다. ALU는 수치 및 논리 데이터에 대하여 실제적으로 연산을 수행하는 부분이다. 산술적 계산은 정수와 부동소수점 수라는 두 가지 형태의 수들에 대하여 수행된다. 논리연산은 0과 1의 배열로 표현되는 2진 데이터에 대하여 이루어진다.ALU의 내부 구성은 산술연산장치, 논리연산장치, 시프트 레지스터, 보수기 및 상태레지스터 등인데 연산을 위한 이들의 동작을 연구한다. 


4) 제어 유닛 

(1) 연구목표: 

① 제어 유닛의 기능 및 구조에 대하여 연구한다. ② 마이크로명령어의 형식에 대하여 연구한다. ③ 마이크로프로그래밍에 대하여 연구한다. 

(2) 연구내용; 

제어 유닛은 명령어 코드의 해독, 명령어 실행에 필요한 제어 신호들을 발생시킨다. 즉, 명령어 사이클이 반복적으로 수행되도록 모든 동작들을 제어하는 장치이다. 각 명령어 사이클은 여러 개의 마이크로-연산들이 수행된다. 제어 유닛에서 명령어의 실행을 제어한다는 것은 제어 기억장치에 저장된 해당 마이크로명령어들을 순서대로 인출하여 처리하여, 적절한 제어 신호를 제공해 주는 것이다. 


5) 기억장치 및 보조기억장치; 

(1) 연구목표; 

① 기억장치 종류 및 특성에 대하여 연구한다. 

② 반도체기억장치에 대하여 연구한다.

③ 캐시기억장치에 대하여 연구한다. 

④ 보조기억장치의 종류와 특성들에 대하여 연구한다. 

(2) 연구내용; 

모든 컴퓨터들은 프로그램과 데이터를 저장하는 장치로서 주기억장치와 보조기억장치를 가지고 있다. 최근에는 CPU와 기억장치들 간의 속도 차이가 커지고, 저장용량이 증가하게 되었다. 시스템 성능을 향상시키고, 가격대 성능 비를 개선하기 위해 다양한 계층의 기억장치들이 시스템 내에 포함되어 있다. CPU가 직접 액세스할 수 있는 내부기억장치와 입출력제어기를 통하여 액세스할 수 있는 외부기억장치가 있다.


 6) 시스템 버스, 입출력장치 및 인터럽트, 병렬컴퓨터; 

(1) 연구목표" 

① 시스템 버스 및 동작에 대하여 연구한다. 

② 입출력장치의 접속 및 동작에 대하여 연구한다. 

③ 인터럽트의 기능 및 동작에 대하여 연구한다. 

④ 병렬컴퓨터에 대하여 연구한다. 

(2) 연구내용" 

컴퓨터 시스템을 구성하는 주요 요소인 CPU, 주기억장치 및 입출력장치들은 시스템 버스를 통하여 서로 접속된다. 이 시스템 버스의 조직, 동작원리, 그리고 버스 경합이 발생한 경우 중재 방법에 대하여 학습한다. 입출력장치들인 키보드, 디스플레이 장치 및 네트워크 제어기 등에 대하여 연구한다. 인터럽트라는 기능을 통해CPU와 입출력기기와의 효율적인 정보처리를 수행하는 것도 연구하게 된다. 이 밖에 여러 개의 프로세서들이 프로그램들 혹은 한 프로그램의 분할된 부분들을 분담하여 동시에 처리하는 기술을 사용한 병렬컴퓨터에 대하여 연구한다. 병렬컴퓨터에서는 문제 분할과 프로세서 간 통신의 문제를 잘 처리해야 한다는 점을 연구한다. 


주요 용어 및 관련 직업군" 

1) 주요 용어; 

병렬컴퓨터: 많은 수의 CPU가 병렬로 연결된 컴퓨터이다. 여러 개의 프로그램이 동시에 분산으로 처리되어, 성능이 훨씬 향상된다. 파이프라이닝: 하나의 CPU내에 여러 개의 연산 장치들이 있고, 명령어를 중첩하여 실행하고, 명령어를 병렬 처리로 프로세서 실행 효율을 높이는 기술이다. 논리연산: 연산의 대상 및 결과가 참과 거짓 두 개의 값 중 하나를 취하는 연산이다. 사칙연산 이외의 연산인 논리곱, 논리합, 부정 따위가 이에 속한다. 

산술연산: 연산 대상을 수치 데이터로 간주하고 행하는 가감승제의 사칙 연산이다. ALUArithmetic Logic Unit의 약자로서 연산 장치이다. CPU의 일부로서 컴퓨터 명령어 내에 있는 연산자들에 대해 연산과 논리동작을 수행한다. 인터럽트: CPU가 프로그램 실행 중에, 입출력 하드웨어 등의 장치나 또는 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 기능을 말한다. 

프로세서: 컴퓨터의 시스템 안에서 데이터를 산술적, 논리적으로 연산하는 중앙처리장치를 통틀어 이르는 말이다.

2) 관련 직업군, 업체 및 관련 자격증" 

(1) 관련 직업군, 업체" 

전자 관련 분야 중에서 컴퓨터하드웨어 설계, 개발, 생산 등의 직업군과 관련이 있다. PC, 노트북, 태블릿 컴퓨터 등을 개발하는 컴퓨터 관련 회사가 관련 직업군이다. 또한, 컴퓨터나 마이크로컨트롤러 등을 이용하여 전자제어 장치를 개발하는 업체들도 컴퓨터 관련 지식을 응용할 수 있는 직업군이라 할 수 있다. 컴퓨터 부품, 주변기기 개발기술자 및 연구원, 컴퓨터하드웨어 기술자 및 연구원, 컴퓨터, PC, 노트북 PC, 태블릿PC 개발업체, 게임기 개발업체, 제어시스템 및 자동화 장비, 설비 개발업체, 교육 연구기관" 

(2) 관련 자격증' 

전자공학과를 졸업한 사람은 자격시험에 응시하여 합격하면, 다음과 같은 전자관련 자격증을 취득할 수 있다. 자격증과 관련한 시험일정 및 시험과목 등은 ‘한국산업인력관리공단’에 접속하면 상세한 정보를 얻을 수 있다. 컴퓨터 역시 전쟁을 위해 만들어졌다. 

최초의 컴퓨터는 에니악(ENIAC)으로 알려져 있지만 그 이전인 1941년, 독일의 공학자 콘라드 주제가 최초의 전자/기계식 컴퓨터인 Z3를 개발했고, 영국에서는 독일군의 암호를 해독하기 위한 최초의 전자식 디지털 컴퓨터인 콜로서스 1호를 만들어낸 바 있다. 

전시에 탄도 계산이나 암호해독 등에 이용하기 위한 군사 장비가 바로 컴퓨터였다. 일반적으로 가장 많이 사용하는 PC(Personal Computer: 개인용 컴퓨터)의 규격은 1981년, 미국 IBM사에서 ‘IBM 퍼스널 컴퓨터 (Personal Computer) 5150’를 출시하면서 정착되었다. IBMPC는 비교적 값이 싸고 쉽게 구할 수 있는 부품으로 구성되었으며, 내부 구조 역시 완전히 공개함으로써 IBM 외의 다른 회사, 혹은 개인이 직접 IBMPC와 호환되는 기종을 만들 수 있었다. 

에니악이 미국에서 개발되었는데 역시 포탄의 궤적을 계산하거나 수소폭탄의 폭발을 예측하는 등 군사적 목적으로 사용되었다. 18,000개의 진공관이 들어가 무게가 30톤에 이르는데다 가격은 50만 달러(약 70억 원)에 이르렀기 때문에 일반인은커녕 학계나 산업계에서도 관심을 갖지 않았다. 

콘라드 주제는 적국이었던 미국이나 영국의 학자들과 교류가 없었던데다 Z3의 본채도 연합국의 폭격으로 파괴되었기에 오랫동안 알려지지 않았고, 콜로서스 1호 역시 그 존재 자체가 일급비밀이었기에 1970년에 이르기까지 일반인에게 알려지지 않았다. 자기테이프 저장 방식으로 데이터 저장에 용이했으며, 그 이전까지의 2진수를 이용한 입출력을 극복해 컴퓨터가 문자와 숫자를 2진법으로 변환시킬 수 있도록 해주는 어셈블리 언어 (assemblylanguage) 가 적용되었다. 이때를 기점으로 컴퓨터는 군사 외의 분야에서도 매력적인 장치가 되었다. 유니박은 1951년 미국 인구 통계국에 설치된다. 

에니악을 개발하는 데 참여했던 두 명의 엔지니어 존 에커트, 존 윌리엄 모클리는 데이터를 천공카드가 아닌 자기테이프로 저장하는 유니박 (UNIVACUniversalAutomaticComputer)를 개발했다. 이전의 에니악에 비해 획기적일 정도로 빠르고 무엇보다 공간을 절약해 주었다. 

일반인이 원자가속기를 갖고 싶어 하지도, 가질 수도 없듯이 그 당시의 컴퓨터는 누구도 가질 필요도, 가질 수도 없는 물건이었다. 최초의 상업용 컴퓨터를 판매할 기회를 잃은IBM은 한동안 시장에서 고난을 겪게 되고IBM회장은 길길이 날뛰었다.이에 개발자들은 ‘이거라면 기업에 팔 수 있지 않을까?’라고 생각했다. 

그리고 IBM과 접촉하게 된다. 그러나 당시 전자계산기 및 타자기에 있어 1인자 자리를 고수하고 있던 IBM은 독점법의 규제로 인해 유니박을 판매할 수 없었고, 결국 유니박은 IBM의 경쟁업체였던 레밍턴 랜드 (RemingtonRand) 에서 판매를 시작했다. 결국 IBM은 유니박보다 훨씬 더 작고 유지비가 적은 IBM 650을 개발해 내는 데 성공한다. 

최초로 대량생산된 컴퓨터인 IBM 650은 연구소와 기업 등에 속속 도입되게 되었다. 영업망과 대량생산 시스템을 갖춘 IBM은 이후 경쟁자들을 모두 물리치며 업무용 컴퓨터의 1인자로 군림하게 된다. MITS의 설립자인 포레스트 밈즈는 잡지에 앨테어가 실린 이후 하버드 재학생이라는 두 명의 젊은이에게 운영체제를 만들어주겠다는 연락을 받게 된다. 그리고 얼마 후 두 젊은이는 앨테어를 구동시킬 적합한 운용체계를 만들어 가져왔다. 

포레스트 밈즈는 기쁜 마음에 곧바로 계약을 하려고 했다. 폴 앨런과 빌 게이츠가 MITS와 파격적인 조건으로 계약하는 동안 또 다른 두 명의 친구 또한 시대의 전환에 참여하려 하고 있었다. 1976년, 그들은 첫번째 개인용 컴퓨터를 만들어낸다. 

특징을 바탕으로 IBMPC 및 그 호환 기종들은 이전에 나온 애플 II를 완전히 밀어내고 개인용 컴퓨터의 대명사가 될 수 있었다. 

현재 사용하는 PC들도 기본적인 아키텍처(Architecture: 시스템 전반의 구조 및 설계방식)는 여전히 IBMPC 호환 규격을 따르고 있다. 문제가 생겼다. 

그때까지HP에서 연구원으로 일하고 있던 둘 중 하나가 HP에 입사 시에 계약을 한 것이 있었는데 “사원이 발명한 것의 특허는 회사에 귀속된다”는 조항을 뒤늦게 발견한 것이다.

1977년, MITS (MicroInstrumentationandTelemetrySystems) 사가 일반인을 대상으로 한 최초의 가정용 컴퓨터를 만들어낸다. 그 이름은 ‘앨테어 8800’. 손으로 들 수 있는 상자 크기의 본체, 397달러라는 저렴한 가격으로 이 컴퓨터는 전 세계의 이목을 끌게 된다. 다만 아직 이 컴퓨터를 구동시킬 운영체제가 없다는 것이 문제였다. 

1977년 3월 16일, 미 서부해안 컴퓨터 전시회(WestCoastComputerFaire) 에서 둘은 이 새로운 컴퓨터를 공개했고 사람들은 환호하며 그들의 부스에 모여들었다. 이 전시회를 통해서 애플이라는 회사와 스티브 잡스, 스티브 워즈니악이라는 젊은이는 이름을 알리게 된다. 

컴퓨터를 발표한 이후 시장의 주목을 받은 스티브 잡스는 커다란 성공과 함께 많은 재무적 투자자를 얻게 되고 회사를 전문적으로 관리해 줄 CEO도 영입한다. 당시 펩시의 CEO였던 존 스컬리는 스티브 잡스의 한마디에 애플로 넘어오게 된다. 

애플은 어느 모로도 그럴듯한 회사의 모습을 갖추게 되었고 그때부터 정말 IBM를 타도하겠다는 청년들의 꿈은 망상이 아닌 실현가능한 것이 되어갔다. 


비즈니스용"

PC의 일인자였던 IBM은 애플의 발 빠른 침식에 당황했다. 폴 앨런은 MITS 사에서 나와 마이크로소프트라는 회사를 세웠다. 프로그램을 납품하며 어느 정도 성장을 해나가고 있지만 또래였던 스티브 잡스에 비하면 자신은 초라하기 그지없었다. 그러나 이렇게 자학하던 그의 머릿속에 스파크가 하나 인다.  

IBM 의 초조함을 감지한 그는IBMPC시장에 뛰어들면 충분히 애플을 이길 수 있음을 역설하며 자신이IBM의 개인용 컴퓨터에 운영체제를 제공해 주겠다고 장담한다.

천공카드나 토글스위치로 작동되던 불편한 컴퓨터와 달리 새로운 컴퓨터는 키보드를 통해 입력하고 모니터로 결과를 볼 수 있도록 만들어졌다.IBM측에서 그 운영체제의 이름이 무엇이냐고 묻자 그는MS-DOS (MicrosoftDiskOperatingSystem) 라 대답한다

IBM은 사실 개인용 컴퓨터 시장에 진입할 준비를 하고 있었는데 가장 필요하던 것을 빌 게이츠가 나타나 제공해 주겠다고 말했던 것이다. 소프트웨어를 장당 판다는 개념이 없었던 때였다. 보통은 납품을 해준 후에 일시불로 받는 것이 주류였는데 IBM 측은 생소한 계약에 잠시 당황했다. IBM, 마이크로소프트, 애플의 운명을 크게 뒤바꿔 버린 역사적인 계약이었다. 

빌 게이츠는 계약을 성사시키고 환희했지만 문제가 있었다. 계약을 하면서 팔아넘기기로 한 물건 자체를 그는 가지고 있지도 않았던 것이다. 이후 그는 프로그래머들을 수소문해 시애틀컴퓨터 사의 Q-DOS를 사들여 그것을 변형시킨MS-DOS를 만들고IBM에 정상 납품하는 데 성공한다. IBM에 대한 적개심을 가지고 있던 스티브 잡스는 빌 게이츠에게 설득당해 손을 잡게 된다. 

빌 게이츠 같은 애송이는 자신에게 어떤 해도 줄 수 없다는 자만심과 함께. 애플은 순순히 당할 생각이 없었다. 기업과의 단단한 영업망을 가지고 있던 IBM은 기업시장부터 반격을 가하기 시작한다. 프로그램을 제공하는 마이크로소프트 그리고 CPU를 납품해 주고 있던 인텔이라는 하도급 업체의 도움을 받아 IBM은 1위 탈환을 위해 빠르게 달리기 시작했다. 

제록스 사에서 도입한 GUI [(GraphicalUserInterface),그래픽 기능을 활용한 사용자 중심의 인터페이스)], 마우스를 이용한 새로운 운영체제를 준비하고 있었다. 차기작은 세계를 놀라게 할 만한 작품이었다. 전보다 더 세련되고 더 빠르고 전혀 다른 그런 작품. 빌 게이츠는 애플과의 협력 관계에서 관찰할 수 있었던GUI운영 시스템을 응용해IBMMS-Windows라는 운영체제를 납품하려 한다. 이를 알게 된 스티브 잡스는 길길이 날뛰었다. 새로운 GUI 시스템을 적용한 애플의 컴퓨터 리사 (AppleLisa) 가 공개된다. 

"이 컴퓨터는 사람들을 두 가지 면에서 놀라게 했다." 

첫째는획기적인 시스템과 성능 둘째는 말도 안 되게 비싼 가격이었다. 리사는 좋은 상품임에는 분명했지만 너무 높은 가격(999달러, 당시 물가를 감안했을 때 한국 돈으로 3천만 원가량)으로 인해 시장에서 외면받게 된다. 새 컴퓨터였던 리사의 실패와 회사 내부에서 점점 쌓여가는 잡스의 폭정에 대한 불만을 이유로 결국 스티브 잡스는 자신이 영입했던 존 스컬리에 의해 해고되고, IBM은 애플을 물리치는 데는 성공했지만 각 업체들이 자신을 제외한 채 독자적으로 PC를 만드는 것은 막을 수 없게 되었다. 

애플을 물리치기 위한 개방 정책이 역으로 다가온 것이다. 그러나 다른 업체가 만든 PC에도 인텔의 CPU와 마이크로소프트의 운영체제는 꼭 필요한 것이었다. 승자는 빌 게이츠였다. 우여곡절 끝에 개인용 PC가 보편화되었고 우리나라는 1967년, 경제기획원이 IBM 1401 컴퓨터를 도입해 인구조사결과를 컴퓨터로 처리한 것을 시작으로 컴퓨터를 다방면에 널리 사용하게 되었다. 


컴퓨터는 성능 면에서는? 

초기의 컴퓨터와 비교할 수 없을 정도로 발전했지만, 1945년에 제창된 폰 노이만 구조에 기반해 데이터 처리를 한다는 점은 변하지 않았다. 이는 PC나 서버, 워크스테이션 같은 일반적인 컴퓨터는 물론, 비디오 게임기나 휴대폰, MP3 플레이어 등과 같이 컴퓨터에 준하는 기능을 가진 기기 역시 마찬가지다. 

컴퓨터는 직접 손으로 만질 수 있는 부분인 하드웨어"(Hardware), 그리고 물리적으론 존재하지 않지만 컴퓨터를 이용하기 이용 하기 위해선 꼭 필요한 프로그램 및 관련 데이터를 가리키는 소프트웨어 (Software)로 구성되어있다. 각각의 대략적인 구성과 특징은 다음과 같다. 중앙처리장치(centralprocessingunit), 입력장치 및 기억장치로부터 데이터를 받아 이를 분석 / 처리하는 역할을 하며, 흔히들 CPU라고 줄여 부른다. 컴퓨터의 두뇌에 해당하는 핵심 부품이며, 컴퓨터 전반의 성능을 크게 좌우한다. 그리고 컴퓨터의 구성품 중에 가격이 가장 비싼 경우가 많다. 


입력장치"(inputdevice), 

컴퓨터를 활용하기 위해 각종 자료나 명령어를 입력할 때 쓰는 장치를 일컫는다. 키보드나 마우스, 태블릿, 조이스틱 등이 대표적이며, 최근에는 디지털카메라나 스캐너, 마이크 등도 쓰이고 있는 추세다. 한편, 모바일 기기에서는 입력장치인 동시에 출력장치인 터치 스크린이 대부분이다. 주기억장치 (mainmemoryunit), 중앙처리장치가 처리할 데이터를 보관해 두는 장치다. 

반도체를 사용하는 경우가 많으며, 한 번 데이터를 기록하면 전원이 꺼져도 데이터가 남아있는 롬 (ROM) 과 자유롭게 데이터를 쓰거나 지울 수 있지만 전원이 꺼지면 모든 데이터가 사라지는 램 (RAM) 이 있다. 특수한 목적의 컴퓨터가 아니라면 대부분 램을 사용한다. 보조기억장치(secondarymemoryunit), 주기억장치로 주로 사용하는 램은 데이터 처리 속도는 빠르지만 전원이 꺼지면 데이터가 지워지는데다 용량도 적은 편이다. 


보조기억장치" 

이러한 주기억장치를 보완하는 역할을 한다. 보조기억장치는 속도가 느린 편이지만, 전원이 꺼져도 데이터를 안전하게 보관할 수 있다. 최근에는 용량이 큰 HDD와 속도가 비교적 빠른 SSD가 보조기억장치의 주를 이루며, 이밖에 휴대하기 편한 USB 메모리 등도 널리 쓰이고 있다. 광학식 기억장치인 CD-ROM은 오늘날 컴퓨터에서 사라지는 추세다. 


출력장치"(outputdevice), 

CPU에서 처리한 정보를 실체화하여 사용자에게 전달하는 역할을 하는 장치다. 대표적인 출력장치는 모니터며, 스피커, 프린터 등도 이 범주에 속한다. 응용 소프트웨어(Applicationsoftware), 응용 프로그램, 애플리케이션이라고도 하며, 넓게 보면 운영체제를 제외한 모든 소프트웨어를 칭하는 말이다. 워드프로세서나 스프레드시트와 같은 사무용 소프트웨어, 게임이나 동영상 플레이어 같은 멀티미디어 소프트웨어 등 종류가 무척 다양하다. 일부의 경우를 제외하면 대부분의 응용 소프트웨어는 특정 운영체제에서만 구동되도록 설계된 경우가 많다. 운영체제(operatingsystem), 컴퓨터 시스템의 전반을 관리하는 가장 중요한 소프트웨어다. 

운영체계라 하기도 한다. 컴퓨터를 구성하는 모든 하드웨어 및 응용 소프트웨어는 운영체제를 통해서 역할을 수행하게 되므로 운영체제의 성격에 따라 컴퓨터 전반의 성능 및 기능, 호환성이 달라지기도 한다. 마이크로소프트의 윈도우와 애플의 맥 OS X가 대표적이다. 

각종 정보를 저장·처리하고, 수학적 계산을 하고, 기기를 제어하는 도구인 컴퓨터를 개발하고자 하는 노력은 아주 오래전부터 있어왔다. 동양에서 수학적 계산을 빠르고 간편하게 하는 데 사용된 주판은 기원전 10세기 이전에 나타났는데, 현대적 휴대용 전자계산기가 보편화되기 전인 1960년 말까지는 가게나 금융기관의 필수적 계산 도구였다. 서양에서는 대수 (logarithm) 를 사용하여 계산하는 계산자(slide rule)가 1600년대에 개발되어, 이 역시 휴대용 전자계산기가 나오기 전까지 이용되었다. 


오늘날 사용되는 컴퓨터는? 

진공관의 발명과 더불어 출현되었고, 반도체의 발명과 집적 회로의 발전으로 획기적으로 성능이 개선되었다. 전자식 컴퓨터 이전에는 기계식 계산기가 사용되었는데, 이의 효시는 프랑스 수학자 파스칼이 19세 때 아버지의 세무서에서의 일을 돕기 위해 아리스토텔레스가 기술한 고안에 기초하여 만들었던 것이다. 

1645년에 제작된 첫 번째 계산기는 톱니바퀴 열()을 회전시켜 덧셈과 뺄셈을 하는 것이었는데 계산이 자주 틀렸다고 전해진다. 파스칼의 계산기는 1679년에 독일 수학자 라이프니츠에 의해 계단식 바퀴를 사용하여 곱셈까지 하는 것으로 개량되었다. 라이프니츠는 또한 현대 컴퓨터에 사용되는 2진법을 계산기에 사용할 것을 제안하였는데, 이런 점에서 그를 최초의 계산기 과학자이자 정보 이론가라고 볼 수 있다. 

1950년대에는 진공관이 트랜지스터와 IC 칩으로 대체되면서 전자계산기 크기가 획기적으로 줄어들고, 가격은 낮아졌다. 1970년대에는 몇 개의 IC 칩을 사용하여 전력의 소모가 적고 따라서 휴대가 가능한 계산기가 상품화되었다. 1971년에 출시된 일본의 샤프(Sharp)사의 휴대용 계산기 Facit 1111은 무게가 약 450g이고, 형광 숫자표시 장치와 2차 전지를 사용하였는데, 가격은 395달러였다. 

산업혁명 이후, 자동화 작업이 필요하게 되었는데, 2진법의 수를 펀치 카드를 사용하여 나타내는 것이 사용되었다. 

라이프니츠의 계산기는 1820년에 정밀공법으로 다시 제작되어 보급되기 시작하였으며 약간의 개량을 거치면서 제2차 세계대전 때까지 생산되었는데, 이 개량된 계산기는 8자리 숫자 2개의 곱을 18초 동안에 계산할 수 있는 수준이었다. 

19세기에는 타자기의 개발에 영향을 받아 계산기에 자판을 붙이게 되었고, 20세기 초반에는 계산결과를 종이에 기록하고 전기로 바퀴를 움직이는 전기·기계식 계산기가 개발되어 제작되었다. 또한 펀치 카드를 사용하여 정보를 빠르게 입력, 저장, 분석함으로써 컴퓨터의 처리시간을 크게 단축하였다. 그러나 이동하는 기계부품을 사용하는 계산기는 계산 속도가 느릴 수밖에 없었다. 

전자식 계산기는 기계식 계산기의 움직이는 기계부품을 없앰으로써 계산 속도를 획기적으로 빠르게 하였다. 최초의 전자식 컴퓨터는 진공관을 사용한 것으로, 1946년에 처음으로 ENIAC (Electronic Numerical Integratorand Calculator) 이란 이름으로 완성되었고, 1951년에 UNIVAC I이란 이름으로 상품화되었다. 

원래 제2차 세계대전 중 미국 육군의 탄도표 계산을 목적으로 개발이 추진되었으며, 원자폭탄 개발사업인 맨해튼 계획과도 연관되었다. ENIAC은 18,000개의 진공관과 1,500개의 릴레이를 사용하였고. 크기는 12×8m이었으며, 전력 소모는 1,000 KW나 되었다. 많은 전력을 사용하기 때문에 심각한 열 분산의 문제가 있었다. 그러나UNIVAC I은 1952년의 미국 대통령 선거에서 아이젠하워의 승리를 정확하게 예측함으로써 컴퓨터의 위력을 일반인들에게 보여주었으며, 1970년대 초반까지 널리 사용되었다. 

탁상용 계산기를 대체한 것이 개인용 컴퓨터(PC)인데, 이는 미국 애플 (Apple)사에서 1977년에 처음으로 내어놓았으며, 1970~1980년대를 거치면서 일반인들에게도 널리 보급되기 시작하였다. PC는 해를 거듭할수록 메모리 용량이 커지고, 처리 속도가 빨라져 과거의 대형 컴퓨터의 성능을 능가하게 되었다. 이 과정에서 가격은 과거의 대형 컴퓨터와 비교하여 획기적으로 낮아졌으며, PC 가격은 매년 성능 향상에도 불구하고 거의 일정한 수준의 가격을 유지하였다. 

예로 1986년의 1,000달러짜리 PC의 성능은 1965년의 100만 달러짜리 컴퓨터 성능과 비슷하게 되었다. 따라서 과거의 대형 컴퓨터가 수행한 대부분의 과학 계산, 정보 처리 등이 PC로 충분하게 되었고, 인터넷의 출현으로 이제 PC는 정보를 검색하고, 통신을 하며, 여러 매체로 저장된 정보를 출력하는 장치로까지 변모하게 되었다. 같은 해 가을에는 덧셈, 뺄셈, 곱셈, 나눗셈을 할 수 있고 8자리의 발광다이오드(LED) 표시기를 갖춘 손바닥만 한 계산기가 미국에서 240달러의 가격으로 출시되었으며, 1972년 8월에는 이보다 적고 무게가 단지 70g인 계산기가 150달러에 나왔으며, 1970년대 말에는 비슷한 성능의 계산기가 10달러에 판매되었다. 

이때 계산기 가격보다는 충전기 가격이 더 높았는데, 액정 표시 장치(LCD)가 화면으로 사용되고 용량이 큰 리튬 전지가 사용됨으로써 충전기가 더 이상 필요 없게 되었다. 프로그램을 할 수 있는 탁상용 계산기는 1960년에 처음 등장하였고, 1970년대 말에는 간단한 입력장치와 출력장치를 갖춘 것이 등장하였다. 컴퓨터는 고속 연산을 목적으로 개발되었다. 

컴퓨터의 근원은 바로 계산기다. compute 라는 말부터 계산을 뜻한다. 이 단어 자체도 전자계산기를 의미하는 단어다. 실제로 슈퍼컴퓨터와 같은 대형 컴퓨터는 우리가 일반적으로 사용하는 것과는 달리 오로지 막대한 분량의 계산을 하는 용도로 사용되고 있다. 

에니악 같은 초창기의 컴퓨터도 복잡한 수식을 계산하는 용도로 발명된 것이다. 일반적인 PC 역시 그 뿌리는 계산기다. 간단한 문자 입력부터 시작해서 고사양 3D 게임 실행에 이르기까지 컴퓨터의 모든 동작은 1과 0으로 이루어진 이진수의 사칙연산 및 논리연산을 통해 수행되기 때문이다. 

몇몇 언어에서는 컴퓨터를 다르게 부르는데, 불어로는 '정돈하는 자'라는 뜻의 오르디나퇴르(ordinateur), 터키어로는 '정보를 계산하는 자'라는 뜻의 빌기사야르 (bilgisayar), 그리스어로는 '전자정보처리기'라는 뜻의 일렉트로니코스 이폴로기스티스 (Ηλεκτρονικός υπολογιστής), 아이슬란드어로는 '수(數)의 무녀'라는 뜻의 퇼바 (tölva), 중국어로는 전뇌(電腦), 즉 전자두뇌다. 

화학, 물리학, 천문학 등의 기초과학 연구나 공학 연구, 그리고 일기예보에 이르기까지 여러 다양한 분야에서 아주 많은 계산을 필요로 하는데, 이들을 빠른 속도로 할 수 있는 슈퍼컴퓨터는 1970년대에 등장하였다. 그러나 컴퓨터 기술의 발전은 오늘의 슈퍼컴퓨터가 내일의 일반용 컴퓨터가 될 정도로 빠르게 진행되고 있다. 또한 여러 대의 특정 PC나 정보처리 장치를 연결시켜 다발을 만들어 초고성능을 내도록 하고 있어, 슈퍼컴퓨터 자체의 의미도 모호해지고 있다. 


Computer." 

프로그램을 통하여 자동적으로 계산이나 작업을 수행하는 기계, 아날로그 컴퓨터와 디지털 컴퓨터가 있지만, 현대 컴퓨터는 일단폰 노이만 구조에 기반을 둔 디지털 컴퓨터를 의미한다. 좁은 의미로는 슈퍼 컴퓨터, 서버급의 메인 프레임, 개인용 컴퓨터 (PC매킨토시등), 휴대용 컴퓨터 (노트북 컴퓨터, 태블릿 컴퓨터 등) 를 컴퓨터라고 부르지만, 넓은 의미로는 게임기PMP스마트폰계산기등도 컴퓨터로 볼 수 있다. 튜닝 완전함을 충족시키기 위해서는 ‘조건 분기’ 기능이 있어야 하는데, 이는 프로그래밍 언어에서 사용하는 if문 등을 말한다. 

초창기 개인용 컴퓨터는 BASIC 등 프로그래밍 언어를 기본적으로 탑재하는 것이 상식이었다. 왜냐하면, 상용 프로그램이라는 개념이 부족했으므로 사용자가 직접 프로그램을 만들어서 컴퓨터를 활용해야 하니까, 때문에 컴파일러를 설치하지 못하는 것은 컴퓨터라 부르지 않는 사람들도 있다 카더라.  

단어의 뿌리는 Compute+er, 즉 계산하는 자(者), 옛날 책에서는 초창기 컴퓨터를 "전자 계산자"라고 적기도 했다. 이름 자체가 2차 대전 중 포탄의 탄도 계산을 위하여 기계식 계산기와 표를 이용해 숫자 계산을 수행하던 여성 근로자들의 직업에서 따 온 이름. 이때 당시만 해도 말 그대로 '계산하는 사람'이라는 단어였으나, 전자 계산기가 발명되고 해당 직업이 사라지면서 자연스럽게 사물의 명칭을 가리키는 단어로 바뀌었다. 

컴퓨터는 EDPS (Electronic Data Processing System)라고도 불리는데 입력된 자료를 프로그램이라는 명령순서에 따라 처리하여 그 결과를 사람이 알아볼수 있도록 출력하는 시스템이라는 뜻이다. 컴퓨터는 프로그램에 의해 데이터를 자동으로 처리하므로 ADPS (Automatic Data Processing System) 라고도 불린다. 

인류 문명에 있어 가장 오래된 계산 도구는 손이며, 그 후로 긴 시간에 걸쳐 주판이나 계산자와 같은 계산을 돕는 보조 도구들이 나타나기 시작했다. 1642년 파스칼에 의해 최초로 덧셈, 뺄셈이 가능한 최초의 기계식 계산기가 출현하였고 라이프니츠에 의해 곱셈, 나눗셈까지 가능한 계산기가 나왔다. 하지만 본격적인 현대 컴퓨터의 개념을 최초로 제시한 이는 찰스 배비지로서 그는 차분기관이라는 기계식 계산기를 만든 뒤 오늘날의 컴퓨터와 개념적으로 같은 기계인 해석기관을 설계 (다만 예산의 한계로 당시에 실물이 제작되지는 못했다.) 하였으며, 최초의 프로그래머가 탄생한다. 

이후 1893년에 홀러리스에 의한 천공카드 시스템이 개발되어 인구통계 및 국세 조사에 이용되었고 자동계산의 실용성이 확인된다. 잘 알려지지는 않았지만 1938년에 독일의 콘라트 추제가 Z1을 개발하였고 이후에도 계속 개량하였다. 추제는 패전국이라는 이유로 잘 알려지지 않은 부분에서 십수년동안 최초의 타이틀을 거머쥐었는데, 특히 Z3은 튜링 완전을 포함하여 현대 컴퓨터가 갖춰야 할 모든 기능을 갖춘 세계 최초의 컴퓨터였다.  

1937년 2차 대전 직전에 영국의 앨런 튜링은 추상적 계산기의 모형이 되는 튜링 머신을 고안했고 이는 추상적 계산기의 모형으로서 컴퓨터의 논리적 모델이 된다. 이후 1942년에 아이오와 주립대학의 아타나소프 교수가 베리아와 진공관으로 이루어진 특수 목적용 컴퓨터 ABC를 개발하였으나 오늘날 이 기계는 최초의 전자식 계산기라고 보기엔 특수목적용이었으므로 일반적으로는 최초의 진공관 사용 계산기로 보는 경향이 있다. 

1943년 영국 GCCS (현 영국의 GCHQ) 에서 독일군의 최고위 암호장치를 깨기위해 콜로서스를 개발하게 된다. 콜로서스는 진공관, 릴레이만 사용한 디지털 컴퓨터였으며 덤으로 프로그래밍도 가능한 컴퓨터였다. 즉, 시작은 에니악보다 더 빠른데 이놈이 발표된 건 기밀이 해지된후 1975년 이후였다. 에이컨에 의해 1944년 전기기계식 계산기인 MARK-1이 제작되었고 2차대전 이후인 1946년 에커트&머큘리에 의해범용 전자계산기 ENIAC (에니악)이 개발되었다. 

에니악이 개발되기 1년 전 헝가리 출신 수학자 존 폰 노이만이 프로그램과 데이터를 주기억장치에 두고 주기억장치에 있는 프로그램 명령어를 하나씩 수행해 나가는 방식을 제안하고, 또 오늘날까지 사용되는 2진법을 컴퓨터에 채택할 것을 주장하는데, 이 제안들이 적용된 최초의 컴퓨터인 EDSAC(에드삭)은 1949년 모리스 윌키스에 의해 개발되었다. 이로부터 현대적인 컴퓨팅이 시작되었다고 볼 수 있다.