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 of NASA