The Apollo Guidance Computer (AGC) was a critical element in the success of the Apollo Moon landing programme, and was one of the first digital computers to use the then new technology of integrated circuits.
By modern standards, its design has many unusual aspects, such as:
- The logic circuits were made entirely from 3 input NOR gates.
- Design was split into 24 logic modules, but due to limits on gate/chip count per module, individual gates were sometimes 'borrowed' from unrelated modules.
- Shift and rotate operations existed, but were not available during interrupts.
- Numerical overflows disabled interrupts.
- There was no stack.
- Limited memory addressing range, combined with a need for ever more memory lead to a complex memory banking system.
- Word length was 15 bits, ones-complement (mostly).
- No floating point - everything done in integer
- programmer responsible for avoiding overflows.
- Single bit 'Up/Down' Analog to Digital conversion (kind of) throughout, with the curious side-effect that the faster the spacecraft was rotating, the slower the computer would run...
On top of the limited hardware was built an impressive realtime system supporting cooperative multitasking, a virtual machine running interpreted commands, a powerful fault detection and restart system, and an innovative VERB NOUN user interface.
This talk aims to describe the architecture, with particular focus on aspects which are unusual by modern standards.