The History of Digital Computers B. RANDELL Computing Laboratory, University of Newcastle upon Tyne This account describes the history of the development of digital computers, from the work of Charles Babbage to the earliest electronic stored program computers, It has been prepared for Volume 3 of “l’Histoire Generale des Techniques,” and is in the main based on the introductory text written by the author for the book “The Origins of Digital Computers: Selected Papers” (Springer Verlag, 1973). . Charles Babbage THE first electronic digital computers were completed in the late 1940’s. In most cases their developers were unaware that nearly all the important functional characteristics of these computers had been invented over a hundred years earlier by Charles Babbage. It was in 1821 that the English mathematician Charles Babbage became interested in the possibility of mechanising the computation and printing of mathematical tables.

He successfully constructed a small machine, which he called a “difference engine,” capable of automatically generating successive values of simple algebraic functions by means of the method of finite differences. This encouraged him to plan a full-scale machine, and to seek financial backing from the British government. During the next 12 years both Babbage and the government poured considerable sums of money into the attempt at building his Difference Engine.

However the project, which called for the construction of six interlinked adding mechanisms, each capable of adding two multiple-digit decimal numbers, together with an automatic printing mechanism, was considerably beyond the technological capabilities of the era – indeed it has been claimed that the efforts expended on the Difference Engine were more than justified simply by the improvements they generated in mechanical engineering equipment and practice.

Although Babbage’s plans for a Difference Engine were somewhat premature, the basic scheme was vindicated when in 1843, inspired by their knowledge of his work, George and Edvard Scheutz successfully demonstrated a working prototype difference engine. A final version of this model was completed 10 years later, with financial assistance from the Swedish government. Several other difference engines ere constructed in the decades that followed, but such machines never achieved the importance of more conventional calculating machines, and when multi-register accounting machines became available in the 1920’s it was found that these could be used essentially as difference engines. However Babbage’s ideas soon progressed far beyond that of a special-purpose calculating machine – in fact almost as soon as he started work on his Difference Engine he became dissatisfied with its limitations.

In particular he wished to avoid the need to have the highest order of difference constant, in order to be able to use the machine directly for transcendental as well as algebraic functions. In 1834 Babbage started active work on these matters, and on problems such as division and the need to speed up the part of the addition mechanism which dealt with the assimilation of carry digits. He developed several very ingenious methods of carry assimilation, but the time savings so obtainable would have been at the cost of a considerable amount of complex machinery.

This led Babbage to realise the advantages of having a single centralised arithmetic mechanism, the “mill,” separate from the “figure axes,” i. e. , columns of discs which acted merely as storage locations rather than accumulators. Babbage’s first idea for controlling the sequencing of the various component mechanisms of the engine was to use “barrels,” i. e. , rotating pegged cylinders of the sort used in musical automata. He first planned to use a set of subsidiary barrels, with over-all control of the machine being specified by a large central barrel with exchangeable pegs.

However in June 1836 he took the major step of adopting a punched card mechanism, of the kind found in Jacquard looms, in place of the rather limited and cumbersome central barrel. He did so in the realisation that the “formulae” which specified the computation that the machine was to perform could therefore be of almost unbounded extent, and that it would be a simple matter to change from the use of one formula to another.

Normally formula cards, each specifying an arithmetic operation to be performed, were to be read by the Jacquard mechanism in sequence, but Babbage also envisaged means whereby this sequence could be broken and then recommenced at an earlier or later card in the sequence. Moreover he allowed the choice of the next card which was to be used to be influenced by the partial results that the machine had obtained.

These provisions allowed him to claim that computations of indefinite complexity could be performed under the control of comparatively small sets of formula cards. Babbage talked at one time of having a store consisting of no less than 1000 figure axes, each capable of holding a signed 40-digit decimal number, and planned to provide for reading numbers from cards into the store, and for punching or printing the values of numbers held in the store.

The movement of numbers between the mill and the store was to be controlled by a sequence of “variable cards,” each specifying which particular figure axis was involved. Therefore an arithmetic operation whose operands were to be obtained from the store and whose result was to be returned to the store would be specified by an operation card and several variable cards. He apparently intended these different kinds of control cards to be in separate sequences, read by separate Jacquard mechanisms.

Thus in the space of perhaps 3 years Babbage had arrived at the concept of a general purpose digital computer consisting of a store, arithmetic unit, punched card input and output, and a card-controlled sequencing mechanism that provided iteration and conditional branching. Moreover although he continued to regard the machine, which he later came to call the Analytical Engine, as being principally for the construction of mathematical tables, he had a very clear grasp of the conceptual advances he had made.

Basing his claim on the unbounded number of operation and variable cards that could be used to control the machine, the ease with which complicated conditional branches could be built from a sequence of simple ones, and the fact that automatic input and output, and multiple precision arithmetic, were provided, he stated that “. . . it appears that the whole of the conditions which enable a finite machine to make calculations of unlimited extent are fulfilled in the Analytical Engine . . . . I have converted the infinity of space, which was required by the conditions of the problem, into the infinity of time. Because separate, but associated, sequences of cards were needed to control the Analytical Engine the concept of a program as we know it now does not appear very c1early in contemporary descriptions of the machine. However there is evidence that Babbage had realised the fact that the information punched on the cards which controlled the engine could itself have been manipulated by an automatic machine-for example he suggested the possibility of the Analytical Engine itself being used to assist in the preparation of lengthy sequences of control cards.

Indeed in the description of the use of the Analytical Engine written by Lady Lovelace, in collaboration with Babbage, there are passages which would appear to indicate that it had been realised that an Analytical Engine was fully capable of manipulating symbolic as well as arithmetical quantities. Probably Babbage himself realised that the complete Analytical Engine was impractical to build, but he spent much of the rest of his life designing and redesigning mechanisms for the machine.

