ENIAC, short for Electronic Numerical Integrator and Computer, was long thought to have been the first electronic computer designed to be Turing-complete, capable of being reprogrammed by rewiring to solve a full range of computing problems. It was preceded in 1941 by the fully tape-programmable Z3 designed by Konrad Zuse (although Z1 and Z2 were still mechanical, Z3 was the world's first electronic machine) in Germany and in 1944 by the all-electronic rewire-to-reprogram but not fully general purpose British Colossus computer. Both ENIAC and Colossus used thermionic valves, that is, vacuum tubes, while Z3 used relays. The requirement to rewire to reprogram ENIAC was removed in 1948.

ENIAC was developed and built by the U.S. Army for their Ballistics Research Laboratory with the purpose of calculating ballistic firing tables. ENIAC was conceived of and designed by J. Presper Eckert and John William Mauchly of the University of Pennsylvania. Mauchly had borrowed some ideas from the first electronic computer, the Atanasoff Berry Computer. A patent infringement case (Sperry Rand vs. Honeywell, 1973) voided the ENIAC patent as a derivative of John Atanasoff's invention. Atanasoff commented, "there is enough credit for everyone in the invention and development of the electronic computer." Eckert and Mauchly received initial credit for inventing the electronic digital computer but historians now consider the Atanasoff-Berry computer to have priority.
The computer was commissioned on May 17, 1943 as Project PX, constructed at the Moore School of Electrical Engineering from mid-1944. ENIAC was unveiled on February 14, 1946 at the University of Pennsylvania, having cost almost $500,000. It was shut off on November 9, 1946 for a refurbishment and a memory upgrade, and was transferred to the Aberdeen Proving Ground, Maryland in 1947. There, on July 29 of that year, it was turned on and would be in continuous operation until 11:45 PM on October 2, 1955.
Description
ENIAC received a lot of press for its sheer size, but in some ways it was not the state-of-the-art of its era. Unlike Konrad Zuse's Z3 of 1941 and Howard Aiken's MARK I of 1944 it had to be rewired to run a new program (Z3 and MARK I read their programs off a tape). Furthermore, unlike Z3 and most modern computers, ENIAC's registers performed decimal arithmetic rather than binary. The idea of the stored-program computer came during the development of the ENIAC, but it was not implemented because (1) the machine was to be completed quickly so that it could aid in the war effort, and (2) it was realized that 20 storage locations for memory and programs would be much too small.
ENIAC used ten-position ring counters to store digits, each digit used 36 tubes, 10 of these were the dual triodes making up the flip-flops of the ring counter. Arithmetic was performed by "counting" pulses with the ring counters and generating carry pulses if the counter "wrapped around", the idea being to emulate in electronics the operation of the digit wheels of a mechanical adding machine. ENIAC had twenty ten-digit signed accumulators and could perform 5,000 simple addition or subtraction operations between any selected pair of them every second (Note: It was possible to connect several pairs of accumulators simultaneously, so the peak speed of operation was potentially much higher due to parallel operation). It was possible to wire the carry of one accumulator into another to perform double precision arithmetic (but the accumulator carry circuit timing prevented the wiring of three or more for higher precision). The ENIAC used four of the accumulators controlled by a special Multiplier unit and could perform 385 multiplication operations per second. The ENIAC used five of the accumulators controlled by a special Divider/Square-Rooter unit and could perform forty division operations per second or three square root operations per second. The other nine units in ENIAC were the Initiating Unit (started and stopped the machine), the Cycling Unit (synchronized the other units), the Master Programmer (controlled "loop" sequencing), the Reader (controlled an IBM punch card reader), the Printer (controlled an IBM punch card punch), the Constant Transmitter, and three Function Tables.
The reference by Rojas and Hashagen gives more details about the times for operations, which differ somewhat from those above. The basic clock cycle was 200 microseconds, or 5,000 cycles per second for operations on the 10-digit numbers. In one of these cycles, ENIAC could write a number to a register, read a number from a register, or add/subtract two numbers. A multiplication of a 10-digit number by a d-digit number (for d up to 10) took d+4 cycles, so a 10- by 10-digit multiplication took 14 cycles, or 2800 microseconds – a rate of 357 per second. If one of the numbers had fewer than 10 digits, the operation was faster. Division and square roots took 13(d+1) cycles, where d is the number of digits in the result (quotient or square root). So a division or square root took up to 143 cycles, or 28,600 microseconds – a rate of 35 per second. If the result had fewer than ten digits, it was obtained faster.
Physically, ENIAC was a monster—it contained 17,468 vacuum tubes, 7,200 crystal diodes, 1,500 relays, 70,000 resistors, 10,000 capacitors and around 5 million hand-soldered joints. It weighed 30 short tons (27 t), was roughly 2.4 m by 0.9 m by 30 m, took up 167 m² and consumed 160 kW of power. Input was possible from an IBM card reader, while an IBM card punch was used for output. These cards could be used to produce printed output offline using an IBM accounting machine, probably the IBM 405.
ENIAC used common octal-base radio tubes of the day; the decimal accumulators were made of 6SN7 flip-flops, while 6L7s, 6SJ7s, 6SA7s and 6AC7s were used in logic functions. Numerous 6L6s and 6V6s served as line drivers to drive pulses through cables between rack assemblies. The first problems run on the ENIAC were related to the design of the hydrogen bomb.
Some electronics experts predicted that tube failures would occur so frequently that the machine would never be useful. This prediction turned out to be partially correct: several tubes burned out almost every day, leaving it nonfunctional about half the time. Special high-reliability tubes were not available until 1948. Most of these failures, however, occurred during the warm-up and cool-down periods, when the tube heaters and cathodes were under the most thermal stress. By the simple (if expensive) expedient of never turning the machine off, the engineers reduced ENIAC's tube failures to the more acceptable rate of one tube every two days. In 1954, the longest continuous period of operation without a failure was 116 hours (close to five days). Given the technology available at the time, this failure rate was remarkably low, and stands as a tribute to the precise engineering of ENIAC.
The six women who did most of the actual programming of ENIAC were inducted in 1997 into the Women in Technology International Hall of Fame ([1]). They were Kathleen McNulty Mauchly Antonelli, Jean Jennings Bartik, Frances Snyder Holberton, Marlyn Wescoff Meltzer, Frances Bilas Spence and Ruth Lichterman Teitelbaum. (These are their married names, from the 1997 Hall of Fame induction.)
Eckert and Mauchly took the experience they gained and founded the Eckert-Mauchly Computer Corporation, producing their first computer, BINAC, in 1949 before being acquired by Remington Rand in 1950 and renamed as their UNIVAC division.
ENIAC was a one-of-a-kind design and was never repeated. The freeze on design in 1943 meant that the computer had a number of shortcomings which were not solved, notably the inability to store a program. But the ideas generated from the work and the impact it had on people such as John von Neumann were profoundly influential in the development of later computers, initially EDVAC, EDSAC and SEAC.
A number of improvements were also made to ENIAC from 1948, including a primitive read-only stored programming mechanism [2] using the Function Tables as program ROM, an idea proposed by John von Neumann. Three digits of one accumulator (6) was used as the program counter, another accumulator (15) was used as the main accumulator, and most of the other accumulators (1-5,7-14,17-19) were just used for data memory. It was first demonstrated as a stored-program computer on September 16 1948, running a program by Adele Goldstine for John von Neumann. This modification reduced the speed of ENIAC by a factor of six, but as it also reduced the reprogramming time to hours instead of days, it was considered well worth the loss of performance. Early in 1952, a high speed shifter was added, which improved the speed for shifting by a factor of five. In July 1953, a 100-word expansion core memory was added to the system, using binary coded decimal, excess-3 number representation. To support this expansion memory, the ENIAC was equipped with a new Function Table selector, a memory address selector, pulse-shaping circuits, and three new orders were added to the programming mechanism.
As of 2004, a chip of silicon measuring 0.02 inches (0.5 mm) square holds the same capacity as the ENIAC, which occupied a large room.
See also
Further reading
- Scott McCartney, ENIAC: The Triumphs and Tragedies of the World's First Computer. Walker & Co, 1999. ISBN 0802713483.
- Herman H. Goldstine, The Computer from Pascal to Von Neumann. Princeton University Press, 1972. (Goldstine was one of the people who proposed the ENIAC, and pages 148-166 this book covers the history of ENIAC in detail from personal knowledge.)
- Edmund C. Berkeley, GIANT BRAINS or machines that think. John Wiley & sons, inc., 1949. Chapter 7 Speed—5000 Additions a Second: Moore School's ENIAC (Electronic Numerical Integrator And Computer)
References
- H. H. Goldstine, A. Goldstine, The Electronic Numerical Integrator and Computer (ENIAC), 1946 (reprinted in The Origins of Digital Computers: Selected Papers, Springer-Verlag, New York, 1982, pp. 359-373)
- J. Presper Eckert, The ENIAC (in Nicholas Metropolis, J. Howlett, Gian-Carlo Rota, (editors), A History of Computing in the Twentieth Century, Academic Press, New York, 1980, pp. 525-540)
- John W. Mauchly, The ENIAC (in A History of Computing in the Twentieth Century, pp. 541-550)
- Arthur W. Burks, Alice R. Burks, The ENIAC: The First General-Purpose Electronic Computer (in Annals of the History of Computing, Vol. 3 (No. 4), 1981, pp. 310-389; commentary pp. 389-399)
- W. Barkley Fritz, The Women of ENIAC (in IEEE Annals of the History of Computing, Vol. 18, 1996, pp. 13-28)
- J. Presper Eckert, John Mauchly, Outline of plans for development of electronic computers (The founding document in the electronic computer industry.)
- Raúl Rojas and Ulf Hashagen, editors, The First Computers: History and Architectures, 2000, MIT Press, ISBN 0-262-18197-5.
External links
- Eniac (Karl Kempf, Electronic Computers Within The Ordnance Corps, November 1961)
- ENIAC museum at the University of Pennsylvania