You are on page 1of 58

PRELIMINARY DISCUSSION OF THE LOGICAL DESIGN OF

AN ELECTRONIC COMPUTING INSTRUMENT



BY

Arthur W. Burks

Herman H. Goldstine

I

John von Neumann

TAS LE OF CONT~NTS

Preface

l.O.Principle Components of the Machine

1.1 Introduction 1

1.2 storage and execution of orders 1

1.3 Use of one memory organ for both orders and numbers 1

1.4 The contro 1 2

·1.5 The arithmetic organ 2

1.6 Input and output organs 2

2.0. First Remar-ks on the Memory

2.1 Introduction 3

2.2 Memory requirements of various types of problems 3

2.3 Size of memory 4

3.0. Firs t Remarks on the Control am Code

3.1 ·3.2 3.3 3.1+ 3.5

3.6 3.7

Introduction Arithmetic orderS

Memory substitution orders Transfer of orders to the control Shifting the contro 1

Input-output orders

Conclusion

4 5 5 6 6 6 7

4.0, The Memory Organ

4~1 ~JPes of memory

4.2 Choice of Selectron for memo~

4.3 Choice of parallel representation of numbers 4.4 Svrl.tching Selectrons in pa rallel

1,.5 Requirements of tape memory

4.6 Library of tapes

4,. 7 Making -aad reading tapes

4.8 Visual indication of results 4.9 Sele c tron regis ter

7 9 9 9

10 11 11 12 12

5.0. The Arithmetic Organ

5.~1 Introducticn

5.2 Choice of b iriar-y system 5.3 Floating bine.rypoint

5.4 Choice of built-in e.rithrre tic oper-a t Lons 5.5 The Accumulater

5.6 Average length 0 f carry s eqi ences 5.7 Negative numbers

1.2 12 14 15 17 I? 19

".

;:

TABLE OF CONTENTS (cont'd)

-5.8 Mu1tiplicC'.ticn 19

5.9 Complement corrections f0r multiplication 21

5.10 Multiplication in static ani dynamic Accumulators 22

5.11 Round-off procedures - 23

5.12 Addition with the floa ti ng binary point 29

5.13 Division 30

6.0. The Oirrt ro L

6.1 6.2 6113 6.4· 6.5 6.6

6.7 6,8

Introduction

SWi tehing the memory Decoding ')rders

Transfer of orders to the contro 1 SynchI'O ntzed co n tr6.1 c ircui ts Orders for the 'internal operations 6.6.1 .Addition

6.6.2 Register transfers 6.6.3 Multiplication 6.6.4 Division

6.6.5 Meoory substitution 6.6.6 Shift of co ntrol .

6. 6,7 Unit shifts en d the floating binary po in j:.,/ Timing 0 ircui ts Input-output orders

6.8.1 Tare orders

6.8.2 Binary decimal conversion 6~8.3 Viewing tubes

6.8.4 Typewriters and printers 6.8.5 Finish signal

.'

Table 1 Summary of orders for the internal opera tions

33 33 34 36 38 41 42- 43 43 45 45 46 46 48 49 49 52 52 53 53

This report has been prepared in accordance with the terms of

Contract ~:l- 36-034-0RD-748l between the Research and Development Service,

Ordnance Department, U. S. Army and the Institut,e for Advanced StudYG

It is intended as the first of 'two papers dealing Hith some aspects of

the ov~rall logical considerations arising in connection with electronic

computing machines. R.n attempt is made to give in this, the first half

of the repor-t , a general picture of the type of Lnst rument now under '

consideration and in the second half a study of how actual math€ll1atical

problems can be coded, Le., prepared in the language the machine can

understand.

It is the present intention to issue from time to time reports

covering the various phases of the project. These papers will appear

whenever it is felt sufficient work has been done on a given aspect,

e.ither logical or experimental to justify its being reported.

The authors also "wish to express their thanks to Dr. John

Tukey of Princeton University for many valuable discussions and

suggestions.

The Institute for Advanced Study 28 June 1946

Art hur W. Burks

Herman H. Goldstine

Jofu! von Neumann

,"

PP~LIMINARY DISCUSSION OF THE LOGICAL DESIGN OF

P:.N ELEC7i1.Gr~IC COli...5?UTING INSTRUMENT

1,1. Inasmuch 8.S the completed device will be a general-purpose

computing machine it should contain certa.in main organs relating to arith-

met i.c , memory-storageJ control and connection w.ith the human operator.'

I t is intended t.hat the machine be fully aut.omat.Lc in character, 1. eo,

independent of the human operator after the computation starts. A fuller

discussion of the implications of ,this remark will be given in :3 below 0

L2. It is evident that the machi.ne must be capable of storing

in some manner not only the digita1 information needed in a given

computation such as boundary values, t ab.Les of functions l such as the

equation of state of a fluid) and also the intermediate results of the computation (which may be wanted for varying lengths of time), but also the instructions which govern the actual routdrie to be performed on the

numerical data. In a special-purpose tnachifl€ these instructions are an

int.egral part of the device and constitute a part of its design structure.

For an all-purposE' machine it must be possible to instruct the device to

carry out any whatsoever computation that can be formulated in numerical

terms. Hence there must be some organ capable of storing these program

orders. There must, moreover, be a uhit which can understand these

instructions and order their execution.

1. 3. Conceptually we have discussed above two different forms of memory: storage of numbers and storage of orders. If, however, the

orders to the machine are reduced to a numerical code and if the machine

--2-

can in stzne fashion distinguish a number from an order, the memory qrgan can

be used to store both number-s and orders, The coding of orders intO

nume r.i,c fQ:'."m is di, scuased in 6.,;3 be.Low ,

.L/~., If the memory for orders is merely a storage organ there must

exiat, an or-gan -,.;h::. ch can aut omat.I cally execute the orders stored in tho.

mmflO:.y. \1\',.,. o:i3..ll call this crg~ill the Control.

10 ,r; '- Inasmuch as the device is to be a computd ng machine there

must be a..11 arithmetic organ in it which can perform c ert.ain of the elem8n-

ta:'y c.ritr..r!l.ctic opcr-at.ione, There wi.ll be, therefore, a unit capable t;f

adding, subtracting, multiplying and di,viding. It will be seen in 6e6

below that it can also perform additional oper-at.tons that occur quite

:frGquGL1tly~

The operations that the rnacni.ne will view as e.Lemont ary are

clearly th033 LN(lich are wired into themachi .. '18c To iLJ .. ust rat.e, the

operation of multiplication cculd be elirn.:i.nated from the device as an

el.ernent.ary process if one were willing to view it ~s a properly ordered

series of additions. uimilar' remarks apply to division. In. general, the

inner economy of the arithmetic unt t is deterrrLi.ned by a compromise between

the desire for speed of' operation - a non-elementary operation will genarally

take a long time to perform since it is constituted of a series of orders

given by the control - and the desire for simplicity, or cheapneas , of the

L6. La.stly there must, exist devices, the input and output orc;J,;:".'"" whereby the human opera.t','~ and the machine can communi.cat e with each ot.hc r ,

This organ will be seen in 4.5 below, where it is discussed) to const.itutl)

a accondar-y form of automatic me.mory ~

-3-

. 2.,0 F;.rst E!,:..JIlRrks on the Memory

2,,1. It is clear that the size of the memory is a critical censidera~io~ in the design of a satisfactory general-purpose computing machine, ',18 proceed to d.i.scus s what quanta. ties the memory should store fer var-i.oue types of ccmput.at.i.ons.

2,2. In the solution of partia.l different;ial equations the storage requiremen-::'s are likeljT to bl3 quite extensive. In general, one

Hl'.1St remember not only the initial and boundary conditions and any arbitrary functions that enter the prob.l.em but also an 6xtensiv€ number of intexrnediate results.

a) For equat.i.cns of parabolic or hyperbo.l.i c type in twa independent variables the integration process is essenti;:ll.ly a doub.Le Lnduct i 0::': To

fine the values of the dependent variables at time ti+ :\ t one integrates

with respect to x from one boundary to the ot.her by utilizing the, data at

time t as if they were coeffie:ie:lts "i'lhic~1 cont.r-i.but e to defining the problem

"of this integ"r'a"Cion.

Nut only must, the memory have suf'fd.o.l ent, room to store these int.ermediate data but there must be provisions whereby these data can later be r-eaoved , Lev;; at the end of the (t+Llt) cycle, and replaced by the

cor responci ng dat a for the (t~- 2 /\ d cycle. This process of r-emovi ng data from the memory and of replacing them with new information must, of cour se , be done quite aut omat.Lca.Lly under the direction of the control.

b ) For total differential equations the merllory requirements are clearly similar to) but smaller than, U-~Re discussed in a) above.

c) Problems that are solved by iterative procedures such as systems of linear equations or elliptic partial differential equations) treated by relaxation t.echru.ques, may be expected to 'require quite ext.enaive

-4-

memory capac; ty e The memory requirement for. such problems is appnrently

much gr eat er t.har, f0r those problems .in a) above in which one needs only to

store :t;:1.f'~'i:lr.i'l.{·,ion corresponding to the instantaneous value of one variable

(t, in a; abcv e , w21::\.le now entire so.lut.Lons (covering all values of all

va~'ic:.t:_e.: ~ r.;·.fr, b~, stored. Thj c appar-ent discrepancy in magnitudes can,

hOW8ver, b€ ,Yl'J.8\·,hJ.t overcome by the use 0:' t.echnLques which permit the

use of much coarser integration meshes in this case, than in the cases

203. It is reasonable at t.hi.s time to build a machine tha7, can

convenrent.Iy handle problems several orders of magnitude more comp.l ex than

are now hand.l ed by existing machi.nes, e.l.ect.roru,c or al.ectir'o-mecharu.cal.. We

consequent Iy plan on a fully aut.omat.i.c elBct.:"'oflic st.crage fac:i.l:.ty of about

4, OGO number-s of 40 binary dig:i ts e",ch, ',le believe th2.t this exce eds the

'capacities ~"equ:b.'ed for pronl eas that one deaf.s "With at present by a factor

of about 10. In .;dd:.:cion, WE: propose . we ~2.ve a subsidiary memory, which is

also ;.'ully aut.omat.i,c , of much Larger c apacity on some med.i.um such as

Firs-!- ... qe;r'.3.l~ks 0'-: the Cont.r'o.L and r~oc1.e

.............-_ ......... .• __ ~~_~_ ._._. ~~__.._ L ................. _.·.·_ .... ,_ •• ~ • .__;.~. __ , __ ••••• ~' ... ,.._

301. It is easy to see by fOI·mal<l_cg::"cal met.hods , that there

€xj_d codes tMt are in abst rect o adequat-e to control and cause the execut Lon

of any sequence of operations whi.ch are i:-;.c:L v.l,.dua~.J.y avaf.Lahl,e in br.e

machine and which are, in thei:::- entirety, conceivable by the probl.em-p'l.ar ne».

The really decisive eonsiderations from the preser.t poin.t of view, in

selecting a code, are isor'e of a practical nature: Sir£1_plicity of the eq'l:\.~-

men.t demanded by the code) and thE; clarity of its application to the

acbua.Ll.y important problems together with the speed of its handling of

th038 problems. It would take us much too far to discuss these questions

-5-

at all ge':").erally or from first principles. We will therefore restrict

ourS2::;_',SS ': 6 ena'Iyz.i.ng only the type of code which we now envisage for our

mach ir-e ,

~\: 2. 'l'he re must certai!1~;r be iP,st ruct ions for perfo_rming t.he

nd be ·:;'Q_':l;J.e':;ely giver! untd.L the adt'r;iQ.:st.ic unit is described ina little

mar") det.ad.L,

J,,3, It must be possible to t.ransf'er data ,froCj the memory to the

arit!,",-'ll€'~ic organ and back agai n , L'1 transferring info-r:.w.tj_on from the

arithmetic organ back into the memory there are' two typea'we rnuat dis-tingu.tsh~

I'r-ans I'er-e of numbers ac such and t.r-anef'er-s of number-s wr-:oich are part s of

~

The second case is more subtle a;::·_d serve-s -':.0 iLl:'Btrate the generalit.y and

si,glp}_:'ci:'y of t.hs syste_'ll, Cons.i.de r the pro9lem of .int.ecpo.Lat lon in the

syste:a .. _ Let us ~u?>::se that we have f'o rmuLat.ed. tll',) riecesaary instructio:1s

for perfom.iog &'1 interpolation of orde r n i:1 a sequence of data. The

\ .

exar~t Locat.i.cn Ln the memory of t he In -I'" .1_) cusnt.i, ties that bracket the

