Maszyny nie z tej ziemi
W tym roku mija dokładnie pół wieku, odkąd świat zobaczył, jak Armstrong i Aldrin radośnie podskakują na powierzchni Księżyca. W marcu wysłaliśmy w kosmos pierwszą kapsułę pasażerską Dragon 2. Żaden z tych faktów nie miałby miejsca, gdyby nie komputery. I to nie byle jakie, bo kosmiczne.
Choć dziś trudno nam wyobrazić sobie jakikolwiek pozbawiony procesora technologiczny gadżet, a tym bardziej statek kosmiczny, pierwsze loty w przestrzeń pozaziemską niewiele miały wspólnego ze sztuczną inteligencją. W latach 50. XX wieku, kiedy na orbitę został wyniesiony słynny Sputnik, informatyka znajdowała się wciąż w fazie embrionalnej. Sztuczny satelita wyposażony był więc w dwa nadajniki radiowe o mocy 1 wata. Statek Wostok, który w 1961 roku wystartował z kosmodromu Bajkonur z Jurijem Gagarinem na pokładzie, był kontrolowany przez bardzo prymitywną elektronikę sterującą, która z komputerami – przynajmniej w dzisiejszym rozumieniu tego słowa – miała niewiele wspólnego.
Gemini orbituje
Początki komputeryzacji wypraw kosmicznych wiążą się z latami 60., kiedy to wystartował amerykański program lotów kosmicznych Gemini, którego celem było opracowanie i przetestowanie zaawansowanych technologii umożliwiających wysłanie na Księżyc pierwszego człowieka. Ambitna misja księżycowej wyprawy Apollo wymagała jednak maszyn o dużych mocach obliczeniowych, które mogłyby wykonywać złożone manewry orbitalne i na bieżąco obliczać trajektorie lotu.
Trzeba było się tego wszystkiego nauczyć i do tego właśnie miał służyć Gemini Guidance Computer. Prace nad komputerem pokładowym pierwszego amerykańskiego kosmicznego pojazdu załogowego powierzono firmie IBM, doświadczonej już wówczas w produkcji maszyn obliczeniowych przeznaczonych do szerokich zastosowań, głównie naukowych. NASA zapłaciła amerykańskiemu gigantowi 26,6 miliona dolarów za zbudowanie komputera zdolnego do manewrowania orbitującym statkiem kosmicznym, umożliwiającego nawigację i dokowanie w kosmosie oraz – co najważniejsze – pozwalającego na kontrolowany powrót na Ziemię.
Wszystkie te zadania miał pełnić system spakowany w pudełku o 48 cm wysokości, 37 cm szerokości oraz 32 cm głębokości i ważącym nie więcej niż 26 kilogramów. Aby skonstruować maszynę Gemini, inżynierowie IBM polutowali setki pojedynczych tranzystorów, rezystorów i kondensatorów. Procesor komputera był tak prosty, że rozumiał tylko 16 różnych instrukcji, chociaż maszyna była gotowa wykonać 7 tysięcy operacji na sekundę. Gemini zasłużył na przymiotnik „pierwszy” w wielu kategoriach, jednak najważniejszą jego zasługą było to, że utorował drogę wszystkim kolejnym komputerom kosmicznym. W tym maszynie, która pozwoliła człowiekowi stanąć na Księżycu.
Apollo
Interfejs komputera, który zaprowadził misję Apollo na Księżyc, nie tylko przypominał kalkulator, ale też miał podobną moc obliczeniową. Wykorzystano w nim pamięć ferrytową, którą tworzyły magnetyczne rdzenie połączone cienkimi drucikami.
Apollo o mocy kalkulatora
Wyzwanie, jakie mieli przed sobą konstruktorzy ze słynnego MIT (Massachusetts Institute of Technology), bo to do nich należało zbudowanie komputera pokładowego misji Apollo, było nie byle jakie. Dotarcie na Księżyc wymaga bowiem czegoś więcej niż skierowania rakiety w stronę białej kuli na niebie – trzeba wiedzieć dokładnie, gdzie statek będzie za trzy dni, jak wejść na orbitę Srebrnego Globu, jak na nim wylądować, ponownie wzbić się w górę i bezpiecznie wrócić do domu. Wszystko to wymagało maszyny o znacznie większej mocy obliczeniowej niż ta, którą miał Gemini. Apollo Guidance Computer ważył 31,7 kg i mógł przeprowadzać 42 tysiące operacji na sekundę.
Pamięć stała była pamięcią ferrytową (odporną na promieniowanie i niezawodną) o pojemności 37 tysięcy 16-bitowych słów maszynowych, kasowalna zaś (czyli odpowiednik dzisiejszej pamięci RAM) mieściła 2048 16-bitowych słów maszynowych. Wprawdzie w dokumentacji opisującej komputer statku kosmicznego (tzw. moduł księżycowy) oraz podręczniku NASA ze specyfikacją komputera modułu dowodzenia nie pojawia się określenie bajt, ale gdyby przeliczyć pojemność dysków twardych i RAM-u użytych w Apollo 11 na tę miarę, to wyniosłaby – odpowiednio – zawrotne 74 i 4 kilobajty. Krążące w internecie powiedzenie, że komputer odpowiedzialny za lądowanie na Księżycu miał moc obliczeniową kalkulatora, nie jest więc dalekie od prawdy. Maszyna może też budzić skojarzenia z elektronicznym liczydłem z powodu wyglądu interfejsu, za pomocą którego astronauci komunikowali się z komputerem pokładowym – panel był bowiem wyposażony w ciekłokrystaliczny wyświetlacz oraz klawiaturę numeryczną do wpisywania komend.
Pamięć ferrytową, wykorzystaną w AGC, tworzyły tysiące magnetycznych rdzeni połączonych cienkimi drucikami. Za tę część przygotowań do księżycowej wyprawy odpowiadały emerytowane włókniarki zatrudnione przez firmę Raytheon. Panie te z niezwykłą precyzją przewlekały druciki według określonego wzoru – i można powiedzieć, że im właśnie pamięć AGC zawdzięcza nie tylko swoją wstrząsającą jak na owe czasy 74-kilobajtową pojemność, ale też nazwę LOL (ang. little old ladies, małe starsze panie).
Skylab zbiera doświadczenia
Na szczególne miejsce w historii kosmicznej komputeryzacji zasługuje Skylab. Powodów jest co najmniej kilka. Na pokładzie pierwszej amerykańskiej badawczej stacji kosmicznej, wystrzelonej na orbitę w 1973 roku, znalazł się komputer TC-1 opracowany na podstawie maszyn serii IBM 360. Choć różnił się on od standardowych „ziemskich” modeli maszyn cyfrowych tym, że był nie 32-, ale 16-bitowy, co znacznie uprościło proces programowania, TC-1 był zdecydowanie najnowocześniejszym w historii lotów kosmicznych komputerem pokładowym. Maszyna wyposażona w pamięć ferrytową 416 KB wykonywała około 400 tysięcy operacji na sekundę. Mimo że brzmi to niewiarygodnie, maszyny cyfrowe zastosowane w następnych programach kosmicznych były znacznie mniej nowoczesne niż te produkowane dla tzw. mas na Ziemi.
Dlaczego? W laboratorium Skylab po raz pierwszy stwierdzono, że przenikające przez osłony statków wysokoenergetyczne promieniowanie kosmiczne po trafieniu w krzemowy układ scalony może spowodować skok napięcia, zakłócenie sygnału, a co za tym idzie – błędy w obliczeniach czy wręcz nieodwracalne unieruchomienie procesora. Konstruktorzy kosmicznych systemów komputerowych wiedzieli odtąd, że w przestrzeni pozaziemskiej najlepiej sprawdzą się jak najprostsze procesory o dużych rozmiarach elementów składowych, które łatwiej rozproszą szkodliwą energię – czyli elektroniczne dinozaury, które na Ziemi byłyby już przeżytkiem.
Czółenko lata przez kable
Doświadczenia zebrane na orbitującym laboratorium badawczym Skylab stały się znakomitą bazą do opracowania najbardziej wyrafinowanej maszyny latającej – wahadłowca zwanego pieszczotliwie Czółenkiem (ang. Shuttle). W latach 80., gdy astronauci Skylaba badali Ziemię i Słońce, NASA pracowała już intensywnie nad rozwojem promu kosmicznego. To w nim znalazł się seryjnie produkowany IBM AP-101, używany wcześniej w bombowcach B-52 i B-1 oraz myśliwcu F-15. Na pokładzie pierwszego wahadłowca Columbia, który wyleciał na orbitę w 1981 r., znalazło się aż pięć maszyn AP-101, z których cztery replikowały swoje funkcje, porównując wzajemnie swoje dane ponad 500 razy na sekundę, a piąty odgrywał rolę jednostki zapasowej.
Twarde serca superkomputerów
Od wielu lat na miano kosmicznych superkomputerów zasługują platformy RAD. Najpopularniejsza to odporny na promieniowanie RAD750, oparty na trzeciej generacji 32-bitowych procesorów PowerPC 7xx zaprojektowanych i produkowanych przez IBM i Motorolę. Platforma składa się z 10,4 miliona tranzystorów, ma powierzchnię około 130 mm² i jest taktowana zegarem 200 MHz. Układ może pracować w temperaturach od -55 do 125 stopni Celsjusza i pochłonąć dawkę 2000 grejów. System RAD750 był m.in. sercem komputerów, które wraz z łazikiem Curiosity trafiły na Marsa w 2012 r. Od niedawna konstruktorzy sond i statków kosmicznych mogą wykorzystywać RAD5545 – najbardziej zaawansowany technologicznie, utwardzany radiacyjnie uniwersalny procesor przeznaczony do „zastosowań kosmicznych” w komputerach sond i statków załogowych, wymagających szyfrowania danych, współpracy wielu systemów operacyjnych, przetwarzania obrazów o ultrawysokiej rozdzielczości i jednoczesnej obsługi wielu ładunków.
Cyfrowe dinozaury w kosmosie
Mało kto wie, że na pokładzie statku kosmicznego w ostatniej misji Apollo w 1975 r. znajdował się kalkulator kieszonkowy firmy Hewlett-Packard. Ręczny kalkulator miał większą moc obliczeniową niż pokładowy komputer nawigacyjny Apollo, zaprojektowany dziesięć lat wcześniej. Ta ciekawostka świetnie ilustruje, że postęp, który miał miejsce w ciągu ostatnich 30 lat w technologiach komputerowych, nie znajduje odzwierciedlenia w tym, w co są wyposażane współczesne statki kosmiczne. Wprawdzie sprzęt wynoszony dziś na pokładach statków kosmicznych na odległość kilkuset milionów kilometrów od naszej planety w niczym nie przypomina historycznego komputera Gemini czy TC-1, jednak fani technologicznych nowinek oczekujący superwydajnych procesorów, jednostek GPU, megapojemnych dysków SSD i niemal nieograniczonej pamięci RAM prędzej znajdą to wszystko w domowych pecetach niż w kosmosie.
Wydajnościowo jednostki „kosmiczne” są niemal eksponatami muzealnymi i pozostają kilka, a czasem kilkanaście generacji za najbardziej zaawansowanymi komputerami na Ziemi. To konieczne, bo sprzęt wynoszony na pozaziemską orbitę musi spełniać bardzo specyficzne wymagania – powinien być możliwie odporny na promieniowanie i zakłócenia ziemskiego pola magnetycznego, wytrzymały termicznie i mechanicznie, a przede wszystkim niezawodny. Wymiana pamięci w ziemskich warunkach nie stanowi żadnego problemu. W kosmosie – i owszem.
Stałe placówki na Księżycu, hotele turystyczne na orbicie Ziemi, załogowe misje na Marsa – takie wizje eksploracji kosmosu snuli rówieśnicy misji Apollo. Żadna jeszcze się nie ziściła, jednak postępy w rozwoju technologii kosmicznych są... kosmiczne. Nasza planeta jest otoczona przez satelity dostarczające nam informacji meteorologicznych i komunikacyjnych. Globalny system pozycjonowania (GPS) zapewnia precyzyjny pomiar czasu i dane lokalizacyjne. Roboty i sondy kosmiczne rozpoczęły eksplorację Marsa i innych planet. Ostatnie dni przyniosły kolejny kamień milowy – z Centrum Kosmicznego w Cape Canaveral na Florydzie na rakiecie Falcon 9 wystrzelono w kosmos pierwszą kapsułę pasażerską Dragon 2. Jedynym pasażerem kapsuły był manekin o imieniu Ripley (nawiązującym do postaci Ellen Ripley, bohaterki filmu „Obcy – ósmy pasażer Nostromo”). Manekin został umieszczony na jednym z siedzeń dla załogi i wyposażony w czujniki na głowie, szyi i kręgosłupie, dzięki którym mamy poznać wpływ lotu na ciało człowieka. To, jak rozwiną się i co będą potrafić następcy „kalkulatora” Apollo czy Geminiego, może nas jeszcze nieraz zaskoczyć.