본문으로 건너뛰기
PCIe Deep Dive · 1/19

Ch 1: PCIe Fundamentals — 계층 구조와 토폴로지

· Hawk · 11분 읽기

#한 줄 요약

“PCIe는 공유 parallel bus인 PCI를 버리고 point-to-point 직렬 링크로 전환한 후, 같은 stack 위에서 Gen 1의 2.5 GT/s부터 Gen 7의 128 GT/s까지 22년간 진화했습니다.” — 토폴로지는 Root Complex 1개·Switch·Endpoint로 구성된 트리, stack은 Transaction·Data Link·Physical 3계층입니다. 같은 PHY 위에 CXL·UCIe 같은 다른 프로토콜이 얹히며 2026년의 datacenter interconnect 표준이 되었습니다.

이 시리즈는 PCIe 6.1·7.0 시대의 동작과 구현을 18편으로 정리합니다. 1차 자료는 PCI-SIG 공개 자료·Linux drivers/pci/ 소스·QEMU PCIe emulation·CPU 벤더 매뉴얼입니다. PCIe Base Specification 본문은 § navigation aid로만 인용하며, spec wording을 재생산하지 않고 자체 분석과 구현 관점의 해설입니다. 자세한 정책은 시리즈 자료 출처 안내 참고.

PCIe를 처음 만나는 사람이 가장 헷갈리는 부분은 *“공유 버스가 아니다”*라는 점입니다. PCI는 모든 디바이스가 같은 wire를 공유했고 clock·address·data line이 32~64개 평행하게 깔렸습니다. PCIe는 그 모델을 완전히 뒤집어서 2개 디바이스 사이의 전용 직렬 link로 만들었습니다. 이 근본 전환이 이후 모든 결정의 출발점입니다.

#PCI에서 PCIe로

PCI 33/66 MHz·PCI-X 133 MHz는 parallel·shared bus였습니다. 그 모델의 한계가 2000년대 초에 분명해졌습니다.

한계영향
Bus 위 모든 디바이스가 클럭 동기가장 느린 디바이스가 전체 속도 결정
Parallel wire 간 skew64-bit 133 MHz가 signal integrity의 한계
Bus arbitration overhead동시 요청 시 대기·취소
Physical layout메인보드 PCI slot 수 4개 정도가 실용 한계

PCIe는 이 모두를 point-to-point 직렬 링크로 풀었습니다. 디바이스 하나당 link 하나, bus arbitration 없음, clock recovery는 receiver가 직접 PLL로 추출. 그 결과 세대마다 link rate를 2배로 올릴 수 있는 clean foundation이 만들어졌습니다.

#3-Layer Stack

모든 PCIe 패킷은 3계층 stack을 위에서 아래로 내려갑니다.

계층역할단위
Transaction Layer (TL)Memory·I/O·Config·Message 요청 생성·split transactionTLP (Transaction Layer Packet)
Data Link Layer (DLL)TLP를 신뢰성 있게 전달·sequence number·ACK/NAK·flow controlDLLP + TLP wrapper
Physical Layer (PHY)Serialize·encoding·equalization·link trainingSymbol·Block·Flit

수신 측은 역순으로 올라옵니다. 이 대칭 stack이 PCIe의 layered design이고, 각 계층은 다른 계층을 모른 채 자기 일만 합니다.

#토폴로지 — RC·Switch·Endpoint·Bridge

PCIe는 트리 구조입니다. *Root Complex (RC)*가 루트, Switch가 중간 노드, *Endpoint (EP)*가 리프입니다.

노드역할
Root ComplexCPU·메모리 컨트롤러 통합. PCIe 트리의 진입점
Root PortRC 내부의 downstream 시작점. 통상 RC가 여러 Root Port 보유
SwitchUpstream Port 1개 + Downstream Port N개. 패킷 라우팅
EndpointLeaf 디바이스. NIC·NVMe SSD·GPU·NPU 등
BridgePCIe ↔ PCI 변환. 레거시 PCI 디바이스 attach

PCI의 bus·device·function (BDF) 식별은 PCIe에서도 그대로 쓰입니다. Bus 0

0
0
RC 자체고, 그 아래로 트리가 펼쳐집니다.

