🎯 Syllabus & Goals 3 min
Cambridge 3.1 · Computer architecture Paper 1 · Computer Systems
By the end of this lesson you can:
- State the role of the CPU and the key features of von Neumann architecture.
- Describe the purpose of the CU, ALU, system clock and the registers PC, MAR, MDR, CIR, ACC.
- Describe the address, data and control buses, and use the MAR and MDR to read from and write to memory.
Textbook: Chapter 3, §3.1.1–3.1.2 (pp. 75–79)
Recap / Warm-Up 5 min
Units 1 and 2 showed how data is stored in binary and moved between devices. Unit 3 opens the box. Today we meet the part that actually runs every program: the CPU.
Quick starter
An 8-bit memory address can be any value from 0000 0000 to 1111 1111. How many different addresses is that?
Reveal the answer
28 = 256 addresses (0 to 255). Keep this idea in mind: the number of bits in an address decides how many memory locations the CPU can reach.
🧠 Key Concept 14 min
1 · The central processing unit (CPU)
The CPU — also called the processor or microprocessor — processes all the instructions and data in a program. It is usually built as an integrated circuit on a single microchip. Laptops, tablets, phones, games consoles and smart TVs all have one.

2 · Von Neumann architecture — the stored-program computer
The earliest computers had no stored programs. People fed in data and set switches while the machine ran. In the mid-1940s, John von Neumann described the stored-program computer. Almost every computer since has followed his design. Its new features were:
- a central processing unit (CPU);
- the CPU can access the memory directly;
- memory stores programs as well as data;
- programs are made of instructions executed in sequence, one after another.

