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.
|
|
(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.
|