4.4 USA: A jól dokumentált sikertörténet

ABC

1937-42: Vincent Atanasoff és John Berry kifejlesztik az ABC nevû számítógépet az Iowa állami egyetemen lineáris fizikai egyenletek kiszámolására. Az ABC mint az elsô teljesen elektronikus számítógép technikai szempontból az elsô fejlesztés, mely teljesen elektronikus aritmetikus egységet, illetve elektronikusan frissített ciklikus memóriát használt, és így a teljesen elektronikus eszközök ôsének tekinthetô.
Az 1937-ben tervezett, 1942-ben már működő eszköz joggal versenghetne az első modern számítógép címért, ám mivel a szerkezet nem volt programozható, s létezését is homály fedte az 1960-as évekig, alul maradt a jól dokumentált amerikai sikerek, voltaképpen az ENIAC árnyékában. Mindazonáltal a kettes számrendszer használatával jóval megelőzte későbbi vetélytársait.

A prototípus elkészítése és a későbbi kutatás csendben folyt. Az eredeti modell 25 bites, a fejlesztett változat 50 bites szavakkal dolgozott. A gép kettes számrendszert használt. Az ötvenszavas tárolóegységet egy kondenzátorokkal felszerelt forgó dob alkotta. Az adatbevitel lyukkártyákkal történt, az eredményt pedig a gép kártyákra égetett jelek formájában adta meg. Ezt a számítógépet lineáris egyenletrendszerek megoldására használták. A gép további fejlesztésének 1942-ben a háború vetett véget. Amikor Atanasoff felhívta gépére az IBM figyelmét, azzal utasították vissza, hogy őket soha nem fogják elektronikus számítógépek érdekelni. Mint tudjuk, nem így történt.

Howard Aiken – Mark I.

Az első teljesen automatikusan működő általános célú digitális számítógépet a Harvard egyetemen fejlesztették ki Howard Aiken vezetésével. A tervezéshez az IBM 5 millió dollárral járult hozzá és a gép megépítését is az IBM végezte. Ez volt a Mark I., vagy más néven Automatic Sequence Controlled Calculator (ASCC).

Also in the US two other people were considering the problems of computation: Howard Aiken at Harvard University, whose work would come to fruition in 1944, and George Stibitz at Bell Telephone Laboratories who was looking at the use of telephone relays in doing arithmetic. He first constructed a relay driven arithmetic unit in 1937 (which he later called the Model-K since it was built on the Kitchen table) and from that small start built a number of relay machines that were in use during World War II.

1939: One of the major computational problems at Bell Telephone Laboratories was in the domain of complex numbers. Stibitz’ first full-scale electromagnetic relay calculator solved this problem and was named the Complex Number Calculator (later the Bell Labs Model 1). A year later this machine was the first to be used remotely over telephone lines, setting the stage for the linking of computers and communication systems, time-sharing, and eventually networking. A teletype was installed in a hallway outside the meeting rooms for the annual American Mathematical Society conference at Dartmouth College, and connected to the Complex Calculator in New York. Among the people who took the opportunity to try out the system were Norbert Wiener and John Mauchly.

1937 elején Howard Aiken olyan céget keresett, mely képes finanszírozni és megépíteni az általa elképzelt számológépet. Két sikertelen próbálkozás után Charles Babbage fiának 50 évvel korábban a Harvardon bemutatott előadásán alapuló prezentációt tartott, ami sikert hozott számára. Ennek kapcsán kezdte részletesen tanulmányozni Babbage munkásságát, különös tekintettel az Analitikus Mozdony tervrajzaira, illetve az azzal kapcsolatos leírásokra. Az eredmény az Analitikus Gép elgondolásait tökéletesen megvalósító, s azt számos fontos új lehetőséggel kiegészítő szerkezet lett. A Mark I. 1944-ben készült el, az egyik első programot, mely lefutott rajta, Neumann János szerezte, aki arra volt kíváncsi, hogy az egy évvel később ledobott atombomba beindításához elegendő energiát szolgáltatott-e a gyújtás.

