PCIe PHY 내부: 엔드‑투‑엔드 전송 및 수신 경로

발행: (2026년 3월 28일 PM 09:23 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

이 문서는 PCIe 개요와 물리 계층 기본 사항을 바탕으로, 전송 및 수신 경로를 통해 데이터가 어떻게 흐르는지에 대한 엔드‑투‑엔드 관점을 제공합니다. 초점은 트랜잭션 레이어 패킷(TLP)이 고속 직렬 비트 스트림으로 변환되고 수신기에서 재구성되는 과정에 있습니다.

송신기 (예: 루트 컴플렉스가 메모리 쓰기 TLP를 전송)

데이터 링크 레이어

  • Seq# + TLP 헤더 + 데이터 + LCRC (병렬 바이트)

물리 계층

프레이밍 / 블록 형성

  • Gen1/2: STP + TLP + END (스트림에 삽입된 제어 심볼)
  • Gen3+: 데이터가 128‑비트 블록으로 조직됨 (패킷 경계는 추론되며 명시적 STP/END 없음)

스크램블러

  • 비트 스트림을 LFSR 시퀀스와 XOR → 전이 밀도와 EMI 감소를 위한 무작위 데이터

인코더 / 블록 인코딩

  • Gen1/2 (8b/10b): 8‑비트 → 10‑비트 심볼 (DC 밸런스 + 제어 인코딩)
  • Gen3/4/5 (128b/130b): 128‑비트 블록 + 2‑비트 동기 헤더 → 130‑비트 블록

전송 PLL / 클록 생성

  • 기준 클록(예: 100 MHz) → 고속 직렬 레이트 생성(예: Gen3의 경우 8.0 GT/s)

직렬 변환기

  • 병렬 블록 → 직렬 비트 스트림 (Gen3의 경우 비트 시간 ≈ 125 ps)

차동 드라이버

  • Tx⁺ / Tx⁻ 쌍 구동
  • 비트는 극성으로 인코딩 (Tx⁺ > Tx⁻ 또는 Tx⁺ < Tx⁻)
  • ≈ 800 mVpp 차동(구현에 따라 다름)

직렬 링크

Tx⁺ ──|── Tx⁻ (PCIe 직렬 링크, 예: 8.0 GT/s)

수신기 (예: 엔드포인트가 메모리 쓰기 TLP를 수신)

물리 계층

차동 수신기

  • (Rx⁺ − Rx⁻) 감지 → 직렬 비트 스트림 복구(노이즈 억제)

클록 데이터 복구(CDR)

  • 데이터 전이에서 클록 추출
  • 위상 검출기 → 루프 필터 → VCO
  • 유닛 인터벌(UI) 중앙에 맞춰 샘플링

역직렬 변환기

  • 직렬 스트림 → 병렬 블록(예: Gen3+에서는 130‑비트 블록)

디코더 / 블록 디코딩

  • Gen1/2: 10‑비트 → 8‑비트 심볼
  • Gen3/4/5: 2‑비트 동기 헤더 제거 → 128‑비트 스크램블된 데이터 복구

디스크램블러

  • 동일한 LFSR 시퀀스와 XOR → 원본 데이터 복원

디프레이밍 / 패킷 재구성

  • Gen1/2: STP / END 심볼 감지
  • Gen3+: 프로토콜 구조에서 패킷 경계 추론

데이터 링크 레이어

  • Seq# + TLP 헤더 + 데이터 + LCRC
    • LCRC 검증
    • 시퀀스 추적
    • DLLP를 통한 ACK/NACK
0 조회
Back to Blog

관련 글

더 보기 »

아무도 추적하지 않는 AI 코드 부채

6개월 전, 우리 팀은 그 어느 때보다 빠르게 기능을 출시했습니다. 우리는 모든 일에 AI 어시스턴트를 사용했습니다—코드 생성, 디버깅, 아키텍처 결정. The ve...