‘AI 시대’의 프로세서 FPGA

[테크월드=양대규 기자] 최근 FPGA(Field Programmable Gate Array)에 대한 관심이 커지고 있다. FPGA는 프로그램이 가능한 비메모리 반도체의 일종으로, 주로 항공, 우주, 방산 등의 특수한 영역이나 특정 전자 제품을 생산하기 전에 테스트용으로 사용됐다. FPGA는 회로 변경이 불가능한 일반 반도체와 달리 용도에 맞게 회로를 다시 새겨 넣을 수 있다. 최근에는 사용자의 용도에 따라 반도체의 기능을 변형시킬 수 있는 특징에 급속도로 변화하는 AI 환경에 적합한 프로세서로 새롭게 주목받고 있다.

FPGA와 CPU·GPU·ASIC

FPGA가 다른 프로세서 제품들과 다른 가장 큰 특징으로는 ‘프로그래머블(Programmable)’하다는 것이다. 한양대학교 소프트웨어융합원 박주열 박사는 “FPGA는 화이트 보드와 같다”며, “흰 바탕의 보드에 프로그램을 그리고 지울 수 있다는 것이 다른 프로세서들과의 궁극적인 차이”라고 설명했다.

FPGA와 주료 비교되는 프로세서로는 CPU, GPU, ASIC 등이 있다. ▲CPU는 가장 대표적인 프로세서로 ‘중앙처리장치(Central Processing Unit)’라는 말대로 다양한 컴퓨팅 제품에서 고성능 프로세서로서 두뇌의 역할을 한다. ▲GPU(Graphics Processing Unit)는 그래픽 컨트롤러로 CPU처럼 하나의 고성능 프로세서가 아닌 병렬로 연결된 다수의 프로세서로 단순한 반복 작업에 특화된 장치다. ▲ASIC(Application Specific Integrated Circuit)은 사용자 주문형 반도체라는 뜻으로 주로 한가지 영역이나 제품에서만 사용되는 프로세서다.

CPU, GPU, ASIC과 다른 FPGA의 특징

프로그래머블한 특징을 지닌 FPGA는 ▲유연성 ▲소량생산 ▲저전력의 세 가지 큰 장점을 자랑한다.

먼저, FPGA는 다른 프로세서들과는 비교 안 되는 독보적인 유연성이 그 특징이다. 프로그램 알고리즘에 따라 프로세싱이나 병렬 계산 속도를 높일 수 있으며, 게이트 수, 지원 IP 종류들을 마음대로 조절할 수 있다. CPU도 유연성이 높지만 하드웨어 영역이 아닌 소프트웨어 영역에서 가능하며, ASIC은 처음 설계와 생산부터 하나의 정형된 형태로 만들어지기 때문에 유연성은 거의 없다고 볼 수 있다. CPU는 단일 프로세싱 성능이 높으며, GPU는 병렬처리에서 프로세싱 성능이 높다. 하지만, FPGA는 알고리즘에 따라 단일 프로세싱 성능을 높이거나 병렬처리 능력을 높이는 방식으로 설계할 수 있다. ASIC도 설계에 따라 두 장점 중 하나를 고르거나 둘 모두의 장점을 취할 수 있지만 설계 후 생산이 이뤄진 시점에서는 한번 고정되면 변할 수 없다. FPGA처럼 다시 유연하게 바꿀 수는 없는, ASIC은 단 하나의 솔루션을 위한 ‘고정된’ 프로세서인 것이다.

두번째로 FPGA는 소량생산에 유리하다는 장점이 있다. 항공이나 국방, 우주 등에서 FPGA는 소량으로 생산되는 고성능 프로세서로 생산효율이 CPU, GPU, ASIC보다 월등히 높다. 특히, 이런 특성은 특정 품목의 대량생산을 위해 설계된 ASIC과는 대척점에 있다고 볼 수 있다. 100~1000여 개 이하의 제품 생산을 위해 ASIC처럼 공장을 세워서 생산할 수는 없다. 오히려 단품으로는 고가인 FPGA를 개별로 구매해 자체 프로그래밍을 삽입하는 것이 비용적으로 훨씬 유리하다. CPU와 GPU 역시 대부분 제품에 대량생산으로 공급되는 게 대부분이다. 일부 CPU나 GPU 제품이 소량 주문 생산의 부품으로 적합한 경우에는 사용될 수도 있지만, 그것은 극히 일부라고 볼 수 있다.

