The ENIAC of John Mauchly and John Eckert
More than 25 years ENIAC was considered as the first digital electronic computer in the world. As late as in the beginning of 1970s this assertion was proved as false. First by the famous trial Sperry Rand Corporation vs. CDC and Honeywell, which started in 1971, and later by the information, which began to emerge about the Colossus computer. At present, it is clear, that first was (prototype built in 1939) the ABC computer of Atanasoff and Berry and the second was the Colossus Mark I computer (build in 1943) of Newmann and Flowers. Rather eloquent was the finding of the judge of the abovementioned lengthy court trial (it lasted 135 working days, filled more than 20000 pages of transcript with the testimony of 77 witnesses), the Judge in the U.S. District Court in Minnesota Earl R. Larson, distributed on 19 October 1973 —Mauchly's basic ENIAC ideas were derived from Atanasoff, and the invention claimed in ENIAC was derived from Atanasoff. In extensive findings, Judge Larson declared: Eckert and Mauchly did not themselves first invent the automatic electronic digital computer, but instead derived that subject matter from one Dr. John Vincent Atanasoff. Furthermore, Judge Larson had ruled that Mauchly had pirated Atanasoff's ideas, and for more than thirty years had palmed those ideas off on the world as the product of his own genius.
Despite of this controversy and Mauchly's shameful display during the trial (he spoke slightingly for Atanasoff and his computer and changed his testimony under oath three times, because the documents and other witnesses evidences were against him), the ENIAC computer played extremely important role in the history of electronic computers.
John Mauchly (biography) for the first time met a serious computational problem in 1938, while preparing an article for meteorological data analysis for the Journal of Terrestrial Magnetism and Atmospheric Electricity. This article however, was rejected, as one of the reasons for the rejection was relying on too short a period of data analysis. This rejection prompted Mauchly to begin some early experiments with digital electronic computing circuitry. His two years as an undergraduate in an electrical engineering department no doubt fueled this new twist in his research. His resources were small, as was the scale of these trials. Among the circuits that he built were such basic elements such as a flip-flop, which could essentially store the "1s" and "0s" that make up the information stored by all digital computers. Mauchly built some of the circuits using neon bulbs rather than the more expensive vacuum tubes, which meant that they did not have the full performance of vacuum tube circuitry. Thus Mauchly was beginning to figure out the basic concepts behind electronic computing circuitry himself.
During the WWII the USA Army (as well as all other armies) faced a very nasty problem with computation of firing tables for artillery. Since the factories were producing new long-range guns and a gunner often couldn't see his target over the hills, he relied on a booklet of firing tables to aim the artillery gun. How far the shell traveled depended on a host of variables: the wind speed and direction, humidity and temperature of the air, elevation above sea level, the ground, etc. Even the temperature of the gunpowder mattered. A typical gun required a firing table with five hundred different sets of conditions. Each new gun, and each new shell, had to have new firing tables, and the calculations were done based on test-firings and mathematical formulas. The USA Army used a staff of 176 people (so called computers) in Aberdeen near Philadelphia and in Moore School, doing the calculating, using desk calculators with push buttons and a large handle to pull to complete each arithmetic operation. Besides that, they used two differential analyzers (differential analyzer was a mechanical analog computer, designed to solve differential equations by integration, using wheel-and-disc mechanisms to perform the integration), nevertheless they need more than a month to produce a complete firing table with all the trajectories needed, which was unacceptable. Aberdeen was falling far behind in its firing table responsibility, and guns were being delivered to Europe and Africa that were essentially useless, because they could not be aimed. In 1941, the US Army’s Ballistic Research Laboratory, responsible for producing of firing tables, had made the Moore School into an auxiliary of its computing section. The Moore School performed his work using both analog and numerical methods, the former based on the use of the differential analyzer, the latter was carried out by a separate group of human computers assembled by the Moore School.
Thus Lieutenant Herman Goldstine, a young 29 years old PhD and professor of mathematics at the University of Michigan, had been put in charge of the operation in Penn and ordered to get the tables completed faster, no matter what. Soon Goldstine began calculating the impossibility of the task. The demand for tables was so great, they would never be finished before the guns reached combat. Goldstine sent his wife, Adele, a mathematician herself, on cross-country recruiting trips to seek out more female math majors at colleges, but there was only a handful to be found. He prodded technicians to run the Differential Analyzer as much as possible, but it was prone to breakdowns. Then one day, a graduate student at Penn asked Goldstine if he had heard of an idea that a newly hired professor, John Mauchly, had been spouting. It seemed so silly that the Penn faculty had ignored it. Mauchly had wanted to make an electronic calculator, that could take the place of all the computers.
In August 1942, Mauchly produced a seven-page memorandum—The Use of High-Speed Vacuum Tube Devices for Calculation. In this document he touted the advantage that his machine would be far more accurate than existing mechanical devices, his main selling point was speed—A great gain in the speed of the calculation can be obtained if the devices that are used employ electronic means for the performance of the calculation, because the speed of such devices can be made very much higher than that of any mechanical device. Mauchly's memorandum however was ignored by Penn's deans, but circulated among his colleagues and students and most importantly to a young graduate student, J. Presper Eckert (biography), who was undoubtedly the best electronic engineer in the Moore School.
When Goldstine tracked Mauchly down and inquired about his idea, he couldn't believe his good fortune. He immediately realized the army was the way to get his machine built. Suddenly, John Mauchly became an expert on firing tables. He would venture down to the basement, where the Differential Analyzer was located, and tantalize the firing-table workers with questions like, Wouldn't it be great if you had a machine that would do that in twenty seconds?
Goldstine quickly grasped Mauchly's idea to make the Differential Analyzer electronic, replacing all the gears and wheels with electronic counters, driven by pulses of electricity and he persuaded his immediate superiors to take the idea to top army brass and ask for funding. On April 9, 1943, Goldstine presented Mauchly and Eckert to the Colonel Leslie Simon, director of the Ballistics Research Laboratory and Oswald Veblen, a renowned mathematician and technical adviser to the army and they agreed to fund the project. The army gave the University of Pennsylvania a development contract and an initial appropriation of $61700 for the first six months of work on what Eckert and Mauchly called the Electronic Numerical Integrator. The name was later changed to Electronic Numerical Integrator and Computer (ENIAC).
General View of the ENIAC
The work on computer began in June, 1943, as Eckert as chief engineer and Mauchly as his consultant. At the beginning, the key role played Mauchly, but later on after settling the initial ideas, the leadership was transferred to Eckert, who was a genius engineer, and Goldstein, who was appointed as a representative of Army and maintained mathematical and organizational tasks. ENIAC was finished too late for the purpose for which it was built—by the fall of 1945, just as the war had ended, and presented to the public in February, 1946. It had taken 200000 man-hours of work and cost some $487000. What the army got was a thirty-ton monster, that filled a room 10 by 15 m. It had 30 different units, including its twenty accumulators, arranged in the shape of U, sixteen on each side, and eight in the middle, all connected by a ganglion of heavy black cable as thick as fire hose. It could perform 5000 addition cycles a second and do the work of 50000 people working by hand. In thirty seconds, ENIAC could calculate a single trajectory, something that would take twenty hours with a desk calculator or fifteen minutes on the Differential Analyzer. ENIAC required 174 kilowatts of power to run. It contained 17468 vacuum tubes, 1500 relays, 500000 soldered joints, 70000 resistors and 10000 capacitors-circuitry. The clock rate was 100 kHz. Input and output via an IBM card reader and card punch and tabulator.
The units of the ENIAC can be loosely grouped into five categories: arithmetic (general purpose and dedicated units), global control units, memory, I/O units and busses (trunks). The lower scheme shows a functional organization diagram of the ENIAC. The units concerned mainly with arithmetic operations are 20 accumulators (for addition and subtraction), a multiplier, and a combination of divider and square rooter. Numbers are introduced into the machine by means of a unit, called the constant transmitter, which operates in conjunction with the IBM card reader. The reader scans standard punched card (which hold up to 80 digits and 16 signs) and causes data from them to be stored in relays, located in the constant transmitter. The constant transmitter makes these numbers available, as they are required. Similarly results may be punched on cards by the ENIAC printer unit operating in conjunction with the IBM card punch. Tables can be automatically printed from the cards by means of an IBM tabulator.
scheme of the ENIAC
The accumulators (arithmetic units) of ENIAC consisted of electronic ring counters, formed by a linear array of flip-flops. Since ENIAC was a decimal machine, capable of handling numbers of decimal digits each plus signs, each accumulator contained 10 ring counters each of 10 stages and a 2-stage ring counter for the sign of the number. When a number was received by an accumulator, it was added to the prior contents of that unit. The subtraction was performed as a type of addition through representation of negative numbers by complements.
An addition or subtraction took 200 microseconds, a multiplication required some 3 milliseconds. To achieve this speed, it had built into it an electronic device, which stored the multiplication table. The most complex operation was division, which required some 30 milliseconds, similarly for square root.
Various units of the ENIAC communicate with each other over the data, program, and synchronization busses (also called trunks). Digit trunks are carried in trays that are stacked on top of each other, allowing for multiple connections. Digit trays can also be used over again in the course of a program. Only one accumulator can transmit data on a digit trunk at any one time, but multiple accumulators can listen in. In addition to the regular transmission of digits over digit cables/trunks, adapters can be used to change the digit place between the transmitting and receiving accumulator. As an example, a shifter adapter is used to multiply a number by a power of 10, while a delete adapter is used to eliminate the pulses of one or more places of the transmitting number.
The ENIAC could be programmed to perform complex sequences of operations, which could include loops, branches, and subroutines. The task of taking a problem and mapping it onto the machine was quite complex, and usually took weeks. Six women were chosen from among the several hundred human computers to work on ENIAC, making them the world's first computer programmers. Programming the ENIAC was very different from what we consider programming on a modern, stored program computer. The data-flow architecture of the ENIAC requires setting switches by manipulating its switches and cables and making connections between units (see the lower photo). Programming consists of the following steps.
1. First, the problem to be solved needs to be described by a set of mathematical equations, such as total or partial differential equations.
2. Then, the equations are broken down into basic mathematical operations that the ENIAC is capable of executing.
3. Also, one needs to plan for the storage of the numerical data. For each arithmetical operation one needs to set up a program control and make connections between the program control I/Os.
4. Finally, the individual programs are tied together into a program sequence, so that a collection of programs is automatically stimulated upon completion of another set of programs.
Programming of ENIAC required a hike and some physical exercises
Mauchly and Eckert applied for a patent on the ENIAC in 1947 (but the USA patent 3120606 was granted as late as 4th of February, 1964). By then, they had resigned from the Moore Engineering School and had begun their own corporation, the Eckert and Mauchly Computer Corporation. They assigned their patent to their corporation, where they developed the first commercial computer, the UNIVAC. Eckert took care of the engineering functions, and Mauchly ran the business. Neither Mauchly nor Eckert, however, was a good businessman. They eventually ran into financial troubles, and in 1950 sold their company along with their computer patents to Remington Rand. Sperry Rand later bought out Remington. Mauchly worked for Remington and Sperry until 1959, when he left to form his own consulting corporation, Mauchly Associates. In 1968, he founded a second computer consulting corporation, which he called Dynatrend.