Számítógépek a II. világháborúban
MH Computer, I. évf. 15. szám, 1998. május. 26.

 
Oswald Veblen, a princetoni Felsőfokú Tanulmányok Intézetének nagy tekintélyű matematikaprofesszora székét hintáztatva hallgatta Goldstine százados fejtegetéseit. Hirtelen felpattant, és Simon ezredeshez, az aberdeeni kísérleti lőtéren működő Ballisztikai Kutatólaboratórium igazgatójához fordult:
– Simon, adjon pénzt Goldtsine-nak! – és kiment.
Ezzel eldőlt a pennsylvaniai Moore Villamosmérnöki Intézet munkatársai, John W. Mauckly és John P. Eckert által elképzelt elektronikus szerkezet sorsa. 1943. áprilisa volt, és Goldstine elérte azt, ami Maucklynak évek óta nem sikerült: 1943. június 5-én megköttetett a W-670-ORD-4926 számú szerződés az Amerikai Egyesült Államok és a Pennsylvania Egyetem között, megkezdődött a világ első elektronikus digitális számítógépeként jegyzett berendezés, az ENIAC építése.

Egy ágyút elsütni egyetlen mozdulat, célba is találni vele külön tudomány. A vízszintes irányzék meghatározása még csak-csak: nem árt arra lőni, amerre a cél van. Az ágyúcső függőleges irányszögének kiszámítása azonban húzós matematikai feladat. A lövedék tömegének, a hajtótöltet erejének és a cél távolságának ismeretében a Newton-féle mozgástörvények alapján az indítási szög kiszámítható – lenne, ha egyszerű ferde hajításról lenne szó. A lövedék azonban ún. ballisztikus pályán halad, amelynek paramétereibe belekavar a hőmérséklettől és a légnyomástól meg a lövedék sebességétől függő légellenállás, aztán ott van a szél, meg az, hogy a világháború idején már a cél is, a löveg is hajlamos volt erős mozgásban lenni. A harctéren persze nincs idő differenciálegyenletekkel bíbelődni, ezért vagy a löveget kell a számításokat automatikusan elvégző irányzó szerkezettel (ezek akkoriban még nem voltak túl elterjedtek), vagy a tüzért kell megfelelő táblázatokkal felszerelni.

ráadásul ott voltak a Manhatten-terv atomfizikusai, akiknek láncreakcióként nőtt a számolnivalójuk
Egyetlen röppálya megfelelő pontosságú kiszámításához átlag hétszázötven szorzást kell elvégezni, egy tipikus tüzérségi táblázathoz három-négyezer röppályaszámítás kell. A Women's Army Corps, a Női Hadtest közleányai százával kurblizták múlt századi asztali számolómasinákat. Eredetileg ezeket a speciálisan kiképzett lányokat hívták computereknek. A computerlányok azonban hiába szorgoskodtak, a restancia egyre nőtt, az egyre újabb tüzérségi fegyverek, vadászgépek, bombázók, tengeralattjárók táblázatigénye kielégíthetetlen volt. És a tüzérség csak az egyik terület, minden fegyvernem sok számítást igényelt. Olyan új, számolásigényes harcmódok születtek, mint például a tengeralattjárók elleni harc. Annak meghatározása, hogy a repülőgépraj által a tengerbe szórt bombamátrixban az egyes bombákat milyen mélységben kell felrobbantani a legnagyobb találati valószínűség eléréséhez, nem elemi iskolai számtanpélda.

A felderítésnek különösen sok számolhatnékja volt, az üzenetek kódolása és a kódok feltörése hatalmas szellemi és műszaki kapacitásokat kötött le mindkét oldalon. És ráadásul ott voltak a Manhatten-terv atomfizikusai, akiknek láncreakcióként nőtt a számolnivalójuk. (Az ENIAC-ot elsősorban tüzérségi számításokra szánták, mégis az első komoly feldata a hidrogénbombával volt kapcsolatos, igaz, már a háború végén.)

