NASA Office of Logic Design

NASA Office of Logic Design

A scientific study of the problems of digital engineering for space flight systems,
with a view to their practical solution.

Apollo Guidance Computer (AGC)

Logic tray (left) and memory tray (right)AGC (left) and DSKY (right)

Some of the documents on this page are posted here courtesy of MIT and are for the use of researchers, engineers, historians, and interested readers.  Thus, not all documents are not in the public domain and distribution must be approved by MIT. 

I have organized the documents, extracted abstracts, and will maintain them and improvements to the quality of documents.  Please send comments and suggestions to


The Apollo Guidance Computer - A Designer's View

Eldon Hall

In the early sixties the so-called mini-computer had not emerged and there was no commercial computer suitable for use in the Apollo mission.  Most of the technologies that were eventually used in the Apollo computer were just emerging from research and development efforts.  The design was mainly a task of fitting the components together in order to meet the mission requirements for computational capacity and miniaturization.

General Design Characteristics of the Apollo Guidance Computer

Eldon C. Hall
May 1963 

This report describes the Apollo Guidance Computer in its general design characteristics, flexibility, reliability, and in-flight repair capabilities. Since the Command Module computer and LEM computer differ basically only in form factor and therefore weight and volume, the characteristics detailed here apply to both types of computer.

Case History of the Apollo Guidance Computer

Eldon C. Hall
June 1966 

The characteristics of two complex digital computers that have been designed for a space application are presented. These computers make extensive use of microcircuits. The first computer has been in production for approximately eighteen months and has completed all qualification testing required to determine flight readiness. It will be used in the early Apollo spacecraft missions. The second computer, which has increased computational and control capabilities, is designed to meet the increased requirements of later Apollo missions. This computer has been in production for about six months. The construction techniques used in these computers will be described.
     A large volume of data has been collected on the computers during the design, production, and qualification program in preparation for the flight usage. These data confirm the reliability claims for microelectronic systems; that is, with 221 x l06 part hours in system operation the microcircuit components are demonstrating a failure rate of 0.030/106 part hours. Extensive engineering tests that have been run also demonstrate that microelectronic computers can survive the environments of space missions.

Some Aspects of the Logical Design of a Control Computer: A Case Study

Ramon L. Alonso, Hugh Blair-Smith and Albert L. Hopkins
Computer Structures: Readings and Examples (Editor : Newell, C. Gordon Bell and Allen)
Pages : 146 - 156

Some logical aspects of a digital computer for a space vehicle are described and the evolution of its logical design is traced. The intended application and the characteristics of the computer's ancestry form a framework for the design, which is filled in by accumulation of the many decisions made by its designers. This paper deals with the choice of word length, number system. instruction set, memory addressing, and problems of multiple precision arithmetic.
     The computer is a parallel, single address machine with more than 10,000 words of 16 bits. Such a short word length yields advantages of efficient storage and speed, but at a cost of logical complexity in connection with addressing. instruction selection, and multiple-precision arithmetic.

A Digital Control Computer Developmental Model 1B

Alonso, Ramon L.;Green, Alan I.;Maurer, H. E.;Oleksiak, R. E.
Report Number : R-358, April 1962

This report describes in detail a pilot model of a parallel, programmable digital control computer. Magnetic cores are used as storage devices and extensively in the logic, thus reducing power consumption. Transistors are the active elements. The computer has capabilities for automatic incrementing of counters and automatic program interruption, or mode changing. These are used to advantage in the control of a stepping motor.

The Apollo Guidance Computer

Ramon L. Alonso and Albert L. Hopkins
Report Number : R-416, August 1963


The general logical structure of the on-board Apollo Guidance Computer is presented, and the developments of fixed and erasable memory are described. Particular attention is given to the methods of input and output.

Page 1 upside down.

A Multiprocessing Structure

Ramon L. Alonso, Albert L. Hopkins and Herbert A. Thaler
Report Number : E-2097
March 1967

     Extrapolation of Apollo experience to spacecraft computers of the next generation indicates a need for digital systems of greater computing and interface activity, and of greater reliability, than has been realized to date.
     An idealized collaborative multiprocessor structure in which a number of processing elements are tied together by means of a single multiplexed data bus is explored. At least one job assignment procedure is possible for which no one processor has to act as ‘master’, and which can survive processor malfunctions or the deletion or addition of processors to the bus, thus accomplishing ‘graceful degradation’ and ‘reconfiguration’ of sorts. The single bus structure as used here implies things about compilers for it, and also certain bandwidth relationships between processors, bus and common memory. Rough estimates based on short extrapolations of circuit technology show that the structure is probably realistic.

Design Principles for a General Control Computer

