| ENIAC | |
|---|---|
Four ENIAC panels and one of its three function tables at the School of Engineering and Applied Science at the University of Pennsylvania | |
![]() Interactive map of ENIAC | |
| 39°57′08″N 75°11′26″W / 39.9523°N 75.1906°W | |
| Location | University of Pennsylvania Department of Computer and Information Science, 3330 Walnut Street, Philadelphia, Pennsylvania, U.S. |
| History | |
| Built | 1945 |

ENIAC (/ˈɛniæk/; Electronic Numerical Integrator and Computer) was the first programmable, electronic, general-purpose digital computer, completed in 1945. Other computers had some of these features, but ENIAC was the first to have them all. ENIAC was Turing-complete and able to solve "a large class of numerical problems" through reprogramming.
ENIAC was designed by Ursinus College physics professor John Mauchly and J. Presper Eckert of the University of Pennsylvania to calculate artillery firing tables for the United States Army's Ballistic Research Laboratory (which later became a part of the Army Research Laboratory). However, its first program was a study of the feasibility of the thermonuclear weapon.
ENIAC was completed in 1945 and first put to work for practical purposes on December 10, 1945.
ENIAC was formally dedicated at the University of Pennsylvania on February 15, 1946, having cost $487,000 (equivalent to $7,000,000 in 2024), and called a "Giant Brain" by the press. It had a speed on the order of one thousand times faster than that of electro-mechanical machines.
ENIAC was formally accepted by the U.S. Army Ordnance Corps in July 1946. It was transferred to Aberdeen Proving Ground in Aberdeen, Maryland, in 1947, where it was in continuous operation until 1955.
ENIAC's design and construction was financed by the United States Army Ordnance Corps, Research and Development Command, led by Major General Gladeon M. Barnes, at a cost of about $487,000, equivalent to $7,000,000 in 2024. In June 1941 firing tables for artillery were being computed for the United States Army Ordnance Department by graduate students using Friden calculators and differential analyzer, under the supervision of John Mauchly. Mauchly began exploring the use of electronics to speed up these calculations. He was not an electronics expert, and he partnered with research associate J. Presper Eckert to draft an electronic computer that could work much faster. In August 1942, Mauchly proposed a fully electronic calculating machine to calculate these tables. The U.S. Army Ordnance accepted their plan, giving the University of Pennsylvania a six-month research contract for $61,700. The construction contract was signed on June 5, 1943, and secret work on the computer began at the University of Pennsylvania's Moore School of Electrical Engineering the following month, under the code name "Project PX", with John Brainerd as principal investigator. Computer scientist Herman Goldstine persuaded the Army to fund the project and they assigned him to oversee it. Assembly of the computer began in June 1944. In September of that year, Eckert and Mauchly completed their conception of the computer. Construction was complete in May 1945 and testing began at the Moore School. In November of that year, Eckert, Mauchly, Goldstine, and John Brainerd issued the first confidential report on the computer, which describes how it functioned and the methods by which it was programmed. In 1946, Mauchly and Eckert resigned from the University of Pennsylvania and formed the Eckert–Mauchly Computer Corporation.
The team of design engineers assisting Mauchly and Eckert included Robert F. Shaw (function tables), Jeffrey Chuan Chu (divider/square-rooter), Thomas Kite Sharpless (master programmer), Frank Mural (master programmer), Arthur Burks (multiplier), Harry Huskey (reader/printer) and Jack Davis (accumulators). Several female mathematicians performed the bulk of the ENIAC programming: Jean Jennings, Marlyn Wescoff, Ruth Lichterman, Betty Snyder, Frances Bilas, and Kay McNulty.
ENIAC was a large, modular computer, composed of individual panels to perform different functions. Twenty of these modules were accumulators that could add, subtract, and hold a ten-digit decimal number in memory. Numbers were passed between these units across several general-purpose buses (called trays at the time). ENIAC's panels could send and receive numbers, compute, save answers, and trigger the next operation, all without any moving parts, allowing for great speed of calculation. It could also branch, or trigger different operations depending on the sign of a computed result, which was essential to its versatility.
By the end of its operation in 1955, ENIAC contained 18,000 vacuum tubes, 7,200 crystal diodes, 6,000 relays, 70,000 resistors, 10,000 capacitors, and approximately 5,000,000 hand-soldered joints. It weighed more than 30 short tons (27 t), was roughly 10 ft (3 m) tall, 3 ft (1 m) deep, and 100 ft (30 m) long, occupied 300 sq ft (28 m2) and consumed 150 kW of electricity. Input was from an IBM card reader and output was generated from an IBM card punch. An IBM accounting machine, such as the IBM 405, could produce printed output from these cards. While ENIAC originally had no memory system, these punch cards could be used as external memory. In 1953, a 100-word magnetic-core memory built by the Burroughs Corporation was added to ENIAC.
ENIAC used ten-position ring counters to store digits; each digit required 36 vacuum tubes, 10 of which 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", electronically emulating the operation of the digit wheels of a mechanical adding machine.
ENIAC had 20 ten-digit signed accumulators, which used ten's complement representation and could perform 5,000 simple addition or subtraction operations per second between an accumulator and a source (e.g., another accumulator or a constant transmitter). It was possible to connect several accumulators to run simultaneously, which could make the peak speed of operation much higher.