Switch는 내부적으로 가상 PCI-PCI Bridge들의 묶음입니다. Upstream Port 1개 → Downstream Port N개 구조이고, 각 port가 별도 bus 번호를 가집니다. lspci -t 출력의 트리 들여쓰기가 이 구조의 직접 반영입니다.

PCIe의 link 1개1, 2, 4, 8, 16, 32 개의 lane으로 구성될 수 있습니다.

Lane 수표기적용
1x1저속 EP — sound card, slow NIC
4x4M.2 NVMe SSD
8x825/100 GbE NIC, mid-range GPU
16x16high-end GPU, AI accelerator
32x32일부 datacenter device (spec 정의·실 채택 적음)

각 lane은 송신 differential pair + 수신 differential pair = 4개의 wire. x16이면 32 lane × 2 pair = 64 wire가 연결됩니다.

Link width negotiationlink training양단의 capability를 비교해서 둘 다 지원하는 최대 width로 합의합니다. 보드 결함으로 일부 lane이 죽으면 더 좁은 width로 fallback 합니다.

#Generation 진화 — Gen 1부터 Gen 7까지

세대Rate (per lane)발표Encoding비고
PCIe 1.02.5 GT/s20038b/10bNRZ
PCIe 2.05.0 GT/s20078b/10bNRZ
PCIe 3.08.0 GT/s2010128b/130bNRZ, overhead 감소
PCIe 4.016 GT/s2017128b/130bNRZ 한계점 도달
PCIe 5.032 GT/s2019128b/130bNRZ 최후 세대
PCIe 6.064 GT/s2022PAM4 + FLIT mode + FECPAM4 첫 도입
PCIe 7.0128 GT/s2025PAM4 + FLIT + FECspec 1.0 발표

x16 link 기준 effective bandwidthGen 1의 4 GB/s에서 Gen 7의 256 GB/s까지 64배 증가했습니다.

대역폭 산출은 세대 × encoding overhead × 2 directions × lane 수. Gen 5 x16 = 32 GT/s × (128/130) × 2 × 16 ≈ 126 GB/s 전이중. 실측은 protocol overhead로 90~110 GB/s 정도입니다.

#Encoding 진화 — 8b/10b → 128b/130b → PAM4

각 세대의 encoding 변화대역폭 효율signal integrity의 균형점을 옮겼습니다.

Encoding사용 세대Overhead특징
8b/10bGen 1·220%DC balance·clock recovery 쉬움, overhead 큼
128b/130bGen 3·4·51.5%Overhead 작음, scrambler 필수
PAM4Gen 6·71.5% + FEC4-level 신호로 bit 2개를 1 symbol에 담음

Gen 6의 PAM4는 signal integrity 한계 회피가 핵심 동기입니다. NRZ는 *2-level (0, 1)*이라 64 GT/s 도달이 비현실적. PAM4는 symbol rate를 절반으로 유지하면서 4-level비트율 2배를 달성합니다. 다만 4-level 신호는 noise margin이 1/3이라 FEC (Forward Error Correction) 필수가 되었습니다.

#FLIT Mode — Gen 6 이후의 큰 변화

Gen 6부터 FLIT (Flow Control Unit) mode가 도입되어 기존 가변 길이 TLP 모델256B 고정 unit으로 바꿉니다.

항목기존 (Gen 5까지)FLIT mode (Gen 6+)
Unit 크기가변 (TLP 길이)256B 고정
Error 검출LCRC (CRC-32)FEC + CRC
Retry 단위TLPFLIT
Latency가변예측 가능

FLIT mode는 FEC의 latency overheadprediction window로 흡수하고, fixed unitdeterministic timing을 만들어 AI·HPC fabric의 요구에 맞습니다. CXL 3.x·UCIe 2.0이 FLIT mode를 transport로 채택한 이유이기도 합니다.

#인접 표준 — CXL·UCIe·NVMe

PCIe는 그 자체로도 표준이지만, 2026 datacenter에서는 다른 protocol들의 PHY로도 동작합니다.

표준관계비고
CXL (1.1~4.0)같은 PCIe PHY에서 alternate protocol로 negotiateMemory·cache coherent device
UCIe (1.0~2.0)PCIe protocolchiplet die-to-die에 적용UCIe 2.0이 PCIe 6.0 FLIT 채택
NVMePCIe 위 storage protocol가장 큰 PCIe 응용
AMD Infinity Fabric / Intel UPICPU 간 별도 PHYPCIe와 공존

