the von Neumann architecture
/ fon NOY-mahn /
Picture a small workshop with one worker. There is a boss who reads instructions and gives orders (the control unit), a workbench with tools where the actual work happens (the datapath), a single big shelf holding both the instruction sheets and the parts (the memory), and a door for deliveries and shipping (input/output). Everything talks over shared hallways (buses). This simple, hugely influential blueprint for a computer is the von Neumann architecture, named after the mathematician John von Neumann who described it in 1945.
Its defining feature is one shared memory for both instructions and data, reached over a common path. The processor splits into a control unit, which fetches and decodes instructions and steers everything, and a datapath, which holds registers and the arithmetic-logic unit that does the actual computing. Memory holds the stored program and its data, input/output connects to the outside world, and buses are the wires tying it all together. The machine simply repeats: fetch an instruction from memory, decode it, execute it, repeat.
Almost every general-purpose computer you have ever used follows this model. Its one famous weakness is the von Neumann bottleneck: because instructions and data share a single path to memory, every instruction and every datum must pass through the same doorway, and the processor can starve waiting on it. Much of modern architecture — caches, wider memory paths, the whole memory hierarchy — is a response to that single shared doorway.
On a von Neumann machine, fetching the next instruction and loading a data value both travel the same memory path. If they compete, one waits — that contention is the bottleneck the design is famous for.
One shared doorway to memory: simple, universal, and the source of the bottleneck.
The model is named for von Neumann but built on the work of many (Eckert, Mauchly, and others); the report bore his name, which is why the credit, fairly or not, stuck.