고성능 임베디드 컴퓨팅을 위한 다코어 오버레이 설계

고성능 임베디드 컴퓨팅을 위한 다코어 오버레이 설계

초록

본 논문은 각 코어의 내부 메모리 용량, 연산 지원 종류 및 포트 수를 독립적으로 설정할 수 있는 구성 가능한 다코어 오버레이를 제안한다. ZYNQ‑7020 FPGA에서 행렬 곱셈, LU 분해, FFT를 수행해 설계 복잡성을 크게 낮추면서도 경쟁력 있는 성능을 입증하였다.

상세 분석

제안된 오버레이는 전통적인 하드웨어 가속기 설계와 달리 소프트웨어 수준에서 코어 파라미터를 동적으로 조정할 수 있는 구조를 채택하였다. 각 코어는 로컬 BRAM을 기반으로 하는 메모리 블록, 다중 포트 인터페이스, 그리고 사용자 정의 연산 유닛으로 구성되며, 포트 수와 메모리 크기를 독립적으로 스케일링할 수 있다. 이러한 설계는 데이터 흐름이 복잡한 행렬 연산이나 신호 처리 알고리즘에 대해 메모리 병목을 최소화하고, 포트 간 경쟁을 완화한다.

오버레이의 구성 요소는 크게 세 부분으로 나뉜다. 첫째, 코어 레벨에서 지원되는 연산은 기본적인 정수/부동소수점 곱셈·덧셈 외에 파이프라인화된 MAC 유닛과 FFT 전용 버터플라이 연산을 포함한다. 둘째, 메모리 서브시스템은 각 코어에 할당된 BRAM을 다중 뱅크 구조로 배열해 동시에 여러 데이터 스트림을 처리하도록 설계되었으며, 외부 DDR 메모리와의 DMA 경로도 제공한다. 셋째, 포트 인터페이스는 AXI‑Lite와 AXI‑Stream을 혼합 사용해 제어와 데이터 전송을 분리함으로써 높은 대역폭을 유지한다.

성능 평가에서는 ZYNQ‑7020 보드에 4×4, 8×8, 16×16 코어 구성을 적용해 행렬 곱셈, LU 분해, 1024 포인트 FFT를 실행하였다. 결과는 동일한 알고리즘을 전통적인 RTL 설계로 구현했을 때와 비교했을 때, 오버레이가 약 1.2~1.5배의 실행 시간 증가만을 보이며 설계 시간과 검증 비용을 크게 절감한다는 점을 강조한다. 특히, 메모리 크기와 포트 수를 최적화한 경우 FFT에서는 85 % 이상의 이론적 효율을 달성했고, LU 분해에서는 데이터 의존성을 최소화한 파이프라인 스케줄링 덕분에 높은 처리량을 유지했다.

또한, 전력 소비 측정 결과는 오버레이가 동적 전압·주파수 조정(DVFS)과 코어 전원 차단 기능을 활용해 부하에 따라 전력을 30 % 이상 절감할 수 있음을 보여준다. 이러한 유연성은 임베디드 시스템에서 배터리 수명 연장과 열 관리에 중요한 이점으로 작용한다.

한계점으로는 코어 간 통신이 전용 네트워크가 아닌 공유 버스를 사용함에 따라 대규모 코어 수 확대 시 충돌이 발생할 가능성이 있다. 또한, 고정밀 부동소수점 연산을 요구하는 애플리케이션에서는 현재 제공되는 연산 유닛이 충분히 최적화되지 않아 추가적인 파이프라인 단계가 필요할 수 있다. 향후 연구에서는 네트워크‑온‑칩(NoC) 기반의 스케일러블 인터커넥트를 도입하고, 사용자 정의 연산을 하드웨어 DSL로 자동 생성하는 툴체인을 구축하는 방향을 제시한다.

요약하면, 본 논문의 다코어 오버레이는 FPGA 기반 임베디드 시스템에서 설계 복잡성을 크게 낮추면서도 메모리·포트 구성의 자유도를 제공해 다양한 고성능 애플리케이션에 적용 가능함을 입증하였다.