The stored program concept, developed by John von Neumann in the 1940s, states that both program instructions and data are stored together in the same memory (RAM) in binary form. The CPU fetches each instruction from memory, decodes it, and executes it sequentially. This is the foundation of virtually all modern computers.
The key insight of Von Neumann architecture is that because instructions are stored as binary data, the same memory can hold both a program and the data it operates on. This allows programs to be loaded and changed without altering the hardware — unlike earlier machines where programs were hardwired.
The Control Unit is the component that coordinates all CPU operations. It does not perform calculations itself, but instead:
The ALU performs all computational operations on data. At A Level, you need to know the ALU handles three types of operation:
Results of ALU operations are stored temporarily in the Accumulator register.
Registers are extremely fast, small storage locations inside the CPU. They hold values that are currently being processed. Accessing a register is far faster than accessing main memory (RAM), which is why registers are used for active data during processing.
| Register | Full Name | Purpose |
|---|---|---|
| PC | Program Counter | Holds the memory address of the next instruction to be fetched. Increments after each fetch. |
| MAR | Memory Address Register | Holds the address in memory that is being accessed (read from or written to). |
| MDR | Memory Data Register | Holds the data being transferred to or from the memory address held in the MAR. |
| CIR | Current Instruction Register | Holds the instruction currently being decoded and executed. |
| ACC | Accumulator | Holds the result of the most recent ALU operation. |
| SR | Status Register | Holds individual flag bits that record the outcome of the last operation (carry, zero, negative, overflow). |
| GPR | General Purpose Registers | Hold intermediate values and operands. Having multiple GPRs reduces memory accesses and increases speed. |
The status register contains individual bits called flags that record the outcome of the last arithmetic or logical operation:
The status register is used by conditional branch instructions — the CPU checks flags to decide whether to jump to a different part of the program.
Modern processors include multiple general purpose registers (e.g., R0–R15 in ARM). These hold operands and intermediate results during computation, avoiding the need to constantly read from and write to slower RAM. More general purpose registers generally mean fewer memory accesses and faster execution.
Buses are sets of parallel wires that transfer data between CPU components and main memory:
The width of the address bus determines the maximum addressable memory (2n locations for an n-bit bus). The width of the data bus determines how many bits are transferred per clock cycle.
8 OCR H446-style questions · 20 marks total · instantly marked with personalised feedback
Timed exam conditions. No feedback until you submit.
| Term | Definition |
|---|