Return to "Visible Storage"

*** Please note: This website (comp-hist) was completed before I found out about Wikipedia in 2002.
Since then I have added material occasionally.
Items are certainly not complete, and may be inaccurate.
Your information, comments, corrections, etc. are eagerly requested.
Send e-mail to Ed Thelen. Please include the URL under discussion. Thank you ***

M.I.T. - Apollo Guidance Computer

Manufacturer M.I.T (Mass. Inst. of Tech.)
Identification,ID -
Date of first manufacturemid 1960s
Number produced 75
Estimated price or cost-
location in museum -
donor -

Contents of this page:

Photo
M.I.T. Apollo Guidance Computer
M.I.T. Apollo User Panel (130 K Bytes)

Placard
Word Length: 15 bits plus parity.
Fixed Memory Registers: 36,864 Words.
Erasable Memory Registers: 2.048 Words.
Number of Normal Instructions: 34.
Number of Involuntary nstructions
  (Increment, interrupt, etc.):  10.
Number of Interface Circuits: 227.
Memory Cycle time: 11.7 microseconds.
Addition Time: 23.4 microseconds.
Multiplication Time: 46.8 microseconds.
Number of Logic Gates: 5,600 (2,800 packages)
Volume: 0.97 cubic feet.
Weight: 70 pounds.
Power Consumption: 55 watts.


In August 1961, NASA contracted the MIT Instrumentation Laboratory (later called the Charled Stark Draper Laboratory) to develop the Apollo guidacnce, navigation and control system. Eldon Hall (shown above) was selected to lead the development team, and astronaut David Scott was chosen as the interface between the designers and the users.

