6.5.4 · D2Advanced & Emerging Architectures

Visual walkthrough — High Bandwidth Memory (HBM - HBM2 - HBM3)

1,910 words9 min readBack to topic

This page slowly derives the parent result HBM uses: Let's build it one picture at a time.


Step 1 — What is a single wire actually doing?

WHAT we are doing: looking at the tiniest possible unit — one wire, one moment in time.

WHY: bandwidth is a big number built from many small events. If we don't understand the smallest event (one wire flipping high/low), the big number is just magic. We refuse magic.

PICTURE: look at the single wire below. Follow the red trace: it steps high, low, high, low as time moves right. Each coloured block is one bit. The wire is like a light switch being flicked.

Figure — High Bandwidth Memory (HBM - HBM2 - HBM3)

Step 2 — How fast can one wire flip? (this is )

WHAT: we count how many bit-blocks from Step 1 fit into one second.

WHY this symbol: we need a name for "wire speed" so we can compare memories. Calling it (for frequency of transfers) lets us write formulas instead of paragraphs.

PICTURE: the timeline below packs bits into exactly one second. Slow wire on top (few, wide bits), fast wire on bottom (many, narrow bits). Same second, more bits ⇒ bigger .

Figure — High Bandwidth Memory (HBM - HBM2 - HBM3)

Step 3 — One wire is too slow. Add more wires (this is ).

WHAT: we lay several Step-1 wires next to each other and read them all in one instant.

WHY and not just a faster wire? Pushing higher costs a lot of power and makes the signal noisy (we'll see why in Step 6). Adding wires is a cheap, calm way to move more bits — as long as you have room for the wires. HBM's whole trick is: make enormous.

PICTURE: 8 wires stacked vertically. Read the highlighted column — in one instant you collect 8 bits at once. That's 8× the data of a single wire for the same .

Figure — High Bandwidth Memory (HBM - HBM2 - HBM3)

Step 4 — Multiply: total bits per second

WHAT: we glue Step 2 () and Step 3 () together.

WHY multiply and not add ? Adding would be nonsense — the units don't even match ( is a plain count, is bits/s). " wires, each doing bits/s" is groups of , and "groups of" is multiplication. Always let the units guide you: (wires) × (bits/s per wire) = bits/s. ✓

PICTURE: a grid — rows (wires) tall, and bits wide (one second). The area of the grid = total bits in that second. Area = height × width = .

Figure — High Bandwidth Memory (HBM - HBM2 - HBM3)

Step 5 — Why divide by 8? (bits → bytes)

WHAT: we convert our bits per second into bytes per second.

WHY: nobody sells "gigabits per second" of memory bandwidth — the spec sheets, the GPU boxes, the benchmarks all say GB/s (gigabytes). To speak the same language we regroup 8 bits into 1 byte, which means dividing the bit-count by 8.

PICTURE: take the bit-stream and draw brackets around every group of 8. Count the brackets — that's your byte count. Fewer brackets than bits, exactly 8× fewer.

Figure — High Bandwidth Memory (HBM - HBM2 - HBM3)

Step 6 — Plug in HBM2 and read the headline number

WHAT: use the real HBM2 numbers — wires per stack, per wire.

WHY these values? A stack is split into 8 channels of 128 bits each; wires. And each wire runs at the modest 2 Gbps we met in Step 2. We're not clocking fast — we're going wide.

PICTURE: a bar chart contrasting the two philosophies. GDDR = tall-and-thin (huge , few wires). HBM = short-and-fat (small , huge ). Their areas (= bandwidth) are comparable, but HBM's short bars mean far less heat and lower energy per bit.

Figure — High Bandwidth Memory (HBM - HBM2 - HBM3)

Step 7 — Scale up and the edge cases

WHAT: put several stacks on one processor, and check the weird inputs so nothing surprises you.

WHY check edge cases? A formula you only trust for "nice" numbers is a trap. Let's push it.

  • Several stacks (the real GPU case). With stacks working in parallel on their own channels, total . HBM2 4-stack: . Why multiply by ? Independent channels don't share wires — they're 4 separate grids from Step 4, added.
  • (a single wire). BW . At Gbps that's 250 MB/s — you're back to one garden tap. The formula degrades gracefully.
  • (idle bus). BW . No flips ⇒ no bits ⇒ no bytes. Sensible: a still wire moves nothing.
  • Same BW target, two designs. To hit 256 GB/s you could use (HBM) or (GDDR-ish). Same product , wildly different power because only (and ) blows up the term. This is the HBM insight in one line.

PICTURE: four side-by-side grids (four stacks), each one the Step-4 area, summing to the total-BW bar on the right.

Figure — High Bandwidth Memory (HBM - HBM2 - HBM3)

The one-picture summary

The whole journey on one canvas: one wire → speed → many wires → multiply → regroup by 8 → plug in HBM2 → 256 GB/s.

Figure — High Bandwidth Memory (HBM - HBM2 - HBM3)
Recall Feynman: tell it back in plain words

Picture one wire between the memory and the chip. It's a light switch that flicks on/off, and each flick is one bit. Count the flicks in a second — that's the wire's speed, . One wire is too slow, so we run 1024 wires side by side; in one instant we grab 1024 bits at once. Total bits per second = wires × speed = . But the world counts in bytes (bundles of 8 bits), so we divide by 8. For HBM2 that's billion bytes per second — 256 GB/s per stack. Stack four of them next to the chip on a little glass tray and you're near a terabyte a second. And because every wire is short and slow, the whole thing barely gets warm. Wide, short, and stacked.


Connections

  • High Bandwidth Memory (HBM - HBM2 - HBM3) — the parent this walkthrough derives.
  • GDDR Memory and DDR vs GDDR vs HBM — the tall-and-thin rival design.
  • Memory Wall — why any of this bandwidth chasing matters.
  • Through-Silicon Vias (TSV), 2.5D and 3D Integration, Silicon Interposer — how the 1024 wires physically exist.
  • Energy per Bit / pJ per bit — the payoff of "wide + slow".
  • GPU Architecture — the customer starved for these bytes.