WIKI
FPGA
FPGA
재구성 가능한 논리회로와 CPU·GPU의 차이
Scope
핵심 질문
FPGA는 CPU·GPU와 달리 계산 회로 자체를 재구성하는 방식으로 어떤 문제를 해결하는가?
Research
핵심 근거
- FPGA는 programmable logic block과 routing을 구성해 특정 데이터 경로를 hardware로 만든다.
- 높은 clock frequency보다 pipeline parallelism과 deterministic latency가 강점이다.
- 개발 생산성과 toolchain 복잡도는 CPU/GPU보다 불리할 수 있다.
Draft
FPGA(Field-Programmable Gate Array)는 제조 후에도 내부 논리회로 연결을 다시 구성할 수 있는 반도체다.
CPU와 차이
CPU는 고정된 명령어 집합을 순차적으로 실행한다. FPGA는 필요한 연산 회로 자체를 병렬로 배치할 수 있다.
GPU와 차이
GPU는 수많은 범용 연산코어가 같은 종류의 계산을 병렬 실행한다. FPGA는 multiply, filter, packet parser 같은 특정 pipeline을 논리회로로 구현한다.
장점
고정된 dataflow를 매우 낮고 예측 가능한 latency로 처리하는 데 강하다. 네트워크, 영상, 신호처리와 custom protocol에 많이 사용된다.
단점
HDL, timing closure, synthesis와 place-and-route를 이해해야 하고 compile 시간이 길다.
핵심
FPGA는 빠른 CPU가 아니라 필요한 계산기를 hardware로 다시 그릴 수 있는 장치다.