Skip to main content
Summary

손가락으로 누르는 스위치

지난 장에서 우리는 전기가 흐르거나 흐르지 않는 상태를 0과 1로 약속할 수 있다고 배웠다. 가장 쉬운 예는 스위치다.

손전등을 떠올려 보자. 스위치를 누르면 회로의 길이 이어지고 전류가 흐른다. 그러면 전구나 LED가 켜진다. 다시 스위치를 끄면 길이 끊어지고 전류가 멈춘다. 이처럼 스위치는 전기의 길목에 놓인 작은 문이다.

문이 열리면 전기가 지나간다. 문이 닫히면 전기가 지나가지 못한다.

이 원리만 보면 컴퓨터를 아주 많이 만들 수 있을 것 같다. 스위치를 하나 두고 켜짐을 1, 꺼짐을 0으로 정하면 되기 때문이다. 실제로 아주 초기의 계산 장치들은 이런 생각에 가까웠다. 스위치와 비슷한 장치들을 많이 모아 전기의 길을 바꾸고, 그 결과로 계산을 했다.

하지만 손으로 누르는 스위치에는 큰 문제가 있다.

첫째, 느리다. 사람이 손가락으로 아무리 빨리 눌러도 1초에 몇 번 누르는 정도다. 컴퓨터는 1초에 수십억 번 가까운 판단을 해야 한다.

둘째, 크다. 손으로 누르는 스위치 하나는 작아 보여도, 수백만 개나 수십억 개를 모으려면 건물만 한 공간이 필요하다.

셋째, 쉽게 닳는다. 스위치 안에는 서로 닿았다 떨어지는 금속 부분이 있다. 오래 쓰면 마모되고, 먼지가 끼고, 접촉이 불안정해질 수 있다.

그래서 컴퓨터에는 손가락으로 누르는 스위치가 아니라, 전기로 조종하는 스위치가 필요했다.

스위치에서 트랜지스터까지AI 생성 이미지

전기가 다른 전기를 조종한다

전기로 조종하는 스위치는 이런 질문에서 출발한다.

"사람이 누르지 않아도, 전기 신호가 스위치를 대신 눌러 줄 수 있을까?"

이 질문에 대한 대답이 트랜지스터다.

트랜지스터는 아주 작은 전기 신호로 다른 전기 흐름을 켜고 끄는 부품이다. 쉽게 말해, 손가락 대신 전압으로 여닫는 문이다.

물길로 비유해 보자. 큰 물길이 하나 있고, 그 중간에 수문이 있다. 수문이 열리면 물이 흐르고, 닫히면 물이 멈춘다. 그런데 이 수문은 사람이 직접 돌리지 않는다. 옆에서 작은 신호를 보내면 자동으로 열린다.

트랜지스터도 비슷하다. 한쪽 길에는 전류가 흐를 준비를 하고 있다. 다른 쪽에서 작은 전기 신호를 보내면 그 길이 열리고, 신호가 없으면 길이 막힌다.

여기서 중요한 점은 "전기 신호가 전기 흐름을 조종한다"는 것이다.

손 스위치에서는 사람이 판단하고 손가락이 움직였다. 트랜지스터에서는 앞 회로에서 나온 0 또는 1이 다음 회로의 스위치를 조종한다. 그래서 회로가 회로를 움직이고, 신호가 신호를 만든다.

이것이 컴퓨터가 스스로 계산을 이어 갈 수 있는 중요한 발판이다.

트랜지스터의 세 개의 길

트랜지스터에는 여러 종류가 있지만, 현대 컴퓨터에서 많이 쓰이는 방식은 전압으로 길을 여닫는 트랜지스터다. 여기서는 가장 단순한 그림으로만 이해해 보자.

트랜지스터에는 보통 세 부분이 있다고 생각하면 된다.

  • 전류가 들어오는 쪽

  • 전류가 나가는 쪽

  • 길을 열지 말지 명령하는 쪽

세 번째 부분은 문지기와 같다. 이 문지기 쪽에 알맞은 전압이 걸리면, 전류가 들어오는 쪽과 나가는 쪽 사이에 길이 생긴다. 그러면 전류가 흐른다. 반대로 전압이 충분하지 않으면 길이 사라지고 전류가 흐르지 않는다.

이때 문지기 쪽에 들어가는 신호는 아주 작아도 된다. 그래서 트랜지스터는 작은 신호로 더 큰 흐름을 제어할 수 있다.

