<<

The Electronic A Machine with a Past

G. A. Erskine

It is about 130 years since the wealthy ming' the Analytical Engine, possibly more switches and plug-in wires, and the time mathematician and amateur engineer, clearly than Babbage himself. One of her required to set up a new calculation might , conceived the idea of appendices gives a complete — and be anything from a few hours to several a completely automatic calculating machine. completely modern — program for calcu• days. The ENIAC was certainly fast: addi• Babbage realized that if his machine lating the successive Bernoulli numbers tion took 200 mircoseconds (200 \is) and was to operate without human intervention, by means of a recurrence relation (see multiplication 3 milliseconds (3 ms). it would have to print its results and page 165). The program shows how the Some time in the summer of 1944, while would require an internal store or repetitive nature of the calculation was to the ENIAC was still under construction, 'memory' in which intermediate results of be exploited by the machine. the mathematician John von Neumann the calculation could be placed for sub• Since even Babbage's substantial for• learnt of the ENIAC in an accidental sequent use by the machine. This store tune was not sufficient to pay for the cost meeting with a* colleague, H.H. Goldstine. was to consist of a thousand columns of of constructing the Analytical Engine, It is tempting to think of von Neumann as digit wheels, each column containing Babbage and Lady Lovelace devised, and being horrified by the thought of those 50 decimal digits. The automatic control put into practice, an infallible system for twenty thousand vacuum tubes being used of the sequence of operations backing horses. The results were disas• to provide such inflexible computing was to be provided by perforated cards of trous. facilities. In any case, von Neumann and the kind used for controlling the lifting of Goldstine, in collaboration with members The Twentieth Century the warp threads in a Jaquard loom. of the ENIAC team, set to work on the With remarkable insight, Babbage re• From the time of Babbage's death in logical principles of an electronic compu• alized that a truly universal calculating 1871 until the late 1930s, there seems to ter which would be far more versatile than machine would need to vary its sequence have been no attempt to construct a com• the ENIAC while using much less hard• of operations depending on the unforesee• pletely automatic general-purpose calcu• ware. These principles were presented to able result of intermediate calculations. He lator. Manually operated calculators under• an international audience at a summer therefore provided for a mechanism that went a steady improvement and electro• school held at the University of Pennsyl• would cause the machine to skip forwards mechanical machinery was vania in 1946, and were subsequently or backwards over a specified number of invented and developed. Such machines published in a series of reports. control cards when the number contained could sort, add, subtract, and print, but The von Neumann Computer on some specified storage column changed there was no means of specifying that an its sign. He also provided for the automatic arbitrary sequence of arithmetic operations The computer proposed by von Neumann detection of the overflow which would should be carried out without manual and Goldstine in 1946 is essentially the occur if any result exceeded 50 digits in intervention. modern computer. The fundamental pro• length, and he foresaw the use of what In 1939, Howard Aiken of the University posal was that the 'instructions', which would now be called programmed multi- of Harvard entered into collaboration specify the sequence of operations to be length arithmetic to deal with such cases. with the International Business Machines performed, should be coded into numerical Thus Babbage anticipated many of the Corporation to construct an automatic form and held in the same high-speed essential features of the modern computer. electro- in which the storage device as the numbers on which Babbage prepared detailed drawings of sequence of operations was to be con• the computer was to operate. The com• many parts of his Analytical Engine and trolled by a perforated paper tape, in rather puter could then extract successive spent much of the remainder of his life the same way as Babbage's machine (of instructions from the store at the same experimenting with pieces of the mecha• which Aiken knew nothing at the time) speed as it could extract numbers, and nism. During a visit to Italy, he described was to be controlled by Jaquard cards. could, when necessary, be made to jump the proposed machine to a small group of This machine, the Harvard Mark 1 easily from one place to another in the people which included L.F. Menabrea, calculator, was completed in 1944. instruction sequence according to the an army engineer and mathematician. In the meantime, work had begun at result of some simple test (for example, Menabrea was so much interested by the University of Pennsylvania on the first a test on the sign of the number in a Babbage's machine that he published a completely electronic computer, the ENIAC. specified storage location). Using an general description of it in the Bibliotheque This computer, designed by J. W. Mauchly input medium such as paper tape, it would Universelle de Geneve in 1842. and J. P. Eckert under a contract with the be possible to load in a few seconds a In the same year, Lady Augusta Lovelace, United States Army, was completed in program containing hundreds of instruc• daughter of the poet Byron, published an 1946. circuits were used to tions, thus preparing the computer for a English translation of Menabrea's article, provide arithmetic capabilities together new calculation. to which she added explanatory appendices with internal storage for twenty 10-digit The von Neumann and Goldstine reports which were three times the length of the numbers. Each 10-digit storage location also describe the use of a library of original article. Lady Lovelace, mathema• required 550 tubes, and the whole com• programs (already foreseen by Babbage) tician and a friend of Babbage, understood puter used approximately twenty thousand and the means by which sub-routines clearly what was involving in 'program• tubes. Programming was by means of (sequences of instructions for performing

163 The first , Ada Augusta, the Countess of Lovelace, and (opposite) the first programm, prepared by Lady Lovelace in 1842 for calculating the Bernoulli numbers on Babbage's Analytical Engine. (Reproduced from Lord Bowden's book 'Faster Than Thought' with acknowledgement to Lady Wentworth).