CXL 4.0 Internals Ch 1에서 CXL이 PCIe 위에 어떻게 얹히는지 다뤘습니다. PCIe 5.0 64 GT/s 위에 CXL 3.x, PCIe 7.0 128 GT/s 위에 CXL 4.0이 결합되는 구조입니다.

#자주 하는 실수

#”PCIe는 공유 버스다”

PCI는 공유 버스, PCIe는 point-to-point. 같은 Configuration model·BDF 식별을 쓰지만 물리·전송 계층은 완전히 다른 기술. PCI bus arbiter·shared signal 개념은 PCIe에는 없습니다.

#”Switch가 hub와 같다”

PCIe Switch는 내부적으로 가상 PCI-PCI Bridge 묶음이고 각 port가 별도 bus 번호. Ethernet hubUSB hub와 달리 full 대역폭이 port마다 보장되고 non-blocking이 일반적.

#”Gen 6은 단순히 Gen 5의 2배”

PAM4·FEC·FLIT mode가 함께 도입되어 근본 모델 변경. 단순 속도 2배가 아닌 encoding·error model·packet 구조 동시 변경. 실제 driver·firmware 변경이 큽니다.

#”x16이면 GPU에 무조건 x16”

Link width negotiationcapability + 보드 lane mapping + bifurcation 설정의 결과. RC가 x16 Root Port를 x8+x8로 split하면 GPU도 x8로 동작. lspci -vv에서 LnkCapLnkSta를 비교해 확인합니다.

#”PCIe 7.0이 곧 양산”

PCIe 7.0 spec 1.0은 2025년 발표되었지만 실 양산 디바이스2027~2028년이 일반적. spec 발표 → IP 라이선스 → 실 양산 디바이스2~3년 걸림. PCIe 5.0이 2019 spec, 2021부터 본격 양산이었던 것과 같은 패턴.

#정리

  • PCIe는 PCI의 shared parallel buspoint-to-point serial link로 전환한 차세대 인터커넥트입니다.
  • 3-Layer Stack: Transaction (TLP) → Data Link (DLLP·ACK/NAK·FC) → Physical (link training·encoding).
  • 토폴로지RC·Switch·Endpoint·Bridge의 트리. Switch는 내부적으로 가상 P2P Bridge 묶음.
  • Lane2 differential pair이고, x1·x4·x8·x16가 일반적. link width는 training 시 협상.
  • Generation: Gen 1 (2.5 GT/s) → Gen 7 (128 GT/s). x16 기준 대역폭 64배 증가.
  • Encoding: 8b/10b → 128b/130b → PAM4 + FEC (Gen 6+).
  • FLIT mode (Gen 6+)가 256B 고정 unit·deterministic timing을 도입.
  • CXL·UCIe·NVMe같은 PHY/transport 위에서 동작하며 2026 datacenter의 공유 인프라가 됩니다.

#다음 편

Ch 2: TLP — Transaction Layer Packet에서 PCIe 데이터 전송의 기본 단위인 TLP의 구조와 종류, split transaction 흐름을 본격적으로 분해합니다.

#관련 항목

#시리즈 자료 출처 안내

본 시리즈의 1차 자료는 다음과 같습니다:

  • PCI-SIG 공개 자료 — Base Spec ECN·white paper·DevCon 발표·press release
  • Linux Kernel drivers/pci/ 소스 — GPL, 자유 분석 가능
  • QEMU PCIe emulation 소스 — GPL
  • CPU 벤더 매뉴얼 — Intel SDM Vol 3·AMD64 Architecture Vol 2·ARM SMMUv3 등 공개 문서
  • Datasheet 공개 부분 — Synopsys DesignWare PCIe Controller 등 IP 벤더 공개 자료

PCI Express Base Specification 문서(Revision 6.1, 2023 / 7.0, 2025)는 참고 자료로 § 번호만 인용합니다. spec 본문의 wording·table·figure를 재생산하지 않으며, 자체 분석과 구현 관점의 해설입니다.

PCI Express® and PCIe® are registered trademarks of PCI-SIG. Spec 인용은 PCI-SIG의 저작권을 따릅니다.