A Mark-1-gyel lineáris – de csak ilyen – differenciál-egyenleteket lehetett megoldani. A gép hosszú váza két részre oszlott, amelyekben több tucat tengely helyezkedett el. A feladatok megoldásához csavarhúzó és kalapács segítségével különböző fogaskereket lehetett felszerelni a tengelyekre és a gép “műveletvégzője” (integrátor) gondoskodott arról, hogy a tengelyek elmozdulhassanak egymáshoz képest. Az egyenletek adott számait, konstansait a megfelelő fogaskerékarányokkal lehetett megadni, amelyeket korábban elkészített táblázatokból vettünk.

A berendezés pontosságának határát a műveletvégző mechanikus kerekeinek “elcsúszása” szabta meg.

A gépen erősen érződött az IBM 1930-as években kidolgozott lyukkártyás kalkulátorának hatása. Ez a gép fixpontos számokkal dolgozott (10 számjegy a tizedesvessző előtt, 13 számjegy pedig utána). Relékből épült fel, 3304 db kétállású kapcsolót tartalmazott, összesen kb. 760 000 alkatrészből á llt és 500 mérföld (800 km) huzalt használtak fel hozzá. A gép kb. 15 m hosszú és 2,4 m magas volt. A memóriája a mechanikus számológépekhez hasonlóan fogaskerekekkel, tízes számrendszerben tárolta az adatokat, 72 db 23 jegyű számnak volt benne hely. Az adatbevitel lyukkártyákkal történt. A programot lyukszalag tartalmazta, ez vezérelte a gép működését. A szalag végtelenítve volt (hurkot alkotott), így a gép folyamatosan tudta olvasni és emiatt egymásután akárhányszor végrehajthatta a szalagon lévő utasítás-sorozatot. A gépnek egy összeadáshoz 0,33, egy szorzáshoz 4, egy osztáshoz 11 másodpercre volt szüksége és gyakran meghibásodott (más források szerint a szorzás ideje 6 s és a gép megbízhatóan működött). A munkát 1939-ben kezdték és 1944-ben készültek el. A tengeri tüzérség részére készítettek vele lőtáblázatokat. Ezt a számítógépet 1959-ig használták.

Professor Harry Lewis takes CS50 on a tour of the Aiken Mark 1 computer in the Science center at Harvard University:
https://www.youtube.com/watch?v=4ObouwCHk8w

Az Eniac és az Edvac

Hermann H. Goldstine-t, a Michigani Egyetem matematikusát 1942 augusztusában fõhadnagyi rendfokozattal behívták a hadseregbe. Azt a feladatot kapta, hogy vegyen részt a hadsereg számára létfontosságú tüzérségi és bombázási táblázatok készítésében. A számításokhoz azonban gép kellett. Az akkori legnagyobb jelfogós számítógép, a MARK II négy szorzást tudott elvégezni egy másodperc alatt, s ez messze elmaradt a számításokkal szemben támasztott követelményektõl. Goldstine ezért a legfontosabb feladatának egy több nagyságrenddel nagyobb teljesítményû gép építését tekintette, olyanét, amely legalább ezer mûveletet képes elvégezni egy másodperc alatt.

A számítógép Pascaltól Neumannig – Műszaki Könyvkiadó, Budapest, 1987,
ISBN 963-10-7277-0

Ahogy már szóltunk róla, John Vincent Atanasoff, az Iowa State College matematikusa Clifford Berry fiatal villamosmérnökkel 1940- ben már épített egy elektroncsöves célszámítógépet, amelyet ABC-nek (Atanasoff-Berry Computer) neveztek el. John Mauchly a Pennsylvania Egyetemről egy hetet töltött az Iowa State College-ben John Vincent Atanasoff- fal, ahol megmutatta az ABC gépet és megbeszélte vele egy elektronikus számolóberendezés elkészítésének a lehetõségét. Goldstine a Pennsylvaniai Egyetem (népszerű nevén: PENN) villamosmérnöki intézetéből 1942 őszén megkapta John Mauchly tanulmányát arról, hogyan lehetne elektroncsöves áramkörökkel egy körülbelül 1000 művelet/másodperc teljesítményű gépet felépíteni… Mauchly tanulmánya egy másik fiatal villamosmérnöknek, Presper Eckertnek is a kezébe került, akit annyira érdekelt a téma, hogy hamarosan az elektronikus számítóáramkörök legjobb szakértõjévé vált.

