367. NoC (Network on Chip)

핵심 인사이트 (3줄 요약)

  1. 본질: NoC(Network on Chip)는 수십~수백 개의 코어와 IP 블록이 빽빽하게 집적된 매니코어(Many-core) SoC 환경에서, 기존 '공용 버스(Shared Bus)' 아키텍처가 겪는 극심한 병목 현상을 타파하기 위해 반도체 칩 내부에 인터넷과 같은 '패킷 교환 라우팅 네트워크망'을 구축해 버린 차세대 연결 기술이다.
  2. 가치: 하나의 도로를 번갈아 쓰는 대신 칩 전체에 거미줄처럼 얽힌 라우터(Router)와 스위치를 통해 경로를 찾아가므로, 여러 코어가 동시에 대화하는 다대다(Many-to-Many) 동시 병렬 통신이 가능해져 칩 내부의 트래픽 대역폭 한계를 무한에 가깝게 폭발적으로 확장시킨다.
  3. 융합: 애플의 M 시리즈, 인텔의 메시(Mesh) 아키텍처 서버 CPU, 그리고 수천 개의 미니 코어를 때려 박아 행렬 연산을 수행하는 최신 AI 가속기(NPU) 및 칩렛(Chiplet) 패키징 설계에 있어 절대 빠질 수 없는 필수 불가결한 핵심 뼈대로 융합되었다.

Ⅰ. 개요 및 필요성 (Context & Necessity)

  • 개념: NoC는 이름 그대로 '칩(Chip) 위에 올려진 네트워크(Network)'다. 과거에는 컴퓨터 본체 밖으로 나가야만 랜선(인터넷)과 라우터가 존재했다. 하지만 NoC는 이 거대한 인터넷망의 철학—데이터를 패킷(Packet)으로 쪼개고, 십자 교차로마다 라우터를 두어 목적지까지 경로(Routing)를 찾아가게 하는 방식—을 현미경으로 축소하여 1cm짜리 실리콘 다이(Die) 칩셋 내부에 그대로 박아 넣은 아키텍처다.
  • 필요성: 칩 안에 코어가 4개일 때는 AMBA AXI 같은 1개의 공용 버스(Bus)만 뚫어놔도 서로 차례를 양보하며 평화롭게 데이터를 주고받을 수 있었다. 하지만 클라우드와 AI 시대가 오면서 칩 하나에 CPU 코어가 64개, 128개씩 박히기 시작했다. 128명이 하나의 마이크(버스)를 잡으려고 매 클럭마다 싸우고 중재(Arbitration)를 기다리다 보니, 정작 연산은 하지도 못하고 교통체증에 걸려 칩 전체가 멈춰버리는 끔찍한 병목이 터졌다.
  • 해결책: "버스를 통째로 찢어버려라! 중앙 공용 도로를 없애고 아예 도시 전체를 바둑판 모양의 격자 도로망으로 갈아엎어서, 누구나 동시에 다른 길을 통해 데이터를 던지게 만들자!" 이것이 NoC가 탄생한 필연적 이유다.
  • 💡 비유: 동네 사람이 10명일 때는 우물(메모리)로 가는 외길(공용 버스) 1개만 있어도 순서대로 물을 뜰 수 있었습니다. 하지만 인구가 1만 명의 메가시티로 팽창하면 그 외길에서 사람들은 밟혀 죽습니다. 아예 뉴욕 맨해튼처럼 도시 전체에 바둑판(격자형) 모양의 촘촘한 도로망(NoC)을 깔고 교차로마다 신호등(라우터)을 세워야만 1만 대의 차가 얽히지 않고 목적지로 흩어질 수 있습니다.
┌─────────────────────────────────────────────────────────────┐
│          구형 공용 버스(Shared Bus) vs 최신 NoC(Mesh Topology) 구조 비교  │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  [ 과거: 공용 버스의 지옥 (Bus Contention) ]                      │
│                                                             │
│   [코어1]    [코어2]    [코어3]    [코어4]    [코어5]    [코어6]   │
│      ▼         ▼         ▼         ▼         ▼         ▼      │
│  ====================[ 1차선 공용 버스 ]=====================  │
│  * 비극: 코어1이 메모리로 데이터를 쏘면, 나머지 5개 코어는 멍하니 대기.    │
│                                                             │
│  ─────────────────────────────────────────────────────────  │
│                                                             │
│  [ 현대: NoC Mesh (바둑판형 라우터 네트워크) - 궁극의 병렬 통신 ]      │
│                                                             │
│    [C1]─(R)───(R)─[C2]     * R = 라우터(Router 교차로)          │
│          │       │           C = Core (코어 및 캐시)           │
│    [C3]─(R)───(R)─[C4]                                        │
│          │       │         * 혁신: C1이 C4로 대각선 데이터를 쏠 때,  │
│    [C5]─(R)───(R)─[C6]               C2는 C3로 동시에 데이터를 쏠   │
│                                     수 있다! (길이 안 겹치므로 병목 0%)│
└─────────────────────────────────────────────────────────────┘

