정의
단일 곱셈‑누산기(單一 Multiplication‑Accumulation, 이하 MAC)는 하나의 곱셈 연산기와 하나의 누산(덧셈) 연산기로 구성된 기본적인 연산 유닛이다. 입력으로 두 개의 피연산자를 받아 곱셈을 수행하고, 그 결과를 기존 누산값에 더한 뒤 새로운 누산값을 출력한다. “단일”이라는 수식어는 동일한 연산을 동시에 수행할 수 있는 다중 MAC(다중 곱셈‑누산기)와 구별하기 위해 사용된다.
구조·동작 원리
| 구성 요소 | 기능 |
|---|---|
| 곱셈기(Multiplier) | 두 입력값 A·B를 곱하여 중간 결과 P를 생성한다. 일반적으로 고정소수점, 부동소수점, 혹은 정수 연산을 지원한다. |
| 누산기(Accumulator) | 이전 누산값 C와 곱셈 결과 P를 더한다. 누산은 보통 레지스터 형태로 구현되어, 연속적인 연산에서 값을 유지한다. |
| 제어 로직 | 연산 흐름(입력 로드, 연산 시작, 결과 저장 등)을 제어하고, 파이프라인 스테이지 혹은 클럭 신호와 동기화한다. |
| 클럭·리셋 | 동기식 클럭에 따라 연산을 진행하고, 리셋 시 누산값을 초기화한다. |
동작 순서는 일반적으로 다음과 같다.
- 입력 로드 – A, B, 현재 누산값 C를 레지스터에 적재한다.
- 곱셈 – A·B → P (단일 클럭 사이클 또는 다단 파이프라인에 따라 지연)
- 누산 – P + C → C’ (새로운 누산값)
- 출력 – C’를 외부로 전송하거나 다음 연산에 바로 사용한다.
많은 구현에서 파이프라인을 적용해 곱셈과 누산을 겹쳐 수행함으로써 초당 여러 번의 MAC 연산을 가능하게 만든다.
주요 특성
- 연산 효율 : 한 사이클당 하나의 곱셈과 하나의 덧셈을 수행하므로, FIR 필터, 디지털 신호 처리(DSP), 머신 러닝 가중치 연산 등에 최적화되어 있다.
- 정밀도 옵션 : 8‑bit·16‑bit·32‑bit·64‑bit 고정소수점, IEEE‑754 단정밀도·배정밀도 부동소수점 등 다양한 정밀도 선택이 가능하다.
- 파이프라인 & 스트리밍 : 다단 파이프라인 구현 시 연산 지연(Latency)은 늘어나지만, 처리량(Throughput)은 1 클럭당 1 MAC으로 유지된다.
- 전력·면적 : 단일 MAC는 다중 MAC에 비해 실리콘 면적과 전력 소모가 적어, 저전력 임베디드 시스템에 널리 사용된다.
응용 분야
| 분야 | 구체적 활용 예 |
|---|---|
| 디지털 신호 처리 | FIR/ IIR 필터, FFT, 변조·복조 알고리즘 등에서 연속적인 곱셈‑누산 연산을 수행. |
| 음성·이미지 처리 | 컨볼루션 연산, 이미지 필터링, 에코 캔슬링 등. |
| 인공지능/머신러닝 | 신경망에서 가중치·입력의 내적 연산(예: Fully‑Connected 레이어, Convolution 레이어). |
| 제어 시스템 | 상태 추정, 적응 제어 알고리즘에서 실시간 계수 업데이트. |
| 과학·공학 시뮬레이션 | 수치 적분, 차분 방정식 풀이 등에 사용. |
구현 기술
- ASIC – 전용 회로로 설계해 고속·저전력 MAC 구현이 가능. 보통 파이프라인 단계와 고정소수점 연산을 최적화한다.
- FPGA – DSP 블록(예: Xilinx DSP48E, Intel “Adaptive Logic Module”)에 내장된 MAC 유닛을 활용하거나, 레지스터-전송 레벨(RTL)로 직접 설계한다.
- 마이크로컨트롤러·DSP 코어 – 내장된 MAC 명령어(MAC, MLA 등)를 이용해 소프트웨어 수준에서 연산을 수행한다.
- GPU·AI 가속기 – 대규모 병렬 MAC를 위한 여러 개의 단일 MAC가 행렬 연산에 사용되며, SIMD/SMID 구조에 통합된다.
관련 기술·용어
- 다중 MAC (Multiple MAC) – 여러 MAC 유닛을 병렬로 배치해 연산량을 확장한 형태.
- 파이프라인 MAC – 곱셈과 누산을 서로 다른 파이프라인 단계에 배치해 연산 중첩을 실현.
- 누산 레지스터(Accumulator Register) – 누산값을 저장하는 전용 레지스터.
- 곱셈‑누산 명령어(MAC instruction) – CISC·RISC 아키텍처에서 제공되는 복합 연산 명령어.
- Fixed‑Point vs Floating‑Point MAC – 정밀도·범위 요구에 따라 선택되는 데이터 형식.
역사·발전
- 1970~1980년대 : 초기 DSP 칩(예: Texas Instruments TMS32010)에서 단일 MAC가 핵심 연산 블록으로 도입되었다.
- 1990년대 : 고속 FIR 필터와 디지털 통신 시스템의 요구에 따라 파이프라인 MAC와 고정소수점 구조가 표준화되었다.
- 2000년대 이후 : 머신 러닝 부흥과 함께 부동소수점 MAC가 강조되었으며, GPU·TPU와 같은 AI 가속기의 기본 연산 단위로 자리 잡았다.
- 최근 : 저전력 IoT 디바이스와 엣지 AI 플랫폼에 맞춰 8‑bit·16‑bit 정밀도의 초소형 MAC가 널리 채택되고 있다.
참고 문헌·자료
- “Digital Signal Processing Architecture”, B. R. Mahesh, IEEE Transactions on Circuits and Systems, 1998.
- “Design of High‑Performance Multiply‑Accumulate Units for DSP”, K. Kim et al., Proceedings of DAC, 2005.
- “Tensor Processing Unit (TPU) Architecture”, N. P. Jouppi et al., ISCA, 2017.
- “Fixed‑Point and Floating‑Point MAC Designs in Modern FPGAs”, Xilinx Application Note, 2021.
단일 곱셈‑누산기는 디지털 연산의 핵심 블록으로, 다양한 분야에서 실시간 고속 연산을 지원한다.