Komputer, który podbił Księżyc: Apollo Guidance Computer

Wyprawa na Księżyc to jedno z największych osiągnięć ludzkości. Za sukcesem misji Apollo stało wiele czynników, ale jednym z najważniejszych był Apollo Guidance Computer (AGC) – komputer pokładowy, który umożliwił nawigację, kontrolę lotu i lądowanie na Srebrnym Globie. Ten niezwykły komputer, wyprzedzający swoje czasy o dekady i o mocy obliczeniowej porównywalnej z komputerami domowymi z późnych lat 70., takimi jak Apple II 1, odegrał kluczową rolę w historii eksploracji kosmosu i wpłynął na rozwój informatyki.

Rewolucja w miniaturyzacji

AGC był jednym z pierwszych komputerów zbudowanych w oparciu o układy scalone, co pozwoliło na znaczną miniaturyzację i uczyniło go pomostem między komputerami opartymi na lampach próżniowych a nowoczesnymi maszynami 2. Ważył zaledwie 32 kg i był na tyle kompaktowy, że zmieścił się na pokładzie statku kosmicznego. To rewolucyjne osiągnięcie w tamtych czasach, biorąc pod uwagę, że ówczesne komputery zajmowały całe pomieszczenia3.

Początkowo, AGC (w wersji Block I) zbudowany był z 4700 pojedynczych układów NOR z trzema wejściami. NASA naciskała jednak na producentów, aby ulepszyli technologię układów scalonych i zwiększyli ich niezawodność. Doprowadziło to do powstania pierwszych płaskich układów scalonych. Wersja Block II AGC wykorzystywała te płaskie układy, które zawierały dwa 3-wejściowe bramki NOR5. Przejście na płaskie układy scalone miało ogromny wpływ na miniaturyzację i niezawodność AGC, przyczyniając się do sukcesu misji Apollo.

Serce misji Apollo

AGC był głównym komputerem pokładowym misji Apollo, zainstalowanym zarówno w module dowodzenia (CM), jak i module księżycowym (LM)3. Pełnił on funkcję „mózgu” systemu naprowadzania, nawigacji i kontroli statku kosmicznego2. Warto zauważyć, że misje Apollo były pierwszymi, w których komputer odgrywał tak kluczową rolę. Wcześniejszy program Gemini polegał na ręcznym sterowaniu statkiem kosmicznym za pomocą drążków sterowych6. AGC umożliwił automatyzację wielu zadań, zwiększając precyzję i bezpieczeństwo misji.

Oprócz AGC, moduł księżycowy posiadał również zapasowy system komputerowy o nazwie Abort Guidance System (AGS)7. AGS był prostszym systemem, który w przypadku awarii AGC mógł przejąć kontrolę nad modułem księżycowym i umożliwić bezpieczny powrót na Ziemię.

Zadania AGC obejmowały:

  • Nawigację: Obliczanie trajektorii lotu, pozycji statku kosmicznego i niezbędnych manewrów korekcyjnych.
  • Kontrolę lotu: Sterowanie silnikami, stabilizację statku i utrzymywanie właściwej orientacji.
  • Lądowanie na Księżycu: Prowadzenie modułu księżycowego podczas lądowania, monitorowanie parametrów lotu i zapewnienie bezpiecznego lądowania.

Współpraca człowieka z maszyną

AGC nie tylko asystował astronautom, ale aktywnie uczestniczył w misji. Jego niezawodność i precyzja obliczeń były kluczowe dla powodzenia misji3. Astronauci ufali mu tak samo jak sobie nawzajem, tworząc partnerski duet, w którym ludzka intuicja i osąd wspierały się na zaawansowanej technologii.

DSKY: Interfejs użytkownika

Komunikacja astronautów z AGC odbywała się za pomocą DSKY (skrót od „display and keyboard”)4. Był to prosty interfejs użytkownika, składający się z wyświetlacza numerycznego i klawiatury6. Choć dziś może wydawać się prymitywny, w tamtych czasach był to nowatorski sposób interakcji z komputerem. DSKY można uznać za jedną z pierwszych form interfejsu wiersza poleceń (CLI)3.

Oprogramowanie: Mistrzowska klasa

Oprogramowanie AGC zostało opracowane przez zespół z MIT pod kierownictwem Margaret Hamilton, pionierki inżynierii oprogramowania3. Napisane w języku asemblera, charakteryzowało się niezwykłą wydajnością i niezawodnością2. Programiści musieli stworzyć kod, który działałby bezbłędnie w trudnych warunkach kosmicznych, przy ograniczonych zasobach sprzętowych3. Wymagania misji wymusiły kompromis w postaci 15-bitowej długości słowa i zestawu zaledwie 33 instrukcji8. Ograniczenia te stanowiły poważne wyzwanie dla programistów, którzy musieli wykazać się kreatywnością i optymalizować kod, aby sprostać wymaganiom misji.

