Site Archive (Complete)
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
August 12, 2000
One Giant Leap: The Apollo Guidance Computer

(Page 1 of 2)
Dag Spicer
Certainly one of the most outstanding achievements of the 20th century was the landing of a human on the moon on July 22, 1969. The use of computing technology to get there is frequently alluded to, but exactly kind of hardware and software was required?
History of Computing History of Computing #6

Certainly one of the most outstanding achievements of the 20th century was the landing of a human on the moon on July 22, 1969. The use of computing technology to get there is frequently alluded to, but exactly kind of hardware and software was 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
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."

Eldon Hall
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.

Logic Unit and DSKY
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 - 20s

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

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.

1 | 2 Next Page
TOP 5 ARTICLES
No Top Articles.
DR. DOBB'S CAREER CENTER
Ready to take that job and shove it? open | close
Search jobs on Dr. Dobb's TechCareers
Function:

Keyword(s):

State:  
  • Post Your Resume
  • Employers Area
  • News & Features
  • Blogs & Forums
  • Career Resources

    Browse By:
    Location | Employer | City
  • Most Recent Posts:
    MEDIA CENTER  more
    NetSeminar
    Creating Common and Scalable SOA Solutions for the Enterprise Leveraging an Enterprise Service Router (ESR)
    Creating Common and Scalable SOA Solutions for the Enterprise Leveraging an Enterprise Service Router (ESR) Despite the many emerging instances of SOA today, the ability to leverage common services and a common metadata layer in a secure and scalable manner is paramount, but rarely addressed. In this webinar, Intel discusses the core issues and opportunities behind the quest to provide a common services and information management layer, and explore a new architectural component called an Enterprise Service Router. Thursday, November 13, 2008. 11AM PT/2PM ET
    Next Generation ALM: Automating the Entire Build and Release Process
    As more and more software development shops adopt Agile processes, fully automating the build and release management processes becomes a critical element of Application Lifecycle Management (ALM) strategy. Join Forrester Senior Analyst Jeffrey Hammond and Anders Wallgren, CTO from Electric Cloud, as they discuss release management best practices and how to get started. Wednesday, November 19, 2008. 11AM PT/2PM ET
    Pain Relievers for Continuous Integration and Agile Development
    You're the build manager. You actually build the product that ships. Yet you get no respect. You're on your own to build your toolset. You're expected to provide a Continuous Integration environment - even though you have developers all over the world and a build that takes 14 hours to run. You're expected to be agile. Learn how in a Free webinar on December 3rd at 11am PST from Electric Cloud. Wednesday, December 3, 2008. 11AM PT/2PM ET
                                   
    EVENTS

    Nominations for the Jolt Awards - the “Oscars” of the software development industry - are now open!
    INFO-LINK

    Resource Links:




    Related Sites: DotNetJunkies, SD Expo, SqlJunkies