Każdemu miłośnikowi technologii przynajmniej raz obiły się o uszy opowieści o - nie bójmy się tego słowa - przestarzałym sprzęcie używany w kosmosie. O czasu do czasu wspomina się z łezką w oku wciąż obecne na Międzynarodowej Stacji Kosmicznej laptopy ThinkPad, no i oczywiście procesory, na które w warunkach domowych nikt by już dziś nie spojrzał. Generalnie wiadomo, że NASA stawia na starszy, ale sprawdzony sprzęt, no i trzeba tam brać pod uwagę problemy, których nie ma na powierzchni Ziemi, czyli choćby z promieniowaniem kosmicznym. Ale dość ogólników - dlaczego NASA wciąż używa technologii sprzed 40 lat?
Dlaczego najnowszy procesor Intel Core Ultra czy Apple M6 nie sprawdziłby się w kosmosie?
Generalnie dlatego, że produkty konsumenckie nie zostały zaprojektowany z myślą o pracy w trudnych warunkach kosmicznych. Na start wchodzi tam promieniowanie jonizujące, przed którym na powierzchni Ziemi chroni nas (i sprzęt elektroniczny) magnetosfera i atmosfera. Te wysokoenergetyczne cząstki mogą wywoływać zmianę stanu bitu w pamięci (tzw. Single Event Upset), a nawet poważne (i nieodwracalne) uszkodzenie układu. Owe przekłamanie bitu to nic innego jak zmiana stanu logicznego w układzie scalonym pod wpływem uderzenia cząstki - niespodziewanie zamiast wartości "1" może pojawić się "0", lub odwrotnie, czyli spowodować całkowite przekłamanie obliczeń. Oczywiście promieniowanie jonizujące to nie jedyny problem. Dochodzą tu również skrajne różnice temperatur oraz sama próżnia, która jest doskonałym izolatorem termicznym, więc nawet systemy chłodzenia muszą zostać całkowicie przeprojektowane.
To wszystko (i wiele innych czynników) sprawia, że proces kwalifikacji procesora nadającego się do pracy w kosmosie jest długi i skomplikowany. Inżynierowie sprawdzają, jak sprzęt reaguje na trudne kosmiczne warunki i czy w razie wystąpienia błędu potrafi odzyskać sprawność. Nie patrzy się również na sprzęt pod ogólną "kosmiczną sprawność", ale analizuje się każdy przypadek oddzielnie dla danej misji i specyficznych dla niej warunków.
Oczywiście to nie jest tak, że obecne procesory konsumenckie w ogóle nie działałyby w kosmosie, lub działały całkowicie źle. Przed kosmicznymi niespodziankami można się zabezpieczyć stosując mechanizmy ochronne i rozwiązania systemowe. Z przekłamaniem bitów można walczyć stosując choćby korekcję błędów ECC, okresowe sprawdzanie i poprawianie danych, czy stosując dublowanie układów, by w razie potrzeby przełączać się na ten sprawny - ale i tak trzeba byłoby stosować ochronne ekrany zabezpieczające przed promieniowaniem, czy systemy chłodzenia potrafiące odprowadzać ciepło w próżni.
Komputery i CPU w łazikach, wahadłowcach oraz na ISS
Wiemy już, że w przypadku takiego zastosowania to nie wydajność stoi na pierwszym miejscu, ale niezawodność. Jeśli chodzi o łaziki marsjańskie (Curiosity i Perseverance) to ich sercem był komputer RAD750 z procesorem PowerPC 750 (taktowanie 200 MHz). Może on pracować w temperaturach w zakresie od -55 do 125 stopni Celsjusza i wytrzymać dawkę promieniowania 2000 Gy (grejów) - chociaż sama płyta główna aż tak odporna nie jest. Jeśli człowiek otrzymałby dawkę 5 Gy to (zazwyczaj) skończyłoby się to śmiercią w ciągu dwóch tygodni, a dla porównania zdjęcie rentgenowskie generuje do 2,5 mGy (miligreja).
W tym miejscu kryje się procesor Perseverance (źródło: NASA)
W Międzynarodowej Stacji Kosmicznej (ISS) i choćby w przypadku teleskopu Hubble'a użyto już znacznie bardziej znanej nam jednostki, a konkretnie Intela 80386, czyli "zwykłego" CPU rodziny x86. Od razu warto zaznaczyć, że Międzynarodowa Stacja Kosmiczna nie ma głównego procesora sterującego - błąd takiego układu mógłby być tragiczny w skutkach. Używa się tam systemu multiplekserów (MDM), czyli rozproszonej sieci komputerów sterujących i zbierających dane z urządzeń ISS. Na początku stosowano tam modele Intel 80386SX (12 MHz), potem zmodernizowane do 80386 16 MHz, a nawet Pentium MMX o taktowaniu 144 MHz. Modernizacja nie obejmowała całości - prawdopodobnie najstarsze CPU wciąż działają w niektórych MDM.
Intel 386 w wersji DX (źródło: Wikipedia)
Wiemy, że 386SX używany na ISS był zwykłym komercyjnym procesorem, a nie specjalnie przygotowaną jednostką odporną na promieniowanie, był jednak montowany w specjalnej hermetycznej obudowie gwarantującą częściową odporność na promieniowanie kosmiczne. Komputery były wyposażone zarówno w sprzętowe, jak i programowe mechanizmy kontroli, ale podstawą systemu bezpieczeństwa pozostawała redundancja - kiedy jedna jednostka odmawiała posłuszeństwa, jej rolę przejmowała kolejna. Dzięki budowie modułowej była też możliwa wymiana konkretnego uszkodzonego modułu.
Przejdźmy jeszcze na chwilę do wyposażenia wahadłowców (promów kosmicznych). Otóż używały one komputerów pokładowych IBM AP-101 i to w liczbie… pięciu (5!). W krytycznych fazach lotu (start, czy powrót na Ziemię) aż cztery z nich równolegle dokonywały tych samych obliczeń i porównywały je ze sobą, a system odrzucał wyniki jednostki, która podawała błędny wynik. Piąty komputer był zapasowym systemem sterowania lotem, który pracował na niezależnym oprogramowaniu, co miało chronić przed sytuacjami, gdy wszystkie cztery podstawowe komputery zawiodły z powodu tego samego błędu programistycznego. Oczywiście poza krytycznymi fazami lotu, komputery zajmowały się już różnymi zadaniami.
IBM AP-101B - pierwsza wersja komputera amerykańskich wahadłowców - waga ponad 20 kilogramów (źródło: sothebys.com)
No dobra, ale z jakiego procesora korzystały te komputery? No… generalnie nie był to mikroprocesor we współczesnym znaczeniu tego słowa (czyli w jednym chipie), tylko jednostka obliczeniowa składająca się z układów logicznych TTL.
Przyszłość komputerów kosmicznych
Oczywiście te wszystkie wspominki nie oznaczają, że podbój kosmosu zatrzymał się na Intel 386, czy pierwszych Pentium. Aktualnie w satelitach i komputerach pokładowych wykorzystuje się między innymi procesory ARM (np. Cortex A72) i RISC-V, chociaż architektura PowerPC wciąż jest używana (komputer RAD5545 wymienia się jako prawdopodobny element stacji księżycowej Lunar Gateway).
NASA wraz z firmą Microchip pracują nad układem PIC64-HPSC (High Performance Spaceflight Computing), który ma być 100 razy wydajniejszy od obecnych procesorów używanych w kosmosie i wykorzystuje między innymi 8 rdzeni RISC-V o taktowaniu do 1 GHz. Stawia się nie tylko na wielordzeniowość, odporność na promieniowanie, czy mechanizmy korekcji błędów, ale i… zastosowanie AI. Aktualnie procesory te znajdują się w fazie testów.
Diagram PIC64-HPSC (źródło: Microchip)
Również firma AMD zapragnęła uszczknąć kawałek kosmicznego tortu, czego efektem jest nowy procesor AMD Versal AI Core XQRVC1902. Specjalna obudowa ma zapewniać odporność na promieniowanie (do 15 lat), a wedle producenta procesor ten mógłby znaleźć nie tylko w systemach działających na orbitach, ale nawet misjach odbywających się w głębokim kosmosie. XQRVC1902 nie jest klasycznym CPU, lecz adaptacyjnym SoC. W części procesorowej znajdują się 2 rdzenie Arm Cortex-A72 o częstotliwości pracy do 1,3 GHz, 1 MB L2 i ECC oraz dwa rdzenie ARM Cortex-R5F o maksymalnym taktowaniu do 600 MHz. "Czerwoni" rozpoczęli już wysyłkę egzemplarzy testowych, więc jest to produkt znajdujący się w zaawansowanym stadium rozwoju.
Jednym zdaniem - dzieje się, ale nawet supernowoczesne procesory w przyszłych misjach kosmicznych i tak będą wielokrotnie mniej wydajne od tych w naszych domowych pecetach. Wypada zaznaczyć, że skupiliśmy się tu na rozwiązaniach wykorzystywanych przez NASA i ESA. Chińczycy już jakiś czas temu w satelitach wykorzystali swoje autorskie procesory Loongson, chociaż wiadomo, że nie stronią od architektury MIPS (wykorzystywanej choćby w pierwszych modelach konsol Sony PlayStation), czy SPARC V8.

Pokaż / Dodaj komentarze do:
NASA lata w kosmos na procesorach sprzed 40 lat. Twój PC nie dałby rady