The one idea that separates every computer you have ever used from the room-sized machine that had to be physically rewired, by hand, every time someone wanted it to solve a different problem.
Chapter 1 is free. To continue through Chapters 2–9, sign in or create an account and unlock Technology Foundation for $24.99.
Learn
A computer that had to be rewired to change its mind
ENIAC, built between 1943 and 1945 at the University of Pennsylvania to calculate wartime artillery trajectory tables, was the first large-scale computer capable of running at electronic speed, with no mechanical parts slowing it down. By the standards of anything that came before it, it was extraordinary. By the standard this chapter is about to introduce, it was still missing something fundamental.
ENIAC had no way to store a program in memory. To make it solve a different problem, technicians physically reconfigured it, connecting patch cables between components and setting hundreds of switches by hand, one specific physical layout per computation. The Computer History Museum’s own account of the machine is direct about the cost of this: "Designing the correct configuration for each new problem, and then connecting the wires and setting the switches, took many days."
Read that sentence carefully, because it is the whole chapter in one line. Changing what ENIAC computed was not a software decision made in minutes, it was a physical rewiring project measured in days, performed by people who had to think through the entire computation as a literal wiring diagram before touching a single cable.
Computer History Museum, ENIAC, https://www.computerhistory.org/revolution/birth-of-the-computer/4/78.
Explore
The idea that made rewiring unnecessary, forever
The fix that made ENIAC-style reprogramming obsolete is called the stored-program concept: instead of representing a program as a physical arrangement of wires, represent it as data (the same kind of binary data the machine already stores and manipulates) and keep that data in the computer’s own memory, right alongside whatever numbers or text the program is meant to work on.
Once instructions are just data in memory, "changing the program" stops being a hardware task and becomes a data-loading task: load different binary values into memory, and the computer runs a different program, in the time it takes to read that memory rather than the time it takes to rewire a room full of equipment. This single idea is why a modern computer can run a word processor in the morning and a video game in the afternoon without anyone touching its internal wiring at all.
It is worth sitting with how strange this idea actually is, because familiarity has worn the strangeness off. A program that is stored as data can, in principle, be examined, copied, modified (even modify itself) using exactly the same operations the computer already uses to examine, copy and modify any other data. Instructions and data are not two different kinds of thing to a stored-program computer; they are the same kind of thing, distinguished only by how the processor currently happens to be interpreting them.
Quick check
Learn
One cycle, running continuously, is basically what a computer is
The architecture built around the stored-program concept (now called the von Neumann architecture, after mathematician John von Neumann, who described it in an influential 1945 report) organises a computer into a small number of cooperating parts: a central processing unit containing a control unit and an arithmetic logic unit, a memory shared between instructions and data, and input/output mechanisms connecting the machine to the outside world.
What those parts actually do, over and over, is called the fetch-decode-execute cycle. Fetch: the control unit reads the next instruction from memory, at the address held in a register called the program counter. Decode: the control unit interprets that instruction’s binary pattern to determine which operation it specifies. Execute: the arithmetic logic unit performs that operation, and the result is stored back to memory or sent to output.
Then the cycle repeats, continuously, for as long as the computer runs, which is a genuinely complete description of what is happening, at the lowest level, inside literally every general-purpose computer built on this architecture, from a 1950s mainframe to the device this course is being read on. Everything more complicated a computer does is this cycle, running an enormous number of times, on instructions and data that were themselves produced by earlier runs of the same cycle.
Von Neumann architecture and the fetch-decode-execute cycle, https://diveintosystems.org/book/C5-Arch/von.html.
The fetch-decode-execute cycle
- Fetch
- Control unit reads the next instruction from memory
- Decode
- Control unit interprets which operation the instruction specifies
- Execute
- Arithmetic logic unit performs the operation
- Store / Output
- Result is written to memory or sent to output
This cycle repeats continuously, the entire operation of a von Neumann-architecture computer, described at its lowest level.
https://diveintosystems.org/book/C5-Arch/von.html.
Quick check
Real world
Why everything reduces to two digits
Binary (a number system using only 0 and 1) is not an arbitrary choice made for convenience. It maps directly onto the two stable electrical states a digital circuit can reliably distinguish: a voltage that reads as "on" or "off," "high" or "low." A computer built to reliably distinguish ten different voltage levels for a decimal system would be far more sensitive to electrical noise than one built to distinguish just two, which is the practical, physical reason binary won out as the representation nearly every digital computer actually uses internally.
Because both instructions and data are ultimately stored as binary patterns in the same memory, the stored-program concept this chapter opened with becomes concrete: a sequence of 0s and 1s in memory might represent the number 12, the letter "A," or an instruction telling the processor to add two registers together, and which interpretation applies depends entirely on how the currently running program treats that particular memory location, not on anything intrinsic to the bits themselves.
Explain it
Read by ATLAS
A classmate says: "ENIAC and a modern laptop are basically the same kind of machine, just faster." Using this chapter’s material, explain what is wrong with that comparison.
Write it the way you would explain it to someone in the year below you. There is no score and no limit on attempts.
Mission scenario
Tracing what a simple program actually does, cycle by cycle
You are mentoring a new engineering intern who has just learned to write code but has never thought about what happens underneath it. They ask you to explain, concretely, what "the computer is doing" while a simple program runs.
You decide to walk them through a short sequence of instructions using the fetch-decode-execute cycle directly, rather than describing it only in the abstract.
Decisions stand. You will not be able to change one once it is made, fly the mission again if you want to try a different route.
Decision 01
The intern asks whether the computer somehow "understands" the program all at once, the way a person reading code does.
How do you answer, using this chapter’s material?
Chapter complete
What you now understand
- You can explain the stored-program concept and why representing instructions as data in memory eliminated the need for ENIAC-style physical rewiring.
- You can describe the von Neumann architecture’s components and walk through the fetch-decode-execute cycle step by step.
- You can explain why binary representation maps naturally onto a digital circuit’s two stable electrical states.
- You can describe why ENIAC required days of physical reconfiguration to run a different program, using the Computer History Museum’s own account.
- You can trace a simple instruction sequence through the fetch-decode-execute cycle and explain why a computer has no "holistic" understanding of a program at any single moment.
Continue beyond the horizon
You've completed the free first chapter. Unlock the rest of Technology Foundation for $24.99.
Payment is handled by Shopify on the Mach 9 store, so no card details reach this site.