Intuition The one core idea
A Von Neumann computer keeps the recipe (instructions) and the ingredients (data) in the same pantry (memory) , and reaches both through one narrow hallway (the bus) . That single shared hallway is what makes the whole design elegant and what causes the traffic jam we call the bottleneck.
This page builds every word, symbol, and picture the parent topic leans on — starting from "what is a number in a computer?" and ending at the formula IPS m a x = B / ( 1 + d ) . Nothing is assumed. Read top to bottom; each block earns the next.
A bit is the smallest possible piece of information: a single answer to a yes/no question. We write it as 0 or 1 .
The picture: a light switch — off (0 ) or on (1 ). Nothing in between.
A word is a fixed-size group of bits the machine handles as one lump — say 8, 32, or 64 bits at a time. Think of it as one whole switch-panel the computer reads or writes in a single go.
Intuition Why we need the word
Every quantity in this topic — an instruction, a piece of data, an address — is a word . When we later say "the bus carries one word per bus cycle ", the word is the unit of traffic. You can't count traffic without a unit, and the word is that unit.
Definition Memory and address
Memory is a long row of identical boxes, each holding exactly one word. Each box has a permanent number called its address .
The picture: a wall of post-office mailboxes. Box #0, box #1, box #2, … Each box holds contents (a word); the address is the label on the door.
Intuition Why the address matters
The CPU never says "give me the third-ish box near the middle." It says a number : "give me the word at address 42." An address is just a word used as a pointer to a box instead of as ordinary data. This double-use of numbers (a number can mean a value or a location) is the seed of the whole stored-program idea.
Common mistake "Address and contents are the same thing."
Why it feels right: both are numbers.
The fix: the address is the door label ; the contents are what's inside . Box #42 might contain the word 99 . Asking for "42" gets you the door; opening it gets you 99 .
Intuition The radical leap
Here is the idea Von Neumann is famous for. An instruction — like "add these two numbers" — can be written as a word , exactly like data. Once an instruction is just a number, it can live in the same numbered boxes as your data.
Definition Instruction vs data
Data = the numbers you compute with (a price, a pixel, a temperature).
Instruction = a number that tells the CPU what to do (an operation code plus which boxes to use).
In a Von Neumann machine both are words in the same memory. The box itself doesn't know which is which — only the CPU's intention decides.
This is the Stored Program Concept : programs are data . It is why you can download a new app (write new instruction-words to memory) instead of rewiring the machine.
The CPU (Central Processing Unit) is the part that does the thinking . It is far too small to hold all of memory, so it keeps a handful of ultra-fast one-word scratchpads called registers .
Definition The two registers this topic names
PC (Program Counter) — a register holding the address of the next instruction . It answers "where am I in the program?"
IR (Instruction Register) — a register holding the instruction currently being worked on , after it's copied in from memory.
The picture: the PC is a finger pointing at a line in a recipe book; the IR is the single recipe card you've pulled out and set on the counter to read right now.
You'll meet these again as CPU Registers . For now just hold: PC = "which box next", IR = "the instruction I'm holding".
A bus is a bundle of wires connecting the CPU to memory. Every word that moves between them travels on the bus. In the classic Von Neumann machine there is one shared bus, split by job into three:
Address bus — carries which box (the address the CPU wants).
Data bus — carries the word itself to or from that box.
Control bus — carries read or write? and timing signals.
Intuition Why "shared" is the whole story
The address, data, and control lines are three roles, but they form one path between CPU and memory. So at any instant the bus is busy with exactly one transfer. An instruction-fetch and a data-read both want this same path — they must take turns . One door, two crowds. (More in Buses (Address, Data, Control) .)
A bus cycle is the time for one word to cross the bus (one door-trip). We'll count traffic in bus cycles.
Now the letters the parent uses in its formulas. Each is defined before it's combined.
B — bus bandwidth
B = how many words the bus can carry per second . Units: words/second. Big B = wide fast hallway.
d — data accesses per instruction
d = the average number of data words one instruction needs (its operands to read, its result to write). If an "add" reads 2 numbers and stores 1, that's part of d . It's an average because different instructions need different amounts.
T — total memory transfers per instruction
Every instruction needs 1 trip to fetch the instruction itself, plus d trips for its data:
T = fetch 1 + data d (words per instruction)
The "+ 1 " is the instruction fetch itself — the trip that grabs the recipe card. Miss this and you undercount.
U — utilisation
U = the fraction of time the CPU does useful work instead of waiting:
U = t c + t m t c
The picture: useful slice of a pie divided by the whole pie. U = 1 means never waiting; U → 0 means always waiting — that falling number is the bottleneck.
Intuition Which tool, and why?
We want instructions per second but we're only told words per second (B ) and words per instruction (T ). The tool that converts "things per second ÷ things per instruction → instructions per second" is plain division — because rate ÷ (amount-per-item) = items-per-second. No calculus needed; it's units cancelling.
words/instruction words/second = second words × words instruction = second instructions
Worked example Tiny sanity check
If B = 2 × 1 0 9 words/s and d = 2 , then T = 3 and
IPS m a x = 3 2 × 1 0 9 ≈ 6.67 × 1 0 8 instructions/s .
Even a lightning CPU is capped here by the hallway, not by its own speed.
Word: fixed group of bits
Memory: numbered boxes of words
Instruction is just a number
CPU with PC and IR registers
Bus cycle: one word per trip
Formula IPS max = B over 1 plus d
Bottleneck: one door two crowds
Recall Can you answer each before peeking?
A bit is what, physically? ::: The smallest info: a single on/off (0 or 1), like one light switch.
A word is? ::: A fixed-size group of bits the machine handles as one unit.
Difference between an address and the contents of a box? ::: The address is the door label (a location); the contents are the word stored inside.
Why can an instruction live in the same memory as data? ::: Because an instruction is itself just a number (a word) — the stored-program concept.
What does the PC hold? ::: The address of the next instruction to fetch.
What does the IR hold? ::: The instruction currently being worked on, copied in from memory.
What is the bus, and why "shared"? ::: The bundle of wires between CPU and memory; shared means one path carries every transfer, so only one word moves at a time.
What is a bus cycle? ::: The time for one word to cross the bus — one hallway trip.
What does B mean and its units? ::: Bus bandwidth: words carried per second.
What does d mean? ::: Average number of data words one instruction needs.
Why is T = 1 + d and not just d ? ::: The + 1 is the instruction fetch itself; d is only its data.
What does U = t c / ( t c + t m ) measure? ::: The fraction of time the CPU does useful work instead of waiting for memory.
Why divide B by T to get IPS? ::: Units cancel: (words/sec) ÷ (words/instruction) = instructions/sec.
How is Harvard architecture different? ::: It gives separate memories and buses for instructions and data, so both can be accessed at once.