All subjects · Computer Science · WCP01 Principles of Computer Science
The stored-program concept and von Neumann architecture
Edexcel IAL Computer Science · WCP01 Principles of Computer Science
Almost every computer you have used follows one idea: the program and the data it works on sit together in the same memory. This lesson covers spec points 1.1.1 and 1.1.2.
The stored-program concept
The stored-program concept says that program instructions are stored in main memory, in binary, alongside the data they use. The processor fetches instructions from memory one at a time and executes them in sequence (unless an instruction changes the order, such as a jump).
- Before this idea, early machines were 'programmed' by rewiring or setting switches.
- Because a program is just data in memory, a different program can be run by loading it into memory. The machine is general purpose.
von Neumann architecture
von Neumann architecture is a computer design based on the stored-program concept. Its characteristics:
- A single main memory holds both instructions and data, and the two look the same (binary).
- A single set of buses (address, data, control) connects the processor to memory, so instructions and data travel along the same route.
- A processor (CPU) containing a control unit, an arithmetic logic unit and registers.
- Instructions are fetched and executed one at a time, in sequence, using the fetch-decode-execute cycle.
Benefits and drawbacks
Benefits:
- Simpler design: one memory and one bus system, so cheaper to build.
- Flexible: memory can be shared between program and data in any proportion.
- General purpose: new software is loaded, not wired in.
Drawbacks:
- The von Neumann bottleneck: an instruction and data cannot be fetched at the same time along the shared bus, so the CPU often waits for memory.
- Because instructions and data share memory, a faulty program (or malicious code) can overwrite instructions as if they were data.
Modern CPUs reduce the bottleneck with cache memory, including separate caches for instructions and data close to the processor.
Worked example
Explain why the von Neumann bottleneck limits performance.
- Instructions and data are held in the same memory.
- They travel to the CPU along the same shared bus, so only one transfer happens at a time.
- A fast CPU must wait while each instruction, then its data, is fetched.
Answer: The shared bus means the CPU cannot fetch an instruction and data together, so processing speed is limited by memory transfer speed, not by the CPU.
Check yourself
- Which statement best describes the stored-program concept?
- Programs are permanently wired into the processor
- Instructions are kept on secondary storage and executed directly from there
- Instructions and data are stored together in main memory and instructions are fetched and executed in sequence
- Each program has its own separate processor
Show answer
Instructions and data are stored together in main memory and instructions are fetched and executed in sequence. The defining idea is that the program itself sits in memory with its data, so it can be replaced by loading another program.
- What is a characteristic of von Neumann architecture?
- Instructions and data share one memory and one set of buses
- Instructions and data use separate memories with separate buses
- There is no control unit
- Data is processed in parallel by thousands of cores
Show answer
Instructions and data share one memory and one set of buses. Shared memory and buses define von Neumann architecture. Separate memories describe a different (Harvard) design.
- Describe the von Neumann bottleneck.
Show answer
Because instructions and data share the same bus and memory, only one can be transferred at a time, so the CPU waits for memory and performance is limited.. Mention the shared bus, that only one transfer happens at once, and the effect (CPU waiting).
- Which is a benefit of storing instructions and data in the same memory?
- Instructions and data can always be fetched at the same time
- Memory can be allocated flexibly between programs and data
- Programs cannot be overwritten by data
- It removes the need for a bus
Show answer
Memory can be allocated flexibly between programs and data. Shared memory can be divided in any proportion, which is flexible and cheaper.
- Why can a faulty program corrupt itself on a von Neumann machine?
- The control unit cannot read binary
- Registers are erased after each instruction
- ROM is used for all data
- Instructions are stored as binary in the same memory as data, so they can be overwritten like data
Show answer
Instructions are stored as binary in the same memory as data, so they can be overwritten like data. The memory cannot tell instructions and data apart; a wrong write can replace an instruction.
- Explain why the stored-program concept makes a computer general purpose.
Show answer
A new task needs only a new program loaded into memory, not new hardware or rewiring, so the same machine can run many different programs.. The key point is that software, not wiring, decides what the machine does.
Sources
Last updated 8 November 2026. Spotted a mistake? Tell us.