Book

First Draft of a Report on the EDVAC

by John von Neumann

Summary

John von Neumann's "First Draft of a Report on the EDVAC" (1945) presents the central thesis that a stored-program computer can be logically organized into a unified system of five discrete functional units: a central arithmetic unit, a central control unit, memory, input, and output. The report specifies how instructions and data are stored together in memory, allowing the machine to modify its own program during execution—a foundational concept for modern computing. Von Neumann details the logical design of the EDVAC (Electronic Discrete Variable Automatic Computer), emphasizing the binary representation of numbers and the sequential execution of instructions. A reader takes away the blueprint for the "von Neumann architecture," which separates processing from storage and enables flexible, reprogrammable machines. The report is a technical specification, not a popular science book, and its ideas directly shaped the development of virtually all subsequent general-purpose computers.

Full text isn't indexed yet — this overview draws on general knowledge of the book and its metadata, and chat works the same way.

Key concepts

  • Stored-program conceptThe idea that both program instructions and data reside in the same memory unit, allowing the computer to treat instructions as data for modification.
  • Central arithmetic unitThe component responsible for performing arithmetic and logical operations on data, distinct from the control unit.
  • Central control unitThe component that interprets instructions from memory and coordinates the operations of the arithmetic unit, memory, and I/O.
  • Binary representationThe use of base-2 numbers (0 and 1) for all data and instructions, enabling reliable electronic storage and processing.
  • Sequential instruction executionThe default process where the control unit fetches and executes instructions one after another in the order they are stored in memory.
  • Input/output unitsSeparate components that handle data transfer between the computer and external devices, such as punched tape or printers.