단일 곱셈-누산기


정의

단일 곱셈‑누산기(單一 Multiplication‑Accumulation, 이하 MAC)는 하나의 곱셈 연산기와 하나의 누산(덧셈) 연산기로 구성된 기본적인 연산 유닛이다. 입력으로 두 개의 피연산자를 받아 곱셈을 수행하고, 그 결과를 기존 누산값에 더한 뒤 새로운 누산값을 출력한다. “단일”이라는 수식어는 동일한 연산을 동시에 수행할 수 있는 다중 MAC(다중 곱셈‑누산기)와 구별하기 위해 사용된다.


구조·동작 원리

구성 요소 기능
곱셈기(Multiplier) 두 입력값 A·B를 곱하여 중간 결과 P를 생성한다. 일반적으로 고정소수점, 부동소수점, 혹은 정수 연산을 지원한다.
누산기(Accumulator) 이전 누산값 C와 곱셈 결과 P를 더한다. 누산은 보통 레지스터 형태로 구현되어, 연속적인 연산에서 값을 유지한다.
제어 로직 연산 흐름(입력 로드, 연산 시작, 결과 저장 등)을 제어하고, 파이프라인 스테이지 혹은 클럭 신호와 동기화한다.
클럭·리셋 동기식 클럭에 따라 연산을 진행하고, 리셋 시 누산값을 초기화한다.

동작 순서는 일반적으로 다음과 같다.

  1. 입력 로드 – A, B, 현재 누산값 C를 레지스터에 적재한다.
  2. 곱셈 – A·B → P (단일 클럭 사이클 또는 다단 파이프라인에 따라 지연)
  3. 누산 – P + C → C’ (새로운 누산값)
  4. 출력 – 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 레이어).
제어 시스템 상태 추정, 적응 제어 알고리즘에서 실시간 계수 업데이트.
과학·공학 시뮬레이션 수치 적분, 차분 방정식 풀이 등에 사용.

구현 기술

  1. ASIC – 전용 회로로 설계해 고속·저전력 MAC 구현이 가능. 보통 파이프라인 단계와 고정소수점 연산을 최적화한다.
  2. FPGA – DSP 블록(예: Xilinx DSP48E, Intel “Adaptive Logic Module”)에 내장된 MAC 유닛을 활용하거나, 레지스터-전송 레벨(RTL)로 직접 설계한다.
  3. 마이크로컨트롤러·DSP 코어 – 내장된 MAC 명령어(MAC, MLA 등)를 이용해 소프트웨어 수준에서 연산을 수행한다.
  4. 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가 널리 채택되고 있다.

참고 문헌·자료

  1. “Digital Signal Processing Architecture”, B. R. Mahesh, IEEE Transactions on Circuits and Systems, 1998.
  2. “Design of High‑Performance Multiply‑Accumulate Units for DSP”, K. Kim et al., Proceedings of DAC, 2005.
  3. “Tensor Processing Unit (TPU) Architecture”, N. P. Jouppi et al., ISCA, 2017.
  4. “Fixed‑Point and Floating‑Point MAC Designs in Modern FPGAs”, Xilinx Application Note, 2021.

단일 곱셈‑누산기는 디지털 연산의 핵심 블록으로, 다양한 분야에서 실시간 고속 연산을 지원한다.

둘러보기

더 찾아볼 만한 주제