des.i.r-ed flJl1C'::'iot:&l ve.Lue i:,} o~ course, a [Qr:lc:.i or. of t he argument" This

argument pro':lably is found as the resu.::. t. of A. ccmput.ati.on in the maeha.ne,

,c

''!'Ie t1::'.lS need an or-jer whi~h can subst:_tLte a muter into a given order

- it! the case of i_:,tf;rpolation the Locat.i.on of t.he nearest argument i.n our

'".ab::r_e to the desired va.Lue , by means of ouch an order the results of a

computat.Lor; can be introduced Lnto tae Lnst.ruct.i.ons gover rring that or a

d:'fferent c oruP:..lt at ion . 'I'his makes :'+, possible for a sequence of inst-ruc-::,l'"ll:S

to be used w::'th d::fferent. sets of number-s located in different parts of the

To summarize, trans f'ers into the memory w.j~l be of two sorts:

Total subst.It ut.Ions , whereby the quantity previously stored is cleared out

-6-

and replaced by a new number. l'artial substitutions in which that part of an order containing a memory location-number is replaced by a new memory location number.

3.4. It is clear that one must, be able to get numbers from any part of the memor-y at any time. l'he treatmen:t in the case of orders can, however , be more methodical since one can at least partially arrange the control instructions in a linear sequence. Consequently the control organ will be so constructed that it will normally proceed from place n in the memory to place (n-1-1) for its next instruction.

3.5. 'rhe utility of an automatic computer lies in the possibility of using a given sequence of instructions repeatedly, the number of times it is iterated bei.ng either preasai.gned or dependent upon the results of t.he computation. When the iteration is completed a different sequence of orders is to be followed, so we must, in most cases, give two parallel trains of orders pr-eceded by an instruction as to ~,!hich routine is to be followed. This choice can be made to depend upon the sign of a number (zero being reckoned as plus for machine purposes). Consequently we introduce an order (the conditional transfer order) which will, depending on the sign of a given nwnber, cause the proper one of two routines to be executed.

Frequently two para.Ll.e.L trains of orders terminate in a common ~outine. It is desirable, therefore, to order the control in either case

':.0 proceed to the beginning point of the common routine, Tl1isunconditi('_~·l<).:'. transfer can be achievLd either by the artificial. use of a conditional .-I:.ransfer or by the introduction of an explicit order for such a transfer.

3.,6. Finally we need orders which will integrate the inputout.put devices with the machine. These are discussed breifly in 6,8.

-7-

3.7. ~Ve proceed now to a more detailed discussion of t.he machine.

Inasmuch as cur experience has shown that the moment one chooses a given

component as the elementary memory unit .one has also more .or less determined

upon much of the balance 9£ the machine, we start by a consideration of the

memory organ. In attempting an exposition of a highly integrated device

like a computing machine we do not find it possible, however, t,o give an

exhaustd.ve di scuasfon .of each organ before completing its description. It

is .only in the final block diagrams that anything approaching a complete

unity is achieved.

4.0. The Memory Organ

~

4.1. Ideal.ly one would desire an indefi..'1.itely large memory

capacity such that any parti cular 40 binary digit number or word would be

immedia tely - L, e., in the order of 1 to 100 1-"- s - available and that

words could be replaced with new words at about the same rate. It does not

seem possible physically to achieve such a capacity. We are therefore

forced to recognize the possibility of constructing a hierarchy of memories,

each of which has greater capacity than the preceding but which is less

quickly accessible.

The most common forms of st.o rage in electrical circuits are t he

flip-flop, the gas tube, and the electro-mechanical relay. To achieve a

Demory of n words would, of course, require about 40 nsuch elements,

exclusive of the switching elements. V{e saw earlier (cf', 2.2) that a fast

memory of several thousand words is not at all unreasonable for an a11- purpose instrument. Hence, about 105 flip-flops or analogous elements ~ould

be required! This would, of course, be entirely impractical.

We must therefore seek out some more fW1damental method of storing

electrical information than nas been suggested above. One criterion for

-8-

such a storage mediwn is that the indivicual storage organs, which

accomodate only one banary digit each, should not be macroscopic components,

but rather microscopic e.Lemerrt s of some suitable organ. They would then,

of course, not be identified and swi t.ched to by the usual macroscopic wire

connections, but by some functional procedure in manipulating that organ.

One device which displ&ys this property to a marked degree is

the iconoscope tube, which has a resolution of about 500 by 500. One is

accordingly led to consider the possibility of storing electrical charges

on a dielectric plate inside a cathode-ray tube. Effectively such a tube

is nothing more t han a myriad of electrical c apac.i.t.or-s which carl. be connected

into the circuit by means of an electron beam,

At the present time the Princeton Laboratories of the Radio

Corporation of America are engaged in the develop..rnent of a storage tube,

the Selectron, of the type we have mentioned above. This tube is also

planned to have a. non-amplitude-sensitive switching system whereby the

electron be&~ can be directed to a given spot on the plate within a quite

smal.L fraction of a millisecond. Inasmuch as the storage tube is the key

<omponent; of the machine envisaged in this report we are extremely fortunate

in having secur-ed the cooperation of the RCA group in this as well as in

v""rious other developments.

An alternate form of rapid memory organ is the feed-back delay

line described in various reports on the EDVAC, Inasmuch as that device

,

has been so clearly reported in those papers we give no fUrther discussior

There are still other physical and 'chernical properties of matter in the

presence of electrons or photons that might be considered but since none .is

yet beyond the early discussion stage we shall not make further mention of

them. \

-9-

402. vie shall accorrtl ng'ly assume throughout the bal.ance of this

report that the Select ron is the modus for storage of w!1Jrds at electronic speeds. l1.S now planned, this tube will have a capacity 01 212 = 4)09b:::~·4,OOO

binary digits. To achieve a total electronic storage of about 4jOOO words we propose to use 40 aal.ect.rons , thereby ach iev.ing a memory of 212 words of

40 binary digits each.

4.3. There are two possible means for storing a particular word

. \

in the select ron memory - or in fact in either a delay line memory or in a

storage tube with amplitude-sensitive deflection. One method is to store

the entire word in a given tube and then to get the word out by picking

out its respective digits in a serial fashion. The other method is to

store in corresponding places in each of the 40 tubes one digit of the word.

To get a word from the memory in this scheme requi.res, then, one switching mechanism to which all 40 tubes are connected in par-al.I eL Such a switch-

ing scheme seems to us to be simpler than the technique needed in the

serial system and is, of course, 40 times faster.

vie ,accordingly adopt the

,

p~rallel procedure and thus are led to consider a so-called parallel machine,

as contrasted with the serial principles be.ing considered for the EDVAC.

The: essential difference between these two systems lies in the method of

performing an addition: In a parallel machine all corresponding pairs of

digits are added simultaneously, whereas in a serial one these pairs are

added serially in time.

4.4. To summarize, we assume that the fast electronic memory

consists of 40 selectrons which are switched in parallel by a common sw.~"~::.~:-·~-

ing arrangement. The inputs of the switch are controlled by "the Control

~ Oreon•

-10-

r>;



4.5. Inasmuch as a great many highly important classes of problems require a far greater total memory than 212 words, we now consider the next

stage in our storage hierarchy. Although the solution of partial differen-

tial equations frequently involves the manipulation of many thousands of

words, these data are generally.required only in blocks which are well

within the 212 capacity of the electronic memory. Our second form of storage

then can be a medium whi.ch is controlled by the main Control Organ of the

computer and is thus an integral part of the system, not requiring human'

intervention.

There are evidently two distinct problems raised above, One can

choose a given meditun for storage such as teletype tapes, magnetic wire or

tapes, movie film or similar media. 'i'here still remains the problem of

e.utomatic integration of this storage medium with the machine. This

integration is achieved logically by introducing appropr-i.ate orders into

the code which can instruct the machine to read or write on the medium, or

to move it by a given amount or to a place with given characteristics~ We discuss this question a little more fully ~n 608.

Let us return now to the question of what properties the secondary

storage medium should have. It clearly should be able to store information

for periods of time long enough so that only a few percent of the total

computing time is spent in re-registering information that is "fadi.ng" off,

It is certalnly desirable, although not i.mperative, that information can b e

erased and replaced by new data. The medium should be such that it can 1:.;>

controlled, i.e., moved forward and backward, automatically. This cons i.d e v .,/

tion makes cerh.in media, such as punched cards, undes.l rab.l.e , While card.:

can, of course, be printed or read by appropriate ender-s .f'rom some machine,

they are not well adapted to problems in which the output data are fed

-11-

directly back into the machine, and are required in a sequence which is non-monotone with respect to the order of the cards. The medium should be capable of r-emember-ing very large numbers of data at a much smaller price than electronic devices, It must be f'asb enough so t hat, even when .it has

to be used frequently in a problem, a large percentage of the total

solution time is not spent in getting data into and out of this medium and achieving the desired positioning on it. If this condition is not reasonably well met, the-adv~~tage9 of the high electronic speeds of the machine will be-largely lost.

Both light- or electron-sensitive film and magnetic tapes, whose

, motions are controlled by servo-mechanisms integrated with the Control Organ, seem to fu1fill our- needs reasonably well. In a subsequent section we discuss a few problems to show the overall efficiency of bhi s system using magnetic tapes.

4.6. Lastly our memory hierarchy requires a vast quantity of' dead storage, i. e., storage not int egrat ed with the machine. This storage requirement may be satisfied by a library of tapes that can be introduced into the machine when desired and at that time became automatically controlled. Thus our dead storage really is nothing but an extension .o.f our secondary storage medium. It differs from the latter only in its avai1ability to the machine.

4e 7. 1/;1e impose one additional requirement on our secondary memory. It must be possible for a human to put words onto the tape or other substance used and to read the words put on by the machine. In L!.:_~·~ manner the hwnan can control the machines functions. It is now clear th,::'~ the secondary storage medilliu is really nothing other than a part of our ir.put-output system.

-12-

4.8. There is another highly important part of the input-output

which .we merely mention~t this time, namely, some mechanism for viewing

graphically the results of a given computation. This can, of course, be

achieved by a selectron-like tube which causes its screen to fluoresce

when data are put on it by an electron beam.

4.9. l"or definiteness in the subsequent discussions we assume

that associated with the output of each selectron is a flip-flop. This

assemblage of 40 flip-flops, we term the ~elec.tron Regi.st.ez-,

5~1. In this chapter we discuss the features we now consider

desirable for the arithmetic part of our machine. tie give our tentative

conclusions as to which of the aritnnetic operations should be built into

the machine and which should be programmed. Finally, a schematic of the

arithmetic unit is qescribed.

5.2. In a discussion of the arithmetical organs of a computing

---

machine one is naturally led to a consideration of the number system to be

adopted. In spite of t.he long-standing, tradition of building digital

machines in the decimal system,. we feel strongly in favor of the binary

system for our devi.ce s , Our fundamental unit of memory is naturally adapted

to the binary system since we do not a~tempt to measure gradations of

charge at a particular point in the selectron but are content to df.st.i.ngui.eh

two states. In delay line memories one is also content m.erely to recogru.ze

the presence or absence of a pulse, the flip-flop again is truly a binary

device. Hence if one contemplates using a decimal system with either the

iconoscope or delay-line m~mory one is forced into a binary coding of the

decimal system - each decimal digit being represented by at least a tetrad of binary digits. _ Thus an accuracy often decimal digits requires 40

-13-

binary digits. In a true binary representation' of numbers, however, only

3 d"'t ff" t hi ., f 1010

4 191 s su 1ce a ac eve a preC1S10n 0 •

The use of the binary

system is therefore somewhat: more economical of equipment than is the

decimal.

An even more significant virtue of the binary system as against

the decimal is the greater simplicity and speed with which the elementar.y

operations can be performed. To illustrate, consider multiplication by

repeated addition. In binary multiplication the product of a particular

digit of the multiplier by the multiplicand is either the multiplicand or null according as the multiplier digit is 1 or Or In the decimal system,

however, this product has ten possible values between null and 9 times the

multiplicand, inclusive. Of course", a de cdma.L' number- has only log,,..,2·~,.3 J..,_)

times as many'digits as a binary ,number of the same accuracy, but even so

snultiplication in the decimal system is considerably longer than in the

binary system. One can accelerate decimal m~tiplication by complicating

the circuits, but this fact is irrelevant to the point just made since

binary mul.t.ipl.Lcatd on can Lik ewi.se be accelerated by adding to the

equipment. Similar remarks may be made about the, other operations.

The one disadvantage of the binary system from the human point of

vierl is the conversion problem. Since, however, it is completely known h:J"N

to convert numbers from one base "to another and since this conversion can ~c

effected solely by the use of the usual arithmetic processes there is no

reason why the computer itself cannot carry out this conversion. It mig>:'

be erroneously argued tqat this is a time consurning operation. .t3ut a

general-purpose computer, used as a scientific research tool, is called

upo~ to do a very great number of multiplications upon a relatively smalJ amount of input data, &~d hence the time consumed in the decimal to binary conversion is only a trivial percent of the total computing time. A siirtilar remark is applicable to" the output data.

. ' ,

-14-

In the preceeding discussion we have tacitly assumed the: desirability

_ of introducing end ,\'ithdrawi_ng data in the decimal syst.em , 'I/le feel, however,

no great reverence for the base 10 in a scientific instrument and consequently

will probably attempt to train ourselvGs to use numbers base 2 or 8. (The

reason for the base 8 is this: ~ince B is a power of 2 the convers~on to

binecry is tri,-vial; since 8 is about of the; size of 10 it violates weny of our

habits less b~dly thun base 2Q)

5u30 Several of the digitcl computers being built or pl.anned jon

t:cis country Lnd Fngl.and are to contain a so-called "f'Loatdng decima.L po.int.".

This. is a mechani.em for expre0sing each word as a ch~ac-!:. eristi c and a

marrt.Lssa - e < g" ~ 123v45 wou.Ld be carried in the rnachi.ne as (0" 123i,,5; 03),