It was possible to wire the carry of one accumulator into another accumulator to perform arithmetic with double the precision. Higher precision would be possible by wiring more accumulators together but the accumulator carry circuit timing prevented such wiring. ENIAC used four of the accumulators (controlled by a special multiplier unit) to perform up to 385 multiplication operations per second, and five of the accumulators were controlled by a special divider/square-rooter unit to perform up to 40 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 card punch), the constant transmitter, and three function tables.
The references by Rojas and Hashagen (or Wilkes) give more details about the times for operations, which differ somewhat from those stated above.
The basic machine cycle was 200 microseconds (20 cycles of the 100 kHz clock in the cycling unit), 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 the multiplication of a 10-digit number by 10-digit number took 14 cycles, or 2,800 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. (Wilkes 1956:20 states that a division with a 10-digit quotient required 6 milliseconds.) If the result had fewer than ten digits, it was obtained faster.
ENIAC was able to process about 500 FLOPS. As of 2026[update], supercomputers operate at petascale (1015 FLOPS) and exascale (1018 FLOPS) speeds.
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.
Several tubes burned out almost every day, leaving ENIAC 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. Engineers reduced ENIAC's tube failures to the more acceptable rate of one tube every two days. According to an interview in 1989 with Eckert, "We had a tube fail about every two days and we could locate the problem within 15 minutes." In 1954, the longest continuous period of operation without a failure was 116 hours—close to five days.
ENIAC could be programmed to perform complex sequences of operations, including loops, branches, and subroutines. However, instead of the stored-program computers that exist today, ENIAC was just a large collection of arithmetic machines, which originally had programs set by a combination of plugboard wiring and three portable function tables (containing 1,200 ten-way switches each). The task of mapping a problem into the machine was complex and usually took weeks. Due to the complexity of this process, programs were only changed after many tests of the current program. After the program was figured out on paper, the process of setting ENIAC's switches and cables to execute that program could take days. This was followed by verification and debugging, which was aided by ENIAC's ability to execute the program step by step. A programming tutorial for the modulo function using an ENIAC simulator gives an impression of what a program on the ENIAC looked like.
ENIAC's six primary programmers, Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas and Ruth Lichterman, not only determined how to input ENIAC programs, but also developed an understanding of ENIAC's inner workings. The programmers were often able to narrow bugs down to an individual failed tube which could be pointed to for replacement by a technician.