물론 "작은 신호가 무에서 유를 만든다"는 뜻은 아니다. 큰 흐름을 만들 에너지는 전원에서 온다. 트랜지스터는 그 에너지가 지나갈 문을 열고 닫는 역할을 한다. 수도꼭지가 물을 만들어 내는 것이 아니라 물길을 열어 주는 것과 같다.

이 차이를 이해하면 트랜지스터가 왜 중요한지 보인다. 트랜지스터는 계산 결과를 다음 계산의 입력으로 넘길 수 있다. 앞 회로의 1이 다음 트랜지스터의 문을 열고, 앞 회로의 0이 다음 트랜지스터의 문을 닫는다. 이렇게 0과 1의 신호가 줄줄이 이어지면 복잡한 판단도 만들 수 있다.

왜 하필 반도체일까

트랜지스터를 이해하려면 반도체라는 말을 만나야 한다.

도체는 전기가 잘 흐르는 물질이다. 구리선이 대표적이다. 전선에 구리를 쓰는 이유도 전기가 잘 지나가기 때문이다.

부도체는 전기가 잘 흐르지 않는 물질이다. 고무나 플라스틱을 떠올리면 된다. 전선 겉을 고무 같은 물질로 감싸는 이유는 전기가 엉뚱한 곳으로 새지 않게 하기 위해서다.

반도체는 이름 그대로 도체와 부도체의 사이에 있는 물질이다. 상황에 따라 전기가 흐르기도 하고, 잘 흐르지 않기도 한다. 처음 들으면 애매해 보이지만, 바로 이 애매함이 장점이다.

완전히 잘 흐르기만 한다면 스위치가 되기 어렵다. 언제나 열린 문과 같기 때문이다. 반대로 전기가 거의 흐르지 않는다면 역시 스위치가 되기 어렵다. 언제나 닫힌 문과 같기 때문이다.

컴퓨터에는 "필요할 때만 열리고, 필요 없을 때는 닫히는 물질"이 필요하다. 반도체는 그 역할을 맡기에 좋다.

대표적인 반도체 물질은 실리콘이다. 실리콘은 모래의 주된 성분과 관련이 있는 흔한 원소다. 하지만 컴퓨터 칩에 쓰이는 실리콘은 매우 깨끗하게 정제되고, 아주 정밀하게 다루어진다.

실리콘에 아주 적은 양의 다른 원소를 섞으면 전기가 흐르는 성질을 조절할 수 있다. 이것을 요리에 비유하면, 큰 냄비의 국에 소금을 아주 조금 넣어 맛을 바꾸는 것과 비슷하다. 양은 적지만 전체 성질을 크게 바꿀 수 있다.

이렇게 성질이 조절된 반도체 조각들을 알맞게 배치하면, 전압에 따라 전류의 길이 생겼다가 사라지는 구조를 만들 수 있다. 그 구조가 바로 트랜지스터의 핵심이다.

움직이는 부품이 없다는 힘

손으로 누르는 스위치는 안에서 금속 조각이 실제로 움직인다. 옛날 계산 장치에 쓰인 릴레이라는 부품도 전자석의 힘으로 금속 접점을 움직여 회로를 열고 닫았다. 릴레이는 전기로 조종할 수 있다는 점에서 훌륭한 발명이었지만, 여전히 물리적으로 움직이는 부분이 있었다.

움직이는 부품은 시간이 걸린다. 딸깍 하고 붙고 떨어지는 데에도 아주 짧지만 시간이 필요하다. 또 많이 움직이면 닳을 수 있다.

트랜지스터는 다르다. 트랜지스터 안에서는 금속 막대가 오르내리지 않는다. 전압이 반도체 안의 전기적 상태를 바꾸어 길을 만들거나 지운다. 문짝이 실제로 열리는 것이 아니라, 보이지 않는 전기의 길이 생기는 것이다.

그래서 트랜지스터는 매우 빠르게 켜지고 꺼질 수 있다. 또 아주 작게 만들 수 있다. 컴퓨터가 빠르고 작아진 이유는 바로 여기에 있다.

트랜지스터 하나는 단순하다. 켠다, 끈다. 1을 만들거나 0을 만든다. 그런데 이 단순한 동작을 엄청나게 많이, 엄청나게 빠르게 할 수 있다. 컴퓨터의 힘은 여기서 나온다.

수십억 개가 한 칩 안에 들어가는 이유

이제 가장 놀라운 질문이 남는다.

"어떻게 수십억 개의 트랜지스터가 손톱만 한 칩 안에 들어갈 수 있을까?"

