Overview
The von Neumann model is the classical stored-program model of a computer. Instructions and data are kept in memory, and the processor executes them in a mostly sequential fetch-decode-execute style.
In a von Neumann machine:
- the program counter selects the next instruction
- instructions are fetched from memory
- data is moved between memory and registers
- the control unit and datapath carry out each step of execution
Cycle
- Fetch: read the next instruction from memory using the program counter
- Decode: identify the operation and operand locations
- Evaluate address: compute the effective address if memory is needed
- Fetch operands: read the required register or memory values
- Execute: perform the ALU operation or branch decision
- Store result: write the result back to a register or memory
It is a useful contrast to the Dataflow Model, where execution is driven more directly by data dependencies instead of a mainly sequential instruction stream.
One well-known limitation is the von Neumann bottleneck: instructions and data compete for memory bandwidth, which can restrict performance.