Hermann Goldstine a terv számára megnyerte az amerikai hadsereg Ballisztikai Laboratóriuma vezetőjének, Leslie A. Simon ezredesnek és a tudományos vezetőnek, Oscar Veblennek a támogatását. Simon ezredes megadta a gép megépítéséhez szükséges 150 ezer dollárt. A laboratórium szerződést kötött a PENN-nel, és a gép, az ENIAC (Electronic Numerical Integrator and Computer: elektronikus numerikus integrátor és számítógép) építése megkezdődött.

Az ENIAC építésének sok ellenzõje volt, akik t úl nagynak tartották a kockázatot: elektronikus berendezés majdnem 18 ezer elektroncsõvel, 70 ezer ellenállással, tízezer kondenzátorral, hatezer kapcsolóval és ezerötszáz jelfogóval addig nem épült. Mindenesetre 1943. május 31-én elkezdõdik a munka, melynek eredményeképp megépül az ENIAC, mely a sok bizonytalan alkatrész, fõleg az elektroncsöves áramkörök ellenére napi 12 órás közel hibamentes üzemelésre volt képes.

1945. júliusában kezdték el a programozók képzését. Ezt fõként Adele Goldstine irányította, mivel õ és férje volt csak teljes egészében tisztában az ENIAC programozásával. Az utasításkészlet 51 utasításból állt, amelyet késõbb 60, majd 92 utasításra növeltek meg. A teljes dokumentáció 301 oldal hosszúságú volt, 122 ábrát tartalmazott. 1946. február 15-én tartották a nyílt nappal egybekötött bemutatót és az ünnepélyes átadást. Ekorra az ENIAC már több mint 1000 órát futott. A kormány hivatalosan 1946. június 30-án vette át, és sorolta be a gépet a Philadelphiai Kerületi Hadianyag-ellátási Szolgálat Fõnökségéhez.

Mai fogalmaink szerint mind az ENIAC, mind az ABC – eredeti változatában – célszámítógép volt: az ABC-vel bizonyos egyenleteket, míg az ENIAC-kal ballisztikus táblákat számoltak. A gép tízes számrendszerben, tízjegyű előjeles számokkal végezte a műveleteket, soros működésű volt és ami nagyon lényeges, külön volt a programtára(huzalozással programozták, mint például a Hollerith gépeket) és külön tárolta az adatokat egy jelfogós tárban.

ENIAC: https://www.youtube.com/watch?v=mxj6h5JyfXs&index=5&list=PL4400FE528BDC901E

Az ENIAC eredeti változata nem volt tárolt programú gép, azaz nem volt a mai értelemben vett számítógép, annak ellenére, hogy a “computer” elnevezés a röppálya-táblázatok készítésére alkalmas gépekhez, így az ENIAC-hoz is köthető. A röppályatáblázatokat akkoriban több száz számológépekkel dolgozó ember számolgatta ki, őket hívták komputereknek. Mivel a gépek elvégezték a komputerek munkáját, a gépeket kezdték ezen a néven emlegetni.

A tárolt program elvét Neumann János nevéhez szokás kötni, annak ellenére, hogy Konrad Zuse már évekkel korábban leírte, s alkalmazta azt saját készítésű számítógépeiben. Neumann nem sokkal azután, hogy 1944 augusztusában megnézte az ENIAC-ot csatlakozott az ENIAC-csoporthoz. Korábban Neumann számoló- és számítógépekkel nem foglalkozott, ekkoriban használja először Howard MARK I-et az atombomba gyakorlati kivitelezésének teszteléséhez szükséges előtanulmányokhoz.

