이제 더 밑바닥으로 내려가 보겠습니다.
컴퓨터 안에 실제로 숫자 0이나 1이라는 물질이 존재하는 것은 아닙니다.
0과 1은 우리가 전기적 상태를 해석하는 방식입니다.
컴퓨터의 0과 1은 특정 전압 범위를 두 가지 논리 상태로 구분한 것이다.
1. 0과 1은 정확한 하나의 전압이 아니다
흔히 다음처럼 설명한다
0V -> 0
5V -> 1
하지만 실제로는 정확히 0과 5만 사용하는 것이 아니다
전압에는 노이즈와 흔들림이 있기 때문에
전압 범위를 사용한다.
그 사이 영역은 명확하지 않은 영역
실제 값은 반도체 공정과 전압 규격에 따라 달라진다.
2. 왜 두 상태만 사용하는가
구분이 쉽고 노이즈에 강하다
안저적인 회로
3. 트랜지스터는 전압으로 전류를 제어한다
CPU 와 GPU 는 주로 MOSFET 라는 트랜지스터로 구성
세 단자가 조재
- Gate
- Source
- Drain
핵심은 Gate 에 가해지는 전압이 Source 와 Drain 사이의 전류 흐름을 제어한다는 것이다.
Gate 전압 낮음
→ 통로 닫힘
→ 전류가 거의 흐르지 않음
Gate 전압 높음
→ 통로 열림
→ 전류가 흐름
트랜지스터는 전기로 제어되는 스위치처럼 볼 수 있다.
실제 반도체 물리에서는 단순한 기계식 스위치보다 훨씬 복잡하다
4. 트랜지스터 하나가 곧 비트 하나는 아니다
흔히 다음과 같이 오해하기 쉬움
트랜지스터 OFF = 0
트랜지스터 ON = 1
항상 정확하지는 않음
정보를 직접 표현하기보다, 전압을 전달하거나 차단하는 역할을 한다.
여러 트랜지스터가 함께 논리 게이트를 만들고, 논리 게이트가 0과 1을 처리한다
트랜지스터 여러 개
↓
논리 게이트
↓
덧셈기, 레지스터, 디코더
5. 가장 기본적인 논리 회로 : NOT 게이트
NOT 게이트는 입력을 반대로 바꾼다
CMOS 방식에서는 보통 두 종류의 트랜지스터를 함께 사용
- NMOS
- PMOS
개념적으론느 다음 구조
전원
│
PMOS
│
출력
│
NMOS
│
접지
입력이 0일 때
PMOS 켜짐
NMOS 꺼짐
출력이 전원 쪽과 연결
출력 = 1
입력이 1일 때
PMOS 꺼짐
NMOS 켜짐
출력이 접지 쪽과 연결
출력 = 0
6. AND 와 OR도 트랜지스터 조합으로 만든다
AND 게이트는 두 입력이 모두 1일 때만 출력이 1
OR 은 둘 중 하나라도 1이면 출력이 1
이 논리 게이트들도 여러 트랜지스터를 직렬이나 병렬로 연결하여 구현한다
트랜지스터 직렬 연결
→ 모두 켜져야 전류가 흐름
→ AND 성질
트랜지스터 병렬 연결
→ 하나만 켜져도 전류가 흐름
→ OR 성질
7. XOR 게이트가 덧셈의 핵심이다
두 입력이 서로 다를 때 1
두 비트를 더해보면 다음과 같다
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
결과의 아래쪽 비트는 XOR 과 같다
그리고 올림은 둘 다 1 일 때 발생한다
따라서 반가산기는 다음처럼 만들 수 있다.
A ─┬→ XOR → 합
B ─┘
A ─┬→ AND → 올림
B ─┘
8. 여러 비트 덧셈은 작은 덧셈기를 연결한다
1비트 덧셈기를 여러 개 연결하면 32비트나 64비트 덧셈기가 된다.
0111
+ 0011
------
1010
가장 오른쪽 비트부터 계산하고 올림을 다음 자리로 전달한다
단순한 덧셈기는 다음처럼 연결
입력 A0, B0 → 덧셈기 0 → Carry
↓
입력 A1, B1 → 덧셈기 1 → Carry
↓
입력 A2, B2 → 덧셈기 2
이를 리플 캐리 덧셈기라고 한다
다만 올림이 한 칸씩 이동하면 느리기 때문에, 실제 CPU 에서는 더 빠른 방식의 덧셈 회로 사용
9. 비트는 어떻게 기억되는가
논리 게이트는 입력이 사라지만 출력도 바뀐다.
하지만 컴퓨터는 값을 기억해야 하기 때문에 피드백 구조를 사용
출력의 일부를 다시 입력으로 연결하면 상태 유지
이런 구조가 래치와 플립플롭
입력
↓
논리 회로
↓
출력 ───┐
└→ 다시 내부 입력으로 연결
플립플롭 하나는 일반적으로 1비트 상태를 기억한다.
CPU의 일반 레지스터는 이런 저장 구조를 매우 빠르게 읽고 쓸 수 있도록 구성
원리는 상태를 보존한느 것
10. 메모리에서는 0과 1을 저장하는 방식이 다르다
메모리 종류마다 0과 1을 저장하는 물리적 방법이 다르다
SRAM
CPU 캐시에 주로 사용
여러 트랜지스터가 서로의 상태를 유지한다
두 개의 안정된 상태
→ 0 또는 1
전원이 유지되는 동안 빠르게 값을 보존
장점
빠름
재충전 불필요
단점
트랜지스터 수가 많음
면적이 큼
비쌈
DRAM
주 메모리 RAM에 주로 사용됩니다.
작은 커패시터의 전하를 이용합니다.
전하 있음 → 1
전하 없음 → 0
하지만 전하는 시간이 지나면 새어 나갑니다.
그래서 주기적으로 다시 읽고 충전해야 합니다.
이를 리프레시라고 합니다.
저장
↓
전하 감소
↓
주기적으로 복원
DRAM은 SRAM보다 느리지만 훨씬 조밀하게 많은 비트를 저장할 수 있습니다.
플래시 메모리
SSD 등에 사용됩니다.
트랜지스터 내부의 전하 상태를 이용하여 정보를 저장합니다.
전원이 꺼져도 전하 상태가 유지됩니다.
전하 상태
→ 문턱 전압 변화
→ 저장된 값 판별
SSD는 한 셀에 1비트보다 많은 값을 저장하기도 합니다.
SLC → 셀당 1비트
MLC → 셀당 2비트
TLC → 셀당 3비트
QLC → 셀당 4비트
이 경우 전압 상태를 여러 구간으로 세밀하게 나눕니다.
이는 논리 연산 자체는 이진법이어도, 저장 장치에서는 다중 전압 단계를 활용할 수 있다는 의미입니다.
11. 전선에도 즉시 완벽한 0과 1이 나타나는 것은 아니다
회로에서 신호가 바뀔 때 전압은 즉시 0에서 1로 순간이동하지 않습니다.
실제로는 일정한 시간이 걸립니다.
0V
↗
↗
↗
높은 전압
전선과 트랜지스터는 작은 저항과 커패시턴스를 가집니다.
전압을 올리고 내리려면 전하를 이동시켜야 합니다.
그래서 지연이 발생합니다.
트랜지스터 전환 시간
전선 충전 시간
게이트 지연
CPU 클럭을 무한히 높일 수 없는 이유 중 하나가 이것입니다.
다음 클럭이 오기 전에 신호가 안정된 값에 도달해야 하기 때문입니다.
연산은 결국 전하의 이동이다
가장 물리적인 수준까지 내려가면 컴퓨터 연산은 다음 과정입니다.
전압 변화
↓
전기장 변화
↓
트랜지스터의 전도 상태 변화
↓
전하가 이동하거나 차단됨
↓
다음 회로의 전압 변화
↓
논리 결과 형성
따라서 1 + 1 = 10이라는 계산도 물리적으로는 다음처럼 일어납니다.
입력 노드 두 곳이 높은 전압 상태
↓
XOR 회로의 출력은 낮은 전압
↓
AND 회로의 출력은 높은 전압
↓
합 비트 0, 올림 비트 1
↓
결과 10
컴퓨터가 숫자의 의미를 이해하는 것은 아닙니다.
특정한 전기적 상태가 회로 규칙에 따라 다른 전기적 상태로 변할 뿐입니다.
우리가 그 상태를 숫자, 문자, 이미지, 명령어로 해석합니다.
전체 연결
모든 과정을 하나로 이어 보면 다음과 같습니다.
고급 언어 코드
c = a + b
↓
컴파일러
↓
기계어 비트열
↓
메모리에 저장
↓
CPU가 명령어를 가져옴
↓
디코더가 비트 패턴 해석
↓
제어 신호 생성
↓
레지스터 출력 경로 선택
↓
ALU 덧셈 회로 활성화
↓
트랜지스터들의 전도 상태 변화
↓
논리 게이트 출력 변화
↓
덧셈 결과 비트 생성
↓
클럭 경계에서 레지스터에 저장
가장 압축해서 표현하면:
프로그램은 기계어로 번역되고, 기계어는 제어 신호로 변환되며, 제어 신호는 트랜지스터 회로의 연결 상태와 데이터 이동을 결정한다.
그리고 물리적으로는:
계산은 전하와 전압 상태가 설계된 회로 규칙에 따라 변하는 과정이다.
'명징직조' 카테고리의 다른 글
| 의미 있는 결과가 나오기 전의 프로젝트를 어떻게 바라볼 것인가 (0) | 2026.07.11 |
|---|---|
| 게임이론으로 바라본 하드웨어와 알고리즘 설계 (0) | 2026.07.11 |
| 기계어와 회로 연산 (0) | 2026.07.08 |
| 신경망은 왜 필요한 것보다 큰가 - MEASURING THE INTRINSIC DIMENSIONOF OBJECTIVE LANDSCAPES (0) | 2026.07.06 |
| 옌센 부등식 — 평균을 먼저 계산하는 것과 변환한 뒤 평균내는 것은 다르다 (0) | 2026.07.06 |