[다이어그램 해설] NoC의 가장 대중적인 형태인 '메시(Mesh)' 구조다. 칩 내부에 수십 개의 작은 라우터(R)들이 격자망으로 깔려있고, 각 라우터 옆에 코어가 하나씩 입주해 있다. 이 구조의 무서운 점은 **확장성(Scalability)**이다. 코어를 10개에서 100개로 늘리고 싶으면, 버스 중재기 알고리즘을 뜯어고칠 필요 없이 그냥 저 네모난 타일(Tile)을 레고 블록 복사하듯 옆으로 계속 붙여 나가면 끝이다.

  • 📢 섹션 요약 비유: 한 명이 칠판에 나가 발표할 때 나머지 50명은 입을 다물어야 하는 주입식 교실(공용 버스)을 치워버렸습니다. 각자 2명씩 짝을 지어 25개 조가 동시에 떠들며 1:1 토론(NoC 패킷 통신)을 하게 만들어서, 교실 안의 정보 교환량을 25배로 뻥튀기시킨 교육 혁명과 같습니다.

Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)

1. 패킷 스위칭 (Packet Switching)의 이식

온칩 버스는 "100번지 열어" 하면 전선 전체를 독점하고 끝날 때까지 안 놔준다(회선 교환). 하지만 NoC는 인터넷의 방식을 그대로 칩에 이식했다.

  • 패킷화 (Packetization): 코어가 데이터를 보낼 때, 그걸 잘게 쪼개서 머리에 '목적지 주소(헤더)'를 붙인 **플릿(Flit, Flow Control Unit)**이라는 아주 작은 조각 캡슐로 만든다.
  • 라우팅 (Routing): 이 캡슐을 라우터에 던지면, 십자 교차로(라우터)에 있는 스위치가 1나노초 만에 헤더를 읽고 "위쪽 길이 막혔네? 오른쪽 우회로로 던져!"라며 패킷을 릴레이로 패스해 준다.

2. NoC의 3대 토폴로지 (Topology, 망의 형태)

어떤 모양으로 도로를 깔 것인가는 칩의 성능과 발열(면적)을 결정하는 핵심이다.

토폴로지 구조생김새 및 물리적 연결장단점 및 주요 채택 칩셋
링 (Ring)코어들을 둥그런 순환선(지하철 2호선) 트랙 하나로 쫙 연결함.면적을 적게 먹고 설계가 편함. 코어가 10개 이상 넘어가면 한 바퀴 도는 데 시간이 너무 오래 걸려 지연(Latency) 폭발. (과거 인텔 코어, 애플 M1/M2)
메시 (Mesh)코어들을 완벽한 바둑판(격자) 모양의 교차로로 쫙 깔아버림.길 찾기가 쉽고 코어를 100개까지 늘려도 무난함. 단, 대각선 끝에서 끝으로 보낼 때 홉(Hop) 수가 많아짐. (인텔 제온 서버 CPU의 절대 표준)
토러스 (Torus)메시 바둑판의 양쪽 끝과 끝을 전선으로 연결해 도넛 모양으로 둥글게 말아버림.끝에서 끝으로 가는 우회로가 뚫려 지연 시간이 대폭 줄어듦. 단, 전선이 꼬여서 물리적 실리콘 설계 난이도가 미쳐 날뜀. (초거대 AI 가속기)
  • 📢 섹션 요약 비유: 링(Ring) 버스는 둥그런 초밥집 회전 레일입니다. 내가 먹을 초밥이 레일 맨 뒤에 있으면 내 앞까지 한 바퀴 돌아올 때까지 침만 뚝뚝 흘리며 멍하니 기다려야 해서 코어가 많아지면 굶어 죽습니다. 그래서 레일 가운데를 십자(+) 모양으로 가로질러 빠르게 던져주는 메시(Mesh) 구조가 탄생한 것입니다.

Ⅲ. 융합 비교 및 다각도 분석

전통적인 AXI 버스 vs 최신 NoC 네트워크의 결전

