Tuesday, January 5, 2016

Programming the ENIAC

Built in 1943-45 at the Moore School of the University of Pennsylvania for the War effort by John Mauchly and J. Presper Eckert (no relation to Columbia University's Wallace Eckert) but not delivered to the Army until just after the end of the war, the Electronic Numerical Integrator And Computer (ENIAC) was the first general-purpose electronic digital computer. It was 150 feet wide with 20 banks of flashing lights and about 300 times faster than the Mark 1 at addition. Wallace Eckert is cited in the histories as an influence on the designers, as he was for the Mark 1. These US Army photos from the archives of the ARL Technical Library show two early programmers (Gloria Ruth Gordon [Bolotsky] and Ester Gerston) at work on the ENIAC.

     
The ENIAC was not a stored-program computer; it is "better described as a collection of electronic adding machines and other arithmetic units, which were originally controlled by a web of large electrical cables" (David Alan Grier, IEEE Annals of the History of Computing, Jul-Sep 2004, p.2). It was programmed by a combination of plugboard wiring (shown at the top) and three "portable function tables", shown above (CLICK HERE and HERE for better views). Each function table has 1200 ten-way switches, used for entering tables of numbers. Note the IBM punches on the far right -- a bit hard to make out; better visible in this clearer but less atmospheric copy of the same photo. Franz Alt writes in Archaeology of Computers -- Reminiscences, 1945-47, Communications of the ACM, July 1972:

One of the peculiarities that distinguished ENIAC from all later computers was the way in which instructions were set up on the machine. It was similar to the plugboards of small punched-card machines, but here we had about 40 plugboards, each several feet in size. A number of wires had to be plugged for each single instruction of a problem, thousands of them each time a problem was to begin a run; and this took several days to do and many more days to check out. When that was finally accomplished, we would run the problem as long as possible, i.e. as long as we had input data, before changing over to another problem. Typically, changeovers occurred only once every few weeks.


Later, ENIAC's plugboards were permanently "microprogrammed" with a repertoire of 50-100 commonly used instructions that could be referenced from a "user program" entered as a sequence of instructions into the function-table switches. [40]

Herb Grosch says of this page [10 May 2003]:

I was roaming around the links and sublinks in the ENIAC story, and note with much interest that there were three or four castered twiddle boards [portable function tables A, B, and C], where I had always assumed only one.
I note the almost complete absence of Col.[then Major] Simon, and of Dick Clippinger, who should share with von Neumann the credit for moving from plugging to twiddling for program insertion.

I was pleased to see short reference to the IBM I/O units, which show in your and other copies of the most famous photo. I wonder if John McPherson knows how they were sold/rented/given to the Moore School --- never thought to ask him at the time. Unusual.

Bashe [4] says, "When the Army requested special card reading and punching units for an undisclosed project underway at the University of Pennsylvania, [IBM Chief Engineer James W.] Bryce and his staff coordinated IBM's response... In 1946, the instrument produced by the project was revealed as ENIAC..."
Not on your page, but in the Richie story and other Aberdeeneries there should have [been made] mention of the astronomer who taught them how to calculate trajectories by hand: Forest Ray Moulton, circa 1920 [my p.89].

That prolly wasn't intentional, but the elision of all references to the big punched card shop Cunningham ran, and to the two relay machines IBM built, certainly was. Those are what actually did firing tables, after desk calculators were overwhelmed and until the Bell machine arrived, and until ENIAC was moved in and later freed up.

Now, about the "I'm dubious ..." above. I don't think Wallace Eckert had any influence whatsoever on the designers of the ENIAC or the ASCC. Certainly in the hundreds and hundreds of hours he and I talked about those two machines, he never mentioned such, nor did Frank Hamilton, who was Number Two on the ASCC, ever hint at the latter.

A 1938 meeting between ASCC's Howard Aiken and Wallace Eckert is well known [9]. Gutzwiller [90] says that Presper Eckert (among other well-known pioneers of computing including Aiken and Vannevar Bush) got his first inspiration from Wallace Eckert's 1940 "orange book". I have not been able to pin down any evidence of direct contact between the two Eckerts. Since ENIAC was a war project (as was the Aberdeen Relay Calculator, with which Eckert was also ostensibly involved) it would not be surprising that records are not available.

0 comments:

Post a Comment