Generated by DeepSeek V3.2| ENIAC | |
|---|---|
| Name | ENIAC |
| Developer | John Mauchly, J. Presper Eckert |
| Manufacturer | University of Pennsylvania |
| Type | General-purpose computer |
| Generation | First-generation computer |
| Release date | 1945 |
| Power | ~150 kW |
| Weight | ~30 short tons |
ENIAC. The Electronic Numerical Integrator and Computer was the first programmable, electronic, general-purpose digital computer. It was designed and constructed during World War II at the University of Pennsylvania's Moore School of Electrical Engineering by a team led by physicist John Mauchly and engineer J. Presper Eckert. Funded by the United States Army's Ballistic Research Laboratory, its primary purpose was to calculate artillery firing tables, though its first use was for computations related to the hydrogen bomb.
The project originated from the wartime needs of the United States Army Ordnance Corps, which required faster calculation of complex ballistic trajectories. Mauchly, inspired by earlier computing concepts like the Atanasoff–Berry Computer, wrote a proposal in 1942. The Ballistic Research Laboratory, under the direction of Colonel Leslie Simon, approved the project in 1943, assigning it the code name "Project PX". The construction team, which included notable figures like Herman Goldstine and Arthur Burks, worked in secrecy at the Moore School of Electrical Engineering. ENIAC was completed in late 1945, after the conclusion of World War II, and was formally unveiled to the public in February 1946. Its development cost approximately $500,000, funded through a contract with the United States Department of War.
ENIAC was a massive machine, occupying about 1,800 square feet and consisting of 40 individual panels arranged in a U-shape. Its electronic logic was built using over 17,000 vacuum tubes, alongside 70,000 resistors, 10,000 capacitors, and 1,500 relays. The system lacked a stored-program architecture, instead using a combination of accumulators, function tables, and a sophisticated programming unit to control operations. Data was transmitted between units via extensive cabling and a series of trigonometric function generators. It performed arithmetic using a decimal system and could execute conditional jumps, a foundational concept for later computer programming.
Configuring the machine for a new problem was a complex, manual process that could take days. Programmers, often a team of women mathematicians like Jean Bartik and Kathleen Antonelli, set the machine's operation by physically manipulating thousands of cable and plug connections on large plugboards and setting switches on the function tables. This process established the data path and instruction sequence. The machine was controlled by a central initiating unit that could start, stop, and cycle operations. Input was provided via IBM punched card readers, and output was similarly recorded on punched cards or displayed on numerical indicators.
ENIAC's public demonstration marked a seminal moment in the history of computing, proving the viability of large-scale electronic digital computation. It directly influenced the design of subsequent early computers like EDVAC, IAS machine, and UNIVAC I. The team's experiences led to the seminal First Draft of a Report on the EDVAC, which articulated the critical stored-program concept. Many key figures from the project, including Eckert and Mauchly, went on to found the Eckert–Mauchly Computer Corporation. ENIAC was eventually shut down in 1955, with sections preserved at institutions like the Smithsonian Institution and the Computer History Museum.
The machine operated at a clock speed of 100 kHz and could perform about 5,000 addition or 357 multiplication operations per second. It consumed approximately 150 kilowatts of power. For memory, it used twenty 10-digit accumulators for temporary storage and three function tables acting as read-only memory for constant values. Input and output were handled by punched card equipment, and the system included a dedicated printer module. It was capable of executing loops and branches, controlled by a master programmer unit that directed the sequence of operations.