How did the Apollo 11 Computer work?

How did the Apollo 11 Computer work?


There has been much speculation by some as to how the flight computer aboard the
Apollo missions managed to get men to the moon when it had just a tiny
fraction of a computing power of something like a modern smartphone.

But this is quite misleading as it was not one solitary computer controlling the
Apollo craft. There were four computers and there were no fancy touchscreens
GUI's or other things in a typical computer of today to waste resources on.

Apollo Guidance Computer. (AGC).


The first of the 4 computers was the Saturn Launch Vehicle Digital Computer (LVDC).
This got the rocket from the launch pad to the Earth orbit. Then there was the
Apollo guidance computer or AGC this is the one that most people think of.


   View of Apollo 11 Saturn V from the top of the launch tower July 7, 1969.

      

There were in fact two of them. One in the command module to get from Earth orbit
to the moon and back again. The second was in Lunar Lander and would control
the landing and then the ascent back to the command module and docking.

The fourth computer was one which was never used on any missions because it would
control an emergency abort and ascent, should something happen during the
descent to the moon surface like the landing computer failing or if they ran out
of fuel.

The Apollo guidance computer wasn't as dumb as many make it out to be.
As time went by in Apollo's development the tasks that it was meant to do increased
in both number and sophistication. This in turn created ever more issues with
the limited resources available.

Launch team members view the Apollo 11 through the firing room windows.


One of the biggest problems was the limited amount of memory due to technological
limitations of the time. This meant that the programmers had to make use of every
single Byte available.

The AGC also had a unique operating system. Systems like UNIX, Linux ,Windows and Apple iOS are in control and share out time to the program. In the AGC the program's controlled how much time they got depending on how important they were, so in the case of an emergency the highest priority programs would get the most amount of time and non-essential operations were dropped to free up resources which became the basis mission-critical systems for all manned
missions afterwards.



The computer had a performance somewhere around that of the first generation of personal computers like the Apple II, Commodore pet Commodore 64, the ZX spectrum, which will all
arrive ten years later in the late 1970s.

It had 2k of RAM and 36k the fixed storage rope core memory or ROM. Now this was woven by hand and took months to assemble, so any software bugs were literally woven into the system. A
comparison between the Apollo guidance computer and say an iPhone 6 is tricky because the AGC was not a general-purpose computer. It was built for a very specific task and had a unique operating system. That and also over 48 year gap in the technologies used mean that we can only get a very
rough estimate on the difference in performance.

The Apple iPhone 6 has an ARM A8 processor which has about 1.6 billion transistors in it, the agc had just 12300. The iPhone 6 has one Gigabyte of RAM, about 488,000 times that of the
AGC.

As for the performance the iPhone 6 is maybe somewhere between 4 and 30 million times faster than the AGC depending upon what type of calculations are being done and if you include the
iPhones GPU, it will be even more. So if you had to fly back to the moon in an Apollo craft and given the choice would you trust your life to a couple of iPhones in place of the AGC because you
would actually have more computing power in just one of these than the whole of NASA had during all the Apollo missions.

However if your iphone crashed you would be in big trouble whereas the ancient AGC was designed to recover from crashes and overloads and continue by itself. In essence, it was designed to be
crash-proof, something that is needed in a mission critical situation.

The problem we have here is in the context in which we see the Apollo computer today. We are
now surrounded by computers hugely more powerful and we don't give them a second
thought.

It's very difficult for most people who are not computer engineers or assembly language programmers to imagine how you could do anything with such limited resources. What we forget is at the time of the design in 1962 that this was to be the first embedded computer.

It was a huge leap forward in miniaturized computing from something the size of a
large room to a size of a briefcase. It would also be a giant leap forward for software programming and the first time that software would be used for real-time problem solving that will be
key to the entire mission.

 Apollo computer DSKY user interface unit.
                                         

If it fails people could die but this development was far from easy, it said that if the
designers had known in 1961 what they learned later or had a complete specification when given the contract to make it, they would have most likely concluded that it was just not have been
possible with early 1960's technology.

The contract for the design development construction of the Apollo guidance
navigation systems and software was given to the Massachusetts Institute of
Technology, MIT in August 1961 instead of NASA's normal computer contractors IBM.

But there was no specifications given in the contract because no one at NASA
really knew what the requirements of an Apollo computer would be at that early
stage.

As the project developed throughout the 1960s it became apparent
that the task was going to be much more difficult than they first considered. And
by the mid to late sixties the problems in the computers development were in
danger of sinking being entire Apollo program if they couldn't get the AGC to
work.

By the time of testing in 1966 for the ill fated Apollo 1, it became
apparent that the bugs in the software meant that the AGC could not be relied
upon to do the navigational course calculations as it was just not accurate
enough something but could put the craft in the wrong orbit when it returned to
earth.

It was decided that IBM mainframe computers on the ground would do the
course calculations then send them to the AGC in the command module to be
implemented.

AGC Apollo 11.



This way round known limitations could be worked around with much more powerful
ground-based computers and the results sent to be a AGC's. However the command module had to be capable of working independently if the ground link was broken, like when it was
flying behind the moon or if someone tried to actually jam the signal.
So using a combination of the inertial guidance system and the built-in sextant to check the star positions they could still navigate without the ground link Data.

As for the Lander, the round-trip delay of 1.5 seconds for the signals to
get to the moon and in back to earth would have been too long for the ground
control to remotely lander's descent stage because the feedback needed to be in
real time.

To this end the descent stage AGC would work with the landing radar
and the astronauts to land on the moon. This led to the Apollo 11 landing almost
been aborted when design bug in the landing radar which had been left on
standby during the descent in case of an emergency abort, created a flood of
signals and overloaded the AGC setting off computer error code alarms just before
the landing.

Due to the AGC design instead of crashing or locking up like we might expect to our iPhone or a
normal computer to do, it dropped all but the most important tasks before then
restarting itself.

This was not a fault it was called Reset Protection, the AGC
was designed so but all the current data it was working on was stored, this meant
but it could be turned off and on again or reset at any time and it would just
continue to work from where it left off. A bit like when your PC goes in to sleep
mode and then comes back again but much much quicker.

These features saved the mission from aborting and allowed Armstrong to
control the orientation of the lander whilst the AGC controlled the descent to
a successful landing.

It's things like this that made what is now about as powerful as the micro-controller in a
toaster get men to the moon and safety back again six times. It also created a
paradigm shift not only in space exploration but also computing for the future.

Comments

Popular posts from this blog

Why Can't we Remake the Rocketdyne F1 Engine?

F-1 The Engine That Nearly Stopped the Apollo 11 Moon Mission.

What if Apollo 11 got stuck on the moon.

NASA's Vaults Show How They Assembled Apollo 11 Saturn V.