컴퓨터의 역사
이번 포스팅은 컴퓨터의 역사에 대해 하겠습니다. 지금의 컴퓨터가 있기까지 많은 단계를 거쳐 개발 되었습니다. 처음의 컴퓨터는 지금의 용도와는 많이 다르고 겉모습도 많이 다릅니다. 전쟁에서 계산을 빨리 하려고 개발된 컴퓨터가 현재는 많은 일을 할 수 있으며 많은 업무에 도움을 주고 있습니다.
컴퓨터의 발전 과정의 특징은 프로세서의 속도 증가, 부품 수의 감소, 기억장치 용량의 증가, 그리고 입출력 장치 용량 및 속도의 증가로 볼 수 있습니다.
컴퓨터는 원래 임의의 방법으로 외부 환경과 상호작용을 합니다. 컴퓨터의 조직상으로 네 가지의 구성요소를 가지고 있습니다. 중앙처리장치, 주기억장치, 입출력장치, 시스템 상호연결입니다. 중앙처리장치는 CPU라고 불리는 것입니다. 컴퓨터의 동작을 제어하고 데이터 처리 기능들을 수행합니다. 간단히 프로세서(Processor)라고 부르기도 합니다. 주기억장치는 데이터를 저장하는 기능을 가지고 있습니다.
입출력 장치는 컴퓨터와 외부장치 사이에 데이터를 이동하는 것을 담당합니다 시스템 상호연결은 중앙처리장치, 주기억장치, 입출력장치들 사이의 통신을 제공하는 역할을 합니다. 시스템 상호연결의 예로는 모든 요소들을 선을 이용하여 접속해주는 시스템 버스가 있습니다. 각각의 구성요소들은 시스템 내에서 한 개 또는 그 이상 존재할 수 있습니다. 전통적으로 CPU는 한 개씩만 사용되어 왔지만 최근에는 한 컴퓨터에 다수의 프로세서를 포함시키는 경우가 대부분입니다.
컴퓨터의 역사를 따라가다 보면 컴퓨터의 구조와 기능을 개괄적으로 이해하는데 도움을 줍니다. 또한 컴퓨터의 성능이 어떻게 변해 왔는데 컴퓨터 자원들을 어떻게 균형 있게 사용하는지에 대해 이해할 수 있습니다.
제1세대 진공관
컴퓨터산업의 제 1세대는 진공관을 사용한 시기로 컴퓨터들은 대단히 크고 계산은 느리며 많은 열을 발생시켰습니다. 이러한 진공관은 아주 빈번하게 고장을 일으켰으나 당시 신문이나 잡지 등에서는 세상을 변화시킬 '전자두뇌'라는 평을 받았습니다.
1940년대 후반까지 만들어진 ENIAC, EDVAC, EDSAC 그리고 다른 여러 컴퓨터 시스템은 주로 진공관을 사용하여 실험적인 목적으로 개발되었습니다.
ENIAC은 펜실베니아 대학에서 개발된 세계 최초의 일반목적용 전자식 디지털 컴퓨터입니다. 컴퓨터가 최초에 개발 될 때 전쟁 때문에 개발 되었다는 사실은 모두 알고 계실겁니다. 미국이 제2차 세게대전에서 사용할 무기 개발 때문에 개발이 이루어 졌습니다.
ENIAC은 무게가 30톤이나 되었으며 크기는 1500평방피트를 차지했고 18,000개 이상의 진공관들이 사용되었습니다. 엄청난 숫자의 크기와 숫자를 자랑하고 있습니다. 이것을 작동하기 위해서는 140kw의 전력을 소모한다고 합니다.
현재의 컴퓨터와 비교하면 정말 엄청난 크기일 수 있으나 그 당시 어떤 기계식 컴퓨터보다 빨랐으며 1초에 5000회의 덧셈을 계산할 수 있었습니다. 또한 2진 기계가 아닌 10진 기계였으며 계산도 10진수 체계로 계산 하였습니다.
그 다음으로는 폰 노이만 기계가 개발됩니다. 폰 노이만 기계라는 것은 컴퓨터의 하나의 개념에 해당하는데 그 개념은 프로그램의 저장을 의미합니다. ENIAC에서는 프로그램을 저장하고 변경하는 일이 매우 번거로운 작업이었습니다.
만약 프로그램이 데이터와 함께 기억장치에 저장될 수 있다면 프로그래밍 과정이 더 편리할 수 있었습니다. 따라서 프로그램을 저장할 수 있도록 아이디어를 낸 사람이 폰 노이만 입니다. 그리고 그러한 아이디어를 바탕으로 EDVAC이라는 컴퓨터를 개발하게 됩니다. 새로운 기능은 프로그램을 저장할 수 있는 방식입니다. IAS컴퓨터라고 불린 새로운 방식의 컴퓨터의 개발을 시작합니다.
제2세대 트랜지스터
전자식 컴퓨터에서 최초의 중요한 변화는 진공관을 트랜지스터로 대체하면서 나타났습니다. 트랜지스터는 진공관보다 작고 싸며 더 적은 열을 발생시킵니다. 또한 컴퓨터를 만드는데 진공관과 똑같은 방식으로 사용될 수 있습니다. 전선과 금속판들, 진공을 필요로 하는 진공관과 달리 트랜지스터는 실리콘으로 만들어진 고체 장치입니다.
트랜지스터는 1947년에 Bell연구소에서 발명되었고, 1950년에 전자혁명을 일으켰습니다. 그러나 1950년대 후반이 되어서야 완전히 트랜지스터화된 컴퓨터들이 상업적으로 이용될 수 있었습니다. IBM은 이 새로운 기술에 대해서 최초의 회사가 되지 못했습니다. 그 이전 진공관 컴퓨터에서는 IBM은 처음으로 도전하여 최고의 컴퓨터 회사가 될 수 있었지만 트랜지스터를 따라오지는 못했습니다.
트랜지스터를 사용하게 되면서 컴퓨터는 제2세대로 들어가게 됩니다. 컴퓨터는 새로운 세대로 바뀔 때마다 이전 세대의 컴퓨터들보다 더 고속화되고, 기억용량이 증가하며, 크기가 줄어드는 특징을 보이고 있습니다. 제2세대에 나타난 또 다른 변화는 더 복잡한 산술과 논리 유닛과 제어유닛, 고급 프로그래밍 언어의 사용 및 소프트웨어의 출현입니다.
제2세대 컴퓨터를 대표하는 컴퓨터는 IBM 7094입니다. IAS컴퓨터와의 몇 가지 차이점이 있습니다. 가장 중요한 점은 데이터 채널의 사용인데 데이터 채널은 자체 프로세서와 명령어를 가진 독립적인 입출력 모듈입니다. 데이터 채널을 가진 컴퓨터 시스템에서 CPU는 세부적으로 입출력 명령어들을 실행하지 않습니다.
데이터 채널은 CPU와는 독립적으로 일을 수행하며 수행이 끝나면 CPU에 신호를 보내는데 이 방식이 CPU의 부담을 줄여줍니다. 이러한 데이터 채널과 CPU, 기억장치 사이를 연결해주는 장치인 멀티플렉서 또한 제2세대 컴퓨터의 특징이라고 할 수 있습니다.
제3세대 집적회로
한 개의 독립적인 트랜지스터는 이산부품이라고 불립니다. 1950년대부터 1960년대 초까지 전자장치는 대부분 이상 부품인 트랜지스터, 저항, 커패시터 등으로 구성되었습니다. 이산 부품들은 각각 분리되어 제조되었고, 별도로 패키징되어 회로 보드 위에서 납땜 되거나 선으로 접속 되었습니다. 전자장치에 트랜지스터가 필요할 떄마다 핀들이 부착된 실리콘 조각이 들어 있는 작은 금속 튜브를 회로 보드에 납떔으로 연결하였습니다.
제2세대 초기의 컴퓨터들은 약 10,000개 정도의 트랜지스터들로 구성되었는데 부품의 수가 점점 증가하면서 수십 만개에 이르게 되었습니다. 따라서 대용량 컴퓨터를 제작하는 것이 점점 어려워지게 되었습니다. 이 때 전자공학에서의 미세 전자공학의 혁명이 일어나게 되고 집적회로의 발명이 되었습니다. 이때부터 제3세대인 집적회로의 시대가 시작됩니다.
컴퓨터의 기본 요소는 저장, 이동, 처리 및 제어 기능을 수행할 수 있어야 합니다. 이를 위해서는 두 가지 기본 부품이 필요한데 게이트와 기억 소자입니다. 게이트는 불 대수 또는 논리함수를 수행할 수 있는 장치입니다. 이와 같은 게이트와 기억소자들이 연결선들로 구성됩니다.
집적회로는 트랜지스터, 레지스터 및 컨덕터와 같은 부품들을 실리콘과 같은 반도체를 이용하여 제조할 수 있다는 사실을 이용하였습니다. 많은 트랜지스터들이 한 번에 하나의 실리콘 웨이퍼 위에 만들어 질 수 있습니다. 그 웨이퍼는 여러 개의 칩으로 나누어집니다.
또한 이러한 집적회로의 발달 과정 중 무어의 법칙이라는 것이 있습니다. 인텔의 설립자인 무어에 의해 제안되었는데 하나의 칩에 집적될 수 있는 트랜지스터의 수가 매년 두 배씩 증가하고 있다는 것을 발견했으며, 이러한 발전속도는 미래에도 계속 될 것이라고 예상했습니다. 1970년대에 들어와서 18개월마다 두 배씩 증가하는 것으로 떨어졌지만 아직도 계속 증가하고 있습니다. 기술의 발전에 따라 점점 더 컴퓨터의 성능이 좋아진다는 증거입니다.
이후 세대들
제3세대 이후에는 컴퓨터의 세대 정의가 분명하지 않습니다. 집적회로의 기술의 발전이 4세대와 5세대를 나눠주고 있습니다.
대규모 집적회로(LSI)가 출현함에 따라 1,000개 이상의 부품들이 한 개의 IC에 집적되었습니다. 이런 것을 4세대라고 할 수 있으며 초대규모 집적회로(VLSI) 또한 등장하게 됩니다. 칩당 10,000개 이상의 부품들을 집적할 수 있습니다. 5세대라고 정의할 수 있으며 현재는 ULSI라고 하여 칩에 백만 개 이상의 부품을 집적시킬 수 있습니다.
따라서 현재의 세대 구분은 몇 개를 집적할 수 있느냐에 있는데 더 이상 얼마나 많은 부품을 집적할 수 있는가는 무의미 한 것 같습니다.
'IT' 카테고리의 다른 글
LG U+ 공유기 설정 및 포트포워딩 (0) | 2017.09.06 |
---|---|
기계명령어의 특성 (0) | 2017.09.03 |
스레드(Thread)와 프로세스(Process) (0) | 2017.08.29 |
인공지능 스피커 및 종류에 대해 (2) | 2017.08.28 |
소켓과 윈도우 소켓에 대해 (0) | 2017.08.27 |
댓글