`
`JOHN VON NEUMANN
`
`Introduction
`
`Normally first drafts are neither intended nor suitable for
`publication. This report is an exception. It is a first draft in
`the usual sense, but it contains a wealth of information, and
`it had a pervasive influence when it was first written. Most
`prominently, Alan Turing cites it, in his proposal for the
`Pilot ACE,* as the definitive source for understanding the
`nature and design of a general-purpose digital computer.
`After having influenced the first generation of digital
`computer engineers, the von Neumann report fell out of
`sight. There were at least two reasons for this: The report
`was hard to find, and it was very hard to read. This is where
`its first-draft quality resurfaced. The draft was typed at the
`Moore School from von Neumann’s handwritten manu-
`script. It is clear that the typescript was never proofread.
`There are numerous typographical mistakes, and serious
`misunderstandings about the intended use of mathematical
`symbols and Greek letters. There are also a considerable
`number of errors, which may have been in the original
`manuscript. (Efforts to locate the manuscript have failed,
`though Herman Goldstine reported that his own archives,
`now located at Hampshire College, Mass., did contain a
`COPY.)
`In addition, throughout the text von Neumann refers to
`subsequent sections that were never written. Most promi-
`nently, the sections on programming and on the inputlout-
`put system are missing. It would have been wonderful if
`somehow von Neumann had found the opportunity to write
`those sections.
`I undertook the task of carrying out a careful proofread-
`ing.** Initially, this was in order to fully understand the
`report. However, as the effort became increasingly time-
`consuming, I realized that the result could usefully save time
`and effort for others. It seemed reasonable to create a
`machine-readable copy and to use TeX to make the editing
`easier and more effective. Here is the final result. I have
`
`* A.M. Turing. “Proposals for Development in the Mathematics
`Division of an Automatic Computing Engine (ACE).” presented
`to the National Physical Laboratory, 1945. Reprinted as Com Sci
`57, National Physical Laboratory, Teddington. UK. 1972.
`** See also M.D. Godfrey and D.F. Hendry, “The Computer as von
`Neumann Planned It,“ IEEE Aiznals of the History of Compuring.
`Vol. 15, NO. 1 , 1 9 9 3 , ~ ~ .
`11-21.
`
`taken great pains not to modify the intended expression, nor
`to editorialize on the original work. The report is still not
`easy reading, but to the best of my ability this version is a
`correct rendering of what von Neumann wrote and in-
`tended.
`A careful reading of the report will be instructive to
`anyone with an interest in the past, present, or future of
`computing.
`
`Michael D. Godfrey
`
`Michael D. G d r e y is a consulting profes-
`sor in electrical engineering at Stanford
`University. He has been a member of the
`statistics faculty at Princeton University
`and a member of the technical staff at Bell
`Laboratories, Murray Hill, N.J. He has also
`held the Schlumberger chair at the Impe-
`rial College of Science, Technology and
`Medicine in London, and worked as director of research at
`Sperry Univac. Throughout his career he has had a strong
`interest in computing and its history.
`Godfrey obtained a BSc from the California Institute of
`Technology in 1959 and a PhD from the University of
`London in 1962.
`
`Godfrey can be reached at the Durand Building, ISL,
`Electrical Engineering Department, Stanford University,
`Stanford, CA 94305.
`
`IEEE Annals of the History of Computing, Vol. 15, No. 4,1993
`
`27
`
`Oracle-1040 p. 1
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`First Draft of a Report
`on the EDVAC
`
`John von Neumann
`
`Contract No. W-670-ORD-4926
`
`Between the
`
`United States Army Ordnance Department
`
`and the
`
`University of Pennsylvania
`
`Moore School of Electrical Engineering
`University of Pennsylvania
`
`June 30, 1945
`
`This is an exact copy of the original typescript draft as obtained from the University of Pennsylvania
`Moore School Library except that a large number of typographical errors have been corrected and
`the forward references that von Neumann had not filled in are provided where possible. Missing
`references, mainly to unwritten Sections after 15.0, are indicated by empty {}. All added material,
`mainly forward references, is enclosed in { }. The text and figures have been reset using
`in
`order to improve readability. However, the original manuscript layout has been adhered to very
`closely. For a more “modern” interpretation of the von Neumann design see M. D. Godfrey and D.
`F. Hendry, “The Computer as von Neumann Planned It,” IEEE Annals of the History of Computing,
`vol. 15 no. 1, 1993.
`
`Michael D. Godfrey, Information Systems Laboratory, Electrical Engineering Department
`Stanford University, Stanford, California, November 1992
`
`Oracle-1040 p. 2
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`CONTENTS
`
`1.0 DEFINITIONS
`
`1.1
`1.2
`1.3
`1.4
`
`Automatic digital computing systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Exact description of thc functions of sucli a system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Distinctions wit. hin the numerical matc’rial produced by such a system . . . . . . . . . . . . . . . . . . .
`Checking and corrwting malfunctions (errors) . automatic possibilities . . . . . . . . . . . . . . . . . . .
`
`1
`1
`1
`1
`
`2.0 MAIN SUBDIVISIONS OF THE SYSTEM
`
`2.1
`2.2
`2.3
`2.4
`2.5
`2.6
`
`2.7
`2.8
`2.9
`
`Need for subdivisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`First: Central arithmetic part: CA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Second: Central control part: CC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`......................................
`Third: Various forms of memory required: (a)-(h)
`Third: (Cont.) Memory: M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`CC, CA (together: C), M are together the associative part . Afferent and cfferent parts:
`Input and output . mediating the contact with the outside . Outside recording medium: R
`Fourth: Input: I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Fifth: Output: O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Comparison of M and R . considering (a)-(h) in 2.4 ......................................
`
`3.0 PROCEDURE OF DISCUSSION
`
`3.1
`
`3.2
`3.3
`
`Program: Discussion of all divisions (specific parts) enumerated in 2. together with the
`essential decisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Need for “Zigzag” discussion of the specific parts ........................................
`Automatic checking of errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`
`4
`4
`4
`
`4.0 ELEMENTS. SYNCHRONISM NEURON ANALOGY
`
`4.1
`4.2
`4.3
`
`Role of relay-like elements . Example . Role of synchronism ..............................
`4
`Neurons, synapses. excitatory and inhibitory types ......................................
`5
`Desirability of using vacuum tubes of the conventional radio tube type . . . . . . . . . . . . . . . . . . 5
`
`5.0 PRINCIPLES GOVERNING THE ARITHMETICAL OPERATIONS
`
`5.1
`5.2
`5.3
`5.4
`5.5
`
`5.6
`5.7
`
`...............................................
`Vacuum tube elements: Gates or triggers
`Binary vs . decimal system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Duration of binary multiplication .......................................................
`Telescoping operations vs . saving equipment ............................................
`Role of very high speed (vacuum tubes): Principle of successive operations .
`Time estimates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`Reformulation of the principle ..........................................................
`......................................................
`Further discussion of the principle
`
`6
`6
`6
`7
`
`7
`8
`8
`
`i
`
`Oracle-1040 p. 3
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`ii
`
`6.1
`6.2
`6.3
`6.4
`6.5
`
`7.1
`7.2
`7.3
`7.4
`7.5
`7.6
`7.7
`7.8
`
`8.1
`8.2
`8.3
`8.4
`
`9.1
`9.2
`
`9.3
`9.4
`
`CONTENTS
`
`6.0 E-ELEMENTS
`
`Reasons for the introduction of a hypothetical E-element ................................
`8
`Description of the simple E-element .....................................................
`9
`Synchronism. gating by a central clock ..................................................
`9
`The role of thresholds . E-elements with multiple thresholds . Multiple delays ............ 10
`Comparison with vacuum t. ubes .........................................................
`10
`
`7.0 CIRCUITS FOR THE ARITHMETICAL OPERATIONS +. x
`Method of feeding in binary numbers: Digits in temporal succession ..................... 11
`E-element networks and block symbols ..................................................
`11
`..............................................................................
`The adder
`11
`The multiplier: Memory requirements ...................................................
`12
`Discussion of the memory . Delays ....................................................... 12
`Discussion of delays ....................................................................
`13
`The multiplier: Detailed structure ......................................................
`13
`The multiplier: Further requirements (timing, local input and output) ................... 14
`
`8.0 CIRCUITS FOR THE ARITHMETICAL OPERATIONS -,
`
`Treatment of the sign ...................................................................
`The subtracter .........................................................................
`The divider: Detailed structure .........................................................
`The divider: Further requirements (cf . 7.8) ..............................................
`
`15
`15
`16
`17
`
`9.0 THE BINARY POINT
`The main role of the binary point: For X. % ............................................
`Connection with the necessity of omitting digits after x . Decision: Only numbers
`between -1 and 1 ......................................................................
`Rounding off Rule and E-element network .............................................
`
`Consequences in planning . Rules for the operations +. -. x. t ..........................
`
`10.0 CIRCUIT FOR THE ARITHMETICAL OPERATION J .
`OTHER OPERATIONS
`10.3 List of operations: f. -. x. + ...........................................................
`
`10.1 The square rooter: Detailed structure ...................................................
`10.2 The square rooter: Further observations ................................................
`
`10.4 Exclusion of certain further operations ..................................................
`
`18
`
`18
`18
`19
`
`19
`20
`21
`22
`
`....
`
`Oracle-1040 p. 4
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`CONTENTS
`
`11.0 ORGANIZATION OF CA . COMPLETE LIST OF OPERATIONS
`11.1 Iiiput arid output of CA . cunnectioiis with S1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11.2 Thrl operatiom i . j
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`11.3 Thr operation s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`- \ x . t . d3 i . j . s and conversions ........................
`11.4 Complete list of operations: +.
`
`iii
`
`22
`23
`24
`24
`
`12.0 CAPACITY OF THE MEMORY M . GENERAL PRINCIPLES
`12.1 The cyclical (or delay) memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`25
`12.2 hleinory capacity: The unit . The miiior cycle . Numbers and orders .....................
`25
`12.3 Memory capacity: Requirement of the types (a) (h) of 2.4 ..............................
`26
`12.4 Memory capacity: Total requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
`12.5 The delay memory: Physical possibilities ................................................
`28
`and the multiplication time .
`12.6 The delay memory: Capacity of each individual
`The number of T I S needed ........................................................
`29
`12.7 Switching vs . temporal succession ......................................................
`31
`12.8 The iconoscope memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
`
`13.1 wdl/ and its terminal organs A and SG ..............................................
`
`13.0 ORGANIZATION OF M
`
`13.2 SG and its connections .................................................................
`13.3 The two on states of SG ................................................................
`13.4 SG and its connections: Detailed structure ..............................................
`13.5 The switching problem for the SG ......................................................
`
`34
`34
`35
`35
`36
`
`14.0 CC AND M
`
`14.1 CC and the orders ......................................................................
`14.2 Remarks concerning the orders (b) ......................................................
`14.3 Remarks concerning the orders (c) ......................................................
`14.4 Remarks concerning the orders (b) . (Continued) ........................................
`14.5 Waiting times . Enumeration of minor and major cycles .................................
`
`37
`37
`37
`38
`38
`
`15.0 THE CODE
`
`The contents of M ......................................................................
`39
`15.1
`15.2 Standard numbers ...................................................................... 39
`15.3 Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
`. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
`15.4 Pooling orders
`41
`............................................................
`41
`15.5 Pooling orders . (Continued)
`15.6 Formulation of the code ................................................................
`42
`
`.
`
`Oracle-1040 p. 5
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`iv
`
`CONTENTS
`
`FIGURES
`
`1 Synchronization-clock pulses ..........................................................
`10
`2 Threshold 2 neuron by combining Threshold 1 neurons ..................................
`10
`3 Adder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
`4 Elementary memory . (E-element) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
`................................................................
`5 Line of E-elements
`12
`6 Same with gate network ................................................................
`13
`7 Simple valve ............................................................................
`13
`8 Simple discriminator ...................................................................
`14
`9 Multiplier ..............................................................................
`14
`10 Complement valve ......................................................................
`15
`11 Subtracter .............................................................................
`16\
`12 Complete discriminator ...........................
`.................................
`16
`....................
`13 Divider .....................................................
`17
`.......... 19
`14 Rounding off valve .................................................
`15 Square rooter ..........................................................................
`20
`16 Input and output of CA ....................................
`17 Connections of input and output in CA ................................................. 23
`................................
`18 Amplification, switching and gating scheme of a
`30
`aggregate (a), (b) .............................
`19 Individual and serial cycling of a
`30
`in detail ..................................................
`20 Connections of a
`SG', preliminary form of SG ............................................................
`21
`Supplementary connections of the L ....................................................
`22
`
`36
`36
`
`Oracle-1040 p. 6
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`1.0 DEFINITIONS
`
`1.1 The considerations which follow deal n i t h thrl strncturc of a u e q high speed autornatrc digital
`compvtzng system, and in particular with its l09iral control. Before going into specific details, some
`general explanatory remarks regarding thew concvpts niay be appropriate.
`1.2 An automatzc computzng system is a (iisuall? highly c.ornposite) devicr. which can carry out
`instructions to perform calculations of a considrrablr order of complexity- -e.g. t o solvc a non-linear
`part,ial differential equation in 2 or 3 indepcndent variables minierically.
`The instruct,ions which govern this opclration must be given t.o the device in absolutely exhaus-
`tive detail. They includr all numerical inforniation which is required to solve the problem under
`consideration: Initial and boundary values of the dependent variables. values of fixed parameters
`(constants). tables of fixed functions which occnr iri the statement of the problem. These instruc-
`tions must be given in somc form which the device can sense: Punched into a system of punchcards
`or on teletype tape, magnetically impressed on steel tape or wire, photographically impressed on
`motion picture film, wired into one or more fixed or exchangeable plugboards- -this list being by no
`means necessarily complete, All these procedures require the use of some code to express the logical
`and the algebraical definition of the problem under consideration, as well as t,he necessary numerical
`material (cf. above).
`Once these instructions are given to the device, it must be able to carry them out completely and
`without any need for further intelligent human intervention. At the end of the required operations
`the device must record the results again in one of the forms referred to above. The results are
`numerical data; they are a specified part of t,he numerical material produced by the device in the
`process of carrying out the instructions referred to above.
`1.3 It is worth noting, however, that the device will in general produce essentially more numerical
`material (in order t,o reach the results) than the (final) results mentioned. Thus only a fraction of
`its numerical output will have to be recorded as indicated in 1.2, the remainder will only circulate
`in the interior of the device, and never be recorded for human sensing. This point will receive closer
`consideration subsequently, in particular in { 12.4).
`1.4 The remarks of 1.2 on the desired automatic functioning of the device must, of course, assume
`that it functions faultlessly. Malfunctioning of any device has, however, always a finite probability-
`and for a complicated device and a long sequence of operations it, may not be possible to keep this
`probability negligible. Any error may vitiat,e the entire output of the device. For the recognition
`and correction of such malfunctions intelligent human intervention will in general be necessary.
`However, it may be possible to avoid even these phenomena to some extent. The device may
`recognize the most, frequent malfunctions automatically, indicate their presence and location by
`externally visible signs, and then stop. Under certain conditions it might even carry out the necessary
`correction automatically and continue (cf. ( 3 . 3 ) ) .
`
`2.0 MAIN SUBDIVISIONS OF THE SYSTEM
`
`2.1 In analyzing the functioning of the contemplated device, certain classificatory distinctions sug-
`gest themselves immediately.
`2.2 First: Since the device is primarily a computer, it will have to perform the elementary opera-
`tions of arithmetics most frequently. These are addition, subtraction, multiplication and division:
`+, -, x, t. It is therefore reasonable that it should contain specialized organs for just these opera-
`tions.
`It must be observed, however, that while this principle as such is probably sound, the specific
`way in which it is realized requires close scrutiny. Even the above list of operations: +, -, x, i, is
`not beyond doubt. It may be extended to include such operation as J , K , sgn,, 1
`1, also loglo,
`
`Oracle-1040 p. 7
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`First Draft of a Report on t h e EDVAC
`2
`log,, In, sin and their inverses, etc. One might also consider restricting it, e.g. omitting + and
`even x . One might also consider more elastic arrangements. For some operations radically different
`procedures are conceivable, e.g. using successive approximation methods or function tables. These
`matters will be gone into in {10.3,10.4}. At any rate a central arzthmetzcal part of the device will
`probably have to exist, and this constitutes the first speczfic part: CA.
`2.3 Second: The logical control of the device, that is the proper sequencing of its operations can
`be most efficiently carried out by a central control organ. If the device is to be elastzc, that is as
`nearly as possible all purpose, then a distinction must be made between the specific instructions
`given for and defining a particular problem, and the general control organs which see to it that these
`instructions-no matter what they are-are carried out. The former must be stored in some way-
`in existing devices this is done as indicated in 1.2-the
`latter are represented by definite operating
`parts of the device. By the central control we mean this latter function only, and the organs which
`perform it form the second speczfic part: CC.
`2.4 Third: Any device which is to carry out long and complicated sequences of operations (specif-
`ically of calculations) must have a considerable memory. At least the four following phases of its
`operation require a memory:
`(a) Even in the process of carrying out a multiplication or a division, a series oftintermediate
`(partial) results must be remembered. This applies to a lesser extent even to additions and subtrac-
`tions (when a carry digit may have to be carried over several positions), and to a greater extent to
`J , 6, if these operations are wanted. (cf. (10.3, 10.4))
`(b) The instructions which govern a complicated problem may constitute a considerable mate-
`rial, particularly so, if the code is circumstantial (which it is in most arrangements). This material
`must be remembered.
`(c) In many problems specific functions play an essential role. They are usually given in form of
`a table. Indeed in some cases this is the way in which they are given by experience (e.g. the equation
`of state of a substance in many hydrodynamical problems), in other cases they may be given by
`analytical expressions, but it may nevertheless be simpler and quicker to obtain their values from
`a fixed tabulation, than to compute them anew (on the basis of the analytical definition) whenever
`a value is required. It is usually convenient to have tables of a moderate number of entries only
`(100-200) and to use interpolation. Linear and even quadratic interpolation will not be sufficient
`in most cases, so it is best to count on a standard of cubic or biquadratic (or even higher order)
`interpolation, (cf. {10.3}).
`Some of the functions mentioned in the course of 2.2 may be handled in this way: loglo, log,,
`In, sin and their inverses, possibly also J , 6. Even the reciprocal might be treated in this manner,
`thereby reducing + to X .
`(d) For partial differential equations the initial conditions and the boundary conditions may
`constitute an extensive numerical material, which must be remembered throughout a given problem.
`(e) For partial differential equations of the hyperbolic or parabolic type, integrated along a
`variable t, the (intermediate) results belonging to the cycle t must be remembered for the calculation
`of the cycle t + dt. This material is much of the type (d), except that it is not put into the device
`by human operators, but produced (and probably subsequently again removed and replaced by the
`corresponding data for t + dt) by the device itself, in the course of its automatic operation.
`(f) For total differential equations (d), (e) apply too, but they require smaller memory capacities.
`Further memory requirements of the type (d) are required in problems which depend on given
`constants, fixed parameters, etc.
`(g) Problems which are solved by successive approximations (e.g. partial differential equations of
`the elliptic type, treated by relaxation methods) require a memory of the type (e): The (intermediate)
`results of each approximation must be remembered, while those of the next one are being computed.
`(h) Sorting problems and certain statistical experiments (for which a very high speed device
`offers an interesting opportunity) require a memory for the material which is being treated.
`
`Oracle-1040 p. 8
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`First Draft of H Report o n the EDVAC
`
`3
`
`2.5 To s u n up the t hirtl rrbniark: The device requires a colisiderable nienioIy. I~Iiik it appeared
`that various parts of this ineiiiory have to perform functions whirh differ solnewhat in their nature
`and considerably in their purpose. it is iievertlieless teniptiiig to treat the entirc nicniory as one
`organ. and to have its parts csveii as interchangeable as possible for the various fniict ions enumerated
`ahove. ‘This point \vi11 bc corisidrred in detail. cf. { 13.0}.
`At any rate the total rrirrr~oi.,y ronstitutes the thr7d speczfic part of the ~ ~ > I I , Z W : M
`2.6 The three, specific parts CA. CC (togcrher C) ;tiid 11 correspond to the nssoriatirlp neurons in
`the human ncrvous system. It remains to discuss the equivalents of the sensory or uflerent and the
`rrrotor or eflerent neurons. Thesc arr the i i i p t and the output organs of the device. and we shall
`now consider them briefly.
`In other words: All transfers of nunierical (or other) information between the part,s C and M of
`the device inlist be effwtcd by the mechanisms contained in these parts. There remains, however,
`the necessity of getting the origiual definitory information from outside into the device. and also of
`getting the final information, the results. from the device into the outside.
`By the outside we uiean media of the type described in 1.2: Here information can be produced
`inore or less directly by hunlan action (typing. punching, photographing light impulses produced by
`keys of the same type, magnetizing metal tape or wire in some analogous manner, etc.), it can be
`statically stored, and finally sensed more or less directly by human organs.
`The device must be endowed with the ability to maintain the input and output (sensory and
`motor) contact with some specific medium of this type (cf. 1.2): That medium will be called the
`outside recordang medium of the devzce: R. Now we have:
`2.7 Fourth: The device must have organs to transfer (numerical or other) information from R into
`its specific parts, C and M. These organs form its input, the fourth speczfic part: I. It will be seen
`that it is best to make all transfers from R (by I) into M, and never directly into C (cf. {14.1, 15.3)).
`2.8 Fifth: The device must have organs to transfer (presumably only numerical information) from
`its specific parts C and M into R. These organs form its output, the fifth specific part: 0. It will be
`seen that it is again best to make all transfers from M (by 0) into R, and never directly from C,
`(cf. {14.1, 15.3)).
`2.9 The output information, which goes into R, represents, of course, the final results of the op-
`eration of the device on the problem under consideration. These must be distinguished from the
`intermediate results, discussed e.g. in 2.4, (e)-(g), which remain inside M. At this point an important
`question arises: Quite apart from its attribute of more or less direct accessibility to human action
`and perception R has also the properties of a memory. Indeed, it is the natural medium for long
`time storage of all the information obtained by the automatic device on various problems. Why is
`it then necessary to provide for another type of memory within the device M? Could not all, or at
`least some functions of M-preferably
`taken over
`those which involve great bulks of information--be
`by R?
`Inspection of the typical functions of M, as enumerated in 2.4, (a)-(h), shows this: It would
`be convenient to shift (a) (the short-duration memory required while an arithmetical operation is
`being carried out) outside the device, i.e. from M into R. (Actually (a) will be inside the device,
`but in CA rather than in M. Cf. the end of 12.2). All existing devices, even the existing desk
`computing machines, use the equivalent of M at this point. However (b) (logical instructions) might
`be sensed from outside, i.e. by I from R, and the same goes for (c) (function tables) and (e), (g)
`(intermediate results). The latter may be conveyed by 0 to R when the device produces them, and
`sensed by I from R when it needs them. The same is true to some extent of (d) (initial conditions
`and parameters) and possibly even of (f) (intermediate results from a total differential equation). As
`to (h) (sorting and statistics), the situation is somewhat ambiguous: In many cases the possibility
`of using M accelerates matters decisively, but suitable blending of the use of M with a longer range
`use of R may be feasible without serious loss of speed and increase the amount of material that can
`be handled considerably.
`
`Oracle-1040 p. 9
`Oracle v. Teleputers
`IPR2021-00078
`
`
`
`4
`
`First Draft of a Report on t h e EDVAC
`
`Indeed, all existing (fully or partially automatic) computing devices use R-as a stack of punch-
`cards or a length of teletype tape-for
`all these purposes (excepting (a), as pointed out above).
`Nevertheless it will appear that a really high speed device would be very limited in its usefulness
`unless it can rely on M, rather than on R. for all the purposes enumerated in 2.4, (a)-(h), with
`certain limitations in the case of (e), (g), (h), (cf. {12.3}).
`
`3.0 PROCEDURE OF DISCUSSION
`
`3.1 The classification of 2.0 being completed. it is now possible to take up the five specific parts
`into which the device was seen to be subdivided, and to discuss them one by one. Such a discussion
`must bring out the features required for each one of these parts in itself, as well as in their relations
`to each other. It must also determine the specific procedures to be used in dealing with numbers
`from the point of view of the device, in carrying out arithmetical operations, and providing for
`the general logical control. All questions of timing and of speed, and of the relative importance of
`various factors, must be settled within the framework of these considerations.
`3.2 The ideal procedure would be, to take up the five specific parts in some definite order, to treat
`each one of them exhaustively, and go on to the next one only after the predecessor is completely
`disposed of. However, this seems hardly feasible. The desirable features of the various parts, and
`the decisions based on them, emerge only after a somewhat zigzagging discussion. It is therefore
`necessary to take up one part first, pass after an incomplete discussion