A számítástechnika háború katalizálta fejlődésének négy gyökere volt. Az egyik a mechanikus számológépek sora Schickard 1623-ban készült masinájától Pascal (1642) és Leibniz (1679) szerkezetein, Babbage soha be nem fejezett differenciagépén és programozható analitikus gépén át Hollerith lyukkártyarendező szerkezeteiig. Ezekkel a szerkezetekkel már évszázadok óta gyűltek a mechanizált adatfeldolgolgozással kapcsolatos tapasztalatok, és olyan fontos elemeik, mint például a lyukkártyaolvasók még évtizedekig elengedhetetlen tartozékai voltak az elektronikus számítógépeknek.

az analóg gépek legnagyobb guruja volt, és sohasem volt oda a digitális megoldásokért
A másik forrást a speciális célokat szolgáló analóg gépek képviselik (Maxwell, Thomson), amelyek a Vannevar Bush-féle differenciálanalizátorokkal értek fejlődésük zenitjére az 1930-as, 40-es években. Bár működési elvük gyökeresen eltér a digitális gépekétől, mégis a digitális gépek mechanikus és az elektronikus korszaka közötti analóg vargabetű nem maradhatott ki a fejlődésből. Külön érdemes felhívni a figyelmet Bushra, aki az analóg gépek legnagyobb guruja volt, és sohasem volt oda a digitális megoldásokért. Mégis, 1945-ben publikált egy cikket, amelynek alapján az informatikatörténet egybehangzóan őt tekinti a személyi számítógép és World Wide Webben megtestesült hipertextrendszer első megálmodójának.

Az elektronika – ugyancsak a háború által generált – fejlődése, a nagysebességű elektroncsöves áramkörök megjelenése az új gépeket világra segítő harmadik elem, és végül a negyedik a matematikának az az ága, amelyet Boole, Turing, Shannon vagy Neumann neve fémjelez, és amely a korszerű informatika elméleti alapjait teremtette meg.

A háborúban a nagy elméleti matematikusok (a bombaépítő atomfizikusokhoz hasonlóan) aktívan részt vettek konkrét technikai problémák megoldásában. Turingnak pl. jelentős szerepe volt abban, hogy az angolok megfejtették a német kódoló gép, az Enigma működését, és megépítették a „bombának” becézett elektromechanikus kódfejtő szerkezetet. A Lorenz kodóló eljárásán alapuló Enigma tulajdonképpen kódoló írógép volt, és 15x1015 különféle rejtjelkulccsal tudott operálni. A Brit titkosszolgálatnak sikerült szereznie egy példányt, és a Bletchley Park-i kódtörő központban alaposan kezelésbe vették. Az 1940 elejére elkészült Turing-bomba „fordítva” működött, mint az Enigma, és a kódfejtés mechanizálásával egy időre olvashatóvá tette a németek legtitkosabb üzeneteit.

A német tengeralattjárók akadálytalanul pusztíthattak az Atlanti-óceánon.
1942 elején azonban a németek továbbfejlesztették az Enigmát, majd bevetettek egy új típusú készüléket, a Fisht, így a lehetséges rejtjelkulcsok száma megsokszorozódott, és a „bomba” jelfogós szerkezete túl lassú lett a megnövekedett feladathoz. A német tengeralattjárók akadálytalanul pusztíthattak az Atlanti-óceánon. Az amerikai haditengerészet azt javasolta, kössenek párhuzamosan háromszázhatvan Turing-bombát, de az angolok, akiknek összevissza harminc működő berendezésük volt, inkább új fejlesztésbe fogtak. Az új berendezés, a Heath Robinson (amerikai változatát Goldbergnek hívták) elektromechanikus-elektronikus hibrid volt, és gyakran fejreállt, mert a mechanikus és az elektronikus elemeket nehéz volt szinkronizálni. A mechanikus alkatrészeket fokozatosan elektroncsövekre meg tiratron egyenirányítókra cserélték, és 1943 végén működésbe állt az első Colossus. Éppen idejében, hogy hasznát vehessék a D-Day megtervezésénél. A háború végéig a Colossus második változatából legalább tíz darab épült, és az amerikaiknak is volt belőle, a japán titkos üzenetek megfejtésére használták.

