행렬 곱셈은 PHY 신호 처리와 Deep Neural Network (DNN) 추론 모두에서 지배적인 역할을 하지만, 이 두 영역은 행렬 엔진에 상반된 요구 사항을 부과합니다. 신호 처리는 비교적 작은 크기의 행렬 연산을 낮은 지연 시간(low-latency)으로 실행하는 것을 필요로 하는 반면, DNN 추론, 특히 대규모 배치 사이즈에서는 큰 행렬 곱셈에 대한 높은 처리량(high throughput)과 에너지 효율성을 우선시합니다.
Systolic Array (SA)는 효율적인 메모리 접근 프로파일을 제공하지만, 행렬당 채우기 및 비우기 지연 시간(fill and drain delays)이 발생합니다. 이러한 지연 시간은 큰 행렬에서는 상쇄될 수 있지만 작은 행렬에서는 그렇지 못합니다. 반대로, 텐서 유닛(tensor unit)은 적은 사이클 만에 커널을 완료하지만, 대규모 행렬에서 동일한 피연산자 타일(operand tiles)을 반복적으로 읽어야 합니다. 이로 인해 SA는 신호 처리에 너무 느리고, 텐서는 AI 분야에 비효율적입니다.
우리는 이러한 필요성이 곱셈-누적기(Multiply-Accumulate, MAC) 유닛의 SA 구조와 텐서 구조 사이의 선택일 필요가 없음을 보여줍니다. 우리는 주로 SA로 작동하며, 저비용 재구성을 통해 연산별로 텐서 스타일 엔진으로 변환되는 단일 엔진을 제안합니다. MUX(Multiplexer)는 기존 SA 내의 MAC 및 레지스터로부터 공간적 축소 가산기 트리(spatial reduction adder tree)와 시간적 축소 누산기(temporal reduction accumulators)를 모두 생성합니다.
제안된 재구성 가능 SA는 수정된 SCALESim 시뮬레이터를 사용하여 시뮬레이션되었으며, Zynq 702 FPGA에서 검증되고 ASAP 7nm FinFET 라이브러리를 사용하여 합성되었습니다. SCALE-Sim 시뮬레이션 결과, 작은 복소수 값 PHY 커널에 대해 최대 7.5배 낮은 지연 시간을 보여줍니다. DNN 워크로드에서도 메모리 접근 증가가 미미한 수준으로 SA의 메모리 접근 이점을 유지하면서, 기존 SA 실행 대비 최대 1.65배의 속도 향상을 달성합니다. 합성 결과에 따르면 재구성 가능 패브릭은 전력 소모 측면에서만 약 8%의 오버헤드와 면적(area) 측면에서 13.6%의 오버헤드를 차지하는 것으로 추정됩니다.