HOME

TheInfoList



OR:

The ''First Draft of a Report on the EDVAC'' (commonly shortened to ''First Draft'') is an incomplete 101-page document written by
John von Neumann John von Neumann (; hu, Neumann János Lajos, ; December 28, 1903 – February 8, 1957) was a Hungarian-American mathematician, physicist, computer scientist, engineer and polymath. He was regarded as having perhaps the widest c ...
and distributed on June 30, 1945 by
Herman Goldstine Herman Heine Goldstine (September 13, 1913 – June 16, 2004) was a mathematician and computer scientist, who worked as the director of the IAS machine at Princeton University's Institute for Advanced Study and helped to develop ENIAC, th ...
, security officer on the classified
ENIAC ENIAC (; Electronic Numerical Integrator and Computer) was the first programmable, electronic, general-purpose digital computer, completed in 1945. There were other computers that had these features, but the ENIAC had all of them in one pac ...
project. It contains the first published description of the logical design of a computer using the stored-program concept, which has controversially come to be known as the
von Neumann architecture The von Neumann architecture — also known as the von Neumann model or Princeton architecture — is a computer architecture based on a 1945 description by John von Neumann, and by others, in the '' First Draft of a Report on the EDVAC''. T ...
.


History

Von Neumann wrote the report by hand while commuting by train to
Los Alamos, New Mexico Los Alamos is an census-designated place in Los Alamos County, New Mexico, United States, that is recognized as the development and creation place of the atomic bomb—the primary objective of the Manhattan Project by Los Alamos National Labo ...
and mailed the handwritten notes back to
Philadelphia Philadelphia, often called Philly, is the largest city in the Commonwealth of Pennsylvania, the sixth-largest city in the U.S., the second-largest city in both the Northeast megalopolis and Mid-Atlantic regions after New York City. Since ...
. Goldstine had the report typed and duplicated. While the date on the typed report is June 30, 24 copies of the ''First Draft'' were distributed to persons closely connected with the EDVAC project five days earlier on June 25. Interest in the report caused it to be sent all over the world;
Maurice Wilkes Sir Maurice Vincent Wilkes (26 June 1913 – 29 November 2010) was a British computer scientist who designed and helped build the Electronic Delay Storage Automatic Calculator (EDSAC), one of the earliest stored program computers, and who i ...
of
Cambridge University , mottoeng = Literal: From here, light and sacred draughts. Non literal: From this place, we gain enlightenment and precious knowledge. , established = , other_name = The Chancellor, Masters and Schola ...
cited his excitement over the report's content as the impetus for his decision to travel to the
United States The United States of America (U.S.A. or USA), commonly known as the United States (U.S. or US) or America, is a country Continental United States, primarily located in North America. It consists of 50 U.S. state, states, a Washington, D.C., ...
for the
Moore School Lectures ''Theory and Techniques for Design of Electronic Digital Computers'' (popularly called the "Moore School Lectures") was a course in the construction of electronic digital computers held at the University of Pennsylvania's Moore School of Electrical ...
in Summer 1946.


Synopsis

Von Neumann describes a detailed design of a "very high speed automatic digital computing system." He divides it into six major subdivisions: a central arithmetic part, CA, a central control part, CC, memory, M, input, I, output, O, and (slow) external memory, R, such as
punched card A punched card (also punch card or punched-card) is a piece of stiff paper that holds digital data represented by the presence or absence of holes in predefined positions. Punched cards were once common in data processing applications or to di ...
s, Teletype tape, or magnetic wire or steel tape. The CA will perform addition, subtraction, multiplication, division and square root. Other mathematical operations, such as logarithms and trigonometric functions are to be done with table look up and
interpolation In the mathematical field of numerical analysis, interpolation is a type of estimation, a method of constructing (finding) new data points based on the range of a discrete set of known data points. In engineering and science, one often has ...
, possibly biquadratic. He notes that multiplication and division could be done with logarithm tables, but to keep the tables small enough, interpolation would be needed and this in turn requires multiplication, though perhaps with less precision. Numbers are to be represented in binary notation. He estimates 27 binary digits (he did not use the term " bit," which was coined by
Claude Shannon Claude Elwood Shannon (April 30, 1916 – February 24, 2001) was an American mathematician, electrical engineer, and cryptographer known as a "father of information theory". As a 21-year-old master's degree student at the Massachusetts I ...
in 1948) would be sufficient (yielding 8 decimal place accuracy) but rounds up to 30-bit numbers with a sign bit and a bit to distinguish numbers from orders, resulting in a 32-bit word he calls a ''minor cycle.'' Two’s complement arithmetic is to be used, simplifying subtraction. For multiplication and division, he proposes placing the binary point after the sign bit, which means all numbers are treated as being between −1 and +1 and therefore computation problems must be scaled accordingly.


Circuit design