During World War II the U.S. Army interviewed many women to compute ballistics trajectories. At least 200 women had been hired by the Moore School of Engineering to work as "computers", doing mathematical calculations for scientific studies or engineering projects, usually with a mechanical calculator. Mathematician Herman Goldstine selected the original ENIAC programmers, whom he called operators, from this group. Six women were chosen to be the programmers of ENIAC for the Army's Ballistic Research Laboratory: Betty Holberton, Kay McNulty, Marlyn Wescoff, Ruth Lichterman, Betty Jean Jennings, and Fran Bilas. Under the direction of Herman and Adele Goldstine, the computers studied ENIAC's blueprints and logic to determine how to manipulate its switches and cables (programming languages did not yet exist). This was one of the few technical job categories available to women at that time.
Betty Holberton (née Snyder) continued on to help write the first generative programming system (SORT/MERGE) and, with Jean Jennings, helped design the first commercial electronic computers, the UNIVAC and the BINAC. McNulty developed the use of subroutines to increase ENIAC's computational capability. Though contemporaries considered programming a clerical task and did not publicly recognize the programmers' effect on the successful operation and announcement of ENIAC, McNulty, Jennings, Snyder, Wescoff, Bilas, and Lichterman have since been recognized for their contributions to computing. Three of the current (2020) Army supercomputers, Jean, Kay, and Betty, are named after Jean Bartik (Betty Jennings), Kay McNulty, and Betty Snyder respectively.
The labor shortage created by World War II helped enable the entry of women into the field. The field was not considered prestigious, and bringing in women was seen as a way to free men up for more skilled labor, meeting a need in a temporary crisis. The "programmer" and "operator" job titles were not originally considered professions suitable for women. The National Advisory Committee for Aeronautics said in 1942, "It is felt that enough greater return is obtained by freeing the engineers from calculating detail to overcome any increased expenses in the computers' salaries. The engineers admit themselves that the girl computers do the work more rapidly and accurately than they would. This is due in large measure to the feeling among the engineers that their college and industrial experience is being wasted and thwarted by mere repetitive calculation." While men having the same education and experience were designated "professionals", these women were designated "subprofessionals", though they had professional degrees in mathematics and were highly trained mathematicians. After the war ended, their expertise made it difficult to replace them with returning soldiers, and the women continued to work on ENIAC. Later, an expanded team of a hundred scientists was recruited to continue work on the ENIAC. Among these were several women, including Gloria Ruth Gordon. Adele Goldstine wrote the original technical description of the ENIAC.
The women were generally not given public recognition for their work, often not receiving any credit in their lifetimes. Computer scientist Kathy Kleiman released a book about the six female ENIAC programmers in 2022. In the 1990s, Kleiman learned that most of the ENIAC programmers were not invited to the ENIAC's 50th anniversary event and tracked them down to record their histories. "They were shocked to be discovered," Kleiman says. "They were thrilled to be recognized, but had mixed impressions about how they felt about being ignored for so long."
Several language systems were developed to describe programs for the ENIAC, including:
| Year | Name | Chief developers |
|---|---|---|
| 1943–46 | ENIAC coding system | John von Neumann, John Mauchly, J. Presper Eckert, Herman Goldstine after Alan Turing. |
| 1946 | ENIAC Short Code | Richard Clippinger, John von Neumann after Alan Turing |
| 1946 | Von Neumann and Goldstine graphing system (Notation) | John von Neumann and Herman Goldstine |
One year into the Ballistic Research Laboratory's three-year ENIAC project, it came to the attention of John von Neumann, a mathematician working on the hydrogen bomb at Los Alamos National Laboratory. In December 1945, the ENIAC was used to calculate thermonuclear reactions. This data was used to support research on building a hydrogen bomb.
ENIAC's role in the hydrogen bomb helped popularize use of the Monte Carlo method. Scientists involved in the original nuclear bomb development employed many human "computers" to do huge numbers of calculations to investigate the distance that neutrons might travel through various materials. John von Neumann and Stanislaw Ulam realized that ENIAC could do these calculations much faster. The success of this project showed the value of Monte Carlo methods in science.
A press conference was held on February 1, 1946, and the completed machine was announced to the public the evening of February 14, 1946, featuring demonstrations of its capabilities. Elizabeth Snyder and Betty Jean Jennings were responsible for developing the demonstration trajectory program, although Herman and Adele Goldstine took credit for it. The machine was formally dedicated the next day at the University of Pennsylvania. None of the women involved in programming the machine or creating the demonstration were invited to the formal dedication or to the celebratory dinner held afterwards.
The original contract amount was $61,700 and the final cost was almost $500,000 (approximately equivalent to $9,000,000 in 2025). ENIAC was formally accepted by the U.S. Army Ordnance Corps in July 1946. It was shut down on November 9, 1946, for a refurbishment and a memory upgrade, and was transferred to Aberdeen Proving Ground, in Maryland, in 1947. On July 29, 1947, it was turned on and was in continuous operation until 11:45 p.m. on October 2, 1955, when it was retired in favor of the more efficient EDVAC and ORDVAC computers.
A few months after ENIAC's unveiling in the summer of 1946, as part of "an extraordinary effort to jump-start research in the field", the Pentagon invited "the top people in electronics and mathematics from the United States and Great Britain" to a series of forty-eight lectures given in Philadelphia, Pennsylvania. They were called The Theory and Techniques for Design of Digital Computers but more often referred to as the Moore School Lectures. Half of these lectures were given by the inventors of ENIAC.
ENIAC was a one-of-a-kind design and was never repeated. The freeze on design in 1943 meant that it lacked some subsequent innovations, notably the ability to store a program. Eckert and Mauchly started work on a new design, later called the EDVAC, which would be simpler and more powerful. In particular, in 1944 Eckert wrote his description of a memory unit (the mercury delay line) which would hold both the data and the program. John von Neumann, who was consulting for the Moore School on the EDVAC, sat in on the Moore School meetings at which the stored program concept was elaborated. Von Neumann wrote up an incomplete set of notes (First Draft of a Report on the EDVAC) which were intended to be used as an internal memorandum—describing, elaborating, and couching in formal logical language the ideas developed in the meetings. ENIAC administrator and security officer Herman Goldstine distributed copies of this first draft to a number of government and educational institutions, spurring widespread interest in the construction of a new generation of electronic computing machines, including Electronic Delay Storage Automatic Calculator (EDSAC) at Cambridge University, England and SEAC at the U.S. Bureau of Standards.
A number of improvements were made to ENIAC after 1947, including a primitive read-only stored programming mechanism using the function tables as program ROM. After this, programming was done by setting the switches. The idea was worked out in several variants by Richard Clippinger and his group, and also by the Goldstines, and was included in the ENIAC patent. Clippinger consulted with von Neumann on what instruction set to implement. Clippinger had thought of a three-address architecture while von Neumann proposed a one-address architecture because it was simpler to implement. Three digits of one accumulator (#6) were used as the program counter, another accumulator (#15) was used as the main accumulator, a third accumulator (#8) was used as the address pointer for reading data from the function tables, and most of the other accumulators (1–5, 7, 9–14, 17–19) were used for data memory.
In March 1948 the converter unit was installed, which made possible programming through the reader from standard IBM cards. The "first production run" of the new coding techniques on the Monte Carlo problem followed in April. After ENIAC's move to Aberdeen, a register panel for memory was also constructed, but it did not work. A small master control unit to turn the machine on and off was also added.
The programming of the stored program for ENIAC was done by Betty Jennings, Clippinger, Adele Goldstine and others. It was first demonstrated as a stored-program computer in April 1948, running a program by Adele Goldstine for John von Neumann. This modification reduced the speed of ENIAC by a factor of 6 and eliminated the ability of parallel computation, but as it also reduced the reprogramming time to hours instead of days, it was considered well worth the loss of performance. Also analysis had shown that due to differences between the electronic speed of computation and the electromechanical speed of input/output, almost any real-world problem was completely I/O bound, even without making use of the original machine's parallelism. Most computations would still be I/O bound, even after the speed reduction imposed by this modification.
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, 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.

Mechanical computing machines have been around since Archimedes' time (see: Antikythera mechanism), but the 1930s and 1940s are considered the beginning of the modern computer era.
ENIAC was, like the IBM Harvard Mark I and the German Z3, able to run an arbitrary sequence of mathematical operations, but did not read them from a tape. Like the British Colossus, it was programmed by plugboard and switches. ENIAC combined full, Turing-complete programmability with electronic speed. The Atanasoff–Berry Computer (ABC), ENIAC, and Colossus all used thermionic valves (vacuum tubes). ENIAC's registers performed decimal arithmetic, rather than binary arithmetic like the Z3, the ABC and Colossus.
Like the Colossus, ENIAC required rewiring to reprogram until April 1948. In June 1948, the Manchester Baby ran its first program and earned the distinction of first electronic stored-program computer. Though the idea of a stored-program computer with combined memory for program and data was conceived during the development of ENIAC, it was not initially implemented in ENIAC because World War II priorities required the machine to be completed quickly, and ENIAC's 20 storage locations would be too small to hold data and programs.
The Z3 and Colossus were developed independently of each other, and of the ABC and ENIAC during World War II. Work on the ABC at Iowa State University was stopped in 1942 after John Atanasoff was called to Washington, D.C., to do physics research for the U.S. Navy, and it was subsequently dismantled. The Z3 was destroyed by the Allied bombing raids of Berlin in 1943. As the ten Colossus machines were part of the UK's war effort their existence remained secret until the late 1970s, although knowledge of their capabilities remained among their UK staff and invited Americans. ENIAC, by contrast, was put through its paces for the press in 1946, "and captured the world's imagination". Older histories of computing may therefore not be comprehensive in their coverage and analysis of this period. All but two of the Colossus machines were dismantled in 1945; the remaining two were used to decrypt Soviet messages by GCHQ until the 1960s. The public demonstration for ENIAC was developed by Snyder and Jennings who created a demo that would calculate the trajectory of a missile in 15 seconds, a task that would have taken several weeks for a human computer.
U.S. patent 3,120,606 for ENIAC, applied for in 1947 and granted in 1964, was voided by the 1973 decision of the landmark federal court case Honeywell, Inc. v. Sperry Rand Corp.. Mauchly had examined the Atanasoff–Berry computer (prototyped in 1939 by John Atanasoff and Clifford Berry), and it was determined that the ENIAC inventors derived the subject matter of the electronic digital computer from Atanasoff. The decision gave legal recognition to Atanasoff as the inventor of the first electronic digital computer and put the invention of the electronic digital computer in the public domain.


The main parts were 40 panels and three portable function tables (named A, B, and C). The layout of the panels was (clockwise, starting with the left wall):
An IBM card reader was attached to Constant Transmitter panel 3 and an IBM card punch was attached to Printer Panel 2. The Portable Function Tables could be connected to Function Table 1, 2, and 3.

Pieces of ENIAC are held by the following institutions:
ENIAC was named an IEEE Milestone in 1987.

In 1996, in honor of the ENIAC's 50th anniversary, The University of Pennsylvania sponsored a project named "ENIAC-on-a-Chip", where a very small silicon computer chip measuring 7.44 mm by 5.29 mm was built with the same functionality as ENIAC. Although this 20 MHz chip was many times faster than ENIAC, it had but a fraction of the speed of its contemporary microprocessors in the late 1990s.
In 1997, the six women who did most of the programming of ENIAC were inducted into the Women in Technology International Hall of Fame. The role of the ENIAC programmers is treated in a 2010 documentary film titled Top Secret Rosies: The Female "Computers" of WWII by LeAnn Erickson. A 2014 documentary short, The Computers by Kate McMahon, tells of the story of the six programmers; this was the result of 20 years' research by Kathryn Kleiman and her team as part of the ENIAC Programmers Project. In 2022 Grand Central Publishing released Proving Ground by Kathy Kleiman, a hardcover biography about the six ENIAC programmers and their efforts to translate block diagrams and electronic schematics of the ENIAC, then under construction, into programs that would be loaded into and run on ENIAC once it was available for use.
In 2011, in honor of the 65th anniversary of the ENIAC's unveiling, the city of Philadelphia declared February 15 as ENIAC Day.
The ENIAC celebrated its 70th anniversary on February 15, 2016.
The ENIAC machine [...] was reduced to practice no later than the date of commencement of the use of the machine for the Los Alamos calculations, December 10, 1945.
The ENIAC machine […] was reduced to practice no later than the date of commencement of the use of the machine for the Los Alamos calculations, December 10, 1945.
At present it is controlled by a code which incorporates a unit called the Converter as a basic part of its operation, hence the name ENIAC Converter Code. These code digits are brought into the machine either through the Reader from standard IBM cards*or from the Function Tables (...). (...) *The card control method of operation is used primarily for testing and the running of short highly iterative problems and is not discussed in this report.
Unlike the later 60- and 100-order codes this one [51 order code] required no additions to ENIAC's original hardware. It would have worked more slowly and offered a more restricted range of instructions but the basic structure of accumulators and instructions changed only slightly.