Author(s): Brian J. Shelburne Source: Math Horizons, Vol. 24 ... ENIAC at 70.pdf*In the U.K.,...

5
The ENIAC at 70 Author(s): Brian J. Shelburne Source: Math Horizons, Vol. 24, No. 3 (February 2017), pp. 26-29 Published by: Mathematical Association of America Stable URL: http://www.jstor.org/stable/10.4169/mathhorizons.24.3.26 Accessed: 12-02-2017 11:22 UTC JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of content in a trusted digital archive. We use information technology and tools to increase productivity and facilitate new forms of scholarship. For more information about JSTOR, please contact [email protected]. Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at http://about.jstor.org/terms Mathematical Association of America is collaborating with JSTOR to digitize, preserve and extend access to Math Horizons This content downloaded from 128.122.230.148 on Sun, 12 Feb 2017 11:22:03 UTC All use subject to http://about.jstor.org/terms

Transcript of Author(s): Brian J. Shelburne Source: Math Horizons, Vol. 24 ... ENIAC at 70.pdf*In the U.K.,...

  • The ENIAC at 70Author(s): Brian J. ShelburneSource: Math Horizons, Vol. 24, No. 3 (February 2017), pp. 26-29Published by: Mathematical Association of AmericaStable URL: http://www.jstor.org/stable/10.4169/mathhorizons.24.3.26Accessed: 12-02-2017 11:22 UTC

    JSTOR is a not-for-profit service that helps scholars, researchers, and students discover, use, and build upon a wide range of content in a trusted

    digital archive. We use information technology and tools to increase productivity and facilitate new forms of scholarship. For more information about

    JSTOR, please contact [email protected].

    Your use of the JSTOR archive indicates your acceptance of the Terms & Conditions of Use, available at

    http://about.jstor.org/terms

    Mathematical Association of America is collaborating with JSTOR to digitize, preserve and extend accessto Math Horizons

    This content downloaded from 128.122.230.148 on Sun, 12 Feb 2017 11:22:03 UTCAll use subject to http://about.jstor.org/terms

  • 26 February 2017 : : Math Horizons : : www.maa.org/mathhorizons

    Brian J. Shelburne

    During World War II—before smart bombs—the U.S. military needed firing tables that would enable artillery operators to aim their guns accurately, taking into account factors such as the location of the target,

    the type of artillery, and atmospheric conditions. But constructing the tables required using numeri-

    cal techniques to solve certain differential equations. These calculations were primarily carried out by a phalanx of human computers—many of whom were women—at the Army’s Ballistic Research Lab (BRL) in Aberdeen, Maryland, using desktop calculators. They also used the BRL’s differential analyzer, an analog device that could solve differential equations. Needless to say, both processes were time consuming.

    The Moore School of Electrical Engineering at the University of Pennsylvania also had a differential ana-lyzer, so the BRL partnered with the Moore School to use its machine and to train additional human computers. However, the production of firing tables for new artillery still fell behind.

    The idea for what was to become the ENIAC (Electronic Numerical Integrator and Computer) orig-inated with John Mauchly, a physics professor with an interest in electronic computing. In the summer of 1941, he took a course in electronics at the Moore School and then stayed on as an instructor. There he met J. Presper Eckert, a graduate student with whom he discussed his ideas for electronic digital computing.

    In 1942 Mauchly submitted a proposal, “The Use of High-Speed Vacuum Tube Devices for Calculation,” which was ignored until 1943 when the need for firing tables became more acute. At this time, Mauchly, Eckert, and John Brainerd, the Moore School’s direc-tor of research, submitted a proposal for a high-speed

    computing device that included Mauchly’s report. The result was government funding for Project PX: the ENIAC.

    Just over 70 years ago, in February 1946, the U.S. Army unveiled the ENIAC. Though it is widely known that the ENIAC was the first general-purpose electronic computer, it is less generally known how it functioned, how it was programmed, or how it differs from today’s stored program computers.* Here’s an introduction to these topics.

    An Overview of the ENIACThe ENIAC was big. Its 30 units were contained in 40 two-foot-by-eight-foot panels arranged in a U-shape (figure 2). Containing over 17,000 vacuum tubes, it was the largest such electronic device ever construct-ed—so large that given the failure rate of a vacuum tube, there was serious concern that the ENIAC would ever work. However, part of the genius of the ENIAC was how conservative design parameters were used to overcome the technological shortcomings of large-scale electronic design.

    Because bulky vacuum tubes were used in the ENIAC, memory was small, restricted to 20 ten-decimal digits, or 200 digits total. The designers used decimal representations instead of binary since it eliminated the need for decimal-to-binary conversions.

    The ENIAC was programmed using switches and cables (see figure 1). Cables established data connec-tions between units, and since the programming was distributed—with each unit acting autonomously—

    The ENIAC at 70

    *In the U.K., Colossus, an electronic special-purpose computer used for decrypting the German Lorenz cipher, became operational in 1943, although its existence was a closely guarded secret and not made public until the 1970s.

    Figure 1. Marlyn Wescoff (standing) and Ruth Lichterman (crouching) wiring in a new program on the ENIAC.U.S. Army

    This content downloaded from 128.122.230.148 on Sun, 12 Feb 2017 11:22:03 UTCAll use subject to http://about.jstor.org/terms

  • www.maa.org/mathhorizons : : Math Horizons : : February 2017 27

    control lines linked the units in the proper order to carry out multistep calculations.

    The main computational and storage units were the 20 accumulators (the blue boxes in figure 2). Each ac-cumulator could store a 10-digit decimal number and a positive or negative sign. To add or subtract two 10-digit numbers, an accumulator would transmit its number or its complement (that is, its negative) to a second accumulator, which was set to receive.

    The high-speed multiplier (green) computed 10- and 20-digit products. Using hard-wired multiplication tables, partial products were generated then shifted and summed in accumulators. This approach was much faster than multiplying using repeated addi-

    tion. On the other hand, the divider/square rooter (purple) employed a group of accumulators to divide and take square roots using repeated subtractions, additions, and shifts of digits. Special shifter cables could also be used to shift digits to the left or right to multiply or divide by pow-ers of 10 when transmitting a number (thus avoiding the use of the high-speed multiplier and the divider/square rooter).

    The ENIAC could look up values in three portable function tables (pink). Each table could store 104 signed 10-digit numbers that were input via front panel switches. Look-up tables were used to store values for functions like sine, cosine, and arctangent.

    Data was input using an IBM card reader (orange); it was fed punch cards that held eight signed 10-digit numbers. The numbers were stored electronically in the constant trans-mitter (brown) where they were made available at electronic speeds. Constants could also be entered via the front panel switches of the con-stant transmitter.

    Punch cards were also the output of the ENIAC (the card punch is khaki). Compared with the electronic speed of calculation, input and out-put using the mechanical reader and

    punch was very slow. The programming was distributed between the ac-

    cumulators and the master programmer (red). The master programmer allowed the ENIAC to repeat a sequence of programming instructions a fixed number of times (that is, a loop).

    The initiating unit (light blue) cleared the ac-cumulators and initialized the ENIAC for a com-putation. The cycling unit (yellow) provided the basic pulses for the ENIAC’s 100,000-Hertz clock. It required 20 pulses to perform an addition; thus, it could perform 5,000 additions per second. Other operations were measured in terms of 200-microsec-ond addition times.

    Figure 2. The ENIAC’s floor layout. (Image is from The Origins of Digital Computers [2]; colors were added by the author.)

    This content downloaded from 128.122.230.148 on Sun, 12 Feb 2017 11:22:03 UTCAll use subject to http://about.jstor.org/terms

  • 28 February 2017 : : Math Horizons : : www.maa.org/mathhorizons

    Storing Numbers Using Decade CountersThe ENIAC used a 10-state decade counter to store a single decimal digit. Think of it as 10 numbered light bulbs with one bulb being lit to indicate the digit being stored. Each accumulator had 10 decade counters and a two-state plus/minus counter for the sign. A positive number like 1,729 would be stored as P0 000 001 729 (illustrated in figure 3).

    A negative number was represented using 10’s complement representation; that is, the negative num-ber would be represented as the 10-digit number

    For example, would not be stored as M0 000 001 729, but as M9 999 998 271, since

    Negating a number in this system is easy: Subtract each digit from 9, then add 1 to the digit in the units position and propagate any carries. One advantage of this representation was that the same system of pulses used to add numbers also worked for subtrac-tion: To subtract m from n, we simply add n and the 10’s complement of m.

    Solving a Differential Equation As an example, we show how the ENIAC could be used to solve the differential equation with ini-tial condition Calculus students know that the analytical solution is but we will solve it numerically using the Euler-Heun recurrence equation

    with and step size A reader unfa-miliar with this technique need know only that it pro-

    duces a sequence of approximate values

    and so on.To begin, we use the ENIAC’s initiating unit

    to clear the accumulators, ready the printer, and initialize AC17 (accumulator 17) by transmitting 10,000,000 from the constant transmitter. We assume there is a decimal point between the seventh and eighth decades, so AC17 contains the value

    First, we transmit AC17 to both AC18 and AC20. We then transmit AC20 to AC18 using a shift-er cable (recall that so AC18 contains

    We clear AC20, then again transmit AC17 to AC18, which now contains

    To divide by 2, we transmit AC18 to AC19 five times and use a shifter cable to transmit AC19 to AC20. Now AC20 contains We clear AC19.

    We use a shifter cable to transmit AC20 to AC17, so it contains This value is We clear AC20.

    Finally, we use the looping capabilities of the mas-ter programmer to repeat this procedure 10 times, and we use the card punch to print the final value, which is our approximation of

    The master programmer has nested loop capabili-ties, so we repeat the above 50 times, thus generating a table of 50 y-values from to

    It’s not diffcult to emulate this ENIAC calculation in a modern programming language. Using integer arithmetic and starting with I ob-tained 27,182,281 (or 2.7182281) as an approximate value for

    John von Neumann and the EDVACThe ENIAC was completed too late to do the job it was built for—to compute firing tables for artil-lery. World War II ended in September 1945, but the ENIAC didn’t become fully operational until later that year. Its first real test came in December 1945 (before its offcial unveiling in February 1946), which was a top-secret calculation for a possible design of a thermonuclear device (reportedly using almost 1 mil-lion punch cards!).

    In 1944 a chance meeting between the mathemati-cians Hermann Goldstine (the BRL technical liai-son) and John von Neumann led to von Neumann’s involvement with the ENIAC project and his sub-

    –+

    1 111 111 1

    8 8 888 888 8

    0 0 0

    7 7 777 777 7

    6 6 666 666 6

    5 5 5 555 555 5

    4 4 444 444 4

    3 333 333 3

    2 222 222 2

    9 9 999 999 9

    0 0 0 0 0 0

    1

    3

    2

    1

    8

    0

    7

    6

    4

    3

    2

    9

    Figure 3. A light bulb analogy of the ENIAC’s storage of 1,729.

    This content downloaded from 128.122.230.148 on Sun, 12 Feb 2017 11:22:03 UTCAll use subject to http://about.jstor.org/terms

  • www.maa.org/mathhorizons : : Math Horizons : : February 2017 29

    sequent influence on computer technology. By this time, the design of the ENIAC was fixed, but von Neumann had an influence on the design of subse-quent computers.

    The designers of the ENIAC were aware of three major problems. First, it had too little memory. Second, it was diffcult to program. Problems had to be coded into a format commensurate with the ENIAC’s architecture, which required some under-standing of its underlying electronic design. And then it took time to physically wire and set up the switch-es. And third, input and output was very slow. The ENIAC could perform 5,000 additions per second, but it took half a second to read a punch card.

    In 1945 von Neumann wrote and disseminated “First Draft of a Report on the EDVAC” (Electronic Discrete Variable Automatic Computer), which presented the logical design for a computer with particular attention to the memory problem. Only von Neumann’s name appeared on the paper, but it is generally agreed that the ideas represented those of the ENIAC team including Mauchly and Eckert. The paper—though incomplete—was widely circu-lated and influenced subsequent computer design. The EDVAC was eventually constructed for the BRL at the Moore School.

    In 1947 the ENIAC was finally moved to Aberdeen. By 1948 it was redesigned to be programmed via its function tables, giving it read-only memory (ROM) for instructions. Though this redesign slowed the

    ENIAC down, it made it easier to program and therefore easier to use. And despite its limited memory, the ENIAC solved a wide variety of mathematical problems, including determining pi to more than 2,000 digits in 1949—this with only 200 digits of internal storage! The ENIAC remained in use, but in the 1950s it was rapidly surpassed by newer, faster stored program computers like the EDVAC.

    The ENIAC was shut down in October 1955. n

    Further ReadingWe provide a more detailed presentation of how the ENIAC executed the Euler-Heun calculation, includ-ing information on programming the accumulators and the Euler-Heun wiring diagram, at maa.org/mathhorizons/supplemental.htm.

    A few of the many excellent resources on the ENIAC are presented below.

    [1] Arthur Burks and Alice Burks, The ENIAC: First general-purpose electronic computer, IEEE Annals of the History of Computing 3 no. 4 (1981) 310–399.

    [2] Herman H. Goldstine and Adele Goldstine, The electronic numerical integrator and computer (ENIAC), in The Origins of Digital Computers: Selected Papers, Edited by B. Randell, Springer-Verlag, New York, 1982. 359–373.

    [3] Herman H. Goldstine, The Computer from Pascal to von Neumann, Princeton University Press, Princeton, NJ, 1972.

    [4] Thomas Haigh, Mark Priestley, and Crispin Rope, ENIAC in Action: Making and Remaking the Modern Computer, MIT Press, Cambridge, MA, 2016.

    Brian J. Shelburne is a professor of mathematics and computer science at Wittenberg University in Springfield, Ohio. Being somewhat stuck in the past, his research interests include the history of computers.

    http://dx.doi.org/10.4169/mathhorizons.24.3.26

    U.S. ArmyFigure 4. The ENIAC, wired.

    This content downloaded from 128.122.230.148 on Sun, 12 Feb 2017 11:22:03 UTCAll use subject to http://about.jstor.org/terms