2019.07.19.
09:06

Írta: Zoli Kovács Négy

A holdon maradt memóriaszőttes és a számítósok hajnala

#529 Az űrhajózás és a számítózás olyan elválaszthatatlanok, mint a magyar ember és a panaszkodás. Ezt tuti a NASA-nál is így gondolták, mert amikor Kennedy híres 1962-es beszédével rácsibészeltette az egész amerikai nemzetet a holdutazásra, az első megrendelés tárgya, amire szerződést kötöttek az a navigációs komputer + software volt - minden más előtt, beleértve a rakétákat is. Egyébként az Apollo program volt az első, amihez nem korábban tömegpusztításra szánt rakétákat használtak, hanem kifejezetten erre a célra fejlesztett verdával csapattak. (A Mercury és a Gemini során ballisztikus interkontinentális csapásmérőket tuningoltak fel - tervezés recycling.) 

Az Apollo számítógépe (AGC) volt a világon az első integrált áramköröket használó komputer. Akkor indult az ilyen chipek sztorija és abban az évtizedben az USA hirtelen nagy fogyasztó lett, de ennek 60%-át csak az Apollo program tette ki. (Na innen sikerült eljutni oda, hogy ma jelentős és mérhető része a közös számítási kapacitásnak dolgozik azon, hogy az instán rajoskodással idegesíthessük ismerőseinket.) 

Na de elég az hozzá, hogy az AGC teljesítménye egy mai laptophoz vagy okostelefonhoz kb. úgy aránylik, mint Fásy Zsülietté az ACDC-hez, azzal a különbséggel, hogy mind a korát, mind az eredményeit tekintve az AGC fasza kis cucc volt. Az alap tárkapacitása 72 kilobyte, ami csak nagyon kevés - vagy sok, de nagyon komoly fantáziát igénylő - pucér nős képre elég, és ennyiből kellett kihozni egy Föld-Hold retúr Waze-t. A processzor sebessége kb. 2 MHz volt, aminek a duplája már majdnem elég lenne a Prince of Persia futtatására egy XT-n.  

A programok megírásával az MIT Draper laboratóriumának csapatát bízták meg, akik teljesen szabad kezet kaptak. Hogy ez mennyire súlyos dolog, akkor lesz tiszta, ha végiggondoljuk, hogy most először terveztek emberéleteket bízni software-ekre. Azokat meg pontos útmutatások és standardok nélkül dolgozó egyetemi csapatra. A programokat kézzel írták papírra, ami kb. olyan, mint sötétben tervrajzolni hidat. A megírt kódokat aztán gépbe betáplálás és futtatás után tudták meg, hogy végül is mit írtak (lámpa felkapcsolás a híd rajzolásnál). 
Masszív mennyiségű kódsor volt a vége, szumma 145.000 sor, és ez már a nettó végeredmény, a javítgatások és a módosítások miatt kb. 5x ennyit írhattak ténylegesen. És közben meg lófasz ez a mennyiség, ha onnan nézzük, hogy ennyiből kellett ezt a komoly melót megugrani, miközben ma az Android oprendszer cirka 12 millió sorból áll - hogy kedvünkre osztogathassunk meg szar macskás videókat vagy olvasgathassunk rajta ilyen posztokat - , és egy drágább autóban meg simán megvan a 100 millió is. 

 

a már híressé vált fotó Margaret Hamiltonról (director of the Software Engineering Division of the MIT)  és az AGC software papír változatáról 

Amúgy a software engineer kifejezést a fentebbi képen szereplő hölgy kezdte el használni, egyrészt megkülönböztetve magukat a hardware mérnököktől, másrészt jelezve, hogy ez a meló is mérnöki munka. Olyan jól sikerült terjesztenie, hogy nem sokkal később ez már egy hivatalos szakma lett (ezúton is pusziljuk érte).   

A software tárolására használt módszer - ferritgyűrűs rézvezetékes memória (core rope memory), ami valójában egy kézműves ROM (read-only-memory) - egy elég menő mechanikai-elektronikai megvalósítása az adattárolásnak. Szó szerint kézműves, a kész software-t elküldték egy gyárba, ahol azt hölgyek kézzel beleszőtték a rögzített memóriába. A programokat alkotó 1-eseket és 0-kat kellett egyesével felvinni: ha a rézvezeték átbújt a ferritgyűrűn, akkor az egy 1-est jelent, ha pedig kikerülte azt, akkor 0-t, de ennek ellenére sem lett az adatátviteli sebesség mértékegysége kilobyte/rőf. Hosszú, unalmas és szar meló volt (mint mostanában legfőbb ügyésznek lenni), elrontás esetén pedig vissza kellett fejteni az egész blokkot a hibáig és aztán újrafűzni. 