Ramon L. Alonso and J. Hal Laning
Report R-276
April 1960 

     A set of techniques is described which permits the design of computers particularly well suited for outer space and other airborne control applications. These techniques are unified by reference to a representative computer.
     Some of the properties of the computer are: variable speed, power consumption proportional to speed, relatively few transistors, relatively large storage for program and constants, and parallel transfer of words. Certain features of the input system permit automatic incrementing of counters and automatic interruption of normal computer processes upon receipt of inputs.
     The program and constants are stored in a wired-in form of memory which permits unusually high bit densities.

More Apollo Guidance Flexibility Sought

Aviation Week & Space Technology
November l6, 1964

Washington - Apollo guidance, navigation and control concepts have undergone a number of evolutionary changes intended to improve mission flexibility and reliability and to save weight and space in the spacecraft. Some of these changes have resulted from more detailed studies of alternative solutions, while others stem from technical advances and experience gained since the Apollo program was launched several years ago.

Demonstration of the AGC



Video demonstration of the Apollo Guidance Computer.

AGC4 Memo # 9 - Block II Instructions

Hugh Blair-Smith
September 30, 1965
Revised: July 1, 1966

Introduction (excerpt)
This document supersedes all revisions of and appendices to AGC4 Memo # 8, "Block II Instructions, Revised". The format has been changed to include more information for YUL-language programmers and to include the engineering details formerly relegated to appendices. A new descriptive section on unprogrammed sequences has been added.

MIT's Role in Project Apollo, Vol. III: Computer Subsystem

Eldon C. Hall
August 1972

     The Apollo guidance computer (AGC) is a real-time digital-control computer whose conception and development took place in the early part of 1960. The computer may be classified as a parallel, general-purpose or whole number binary computer. This class of computer is representative of most of the ground-based digital computers in existence in the late 1950s, when the precursers of the AGC were being designed. However, at that time few computers of this class had been designed for the aerospace environment, and those few embodied substantial compromises in performance for the sake of conserving space, weight, and power. The design of the AGC capitalized on advancements in digital computer technology in order to provide significant improvements in computational performance and still conserve space, weight and power.
     The AGC is the control and processing center of the Apollo Guidance, Navigation and Control system. It processes data and issues discrete output and control pulses to the guidance system and other spacecraft systems.  An operational Apollo spacecraft contains two guidance computers and three DSKYs (keyboard and display unit for operator interface), with one computer and two DSKYs in the command module, and one of each in the lunar module. The computers are electrically identical, but differ in the use of computer software and interface control functions. As a control computer, some of the major functions are: alignment of the inertial measurement unit, processing of radar data, management of astronaut display and controls and generation of commands for spacecraft engine control.  As a general purpose computer, the AGC solves the guidance and navigation equations required for the lunar mission.
     The operational experience in the Apollo guidance systems includes 20 computers which flew missions and another 25 flight type computers which are still in various phases of prelaunch activity including storage, system checkout, prelaunch spacecraft checkout, etc. These computers were manufactured and maintained under very strict quality control procedures with requirements for reporting and analyzing all indications of failure. Probably no other computer or electronic equipment with equivalent complexity has been as well monitored and documented. Since it has demonstrated a unique reliability history, it is important to record the technique and methods which have contributed to this history.

Recovery from Transient Failures of the Apollo Guidance Computer

Edward M. Copps Jr.
August 1968 

     In the Apollo Guidance Computer, nearly one hundred thousand word transfers occur each second. A random error rate of one in 1012 actions would be considered good in today’s technology, but at that rate an error might occur within several hundred hours. Added to the random error rate are externally induced errors, including power and signal interface transients, program overloads, and operator errors. The incidence of induced errors has so far been very much greater than random errors (if indeed there have been any at all) in AGC experience.
     The AGC is a control computer, and has been designed to detect and to recover from random or induced transient failures. The techniques used are the subject of this paper.
     The paper outlines the character of the computer and its system software to a depth sufficient for the discussion. The built-in malfunction alarm logic is discussed, along with the software based computer Self Check. These systems, upon detection of a failure, force an involuntary reordering of the signal interface, and an involuntary transfer to the restart program logic. From this point, the software, without recourse to suspect information in the central processor, reconstructs the output interface conditions, and reconstitutes the control processes in progress at the time of failure. There are a number of ground rules which limit the recovery capability, based on presumptions about the nature of the failure, These are presented.
     The software associated with a restart is described, with a typical program flow derived from an Apollo Mission Program. The amount of memory assigned to restart protection is stated. Several interesting sidelights are briefly discussed such as manual break-in to prevent restart looping, the adoption of the restart technique for scheduling the termination of active programs, and the use of the failure recovery technique to remove a temporary computer overload.

Apollo Documentation Master Page

Home - NASA Office of Logic Design
Last Revised: February 03, 2010
Digital Engineering Institute
Web Grunt: Richard Katz