frequently occurring operations), prepared in a form which was independent of their final position in the store, could be 'relocated' before the beginning of a calculation.

One effect of the 1946 summer school was to start a computer-building race. This race was won by a team headed by M.V. Wilkes of the University of Cambridge, whose EDSAC computer came into operation in May 1949. Only shortly behind came the University of Manchester with its computer incorporating the first index registers. above can be written in Fortran as follows: have been successfully The Vanishing Programmer SUM = 0.0 programmed to do algebra and simple DO 10 J = 1,16 calculus. But who wants to do algebra The designers of the early computers 10 SUM = SUM + A(J)*B(J) by computer if he must wait several hours assumed that programming would be in where the asterisk denotes multiplication. between making a minor change to a the hands of a small group of specialists, In this way, programming became a 'do- formula and receiving a printed result ? probably mathematicians, and that it it-yourself activity, and the only full-time In principle, the answer to this objection would be undesirable to make the task too to remain in business were lies in the introduction of a time-sharing easy. For example, von Neumann and those whose job it was (and is) to write console system similar to the MAC project Goldstine presented the following argument the complicated compilers and supervisory of the Massachusetts Institute of Techno• against providing built-in floating-point programs which constitute the vital'behind- logy. The user of such a system sits at arithmetic: The floating binary point the-scenes '' of the modern an electric typewriter which is connected represents an effort to render a thorough computer. to a large computer and types in programs mathematical understanding of at least part or and receives back results, ignoring of the problem unnecessary, and we feel The Communication Gap the fact that the computer is simultaneous• that this is a step in a doubtful direction'. It was soon realized that the electronic ly providing a similar service to other Thinking along the same lines, the Univer• computer, invented to do arithmetic typewriters. In fact, the computer is sity of Manchester adopted for their first quickly, could also perform non-numerical rapidly servicing the users in sequence, computer a programming code in which tasks. Computers can be programmed to sharing its time equitably between them. all instructions were constructed from a play a good game of draughts, but only an Unfortunately, if there are too many users, group of 32 teleprinter characters. Thus indifferent game of chess. They can make the delay between typing a request and the sequence of instructions for calculating poor translations from one language into receiving a reply becomes intolerably a sum of the form ai bi + a2 b2 another. If connected to suitable equip• long ; and no computer at present in + a 16 bu became ment, they can read printed text or control existence could provide an adequate Oill: machine tools. The only limit to their service to all of the 250 or so people who VEQO capabilities, apart from their finite — but use the main CERN computer each day. / I U K ever-increasing — speed and storage Perhaps there never will be computers / U U F capacity, seems to lie in the intellectual big enough and fast enough to provide £EQG limitations of those who programme them. this kind of on-line service to all who want E / / T Since a computer cannot execute every• to use them. If small computers This programming code was retained one's program at once, programs and data continue to become simultaneously faster when engineered versions of the Manches• (in the form of punched cards or perforated and cheaper, the use of a big computer ter University computer were offered for paper tape) are usually placed in a queue may become the exception rather than sale commercially ! Gradually, however, in which they wait until they can be the rule. But whatever the direction of the the manufacturers of computers began to processed. The results generated by future development, we shall presumably wonder whether perhaps difficulties of programs may also queue on some large- see a continuing increase in Babbage's programming might not be discouraging capacity 'backing-store' until they can be hoped-for 'substitution of machinery, not prospective customers. This led to the printed. The delay introduced by these merely for the skill of the human hand, development of simplified programming queues constitutes the 'turn-around-time', but for the relief of the human intellect'. languages, of which Fortran (introduced often amounting to several hours. What will happen when the human hand in 1957) has been one of the most success• For many computer applications, this and the human intellect have been suffi• ful. The sequence of instructions given delay is not acceptable. For example, ciently relieved remains to be seen.