ferritgyűrűs szőtt rézvezetékes memória - teszt darab

Amúgy akkoriban még nem volt túl csajozós software fejlesztéssel foglalkozni (bezzeg most! :) ), pláne semmi értelme nem volt ezzel menőzni. A software szó maga is annyira új volt még, hogy csak egy szűk közösség - örök napközis mérnökök - használták, így amikor az egyik MIT-s arc a felesége kérdésére, hogy mit fog ő csinálni a holdprogramban azt válaszolta, hogy a software-t, akkor a felesége azt mondta neki, hogy oké, de ezzel inkább ne dicsekedjen senkinek. 


korabeli geek rajoskodás pinball-nek elnevezni a keyboard és display funkciókat ellátó modult - AGC forráskód részlet

Az űrhajósok - meg az egész csapat - elég sokat rizikóztak akkoriban, ez a számítósokkal is így volt: Holdra landolás közben próbáltak ki először űrben egy totál új programot ami egyrészt mind közül a legbonyolultabb volt és nélküle lehetetlen lett volna a holdraszállás, másrészt az indulás előtti utolsó pillanatban fejezte be egy srác, Don Eyles. Ilyen paraméterek mellett metróra nem ülnénk fel.

Szóval elég magas volt a para faktor, benne volt, hogy valami elbaszódik. És úgy nézett ki, el is baszódott, és még azt sem tudták, hogy mi. A holdkompon ugyanis nem Moha bá' szól ha már túlmentél a lehajtón, sajnos csak számkódokkal jelzi a közlendőit, így azt is, ha baj van. Másodpercekre a landolástól, ráadásul épp kifogyóban az üzemanyagból (hazafelé már nem a leszállóhajtómű kellett, de lefelé meg még nagyon az) el is kezdett hisztizni 1201-es, illetve 1202-es hibakódokat villogtatva. Az irányítóteremben kikúrt gyorsan kellett dönteni, hogy vagy megszakítják a küldetést (és akkor dollármilliók + a renomé mennek a picsába, ami kb. olyan fájdalmas lehet, mint megtudni, hogy az excsajod a szakítás után két hónappal már mástól terhes), vagy mi legyen, de fingjuk se volt, hogy mi lehet a baj. Hátulról megszólalt egy fiatal komputeres - Jack Dumagép Garman -, hogy semmi gond, ez csak azt jelzi, hogy túlterhelt a számító, de a baromi okos tervezésnek köszönhetően ez nem kékhalált okozott, hanem csak a kevésbé fontos funkciók (chat az instán) hátrébb sorolását. Egyedül nála volt meg az összes hibakód szépen kézzel kijegyzetelve, de még nagyobb mák, hogy ő ezekre fejből is emlékezett és azonnal tudott reagálni. Így azán jól le is szálltak, Jack pedig ezért kitüntetést kapott (az erre rábólintó guidance officer szintén), valamint az Apollo 11 megmentője címet, ami érthető, hiszen ha akkor nem kiabál be jelentkezés nélkül, most egy későbbi dátumra kéne írni ezt a posztot. Meg az USA-nak se volt mindegy.


Agc view.jpg
a kész számító, amit végül belefért az előre behazudgált méretbe, pedig nagyon messziről indultak

A teljes AGC software egyébként elérhető bárki számára, és megszállott űrhajós-számítósok mai napig üzemeltetik szimulátor formájában. Meg valódiban is. Riszpekt ezúton is az Apollo számítós csapatának.

21 komment

Címkék: kompjúter NASA Holdra szállás #Apollo #Apollo11 #MIT #számító #hold #programozás #software

A bejegyzés trackback címe:

https://napivaganysag.blog.hu/api/trackback/id/tr3114967612

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

szepipiktor 2019.07.20. 10:17:08

