Research and learning

1945–1947

The EDVAC First Draft (1945): Why Store Instructions in Memory?

Read the EDVAC draft’s memory and control argument, distinguish design from construction, and trace an original toy stored program with reference answers.

Original teaching figure: The EDVAC First Draft (1945): Why Store Instructions in Memory?. Original toy specification and trace, not actual EDVAC encoding or a historical performance measurement.
5
principal functions: arithmetic, control, memory, input, output
8-bit
invented teaching words
7 + 5 = 12
original execution trace

The short answer

Why was instruction storage part of the computer’s memory problem? Compare the 1945 typescript with later design records, then trace a small invented program to see how stored words become operations only when control interprets them.

Original comparison

Four sources of evidence answer different questions

A report, an author list and a program trace are useful for different purposes.

Original synthesis; the eight-bit toy format is newly specified and is not an EDVAC reconstruction.
CountryUseful forLimit
1945 typescriptReading the draft’s divisions and memory argument.Does not prove a completed machine or settle every priority claim.
1946–1947 reportsIdentifying later design, engineering and programming stages.A list alone is not inspection of all underlying reports.
Toy traceTesting stated instruction, data and sequencing rules.Does not measure historical performance or reproduce the EDVAC instruction set.

Chronology

A timeline of the turning points

  1. The First Draft

    Dated design document for a contemplated EDVAC system.

  2. Logical design at IAS

    The subsequent report credits Burks, Goldstine and von Neumann.

  3. Physical realisation report

    The report list separately identifies Bigelow, Pomerene, Slutz and Ware.

  4. Edited reset

    Godfrey’s introduction explains corrections and supplied references in the later edition.

Treat a first draft as a design document

The title page dates the report 30 June 1945 and places it under a contract between the Army Ordnance Department and the University of Pennsylvania. The Smithsonian copy is a scan of the historical typescript, with many blank verso pages. A separately available 1993 reset includes an editorial explanation of corrected typographical errors and supplied references. These editions should not be described as identical originals. The report contains unfinished references and discusses a contemplated device; its date does not establish that EDVAC was then operational. What it gives us is a structured argument about what an automatic electronic computer would need.

Sources for this section: [1] · [2] · [3]

Separate arithmetic from the control of arithmetic

Sections 2.2 and 2.3 distinguish the central arithmetical part, CA, from central control, CC. One carries out numerical operations; the other sequences the operations needed for a problem. The distinction helps explain why a capable adder is not by itself a general-purpose computer. Someone or something must select operands, choose the next action and arrange the movement of results. The draft also distinguishes the particular instructions defining one problem from the general operating machinery that follows them. Replacing a task should not require treating every piece of the control mechanism as a newly invented physical device.

Sources for this section: [1]

The memory argument includes instructions

Section 2.4 lists several demands on storage: partial results, instructions, tables, initial conditions and material used in successive approximations, among others. Section 2.5 considers treating memory as one organ, M, with parts as interchangeable as possible. The point is not simply that a computer remembers numbers. Instructions themselves can be substantial material that must be retained and accessed. The following discussion also identifies input and output, connecting the internal system to an external world. Those functions give the design a working organisation; they do not establish every detail of a later machine’s word format, memory technology or timing.

Sources for this section: [1]

Recover the development team from more than a title page

The draft bears von Neumann’s name, but the Moore School project involved engineers and researchers including Eckert, Mauchly and Goldstine. A report’s authorship is evidence about that document, not a complete settlement of priority for all concepts developed through discussion. The IAS library list identifies the later 28 June 1946 logical-design report as the work of Arthur Burks, Herman Goldstine and von Neumann. Physical progress reports name Bigelow, Pomerene, Slutz, Ware and others. These records show a sequence of mathematical description, engineering, coding and use, rather than one finished invention appearing on a single date. Bigelow had also coauthored the 1943 feedback paper with Rosenblueth and Wiener, a separate research collaboration. Feedback control and storing a program are related historical interests, but are not interchangeable definitions.

Sources for this section: [4] · [5] · [6]

Original exercise: declare a toy machine completely

