Paperis.

© 2026 네오쿤스. All rights reserved.

공지사항이용약관개인정보처리방침환불 정책콘텐츠·제거 요청

상호: 네오쿤스 · 대표자: 김근태 · 사업자등록번호: 751-04-03501 [사업자정보 확인] · 통신판매업 신고: 제 2026-서울서초-3586호 (서초구청)

주소: 서울특별시 서초구 서초대로 266, B103-S36호(서초동) · Tel: 010-7254-2475 · 이메일: support@paperis.app · 고객센터 운영 시간: 평일 10:00–16:00 (한국 시간, 주말·공휴일 제외) · 호스팅 서비스 제공자: Vercel Inc.

Paperis.

Paperis 아티클

나르지 말고 그 자리에서 하자 — 메모리에 계산을 시켰더니 질문이 여섯 개 남았다

계산을 데이터가 있는 메모리로 보내자는 제안을 따라갑니다. 한 논문에서는 일부 연산이 수백 배 빨라져도 프로그램 전체의 이득은 1.12배였고, 그 간격에서 질문 여섯 개가 남았습니다.

🔥논쟁✦AI 생성반도체·나노 · 2026년 10월 9일

내 분야 논문을 오디오로

관심 분야·저널을 고르면 Paperis가 핵심 논문을 요약하고 음성으로 변환해 드려요. 출퇴근길에 들어보세요.

Paperis 무료로 시작하기 →

나르지 말고 그 자리에서 하자 — 메모리에 계산을 시켰더니 질문이 여섯 개 남았다

상점에서 산 D램 칩 256개

상점에서 파는 DDR4 D램 칩 256개에, 제조사가 지원하지 않는 방식으로 명령 순서를 집어넣은 실험이 있습니다. D램은 컴퓨터가 일하는 동안 데이터를 담아 두는 메모리로, 전원이 꺼지면 담긴 내용이 사라집니다(「계산보다 나르기가 느리다 — 메모리 병목과 HBM」). 이 규격 이름은 D램의 한 세대를 가리킵니다. 칩들은 시키지 않은 일을 했습니다. 참과 거짓 두 값만 다루는 가장 작은 논리 규칙 가운데 NOT 연산을 평균 98.37%의 성공률로 해냈습니다. 입력을 열여섯 개까지 받는 NAND·NOR·AND·OR도 각각 평균 94.94%·95.87%·94.94%·95.85%의 성공률로 해냈습니다. 데이터 패턴을 무작위로 바꾸면 성공률이 1.39~1.98% 떨어졌고, 온도를 섭씨 50도에서 95도까지 올려도 흔들림은 최대 1.66%였습니다 (DOI: 10.1109/hpca57654.2024.00030, 상용 칩 실측).

여기서 눈여겨볼 낱말은 98.37보다 「성공률」입니다. 성공률은 시킨 연산 가운데 맞게 끝난 비율입니다. 계산하라고 만든 적 없는 부품에 계산을 시키면, 결과에 이 말이 붙습니다.

컴퓨터는 대부분 한 가지 틀로 지어져 왔습니다. 폰노이만 구조(von Neumann architecture)는 계산하는 부분과 데이터를 담아 두는 부분이 서로 떨어져 있고, 그 사이로 데이터를 실어 나르며 일하는 컴퓨터 구조입니다. 이 틀에서 빨라지는 방법은 나르는 길을 넓히는 것입니다. 메모리를 쌓아 프로세서 옆에 붙이고(「병목은 계산이 아니었다」), 두 칩의 면을 사이에 아무것도 끼우지 않고 직접 붙이고(「사이에 아무것도 끼우지 않는다」), 칩을 조각내 붙이고(「하나로 만들지 않기로 했다」), 바닥을 유리로 바꾸고 빛을 칩 옆에 앉히고(「판이 휘면 그 위는 소용없다」), 전기를 웨이퍼 뒷면으로 돌린(「전기를 뒤로 돌렸더니 열이 갇혔다」) 일이 모두 이 틀 안의 공사입니다.

이 글이 살피는 제안은 길을 넓히는 대신, 계산을 데이터가 있는 자리로 보내는 것입니다.

이 글의 근거는 같은 자로 잰 값이 아닌 네 층위가 섞여 있습니다. ⓐ 상용 칩을 직접 두드려 본 것, ⓑ 회로 덩어리 하나를 잰 것, ⓒ 칩 전체나 실물 시스템에서 잰 것, ⓓ 시뮬레이터와 모형으로 계산한 것입니다. 그래서 등급 표시는 논문이 아니라 문장마다 붙입니다. 「N배 빠르다」의 기준선도 논문마다 다릅니다. 컴퓨터의 중앙처리장치(CPU)인지, 인공지능 계산에 널리 쓰이는 그래픽 처리 칩(GPU)인지, 디지털 가속기인지, 같은 종류의 이전 기법인지를 매번 함께 적습니다.

이 분야가 효율을 적을 때 즐겨 쓰는 단위는 「와트당 몇 테라 연산(TOPS/W)」, 곧 전기 한 와트로 초마다 몇 조 번 연산하느냐입니다. 몇 비트로 계산하느냐는 숫자 하나를 이진수 몇 자리로 적느냐, 곧 얼마나 촘촘한 눈금으로 계산하느냐입니다. 와트당 연산 수는 몇 비트로 계산했는지를 밝히지 않으면 비교가 되지 않습니다. 뒤에서 보듯 같은 회로가 1비트에서 117.3, 16비트에서 2.06을 냅니다. 회로는 그대로이고, 57배는 눈금에서 나옵니다.

1950년대에 이미 있던 생각

이 생각의 뿌리는 깊습니다. 한 학위논문의 기술사 연구에 따르면, 더들리 벅이 1950년대에 「인식 장치」를 제안했습니다. 저장해 둔 내용 자체로 무언가를 찾아내는 장치였고, 이것이 뒤의 내용주소 메모리, 곧 자리 번호가 아니라 담긴 내용으로 데이터를 찾는 메모리에 영향을 줬습니다. 1960년대에는 「분산 논리 메모리」가 나왔고, 1990년대에 메모리 벽이 화제가 됐을 때 EXECUBE와 IRAM으로 한 번 더 돌아왔습니다. 그리고 그 시대에는 가라앉았습니다 (DOI: 10.18130/q5ar-1c61, 학위논문의 기술사 연구).

메모리 벽은 「계산보다 나르기가 느리다」가 설명한 상태입니다. 계산 장치는 계속 빨라지는데 메모리에서 데이터를 실어 오는 속도가 그만큼 따라오지 못해, 계산이 아니라 기다림이 성능을 정하게 된 상태입니다. 그 글의 식당으로 치면, 요리사(프로세서)를 아무리 바꿔도 창고(메모리)에서 재료가 들어오는 복도가 속도를 정합니다. 복도의 폭이 대역폭, 곧 단위 시간에 실제로 옮길 수 있는 데이터의 양입니다.

이 생각을 다시 정리한 한 개관 논문은, 그 시점의 시스템이 데이터를 계산 쪽으로 옮기도록 설계돼 있다고 적고, 옮기는 일이 에너지와 지연 양쪽에서 계산보다 훨씬 비싸다고 적습니다. 해법은 데이터가 저장된 자리 안이나 그 곁에 계산 장치를 두는 것입니다. 자리는 셋으로, 메모리 칩 안, 3D 적층 구조의 논리층, 메모리 컨트롤러입니다 (arXiv:1905.04376v1, 개관·입장 논문, 프리프린트). 논리층은 D램 여러 층을 쌓은 덩어리 맨 아래에 깔리는, D램이 아닌 칩입니다(「병목은 계산이 아니었다」가 다루는 밑판). 메모리 컨트롤러는 메모리를 읽고 쓰는 일을 지휘하는 회로입니다.

여기서 이름이 둘로 갈라집니다. 인메모리 컴퓨팅은 데이터를 연산기로 실어 오는 대신, 데이터가 이미 놓여 있는 메모리 안에서 계산을 끝내는 방식입니다. 니어메모리 처리(near-memory processing)는 메모리 배열 자체는 건드리지 않고, 그 배열 바로 옆에 작은 연산 회로를 붙여 데이터가 칩 밖으로 나가기 전에 계산을 끝내는 방식입니다.