Ebben az idõben akarták az ENIAC jelfogós adattárát egy másfajta – késleltetõ mûvonalas – tárra kicserélni, melynek működési elve beszédes példa az elektronikus információ tárolásának nehézségeire:

1951 UNIVAC I – Mercury delay line Memory for computers: https://www.youtube.com/watch?v=kignGE77l_I

A mûvonal alapötlete kétségkívül Eckerté volt. Pierre és Jacques Curie fedezte fel 1880-ban, hogy egy megfelelõen metszett kvarckristályban nyomás hatására elektromos feszültség ébred, és megfordítva, elektromos feszültség hatására a kristály mechanikai alakváltozást szenved. Ezek a kristályok akár több millió rezgésre is képesek másodpercenként. (A piezein: nyomni görög szóból származóan piezoelektromos jelenség lett a neve.) Az elektromosság a vezetékben közel hangsebességgel terjed (3 108 m/s) míg a lökéshullámok a higanyban csak 1450 m/s sebességgel terjednek. Ha tehát fogunk e higannyal teli 1,45 m hosszú edényt, a két végére piezokristályokat szerelünk, akkor egy ezred másodperc késést lehet elérni a vonalon, ha a hullám a higanyon halad keresztül. Azaz a jelet 1 ezred másodpercig eltároltuk! Természetesen a jelet visszacsatolhatjuk, így hosszabb ideig tárolhatjuk, de kell erõsítés is, ha lényegesen hosszabb ideig akarjuk tárolni a jelet.

Jóval későbbi tárolóeszköz: Old computer tech: delay-line memory https://www.youtube.com/watch?v=N9cUbYII5RY

Hermann Goldstine szerint ekkor támadt Neumann Jánosnak az a gondolata, hogy közös program- és adattárat is alkalmazhatnak, hiszen formálisan a program is számjegyesen kódolt információ. Pontosan olyan, mint a numerikus adatok. Így egy közös tárban a program akár mûveletekkel is módosíthatóvá válik. Az elvet Neumann a következõ gép, az EDVAC leírásában, a First Draft of a Report on the EDVAC címû híressé vált 101 oldalas, 1945. június 30-án megjelent tanulmányban fogalmazta meg. Az ENIAC továbbfejlesztése során – Neumann János elképzeléseinek megfelelõen – a program- és az adattárat egybeépítették, így végül az ENIAC is általános célú számítógéppé vált.

Az ENIAC megoldásait Eckert és Mauchly szabadalmaztatta és ugyanez volt a szándékuk az EDVAC megoldásaival, különösképpen a tárolt program elvével is. Az EDVAC szabadalomba be akarták venni Neumannt és Goldstine-t is, ehhez azonban egyikük sem járult hozzá, mert úgy gondolták, hogy a számítógép alapelveit közkinccsé kell tenni. Amikor Neumann a „First Draft…”- ot közzétette, az elv már nem volt szabadalmaztatható.

Az ENIAC fejlesztõinek útjai – főleg a szabadalommal kapcsolatos nézeteltérések miatt – szétváltak. Eckert és Mauchly a második számítógépet, az EDVAC-et átvitte saját vállalatába, az Electronic Control Co.-ba, amely késõbb Ecker-Mauchly Computer Corporation-ná alakult át. Neumann és Goldstine Princetonban, a mérnöktovábbképzõ intézetben (IAS, Institute for Advanced Study)építette meg a mai korszerű számítógépek közvetlen elõdjét, az IAS-t.

IAS – Princeton

