34th Chaos Communication Congress

»The Ultimate Apollo Guidance Computer Talk«
2017-12-27, 22:30–23:30, Saal Borg

The Apollo Guidance Computer ("AGC") was used onboard the Apollo spacecraft to support the Apollo moon landings between 1969 and 1972. This talk explains "everything about the AGC", including its quirky but clever hardware design, its revolutionary OS, and how its software allowed humans to reach and explore the moon.

The AGC was an early digital computer specifically designed for the Apollo moon missions. The Command Module and the Lunar Module each contained one AGC. First built in 1965 from 5600 integrated circuits, it was one of the first minicomputers, beating commercial machines like the PDP-8 in weight (32 kg) and power consumption (55 W). The Apollo program's size and weight limitations as well as the requirements for real-time guidance, navigation and control were pushing 1960s technologies to their limits. As a 15 bit one's complement big-endian accumulator machine with 36 kilo-words of ROM and 2 kilo-words of RAM, its design seems very foreign from today's perspective. The operating system was real-time, priority-based cooperative/preemptive and fault-tolerant, supporting interpreted virtual machines – practically inventing many of these concepts.

This talk explains all the hardware details of the AGC: Its machine language, counters, timers, I/O, display and keyboard, as well as its implementation using integrated circuits, core memory and "core rope" ROM. The talk goes on to explain the software: interrupt handling, the core set, the wait list, the alarm system, the interpreter, and the actual user software, providing, among other things, guidance, navigation and control (GNC) services.

The audience will get a good understanding of hardware and software design in the 1960s, and appreciate the innovations driven by the Apollo program.