첫 번째 이유는 트랜지스터가 아주 작게 만들어질 수 있기 때문이다. 트랜지스터는 손으로 조립하는 작은 스위치가 아니다. 실리콘 판 위에 빛과 화학 공정을 이용해 아주 미세한 무늬를 새기듯 만든다. 종이에 도장을 찍어 같은 무늬를 반복하듯, 칩 공정은 아주 작은 회로 무늬를 층층이 만들어 낸다.

두 번째 이유는 구조가 반복되기 때문이다. 컴퓨터 회로에는 비슷한 모양의 트랜지스터들이 매우 많이 등장한다. 물론 전체 설계는 복잡하지만, 기본 부품은 반복된다. 레고 블록 하나하나는 단순하지만, 많이 모으면 성도 만들고 자동차도 만들 수 있는 것과 같다.

세 번째 이유는 움직이는 공간이 필요 없기 때문이다. 기계식 스위치는 누를 공간, 접촉할 공간, 버틸 구조가 필요하다. 하지만 트랜지스터는 반도체 안에서 전기적 상태가 바뀌는 방식으로 작동한다. 그래서 훨씬 더 촘촘히 배치할 수 있다.

네 번째 이유는 여러 층으로 연결하기 때문이다. 칩 안에는 트랜지스터만 있는 것이 아니다. 트랜지스터들을 이어 주는 아주 가는 금속 길도 있다. 도시를 떠올려 보자. 집만 잔뜩 있다고 도시가 되지는 않는다. 골목, 도로, 지하철, 전선이 연결되어야 도시가 움직인다. 칩도 마찬가지다. 트랜지스터라는 집들이 있고, 그 사이를 신호가 다니는 길들이 이어져 있다.

그래서 하나의 칩은 작은 도시와 비슷하다. 수많은 스위치가 있고, 그 스위치들이 정해진 길로 연결되어 있다. 어떤 곳은 계산을 맡고, 어떤 곳은 기억을 맡고, 어떤 곳은 명령을 해석한다.

작은 스위치가 생각의 재료가 된다

트랜지스터 하나는 똑똑하지 않다. 혼자서는 "전류를 흐르게 할까, 말까" 정도만 할 수 있다. 하지만 트랜지스터 여러 개를 알맞게 연결하면 이야기가 달라진다.

예를 들어, 두 조건이 모두 1일 때만 결과를 1로 만드는 회로를 만들 수 있다. 또는 둘 중 하나만 1이어도 결과를 1로 만드는 회로를 만들 수 있다. 또 들어온 신호를 반대로 바꾸는 회로도 만들 수 있다.

이런 회로들을 논리 게이트라고 부른다. 게이트는 문이라는 뜻이다. 논리 게이트는 0과 1의 문지기다. 어떤 입력이 들어왔는지 보고, 정해진 규칙에 따라 출력 0 또는 1을 내보낸다.

이 책의 다음 단계는 바로 이 논리 게이트다. 트랜지스터가 전기의 길을 여닫는 작은 스위치라면, 논리 게이트는 그 스위치들을 모아 만든 첫 번째 생각 블록이다.

컴퓨터는 처음부터 글을 쓰고 그림을 그리고 게임을 실행한 것이 아니다. 가장 아래에서는 작은 스위치들이 켜지고 꺼진다. 그 위에 0과 1의 약속이 쌓이고, 그 위에 논리 회로가 쌓이고, 그 위에 덧셈과 기억과 명령 실행이 쌓인다.

그러므로 트랜지스터를 이해한다는 것은 컴퓨터의 바닥을 보는 일이다. 겉으로는 화면이 빛나고 프로그램이 움직이지만, 그 깊은 곳에서는 수많은 작은 전기 문들이 빠르게 열리고 닫히고 있다.

이번 장의 핵심

스위치는 전기의 길을 열고 닫는 장치다. 손으로 누르는 스위치는 이해하기 쉽지만 느리고 크며 닳을 수 있다.

트랜지스터는 전기로 조종하는 작은 스위치다. 작은 전기 신호가 다른 전류의 길을 열거나 닫게 만든다. 그래서 회로의 출력이 다음 회로를 조종할 수 있다.

반도체는 도체와 부도체 사이의 성질을 가진 물질이다. 이 성질 덕분에 전압에 따라 전기가 흐르는 길을 만들거나 막을 수 있다.

트랜지스터는 움직이는 부품이 거의 없고 매우 작게 만들 수 있다. 그래서 수십억 개가 하나의 칩 안에 들어가며, 그 많은 스위치들이 모여 컴퓨터의 계산과 기억과 판단을 만든다.

책 목록

처음부터 이해하는 컴퓨터 만들기

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기