Vacuum tube A vacuum tube, electron tube, valve (British usage), or tube (North America), is a device that controls electric current flow in a high vacuum between electrodes to which an electric potential difference has been applied. The type known as ...
s are to be used rather than
relay A relay Electromechanical relay schematic showing a control coil, four pairs of normally open and one pair of normally closed contacts An automotive-style miniature relay with the dust cover taken off A relay is an electrically operated switch ...
s due to tubes’ ability operate in one microsecond vs. 10 milliseconds for relays. Von Neumann suggests (Sec. 5.6) keeping the computer as simple as possible, avoiding any attempt at improving performance by overlapping operations. Arithmetic operations are to be performed one binary digit at a time. He estimates addition of two binary digits as taking one microsecond and that therefore a 30-bit multiplication should take about 302 microseconds or about one millisecond, much faster than any computing device available at the time. Von Neumann's design is built up using what he call "E elements," which are based on the biological
neuron A neuron, neurone, or nerve cell is an electrically excitable cell that communicates with other cells via specialized connections called synapses. The neuron is the main component of nervous tissue in all animals except sponges and placozoa ...
as model, but are digital devices which he says can be constructed using one or two vacuum tubes. In modern terms his simplest E element is a two-input
AND gate The AND gate is a basic digital logic gate that implements logical conjunction (∧) from mathematical logic AND gate behaves according to the truth table. A HIGH output (1) results only if all the inputs to the AND gate are HIGH (1). If not al ...
with one input inverted (the inhibit input). E elements with more inputs have an associated threshold and produce an output when the number of positive input signals meets or exceed the threshold, so long as the (only) inhibit line is not pulsed. He states that E elements with more inputs can be constructed from the simplest version, but suggests they be built directly as vacuum tube circuits as fewer tubes will be needed. More complex function blocks are to be built from these E elements. He shows how to use these E elements to build circuits for addition, subtraction, multiplication, division and square root, as well as two state memory blocks and control circuits. He does not use
Boolean logic In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variables are the truth values ''true'' and ''false'', usually denoted 1 and 0, whereas ...
terminology. Circuits are to be synchronous with a master system clock derived from a vacuum tube oscillator, possibly crystal controlled. His logic diagrams include an arrowhead symbol to denote a unit time delay, as time delays must be accounted for in a synchronous design. He points out that in one microsecond an electric pulse moves 300 meters so that until much higher clock speeds, e.g. 108 cycles per second (100 MHz), wire length would not be an issue. The need for error detection and correction is mentioned but not elaborated.


Memory design

A key design concept enunciated, and later named the
Von Neumann architecture The von Neumann architecture — also known as the von Neumann model or Princeton architecture — is a computer architecture based on a 1945 description by John von Neumann, and by others, in the '' First Draft of a Report on the EDVAC''. T ...
, is a uniform memory containing both numbers (data) and orders (instructions).
"The device requires a considerable memory. While it appeared that various parts of this memory have to perform functions which differ somewhat in their nature and considerably in their purpose, it is nevertheless tempting to treat the entire memory as one organ, and to have its parts even as interchangeable as possible for the various functions enumerated above." (Sec. 2.5) "The orders which are received by CC come from M, i.e. from the same place where the numerical material is stored." (Sec. 14.0)
Von Neumann estimates the amount of memory required based on several classes of mathematical problems, including ordinary and
partial differential equation In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function. The function is often thought of as an "unknown" to be solved for, similarly to h ...
s,
sorting Sorting refers to ordering data in an increasing or decreasing manner according to some linear relationship among the data items. # ordering: arranging items in a sequence ordered by some criterion; # categorizing: grouping items with similar pro ...
and probability experiments. Of these, partial differential equations in two dimensions plus time will require the most memory, with three dimensions plus time being beyond what can be done using technology that was then available. He concludes that memory will be the largest subdivision of the system and he proposes 8,192 minor cycles (words) of 32-bits as a design goal, with 2,048 minor cycles still being useful. He estimates a few hundred minor cycles will suffice for storing the program. He proposes two kinds of fast memory, delay line and
Iconoscope The iconoscope (from the Greek: ''εἰκών'' "image" and ''σκοπεῖν'' "to look, to see") was the first practical video camera tube to be used in early television cameras. The iconoscope produced a much stronger signal than earlier mec ...
tube. Each minor cycle is to be addressed as a unit (word addressing, Sec. 12.8). Instructions are to be executed sequentially, with a special instruction to switch to a different point in memory (i.e. a jump instruction). Binary digits in a delay line memory pass through the line and are fed back to the beginning. Accessing data in a delay line imposes a time penalty while waiting for the desired data to come around again. After analyzing these timing issues, he proposes organizing the delay line memory into 256 delay line "organs" (DLAs) each storing 1024 bits, or 32 minor cycles, called a ''major cycle.'' A memory access first selects the DLA (8 bits) and then the minor cycle within the DLA (5 bits), for a total of 13 address bits. For the
Iconoscope The iconoscope (from the Greek: ''εἰκών'' "image" and ''σκοπεῖν'' "to look, to see") was the first practical video camera tube to be used in early television cameras. The iconoscope produced a much stronger signal than earlier mec ...
memory, he recognizes that each scan point on the tube face is a capacitor and that a capacitor can store one bit. Very high precision scanning will be needed and the memory will only last a short time, perhaps as little as a second, and therefore will need to be periodically recopied ( refreshed).


