AGC, il cervello delle missioni Apollo
AGC, il piccolo grande cervello
AGC ebbe una fondamentale importanza nella missione lunare Apollo 11. Nel corso delle celebrazioni per festeggiare il 50esimo anniversario grande enfasi viene dedicata proprio a lui, il primo computer “portabile”. Nel suo piccolo era già grande: interattivo, general-purpose e multitasking. Il primo della storia informatica. Governato da 145.000 righe di codice usava un processore con frequenza di clock pari a 2 MHz e appena 72 KB di memoria RAM.
AGC on the moon
La missione Apollo 11 è quella che 50 anni fa, il 20 luglio 1969, portò sulla Luna per la prima volta tre astronauti: Neil Armstrong, Buzz Aldrin e Michael Collins. Quest’ultimo era il pilota del modulo di comando e restò in orbita mentre gli altri due erano sulla superficie. L’eroe nascosto di Apollo 11 era però un altro: il software. Si chiamava Apollo Guidance Computer (AGC) il computer di bordo del Programma Apollo della NASA utilizzato anche nel corso della storica missione Apollo 11.
AGC e suoi utilizzi
L’AGC era un computer estremamente avanzato per quel periodo. Fu talmente versatile da essere utilizzato oltre che nel Modulo di Comando anche all’interno del LEM. Trovò spazio in 15 missioni, di cui 9 sulla Luna, per sovrintendere 6 allunaggi, 3 missioni SkyLab e nella missione di test Apollo-Soyuz del 1975. Charles Stark Draper progettò AGC presso il MIT Instrumentation Laboratory. Era basato su un’unità di calcolo da 2 MHz di clock affiancata da 72 KB di memoria RAM e poco più di 1 MB di ROM. Basti pensare che una potenza computazionale simile fu offerta oltre dieci anni dopo sul mercato mainstream, quindi ad inizio anni ’80, da computer quali gli storici Commodore 64 e Sinclair Zx Spectrum.
Come era fatto
Le dimensioni di AGC erano pari a 61 x 32 x 17 cm. La cosa a stupire era però il suo peso di circa 32 chilogrammi. La stesura del software alla base del funzionamento di AGC richiese 350 ingegneri che lavorarono un equivalente di 1.400 anni-uomo per completare il progetto. Diversamente rispetto a quanto accade oggi, il codice fu scritto “a mano” per poi essere trasferito alla macchina usando un cumulo di schede perforate. Il codice era una “miscela” tra assembly e un linguaggio matematico che doveva essere costantemente aggiornato. Fu un compito talmente gravoso per gli sviluppatori del MIT che lo scotto fu pagato a livello personale, come dimostrano gli sbalorditivi tassi di divorzio.
Il capolavoro di AGC
Margaret Hamilton, informatica, ingegnere e imprenditrice statunitense, ebbe un ruolo basilare nel progetto. Ella infatti lavorò al software che portò l’uomo sulla Luna. Ebbe il grandissimo merito di prevedere e gestire il problema presentatosi in fase di discesa. AGC si è comportato in modo impeccabile sui voli Apollo. Gli unici problemi furono dovuti all’inserimento del codice sbagliato o dalla pressione degli interruttori errati. Sull’Apollo 11, AGC mostrò tutte le sue abilità: durante la storica discesa verso il Mare della Tranquillità, il computer si bloccò improvvisamente a causa del radar di rendez-vous lasciato accidentalmente acceso.
Che successe
Il radar inondava il computer con dati senza senso e in un computer moderno questo avrebbe provocato una situazione anomala. l’AGC ha segnalato un errore di sovraccarico “1202”, ha arrestato tutti i programmi in esecuzione tranne quella a più elevata priorità e riavviato l’intero sistema. Probabilmente un computer più moderno avrebbe innescato un incidente! Ma il buon AGC fece una manovra automatica, ben congegnata a livello software, che ha scongiurato il possibile annullamento della missione. Proprio dopo il ripristino delle piene funzionalità del computer, i tecnici hanno “dato il via” al comandante della missione Neil Armstrong per procedere con l’allunaggio. Per i più curiosi, il codice dell’AGC usato anche in Apollo 11 è stato pubblicato su GitHub e può essere liberamente scaricato ed esaminato.
State collegati amici lettori. La festa per il primo uomo sulla luna è imminente. E noi ci saremo con due incredibili articoli! Vi lascio ora a qualche lettura distensiva.