메모리 배열은 값을 담는 칸이 가로세로로 빽빽이 늘어선 부분입니다. 「계산보다 나르기가 느리다」의 식당으로 치면, 인메모리 컴퓨팅은 창고 안에서 요리까지 끝내는 일이고, 니어메모리 처리는 창고 문 앞에서 손질을 끝내 복도로 보낼 짐을 줄이는 일입니다. 어느 쪽이든 복도를 지나는 양이 줄어듭니다.

같은 개관 논문이 굴러갈 만한 갈래로 꼽은 것도 이 둘에 닿아 있습니다. D램의 아날로그 동작으로 메모리 안에서 대규모 병렬 연산을 하는 것, 그리고 3D 적층 메모리의 논리층으로 그 안의 연산 회로에 넓은 길을 대 주는 것입니다.

어떤 일이 이 방식에 맞는지는 바이트당 연산량으로 가늠합니다. 바이트당 연산량은 메모리에서 데이터를 1바이트 실어 올 때마다 그 데이터로 계산을 몇 번이나 하는지를 센 값입니다(「병목은 계산이 아니었다」). 재료 한 상자로 한 접시만 만드는 식당은 요리사를 바꿔도 소용이 없습니다.

메모리 곁에 연산기를 붙이다

2015년의 한 설계안은 D램 소자를 새로 만들지 않았습니다. 상용 D램과 표준 메모리 모듈을 그대로 쓰고, 실리콘 관통 전극을 넣어 D램 위에 가속기를 3차원으로 얹은 것이 변경의 거의 전부였습니다. 실리콘 관통 전극은 칩을 위아래로 꿰뚫어 낸 수직 구멍에 구리 같은 전도성 금속을 채워 만든 배선입니다(「계산보다 나르기가 느리다」). 가속기는 특정 계산만 빠르게 하도록 만든 전용 회로입니다.

비교 대상은 같은 가속기 로직을 프로세서 안에 집어넣은 시스템이었습니다. 그와 견줘 전체 에너지가 46%, 데이터 전송 에너지가 68% 적었고, 성능은 1.67배였습니다 (DOI: 10.1109/hpca.2015.7056040, 설계안과 그 평가 — 만든 칩의 실측이 아님). 기준선이 CPU도 GPU도 아니고 같은 가속기를 다른 자리에 둔 시스템이라, 이 숫자는 자리를 옮긴 효과만 보여 줍니다.

뱅크는 메모리 칩 하나를 여러 조각으로 나눠, 조각마다 따로 열고 닫을 수 있게 만든 구획입니다. 뱅크마다 따로 움직이니 한 뱅크가 데이터를 꺼내는 동안 다른 뱅크도 동시에 일할 수 있습니다. 니어메모리 처리는 대개 이 뱅크 바로 옆에 연산기를 붙입니다.

실물도 나왔습니다. UPMEM이라는 회사가 상용 D램 배열과 범용 순차 코어를 한 칩에 담은 제품을 누구나 구할 수 있게 내놓았습니다. 순차 코어는 명령을 적힌 순서대로 하나씩 처리하는 단순한 계산 단위입니다. 연구자들이 코어 640개와 2,556개를 가진 두 실물 시스템에서 메모리에 묶인 작업 열여섯 개를 돌려 봤습니다. 저자들에 따르면 그전까지 이 분야의 평가는 시뮬레이션이거나 잘해야 단순화된 시제품이었습니다 (DOI: 10.1109/access.2022.3174101, 실물 시스템 측정).

상용 부품을 그대로 쓰면 그 부품의 규칙도 따라야 합니다. 그 규칙이 이 방식의 청구서입니다.

상용 뱅크 옆 인메모리 소자는 대개 모든 뱅크를 한꺼번에 깨워 병렬성을 최대로 끌어올리는데, 그러면 순간 전력이 시스템의 한계를 넘을 수 있습니다. 언어모델 추론용으로 이런 소자를 여러 장 쌓을 때 특히 그렇습니다. 전력 제약을 지키려면 뱅크를 하나씩 깨운 뒤에야 전체 명령을 내보낼 수 있고, 그동안 아무 일도 못 하는 빈 사이클이 생깁니다. 한 설계안은 명령 큐를 분리해 모든 뱅크가 깨어나기를 기다리지 않게 만들었습니다. 그 결과 A100 GPU 대비 2.03~3.33배, 뱅크를 차례로 깨우는 방식 대비 1.11~1.52배 빨랐고, 동시 활성화 방식 대비 최대 전력이 21.3~41.7% 낮았습니다 (DOI: 10.23919/date64628.2025.10992691, 설계와 평가).

상용 인메모리 부품이 무엇을 못 하는지는 HBM에 연산기를 넣은 상용 플랫폼(HBM-PIM)에서 또렷합니다. HBM은 계산하는 칩 바로 옆에 붙여 쓰는, D램 여러 층을 쌓은 메모리입니다(「계산보다 나르기가 느리다」). 시판 중인 HBM-PIM 플랫폼은 명령어 집합이 제한적이고, 곱한 결과를 메모리 안에서 합쳐 줄 전용 합산 명령이 없습니다. 그래서 한 연구는 합산 단계가 없는 외적 방식, 곧 두 줄의 숫자를 모든 짝끼리 곱해 표를 채우는 방식으로 데이터 흐름을 다시 짰습니다. 그렇게 삼성 Aquabolt-XL의 의사 채널, 곧 HBM 안의 독립된 통로 하나에서 초당 최대 14.9 GFLOP/s(초당 기가 부동소수점 연산, 사이클당 59.4번)를 실측했습니다 (DOI: 10.1145/3801487.3806067, 상용 하드웨어 측정).

밑판에 연산기를 얹는 방식에는 넘을 수 없는 천장이 있습니다. 2019년의 한 연구에 따르면 그때까지의 연구는 대부분 연산기를 적층 D램의 밑판에 가속기로만 두었습니다. 이 연구는 연산기를 D램 안쪽에 넣어 표준 D램 동작과 맞물려 돌리는 방식을 설계했고, 8비트 정수 행렬-벡터 곱에서 모든 뱅크 방식 406%, 뱅크별 방식 35.2% 빨랐다고 적습니다. 기준선은 CPU가 아니라 외부 D램의 대역폭을 전부 쓴다고 가정하고 피연산자를 읽어 오기만 했을 때입니다. 그리고 밑판 방식과 대비해 덧붙입니다. 3D 적층 메모리의 밑판 위에 올린 연산기의 성능은 어떤 경우에도 그 대역폭이 주는 것보다 좋을 수 없습니다 (DOI: 10.1109/access.2019.2924240).

창고 문 앞, 곧 적층 메모리의 밑판에서 손질하는 방식은 창고 안에서 문까지 재료가 나오는 폭을 넘을 수 없습니다. 같은 논문이 연산기를 D램 안쪽으로 들인 이유가 여기 있습니다.

세 자리를 보여 주는 도식. 왼쪽에 프로세서와 「① 프로세서 쪽 — 폰노이만 구조: 데이터를 실어 와 계산」, 가운데에 데이터를 실어 나르는 길, 오른쪽에 D램 층을 수직 전극으로 꿰어 쌓고 맨 아래 밑판(논리층)이 있는 3D 적층 메모리. 밑판의 연산기에 「② 메모리 곁 — 밑판 위 연산기」와 「상한: 적층 안에서 밑판까지 오는 대역폭을 넘을 수 없음」. 확대한 D램 한 층에는 뱅크 넷이 있고, 뱅크 옆 작은 연산기에 「② 메모리 곁 — 뱅크 옆 연산기」, 배열 칸들에 「③ 메모리 안 — 배열 안에서 계산」. 괄호로 「2019년 논문: 밑판이 아니라 D램 안쪽에 연산기를 넣어 표준 D램 동작과 맞물려 돌림」.

메모리가 스스로 논리를 푼다