The realisation of his dream had to await the development of a totally new technology, and an era when the considerable finances and facilities required for an automatic computer would be made available, the need at last being widely enough appreciated. He was a century ahead of his time, for as one of the pioneers of the modern electronic digital computer has written: “Babbage was moving in a world of logical design and system architecture, and was familiar with and had solutions for problems that were not to be discussed in the literature for another 100 years. ”

He died in 1871, leaving an immense collection of engineering drawings and documents, but merely a small portion of the Analytical Engine, consisting of an addition and a printing mechanism, whose assembly was completed by his son, Henry Babbage. This machine and Babbage’s engineering drawings are now in the Science Museum, London. 2. Babbage’s direct successors Some years’ after Babbage’s death his son Henry Babbage recommenced work on the construction of a mechanical calculating machine, basing his efforts on the designs his father had made for the Mill of the Analytical Engine.

This work was started in 1888 and carried on very intermittently. It was completed only in about 1910 when the Mill, which incorporated a printing mechanism, was demonstrated at a meeting of the Royal Astronomical Society. By this date however the work of a little-known successor to Charles Babbage, an Irish accountant named Percy Ludgate, was already well advanced. Ludgate started work in 1903 at the age of 20 on an entirely novel scheme for performing arithmetic on decimal numbers.

Decimal digits were to be represented by the lateral position of a sliding metal rod, rather than the angular position of a geared disc. The basic operation provided was multiplication, which used a complicated mechanism for calculating the two-digit products resulting from multiplying pairs of decimal digits. together. The scheme involved first transforming the digits into a form of logarithm, adding the logarithms together, and then converting the result back into a two-digit sum.

This scheme is quite unlike any known to have been used in earlier mechanical calculators, or for that matter since, although there had been several calculating machines constructed that used built-in multiplication tables to obtain two-digit products – the earliest known of these was that invented by Bollee in 1887. It is in fact difficult to see any advantages to Ludgate’s logarithmic scheme, although his form of number representation is reminiscent of that used in various mechanical calculating devices in the following decades.

So striking are the differences between Ludgate’s and Babbage’s ideas for mechanical arithmetic that there is no reason to dispute Ludgate’s statement that he did not learn of Babbage’s prior work until the later stages of his own. It seems likely that Babbage was the eventual inspiration for Ludgate to investigate the provision of a sequence control mechanism. Here he made an advance over the rather awkward system that Babbage had planned, involving separate sets of operation and variable cards.

Instead his machine was to have been controlled by a single perforated paper tape, each row of which represented an instruction consisting of an operation code and four address fields. Control transfers simply involved moving the tape the appropriate number of rows forwards or backwards. Moreover he also envisaged the provision of what we would now call subroutines, represented by sequences of perforations around the circumference of special cylinders-one such cylinder was to be provided The Institute of Mathematics and its Applications 2 for division.

The machine was also to be controllable from a keyboard, a byproduct of whose operation would be a perforated tape which could then be used to enable the sequence of manually controlled operations to be repeated automatically. Ludgate estimated that his Analytical Machine would be capable of multiplying two twenty-digit numbers in about 10 seconds, and that, in considerable contrast to Babbage’s Analytical Engine, it would be portable. However there is no evidence that he ever tried to construct the machine, which he apparently worked on alone, in his spare time.

He died in 1922, and even if at this time his plans for the Analytical Machine still existed there is now no trace of them, and our knowledge of the machine depends almost entirely on the one description of it that he published. The next person who is known to have followed in the footsteps of Babbage and to have worked on the problems of designing an analytical engine was Leonardo Torres y Quevedo. Torres was born in the province of Santander in Spain in 1852.

Although qualified as a civil engineer he devoted his career to scientific research, and in particular to the design and construction of an astonishing variety of calculating devices and automata. He gained great renown, particularly in France and in Spain, where he became President of the Academy of Sciences of Madrid, and where following his death in 1936 an institute for scientific research was named after him. Torres first worked on analog calculating devices, including equation solvers and integrators.

In the early 1900’s he built various radio-controlled devices, including a torpedo and a boat which, according to the number of pulses it received, could select between various rudder positions and speeds, and cause a flag to be run up and down a mast. In 1911 he made and successfully demonstrated the first of two chess-playing automata for the end game of king and rook against king. The machine was fully automatic, with electrical sensing of the positions of the pieces on the board and a mechanical arm to move its own pieces. The second machine was built in 1922, and used magnets underneath the board to move the pieces. ) In all this work, he was deliberately exploiting the new facilities that electromechanical techniques offered, and challenging accepted ideas as to the limitations of machines. He picked on Babbage’s Analytical Engine as an important and interesting technical challenge, and in 1914 published a paper incorporating detailed schematic designs for a suitable set of electro-mechanical components.

These included devices for storing, comparing and multiplying numbers, and were accompanied by a discussion of what is now called floating point number representation. He demonstrated the use of the devices in a design for a special-purpose program-controlled calculator. The program was to be represented by areas of conductive material placed on the surface of a rotating drum, and incorporated a means for specifying conditional branching. Torres clearly never intended to construct a machine to his design, but 6 years later he built, and successfully demonstrated, a typewriter-controlled calculating machine primarily to demonstrate that an electromechanical analytical engine was completely feasible. He in fact never did build an analytical engine, although he designed, and in many cases built, various other digital devices including two more calculating machines, an automatic weighing machine, and a machine for playing a game somewhat like the game of Nim. However there seems little reason to doubt that, should the need have been sufficiently pressing, Torres would indeed have built a complete analytical engine.

In the event, it was not until the 1939-1945 war that the desirability of largescale fully automatic calculating machines became so clear that the necessary environment was created for Babbage’s concept to become a reality. Before this occurred there is known to have been at least one further effort at designing an analytical engine. This was by a Frenchman, Louis Couffignal, who was motivated mainly by a desire to reduce the incidence of errors in numerical computations.

