Jak komputery podbijały kosmos?

Jak komputery podbijały kosmos?

Dwa lata po epokowym locie pierwszego sztucznego satelity ziemskiego Sputnika 1 Arthur Summerfield, Naczelnik Główny Poczty Stanów Zjednoczonych, wróżył w 1959 roku, że “zanim człowiek stanie na Księżycu, listy na całym świecie będą dostarczane przez rakiety”. Zdanie to padło bezpośrednio po udanym eksperymencie wystrzelenia z łodzi podwodnej USS Barbero rakiety wypełnionej trzema tysiącami listów. I mimo że program poczty rakietowej nie wyszedł poza fazę eksperymentalną (warto tu wspomnieć, że badania takie prowadzono także w Polsce przy użyciu rakiet Meteor), słowa pana Summerfielda okazały się prorocze. Stało się to może “nieco” później niż przed lądowaniem na Księżycu, ale świat faktycznie wkroczył w erę poczty rakietowej, a właściwie kosmicznej. Pojawiły się bowiem listy elektroniczne, wysyłane przy pomocy komputerów, które są bezpośrednim owocem ponad 50-letniej historii podboju kosmosu i towarzyszyły jej na każdym kroku.

Lampy w próżni

Naszą podróż w czasie zaczynamy w 1949 roku, kiedy firma IBM zaprezentowała pierwszy cyfrowy komputer o nazwie Card-Programmed Electronic Calculator (CPC). Maszyna ta wykorzystywała 80-kolumnowe karty perforowane. Do 1951 roku dostarczono na rynek blisko 700 takich urządzeń, głównie do agencji rządowych i rozmaitych laboratoriów naukowych. Paradoksalnie było to zaprzeczenie tezy prezesa IBM-u Thomasa J. Watsona, który w 1948 miał twierdzić, że na rynku jest miejsce najwyżej dla 5 komputerów (do dzisiaj trwa spór, czy naprawdę wypowiedział takie słowa). Dzięki temu jednak wszelkie badania, także na użytek rodzącego się sektora kosmicznego, mogły być prowadzone jednocześnie w wielu miejscach, zaś obliczenia mogły być weryfikowane przez niezależne zespoły badawcze, korzystające z tych samych maszyn. Rok później jeden egzemplarz CPC trafił do Amerykańskiego Komitetu Doradczego ds. Aeronautyki (NACA), czyli poprzednika agencji kosmicznej NASA, gdzie wspomagał obliczenia inżynieryjne. Jednocześnie po drugiej strony żelaznej kurtyny ruszały prace nad systemami obliczeniowymi, które miały wspomagać radziecki program kosmiczny. Stało się wówczas jasne, że kolejna generacja urządzeń będzie musiała nie tylko wspierać same obliczenia, ale także wspomagać starty rakiet, obliczać trajektorie ich lotów oraz monitorować satelity, które zamierzano umieścić na orbicie.

Amerykańską odpowiedzią na to wyzwanie była nowa seria urządzeń obliczeniowych firmy IBM, oznaczonych numerem 700, które produkowano masowo z myślą o szerokim zastosowaniu, głównie naukowym. Pierwszy model z tej serii (701) przyniósł ciekawe rozwiązanie w postaci przechowywania programów w wewnętrznej adresowanej pamięci elektronicznej, zbudowanej z 72 tzw. tub Williamsa (lamp elektronowych z wypompowanym powietrzem) o pojemności 1024 bitów każda, dającej łączną pojemność 2048 36-bitowych słów. Kolejną zmianę przyniósł model 704, zaliczany do komputerów drugiej generacji, wprowadzając zamiast wysoce awaryjnych, często przegrzewających się lamp pojemną pamięć ferrytową o znacznej szybkości. Model ten jako pierwszy miał rozkazy zmiennoprzecinkowe, których wykonywał do 12 tysięcy na sekundę. To właśnie dwa zaawansowane technicznie urządzenia IBM 704 monitorowały lot pierwszego sztucznego satelity ziemskiego, czyli radzieckiego Sputnika 1. Paradoksalnie przewaga komputerowa Amerykanów nie pomogła w pierwszej “wizerunkowej bitwie kosmicznej”, którą wygrał Związek Radziecki.

