*** Please note, this page (and web site) are in early development.
Items are certainly not complete, and may be inaccurate.
Your information, comments, corrections, etc. are eagerly requested.
Send e-mail to Ed Thelen.
Please include the URL under discussion. Thank you ***
|Manufacturer ||University of Pennsylvania |
|Identification,ID ||- |
|Date of first manufacture||- |
|Number produced ||- |
|Estimated price or cost||- |
|location in museum ||- |
Contents of this page:
- 20 individual 10 digit accumulators.
- Accumulators can transmit numbers to other accumulators through the digit
output terminals labeled A (for add) and S (for subtract).
- Similarly, accumulators can receive numbers through 5 digit input terminals,
labled Alpha, Beta, ...
- Timing for transmission and reception of numbers is controlled by pulses received
by the program pulse terminals. Each accumulator has twelve program controls.
On each accumulator, Program Controls 1--4 are non-repeat controls that perform
only one function when they receive a pulse on their program input terminal.
Program Controls 5--12 are repeat program controls that can perform the same
function up to nine times. A repeat program control begins to perform when it
receives a pulse on its input terminal. When it is finished, it transmits a
pulse on its output terminal
- 10's Complement Negative numbers are stored in the Eniac by their
10's complement which is computed by subtracting a given number from
M 9 999 999 999 and then adding one. For example, to find the way -84
is represented, we perform the subtraction:
M 9 999 999 999
- P 0 000 000 084
M1 9 999 999 915
We then add one, to get our result -84 = M 9 999 999 916
- 1 multiply unit
- 1 divide unit
- 1 square root unit
- 3 function generators
- All of the above units could be wired (programed) to function in parallel
- The most important technical achievement of the Eniac was its lightning speed.
The Eniac takes only 200 microseconds to add or subtract.
That means that it can perform 5000 addition cycles each second.
- Another significant feature of the Eniac is its ability to perform digit discrimination
and branch loops. The Eniac was the first machine to support common
``if statements'' that are so vital to the execution of useful programs.
- Despite all its similarities to today's computers, the Eniac maintains some
important differences. The main one is that it can not store its programs
electronically. Programs must be hard-wired before the machine is started.
The other interesting difference is that the machine is ``synchronous.''
The timing of all instructions is set up before a program is begun.
A Short History of the Second American Revolution states that the
mean time between failures was greater than 12 hours, This was gained by"
- Lower power levels and careful design alternatives were sought to minimize
the amount of work demanded of the vacuum tubes.
- Most tubes were found to fail early or late in their lives,
which resulted in a regimen of preventive maintenance ensuring that only the
healthiest" tubes were used in the ENIAC.
- Eckert instituted rigid requirements for careful design and construction that
had to be met by all engineers and technicians on the project where even a
faulty soldering joint could render the entire machine useless.
- Universal design standards, established collaboratively by all of the Moore
School engineers ensured that components such as resistors, as well as the
vacuum tubes, operated at a certain percentage of their rated capacity. "
- from alt.folklore.computers "According to the official specs, the ENIAC used
17,468 tubes, but only 16 different types of tubes. (as reproduced in
Nancy Stern's "From ENIAC to UNIVAC" for whatever it is worth)."
from R. Tim Coslet
Subject: I just finished reading the ENIAC Technical Manual
Date: Sat, Aug 27, 2016
The portions of the machine I found most difficult to understand were The Master Programmer unit and the punchcard equipment. The problem with the punchcard equipment did not surprise me, I always find that confusing.
However the Master Programmer unit is just strange! I think I understand it now however, but I will have to reread the entire section on it later to be sure. It is kind of a mixture between a collection of reconfigurable state machines using a combination of "One-Hot" ring counter Steppers (with 1 to 6 flipflops selected by a switch) and variable digit width (from 0 to 5 digits controlled by "associator" switches) ring counter Decades mechanisms, pulse counting digit value decoders, and 6-way pulse routing switches. The ability to "clear direct" or "count direct" any Stepper or "count direct" any Decade digit independently without sending an output pulse could be used to change the operation of any of the reconfigurable state machines.
Note: the ENIAC documents never use the terminology state machine. I only used it above to clarify things some for modern readers.
Fri, Nov 04, 2016
I sort of figured out ENIAC's Master Programmer Unit.
They seem to have decided to use a 6 stage Stepper counter mostly because the front panel of the Master Programmer did not have room for more than 6 rows of decade switches.
At some later date, ENIAC was converted to a stored program machine.
The Moore School Lectures
Text by Jim Strickland
Whether or not ENIAC is the “first computer,”
it is the platform from which all modern computers
This is more than just a comment on timing or an
opinion. It is true because of the Moore School lectures,
“Theory and Techniques for Design of Electronic Digital
Computers,” a series of lectures held between July 8,
1946 and August 30, 1946.
The lectures taught the ideas developed for the EDVAC
(Electronic Discrete Variable Automatic Computer) which
was to be a stored program computer and discussed
ENIAC (Electronic Numerical Integrator and Computer)
as a first step in that direction.
The lecturers were a who's who of early computing.
They both taught and attended lectures by others:
- J. Presper Eckert and John W Mauchly of the
Electronic Control Company. Eckert and Mauchly
were, of course, inventors of ENIAC and had planned
and begun development of EDVAC. They had left the
Moore School in March of 1946, partly due to a patent
dispute with the University and partly to form their own
company. Later they would develop BINAC and
- John von Neumann from the Institute for Advanced
Study. Von Neumann had contributed to, and
summarized the ideas initiated by the ENIAC team as
author of the First Draft of a Report on EDVAC (1945).
He was architect of the IAS (Institute for Advanced
Studies, Princeton, N.J.) computer “family.” He is
also primarily responsible for the modifications to
ENIAC which allowed it to have and to run in
production, a “stored program,” (albeit stored in
switches of the ENIAC Function tables). This was
accomplished in 1947 and is arguably the first
example of an electronic computer running a
stored program. Later he served as a consultant to
IBM and influenced design of the IBM 701, IBM's
first entry in the fledgling computer business
- Herman Goldstine of the IAS. Goldstine was the US
Army Liaison to the Moore school and was a huge
figure in ENIAC development. He left the Army in early
in 1946. Later he joined John von Neumann in
developing the IAS computer. Still later he joined
IBM and became its chief scientist.
- Arthur W. Burks of the IAS. Burks was a major
developer of ENIAC, having responsibility for the
Multiplier/divider. He had left the Moore school in
March of 1946. He later that year would join the
University of Michigan to start their computer
- Jeffrey Chuan Chu of the Moore School. He had
developed ENIAC's divider/square rooter. Chu would
go on to Argonne National Laboratory and have
responsibility for their AVIDAC and ORACLE
(installed at Oakridge National Laboratory in
Tennessee) computers based on the IAS design.
Chu later moved to UNIVAC.
- Howard Aiken of Harvard University. Aiken had led
development of the Harvard Mark I, an early
mechanical computer, built by IBM. He went on to
build Mark II, III and IV with the Mark IV being all
electronic. However, his computer architecture,
called the Harvard architecture, separated the
memory for program from the memory for data,
which proved to be a dead end in computer
- Jan Rajchman from RCA. He conceived and
developed the selectively addressable storage
tube, the ill-fated Selectron. The Selectron had
many development problems. While it was
installed on Johnniac, it never gained popularity
and was replaced on Johnniac and in the market
by core storage.
- George Stibbitz, independent consultant. Stibbitz was
the father of Relay Computer development at Bell
- Douglas Hartree from the University of Manchester,
England. Hartree visited ENIAC in February 1945. He
became acquainted with drafts of von Neumann's
report. He was influential in starting the computer
projects at Manchester and Cambridge
universities. He also was responsible for Harry
Huskey's tenure at the NPL in the UK and for
helping J. Lyons & co. Ltd. commercialize the
EDSAC in the form of LEO I.
- T. Kite Sharpless of the Moore School. He had
developed ENIAC's master programmer unit. He
became director of the EDVAC project at the
- C. Bradford Shephers of the Moore School. Later
worked on mercury delay line memory for UNIVAC.
- Other lecturers were: Sam B. Williams, consultant to
the Moore School; Hans Rademacher, University of
Pennsylvania; Perry Crawford Jr. from the U.S. Navy
Office of Research and Inventions; John H. Curtiss
from the National Bureau of Standards; Derrick
Lehmer from the University of California, Berkeley;
Calvin N. Moores from the Naval Ordnance
Laboratory, Irven Travis of the Moore School.
- From the Aberdeen proving Grounds Ballistics
Research Laboratory BRL): Samuel Lubkin. The BRL
which had funded ENIAC: would accept and run
ENIAC; then fund and accept EDVAC; then
develop their own ORDVAC (Ordnance Variable
Automatic Computer) based on the IAS design.
- From the U.S. Bureau of Standards: Edward W,
Cannon and Roger Curtis. The bureau would later
develop the SEAC (Standards Eastern Automatic
Computer) and SWAC (Standards Western
- From the Naval Ordnance Lab: R.D. Elbourne who
worked for John Vincent Atanasoff, Phillip A Shafer Jr.,
D. H. Gridley, Lours Suss, James T. Pendergrass,
Albert E. Smith and Sam Alexander. Alexander later
led development of the SEAC, the first fully
functional stored program electronic computer in
- From MIT: Arthur B. Horton, Warren S. Loud, Lou D.
Wilson, David R. Brown, Robert P. Eferett, Frank M,
Verzuh and Jay Forrester. After attending the
classes, Forrester led the effort to change MIT's
Whirlwind project from analog to digital.
- From Manchester University, England: David Rees.
Rees represented M. H. A. (Max) Newman, who
along with Thomas Williams and Fredric Kilburn
built the Manchester Baby, a proof of concept
stored-program computer which was the first to
ever run a program from its storage.
- From Cambridge University: Maurice V. Wilkes.
Wilkes led development of EDSAC, (Electronic
Delay Storage Automatic Calculator) the second
electronic digital stored program computer to go
into regular service. Later the project led to the
first commercially applied computer, LEO I, from J.
Lyons and Co. Ltd.(a chain of Tea shops in the U.
K.).It was on the boat home that Wilkes planned
the original design of EDSAC.
- From Bell Labs: Claude Shannon. Shannon is
credited with founding both digital computer and digital
circuit design theory in 1937, as a 21-year-old student
at MIT. He showed that Boolean algebra and binary
arithmetic could be used to simplify design of digital
circuits. Shannon is famous for having founded
information theory with a paper that he published
in 1948. He later did early work in Artificial
Intelligence with work on chess playing and a
“mouse” which learned.
- From IBM: Cuthbert Hurd. Hurd represented
Alleghney College at the lectures. In 1949, he joined
IBM and was instrumental in IBM's decision to
develop the 701 and to enter the computer
- Others Attending: from Reeves Instrument--H. I. Zagor;
from the US Army--Herbert Galman, Joshua
Rosenblom, Orin P. Gard and Albert Sayre; from the
Moore School--Simon E. Gluck; from General
Electric--Howard L. Clark and G.W. Hobbs; from the
U.S. War Department--Mark Breiter
Later computer classes
- In London, from December 1946 to February 1947,
Alan Turing and his assistant Jim Wilkinson gave nine
lectures. The lectures added substantially to the
understanding of the design of the Pilot ACE. The
lectures were attended by representatives of various
organizations planning to use or build an electronic
- The success of the Moore School Lectures prompted
Harvard University to host the first computer
conference in January, 1947.
- In 1947, the Association for Computing Machinery was
founded as a professional society to organize future
The ideas presented were debated, modified, and refined
and disseminated. The seeds planted by the Moore
School lectures took root all over the world.
By the end of 1947, at least six computers were under
construction in America and the UK Still others followed
on their heels. Also, some of the organizations
represented in the lectures acquired very early
computers from UNIVAC, IBM, ERA and others.
Second generation computers were underway and
ENIAC was the platform from which they sprang.
A Surprising Absence: Harry Huskey
Harry Huskey had developed the ENIAC reader and
printer units, which interfaced with the IBM card reader
and card punch. He wrote the first technical
specifications for EDVAC. Yet he was not present for the
Huskey had left the Moore School in June of 1946 to
teach mathematics at the Army Air Forces Institute of
Technology (now named the Air Force Institute of
Technology) at Wright Patterson field in Dayton, Ohio for
the summer of 1946. In December of 1946 he started a
one-year stint at the NPL.
Huskey went on to develop or influence a number of
second generation projects:
With his ENIAC experience and EDVAC knowledge and
looking back at his contributions to computer science it is
hard to understand why he was not involved in the Moore
School Lectures. But there it is.
- EDVAC at the University of Pennsylvania
- Pilot ACE (Automatic Computing Engine) at the
National Physical laboratory (NPL) in the UK, with
- SEAC (Standards Eastern Automatic Computer) for the
National Bureau of Standards.
- SWAC (Standards Western Automatic Computer-
1950) for the National Bureau of Standards. He
designed and developed SWAC which used Williams
- G-15 for Bendix Aviation Corp. (1956) which some
consider to be the first "personal" computer in the
world. He designed and developed the drum memory
Harry Huskey, a Fellow of the CHM, celebrated his 100th
birthday on Jan 21, 2016
- This unit is one of the twenty accumulators. there were also other types of units such
as a multiplier, 3 function generators, and switch input panels. The whole unit filled
a very large room, and had 18,000 vacuum tubes.
From: "R. Tim Coslet" Aug 07, 2016
ENIAC & IBM 1620
I have been reading the ENIAC manuals,
Like the 1620 ENIAC used long shift registers to keep track of "program" state. On the
1620 these are the I & E flipflops, which are reset at power on to all 0 except I1 which
is set to 1. On ENIAC these are the program flipflops within each unit, which are never
reset but are allowed to "runout invalid programs" (i.e. shift their random state out
resulting in all 0 state) during the first 10 seconds after DC power on.
The only flipflops in shift registers in ENIAC to be reset are the digit ring counters
in the Accumulator units and they are reset so that all flipflops are 0 except the "0"
and "P" flipflops which are set to 1 during the half second following the 10 seconds
to "runout invalid programs".
ENIAC took 70.5 seconds after its "start" button was pressed before it was ready to
operate: 1 minute to warmup heaters before DC power on, 10 seconds to "runout invalid
programs" from the program shift registers in the various units, one half second to
clear the Accumulator units.
The 1620 could wait as long as about 20 minutes for the core memory heaters to warm up
if necessary. but could be ready to use immediately after the power switch was turned
on if the memory was already warm.
As of the 1946 date of the ENIAC manuals I have all units except the Divider &
Square Rooter unit could always "runout invalid programs" within the alloted 10
seconds and be in an idle program state waiting for the operator to "initiate"
program execution. The Divider & Square Rooter unit had two things that could make
it take an indeterminate time to "runout invalid programs", leaving "invalid programs"
still running on it even when the machine is telling the operator that ENIAC is
finished with the full 70.5 second startup period and is idle waiting for him.
R. Tim Coslet
- If any "programs" on the Divider & Square Rooter unit were set for "divide" and
the combination of random values at turn on in the numerator and denominator Accumulator
units would take longer than 10 seconds to complete the division calculation. An obvious
pathological state of this is if the random value at turn on in the denominator
Accumulator unit was zero, the divide operation would run forever preventing "runout
of the invalid divide program\" from ever happening. [recommended workaround: set all
"programs" on the Divider & Square Rooter unit to "square root" until ENIAC is ready
to operate, then set the "programs" to "divide" that the problem setup requires]
- If any "programs" on the Divider & Square Rooter unit were set for "interlock"
selected (a feature that allows programs in other units to run in parallel with a
divide or square root program and synchronize their completion before starting the
next program in another unit) the Divider & Square Rooter unit may not be able to
"runout invalid programs". [recommended workaround: set all "programs" on the
Divider & Square Rooter unit to "no interlock" until ENIAC is ready to operate,
then set the "programs" to "interlock" that the problem setup requires]
They say that they will redesign the Divider & Square Rooter unit to fix both
problems before delivery to the Army BRL at Aberdeen.
Unfortunately many of the drawings in the books are reduced for publication so
much that they are not readable.
"To evaluate seven terms of a power series took 15 minutes on the Harvard [Mark I]
device of which 3 minutes was set-up time, whereas it will take at least 15 minutes
to set up ENIAC and about 1 second to do the computing."
September 2, 1944 letter to Colonel Paul Gillon, assistant director BRL from
Lieutenant Herman Goldstine, U.S. Army liaison officer for Project PX (ENIAC)
From: "R. Tim Coslet" Aug 07, 2016
ENIAC numeric coding for transfers between units and peripherals.
ENIAC used different numeric coding systems in different places to transfer quantities:
pulse coded 10's complement signed decimal via the Digit Trays (12 wires per tray: gnd wire, PM wire, and 10 digit wires) roughly halfway up the height of the panels. Can be connected as needed between the various units as required for the problem setup. Adapters can also be used to shift the number left or right, delete unneeded digits, etc.
static coded 9's compliment signed decimal via the Static Trays (2 cables w/ 55 wires each per tray: 1 M wire, and 50 1-of-10 digit wires each cable, remaining 4 wires of each cable not identified possibly unused) at the top of the panels. Connects one Accumulator unit into an operand input of a specific special purpose unit (High Speed Multiplier unit, Divider & Square Rooter unit, or Printer unit) and cut to length for signal timing reasons. Also used to connect Master Programmer unit counters to an operand input of the Printer unit.
BCD 1, 2, 2, 4 coded 9's compliment signed decimal from the IBM Card Reader to the Constant Transmitter unit, from the Portable Function Tables to the Function Table units, and in the multiplication lookup tables internal to the High Speed Multiplier unit.
- ENIAC punchcards always use signed magnitude decimal coding, so translations
are happening in the IBM Card Reader and in the Printer unit to account for this.
This was probably to be compatible with other IBM unit record machines.
The IBM Card Punch did not use a coded numeric system. Instead the Printer unit translated the 80 digits selected by its switches from static coded format to 12 groups of 80 punch control pulses matching the timing of the IBM Card Punch's 12 row emitters.
R. Tim Coslet
Interesting Web Sites
- If you feel threatened by assembly language programming,
you would go crazy "programming" an ENIAC.
- Two of the 6 original ENIAC programmers spoke at the 2000 ACM Awards Banquet
- Kay Mauchly Antonelli
- Jean Bartik
- Kathy Kleinman of the ACM (legal staff?) is writing a book,
and has a large number of high quality photographs
- pieces of ENIAC at ?
- Arthur Burkes - computer science? - has 4 accumulators
- Univ of Penn
- West Point
- University of Michigan (Ann Arbor) EECS building
- The Eckert estate was auctioned off by Skinner of Boston. There was
apparently a piece(s) of the Eniac.
News group alt.folklore.computers had "Philadelphia Inquirer for Friday, April 28, 2000,
page E8, reports that the lot was sold at the Skinner auction for $79,500,
but does not state who was the buyer."
- "ENIAC" by Scott McCartney, (reviewers say very non-technical, newspaper like)
If you have comments or suggestions, Send e-mail
to Ed Thelen
Go to Antique Computer home page
Go to Visual Storage page
Go to top
Updated Mar 27, 2017