4강 / 20강

논리 게이트 — 전기 스위치로 덧셈을 만들다

AND · OR · NOT 세 개면 컴퓨터가 만들어진다

논리 게이트 — 전기 스위치로 덧셈을 만들다
스위치 몇 개를 엮으면 더하기가 됩니다. CPU 안에는 이게 수십억 개 있습니다.

CPU가 덧셈을 한다는 건 무슨 뜻일까요? 안에 계산기가 들어 있는 걸까요?

놀랍게도 CPU 안에 있는 건 전기 스위치뿐입니다. 그 스위치를 잘 엮으면 덧셈이 '저절로' 나와요. 이번 강에서 그걸 직접 만들어 봅니다.

세 가지 기본 스위치

🔗
AND
둘 다 1이어야 1
직렬로 연결된 스위치
🔀
OR
하나만 1이어도 1
병렬로 연결된 스위치
🔃
NOT
뒤집는다
1이면 0, 0이면 1

여기에 아주 유용한 조합 하나를 더합니다.

⚡
XOR
서로 다를 때만 1
0+1=1, 1+1=0 … 덧셈의 한 자리!
게이트 실험실 — 입력 스위치를 눌러 진리표를 채우고, 반가산기를 조립해 보세요.
불러오는 중…
네 가지 게이트의 진리표.
Python 브라우저에서 실행

덧셈을 조립한다 — 반가산기

1비트 두 개를 더하면 결과가 이렇습니다.

0 + 0 = 0   (자리올림 0)
0 + 1 = 1   (자리올림 0)
1 + 0 = 1   (자리올림 0)
1 + 1 = 0   (자리올림 1)  ← 2진수라 10 이 된다

왼쪽 결과(합)를 보세요. 이건 정확히 XOR입니다. 자리올림을 보세요. 이건 정확히 AND고요.

그러니까 덧셈기 = XOR 하나 + AND 하나입니다. 그게 전부예요.

게이트만으로 8비트 덧셈기를 조립했습니다.
Python 브라우저에서 실행

ALU — 계산 담당 부서

덧셈기·비교기·비트 연산기를 한데 묶어 놓은 것이 ALU(산술논리연산장치)입니다. CPU 안에서 실제로 '계산'을 하는 유일한 부품이에요.

ALU에게는 두 개의 입력값과 "무슨 연산을 할지 고르는 신호"가 들어갑니다. 그 신호를 만들어 주는 게 5강에서 볼 제어장치고요.

비트 연산은 실무에서도 쓰입니다

리눅스 권한 chmod 755가 바로 비트입니다. 읽기·쓰기·실행이 각각 한 비트예요.

chmod 755 의 정체는 비트 플래그입니다.
Python 브라우저에서 실행
권한 비트를 직접 바꿔 봅니다.
bash 브라우저에서 실행
🤔 확인 문제
XOR 게이트가 덧셈에서 맡는 역할은?
🤔 확인 문제
CPU에 뺄셈 전용 회로가 따로 없는 이유는?