6.3.3Interconnects, Buses & SoC

PCIe lanes, links, and bandwidth

2,942 words13 min readdifficulty · medium

Overview

Understanding PCIe lanes, links, and their relationship to bandwidth is fundamental to system design—whether you're building a gaming rig, a server, or debugging why your NVMe drive isn't hitting advertised speeds. This note derives bandwidth from first principles and shows you how to never be confused again.

Figure — PCIe lanes, links, and bandwidth

Core Concepts

Bandwidth Derivation from First Principles

Let's build up the bandwidth formula step by step, understanding WHAT each component means and WHY it's there.

Master Bandwidth Table

| Gen | Encoding | Lane Rate (Gbps) | Lane Rate (GB/s) | x1 | x4 | x8 | x16 (GB/s) | |-----|----------|------------------|---------------|----|----|----| | 1.0 | 8b/10b | 2.5 × 0.8 = 2.0 | 0.25 | 0.25 | 1.0 | 2.0 | 4.0 | | 2.0 | 8b/10b | 5.0 × 0.8 = 4.0 | 0.5 | 0.5 | 2.0 | 4.0 | 8.0 | | 3.0 | 128b/130b| 8.0 × 0.985 = 7.88| 0.985 | 0.985| 3.94| 7.88| 15.75 | | 4.0 | 128b/130b| 16.0 × 0.985 = 15.75| 1.969 | 1.969| 7.88| 15.75| 31.51 | | 5.0 | 128b/130b| 32.0 × 0.985 = 31.51| 3.938 | 3.938|15.75| 31.51| 63.02 |

All values are unidirectional (one-way) bandwidth.

Common Mistakes & Misconceptions

Recall Explain to a12-Year-Old

Imagine you're sending messages to your friend using paper airplanes. Each airplane is like a PCIe lane.

One lane (x1): You fold one airplane, write a message, and throw it. Your friend folds one back. You're both throwing at the same time (that's full-duplex). You can send maybe 1 message per second. 16 lanes (x16): Now you have 16 friends, each with their own airplane. All 16 throw at once, all 16 receive at once. You're sending 16× more messages per second—that's more bandwidth.

Encoding: Some of your message is the actual content (data), but you also write "Message #5" on top so your friend knows the order. That's overhead—not all the paper has useful content.

Generations: PCIe 1.0 is like throwing slowly (2.5 messages/second per airplane). PCIe 5.0 is like throwing really fast (32 messages/second per airplane). Each generation gets faster at throwing.

Why it matters: If you're playing a game, your graphics card (GPU) needs LOTS of messages from your computer's memory really fast—like textures for a dragon. More lanes and faster generations = smother dragon because the messages arrive in time.

Connections

  • PCIe Architecture Overview — Lanes are part of the layered PCIe protocol stack
  • PCIe Electrical Signaling — Differential pairs, how lanes transmit bits physically
  • NVMe Protocol — Uses PCIe lanes as its transport layer
  • 8b10b Encoding — Detailed look at Gen 1-2 encoding overhead
  • 128b130b Encoding — Why Gen 3+ is more efficient
  • Motherboard Lane Allocation — How CPU and chipset distribute lanes
  • GPU Bandwidth Requirements — Why GPUs need x16 lanes
  • PCIe Bifurcation — Splitting x16 into multiple smaller links

#flashcards/hardware

What is a PCIe lane? :: A full-duplex serial connection consisting of two differential pairs—one TX pair (device to host) and one RX pair (host to device). Data flows both directions simultaneously.

What is a PCIe link?
The physical connection of one or more lanes bundled together. Common widths are x1, x4, x8, and x16.
What encoding do PCIe Gen 1 and 2 use, and what is the efficiency?
8b/10b encoding with 80% efficiency (8 data bits per 10 transmitted bits).

What encoding do PCIe Gen 3, 4, and 5 use, and what is the efficiency? :: 128b/130b encoding with approximately 98.46% efficiency (128 data bits per 130 transmitted bits).