~';l"lere the three is the exponent of 10 associated ''l'ith the 'number. Tner e



r

,~.rpe?_r to be two l'J.ajor PLl2:'lJOSCB in a (;i'J.oe.1-inrj;)! decimal point system both of

~j!'-,-i.c~";. arise from the fact that the number of digits in a word is a constant,

::"i:xec~ by deoign considerations for each particular machi.ne , The first of t.hese

'?'.:::'PQses is to reta.in in a sun or product as many significant digits ae

t)oJ 55! ble and t he second of this is' to free. t.he human-operat.or' from the burden

.: estimating and inserting into a problem "scale factorsl( -- multiplicative

,~~~'lS"',-ants wInch SC:l"'Ve to keep numbers within the lirni t.s of' the machine.

_ Ther-e is , of course, no denying the fact that human t.ime is

,'>"''-19 U.!11'2d in ar.reng'lng for the introduction of sui.t abl,e scale factors, We n;";_:' 7 ;,"\6:(1':; that the time so consumed is a very smal.L perctntage of the total tiLF;

'y,_) will spend in prepar-ing an inter-esting pr-ob.Lern for our machine. T~'e f: : _ .

2..;;fantage of the floc.ting point is, we feel, somewhat illuscry" In c rder- ...

:_"['":.'/8 SL1ch a floating point one must waste memory capacity

-15-

which could otherwise be us ed for c2.rr;ring more digits per word. It would

therefore seem to us not at 03.11 c Lear ... het.her- the modest advant ages of a

floating binary po.irrt offset the loss of memory capacity and the increased

comp.l exi, ty of the arc.t.hnet.Lc and control circuits 0

'I'her e are cer-t ai.nl.y some problems wi.t ni.n the scope of our device

which really r-eqru re mor-e than 2-40 precision> To handle such problems

we w.i.sh to P~"'1..'1 in t erms of wc rde , whose lengths aZ'8 some f:ix·::;d integral

multiple of 40, mid

prcgrsm the machine in such a manner as to give

:.h? cor-respond'ing aggregates of ~_o digit words the proper t.r-eatraent., He

must t.her; conai.der an addition or multiplication as a ccnp'l ex operation

There

wou.Id seem to be cons.rder-aul.e extra difficulties in t he way of such a

!,~ocedure in an Lnstrunerrt viith a floatine; binary po.irit ,

The rea.der may remark upon our alternate SPG:'.:~S of radicalism and

cons erv at isa in deciding upon various possible features for our rnecharu.sm,

'iJe feel, however , t hat, we have a SOl1IKl rationale whereby we judge the

~~E;r'its of an idea. VIe wi sh to incorporate into the rzachi.ne -- in the form

)1' circuits ~- only such logical concepts a5 a.re either necessary to hDve a

ccmp.Let.e system or higilly convenient because of the frequency with which

-. !:".:,;_;r 0 C cur.

5'!~., On the basis of this criterion we definitely wish to bu:L' ,"-

-.,l.to the machi.ne circuits which will enable it to form the b.inary sum of

,,1fQ 1+0 dig:i.. t numbers, "e nruce t hi s deci, SiD:! D::>-: because addition is a.

~.(~gically basic net Lon but re.t·her because it 'would s Iow t~le mecharu.sm as

l"~3} 1 2-'5 the OpeY2 ;:;"':;I' down encurmous Ly if each addition were programmed OL;

\

.,

t

....

, ,

~ :'\

,

_ .. r:

-16-

:...

f' !

The cases for division and square-root are .much less clear.

It is well known that the reciprocal ofa number .'1. can be formed

to any desired accuracy by iterative schemes. One such scheme consists of

blprovingan estimate X by forming XI .~~ 2.X-aX2. Thus the new error I-aX' is (l-aX)2, which is the square of the error in the p~eceding est~llate~

We notice that in the format.Len of XI, there are two bonafide multiplications

We do not consider multiplication by 2 as a true product since we will

have a facility for shifting right or left in one pulse time. If then, we somehow eould gu.ess .i/« to a precision of 2-5, 6 multiplications - 3 iterations - would suffice to give a final result good to 2--4°. Accordingly a small table of 24 entries could be used to get the initial

ss't imat.e of l/a, Accordingly we see that the question of building a

I

divider is really a f'unct.i.on of how fast it can be made compared to the

iterative method sketched above. We have however conceived a divider

whic:h is much faster than the 6 multiplications of the iterative procedure

and therefore feel justified in building it, especially since t.he amount,

;i' equipment needed above the requirements of the multiplier is not

·_!ll.portant 0

It is, of course, also possible to handle square-roots by

Lterative techniques.

In fact if ..iI. is our estimate of a 1/2 then

,

x.:=-'~:/2 +- a/ii is a better estimate. He see that this scheme involves one

·::'~_-:i,-=;i.on per iteration, As will be sean be.Low ~_.'1 our more detailed

~Xe-:.n:~_natio:l of the arithmetic organ -,~ e do not i:1r.::"ude a square-roote r ir:.

~\il:'~ y].ans because such .3 dev i.ce wcu.Ld involve mor-e equrpment, than we

~'e~.: ::'_S desirable in a first model,

-17-

5.5. The first part of our arithmetic organ requires little

discussion at this point.

It should be a parE'~;Lel storage organ which can I

"

receive a nwnber and-add it to the one already in it, and which is also

able to clear its cont.ent.s , We will call such an organ an aceumul.at.or , It

is quite conventional in principle in past and present computing machines

of the mo st varied types. (E, g. : Desk mul tiplie:rs, standard ltiM count era,

. ,

more modern relay machines, the ENIAC,) There are, of course, numerous

ways to build such a binary accumul.ator, He distinguich two bread types

of such devices: Static and dynami,c or pulse-type acctmul.at.ors c These

will: be discussed in 5,,10, but it is first necessary to make a few remarks

coricerning the arithmetic of bina,ry addition. In a parallel accumulator,

the first step in an addition is to add each digit of the addend to the

corresponding digit of the augend, 'ine second step is to perform the

v

carr-l.es , and Uris must be done in sequence s.i.nce a carry may produce a

carry. In the worst case, 39 carries will occur. Clearly it is ineffiClent

to allow 39 times as much time for the second step (performing the carries)

3.8 for the first step (adding the digits), Hence either the carries must

c e accelerated, or use must be made of the average nwnber of carries, or

'.:oth.

5Q6. Vfe go to show that for a awn of binary words, each of

_:_S:rtZ~:'~1 n, the length of the lar,~est carry sequence is on the ave:cage not

::_'1. exees s of log2 ri, Let Pn ( v ) designat e tr.e probability that a carry

.:::equence is of length v or greater in the sum. of two binary words of ler-_'~":

L. Then clearly Pn(v)-Pn (v+l) is the probability that the largest car"!'; sequence is ~f length exactly'v and the weighted average

'::........ ~; _"_) (p (v ) - p (v + l)) v is the aver-age length of such a carry s.in; C"

.L ._- v""o' n n -

':: '1,;:0 (Pn (v) - Pn (v-I-I) :.: 1 and since Pn (v) ;:; 0 if V>l.1. He notice

-18-

moreover tlzwt an"" 2v <!; 1" Pn (v) and proceed to show that Pn (v) ~ smaller

(1, Cn-v ...... 1)..-- 1).

»>: 2v-+

Observe first

that P (v) = p l(v)-f. ~l (l-p (v), if

n n- 2v~ n-v

Indeed! Pn(v) is the probability that the sum of two n-dig;it numbers.

v:i n,

contains a carry sequence of length :sv. This probability obtains by

adding the probabj}ities of two mutually exculsive alternatives: First!~vim the n-L first digits of the two numbers by themselves contain a carl'y sequence of length ~ v ; This has the probability Pn-1 (v). Second:

The n-1 first digits of the two numbers by themselves do not contain a

carry seCtuence of length ? v , In t his case any carry sequenc e of length ~ v in the total numb~rs (of length n) must end with the last digits of

t he total sequence. Hence these must form the combination 1, 1. 'I'he

next v-I digits must propagate the carry, henc~ each of these must form

the combination 1, 0 or 0, 10 \.The combinations 1, 1 and 0, 0 do not

propagate a carry,) The probability of the combination 1, 1 is i s that

one of the alternative combinations 1, 0 or 0, 1 is~. The total proba,ility of this sequence is therefore ~(~)v-l - _1_. The remaining 2v+l

_".-v digits must not contain a carry sequence of length;: v , This has

-·:·he probability I-p l( v). Thus the probability of the second case is

n-

__ 1 __ (l-p (v)). Combining these two cases, the desired relation

r v + 1 ri-L

.J

"n (v) :::- p 1 (v) -I-- __!_ (I-I< . (v)) "obtains. 'l'he observation that

n- 2v+l n-v

)n(v) --·0 if v;;. n is trivial.

We see with the help of the formulas proved above that

. .)~/;-) - Pn_l(v) is always " -=: __ L ~ and hence that the SUlIl -=. . .-'1 -1-1

/..

terms in the sum;

since, moreover, each

f n-v~ 1· th

o _--,-- sance ere ar-;

2v+1

Pnev) is a probability, ~-.::.

.) . r ) • ) •

. :-' .. l v - p. 1;_V j ::; p l v lS not in excess

. -'. l-- n

-19-

is not greater than 1.

H\-· ( ) 11 (1 n-v+l »> )

enee we nave Pn v ~ ema.i, er, .... ~ •

»> . 2 v _,__ 1

Finally we turn to the question of getting an upper bound on

a", j P"'l(V)~ Choose K so thnt2K~n;2K...l--l. Then

n -"_ v -L "

-.l!_ - K-l + n •

2V-;-1 - 2K"

This last expression is clearly linear in n in the interval

2K2 n ~, 2K Tl, andLt is ~K for n = 2K and =K +-1 for n ~ 2K-;-I, i.e.,

it is ~,log2n at both ends of this interval. Since the runct.Lcn log2n is everywhere concave f!'om below, it follows that our expression is ~ log2n

throughout this interval.

Thus a :.;:_ log2n. n _

'I'h.i s holds for al~ K, i. e.,

for all n, and it is the inequality whioh we wanted to- prove.

For our case n = 40 we have an ?, log240 -:,: 5.3, i. e. J an average length of about 5 for the Lonrest carry sequence. (1'he actual value of

O¥o is 4,62.) 5,7.

-~-le propose to handle negative numbers by means of a

, ~-

system of compl.ernerrte with respect to 2 to some power. To fix on this Dower we further propose to place all numbers F, 'i.e- the 4iJll.achi.ne so that

,.,- I I

. " 0<.; I

. t, -,

Thus we express'~ t~nporarily as Xl' ~J .'0' x39' will be prefaced by a O-th digit expressing the sign, cf.

(These

~~igits

below. )

We then take all complements with respect to 2°:;:1 and observe that

::.f (~ -c 0, we
.~
'.
-, i,.e. , as
'- ,
r: l' _l~)~ ..... l_ <> If now 1: ~ 0, we expr-ess it as O.x.. ,x2, .. : ,x"9i

-~o 39 '; J.::>

2-'1 2

express it for macrrine purposes as the comp.Lernerrt of

LY1'Y2'···'Y39 where (O.xl,x2"'-~Jx39) + (O'YI'Y2,o"'Y39':: (10 0 0 .• ~O). ~;e have thus a 1-1 cor r espondende between the interval

·/~

'-l~ (. -. + 1 and the set of all 40- tuples of binary digits.

508. To effect a multiplication we first send the multiplier

: .. nto a r cgi.st.er- ARJ the Arithmetic Hegis\E:r) which is essentially a set of

-20-

40 flip-flops and whose characteristiys will be discussed below. ~le place

the m.ultiplica.nd in the Selectron rtegi.ster, SR, and us e the accunul.at.or , A,

to form and store the .partial product s, We propose to multiply the entire

multiplicand by the successive digits of the fil~tiplier in a serial

fashion. There are, of course, two possible ways this can be done: We either can start with the digit in the lowest position -- position 2-40 -or in the highest position -- position 2~1 -_ and proceed succes~ively to

the left or right, respectively.

There a!'e a few disadvantages from our

point of view to starting {iith the right-most digit of the multiplier. We

therefore describe that scheme'. Asswlle we have already multiplied the

multiplicand ~ by the n last (n = 0, 1, •.• , 38) digits of the multiplier

and desire to multiply by the next digit /339-n• We assume fu.rther that A holds a quantity Pn/2. de now form Pn+l;;_~n.f./~' 39-'n xa in A and then

2 .

P:!.3-z by shifting the contents of A one stage to the dght -by means of an

slectronic shifter wnich is part of A. Clearly at the end of the operation

;';8 have - apart f rcm possible corrections due to the use of complements

and certain carry problems - in A the 40 significant figures of our product.

To comp.l et.e the general picture of our multiplication technique

;',8 must consider how we sense the respective digits of our multiplier.

Tt1ere are two schemes which come to one! S mind in this connection. One is

C,') have a gate tube associated with each flip-flop of AR in such a f'aahi.on

~.hat t rd s gate is open if a digit is 1 and closed if it is null. de wouJ_d

then need a 39 stage counter "1:.0 act as a switch wru.ch wou.Id successively

d,imulate these gate tubes to react. A more ei'ficient scheme is built i.n·~·,-

.",.11 8. '':;~"lifter circuit which enables AR to be s;d.fted one stage to the righT

:}-3.ch '~ime A is shifted and to sense the va.lue of the d.i.git in the