2016년의 한 논문은 D램 안에서 한 행, 곧 배열에서 가로로 늘어선 칸 한 줄을 통째로 다른 행에 복사하는 기법을 소개합니다. 복사하는 동안 칩 밖으로는 한 바이트도 나오지 않습니다. 같은 논문의 두 번째 기법은 메모리 안에서 대량의 AND와 OR를 수행하는 것입니다. 둘 다 D램이 값을 읽을 때 실제로 일어나는 아날로그 동작을 그대로 이용합니다. 기존 시스템에서 메모리 바깥 연결이 허락하는 일은 읽기와 쓰기뿐이었습니다 (DOI: 10.48550/arxiv.1610.09603, 프리프린트).

비트 단위 연산(bitwise operation)은 아주 긴 비트열 두 줄을 통째로 겹쳐 놓고, 자리마다 같은 논리 규칙을 한꺼번에 적용하는 일입니다. 체크리스트 두 장을 겹쳐 놓고 둘 다 체크된 칸만 골라내는 일이 AND입니다. 데이터베이스가 조건에 맞는 행을 거를 때, 그래프에서 이웃 집합을 교차시킬 때, 유전체를 맞춰 볼 때가 모두 이 모양입니다.

이 글을 연 256개의 칩이 한 일이 이 비트 단위 연산입니다. 그런데 상용 D램은 이 동작을 공식적으로 지원하지 않아, 제조사가 권고한 타이밍 밖에서 칩을 몰아붙여야 합니다. 성공률이라는 말이 붙은 이유가 여기 있습니다. 그 바람에 앞선 기법들은 잡음과 공정 산포, 곧 같은 설계로 만든 소자끼리도 성질이 조금씩 다른 현상에 노출돼 일부 컬럼(배열에서 세로로 늘어선 칸 한 줄)에서만 연산이 맞았습니다. 앞의 칩 실험보다 먼저 나온 한 프리프린트가 이 한계를 다뤘습니다. 명령 순서를 정교하게 짜면 최대 32개의 행을 동시에 열 수 있음을 발견했고, 같은 입력을 여러 벌 복제해 성공률을 올렸습니다. 두 대형 제조사의 상용 DDR4 칩 120개에서, 일곱 가지 산술·논리 연산에 대해 선행 기법 대비 성공률이 24.18%, 성능이 121% 높았습니다 (DOI: 10.48550/arxiv.2312.02880, 프리프린트, 상용 칩 실측).

낸드 플래시에서도 같은 일이 일어납니다. 낸드 플래시는 전원을 꺼도 내용이 남는 메모리로, 새로 쓰기 전에 한 덩어리를 통째로 지워야 합니다(「차세대 메모리 — D램의 벽과 '꿈의 메모리'를 향한 경쟁」). 한 번의 감지로 수십 개의 피연산자를 처리하는 방식과 오류를 줄이는 프로그래밍을 함께 넣은 기법이 실물 3D 낸드 칩 160개에서 동작을 확인받았습니다. 실제 응용 세 가지에서 평균 성능과 에너지 효율은 최신 낸드 내부 처리 기법 대비 3.5배와 3.3배, 저장장치 바깥에서 처리하는 방식 대비 32배와 95배로 보고됩니다 (DOI: 10.1109/micro56248.2022.00069). 같은 성과의 두 숫자가 열 배에서 서른 배 가까이 벌어지는 이유는 무엇과 견줬느냐에 있습니다.

다음 연구는 한 걸음 더 나갔습니다. 그때까지 낸드 내부 연산은 같은 세로줄 안에서만 가능했는데, 세로줄을 건너뛰는 연산을 추가했습니다. 그러자 낸드 안에서 오류 정정이 가능해졌고, 한 칸에 한 비트만 넣던 기존 방식 대신 여러 비트를 넣어 밀도가 1.8배로 올랐습니다. 기본 데이터베이스 질의는 최신 기법 대비 2.1배 빠르고 에너지 효율은 2.5배였습니다. 그런데 벤치마크의 질의 전체를 끝에서 끝까지 돌리면 1.7배입니다. 이 값만은 무엇 대비인지 초록에 없습니다 (DOI: 10.1145/3725843.3756055). 커널, 곧 반복해 도는 핵심 계산 한 덩어리의 숫자와 프로그램 전체의 숫자는 다릅니다.

비휘발성은 전원이 끊겨도 저장한 값이 그대로 남아 있는 성질입니다(「차세대 메모리」). 새로 나온 비휘발성 메모리 가운데 일부는 값을 저항으로 적고, 여기서는 그 성질을 그대로 씁니다. 두 개 이상의 행을 동시에 켜면 읽기 회로로 흘러드는 전류가 그 행들의 논리 연산 결과를 담게 됩니다. 2016년에 이 구조를 제안한 논문은 복잡한 논리를 메모리 안에 넣는 대신 읽기 회로만 고쳤습니다 (DOI: 10.1145/2897937.2898064). 2024년에는 다른 연구팀이 실제 PCRAM 소자로 같은 구조를 만들어 실험으로 시연했습니다. PCRAM(상변화 메모리)은 물질을 결정 상태와 비정질 상태 사이에서 바꿔 정보를 저장하는 메모리입니다(「차세대 메모리」). 저항 상태 사이의 차이는 네 자릿수에 이르렀습니다. 다만 그 팀이 자기 실측을 견준 상대는 원래 연구의 시뮬레이션 데이터였습니다 (DOI: 10.1109/vlsid60093.2024.00103, 실험 시연).

저항이 바뀌는 소자끼리 논리 연산을 하게 하는 멤리스터 논리로 디지털 시스템을 짜고, 실제 데이터베이스 질의를 돌린 연구도 있습니다(멤리스터라는 이름의 엄밀한 뜻은 「차세대 메모리」가 다룹니다). 기준선은 같은 호스트, 곧 일을 시키는 쪽 프로세서 위의 동등한 인메모리 데이터베이스입니다. 여기의 「인메모리」는 데이터를 메모리에 통째로 올려 둔다는 뜻이고, 메모리가 계산한다는 뜻은 아닙니다. 필터 연산은 1.6~18배, 질의 전체는 56~608배 빨라졌습니다. 에너지는 필터에서 1.7~18.6배 줄었고, 질의 전체에서는 0.81~12배입니다. 0.81배는 어떤 경우엔 오히려 에너지를 더 썼다는 뜻이고, 저자들이 초록에 그대로 적어 두었습니다. 요구되는 소자 수명은 기존 ReRAM의 범위 안이었습니다. ReRAM(저항변화 메모리)은 절연 물질 안에 전도성 통로를 만들거나 끊어서 저항을 바꾸는 메모리입니다(「차세대 메모리」) (DOI: 10.1109/tetc.2023.3315189, 전체 시스템 시뮬레이션).

메모리가 계산을 시작하면 새 문제가 생깁니다. 소프트웨어가 메모리에 직접 시키는 연산은 읽기·쓰기 옆에 새로 생긴 메모리 연산의 한 부류인데, 저자들이 아는 한 그것과 다른 연산 사이의 순서 규칙은 기존 연구에서 거의 다뤄지지 않았습니다. 규칙이 없으면 프로그램이 읽은 값이 메모리 안 계산 전의 값인지 후의 값인지 보장할 수 없습니다. 대량 비트 단위 연산 방식에 초점을 둔 이 논문은 기존의 관련 해법들이 오히려 호스트의 원래 순서 규칙을 깨뜨려 어떤 정확성도 보장하지 못하게 만들었다고 지적하고, 엄격한 것부터 느슨한 것까지 네 가지 규칙을 설계해 평가했습니다. 정확성을 보장하는 실행 시간 비용은 최대 6%였고 많은 경우 오히려 빨라졌으며, 하드웨어 추가 비용은 0.22% 미만이었습니다 (DOI: 10.1109/hpca56546.2023.10071007, 전체 시스템 시뮬레이션).

이 절의 결론은 앞의 2016년 비휘발성 메모리 논리 논문이 적은 한 문장에 있습니다. 그래프 처리와 데이터베이스 응용에서, 비트 연산만 따로 재면 약 500배 빠르고 에너지는 약 28,000배 아꼈습니다. 같은 문장이 이어서 적습니다. 기존 프로세서 대비 전체로는 1.12배 빠르고 1.11배 아꼈습니다 (DOI: 10.1145/2897937.2898064, 제안과 시뮬레이션 평가).