Komputer na orbicie

Wystrzelenie pierwszego Sputnika poskutkowało wzmożeniem wysiłków obydwu stron kosmicznego wyścigu, co przyczyniło się do postawienia kolejnego kroku, jakim było wysłanie człowieka na orbitę, a następnie na Księżyc. Pierwsza faza, orbitalna, rozpoczęła się w Stanach Zjednoczonych programem Mercury, zaś w Związku Radzieckim programem Wostok. Kapsuły użyte w obydwu programach były bardzo zbliżone, jeśli chodzi o kwestie podejścia do wykorzystywania komputerów, a mianowicie wyposażone zostały w nieskomplikowaną automatykę, która w razie awarii statku lub złego stanu zdrowia astronauty pozwalała wyłączyć obwody pokładowe i przejąć całkowitą kontrolę nad dalszym lotem kapsuły przy pomocy fal radiowych wysyłanych z centrum kontroli misji na Ziemi. W lotach Mercury NACA (a od 1958 roku NASA) korzystała z podwójnego systemu IBM 7090, który był unowocześnioną wersją maszyn z serii 700, wykorzystującą 50 tysięcy tranzystorów zamiast lamp próżniowych i oferującą sześciokrotnie większą szybkość przetwarzania danych na poziomie 100 Kflop na sekundę. Co ciekawe, był też stosunkowo tani (jak na owe czasy) i jedna wersja tego komputera kosztowała niecałe 3 miliony dolarów (odpowiadający dzisiaj wartości 23 milionów dolarów). Można było go także wypożyczać w cenie 63 500 dolarów (dziś równowartość 520 tysięcy dolarów) za miesiąc.Maszyna ta, podobnie jak seria 700, zajmowała praktycznie całe pomieszczenie i wciąż zaliczała się do drugiej generacji komputerów.

Abstrahując od początkowej porażki Amerykanów (gdyż znów to Związkowi Radzieckiemu udało się wygrać, umieszczając 12 kwietnia 1961 roku pierwszego człowieka na orbicie – Jurija Gagarina), program Mercury przyniósł ważną refleksję na temat wykorzystania komputerów w kolejnym etapie wyścigu kosmicznego. Aby bezpiecznie dolecieć na Księżyc, potrzebny był niezależny komputer pokładowy.

Wraz z modyfi kacją komputerów w wahadłowcach zmianie ulegał również wygląd kokpitów promów kosmicznych. Na zdjęciu pierwsza wersja pulpitu, oparta jeszcze na modelu IBM AP-101.

I o takim zaczęto już myśleć w kolejnym programie kosmicznym, a mianowicie Gemini, realizowanym w latach 1963–1966. Jego celem było wdrożenie i przetestowanie wszelkich technologii i procedur, które umożliwiłyby wysłanie pierwszego człowieka na powierzchnię Księżyca. Projektanci misji zdawali sobie sprawę, że takie loty wymagały znacznie większych mocy obliczeniowych, potrzebnych np. do wykonywania skomplikowanych manewrów orbitalnych, a także możliwości obliczania na bieżąco (i korekty) trajektorii lotu. Astronauci nie mogli być zdani tylko na centralny komputer sterujący misją z Ziemi. Potrzebowali własnego systemu, który miałby wystarczającą moc obliczeniową, ale także niewielkie wymiary (jak na owe czasy), które pozwalałyby na umieszczenie go w kapsule Gemini, będącej powiększoną wersją kapsuły Mercury.

Rosyjskie Centrum Kontroli Misji Kosmicznych w podmoskiewskim Korolewie w trakcie wideorozmowy z uczestnikami 14. i 15. ekspedycji na Międzynarodową Stację Kosmiczną ISS.

Rosyjskie Centrum Kontroli Misji Kosmicznych w podmoskiewskim Korolewie w trakcie wideorozmowy z uczestnikami 14. i 15. ekspedycji na Międzynarodową Stację Kosmiczną ISS.

