πŸ“Œ ΠšΡ€Π°Ρ‚ΠΊΠΎ

PCIe (Peripheral Component Interconnect Express) β€” высокоскоростная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ шина для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств ΠΊ CPU ΠΈ RAM, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ°Ρ Π½Π° смСну PCI ΠΈ AGP.

🧠 Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

PCIe ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠ°-Ρ‚ΠΎΡ‡ΠΊΠ° (point-to-point) соСдинСния вмСсто ΠΎΠ±Ρ‰Π΅ΠΉ ΡˆΠΈΠ½Ρ‹. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ PCIe Device ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ Root Complex Ρ‡Π΅Ρ€Π΅Π· логичСскиС Π»ΠΈΠ½ΠΈΠΈ (lanes), каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… β€” это Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π» (1 Π±ΠΈΡ‚ Π½Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄).

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности:

  • Полная дуплСксная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ
  • ΠŸΠ°ΠΊΠ΅Ρ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» (TLP + DLLP)
  • ЛогичСская структура: Root Complex ↔ Switch ↔ Endpoints
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° DMA, ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, hot-plug, peer-to-peer

βš™οΈ Π“Π΄Π΅ примСняСтся

УстройствоНазначСниС
GPUВысокоскоростной интСрфСйс ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
NVMe SSDНизкиС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, высокая пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ
NIC10G/40G/100G сСтСвыС ΠΊΠ°Ρ€Ρ‚Ρ‹
FPGAВысокоскоростной ΠΎΠ±ΠΌΠ΅Π½ с хостом
Capture CardsΠ’ΠΈΠ΄Π΅ΠΎ-Π²Π²ΠΎΠ΄ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

πŸ’» ΠŸΡ€ΠΈΠΌΠ΅Ρ€ (Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Linux)

lspci | grep -i nvme
# ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС PCIe-устройства NVMe

🧩 АрхитСктура ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ PCIe

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒΠΠ°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Physical LayerЭлСктричСская ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… (Π»ΠΈΠ½ΠΈΠΈ)
Data Link LayerΠΠ°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ: ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ошибок
Transaction LayerΠ€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², адрСсация, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΏΠΎ количСству Π»ΠΈΠ½ΠΈΠΉ:

  • x1, x2, x4, x8, x16, x32 β€” число lane’ов (Π΄ΠΎ 32 Π² PCIe 6.0)

  • ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ = (ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Γ— количСство Π»ΠΈΠ½ΠΈΠΉ Γ— 2)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ скоростСй:

Π’Π΅Ρ€ΡΠΈΡΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ (Π½Π° ΠΎΠ΄Π½Ρƒ линию)
PCIe 3.01 GB/s (Π΄Π²ΡƒΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎ)
PCIe 4.02 GB/s
PCIe 5.04 GB/s
PCIe 6.08 GB/s

πŸ“ Π‘Ρ…Π΅ΠΌΠ° взаимодСйствия

[CPU] ←→ [Root Complex] ←→ [Switch] ←→ [Device #1]
                                ↓
                            [Device #2]

βœ… ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°

  • Высокая пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ

  • Асинхронный, ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» β€” эффСктивСн ΠΏΡ€ΠΈ высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° DMA, горячСй Π·Π°ΠΌΠ΅Π½Ρ‹, peer-to-peer

❌ НСдостатки

  • Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ вСрсии (3.0, 4.0, 5.0…) Π½Π° ΠΏΠ»Π°Ρ‚Π΅ ΠΈ устройствС

  • ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹Π΅ трСбования ΠΊ трассировкС ΠΈ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠΏΠΈΡ‚Π°Π½ΠΈΡŽ

  • Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ стартС систСмы