# Apollo Guidance Computer

L'Apollo Guidance Computer (AGC) est l'ordinateur embarqué de navigation et de pilotage installé dans les vaisseaux spatiaux des missions Apollo. Il a été conçu par la société MIT Instrumentation Laboratory sous la direction de Charles Stark Draper avec le matériel de conception dirigée par Eldon C. Hall. La fabrication de l'ordinateur était confiée à la société Sperry tandis que la programmation était réalisée au MIT. C'est le premier ordinateur à avoir recours aux circuits intégrés (CI). Il y avait un AGC dans le module de commande et un autre dans le module lunaire Apollo. L'AGC a été utilisé en temps réel par l'astronaute-pilote pour recueillir et fournir des informations de vol, et pour le contrôle automatique de toutes les fonctions de navigation du vaisseau spatial.
L'AGC est un ordinateur effectuant des traitements en temps réel. Il est multitâche (jusqu'à 6 tâches exécutées en parallèle). La mémoire utilise des mots de 16 bits : elle est composée de 72 ko (36 864 mots) de mémoire morte contenant l'ensemble des programmes ainsi que le système d'exploitation et de 4 ko (2 048 mots) de mémoire vive (effaçable) utilisée par les traitements. Les deux types de mémoire sont constituées de tores magnétiques : les programmes sont implantés dans l'ordinateur à la fabrication. Le processeur est constitué de plus de 5 000 portes NOR réalisées à l'aide de circuits intégrés. Il pèse environ 32 kg.
Lors de la mission Apollo 8, première satellisation autour de la Lune, la navigation est quasi autonome, à partir des données de la centrale inertielle et des mesures angulaires effectuées au sextant par l'équipage. Les missions suivantes ont davantage fait appel à des mesures de vitesse et de positions calculées sur Terre puis relayées par des antennes au sol.

## L'AGC au sein d'Apollo

Chaque vol à destination de la Lune (à l'exception d'Apollo 8, qui n'a pas pris de Module Lunaire dans sa mission en orbite lunaire) avait deux AGC, l'un dans le module de commande et l'autre dans le module lunaire. L'AGC dans le module de commande était le centre du système de guidage, de navigation et contrôle de l'engin (GNC).
Chaque mission lunaire avait également deux autres ordinateurs :
* Un calculateur de vol sur l'instrumentation d'anneau du lanceur Saturn V, appelé le Launch Vehicle Digital Computer (LVDC) – ordinateur de série construit par IBM Federal Systems Division ;
* Un ordinateur secondaire dans le module lunaire, désigné Abort Guidance System (AGS), construit par TRW et destiné à être utilisé en cas d'échec de la PGNCS (Primary Guidance, Navigation and Control System). L'AGS peut être utilisé pour décoller de la Lune et assurer le rendez-vous avec le module de commande, mais pas pour l'atterrissage. Lorsqu'il est activé, il déclenche automatiquement la séparation du module de remontée (AM, Ascent Module) du LEM de celui de descente (PDM, Powered Descent Module).

## Fonctionnement interne

L'AGC a été conçu au Laboratoire Instrumentation MIT Stark sous la direction Charles Stark Draper, la conception matérielle étant dirigée par Eldon C. Hall. [1] Les premiers travaux d'architecture ont été réalisés par JH Laning Jr., Albert Hopkins, Ramon Alonso et Hugh Blair-Smith. Le matériel de vol a été fabriqué par Raytheon. Herb Thaler a également fait partie de l'équipe d'architecture.
L'ordinateur Apollo vol était le premier à utiliser des circuits intégrés. Lors de la première version de la machine, ces circuits intégrés comportaient environ 8 transistors chacun, formant une seule porte logique NON-OU à 3 entrées. Ainsi, la première version du circuit nécessitait 4 100 circuits intégrés. La seconde version a utilisé des circuits intégrés améliorés qui comportaient deux portes logiques, permettant de réduire la taille du circuit à 2 800 puces. Les circuits intégrés, de Fairchild Semiconductor, ont été mis en œuvre en utilisant la technologie resistor-transistor logic (RTL). Ils étaient connectés via wrapping (une technique permettant de connecter des plots via des câbles), et le câblage a ensuite été moulé dans un plastique époxyde. L'utilisation d'un seul type de circuit intégré (NON-OU à 3 entrées) a permis d'éviter des problèmes qui sont survenus sur d'autres machines pionnières de l'utilisation des circuits intégrés, comme l'ordinateur Minuteman orientation II, qui utilise un mélange de technologie diode-transistor et de logique à diode.
L'ordinateur avait 2 048 mots de mémoire centrale effaçable magnétique et 36 kilomots de mémoire en lecture seule. Tous deux avaient des temps de cycle de 11,72 µs, soit 85 324 Hz. La longueur des mots en mémoire était de 16 bits : 15 bits de données et 1 bit de parité. En interne, le processeur travaillait sur 16 bits, comprenant 1 bit de débordement et 1 bit de parité, à une cadence de 1 MHz. La représentation des entiers était basée sur un complément à un.
Les sources des programmes ayant été utilisés pour Apollo 11 se trouvent sur GitHub.