Bár az informatikatörténet az ENIAC-ot tekinti az első modern elektronikus digitális számítógépnek, a két évvel korábbi Colossus műszaki megoldásaiban és működési elvében meglehetősen hasonlított hozzá, és noha csak egyetlen speciális célra szolgált, elvileg általános célú programozható gépnek tekinthető. A későbbi számítógépekre azonban nem volt hatással, mert 1970-ig még a létezését is titokban tartották, dekódoló algoritmusát pedig csak 1995-ben szabadították meg a top secret minősítéstől.

Az Egyesült Államokban még hevesebb fejlesztő munka folyt, mint Angliában. A haditengerészet számítástechnikai laboratóriumában 1942-ben ezeregyszáz ember dolgozott, és ezerkétszáz gépet – száznegyven különböző típust – használtak kódfejtésre, de a teljesítmény nem volt kielégítő. A katonai célú fejlesztések a legkülönfélébb vállalatoknál (IBM, Kodak, Bell) és az egyetemi laborokban folytak. Talán a legnevezetesebb a Harvard Egyetemé, ahol az IBM támogatásával kezdte meg 1939-ben Howard H. Aiken programozható elektromechanikus számítógépének, a Mark I.-nek építését. Mire az öttonás monstrum elkészült (1944), tulajdonképpen elavultnak volt tekinthető, de további három verzió készült belőle a haditengerészet és a légierő számára (az utolsó, a Mark IV. 1952-ben).

unta a statikai számításokat, és inkább konstruált egy kalkulátort
Aiken, aki kitűnő számítástachnikusok nemzedékeit nevelte a Harvardon, akkoriban nagy jelentőséget tulajdonított a megbízhatóságnak, még a gyorsaság rovására is, ezért mereven ragaszkodott a jelfogókhoz a bizonytalan élettertamú elektroncsövekkel szemben. Hasonló véleményen volt Vannevar Bush is, aki a háború alatt a Nemzetvédelmi Kutatások Bizottságának elnöke, vagyis a hadi célú tudományos erőfeszítések legfőbb ura volt. 1943-ra azonban már annyira hiányzott a megfelelő sebességű számítókapacitás, hogy a szaktekintélyek ellenvetései dacára elfogadták Mauchly és Eckert egy évvel korábban még elutasított elektronikus projektjét. (A rossznyelvek szerint az Afrikában parta szálló Eisenhower csapai igencsak hiányolták a trópusi viszonyokhoz szükséges ballisztikus táblázatokat.)

A szövetségesek – és a világ – szerencséjére, a németek nem tulajdonítottak ekkora jelentőséget a számítógépeknek. Pedig az első programozható bináris számítógépet a berlini Konrad Zuse építette 1938-ban. A fiatal mérnökhallgató unta a statikai számításokat, és inkább konstruált egy kalkulátort. A Z1 mechanikus szerkezet volt, de sok, korát meghaladó megoldást tartalmazott. A programokat lyukszalagon tárolta, az adatbevitel numerikus billentyűzetről történt, az outputot lámpák jelezték. Volt külön aritmetikai egysége, vezérlőegysége és memóriája, a számokat binárisan, kettes számrendszerben kezelte, operációs rendszere a Boole-algebrán alapult. A háború alatt Zuse elektromechanikus formában fejlesztette tovább gépét, némi légierő-támogatással. Az 1943-ban elkészült, kétezerhatszáz relét tartalmazó Z3 már egész rendesen működött, 1944-re – akkor már saját cégénél – elkészült a Z4 is, amit végül is 1950-ben Zürichben helyeztek üzembe. Évekig ez volt az egyetlen számítógép a kontinensen. Zuse barátja és segítőtársa, Helmut Schreier 1942-ben támogatást kért a Wermachttól egy elektronikus számítógép megépítésére, de elutasították.