• 'oJ.

ra.gnt.-

fJ.ip-flop of AR •

The shifter itself requires one gate tube per stage.

-21-

.

We need in arldition a counter to count out the 39 steps of the multiplication,

but this can be achieved by a six stage binary counter. Thus the latter is

more €conoroi-::d of tubes and has one additional virtue from our point of

view wi,ich we d Ls cuss in the next paragraph.

The choice of 40 digits to a word (including the slgn) is probably

adequat-e for most computatiomiJ. problems but situations cer-t.a.lnry might

arise when we desire higher precision, Le~ words. of greater length. A

trivial illustration of this would be the computation of 'yTto hundreds of

figures 0 More important . instances are the so.Lut.Lons of N linear equations

in N variables for large values of N. (Probably when N :> 10,) It is

therefore desirable to be able· to handle numbers of 39K digits and sign by

means of program i.nstructions -- one way to achieve this end is to regard a

word of length 39K as a sequence of K words ea8h of length 39. In order to

~)e able to treat numbers in this manner, it is necessary to keep not 39

~.:i .. gits in a product., but 78; this is discussed in more detail in 6~603 below. "0 accomplish this end (conserving 78 product digits) we' connect , via. our

'.;'ifter circuit, the right-most digit of A with the left digit of AR. Thus,

\·.:·:;8n in the process of multiplication a shift is ordered; the last digit ·of ). is transferred into the place in Ali made .Jacant when the mu..1tip1ier was

I • . .b_tft ed 0

5Q9< In the previous discussion we tacitly assumed that the

~."ltiplier and multiplicand were non-negatd.ve • If either or both are

:~gatj ve we must perform certain correction operations. If the multiplie"

~'.~ negat ive , we add t.n e complement of the multiplicand into the partial

~',-cC)dUC7. P39/2j if the multiplicand is negative; we connect , via our shi.ft,e

,:1 r-cui t., the left-most digit of A with the right digit of A.it and pass 1

c_ ; . .:-.'lS this di.git into A. Thus, when a multiplication shift is ordered, the

-:22-

complement of the multiplier is fed into the partial products -- clearly an

, J

additional complement correction pulse is also needed. Lastly, if both the

mu1:j:;iplier and multiplicand are negative, we must net, only carry, out both the

processes described above, but we must also introduce an additional pulse to correct the digit in the 2.0 place. lie make the above discussion somewhat

more precise in the next paragraphs.

5.10. To complete our discussion of the multiplicative organs of

our machine we must return to a consideration of the two types o'f Accumulators

mentioned earlier. The static adder operates by sjmultaneously applying

static voltages to its two inputs -- one for each of the two numbers being

added. -"ihen steady-state opeeat tcn is r-eached the total sum is formed

complete with all carries. For such an accumultor the above discussion is

substantially c~~plete, except that it should be remarked that such a

~i.rcu_it requi:res at most 39 ri se times to ccmp.Let e a carry.

I Each stage of a dynamic accumul.at.o r consists of a binary counter'

.:or registering the digit and a flip-flop for temporary storage of the carry.

'1l:1e counter receives a pulse if a 1 ·is to be added in at that place; if this

,~uses the counter to go froml to 0 a carry has occurred and hence the carry

i'Li.p-f'Lop will be set. It then remains to perform the carries. Each flip-

flop has associated with it a gate, the output of which is connected to the

!:t8xt binary counter to the left • The carry is begun by pulsing all carry .[Qtes< Now a carry may produce a carry, so that the process needs to be

rspeat.ed until all carry flip-flops register 0 < This can be detected by IT<: S".

of a circuit involving a sensing tube connect.ed to each carry flip-flop,

WdS shown in 5.6 that,on the average, 5 pulse times (flip-flop reaction t:_i-,:_~ s::'e required for the complete carry. An alternative scheme is to connect

~ gate tube to each binary counter which will detect whether an incoming

C:.u!.:ry pul.se would produce a oarry and will, under- this circumstance, pass tile incoming carry pulse directly to the next. stage.

-23-

This Circuit would require at most 39 rise times for the completion of the

carry.

Vie ret.nrn now to the multiplication operation. In a static

accurrmlator \'IfE:: order simultaneously an addition of the multiplicand or Dull,

a shift, and a complete carry, for ,each of the 39 steps~ In a dynanic

accwnulator of th~ second kind just described we order in succession an addition 01 the multiplicand or null, a complete carry, and a shift, for

each of the 39 steps. In a dynanri.c accumulator of the first kind we can

avoid losing the time required for completing the carry at each of the 39

steps. We order an addition by the mul.t tp.It.cand or by null, a shift, and

,

then order one pulsing of the carry gates. This process is repeated 39

times. A s inpl.e arithmetical onalysis whi.ch will be carried out in a later

r epor't , shows that at each one of t.heae intel!I:'.ediate stages a single

carry is adequate, and that a complete set of carries is needed at the end

,

onl.y , ~ie then carry out the complement corrections, still without ever

order.ing a complete set of carry operations. Vlhen all these corrections

'l.re completed and after round-off, described below, we then order the

;~,omplete carry. mentioned above.

5.11. It is desirable at this point in the discussion to

I

ccns.irier- rules for rounding-off to n - digits, In order to assess the

c_haracteristics of alternative ~ossibilities. for such properly, and in

;:)ar-::'icular the role of the concept of "unba.asednes s", it is necessary to

viaualize the conditions under which rounding-off is needed.

Every number x that appears in the computd.ng machine Ls : an

appr'c x:i.mation to Mother number x I, which would have appeared if the

r;alcul."3.tion nad been performed absolutely rigorously. The approximat.i.onc

:'0 wbich we refer here are not those that are caused by the explicitely

-24-

introduced approximat.Lons of the numerical-mathematical set up, e.g. the replacement of a (continuous) differential equation by a (discretej difference equation. The effect of such approy~tions should be evaluated mathemat i cal.Ly by the person who pl.ans the problem for the macrrlne , and should not be a direct concern of the machine. Indeed, it has to be hand.l.ed by a mathematician and cannot be ha.ndled by the machine, since its nature, complexity, and difficulty may be of any Kind, depending upon the problem under consideration. The approximations which concern us here, are these: Eve!1 t.he elementa:::-y operat i.ons of aritcLIDetic, to which the mathematical approximation-formulation for the machine has to reduce t he t rue (possibly transcendental) problem, are not rigorously executed by the

machi.ne , The machine deal.s with number-s of n digits, where n, no matter /

:)0\1\' large, has to be a fixed q\!antity. (rie assumed for our machine 40 digits, including the sign, LEo" n = 39.) Now the swn and difference of two

;.1 - digit number-s are again n - digit number s , but their product and

'1Uotient (in general) are not. (They have, in general, 2n or '.:" -. digits, .:"'~~,pectivelY.) Consequently, mv.1tiplication and division must, unavoidably

~:;'} replaced by the machine by two different operations which must produce

' .. ,. digits under all conditions, and which, subject to this limitation, .'~:;ould lie as close as possible to the true multiplication and division. '.l;:,G might call them psuedo-multiplication and division; however , the

~,:cepted nomenclature terms them as multiplication and division with round'':';[1. (We are now creating the i.mpression as if addition and subtraction 'I\i~' ( "'ntireJ.y free of such shortcomings. This is only true inasmuch as they do

:· -, ot cr eat e new digits to the riZ:1t, as tmltiplication and division do. "!0:i!6V8r; they can create new digits to the left) i.e" cause the numbers

:.() II g(-o 11"1 out of r-ange"; This complication) which is, of course,wo:ll known"

-25-

is normally met by the planner J by mathematical arrangements and estimates

to keep the numbers II within rangello)

'Ihus the round-off is intended to produce satisfactory n-digit appr-cximat.Lons for the product x y and the q.iot.i.errt ::.t_ of two n--digit numbers. y

Two t.h'ings are wanted of the rOP-'ld-off: (1) The approxamat.Lon should be

good, L, e. J. its variance from the "true II xy or

x

--- should be as small as

y

practical; (2) Tl16 approximation should be unba.ased, i. eo, its mean should

be equal to the '!7.:rU.8 IT xy or ~ 0 y

These desiderata must} however , be considered on the basis of some

further comment,s , .specifically: (0) x and y themselv.es are likely to be

the results of similar round-of'f'e J directly or indirectly inherent J L e.,

x and y t hea .. 3slves shoul.d be vi.ewed as unb'i.ae ed n-d tgi.t approxi.aat.Lons of

':tru.ei! Xl Fwd yl va.Iues j (b) vs taJid.ng of "var-Lances " and "means" we are

'.r::tr,J(h.lclng stat.istical concepts. Now the approximations which we ,are here

e ons idcrtiug z.re not really of a statistical nature: They are due to the

·~eculiariti€s (from our point of view: inade.quacies) of arittffnetic and of

Lgita.l rep:cesentationJ and are therefore actually rigorously and uniqubly

~;1.~~te:rmined, It seeme, however , LI'l the present state of mathematical science,

·~':J.thsr hopeless to try to deal with these matters rigorously. Furthermore,

J. cer-tai.n st.atistical approach, wh.ile not t:ru.ly justified, has always gi.ven

2(eqlla~e practical results. This consists of treating those digits whi.ch

. . .

·:-:.;6 does not wish to use individually in subsequent calculations} as r and.rn

-r6riablesJ with equxprobahLe digital va.luesyand of treating any two such

.1 !_gUs as sta ti stically independent (unless this is patently fa]_se)"

These t.hi.ngs being under-stood, we can now undertake to discuss

:;")lJ.rtd·'G~f pr-ocedur-es J realizing that we will have to apply them to the

l'Y.ltipl'_catiun and to the division,

-26-

Let x = (. f 1" .• ;; n) and y = (hl,1" • • "n) be unbiased approxi-

~

~~ I

Then the IItrue" xy = ,(. '~l 0 •

illations of Xl and yl~

and the "t r-re"

x

y

= CWl .•• W w lW . 2.'~) (this goes on in Lnr'Iru.t.uml )

. n fi-j- n+

are appro)~ations of x! y! and

--.

yi

BefoJ:'e we discuss how to round them

.off', W3 must Know whether the "true!! xy and~- are themselves unbiased y

approxunat t.ons of X'I v I and ~~

~ y'

xy

is indeed an unbias~d app~oximation of

! ! .,

X Y i> l.e.,

the mean of xy is the mean of x (;::-, x I) t imes the mean of

J~ (:.;: s' ), oVling to the independence assumpt.Lon which we made above.

However, if x and yare closely correlated~ e.g~ for·x = y, ioe:~ for squar-

a.ng , there ,is a bi.as , It is of the order of the mean square of x-x ~, i. e.,

C )

of the varc.ar.ce of x, Dinee x has n digits; this variance is about .--=-.

22n "Tf tJ.-, d.i ··t" f I' d .J..' 1 ,-" th . . r.l

',~ ... e g~. sox ceyon n ar e ent.a re Y unxnown, I en our or.rganar,

assuapt.Lons give the variance . _ _},;._,_ .) Next, x/y can be wr i.t.t.en as x.y-l_,

3,22n

:\nd s.i.nce we have already di.scuased the bias of the product, it suffices

,-,"lOW to conai.der- the reciprocal ;)T-l, Now if y is an llilbiased estimate of y' ,
·:-,hen -·1 is not unbiased es-::'irrtate of 1-1 i. e", the of yis
s an Y s mean " ;d.pi.'oeal is not the reciprocal of y's mean. The difference Ls >. .. y-3

::._ .t.l~i.:- the variance of y, L e. _, it is of essentially the same order as the

~'ias found above in the case of squaring.

it f'o.Ll.ows from all this t:la:' it is futile to attempt to avoid

1

'oiases of the order _"L_ or less.

-2n

, 2

-.:_ C"_"3'-lO-24) is the critical cas e ,

~78 -

:is -~:j- ("'-.2.10-12) times our last significant digit.

2··'·

Since we propose to use n:·~39, therefol''3

Note] that this possible bias Levc"

Hence we will Loo.c

.~()r ::-::>L'Ild-off rules to n digits

'> -s-,

for the "t rue" xy '" (.~' o.,r F 1': " ;\.

"'>1 "In::>n+ ",

and x/~l' :: (,wI". wn wn+l wn+2" •• ). The desideratum (1) which we f'ormul.at ~! )revio;.isly) that the variance should be smal.L, lS still valid. The

.. _-

desi,::~~ra.tlUil

however, that the bias shoul.d be zero, need, according t c

-27-

/ i

the above, only be enforced up to terms of the order .~-.-. 22n

The round-off procedures, which we can use in this connectacn,