What is the formula for PCIe data rate per lane?
Data Rate (Gbps) = Raw Rate (GT/s) × Encoding Efficiency. Then divide by 8 to convert to GB/s.
What is the unidirectional bandwidth of PCIe 3.0 x16?
Approximately 15.75 GB/s (8.0 GT/s × 128/130 × 16 lanes÷ 8 bits/byte).
What is the unidirectional bandwidth of PCIe 4.0 x4?
Approximately 7.88 GB/s (16.0 GT/s × 128/130 × 4 lanes ÷ 8 bits/byte).
Why does a PCIe 4.0 device in a PCIe 3.0 slot run slower?
PCIe negotiates to the lowest common generation. The device will operate at PCIe 3.0 speeds (half the bandwidth of4.0) even though it's capable of more.
What does bifurcation mean in PCIe context?
Splitting a physical x16 slot into multiple independent links (e.g., x8/x8 or x4/x4/x4/x4) to connect multiple devices.
What is the difference between unidirectional and aggregate bandwidth?
Unidirectional is bandwidth in ONE direction (TX or RX). Aggregate is the sum of both directions. Since PCIe is full-duplex, aggregate = 2 × unidirectional.
What is the raw signaling rate (GT/s) for PCIe 5.0?
32.0 GT/s per lane.
Why did PCIe switch from 8b/10b to 128b/130b encoding at Gen 3?
To reduce encoding overhead from 20% to ~1.5%. At higher speeds, the wasted bandwidth of 8b/10b became too expensive, making the more complex128b/130b encoding worthwhile.

Concept Map

contains

contains

uses

uses

bundles

sized by

defines

selects

8b/10b or 128b/130b

multiplied by

scales

multiplies

PCIe Lane

TX pair Device to Host

RX pair Host to Device

Differential Signaling

PCIe Link

Link Widths x1 x4 x8 x16

PCIe Generation

Raw Bit Rate GT/s

Encoding Overhead

Efficiency Factor

Usable Bandwidth

Hinglish (regional understanding)

Intuition Hinglish mein samjho

PCIe lanes ko samajhna bahut zaroori hai agar ap computer hardware ke bare mein serious ho. Socho ki ek highway hai jismein multiple lanes hain—jitni zyada lanes, utna zyada traffic flow. PCIe mein bhi yahi concept hai.Ek lane matlab ek full-duplex connection jo simultaneously data send aur receive kar sakta hai, jaise do-taraf ka rasta. x1 matlab1 lane, x4 matlab 4 lanes parallel mein kaam kar rahe hain, aur x16 matlab 16 lanes—isliye high-end graphics cards ko x16 slots chahiye kyunki unhe bahut sara dataek sath transfer karna padta hai.

Bandwidth calculate karne ke liye samajhna padega ki har generation ki speed alag hoti hai. PCIe 1.0 se shuru hokar 5.0 tak, har generation double speed deti hai (mostly). Lekin sirf raw speed hi nahi—encoding overhead bhi matter karta hai. Purane Gen 1-2 mein 8b/10b encoding tha jismein 20% bandwidth waste ho jata tha overhead mein. Gen 3 se 128b/130b aa gaya jo sirf 1.5% waste karta hai, matlabzyada efficient. Formula simple hai: Raw speed × encoding efficiency ÷ 8 (bits to bytes) × number of lanes.Isse apko actual GB/s mil jata hai jo device use kar sakta hai.

Ek common galti yeh hai ki log sochte hain ki physically x16 slot hai to x16 bandwidth milega hi. Lekin reality mein motherboard aur CPU kitni lanes provide kar rahe hain, yeh zyada important hai. Bahut sare motherboards mein second aur third PCIe slots ko sirf x4 ya x8 lanes milte hain chipset se, chahe slot physically x16 ho. Isliye hamesha manual check karo aur tools jaise GPU-Z use karo to see negotiated link width. Agar aapka powerful GPU galat slot mein lag gaya (jahan sirf x4 lanes hain), to performance drastically drop ho jayegi—shayad 70-80% bandwidth loss, jo gaming aur rendering mein clearly dikhega.

Go deeper — visual, from zero

Test yourself — Interconnects, Buses & SoC

Connections