앞의 숫자는 메모리로 옮긴 비트 연산 부분의 이득이고, 뒤의 숫자는 프로그램 전체의 이득입니다. 초록은 이유를 적지 않지만, 교과서 설명(암달의 법칙)으로는 옮긴 부분이 아무리 빨라져도 옮기지 못한 나머지가 원래 속도로 돌아 전체의 이득을 묶습니다. 늘 이 방향은 아니어서, 앞의 데이터베이스 시뮬레이션에서는 질의 전체가 필터 연산보다 더 크게 빨라졌습니다. 500과 1.12가 한 문장 안에 있고, 이 글의 나머지는 그 간격을 따라갑니다.

전류가 저절로 곱셈을 한다

아날로그 방식은 값을 두 가지로 끊어 적지 않고, 전압이나 전류의 크기 자체로 값을 나타내 계산합니다. 디지털과 아날로그 인메모리 구조의 에너지 효율 한계를, 데이터를 한 번에 하나씩 처리하는 보통의 기계와 나란히 놓고 분석한 논문의 결론입니다. 아날로그 인메모리 구조는 문제 크기와 프로세서 크기가 함께 커지면 에너지 효율이 임의로 높아질 수 있습니다. 이론 한계를 분석한 결론이라, 실제 칩이 그런 값을 냈다는 뜻은 아닙니다. 저자들이 따라간 축은 셋으로, 문제의 크기, 바이트당 연산량, 그리고 몇 비트로 계산하느냐입니다 (arXiv:2302.06417v1, 이론 한계 분석, 프리프린트).

크로스바 배열(crossbar array)은 가로줄과 세로줄을 격자로 깔고, 교차점마다 저항을 바꿀 수 있는 소자를 하나씩 앉힌 구조입니다. 가로줄마다 서로 다른 전압을 걸면, 교차점마다 걸린 전압과 그 소자의 전도도(저항의 역수)를 곱한 만큼 전류가 흐릅니다. 이 전류들은 세로줄에서 저절로 합쳐지므로, 세로줄 끝에서 받는 전류는 그 곱들의 합이 됩니다.

신경망이 하는 일의 대부분이 그 모양입니다. 신경망은 입력에 가중치를 곱해 더하는 일을 층층이 되풀이하는 계산 모형이고, 가중치는 학습으로 정한 숫자입니다. 가중치를 소자의 전도도로 저장해 두고 입력을 전압으로 걸면, 곱셈과 덧셈이 회로를 한 번 지나가는 동안 물리적으로 끝납니다. 명령어도 곱셈기도 필요 없습니다.

이렇게 얻은 답은 전류라서, 다음 층으로 넘기려면 숫자로 바꿔야 합니다. 아날로그-디지털 변환기(analog-to-digital converter, ADC)는 전압이나 전류처럼 끊김 없이 변하는 값을, 컴퓨터가 다룰 수 있는 숫자로 옮겨 적는 회로입니다. 몇 자리까지 적을지를 먼저 정해야 하는데, 자릿수를 한 자리 늘릴 때마다 그 회로가 먹는 전기와 차지하는 면적이 늡니다.

3×3 크로스바 도식. 가로줄 셋에 입력 전압 V₁·V₂·V₃이 걸리고, 교차점마다 전도도 G로 가중치를 담은 소자가 있다. 한 교차점에 「이 교차점의 전류 = V₂ × G₂₁」. 첫 세로줄 끝에 「I₁ = V₁G₁₁ + V₂G₂₁ + V₃G₃₁ — 곱들이 세로줄에서 저절로 합쳐짐」. 세로줄 끝마다 아날로그-디지털 변환기가 있고 「전류 → 숫자 · 자릿수를 한 자리 늘릴 때마다 전기와 면적이 늚」. 오른쪽에 신경망과의 대응: 가중치 → 전도도, 입력 → 전압, 곱해서 더하기 → 회로를 한 번 지나가는 동안, 답 → 숫자로 바꿔 다음 층으로.

이 분야를 정리한 리뷰가 꼽는 과제는 셋입니다. 변환기 병목, 아날로그 연산의 변동, 그리고 소자가 이상적인 동작에서 벗어나는 비이상성입니다 (DOI: 10.1109/mcas.2021.3092533, 리뷰). 변환기가 얼마나 정밀해야 하는지 파고든 연구의 답은 6비트였습니다. 큰 배열에서도 정확도를 잃지 않으면서, 성능과 면적 사이에서 가장 좋은 절충이 되는 값입니다 (DOI: 10.1109/mdat.2021.3050715).

6비트면 충분하다는 설계 탐색 결과가 있어도, 변환기는 전력과 면적을 크게 먹습니다. 한 연구에 따르면 변환기 하나가 차지하는 면적이 크로스바 하나에 변환기를 몇 개 붙일 수 있는지를 정하고, 그 개수가 처리량까지 묶습니다. 그 연구는 변환기를 없애는 쪽으로 갔습니다. 중간 합을 1비트나 1.5비트까지 줄이면 변환기가 필요 없어집니다. 대신 곱해 줘야 할 실수 배율이 무더기로 생기고, 그 곱셈이 이득을 도로 갉아먹습니다. 저자들의 답은 일을 나누는 것이었습니다. 곱의 합은 아날로그 크로스바가 하고, 배율은 디지털 인메모리 배열이 맡습니다. 7비트와 2비트 변환기를 쓴 아날로그 기준 구조 대비 에너지가 최대 28배와 11배 줄었고, 정확도 손실은 작았습니다 (DOI: 10.1145/3658617.3697572).

변환기의 정밀도를 다시 계산한 한 연구는 선행 연구들이 필요한 정밀도를 과대평가해 왔다고 봅니다. 선행 연구들이 값을 띄엄띄엄한 눈금에 맞추며 생기는 오차(양자화 오차)를 입력과 무관한 잡음으로 다뤘고, 변환 전 신호가 원래 띄엄띄엄한 값이라는 사실을 무시했다는 것입니다. 계산 정확도에 맞춘 지표로 다시 풀자, 256차원 이진 내적에서 요구 정밀도를 3비트 줄이면서 신호 대 잡음비, 곧 원하는 신호가 잡음보다 얼마나 큰지를 나타내는 비율은 6데시벨 높일 수 있었습니다 (arXiv:2507.09776v2, 28나노 회로 인지 행동 모형, 프리프린트).

아날로그가 실제로 치르는 값

곱의 합만이 아니라 비선형 연산, 곧 신경망의 층 사이에서 입력에 비례하지 않게 값을 바꾸는 계산까지 같은 배열에서 처리해 변환기를 통째로 없앤 완전 아날로그 구조가 있습니다. 이 구조를 회로 시뮬레이터 SPICE로 풀어 본 연구가 있습니다. 입력 400개에서 출력 10개까지 가는 작은 신경망을 올렸더니, 문제가 드러난 곳은 배선이었습니다. 격자를 이루는 금속선의 저항과 용량, 곧 전기를 잠시 머금는 성질이 계산을 흐트러뜨립니다. 배열을 층마다 가로 16·8·8개, 세로 8·8·1개로 쪼개자 손글씨 숫자 인식 정확도가 94.84%까지 올라왔습니다. 저자들의 표현으로는 CPU 위의 디지털 구현이 내는 약 97%에 견줄 만한 값입니다. 대가도 같은 초록에 있습니다. 쪼개기 위해 붙인 회로 때문에 전력이 더 듭니다 (arXiv:2201.12480v1, 회로 시뮬레이션, 프리프린트).

정확도 쪽에도 값이 있습니다. 아날로그 계산은 전하 보존이라는, 해상도가 무한한 동작에 기댑니다. 아주 작은 흔들림도 그대로 결과에 들어가기 때문에 오차에 노출됩니다. 대규모 신경망을 아날로그 비휘발성 소자에 올릴 수 있는지 시뮬레이션으로 확인한 연구의 결론은, 고정밀 디지털용으로 훈련된 신경망은 아날로그 소자의 불확실성을 견디지 못한다는 것이었습니다. 같은 논문은 거기서 끝나지 않습니다. 아날로그 부동소수점 표현과 새 훈련 알고리즘을 쓰자, 훈련을 마친 신경망으로 답을 내는 추론 하드웨어에 비용을 더하지 않고도 정확도가 크게 좋아졌습니다 (arXiv:2008.02400v1, 시뮬레이션, 프리프린트).