fall into two broad classes. The first class is characterized by its

Lgnoring all d.2.gits beyond the n-t.h, and even the n-th digit itself, which

it repJ..aces by a 1.. The second e.Las s is charact.er-i aed by the procedure of

I,

addi.ng one unit in the D"t'-l-st digit) per-f'ormi.ng the carr-l.es which this may

Lnduce , and t.hen keepi::J6 o~y the n first digits~

·,tlnen applied to a number of the f'orm «"1" 0 ~ v n ~.r. 1 v '2' ". " )

_ ni-.J.. nT

! (in infini t ua ~ ), the effects of either procedure are easi.Ly est.amat.ed a In

the first case we may say thHt we are dealj . .:og with (.vI'. ~ 0,· vn_l) plus a randon number of the form (.O •• ~Ov -v +1 v",.J .. 20'·~); Leo, random in the

n n ' .. T

,

'i.nt erva.L 0, .. f_ 211-1

:'hereL::re have a

Compar-ing wtt.h the rounded off (_, VI ~ ., v n. .11), we

, '

/ n / '1

cc_fference r andom in the interval - 1 2l ~ 1 .2'.

Hence its

In the second case we are dealing with

vn) plus a random number of the form (.O~. ~OO v v 2

n+l n+

=sndom in t.he interv8.1 0, 1 0 The 11 rounded-off IT value will be (ovl, •• Vn) 2n-1

:'.LcrewJed by 0 or by 1/2n) according to whether the random number in question

_d_8S in the interval 0, _1_. - 2n-~1

': l!iiparing with the "roum ed-of'f" value, we have a

1 / n

or in the interval --=-':"- , 1 2 •

2n4-1

Hence

difference random in the

'_ntervals 0, .. 1...- and 0, 2na .

E::::1ce, its mean- is 0 and

1 1

- -~-l ' 7"n-+-T • 2n+ .2 .-

~p fin:i.te), then these results are somewhat affected. The order r:f magni-;"\,,--,

;~_f the variance remains the same, indeed for large p even its relative chC1!:\~.'

.~.:i neg].:..gible, The mean differe.t::!e may deviate from 0 by. amounts which a:;:--j

'.~asily estimated to be of the order

._l_. _L = _:J...........- •

2n 2P 2n+P

-28-

In division we have the first situation, x/y:: (.w1 •.• ww lw,,..,-4.),

- . n n- n-lJG

i"e. p is infinite. In multiplication we have the second one,

xy :=

(?~ '-(" '·r -.~).

• (" " " • I; : - ,~ ~"'.,:.:., '), , l 0 e. p = n·

',j_ » n :;.:1 . .L _ . .;:...rl

met.hoc s are app.l.i.cahl e wi thcut modification. In mu.Lt i.p'Li.cat.Lon ;;3. bias of

Her!C8 for the di Yision both

J.~J.y

pOlntless to

.ins Let. on removing b~8S8B of t.h i s size. de will t.her-ef'or-e UEc the urunodi.f'Led

It 511 0 1..",-:.:!_ be not ed t.hat the bias i:J. the case of muI7,iplicBt.: .. on can

be r-emoved =-n va::~ion6 si!"'.:t:-'le ways. G::;.uss i faI'"lOUS method of "rcuncu.ng vt.he

.::::.mL;·ig'.~c·c:.s case to t:"e nearest 3'; en D'-:!nber:l Ls OEe instance o.f this, nowever,

r o r tt.'.S reE!.::')::S set forth above, we shall no:' ccmp.Li.cat e the f!i.achin€t by

.:':.ntrod:}.cing such cor rectd ons ,

'It::s we ha vet wo st.an dard I! ro und - 0::£'1' r: m 8-::' hcds , both un biased tot he s.x:tent to whi.ch «e need t hi.s , and with the variances 1/.3 22n and 1/12e22nJ that is .• wib the dispersions .J~ _ _l_ = .58 times the last digit and

r+

.-:,,'.3

v.'3 2n

.29 times the last di.git.

The first one requires no carry

!:',:_:::ilities, the second one requires t.hem ,

Inasmuch as we propose to fa 1'.'1'. the product x+y ' in the accwnulator,

.1 rich has carry facilities> there is no reason wh,7 -We should not adopt the

.'( ,1.i~::lif'.g scheme des crtibed above whi.ch has the sme.ller d:i_spe:rsionJ i, e < > t.he

'~e whj_ch ffi:'::'y induce carries. In the case) however, of d.ivision we w i.sh to

,':foid SCi""IG,7Ic~S Lead ir-g to carries since we expect to form the quot.Lent in t·'.;·c

Lt.h .. ..

'~::l nmsc.i.c regi.st.er ,

which does not permi.t, of carry operations,

The s cher. ~

·~ich we accordingly adopt is the one in whi.ch wn is replaced by 1. This

.-,~". t,hc·'.-l 1, ,'.'3 the decided advant.age that it enables us to write down the appr- .. ·

-· ... .'.~e con,)~ie~-:~ as soon as we <,~n;';1JI its first Cn-·l) .d.i.g.i.t.s , It will be seen ~~~l.

"" ~,4 t>f;':.CW that our procedur-e fo:.~ f'orming the quotient of two numbers will

-29-

always lead to a result that is correctly rounded in accordance with the decision just made , We do not consider as serious the fact that our rounding scheme in the case of division has a dispersion twice as large as that in muJ.ti;>2ication since division is a far less f:i.v:qu"3nt oper atd.on ,

A .f.inal rE'maX'!:' s ~:;~;:]"'( be raade in conne-rt.Lon w.i:'",h the pas sible, occas.Lona.L need of carr/:'_r:.g mo.::e t.han n :; ]9 c.ig~;.ts, Oi;r' logi.cal control is s'J.f.ficiently flex:~_~)le to permit treating k (::-; 2;3) ' •• ) words as one number, and tb:s ef.f:'ecting a ::. 39ko In this case t.l:":,= round off has to be programmed ~or tU.3 n. The m,'ltiplier produces all 78 dj.gi-t,s of the basic 39 b~T 39 digit m,ul~irlicakon: The first 39 in the eccumul.at or-, the Laat 39 i..'1 the :register~ Tbe,se f.1UBt then be manipulated in an appropzi.at.e manner.

(~or det aa.Ls cf. 6~6h3,) The divider work·'_~ for 39 "digits onl.y : In forming '~~/y , it is necessary, even if x and yare ava.i.Labl,e to J:?k digits, to use o~llY :39 digi.ts of each, and a 39 digit result will appear. It seems most conveni ent to use this result as the first step of a series of successive O,?pro.i:~.matj_ans. The successive improvements can t hen be obtained by means

:.: the well known iteration formula (er, 504). For k :: 2 one such step will :::: needed, for k = 3, 4 two steps, for k = ), 6, 7, 8 three steps, etc.

5.12. We might ment.Lon at this time a oompld cat fon which arises :'i,en a flo(!U.ag bi.nary point is introduced Lnto t he machi.ne, The operat Lcn '~r:: adc,itio:1 'W:licn usual.Ly t akes about 1/10 of a p-'.ultiplicat.ion time becomes ~).c;h Longer in a machine with f'Loat.Lng binary point since one must per ror« ·,i1ift(; End round-ofis as well as ad.ditions., It would seem reasonable in <.i' .-,) >:se to place the time of an acJEion as about i of a mul.t.Ipl i.catd.on, At J, .•• .: -at e ~.':, ::..-; clear t hat the number of additions in a problem is as Import.ant

_~. fad;)i.~ in -+:.he t ot.eL so:'ution tj.me as are the nwnber of multiplications.

\ "

',;' r

~. ,

