| ENIAC | |
| Az ENIAC munka közben | |
| Forgalomban | 1946. február 14. |
| Energiaellátás | 174 kW |
| Alaptípus ára | 468 000 US-$ |
| Utód | UNIVAC I |
A Wikimédia Commons tartalmaz ENIAC témájú médiaállományokat. | |

Az ENIAC (angolul Electronic Numerical Integrator And Computer), amely az első programozható, elektronikus, digitális számítógép volt, 1946. február 14-én készült el. 17 468 elektroncsövet, 7200 félvezető diódát és 1500 jelfogót építettek bele. 2,5 m magas volt, 30,5 m hosszú és 30 tonnát nyomott. Körülbelül 5 millió kézi forrasztást tartalmazott. Az összeadást és a kivonást 1/5000 másodperc alatt végezte el, ezzel 500-szor gyorsabb volt, mint az akkoriban megjelent MARK II. Elektroncsöves rendszerű volt, a csöveket modulárisan építették be, ezért a karbantartása gyors és egyszerű volt, kétnaponta negyedórás szerelést igényelt. A programozása részben kapcsolók beállításával és az egységeket összekötő kábelek átkötésével történt. A manapság használatos, úgynevezett tárolt programú számítógépek ötlete azonban már akkoriban, 1945-ben megszületett.
Az építését 1943-ban kezdték a Pennsylvaniai Egyetemen (Philadelphia, USA) John W. Mauchly főtanácsadó és ifj. J. Presper Eckert főmérnök vezetésével. Az amerikai hadsereg mint megrendelő részéről Herman Goldstine tartalékos hadnagy, civilben matematikus volt az összekötő tiszt.
A második világháború nagy lendületet (pénzt) adott az 1. generációs számítógépek építésének, fejlesztésének és a kutatásoknak. A cél egy olyan gyors számítógép kifejlesztése volt, amivel bonyolult katonai – például bombázási, tüzérségi – feladatok számításait lehetett elvégezni.
Az ENIAC paraméterei:
Az ENIAC tízes számrendszerben működött, tízjegyű előjeles számokat kezelt – aritmetikai egységei több feladatot is elvégeztek egyszerre. Az elektroncsöves flip-flopokból összeállított regisztereibe impulzussorozatokkal vitték be a kívánt számokat és az állandókat kapcsolókkal állították be. A programot lyukkártyákra lyukasztották, és az adatokat 20 db tízjegyű regiszterben tárolták. Működési sebessége viszont ezerszer gyorsabb volt, mint a MARK I sebessége.
Az elterjedt tévhittel ellentétben az ENIAC nem csak a négy alapműveletre volt képes, hanem háromdimenziós, másodfokú differenciálegyenletek megoldására is. Ezért főleg ballisztikai számításokra használták. Innen ered a computer elnevezés is, mivel a hadsereg részére röppályatáblázatokat számító matematikusokat nevezték korábban így.
1947-ben átszállították az USA hadseregének Marylandben lévő Aberdeen Proving Ground telephelyére, és 1947. július 29-től folyamatosan itt működött 1955. október 2-ig.
Az ENIAC tervezését és építését az Egyesült Államok Hadserege Lőszerhadtestének Kutatási és Fejlesztési Parancsnoksága finanszírozta, Gladeon M. Barnes vezérőrnagy vezetésével, körülbelül 487 000 dolláros költséggel, ami 2025-ben megfelel körülbelül 7 200 000 dollárnak. 1941 júniusában az Egyesült Államok Hadseregének Hadianyag-osztálya számára a tüzérségi lőtáblázatokat a végzős hallgatók számították ki, Friden számológépek és differenciál analizátorok segítségével, John Mauchly felügyelete alatt. Mauchly észrevette, hogy az elektronikus számológépek használata felgyorsítja a számításokat. Nem volt elektronikai szakértő, ezért J. Presper Eckert kutatótársával együttműködve egy sokkal gyorsabban működő elektronikus számítógépet tervezett. 1942 augusztusában Mauchly egy teljesen elektronikus számológépet javasolt a lőtáblázatok kiszámítására. Az amerikai hadsereg fegyverzeti hivatala elfogadta a tervüket és hat hónapos kutatási szerződést kötött a Pennsylvaniai Egyetemmel 61 700 dollárért. Az építési szerződést 1943. június 5-én írták alá, és a számítógép titkos fejlesztése a következő hónapban kezdődött meg a Pennsylvaniai Egyetem Moore Villamosmérnöki Karán „Project PX” fedőnév alatt, John Brainerd vezető kutató vezetésével. Herman Goldstine informatikus rábeszélte a hadsereget a projekt finanszírozására, akit megbíztak a felügyeletével. A számítógép összeszerelése 1944 júniusában kezdődött meg. Az év szeptemberében Eckert és Mauchly befejezték a számítógép koncepciójának kidolgozását. Az építkezés 1945 májusában befejeződött és megkezdődött a tesztelés a Moore Iskolában. Az év novemberében Eckert, Mauchly, Goldstine és John Brainerd kiadták az első bizalmas jelentést a számítógépről, amely leírja annak működését és programozásának módszereit. 1946-ban Mauchly és Eckert kiléptek a Pennsylvaniai Egyetemről és megalapították az Eckert–Mauchly Számítógép-vállalatot.
A Mauchlyt és Eckertet segítő tervezőmérnökök csapatát Robert F. Shaw (függvénytáblák), Jeffrey Chuan Chu (osztás/négyzetgyökvonás), Thomas Kite Sharpless (mesterprogramozó), Frank Mural (mesterprogramozó), Arthur Burks (szorzás), Harry Huskey (beolvasás/nyomtatás) és Jack Davis (akkumulátorok) alkotta. Az ENIAC programozás nagy részét női matematikusok végezték: Jean Jennings, Marlyn Wescoff, Ruth Lichterman, Betty Snyder, Frances Bilas és Kay McNulty.
Az ENIAC egy nagy, moduláris számítógép volt. Különálló moduljai különböző funkciókat láthattak el. Ezek közül húsz akkumulátor volt, amelyek képesek voltak összeadni, kivonni és tízjegyű, decimális számokat tárolni a memóriában. A számokat több általános célú buszon (akkoriban tálcáknak nevezték) keresztül továbbították az egységek között. Az ENIAC paneljei mozgó mechanikai alkatrészek nélkül tudtak számokat küldeni és fogadni, számításokat végezni, ezek eredményét elmenteni és a következő műveletet elindítani, ami nagy számítási sebességet tett lehetővé. Logikai elágazásokkal is dolgozhatott, vagyis más-más műveleteket indíthatott el a kiszámított eredmény előjelétől függően, ami elengedhetetlen volt a sokoldalúságához.
Működésének 1955-ös végére az ENIAC 18 000 vákuumcsövet, 7200 kristálydiódát, 6000 relét, 70 000 ellenállást, 10 000 kondenzátort és körülbelül 5 000 000 kézzel forrasztott kötést tartalmazott. Több mint 27 tonnát nyomott, nagyjából 3 m magas volt, 1 m mély és 30 m hosszú, egy 28 m2 területet foglalt el és 150 kW elektromos áramot fogyasztott. A bemenete egy IBM kártyaolvasó, a kimenete pedig egy IBM kártyalyukasztó volt. Egy IBM könyvelőgép, mint például az IBM 405, nyomtatott kimenetet tudott előállítani ezekről a lyukkártyákról. Bár az ENIAC eredetileg nem rendelkezett memóriarendszerrel, ezeket a lyukkártyákat külső memóriaként lehetett használni. 1953-ban a Burroughs Corporation által épített 100 szavas ferritgyűrűs memóriát adtak az ENIAC-hoz.
Az ENIAC tízállású gyűrűs számlálókat használt a számjegyek tárolására; minden számjegyhez 36 vákuumcsőre volt szükség, amelyek közül 10 kettős trióda volt, amelyek a gyűrűs számláló flip-flopjait alkották. A számtani műveleteket úgy végezték, hogy a gyűrűs számlálókkal impulzusokat „számláltak”, és átviteli impulzusokat generáltak, amikor a számláló „körbetekeredett”. Ezzel elektronikusan utánozták egy mechanikus összeadógép számkerekeinek működését.
Az ENIAC 20 darab tízjegyű előjeles akkumulátorral rendelkezett, amelyek tízes komplemens ábrázolást használtak és másodpercenként 5000 egyszerű összeadási vagy kivonási műveletet tudtak végrehajtani egy akkumulátor és egy forrás (pl. egy másik akkumulátor, vagy egy konstans adó) között. Lehetséges volt több akkumulátor egyidejű működtetése, ami sokkal nagyobb maximális üzemi sebességet eredményezett.