He was familiar with the work of Babbage and Torres y Quevedo but, in contrast to their designs, proposed to use binary number representation. The binary digits of stored numbers were to be represented by the lateral position of a set of parallel bars controlled by electro-magnets. The various arithmetic operations were to be performed by relay networks, the whole machine being controlled by perforated tapes. Couffignal apparently had every intention of building this machine, in association with the Logabax Company, but presumably because of the war never did so.

However after the war he was in charge of an electronic computer project for the Institut Blaise Pascal, the design study and construction of the machine being in the hands of the Logabax Company. With Couffignal’s pre-war plans, the line of direct succession to Babbage’s Analytical Engine seems to have come to an end. Most of the wartime computer projects were apparently carried out in ignorance of the extent to which many of the problems that had to be dealt with had been tackled by Babbage over a century earlier. However in some cases there is clear evidence that nowledge of Babbage’s work was an influence on the wartime pioneers, in particular Howard Aiken, originator of the Automatic Sequence Controlled Calculator, and William Phillips, an early proponent of binary calculation, and various other influential people, including Vannevar Bush and L. J. Comrie, were also well aware of his dream. 3. The contribution of the punched card industry An initially quite separate thread of activity leading to the development of the modern computer originated with the invention of the punched card tabulating system.

The capabilities of Herman Hollerith’s equipment, first used on a large scale for the 1890 US National Census, were soon extended considerably. The original equipment allowed cards to hold binary information representing the answers to a Census questionnaire. These cards could be tabulated, one by one, using a machine which sensed the presence of holes in the card electrically and could be wired to count the number of cards processed in which particular holes or combinations of holes had been punched. A device could be attached to such a tabulator which assisted the manual sorting of cards into a number of separate sequences.

Within 10 years automatic card handling mechanisms, which greatly increased the speed of machine operation, and addition units, which enabled card tabulators to sum decimal numbers punched on cards, had been provided. The system soon came into widespread use in the accounting departments of various commercial organisations, as well as being used for statistical tabulations in many countries of the world. After the 1900 US Census relations between Hollerith and the Census Bureau deteriorated, and the Bureau began to manufacture its own equipment for use in the 1910 Census.

The person in charge of this work was James Powers who circumvented Hollerith’s patents by producing a mechanical card reading apparatus. He retained the patent rights to his inventions and formed his own company which eventually merged with Remington Rand in 1927. In 1911 Hollerith sold his own company, the Tabulating Machine Company, which he had formed in 1896, and it was shortly afterwards merged with two other companies to form the Computing-TabulatingRecording Company. This company which was under the direction of Thomas J.

Watson from 1914 became the International Business Machines Corporation in 1924. During the 1920’s and 1930’s punched card systems developed steadily, aided no doubt by the stimulus of competition, not only in the USA but also in Britain, where the Hollerith and Powers-based systems continued to be marketed under the names of their original inventors, while in France a third manufacturer, Compagnie Machines Bull, was also active. Unfortunately the people involved in this work did not in general publish technical papers and their work has received little public recognition.

Thus full appreciation of the contribution of IBM development engineers, such as J. W. Bryce, one of the most prolific inventors of his era, will probably have to await an analysis of the patent literature. One inventor whose work has, however, been documented is Gustav Tauschek, a self-taught Viennese engineer, with more than 200 patents in the computing field to his credit. While working for Rheinische Metallund Maschinenfabrik he designed and built a punched card electromechanical accounting machine.

His other patents, many of which were filed whilst he was under contract to IBM during the 1930’s, also included a “reading-writing-calculating machine” which used photocells to compare printed input characters with templates held on photographic film, a number storage device using magnetised steel plates, and an electromechanical accounting machine designed for use in small banks capable of storing the records of up to 10 000 accounts. By the 1930’s printing tabulators were available which worked at approximately 100 cards per minute, and there were sorters which worked at 400 cards per minute.

The machines were controlled by fairly intricate plugboards, but arithmetic and logical computations involving sequences of operations of any great complexity were carried out by repeated processing of sets of cards, under the direction of operators. Various attempts were made to supplement the functional capabilities of punched card systems by linking together otherwise independent machines. One such system, the Synchro-Madas machine, incorporated a typewriter/accounting machine, an automatic calculating machine and an automatic card punch.

These were linked together so that a single action by the operator sitting at the typewriter/accounting machine would control several operations on the different machines. One other system involving a set of inter-linked card machines, although very different in concept and scale from the Synchro-Madas machine, is worth mentioning. This is the Remote-control Accounting system which was experimented with in a Pittsburgh department store, also in the mid-1930’s. The system involved 250 terminals connected by telephone lines to 20 Powers card punch/tabulators and 15 on-line typewriters.

The terminals transmitted data from punched merchandise tags which were used to produce punched sales record cards, later used for customer billing. The typewriter terminals were used for credit authorisation purposes. The intended peak transaction rate was 9000 per hour. Even during the 1920’s punched card systems were used not only for accounting and the compilation of statistics, but also for complex statistical calculations. However the first important scientific application of punched card systems was made by L.

J. Comrie in 1929. Comrie was Superintendent of HM Nautical Almanac Office until 1936, and then founded the Scientific Computing Service. He made a speciality of putting commercial computing machinery to scientific use, and introduced Hollerith equipment to the Nautical Almanac Office. His calculations of the future positions of the Moon, which involved the punching of half a million cards, stimulated many other scientists to exploit the possibilities of punched card systems. One such scientist was Wallace J.

Eckert, an astronomer at Columbia University, which already had been donated machines for a Statistical Laboratory by IBM in 1929, including the “Statistical Calculator,” a specially developed tabulator which was the forerunner of the IBM Type 600 series of multiplying punches, and of the mechanisms used in the Harvard Mark I machine. With assistance from IBM in 1934 Eckert set up a scientific computing laboratory in the Columbia Astronomy Department, a laboratory which was later to become the Thomas J.

