0. 목차
- 초기의 계산 도구(주판)
- 기계식 계산기
- 전기 기계식 계산기
- 전자식 계산기
- 컴퓨터의 세대별 분류
1. 초기의 계산 도구(주판)
초기의 컴퓨터는 주로 산술 계산을 위해 사용되었다. '컴퓨터(Computer)'라는 말은 '계산한다'의 의미를 가진 라틴어 'computare'가 어원이다. 즉, '컴퓨터'는 '계산하는 기계'로 정의할 수 있다. 계산을 하는 도구로서 가장 간단한 것은 '주판(Abacus)'이다. '주판'은 계산을 도와주는 도구로써, 덧셈과 뺄셈을 손쉽게 할 수 있도록 도와준다. 주판은 다양한 계산기의 형태를 거쳐 오늘날 우리의 생활을 편리하게 해주는 컴퓨터로 발전되었다. '주판'은 기원전 약 3000년 전 고대 메소포타미아인들이 가장 먼저 사용했다고 추정된다. 주판을 제외하면 17세기에 이르도록 계산을 위한 특별한 도구가 없었다.
한국에서는 1920년에 조선총독부에서 '조선 주산 보급회'를 조직하고서부터 주판셈이 활발히 보급되었다. 그리고 1932년부터는 현재 쓰이고 있는 윗알이 1개, 아랫알이 4개인 주판을 사용하게 되었다. 1946년에는 당시 '보성전문학교'에서 주산 경기 대회를 연 것을 계기로 이후 각종 대회가 개최되었다. 1950년대에는 상업학교의 교육과정의 주산 과목이 채택되었다. 1960년대에는 문교부에서 검정을 실시하였으며, 학교에서도 주산교육을 특기교육의 하나로 장려하였다.
주판은 1980~1990년대 초까지도 상인들과 많은 사람들이 사용해 왔다. 그러나 다양한 기술의 발달로 계산을 쉽게 해주는 전자계산기가 개발되면서 주판의 사용은 점점 줄어들고 있다. 주판으로 계산하기 어려운 많고 복잡한 계산이나 시간이 오래 걸리는 계산도 전자계산기로는 쉽게 할 수 있기 때문이다.
2. 기계식 계산기
2-1. 파스칼 라인(Pascal Line)
프랑스의 수학자이자 철학자 '블레즈 파스칼(Blaise Pascal, 1623~1662)'은 당시 세무 국장이던 아버지의 세금계산을 도와주기 위해 세계 최초로 덧셈과 뺄셈이 가능한 기계식 수동 계산기를 발명하였다. 이 계산기는 구두 상자 정도로 작은 크기로 '파스칼 라인(Pascal Line)'이라고 불렸다. '파스칼 라인'은 여러 개의 톱니바퀴가 서로 맞물려 돌아가는 방식으로, 톱니바퀴의 회전으로 덧셈과 뺄셈을 계산하였다. 어느 톱니바퀴가 1회전 하면, 한 단위 높은 의미를 갖는 톱니가 10분의 1 회전하도록 만들어진 가산기로 덧셈과 뺄셈을 수행하는 기계적인 카운터였다.
다이얼에 의하여 십진수를 표시하는 6개의 원판이 2개로 이루어져 있고, 각 원판에는 0부터 9까지의 십진수가 적혀 있어 유리를 통해 한 번에 하나의 숫자만 볼 수 있도록 설계되었다. 다이얼을 이루는 2개의 집합은 각 수를 기억하는 '레지스터(Register)'로 사용되었다. 하나의 레지스터는 계산 결과를 누적하는 '누산기(Acccumlator)'의 역할을 했고, 다른 하나는 누산기에 더하거나 빼는 값을 저장하는 데 사용되었다.
'블레즈 파스칼(Blaise Pascal)'은 1645년에 처음으로 만든 자신이 만든 기계를 대중에 공개하기 전까지 50개의 시제품을 만들어 시험해 보았고, 이후 10년 동안 기계를 계속 개선해나가면서 약 20개를 더 만들어 냈다. '브레즈 파스칼'의 계산기는 일을 능률적으로 처리할 수 있었지만, 덧셈과 뺄셈 이외의 연산은 할 수 없다는 단점 때문에 큰 관심을 끌지는 못했다. 하지만 '파스칼 라인'의 탄생은 점차 유럽을 시작으로 하여, 전 세계적으로 기계식 계산기 개발을 촉발하는 계기가 되었다. '블레즈 파스칼'이 발명한 계산기는 계산기 발달에 있어 3가지 중요한 원칙을 세웠다. 그 3가지는 다음과 같으며, 이 3가지 원칙은 현재에도 변함없이 사용되고 있다.
- 첫째, 자리 올림은 자동적으로 수행될 수 있다
- 둘째, 뺄셈은 다이얼을 역으로 회전시킴으로써 수행될 수 있다.
- 셋째, 곱셈은 덧셈의 반복적인 수행으로 가능하다.
2-2. 라이프니츠 계산기
1671년에 독일의 '고트프리트 라이프니츠(Gottfried Wilhelm von Leibniz, 1646~1716)'가 '파스칼 라인(Pascal Line)'을 개량하여 곱셈과 나눗셈도 가능한 계산기를 발명하였다. '고트프리트 라이프니츠'가 발명한 계산기는 파스칼이 발명한 파스칼린과 똑같은 톱니바퀴 방식이다. 하지만 '스텝 실린더(Stepped Cylinder)'라는 9개의 커다란 기어들을 사용한 것이 '라이프니츠' 계산기의 가장 큰 특징이라고 할 수 있다. 각각의 9개의 기어는 그 크기가 다르고, 보다 작은 '기어(Gear)'들이 그 위에 위치해 있으며, 각각의 기어들은 '피승수(被乘數)'를 표시하고, 커다란 기어의 대응되는 숫자에 적용되도록 하였다. 커다란 기어들은 각각의 완전한 1회 회전은 일단 피승수로 기록되고, 승수는 큰 기어들의 회전수로 표시되도록 하였다.
또 '라이프니츠'는 10진법보다 기계 장치에 더 적합한 진법을 연구해서, 17세기 후반에 2진법을 창안했다. 2진법은 현대 전자식 컴퓨터의 기초가 되었다.
2-3. 해석 기관(Analytical Engine)
19세기가 되어 영국의 수학자 '찰스 배비지(Charles Babbage, 1791~1871)'에 의해 계산기 개발 기술은 새로운 단계로 접어들게 된다. '찰스 배비지'는 1823년에 '삼각함수(Trigonometric Function)'를 유효숫자 5자리까지 계산하여 종이에 표로 인쇄하는 '차분 기관(Difference Engine)'을 만들었다. 또한 1833년에는 방정식을 순차적으로 풀 수 있도록 고안된 기계식 계산기인 '해석 기관(Analytical Engine)'을 설계했다.
'해석 기관'의 주요 구성 요소로는 '산술 연산'을 수행하는 연산 장치인 'MILL', 기억 장치인 'STORE', 입력 장치인 '카드 판독기', 출력 장치인 '프린터'와 '카드 천공기'가 각각 연결되어 있어, 오늘날 사용하는 컴퓨터의 기본 요소를 모두 갖춘 것이었다. 그러나 당시 기계 부품 제작 기술의 한계로 실물을 제작하지는 못했다. 동작 원리를 살펴보면, '연산 카드(OperATION CARD)'로 MILL이 수행할 연산을 지정하고 연산에 사용될 데이터의 주소는 '변수 카드(Variable Card)'로 지정한다. 그러면 MILL은 STORE에 지정된 위치로부터 데이터를 읽어와 레지스터에 저장하고 연산을 수행한 후, 결괏값을 다시 STORE에 저장한다. 여기서 '연산 카드'와 '변수 카드'의 내용을 합한 것이 현대 컴퓨터의 '프로그램 코드(Program Code)'에 해당한다.
2-4. 천공 카드 시스템(Punch Card System)
1889년, 미국의 '허먼 홀러리스(Herman Hollerith, 1869~1929)'는 인구조사에 활용하기 위해 '천공 카드 시스템(PCS: Punch Card System)'을 개발하였다. '천공 카드 시스템(PCS)'은 종이 카드에 구멍을 뚫어 자료를 기록하는 시스템으로, 기기로 수백 장의 카드를 읽고 기억하는 데 1분도 걸리지 않았다. 그 결과, 1890년에 시행된 인구조사에서는 7년 이상이 걸리던 통계 처리 시간을 3년 이하로 단축시켰다.
1890년, 미국은 전 국민에 대한 통계자료의 처리에 어려움을 겪고 있었다. 조사한 통계를 행정에 이용하기 위해서 데이터 처리에 무려 2년이라는 긴 시간이 걸렸기 때문이다. 인구조사는 땅이 넓어서 7~8년씩이나 걸리기도 했다. 미국 정부에서는 이를 해결하기 위해, 많은 상금을 걸고 이에 대한 해결책을 공모하게 되었다. 공모 결과는 '천공 카드 시스템(PCS: Punch Card System)'을 이용한 방법을 제안한 역무원 '허먼 홀러리스(Herman Hollerith)'에게 돌아갔다.
'미국 통계국(US Census Bureau)'은 이 방법을 통해서 이전보다 4배는 빠른 속도로 데이터를 처리할 수 있게 되었다. 1894년, '허먼 홀러리스(Herman Hollerith, 1860~1929)'는 '천공 카드(Punch Card)'가 사업성이 있다고 판단하고 'TMC(Tabulating Machine Company)'을 설립하게 되었다. 그 후 '허먼 홀러리스(Herman Hollerith)'는 1914년에 C-T-R Co.로 회사 이름을 변경했고, 이것은 후에 IBM의 전신이 되었다.
3. 전기 기계식 계산기
3-1. MARK-1
1939년, 하버드 대학의 교수 '하워드 해서웨이 에이킨(Howard Hathaway Aiken, 1900~1973)'과 3명의 다른 공학자인 '클레어 D. 레이크', 'B.M. 두피', 'F.E. 해밀턴'은 사람이 개입하지 않아도 선택된 '5가지의 수학적 연산(덧셈, 뺄셈, 곱셈, 나눗셈, 앞의 결과 참조)' 순서를 수행할 수 있는 자동 계산 기계에 관한 작업에 착수했다. 그리고 1944년 2월, 하워드 해서웨이 에이킨(Howard Hathaway Aiken)'과 그의 동료들은 IBM사의 후원으로 최초의 '전자 기계식 계산기'인 'MARK-1'을 완성했다. 'MARK-1'은 '찰스 배비지(Charles Babbage, 1791~1871)'의 '해석 기관(Analytical Engine)'을 실현시킨 것으로 미 해군 탄도 계산에 이용되었으며, 수많은 수학이나 과학 문제를 해결하는 데 공헌했다.
MARK-1은 전기 기계적 장치인 릴레이를 3000개, 4마력의 '전동기(Motor)'를 사용하는 72개의 기어식 계산 기구로 구성되었다. MARK-1은 23자리의 10진수 곱셈을 4~5초에, 가감산은 초당 3회 하였다. 사칙연산에 사용할 데이터는 '천공 카드'로 읽어들이고, 출력은 '천공 카드'나 '타자기(Typewriter)'로 하였다.
3-2. MARK-2
'하워드 해서웨이 에이킨(Howard Hathaway Aiken, 1900~1973)'은 연구를 계속해서 1947년에는 발전된 형태의 전자동 Mark-2를 완성했다. Mark-2는 '교환이론(Switching Theory)'의 많은 분야와 학문적인 항해일지의 자료처리에 커다란 공헌을 하였다.
4. 전자식 계산기
'찰스 배비지(Charles Babbage)'가 제안한 '해석 기관'에는 주요 부품들이 모두 기계적인 장치들이었기 때문에 속도가 느리고 신뢰도가 낮다는 단점이 있었다. 그 후 '진공관(Vacuum Tube)'이 발명되면서 그러한 단점들이 개선될 수 있었고, '진공관을 사용한 최초의 전자식 컴퓨터인 '에니악(ENIAC: Electronic Numerical Integrator And Computer)'을 미국의 '에커트(J.P. Eckert)'와 '모클리(J.W. Mauchly)'가 개발했다.
그러나 '에니악(ENIAC)'은 프로그래밍 과정에서 프로그램의 순서를 '와이어(Wire)' 결합과 '플러그 스위치(Plug Switch)'를 일일이 사람의 손으로 조작해야 한다는 단점이 있었다. 이러한 '에니악(ENIAC)'의 단점을 보완하기 위한 주장을 한 사람이 '존 폰 노이만(John von Neumann, 1903~1957)'이다. '존 폰 노이만(John von Neumann)'은 1946년에 '전자식 계산 기계의 논리 설계에 대한 제1차적 고찰'이라는 논문에서 '프로그램 내장 방식(Stored-Program)'을 주장했다. 그의 설계 개념은 2진수 체계를 사용하고 프로그램과 데이터를 내부에 저장한다는 것이었다.
- 에드삭(EDSAC): 1949년 영국의 케임브리지 대학의 교수 '윌키스(Maurice Wilkes)'는 10진수 체계와 프로그램 내장 방식의 계산기인 '에드삭(EDSAC: Electronic Delay Storage Automatic Calculator)'을 개발했다.
- 에드박(EDVAC): 1952년에 '폰 노이만'도 2진수 체계와 프로그램 내장 방식을 적용한 '에드박(EDVAC: Electronic Discrete Variable Automatic Computer)'을 개발했다.
- 유니박(UNIVAC): 한편, 기존의 컴퓨터가 과학·공학·군사용으로 사용된 것에 반해, 1951년에는 미국의 '에커트(J.P. Eckert)'와 '모클리(J.W. Mauchly)'가 '유니박(UNIVAC: UNIVersal Automatic Computer)'을 개발하여 인구조사통계국에 설치함으로써 세계 최초의 상용 컴퓨터가 등장했다.
'컴퓨터의 발전 과정'에 있어서 '진공관(Vacuum Tube)'과 '프로그램 내장 방식'의 사용은 근대에서 현대로 넘어오게 되는 분기점이 되었다.
5. 컴퓨터의 세대별 분류
컴퓨터의 발전 과정을 세대별로 명확하게 설명하기는 어렵지만, 컴퓨터 세대는 아래와 같이 새로운 하드웨어 부품의 출현을 기준으로 분류되고 있다. 특히 '집적 회로(IC: Integrated Circuit)'가 개발된 3세대 이후에는 컴퓨터 세대에 대한 정의가 분명하지 않으며, 현재 컴퓨터의 주요 부품으로 사용되고 있는 '집적 회로(IC)'는 '집적도(Degree of Integration)'에 따라 다음과 같이 분류된다.
- SSI(Samll Scale IC): 트랜지스터 수십 개가 집적된 소규모 IC로, 기본 게이트 기능과 플립플롭이 이에 해당한다.
- MSI(Medium Scale IC): 트랜지스터 수백 개가 집적된 중규모 IC로, '디코더(Decoder)', '인코더(Encoder)', '멀티플렉서(Multiplexer)', '디멀티플렉서(Demultiplexer)', '카운터(Counter)', '레지스터(Register)', '소형 기억 장치' 등의 기능을 포함한다.
- LSI(Large Scale IC): 트랜지스터 수천 개가 집적된 대규모 IC로, 8비트 마이크로프로세서나 소규모 반도체 기억 장치 칩이 이에 해당한다.
- VLSI(Very Large Scale IC): 트랜지스터 수만에서 수십만 개 이상이 집적된 초대규모 IC로, '대용량 반도체 메모리', '1만 게이트 이상의 논리 회로', '단일 칩 마이크로프로세서(Single-chip microprocessor)' 등이 있다.
- ULSI(Ultra Large Scale IC): 트랜지스터가 수백만 개 이상 집적된 극대규모 IC로, '인텔(Intel)'의 '486'이나 '팬티엄(Pentium)', 수백 메가바이트 이상의 반도체 기억 장치 칩 등이 이에 해당한다. 그러나 VLSI와 ULSI 사이의 정확한 구분은 사실 모호하다.
'컴퓨터(Computer)'는 급속한 기술의 발전과 더불어 새로운 제품들이 계속 등장했다. 하드웨어뿐만 아니라 소프트웨어와 통신도 중요해짐에 따라, 3세대 이후부터 세대의 분류는 불분명해지고 있으며, 의미도 줄어들고 있다. 아래의 '컴퓨터의 세대 구분'을 표로 정리한 것이다.
구분 | 1세대 | 2세대 | 3세대 | 4세대 | 5세대 |
주요 소자 | 진공관 | 트랜지스터 | SSI, MSI | LSI, VLSI | VLSI, ULSI |
주기억 장치 | 자기 드럼, 수은 지연 회로 | 자기 코어 | IC(RAM, ROM) | LSI, VLSI | VLSI |
보조 기억 장치 | 천공 카드, 종이 테이프 | 자기 드럼, 자기 디스크 | 자기 디스크, 자기 테이프 | 자기 디스크, 자기 테이프 | 자기 디스크, 광 디스크 |
처리 속도 | ms(10-3) | μs(10-6) | ns(10-9) | ps(10-12) | fs(10-15) |
사용 언어 | 기계어, 어셈블리어 | 고급어(FORTRAN, ALGOL, COBOL) | 고급 언어(LISP, PASCAL, BASIC, PL/I) | 고급 언어(ADA 등), 문제 지향적 언어 | 객체 지향 언어(C++, Java) |
대표적인 컴퓨터 | 에니악(ENIAC), 니박(UNIVAC), 에드삭(EDSAC), 에드박(EDVAC) | IBM 7094, CDC 1604 등 | IBM360 시리즈, UNIVAC9000 시리즈, PDP-11 등 | SYSTEM/370 계열(IBM), PDP-9(DEC), '매킨토시(애플), PC/XT, PC/AT(IBM) |
5-1. 1세대 컴퓨터
1세대는 컴퓨터의 상품화와 실용화가 시작된 시기로서 하드웨어의 개발에 중점을 두었다. 컴퓨터의 기본 회로 소자는 '진공관'을 사용했으며, 컴퓨터 언어는 '기계어(Machine Language)'와 '어셈블리어(Assembly Language)'를 사용했다. 대표적인 컴퓨터로는 '에니악(ENIAC)'과 '유니박(UNIVAC)' 등이 있다. 또한 '프로그램 내장 방식'을 적용한 '에드삭(EDSAC)'과 '에드박(EDVAC)'이 있다. 1세대 컴퓨터의 특징은 다음과 같다.
- 진공관을 사용함에 따라 컴퓨터 매우 크다.
- 열 발생량이 많고, 전력 소모가 큰 단점이 있다.
- '존 폰 노이만(John von Neumann)'이 제안한 '프로그램 내장'의 개념을 도입했다.
- '수치 계산', '통계' 등에 사용되었다.
5-2. 2세대 컴퓨터
전자식 컴퓨터의 역사에서 가장 중요한 변화는 '진공관(Vacuum Tube)'을 '트랜지스터(Transistor)'로 대체한 것이다. 1947년, '벨 연구소(Bell Lab)'에서 개발된 '트랜지스터'는 '진공관'과 같은 기능을 수행하지만 소형이고 열 발산과 전력 소모를 대폭 줄인 반도체로 전자공학 분야에 혁명을 몰고 왔다. '트랜지스터'를 사용함으로써 컴퓨터는 더 고속화·소형화되고, 기억 용량이 늘었다. 2세대 컴퓨터는 소프트웨어 개발에 주력한 시기로, 사용된 언어로는 '포트란(FORTRAN)', '알골(ALGOL)', '코볼(COBOL)' 등이 있다. 대표적인 2세대 컴퓨터로는 IBM 7094, CDC 1604 등이 있다. 2세대 컴퓨터의 특징은 다음과 같다.
- '자기 드럼(Magnetic Drum)'이나 '자기 디스크(Magnetic Disk)' 같은 대용량의 '보조 기억 장치'가 사용되었다.
- '운영체제(OS)'의 개념을 도입했다.
- '다중 프로그래밍(Multi-Programming)' 기법을 사용했다.
- 온라인 실시간 처리 방식을 도입했다.
- '과학 계산', '일반 사무용'으로 사용되었다.
5-3. 3세대 컴퓨터
3세대는 '트랜지스터(Transistor)', '다이오드(Diode)', '저항기(Resistors)' 등과 같은 각종 부품을 하나의 칩에 집적하여 만든 '집적 회로(IC: Integrated Circuit)'를 기본 회로 소자로 사용한 컴퓨터가 등장한 시기다. '집적 회로(IC)'의 사용에 따라 컴퓨터가 소형화되고 기억 용량이 증대되었다. 또한 이 시기에는 소프트웨어 산업의 비중이 증가하였으며, 사용된 언어로는 '리스프(LISP)', '파스칼(PASCAL)', '베이직(BASIC)', 'PL/I' 등이 있다. 대표적인 모델로는 'IBM360 시리즈', 'UNIVAC9000 시리즈', 'PDP-11' 등이 있다. 3세대 컴퓨터의 특징은 다음과 같다.
- '캐시(Cache)' 기억 장치가 등장했다.
- '광학 표시 판독(OMR: Optical Mark Recognition)', '광학 문자 인식(OCR: Optical Character Recognition)', '자기 잉크 문자 판독 장치(MICR: Magnetic Ink Character Reader)가 도입되었다.
- '패밀리(Family)' 개념의 출현에 따라 프로그램의 호환성이 이루어졌다.
- '시분할(Time Division)' 처리를 통해 '다중 프로그래밍(Multi-Programming)'을 지원했다.
- '경영 정보 시스템(MIS: Management Information System)'이 확립되었다.
5-4. 4세대 컴퓨터
'마이크로프로세서(Microprocessor)'를 등장시킨 'LSI(Large Scale IC)' 기술이 출현된 시점부터 컴퓨터 세대는 4세대로 구분된다. 4세대에서는 컴퓨터의 소형화와 저렴한 가격을 바탕으로 '개인용 컴퓨터(PC)'가 등장하여 대중화를 이루었다. 온라인 실시간 처리 시스템이 보편화되었고, 기존 시스템에 비해 빠른 처리 속도를 갖게 되었다. 대표적인 모델로는 'SYSTEM/370 계열(IBM), 'PDP-9(DEC)', '매킨토시(애플)', 'PC/XT', 'PC/AT(IBM)' 등이 있다. 4세대 컴퓨터의 특징은 다음과 같다.
- '마이크로프로세서(Microprocessor)'가 개발되었다.
- 가상 기억 장치의 개념이 도입되었다.
- 컴퓨터 네트워크가 발전되었다.
5-5. 5세대 컴퓨터
5세대는 아직 명확하게 구분되고 있지는 않으나, 부품의 집적도가 획기적인 응용 소프트웨어의 출현에 의해 정의될 가능성이 있다. 현 시점에서는 VLSI, ULSI를 기본 소자로 하여 초미니·초고속을 추구하며, 기존 시스템의 수준을 벗어나 '경영 정보', '지식 정보', '인공지능(AI)', '신경망(Neural Network)', '퍼지(Fuzzy)', '멀티미디어(Multimedia)', '가상 현실(VR: Virtual Reality)'을 목표로 하고 있다. 또한 컴퓨터와 인간의 인터페이스를 좀 더 인간에게 편리하도록 하기 위한 '그래픽 사용자 인터페이스(GUI: Graphic User Interface)' 환경을 구현하고 있다. 또한 컴퓨터의 성능을 향상시키기 위해 다중 프로세서를 사용한 '병렬 처리 컴퓨터 시스템(Parallel Processing Computer System)', '광 컴퓨터(Optical Computer)', '신경망 컴퓨터(Neural Computer)' 등의 개발과 인공지능의 연구가 활발히 진행되고 있다. 5세대 컴퓨터의 특징은 다음과 같다.
- '비 폰 노이만(Non-Von Neumann)' 컴퓨터 구조가 제안되었다.
- 고도의 '사람 대 기계 인터페이스(Man-Machine Interface)'가 개발되었다.
- '객체 지향 프로그래밍(OOP: Object-Oriented Programming)' 언어가 사용되고 '문자(Text)', '음성(Voice)', '영상(Video)' 정보가 통합되는 멀티미디어 시대가 도래했다.