Tak narodził się projekt Gemini Guidance Computer, którego konstrukcję powierzono sprawdzonej już w branży firmie IBM. Pierwszy orbitalny komputer ważył około 26 kilogramów i był sześcianem o wymiarach 48×37×32 cm. Zbudowany przy wykorzystaniu tranzystorów, GGC składał się z pięciu modułów, w których zamontowano pamięć operacyjną opartą na rdzeniach ferrytowych oraz masową w postaci czytnika taśm magnetycznych. Jego moc obliczeniowa nie była duża (wynosiła bowiem nie więcej niż 7 tysięcy operacji na sekundę), jednak wystarczała do obliczania i zmiany trajektorii lotu na orbicie, wspomagania manewrów dokowania czy wsparcia podczas powrotu na Ziemię. Dzięki zastosowaniu Gemini Guidance Computer astronautom programu Gemini udało się ustanowić nowe rekordy kosmiczne w postaci pierwszych manewrów statku na orbicie okołoziemskiej, pierwszego spotkania statków kosmicznych na orbicie, pierwszego manewru dokowania statków kosmicznych, pierwszej nawigacji w przestrzeni pozaziemskiej oraz pierwszego powrotu na Ziemię kontrolowanego właśnie przez komputer pokładowy. Pracę kontrolerów naziemnych wspomagało w tym czasie pięć komputerów firmy IBM, które każdej doby wykonywały aż 25 miliardów operacji, dostarczając Centrum Kontroli Lotu natychmiastowych raportów na temat każdego etapu misji. Amerykanie byli gotowi na kolejny wielki “krok dla ludzkości”… program Apollo.

Kalkulator na Księżycu

Apollo Guidance Computer

Apollo Guidance Computer
Wraz z rozpoczęciem misji księżycowych Apollo pojawiła się nowa, trzecia generacja komputerów wykorzystujących wynalezione pod koniec lat 50. układy scalone. Miało to duże znaczenie dla inżynierów NASA, bowiem wiadomo już było, że komputer pokładowy Apollo będzie musiał spełniać znacznie większe wymogi obliczeniowe niż te z programu Gemini. Zadanie stworzenia Apollo Guidance Computer powierzono tym razem naukowcom z Massachusetts Institute of Technology, którzy od lat 50. pracowali już nad małymi komputerami dla przemysłu kosmicznego. Głównymi celami stawianymi przed nowym komputerem były: uniknięcie wrogiego zagłuszania go (np. ze strony statków radzieckich wystrzelonych w tym samym czasie), przygotowanie do długoterminowych pobytów na powierzchni Księżyca oraz zapobieganie przeładowaniu komunikacji ze stacjami naziemnymi podczas kilku równoległych misji kosmicznych. Pokazuje to, jak zmieniło się podejście do
jednostki pokładowej, która miała już funkcjonować jako w pełni niezależny komputer. Warto także dodać, że w każdej misji księżycowej brały udział dwie jednostki AGC: jedna w module dowodzenia (CM), a druga w samym lądowniku (LM). Wydajność maszyny była na poziomie efektywności dzisiejszych kalkulatorów, jednak w latach 60. było to maksimum, jeśli chodzi o możliwości miniaturyzacji komputerów.

Szafa w kosmosie

Amerykański program załogowy Skylab realizowany był w latach 1973–79 (chociaż ostatni lot astronautów na stację odbył się w 1974) i jego celem była budowa na orbicie laboratorium kosmicznego. Tym razem rolą komputera pokładowego nie miało być wspomaganie astronautów, ale de facto bycie jednym z nich (Skylab często był określany jako “czwarty członek załogi”) i zarządzanie stacją podczas rotacji załogi. Dodatkowo w misjach Skylab zaplanowano wiele eksperymentów naukowych, co wymuszało korzystanie ze sprzętu o znacznie większej mocy obliczeniowej niż w poprzednich programach. Stacja została więc wyposażona w seryjnie produkowany komputer typu mainframe TC-1 z serii IBM 360 w wersji 16-bitowej. Co ciekawe, maszyna biorąca udział w misji Skylab była ostatnim, najnowocześniejszym komputerem, jaki poleciał w kosmos. Urządzenia wykorzystywane w kolejnych programach kosmicznych ustępowały stopniem zaawansowania nowinkom technicznym, które trafiały pod strzechy. Powód był i pozostanie zawsze ten sam. Otóż w misjach kosmicznych wartych często miliardy dolarów liczy się przede wszystkim niezawodność sprzętów, a nie tylko sama wydajność (zgodnie z zasadą “im prościej – tym lepiej”). Program Skylab zakończył się w 1979 roku, a kilka lat później zainicjowano program wahadłowców kosmicznych STS.

