어제 오늘 포트에 새롭게 담은 친구 매커스에 대해서 이야기 해보자고 한다.
국내 유일 FPGA 유통 상장사! 매커스!

매커스는 Dart에 나와있듯 비메모리 반도체인 FPGA 반도체를 유통하는 회사이다.
* FPGA = Field Programmable Gate Array = 고객사가 설계를 직접 변경할 수 있는 반도체
현재 국내에 FPGA를 유통하는 회사는 국내에 5개 회사가 있는데, 그 중 매커스가 유일한 상장사다.
매커스, 단순 반도체 유통사로 보기에는 너무나 높은 마진율을 갖고 있다.
반도체 유통사라고 하면 경쟁력이 없는 회사라고 생각할 수 있겠지만 매커스의 영업이익률은 도저히 단순 유통사가 낼 수 있는 영업이익률이 아니다.

최근 5개년 분기별 영업이익 & 영업이익률 그래프를 보면 아시다시피 '17년 이후 매분기 10%를 넘나드는 영업이익률을 보여줬으며, 4Q21에는 24.8%라는 경이적인 영업이익률을 기록하였다.
상장사 중 비슷하게 반도체를 유통하는 상장사 '에스에이엠티'의 영업이익률을 보면 매커스는 단순 유통업체가 아님을 더욱 확실하게 알 수 있다.

왜 매커스는 같은 반도체 유통사인 에스에이엠티보다 마진율이 높을까?
이는 FPGA 유통사들이 단순 유통업무만 하지 않기 때문이다.
FPGA유통사들은 FPGA를 유통할뿐만 아니라 구매처에게 그들의 제품 사양에 맞는 반도체를 선정하여 최적의 반도체 솔루션을 제공하며, 필요에 따라 개발 파트너로서 기술지원(반도체 회로 설계)을 하고 같이 제품을 개발한 후 반도체를 판매를 진행하고 있다.
정리하자면 매커스가 고객사를 위해 제공하는 서비스는 총 4가지인 것이다.
(1) FPGA 유통
(2) 최적의 FPGA 추천
(3) FPGA 개발 솔루션 추천
(4) FPGA 최적화를 위한 개발 서포트
즉, 매커스가 고객사를 위해 단순 유통만 하는 것이 아니라 기술지원 서비스까지 제공하기 때문에 수익성이 좋다는 것을 우리는 알 수 있다.
고객사 혼자서는 설계가 불가능할 정도로 설계 난이도가 높은 FPGA
그렇다면 왜 고개사들은 FPGA의 기술지원을 받아야 할까?
앞서 말한 매커스가 제공하는 서비스 중 (1)은 아무나 할 수 있지만 (2)~(4) 업무를 수행하기 위해서는 FPGA에 대한 깊은 이해와 노하우를 갖고 있어야 한다. 특히 (4)가 아주 중요한데, 이유는 FPGA의 설계 난이도가 현존하는 칩셋 중 가장 극악이기 때문이다. 그렇기 때문에 FPGA를 구매하는 고객들은 유통사(매커스 등)가 도움을 주지 않으면 FPGA를 혼자서 설계를 하기 어렵다.
이를 자일링스같은 FPGA 제조사들도 잘 알고 있기 때문에 영업을 직접하지는 않고, 각 국가, 지역마다 전문 유통사를 지정해 유통사가 영업&개발 지원까지 함께 하는 방식으로 제품을 판해하고 있다.
일례로 박사 학위를 가진 엔지니어 한명이 2달동안 어떤 동영상 처리 알고리즘을 GPGPU로 구현했는데, 동일한 알고리즘과 기능을 FPGA로 구현할때 박사 학위를 가진 엔지니어 두명이 1년동안 작업해야 했다는 보고가 있을 정도다.
이 예시를 기준으로 단순 계산하면 동일한 기능의 구현에 GPGPU 보다 12배의 노동력이 필요하다는 것인데, 이런 문제를 해결하기 위해 C 등의 프로그래밍 언어로 알고리즘을 짜면 HDL로 변환해주는 HLS(High Level Synthesis)도 많이 보급되었지만, 그게 하드웨어를 몰라도 쉽게 사용할 수 있는 만능도구라 생각하면 곤란하다.
즉, FPGA 설계는 단순 S/W적 지식뿐만 아니라 하드웨어 설계에 대한 지식이 없으면 진입이 불가능에 가깝다.
FPGA를 설계하기 위해서는 S/W적인 지식뿐만 아니라 H/W적인 지식까지 두루 갖춰야 하는데, 이를 개별 기업들이 모두 갖추기는 어렵고, 이 부분에 대해 FPGA 유통사들이 기술적 지원을 해주는 것이다.
이렇게 까다로운 FPGA를 왜 쓸까?
그렇다면 이렇게 설계하기 어려운 FPGA를 왜 고객사들은 구매해서 사용하는 것일까?
바로 FPGA가 가진 장점때문이다.
아래 표는 프로세서별 분야별 성능을 비교한 표이다.

