TEMES

Un iPhone per anar a la Lluna

Durant el programa Apollo per portar l'home a la Lluna es van desenvolupar ordinadors molt innovadors

Quan els Estats Units d’Amèrica van començar la seva cursa amb els soviètics per enviar un home a la Lluna (i tornar-lo sa i estalvi) els ordinadors com els coneixem avui dia encara no existien.

Però resulta que els càlculs que calen per portar una nau espacial al lloc on es vol eren massa complicats i no es podien fer a mà. Una opció possible era la de recollir totes les dades dels sensors de la nau, enviar-les a la terra i fer els càlculs amb algun d’aquells ordinadors tan grossos que ocupaven una habitació sencera que tots hem vist en fotografies o pel·lícules. Aviat es va descartar aquesta opció donat que els temps d’enviar les dades, fer els càlculs i enviar els resultats eren massa llargs i farien la nau ingovernable.

Què fer doncs? Doncs dissenyar de ben nou un ordinador que cabés dins la nau i que pogués fer tots els càlculs que calien. A aquest ordinador se’l va batejar amb l’acrònim AGC (Apollo Guidance Computer, Ordinador de Guiatge de l’Apollo) i es va dissenyar des de zero per fer tots els càlculs durant el viatge d’anada i tornada de la Terra a la Lluna i per aterrar a la Lluna. De fet, a cada viatge hi anirien 3 d’aquests ordinadors, un a la nau d’anar i tornar a la Lluna (Command/Service Module o CSM) i dos a la petita nau que aterrava a la Lluna (Apollo Lunar Module o LM). D’aquests dos, un era per fer els càlculs per l’aterratge i l’altre era un ordinador diferent pel cas d’haver d’abordar l’aterratge, i només es va servir com a substitut de l’AGC en l’Apolo 13 (perquè aquest AGC d’emergència consumia menys energia).

Fent ús de la innovadora tecnologia dels transistors inventats uns 15 anys abans i dels circuits integrats (xips) que tot just començaven a aparèixer, es va dissenyar un ordinador amb 36 kB de ROM, 2 kB de RAM i que funcionava a 1 MHz. Tot això ficat en un espai una mica més gros que una caixa de sabates i que pesava 30 kg.

Si ho comparem amb el primer iPhone que es va presentar al mercat, tenia 4 GB de ROM, 128 MB de RAM i funcionava a 412 MHz (la mida tots la sabem, i pesa prop de 150 g). Això és, que un iPhone (el més antic!) té 115,000 vegades més ROM, 65,000 vegades més RAM i anava 415 cops més ràpid. Podríem dir que l'AGC tenia la potència que tindrien els miniordinadors domèstics que van aparèixer a finals dels anys 70 (Apple II, Comodore64, ZX Spectrum, etc.).

La memòria ROM (memòria només de lectura i on es guarda el programari) era d’una tecnologia molt especial: per guardar 1s i 0s en aquestes memòries, es passava un fil conductor per dins o per fora d’una bobina de ferrita (es coneixia com a memòria de nuclis cablejats). Així, literalment, es cosien els programes a l’ordinador abans de cada missió i ho feien dones especialment entrenades que tenien una gran responsabilitat.

Teclat i “pantalla” de l’AGC
Teclat i “pantalla” de l’AGC (Wikimedia commons (domini públic))

I com és que un ordinador tan bàsic com l’AGC podia fer tota la feina? Doncs perquè estava dissenyat per una tasca molt concreta, rebia un conjunt de dades limitat, es programava en assemblador i tenia una interfície d’usuari molt senzilla. També va ser clau que els enginyers implicats van decidir fer servir un sistema operatiu de temps real, que li permetia eliminar o abandonar tasques que no fossin imprescindibles en casos de sobrecàrrega.

De fet, durant el primer aterratge a la Lluna de l’Apollo 11, l’AGC del mòdul lunar es va sobrecarregar i va disparar dues alarmes diferents: l’ordinador estava rebent massa feina i no podia amb tot. Com que algunes de les feines que havia de fer en aquell moment no eren prioritàries per l’aterratge, les descartava automàticament. Per sort, els enginyers a la Terra van veure de seguida què estava passant i van poder donar les instruccions necessàries per continuar amb l’allunatge com tots coneixem.

Cal recordar que en un món d’homes com eren els Estats Units als anys 60, una dona va ser la responsable de bona part del desenvolupament del software que s’executava dins l’AGP. Es deia Margaret Hamilton i va treballar molts anys a la NASA fent software per ordinadors de control pel projecte Apollo, el transbordador espacial, etc.  Ella va ser qui va posar els fonaments del que s’acabaria coneixent com enginyeria de software, que ajuda a escriure software de qualitat (com així va ser dins el projecte Apollo).

Margaret Hamilton durant el projecte Apollo amb el codi imprés de l’AGC
Margaret Hamilton durant el projecte Apollo amb el codi imprès de l’AGC (Wikimedia commons (domini públic))

Si tot va anar tan bé va ser per la gran quantitat de recursos disponibles i per les decisions tècniques i d’enginyeria que es van prendre. Avui dia, sistemes crítics continuen fent-se amb estàndards similars i amb ordinadors una mica més potents que l’AGC, però sense arribar a la capacitat de càlcul dels ordinadors domèstics o smartphones que tenim actualment. De fet, els satèl·lits i sondes espacials actuals fan servir processadors molt poc potents comparats amb el que tenim a les nostres mans.

Ara la pregunta, si et diguessin que el teu smartphone serà l’encarregat de portar-te a la Lluna i que depens d’ell per arribar-hi correctament i amb vida, pujaries a la nau?

Per saber-ne més

Contacta amb Divulcat