Architecture
(from Dr. Dobb's Journal) http://www.drdobbs.com/one-giant-leap-the-apollo-guidance-compu/184404139

History of Computing #6

One Giant Leap: The Apollo Guidance Computer

by Dag Spicer

Certainly one of the most outstanding achievements of the 20th century was the landing of a human on the moon on July 20, 1969. The use of computing technology to get there is frequently alluded to, but exactly kind of hardware and software were required?

Vast amounts of computational power in the form of mainframes and minicomputers performed essential mission-planning calculations on the ground before, during, and after the trip. Less well known is the story of a 70-lb box of integrated circuitry and an attached control panel that performed real-time guidance and control and which served as a lifeline to the astronauts descending to the lunar surface. Assemblers at Raytheon testing building AGC modules.

The Apollo Guidance Computer (AGC) was built by Raytheon and used approximately 4000 discrete integrated circuits from Fairchild Semiconductor. Spanning nearly a decade of project development, the AGC began as a research project at the MIT Instrumentation Lab in Cambridge, Massachusetts. The lab was home to the world's foremost experts in guidance and control, where Polaris and Poseidon missile guidance programs were developed. However, until Apollo, all computations for the equations of motion in these systems were performed by analog computers. In April 1961, NASA contracted with MIT to study the feasibility of a digital control system for the Apollo program.

If They Had Known... At that time, integrated circuits were rudimentary (perhaps an AND gate or two per chip) and very expensive—Texas Instruments, for example, was selling such ICs to the military for about $1000 each. Like so many projects, hindsight reveals a complexity not appreciated at the time. Eldon Hall, lead designer of the AGC, notes that if they "...had known what they learned later, or had a complete set of specifications been available... they probably would have concluded that there was no solution with the technology of the early sixties."

AGC lead designer Eldon Hall testing the computer.

Nonetheless, work proceeded on the general mission computation requirements (simulated on mainframes and minis) at the same time as development of ICs resulted in dramatic (even then) improvements in cost, functionality, and reliability. By 1964, when Philco-Ford was chosen to supply the ICs, the price had dropped to $25 each. Rope Core Memory The AGC used a unique form of Read Only Memory (ROM) known as "rope core memory" to store its operating program. This technology was a derivative of magnetic core memory but worked in a slightly different way: rather than magnetizing individual cores clockwise or counter-clockwise in order to store a 1 or a 0, rope core memory treated each core as a transformer core within a matrix of discrete wires. Wires running through the core stored a 1, those bypassing the core represented a 0. Interaction with the AGC was via a DSKY (Display Keyboard), pronounced "diskey," in which astronauts used a noun + verb syntax. The nouns and verb were entered using a lookup table that cross-referenced a specific word with a numeric value. A typical entry might therefore be: DISPLAY + VELOCITY or LOAD + ANGLE. The system ran an executive that handled (typically) about 40 concurrent processes and allowed interrupts from various system sensors as well as astronaut input. It was capable of failing gracefully, which it did during the lunar descent as a radar subsystem began sending too much data to it. It was also robust enough to handle a lightning strike while Apollo 12 was on the launch pad just prior to liftoff.

Apollo Guidance Computer Logic Unit and DSKY

Advent of Software Engineering Software development took place on a Honeywell 1800 minicomputer running at one tenth the real-time speed of the eventual AGC. As every module in the AGC was "potted," that is, dipped in a waterproof epoxy compound to protect it in space, there was great pressure on the software team to be especially dedicated to error-free development. Unfortunately, there were few procedures for ensuring consistency and the MIT software team was learning both the coding and the software management aspects of the project on the job. The concept of "Software Engineering," coined in 1968—well into the program—sought to apply hardware engineering concepts to the coding. Specifically, the concept of a software "life cycle" (definition, design, coding, testing, maintenance) was just emerging as a paradigm at NASA for producing software of the high reliability expected in such a system in which human lives were at stake. Even as the Apollo 11 crew—Armstrong, Aldrin, and Collins—were sitting on the launch pad, the only "documentation" on the AGC program was the listing itself. One such listing is shown in Figure 1.
 
Specifications:   
   Instruction Set: Approximately 20 instructions; 
		100 noun-verb pairs, data up to triple-precision 
   Word Length: 16 bits (14 bits + sign + parity)
   Memory: ROM (rope core) 36K words; RAM (core) 2K words
   Disk: None
   I/O: DSKY (two per spacecraft)
   Performance: approx. Add time - 20us
   Basic machine cycle: 2.048 MHz
   Technology: RTL bipolar logic (flat pack)
   Size: AGC - 24" x 12.5" x 6" (HWD); DSKY - 8" x 8" x 7" (HWD)
   Weight: AGC - 70 lbs; DSKY - 17.5 lbs
   Number produced: AGC - 75; DSKY: 138
   Cost: Unknown.
   Power consumption: Operating: 70W @ 28VDC; Standby 15.0 watts 
   

Since the AGC flew with imperfect software, the solution was extensive astronaut training in simulators. To complete a mission, some 10,500 DSKY keystrokes were required. Still, the astronauts reported that interacting with the AGC was intuitive and simple, even remarking that incorrect keystrokes "just felt wrong." The AGC could also receive commands from earth-based computers via a telemetry channel, allowing in-flight adjustments to be made. Lastly, the mission could also be flown using two other on-board systems an inertial navigation unit and an optical one.

It's a frequently cited truth that the space program resulted in the accelerated development of integrated circuitry. It was the AGC more than any other single part of this program that drove IC development, an observation Eldon Hall makes in his book Journey to the Moon. In fact, in the early stages, a significant proportion of all ICs manufactured in the world were going to the AGC. Computationally, the AGC was behind contemporary technology by the time of Apollo 11, but this is a common feature of space programs that have multi-year timetables and systems of extreme complexity. In October of 1969, the computer industry journal, Datamation, noted that DEC's PDP-11 was much more powerful than the AGC, but this is beside the point. Simpler systems are inherently easier to program, maintain, and fail less often. As Gordon Bell, father of the minicomputer at DEC has often noted: "The most reliable components are the ones you leave out." The Apollo Guidance Computer program was a landmark both in terms of hardware design and software management and laid the foundation for SpaceLab and Shuttle computer systems development. The speed, power, and size requirements for the AGC drove an entire industry that was just taking its first steps along the breathtaking curve of Moore's Law.

Further Reading
Apollo Operations Handbook, GUIDANCE AND NAVIGATION SYSTEM (G&N),
Basic Date: 12 November 1966,
URL: http://www.digitalmist.com/plethorama/apollogc.htm [updated]

For a summary of NASA flight computers and software reliability, see: http://www.dfrc.nasa.gov/History/Publications/f8ctf/chap3.html

Eldon Hall interview, The Computer Museum Report, Fall 1982, p.3.

Hall, Eldon, Journey to the Moon: The History of the Apollo Guidance Computer, Washington: American Inst of Aeronautics, 1996.

Dag Spicer is Curator and Manager of Historical Collections at The Computer Museum History Center in Mountain View, California, home to the world's largest single collection of computing artifacts including a complete Apollo Guidance Computer and DSKY. Dag can be reached at spicer@computerhistory.org.

Special features
-

Historical Notes
from Henry Noble Seattle - March 2007
I am fascinated to see this information on the AGC. I coded on it as part of a team from Raytheon that was under the direction of Margaret Hamilton. When I tell young programmers and developers the challenges on writing programs with little writeable memory they are quite astounded. Having to tuck integers into instruction registers in order to save space...

I recall was a Jacquard Loom in the Lab where the memory ropes were woven.

A great reminisence, that I'm delighted you're capturing.

from Bill Zantow - August 2009
Hello ED
This is Wilhelm (Bill) Zantow an engineer formerly of The Raytheon Co. I was the Raytheon design engineer for the Rope Memory Module. I designed the Rope winder as part of that responsibility. The Jacard Loom was an early idea out of the Instrumentation Lab that was not practical. 128 wires became an immovable object after about ten wires were included in the braid proposed. Sippican floated a design thar looked like a carpenters folding scale. Our design prevailed, I think, because the Rope winder was designed in conjunction with the module.

I hope you are still active with this topic. I could perhaps contribute. Also I sure would like to obtain the Rope top assy drawing with my name on it.

This Artifact
-

Interesting Web Sites

Other information
- GEMINI Programming Manual 0.7 MB, thanks to Charlie Leist < caleist@aol.com >
    who recommends repository at www.ibiblio.org/apollo/Gemini.html

from Laurence Kornfield June 2012, San Francisco
I was the primary operator for the Apollo computers and related simulation at the MIT Draper Lab from Apollo 12 to the near the end of the Apollo program. Every morning I rode my bicycle from Brookline to the lab, would load the many reel-to-reel tapes and get everything up and running, then run a rendezvous or other action to confirm that all worked as intended. We were on-line and real time during missions so we could try to resolve problems, as we did during Apollo 13.

The astronauts would come through every now and then. Those were very exciting times! The only memento I have from that period is an Apollo 14 patch (Shepard, Roosa, Mitchell) - I had a letter of commendation as part of the team for the Apollo 13 work - too bad that's gone!


If you have comments or suggestions, Send e-mail to Ed Thelen

Go to Antique Computer home page
Go to Visual Storage page
Go to top

Updated Aug, 2012