Tomorrow is the 50th anniversary of one of the most momentous events in not only American but world history. On July 20, 1969 the late Neil Armstrong became the first human to step foot onto a world other than Earth taking one small step for man and one giant leap for mankind. Central to the ability to get to the Moon was not only the human ability of Armstrong, Buzz Aldrin and Michael Collins as well as the thousands of workers and contractors for NASA but also the computer that controlled the spacecraft. That computer was a technological wonder unto itself and is often forgotten about when it comes to celebrating one of the great moments in the history of the world.
A Computer?
Computers of the time existed. They dated back to the pre-World War 2 days to help calculate distances and launch angles for torpedoes and naval guns to be able to hit their targets more efficiently. Basically they were giant calculators, and by giant we mean giant. By the time John Glenn went into space computers were about the size of a modern refrigerator and weighed significantly more.
To go into space this computer would need to be smaller, way smaller, but yet able to perform the complicated calculations needed to get our astronauts to the surface of the Moon and back. That would be no small feat today and it was an even bigger feat in 1962 when Glenn orbited the Earth.
Enter M.I.T.
At the time the leading computer minds were at the Massachusetts Institute of Technology (MIT). Only a few weeks after President John F. Kennedy challenged the nation to go to the Moon before the end of the decade the first contract was awarded. MIT would create the guidance system. They were the natural fit as they had two decades of experience designing the most accurate navigation systems the world knew. They had also designed the guidance system for the first nuclear submarine to go under the North Pole and the system had allowed the sub to navigate for several days underwater. The Moon of course would be a challenge unlike anything they had ever done.
Computers Of The Time
The first challenge was that the system needed to be about the size of a briefcase and weigh significantly less than its Earth-bound cousins. A lot less in fact. The weight of computers at the time was measured by the ton and with space and fuel at a premium NASA could not afford to lift one of these behemoths into space, much less two since one would be required in both the lunar and command modules. The computers used by NASA at the time, the IBM 7090, weighed around 15 tons.
That is not to say that the 7090 was a bad machine. For its time it was far superior to anything else available. It was five times faster than its predecessor and was designed for large scale scientific and technological applications. It cost about $2.9 million (about $25 million today) and had a processing speed of around 100 Kflops, or the ability to process 100,000 arithmetic calculations per second. These machines remained in service until 1969 and may be most famous for being the supercomputer in the War Room in Stanley Kubrick’s Dr. Strangelove. But the 7090 could not be loaded in a spacecraft to go to the Moon.
Inputs and Outputs
At the time there was no real way to interact with a computer. Programs would be put onto punch cards and then fed into the computer and it could take hours or even days for a result to be given. The Apollo spacecraft would need its computer to be able to take in information from sensors on the spacecraft, from the astronauts themselves and from Mission Control and process it in as close to real time as possible. Armstrong, Aldrin and Collins could not bring stacks of punch cards with them on the way to the Moon, program them and input them all while waiting for the result. They would probably crash on the Moon before the computer would return a result.
At the same time the computer would need to provide output in a manner other than a printout so that the astronauts could use that information quickly and move on to something else. They could also not bring a printer and spools of paper with them into space. To overcome this new technology would need to be created and quickly with little margin for error.
It sounds daunting. Create the world’s fastest, smallest, lightest, most interactive, most powerful computer the world had ever seen and do it in less than a decade. It would then be tested in the most unforgiving place it could be and if it failed the men inside it could very well die a horrible death. MIT did not need to push the limits of modern computing, they needed to demolish them.
The Apollo Guidance Computer
MIT obviously came through. Not to spoil it but their creation was a technological marvel that broke barriers in ways that 50 years later few appreciate. 200 inputs were attached to the computer to allow for the input of commands. MIT seemingly thought of everything, they even made the buttons larger so the astronauts could operate them with their gloves on. To enter commands they also included a numeric keyboard. To display information a monitor display was installed. This DSKY (DiSplay and KeYboard) had an array of lights and a calculator-style keyboard to allow for pre-programmed commands to be entered as a series of numbers. The numbers of the keyboard even lit up.
The Apollo Guidance Computer used read-only memory created by weaving wires through magnetic cores that gave it 2,048 words of erasable memory and 73kb in total. Included also were thousands of integrated circuits developed by Texas Instruments, a first for any computer. These new integrated circuits took thousands of transistors and integrated them onto a small chip making them smaller, faster, lighter and cheaper than circuits in use at the time. It had a processor capable of 2.4 Mhz of processing speed and it also had a power saving mode, a key innovation on a mission where power was not infinite. It also took up only one cubic foot of space! Important since both the Command Module and the Lunar Module would need their own computers, which were hand-built by Raytheon.
The Software
Thousands of lines of code were written for the Apollo Guidance Computer in Assembly language and entered in manually, all 145,000 lines. Included in this code was a simple operating system developed by J. Halcom Laning to help schedule tasks and also a virtual machine that could help simplify the navigational code (it’s basic principles are still in use today). In total 1400 person-years of work went into developing the software worked on by 350 people. The command module software called CORONA was developed by a team led by Alex Kosmala. Frederic Martin led the team that developed the software for the lunar missions called COLOSSUS. George Cherry led the team that developed the software for the lunar module called LUMINARY. All of this was overseen by Margaret Hamilton.
When they were done the software for the Apollo Guidance Computer was unlike anything seen before. It was capable of making decisions to prioritize the most important work first and it could do that in milliseconds. No punch cards or printouts necessary. It could also have an issue and recover easily without missing a beat. It would wipe its memory, restart itself and be back up and running in seconds. We take this for granted today but in 1969 this was revolutionary.
How Did The Astronauts Receive It?
The astronauts were some of the best pilots in the world. They were used to doing maneuvers and flying without a computer and at first they were skeptical of the Apollo Guidance Computer and the need for it but it would prove to be indispensable. They had originally anticipated only turning on the computer when they needed it. How would the computer come through?
1202
In the moments before Armstrong and Aldrin touched down on the lunar surface it was anticipated that the computer would be using about 85% of its processing power. On descent Aldrin entered the 1668 command to calculate and display DELTAH (the difference between computed altitude and sensed altitude) which took the processor to near capacity and produced a 1202 alarm telling the astronauts that the processor was overloaded and was not able to complete its work for at least one second. This may be the most famous error message the history of computing.
The Astronauts had not run any simulations in regards to these error messages prior to blasting off, a major oversight by NASA. In fact Mission Control had not introduced them until the final simulation before blast off only a few days before. While the final simulation was aborted it forced Mission Control to develop a sheet of these error messages for quick troubleshooting so they would know exactly what it meant as quickly as possible.
On being given the command to land from Mission Control, Aldrin again entered 1668 and overloaded the processor, which restarted instantaneously and was back up and running. Armstrong was getting worried and asked Mission Control just what the error meant. At the time he was only a few thousand feet above the Lunar surface so there was not a lot of time to figure it out. About 30 seconds elapse and Mission Control could hear Armstrong’s concern in his voice as now answer was forthcoming. After what seemed like an eternity and with cheat sheet in hand Mission Control told Aldrin to stop entering 1668 and to rely on Mission Control for guidance information. They were also Go to land, made possible by having the error messages all displayed to know what the meant for quick reference. A minute later Armstrong touched Eagle down at Tranquility Base.
Thanks to the ability to schedule tasks based on priority programmed by Laning all previous commands were erased easing processor usage and the mission could continue and the astronauts landed on the Moon. Mission Control knew this thanks to the final simulation and did not order an abort, which only Pete Conrad would have benefited from. Had the final simulation not been run including computer errors the mission likely would have been aborted since it would have taken too long to figure out what they meant. Again, only Conrad would have benefited from that.
Legacy
The Apollo Guidance Computer’s legacy extended well beyond the Apollo Program and when Eugene Cernan and Harrison Schmidt left the Moon in Apollo 17. The computer as far as power and speed is comparable with the early personal computers of the 1980s and was adapted for use with both the Space Shuttle program and the US Navy’s Deep Submergance Rescue Vehicle. The computer was also the basis for the next generation of fighter jets being developed by the US at the time.
The Apollo Guidance Computer still has a legacy in our lives. The most obvious is the ability for the computer to prioritize tasks with the most important. That is a major part of what modern computers do today and this ability began with NASA going to the Moon. The ability to recover and restart quickly and easily is also central to our modern computers. While you might gripe how long it takes to reboot your computer the ease of doing so is certainly there.
Of course you also like your keyboard and monitor. Most people have never had to use punch cards and NASA is a big reason why. Last of course is that NASA found a way to take a computer that is the size of a refrigerator and make it the size of a briefcase. Computers have been getting smaller ever since and the Apollo Guidance Computer in the end helped to usher in the era of personal computers, something today that we take for granted.
So remember, tomorrow when you think about Armstrong, Aldrin and Collins don’t forget about all of the innovators that helped to make that possible and all of the benefits that you still reap today that came out of that. Who knows what modern society would look like had President Kennedy not challenged the nation to go to the Moon before the end of the 1960s?