유효 정밀도가 제한적이라, 이 분야는 아날로그 연산 타일과 디지털 처리기를 섞는 쪽으로 움직였습니다. 신경망의 어느 부분을 어디에 맡길지 정하는 기존 방법들을 정리한 프리프린트가 그 절차를 언어모델 GPT-2에 적용했습니다. 49개의 행렬 가운데 4개가 정밀도에 대한 민감도를 지배했고, 첫 블록의 어텐션 출력 하나가 나머지를 자릿수 차이로 압도했습니다 (arXiv:2606.02672v1, 프리프린트). 어텐션은 언어모델이 앞의 낱말들 가운데 어디를 참고할지 가중치를 매기는 계산입니다. 그 한 모델에서 잰 민감도이고, 저자들은 투영 행렬 단위로 배치하고 앞 블록과 출력 쪽 행렬을 골라 디지털로 돌리는 일이 중요하다고 봅니다.

상변화 메모리 기반 아날로그 인메모리 칩에서 커널 근사를 구현한 연구는, 커널 릿지 분류에서 정확도 하락 1% 미만, 커널화 어텐션 벤치마크에서 1% 이내를 하드웨어로 보였습니다. 여기의 커널은 기계학습에서 두 데이터가 얼마나 닮았는지 재는 함수로, 앞의 계산 덩어리와는 다른 뜻입니다. 다만 같은 초록에서 에너지 효율 우위는 측정이 아니라 추정치로 적혀 있습니다 (arXiv:2411.03375v1, 실물 칩 시연 + 추정, 프리프린트).

대화형 인공지능이 쓰는 신경망 구조인 트랜스포머의 어텐션 가속기를 만든 연구는, 회로 비이상성에 민감한 아날로그 ReRAM 배열에 값의 크기는 몰라도 순서만 맞으면 되는 일만 맡겼습니다. 어느 토큰, 곧 언어모델이 다루는 낱말 조각이 더 관련 있는지 고르는 일입니다. 정확해야 하는 계산은 디지털이 합니다. 결과는 GPU 대비 속도 13.5~28.5배, 에너지 효율 291.6~1894.3배였습니다. 그런데 같은 논문이 최신 트랜스포머 전용 가속기와 같은 처리량에서 견준 에너지 효율은 1.2~14.9배입니다 (DOI: 10.1109/tvlsi.2023.3337777). 기준선을 GPU에서 전용 가속기로 바꾸자 수백~수천 배가 한두 자릿수 배로 내려왔습니다.

그래서 디지털로 하면 안 되나

「아날로그 접근은 높은 정확도를 요구하는 일부 응용에는 맞지 않을 수 있다.」 이 문장은 22나노 공정으로 완전 디지털 인메모리 회로를 만든 2021년 학회 논문의 초록에 있습니다. 저자들의 진단은 이렇습니다. 인메모리 컴퓨팅 연구는 에너지 효율이 높은 아날로그 쪽에 집중돼 왔는데, 신호 대 잡음비가 낮아 생기는 정확도 부족이 그 방식의 주된 단점입니다 (DOI: 10.1109/isscc42613.2021.9365766). 이 논문의 제목에는 89TOPS/W와 16.3TOPS/mm²가 박혀 있는데, 초록은 그 값을 설명하지 않습니다.

디지털 쪽의 주장은 비트를 한 자리씩 차례로 처리하는 다른 회로의 초록에 가장 또렷합니다. 저자들은 완전 디지털 구현이 공정 변동과 잡음 민감성, 데이터 변환 부담에서 자유롭다고 적고, 대가도 같은 초록에 적습니다. 비트를 하나씩 처리하는 방식은 면적 부담을 크게 줄이는 대신 지연을 희생합니다.

그 회로를 65나노 공정의 128×128 시험칩으로 만들어 재자, 같은 회로가 1비트로 쓰면 와트당 117.3테라 연산, 16비트로 쓰면 2.06테라 연산이었습니다 (DOI: 10.1109/jssc.2021.3061508, 시험칩 실측). 회로도 공정도 그대로인데 57배 가까이 차이가 납니다. 몇 비트로 계산했는지를 밝히지 않은 「와트당 몇 테라 연산」은 비교가 되지 않습니다.

두 번째 눈금 문제는 어디까지 세었느냐입니다. 아날로그와 디지털을 섞은 어텐션 가속기를 65나노로 만들어 잰 연구는, 최고 에너지 효율이 아날로그 코어에서 14.8, 칩 전체에서 1.65(와트당 테라 연산)라고 적습니다. 면적당 성능도 976.6과 79.4로 갈립니다 (arXiv:2409.04940v2, 시험칩 실측, 프리프린트). 한 논문, 한 칩, 둘 다 측정값인데 아홉 배 가까이 벌어집니다. 초록은 비트 수를 밝히지 않고, 아날로그 코어는 걸러 낼 토큰을 고르는 근사 계산을, 디지털 처리기는 남은 토큰의 정밀 계산을 맡습니다. 두 값은 하는 일도 범위도 다른 회로를 잰 것입니다. 회로 덩어리 하나만 떼어 낸 수치에는 주변 회로도, 덩어리들 사이의 데이터 이동도 들어 있지 않습니다.

22나노 인메모리 신경망 가속기를 만들어 잰 다른 연구는 이 문제를 더 어렵게 만듭니다. 가속기 전체의 4비트 환산 효율이 와트당 813테라 연산이라고 적고, 몇 줄 뒤에 회로 덩어리만 떼면 와트당 4.2페타 연산이라고 적습니다. 페타는 테라의 천 배입니다. 그런데 뒤 숫자가 몇 비트 기준인지는 초록에 없습니다. 나란히 적혀 있어도 나란히 놓을 수 있는 값은 아닙니다. 이 칩의 핵심 장치는 변환기의 양자화에서 잃는 정보를 우회하는 다중비트 아날로그 정규화 회로였습니다 (DOI: 10.1109/jssc.2023.3269098, 시험칩 실측).

「크기가 함께 커지면 아날로그는 효율이 이론상 임의로 높아질 수 있다」는 분석과 「아날로그는 정확도가 약하다」는 진단은 서로를 반박하지 않습니다. 앞은 에너지에 대한 말이고, 뒤는 정확도에 대한 말입니다. 두 논문은 서로를 인용하지도 반박하지도 않고, 이 글은 재야 할 축이 여러 개라는 것을 보이려고 둘을 나란히 놓았습니다.

무엇이 남았나

저자들에 따르면, 구간마다의 메모리 접근 패턴을 평가할 포괄적인 도구가 없어 어느 구간을 메모리로 내려보낼지 고르기가 어려웠습니다. 한 연구는 정적 분석, 곧 프로그램을 실행하지 않고 코드만 읽어 성질을 따지는 방법으로 구간마다의 접근 패턴과 구간을 넘나드는 데이터 이동을 함께 보는 도구를 만들었습니다. 그 도구가 고른 대로 나누자 CPU만 쓴 경우 대비 평균 2.63배, 전부 메모리에 내려보낸 경우 대비 평균 4.45배 빨랐습니다. 최대치는 각각 7.14배와 10.64배입니다 (DOI: 10.23919/date58400.2024.10546698, 정적 분석과 평가).

두 숫자를 맞대 보면, 이 평가에서 평균으로는 「전부 인메모리」가 CPU만 쓴 경우보다도 느렸습니다. 메모리로 내려보내기에 맞는 구간과 맞지 않는 구간이 프로그램 안에 섞여 있습니다.