Mauckly és Eckert Penssilvániában korántsem volt olyan egyedülálló jelenség, mint Zuse a náci Németországban. Már a digitális elektronikus gép ötlete sem tőlük származik. Mauckly jól ismerte az iowai John Atanasoffot, aki John Berryvel már a 30-as évek második felében épített egy lináris egyenletrendszerek megoldására szolgáló célszámítógépet. Az Atanasoff-Berry Computer, az ABC elektroncsövekkel működött, valószínűleg elsőként a világon. Mikor Mauckly 1941-ben azon töprengett, hogy mivel válthatná ki a túlságosan lassú analóg és elektromechanikus digitális berendezéseket, többször konzultált Atanasoff-fal, és így született a gyors elektronikus eszközök alkalmazásának terve. Az elképzelés 1942 augusztusában egy memorandumban öltött testet, amit '43-ban sikerült Goldsitne-nak átvernie.

egyetlen mikrocsipben
Mire a Moore Intézetben 1945 júniusában többé-kevésbé elkészült az ENIAC (Electronic Numerical Integrator and Computer – elektronikus numerikus integrátor és számítógép), a hadak vége volt, és korántsem volt akkora szükség ballisztikai számításokra. Novemberben átszállították Aberdeenbe, a Ballisztikai Kutatólaboratóriumba, és csak 1947-ben helyezték újra üzembe. 1955 végéig működött, azóta múzeumi tárgy Washingtonban. Sajátos szerkezet volt. 40 panelje 17 500 elektroncsövet és 1500 diódát tartalmazott, 30 tonnát nyomott és 140 kilowattott zabált. A mai gépek több száz megaherzes órajeléhez képest csigalassú 0,1 MHz-cel ketyegett. Húsz akkumulátorban folytak a decimális formátumú számokkal végzett műveletek, vagyis párhuzamos műveletekre volt képes. Az adatbevitelre és -kiolvasásra IBM kártyaolvasók szolgáltak. Programmemóriája nem volt, a futtatandó programot kézzel kellett „behuzalozni”. Kínkeserves munka volt, viszont a szükséges függvénytáblázatok „áramkörileg” benne voltak. Az elektroncsövek végül is a vártnál kevesebb megbízhatósági problémát okoztak – igaz, csak „félgőzzel” járatták őket –, megesett, hogy az ENIAC három napig is üzemelt csőhiba nélkül. Minden bumfordisága ellenére, az ENIAC kétségtelenül korának leggyorsabb gépe volt – 500 szorzással vagy 5000 összeadással birkózott meg egy másodperc alatt.

Az épülő ENIAC fölkeltette a Los Alamosban dolgozó Neumann János érdeklődését, aki rendszeresen ellátogatott a Moore Intézetbe, és igen aktívan kivette részét a fejlesztésből. Már az ENIAC építése közben világossá váltak a születendő gép hiányosságai, és elkezdték egy tökéletesebb változat, az EDVAC (Electronic Discrete Variable Computer – diszkrét változós elektronikus számítógép) tervezését. Neumann '45 nyarán készített egy 101 oldalas jelentésvázlatot az EDVAC-ról, ami a korszerű számítógépek elméletének alapvetése lett. Neumann szerint a számítógépnek öt logikai egységet kell tartalmaznia. A számításokat végző aritmetikai egységnek a feldolgozandó adatokat a memóriából kell vennie, és az eredményeket is oda kell visszaírnia. Az adatok memóriába vitelére külön adatbeviteli (input) egységre van szükség, és külön kiviteli egységre (output) az eredmények memóriából való kiolvasására. Ennek a négy egységnek a működését irínyítja, hangolja össze a központi vezérlő egység. Neumann legfontosabb megállapítása az, hogy a gép által elvégzendő feladatokat leíró utasítássorozatot – a programot – a feldolgozandó adatokkal és az eredményekkel azonos módon, a memóriában kell tárolni (ez az, amit az ENIAC nagyon nem tudott). A számítógépek felépítésének és működésének logikája ma is a Neumann-elvet követi.

Az ENIAC ötvenedik születésnapján, 1996-ban hatalmas ünnepségsorozatot rendeztek a Pennsylvania Egyetemen, és tiszteletadásul újra megépítették az ENIAC-ot – egyetlen mikrocsipben.

Zsadon Béla