Watson Astronomical Computing Bureau. In order to facilitate the use of his punched card equipment Eckert developed a centralised control mechanism, linked to a numerical tabulator, a summary punch and a multiplying punch, so that a short cycle of different operations could be performed at high speed. The control mechanism which was based on a stepping switch enabled many calculations, even some solutions 4 The Institute of Mathematics and its Applications of differential equations, to be performed completely automatically.

The potential of a system of inter-connected punched card machines, controlled by a fully general-purpose sequencing mechanism, and the essential similarity of such a system to Babbage’s plans for an Analytical Engine, were discussed in an article published by Vannevar Bush in 1936. Bush was at this time already renowned for his work on the first differential analyser, and during the war held the influential position of Director of the US Office of Scientific Research and Development.

In fact an attempt was made to build such a system of inter-connected punched card machines at the Institut fur Praktische Mathematik of the Technische Hochschule, Darmstadt, in Germany during the war. The plans called for the inter-connection of a standard Hollerith multiplier and tabulators, and specially constructed divider and function generators, using a punched tape sequence control mechanism. Work was abandoned on the project following a destructive air raid in September 1944. However, by this stage, in the United States much more ambitious efforts were being made to apply the expertise of punched card equipment designers.

The efforts originated in 1937 with a proposal by Howard Aiken of Harvard University that a large-scale scientific calculator be constructed by inter-connecting a set of punched card machines via a master control panel. This would be plugged so as to govern the transmission of numerical operands and the sequencing of arithmetic operations. Through Dr. Shapley, director of the Harvard College Observatory, Aiken became acquainted with Wallace Eckert’s punched card installation at Columbia University.

These contacts helped Aiken to persuade IBM to undertake the task of developing and building a machine to his basic design. For IBM, J. W. Bryce assigned C. D. Lake, F. E. Hamilton and B. M. Durfee to the task. Aiken later acknowledged these three engineers as co-inventors of the Automatic Sequence Controlled Calculator, or Harvard Mark I as it became known. The machine was built at the IBM development laboratories at Endicott and was demonstrated there in January 1943 before being shipped to Harvard, where it became operational in May 1944.

In August of that year IBM, in the person of Thomas J. Watson, donated the machine to Harvard where it was used initially for classified work for the US Navy. The design of the Harvard Mark I followed the original proposals by Aiken fairly closely, but it was built using a large number of the major components used in the various types of punched card machines then manufactured, rather than from a set of complete machines themselves. It incorporated 72 “storage counters” each of which served as both a storage location, and as a complete adding and subtracting machine.

Each counter consisted of 24 electromechanical counter wheels and could store a signed 23digit decimal number. A special multiply/divide unit, and units for obtaining the value of previously computed functions held on perforated tape, and for performing interpolation, were provided together with input/output equipment such as card readers and punches, and typewriters. The various mechanisms and counter wheels were all driven and synchronised by a single gearconnected mechanical system extending along nearly the entire length of the calculator.

A main sequence control mechanism incorporating a punched tape reader governed the operation of the machine. Each horizontal row on the tape had space for three groups of eight holes, known as the A, B and C groups. Together these specified a single instruction of the form “Take the number out of unit A, deliver it to unit B, and start operation C. ” Somewhat surprisingly, in view of Aiken’s knowledge of Babbage’s work and writings, no provision was made originally for conditional branching.

As it was, such provision was only made later when a subsidiary sequence control mechanism was built at Harvard and incorporated into the machine. The Harvard Mark I was a massive machine over 50 feet long, built on a lavish scale. Being largely mechanical its speed was somewhat limited – for example multiplication took 6 seconds – but it continued in active use at Harvard until 1959. It has an important place in the history of computers although the long-held belief that it was the world’s first operational programcontrolled computer was proved to be false, once the details of Zuse’s wartime work in Germany became known.

It marked a major step by IBM towards full involvement in the design of general-purpose computers and, with ENIAC and the Bell Telephone Laboratories Series, represents the starting point of American computer developments. After completion of the Mark I, Aiken and IBM pursued independent paths. Aiken, still distrustful of the reliability of electronic components, moved to electromagnetic relays for the construction of the Harvard Mark II, another paper-tape-sequenced calculator.

This machine had an internal store which could hold about 100 dccimal floating point numbers. One of the most interesting aspects of the machine was that it could be operated either as a single computer or as two separate ones. The complete system incorporated four of each type of input/output device, namely sequence tape readers, data tape readers and punches, numerical function tape readers and output printers. It also had multiple arithmetic facilities, including two adders and four multipliers (taking 0. 7 second) which could all be used simultaneously.

Detailed design of the machine, which was intended for the US Naval Proving Ground, Dahlgren, Virginia, began at Harvard early in 1945, and the machine was completed in 1947. Afterwards Aiken and his colleagues went on to design the Mark III, an electronic computer with magnetic drum storage, completed in 1950, and the Mark IV, which incorporated 200 magnetic core shift registers, completed in 1952. The designers of IBM’s next machine, the Pluggable Sequence Relay Calculator, included two of the Harvard Mark I’s design team, namely C. D. Lake and B. M.

Durfee, but the machine in fact had more in common with IBM’s earlier calculating punches than with the Mark I; like the punches it was controlled using plugboard-specified sequencing, rather than by a sequence control tape of essentially unlimited length. Its relay construction resulted in its basic operation speed being considerably faster than the Mark I, although it lacked the Mark I’s ease and flexibility of programming, demanding instead the kind of detailed design of parallel subsequencing that one sees nowadays at the microprogramming level of some computers.