Komputer pokładowy radzieckiej stacji kosmicznej Mir słynął z awarii. Wymieniono go dopiero pod koniec funkcjonowania stacji, aby ją bezpiecznie sprowadzić w atmosferę i zwodować w oceanie

Komputer pokładowy radzieckiej stacji kosmicznej Mir słynął z awarii. Wymieniono go dopiero pod koniec funkcjonowania stacji, aby ją bezpiecznie sprowadzić w atmosferę i zwodować w oceanie

W pierwszych misjach promy wyposażono w komputery pokładowe z serii IBM AP-101, które potrafiły wykonać 480 000 operacji na sekundę. W 1988 maszyny te zostały zastąpione nowszym modelem (AP-101F), opartym na procesorze Intel 8086, a podczas kolejnych modernizacji – na chipie Intel 80386. Uzyskano dzięki temu moc obliczeniową wynoszącą 1,2 miliona operacji na sekundę oraz procesory, które były już o wiele bardziej odporne na promieniowanie kosmiczne, będące największym wrogiem wszelkiej elektroniki w przestrzeni pozaziemskiej. Rosjanie w tym czasie postawili na budowę pierwszej prawdziwej stacji kosmicznej, MIR. Niemniej nie udało im się uniknąć kolejnych problemów z komputerem pokładowym (wersja bazująca na rodzinie Argon), który bezawaryjnie pracował w sumie tylko kilka godzin dziennie. Kolejnym punktem zwrotnym w historii była budowa Międzynarodowej Stacji Kosmicznej.

Laptop na stacji

Oprócz komputerów sterujących działaniem pojazdu kosmicznego w przestrzeń latają też zwykłe notebooki, takie jak te dwa Think- Pady służące załodze do pracy

Oprócz komputerów sterujących działaniem pojazdu kosmicznego w przestrzeń latają też zwykłe notebooki, takie jak te dwa Think- Pady służące załodze do pracy

Pierwszym ważnym zagadnieniem była unifikacja komputerów poszczególnych modułów (budowanych przecież zarówno przez Rosję, jak i Stany Zjednoczone czy Europę). Rosjanie przy konstrukcji maszyny dla modułu Zwiezda wykorzystali procesory Intel, co zapewniało pełną kompatybilność z pozostałymi modułami i oprogramowaniem amerykańskich wahadłowców. Drugą ciekawostką było powszechne wykorzystanie laptopów, które pojawiły się na Stacji praktycznie od samego początku. Były to modele IBM ThinkPad 755C, 760XD, a obecnie A31p oraz Lenovo T61P i inne produkcji rosyjskiej i japońskiej. Do dziś ich zadaniem jest bezpośrednie wspieranie astronautów podczas eksperymentów, spacerów kosmicznych EVA. Astronauci wykorzystują je także do celów prywatnych, co jest szczególnie ważne w trakcie długoterminowych pobytów na ISS.

Smartfon w satelicie

Obecna miniaturyzacja sprzętu komputerowego także wpływa na dalszy rozwój sektora kosmicznego. Doskonałym tego dowodem są tzw. pikosatelity CubeSat o wymiarach 10×10×11.35 cm, do których budowy wykorzystuje się często smartfony. Przykładowo przy budowie serii PhoneSatów NASA wykorzystała smartfony marki HTC oraz Samsung, bazujące na systemie operacyjnym Android. Z pewnością dalszy rozwój techniki przyniesie jeszcze ciekawsze rozwiązania. Należy jednak pamiętać, że spodziewane w kolejnych latach duże odkrycia kosmiczne będą możliwe dzięki sondom międzyplanetarnym, łazikom marsjańskim oraz teleskopom kosmicznym, zbudowanym na bazie starych, ale sprawdzonych technologii z ubiegłego wieku.