Orders (instructions)

In Sec 14.1 von Neumann proposes the format for orders, which he calls a code. Order types include the basic arithmetic operations, moving minor cycles between CA and M (word load and store in modern terms), an order (''s'') that selects one of two numbers based on the sign of the previous operation, input and output and transferring CC to a memory location elsewhere (a jump). He determines the number of bits needed for the different order types, suggests ''immediate orders'' where the following word is the operand and discusses the desirability of leaving spare bits in the order format to allow for more addressable memory in the future, as well as other unspecified purposes. The possibility of storing more than one order in a minor cycle is discussed, with little enthusiasm for that approach. A table of orders is provided, but no discussion of input and output instructions was included in the First Draft.


Controversy

The treatment of the preliminary report as a publication (in the legal sense) was the source of bitter acrimony between factions of the EDVAC design team for two reasons. First, publication amounted to a public disclosure that prevented the EDVAC from being patented; second, some on the EDVAC design team contended that the stored-program concept had evolved out of meetings at the
University of Pennsylvania The University of Pennsylvania (also known as Penn or UPenn) is a Private university, private research university in Philadelphia. It is the fourth-oldest institution of higher education in the United States and is ranked among the highest- ...
's
Moore School of Electrical Engineering The Moore School of Electrical Engineering at the University of Pennsylvania came into existence as a result of an endowment from Alfred Fitler Moore on June 4, 1923. It was granted to Penn's School of Electrical Engineering, located in the Towne ...
predating von Neumann's activity as a consultant there, and that much of the work represented in the ''First Draft'' was no more than a translation of the discussed concepts into the language of formal
logic Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the science of deductively valid inferences or of logical truths. It is a formal science investigating how conclusions follow from prem ...
in which von Neumann was fluent. Hence, failure of von Neumann and Goldstine to list others as authors on the ''First Draft'' led credit to be attributed to von Neumann alone. (See
Matthew effect The Matthew effect of accumulated advantage, Matthew principle, or Matthew effect, is the tendency of individuals to accrue social or economic success in proportion to their initial level of popularity, friends, wealth, etc. It is sometimes summar ...
and Stigler's law.)


See also

*
Electronic delay storage automatic calculator The Electronic Delay Storage Automatic Calculator (EDSAC) was an early British computer. Inspired by John von Neumann's seminal '' First Draft of a Report on the EDVAC'', the machine was constructed by Maurice Wilkes and his team at the Univers ...
(EDSAC), an early British computer inspired by ''First Draft of a Report on the EDVAC'' *
Harvard Mark I The Harvard Mark I, or IBM Automatic Sequence Controlled Calculator (ASCC), was a general-purpose electromechanical computer used in the war effort during the last part of World War II. One of the first programs to run on the Mark I was init ...
, an early electromechanical computer with instructions and numerical data kept separate (
Harvard architecture The Harvard architecture is a computer architecture with separate storage and signal pathways for instructions and data. It contrasts with the von Neumann architecture, where program instructions and data share the same memory and pathway ...
)


References


Bibliography

* * * *{{cite journal , first1 = Michael D. , last1 = Godfrey , first2 = D. F. , last2 = Hendry , title = The Computer as von Neumann Planned It , journal = IEEE Annals of the History of Computing , volume = 15 , issue = 1 , date = January 1993 , pages = 11–21 , doi = 10.1109/85.194088 , citeseerx = 10.1.1.705.7264 , url = http://www.contrib.andrew.cmu.edu/~mhhammou/15346-s13/resources/OriginsOfComputers/The%20Computer%20as%20von%20Neumann%20planned%20it.pdf


External links


Oral history interview with J. Presper Eckert
Charles Babbage Institute The IT History Society (ITHS) is an organization that supports the history and scholarship of information technology by encouraging, fostering, and facilitating archival and historical research. Formerly known as the Charles Babbage Foundation, ...
, University of Minnesota. Eckert, a co-inventor of the
ENIAC ENIAC (; Electronic Numerical Integrator and Computer) was the first programmable, electronic, general-purpose digital computer, completed in 1945. There were other computers that had these features, but the ENIAC had all of them in one pac ...
, discusses its development at the University of Pennsylvania's Moore School of Electrical Engineering; describes difficulties in securing patent rights for the ENIAC and the problems posed by the circulation of
John von Neumann John von Neumann (; hu, Neumann János Lajos, ; December 28, 1903 – February 8, 1957) was a Hungarian-American mathematician, physicist, computer scientist, engineer and polymath. He was regarded as having perhaps the widest c ...
's 1945 ''First Draft of the Report on EDVAC'', which placed the ENIAC inventions in the public domain. Interview by Nancy Stern, 28 October 1977. 1945 in computing 1945 documents 1945 in technology Computer-related introductions in 1945 Computer science books History of computing hardware John von Neumann Theory of computation