
It is hard to appreciate the technical challenges
involved in putting a man on the moon, but 1960s computer
technology played a fundamental role.
By today's standards, the IT Nasa used in the Apollo manned
lunar programme is pretty basic. But while they were no more
powerful than a pocket calculator, these ingenious computer systems
were able to guide astronauts across 356,000 km of space from the
Earth to the Moon and return them safely.

The lunar programme led to the development of safety-critical
systems and the practice of software engineering to program those
systems. Much of this knowledge gleaned from the Apollo programme
forms the basis of modern computing.
Apollo Guidance Computer
The lunar mission used a
command module computer designed at MIT and built by Raytheon,
which paved the way to "fly by wire" aircraft.

The so-called Apollo Guidance Computer (AGC) used a real time
operating system, which enabled astronauts to enter simple commands
by typing in pairs of nouns and verbs, to control the spacecraft.
It was more basic than the electronics in modern toasters that have
computer controlled stop/start/defrost buttons. It had
approximately 64Kbyte of memory and operated at 0.043MHz.

The
instruction manual for the AGC shows the computer had a small
set of machine code instructions, which were used to program the
hardware to run various tasks the astronauts needed.
The AGC program, called
Luminary, was coded in a language called Mac, (MIT Algebraic
Compiler), which was then converted by hand into
assembler
language that the computer could understand. The assembler code
was fed into the AGC using
punch
cards.
Amazingly, the code listing for the AGC program can be
downloaded as a PDF file. There is also an equivalent
program for the lunar lander.
The AGC was designed to be fault-tolerant and was able to run
several sub programs in priority order. Each of these sub programs
was given a time slot to use the computer's sparse resources.
During the mission the AGC became overloaded and issued a "1202"
alarm code.
Neil Armstrong
asked Mission Control for clarification on the 1202 error. Jack
Garman, a computer engineer at Nasa (pictured below, left), who
worked on the Apollo Guidance Program Section, told mission control
that the error could be ignored in this instance, which meant the
mission could continue. Apollo 11 landed a few seconds later.

Experts cite the AGC as fundamental to the evolution of the
integrated circuit. It is regarded as the first embedded
computer.
The importance of this computer was highlighted in a
lecture
by astronaut David Scott who said: "If you have a basket ball
and a baseball 14 feet apart, where the baseball represents the
moon and the basketball represents the Earth, and you take a piece
of paper sideways, the thinness of the paper would be the corridor
you have to hit when you come back."
While the astronauts would probably have preferred to fly the
spacecraft manually, only the AGC could provide the accuracy in
navigation and control required to send them to the Moon and return
them safely home again, independent of any Earth-based navigation
system.

IBM computers on Apollo 11
Along with the APG, mainframes were also heavily used in the
Apollo programme. Over 3,500
IBM employees were involved, (pictured below). The
Goddard
Space Flight Center used
IBM System/360 Model 75s for communications across Nasa and the
spacecraft. IBM Huntsville designed and programmed the
Saturn rocket instrument unit, while the Saturn launch computer
at the Kennedy Space Center was operated by IBM.

An IBM System/360 Model 75 was also used at
Nasa's Manned Spacecraft Center in Houston. This computer was
used by Neil Armstrong and Buzz Aldrin to calculate lift-off data
required to launch the Lunar Module off the Moon's surface and
enable it to rendezvous with Command Module pilot Michael Collins
for the flight back to Earth.
At the time, IBM described the 6Mbyte programs it developed, to
monitor the spacecrafts' environmental and astronauts' biomedical
data, as the most complex software ever written.
Even the simplest software today would far exceed the technical
constraints the Apollo team worked under. The Apollo programme was
pre-
Moores's Law: in 1965 Intel co-founder Gordon Moore wrote his
vision of how the performance of computer hardware would double
every 18 months for the same price.
That a USB memory stick today is more powerful than the
computers that put man on the moon is testimony to the relentless
pace of technological development encompassed in Moore's Law.
However, the Apollo programme proved that computers could be
entrusted with human lives. Man and machine worked in unison to
achieve something that 40 years on, has yet to be surpassed.
All images courtesy Nasa