| | The **First Draft of a Report on the EDVAC** — universally called the **EDVAC report** — is a 101-page typescript written by **[[John von Neumann]]** and distributed on **30 June 1945**. In fewer than a hundred pages it described the architecture of a computer that would keep its *instructions in the same memory as its data* — the design almost every computer built since has followed. It is arguably the most influential document in the history of computing, and also one of the most contested. |
| | |
| | # What the report actually says |
| | |
| | The report describes **EDVAC** — the *Electronic Discrete Variable Automatic Computer*, the Moore School's planned successor to ENIAC. Its machine had: |
| | |
| - | - A **memory** of roughly 5.5 kilobits (mercury delay lines, 32 bits per word) holding numbers **and instructions together** — the stored program |
| + | - A **memory** of mercury delay lines — 32-bit words, with a design goal of 8,192 — holding numbers **and instructions together**: the stored program |
| | - A central **arithmetical organ** — the CA, today's ALU/CPU — that fetched instructions from memory and executed them in sequence |
| | - Control logic to interpret instructions, plus input, output, and secondary storage |
| | - A **stored-program fetch-execute cycle**: read instruction → decode → read operand → operate → next — the loop every processor still runs |
| | - **Conditional branching**: an instruction could redirect control based on a computed result — the mechanism that makes loops and decisions possible |
| | |
| | The draft also laid out an **instruction-set vision** — numbered operations, not just wiring — and treated the machine abstractly enough that it reads like a design for all computers, not one. It even included a neurological metaphor (organs, neurons) that helped and hindered the field in equal measure. |
| | |
| | # Why "stored program" is the idea |
| | |
| | Before the EDVAC report, a machine's sequence of operations was its *wiring* or its *card deck* — ENIAC's operators reprogrammed by hand-cabling panels for days. The EDVAC idea makes the program a **string of numbers in memory**: write it, store it, change it in software, run it. The machine can even modify its own program — which is what makes compilers, interpreters, and every layered software abstraction possible. The concept is so fundamental it no longer has a name in everyday talk; it is just "how computers work." |
| | |
| | # The controversy |
| | |
| | The report circulated under von Neumann's name alone — he was the one who wrote it up — but the ideas had been worked out jointly with **J. Presper Eckert**, **John Mauchly**, and the Moore School team. Eckert and Mauchly were furious; the uncredited publication cost them both the patent they wanted and, they felt, the credit. The Army judged the stored-program concept unpatentable because the report had already made it public. The resulting legal and personal rift shaped who got remembered: "von Neumann architecture" stuck as the name, though historians generally credit the design as a group product. |
| | |
| | # Legacy |
| | |
| | - The term **"von Neumann architecture"** descends from this document — though purists note its bottleneck (one bus, memory and code contending) is now called the *von Neumann bottleneck*. |
| | - Its descendants ran within three years: the **Manchester Baby** first executed a stored program in **1948**, and **EDSAC** ran the first full working stored-program computer in **1949**. EDVAC itself — the machine the report described — was not finished until 1951, overtaken by the very designs it inspired. |
| | - Every programming language, from [[FORTRAN]] to [[AdaLogic BASIC]], exists because instructions could finally live in memory and be treated as data. |
| | |
| | # See also |
| | |
| | - [[John von Neumann]] |
| | - [[Manchester Baby]] |
| | - [[EDSAC]] |
| | - [[The first programmers]] |
| | - [[History of Programming]] |
| | |
| | # References |
| | |
| | 1. von Neumann, John. "First Draft of a Report on the EDVAC" (Moore School, 1945). |
| | 2. Aspray, William. *John von Neumann and the Origins of Modern Computing* (MIT Press, 1990). |
| | 3. Goldstine, Herman H. *The Computer from Pascal to von Neumann* (Princeton UP, 1972). |
| | |
| | [[Category:History]] |
| | [[Category:Hardware]] |
| | |