Kérlek, ne erőltesd!
A napi trendiség nem ok a történelem átírására.
IC-ket nem az Apolló programhoz használtak először, az első rakéták alapból minden országban a Wernher von Braun tervezte V2-estől származnak - a ballisztikusoktól kezdve a hordozórakétákig - a mai napig! Tehát marhaság a megkülönböztetés, hiszen a cél miatt kellett "másikat" tervezni.
Hogy megértsd: a korábbiak azért voltak "katonai" rakéták, mert csak Föld körüli pályára kellett eljuttatni a "küldemény", ahogy ma a ICBM-ek is teszik.
A Saturn-V eredetije is katonai projekt volt, csak időközben "feleslegessé" vált, így a NASA kapta meg, és von Braun fejlesztett hozzá új hajtóműveket, amivel nem csak a földkörüli pálya lett elérhető...
.
A számítástechnika, a programozás pedig kicsit más, lényegesen több a mostani trendi okostelefonos, androidos, laptopos szórakozásnál, régen is több volt és ma is sokkal több...
Az IC-t 1958-ban szabadalmaztatták... 1962-től fejlesztették a Apollo Guidance Computer-t, és 1966-tól 1975-ig alkalmazták...
Az IC-ket 1962-ben már tömegesen gyártották és forgalmazták és 1964-ben már kereskedelmi forgalomba kerültek az IC-ket használó 3. generációs számítógépek.
Lehet "lovagolni" az elsőn, de ha már a wiki használod forrásnak, akkor idézz onnan pontosan!
Az AGC nem az első, hanem az elsők EGYIKE volt...
.
Tudom, neked ez trollkodás, de ez a terület nem a napi vagányság területe, ez ugyanúgy történelem, mind a művészetek vagy a politika történelme, és ha nem szabad Beethovent, Adyt, Kossuthot poénból, vagányságból meghamisítani, akkor von Braunt, Jack S. Kilby-t vagy Robert Noyce-t sem illik.
.
A téma viszont remek!
Ideális lenne a sok netalapú olvasó számára tudást átadni, hiszen a tudás ma nem trendi...

GFO 2019.07.20. 10:27:46

A bejegyzés stílusa, nyelvezete rettenetes. Ja, és szoftver, nem software, ha magyarul írunk.

Zoli Kovács Négy 2019.07.20. 10:33:42

@GFO: és a hardware?
tudunk amúgy baszott szépen is írni, csak azt máshol csináljuk.

Zoli Kovács Négy 2019.07.20. 10:40:31

@szepipiktor:
a programban résztvevők visszaemlékezéseiből készült dokumentumfilm az egyik forrás, felesleges volna iyleneket kitalálni.
a pusztításra szánt rakétákkal sem írtunk valótant, attól még, hogy más orszgban is ilyen célból készültek továbbra is igaz, hogy a Saturn sorozat volt az első amit kifejezetten emberes űrutazásra terveztek első perctől kezdve.

Zoli Kovács Négy 2019.07.20. 10:43:05

@szepipiktor:
azt se értem, hogy miért üti az IC szabadalom dátuma a fentebb írt mondatot. amit - ismétlem - nem én állítok.
olyan meg nem szerepel a postban, hogy itt használtak először IC-ket, csak hogy a számítógépe építésre itt. és ezt se én állítom. :)

GFO 2019.07.20. 11:07:58

@Zoli Kovács 4: Nyilván nem akartam minden zavaró részletet felsorolni, elég hosszú lista lett volna.

steery 2019.07.20. 11:21:40

Kérdésem, hogy mennyire volt szempont az Apollo fedélzeti számítógép fejlesztésénél az, hogy hibamentesen bírja az áramkimaradást, a hideget, meleget, gyorsulást, nedvességet, kozmikus sugárzást? Mert a mai "korszerű" cuccok max az áramszünetet bírják ki adatvesztés nélkül, meg a beléjük csapódó töltött részecskék által okozott egyedi bithibákat tudják javítani szoftveresen.
Szerintem a fő technikai kihívás ma is az, hogy atombiztos, elnyűhetetlen számítógépet, meg adattárolót kell építeni az űrhajókhoz, ami ráadásul hosszú élettartamú. És egy hosszú távú űrexpedíció során akár a fedélzeten is legyártható újrahasznosított hulladékokból, tárgynyomtatással.

molnibalage · https://militavia.blog.hu/ 2019.07.20. 13:33:58

Én eddig úgy tudtam, hogy a kézzel szőtt cucc az a fizikai memória volt. Nem szőtték bele magát a programot, hiszen programozható volt a számítógép csak a memória volt szűkös.

www.youtube.com/watch?v=ndvmFlg1WmE

Zoli Kovács Négy 2019.07.20. 13:56:02

@MaxwallBircawoman: tervezek indítani egy szarozó blogot, ott csak mások szarjait fogom fikázni. simán jó ötlet lehet neked is, máris lesz egy kontent innen.

Zoli Kovács Négy 2019.07.20. 13:59:31

@GFO: stílus, nyelvezet: ez itt azért nem véletlen, olyan, mint a pronó razfilmnél az, hogy nem emberek dugnak, hanem razfilmfigrák. van igazi pornó, és tökre meg tudom érteni, ha valaki csalódik amikor a rajzfilmest kapja. ez a téma is sokkal szebben és tudományosabban fel van már dolgozva sok más helyen, nem cél versenyezni ezekkel sem stílusban de főleg nem szakmaiságban. (ami pl. itt csak műkedvelő szinten van jelen.)

Zoli Kovács Négy 2019.07.20. 14:01:16

