Džepni digitron sa velikom hrabrošću

Kada pomislimo na sletanje na Mesec, u glavi su nam slike ogromnih raketa, hrabrih astronauta i beskrajnog crnila svemira. Retko ko, međutim, pomisli na pravog, tihog heroja misije Apolo 11 – računar koji je Nilu Armstrongu i Bazu Oldrinu omogućio da bezbedno spuste lunarni modul „Orao“ na površinu Meseca. Taj uređaj, poznat kao Apolo Kompjuter za Navođenje (Apollo Guidance Computer – AGC), bio je čudo svog vremena i istovremeno, po današnjim standardima, slabiji od mikrokontrolera u USB-C punjaču.

Dobrodošli u priču o tehnološkom dragulju koji je radio na „paru i uglju“, a ipak postigao nemoguće.

Šta je zapravo bio AGC?

AGC je bio mozak operacije. Razvijen u MIT Instrumentation Laboratory (danas Draper), ovaj digitalni računar bio je ugrađen i u komandni modul (koji je kružio oko Meseca) i u lunarni modul (koji je sletao). Njegov zadatak je bio da sabira podatke sa svih senzora — inercijalne merne jedinice, radara, optičkih instrumenata — i da na osnovu njih u realnom vremenu računa kurs, brzinu i komande za raketne motore.

Astronauti su sa njim komunicirali preko kultnog DSKY (Display & Keyboard) interfejsa, unoseći komande kroz jedinstven sistem „glagola“ i „imenica“ (Verb–Noun).

Tvrde brojke: specifikacije „džina iz kutije za cipele“

Zaboravite na gigaherce, terabajte i elegantne ekrane. AGC je bio skromna zver, smeštena u kutiju veličine mikrotalasne rerne, tešku oko 32 kilograma i sa potrošnjom od 55 vati.

  • Procesor: diskretna silicijumska integrisana kola.
  • Radni takt: 2.048 MHz. Današnji prosečan pametni telefon radi na brzinama preko 2.000 MHz, što ga čini hiljadu puta bržim. AGC je mogao da izvrši oko 85.000 instrukcija u sekundi.
  • Reč procesora: 16 bita (15 bita za podatke + 1 bit za proveru greške).
  • RAM: 2.048 reči ≈ 3.8 KB.
  • ROM: 36.864 reči ≈ 72 KB.

„Utkani“ softver: core rope memorija

ROM memorija nije bila sačinjena od silikonskih čipova, već od memorije sa jezgrom od užeta (core rope memory). Softver je bio bukvalno utkan u hardver. Radnice u kompaniji Raytheon su ručno provlačile žice kroz i oko malih magnetnih prstenova. Ako je žica prolazila kroz prsten, to je bila jedinica (1), a ako je išla okolo, bila je nula (0). Jednom „ispleten“, softver se nije mogao menjati, ali je bio neverovatno pouzdan i otporan na svemirske uslove.

Zanimljivo poređenje: Kompletan softver koji je upravljao sletanjem na Mesec, sa svih svojih 72 KB, bio je manji od jedne prosečne WhatsApp poruke sa slikom.

Rad u nemogućim uslovima i zašto je AGC bio revolucionaran

  • Masovna upotreba integrisanih kola: Apolo program je bio jedan od prvih projekata koji je masovno koristio silicijumske čipove, što je poguralo celu industriju poluprovodnika i utrlo put današnjoj digitalnoj eri.
  • Ekstremna pouzdanost: Morao je da preživi brutalne vibracije lansiranja, vakuum svemira i ekstremne temperaturne promene. „Utkani“ softver bio je otporan na greške i kosmičko zračenje.
  • Real-time operativni sistem pre OS-eva: Softver, koji je dizajnirao tim predvođen Margaret Hamilton i Hal Laningom, imao je strogo prioritizovane zadatke i mogućnost „soft restarta“ bez gubitka ključnih podataka. Upravo je ta sposobnost spasila misiju Apolo 11.

„1202! 1202! Šta je to?“ – drama na 10 kilometara iznad Meseca

Najdramatičniji trenutak misije dogodio se u poslednjim minutima sletanja. Dok se „Orao“ spuštao, na DSKY ekranu su se pojavili alarmi 1202 i 1201. Niko od astronauta ih pre nije video.

U kontroli misije u Hjustonu nastala je panika. Greška je značila „preopterećenje izvršnog sistema“. Uzrok? Radar za pristajanje (rendezvous radar), koji je služio za spajanje sa komandnim modulom, greškom je ostao uključen. Neprestano je „bombardovao“ procesor nepotrebnim podacima, kradući mu oko 13% dragocenih ciklusa.

U tom trenutku, zasijala je genijalnost dizajna softvera. Umesto da se „zakuca“ ili sruši, AGC je automatski uradio ono za šta je bio programiran: izvršio je „soft restart“, odbacio sve zadatke niskog prioriteta (podatke sa nepotrebnog radara) i fokusirao se isključivo na ono što je bilo od životne važnosti – upravljanje motorima za sletanje.

Mladi inženjer Stiv Bejls (Steve Bales) u Hjustonu je prepoznao situaciju i dao legendarnu dozvolu: „Go! Go flight!“ Armstrong je preuzeo delimično ručnu kontrolu kako bi izbegao polje puno stena i nekoliko minuta kasnije bezbedno spustio modul na Mesec.

Često postavljana pitanja (FAQ)

P: Da li je današnji kalkulator jači od Apolo kompjutera?

O: Po sirovoj snazi i memoriji — da, drastično. Skromni mikrokontroler u USB-C punjaču je višestruko brži. Ali AGC je bio specijalizovan za pouzdan, deterministički rad u realnom vremenu i u ekstremnim uslovima. To je potpuno druga klasa problema koju kalkulator ne bi mogao da reši.

P: Šta su tačno značili alarmi 1201 i 1202?

O: Signali preopterećenja. Zbog „krađe ciklusa“ od strane nepotrebnog radara, računar nije stizao da obavi sve zadatke na vreme. Zahvaljujući robusnom softveru, sam je odbacivao nebitne poslove i nastavljao sa ključnim operacijama.

P: Ko je „tkao“ taj famozni softver?

O: „Core rope“ memorijske module su fizički tkale iskusne radnice u fabrici Raytheon, prateći precizne šeme. Svaka greška u tkanju značila je „bug“ u softveru koji se nije mogao ispraviti.

P: Zašto su koristili 15-bitne reči?

O: Istorijski kompromis između preciznosti potrebne za navigacione proračune i uštede na tada izuzetno skupom hardveru i memoriji. Šesnaesti bit je služio kao paritetni bit — detekcija greške.

Gde čitati dalje (predloženi izvori)