표를 보면 알겠지만 FPGA는 다른 프로세서 대비 여러가지 장점을 갖고 있다.
첫번째 장점. 유연성(Programable)
앞서 말했듯 FPGA는 사용자가 원하는대로 내부 구조를 변경할 수 있는 비메모리 반도체다.
즉, 프로그램 알고리즘에 따라 CPU처럼 단일 프로세싱 성능을 높이거나 GPU처럼 병렬 처리를 가능하게 하는 등 수정자가 CPU의 성능을 원하면 CPU처럼, GPU 성능을 원하면 GPU처럼 설계할 수 있다는 것이다.
이뿐만 아니라 FPGA는 한번 개발했던 구조를 다시 시간이 지나서 다른 구조로 수정가능하다는 장점이 있는데, 이러한 이유로 인해서 최근 급속도로 변화하는 AI환경에 적합한 프로세서라고 평가받고 있다.
IT 시장은 시간이 지날수록 더 빠른 속도로 변화하고 제품 설계는 더 복잡해지고 있지만 제품 수명은 오히려 짧아지고 있다. 이로인해 IT업체들은 개발기간을 더 줄여야 하는 압박이 존재하고, 이로 인해 실시간으로 설계 수정이 가능한 FPGA에 대한 수요가 증가 중인 것이다.
물론 주문형 반도체인 ASIC도 사용자의 요구대로 설계하여 맞춤형으로 만들어낼 수 있으나, 한번 설계, 생산이 진행된 후에는 CPU나 GPU처럼 기능이 고정되어 수정 불가능하다는 단점이 있다.
CPU도 유연성이 높다고 볼 수 있지만 FPGA는 하드웨어 영역이 아닌 소프트웨어 영역에서도 유연성을 발휘한다는 점이 가장 큰 특징이다.
두번째 장점. 병렬 연산
미래를 이야기할 때 빼놓을 수 없는 기술인 빅데이터 및 딥러닝(Deep Learning), 머신러닝(Machine Learning)에서의 핵심 기술은 바로 병렬 연산이다.
각 프로세서별 병렬 연산 로직은 아래 그림과 같이 이뤄진다.

