Now that we understand latency/response time, let’s dive into another critical performance metric of bandwidth and Throughput of PCIe.

Bandwidth vs Throughput: Are They the Same?

No. They are NOT the same!

TermMeaning
BandwidthMaximum possible data transfer rate (theoretical limit)
ThroughputActual data transfer rate achieved (real-world)

Think of bandwidth as the width of a highway,
and throughput as how many cars actually pass per second.


Simple Analogy

Highway with 5 lanes → Bandwidth
Traffic flow (cars/sec) → Throughput
Accidents, traffic jams, toll booths → Overhead & Latency

Even with 5 lanes (high bandwidth), traffic may be slow (low throughput).


Why Throughput < Bandwidth?

Because of:
Protocol overhead (headers, checksums)
Handshaking (ACK, retransmissions)
Congestion or collisions
Idle or waiting time
Arbitration (taking turns on shared bus)


Example

Let’s say a protocol has 100 Mbps bandwidth, but each packet includes 20% overhead.

[ Header 20% ][ Data 80% ]

Bandwidth = 100 Mbps
Useful Data = 80 Mbps  → Throughput

So actual throughput ≈ 80 Mbps.


Formula:

Throughput = Bandwidth × Efficiency

Where efficiency depends on:
Data-to-overhead ratio
Error rate
Retransmissions
Protocol design


Throughput in Different Protocols

ProtocolBandwidthTypical Throughput
SPI50 Mbps45–48 Mbps (very efficient)
I2C400 kbps – 3.4 Mbps60–70% efficient
UART115 kbps – 1 Mbps70–90% efficient
USB 2.0480 Mbps~280–320 Mbps
PCIe Gen3 x18 Gbps~7.2 Gbps
Ethernet 1GbE1 Gbps~940 Mbps (TCP/IP)

PCIe & Ethernet are HIGHLY optimized for throughput.


ASCII Comparison (Smaller = Worse)

Protocol   |███████████████████           Bandwidth
Protocol   |█████████████                 Throughput

Example: USB 2.0 (480 Mbps BW)

Bandwidth:   |█████████████████████████|
Throughput:  |███████████████          |

Example: PCIe Gen3

Bandwidth:   |████████████████████████████████|
Throughput:  |██████████████████████████████  |

Key Insight:

High bandwidth does NOT guarantee high throughput.
Performance = how WELL the protocol uses the channel.


Techniques to Increase Throughput

1. Larger Packets (reduce overhead)

  • Ethernet: Jumbo Frames (9000 bytes)

2. Pipelining / Burst Transfer

  • AXI, PCIe, DDR: multiple data per request

3. DMA (Direct Memory Access)

  • CPU not involved → continuous data flow

4. Compression

  • Send smaller data → fits more in same bandwidth

5. Parallel Lanes / Multi-lane

  • PCIe x16 = 16 lanes → massive throughput
  • DDR bus = wide data path

Bandwidth Scaling Example: PCIe Lanes

Lane x1  → 8 Gbps
Lane x4  → 32 Gbps
Lane x8  → 64 Gbps
Lane x16 → 128 Gbps

More lanes = more throughput.


Real-World Scenario: File Transfer

Let’s transfer a 1 GB file.

ProtocolTime Taken
USB 2.0~4–5 sec
USB 3.0~1 sec
PCIe< 0.1 sec
WiFi~10–20 sec
Bluetooth~5–10 min 😂

Scroll to Top