6.2.1 · D1GPU Architecture

Foundations — GPU vs CPU design philosophy

2,167 words10 min readBack to topic

Before you can read GPU vs CPU design philosophy you must be able to read every mark on the page. This note takes each symbol, term, and picture the parent uses and builds it from nothing. Read top to bottom; each block only uses words defined above it.


1. A "task" and the two clocks that measure it

Everything starts with one word: a task. A task is one self-contained piece of work — colour one pixel, compare two numbers, add two floats.

There are two completely different ways to measure how good a machine is at tasks. Confusing them is the single biggest mistake in this topic, so we build both pictures first.

Figure — GPU vs CPU design philosophy

Why does the topic need two separate words? Because a design choice that helps one can hurt the other. If you didn't have two names, "the GPU is slower but faster" would sound like nonsense — with the two names it becomes "higher latency, higher throughput", which is exactly true.


2. Counting things: , , and the fraction bar

The parent note writes formulas full of letters. Each letter is just a count or a rate. Here is the whole alphabet you need.

Why does the topic need division here and not, say, subtraction? Because adding more workers splits the pile — a multiplicative/ratio effect — not a fixed discount. Division is the only operation that captures "share the pile evenly".


3. IPC and the clock — turning instructions into time

The CPU model reads . Two new symbols live here.

Figure — GPU vs CPU design philosophy

Why does the topic care about IPC at all? Because the parent's central claim is that a CPU spends most of its transistors just to push IPC higher on one thread. If you didn't know what IPC meant, "control logic exists to maximize IPC" would be an empty sentence.


4. Where the transistors go: die area budget

The parent gives "transistor budgets" for CPUs and GPUs. You need three ideas: transistor, die, and budget.

Figure — GPU vs CPU design philosophy

The parent's arithmetic is just: megabytes → bits → transistors. One byte = 8 bits, and an SRAM cache cell needs about 6 transistors per bit. So "how many transistors does 36.5 MB of cache cost?" = megabytes × 8 × 6. Nothing mysterious — it's unit conversion.


5. Dependence vs independence — why some work can't be split

The parent splits all workloads into two kinds. This distinction decides whether the GPU's "share the pile" trick even works.


6. Threads, warps, and hiding latency

The last cluster of symbols is how a GPU deals with slow memory without big caches.

Figure — GPU vs CPU design philosophy

Prerequisite map

counts N and rates

latency vs throughput

cycle clock and IPC

CPU time model

share the pile formula

GPU throughput model

transistor die budget

die area slicing

data dependency vs independence

thread warp SM occupancy

latency hiding no cache

branch divergence

GPU vs CPU design philosophy

Where these threads continue in the vault: the memory story deepens in 6.2.03-memory-hierarchy-GPU, the warp/SIMT idea in 6.3.01-SIMD-vs-SIMT, the programming side in 6.2.02-CUDA-programming-model and 9.2.01-parallel-programming-models, the limits of speedup in 9.1.02-Amdahls-law, and the ancestor of all this hardware in 6.1.01-von-Neumann-architecture.


Equipment checklist

Cover the right side; say your answer aloud before revealing.

What is latency, in one sentence?
The time from when a single task starts until that same task finishes.
What is throughput, and how does it differ from latency?
The number of tasks finished per unit time — a rate, whereas latency is a single duration.
Can a machine have high latency AND high throughput at once?
Yes — a conveyor belt: each item takes long (high latency) but one drops off every second (high throughput).
In , what does dividing by represent?
Sharing the pile of tasks evenly among parallel workers.
What does IPC stand for and mean?
Instructions Per Cycle — how many instructions the chip finishes in one clock tick.
Why is "instructions per second"?
(instructions per tick) × (ticks per second) = instructions per second.
What is a transistor budget , and why is it a trade-off?
The fixed number of transistors on the die; spending them on cache/control leaves fewer for compute.
Convert cache size to transistors: what is the recipe?
megabytes × 8 (bits per byte) × 6 (transistors per SRAM bit).
What is a data dependency?
When one task needs another task's result before it can start, forcing sequential order.
What does "embarrassingly parallel" mean?
Tasks with no dependencies at all, each runnable in isolation.
How big is a warp, and what does SIMT mean?
32 threads; Single Instruction Multiple Threads — all 32 run the same instruction together.
How does a GPU hide memory latency without big caches?
It switches to another ready warp while one warp waits, keeping cores busy.
What is branch divergence?
When threads in a warp take different if paths, forcing the GPU to run each path serially.