애초에 CPU는 천재 1명이 모든 일을 다 처리하는 방식이라 병렬 연산에 부적합하고
병렬 처리의 대표 프로세서인 GPU는 수백, 수천 개의 코어를 통해 단순 연산을 한 번에 진행하는 식으로 데이터를 병렬 처리를 진행하는데, 이는 물리적으로 나눠진 코어로 연산을 진행하는 것이기 때문에 물리적인 코어 이상으로 나아갈 수 없다는 한계가 존재한다.
이에 반해 FPGA는 하드웨어가 아닌 소프트웨어적으로 구현된 하나의 코어만을 사용하여 알고리즘을 통한 병렬 설계가 가능하기 때문에 GPU보다 더 높은 가속 성능을 발휘할 수 있다. 가상의 공간을 알고리즘으로 쪼개서 그 공간들이 병렬 연산을 수행하게 하는 것이다.
이는 곧 설계 기술이 발전할수록 추가 리소스 투입없이도 더 높은 가속 성능이 가능함을 의미하기 때문에 병렬 연산 부분에 있어서는 다른 칩셋 대비 FPGA가 가장 우수하다고 볼 수 있다.
ASIC같은 경우에는 설계를 어떻게 하느냐에 따라서 병렬연산 능력이 가장 우수할수도, 가장 뒤떨어질수도 있기 때문에 직접적인 비교는 하기 어렵다.
세번째 장점. 저전력
CPU는 최근 저전력 제품군이 나오고는 있지만, 기본적으로는 성능을 중시하는 프로세서라서 소비 전력을 줄이는데 한계가 존재한다. 그리고 최근에는 다중 코어 트렌드로 인해 전력 소모량을 줄이기가 점점 더 어려워지고 있다.
GPU는 병렬 연산을 위해 수천 개의 코어를 사용하기 때문에 프로세서들 중에서 전력 소모량이 가장 높은 편이다.
반면 FPGA는 위에서 설명한 것처럼 소프트웨어를 통해 병렬 구조를 설계하기 때문에 하나의 코어 안에서 모든 작업이 이루어져 소비 전력이 낮다. 오히려 알고리즘 개발을 통해 점점 더 저전력으로 업그레이드도 가능하다.
이러한 저전력의 특성으로 인해 전력 소모량이 적어야 하는 모빌리티, 우주, 방산, 항공분야 뿐만 아니라 최근에는 AI, 빅데이터 분야에서도 그 쓰임새가 확장되고 있다.
물론 ASIC의 경우에도 저전력 솔루션이 가능하여, 일반적으로 FPGA가 ASIC보다 소비 전력이 큰 편이나, ASIC은 전력 소모보다 성능을 중시하는 경우가 많아 이런 단순 비교는 의미가 없다.
네번째 장점. 가성비
마지막으로 가성비다.
FPGA는 앞서 말했듯 자기가 원하는 대로 설계를 할 수 있는 비메모리 반도체라고 했는데, 아무래도 수백, 수천만개씩 공장으로 찍어내는 CPU, GPU보다는 가격이 비싸다. 우리가 알고 있는 보통의 CPU, GPU보다는 수십배 비싸다고 생각하면 된다.
그럼 가성비가 떨어지는거 아니냐고 물어볼 수 있겠지만 FPGA가 애초에 양산보다는 테스트용 or 특수한 경우에만 쓰인다는 것을 명심해야 한다. 우리가 알고 있는 평범한 CPU, GPU와는 경쟁상대가 아닌 것이다.
이런 특수 목적을 가진 수요처같은 경우에는 맞춤형으로 CPU, GPU를 주문제작하거나 ASIC를 설계&생산하기보다는 FPGA를 구매해서 직접 설계하는 것이 더 저렴하다.
그래서 특수한 분야에 한정해서는 오히려 현존하는 프로세서 중 가장 가성비가 좋다.
FPGA는 도대체 어디에 쓰이는 걸까?
그렇다면 이런 장점을 가진 FPGA는 도대체 어디에 쓰이는 걸까?
1. 반도체 및 IT 테스트
앞에서 말했듯 FPGA는 유연성(Programable)이 가장 뛰어난 프로세서다.
그래서 새로운 설계가 제대로 구동하는지 확인해야하는 반도체 장비회사 같은 IT회사들이 테스트 용으로 사간다.
설계해 본 것을 직접 생산해서 기능을 확인하는 것보다 FPGA를 구매해서 설계대로 생산해본 뒤, 원하는 성능이 나오는지 확인하는 것이 더 저렴하기 때문이다.
실제로 매커스의 매출액의 40%도 유니테스트, 와이아이케이같은 반도체 장비회사들이다.
2. 로봇제어, 인공지능, 채굴기, 데이터 센터 등을 위한 가속기 또는 그래픽 가속기
다른 저전력 MCU들에 밀리다가 최근에 들어서 가속기 용도로 활약하며 AI 분야(마이크로소프트나 인텔이 이 부분에 적극적이다.)나 암호화폐 채굴 등 막대한 연 산력을 필요로 하는 분야에서 두각을 드러내는 중이다.
암호화폐 채굴 분야에서는 사실 ASIC으로 넘어가기 전 단계에 해당된다. 일단 채굴 로직을 개발해서 FPGA에 탑재해 성능 확인 후 그대로 ASIC로 넘어가는 단계라고 보면 된다.
가속기 용도에서는 GPGPU와 경쟁상대. FPGA를 사용하면 하드웨어 레벨에서 애플리케이션의 병렬 처리를 최적화 할수 있기 때문에 GPGPU보다 성능이나 전력소모 등에서 훨씬 유리하다.
마이크로소프트에서는 데이터센터 서버에 알테라(Altera)의 FPGA를 도입해서 Bing 검색엔진의 성능 및 전력 소모를 개선했었다.
3. 철도/항공/우주 등 모빌리티
FPGA의 세번째 장점, 저전력 때문에 쓰이는 분야이다.
철도, 항공, 우주같은 경우에는 전력을 아주 적게 소모하는 것이 아주 중요하다.
그렇지만 그렇다고 해서 수천, 수만대가 필요하진 않기 때문에 맞춤형 GPU&CPU를 주문제작하거나 주문형 반도체인 ASIC를 직접 설계&제조하기에는 초기 투자비용이 너무나 많이 들어가고 가성비가 떨어진다.
그래서 저전력이지만 상대적으로 저렴한 FPGA가 주로 쓰인다.
아울러 FPGA는 인류가 개발한 반도체 중 가장 신뢰성이 높은 프로그래밍이 가능한 집적회로 반도체다.
한번 프로그래밍한 내용은 수십년이 지나도 안정적으로 구동되는데, 이런 특징 때문에 한번 출시된 이후 수리가 어려운 항공/우주 분야에서 널리 쓰인다.
4. 의료기기/ 방산기기
의료기기/방산기기의 특징은 소량 생산, 고부가가치이다.
이렇듯 소량 생산이 주로 메인이고, 애초에 이 제품들을 구매하는 구매처들도 가격에 덜 민감하기 때문에 FPGA가 널리 쓰인다.
Disclaimer
- 당사의 모든 콘텐츠는 저작권법의 보호를 받은바, 무단 전재, 복사, 배포 등을 금합니다.
- 콘텐츠에 수록된 내용은 개인적인 견해로서, 당사 및 크리에이터는 그 정확성이나 완전성을 보장할 수 없습니다. 따라서 어떠한 경우에도 본 콘텐츠는 고객의 투자 결과에 대한 법적 책임소재에 대한 증빙 자료로 사용될 수 없습니다.
- 모든 콘텐츠는 외부의 부당한 압력이나 간섭없이 크리에이터의 의견이 반영되었음을 밝힙니다.