비교 항목AXI 버스 (전통적 On-Chip Bus)NoC (Network on Chip)
연결 철학전선을 공유하고 중재자(Arbiter)에게 허락 구함거미줄 같은 라우터망에서 패킷 단위로 던짐
동시 통신 능력1번에 1개 (운 좋으면 2개) 통신 한계10쌍이든 50쌍이든 서로 겹치지만 않으면 동시 통신(다대다 병렬)
물리적 배선코어가 늘어날수록 선이 기형적으로 굵어지고 엉킴라우터 간의 짧은 선만 있으면 되어 배선 길이(Wire Length) 최적화 완벽
코어 확장성4~8개 넘어가면 병목 터져서 설계 불가64개, 128개 무한정 복사 붙여넣기 확장 가능
전력 소모대기 시에도 버스 전체에 전기가 흘러 낭비라우터 단위로 전기를 끄고 켤 수 있어(Power Gating) 전력 초절감

결론: 스마트폰의 AP(스냅드래곤 등)처럼 코어가 8개 남짓하고 크기가 작은 칩은 여전히 AXI 버스가 유리하다. 하지만 서버용 CPU나 AI 가속기처럼 코어가 64개를 넘어가면 버스로는 물리적 배선 자체가 불가능해지므로 선택의 여지 없이 100% 무조건 NoC 아키텍처를 도입해야만 실리콘을 찍어낼 수 있다.

  • 📢 섹션 요약 비유: 1층짜리 단독주택(4코어)을 지을 때는 복도(AXI 버스) 하나만 길게 뚫어놓고 방을 양옆에 배치하면 끝입니다. 하지만 100층짜리 엠파이어 스테이트 빌딩(매니코어)을 지을 때 복도 하나만 뚫어놓으면 출근 시간에 압사 사고가 터집니다. 반드시 곳곳에 엘리베이터와 비상계단(NoC 라우터)을 촘촘히 분산시켜 설계해야만 건물이 제 기능을 합니다.

Ⅳ. 실무 적용 및 기술사적 판단

실무 시나리오 및 최적화 전략

  1. 시나리오 — AI 가속기 (NPU / TPU)의 행렬 연산 핏줄: 구글 TPU나 테슬라의 FSD 자율주행 칩 내부에 들어가 보면 작고 멍청한 연산 코어(MAC) 수천 개가 바둑판처럼 빼곡히 박혀있다.

    • 아키텍처의 필연성: AI의 본질은 엄청나게 큰 행렬(Matrix) 곱셈이다. 코어 1번이 계산한 결과를 즉시 코어 2번으로 넘기고, 2번이 3번으로 넘기는 **'데이터 흐름(Systolic Array)'**이 끊임없이 폭포수처럼 쏟아져야 한다. 이 수천 개의 코어가 버스를 쓰겠다고 손을 들면 칩은 1초 만에 타버린다. 설계자는 코어들을 2D 메시(Mesh) NoC로 엮어, 좌우상하 이웃 코어들끼리만 1나노초 만에 데이터를 패스(Routing)하며 전체 칩이 거대한 하나의 수학 공식처럼 숨 쉬게 만든다. AI 칩의 연산력(TOPS)은 코어 개수보다 이 NoC 라우터를 얼마나 덜 막히게 잘 짰느냐에 100% 좌우된다.
  2. 시나리오 — 칩렛(Chiplet) 시대를 여는 만능 접착제: 최근 AMD와 인텔은 거대한 칩 하나를 통째로 굽지 않는다(수율 똥망). 작은 칩(칩렛) 8개를 싸게 구운 다음 레고 블록처럼 기판(Interposer) 위에 본드로 이어 붙여 하나의 64코어 CPU인 척 사기를 친다.

    • 기술적 해결책: 쪼개진 8개의 칩렛이 1개의 칩처럼 동작하려면 칩렛과 칩렛 사이를 가로지르는 무지막지하게 넓고 빠른 통신망이 필요하다. 이때 칩 내부를 돌아다니던 NoC 기술(예: AMD Infinity Fabric)을 칩 바깥으로 살짝 끄집어내어 칩렛들을 바둑판망으로 꿰매버린다. NoC 패킷 통신 기술이 없었다면, 수율의 한계를 극복하고 원가를 절감한 이 현대 반도체 패키징의 기적(Chiplet)은 애초에 불가능한 망상이었다.

