# AI 칩은 계산보다 데이터 이동을 어떻게 줄이는가

> 2026-05-22 · Dwarkesh Patel · 큐레이션 김태우
> https://challengekim.com/insights/ai-칩은-계산보다-데이터-이동을-어떻게-줄이는가
> 원문: https://www.youtube.com/watch?v=oIk3R-sMX5o

## 핵심 요약

- AI 칩의 핵심 연산인 행렬 곱셈은 작은 수의 곱셈과 더 높은 정밀도의 누적 덧셈으로 이뤄진다.
- 포프가 제시한 간단한 회로에서는 연산 자체보다 레지스터에서 값을 골라 옮기는 회로가 더 큰 면적을 차지한다.
- 시스톨릭 배열은 여러 연산을 한데 묶고 행렬 값을 연산 위치에 보관해 데이터 이동 비용을 나눠 부담한다.
- 클록 속도, 회로 면적, 연산량 사이에는 절충이 있으며, GPU와 TPU도 연산 단위의 크기와 데이터 이동 경로에서 서로 다른 선택을 한다.

## 곱셈 하나를 게이트로 만들면

드워케시 파텔은 AI 칩 회사 MatX의 최고경영자 라이너 포프와 칩 내부의 연산을 가장 작은 단위부터 살폈다. 파텔은 자신이 MatX의 엔젤 투자자라고 밝혔다.

칩의 기본 요소는 AND·OR·NOT 같은 **논리 게이트**와 이를 잇는 배선이다. AI 칩에서 중요한 행렬 곱셈은 두 수를 곱한 결과를 기존 값에 더하는 **곱셈·누적 연산**을 반복한다. 누적 과정에서는 여러 덧셈의 오차가 쌓이므로, 포프는 곱셈보다 누적에 높은 정밀도를 쓰는 이유를 설명하며 4비트 수 두 개의 곱셈과 8비트 값의 덧셈을 예로 들었다.

이 예에서 곱셈의 부분 결과를 만드는 데 AND 게이트 16개가 필요하다. 한 자리의 비트 세 개를 더해 합과 올림을 내는 전가산기는 부분 결과와 누적 값을 합치는 데 쓰인다. 포프가 제시한 회로에는 전가산기 16개가 들어간다. 일반적인 p비트와 q비트의 사례에서도 그가 설명한 회로의 AND 게이트와 전가산기 수는 각각 p×q다. 비트 폭이 커질수록 곱셈 회로의 규모가 빠르게 늘어나는 이유다. 다만 포프는 이 설명이 단순한 정수 곱셈에 관한 것이며, FP4·FP8 같은 부동소수점에는 지수 처리도 필요하다고 덧붙였다.

## 값을 고르는 회로에도 면적이 든다

연산기는 계산할 값을 레지스터에서 읽고 결과를 다시 써야 한다. 어느 값을 읽을지 선택하는 회로를 **멀티플렉서**라고 한다. 포프의 설명에서 n개 항목 중 p비트 값을 하나 고르는 멀티플렉서에는 n×p개의 AND 게이트와 (n−1)×p개의 OR 게이트가 필요하다.

곱셈·누적 연산의 입력 세 개를 각각 고르면 선택 회로의 AND 게이트만 3×n×p개가 된다. 포프가 든 n=8, q=4의 예에서는 데이터 선택에 24×p개, 연산 회로에 4×p개가 쓰인다. 그는 이 단순화한 구성에서 회로 비용의 약 8분의 7이 레지스터를 읽고 쓰는 데 든다고 설명했다. 텐서 코어 도입 이전의 CUDA 코어가 안고 있던 문제를 보여주는 예다.

## 시스톨릭 배열의 데이터 재사용

**시스톨릭 배열**은 여러 곱셈·누적 연산기를 행렬 형태로 묶은 회로다. 포프는 연산을 더 큰 단위로 묶으면 레지스터에 접근할 때마다 더 많은 계산을 할 수 있다고 설명했다. 입력이 바뀌어도 한동안 유지되는 행렬 값은 배열 안의 레지스터에 저장해 여러 벡터에 재사용한다.

