Every problem this topic throws at you is one of these cells. The worked examples below are labelled with the cell they cover.
| # |
Case class |
What makes it tricky |
Covered by |
| A |
Name → bandwidth (forward) |
remembering "the number is MT/s" |
Ex 1 |
| B |
Bandwidth → name (reverse) |
dividing back out, matching the "PCx-" label |
Ex 2 |
| C |
Recover the core clock |
two divisions (edges, then prefetch multiplier m) |
Ex 3 |
| D |
Degenerate: SDR (prefetch 1n, one edge) |
the formula with all multipliers = 1 |
Ex 4 |
| E |
Cross-generation, equal MT/s |
equal peak, different effective BW |
Ex 5 |
| F |
Multi-channel / real-world word problem |
channels multiply, don't change per-channel maths |
Ex 6 |
| G |
Unit trap / exam twist (MHz vs MT/s mislabel) |
spotting the wrong unit before computing |
Ex 7 |
| H |
Limiting case: "why not 32n prefetch?" |
minimum burst grows, useful BW falls |
Ex 8 |
Recall Cover the answers
- DDR4-3200, 64-bit → GB/s? → 3200×8/1000=25.6 GB/s.
- 21.3 GB/s, 64-bit → which grade? → 21300/8≈2666 → DDR4-2666.
- Core clock of DDR4-3200? → 3200/2/4=400 MHz (÷2 edges, ÷m=4).
- Two DDR5-6400 channels total BW? → 2×6400×8=102.4 GB/s.
- "800 MHz DDR3" true data rate? → 2×800=1600 MT/s (DDR3-1600).
- 32n prefetch min burst on 64-bit bus? → 256 bytes; only 25% useful vs a 64-byte line.
DDR4-3200 on a 64-bit channel, peak bandwidth?
3200 × 8 = 25.6 GB/s (PC4-25600).
Core clock of DDR4-3200?
3200 ÷ 2 (edges) ÷ 4 (prefetch multiplier m) = 400 MHz.
Why not use 32n prefetch?
Minimum burst becomes 256 bytes vs a 64-byte cache line — only 25% useful, so DDR4/5 use bank groups and subchannels instead.