/ { I.

, -3D-

"

5.13. We conclude our dascusedon of the arithmetic uni.t with a

description of our method for handling of the division operation. "i'o perform

a division we wish to store the denominator in the selectrbn register, the

_ 1

partial remainder in the accumulator and the partial quotient in the arithm.etic register. Before proceeding further let us consilier the se-called

restoring and non-restoring methods of division. Normally when one divides --

for the moment we assume the numerator and denominator are both positive -

.'

one subtracts the denominator, from the numerator, or partial remainder, if and only if the former does not exceed the latter. - If the denominator is in

excess of the -numerator a null is put in the quotient, the remainder is .

shifted one place to the left and the computation proceeds. This so-called

restoring scheme utilizes, in a number system to the base m, the digits

0, I, .'~J m-I in each place in the guotient. The difficulty of: this scheme

for machine purposes is that the only economical method for comparing two

I

numbers as to size is t,o subtract~one from th6 ot.her~ If the partial

- ~ .,

r8Jnainder r were less than uhe denominator d, one would then have to add

n ~

J. back into r -d in order to restore the remainder. Thus at every stage

, n ~

(J unneces sary ope rat.Lon wou.l.d be performed. A more symmetrical scheme is

~otained by not restoring.

"

In this niet.hod one compares the signs of rn and

l; if they are of the same sign, the denominator is r-epeatedly subtracted

, ,un; the remainder until the sign.s become opposite; if they are opposite, the

.encmi.nat.or is repeatedly added to the remainder until the I signs agaan become

like. In this scheme the digits that may occur in a given pla.ce in the

quotient are evidently -:f_l, :<:2, .'., ± (m-l), the j..lositive digits cor-res

iJvnmng to subtractions and the negat.Lve ones to additions of the deuomi.nata.:

Cu the remainder.

Thus we "have two (m-l) digits instead of the usual 1h digits. In

... ,·'"'-31

\ J

-31-

the decimal system this would mean 18 digits instead of 10. This is a

redundant notation. The standard form of the quotient must, therefore be

restored by subtracting from the aggregate of its positive digits the

aggregate of its negative digits. This requires c~rry facilities in the

place where the quotient is stored.

We propose to store the quotient in AR, which has no carry

facilities. Hence we could not use tins scheme if we were to operate in the

decimal system.

The same objection applies to any base m for which the digital representation in question is redundant -- 1. e. when 2 (m-l) > m, Now 2 (m.-l) ~ m

whenever m ~2, but 2(m-l) = ill for ill = 2. Hence, with the use of a register

1iJhich we have so far contemplated, this division scheme is excluded fr01ll the

start unless the binary system is used~

Let us now investigate the situation in the .binary system. We

inquire if it is possible to obtain a pseudo-quotient by using the non-

-~estoring scheme and by using the digits 1,0 instead of 1, -1. Or rat her-

.'113 have to ask this question: Does this bear a simple relationship to the -~rue quotient?

Let us momentarily ass~e this question can be answered affirma-

~lvely and describe the division procedure. We store the numerator initially

.i.n A, the denominator in Sh and wish to form the quotient in AR. We now

";j.ther add or subtract the contents of SR into A, according whether the

Digns in A and SR are opposite or the same, and insert correspondingly a °

OT 1 in the right-hand place of AR. We then shift both A and AR one place

::.(::'.ft -- note therefore that A as well as AR must now be capable of sl1ifting

::.~1 either da.rect ion -- and proceed, carrying out this process 39 tdrues ,

,

Denote this digit, which is 0 or 1, by c. The true digit, which is -1 or 1,

)

I 1

- ,

-32-

is then2c-l, However, we record, as ind~cated, c and not 2c-1.

We answer now the question raised above~ namely, how can we correct

the ps~udo--qu.otient C now in AR so that it is the correct quotient QG First

we recall that all numbers in' the machipe -- apart from the sign digit

are less than 1. "Hence in forming N/D, we first must adjust Nand D so that

-,

the result will be in the machine range. We have at the n-th stage of the division process sketched above, 2nr = ZnN_2n-l (2°0-1) D_2n-2 (2cl-l)D- ••• =

n n~l

2nrl - 2n+1 (Co.,/ + Cl /' 2 + ••• "+ Cn+l ..4 ) D+ L 2i. With the

~ 2 /2 ~ ~- 1

help of this relati6n we see that N = (2C-l + 1/239) D+ r39 and hence that

Q = 2C - 1+1/239• - Thus to fbrm Q from C we shift C one place left - this makes the 2-39 position null -- insert 1 in the 2-39 position -- note that this is our last mentioned rounding-off rule --, and add 1 to the 20 position, wfUch is the "sign flip-flop. Thus the 2° flip-flop must be changed to a

I

binary counter, i.e., a flip-flop with its two input leads tied together.

o Note that neither 1 which we added in produces a carry: The 1 in the ?

position produces none, since it is in the highest position already. The 1 in the 2-39 position produces none since it is added to a 0 there.

1-

t '

6.0.

J'he Control

6.1. It has already been stated that the computer will contain an

organ, .cakl.ed the Control, which can aut.omat.Lca.Hy execute the orders at,ored in the Selectrons. Actually, for a reason stated in 6 .. 3, the orders for th,is

Qomputer are less than half as long as a forty binary digit number, and hence

the _orders are stored in the Selectron memory in pairs.

....

- I

Let us consider the routine that the control performs in directing

,/ a computation. The control must know the location 'in the Selectron memory

of the pair of orders to be executed. It must direct the Selectrons ,to tran6~

j •

mit this pair of orders to the Selectron Register and then to itself. It

must then direct the execution of the operation specified in the first of the

two orders. This usually involves causing the Selectrons to-transmit a

specified number to the Sele;ctron Register and causing the arithmetic unit

to pe~form some operation on this number. The process must then be repeate~

with the second order of the order pair. This entire routine is ·repeated.

~til the end of the problem.

6.2. It iscl!3ar from what has just been stated that the control

must have a means of switching to a specified location in the Selectron

1':1

memor,y, for withdrafling both numbers for the computation and pairs of orders. Since the Selectron memory (as tentatively planned) will hold 212 = 4096 forty-digit words (a word is either a number or a pair of orders), a twelve~

digit binary number suffices to identify a memory location. Hence a

swit~hing mechanism is req~red which will, on receiving a twelve-digit bi.nary number, select the corresponding memory lo-cation.

"

The type of circuit we propose to use for this purpose is known

as a decoding or many-one function table. It has been developed in

variou_s forms independently by J. Rajchman and P. Crawford. It consists

of n flip-flops which register an n digit bihary number. It also has a maximum of 2n output wires. The flip-flops actd, vat.e a matrix in which

I

the interconnections between ll1put and output wires are made in such a

way that one and only one of 2n output wires is selected (i.e., has 'a positive .ToJ.tageapplied to it). These interconnections may be established

by means of resistors or by means of non-linear elements (such as diodes or rectifiers); all these various methods are WIder investigation. The

Selectron is so designed that four such fun.etion table switches are required, each with a three digit entry and eight (23) outputs. Four sets

of eight wires each are brought out of the Selectron for switching

purposes, and a particular location is selected by making one wire positive

with respect to the remainder. Since all forty Selectrons are switched in

parallel, these four sets of wires may be connected directly to. the four

flli~ction table outputs.

6.3. Since most computer operations involve at least one

number located in the Selectron memory, it is reasonable to adopt a code in which twelve binary digits of every order are assigned to the specifi-'

cation of a Selectron location. In those orders which do not require a

number to be taken out of or into the 8electrons these digit posit~ons

will not be used,

•. t

Though J,.t has not been defl.nitely decided how many opera iODS

will be built into the computer (i.e. how many different orders the control must be able to underatand l , it will be seen presently that there will probably be more than 25 but certainly Lese than 26• For this reason

6 binary digits are assigned for the order code.

(It is worth noting

-35-

that. a choice of six digits as compared to five, has the advantage that the code m.ay be expressed outside the machine in the octal system.) It thus turns

out that (each o~da:t' cons i.st.s of ei.ghteen ba.nary cLig:i.ts, the first twelve

id9!l.t5.fy::_r:_g a memory los;;;.:,:;_on s.nd the rema::_f1.~r:G s~.x spes.·:_fyiEg an operation.

the s ame m.sm:'>~'Jr O~C'!;8l1 is to be used in t hi.s '~OJ;:.1:li:t'-;r' for both order-s and

numbez-s , it is efficient to make the: Lengt.h c f each about equi.vaf.errt , But

number-s of s:'.ghteIJ!1 bin2.::'y di.g it.s would not be 3l:fficiently acc.rrat.e f'o r the

p:c'ob~_eT..s whi.ch this machi ne wil.l so.l.ve , hat.he:r) an accuracy of at Least, :0-.10 CT 2":3:3 is requi.red , hence t.he number« are made long enough to acco-

.nodat e t'.\'(j orders"

TLe spec.i.f'Lcat.Lon of an operet i.on in an order occurs in b.i.nary

-~(lrmj so t.hat another many-one or decoding fun ct i.on table is required to 32code the or ter . This func t i.cn table will have six ini)<)t flip-flops and :.-~6 or 6)+ out.:;J\lts ~ each corresponding to a pos sible order. Since there will 'tOt be 64 different orders, not all 64 outputs need be provided; However,

:_': is perhaps wo~thwhile to connect the outputs corresponding to unused ·.-::dE:r possibilities to a checking circuit which will give an indication

"''f~~ene''ler a code WO::I!! unlnt.e.l.Li.gf.bl.e to th'3 control is r-eceived in the input

.. >.3_p.-flopG,

':';<.1'; fill'c:,~:_on t ab.l.e just, described ene rg.Iz es a different out.put.

I,_ re f'JI' e.2.c.11 di f'f erent code operat.Lon, As will be shown lat er , many of t.;:.-, .rt eps .i.nvc Lved in executing different orders overlap. (For examp.Le , addi-.-; ., ,:'_'ltipJ.ic ati on, division, and gcing from t ae Selectrons to the register a._

·.Zlclut.'s ·:~::,a.n.'f6rrj_n8 a number from the Seledrona to the Selectl'on hegist.·~ _ ·>··:r tL_·'.; i~'33.s::m it is de s.i rahl,e :'0 have an additional set of cont ro.L wires.

'oJ.·:::h of ;~hL;:1 is activated by any particular combination of dif;:erent code

-36-

I.

~~ words. These may be obtained by taking the output wires of the many-one

function ta.ble and using them to operate tubes which will in turn operate

a one-many (or codJ.,:,;,;;; f'':''1.ction table. Sueb 5. func t i on table consists of a .

me:~·,!"j_~~; as 06!OreJ but in t.hi.s case only O:1q of t~e l'1P'2.t wirss is activated

act.i.vat.ed. I'hi.s particular table may be re.fs:",~'3':! to as the re-codir.g f'unct.Lon

T~s t.we lve f'Li.p-f'Lops operating :':18 ;:01).1' funct Lon tables used in

sele~~~t.:·1Jg a ;)elect~on position, and t.he s i.x f .', Lp-f'Lops cper-ating the function,

!

table us eel .'":01' dscodi.ng the order , are referred to as the Funct.i cn Table

l{egist '3:;"':, F H ,

6~L:.o L'Ot us consider next the process of t.ransf'er r-Lng a pair of

orders from the Se.Lect.r-ons to the control.

These order~ first go

• .L.

lG.,,,Q

SR.

'i'he or-der which is to be used next may be t ransf'er-r-sd c:.irectly into FR.

I'he second order of the pair must be removed from 0R (since SR may be used

'.;;l1en the fic:'st order is executed), but can not as yet be placed in FR.

;-ence a temporary storage is provided for it " This storage means is called

·;·;1e Control Register, CR, and consists of ej.ghteen fli.p-flops, . capable of

.-'8ce:_ving a number from SR and transmitting a number to FH.

As al ready stat.ed (6.1.), the control ffi"J.st know the location of

'~he pC'.5_r, o.~ o r-de r s it is to get f'rom the 0E:'lectrcn memory; No rmalIy this

.i.ocatc.on l',·~J_l be t.he one follovdng the location of the two orders just

(:;xec'Jt.8d. That is, until it receives an order to do otherwise, the cont.v.".

Mill +ake its orders f rcm the Sal.e ct r-ons in sequence. Hence the order

-... j

Lc ca: .. ".or· FCc"'.? be remembered in a twelve stale binary counter (one capable - r,our-.+:.:_ .. :g '·c.:) 212) to which one uni.t is added whenever a pair of orders is

s.v:.sC".+'sd.. 'l'h.i.s ccunt er- :i_a cal.Led the Control Count.er , CC.

-37-

The c;l.etails of the process of ?b:taining a pair of orders from the

Se.l.ect ron are t.hus as follows. The contents of CC are copied, into FR, the

proper Selec'~ r on 1 ocat.i on i~ select ed , and t':e cant ent s of the Selectrons

trar:s..:'f:;I:H:'':_ T.:) l t and CR. CC is advanced by 'j_l8 un.i.t so the cont ro l will be

i

pr-epar-ed t,::; fJ al.e c':' ·the next pair of crder s [·;:'U.1 'i~~8 meaory , (There Ls ,

however , an exceps.ion from this last rule 1'0:':' '~he eo-veal.Led t ransf'er orders,

cf', 3,5~ This ffiqr f'eed CC in a different menn er , cf", 606,6.) first the

,

order itt FB. is exacut ed and then the order in eR is transferred to FR and

execut.ed ,

I:, shcul.d be noted that all these ooe rat.Lons are directed bv the

l:" \ . ~

control :!.:~~8<~i' j net onJ.ythe operations specified in the control words sent

i.o FR bu.t also the autom.atic oper-at.Lona rrequd.red to get the correct orders

~here.

<, :;';:-1 sequence from the memory has been described, it only remains to consider

S~.nce the method by means of wh.i.ch the control takes order pairs

";c")W t he control sl',ifts itself from one sequence of control orders to another

:>, acco rdance with the oper-at.Lons described in 3,5. The execution of these

~T;.erc:t::_ons is i·e.l,"J.tively simple., An order ~,e~J.i~-E for one of t.heae operations

·./)nl;~<i::!s t he ·(":,w8J.ve.,d:i.g:l t sped.:fication of t.:,e position to wh.i.ch the corrt ro L

.;_;.,; to '09 swi.t.ched , and these d~_gits will appear in the left-hand twelve

r.ip-·fl.nps of FR., Al.L _'",;:' 1.."; .requi red to shift the control is t o, t ransf'e r

he 'cOl""lteT[,S of these flip-flops to ce. i·fuen the control goes to the

')elect.d'Ot18 for the next pair of orders it will then go the location spec.i fi '''.t

;.\7 tJ::t') number so trans fe rr-ed ,

,

In the case of the unconditlonal transfer;

;,::.e t',:.'ilJ!;~~~:r ·j_s made autoffi<:tically; in the case of the conditional transf2:~

.. 1, is m.~.d.~ only if the s.ign counter of the accumulator registers zero.

-38-

6,,5. In this report we will -d.i.s cusa only the general method by

means of whi.ch t.he cont.ro.l, will execute spec'i f'Lc order-s , leaving the details

uribi.L !.B.twr' _ It h.J..s 2.Jrc~.d;:; bBen explained ~:5 -.5) that 'ro'm a cireui':. is to

a cr.c:",-~·:~ _---.>'-, ~,~ ~f.8.de beT.:"!.)e~ c. static type ,DC .-:c. ::'.ynamis type circui t ,

When the :-!,e;=;>.gn of the control is consader ec., q~f, same choice arLaes , The

f'unctc.on of the control is to direct a sequence of operations which take.

p.Iace in the vari.ous ci reui ts - of the computer (including the cireui t 8 0 f the

::.ontro_'_ ~.t,se]_f); Consider what is involved in directing an operation. The

cont.ro.l I'l1~'.E"·~. s2.gn" .. l for the operation to begi.n , it must suppl.y what.ever sig-

11a1s a::-e ·~-~(it,.ired :'0 specif.y th3.t, part.Lcul.ar operation, and it must in some

-t'::-'Y 1G1(Ht when the oper at.t.on h3.3 been comp.l.et.ed so that i.t may start the

f,ilcce3ding operat.Lon , Hence t:'8 controi circuits must be capable of timin,g

t.he oper&i:".ion3o :.ct shou.Id be noted that timing is r equd red whether the

o i.r cuf.t. P(li:'.l:>.'-'l"m.j_ng the operation is static or dynami c ~ In the case of a ':, ':,at::':: typ,~ circuit the control must supply static control signals for a

\'''l!'ir: .. d of t i.ne sl:.fficient to allow the output vo~.tages to reach. the steady-

!.::",ats cond i.t ion. In the case of a, dynamic t.ype c.i.r cui.t the control. must sene.

' .. r.e e~TSt."":r" ~l:o-we',-er) t hough same of the c~l~cuits of the computer we are

pl.an ... "1~.r_8, w~'_l_}_ be static, they will not all be so, and hence pulses as weJ.l

, I

,::: .. '3 s-:~~~L.c; si.gnals must be supplied by the cont ro.L to the rest of the comv":·',_::·.

I'ner-e ax," [l'''':; ~-;,y adv ant ag es in deriving th ese pul.s es from a cent ral source,

-

·:;:tlle:: "':.;_1'3 clOCK., _The t::.cn:_ng ma.y then be done either by means of counters

_.o:.m1~J_r:g e:'_ock pu.l ses or by means of electrical delay lines (an He circuit ]_"

, ~ l'

-39-

here regarded as a sampl.e delay line). Since the tiL.ling of the entire computer

is governed by a s:Lngle pulse source, the computer circuits will-be said to

':'~~(, ,:;] ... ;:k plc:,ys [H'_ j_mportar:.t role bot h 5_n detecting and in localiz-

ccnsf.der at.Lon is that of havi.ng two .i.derrt i.ce'L computers which operat-e in

para.l.Le L and automatically compare each others .resul.t.s , Both machines would

be cont ro l.Led by thesaIrJ,e clock, 60 they would operate in absolute ,synehro-

ni.sm, It j.s not necessary to compare every flip-flop of one machine with the

of the ot.he r-,

Since ail numbers and contt-ol words

?3,SS tl·~ro:·t),1 either the Select ron Regi.ster ur the Accumulator soon before or

soon 'after tl:ey are used) it suf'f'Lcea to check the flip--flops of the Selectron

.:;_egi8~jer and the flip-flops of the Accumulator wpJ_ch hold the number registered -!~,here; in fact, it se ems possible to check t·he accu:nulator ~nly (cf. the

end of 6,,602.)" 'l'ha-ch ecktng circuit would stop the clock whenever a. differ-

snce appeared., Every flip-flop cf each computer will be connected to a neon

:.nd::.ca7,ing Lamp whi.ch will be located at a converrterrt place, In fact, all

~

",eo.res 'will be Lo cat ed on one pa.:lel,the cori-eeponddng neons of the two

:,lP,c·hi.;,.es bBi;'l_B. pJ.2.:-:ed ~r::. p?:('~\1181 rows so that one can tell at a glance where

-40-

The merits of any checking system must be weighed against its

cost. Building two machines may appear to be expensive, but since most

of the cost of a scientific computer lies in development rather than

this conai.der at.Lon is not so Impor t.ant as it might seem.

Expe:'io).~e may show that for IllC6 t problems the two machines need not be

operated in parallel. Indeed, in most cases purely mathematical, external

\

,

.checks are possible: Smoothr:ess of the results) behavior of differences of

\ -

various types, vali.dity of suitable identi.tiesJ redundant calculations, etc •

.All (,f these met~ods are usually adequate to disclose the presence or

absence 07' er-ror in toto, their drawback is only that they may, not allow

I.

t.he detuL.)"ed diagnosing and Loc at.Ing of errors at all or with ease.

.- .. ,~

I

Vhen a problem is run for the fil'st 'time, so that it requires spec.i.aL care,

or when an error is known to be present, and has to be located -- only

'::,hen will it be necessary as a rule, to use both machines in paralle.lo

Thus, they can be used as separate machines most of the time. The unique

I

"feature of euch a method of checking lies in the fact that it checks the

x.mput.at.Lon at ev€ry point (and hence detects transient errors as well .

.is, steady-state ones) and stops the macui.ne when the error occurs so that

'.:hr3 process of localizing the fault is 9reatly simplified. These '.'::'la"1tages are .onl:,' partially gained by duplicating the arithmetic part

r.f the computer, or by fo.Ll.owi.ng one operation with the complement operat.Lon (multiplication by division, etc.), since this fails to check

6ither the memory or the control (which is the most complicated, though

not the largest, part of the machine) ..

The method of localizing errors, either with or without a

'~upJ.:;_.::,,-:'~ machine, needs fu:i;ther discussion. It is planned to design all

cirl_:l'.:i.i:.E (including those of the control) of the computer so that if the

clock is ct.opped between pulses the computer will retain all its informa-

-41-

(

tion in flip-flops so that the comput.atd on 11k'lY proceed unaltered when-the

clock is started again. This principle has already. demonstrated its

usefulness in the ENIAC. This m&kes it possible for the machine to comput.e

wi.t h the clock operating at any speed below a certain ... ,,~.i:';'U1n, as long

as the clock gives out pulses of constant shape regardless of the spacing

bE::tween pulses. In particular, the spacing between pulses may be made

indefinitely large. The clock will be provided with a mode of operation

in which it will emit a single pulse whenever instructed to do so by the

. "

operator. By means of this, the operator can cause the machine to go

,

through an operwt.i.on step by step, checking the results by means of the

indicating lamps connected to the flip-flops. It will be noted that this

design principle does not exclude tbe use of delay lines to obtain delays

as long as these are only used ,to time the constituent operations of a

single step, and have no part ~l determining the macr~nes operating

repetition rate. Timing coincidences by means of delay lines is

exc Iuded since this requires a const.arrt pulse rate.

6$6, The Qrd6rs·which the control understands may be divided

into two groups: Those that specify oper.at.Lons which are performed witi1in

the computer and vthose that specify oper at.ions involved in getting data

into and out of the computer. At the present time the internal oper-ata.ons

lre more completely planned than the input and output operations, and

hence t.hey will bb discussed more in detail t han the latter (which are

treated briefly in 6.S),fhe Lrrt er-na.L operations which have been

. .

tentatively adopted are listed in Table 1. It has already been pointed

out that not all of these. operations are logically basic, but that many

, .f' _"

CE:.n be progr-ammed by means of the others. in the case of some of these

op~ratiQns the reasons ~or building them into the control have already

-42-

been given.. In this section we will give reasons for building the other

operations into the eont.ro.L 'and wiD_ expf.a in in the case of each operation

what the control must do in order to sxecute it.

In order to have the precise mathematical meaning of the symbcls

which are introduced in what follows c Leanly in mind the reader should consult

for each new symbol the table at the end of the report in addition to the

explanations given in the text ..

.6.0601. The add.i t.Lon operations' ~(x) ....... Ac+-, Sex) ~ Ac-, S(x)""'A.h+, and S(x) --), Ah-J involve the f'o.l.Lowi.ng possj.ble steps: Clearing the S,electron

Register; t.rans fer-rf.ng to it the number at S(;;..;}; possibly clearing the

Accumulator; adding the number in the Seleetron Regi~ter (cr- its complement wi.t.h respect to 1_2-39) .int o the Accumul.at.or-; possibly addtng '2-'}'9 to the

Accumulator; and then per-f'ormi.ng a complete carry.. (In a static adding

ci.rcuf.t the last t hr-ee steps are como.ined into one or two. ) 'The operations

