How Powerful Was the Apollo 11 Computer?
I got to thinking, how powerful was the computer that took Man to the Moon back in 1969? How does the Apollo computer compare to the iPhone? (Who wants to go to the Moon, anyway?)
It turns out that’s a tough comparison to make, as the simplest of iPhones is so advanced compared to the technology used in Apollo’s guidance system that it’s hard to believe they both came from the same planet, and we can be pretty sure that we’re dealing with some really archaic hardware.
Indeed, those Big Machines were nothing short of amazing. Comparing the Apollo Guidance Computer (AGC) to an IBM PC XT. Did you know that the 8088 which formed the basis for the IBM PC, released in 1981, just a decade after Apollo 11’s trip to the Moon, had eight times more memory than Apollo’s Guidance Computer (16k, vs the Apollo’s 2k). The IBM PC XT ran at a dizzying clock speed of 4.077MHz. That’s 0.004077 GHz. The Apollo’s Guidance Computer was a snail-like 1.024 MHz in comparison, and it’s external signaling was half that.
Internally, the architecture of 8086 had 8 16-bit registers available to work with. It could keep track of eight registers, the Apollo Guidance Computer held just four.
The most amazing part that will blow you away isn’t so much the hardware, as the software they used to get to the Moon. In fact, the real-time operating system in the Apollo 11 spacecraft could multi-task eight jobs at a time, something we take entirely for granted today, but no small feat for the time it was developed.
Multi-tasking however, wasn’t quite as we now think of it. Our operating systems use pre-emptive -multitasking, where the operating system itself is in control of the execution and can stop any program at any time. The AGC relied on non-pre-emptive multi-tasking, whereby programs had to relinquish control back to the OS periodically.
The Apollo system also implemented a virtual machine which offered more complex instructions, and could be used to perform more advanced mathematics. For its time, this was way-out stuff in 2k of memory and 32k of storage. The OS managed transition between native instructions and the instruction set of the virtual machine, which let developers mix and match the hardware level instructions with the virtual instructions within the same assembler code.
Even more, the Apollo 11 was actually the advanced “Block II” version of the AGC – the earlier missions had relied upon as little as 24k of core read-only storage, and only 1k of main memory!
And what about interface? The AGC was way switches and blinking lights, and every command was entered in a combination of “verb noun pairs”, which would be input as numbers. These numbers were translated into English on a painted sign in the spacecraft.
The Apollo Guidance Computer had only one error message, and when it flashed, it meant the real end was near. On the Apollo 11 mission a 1201 error, and then a 1202 flashed causing enormous concern on the lander and back on Earth, after the spaceship crew had mistakenly left one radar system on, while the landing crew used a second system to determine the distance to the ground. The computer was taking in too much data to function, and left the crew in the lurch.
So, when you think about all those amazing manned missions to the Moon, and what it took to get there, keep in mind that had the complexities of the eventual AGC been understood when the NASA team began to design it, they likely never would have started, as they would have considered the computer far outside the available technology of the day.
We take interplanetary travel for granted today. One day Man is going to do the same with interstellar travel. And people will smile just looking at today’s iPhones and iPads, so obsolete and so out-of-date toys the Humans had to deal with to communicate.