본문 바로가기

CS/컴퓨터구조

[컴퓨터구조] 컴퓨터의 발전 과정

1세대 컴퓨터 : 진공관

1946 ~ 1957

 진공관은 정류나 증폭 등의 특성을 가지고 있는 부품으로, 1세대 컴퓨터는 진공관을 이용하여 디지털 논리나 메모리를 구현했다. 유리관으로 이루어진 부품 특성상 고장 나기 쉽다는 단점이 있었다.

  • IAS computer : 폰 노이만에 의해 고안된 초기 전자 컴퓨터로, stored program concept :명령을 천공카드 대신 메모리에 저장했다가 사용 하는 방식을 이용했다. 

2세대 컴퓨터 : 트랜지스터

1957 ~ 1964

진공관은 다음과 같은 단점들이 존재한다.

  • 부품의 크기가 커서 회로가 커질 수록 컴퓨터의 크기도 기하급수적으로 커져야 한다.
  • 금속 가열 기반이라 발열이 심하다.
  • 구조가 전구와 유사하여 수명이 짧다.

트랜지스터는 진공관을 대체하는 실리콘 기반의 solid state device로, 다음과 같은 장점이 있다.

  • 크기가 작다.
  • 값이 싸다.
  • 진공관에 비해 발열이 적다.

트랜지스터의 발명으로 인해 컴퓨터의 성능이 크게 향상될 수 있었으며, 다음과 같은 특징이 있다.

  1. 복잡한 대수 / 논리 유닛 및 컨트롤 유닛이 더 많아졌다.
  2. 고수준 프로그래밍 언어를 사용하기 시작했다.
  3. 프로그램 저장, 데이터 전송 및 라이브러리 역할 등 수행하는 시스템 소프트웨어 개념이 등장했다.

ex) IBM 7094

3세대 컴퓨터 : IC

1965 ~ 이후 세밀하게 구분하기도 함

  • Discrete Component : 각각의 트랜지스터를 보드에 납땜 및 와이어링을 통해 만든 기판.
  • Integrated Circuit : 많은 트랜지스터들을 하나의 실리콘 wafer을 이용하여 한번에 만든 기판.

1958년 집적회로(Integrated circuit) 의 등장으로 트랜지스터, 레지스터, 전도체 등을 따로 생성하여 조합할 필요 없이 한 번에 작은 기판 안에 만들 수 있어졌다.

 컴퓨터는 불린 혹은 논리 회로를 구현하는 gate 및 1비트 데이터를 저장하는 memory cell들이 상호작용하며 동작한다. 이때 트랜지스터, 레지스터 및 전도체들 역시 위 언급한 simple digital electronic components 을 조합하여 생성하므로, 각각의 부품을 따로 만들어 조립하여 만드는 대신 처음부터 실리콘 기반의 반도체에 통째로 만드는 방법을 생각하게 되었고, 이것이 IC가 된다. 

 IC는 기존 Discrete Components 방식과는 달리 통째로 반도체 기판에 gate 와 memory cell을 조합하여 만드는 부품으로, 한 제품이 각각의 세부 부품으로 나뉘어 있지 않아 고장으로부터 안전한 편이다.

칩 성능 향상 방법

칩의 성능은 칩 속에 들어 있는 트랜지스터의 수가 많을 수록 좋아진다고 볼 수 있다. 성능 향상 방법은 크게 2가지다.

  1. chip size 키우기 ( 칩 자체의 크기 )
  2. feature size 줄이기 ( 공정 )

  반도체는 wafer 이라는 실리콘 덩어리 위에 패턴을 입히는 방식으로 만든다. 이때 wafer에서 불순물이 들어 있는 부분은 사용할 수 없으므로 실리콘의 순도가 상당히 중요한데, 현재 실리콘의 순도는 99.9999....% 이상이라고 한다.

 chip size을 키우는 방식은 각 칩 내에 불순물이 포함될 확률이 증가한다. 불순물이 조금이라도 들어있는 경우 해당 칩은 사용할 수 없으므로 칩의 크기를 키울수록 수율이 낮아진다.

 feature size을 줄이는 방식은 공정을 줄여 수율을 높인다. 그러나 현재의 공정은 이미 nm 단위로 매우 작으며, 모든 물체는 원자의 크기인 1nm 이하로 줄어들 수는 없다. 따라서 두 가지 방식을 적절하게 혼합하여 성능을 높인다.


무어의 법칙 ( Moore's Law )

 무어의 법칙은 인텔의 공동 창업자인 Gordon Moore 이 주장한 법칙으로, 단일 칩 내에 들어갈 수 있는 트랜지스터의 수가 매년 대략 2배씩 증가한다는 내용이다. 최근에 와서는 완벽하게 맞는다고 보기는 힘들지만, 대략 컴퓨터의 성능이 급격하게 증가하고 있구나 하는 지표로 볼 수 있다.

단일 칩 내의 트랜지스터 수 증가는 다음과 같은 장점을 가져온다.

  • 컴퓨터 로직 및 메모리에 사용되는 비용이 감소한다.
  • 회로의 길이는 감소하고, 속도는 증가한다.
  • 컴퓨터의 크기가 감소하여 더 다양한 환경에서 사용할 수 있게 된다.
  • 단일 트랜지스터 당 필요한 전력 소모가 감소한다. ( 전체는 X )
  • 칩 사이의 연관성이 줄어들어 고장이 줄어들고 수명은 늘어난다.

데나드 스케일링 ( Dennard scaling )

 트랜지스터의 크기가 줄어듦에 따라 전력 소모도 함께 감소하므로, 단위 면적 당 트랜지스터의 수가 늘어나더라도 전체 전력 소모량은 어느 정도 일정하다는 법칙이다. 

 무어의 법칙에 의하면 매년 2배씩 트랜지스터 수의 증가로 인해 성능이 향상된다. 이때 데나드 스케일링에 따라 소비되는 전력의 크기는 어느 정도 유지된다. 따라서 전력 소모 또는 와트 당 성능이 지수적으로 증가한다고 볼 수 있다.

데나드 스케일링의 붕괴

 CMOS 는 현대의 IC 칩을 만드는데 자주 사용되는 반도체로, 부호를 변경할 때를 빼면 전력 소모가 거의 없다. 따라서 과거의 CMOS 기반 칩셋들은 대부분의 전력을 트랜지스터가 부호를 변경(switching) 할 때만 사용했다. 이를 Dynamic Energy라고 부르며, 전압의 제곱에 비례한다.

 반대로 단순히 전원 상태를 유지하기 위해 사용하는 에너지를 Static Energy 라고 부른다. 공정의 크기가 작아질수록 leakage current 가 증가하여 전체 전력에서 Static Energy의 비율이 점점 더 커진다. 이때 데나드 스케일링의 경우 Dynamic Energy 만이 유효한 시점에서 생각했던 법칙이므로, 이를 반영할 수 없다.

전체 소비 전력 중 Static Energy의 비중 증가로 인해 성능 증가 추세는 점점 완만해지고 있다. 생산은 공정의 크기만을 줄이는 것 대신 비교적 성능이 떨어지는 코어 여러개를 하나의 칩셋에 넣어 병렬 처리시키는 것을 기본으로 하고 있으며, Static Energy에 의한 전력을 감소시키기 위해 Race-to-halt 전략 - 일을 빨리 끝내고 파워를 꺼버리는 전략이 유효하다.