Our invented teaching machine has thirty-two addressable eight-bit words. For instructions, the first three bits specify an operation and the last five an address. LOAD uses 001, ADD 010, STORE 011 and HALT 111; HALT ignores its address field. There is one eight-bit accumulator, initially zero, and the program counter starts at address zero. LOAD reads an unsigned number into the accumulator; ADD adds the value at the addressed word, without overflow in this example; STORE copies the accumulator to a memory word. Execution normally proceeds to the next instruction. These choices are ours: they are not the EDVAC draft’s actual instruction set, word length or architecture.

Sources for this section: [1]

Place instructions and data in a shared list

Set address 0 to 00100100, meaning LOAD 4; address 1 to 01000101, meaning ADD 5; address 2 to 01100110, meaning STORE 6; and address 3 to 11100000, meaning HALT. Addresses 4, 5 and 6 initially contain 00000111, 00000101 and 00000000: the unsigned numbers seven, five and zero. Trace the instruction fetches in order. The accumulator becomes seven, then twelve; STORE writes 00001100 at address 6; HALT stops execution at address 3. Instructions and data occupy the same kind of word, but their roles depend on how control uses them.

Sources for this section: [1]

Ask what changes when a word changes

First replace address 5 with 00001001 while leaving the program unchanged: what result will be stored? Next change only the first instruction to LOAD 5 while restoring the original data. Finally ask what would happen if control tried to fetch the original data word 00000111 as an instruction. Our toy specification deliberately assigns no operation to opcode 000, so the correct response is that this fetch has no defined behaviour here. It is not permission to invent a historical EDVAC response. The exercise exposes both the flexibility of stored representation and the need for a complete machine definition.

Sources for this section: [1]

Reference answer: a stored representation still needs interpretation

Changing the second operand to nine produces sixteen, or 00010000, at address 6. Changing the first instruction to LOAD 5 gives five plus five, or ten. Fetching 00000111 as an instruction encounters the undefined opcode 000. The same eight bits may therefore be a valid unsigned number but an invalid instruction under our rules. The original program contains no jump or self-modifying step, and it is not evidence that every stored-program machine has the same controls. What the trace demonstrates is narrower and useful: a program can be stored, selected and executed as encoded material, while arithmetic, sequencing and memory each perform distinct work.

Sources for this section: [1]

Follow the record from proposal toward implementation

A successful paper trace does not measure the speed or reliability of an electronic machine. The later IAS list records separate publications on logical design, programming and physical realisation. Questions about memory technology, checking and operating experience belong with those documents and the hardware record. The value of the 1945 draft is that its early divisions make these questions visible. Reading the report as a proposal, crediting the wider team and testing a clearly labelled toy model avoids both extremes: reducing the history to an inventor’s name or treating an unfinished document as if it offered nothing that could be examined precisely.

Sources for this section: [1] · [4] · [5]

Continue the chronology

Biography context

Explore United States through connected lives

Connected biographies

People behind the work

John von Neumann in the complete black-and-white portrait supplied by the Smithsonian National Air and Space Museum.
United StatesCulture

1903–1957

John von Neumann

Mathematician, scientific adviser and computing researcherJohn von Neumann worked across pure mathematics, quantum theory, economics and computation. His written designs and institutional advocacy helped develop early stored-program computers through collaboration with engineers, programmers and other researchers.Read biography

Quick answers

Common questions

Did von Neumann build EDVAC alone?
No. The report belonged to a larger development setting. This guide distinguishes its named author from the engineers and researchers documented in the wider project.
Are the binary words in this guide historical machine code?
No. They are an original eight-bit teaching specification with explicitly assigned operations and addresses.

Primary and institutional sources

How this history was checked

Read the linked original documents and institutional records alongside the separately identified teaching exercise. This article was reviewed on 27 October 2026.

  1. John von Neumann; Smithsonian Libraries / Internet ArchiveFirst draft of a report on the EDVAC, 30 June 1945: original Smithsonian copy
  2. Smithsonian LibrariesFirst draft of a report on the EDVAC: collection and edition record
  3. John von Neumann; Michael D. Godfrey; MIT course copyFirst draft of a report on the EDVAC: Godfrey’s corrected 1993 reset and editorial introduction
  4. Institute for Advanced Study Libraries and ArchivesElectronic Computer Project: dated list of reports, 1946–1957
  5. Institute for Advanced StudyElectronic Computer Project: people, construction and dissemination
  6. Arturo Rosenblueth, Norbert Wiener and Julian Bigelow; university-hosted original paperBehavior, Purpose and Teleology, Philosophy of Science 10 (1943), 18–24