마지막으로 FPGA는 다른 프로세서보다 저전력 설계를 할 수 있다는 장점이 있다. 하나의 프로세서에서 최상의 성능을 뽑아내는 CPU는 최근 저전력 제품군이 나오고는 있지만, 기본적으로는 ‘성능’을 중시하는 프로세서로 그 한계가 있을 수밖에 없다. 특히, 다중 코어 프로세서가 등장하면서 CPU의 전력 소모량은 쉽게 줄이기 힘들다. GPU는 병렬 계산을 위해 무려 수백 개에서 수천 개까지의 프로세서를 사용하기 때문에 기본적으로 다른 프로세서들보다 전력 소모량이 클 수밖에 없다. 프로세서의 효율을 높이더라도 제품의 구조상 전력 소모량을 크게 줄이기는 힘든 프로세서다. 반면, FPGA는 아키텍처를 통해 병렬 구조를 설계하기 때문에, 하나의 프로세서 안에서 모든 작업이 이뤄져 저전력 병렬 연산을 가능케 한다.

ASIC의 경우에도 이미 생산·판매·연구가 많이 이뤄진 애플리케이션에서는 저전력 솔루션이 가능하지만, 개발 초기의 애플리케이션의 경우에는 전력 소모보다 성능을 중시하는 경우가 많다. FPGA 역시 초기 설계에 저전력보다 성능이 우선시 될 수 있지만, 새로운 알고리즘을 개발하면 쉽게 저전력 솔루션을 업데이트할 수 있다.

FPGA가 주로 사용되는 애플리케이션 영역

이런 FPGA의 특징은 특정 산업군에서 자신의 역량을 크게 발휘한다. 한양대 박주열 박사는 “국내에서 FPGA는 팹(Fab)·팹리스(Fabless) 반도체 생산업체들이 칩으로 양산하기 전 대규모 시스템을 검증할 때 많이 사용했다. 또는 물량이 적은데 다양한 제품을 만드는 회사들, 고속으로 영상이나 신호처리(DSP) 등에서 FPGA를 사용했다”며, “최근에는 AI 영역에서 주목받으며, FPGA에 대한 관심이 커지고 있다”고 밝혔다.

전 세계적으로 FPGA가 주로 사용되는 애플리케이션 영역은 ▲의료 ▲항공·우주·국방·철도 ▲테스트 ▲AI·머신러닝 등이다. FPGA에는 가장 먼저 반도체의 테스트에서 시작됐으며, 그 뒤로 의료, 항공, 우주, 국방, 철도 등에서 사용되었다가 최근에는 AI와 머신러닝 영역에서 새로운 솔루션으로 주목받고 있다.

첫 번째로 FPGA가 사용되는 분야는 의료영역이다. 의료영역은 기본적으로 고가의 장비를 사용해, 이를 구매할 수 있는 병원 수가 한정됐다. 소량 생산된 제품에 FPGA는 적합하다. 또한, 병원에서 사용되는 솔루션은 기술발전에 따라 날로 요구치가 증가한다. X-Ray나 초음파, CT, MRI 기기의 경우 해상도가 높아질수록 환자의 상태를 정확히 알 수 있으며, 이런 솔루션들이 업데이트 될 때 될 때 프로세서의 알고리즘도 업데이트가 필요하다. 이런 의료기기에서 FPGA는 적합한 솔루션으로 선택될 수 있다. 이밖에도 FPGA는 고성능 프로세서로서 실시간 분석, 지능형 전송, 몰입형 디스플레이 등을 구현할 수 있다.

두 번째로 FPGA는 항공, 우주, 국방, 철도 등의 특정 영역에서 사용할 수 있다. 이런 영역들은 역시 시장이 넓지 않기 때문에 소량 생산으로 FPGA가 ASIC보다 경제적으로 사용된다. 또한, 소량 생산을 통해 안전에 직결되는 보안 영역에서의 안정성도 보장된다. 이 영역에서 사용되는 모빌리티(Mobility) 생산품들은 고성능을 만족하기 위해서 프로세서의 전력 소모에 민감한 제품들이기 때문에 저전력 설계는 필수다. 이밖에도 FPGA는 고성능 프로세싱 능력과 한계 상황에서의 안정적인 작동, 실시간 신호전달 등의 능력이 해당 영역에 적합하다.

세 번째 영역은 가장 전통적인 테스트 영역에서의 사용이다. 원래 FPGA가 가장 많이 사용되는 분야는 반도체 영역에서 완제품을 생산하기 이전에 시제품의 단계에서 해당 제품의 생산 여부를 알아보기 위해 사용된다. FPGA로 만들어진 시제품은 완성 여부에 따라 추가로 수정이 진행되기도 하고, 완성되면 시중에 유통하기도 한다. 또한. FPGA를 이용해서 생산성이 확인된 제품은 공장에서 ASIC을 통해 대량생산을 한다. 이런 테스트의 용도에서 중요한 것은 무엇보다 유연성과 소량 생산이다. 제품의 수정을 위해서 FPGA의 유연성이 필요하며, 시제품이기 때문에 소량 생산이 필수인 것이다. TV와 냉장고 등 일부 공산품들의 초창기 제품들의 경우에는 FPGA를 달고 판매된 제품도 일부 존재한다.

회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지