"비트코인 채굴기는 왜 그렇게 생겼을까?"
초창기 비트코인은 CPU로 캤습니다. 그러다 GPU로 넘어갔고, 어느 순간 '채굴기(ASIC)'라는 이상한 기계들이 등장했습니다. 그냥 컴퓨터로 캐면 안 되나? 왜 전용 기계를 만들지?
이 궁금증을 풀기 위해 반도체의 두 가지 끝판왕, FPGA와 ASIC을 공부했습니다. 처음엔 "그냥 둘 다 칩 아니야?"라고 생각했는데, 알고 보니 레고 블록과 사출 금형만큼 다른 물건이었습니다.
그리고 이 둘의 차이를 이해하고 나니, 테슬라가 왜 자율주행 칩(FSD)을 직접 만들었는지, 구글이 왜 TPU를 개발했는지, 왜 비트코인 채굴기 회사가 한 번 알고리즘이 바뀌면 파산하는지가 다 이해가 됐습니다.
1. 헷갈렸던 부분 - "둘 다 칩인데 뭐가 다른데?"
처음 FPGA와 ASIC 개념을 접했을 때, 솔직히 차이를 몰랐습니다. 둘 다 "반도체 칩"이고, 둘 다 "계산을 수행"하잖아요?
그런데 공부를 하다 보니, "칩을 만드는 방식" 자체가 완전히 달랐습니다.
FPGA는 이미 만들어진 칩의 내부 회로를 프로그래밍으로 바꾸는 겁니다. 칩 자체는 그대로고, 그 안에 들어있는 로직 게이트(AND, OR, NOT 같은)들의 연결 방식만 소프트웨어로 수정하는 거죠.
반면 ASIC은 처음부터 회로를 설계해서 실리콘 웨이퍼에 구워버립니다. 한 번 만들면 끝. 수정 불가능.
이걸 이해하고 나니까, "FPGA는 범용 칩이고, ASIC은 맞춤 칩"이라는 말이 와닿았습니다.
2. FPGA: 레고 블록 (스위스 아미 나이프)
FPGA(Field-Programmable Gate Array)는 이름 그대로 "현장에서 프로그래밍 가능한(고쳐 쓸 수 있는) 칩"입니다.
2-1. 내부 구조 - LUT와 CLB
FPGA 내부를 들여다보면, LUT(Look-Up Table)라는 작은 메모리 덩어리들이 수만~수십만 개 들어있습니다. 이 LUT들은 "조합 논리 함수"를 저장할 수 있습니다.
예를 들어, 4-input LUT 하나는 이런 진리표(Truth Table)를 저장할 수 있죠:
| A | B | C | D | 출력 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 1 |
| ... | ... | ... | ... | ... |
이 LUT들을 CLB(Configurable Logic Block)라는 단위로 묶어놓고, 그 CLB들을 "라우팅 패브릭(Routing Fabric)"이라는 전선 그물망으로 연결합니다.
결국 FPGA는 "미리 만들어 둔 레고 블록(LUT)과 레고 연결선(Routing)을 조합해서 원하는 회로를 만드는 칩"이었습니다.
2-2. 실제 코드 - Verilog로 AND 게이트 만들기
FPGA를 프로그래밍할 때는 HDL(Hardware Description Language)이라는 언어를 씁니다. 대표적으로 Verilog나 VHDL이 있죠.
간단한 2-input AND 게이트를 Verilog로 만들면 이렇습니다:
module and_gate(
input wire a,
input wire b,
output wire y
);
assign y = a & b;
endmodule
이 코드를 FPGA에 올리면, 칩 내부의 LUT 하나가 "a와 b를 입력받아서 AND 연산 결과를 내보내는" 회로로 변합니다.
"코드를 작성하면 칩의 회로가 바뀐다"는 게 처음엔 신기했습니다. 소프트웨어 개발자인 저는 "코드는 메모리에 저장되는 거"라고 생각했는데, FPGA는 "코드가 하드웨어 회로 자체로 구현되는 것"이었습니다.
2-3. 비유 - 스위스 아미 나이프
FPGA를 스위스 아미 나이프에 비유하면 딱입니다.
- 칼, 가위, 드라이버, 병따개가 다 들어있죠.
- 필요에 따라 꺼내서 씁니다.
- 하지만 전문 식칼보다는 느리고, 전문 가위보다는 무뎁니다.
FPGA도 마찬가지입니다.
- 5G 기지국 신호 처리기로 쓰다가, 다음날 AI 추론 가속기로 바꿀 수 있습니다.
- 하지만 "모든 가능성을 열어둔 범용 구조" 때문에, 전용 칩보다는 느리고 전력 효율도 떨어집니다.
2-4. FPGA가 빛나는 곳
그럼 FPGA는 어디에 쓰일까요? 제가 조사한 바로는:
- 5G/6G 기지국: 통신 표준이 계속 바뀌니까, FPGA로 만들어두면 펌웨어 업데이트만으로 대응 가능.
- 데이터센터 가속기: Microsoft Azure는 FPGA를 서버에 박아서 AI 추론, 암호화, 압축 작업을 가속화합니다.
- 고빈도 거래(HFT): 주식 거래 알고리즘이 자주 바뀌니까, ASIC 만들 시간 없어요. FPGA로 빠르게 전략 바꾸면서 거래.
- 프로토타입 검증: 반도체 회사들은 ASIC 설계 전에 FPGA로 먼저 테스트합니다. 버그 잡고 나서 ASIC으로 넘어가죠.
결국 FPGA는 "유연함이 필요한 곳"에 쓰입니다.
3. ASIC: 금형 사출물 (전문 수술용 칼)
ASIC(Application-Specific Integrated Circuit)은 "특정 용도 전용 칩"입니다.
비트코인 채굴기(Antminer)가 대표적입니다. 이 칩은 SHA-256 해시 계산 말고는 아무것도 못 합니다. 윈도우도 못 띄우고 지뢰찾기도 못 합니다.
대신, 그 "SHA-256 계산" 하나만큼은 FPGA보다 100배 빠르고 전기를 1/100만 먹습니다.
3-1. ASIC 설계 흐름 - RTL부터 테이프아웃까지
ASIC을 만드는 과정은 소프트웨어와 완전히 달랐습니다. 제가 이해한 흐름은 이렇습니다:
- RTL 설계: Verilog/VHDL로 칩의 동작을 코드로 작성 (FPGA와 비슷)
- 논리 합성(Synthesis): RTL 코드를 실제 게이트(AND, OR, NOT 등)로 변환
- 배치 및 배선(Place & Route): 게이트들을 실리콘 웨이퍼 위에 어떻게 배치할지, 전선을 어떻게 연결할지 결정
- 타이밍 검증: 신호가 제시간에 도착하는지 검증 (클럭 주파수 맞추기)
- 테이프아웃(Tapeout): 최종 설계 파일을 파운드리(TSMC, 삼성 같은)에 보내서 웨이퍼에 구움
- 양산: 웨이퍼를 잘라서 칩으로 패키징
이 과정이 최소 6개월에서 2년 걸립니다. 그리고 한 번 테이프아웃하면 수정 불가능입니다.
만약 설계에 버그가 있으면? 칩 전부 폐기하고 처음부터 다시 만들어야 합니다. 이게 "칩 한 번 잘못 만들면 회사 망한다"는 말이 나온 이유입니다.
3-2. NRE 비용 - 왜 7nm ASIC은 $500M+인가?
ASIC 설계에는 NRE(Non-Recurring Engineering) 비용이 듭니다. "한 번만 내는 비용"이라는 뜻인데, 여기엔:
- 설계 인건비: 반도체 설계 엔지니어들 연봉 (보통 수억~수십억 원)
- EDA 툴 라이선스: Cadence, Synopsys 같은 설계 도구 연간 라이선스 (수천만~수억 원)
- 마스크 제작 비용: 웨이퍼에 회로를 찍어내는 "포토마스크" 제작 비용. 7nm 공정에서는 마스크 한 세트가 $3M~$10M입니다.
최신 공정일수록 마스크 비용이 기하급수적으로 올라갑니다. 28nm는 $500K, 7nm는 $5M, 3nm는 $15M 이상이라고 합니다.
그래서 7nm ASIC을 만들려면 NRE만 $50M~$500M 들어갑니다. 당연히 개인이나 작은 회사는 못 만들죠.
대신 100만 개를 찍어내면 개당 가격은 $1~$10로 떨어집니다. 이게 ASIC의 경제학입니다.
3-3. 비유 - 범용 공구점 vs 전문 정형외과 수술실
FPGA와 ASIC의 차이를 다시 한 번 비유하면:
- FPGA: 동네 공구점. 망치, 톱, 드라이버, 못 다 있어요. 뭐든 만들 수 있지만, 전문가용은 아닙니다.
- ASIC: 정형외과 수술실. 인공관절 수술 하나만 합니다. 대신 그 수술은 세계 최고 수준입니다.
제가 서비스를 만들 때도 비슷한 선택을 했던 기억이 납니다. 처음엔 "범용 프레임워크(Django)"로 빠르게 MVP 만들고, 나중에 "최적화된 마이크로서비스(Go)"로 갈아탔죠. FPGA → ASIC과 정확히 같은 흐름이었습니다.
3-4. ASIC의 대표 사례
- 비트코인 채굴기 (Antminer S19): SHA-256만 계산. 110 TH/s (테라해시/초). GPU 대비 100배 이상 빠름.
- 구글 TPU: 텐서플로우 연산 전용. AI 추론/훈련에 특화. GPU보다 15~30배 빠름.
- 애플 M 시리즈: Neural Engine(AI 가속), Secure Enclave(보안), Media Engine(영상 처리) 등 여러 ASIC 블록을 한 칩에 통합.
- 테슬라 FSD 칩: 자율주행 신경망 추론 전용. 엔비디아 GPU보다 21배 빠르고 전력 1/10.
4. 비트코인 채굴의 진화: CPU → GPU → FPGA → ASIC
제가 FPGA와 ASIC을 공부하게 된 계기였던 비트코인 채굴 역사를 정리해봤습니다:
4-1. 2009~2010: CPU 시대
- 사토시 나카모토가 처음 비트코인을 만들 때는 일반 컴퓨터 CPU로 채굴했습니다.
- Intel Core i7 하나로 하루에 50 BTC 캘 수 있었죠 (지금이면 $2M+).
4-2. 2010~2013: GPU 시대
- 누군가가 "그래픽카드가 병렬 연산에 강하잖아?"라고 생각했습니다.
- NVIDIA/AMD GPU로 채굴하니까 CPU보다 10~100배 빠름.
- 한국에도 "그래픽카드 5개 박은 채굴 PC" 파는 사람들이 생겼죠.
4-3. 2011~2013: FPGA 시대
- GPU보다 더 효율적인 방법을 찾던 사람들이 FPGA를 시도했습니다.
- Xilinx Spartan-6 같은 FPGA로 SHA-256을 구현하니까, GPU보다 전력 효율 3~5배.
- 하지만 프로그래밍이 어렵고 FPGA 가격이 비싸서 대중화는 안 됐습니다.
4-4. 2013~현재 - ASIC 시대
- 2013년, 중국의 Bitmain이라는 회사가 Antminer를 출시했습니다.
- SHA-256 전용 ASIC 칩. GPU 대비 100배 빠르고 전력 1/10.
- 이후 GPU/FPGA 채굴은 완전히 멸종. 지금은 ASIC 아니면 수익이 안 납니다.
이 흐름을 보면서, "범용 → 전문화"는 기술 발전의 필연적인 방향이라는 걸 느꼈습니다. 소프트웨어도, 하드웨어도, 비즈니스도 결국 같은 길을 가더라고요.
5. FPGA vs ASIC: 언제 뭘 써야 할까?
제가 정리한 선택 기준입니다:
FPGA를 쓸 때
- 프로토타입 검증: ASIC 만들기 전에 버그 잡기
- 소량 생산: 1,000개 미만이면 FPGA가 싸요
- 알고리즘이 자주 바뀜: 통신, HFT, 군사용 암호화
- 출시 시간이 급함: ASIC은 6개월~2년 걸리는데, FPGA는 몇 주면 됩니다
ASIC을 만들 때
- 대량 생산: 100만 개 이상 찍으면 개당 가격이 확 떨어짐
- 성능/전력 효율이 중요함: 모바일, 데이터센터, 자율주행
- 알고리즘이 확정됨: SHA-256, H.264, 특정 신경망
- NRE 비용 감당 가능: 최소 $5M~$50M 투자 가능
6. 코드 예시 - 소프트웨어 vs FPGA
같은 작업을 소프트웨어와 FPGA로 구현하면 어떻게 다른지 보겠습니다.
소프트웨어 (Python)
def multiply_add(a, b, c):
result = a * b + c
return result
# 실행 - CPU가 명령어 순차 실행
# 1. a * b 계산
# 2. 결과 + c 계산
# 3. return
FPGA (Verilog)
module multiply_add(
input wire [31:0] a,
input wire [31:0] b,
input wire [31:0] c,
output wire [31:0] result
);
wire [31:0] product;
assign product = a * b;
assign result = product + c;
endmodule
// 이건 "명령어"가 아니라 "회로 구조"입니다.
// a * b와 + c가 실제 하드웨어로 구현되고,
// 클럭 사이클 1~2개 만에 끝납니다.
차이가 느껴지나요? 소프트웨어는 "CPU에게 뭘 하라고 명령"하는 건데, FPGA는 "칩 자체가 그 연산을 하는 회로가 되는 것"입니다.
그래서 FPGA는 레이턴시가 극도로 낮습니다. 입력 신호가 들어오면 클럭 몇 사이클 만에 결과가 나옵니다. 소프트웨어는 함수 호출, 메모리 접근, 캐시 미스 등으로 수백 사이클 걸리죠.
7. 정리 - 결국 "돈"과 "시간"의 문제였다
FPGA와 ASIC의 차이를 공부하면서, "기술 선택은 결국 경제학"이라는 걸 다시 한 번 깨달았습니다.
| 구분 | FPGA | ASIC |
|---|---|---|
| 비유 | 레고 블록 (재조립 가능) | 금형 사출물 (수정 불가) |
| 유연성 | 높음 (언제든 수정 가능) | 없음 (만들면 끝) |
| 초기 비용 | 낮음 ($10K~$100K) | 매우 높음 ($5M~$500M) |
| 개당 가격 | 비쌈 ($100~$10K) | 쌈 ($1~$10, 대량 생산 시) |
| 전력 효율 | 중간 | 최고 (FPGA 대비 10~100배) |
| 개발 시간 | 짧음 (몇 주~몇 달) | 김 (6개월~2년) |
| 적합한 상황 | 프로토타입, 소량, 알고리즘 변화 | 양산, 성능/전력 중요, 알고리즘 확정 |
개발자인 저에게 FPGA는 "코딩 잘못하면 다시 짜면 되는" 소프트웨어 같았고, ASIC은 "버그 하나 있으면 회사 망하는" 하드웨어 제조 같았습니다.
테슬라가 자율주행 칩(FSD)을 직접 만드는 이유도, 인텔 CPU나 엔비디아 GPU(범용 칩)로는 성에 안 차서 자기들만의 ASIC을 깎은 것이란 걸 이해하게 됐습니다.
그리고 비트코인 채굴기들이 왜 그렇게 생겼는지도 이제 압니다. "SHA-256 하나만 극한으로 빠르게"라는 목표에 모든 걸 걸었기 때문입니다.
결국 반도체도, 소프트웨어도, 비즈니스도 다 같은 원리더라고요. 범용으로 시작해서, 규모가 커지면 전문화한다. 그게 FPGA와 ASIC의 이야기였습니다.