L'Apollo Guidance Computer

È il 20 luglio 1969, 22:17:40 ora Italiana. Milioni di persone in tutto il mondo sono a casa, in un bar, o persino fuori da un negozio di elettrodomestici, lo sguardo incredulo rivolto ad uno schermo televisivo. A circa quattrocentomila chilometri di distanza Neil Armstrong sta poggiando piede sulla superficie Lunare.

 

La riuscita dell’Apollo 11, e in generale del Programma Apollo, ha rappresentato il trionfo del lavoro di migliaia delle menti più brillanti del mondo per più di un decennio, iterando anche sui dati del precedente Programma Gemini. Per ottenere tali risultati è stato necessario lo sviluppo di tecnologie mai viste prima, poi lentamente impiegate anche da oggetti di uso quotidiano (per esempio il Memory Foam; tuttavia, Il singolo avanzamento tecnologico che ha permesso più di tutti gli altri l’allunaggio, è stato senza dubbio lo sviluppo dell’ Apollo Guidance Computer (Abbreviato in AGC). Il primo dei due a bordo di ogni missione, fissato all’interno del modulo di comando, era il “cervello” di tutta l’operazione: ogni due secondi leggeva le decine di sensori presenti a bordo del veicolo, effettuava complicatissimi calcoli per stabilire le corrette traiettorie da seguire, e conseguentemente attuava con precisione assoluta i suoi propulsori di manovra, modificandone l’assetto. 

 

L’AGC era incredibilmente avanzato per il suo tempo, “schiacciando” la potenza di calcolo necessaria, considerevole data la precisione decimale richiesta, in un pacchetto grande appena 60 per 30 centimetri, con uno spessore di poco meno di 20. Il suo peso complessivo, tenendo conto di poca circuiteria di supporto esterna, era poco più di 32 kg, e consumava appena 55W. Queste specifiche non sembrano niente di speciale al giorno d’oggi, ma è importante tenere a mente che quando è stato progettato, un computer con potenza di calcolo comparabile riempiva una stanza e pesava tonnellate. 

 

“Ha dato inizio alla transizione da vantarsi di quanto era grande il proprio computer… a vantarsi di quanto era piccolo” 

 

- come ha scherzato in una lezione lo storico David Mindell, specializzato nella storia dell’informatica. Questa miniaturizzazione estrema è stata raggiunta grazie all’utilizzo di circuiti integrati al silicio, mai visti prima in un computer. Ogni integrato conteneva due porte logiche NOR a tre ingressi, combinati fra loro per ottenere tutti gli altri tipi di gate. Erano sicuramente rudimentali se confrontati alle CPU e GPU moderne, formati da decine di miliardi di singoli transistor, ma molto più efficienti dal punto di vista dello spazio e dei consumi energetici, rispetto ai moduli logici di transistor discreti usati per esempio dal quasi contemporaneo IBM System 360. Gli integrati erano saldati su PCB detti moduli, che si interfacciavano tra di loro tramite un backplane in wire wrap.

 

Un modulo dell'AGC viene testato con strumenti moderniUna scheda logica di un IBM System 360

 

Ognuno dei singoli chip del modulo, appartenente ad un'AGC (a sinistra o sopra), è grossomodo equivalente ad un'intera scheda logica di un IBM System 360 (destra o sotto)

 

Un’altra particolarità dell’AGC è il software che eseguiva: una sorta di Real Time OS, con la possibilità di gestire molte funzioni contemporaneamente grazie ad un sofisticato Task Scheduler; esso aveva la funzione di allocare il prezioso tempo di calcolo, in modo da dare priorità alle task fondamentali come il controllo dell’assetto e l’aggiornamento dell’interfaccia utente, ritardando se necessario le altre. 

Parlando di UI, gli astronauti si interfacciavano con il sistema tramite il DSKY: pronunciato come “dischi”, la parola è frutto dell’abbreviazione di DiSplay and KeYboard. Di fatti esso era un dispositivo formato da varie spie di segnalazione di errori, display numerici a 7 segmenti e un tastierino numerico simile a quello di una calcolatrice, affiancato da alcuni pulsanti di controllo. Inoltre, in alto a sinistra nel cluster dei display, era presente una spia che indicava la percentuale di utilizzo del tempo di calcolo ogni ciclo operativo di due secondi, funzionando secondo lo stesso principio del led di segnalazione dell’utilizzo del disco rigido presente sulla maggior parte dei computer moderni.

Un DSKY scollegato dalla plancia di comando

 

Il DSKY - DiSplay and KeYboard
 

Il secondo AGC, quello del LM (modulo di atterraggio),  serviva a governare l’assetto di quest’ultimo durante la discesa dall’orbita lunare verso la superficie, controllando anch’esso molteplici propulsori di manovra. Il sistema era talmente avanzato da poter eseguire tutte le manovre necessarie, dal de-orbiting all’allunaggio senza nessun controllo diretto da parte dell’astronauta. La modalità di atterraggio autonomo, denominata fase P65 (Il sessantacinquesimo sottoprogramma nella memoria dell’AGC), non fu mai utilizzata in una missione reale: veniva sempre saltato in favore del P66, che consentiva il controllo semi manuale del LM tramite un joystick. Anche durante questa modalità, il computer svolgeva comunque la funzione cruciale di leggere l’input del joystick, e calcolare le corrette attivazioni dei propulsori per garantire la velocità di rotazione richiesta dal pilota.

 

In conclusione, possiamo affermare con certezza che senza questa macchina formidabile, e il suo team di sviluppo al MIT, l’uomo non avrebbe messo piede sulla Luna per molti altri anni: si pensa che la superiorità nel campo dell’informatica sia stata la ragione della vincita da parte degli Stati Uniti alla “Corsa allo Spazio”. Infatti, per far decollare un razzo e mettersi in orbita, erano sufficienti dei semplici circuiti analogici e un pilota estremamente preparato, come nel caso di Yuri Gagarin. È invece provato che la precisione operativa necessaria a intercettare il nostro satellite nella sua orbita, è semplicemente impossibile da ottenere per un essere umano, necessitando di un computer abbastanza potente e abbastanza piccolo da poter entrare nella capsula, cosa che solo gli Americani potevano fare a quell’epoca.

 

Sergio Carmine