Tuesday, May 24, 2016

The Apollo Guidance Computer - A digital masterpiece

On May 25, 1961, President John F. Kennedy announced before a special joint session of Congress the dramatic and ambitious goal of sending an American safely to the Moon before the end of the decade.

Fig. 1  - President Kennedy Speech
The space program of the 60’s was the ‘Manhattan Project” of peacetime, the ‘Panama Canal” of this generation. This was going to put the best and the brightest minds in our country to work. Perhaps the greatest challenge with the Space Program would be the creation of the world’s first practical, solid-state digital computer, the Apollo Guidance Computer (AGC).

On August 9,1961, NASA contracted with the Massachusetts Institute of Technology (MIT) Instrumentation Lab for the design, development, and construction of the Apollo guidance and navigation system, including software. There were no fixed specifications when the contract was signed, not until late 1962 did MIT have a good idea of Apollo's requirements.
According to an un-named source at MIT:
“If the designers had known then [1961] what they learned later, or had a complete set of specifications been available...they would probably have concluded that there was no solution with the technology of the early 1960s (15)”
The AGC would have to act as a ‘digital sextant and abacus’; calculating coordinate’s rapidly to allow the Astronauts and their controllers to know exactly where the space craft was located. The AGC needed to be able to withstand the shock and vibration of launch. Clearly vacuum tubes would not work, as they are fragile to vibration, so MIT came up with a ‘solid state’ solution, meaning all the electrical components were self-contained and not using mechanical vacuum tubes or electro-mechanical devices.
MIT in effect created the first computer architecture that is identical to the computer on your desktop or the cell phone in your pocket.

Fig. 2  - Typical Computer Architecture
The computer would be able to modify its programming dynamically, the Astronaut could ‘load’ a program using its keypad data entry panel. It would require reading and writing to temporary memory, what we now call Random Access Memory, or RAM. IT would need to have an operating system that needed to be stored into the machine. This type of memory is called Read Only Memory or ROM. The problem was the ROM; existing systems were huge and power hungry.
The AGC needed something durable, reliable and compact. A subcontractor to MIT, Raytheon, had an idea, use magnetic rope core memory. Magnetic core memory, the ferrite cores in a core rope is just used as transformers. The signal from a word line wire passing through a given core is coupled to the bit line wire and interpreted as a binary "one" while a word line wire that bypasses the core is not coupled to the bit line wire and is read as a "zero". In the AGC, up to 64 wires could be passed through a single core. To solve the size issue, these magnets would have to be very small. Raytheon actually recruited experts in needlepoint and knitting, in effect, ‘little old ladies’ knitted the ROM (Read Only Memory) array, internally they called this LOL Memory for ‘little old ladies’. Routing these wires via the small magnets was quite similar to knitting patterns in needlepoint.

Figure 3 – ROM Knitting
Apollo 11 did land on the moon, but everything did not go so perfect. When the Lunar Module separated from the Command Module to begin its assent to the moons surface, the docking cavity between the two ships was not fully depressurized. This caused the Lunar Module to ‘pop off’ like a champagne cork and due to being in a vacuum, was sent 4 miles off course from the start of the decent.
Once on the moon, with Neil Armstrong already on the surface, Buzz Aldrin was preparing to exit the Lunar Module and become the 2nd man to walk on the moon. Luckily, something caught his eye; he noticed the exit hatch had no handle to get back in. Had he exited as planned, both Armstrong and Aldrin would have been locked out of the lander, to perish on the moon. Shoving an unused glove in the door ‘fixed’ that problem and a ‘note’ was made for the engineers back home.
Preparing to launch off the moon, after they’re successful moon walks, there was only one thing left to do. In time with the checklist, Aldrin was to push the circuit breaker that ignited the rocket that would blast them off the moons surface. Only problem was, of the 350 circuit breakers in the LEM, this one was broken and laying on the floor. When the time came, he took his pen (which he still carries to this day) and showed it in the broken circuit breaker hole. It worked!
One thing that did work well, in fact, worked perfectly, was the guidance computer, Apollo Guidance Computer (AGC). The crowning achievement of 8 years of work, created the world’s first binary computer, that enabled Apollo 11 to succeed in its mission. Stretching the bounds of the technology of the time, the MIT team that created it also invented the first use of a memory array (they did not have ‘memory chips’ then) that in order to be programmed, the subcontractor Raytheon actually recruited experts in needlepoint and knitting, in effect, ‘little old ladies’ knitted the ROM (Read Only Memory) array!
           
            When man did land on the moon on July 21st 1969, NASA had spent $24 Billion dollars. Hundreds of technologies were created and privatized, from semiconductor chips to radar technologies to orange flavored ‘astronaut drinks’ to ‘Mood Rings”. All have their roots in the Space Program of the 60’s. It is estimated that this investment by NASA created 100 times this amount in new technologies, new markets and new products. Putting man on the moon proved to be very good investment by Congress indeed. This investment created the computer industry, the Internet, cellular communications, mobile phones. Just about all-modern technology was derived from the Apollo Program.
           
Figure 3 - This diagram shows the principle behind core rope. Suppose that the data shown above the cores in the drawing is to be stored in the specific core. Thus 1000 is stored in the first core on the left by attaching the top wire from the select circuit to the core and bypassing it with the next three wires. When that core is selected for reading, the wire attached to the core will indicate a "one" because all cores in a rope are permanently charged as ones; the wires bypassing the core will indicate zeroes.




Works Cited
http://ed-thelen.org/comp-hist/vs-mit-apollo-guidance.html
http://www.youtube.com/watch?v=P12r8DKHsak
15. Anonymous -  Eldon Hall lecture, "The Apollo Guidance Computer-A Designer's View," Digital Computer Museum, Marlboro, MA, June 10, 1982, transcript at museum's Boston location, p. 4.



Images
Figure 1 - http://upload.wikimedia.org/wikipedia/commons/b/bb/Kennedy_Giving_Historic_Speech_to_Congress_-_GPN-2000-001658.jpg
Figure 2 - http://controls.ame.nd.edu/microcontroller/main/img1.png
Figure Y -
Figure Z -
Figure B - http://twimgs.com/ddj/ddj/images/ddj0006hc/0101hc001f3.jpg
Glossary
AGC - Apollo Guidance Computer
LEM - Lunar Excursion Module
CM  - Command Module
ROM - Red Only Memory
RAM – Random Access Memory



Figure 1 – Apollo Guidance Computer


Figure 2 – Raytheon ROM Maker


Figure 3 – Completed ROM Assembly
Figure 4 - Knitting ROM
Figure 5 - ROM Assembly Line


No comments:

Post a Comment