Great stress was raid by the designers on the efficient use of punched card input/output, and it was claimed that in many cases, where other machines’ internal storage capacity proved inadequate, the IBM relay calculators could outperform even the contemporary electronic computers. Several machines were built, the first of which was delivered in December 1944 to the Aberdeen Proving Ground, and two were installed at the Watson Scientific Computing Laboratory that IBM had set up at Columbia University under the directorship of Wallace Eckert.

The Relay Calculator was followed by the giant IBM Selective Sequence Electronic Calculator, a machine which was very much in the tradition of the Mark I. Wallace Eckert was responsible for the logical organisation of the machine, with Frank Hamilton being the chief engineer on the project. The design was a compromise between Eckert’s wish, for performance reasons, to use electronic components to the full, and Hamilton’s preference for electro-mechanical relays, on grounds of reliability. As a result vacuum tubes were used for the arithmetic unit, the control circuitry, and the 8 word high-speed store, relays being used elsewhere.

In addition to the 8 word store there was a 150 word random access electro-magnetic store and storage for 20000 numbers in the form of punched tapes. Numbers would be read from the electro-magnetic store, or in sequence from the punched tape store, at the speed of the multiplier, i. e. , every 20 milliseconds. The design was started in 1945, and the machine was built in great secrecy at Endicott, before being moved to New York City, where it was publicly unveiled at an elaborate dedication ceremony in January 1948. The most important aspect of the SSEC, credited to R. R.

Seeber, was that it could perform arithmetic on, and then execute, stored instructions – it was almost certainly the first operational machine with these capabilities. This led to IBM obtaining some very important patents, but the machine as a whole was soon regarded as somewhat anachronistic and was dismantled in 1952. It had however provided IBM with some valuable experience – for example, Hamilton and some of his engineering colleagues went on to design the highly successful IBM 650, and many of the SSEC programmers later became members of the IBM 701 programming group.

Finally, mention should be made of one other machine manufactured by IBM which can be classed as a precursor to the modern electronic digital computer. This was the Card Programmed Calculator, a machine which along with its predecessors now tends to be overshadowed by the SSEC. Like the Pluggable Sequence Relay Calculator, the CPC can trace its origins to the IBM 600 series of multiplying punches. In 1946 IBM announced the Type 603, the first production electronic calculator. The IBM 603, which incorporated 300 valves, was developed from an experimental multiplier designed at Endicott under the direction of R.

L. Palmer in 1942. One hundred machines were sold, and then IBM replaced it with the Type 604, a plugboardcontrolled electronic calculator, which provided conditional branching but, lacking backward jumps, no means of constructing program loops. Deliveries of the 604, which incorporated over 1400 valves, started in 1948 and within the next 10 years over 5000 were installed. In 1948 a 604 was coupled to a type 402 accounting machine by Northrop Aircraft Company, in order to provide the 604 with increased capacity and with printing facilities. This idea was taken up by IBM, and formed the basis of the CPC.

Nearly 700 CPC’s were built, and this machine played a vital role in providing computing power to many installations in the USA until stored program electronic computers became commercially available on a reasonable scale. In the years that followed the introduction of the CPC, IBM continued to develop its range of electronic calculators and, starting in 1952 with the IBM 701, an electronic computer in the tradition of von Neumann’s IAS machine, took its first steps towards achieving its present dominant position amongst electronic computer manufacturers. . Konrad Zuse Konrad Zuse started to work on the development of mechanical aids to calculation as early as 1934, at the age of 24. He was studying civil engineering at the Technische Hochschule, Berlin-Charlottenburg, and sought some means of relief from the tedious calculations that had to be performed. His first idea had been to design special forms to facilitate ordinary manual calculation, but then he decided to try to mechanise the operation.

Continuing to use the special layouts that he had designed for his forms, he investigated representing numerical data by means of perforations, and the use of a hand-held sensing device which could communicate the data over an electrical cable to an automatic calculating machine. The idea then arose of using a mechanical register rather than perforated cards, and, realising that the layout was irrelevant, Zuse started to develop a general purpose mechanical store, whose locations were addressed numerically.

By 1936 he had the basic design of a floating point binary computer, controlled by a program tape consisting of a sequence of instructions, each of which specified an operation code, two operand addresses and a result address. Thus, apparently quite independently of earlier work by Babbage and his successors on analytical engines, Zuse had very quickly reached the point of having a design for a general-purpose program-controlled computer, although the idea of conditional branching was lacking.

More importantly, even though the various basic The Institute of Mathematics and its Applications 6 ideas that his design incorporated had, it now turns out, been thought of earlier (i. e. , binary mechanical arithmetic (Leibniz), program control (Babbage), instruction formats with numerical storage addresses (Ludgate) and floating point number representations (Torres y Quevedo)), Zuse’s great achievement was to turn these ideas into reality. Zuse had considerable trouble finding sponsors willing to finance the building of his machine.

Despite his financial difficulties his first machine, the Z1, which was of entirely mechanical construction was completed in 1938, but it proved unreliable in operation. He then started to construct a second, fixed-point binary, machine which incorporated the 16 word mechanical binary store of the Z1, but was otherwise built from second-hand telephone relays. Although the Z2 computer was completed it was inadequate for any practical use. However by this time a colleague, Helmut Schreyer, was already working with Zuse on the problem of producing an electronic version of the Z1.

This led to the construction of a small 10 place binary arithmetic unit, with approximately 100 valves, but proposals that Schreyer and Zuse made to the German government for a 1500 valve electronic computer were rejected and the work was discontinued in 1942. Earlier, in 1939, Zuse was called up for military service, but managed to get released after about a year, and for the first time received significant government backing for his plans. This enabled him to build the Z3 computer, a binary machine with a 64 word store, all built out of telephone relays.

