Why do programs live in the same memory as the data they work on?
It could take three weeks to rewire ENIAC for a new problem. The fix was to stop rewiring it, and store the program as data instead.
▶ Start the storyEarly computers like ENIAC were not programmed so much as rebuilt: to change what it calculated, engineers moved switches and replugged cables by hand. It could take three weeks to set up and debug a single program. The fix was radical: stop treating the program as wiring, and store it in memory as data instead, the same memory holding the numbers it works on.
That idea is called the stored-program computer, and the architecture built around it carries the name of mathematician John von Neumann, who in 1945 circulated a report describing it. But the credit is lopsided. Eckert and Mauchly, who were building the EDVAC, had essentially finished designing a stored-program machine before discussing it with von Neumann at all; von Neumann's own colleague later said he 'might well be called the midwife,' not the inventor, of the idea.
The first machine to actually run a stored program was tiny and deliberately simple: the Manchester Baby, built in 1948 by Frederic Williams, Tom Kilburn, and Geoff Tootill. Its very first program, just 17 instructions long, ran for 52 minutes and performed about 3.5 million operations to find one number, at a speed of roughly 1,100 instructions per second, proving that storing a program in memory actually worked.

Storing instructions and data together had a cost, though. Because they share the same memory and the same path to the processor, the machine can't fetch an instruction and a piece of data at the same moment. This traffic jam became known as the von Neumann bottleneck, and it still shapes how every modern computer is designed.
Quiz me
0/3
Recap
Storing instructions and data in the same memory makes a computer reprogrammable by rewriting memory, but because instructions and data share one path to the processor, they can't both move at once: the von Neumann bottleneck.
Surprising fact · Although the architecture is named for John von Neumann, Eckert and Mauchly had essentially finished designing a stored-program computer before even discussing it with him.
Sources (2)
No source, no claim. Every fact in this lesson (14 claims) cites at least one of these.