Lehetséges volt az egyik akkumulátor hordozóját egy másik akkumulátorba bekötni, így kétszeres pontossággal lehetett számítást végezni. Nagyobb pontosságot érhettek volna el több akkumulátor összekapcsolásával, de az akkumulátor hordozó áramkörének időzítése megakadályozta az ilyen bekötést. Az ENIAC négy akkumulátort használt (egy speciális szorzóegység által vezérelve), ezzel akár másodpercenként 385 szorzási művelet végrehajtva és öt akkumulátort pedig egy speciális osztó/négyzetgyökvonó egység vezérelt, amik így képesek voltak másodpercenként akár 40 osztási művelet, vagy három négyzetgyökvonás elvégzésére.
Az ENIAC további kilenc egysége az indítóegység (ez indította és állította le a gépet), a ciklusvezérlő egység (ez szinkronizálta a többi egységet), a főprogramozó (vezérelt hurok szekvenálás), az olvasóegység (ez vezérelte az IBM lyukkártya-olvasót), a nyomtatóegység (ez vezérelte az IBM kártyalyukasztót), az állandó jeladó és három függvénytábla volt.
Rojas és Hashagen (vagy Wilkes) hivatkozásai további részleteket tartalmaznak a műveletek időtartamáról.
Az alap gépi ciklus 200 mikroszekundum volt (20 ciklus a 100 kHz órajelű egységben), vagy 5000 ciklus másodpercenként a 10 jegyű számokon végzett műveletekhez. Egy-egy ilyen ciklusban az ENIAC számot írt egy regiszterbe, vagy számot olvasott ki egy regiszterből, vagy két számot kivont vagy összeadott.
Egy tízjegyű szám szorzása egy d-jegyű számmal (d legfeljebb 10 lehetett) d+4 ciklust vett igénybe, vagyis egy tízjegyű szám szorzása tízjegyű számmal 14 ciklust, ami 2800 mikroszekundumnyi időt vett igénybe – ez másodpercenként 357 ciklust jelent. Ha az egyik szám kevesebb, mint 10 számjegyből állt, a művelet gyorsabb volt.
Az osztás és a négyzetgyökvonás 13(d+1) ciklust vett igénybe. Itt d az eredményben (hányados, vagy négyzetgyök) lévő számjegyek száma. Tehát egy osztás vagy négyzetgyökvonás akár 143 ciklust, azaz 28 600 mikroszekundumot is igénybe vett – ez másodpercenként 35 ciklust jelent. Egy tízjegyű hányadossal való osztás 6 milliszekundumot igényelt (Wilkes, 1956:20 ). Ha az eredmény tíznél kevesebb számjegyből állt, akkor gyorsabban megvolt.
Az ENIAC körülbelül 500 FLOPS-ot tudott feldolgozni. Viszonytásképpen: 2026-ban a szuperszámítógépek peta (1015), vagy exa (1018) FLOPS sebességgel működnek.
Az ENIAC a kor szokásos nyolclábú elektroncsöveket használta; a decimális akkumulátorok 6SN7 flip-flopokból készültek, míg a logikai függvényekhez 6L7, 6SJ7, 6SA7 és 6AC7 flip-flopot használtak. Számos 6L6 és 6V6 szolgált vonali meghajtóként, segítségükkel vezették át a kábeleken az impulzusokat az állványegységek között.
Szinte minden nap több cső is kiégett, így az ENIAC körülbelül az idő felében működésképtelen volt. Speciális, nagy megbízhatóságú csövek csak 1948-ban voltak elérhetők. Ezen hibák többsége azonban a bemelegedési és lehűlési időszakokban történt, amikor a fűtőszálak és a katódok a legnagyobb hőterhelésnek voltak kitéve. A mérnökök az ENIAC csőmeghibásodásainak számát egy elfogadhatóbb arányra, kétnaponta egy csőre csökkentették. Egy 1989-es interjúban Eckert ezt mesélte: „Kétnaponta meghibásodott egy cső és 15 percen belül megtaláltuk melyik volt az.” 1954-ben a leghosszabb folyamatos üzemidő meghibásodás nélkül 116 óra volt – közel öt nap.
Az ENIAC programozható összetett műveletsorozatok végrehajtására, beleértve a ciklusokat, elágazásokat és alprogramokat. Azonban a ma létező tárolt programú számítógépek helyett az ENIAC csupán egy hatalmas aritmetikai gépgyűjtemény volt, amelynek programjait eredetileg csatlakozóaljzatos kábelezés és három hordozható függvénytábla (egyenként 1200 db, tízállású kapcsolóval) kombinációjával állították be. A végrehajtandó program betáplálása a gépbe összetett feladat volt és általában hetekig tartott. A betáplálási folyamat összetettsége miatt a benne levő programot csak többszöri tesztelés után változtatták meg. Miután az új programot papíron kitalálták, az ENIAC kapcsolóinak és kábeleinek a program végrehajtásához való beállítása napokig is eltarthatott. Ezt követte az ellenőrzés és hibakeresés, amit az ENIAC program lépésről lépésre történő végrehajtásának képessége is segített. A ENIAC-szimulátort alkalmazó modulo függvény (programozási oktatóanyag) betekintést nyújt abba, hogyan nézett ki egy, az ENIAC-on futó program.
Az ENIAC hat fő programozója, Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Wescoff, Fran Bilas és Ruth Lichterman nemcsak az ENIAC programok beviteli módját határozták meg, hanem az ENIAC belső (hardveres) működését is értették. A programozók gyakran képesek voltak leszűkíteni a futtatás során előforduló működési hibákat egyetlen, az ENIAC-ban meghibásodott elektroncsőre, amelyet aztán egy technikus ki tudott cserélni.

