Home
Page
Description of the ENIAC
"ENIAC, was the introduction
of vacuum tubes for fast, reliable digital computation. The ENIAC was initially
planned by John W. Mauchly and J. Presper Eckert, Jr., and was then developed,
designed, and built by a group of engineers under their direction. Work on the
ENIAC was carried out at the Moore School of Electrical
Engineering of the
The ENIAC was the first general-purpose electronic computer, capable of solving a wide variety of problems in science, engineering, and number theory at a high rate of speed. Its accumulators could add 5000 numbers per second, and its multiplier could perform 400 multiplications per second. While these are not startling rates by today's standards, the ENIAC was roughly 1000 times faster than its closest competitor, the electromechanical Harvard Mark I.2 It was only about 100 times faster than the differential analyzer, but, being digital, it achieved much greater accuracy than the analog differential analyzer and could solve a much wider range of problems. As a consequence of its speed and power, it solved computational problems previously beyond the reach of man, thereby establishing the feasibility and value of electronic digital computation.
Although the ENIAC used electronics for computing,
its method of programming was manual, an extension of the plug board. To enter
instructions in the machine, operators set switches on the calculating units;
and to sequence these instructions, they connected the units to one another by
plugging cables into sockets. Such programming was, of course, laborious. While
the ENIAC could compute the 30 second trajectory of a shell in 20 seconds,
operators required 2 days to program it
or to do so. It remained for the stored program
computer, the product of the second major advance in computer technology, to alter
programming in the same drastic manner in which the ENIAC had altered
hardware." [Annals of the History of Computing, Vol.3
There has been a great deal of mis-information on what was the first stored program computer and the inventers of the stored program computer logic. Jean Bartik, one of the original ENIAC programmers, has sent me information as well as a letter from John Mauchly to Datamation on the early days in the computing field. The letter follows this paragraph.
STORED PROGRAMS IN THE ENIAC, BINAC AND EDVAC
A Letter to the Editor of DATAMATION, from John W. Mauchly
In the May 1979 DATAMATION, you published some highlights from Nancy Stern’s doctoral dissertation, in part relating to the “stored program”. I would like to add further material which may interest some of your readers.
The EDVAC was the outcome of lengthy planning in which Eckert and I deliberately tried to overcome many problems of storage and control which were evident in the hasty “state-of-the-art” ENIAC System. Much of this planning took place in the early months of 1944, when most of the ENIAC design had been frozen. (See, e.g. “Disclosure of a Magnetic Drum Calculator”, Jan. 1944, U. Penna. Archives).
The principle which guided these “POST-ENIAC” efforts was that of trying, in the next computer, to use the same device for all situations requiring the same function (such as storage). What had been out of the question with ring-counter storage suddenly appeared within reach because of the economies estimated as possible with the acoustic delay line storage. It was not until October, 1944, that an Army Ordnance contract authorized work on EDVAC (without any specification as to just what an EDVAC might be). We were still building ENIAC, and had to be sure that it was properly completed. That took over a year more.
But all through 1944, and in 1945 as well, we were leading a
“double life”. For much of
two shifts,
During part of this time, Goldstine was hospitalized and did not have direct knowledge of the plans which were being generated so late at night. But Harry Huskey, who came to the ENIAC project about April, 1944 (his estimate) confirmed that soon after he arrived he became aware that the “next computer plans” involved having programs and data in the very same “store”. This was long before Goldstine met von Neumann in August, 1944.
Johnny learned instantly, of course, as was his nature. But he chose to refer to the modules we had described as “organs” and to substitute hypothetical “neurons” for hypothetical vacuum tubes or other devices which could perform logical functions. It was clear that Johnny was rephrasing our logic, but it was still the SAME logic. Also, he was introducing different but equivalent symbols; nevertheless the devices still did the same things. Johnny did NOT alter the fundamental concepts which we had already formulated for the EDVAC.
Everyone could see how fascinated Johnny was with a subject
which had somehow escaped his amazingly wide interests until Goldstine told him
of the
He must have spent considerable time at los Alamos writing
up a report on our design for an EDVAC.
This MSS he sent to Goldstine, with a letter stating that he had done
this as an accommodation for the
Without our knowledge, Goldstine then distributed the “design for the EDVAC” outside the project and even to persons in other countries.
Small wonder, then, that computer history gave von Neumann
the credit. Eckert and I, who left the
Of those who did check our ENIAC and EDVAC reports, Metropolis and Worlton published “A Trilogy of Errors in the History of Computing” (USA – Japan Computer Conf. 1972 AFIPS). Metropolis of los Alamos was in an excellent position to notice such errors, for he knew von Neumann and Eckert and me and the history recounted above. But on “historians” who merely copy from popular sources, that paper had no influence.
Before moving on to the BINAC, it is important to note that the ENIAC really did have a stored program, but not in the sense in which that word is currently used. The ENIAC was much more than an analog of a mechanical desk computer. Control of the calculations was more important than “just doing arithmetic fast”. And that control had to be fast enough so that it did not lose all the time gained by doing the arithmetic fast. That meant that any element of the program which changed fast had to be “in fast storage”. Each of the 20 “accumulators” had a ring counter for “repeat operations”, but more important were the electronic counters and stepping switches in the Master Programmer. These made possible immediate change from one program sequence to another, enabling the use of nested subroutines and other program variations.
Altogether, about 25% of the ENAIC “fast electronic storage” was devoted to such internal storage of those parts of the program which varied rapidly. That is one of the important features which made the ENIAC a far more powerful instrument than an “electronic speed-up of a mechanical computing device”.
Nor for a few words about the BINAC, which was not only the
first stored program computer built by Eckert-Mauchly, but the fastest with
delay line storage. Its clock rate was 4
megacycles, or 8 times that of the first machine at
Apparently these highly interested groups were satisfied that Eckert-Mauchly would indeed be able to produce UNIVACs.
Then what happened?
It would be more than a year before any computer of similar capacity and
speed would be available in
Northrop Aircraft required immediate delivery in
But, for the sake of “stored program” history, the following should be recorded: The first of the two computers which became the BINAC was under test early in 1949, and ran non-stop without error in April, 1949, for 44 hours. The test was then interrupted so that the engineers could get on with other work. The Cambridge EDSAC, we are told, made its debut in May, 1949.
Having covered some of the main points, I shall conclude with a few minor comments.
One common misconception which Eckert and I have repeatedly tried to correct is that ENIAC technology was based on previous radar work. There is not a shred of truth in that. It was, to a large extent, based on the “scaling” circuits of nuclear and cosmic ray laboratories. The acoustic delay line storage device, used in EDVAC, BINAC, and UNIVAC came from Eckert’s previous projects for radar.
There is a confusion of p.233 of Dr. Stern’s article between fixed function tables used in the multiplier unit to produce “partial products”, and the three large “portable function tables” which could be manually set up for arbitrary function values for 104 arguments.
Also, I should answer Fred Gruenberger’s remarks about my August 1942 memo. It was never intended to explain or propose a CONTROL method for electronic computation, but merely to “sell” the reason for developing electronic devices to overcome the limitations of mechanical devices, including relays. Fortunately it did that. But IT DID NOT DESCRIBE even a calculator, still less a computer.
Any one who wants to read what we proposed for the ENIAC should consult the April 1943 proposal which Eckert and I and Dr. Brainerd put together and presented to the Ballistic Research Laboratory at a meeting which approved the “starting project”. In that document was a “program chart” which I drew up to show how the iterations for a trajectory might be calculated. Such may be the first program every attempted for an electronic digital device. Perhaps Brian Randall will reprint that proposal in a revision of his book on “Origin of Digital Computers”.