Számítógépek a II. világháborúban MH Computer, I. évf. 15. szám, 1998. május. 26.
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.
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 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.
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).
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.
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.
|