ENIAC (Electronic Numerical Integrator and Computer) was the first electronic general-purpose computer, completed in 1945 at the University of Pennsylvania. Designed primarily to calculate artillery firing tables for the U.S. Army's Ballistic Research Laboratory, it used vacuum tubes, occupied a large room, and could perform thousands of calculations per second. Its development marked a pivotal milestone in computing history.

1 History

1.1 Conception and funding

The origins of ENIAC date to 1942, when physicist John Mauchly proposed an electronic calculating machine to the U.S. Army's Ballistic Research Laboratory (BRL). The BRL needed faster computation of artillery firing tables, a process then done by human calculators and mechanical desk machines. Mauchly's idea, developed with graduate student J. Presper Eckert, promised a dramatic speed increase. In 1943, the Army approved funding under a contract with the Moore School of Electrical Engineering at the University of Pennsylvania, designating the project "Project PX."

1.2 Construction and completion

Work began in mid-1943 at the Moore School. Eckert and Mauchly led a team of engineers, technicians, and mathematicians. The machine was built in a dedicated room measuring about 50 by 30 feet. Construction involved assembling 17,468 vacuum tubes, 70,000 resistors, 10,000 capacitors, and 6,000 switches. Mechanical components included three portable function tables and a master control unit. The system was first demonstrated in February 1946, after the war had ended. Although not fully operational until 1947, it was publicly announced in February 1946 as a computing marvel.

1.3 Operation and decommissioning

After its official dedication, ENIAC was moved to the BRL at Aberdeen Proving Ground, Maryland, in 1947. It remained in continuous use for nearly a decade, performing calculations for hydrogen bomb development, wind tunnel design, and early numerical weather prediction. By the mid-1950s, ENIAC was obsolete compared to newer stored-program machines. It was decommissioned on October 2, 1955. Parts of the machine were later disassembled and preserved.

2 Architecture

2.1 Hardware components

ENIAC's design was modular, built from interconnected panels and function units.

2.1.1 Vacuum tubes

ENIAC used 17,468 vacuum tubes, primarily the 6SN7 double triode and the 6L6 power tube. Tubes were the active switching elements, performing logical operations and memory storage. Tube failures occurred frequently—on average several tubes burned out each day—requiring a team of maintenance engineers. The heat generated by the tubes raised the room temperature to uncomfortable levels.

2.1.2 Function units and modules

The machine consisted of 40 panels arranged in U-shaped rows. Major functional units included:

  • Accumulators (20 units): Performed addition and subtraction and stored a 10-digit decimal value.
  • Multiplier: Performed multiplication using repeated addition.
  • Divider/Square Rooter: Handled division and square root operations.
  • Master Programmer: Controlled sequencing of operations.
  • Function Tables (three units): Provided lookup tables for constants and functions.
  • Constant Transmitter: Supplied fixed numerical values.
  • Printer: Output results onto punched cards.

2.2 Data storage and memory

ENIAC did not have a conventional memory in the modern sense. Data and intermediate results were stored in accumulators, each holding a signed 10-digit decimal number. Constants and function values were stored on switch‑set function tables. Instructions were not stored in memory; the machine’s programming was set by wiring and switches. Effective storage capacity was limited to about 20 numbers (the accumulators) plus the function tables.

2.3 Instruction set and programming

2.3.1 Original manual programming

Initially, ENIAC was not a stored-program computer. To set up a computation, operators had to physically plug cables between panels, set hundreds of rotary switches on function tables, and toggle data switches. This process could take hours or days, but once configured, the machine could run a program automatically through a sequence of units controlled by the master programmer.

2.3.2 Later modifications for stored programs

In 1948, ENIAC was modified to use a primitive facility for stored sequences. A device called the "Buffer Memory" and additional panel wiring allowed it to read a sequence of instructions from the function tables, resembling the stored-program concept. This was implemented by adding a "Converter" unit and rewiring the master programmer. Although still not a full Von Neumann architecture, the modification enabled faster reprogramming and more flexible computations.

3 Operation and usage

3.1 Primary applications

3.1.1 Ballistic trajectories

ENIAC’s original purpose was to calculate artillery firing tables. A single trajectory calculation that took about 20 minutes on mechanical calculators could be done in 30 seconds on ENIAC. The machine computed over 1,000 trajectories per day, far outpacing human operators. It was used extensively for both Army and Navy ballistic problems.

3.1.2 Weather modeling

In 1950, a team of meteorologists used ENIAC to perform the first numerical weather prediction. Using a simplified model of the atmosphere, the machine ran a 24-hour forecast in about 24 hours of computation—a landmark achievement. Later, ENIAC was used for studies of unsteady flow, wind tunnel data analysis, and other scientific problems.

3.2 Notable operators and programmers

3.2.1 The "ENIAC girls"

Six women—Kathleen Antonelli (née McNulty), Jean Bartik (née Jennings), Frances Holberton (née Bilas), Marlyn Meltzer (née Wescoff), Frances Spence (née Bilas), and Ruth Lichterman (née Teitelbaum)—were the original programmers of ENIAC. They worked for the University of Pennsylvania during World War II, manually setting up and debugging the machine by plugging cables and setting switches. Their contributions were largely unrecognized for decades but later celebrated for pioneering the profession of computer programming.

4 Legacy

4.1 Influence on later computers

ENIAC demonstrated that electronic digital computing was practical. Its design influenced the development of the EDVAC, which implemented the stored-program concept articulated by John von Neumann. The work of Eckert and Mauchly led directly to the UNIVAC II series, the first commercially available computers. ENIAC’s modular architecture and use of decimal arithmetic later gave way to binary and stored-program designs, but its success validated large-scale vacuum-tube electronics.

4.2 Historical recognition and preservation

4.2.1 Milestone designations

ENIAC has been recognized as an IEEE Milestone (1987) and an ACM/SIGDA landmark. In 1946, it was hailed as "a new machine" in public press, and in 1996 the U.S. Army dedicated a plaque at the University of Pennsylvania. Its role in the development of computing is a staple of computer history.

4.2.2 Physical remains and replicas

After decommissioning, several panels of ENIAC were saved and are now held at institutions such as the Smithsonian National Museum of American History, the University of Pennsylvania, and the Army’s Ordnance Museum. Replica panels and a working replica of part of the machine have been built for exhibitions. In 2016, the School of Engineering at the University of Pennsylvania opened a permanent exhibit featuring original components and interactive displays.