@molnibalage: volt egy kevés programozható memória is, az arról szóló mondta a terjedelem miatti vágás űldozata lett. de a software maga ezen a fűzött cuccon volt tárolva. (legjobb tudomásom szerint.)

Zoli Kovács Négy 2019.07.20. 14:05:48

@steery: ez minket is érdekfeszít, sokat sajnos nem tudok a dologról. mérte + teljesítmény korlát adott volt, azzal küzdöttek keményen, pl. klasszikusan majd egy szekrény méretről indultak. a sugárzással kapcsolatban már volt bőven tapasztalat és ha jól tudom inkább a mikrometeoritok miatt volt aggódás, de azok meg bármit szétcseszhettek volna, szóval ott volt benne ném lutri. hőmérséklet is peremfeltétel nyilván, az Apollo 13 során ment is a fingerscrossed szurkolás, hogy a hazafelé úton áram nélkül totál kihűlő parancsnoki modul számítógépe vajon beindul e. de az alap feltevés az volt, hogy álandó kelelmes klímán lesznek ezek a gépek is az űrhajósokkal együtt.

GFO 2019.07.20. 14:11:19

@Zoli Kovács 4: OK. Az Index főoldalról betévedve, ezt a blogot nem ismerve könnyen érheti csalódás az embert.

molnibalage · https://militavia.blog.hu/ 2019.07.20. 14:22:52

@Zoli Kovács 4: A gépen volt fix ROM és RAM memóriája is. Vissza kéne keresnem, hogy mennyi.

Belzebubo 2019.07.20. 15:30:43

Nekem terszett ez az összefoglaló, mint abszolut laikus, pár számomra új dolgot is mondott és miért ne lehetne lazábban is beszélni róla? (Lehetne Beethovenről is épp, csak az senkit nem érdekel) Off: egy Arte nevű német adón reggel óta visszaemlèkezést sugároznak, kezdve a szputnyiktól, Kennedy beszédén át, a holdraszállásig. Innen tudtam meg, honnan jött a konteó, hogy a holdraszállás csak egy Hollywoodban felvett/eljátszott film, tudniilik a gyakorlások során tényleg szimulálták a holdraszállást, holdkomppal, űrruhával, zászlóval együtt és tényleg Kubrick “rendezte” :-)

steery 2019.07.20. 22:41:47

@Zoli Kovács 4: Igen, a kihűlési problémáról tudok, mert láttam és olvastam az Apollo-13-at. Amíg ilyen fapados, mindenből a minimálisat visszük magunkkal űrhajózást folytatunk, nem csoda, hogy folyton imádkozni kell Szent Gagarinhoz, hogy működjön a járgány. De ez nem lesz mindig így. Mivel az űrben csak az van, amit magaddal viszel oda, a jövőben valószínűleg egyre nagyobbak lesznek az űrhajók (repülő városok méretig duzzasztva), amiken már nem lesz gond az energia, meg a nyersanyag ellátás. De az információk megőrzése (hiba és zajvédelem) és kellően gyors feldolgozása akkor is komoly kihívás marad.

Kurt úrfi teutonordikus vezértroll · https://hatodiklenin.blog.hu/ 2019.07.21. 06:33:07

Az kimaradt, hogy a pályaszámításokat IBM 360-as gépeken és FORTRAN nyelven végezték. És mivel ezekbe a gépekbe és rendszerekbe (IBM OS) rengeteg pénzt öltek és messze a legmegbízhatóbbak voltak, elterjedtek a nagyvállalatok körében. Ma is nagyon sok világcég központi rendszerei ilyen rendszereken futnak. Csak a lényeget hagytad ki, hogy végül is min ment az egész program számítása.

www.ibm.com/ibm/history/ibm100/us/en/icons/apollo/breakthroughs/

history-computer.com/ModernComputer/Software/Fortran.html

Zoli Kovács Négy 2019.07.22. 02:28:39

@Kurt úrfi teutonordikus vezértroll: mivel itt a téma (lényeg) az AGC, nem látom, hogyan hagytuk ki a lényeget azzal, hogy a földön használt gépekről nem írtunk. meg a szkafanderekről sem, pedig azokról is lehetne sokat. vagy későbbi programok számítógépeiről. bármit ide citálhatsz ami kapcsolódik ide és kijelentheted, hogy kimaradt a lényeg, mert arról nincs benne szó.
nem verseny, nem kell ennyire belefeszülni. nem disszertáció, semmi sem maradt ki amit nem akartunk beleírni. és rengeteg minden kimaradt, amit nem akartunk. (sokkal hosszabbat is könnyedén lehet írni a témából, könyvekre elég elérhető anyag van és ez is itt pl egy vágott verzió.)
süti beállítások módosítása