본문 바로가기
카테고리 없음

[기획 연재 2편] 0과 1의 비밀: 전기는 어떻게 '논리'가 되는가? (트랜지스터의 원리)

by khhjyc_ 2026. 1. 16.

서론: 우주의 잡음 속에서 신호를 찾다

NASA 관제 센터에서 근무하던 시절, 우리는 수억 킬로미터 떨어진 보이저 호나 화성 탐사선에서 보내오는 미세한 전파 신호에 귀를 기울였습니다. 우주는 절대 고요하지 않습니다. 태양풍과 각종 방사능이 만들어내는 거대한 잡음(Noise)으로 가득 차 있죠. 그 혼란 속에서 우리가 신뢰할 수 있는 유일한 언어는 아주 단순했습니다. 바로 '켜짐(On)'과 '꺼짐(Off)'입니다.

많은 분들이 컴퓨터를 매우 복잡한 기계라고 생각하지만, 그 본질을 파고들면 놀라울 정도로 단순한 원리가 숨어 있습니다. 컴퓨터는 숫자 '9'를 모릅니다. 알파벳 'A'도 모릅니다. 컴퓨터가 이해하는 유일한 실체는 전기가 흐르는가(1), 흐르지 않는가(0) 뿐입니다.

지난 1편에서 C언어가 이 기계를 제어하는 도구라고 말씀드렸다면, 오늘 2편에서는 도대체 이 단순한 전기 신호가 어떻게 우리가 보는 화려한 그래픽과 복잡한 연산으로 변환되는지, 그 물리적 실체인 이진법트랜지스터의 세계를 탐험해 보겠습니다.

본론 1: 왜 하필 0과 1인가? (이진법의 과학)

인간은 손가락이 10개라서 10진법을 사용합니다. 그렇다면 최첨단 기기인 컴퓨터는 왜 10진법을 쓰지 않고, 비효율적으로 보이는 2진법(Binary)을 사용할까요? 여기에는 '전기'라는 불안정한 물질을 다루기 위한 공학적 고민이 담겨 있습니다.

전압(Voltage)과 데이터의 안정성

컴퓨터 내부에서는 '전압의 높낮이'로 데이터를 표현합니다. 만약 컴퓨터가 10진법을 쓴다면 0V는 0, 1V는 1, ... 9V는 9처럼 10단계로 전압을 쪼개야 할 것입니다. 하지만 전기는 생각보다 불안정합니다. 외부의 전파 간섭이나 발열로 인해 5V였던 전압이 순간적으로 4.5V나 5.5V로 변할 수 있습니다.

만약 10진법을 쓴다면, 4.5V가 들어왔을 때 이것이 숫자 4인지 5인지 구분하기가 매우 모호해지며, 이는 치명적인 오류(Error)로 이어집니다.

  • 이진법의 강력함: 반면, 0과 1만 사용하는 2진법은 기준이 명확합니다. 예를 들어 "3V 이상이면 무조건 1, 그 이하면 무조건 0"이라고 정해버리면, 전압이 조금 흔들려도 데이터를 완벽하게 식별할 수 있습니다.
  • 데이터 무결성: 우주 공간이나 고온의 서버실 같은 극한 환경에서도 컴퓨터가 실수 없이 작동할 수 있는 이유는 바로 이 '흑백 논리' 덕분입니다.

본론 2: 생각하는 돌맹이, 트랜지스터(Transistor)

그렇다면 이 0과 1의 신호를 물리적으로 제어하는 것은 무엇일까요? 바로 '현대 문명의 쌀'이라고 불리는 반도체 소자, 트랜지스터(Transistor)입니다.

나노 사이즈의 스위치

트랜지스터를 어렵게 생각할 필요가 없습니다. 이것은 아주 작고 빠른 '스위치'입니다. 우리가 방 불을 켤 때 스위치를 누르듯, 트랜지스터에 약한 전류를 흘려주면 전기가 통하는 길(1)이 열리고, 전류를 끊으면 길(0)이 닫힙니다.

과거의 컴퓨터인 에니악(ENIAC)은 이 스위치 역할을 하는 '진공관'을 사용하여 집채만 한 크기였지만, 지금의 CPU 안에는 손톱만한 공간에 수십억 개의 트랜지스터가 집적되어 있습니다. 이 수십억 개의 스위치가 초당 수십억 번씩(GHz) 켜졌다 꺼졌다를 반복하며 0과 1의 패턴을 만들어냅니다. 이것이 우리가 말하는 '연산'의 물리적 실체입니다.

본론 3: 논리 게이트, 전기가 '논리'가 되는 순간

단순한 스위치의 켜짐/꺼짐이 어떻게 덧셈을 하고, 게임을 실행할까요? 여기서 논리 게이트(Logic Gate)라는 개념이 등장합니다. 트랜지스터 몇 개를 특정한 방식으로 연결하면, 단순한 신호가 '판단'으로 바뀝니다.

AND, OR 게이트의 마법

가장 기초적인 논리 회로를 예로 들어보겠습니다.

  • AND 게이트: 두 개의 스위치가 직렬로 연결된 것과 같습니다. 두 스위치가 모두 켜져야(1) 비로소 전기가 통합니다(1). 즉, "A이고 B일 때만 참이다"라는 논리가 하드웨어적으로 구현됩니다.
  • OR 게이트: 두 개의 스위치가 병렬로 연결된 형태입니다. 둘 중 하나만 켜져도 전기가 통합니다. "A이거나 B이면 참이다"라는 논리입니다.

이러한 간단한 논리 게이트들을 수만 개, 수억 개 조합하면 덧셈기(Adder)가 되고, 메모리가 되고, 마침내 복잡한 인공지능 알고리즘을 처리하는 프로세서가 됩니다. 우리가 작성하는 C언어 코드는 컴파일러를 통해 결국 이 트랜지스터들의 스위치를 어떤 순서로 켤지 결정하는 0과 1의 명령어로 변환되는 것입니다.

결론: 모래알에서 피어난 지능

지금까지 0과 1의 세계와 트랜지스터의 작동 원리에 대해 살펴보았습니다. 반도체의 주원료가 규소(Silicon), 즉 모래라는 사실을 아시나요? 인류는 발 밑에 채이는 흔한 모래를 정제하여 0과 1이라는 질서를 부여했고, 그 위에 논리라는 성을 쌓아 올렸습니다.

프로그래머가 된다는 것은 단순히 코드를 타이핑하는 것이 아닙니다. 이 거대한 스위치들의 오케스트라를 지휘하는 지휘자가 되는 것입니다. 오늘 여러분이 무심코 선언한 변수 하나가 실제로는 CPU 내부의 미세한 트랜지스터들을 숨 가쁘게 움직이게 한다는 사실을 기억하십시오.

다음 [Part 3. 메모리(RAM)라는 우주] 편에서는 이 0과 1의 데이터들이 저장되는 공간에 대해 심도 있게 다뤄보겠습니다. 변수가 저장된다는 것이 물리적으로 어떤 의미인지 알게 된다면, 여러분의 코딩 실력은 한 차원 더 높아질 것입니다.