안티패턴

  • NoC 망에서의 '라우팅 교착 상태(Deadlock)' 방치: 4개의 라우터가 사각형으로 얽힌 NoC 메시 망에서, 패킷 1번은 시계방향으로 가려 하고 패킷 2번은 반시계로 가려다 서로 길 한가운데서 마주쳐서 영원히 비키지 않고 무한 대기하는 끔찍한 버그(Deadlock). 네트워크 엔지니어들이 가장 혐오하는 이 상황을 막기 위해, 칩 설계자는 실리콘 내부에 '가상 채널(Virtual Channel)'이라는 보이지 않는 우회 2층 도로를 여러 개 파두어, 패킷이 막히면 2층 고가도로를 타고 서로 교차해 지나갈 수 있게 무거운 하드웨어 우회 로직을 반드시 박아 넣어야 한다. 이를 빼먹고 싸게 만들려다간 칩이 수시로 먹통이 되어 전량 리콜 사태를 맞는다.

  • 📢 섹션 요약 비유: NoC 망의 교착 상태(Deadlock)는 좁은 외나무다리에서 염소 두 마리가 마주쳐서 서로 안 비키고 하루 종일 뿔만 들이밀다 굶어 죽는 것과 같습니다. 똑똑한 다리 설계자(아키텍트)라면 애초에 다리 밑으로 빠져나갈 수 있는 지하 우회 통로(가상 채널)를 뚫어두어 염소들이 얽히지 않고 스르륵 지나가게 안전장치를 해둡니다.


Ⅴ. 기대효과 및 결론

다크 실리콘(Dark Silicon) 시대의 구원자

칩이 작아져 트랜지스터를 수백억 개 때려 박아도, 발열 때문에 동시에 전기를 켤 수 없는 부분을 '다크 실리콘'이라 부른다. NoC 아키텍처는 일하지 않는 코어 구역의 라우터 전원을 구역별로 칼같이 차단(Clock/Power Gating)해 버릴 수 있어, 발열 한계에 부딪힌 현대 반도체 설계에 극단적인 전력 다이어트의 돌파구를 마련해 주었다.

결론

NoC (Network on Chip)는 "더 이상 칩 안에서 길(버스)을 넓히는 건 불가능하니, 길을 버리고 인터넷(네트워크)의 지혜를 칩 안으로 훔쳐 오자"는 발상의 극적인 전환이다. 한때 수천 킬로미터 떨어져 있던 대륙 간 네트워크의 패킷 스위칭 라우터가, 이제는 1밀리미터도 안 되는 현미경 속 실리콘 바닥에서 1나노초 단위로 트래픽을 쪼개며 춤추고 있다. NoC는 인류가 만들어낼 차세대 1,000코어 슈퍼 프로세서와 인간의 뇌를 모방한 뉴로모픽(Neuromorphic) 칩의 혈관을 영원히 책임질 가장 위대한 나노 스케일의 도시 공학이다.

  • 📢 섹션 요약 비유: 칩 설계는 거대한 도시를 짓는 것과 같습니다. 구형 칩은 마을 회관(공용 버스)에 모두가 모여야만 대화가 통하는 원시 마을이었습니다. NoC는 각자의 집(코어)에서 나가지 않고도 스마트폰 문자(패킷 스위칭)를 주고받으며 수백만 명이 동시에 소통하는, 가장 발전되고 진화된 초연결 나노 메트로폴리스의 완성입니다.

📌 관련 개념 맵 (Knowledge Graph)

개념 명칭관계 및 시너지 설명
SoC / 매니코어 (Many-core)코어가 64개, 128개로 폭증하여 구형 버스로는 도저히 칩을 굴릴 수 없어 NoC를 강제로 소환하게 된 물리적 환경.
패킷 스위칭 (Packet Switching)긴 전선 하나를 독점하지 않고, 데이터를 잘게 조각(플릿)내어 비어있는 길(라우터)로 눈치껏 분산시켜 던지는 NoC의 영혼.
토폴로지 (Mesh, Ring)칩 내부의 라우터들을 바둑판으로 깔 것인지(Mesh), 원형으로 깔 것인지(Ring) 결정하는 실리콘 도시 배선 계획.
칩렛 (Chiplet) / 패키징거대한 칩을 쪼개서 만들고 본드로 붙일 때, 그 쪼개진 칩들 사이의 막대한 통신을 렉 없이 이어주는 NoC의 외부 확장 기술.
교착 상태 (Deadlock)칩 내부에 복잡한 거미줄 라우터를 깔았다가, 패킷들이 서로 길을 비키지 않고 무한 대기하며 칩을 먹통으로 만드는 최악의 버그.

👶 어린이를 위한 3줄 비유 설명

  1. NoC(엔오씨)는 아주아주 작은 컴퓨터 칩셋 안에 들어있는 '엄청나게 촘촘한 바둑판 모양의 미니 도시 도로망'이에요.
  2. 옛날에는 칩 안에 큰길(버스)이 하나밖에 없어서, 생각하는 뇌(코어)들이 많아지자 길이 꽉 막혀서 아무것도 못 하고 엉엉 울었어요.
  3. 그래서 아예 칩 안에 똑똑한 신호등(라우터)과 십자 교차로를 수십 개 만들어서, 100명의 뇌가 차가 막히지 않고 이리저리 지름길로 씽씽 달리며 동시에 편지를 주고받을 수 있게 만든 마법의 길이랍니다!