Pamięć: Rdzeń linowy i ferrytowy

AGC posiadał dwa rodzaje pamięci:

  • Pamięć rdzeniowa ferrytowa (RAM): 2048 słów, kasowalna, o czasie cyklu 11,72 mikrosekundy. Służyła do przechowywania danych tymczasowych i wyników obliczeń4.
  • Pamięć rdzeniowa linowa (ROM): 36 864 słów, niekasowalna, o czasie cyklu 11,72 mikrosekundy. Przechowywała ona oprogramowanie AGC2.

Technologia pamięci rdzeniowej linowej była niezwykle innowacyjna. Polegała na przewlekaniu drutów przez rdzenie magnetyczne, tworząc skomplikowaną sieć, która reprezentowała program1.

Specyfikacja techniczna

Specyfikacja techniczna komputera pokładowego Apollo Guidance Computer (AGC) prezentuje się następująco:

ParametrWartość
ProcesorUkłady scalone (RTL)
Częstotliwość taktowania2,048 MHz
Długość słowa15 bitów danych + 1 bit parzystości
Pamięć RAM2048 słów (pamięć rdzeniowa ferrytowa)
Pamięć ROM36 864 słów (pamięć rdzeniowa linowa)
InterfejsyDSKY, IMU, kontroler ręczny, radar rendezvous (LM), radar lądowania (LM), odbiornik telemetrii, sterowanie silnikiem, system sterowania reakcyjnego
Pobór mocy55 W
Język programowaniaJęzyk asemblera AGC
Waga32 kg
Wymiary61 cm × 32 cm × 17 cm

4

Awarie i błędy: „1202 program alarm”

Podczas misji Apollo 11, komputer AGC zgłosił błąd „1202 program alarm”. Błąd ten był spowodowany przeciążeniem komputera, który otrzymywał zbyt wiele danych z radaru rendezvous. Radar rendezvous służył do śledzenia pozycji modułu księżycowego względem modułu dowodzenia, co było kluczowe dla procedury dokowania po powrocie z Księżyca. 3 Na szczęście, AGC został zaprojektowany tak, aby w takiej sytuacji priorytetyzować zadania3. Zignorował mniej istotne operacje i kontynuował wykonywanie krytycznych funkcji, co pozwoliło na bezpieczne lądowanie na Księżycu.

Warto dodać, że ryzyko wystąpienia błędów w AGC wzrastało dramatycznie po opuszczeniu ziemskiej atmosfery. W przestrzeni kosmicznej komputer był narażony na duże dawki promieniowania, które mogły powodować zmiany bitów w pamięci9. Dlatego też, niezawodność AGC była absolutnie kluczowa dla bezpieczeństwa misji.

Dziedzictwo AGC

AGC wywarł ogromny wpływ na rozwój informatyki. Jego twórcy musieli stawić czoła wielu wyzwaniom, pracując z ograniczonymi zasobami i tworząc oprogramowanie o najwyższej niezawodności3. Ich innowacyjne rozwiązania, takie jak miniaturyzacja, przetwarzanie w czasie rzeczywistym i efektywne wykorzystanie pamięci, stały się inspiracją dla kolejnych pokoleń inżynierów. Co ciekawe, początki AGC sięgają programu Polaris, w ramach którego opracowywano pociski balistyczne wystrzeliwane z okrętów podwodnych10. Doświadczenia zdobyte przy projektowaniu systemu naprowadzania dla Polaris zostały wykorzystane przy tworzeniu AGC.

Rozwój AGC przyczynił się również do powstania inżynierii oprogramowania jako odrębnej dyscypliny3. Zespół Margaret Hamilton, tworząc oprogramowanie dla AGC, opracował wiele nowatorskich metod i narzędzi, które do dziś są stosowane w inżynierii oprogramowania. Ponadto, praca nad AGC upowszechniła „myślenie o robieniu więcej z mniejszymi środkami„, co jest szczególnie istotne w dzisiejszych czasach, w dziedzinach takich jak Internet Rzeczy (IoT) i systemy wbudowane3.

Wnioski