3 · The parts of the CPU
Arithmetic & Logic Unit (ALU)
- Carries out arithmetic (+, −, logical shifts) and logic (AND, OR) operations.
- Multiplication and division are done as repeated addition/subtraction and shifts.
- A computer may have more than one ALU.
Control Unit (CU)
- Reads each instruction from memory (its address is in the PC).
- Decodes it, then sends control signals along the control bus.
- Keeps data flow and instructions synchronised across the computer.
System clock
- Produces timing signals on the control bus.
- Every part works in step with these pulses.
- Without it, operations would collide and the computer would crash.
Memory (RAM / IAS)
- Holds the programs and data the CPU needs now.
- Also called the immediate access store (IAS).
- Data is copied in from backing store (HDD/SSD) because RAM is far faster.
4 · The special-purpose registers
A register is a tiny, very fast store inside the CPU. Learn each one by its job:
| Register | What it holds | Memory hook |
|---|---|---|
| PC — program counter | The address of the next instruction to be fetched. | "where next?" |
| MAR — memory address register | The address of the location currently being read from or written to. | A for Address |
| MDR — memory data register | The data just read from memory, or about to be written to it. | D for Data |
| CIR — current instruction register | The instruction currently being decoded and executed. | "doing now" |
| ACC — accumulator | Values held temporarily during ALU calculations. | the ALU's scratch pad |
5 · The system buses
A bus is a set of parallel wires. Each wire carries one bit at a time. Three buses connect the CPU to memory and to the input/output ports.
| Bus | Carries | Direction | Why its width matters |
|---|---|---|---|
| Address | Memory addresses | Unidirectional (CPU → memory) | n wires can address 2n locations. |
| Data | Data, instructions, numbers | Bidirectional | A wider bus moves a bigger word in one go. |
| Control | Signals from the CU (read, write, clock) | Bidirectional | Usually about 8 bits — it only carries signals. |
Worked Example 12 min
We use this small section of memory. Each address is 8 bits, and each location holds 8 bits.
| Address | Contents |
|---|---|
| 1010 0000 | 0011 0110 |
| 1010 0001 | 1100 1010 |
| 1010 0010 | 0101 0101 |
| 1010 0011 | 1111 0000 |
(a) READ the contents of address 1010 0001
- The address to read, 1010 0001, is written into the MAR.the MAR always holds the address being used — never the data.
- The address travels to memory on the address bus.addresses only ever flow out of the CPU, so this bus is one-way.
- The CU sends a read signal along the control bus.memory must be told whether to read or write.
- The contents of that location, 1100 1010, are copied into the MDR via the data bus.the MDR holds data that has just been read from memory.
Result: MAR = 1010 0001, MDR = 1100 1010 (denary 202). The memory itself is unchanged.
(b) WRITE the value 0110 1001 into address 1010 0011
- The data to store, 0110 1001, is placed in the MDR.the MDR also holds data that is about to be written.
- The target address, 1010 0011, is placed in the MAR.memory needs to know where the data goes.
- The CU sends a write signal on the control bus.this is what makes memory accept the data.
- The MDR's value travels on the data bus and replaces the old contents, 1111 0000.writing overwrites — the old value is lost.
Result: location 1010 0011 now holds 0110 1001 (denary 105).
(c) How much memory can an address bus reach?
- Each address wire carries one bit, so an n-bit bus gives 2ⁿ different addresses.each extra wire doubles the combinations.
- 8-bit bus: 28 = 256 locations.matches our 8-bit table above.
- 16-bit bus: 216 = 65 536 locations.8 more wires → 256 times as many.
- 32-bit bus: 232 = 4 294 967 296 locations.at one byte per location that is exactly 4 GiB.
Try It Yourself 12 min
Goal: Match each job to PC, MAR, MDR, CIR or ACC: (a) holds the instruction being decoded; (b) holds a running total; (c) holds the next instruction's address; (d) holds data just read.
Goal: Using the memory table above, write the MAR and MDR contents to (a) read address 1010 0010, then (b) write 0000 1111 into address 1010 0000.
Goal: A designer widens a CPU's address bus from 24 to 32 bits and its data bus from 32 to 64 bits. Explain the effect of each change separately.
Hint
Calculate 224 and 232 first. Then think: the address bus decides how many locations; the data bus decides how much moves in one transfer (word length).
📝 Exam Practice 10 min
State three features of von Neumann architecture.
Mark scheme
- Uses a central processing unit / CPU (1).
- The CPU can access memory directly (1).
- Memory stores both programs and data / stored-program concept (1).
- Instructions are executed in sequence (1). Max 3.
Describe the purpose of the program counter (PC), the memory address register (MAR), the current instruction register (CIR) and the accumulator (ACC).
Mark scheme
- PC: stores the address of the next instruction to be fetched (1).
- MAR: stores the address of the memory location being read from / written to (1).
- CIR: stores the instruction currently being decoded / executed (1).
- ACC: stores data temporarily during ALU calculations (1).
Explain why the address bus is unidirectional but the data bus is bidirectional, and how the width of each bus affects performance.
Mark scheme
- Addresses are only sent from the CPU to memory, so the address bus only needs one direction (1).
- Data must travel both to and from memory / I/O (read and write), so the data bus is two-way (1).
- A wider address bus can address more memory locations (2ⁿ) (1).
- A wider data bus carries a longer word in each transfer, so more data moves at once (1).
Describe how the value 0101 1100 is written into memory location 1111 0010.
Mark scheme
- The value 0101 1100 is placed in the MDR (1).
- The address 1111 0010 is placed in the MAR (1).
- A write signal is sent (from the CU) along the control bus (1).
- The contents of the MDR are stored in / overwrite the location whose address is in the MAR (1).
🗝️ Recap & Key Terms 3 min
Von Neumann's stored-program design keeps programs and data in the same memory. The CU directs, the ALU calculates, and the clock keeps everything in step. The MAR holds addresses and the MDR holds data. Only the address bus is one-way.
- Von Neumann architecture
- A computer design, from the 1940s, that introduced the stored-program concept: programs and data share one memory.
- Control unit (CU)
- Part of the CPU that synchronises data flow and instructions by sending control signals along the control bus.
- Arithmetic & logic unit (ALU)
- Part of the CPU that carries out all arithmetic and logical operations.
- System clock
- Produces timing signals on the control bus so that all operations stay synchronised.
- Register
- A small, fast store inside the CPU that holds data or instructions during processing.
- Address bus
- The unidirectional bus that carries memory addresses from the CPU.
- Data bus
- The bidirectional bus that carries data between the CPU, memory and input/output devices.
- Control bus
- The bidirectional bus that carries signals from the control unit to all other components.
Homework 1 min
Task (≤ 15 min): A games console has a 32-bit address bus and a 64-bit data bus. (a) Calculate how many memory locations it can address. (b) Describe how the MAR and MDR are used to read one value from memory. [5]
Model answer
- (a) 232 = 4 294 967 296 locations (1).
- (b) The address of the location is placed in the MAR (1).
- The address is sent along the address bus to memory (1).
- A read signal is sent on the control bus (1).
- The contents of the location are copied into the MDR (via the data bus) (1).