희소 행렬-벡터 곱, 곧 대부분의 칸이 비어 있는 커다란 숫자 표에 숫자 한 줄을 곱하는 계산을 실물 시스템의 코어 2,528개에서 돌린 연구도 답이 하나가 아니라고 말합니다. 저자들은 데이터를 나누는 방식을 두 갈래로 설계했습니다. 하나는 계산을 전부 메모리 쪽 코어에서 끝내는 것이고, 다른 하나는 계산 비용과 데이터 전송 비용 사이에서 균형을 잡는 것입니다. 커널 스물다섯 가지와 압축 형식 네 가지를 함께 내놓은 것 자체를, 우리는 행렬의 모양에 따라 답이 달라진다는 뜻으로 읽습니다. 어느 분할이 이겼는지는 초록에 없습니다 (DOI: 10.48550/arxiv.2201.05072, 프리프린트, 실물 시스템 측정).

내려보낸 뒤에도 대역폭을 다 쓰지 못하는 경우가 있습니다. 희소 행렬끼리의 곱을 뱅크 옆에서 가속한 연구는, 앞선 인메모리 연구들이 뱅크를 동시에 충분히 쓰지 못해 메모리 대역폭의 80%를 버리고 있었다고 자체 실험 분석으로 보고합니다. 서로 겹치지 않는 열을 찾아 여러 뱅크에서 동시에 처리하자 최신 전용 가속기 대비 최대 17.88배, 최신 인메모리 방식 대비 최대 8.19배 빨라졌습니다 (DOI: 10.1109/tc.2025.3624920).

소프트웨어의 빈자리는 28나노 인메모리 마이크로컨트롤러를 만든 팀이 가장 구체적으로 적었습니다. 마이크로컨트롤러는 가전이나 센서 같은 작은 기기에 들어가는 저전력 프로세서입니다. 그 팀이 진단한 그때까지의 제품들은 이렇습니다. 인메모리 회로가 커서 면적을 먹었고, 대부분 아날로그 혼성신호라 공정·전압·온도 변동에 견고성이 제한됐으며, 텐서플로 라이트 같은 실용 개발 프레임워크를 지원하는 것이 하나도 없었습니다. 그래서 그 제품들은 표준 벤치마크 성적을 내놓지 못했고, 인메모리가 아닌 최신 제품과 견주기 어려웠습니다. 그 팀이 만든 칩의 성과도 기존 인메모리 제품 대비로 보고됩니다 (DOI: 10.1109/jssc.2024.3362274, 선행연구 진단 + 시제품 실측).

「견주기 어렵다」는 성능이 나쁘다는 말과 다릅니다. 표준 벤치마크라는 공통의 자가 있는데도 그 제품들이 거기에 성적을 올리지 못했다는 말입니다.

이 자리를 메우려는 시도는 여럿입니다. 표준 실행 환경에 인메모리 연산을 붙인 연구는 기준 플랫폼이 x86 CPU 대비 평균 1.64배, ARM CPU 대비 1.71배 빨랐다고 보고합니다 (DOI: 10.1109/iceic54506.2022.9748444). 실물 UPMEM 시스템을 겨냥한 두 연구는 더 구체적입니다. 데이터 이동과 작업 분배를 사람이 손으로 짜야 했던 일을 패턴 기반 인터페이스로 자동화한 프레임워크는, 손으로 튜닝한 구현보다 평균 2.1배 빠르면서 코드 줄 수는 94% 적었습니다 (DOI: 10.48550/arxiv.2310.10168, 프리프린트, 실물 시스템 측정). 손튜닝 라이브러리 의존을 걷어 내고 자동 탐색으로 코드를 생성한 컴파일러는 실물 하드웨어에서 커널 최대 6.18배, 언어모델 계층 최대 8.21배의 성능 향상을 보고합니다. 이 값은 무엇 대비인지 초록이 밝히지 않습니다 (DOI: 10.1145/3695053.3731096).

자동화 도구가 손으로 짠 코드를 2.1배 이긴다는 것은, 그때까지 사람이 이 하드웨어를 제대로 못 쓰고 있었다는 뜻으로 읽힙니다. 이것은 우리 독해입니다.

프로그래밍 모델도 걸림돌입니다. 인메모리 가속기는 메모리와 연산을 한 덩어리로 묶기 때문에, 계산과 저장을 떼어 놓는 폰노이만 구조를 전제로 한 표준 프로그래밍 모델을 깨뜨리고, 그래서 기존 소프트웨어 스택에 통합되기 어렵습니다. RISC-V 프로세서에 인메모리 연산기를 실행 유닛으로 붙이고 전용 명령어와 컴파일러·어셈블러·프로파일러까지 만든 연구가 이렇게 문제를 적습니다. RISC-V는 누구나 쓸 수 있게 공개된 프로세서 명령어 규격입니다. 그렇게 통합한 결과 곱셈 커널 하나는 17.63배 빨라졌고, 같은 기준선에 대해 전체 벤치마크는 2.74배 빨라졌습니다 (DOI: 10.3389/felec.2022.898273).

기준선도 하드웨어도 같은데 17.63과 2.74입니다. 비트 연산의 500배와 프로그램 전체의 1.12배 사이에 있던 간격이 여기서도 나타납니다.

세 줄 도식. 줄마다 프로그램을 뜻하는 띠에 옮긴 부분이 칠해져 있고, 칠한 부분에 그 값, 띠 전체에 프로그램 전체의 값이 따로 붙어 있다. 첫 줄 비휘발성 메모리 대량 비트 연산(2016): 비트 연산 부분 약 500배 빠름·에너지 약 28,000배 절약, 프로그램 전체 1.12배 빠름·에너지 1.11배 절약, 기준 기존 프로세서, 제안과 시뮬레이션 평가. 둘째 줄 RISC-V 인메모리 실행 유닛(2022): 곱셈 커널 17.63배, 전체 벤치마크 2.74배, 같은 기준선. 셋째 줄 멤리스터 논리 데이터베이스(2023): 필터 1.6~18배·에너지 1.7~18.6배, 질의 전체 56~608배·에너지 0.81~12배, 같은 호스트의 인메모리 DB 대비 전체 시스템 시뮬레이션, 「이 경우는 전체가 부분보다 크게 빨라짐 · 에너지 0.81배 = 더 씀」. 아래에 띠 길이는 개념 표시라는 주석.

같은 벽의 양면

「3D 적층 메모리의 밑판 위에 올린 연산기의 성능은 어떤 경우에도 그 대역폭이 주는 것보다 좋을 수 없다.」 앞에서 인용한 이 문장은, 밑판 방식의 천장을 넘으려고 연산기를 D램 안쪽으로 들인 논문이 406%의 결과를 적은 바로 다음에 덧붙인 것입니다. 밑판에 연산기를 얹으면 길의 폭이 곧 상한입니다 (DOI: 10.1109/access.2019.2924240).

계산을 메모리로 보내자는 제안은 길을 넓히는 공사와 경쟁하지 않습니다. 앞의 개관 논문이 꼽은 두 갈래 가운데 하나도 3D 적층 메모리의 논리층으로 그 안의 연산 회로에 넓은 길을 대 주는 것이었습니다 (arXiv:1905.04376v1). 길을 없애자는 제안의 절반이 길을 넓힌 기술 위에 얹혀 있습니다. 상용 D램을 거의 그대로 쓴 2015년의 니어메모리 설계도 실리콘 관통 전극을 넣는 것만은 예외였습니다 (DOI: 10.1109/hpca.2015.7056040). 위아래를 꿰뚫는 그 배선이 없었으면 이 설계도 없습니다.

길은 짧아질 뿐 사라지지 않습니다. D램 안쪽 구조까지 내려가 연산 방식을 설계 공간 전체에 걸쳐 시뮬레이션으로 탐색한 연구는, 덧셈·뺄셈·비트 세기·자리 옮김·곱셈을 다 돌려 본 뒤 이렇게 적습니다. 메모리 바로 곁에서 실행하는 경우에도 데이터 이동이 전체 실행 시간의 3분의 1 이상을 차지했고, 그래서 큰 병목이었습니다 (DOI: 10.18130/q5ar-1c61, 학위논문·시뮬레이션 프레임워크).

