Caricabatterie USB più potente del computer di Apollo 11: le cose stanno davvero così?

Sulla Luna e ritorno con un caricabatterie USB: si può fare, ma non usatelo al posto del computer di bordo. Ecco perché c'è una bella differenza tra l'AGC (Apollo Guidance Computer) utilizzato nella missione Apollo 11 e un caricatore per smartphone. A dispetto della potenza sulla carta superiore.

Il 20 luglio 2024 si festeggerà un anniversario importante: saranno trascorsi 55 anni dal primo storico allunaggio (missione Apollo 11). Era il 20 luglio 1969 quando l’astronauta NASA Neil Armstrong, seguito poi da Buzz Aldrin, calcò per primo il suolo lunare. Di quell’evento si è scritto tantissimo e anche quest’anno, in un’epoca in cui gli investimenti aerospaziali sono tornati a galoppare grazie al contributo dei privati (si pensi all’attività svolta da SpaceX e Blue Origin), ampio spazio sarà dedicato alla celebrazione della storica data e all’analisi delle prospettive future.

Scommettiamo che anche questa volta si dirà che il computer di bordo (AGC, Apollo Guidance Computer) utilizzato anche per la missione Apollo 11 aveva una potenza inferiore a quella di un caricabatterie USB? AGC era un computer estremamente versatile: “pilotato” da appena 145.000 righe di codice, fu utilizzato in molte operazioni spaziali proprio per la sua dimostrata affidabilità e flessibilità.

Nato presso il MIT Instrumentation Laboratory, AGC integrava un’unità di calcolo da 2 MHz di clock, 72 KB di memoria RAM e poco più di 1 MB di ROM. Una potenza computazionale simile fu resa disponibile soltanto oltre 10 anni dopo sul mercato generalista da computer come Commodore 64 e Sinclair Zx Spectrum.

Davvero un caricabatterie USB è più potente dell’AGC usato nella missione Apollo 11?

Già in passato, si era messo a confronto la potenza dello storico computer di bordo usato (anche) nella missione Apollo 11 con quella di un caricabatterie USB. L’articolo di riferimento è questo, a firma di Forrest Heller.

Heller, sviluppatore software, ha preso tre caricabatterie USB (Google Pixel 18W Charger, Huawei 40W SuperCharge, Anker PowerPort Atom PD 2) e li ha messi a confronto con le specifiche tecniche dell’AGC. Ha innanzi tutto rilevato che ciascuna istruzione dell’AGC di Apollo 11 richiedeva almeno 12 cicli di clock per essere gestita ed eseguita. Il sistema funzionava utilizzando l’aritmetica intera in complemento a uno, senza supporto floating point e disponeva di un solo registro accumulatore per supportare le operazioni aritmetiche.

Il caricatore USB CYPD4225 preso in esame, è dotato di una CPU ARM Cortex-M0 con una velocità di clock di 48 MHz. Un po’ come avveniva nel caso dell’AGC, le sue istruzioni sono eseguite in modo ordinato e prevedibile, senza cache o utilizzi di meccanismi SIMD (Single Instruction, Multiple Data) in hardware.

Confronto prestazionale

Limitiamoci al CYPD4225. Heller spiega che paragonando i cicli di clock necessari per eseguire istruzioni simili, il SoC (System-on-a-Chip) Cortex-M0 del caricabatterie CYPD4225 risulta essere significativamente più veloce dell’AGC. In media, le istruzioni del Cortex-M0 richiedono 12 volte meno cicli rispetto all’AGC. Con una velocità di clock decine di volte superiore, lo sviluppatore afferma che CYPD4225 è 563 volte più performante dell’AGC.

Storage e memoria RAM

L’AGC poteva memorizzare 36.864 parole da 15 bit, equivalenti a 72 KB includendo il bit di parità. Come paragone, il CYPD4225 ha una memoria Flash da 128 KB. Questo significa che il CYPD4225 può memorizzare fino a 1,78 volte più informazioni rispetto all’AGC.

Per quanto riguarda la memoria RAM, AGC poteva contare su 2.048 parole da 15 bit, equivalenti a circa 4 KB. Il CYPD4225, con 8 KB di RAM, ha più del doppio della capacità di memoria dell’AGC. Tuttavia, considerando che il Cortex-M0 lavora con parole da 16 bit, la differenza effettiva si riduce a circa due volte la capacità dell’AGC.

La domanda è: si può davvero andare sulla Luna con un caricabatterie USB-C?

La comparazione delle capacità di calcolo e memoria tra i caricatori USB-C moderni e l’AGC dell’Apollo 11 mostra chiaramente i progressi tecnologici maturati nel giro di qualche decina di anni.

Sgombriamo però il campo dagli equivoci. Heller non sostiene affatto che sia possibile sostituire l’AGC con un “semplice” caricatore USB-C per andare sulla Luna e tornare a casa.

Il computer di bordo dell’Apollo 11 era progettato per operare nello spazio in condizioni estreme, con una alta affidabilità. Di contro, i microcontrollori utilizzati nei caricabatterie non sono certamente certificati per tali condizioni. L’AGC, inoltre, era integrato con numerosi sistemi di controllo e sensori mentre un caricatore USB-C offre un numero limitato di connessioni GPIO e interfacce di comunicazione.

AGC e gli altri computer di bordo dell’Apollo 11 utilizzavano logiche ridondanti per garantire l’affidabilità, un aspetto non replicabile con i microcontroller dei caricatori USB-C senza applicare modifiche significative.

Il giusto punto di vista (secondo noi) per paragonare un caricabatterie USB con lo storico computer AGC di Apollo 11

Insomma, non fatevi ingannare da chiavi di lettura approssimative del tipo: “guardate che cosa è atterrato sulla Luna in confronto con l’hardware di oggi“. La potenza di calcolo non è l’unico fattore decisivo dal punto di vista prestazionale e non è certo l’unico aspetto da considerare per il successo di un’impresa come la missione Apollo 11.

Da quell’estate del 1969 ad oggi, il calcolo informatico è diventato incredibilmente più efficace e potente. Questo non implica che andare sulla Luna sia molto più semplice oggigiorno rispetto a quanto fatto 55 anni fa. Le migliori prestazioni di oggi (ordini di grandezza superiori) non rendono obsoleta la necessità di una buona ingegneria: sia l’hardware che il software della missione Apollo 11 erano sapientemente congegnati (su questo repository GitHub è pubblicato il codice sorgente dell’AGC).

È invece interessante osservare quanto sia diventata “articolata” la tecnologia che per noi è ormai “scontata”. È incredibile pensare che un caricabatterie o addirittura un cavo abbia tanta tecnologia racchiusa in sé da poterla addirittura confrontare con un AGC usato nelle missioni aerospaziali.

Nella nostra vita quotidiana c’è un’enorme quantità di ingegneria (oggi prodotta in serie) che neppure ce ne accorgiamo. Per questo andare sulla Luna rimane complicato: perché non ci sono componenti standard per i viaggi spaziali (come ci sono per i caricabatterie USB). Se ci si trovasse a dover costruire il proprio caricabatterie per ciascun dispositivo acquistato, tutti parlerebbero della ricarica della batteria come un “problema difficile da risolvere“. O no?

Credit immagine in apertura: Wikipedia (pubblico dominio)

Ti consigliamo anche

Link copiato negli appunti