How did the Apollo flight computers get men to the moon and back ?


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. 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. There were in fact two of them one in the command module to get from Earth orbit to the moon and in 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 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. 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. This iPhone 6 has one Gigabyte of RAM, about 488,000 times that of the AGC and this one 128 Gigabytes of non-volatile storage about 3.5 million times after 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. 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 1960s 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. 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 microcontroller 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 and as always thanks for watching and please subscribe, rate and share.

Leave a Reply

Your email address will not be published. Required fields are marked *