행렬 값을 처음 배열에 넣는 과정도 배선을 좌우한다. 모든 값에 한꺼번에 접근하는 대신, 맨 윗줄에 값을 넣고 다음 클록마다 아래로 밀어 넣으면 배열 경계를 지나는 배선의 규모를 줄일 수 있다. 값을 채우는 데 시간이 걸리지만, 오래 재사용할 값을 위한 통로를 크게 만들 필요가 없다는 계산이다. 배열이 커질수록 연산에 비해 입출력 비용을 줄이기 쉽지만, 레지스터 파일을 키우면 더 다양한 작업에 대응하는 대신 배열에 쓸 칩 면적이 줄어든다.

## 클록을 높이는 데 드는 비용

**클록**은 칩의 여러 회로가 결과를 저장하고 다음 단계로 넘어갈 시점을 맞추는 신호다. 한 단계의 논리 연산은 다음 클록이 오기 전에 끝나야 한다. 긴 연산 경로 중간에 레지스터를 넣어 단계를 나누면 클록을 빠르게 할 수 있지만, 저장 회로가 차지하는 면적이 늘어난다.

모든 연산을 마음대로 나눌 수도 없다. 앞선 결과를 다음 덧셈에 다시 사용하는 누적 회로에 레지스터를 잘못 넣으면, 원래의 누적합 대신 짝수 번째 값과 홀수 번째 값의 합을 따로 구하게 된다. 포프는 이런 되먹임 경로가 클록 설계에서 특히 어렵다고 설명했다. 클록을 지나치게 높여 레지스터가 면적을 대부분 차지하면, 초당 연산량도 불리해질 수 있다.

## FPGA의 유연성과 비용

**FPGA**는 배치된 뒤에도 회로의 연결과 기능을 설정할 수 있는 칩이다. 포프의 설명에 따르면 저장용 레지스터, 논리 기능을 구현하는 조회표, 연결 대상을 고르는 멀티플렉서가 그 바탕이다. 조회표는 입력에 따른 출력을 미리 저장해 여러 논리 게이트의 역할을 한다. 이 유연성에는 회로 비용이 따른다. 그는 네 입력을 받는 AND 기능을 전용 칩인 ASIC에서는 AND 게이트 세 개로 구현할 수 있지만, 제시한 조회표 방식에는 더 많은 게이트가 든다고 비교했다.

포프는 FPGA가 일정한 처리 지연과 병렬성이 필요하면서 작업 내용을 자주 바꾸는 경우에 적합하다고 설명했다. ASIC은 같은 기능을 더 낮은 단가와 에너지로 구현할 수 있지만, 처음 제작할 때 칩 설계와 생산 준비 비용이 크다는 것이 그의 비교다. 그는 FPGA 한 개의 초기 비용을 1만 달러, 첫 ASIC 제작 비용을 3,000만 달러로 예시했다.

## GPU와 TPU가 나누는 연산 단위

포프의 비교에서 GPU는 작은 연산 단위인 SM을 칩 전체에 다수 배치한다. TPU는 상대적으로 큰 행렬 연산 장치와 벡터 연산 장치로 구성된다. 큰 행렬 연산 장치는 레지스터 접근 비용을 더 많은 계산에 나눌 수 있다. 반면 GPU는 벡터 연산 장치와 행렬 연산 장치가 여러 곳에 가까이 있어, 같은 SM 안에서 데이터를 옮길 때 경로가 짧다. TPU의 큰 단위 사이에서는 데이터가 더 제한된 경계를 지나야 한다.

포프는 MatX가 공개한 ‘분할 가능한 시스톨릭 배열’을 큰 배열이면서 작은 배열로도 쓸 수 있는 구조라고 설명했다. 대담이 보여주는 설계의 중심은 게이트의 계산 능력만이 아니다. 값을 어디에 두고, 얼마나 자주 옮기며, 그 통로에 얼마의 면적을 쓸지도 함께 결정해야 한다.

---

원문을 바탕으로 AI 가 한국어로 요약·재구성한 글입니다. 인용·수치는 원문 링크에서 확인해 주세요. [원문 링크](https://www.youtube.com/watch?v=oIk3R-sMX5o)