Apollo Guidance Computer to symbol triumfu ludzkiego umysłu i technologii. Ten niewielki komputer, zbudowany w oparciu o nowatorskie technologie i oprogramowanie o najwyższej niezawodności, odegrał kluczową rolę w podboju Księżyca. Jego dziedzictwo jest widoczne do dziś w wielu dziedzinach informatyki, od miniaturyzacji i efektywnego wykorzystania zasobów po rozwój inżynierii oprogramowania. AGC to dowód na to, że nawet przy ograniczonych możliwościach można osiągnąć niezwykłe rezultaty, jeśli połączy się kreatywność, determinację i współpracę. Historia AGC to fascynująca opowieść o innowacyjności, wytrwałości i ludzkim dążeniu do przekraczania granic.

Cytowane prace

1. A Brief Analysis of the Apollo Guidance Computer arXiv:2201.08230v1 [cs.OH] 6 Jan 2022, otwierano: grudnia 26, 2024, https://arxiv.org/pdf/2201.08230

2. The Apollo Guidance Computer (AGC): A Computer Engineering Breakthrough, otwierano: grudnia 26, 2024, https://wehackthemoon.com/tech/apollo-guidance-computer-agc-computer-engineering-breakthrough

3. Going Retro With AGC: Smart Computer That Powered Apollo …, otwierano: grudnia 26, 2024, https://itsfoss.com/apollo-guidance-computer/

4. Apollo Guidance Computer – Wikipedia, otwierano: grudnia 26, 2024, https://en.wikipedia.org/wiki/Apollo_Guidance_Computer

5. Apollo Guidance Computer | Details – Hackaday.io, otwierano: grudnia 26, 2024, https://hackaday.io/project/186246-apollo-guidance-computer/details

6. Apollo Guidance Computer | The Space Techie, otwierano: grudnia 26, 2024, https://www.thespacetechie.com/apollo-guidance-computer/

7. Moonjs: An Online Apollo Guidance Computer (AGC) Simulator, otwierano: grudnia 26, 2024, https://svtsim.com/moonjs/agc.html

8. A Glimpse into the Apollo Guidance Computer | by Borja Sotomayor – Medium, otwierano: grudnia 26, 2024, https://borja.medium.com/a-glimpse-into-the-apollo-guidance-computer-8ee06e5e1a5c

9. The Apollo Guidance Computer (AGC) – NLO, otwierano: grudnia 26, 2024, https://www.nlo.eu/en/news/apollo-guidance-computer-agc

10. The Apollo Guidance Computer, otwierano: grudnia 26, 2024, https://tcf.pages.tcnj.edu/files/2013/12/Apollo-Guidance-Computer.pdf

Podziel się postem:

Najnowsze:

Bezpieczeństwo

Luka w zabezpieczeniach BitLockera w Windows 11: Czy Twoje dane są bezpieczne?

Szyfrowanie dysków to jedna z podstawowych metod ochrony danych w erze cyfrowej. Użytkownicy systemów Windows często korzystają z wbudowanego narzędzia BitLocker, aby zabezpieczyć swoje poufne informacje przed niepowołanym dostępem. Jednak ostatnie doniesienia z Chaos Communication Congress (CCC) w Niemczech wskazują na poważną lukę w zabezpieczeniach BitLockera w systemie Windows 11, która może narazić dane użytkowników na ryzyko.

Bezpieczeństwo

Złamanie Enigmy: Przełomowy moment w historii kryptologii

Złamanie szyfru Enigmy przez polskich kryptologów na przełomie grudnia 1932 i stycznia 1933 roku to jedno z najważniejszych wydarzeń w historii kryptologii i II wojny światowej. Ten artykuł skupia się na wydarzeniach z tego okresu, które doprowadziły do przełomowego momentu w dekryptażu niemieckiej maszyny szyfrującej. Niemcy, przekonani o niemożliwości złamania Enigmy, używali jej do zabezpieczania tajnej korespondencji wojskowej i dyplomatycznej. Sukces polskich matematyków, Mariana Rejewskiego, Jerzego Różyckiego i Henryka Zygalskiego, dał aliantom ogromną przewagę, umożliwiając odczytywanie niemieckich komunikatów i przewidywanie ich ruchów.

Linux

Linux – Niewidzialny bohater technologii. Gdzie go znajdziesz?

Linux. System operacyjny, o którym słyszał chyba każdy, ale niewielu zdaje sobie sprawę z jego wszechobecności w naszym życiu. Często kojarzony jedynie z informatykami i serwerowniami, w rzeczywistości napędza wiele urządzeń, z których korzystamy na co dzień, a jego historia jest ściśle związana z Uniksem 1. W tym artykule, bazując na dogłębnych badaniach 2, przyjrzymy się bliżej temu fascynującemu systemowi i jego różnorodnym zastosowaniom, a także odkryjemy ciekawostki, które uczynią naszą podróż przez świat Linuksa jeszcze bardziej interesującą.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *