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!
| Term | Meaning |
|---|---|
| Bandwidth | Maximum possible data transfer rate (theoretical limit) |
| Throughput | Actual 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
| Protocol | Bandwidth | Typical Throughput |
|---|---|---|
| SPI | 50 Mbps | 45–48 Mbps (very efficient) |
| I2C | 400 kbps – 3.4 Mbps | 60–70% efficient |
| UART | 115 kbps – 1 Mbps | 70–90% efficient |
| USB 2.0 | 480 Mbps | ~280–320 Mbps |
| PCIe Gen3 x1 | 8 Gbps | ~7.2 Gbps |
| Ethernet 1GbE | 1 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.
| Protocol | Time Taken |
|---|---|
| USB 2.0 | ~4–5 sec |
| USB 3.0 | ~1 sec |
| PCIe | < 0.1 sec |
| WiFi | ~10–20 sec |
| Bluetooth | ~5–10 min 😂 |

