Chapter 6 Accuracy to 23 Digits: Harvard’s Ibm Automatic Sequence-Controlled Calculator
One of the first giant brains to be finished was the machine in the Computation Laboratory at Harvard University called the IBM Automatic Sequence-Controlled Calculator. This great mechanical brain started work in April 1944 and has been running 24 hours a day almost all the time ever since. It has produced quantities of information for the United States Navy. Although many problems that have been placed on it have been classified by the Navy as confidential, the machine itself is fully public. The way it was working on Sept. 1, 1945, has been thoroughly described in a 540-page book published in 1946, Volume I of the Annals of the Harvard Computation Laboratory, entitled Manual of Operation of the Automatic Sequence-Controlled Calculator. Since then the machine has been improved in many ways.
This machine does thousands of calculating steps, one after another, according to a scheme fixed ahead of time. This property is what gives the machine its name: automatic, since the individual operations are automatic, once the punched tape fixing the chain of operations has been put on the machine, and sequence-controlled, since control over the sequence of its operations has been built into the machine.
Origin and Development
More than a hundred years ago, an English mathematician and actuary, Charles Babbage (1792-1871), designed a machine—or engine as he called it—that would carry out the sequences of mathematical operations. In the 1830’s he received a government grant to build an analytical engine whereby long chains of calculations could be performed. But he was unsuccessful, because the refined physical devices necessary for quantities of digital calculation were not yet developed. Only in the 1930’s did these physical devices become sufficiently versatile and reliable for a calculator of hundreds of thousands of parts to be successful.
The Automatic Sequence-Controlled Calculator at Harvard was largely the concept of Professor Howard H. Aiken of Harvard. It was built through a partnership of efforts, ideas, and engineering between him and the International Business Machines Corporation, in the years 1937 to 1944. The calculator was a gift from IBM to Harvard University. Some very useful additional control units, named the Subsidiary Sequence Mechanism, were built at the Harvard Computation Laboratory in 1947 and joined to the machine.
General Organization
The machine (see Fig. 1) is about 50 feet long, 8 feet high, and about 2 feet wide. It consists of 22 panels; 17 of them are set in a straight line, and the last 5 are at the rear of the machine. In the scheme of the machine shown in Fig. 1, the details you would see in a photograph have been left out. Instead you see the sections of the machine that are important because of what they do: input, memory, control, and output. Why do we not see a section labeled “computer”? Because in this mechanical brain the computing part of the machine is closely joined to the memory: every storage register can add and subtract. We shall soon discuss these sections of the machine more fully.
Physical Devices
Now in order for any brain to work, physical devices must be used. For example, in the human body, a nerve is the physical device that carries information from one part of the body to another. In the Harvard machine, an insulated wire is the physical device that carries information from one part of the machine to another. One side of every panel in the Harvard machine is heavily laden with a great network of wires. Between the panels, you can see in many places cables as thick as your arm and containing hundreds of wires. More than 500 miles of wire are used.
The physical devices in the Harvard machine are numerous, as we would expect. It is perhaps not surprising that this machine has more than 760,000 parts. But, curiously enough, there are only 7 main kinds of physical devices in the major part of the machine. They are: wire, two-position switches, two-position relays (see Chapter 2), ten-position switches, ten-position relays, buttons, and cam contacts (see below). These are the devices that handle information in the form of electrical impulses. They can be combined by electrical circuits in a great variety of ways. There are, of course, other kinds of physical devices that are important, but they are not numerous, and they have rather simple duties. Looking at the machine, you can see three examples easily. Physical devices of the first kind convert punched holes into electrical impulses: 2 card feeds, 4 tape feeds. Those of the second kind convert electrical impulses into punched holes: 1 card punch, 1 tape punch. Those of the third kind convert electrical impulses into printed characters: 2 electric typewriters. We can think of a fourth kind of physical device that would be a help, but, at present writing, it does not yet exist: a device that converts printed characters into electrical impulses.
The Harvard machine, of course, is complicated. But it is complicated because of the variety of ways in which relatively simple devices have been connected together to make a machine that thinks.
Switches
A two-position switch (see Fig. 2) turned by hand connects a wire to either one of 2 others. These 2 positions may stand for “yes” and “no,” 0 and 1, etc. There are many two-position switches in the machine. A ten-position switch or dial switch (see Fig. 3) turned by hand connects the wire running into the center of the switch with a wire at any one of ten positions 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 around the edge. There are over 1400 dial switches in the machine. How does turning the pointer on the top of the dial make connection between the center wire and the edge wire? Under the face of the dial is the part that works, a short rod of metal fastened to the pointer (shown with dashes in Fig. 3). When the pointer turns, this rod also turns, making the desired connection.
Relays
Two-position relays—more often called just relays (see Chapter 2)—do the automatic routing of the electrical impulses that cause computing to take place. Each relay may take 2 positions, open or closed, and these positions may stand for 0 and 1. There are more than 3000 relays in the Harvard machine.
A magnet pulling one way and a spring pulling the other way are sufficient in an ordinary relay to give 2 positions, “on” and “off,” “yes” and “no,” 0 and 1. But how do we make a relay that can hold any one of 10 positions? Figure 4 shows one scheme for a ten-position relay. The arm can take any one of 10 positions, connecting the contact Common to any one of the contacts O, 1, 2, 3, 4, 5, 6, 7, 8, and 9 so that current can flow. The gear turns all the time. When an impulse comes in on the Pickup line, the clutch connects the arm to the gear. When an impulse comes in on the Drop-out line, the clutch disconnects the arm from the gear. For example, suppose that the ten-position relay is stopped at contact 2, as shown. Suppose that we now pick up the relay, hold it just long enough to turn 3 steps, and then drop it out. The relay will now rest at contact 5.
In the Harvard machine, the ten-position relays, much like the scheme shown, do the same work as counter wheels (Fig. 5) in an ordinary desk calculating machine, and so they are often spoken of as counter positions in the Harvard machine. They are very useful in the machine not only because they express the 10 decimal digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 but also because adding and subtracting numbers is accomplished by turning them through the proper number of steps. In fact, an additional impulse is provided when the counter position turns from 9 to 0, for purposes of carry. A group of 24 counter positions makes up each storage counter—or storage register—in the machine. There are 2200 of these counter positions. Each is connected to a continuously running gear on a small shaft (Fig. 6). All these shafts are connected by other gears and shafts to a main drive shaft, and they are driven by a 5-horsepower motor at the back of the machine. When a counter position is supposed to step, a clutch connects the drive to the running gear, and the counter position steps. When the counter position is supposed to stay unchanged, the clutch is disconnected and the driving gear runs free. In fact, when you first approach the Harvard machine, about the first thing you are aware of is the running of these gears and the intermittent whirring and clicking of the counter positions as they step. The machine gives a fine impression of being busy!
Timing Contacts
A button (see Fig. 7) is a device for closing an electric circuit when and only when you push it. A simple example is the button for ringing a bell: you push the button, a circuit is closed, and something happens. When you let go, the circuit is opened. The Harvard machine has a button for starting, a button for stopping, and many others.
A cam contact (see Fig. 8) is an automatic device for closing an electric circuit for just a short interval of time. When the lobes on the cam strike the contact, it closes and current flows. When the lobes have gone by, the spring pushes open the contact, and no current flows. Just as a two-position relay is the automatic equivalent of a two-position switch, and a ten-position relay is the automatic equivalent of a ten-position switch, so a cam contact is the automatic equivalent of a button.
All the cams in the machine have 20 pockets where small round metal lobes may or may not be inserted. Each cam makes a full turn once in ³/₁₀ of a second and is in time with all the others. Thus we can time all the electrical circuits in the machine in units of ³/₂₀₀ of a second.
Numbers
Numbers in the machine regularly consist of 23 decimal digits. The 24th numerical position at the left in any register contains only 0 for a positive number and only 9 for a negative number. Nines complements (see Supplement 2) are used for negative numbers. For example,-00284 is represented as 999715, supposing that we had 5-digit numbers instead of 23-digit numbers. The sum of two nines complements is automatically corrected so that it is still a correct nines complement. The device that accomplishes this is called end-around-carry (see Supplement 2). The decimal point is fixed for each problem; in other words, in any problem, the decimal point is consistently kept in one place, usually between the 15th and 16th decimal columns from the right.
How Information Goes Into the Machine
Numerical information may go into the machine in any one of 3 ways: (1) by regular IBM punch cards, using standard IBM card feeds (panel 16); (2) by hand-set dial switches (panels 1, 2); and (3) by long loops of punched tape placed on the value tape feeds (panels 12 to 14). Three sets of 24 columns each punched on a regular IBM punch card can be used to send 3 numbers and their signs into the machine in one machine cycle. This is the fastest way for giving numbers to the machine, but the most limited; for the cards must be referred to in order and can be referred to automatically only once. Also, there is the risk that they may be out of order. A card may be passed through the machine without reading; this saves some sorting in preparing cards for the machine. Machines for preparing the cards are regular IBM key punches, and machines for sorting them after preparation are regular IBM card sorters.
In panels 1 and 2 there are 60 registers by which unchanging numbers like 1, or 3.14159265···, or 7.65 may be put into the machine. These are called the constant registers. Each constant register consists of 24 dial switches and contains 23 digits and a sign, 0 if positive and 9 if negative. Whenever the mathematician says a certain constant is needed for a problem, the operator of the machine walks over to these panels, and, while the machine is turned off, sets the dial switches for the number, one by one, by hand. If we need 40 constants of 10 digits each for a problem, then the operator sets 400 dial switches by hand and makes certain that the remaining 14 switches in each of the 40 constant registers used are either at 0 or 9, depending on the sign of the number. Only then can he return to start the machine.
The third means by which numerical information can be put into the machine is the value tape feeds, in panels 12, 13, and 14. Here the machine can consult tables of numbers. The numbers are punched on paper tape 24 holes wide, made of punch-card stock. Tapes for the value tape feeds may be prepared by hand or by the machine itself using punch cards or machine calculation. The tapes use equally spaced arguments (see Supplement 2). The tape punch changes the decimal digits in its keyboard into the following punching code (see Fig. 9):
| 0 | 0000 | 5 | 1100 | |
| 1 | 1000 | 6 | 1010 | |
| 2 | 0010 | 7 | 1001 | |
| 3 | 0010 | 8 | 0110 | |
| 4 | 0001 | 9 | 0101 |
Here the 1 denotes a punched hole and 0 no punched hole, and the 4 columns from left to right of the code correspond to 4 rows of the paper tape from bottom to top. To make sure the value tape is correct, the machine itself can read the value tape and check it mathematically or compare it with punch-card values.
How Information Comes — Out of the Machine
Information comes out of the machine in any one of three ways: (1) by punching on IBM cards with a regular IBM card punch that is built into the machine (panel 17), (2) by typing on paper sheets with electric typewriters (panels 16 and 17), and (3) by punching paper tape 24 holes wide of the same kind as is fed into the machine.
Usually, one of the electric typewriters is used to print a result for a visual check and to print it before the machine makes a specified check of the value. Then, about 10 seconds later, after the result has been checked as specified in the machine, the checked result is printed by the second typewriter. In the second typewriter, a special one-use carbon ribbon of paper is used to produce copy for publication by a photographic process.
The card punch writes a number more rapidly than an electric typewriter. This extra speed is sometimes very useful. However, the punch’s chief purpose is to record intermediate results on punch cards. Then, if there is a machine failure, and if the problem has been well organized, the problem may be run over from these intermediate results, instead of requiring a return to the original starting information. The tape punch used for preparing tape by hand can also be operated by cable from the machine.