The ENIAC Programmers (As Told By U.S. Chief Technology Officer Megan Smith)
Probléma esetén lásd:Médiafájlok kezelése.
A második világháború alatt az amerikai hadsereg a lövedékek ballisztikus röppályáinak kiszámításához megfelelő embereket keresett és ennek során sok nőt is meghallgatott. A Moore Műszaki Iskolának legalább 200 női alkalmazottja dolgozott „számítóként”. Ők matematikai számításokat végeztek tudományos tanulmányokhoz, vagy mérnöki projektekhez, általában mechanikus számológéppel. Herman Goldstine matematikus ebből a csoportból választotta ki az eredeti ENIAC programozókat, az operátorokat. Hat nőt választottak ki az ENIAC programozóinak a hadsereg ballisztikai kutatólaboratóriumában : Betty Holbertont, Kay McNultyt, Marlyn Wescoffot, Ruth Lichtermant, Betty Jean Jenningst és Fran Bilast. Herman és Adele Goldstine irányítása alatt a számítógépek az ENIAC tervrajzait és logikáját tanulmányozták azért, hogy meghatározzák, hogyan kell beállítani a kapcsolókat és a kábeleket (programozási nyelvek akkor még nem léteztek) a megfelelő számítások elvégeztetéséhez. Ez volt azon kevés műszaki munkakörök egyike, amely akkoriban a nők számára elérhető volt.
Betty Holberton (született Snyder) továbbra is közreműködött az első generatív programozási rendszer (SORT/MERGE) megírásában, és Jean Jenningsszel közösen tervezte az első kereskedelmi forgalomban kapható elektronikus számítógépeket, az UNIVAC-ot és a BINAC-ot. McNulty fejlesztette ki az alprogramok (függvények) használatát az ENIAC számítási kapacitásának növelése érdekében. Bár a kortársak a programozást inkább adminisztratív feladatnak tekintették és nyilvánosan nem ismerték el a programozók hatását az ENIAC sikeres működésére (és későbbi bejelentésére), McNulty, Jennings, Snyder, Wescoff, Bilas és Lichterman azóta elismerést kaptak, elismerve hozzájárulásukat a számítástechnika tudomány fejlődéséhez. A hadsereg 2020-as szuperszámítógépei közül három: Jean, Kay és Betty, Jean Bartikról (Betty Jennings), Kay McNultyról és Betty Snyderről kapta a nevét.
A második világháború okozta munkaerőhiány tette lehetővé, hogy nők is bekerültek ebbe a szakmába. A területet nem tartották különösebben jelentősnek és a nők bevonása módot adott arra, hogy felszabadítsák a férfiakat a képzettebb munkaerőt igénylő feladatok számára, kielégítve ezzel egy átmeneti válsághelyzet felmerülő igényeit. A „programozó” és az „üzemeltető” (operátor) munkaköröket eredetileg nem tartották nők számára megfelelő feladatnak. A Nemzeti Repülési Tanácsadó Bizottság 1942-ben ezt a kijelentést tette: „Úgy érezzük, hogy elegendően magasabb megtérülést érünk el, ha a mérnököket mentesítjük a részletes számítások alól, hogy ellensúlyozzuk a számításokat végzők bérének megnövekedett költségeit. A mérnökök maguk is elismerik, hogy a számításokat végző lányok gyorsabban és pontosabban végzik el a munkát, mint ők tennék. Ez nagyrészt annak köszönhető, hogy a mérnökök úgy érzik, hogy főiskolai és ipari tapasztalataik kárba vesznek, ha csak ismétlődő számításokat kell végezniük.”
Míg az azonos végzettséggel és tapasztalattal rendelkező férfiakat „szakembereknek”, az ilyen végzettségű nőket csak „alsóbbrangú szakembereknek” nevezték, még akkor is, ha magasan képzett matematikusok voltak, szakirányú diplomával. A háború befejezése után a megszerzett szakértelmük és tapasztalatuk megnehezítette azt hogy helyüket a visszatérő katonák vegyék át, így a nők továbbra is az ENIAC-on dolgoztak. Később egy száz fős, kibővített tudóscsapatot toboroztak, hogy folytassák az ENIAC-on végzett munkát. Közöttük több nő is volt, köztük Gloria Ruth Gordon. Az ENIAC eredeti műszaki leírását Adele Goldstine írta.
A nők munkáját általában nem ismerték el nyilvánosan, gyakran semmilyen elismerést sem kaptak érte életük során. Kathy Kleiman informatikus 2022-ben adott ki egy könyvet a hat női ENIAC programozóról. Az 1990-es években megtudta, hogy az ENIAC programozóinak többségét nem hívták meg az ENIAC 50. évfordulós rendezvényére. Felkutatta őket, hogy megörökítse történetüket. „Megdöbbentek, amikor megtaláltuk őket” – mondta Kleiman. „Örömmel fogadták az elismerést, de vegyes benyomásaik voltak arról, hogy ilyen sokáig elfeledkeztek róluk.”
Számos nyelvet fejlesztettek ki az ENIAC programozásához:
| Év | Név | Fő fejlesztők |
|---|---|---|
| 1943–46 | ENIAC kódolási rendszer | Neumann János, John Mauchly, J. Presper Eckert, Herman Goldstine, Alan Turing után |
| 1946 | ENIAC rövid kód | Richard Clippinger, Neumann János, Alan Turing után |
| 1946 | Neumann-Goldstine grafikus rendszer (jelölés) | Neumann János és Herman Goldstine |
A Ballisztikai Kutatólaboratórium hároméves ENIAC projektjének első éve végén Neumann János, Los Alamos Nemzeti Laboratóriumban a hidrogénbombán dolgozó matematikus figyelmét felkeltette ez a project. 1945 decemberében már az ENIAC-ot használták a termonukleáris reakciók kiszámítására, ez a hidrogénbomba építésével kapcsolatos kutatásokat támogatta.
Az ENIAC-nak a hidrogénbomba kifejlesztésében játszott szerepe segített elterjedni a Monte Carlo-módszer alkalmazását. Az eredeti atombomba fejlesztésében részt vevő tudósok számos "emberi számítógépet” alkalmaztak arra, hogy hatalmas mennyiségű számítást végezve meghatározzák, hogy milyen távolságot tehetnek meg a neutronok különböző anyagokban. Neumann János és Stanisław Ulam rájöttek, hogy az ENIAC sokkal gyorsabban képes elvégezni ezeket a számításokat. A projekt sikere megmutatta a Monte Carlo-módszerek értékét a tudományban.
{{cite journal}}: |access-date= requires |url= (súgó); Check date values in: |access-date= (súgó)Ez a szócikk részben vagy egészben az ENIAC című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.