길을 넓히는 공사와 계산을 메모리로 보내는 제안은 같은 벽의 양면입니다. 「계산보다 나르기가 느리다」의 식당으로 치면, 한쪽은 창고와 주방 사이의 복도를 넓히는 공사이고, 다른 쪽은 창고 안이나 문 앞에서 요리를 끝내 복도로 오갈 짐을 줄이는 일입니다. 다만 이 글의 물건들이 실제로 딛고 선 길 공사는 적층 하나뿐이고, 이 글을 연 상점표 칩들은 그마저도 필요 없었습니다. 양면이라는 말이 가리키는 것은 벽이 하나라는 사실이고, 길 공사가 전부 여기 겹친다는 뜻까지는 아닙니다.

이 생각이 1950년대에 나왔다가 가라앉고 1990년대에 돌아왔다가 다시 가라앉은 이유를, 앞의 기술사 연구는 이렇게 정리합니다. 연구 아이디어는 주변 기술과 경제 조건과 응용 수요가 그것을 떠받칠 만큼 익었을 때 다시 나타납니다. 그 연구는 인공지능 계산과 3차원 적층, 커져 가는 데이터 이동 비용이 이 생각을 다시 쓸 만하게 만들었다고 봅니다 (DOI: 10.18130/q5ar-1c61).

그렇다면 무엇이 남았을까요. 여기서부터는 인용이 아니라, 앞에서 읽은 것들을 한자리에 놓은 우리 정리입니다. 이 제안에 「이긴다/진다」로는 답할 수 없고, 답할 수 있는 것은 다음 여섯 질문입니다.

① 데이터 한 바이트로 계산을 몇 번 하는가. 이 방식이 주로 겨냥하는 것은 바이트당 연산량이 낮아 메모리에 묶인 일입니다. 어떤 일이 그런지는 일마다 다릅니다.

② 어느 부분을 내려보낼 것인가. 평균으로 보면 전부 내려보낸 경우가 가장 느렸고, 구간을 자동으로 고른 도구가 그 선택지를 평균 4.45배 앞섰습니다.

③ 몇 비트가 필요한가. 같은 회로가 1비트에서 117.3, 16비트에서 2.06입니다. 정밀도를 밝히지 않은 효율 수치는 비교가 되지 않습니다.

④ 그 숫자는 회로 덩어리의 것인가, 칩 전체의 것인가. 한 칩 안에서 아날로그 코어는 14.8, 칩 전체는 1.65였습니다.

⑤ 그 코드를 누가 짜는가. 그때까지의 인메모리 마이크로컨트롤러 가운데 실용 개발 프레임워크를 지원하는 것이 없었다는 진단이 2024년에 실렸고, 그 진단을 적은 팀이 직접 칩을 만들었습니다.

⑥ 새 연산의 순서 규칙이 있는가. 메모리 안의 연산과 바깥 연산 사이의 순서 규칙은 거의 다뤄지지 않았고, 대량 비트 연산 방식에서 그 규칙을 지키는 비용은 한 시뮬레이션에서 실행 시간 최대 6%로 나왔습니다.

우리 정리로는, ③과 ④는 수치와 함께 무엇을 밝혀야 하는지가 이 글의 근거들로 분명해졌고, ⑥은 한 갈래의 방식에서 한 시뮬레이션이 비용의 크기를 내놓았습니다. ①과 ②는 일과 프로그램마다 답이 다르고, ⑤는 그 진단 시점에 표준 벤치마크로 견주기 어려웠습니다. 그래서 이 기술에 맞는 질문은 「언제 폰노이만 구조를 대체하는가」보다 어떤 일을 벽 안쪽으로 들여놓을 것인가입니다.

상점에서 산 D램 칩 256개가 NOT 연산을 98.37%의 성공률로 해낸다는 사실은, 그 칩들 안에 계산할 수 있는 물리가 처음부터 들어 있었다는 뜻입니다. 저자들은 이 결과가 D램을 계산 기판으로 쓸 잠재력을 보여 준다고 봅니다. 다만 그 동작은 제조사가 권고한 타이밍 밖에서 나왔습니다.

