컴퓨터는 왜 2진수를 사용할까

컴퓨터는 0과 1, 2가지 숫자만을 인식한다. 문자 하나든, 엄청나게 방대한 데이터든 결국 0과 1이다. 현대 사회에서 많은 사람들은 이 사실을 알고 있다.

그런데 왜 0과 1일까? 컴퓨터가 멍청해서?

왜 컴퓨터가 이렇게 설계되었는지, 컴퓨터의 역사를 알 필요가 있다.

컴퓨터의 역사

근대의 대부분 전기 장비들은 진공관으로 이루어져 있었다.

vacuum_tube

진공관은 하부의 cathode가 가열되면서 전자가 위로 올라가고, 상부의 plate(양극)가 이 전자를 당겨서 발생하는 전류로 무언가 일을 하는 구조이다. 내부에 전자가 가득 차있다는 전제 하에, 전류는 빛의 속도로 신호를 전달한다.

이 안에서 전자를 흘렀다 / 안흘렀다 제어하는 것이 핵심 기능이고, 이런 진공관을 여러 개 연결해서 빠르게 산술 연산이나 논리 연산을 하도록 한 계산기가 컴퓨터의 시초가 된다.

enaic

최초의 컴퓨터라 불리는 Eniac에는 18000 ~ 19000개의 진공관이 있었다.

그런데 진공관은 가열이나 운반에 인한 파손, 큰 부피 등 사용에 애로사항이 많았다. 그래서 발명된 것이 트랜지스터이다.
transistor

트랜지스터의 역할은 전자/전기 신호를 증폭시키거나 스위칭하는 것이다. 진공관의 역할과 크게 다르지 않다.

이 트랜지스터도 점점 소형화되었고 그 소형화된 트랜지스터가 촘촘하게 박혀있는 것이 CPU이다.

https://en.wikipedia.org/wiki/Transistor_count

CPU에 트랜지스터가 몇 개 박혀있는지 표로 나와있다(아이폰 12 pro에 들어가는 프로세서에는 트랜지스터가 무려 11,800,000,000개…).

결론

CPU도 결국 연산장치이고, 한정된 부피 안에서 얼마나 많은 트랜지스터가 전류를 제어할수 있느냐가 가장 핵심적인 기능이다.

컴퓨터의 출발은 계산기이고, 계산기의 출발은 0과 1이었다. 컴퓨터의 두뇌인 CPU가 0과 1만 알아듣기 때문에, 컴퓨터는 0과 1을 사용하게 되었다.