Sex) -) AcM) sex) -} Ac-M, &(x)-}jl.hM, S(x) ~ Ah-M involve an extra step, namely

that of determining the sign of the number in the Selectron Register and

using 'this information to determine \'Jhether it is to be added .o r subtracted

into the A.ccumulator. Bu.ilding these operations into the control requires

only a few tubes to perform this step. This is ,a smal.L addition and hence

would seem of itself to justify adding the operations cf plus and minus

absolute value. But it should be noted that these operations can be programmed

out, of the other operdions of Table 1 with correspondingly few orders (three

for absolute value and five for minus absolute value), so that some f'urt.hcr

justification fcr building them irl is required. The absolute v~lue order is

used frequently in connection with the orders L and 11 (see 6~6.8), while the

lLinus absolute value order makes the detection of a zero very airapl,o by Ill.orely detecting the sign of -!I (if - I ul ~ 0, then N :::. 0) $

-43-

6.6.2. The operation of S(x)·~ H. involves the following steps; Clearing the Selectron Register and transferring 6(x) to it, and clearing the

Arith.rnetic Register and adding the numbe r in the ce Lect ron Register into it. are

The operation of R~A merits more detailed discussion, since the ref. alternative

ways of removing numbers from Ali. Such numbers could be taken directly to

the Selectrons as well as into the AccuT!ulator, and they could b0 transferred

to the Accumulator in parallel, in sequence, or in sequence parallel.· It

should be recalled that while most of the nwnbers that go into AR nave come

from th~ Selectrons ar.d hence need not be returned to them, the result of a

divi.sion and the right-hand 39 digits of a product appe ar: in AR. Hence while

an operation f?r withdrawing a number from AR is required, it is relatively

infrequent and therefore need not be particulorly fast. It is reasonable to

do the transferring at least partielly in s equence and to use the shifting

properties of the Accumulator and the lI.egister for this. Transferring the

number to the S81ectron via the Accumulator is also desirable if the dual

machine method of checking is employed, for it means that even if numbers are

only checked in their t ransa't through the Accurnul.at.or-, nevez-t hel.ess every

munber going into the Selectron is checked before being placed t he r e,

6.6.3. Multiplication involves the following steps: Clearing the

belectron Register and transferring .s(x) (the multiplicand) to it; if the IL.ultiplicand is negative, connecting the 2-39 stage of the iirithmetic Register to the 2° stage of the Accumulator in such a manner that when a right sbift occurs the complement of the r.:J.ultiplier ",lith respect to 1_2-.39 is gradually fed into the Accumulator; clearing the Accumulator; 39 steps of (a) adding

the multiplicand into the Accumulator if the multiplier digit then being used is 1, with partial or complete carry, and (b) shifting the contents of both the j~ccu.a.ulator and the .hritlil"11etic Register to the right; adding 2"':39 into

the Accwrmlator if the multiplicand was negative; subtracting the multiplicand into the Accumulator if the multiplier was negative; adding 1 into the .Accumulator if both the multiplier and multiplicand were negative;;

-44-

possibly r-ounda.ng off the answer held in the AccumuLat.or-; and completing the

carries if a partial carry system has been employed. If only 39 digits of

the product are to be used, the answer should be rounded-off, otherwise; not

