Reorganizing the next machine
Near the end of the Second World War, the Moore School of Electrical Engineering at the University of Pennsylvania in Philadelphia was building the Electronic Numerical Integrator and Computer, or ENIAC, for the U.S. Army. As engineering work progressed, John Mauchly, J. Presper Eckert, and their colleagues had already begun discussing how a next-generation machine could reduce wiring, expand storage, and simplify control. John von Neumann joined these discussions, bringing requirements for high-speed numerical computation and logical analysis to the team.
The First Draft of a Report on the Electronic Discrete Variable Automatic Computer, or EDVAC, emerged from this process. Its cover bears the date June 30, 1945, and identifies the contract between the Army Ordnance Department and the university. This date marks a document, not an EDVAC already built according to the entire report and accepted following operational testing.
How five functions worked together
The draft first asks what functions a machine must possess and then considers their implementation. The central arithmetic unit performs operations such as addition and multiplication; the central control unit determines their sequence; the memory stores information that must be retained during computation; and the input and output units exchange information between the machine and the outside world. The report uses language resembling descriptions of a nervous system, but its objective is a computing device that can be realized with electronic components.
Memory must accommodate not only initial numbers but also intermediate results, function tables, and instructions governing the computation. Placing these uses within a unified storage system wherever possible avoids building an entirely separate apparatus for each type of information. The report thus distinguishes the responsibilities of storage, calculation, and control, while linking them through clearly defined transfers of information.
Making the sequence of operations readable information
A simplified example helps explain the change. If a machine must repeatedly read a set of numbers, add them, and store the running total, the sequence of operations can be encoded as instructions placed alongside numerical values in numbered locations. The control mechanism retrieves instructions from memory, directs the arithmetic mechanism to fetch numbers and calculate, and then returns the results to memory. Changing tasks can then depend mainly on changing the instructions, rather than rebuilding the control circuitry for every new problem.
The draft also has distinctly early features. It envisages modifying addresses within instructions to implement loops, change execution paths conditionally, or access data item by item, without directly providing the conditional branch instructions familiar in later machines. Subsequent designs gradually introduced dedicated instructions and indexing mechanisms to reduce the need to modify code in this way. The standard architecture in today's textbooks therefore did not result from reproducing the draft word for word.
A logical design still needed reliable materials
Representing instructions digitally did not automatically solve the storage problem. The draft discusses circulating delay storage in detail: information passes through a delay device as a sequence of pulses, is amplified again, and continues circulating. Reading it requires waiting for the desired portion to arrive. Serial operation could reduce some hardware requirements, but timing, capacity, and signal preservation all imposed practical constraints.
Binary arithmetic, circuit timing, storage capacity, and control codes are therefore interconnected throughout the report. It also compares other possible storage technologies rather than offering only an abstract block diagram. Turning these analyses into a computer capable of sustained, reliable operation still required building and testing components, solving input and output problems, writing programs, and repeatedly revising the design. The draft circulated before all these engineering problems had been resolved.
The lasting influence of an unfinished document
Herman Goldstine arranged for the draft to be typed, copied, and circulated among project members and selected outside colleagues. It enabled different institutions to discuss new machines on the basis of the same detailed account and closely associated von Neumann's name with this approach to design. The cover's attribution, however, identifies the author of the text; it cannot erase the earlier and concurrent work of Eckert, Mauchly, and the Moore School team.
In June 1946, Arthur Burks, Goldstine, and von Neumann published Preliminary Discussion of the Logical Design of an Electronic Computing Instrument at the Institute for Advanced Study in Princeton, extending and modifying the related designs. Subsequent machines and programming practices continued to change instruction and storage arrangements. The EDVAC draft's important contribution was to organize mutually supporting ideas into a proposal that could circulate, be questioned, and be developed further. It is neither proof that one person invented everything nor a finished modern computer already realized in 1945.