|
Arguably, one of the most interesting stories in
human history is that of the ENIAC
(pronounced "In E Ak"). ENIAC,
an acronym for Electronic Numeric Integrator And Computer,
is the world's first electronic digital
computer.
It was developed in 1939 by Army Ordnance, it's sole original
function was to compute ballistic firing tables.
A small ENIAC picture gallery is located here.
Below is a reprint of an article prepared in
1961, found on the US Army Research Laboratory website (here).
The ENIAC Story
By Martin H. Weik, 1961
Ordnance Ballistic Research Laboratories, Aberdeen Proving
Ground, MD
"...With the advent of everyday use of
elaborate calculations, speed has become paramount to such a
high degree that there is no machine on the market today
capable of satisfying the full demand of modern computational
methods. The most advanced machines have greatly reduced the
time required for arriving at solutions to problems which
might have required months or days by older procedures. This
advance, however, is not adequate for many problems
encountered in modern scientific work and the present
invention is intended to reduce to seconds such lengthy
computations..."
From the ENIAC patent (No. 3,120,606), filed 26 June 1947.
As in many other first along the road of
technological progress, the stimulus which initiated and
sustained the effort that produced the ENIAC (electronic
numerical integrator and computer)--the world's first electronic
digital computer--was provided by the extraordinary demand of
war to find the solution to a task of surpassing importance. To
understand this achievement, which literally ushered in an
entirely new era in this century of startling scientific
accomplishments, it is necessary to go back to 1939.
As the year 1939 dawned on an apprehensive and
fearful Europe, soon to realize the worst of its fears with the
outbreak of the war on September 1st, the United States
continued largely oblivious to the outside world and its
impending fate. This obliviousness was in no way better
exemplified than in the size and state of unreadiness of the
U.S. Army.
Two decades of complete indifference toward
military preparedness had witnessed its virtual elimination as a
factor of any military consequence in the world. In that fateful
year the total strength of the Regular Establishment of the Army
was approximately 120,000 officers and men.
The part of this exceedingly small peacetime
establishment which provided the principal scientific and
logistic support was the Ordnance Department. This Department
had the responsibility for the design, development, procurement,
storage, and issue of all combat materiel and munitions for the
Army. In 1939 it was staffed by a relative handful of officers
and career civilian employees.
The only scientific facility then available to
the Ordnance Department for carrying out experimentation with
weapons was the Aberdeen Proving Ground in Maryland. This
facility had been acquired at the beginning of World War I and
had been heroically maintained during the disheartening interim
period so that at the outbreak of World War II it was able
single-handedly to perform the crucial task of testing all
combat materiel during the critical period of mobilization of
the American war effort.
One of the extraordinarily important tasks which
devolved upon the proving ground was the preparation of firing
and bombing tables for the Army which at that time, of course,
included the Army Air Corps. This responsibility was carried out
at the Ballistic Research Laboratory of the Ordnance Department
at Aberdeen. Here also were obtained experimental data of high
accuracy and precision, necessary to the computation of the
firing and bombing tables.
What was the situation at the Ballistic Research
Laboratory on the eve of World War II? Its computing group
comprised just a handful of civilian employees of the Ordnance
Department. These individuals were well trained and highly
skilled in the conventional methods of computation of firing and
bombing tables. Available to this group at that time was one
important calculating device other than standard desk
calculators--this was the Bush differential analyzer.
This analogue device, or continuous variable
calculator, had been installed at the proving ground about five
years previously under the direction of Major James Guion of the
Ordnance Department, then head of the ballistic computations
section of the proving ground.
The analyzer installed at Aberdeen had ten
integrating units and provisions for two input and two output
tables as well. But, despite its value as an important
mechanical aid to computation, it had several severe
limitations. Probably the most severe of these was the
mechanical torque amplifier. This element of the analyzer
sufficiently amplified the extremely small torque developed by
the integrating units so as to permit its transmission and
utilization elsewhere in the device to drive other elements
including other integrators.
This torque amplifier, although simple in
mechanical design, frequently failed toward the end of a long
trajectory run with the loss of the preceding computation and an
appreciable delay associated with its repair.
The officer in charge of ballistic computations
at that time was Lieutenant P. N. Gillon, Ordnance Department,
who had just assumed responsibility for ballistic computations
at the outbreak of the war in Europe. His immediate recognition
of the immensity of the task that would devolve upon the
Ordnance Department in the event of America's involvement in the
war prompted him to seek both marked improvement in mechanical
aids to computation and augmented facilities for their
accomplishment.
It was, of course, known that the Moore School
of Electrical Engineering of the University of Pennsylvania had
a Bush differential analyzer of somewhat larger capacity than
the one installed at Aberdeen. As a matter of fact, the one at
the Moore School had fourteen integrating units. Therefore one
of the first steps taken was the award to the University of
Pennsylvania of a contract by the Ordnance Department for the
utilization of this device.
Following the award of this contract, Lieutenant
Gillon in his capacity as officer in charge of ballistic
computations conferred frequently with Dean Harold Pender,
Professor J. G. Brainerd, and their associates at the Moore
School with a view to effecting proper coordination of the
computational work at Philadelphia and Aberdeen.
Fortunately, at this time there was a very
talented group at the Moore School under the direction of
Professor Brainerd and as a result of Lieutenant Gillon's
discussions with the professor and his associates, Assistant
Professor Weygand undertook to develop an electronic torque
amplifier to replace the mechanical torque amplifiers on the
Bush differential analyzers. This work was eminently successful
and in a rather brief period of time.
In addition, photoelectric followers were
developed by the Moore School group for both the input and
output tables of the analyzer. As a result of these
accomplishments the productive capacity of the analyzers at both
the Moore School and at Aberdeen were enhanced by at least an
order of magnitude.
During the same period of time the computational
activities at Aberdeen were being expanded greatly, and the
increase in staff included both military and civilian personnel.
Among the former, shortly after America's entry into the war,
one of the very important individuals in the ENIAC story came to
duty at the proving ground. This was Lieutenant Herman H.
Goldstine, a Reserve officer of the Ordnance Department.
Lieutenant Goldstine had received his doctorate
in mathematics at the University of Chicago under Professor
Bliss who had, himself, been one of the principal ballisticians
at the proving ground during World War I.
Upon reporting to active duty at the proving
ground, Lieutenant Goldstine was assigned to the Ballistics
Research Laboratory as an assistant to Captain Gillon. In view
of the increased importance of the activities in Philadelphia,
which by this time included a training responsibility in the
mathematics of ballistic computations, Captain Gillon requested
that Lieutenant Goldstine be assigned to duty at the University
of Pennsylvania as supervisor of the computational and training
activities there.
In September 1942, Colonel Gillon was assigned
to the Office of the Chief of Ordnance as deputy chief of the
Service Branch of the Technical Division with the responsibility
for the research activities of the Department, including those
at the respective Ordnance facilities. This, of course, included
the work performed in the field of ballistic computations.
This responsibility required frequent contact
with the activities at the University of Pennsylvania, and as a
result thereof in the early part of 1943 Captain Goldstine and
Professor Brainerd brought to Colonel Gillon the outline of the
technical concepts underlying the development of the ENIAC. This
outline had been prepared at Captain Goldstine's request by Dr.
John W. Mauchly and J. P. Eckert, Jr.
Colonel Gillon fully realized the formidable
opposition that probably would be offered to the initiation and
prosecution of a development of this sort, especially in view of
the highly speculative character of its successful completion.
He was convinced, however, of the importance of the need not
only to ballistic computations but also to the research
activities of the Ordnance Corps as well, and accordingly he
undertook to obtain the necessary authorization for its
initiation and assumed full responsibility for its support and
supervision.
The original agreement between the United States
of America and the trustees of the University of Pennsylvania,
dated June 5, 1943, called for six months of "research and
development of an electronic numerical integrator and computer
and delivery of a report thereon." This initial contract
committed $61,700 in U.S. Army Ordnance funds.
Nine supplements to this contract extended the
work to 1946, increased the amount ultimately to a total of
$486,804.22, assigned technical supervision to the Ballistic
Research Laboratories, and called for the delivery of a working
"pilot model," first to be operable at the University
of Pennsylvania and then to be delivered to the Ballistic
Research Laboratories at the Aberdeen Proving Ground.
From this point forward, the research staff and
faculty of the Moore School under Dr. Pender undertook rigorous
prosecution of the development pursuant to the terms of the
Ordnance contract. The project was placed under the supervision
of Professor Brainerd, with Mr. Eckert as chief engineer and Dr.
Mauchly, who provided the original outline for this development,
as principal consultant. Captain Goldstine, the resident
supervisor for the Ordnance Department, not only exercised
extraordinarily detailed and highly competent supervision for
the Government but also contributed greatly to the mathematical
side of this undertaking. As in all important undertakings which
achieve important results, this was the work of many
individuals.
The ENIAC was placed in operation at the Moore
School, component by component, beginning with the cycling unit
and an accumulator in June 1944. This was followed in rapid
succession by the initiating unit and function tables in
September 1945 and the divider and square-root unit in October
1945. Final assembly took place during the fall of 1945.
By today's standards for electronic computers
the ENIAC was a grotesque monster. Its thirty separate units,
plus power supply and forced-air cooling, weighed over thirty
tons. Its 19,000 vacuum tubes, 1,500 relays, and hundreds of
thousands of resistors, capacitors, and inductors consumed
almost 200 kilowatts of electrical power.
But ENIAC was the prototype from which most
other modern computers evolved. It embodied almost all the
components and concepts of today's high- speed, electronic
digital computers. Its designers conceived what has now become
standard circuitry such as the gate (logical "and"
element), buffer (logical "or" element) and used a
modified Eccles-Jordan flip-flop as a logical, high-speed
storage-and-control device. The machine's counters and
accumulators, with more sophisticated innovations, were made up
of combinations of these basic elements.
ENIAC could discriminate the sign of a number,
compare quantities for equality, add, subtract, multiply,
divide, and extract square roots. ENIAC stored a maximum of
twenty 10-digit decimal numbers. Its accumulators combined the
functions of an adding machine and storage unit. No central
memory unit existed, per se. Storage was localized within the
functioning units of the computer.
The primary aim of the designers was to achieve
speed by making ENIAC as all-electronic as possible. The only
mechanical elements in the final product were actually external
to the calculator itself. These were an IBM card reader for
input, a card punch for output, and the 1,500 associated relays.
Another design objective was to make the
electronics simple and reliable. This goal was achieved by
utilizing vacuum tubes in a minimum of basic circuit
combinations. To ensure reliable operation, circuits were
constructed to rigidly tested standard components which were
operated at current, voltage, and power levels below their
normal ratings.
Accuracy of computation was assured by designing
the basic circuits to work independently of the variable
tolerances of their components. Numbers were not represented by
electrical quantities which could be affected by changes in
tolerance but only by the presence or absence of dynamic pulses.
The gate performed the switching or logical
"and" function. It consisted of a single pentode which
had a control voltage applied to its suppressor grid. Its
function was similar to that of a single pole switch in that it
"opened" (passed a pulse pattern) when the suppressor
grid was positive and "closed" when the suppressor
grid was negative.
The buffer contained two or more tubes connected
through a common load resistor to form a circuit with the
logical properties of the word "or." The grids of the
tubes were normally biased at the cut-off point so that a
positive input to any tube in the combination produced a
negative output.
The flip-flop circuit contained two triodes so
connected that only one would conduct at a given time. The
bi-stable device had two inputs and two outputs. In the set, or
normal position, one side of the output was positive, the other
negative. In the reset, or abnormal position, these polarities
were reversed. Logically, the flip-flop performed the functions
of memory and that of a double-pole, double-throw switch. The
state of each flip-flop was indicated by a neon lamp on the
front panel of the computer units.
A group of ten flip-flops, (0-9), interconnected
to count digit pulses, formed a decade ring counter which was
capable of adding and storing numbers. The ring counter
possessed the following characteristics: (1) At any one time
only one flip-flop could be in the reset state; (2) A pulse to
the counter input reset the initial flip-flop in the chain; (3)
The circuit could be cleared so that a specific flip-flop was in
the reset position while the others remained set.
Each flip-flop of a counter was termed a stage,
and reception of a pulse at the input side advanced the counter
by one stage. Information was recirculated through the counter;
i.e., the last stage was coupled to the first. A variation of
the basic counter circuit, the PM counter, controlled the sign
of a number in the accumulator. Ten decade ring counters, one
per decimal place, plus one PM counter, formed the basic
arithmetic and storage unit of ENIAC--the accumulator. The
decade ring counters were equipped with ten transmission
circuits so that when any ring passed the nine positions, a
pulse was passed to the next ring in the series. Input pulses
reaching the accumulator added to or subtracted from its
contents.
The accumulator was an essential element in all
of ENIAC's arithmetic operations. Addition required two
accumulators--one transferring its contents to the other.
Subtraction, accomplished by a complement-and-add process, also
used two accumulators. In normal multiplication, four
accumulators stored the multiplier and multiplicand and
accumulated the partial products. In division they shifted the
remainder and stored the numerator, denominator, and quotient.
The function table utilized the accumulators for storage of the
argument and accumulation of the function value.
A synchronous system, ENIAC operated under the
control of pulses from a cycling unit. The pulses were emitted
at 10-microsecond intervals. The overall timing cycle or
repetition rate was 200 microseconds, one addition time. Pulses
were transmitted to all units continuously and simultaneously,
and each computer operation took an integral number of addition
times. For checking and trouble-shooting purposes, the cycling
unit circuitry included provisions for operation in a
one-addition or one-pulse-at-a-time mode.
The ENIAC was not originally designed as an
internally programmed computer. The program was set up manually
by varying switches and cable connections. However, means for
altering the program and repeating its iterative steps were
built into the master programmer. Digit trays, long racks of
coaxial cables, carried the data from one functioning unit to
another. Program trays, similarly, transferred instructions;
i.e., programs. In purely repetitive calculations the basic
computing sequence was set by hand. The master programmer
automatically controlled repetition and changed the sequence as
required.
The master programmer contained ten 6-stage
counters--each routing incoming program pulses over a field of
six output channels. The position of the counters was controlled
by either the number of pulses which had been supplied to the
output channels or by the number of pulses received at a special
input terminal. In this fashion, the number of sequences could
be fixed in advance or made contingent on the results of a
computation.
Each functioning unit of ENIAC was equipped with
local program-control circuits. These circuits contained
switches which were set for the function required. When the
local program circuit was stimulated by a program pulse, the
unit performed the desired operation. After it finished, a
program- completion pulse was emitted, via the program tray
coaxial line, to the next unit in the operational sequence.
In addition to its cycling unit, twenty
accumulators, and master programmer, ENIAC included an
initiating unit, a high-speed multiplier, a divider, a
square-root unit, and three portable function tables.
The initiating unit turned ENIAC on and off,
cleared it, and initiated computation.
The high-speed multiplier did its work in much
the same fashion as a human would. It contained a built-in
multiplication table capable of multiplying up to 9 times 9.
Multiplication of the multiplicand by each digit of the
multiplier took one addition time. The left- and right-hand
figures of each product of a digit of the multiplicand and the
multiplier were accumulated separately to form two partial
products, which, when combined, formed the final product. The
multiplication process for two 10-digit numbers took 2.6
milliseconds.
The divider and square-root unit worked by
repeated subtraction and addition, a time-consuming procedure
which took an average of 25 milliseconds for a 10-digit number.
The divisor was subtracted from the dividend, and the sign of
the partial remainder was tested after each step. When the sign
became negative, the remainder was shifted up-scale and the
divisor was added until the sum became positive. An accumulator
serving as a quotient register kept a count of the number of
additions and subtractions for the successive decimal places.
Extraction of a square root was a similar process.
The principal purpose of the function tables,
which actually were banks of switch-controlled resistor
matrices, was the storage of the arbitrary functions called for
by the problem. The switches selected one of 12 digits and 2
signs for each of the 104 values of an independent variable that
were stored in each table. The functional similarity between
modern computers and the ENIAC is rather astounding, although
the ENIAC was designed almost two decades ago.
The ENIAC was formally dedicated at the Moore
School of Electrical Engineering of the University of
Pennsylvania on February 15, 1946, and it was accepted by the
U.S. Army Ordnance Corps in July, four years after the original
suggestion by Dr. Mauchly.
All During 1946 the ENIAC remained at the Moore
School, working out numerical solutions to problems in such
fields as atomic energy and ballistic trajectories. Dismantling
at the Moore School began in the winter, and the first units
arrived at Aberdeen Proving Ground in January 1947. The ENIAC
became operational again in August 1947.
The ENIAC's first few years at the Aberdeen
Proving Ground were difficult ones for the operating and
maintenance crews. The computer represented the largest
collection of interconnected electronic circuitry then in
existence, and its thousands of components had to remain
operational simultaneously. The result was a huge
preventive-maintenance and testing program, which, in the end,
led to some major modifications of the system.
Tubes were life-tested, and statistical data on
the failures were compiled. This information led to many
improvements in vacuum tubes themselves. Procurement of large
quantities of improved, reliable tubes, however, became a
difficult problem. Power-line fluctuations and power failures
made continuous operation directly off transformer mains an
impossibility. The substantial quantity of heat which had to be
dissipated into the warm, humid Aberdeen atmosphere created a
heat-removal problem of major proportions. Down times were long;
error-free running periods were short.
Programming new problems meant weeks of checking
and set-up time, for the ENIAC was designed as a general-purpose
computer with logical changes provided by plug-and-socket
connections between accumulators, function tables, and
input-output units. However, the ENIAC's primary area of
application was ballistics--mainly the differential equations of
motion.
In view of this, the ENIAC was converted into an
internally stored fixed-program computer when the late Dr. John
von Neumann of the Institute for Advanced Study at Princeton
suggested that code selection be made by means of switches so
that cable connections could remain fixed for most standard
trajectory problems. After that, considerable time was saved
when problems were changed.
The ENIAC performed arithmetic and transfer
operations simultaneously. Concurrent operation caused
programming difficulties. A converter code was devised to enable
serial operation. Each function table, as a result of these
changes, became available for the storage of 600 two-decimal
digit instructions.
Those revolutionary modifications, installed
early in 1948, converted ENIAC into a serial instruction
execution machine with internal parallel transfer of decimal
information. The original pluggable connections came to be
regarded as permanent wiring by most BRL personnel.
By February 1949, when the ENIAC completed the
computation for Project Chore, an Ordnance Corps contract with
the University of Chicago, operating difficulties had been
reduced to a minimum. Running times were longer, down times
shorter and reduced in number. The Chore contract and others
completed during this period proved the ENIAC's worth. Other
machines, among them the Bush differential analyzer and the Bell
relay calculator, would have required a prohibitive length of
time to complete the problems that were assigned to the ENIAC,
and the latter was much faster than any digital system then in
existence.
For example, a skilled person with a desk
calculator could compute a 60- second trajectory in about 20
hours. The analog differential analyzer produced the same result
in 15 minutes. ENIAC required 30 seconds--just half the time of
the projectile's flight.
The ENIAC led the computer field during the
period 1949 through 1952 when it served as the main computation
workhorse for the solution of the scientific problems of the
Nation. It surpassed all other existing computers put together
whenever it came to problems involving a large number of
arithmetic operations. It was the major instrument for the
computation of all ballistic tables for the U.S. Army and Air
Force.
In addition to ballistics, the ENIAC's field of
application included weather prediction, atomic-energy
calculations, cosmic-ray studies, thermal ignition,
random-number studies, wind-tunnel design, and other scientific
uses. It is recalled that no electronic computers were being
applied to commercial problems until about 1951.
EDVAC and ORDVAC, both faster than ENIAC, began
to share the Computing Laboratory's work load with the ENIAC in
1953. It became apparent almost immediately that the ENIAC would
have to be modified if it were to remain competitive,
economical, and efficient. Modifications, based on new
developments in the computer art, were again made on the ENIAC.
In addition to an independent motor-generator
set, which eliminated the power troubles, a high-speed
electronic shifter, which reduced by 80 percent the time
required for numerical shifting and eliminated numerous tubes
and program units, was installed early in 1952. Later, in July
1953, a 100-word static magnetic-core memory was added to the
system.
The core storage unit, the first operational
unit of its kind, was built by the Burroughs Corporation. The
Binary coded decimal, excess three, system of number
representation was used. It was operated successfully three days
after its arrival at BRL and continued in service until the
ENIAC was retired.
To provide for the additional memory capacity,
the ENIAC was equipped with a new function-table selector, a
special memory-address selector, and special pulse-shaping
circuits. Three new orders were added to the converter code for
use with the new memory.
Despite these modernizations and the fact that
trouble-free operating time remained at about 100 hours a week
during the last 6 years of the ENIAC's use, its operating costs
were far above those of the EDVAC and ORDVAC. The ENIAC was no
longer competitive from an economic point of view. The work load
gradually was shifted to the other machines, and at 11:45 p.m.
on October 2, 1955, the power to ENIAC was removed.
The late Dr. von Neumann suggested that attempts
be made to preserve at least some of the ENIAC at the
Smithsonian Institution at Washington, DC. So far, efforts at
preservation have had several concrete results. An operational
ENIAC accumulator unit has been shipped to the United States
Military Academy at West Point, NY, for display in the Academy
museum. The Smithsonian will display portions of the ENIAC as
soon as space becomes available.
The National Science Foundation has several
computer exhibits in the United States and Europe, containing
portions of the ENIAC. Efforts are being made to have the U.S.
Army Office of Military History declare the ENIAC as
historical-interest property. It is hoped that this progenitor
of a new industry--the key which opened new avenues of approach
to solutions of many perplexing scientific problems, the device
which pioneered the evolution of high-speed digital computing
and automatic data-processing machinery--will be preserved for
posterity.
Looking back over the years from 1939 to the
fateful evening of October 2, 1955, one can clearly see the life
cycle of an enterprise. A need existed for faster computing
speeds, and Army Ordnance had made known this need to the Moore
School.
Mauchly and Eckert suggested an electronic
digital computing design which Gillon believed was worthy of the
fullest Ordnance support. Eckert supervised construction.
Coders, programmers, and engineers made it run and produced
useful results which otherwise would have been unattainable. The
rapid progress of computer technology, spurred by the ENIAC
itself, soon made the device obsolete.
Thus ended the life of the once glorious pioneer
in the field of digital computation. As stated in the June 1958
report of the Operations Research Office of the Johns Hopkins
University, entitled "Defense Spending and the U.S.
Economy:" "The present electronic computer industry is
the direct product of Army-sponsored research...,"
resulting in the ENIAC, "the first modern electronic
computer." It's death was a natural one--it had served its
purpose.
Mr. Weik is with the Ordnance Ballistic Research
Laboratories, Aberdeen Proving Ground, MD. He was assisted in
the preparation of this article by Herman H. Goldstine and Paul
N. Gillon, both of whom were instrumental in the creation of the
ENIAC.
Reprinted from the January-February 1961 issue
of O R D N A N C E, Copyright 1961. The Journal of the American
Ordnance Association, 708 Mills Building - Washington 6, DC.
|