This computer, since it was operational in 1941, is believed to have been the world’s first general-purpose program-controlled computer. It incorporated units for addition, subtraction, multiplication, division and square root, using a floating point number representation with a sign bit, a 7-bit exponent and a 14-bit mantissa. Input was via a manual keyboard and output via a set of lights, in each case with automatic binary/decimal conversion, and the machine was controlled by a perforated tape carrying single address instructions, i. . , instructions specifying one operand, and an operation. In addition to his series of general-purpose computers, Zuse built two special-purpose computers, both used for calculations concerning aircraft wing profiles. The first of these was in use for 2 years at the Henschel Aircraft Works, before being destroyed through war damage. Both computers had fixed programs, wired on to rotary switches, and performed calculations involving addition, subtraction and multiplication by constant factors.

Soon after completion of the Z3, the design of an improved version, the Z4, was started. This was mainly electro-mechanical but incorporated a purely mechanical binary store similar to that which had been used for the Zl and Z2 machines. The partially completed Z4 was the only one of Zuse’s machines to survive the war – indeed it eventually was completed and gave years of successful service at the Technische Hochschule, Zurich. The Z4 was inspected shortly after the war by R. C. Lyndon, whose report on the machine for the US Office f Naval Research was published in 1947. At this stage the Z4 had only manual input and output, and no means of conditional branching, although it was planned to add four tape readers and two tape punches, and facilities for repeating programs and for choosing between alternate subprograms. The machine was housed in the cellar of a farmhouse in the little village of Hopferau in Bavaria, and was not fully operational, but the mechanical store and various arithmetic operations and their automatic sequencing were successfully demonstrated to Lyndon.

His report, although it gives a fairly full description of the Z4 (with the exception of the mechanical store, which he was not allowed to examine in detail), made virtually no mention of Zuse’s earlier work. Indeed it was many years before any other English language accounts of Zuse’s work were published, and Zuse’s rightful place in the chronology of computer development became at all widely appreciated. 5. Bell Telephone Laboratories The potentialities of telephone equipment for the construction of digital calculation devices were not realised for many years.

The first automatic telephone exchange, which used the step-by-step or Strowger switch, was installed in 1892. As early as 1906 Molina devised a system for translating the pulses representing the dialled decimal digits into a more convenient number system. Exchanges based mainly on the use of electromechanical relays started to come into use at the turn of the century, the earliest successful centralised automatic exchanges dating from about 1914. However, from the late 1920’s various different calculating devices were developed using telephone equipment.

Perhaps the most spectacular of these was the automatic totalisator. Totalisator, or “pari-mutuel,” betting became legal on British race courses in July 1929. Development of fully automatic totalisators consisting of ticket-issuing machines situated in various parts of the race course, a central calculating apparatus, and display boards which indicated the number and total value of bets made on each horse, and on the race as a whole, was already well under way.

There were several rival systems. The Hamilton Totalisator and the totalisator produced by the British Automatic Totalisator Company were fully electrical, both as regards the calculations performed and the operation of the display boards, whereas the Lightning Totalisator used electrical impulses from remote ticket machines only to release steel balls which fell through tubes and actuated a mechanical adding apparatus.

In January 1930 the Racecourse Betting Control Board demonstrated at Thirsk Racecourse a new standard electric totalisator supplied by British Thompson Houston, built from Strowger switches. This machine which was transportable from racecourse to racecourse could accumulate bets on up to six horses at a maximum rate of 12 000 per minute. The machine had in fact been designed in Baltimore, Maryland, in 1928 but the first complete machine to be used in the USA was installed by the American Totalisator Company at Arlington Park nly in 1933. In succeeding years much more sophisticated totalisators, involving hundreds of remote ticket-issuing machines, were used at racecourses all over USA, and it was not until many years after the advent of the electronic computer that one was used as a replacement for the central calculating apparatus of the totalisator. One early little-known design for a calculating machine to be built from telephone relays was that of Bernard Weiner in Czechoslovakia in 1923.