(cf', 5.11) < Hence some means of sele ding whet her or not t he answer is to

be rounded-off must be provided. Tilis may be done either with a 'second

multiplication order, or (since tL.is cho i.ce can probably be made for a

complete pr onLem l by means of a manual svri.t ch,

It will be noted that since any number held in the Accumulator at

the beginning of the process is gradually shifted into the Arithmetic Register,

it is impossible to accumu.Lat.e sums of products in the Accumulator without

storing the various products temporrarily in the Selectr()ns~ While this is

undoubt ed.ly a disadvantage, it cannot be al.imrnat.ed without constructing an

extra register, and this does not at t.hi.s moment seem worth while.

On the other hand, saving the right hand 39 digits of the answer

is accomplished at very little extra equd.pmerrt , since it only means connecting the 2-39 stage of the Accumulator to the 2-1 stage of the Arithmetic

Register during the shift operation. The advantage of saving these digits is

that it. makes possible the handling of numbers of any finite size in the

computer (cf. 5.11). Any number of 39k binary digits (where k is an integer)

and sign can be divided into k part,s, each part being placed in a separate

selectron position. ,Mditi.on and subtraction of such number-s may be progrenmed

out of a series of additions or subtractions of the 39-digit parts, the c.J.rryover being programmed by means of CC+ S( x) and CG I +S(x) operations. (If

the 2° stage of the Accumulator registers negative after the addition of· two

,

39 digit parts, a carry-over has taken place and hence 2-39 must be added

to the sum of the next parts.) A s imi.Lar procedure may be followed in

[~1Ulti.plication if all 78 digii{s of the product of the two 39 digit parts are

-45-

I ., ~,

kept, as is pl.anned, Since it would greatly compl:i,cate t ae computer to make

provision for holding and using a 78 digit denominator, it is planned to

program this operation in the manner described in 5.1l.

be b~4. The operation of' division A -;. S(x) -i'R involves the following

steps: Clearing the Selectron Register and transferring Sex) (the denominator) to it; clearing the Arithmetic Registe;;, ~9 steps of (a) adding or subtracting

tho

4,~nominc.tor into the r-enai.nde.r (depending upon the comparative signs of remainder and the denominator) with complete carry and placing 0 or 1 into

the

the Arithmetic Register and (b) snifting the accumu.Lat.or- and the li.rithtnetic Register to t.he left; and adding 20 and 2-39 to the Arithmetic Register.

For the purpose of timing the 39 steps involved in division a six stage counter (cap.able of counting to 26 = 64) will be built into the cont.r-ol.,

This same counter will also be used for tiJaing the 39 steps of multiplication,

and possibly for controlling the Accumu.l.at.o r when a number is being trans-

ferred from or to a tape or film to it (S80 6.8).

b~b.5e The substitution oper-at.i.ons [At-4 Sex), Ap-7.':l_(x), and ApI..., Sex)] involve transferring all or part of the number held in the

Accumulator into the Selectrons. This will be done by means of gat,e tubes

connect ed to the registering flip-flops of the Accumulator. Forty such tubes are needed .f?r the total substitution, At 40 S(x). The partial substitution Ap"~ Sex) and Apl-;!> Sex) require that the left-hand tewlve digits of the number

haLd in the Accumulator be substituted in the proper places in the Lef't-shand

end right-hand orders respectively. This may be done by means of extra g::;-t"3

tubes, -or by shifting the number in the Accumulator and using the gate t.ub es

required for At-"7 S(x).

The importance of the partial substitution operations can hardly be

overestdmat.od , It has already been pointed out (3.3) that they allow the

, -

-46-'

computer to perform operations it could not ct herwrse perform, such as 'making

use of a function table stored in the Selectron memory. Furthermore, these

operations remove a very sizable burden from the person coding problerns, for

they make possible the coding of the 'cLass es of problems, in contrast to

coding each individual problem s-eparately. Because Ap~S(x) and Ap r 4 six)

are available, any progrcm sequence may be stated in general form (that is,

~\lithout Selec,tron location designatior:s for the nu ... mber-s being operated on),

and the Selectron locations of the nwnbers to be operated on substituted when-

ever that sequence is used. As an example, consider p general code for n-th

order integration of lli total differential equutions for p steps of independent

variable t, formulated in advance. ~Jhem::.ver a problem. requiring this rule

is coded for the comput.er the genor-al, integration sequence can be .inser-t ed

'I

into the statement of the problem along with coded instructions for telling

the sequence where it will be located in the memo!'y (so that the proper S(x)

designations will be inserted into such orders as CU~S(X), etc.).

Vfuenever \

this sequence is to be used by the computer, it will automntically substitute the correct values of m, n, p, and Lit, as well as the locations of the

boundary conditions and the descriptions of the differential equations, into

the general sequence. A library of such general sequences will be built up,

and facilities provided on the typewriter for cunvenient U1sertion of any of

these into the coded statement of a problem (cf. 60804). When such a scheme

is used, only the unique features of a problem need be coded.

6.6.66 The manner in which the control shift operations

[eu...." S(x), CUI -4 6(x) ,. CC "_,. S(x), and eel _, s(xD are realized has been

discussed in 6.4 and needs no further comrnento

6<6.7. One basic question which must'be decided before a cOllpu~er

is : built is whether the machine is to hove a so-called floating binary (or

-47-

·decimal)--point. While a flo,ating binary point is undoubtedly very conv:.enient

in coding problems, b'.lilding it 'into the cOI:1puter adds greatly.to its complex-

ity, and hence a cho.i.ce in this matter should receive very careful attention ..

However, it should first be noted that the el,.l_ternat,ives ordinarily considered

(building a machine with a floating binary point v .e , doing all computation

with a fixed binary point) are not ex .... haust.Lve and hence that the arguments

generally advanced for the flo:rd_Ilg binary point ar-e only of limited validity.

Such arguments overlook the fact that the choice with respect to any particular

operation (except for certain basic ones) is not between building it into the

computer and not using it at all, but rather between building it into the

computer and programming it out of operations built into the computer.

Building a flot~ting binary point into the computer will not only

complicate the control but will also increase the Length of a number and hence

increase the size of the memory 8J.'1d the arithmetic unit. Every number is

effectively Lncr-eaaed in size, even though the floating binary point is not

needed in many Lnst ances , Fu:::-thermore, there is considerable redundancy in a

floating binary point type of notation, for each number carries with it a

e ce Le factor, while generally speaking a s.ing.l e scale factor will suffice for .9. possibly extensive set of numbers. By means of the operations already

~escribed in the report a flQating binary point can be prograrr£1ed. While

-

additional memory capacity is needed for this, it is probahl.y less than that

:>"'~~quired by a built-in floding binary point since a d.ifferent scale factor

-ioes not need to be remembered for each number.

To program a floating binary point involves detecting where the

::..rst zero occurs in a numbe r in the Accumulator. Since the Accumulator has

shifting facilities this can best be done by means of them. In t.erms of the

operations previously described this would require taking the given number

-48 ...

(

out of the Accumulator nnd p~rforaing a st4table arithmetical operation on it; For a (multiple) right shift a multiplicat.j_on, for a (multiple) left shift either one d iv i sf.on, or as many douhLings (Le. add.i't.i.ons ) as the shift has

st ages. How ever, the s c Op6 r-at. ions ;"1'e in '3,onveni ent 21d time- cons und.ng , SO we propose to Lnt roduce twv oper-at.Lons (1 and .tl) in oder that this (L e. Lhe

single .left and right shift) can be accompf.Lshed directly. These operations make use of fEic:i.lities already present in the sccucul.et.o r and hence add V($ry little equipment to the computer. It should be noted. t hat in many instances a sipgle use of L andpossihly of R will suffice in programaung a floating binary point. For if the two factors in a lJ1ulLiplicatioh haVE: no superfluous zeros, the

product will have at most one superfluous zero (for if i i.l 41 <:: 1 and

~ ~ I yl <;1, then l';: ~ )X-il <1). ':i.'his is siid.larly t-rue in division (for if

i s IX I c ~ and ~ -c I Y J < 1. t hen k e I ~·I « 1)., In addition and subtraction any

I , numbers growing out of'rwlge can be treated simil1'!.:tly.. Number-s which d6Cl"e1JSe ·in these cas es , L,e .. ; develop a sequence of zertos at the beginning, are ;:oe[).lly (mathematically) losing precision..... lknc£' it is perfectly proper to

0!1lit formal readjustments in this event. (Indeed, such a true loss of precision cannot .be obv.i.at.ed by any formal pr-ocedure , but , if at all, onJ,y by a different nat.hemat ieal formulation of the problem...)

6~ 7. [fable 1 shows that many of the operations which the control

:._s to execute have conunon elements.. rhus addition) subtraction, multiplication, and di.vi.s.ion all involve transferring a number from the Se1ectrons to .the "'·'3lectron Register. Hence t.he control may be simplified by breaking some of

the operations up into more basic ones. A timing circu.it will be provided

for each basic operation, and one or more such circuits will be involved il"l the execution of an ord6r~ The exact choice of basic operations will depe~d

upon how t he ar-i.t.hmet.Lc uru.t is built ..

-49-

In addition to the timing circuits needed for executing the orders

of Table 1, t.wo such cireui ts are needed f:lJ:' the automatic operations of

transferrin..:; order-s f rom t~3 :<)(:;] ect ror; .!.Lpgi~t2~ '~0 Control Hegister and

Function TaiJle Regi.s:'er> and f'oz trlli"1b£"er:d_1"1.g an order from the Cor:trol

Register to ~·he Funct i.on 'L)l:-J.a Regi3t.e!' - In n'!::"'I:J'~I. computer operation these

which is to be us ed next . ]n the' operat.Lons Gu I .-.} j(x) and Cc I_;; Sex) the

first order of a pedr is i€noI'cd, so the bj nary count er must be altered

accordingly.

The execut i.on of a sequence 0": orC:32.~S :"nvolves using the various

timing ci.rcui 1:.S in sequence, iHhen a given tli.1..i'lg circuit has complet.ed its

operation, it emits a pulse wh.ic~ should go to t.he timing circuit to be used



next. Since this depends upon the par·ti cu.l.ar operation being executed, these

pulses are routed,.;;.ccordj.ng to the sign2.ls received from the decoding and

;recoding flUlction tables activated by the six binary digits specifying an

ordero

6c8~ In this section we will consider what must be added to the

control so that it can direct the mechanisms for gettDlg data into and out of

'r,he comput er-, +hree d'i.f'f'er-errt. kinds of input-output mechanisms are p.Lanned ,

~lrst, a magnetic tape or film storag~ operated by a servomechanism controlled

ty the computer; second, some viewing tubes for graphical, portrayal of results;

and third, a typewriter for feeding data dar ect.Ly into the computer (not to

be identified with the typewriter used for making tapes o r films).

6,,801. Though a chcd.ce between a magnetic rned.ium (wire or tape;

and movie film has not yet been made, for ter.minological sir!lplicity we sta:.l

speek in terms of tape hereafter. ~ince there a.lready exists a way of

"transferring numbers between the SeLect rons and the accumul.ator , the Accuaul.atcr

-50-

may be used for t ranarerr-tng nwnbers from and to a tape. Whether the latter

transfer will be done serially or in parallel will depend upon the input and

output speed, a question to be answered only by experimE;nt&tion. If it is

done serially the shifting facilities of the Accumulator will be employed.

Using the Accu.rnulator for this purpose eliminates the possibility of computing

and reading or writing on the tapes s imu.lt.aneous.Ly, However, simultaneous

operation of the computer and the input-output organ requires additional

temporary storage and introduces a synchronizing problem, and hence it is not

being considered for the first modal.,

Since, at the beginning of the problem, the computer is empty,

-facilities must be built into the control_for reading a set of numbers from

a tape when the operator presses a manual switch. As each number is read from

a tape into the Accumulator, the control 11lUSt transfer it to its proper

location in the Sel~ctrons9 The control counter may be used to COI.U1t off these

pos i.t.Lons in seq~€nce, s-ince it is capable of transmitting its contents -to the :"unction Table Register. A detection circuit on the control counter will stop

the process when the specified number of numbers has been placed in the memory,

~:,nd the control will then be shifted to the orders located in the first position

vi' the Selectron memory.

It has already been stated that the entire memory facilities of the

·:.apes should be available to the computer without human intervention. This

~;,B2JlS that t.he control must be able t'o select the proper set of numbers from

.

·:~~lOse going byo Hence additional orders are required for the code. Here> 02

Lef'ore, we are faced with tvlO alternatives. He can make the control capahl,« u~·

€.xecuting an order of the form: Take numbers from positions p to p+s on ~.:-·::"3

J3.nd place them in Selectron locations v to v-l- s , Ur we can make the corrtc.o.',

._~·pable of computing and reading or writing s.imul.t.aneous.Iy , there is little

-51-

merit in the former scheme so WE:; shall adopt the latter.

The computer must have some way of finding a particular number on a

tape.

One method of arranging for this is to have each number carry with it ,

its own location designation. A method more economical of tape memory

capacity is to use the Selectron memory facilities to remember the position

of each tape. For example, the computer would hold the nuraber'tl specifying

which number on the tape is in position to be r ead , If the control is

instructed to read the number at position Plan this tape, it will compar-e

PI with tl; and if they differ cause the tape to move in the proper direction. As each number on the tape passes by one unit is added or subtracted to tl

and the comparison repeated. When PI = tl numbers will be .transferred froLil the tape to the Accumulator and then to the proper Locati.on in the memory.

Then both tl and PI will be increased by 1, and the transfer from the tape to Accmnulator to memory repeated. - This will be iterated, until tl + s and PI + S are reached, at which time the control will direct the tape to stop.

Under this system th8 control must be able to execute the. following

orders with regard to each tape: Start the tape forward, Stclrt the tape in

:>:'''3Ver5e, stop the tape, transfer f'r-om tape to Accumulator, and transfer from

!~":',cu:.nulator to tape. In addition, the tape must signal t'he control as e!:l.ch'

cigit is read and when the end of a. number has been reached. Conversely, when

recordtng is done the control must have a means of timing the signals sent

:>.>om the ACCllil11.1lator to the tape, and of counting off the digits if serial

. 6

'~:c,msmission is adopted. The 2 counter used for multiplication and divir3~ o."!

may be used for the latter purpose, but other timing circuits will be requ; !,;~,'" .

. ~or the former.

If the met-hod of checking by means of two comput-er's operating . simultaneously is adopted, &lid euch maclune is built so that it can operate

-52-

independently of the other, then each wi.il have a separate input-output

mechanism. The process of making tapes for the computer mllst then be dupli-

cat.ed, and in this way the work of the person makmg a tape can be checked.

Since the tape servomechanisms cannot, be synchronized by the central clock,

a problem of synchronizing the two computers when the tapes are being used

arises. It is probably not practical to synchronize the tape f'eeds to within

a given digit, but t hi s is unnecessary since the numbers cowing into the two

Accumu.Lat.or s need not be checked as the individual digits <,_rrive, but only

prior to being .depos l.Led in the Se.Lect ron memory.

608 .. 2. Since the computer operates on the binary system some -means

of decimal-binary and binary-decimal conversion need to be provided. Various

!;l.lternative ways- of handling the problem are under consideration. The conv er=

sian can be made in the typewriter and pr-Lnt.er-, so that the tape only receives

binary numbers. Alternatively, each decimal digit could be expressed in a

hinary code, requi.rd.ng four binary digits. Then the- standard 40 binary digit

word in the Selectrons 'Would accomodat e only ten decimal, digits. There are

similar alternatives with respect to binary-decimal conversion.

6.8Q3. It is posai.b.l e to useSelectrons for the viewing tubes, in

~;;J:lich case programming the viewing operation is quite simple. The viewing

E.·electrons can be srd.t ched by the same function t.cbl.es that switch the memory

2electrons. A single order wUl then serve to graph a point on the memory

:::;:electrons. jjy means of the substitution oper-at Lcn Ap ~ S (x) and Ap I ---1 b(x),

six-digit number-s specifying the abscissa and ordinate of the point (six binary digits represent a precision of one part in 26 = 64, 1. e. of about

- -OJ

) • ,'_.. /':1

",'hich seems r'easonabl.e in such a component) can be substituted in this cr~.{~,:,.-

which will specify that a particular one of the viewing Se.Lect.rons is to be

&ctivated..

-53-

6Q8.4. The typewriter and printer used for preparing tapes and printing from tapes wiLl be built separately from the machine and hence will crave Lndopenderrt program controls. He will not discuss these here except to formulate the r-equi.r-ement.s they must satisfy in ordf;r to silnplify the preparation and checking of tapes to a degree consistent with the facilities of the computer itself. As was shown in 6.6.5, the sta_teruent of a new problem on

a tape involves data unique to that problem (and hence put in via the typewriter) int.erspersed with data found on a previously prepared tape (from the library)! Hence the typewriter control must have a means whereby the operator can order any particular set of numbers frem the library tape to the new tape. In addition, the operator must, be able to print any part of what is on a tape, to check one tape against another automatically, and to easily correct errors f'ound on a tape. It is frequently very convenient to introduce data into a '?omputation without producing a new' tape. Hence it is planned to build one .o~ur,ple typewriter as an integral part of the computer. By means of this '~,ypewriter the operator can stop the computatiori, type in a memory location !"Nhich will go to the Function Table Re.:'ister), type in a number (wh.ich will ~o to the Accumul&tor e~d then be placed in tue first mentioned location),

i1_" .... .J. start the computation again.

6.8~5. Tilere is one further order that the control needs to cxecut e , Ther-e should be some means by whi~h t he computer can signal to t.he li;_.:>erator when a comput.atd.on has been concluded. Hence an order is needed -,''l':ich will tell the comput-er to flash a light or ring a bell.

~--~'-----r---------------~--------------------------------------------------------~

d o . .-1

.j.J

• .-1 (f,l o 0.

!

I

I

1

I

I

-

00 0..

Cl Cl U} ",)

0.. 0)

-

Cl

I ~

.

C\l r-l

.

C"\ r-I

. .

~s1

. . .

O">Orl rlrl

.

..;t

.

to