164 Data Working Variables Result Variables C 0 S s 817 % % % % 'FI(... Indication of % % % V, % % X % hi & 0 0 0 0 ft 0 0 0 0 0 0 0 0 0 0 0 0 0 Variables Variables change in the 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Acted Receiving Value on Statement of Results 0 ffQ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Upon Results any H-y 0 9 Variable 1 2 4 0 0 0 0 0 0 0 0 0 0 i 8 I h 1 2 n D D 0

fF,='F,) I X 2 n in in in % X % VF.-'F,/ = 8« - fF,='F,| 2 - % - % 'F, . • = s«-1 1 in - 1 I'F, ='FJ - - fF,='F,l 3 + % + 'F, !F. • • = 2» + I 1 - - 2H + I I'F, =!FJ

S»- I 2»- I 4 + % T !F, V • - - 0 0 h=»Fj in +1 2B + I

1 2!- I 1 2fl - I 5 'F„. • 2 _ _ I'F, =7,/ a " an + i 2 ' in + 1 1 2n- 1 .

128-1 0 - - fFu=%i ~?27+T^ 6 %-% V • l :: l'F„ = 'W fF.^F.1 % - 'F, = »-!(= 3) • • • • 1 n n- 1 %• • I'F, ='KJ ------

8 + 'F, + 'F, %. . fF,='F,l =2+0=2 . . . . 2 2 I'F, =7,/ - - - - -

l T fFi =Vi\ 9 'F, r >F, %• • -5-4, • • • • - - - - - in 2 - - - 2™4

I 10 X fF„ = F11) = B,.- = U . . . 'F„ x % % • • k - l'Fu = 'Fj 2 ------i~ 2 1 2»- I 2fl j I 212-1^ 212J fF = 'Fol N II + % + 'F,> B = -- ,—— + !>!.- . 0 %• • 11 K-'FJ 2 212+1 2 - 1 2* 212 +I 21 fF„ = 'F„1 12 - % - % V • = «-2(=2) . . . • 1 2

fF^'F.l % - % = 2?!- I 1 in - 1 13 r 'F, • • I'F, = 'M - - - - f'F, ='F,1 14 T % + 'F, % • • =2+1=3 . . . , 1 - - - - - 3 i'F, = 'F;j fF,='F,l 2(1- I in - 1 15 + %±% 'F, • • 2B- I 3 l'F,='F,J 3 3 211 212 - I 212 212- I 16 'F, x % %. . - - - 0 "a' 3 - - - - - 2* 3 f'F^'F.I i) 'F, - 'F, *F,. • = 2n — 2 1 2B- 2 / I'F, ='F,I - - -

! fF,='M i8< + \ + F, , 1 V • VF, = FJ =3+i=4 • • • • - - - 4 2fl-2 in- 2 fF, =!F,1 19 'F, T '7, % • • in- 2 4 4 4 /2l! 21J~ I 212-2 fF,='F,l 272 20 - I 21! - 2 ^ 20 \ 'F, x % %. . ------0 W 3 ' 4 VFn-'Fj "2" 3 ' 4 " 3 „ 2?! 2fi- I 2»- 2 . . fFa = 'FJ 21 X 'F» x % 1 .t 1 V • 23 4

i fF„ = 'W 0 22 % + % = ^ + ^ + M. • • 'Fa- • IV'FJ -

23 %-'F, (% = 'F,,1= «-3(=i). . . . 1 ft-3 V • I'Fi-'F,/

Here follows a repetition of Operations thirteen to twenty-three

24 + % + %• • fF^'F,,! = B;

rF!( = 'FJ I'F, ='F,\ = 12 + 1=4 + 1=5 . . 1 » + i - 0 0 'F, ='FJ 25 + 'F, + 'F, 'Fi • . 'F, ='F, by a Variable-card I'F, ='F, by a Variable-card