Weiner, in association with the Vitkovice Iron Works, went on during the 1930’s to design a more powerful automatic calculator. He did not survive the war, and nothing is known about the results of this work. Other early work was done by Nicoladze who in 1928 designed a multiplier based on the principle of Genaille’s rods. (These were a non-mechanical aid to multiplication which enabled a person to read off the product of a multidigit number by a single digit number. Four years later Hamann described not only various different styles of relay-based multiplier, but also a device for solving sets of simultaneous linear equations, and shortly afterwards Weygandt demonstrated a prototype determinant evaluator, capable of dealing with 3 x 3 determinants. Undoubtedly in the years that followed many other digital calculating devices were developed based on telephone relay equipment, particularly during the war for such military applications as ballistics calculations and cryptanalysis – indeed, as mentioned earlier, some of Zuse’s machines made extensive use of telephone relays.

It is perhaps a little surprising that it was not until 1937 that Bell Telephone Laboratories investigated the design of calculating devices, although from about 1925 the possibility of using relay circuit techniques for such purposes was well accepted there. However, in 1937 George Stibitz started to experiment with relays, and drew up circuit designs for addition, multiplication and division. At first he concentrated on binary arithmetic, together with automatic decimal-binary and binarydecimal conversion, but later turned his attention to a binary-coded decimal number representation.

The project became an official one when, prompted by T. C. Fry, Stibitz started to design a calculator capable of multiplying and dividing complex numbers, which was intended to fill a very practical need, namely to facilitate the solution of problems in the design of filter networks, and so started the very important Bell Telephone Laboratories Series of Relay Computers. In November 1938, S. B. Williams took over responsibility for the machine’s development and together with Stibitz refined the design of the calculator, whose construction was started in April and completed in October of 1939.

The calculator, which became known as the “Complex Number Computer” (often shortened to “Complex Computer,” and as other calculators were built, the “Model I”), began routine operation in January 1940. Within a short time it was modified so as to provide facilities for the addition and subtraction of complex numbers, and was provided with a second, and then a third, teletype control, situated in remote locations. It remained in daily use at Bell Laboratories until 1949.

The Complex Computer was publicly demonstrated for the first time in September 1940 by being operated in its New York City location from a teletypewriter installed in Hanover, New Hampshire, on the occasion of a meeting of the American Mathematical Society, a demonstration that both John Mauchly and Norbert Wiener attended. During 1939 and 1940 Stibitz started work on the idea of automatic sequencing and on the use of error-detecting codes. These ideas were not pursued actively until, a year or so later, the onset of the war rovided a strong stimulus and the necessary financial climate. They then formed the basis of the second of the Bell Laboratories relay calculators, the “Relay Interpolator. ” This was a special-purpose tape-controlled device, with selfchecking arithmetic, designed to solve fire control problems, and was built for the National Defense Research Council, to which Stibitz had been lent by Bell Laboratories. Although mainly used for interpolation it was also used for a few problems in harmonic analysis, calculation of roots of polynomials and solution of differential equations.

It became operational in September 1943, and after the war it was handed over to the US Naval Research Laboratory, where it was in use until 1961. The Model III relay calculator, the “Ballistic Computer,” work on which started in 1942, was a much more complete realisation of Stibitz’s early plans for an automatic computer, and although once again intended for fire control problems was much more versatile than the Model II. It was tape-controlled, and had a tenregister store, a built-in multiplier (designed by E. L.

Vibbard), and devices for performing automatic look-up of tables held on perforated paper tape. Perhaps most impressive was the fact that the machine was 100 per cent. self-checked. The machine was completed in June 1944, and remained in use until 1958. The Model IV relay calculator was little different from the Model III, and the series culminated in the Model V, a truly general-purpose program-controlled computer, complete with convenient conditional branching facilities. (The final member of the series, Model VI, was essentially just a simplified version of the Model V. Two copies of the Model V were built, the first being delivered in 1946 to the National Advisory Committee on Aeronautics at Langley Field, Virginia, and the second in 1947 to the Ballistics Research Laboratory at Aberdeen, Maryland. With its multiple computing units, the Model V, which used floating point arithmetic, was what we would now call a multiprocessing system, and its “problem tapes” were the forerunners of the early simple batch-processing operating systems. Each of the two computing units comprising a complete system contained 15 storage registers.

A single register could hold a floating point number consisting of a sign, a seven-decimal digit mantissa and a two-digit exponent. Decimal digits were stored in a bi-quinary form, using seven relays, and each register used a total of 62 relays. Each unit had independent provision for the addition, subtraction, multiplication and division and for 8 The Institute of Mathematics and its Applications taking the square root of floating point numbers, and for printing or punching its results.

In addition a large set of tape readers, intended for tapes of input data, tabulated functions and programs, and for the problem tapes which controlled the running of series of separate programs, were shared by the two computer units. These units normally functioned as independent computers, but for large problems would be arranged to work cooperatively. Although somewhat slow in execution, the Model V set new standards for reliability, versatility and ease of switching from one task to another, and in so doing must surely have had an important influence on the designers of the earliest round of general-purpose electronic computers.

In later years, quite a number of relay calculators were constructed, in both the USA and Europe, even after the first stored program electronic computers became operational, but the importance of their role in the history of computers hardly matches that of the Bell Laboratories Model V and its contemporaries. 6. The advent of electronic computers The earliest known electronic digital circuit, a “trigger relay,” which involved a pair of valves in a circuit with two stable states and was an early form of flip-flop, was described by Eccles and Jordan in 1919.

The next development that we know of was the use by WynnWilliams at the Cavendish Laboratory, Cambridge, of thyratrons in counting circuits including, in 1932, a “scale-of-two” (binary) counter. By the end of the decade quite a few papers had been published on electronic counters intended for counting impulses from GeigerMuller tubes used in nuclear physics experiments. WynnWilliams’ work had a direct influence on the ideas of William Phillips, who apparently in 1935 attempted to patent a binary electronic computing machine.

He built a mechanical model, which still exists, of the intended electronic multiplication unit but no other details are presently known of his planned machine. The first known attempt to build an electronic digital calculating machine was begun by John V. Atanasoff in the mid-1930’s at Iowa State College where there had been an active interest in statistical applications using punched card equipment since the early 1920’s. As an applied mathematician Atanasoff had many problems requiring generalisations of existing methods of approximating solutions of linear operational equations.

He first explored the use of analog techniques and with Lynn Hannum, one of his graduate students, developed the “Laplaciometer,” a device for solving Laplace’s equation in two dimensions with various boundary conditions. By 1935 the realisation of the sharp limitations of analog computing forced Atanasoff to digital methods. The disadvantages of mechanical techniques and his knowledge of electronics and of the work of Eccles and Jordan then led him to consider an electronic approach.

He soon found that in these circumstances a base two number system would have great advantages. In 19361937 Atanasoff abandoned the Eccles-Jordan approach and conceived a system employing memory and logic circuits, whose details were worked out in 1938. He received a grant from Iowa State in 1939, and was joined by Clifford E. Berry. With Berry’s assistance a prototype computing element was built and operating by the autumn of that year. They then undertook the design and construction of a large machine intended for the solution of up to 30 simultaneous linear equations.

At the heart of the machine there was a pair of rotating cylinders around the surface of which a set of small electrical condensers was placed. Each condenser could, by the direction of its charge, represent a binary digit; although the charge would leak away slowly, it was arranged that as the cylinders rotated the charge on each condenser was detected and reinforced at 1 second time intervals so that information could be stored for as long as required.

The condensers were arranged so as to provide two sets of 30 binary words, each consisting of 50 bits, the condensers corresponding to a single word being arranged in a plane perpendicular to the axis of the cylinders. The results of intermediate steps of a computation were to be punched in binary form on cards, for later re-input to the machine. In order that card punching and reading should be fast enough to keep pace with the computation, special devices were designed that made and detected holes in cards by means of electrical sparks.

Ordinary input and output was to be via conventional punched cards, with the machine providing automatic binary/decimal conversions. The machine, with binary addition, subtraction and shifting as its basic arithmetic facilities, was designed to solve sets of simultaneous linear equations by the method of successive elimination of unknowns. The electronic part of the computer was operational but the binary card reader was still unreliable when in 1942 Atanasoff and Bcrry left Iowa State for wartime jobs, so that the machine was abandoned, never having seen actual use.

In the late 1930’s and early 1940’s several groups started to investigate the use of digital electronic circuits as replacements for mechanical or electro-mechanical calculating devices, including several of the American business machine manufacturers such as IBM, whose work was described briefly above. The earliest known efforts at applying electronics to a general-purpose program-controlled computer were those undertaken by Schreyer and Zuse, also mentioned earlier.

The next development which should be mentioned is the still classified series of electronic cryptanalytic machines that were designed and built in Britain during the war. The machines that are of particular interest, with respect to the development of electronic computers are the Colossi, the first of which was operational in late 1943, while by the end of the war ten had been installed. Each Colossus incorporated approximately 2000 valves, and processed a punched data tape that was read at a speed of 5000 characters per second.

Preset patterns that were to be compared against the input data were generated from stored component patterns. These components were stored in ring registers made of thyratrons and could be manually set by plug-in pins. The Colossi were developed by a team led by M. H. A. Newman. Alan Turing, who had been one of the main people involved in the design of an electro-mechanical predecessor to the Colossi, was apparently not directly associated with the new design, but with others provided the requirements that the machines were to satisfy.

The comparative lack of technical details about the design of these machines makes it unreasonable to attempt more than a preliminary, and somewhat hesitant, assessment of the Colossi with respect to the modern digital computer. It would appear that the arithmetical, as opposed to logical, capabilities were minimal, involving only counting rather than general addition or other operations. They did, however, have a certain amount of electronic storage. Although fully automatic, even to the extent of producing printed output, they were very much special-purpose machines, but ithin their field of specialisation the facilities provided by plug-boards and banks of switches afforded a considerable degree of flexibility; in fact several of the people involved in the project have since characterised the machines as being “program-controlled. ” Their importance as cryptanalytic machines, which must have been immense, can only be inferred from the number of machines that were made and the honours bestowed on various members of the team after the end of the war; however, their importance with respect to the development of computers was twofold.

They demonstrated the practicality of largescale electronic digital equipment, just as ENIAC did, on an even grander scale, approximately 2 years later. Furthermore, they were also a major source of the designers of some of the first post-war British computers, namely the Manchester machine, the MOSAIC, and the ACE at the National Physical Laboratory. Fascinating though they are, none of the efforts described so far comes near to matching the importance of the work at the Moore School of Electrical Engineering, University of Pennsylvania, which led to the design of first the ENIAC and then the EDVAC computers.

By 1942 the Moore School had, because of pressures of war, become closely associated with the Ballistic Research Laboratory of the US Army Ordnance Department, and the Moore School’s differential analyser was being used to supplement the work of the one at the Ballistic Research Laboratory on the production of ballistic tables. (The two analysers were identical and had been patterned on the original differential analyser invented by Vannevar Bush in 1930. ) One of the people who had worked with the analyser was John Mauchly, then an assistant professor at the Moore School.

Mauchly was by this time well aware of what could be done with desk calculating machines and punched card equipment, although he was apparently unaware of the work Aiken was then doing on what became the Harvard Mark I, or of Babbage’s efforts 100 years earlier. He did however know of the work of Stibitz and had visited Iowa State in June 1941 in order to see Atanasoff’s special-purpose computer. Another person who worked on the Moore School differential analyser, and in fact made important improvements to it by replacing its mechanical amplifiers by partially electronic devices, was J. Presper Eckert, a research associate at the School.

Eckert had met Mauchly in 1941, and it was their discussions about the possibility of surmounting the reliability problems of complex electronic devices that laid the groundwork for a memorandum that Mauchly wrote in August 1942. This proposed that an electronic digital computer be constructed for the purpose of solving numerical difference equations of the sort encountered in ballistics problems. Also at the Moore School, acting as a liaison officer for Colonel Paul N. Gillon of the office of the Chief of Ordnance, was Herman H. Goldstine, who before the war had been assistant professor of mathematics at the University of Michigan.

In early 1943 Goldstine and Gillon became interested in the possibility of using an electronic calculating machine for the preparation of firing and bombing tables. By this time Mauchly’s 1942 memorandum had been mislaid, and it had to be recreated from his secretary’s notes. The second version of the memorandum, together with more detailed plans drawn up by Mauchly and Eckert, was included in a report dated April 1943 which formed the basis for a contract between the University of Pennsylvania and the US Government to develop an electronic computer.

A large team was assembled at the Moore School in order to design and build the computer under the supervision of J. G. Brainerd, with Eckert as chief engineer and Mauchly as principal consultant. As the project progressed its aims broadened, so that the ENIAC, as it became known, turned out to be much more a general-purpose device than had been originally contemplated, and although programs were represented by plugged interconnecting wires, it provided full conditional branching facilities.

It was an incredibly ambitious machine incorporating over 19 000 valves and consuming approximately 200 kilowatts of electric power! (The number of valves largely resulted from the use of them for high speed storage, and the choice of number representation, which can best be described as “unary-coded decimal. “) The ENIAC incorporated 20 10-digit accumulators, which could be used for addition and subtraction, and for the temporary storage of numbers, a multiplier and a combination divider and square rooter.

Addition took 200 microseconds, and multiplication of two 10-digit numbers approximately 3 milliseconds. Storage was provided for approximately 300 numerical constants in function tables, which could be set up by manual switches prior to commencing a computation. Input and output was via punched cards, using standard IBM devices. Early in its career the method of programming the machine was modified so that the program was represented by settings of the function tables without the need for changing the interconnecting cables.