Headline bandwidth is width times rate. It is the datasheet number and no workload reaches it.
Protocol bandwidth subtracts overhead: address phases, headers, turnarounds and refresh. Workload bandwidth further subtracts access-pattern losses such as row conflicts and short bursts.
Bandwidth | Definition | Example |
|---|---|---|
Headline | Width × transfer rate | 128-bit AXI at 1 GHz is 16 GB/s |
Protocol | Headline minus overhead | Bursts and headers leave about 12.8 GB/s |
Workload | Protocol minus pattern loss | Stream mix delivers about 9.8 GB/s |
Delivered bandwidth factors into five stated terms. Each term is measured or assumed, never borrowed from a datasheet alone.
delivered = peak x burst_eff x (1 - AR_stall) x (1 - R_stall) x sched_eff
peak: 128 bit = 16 B; 16 B x 1.0 GHz = 16.0 GB/s
burst_eff: 0.80 -> 16.0 x 0.80 = 12.8 GB/s
AR_stall: 0.10 -> 12.8 x 0.90 = 11.52 GB/s
R_stall: 0.05 -> 11.52 x 0.95 = 10.944 GB/s
sched_eff: 0.90 -> 10.944 x 0.90 = 9.8496 ~ 9.8 GB/sThe DRAM side uses the same shape. Two DDR4-3200 channels give 2 × 8 B × 3200 MT/s, which is 51.2 GB/s headline, and 70 percent stream efficiency leaves about 36 GB/s.
Each fix helps only the term it targets. Widening the bus never fixes a scheduler stall.
Option | Helps when | Cost or limit |
|---|---|---|
Wider interface | Bursts are long and the bus is the bottleneck | Area and power of wider datapaths |
Deeper outstanding queues | Latency hides behind parallelism (see next lesson) | Buffer area and reorder complexity |
Smarter scheduling | Bank conflicts and turnarounds dominate | Starvation risk without fairness guards |
Prefetching | Accesses are predictable and timely | Wasted bytes and cache pollution |
16 GB/s headline times 0.80 is 12.8 GB/s. The stall and scheduler terms are 1.0 here by statement.
The bus was not the binding term. Some stall or scheduler term dominates, so profile the breakdown before spending more area.