Neumann 1946-ban kezdett hozzá csoportjával a princetoni Institute for Advanced Studies intézetben egy új tárolt programú számítógép, az IAS tervezéséhez. A gép nevét az intézet kezdőbetűiből kapta. Ennek a gépnek már véletlen hozzáférésű katódsugárcsöves memóriája volt és egy egész szót el lehetett érni egy művelettel. A műveletek végzése is ennek megfelelően párhuzamosan, az operanduszok teljes hosszában történt. A processzorban több gyorsműködésű (elektroncsöves) regiszter is volt az operanduszok és az eredmény tárolására és megjelent az utasításszámláló regiszter (program counter, PC) is. Emiatt ez a gép egycímes utasításokat használt, az aritmetikai utasításoknál az egyik operandusz mindig egy regiszter volt. Az IAS tervezéséről több publikáció is megjelent és igen nagy hatása volt a későbbi számítógépek fejlesztésére. Ezt a gépet tekinthetjük az összes későbbi általános célú számítógép prototípusának.

Ez volt az elsõ párhuzamos mûködésû, tárolt programú számítógép. Neumann javaslatára a karbantartáshoz és az építéshez használt oszcilloszkópot átalakították „display”-jé, melynek köszönhetően az IAS megjelenítőeszköze a ma is használatos katódsugárcsöves monitorok ősének tekinthető.

UNIVAC

Az első kereskedelmi forgalomban is kapható, sorozatban gyártott univerzális számítógép a UNIVAC I. (UNIVersal Automatic Calculator) volt. Ez volt az első számítógép, amely a számok mellett már szöveges információt is tudott kezelni. Többen ezt a gépet tekintik a számítógépek első generációjának kiindulópontjának, a technológia első igazi képviselőjének. A gépet a Remington Rand nevű cég gyártotta. Az ENIAC-hoz és EDVAC-hoz hasonlóan ezt is John Presper Eckert és John Mauchly tervezte. A gép 5600 elektroncsövet és 18 000 diódát tartalmazott, 19 tonnát nyomott és egymillió dollárba került. A memóriája higany-késleltetővonalas megoldású volt, háttértárként itt használtak először mágnesszalagot.

A gép központi része a háttérben látható, az előtérben a vezérlőpult látható. Az első UNIVAC gépet az USA Népességnyilvántartó Hivatala vásárolta meg 1951-ben és mintegy 12 évig napi 24 órás műszakban használta. 1952-ben e gép segítségével jósolták meg az elnökválasztás eredményét még a választás napjának éjszakáján, a szavazatok 7%-ának összeszámlálása után. A UNIVAC I-et először 1954-ben a General Electricnél alkalmazták üzleti célra. Ebből a gépből összesen 48 darabot gyártottak.

Grace Murray Hopper (1906-1992)

A “The Grand Old Lady of Software” (A szoftver nagyasszonya), “Grandma COBOL” (COBOL nagyi) és az “Amazing Grace” (Bámulatos Grace) 1944 júniusában kezd Aikennel dolgozni, a MARK I harmadik programozójaként.

A programozás volt a szakterülete, az ő nevéhez fűződik az első gépi kódra fordító, ún. compiler program, amely a számítástechnika új lehetőségeit teremtette meg. (Ezt 1952-ben javasolja először.) Grace személyéhez kapcsolódik a “bug” szónak a hibákra való használata is, a történet anekdotába illő:

1945-ben Grace a Harvard Egyetemen a Mark II Aiken Relay Calculator-on dolgozott csapatával. Szeptember 9-én a gép nem működött rendesen, és a hiba keresésekor kiderült, hogy az egyik relé és a panel közé egy molylepke szorult. A technikusok kivették, és beragasztották a munkanaplóba, a következő aláírással: “Az első eset, hogy tényleg megtaláltuk a bogarat.”

1949-ben Grace az Eckert-Mauchley Computer Corporation-nél kezdett dolgozni Philadelphiában. Csoportjával a Universal Automatic Computer, a Univac I. megépítésén dolgozott, mely hússzor gyorsabb volt a Mark III.-nál. A csoportban négy nő és négy férfi dolgozott. Hopper szívesen alkalmazott nőket, véleménye szerint “A nők azért lesznek rendkívül jó programozók, mert van kitartásuk, és mindig a dolgok végére járnak.” Ez a csapat volt az, amelyikkel kifejlesztették a COBOL programozó nyelvet.