익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
FPGA
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
'''FPGA'''(Field-Programmable Gate Array)는 사용자가 제작된 이후에도 하드웨어 회로를 직접 구성할 수 있도록 설계된 프로그래머블 집적회로이다. 범용 CPU나 GPU와 달리, FPGA는 하드웨어 레벨에서 병렬 처리 구조를 원하는 형태로 설계할 수 있어 높은 유연성과 맞춤형 가속 기능을 제공한다. ==개요== FPGA는 내부에 구성 가능한 논리 블록(logic block)과 이들을 서로 연결하는 라우팅 구조로 이루어져 있다. 사용자는 HDL(Hardware Description Language) 또는 고수준 합성(HLS)을 통해 FPGA를 특정 회로처럼 동작하도록 “프로그래밍”할 수 있다. 대표적인 FPGA 제조사는 Xilinx(현 AMD), Intel(Altera), Lattice Semiconductor 등이 있으며, Xilinx Alveo 시리즈는 AI 및 데이터센터 용으로 널리 사용된다. ==특징== ===높은 유연성=== FPGA의 가장 큰 장점은 설계된 후에도 논리 회로를 변경할 수 있다는 점이다. 이는 다음과 같은 장점을 제공한다: *새로운 알고리즘에 빠르게 대응 가능 *특정 응용을 위한 맞춤형 하드웨어 구현 *ASIC 설계 전에 성능 검증 플랫폼으로 활용 가능 ===병렬 처리 성능=== FPGA는 사용자가 자료 흐름(dataflow)에 맞춰 병렬적인 하드웨어 회로를 직접 구성할 수 있기 때문에, 특정 워크로드에서는 CPU/GPU보다 효율적으로 동작할 수 있다. ===짧은 개발 주기=== ASIC처럼 제조 과정이 필요하지 않기 때문에, 하드웨어 가속기 개발 및 테스트 시간이 매우 짧다. ===장점=== *하드웨어 레벨 최적화 가능 *유연한 알고리즘 변경 *프로토타이핑 및 연구용으로 뛰어남 ===단점=== *클럭 속도가 ASIC/GPU보다 낮음 *전력 효율이 ASIC보다는 떨어짐 *복잡한 완전 커스텀 회로는 성능적 제약 존재 ==구성 요소== ===Logic Block (LUT + Flip-Flop)=== FPGA 회로의 기본 단위로, 사용자가 원하는 논리 연산을 구현할 수 있는 구성 가능한 소자이다. ===Routing / Interconnect=== Logic block들을 서로 연결하는 구성 가능한 배선 구조. ===BRAM (Block RAM)=== 고속 온칩 메모리로, AI/영상/네트워크 처리 등에 사용된다. ===DSP Slice=== 고속 곱셈·덧셈 연산을 위한 전용 연산 유닛으로, DNN 가속에 필수적이다. ===High-Bandwidth I/O=== PCIe, Ethernet 등 다양한 고속 인터페이스를 지원한다. ==FPGA와 딥러닝 (DNN)== FPGA는 최근 딥러닝 추론 가속기 분야에서 주목받고 있다. ===장점=== *다양한 DNN 구조에 맞는 맞춤형 데이터 경로 구성 *Low-latency inference에 강점 *ASIC 제작 전 프로토타입 플랫폼으로 사용 가능 *Edge AI 및 산업용 로봇 등에서 인기 ===FPGA 기반 AI 가속기 예시=== *'''Xilinx Alveo''' U200/U250/U280 시리즈 *Intel Arria 10 FPGA *AWS F1 인스턴스 (Xilinx Ultrascale+) ==FPGA vs ASIC vs GPU== {| class="wikitable" !특성 !FPGA !ASIC !GPU |- |목적||프로그래머블 하드웨어||특정 작업 전용||범용 병렬 연산 |- |유연성||매우 높음||매우 낮음||높음(소프트웨어 기반) |- |성능||중간 ~ 높음||최고 성능||높음 |- |전력 효율||중간||매우 높음||중간 |- |개발 기간||짧음||매우 길음||필요 없음 |- |비용||낮음||매우 높음||중간 |- |사용 예||연구·프로토타이핑·Edge AI||TPU·ANE·전용 가속기||딥러닝 학습·추론 |} ==활용 분야== *딥 러닝 추론 (CNN, Transformer 일부 구조) *영상 처리 / 신호 처리 *IoT 및 Edge 컴퓨팅 *금융(초저지연 트레이딩) *네트워크 패킷 처리 *로봇 및 산업 자동화 ==프로그래밍 방식== FPGA는 여러 방식으로 프로그래밍할 수 있다: ===HDL (Hardware Description Language)=== *Verilog *VHDL 하드웨어 회로를 직접 설계하는 가장 전통적인 방식. ===High-Level Synthesis (HLS)=== *C/C++ 기반 회로 설계 *DNN inference 가속용 HLS 라이브러리 제공 ===프레임워크 기반 도구=== *Xilinx Vitis AI *hls4ml *FINN (Xilinx DNN compiler) ==장점== *높은 유연성 *빠른 개발 및 수정 *하드웨어 최적화 가능 *ASIC 제작 전 성능 검증 용도로 활용 가능 ==한계== *ASIC 대비 낮은 최대 성능 *GPU보다 일반적으로 낮은 throughput *복잡한 DNN 전체를 구현하기엔 난이도가 높음 *최적 회로 설계에 전문성이 필요 ==함께 보기== *[[ASIC]] *[[GPU]] *[[TPU]] *[[딥 러닝 가속기]] *[[Vitis AI]] *[[Deep Neural Network]] ==참고 문헌== *Xilinx Alveo 공식 문서 *Intel FPGA 기술 자료 *AWS EC2 F1 문서 *FPGA 기반 AI 가속 관련 연구 논문 [[분류:하드웨어]] [[분류:컴퓨터 구조]] [[분류:인공지능]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록