근거 논문

  • "상용 D램 칩의 기능적 완전 불 논리" (2024) — DOI: 10.1109/hpca57654.2024.00030 — 상용 DDR4 256개 실측. NOT 98.37%, 16입력 논리 94.94~95.87%, 50~95도 1.66%.
  • "PULSAR — 상용 D램의 다중 행 동시 활성화" (2023) — DOI: 10.48550/arxiv.2312.02880 (프리프린트) — 상용 칩 실측. 일부 컬럼만 성공하던 것을 선행 기법 대비 성공률 24.18%·성능 121%.
  • "실용적 인·니어메모리 처리" (2019) — arXiv:1905.04376v1 (프리프린트) — 개관·입장 논문. 두 갈래(D램의 아날로그 성질 / 3D 적층 논리층)와 채택 과제.
  • "수평 배치 인메모리 설계공간 탐색·간략사" (2026) — DOI: 10.18130/q5ar-1c61 — 학위논문·시뮬레이션. 근거리 실행에서도 데이터 이동이 실행 시간의 3분의 1 이상. 1950~60년대 인식 장치, 1990년대 EXECUBE.
  • "NDA — 상용 D램·표준 모듈 기반 근거리 가속" (2015) — DOI: 10.1109/hpca.2015.7056040 — 같은 가속기를 프로세서 안에 넣은 시스템 대비 에너지 46%↓·전송 68%↓·성능 1.67배.
  • "새 패러다임 벤치마킹" (2022) — DOI: 10.1109/access.2022.3174101 — 실물 시스템 측정. 640개·2,556개 코어, 메모리 병목 작업 16개.
  • "D램 동작에 맞춘 메모리 「내부」 처리" (2019) — DOI: 10.1109/access.2019.2924240 — 전체 뱅크 406%·뱅크별 35.2%(기준선 = 대역폭을 다 쓴 피연산자 읽기). 연산기를 D램 안쪽에 넣은 방식. 대비로 적은 문장: 밑판 위 연산기는 어떤 경우에도 그 대역폭보다 좋을 수 없다.
  • "DEAR-PIM — 전체 뱅크 요청 분리 실행" (2025) — DOI: 10.23919/date64628.2025.10992691 — 설계·평가. A100 대비 2.03~3.33배, 순차 대비 1.11~1.52배, 동시 활성화 대비 최대 전력 21.3~41.7%↓.
  • "AME-PIM — 메모리가 텐서 가속기가 될 수 있나" (2026) — DOI: 10.1145/3801487.3806067 — 상용 하드웨어 측정. 명령어 집합 제한·네이티브 합산 없음 → 합산 없는 외적 흐름. 의사 채널당 최대 14.9 GFLOP/s.
  • "메모리로 처리하는 패러다임" (2016) — DOI: 10.48550/arxiv.1610.09603 (프리프린트) — 메모리 인터페이스는 읽기·쓰기만 한다. D램의 아날로그 동작을 쓴 행 복사.
  • "Flash-Cosmos — 낸드 고유의 연산 능력" (2022) — DOI: 10.1109/micro56248.2022.00069 — 실물 3D 낸드 160개로 확인. 내부 기법 대비 3.5·3.3배, 저장장치 밖 처리 대비 32·95배.
  • "CrossBit — 비트라인 간 통신의 낸드 내부 연산" (2025) — DOI: 10.1145/3725843.3756055 — 내부 오류 정정으로 밀도 1.8배. 기본 질의 2.1배, 전체 1.7배(대조군 미표기).
  • "Pinatubo — 비휘발성 메모리의 대량 비트 연산" (2016) — DOI: 10.1145/2897937.2898064 — 제안과 시뮬레이션 평가. 비트 연산 약 500배·에너지 약 28,000배, 전체로는 1.12배·1.11배(기준선 = 기존 프로세서).
  • "Pinatubo 구조의 상변화 메모리 비트 논리" (2024) — DOI: 10.1109/vlsid60093.2024.00103 — 실험 시연. 원 연구의 시뮬레이션 값과 대조. 저항 상태 네 자릿수 차이.
  • "데이터베이스로 본 대량 비트 인메모리 처리" (2023) — DOI: 10.1109/tetc.2023.3315189 — 전체 시스템 시뮬레이션. 필터 1.6~18배·질의 56~608배, 에너지 1.7~18.6배와 0.81~12배(0.81 = 더 씀).
  • "대량 비트 인메모리 처리의 일관성" (2023) — DOI: 10.1109/hpca56546.2023.10071007 — 전체 시스템 시뮬레이션. 순서 규칙이 없었고 기존 해법이 호스트 규칙을 깨뜨렸다. 보장 비용 최대 6%.
  • "AI를 위한 아날로그 인메모리 연산 구조" (2023) — arXiv:2302.06417v1 (프리프린트) — 이론 한계 분석. 아날로그는 효율이 임의로 높아질 수 있다. 축은 크기·바이트당 연산량·정밀도.
  • "딥러닝용 인메모리 연산 칩" (2021) — DOI: 10.1109/mcas.2021.3092533 — 리뷰. 과제는 변환기 병목·아날로그 연산의 변동·소자 비이상성.
  • "인메모리 가속기의 변환기 설계 탐색" (2021) — DOI: 10.1109/mdat.2021.3050715 — 설계 탐색. 6비트면 큰 배열에서도 정확도 손실이 없다.
  • "HCiM — 변환기 없는 혼성 인메모리 가속기" (2025) — DOI: 10.1145/3658617.3697572 — 변환기 면적이 처리량을 묶는다. 중간 합을 줄이면 변환기가 없어지나 실수 배율이 이득을 상쇄 → 배율은 디지털이. 7·2비트 대비 28·11배.
  • "아날로그 인메모리의 신호대잡음비 최적 변환기" (2025) — arXiv:2507.09776v2 (프리프린트) — 28나노 회로 인지 행동 모형. 선행 연구가 정밀도 요구를 과대평가했다. 3비트↓·6데시벨↑.
  • "완전 아날로그 구조의 배선 기생과 분할" (2022) — arXiv:2201.12480v1 (프리프린트) — 회로 시뮬레이션. 분할로 94.84%(디지털 약 97%에 견줄 만함). 분할 회로 때문에 전력은 더 든다.
  • "아날로그 인메모리 추론의 정확도와 복원력" (2020) — arXiv:2008.02400v1 (프리프린트) — 시뮬레이션. 디지털용 훈련 신경망은 아날로그의 불확실성을 견디지 못한다. 새 표현·훈련으로 개선.
  • "아날로그 인메모리 가속기를 위한 이종 매핑" (2026) — arXiv:2606.02672v1 (프리프린트) — GPT-2에서 49개 투영 중 4개가 민감도를 지배.
  • "아날로그 인메모리 연산을 이용한 커널 근사" (2024) — arXiv:2411.03375v1 (프리프린트) — 실물 칩 시연. 정확도 하락 1% 미만·1% 이내. 에너지 우위는 측정이 아니라 추정치.
  • "HARDSEA — 아날로그·디지털 혼성 어텐션 가속기" (2023) — DOI: 10.1109/tvlsi.2023.3337777 — 아날로그엔 단조성만 필요한 일만. GPU 대비 에너지 291.6~1894.3배, 전용 가속기 대비 1.2~14.9배.
  • "22나노 전디지털 전정밀도 인메모리 매크로" (2021) — DOI: 10.1109/isscc42613.2021.9365766 — 초록의 진단: 아날로그는 낮은 신호대잡음비로 인한 정확도 부족이 주된 단점. ⚠️ 제목의 89TOPS/W를 초록이 설명 안 한다.
  • "Colonnade — 디지털 비트직렬 인메모리 매크로" (2021) — DOI: 10.1109/jssc.2021.3061508 — 65나노 시험칩 실측. 면적을 줄이는 대신 지연을 희생한다. 와트당 1비트 117.3테라 / 16비트 2.06테라.
  • "IMPACT — 22나노 인메모리 가속기" (2023) — DOI: 10.1109/jssc.2023.3269098 — 시제품 실측. 가속기 전체 4비트 환산 813TOPS/W, 매크로만 4.2POPS/W(뒤 값의 정밀도 기준이 초록에 없다).
  • "전하 기반 인메모리 어텐션 가속기" (2024) — arXiv:2409.04940v2 (프리프린트) — 65나노 시제품 실측. 최고 효율 아날로그 코어 14.8 / 칩 전체 1.65 TOPS/W.
  • "AI-PiM — RISC-V에 인메모리 실행 유닛" (2022) — DOI: 10.3389/felec.2022.898273 — 표준 폰노이만 모델을 깨뜨려 스택 통합을 막는다. 같은 기준선에 커널 17.63배 / 벤치마크 2.74배.
  • "iMCU — 28나노 디지털 인메모리 MCU" (2024) — DOI: 10.1109/jssc.2024.3362274 — 선행연구 진단 + 시제품 실측. 선행 제품은 변동에 견고성이 제한되고 실용 프레임워크 지원이 없어 표준 벤치마크로 견주기 어려웠다 — 그 진단을 적은 팀이 만든 물건. 성과는 기존 인메모리 제품 대비.
  • "인메모리 실행을 위한 ONNX 런타임 확장" (2022) — DOI: 10.1109/iceic54506.2022.9748444 — 표준 실행 환경에 인메모리 연산 추상화를. 기준 플랫폼이 x86 대비 1.64배·ARM 대비 1.71배.
  • "DaPPA — 데이터 병렬 프로그래밍 프레임워크" (2023) — DOI: 10.48550/arxiv.2310.10168 (프리프린트) — 실물 시스템 측정. 손튜닝 대비 평균 2.1배, 코드 줄 수 94%↓.
  • "ATiM — 인메모리 D램의 텐서 프로그램 자동 튜닝" (2025) — DOI: 10.1145/3695053.3731096 — 실물 하드웨어 측정. 커널 6.18배·언어모델 계층 8.21배(기준선 미표기).
  • "A3PIM — 인메모리 오프로더" (2024) — DOI: 10.23919/date58400.2024.10546698 — CPU만 쓴 경우 대비 2.63배, 전부 인메모리에 올린 경우 대비 4.45배(평균. 최대 7.14·10.64배).
  • "SparseP — 실물 인메모리의 희소 행렬-벡터 곱" (2022) — DOI: 10.48550/arxiv.2201.05072 (프리프린트) — 실물 측정, 2,528개 코어. 전부 메모리에서 끝내는 분할과 계산·전송 비용의 균형을 잡는 분할. 승패는 초록에 없다.
  • "HighP — 높은 뱅크 병렬성 희소 행렬 곱" (2025) — DOI: 10.1109/tc.2025.3624920 — 자체 실험 분석에서 대역폭의 80%가 낭비되고 있었다. 전용 가속기 대비 17.88배, 인메모리 대비 8.19배.
📚 반도체 2부 — 미세화가 멈춘 뒤: 쌓고, 붙이고, 나른다
6 / 6
  1. 1.병목은 계산이 아니었다 — 메모리를 쌓아 프로세서 옆에 붙인 10년
  2. 2.사이에 아무것도 끼우지 않는다 — 두 면을 직접 붙이는 일이 공정의 중심이 되기까지
  3. 3.하나로 만들지 않기로 했다 — 칩을 조각내 붙인 뒤 남은 계산서
  4. 4.판이 휘면 그 위는 소용없다 — 바닥을 유리로 바꾸고 빛을 칩 옆에 앉힌 값
  5. 5.전기를 뒤로 돌렸더니 열이 갇혔다 — 트랜지스터 밑 실리콘을 갈아 없애고 받은 청구서
  6. 6.나르지 말고 그 자리에서 하자 — 메모리에 계산을 시켰더니 질문이 여섯 개 남았다
← 이전 글전기를 뒤로 돌렸더니 열이 갇혔다 — 트랜지스터 밑 실리콘을 갈아 없애고 받은 청구서

이 글은 AI가 연구 논문을 바탕으로 작성한 교육·정보 제공용 콘텐츠이며, 전문가의 조언을 대체하지 않습니다. 오류를 발견하셨나요? 알려주세요

© 2026 네오쿤스(Paperis) · 링크 공유는 환영합니다. 전문 전재·재배포는 사전 허가가 필요합니다.