How the space race changed computing

Gemini Moon Capsule
The Gemini capsule in earth orbit

Getting into space requires more than just rockets. With both lives and huge amounts of money on the line, NASA has had to advance not only computer hardware but also the techniques and technologies required for working on the cutting edge.

We take a look at the systems that have helped push mankind from the dawn of the space race to the edge of the unknown universe.

The Gemini rocket's control system was to be used as a test-bed for the Moon landings, so it had to do more than merely crunch numbers: it had to be error-proof, efficient and, above all else, small.

NASA gave IBM $26.6million to build a computer capable of running the necessary programs, and the specifications were brutal. IBM had to create a system capable of proving the feasibility of docking in space, all packed into a box no bigger than 19in high, 15in wide, 13in deep, and weighing less than 60 pounds.

While this may only be the same size and weight of a modern tower PC, comparable computers at the time took up whole rooms and required a staff of operators to keep them going.

The calculations required were no less advanced. The curved nature of orbit makes catching up to another craft and docking with it a confusing and dangerous procedure. For example, firing a rocket motor to get closer to another spacecraft actually puts your own ship into a higher orbit. Paradoxically, you have to aim lower than the other craft by a certain degree to catch it up, and that's difficult to do by hand and with limited fuel.

Gemini's onboard computer had to help fly the craft during six distinct mission phases: pre-launch (where it monitored the health of both itself and other onboard systems), blast off, achieving a stable orbit, catching a drone (dubbed Agena), docking with it and finally negotiating a safe re-entry.

To create the Gemini computer system, IBM engineers soldered together hundreds of individual transistors, resistors and capacitors. The CPU was so simple that it only understood 16 different instructions, although the finished machine could execute 7,000 of those instructions per second.

Interestingly, when writing the onboard software, IBM engineers pioneered the first use of the software engineering techniques that all avionics developers use today. They created modules that could be verified mathematically as being correct and which each performed just one simple task.

The care with which the computer was programmed didn't end there. Errors while loading the finished program from magnetic tape into the computer's 4kB of non-volatile core memory were an ever-present danger. Imperfections in the tape could create flipped bits and therefore bad instructions in the transferred program.

At the time, the generally accepted standard was one error in 100,000 bits. NASA demanded an accuracy of one error in 1,000,000,000. To achieve this, the program was recorded three times and special hardware checked that all three copies of each bit were identical before adding it to memory.

Landing on the Moon

Getting to the moon takes more than pointing a rocket towards the white thing in the sky – you need to know exactly where it's going to be in three days' time. As a result, entering lunar orbit, landing on the Moon, ascending again and then getting home all require computers.

Re-entry involves getting the angle exactly right so as not to fry the crew or have the Command Module skip off the atmosphere and back into space like a stone on a pond. NASA knew that the Apollo missions would require onboard systems capable of handling every aspect of the mission – and that meant a guidance system of unprecedented ingenuity.

It chose MIT to design the system. The institute had previously created the guidance system for the Polaris nuclear missile, so it was a natural choice to design, build and write the software for the iconic Apollo Guidance Computer (AGC) that would get men to the Moon and back.

To save weight, space and power, NASA and MIT decided to risk using newly invented integrated circuits. Each chip contained a circuit called a NOR gate, which produces an output only when none of its inputs receive a signal. Combined, these gates can form the other logic circuits needed to build a complete CPU.

It took 5,600 NOR gates to build the computer NASA would eventually send to the Moon. These were arranged into trays, each containing 24 modules. Each module contained 60 sub-modules, and each sub-module contained several NOR chips. The whole thing consumed 2.5 amps, and ran at 1MHz.

NASA pc

OLD TECH: This is a good example of the PCs sent into space back in the day

By modern-day standards that specification may look almost embarrassingly underpowered, but make no mistake – it was considerably more powerful than the 'pocket calculator' comparison would imply.

Each Apollo mission used two AGCs, one in the orbiting command module and another in the lunar module. Both were identical in hardware, but had different software weaved into their memories.

The astronauts communicated with the units using a display and keyboard setup (called a 'DSKY' for short). There were two DSKYs in the command module and one in the lunar module.

Perhaps most remarkably, the AGC contained just 36kB of memory holding programs critical to the mission, and was composed of ferrite cores woven by hand into a structure resembling macramé.

Software for any given mission had to be delivered months in advance so that it could be put in place, and mistakes were nearly impossible to correct.