Berättelsen om den första datorn ENIAC Figur 1: ENIAC vid BRL i Aberdeen Proving Ground Marcus Tönnäng, msn00001@student.mdh.se Peter Westling, pwg99002@student.mdh.se Vetenskapsmetodik för teknikområdet CT3620 Mälardalens Högskola Västerås 8 Oktober 2004
SAMMANFATTNING Denna rapport syftar till att skildra historien om ENIAC samt ge en beskrivning av dess konstruktion. ENIAC, Electronic Numerical Integrator And Computer, var namnet på den dator som John W. Mauchly och John Presper Eckert föreslog att man skulle bygga för att lösa det ökade behovet av att beräkna avfyrningstabeller för nya artilleripjäser. Det tog ett år att designa och ett och ett halvt år att bygga ENIAC. Totalt gick det åt 200 000 mantimmar. ENIAC var färdig i november 1945. ENIAC var en teknisk revolution när den kom. Aldrig hade beräkningar kunnat göra så snabbt som med ENIAC. Dessutom var ENIAC den första helt elektriska programmerbara datorn. Däremot var ENIAC en mycket stor maskin. Den var placerad i ett rum som var 140 kvadratmeter stort. Den bestod av 30 olika enheter med vakuumrör som huvudkomponent. Tio år senare, den 2 oktober 1955, slutar historien om ENIAC. Konkurrensen från nyare datorer gjorde det oekonomiskt att ha kvar ENIAC. Detta på grund av allt för höga energikostnader och det konstanta reparationsbehovet. 2
INNEHÅLLSFÖRTECKNING SAMMANFATTNING... 2 INNEHÅLLSFÖRTECKNING... 3 INLEDNING... 4 Syfte... 4 Definition... 4 Föregångarna till datorn... 4 Historisk bakgrund... 5 BERÄTTELSEN OM ENIAC... 6 Utveckling... 6 Uppbyggnad... 7 Användning... 9 Förbättringar... 9 Tillförlitlighet... 10 Slutet... 10 Datorerna efter ENIAC... 11 Jämförelse med dagens dator... 11 SLUTSATSER... 12 REFERENSER... 13 Bilder... 13 BILAGOR... 15 Bilaga 1 - ENIAC:s uppbyggnad... 15 Bilaga 2 Neon-lampor på ENIAC... 16 3
INLEDNING Syfte Denna rapport redogör för berättelsen om ENIAC som står för Electronic Numerical Integrator And Computer. Det var den första generella datorn där beräkningarna gjordes helt elektroniskt. Datorn stod färdig i november 1945 på Moore School of Engineering vid University of Pennsylvania. Figur 2: Moore School i Philadelphia idag. Definition I denna rapport använder vi ordet dator om en elektrisk maskin som löser problem som den blivit programmerad med. En dator ska också vara fritt programmerbar för att lösa olika uppgifter. Föregångarna till datorn Det fanns många beräkningsmaskiner före ENIAC, så kallade computers på engelska, men de var inte datorer i vår mening. En av de första beräkningsmaskinerna som var programmerbara byggdes av Charles Babbage under slutat av 1800-talet och var helt mekanisk. Hans maskin var revolutionerande men fick inget genomslag eftersom få förstod sig på den. Figur 3: En mindre differential analysator. Under 1930-talet så fanns det flera stora mekaniska beräkningsinstrument, där differentialanalysatorn vid Moore School var den största. Den vägde 100 ton och hade 14 integrerande enheter. [Winegrad96, Weik61] 4
Universitet i Harvard hade utvecklat en elektromekanisk beräkningsmaskin som kunde beräkna sinus och cosinus. Den kallades Harvard Mark I och byggdes senare av företaget IBM under namnet ASCC [Winegrad96]. Bell Telephone Laboratories hade utvecklat en reläkalkylator som kallades Complex Number Calculator. Det fanns också mekaniska beräkningsmaskiner för militärens bruk, som t.ex. Z3 i Tyskland som användes av flygplansoch missilindustrin och Colossus i England som användes för att dechiffrera tyska militärens koder. Alla föregångare till ENIAC byggde på mekaniska komponenter. Nackdelen med dem var att de var skrymmande, hade låg hastighet och låg tillförlitlighet. Historisk bakgrund Under andra världskriget ökade hela tiden behovet av att beräkna avfyrningstabeller för nya artilleripjäser. De ballistiska (läran om en kastad kropps rörelse) beräkningarna krävde avancerade differentialekvationer för att kunna lösas. För en mänsklig beräknare tog det omkring 40 timmar att lösa ett problem och med en mekanisk differentialanalysator tog det 30 minuter. ENIAC skulle senare lösa samma problem på 30 sekunder. [Winegrad96] Behovet att få fram de ballistiska beräkningarna blev akut eftersom det inkom flera nya tabeller varje dag. Varje avfyrningstabell innehöll hundratals banor som behövde beräknas var för sig. Ballistic Reseach Labratory (BRL) som var ansvarig för beräkningarna tog hjälp av University of Pennsylvania. Vid ett tillfälle anställde de 100 kvinnliga studenter, så kallade computers, för att göra beräkningar [Wilkes95]. För att lösa problemet med den ökade beräkningsbelastningen föreslog John W. Mauchly och John Presper Eckert, två fakultetsmedlemmar vid Moore School of Engineering, att man skulle bygga ENIAC [Winegrad96]. Armén var villig att satsa på projektet och de skrev kontrakt med University of Pennsylvania i juni 1943 [Weik61]. Figur 4: ENIAC på Moore School of Engineering 5
BERÄTTELSEN OM ENIAC Utveckling Tanken på att bygga en elektronisk dator grundar sig ur en diskussion på caféet Linton s Restaurant i Philadelphia. Det var en grupp ingenjörer vid Moore School of Engineering som brukade samlas där för brainstorming. [Winegrad96] Mauchly, som var professor i fysik, och Eckert, som var en framstående ingenjör, vidareutvecklade idén med att använda vakuumrör för elektroniska beräkningar. De skickade ett förslag till BRL vilket blev grunden för det kontrakt som senare skrevs. Arbete med ENIAC gick under projektnamnet Projekt PX [Moye96]. De ingenjörer som jobbade med ENIAC var alla unga och de var inte insatta i tidigare beräkningsmaskiner som Babbages maskin. De fick hitta egna lösningar på alla de problem de mötte. Eckert som var den ansvariga ingenjören beskrivs som ett geni och löste allt på ett mycket noggrant sätt. [McCartney99] Den största svårigheten var att utveckla vakuumrören så att de fick en lång hållbarhet. Många trodde att det var omöjligt att få en dator att fungera med så många rör. Eckert hittade dock lösningen genom att köra vakuumrören på 10% spänning av normal nivå. [McCartney99] En viktig parameter vid konstruktionen av ENIAC var pålitlighet. Man byggde därför enkla kretsar med kända komponenter. Antalet vakuumrör minimerades eftersom de var den känsligaste komponenten. [Weik61] Figur 5: En ingenjör byter vakuumrör. Det tog ett år att designa och ett och ett halvt år att bygga ENIAC. Totalt gick det åt 200 000 mantimmar. ENIAC var inte färdig förrän november 1945. Det var tre månader efter att Japan hade kapitulerat. [Martin96] Även om ENIAC blev färdig för sent till andra världskriget så var den precis i tid för nästa krig, Kalla kriget. Den första uppgiften ENIAC fick räkna på var designen av vätebomben i det berömda Manhattan-projektet [Moye96]. Efter andra världskriget bestämde sig Krigsdepartementet sig för att göra ENIAC officiell. Den 14 februari 1946 hölls presskonferens och officiell invigning på Moore School of Engineering. Pressen tog emot ENIAC med stora rubriker och överallt skrevs det om den elektroniska hjärnan. Dianne beskriver i [Martin96] hur denna presskonferens totalt förändrade synen på matematiska beräkningar och beräkningsmaskiner hos allmänheten. 6
Uppbyggnad ENIAC var en mycket stor maskin. Den var placerad i ett rum som var 140 kvadratmeter stort. Enheterna var uppställda i en U-formation längs rummets väggar. Maskinen bestod av 40 paneler som tillsammans innehöll ca 18 000 vakuumrör, 6 000 brytare och 1500 reläer. Panelerna bildade 30 enheter, där varje enhet utförde en eller fler funktioner som behövdes i en dator. Se bilaga 1 för en skiss av rummet. Till skillnad från dagens datorer som använder tal-basen 2, d.v.s. är binära, så använde ENIAC tal-basen 10. Orsaken till detta var att man ville minska antalet rör, dessutom ville man använda samma siffersystem som människor använder när vi räknar. De 30 enheterna som ENIAC hade kan delas in i fem typer: 1. 20 stycken ackumulatorer. 2. Multipliceringsenhet och divisions/kvadratrotsenhet. 3. Tre funktionstabeller, endast läsbart minne. 4. I/O enheter. 5. Den s.k. master programmer. Ackumulatorernas syfte var att utföra addition och subtraktion. Varje ackumulator var kapabel att lagra ett 10 siffrigt decimalt heltal, och addera/subtrahera det med ett inkommande tal eller ett tal som redan var lagrat i ackumulatorn. Figur 6: Dekadräknaren - den viktigaste delen i ackumulatorn. ENIAC hade tre portabla funktionstabellsenheter för att lagra tabelldata. Funktionstabellerna bestod av ett rack med massa omkopplare på. Med hjälp av dessa omkopplare kunde konstanta värden lägga in i tabellen. I/O enheterna användes för att koppla in hålkortsläsare/skrivare. På hålkorten kunde upp till 80 siffror och 16 tecken lagras. Informationen på hålkorten lästes in av hålkortsläsaren som skickade informationen till I/O enheterna där det lagrades i reläer. I/O enheterna konverterar sedan informationen i reläerna till elektriska signaler. ENIAC hade en övervakningsdel, den s.k. master programmer, som såg till att instruktioner utfördes. En stor skillnad från tidigare maskiner var villkorsinstruktionen. Med denna instruktion kunde ENIAC användas för att kontrollera om ett visst resultat uppnåtts eller om beräkningarna skulle fortsätta. För att göra en set-up d.v.s. programmera ENIAC så kopplades kablar in mellan enheterna. I dessa kablar kom strömpulser som startade en krets, som när den var klar skickade ut en strömpuls i en annan kabel. Så fortsatte pulsern mellan enheterna tills beräkningen var klar. ENIAC var en parallelldator, vilket innebar att talen skickades över flera parallella kablar. T.ex. om talet 243 skulle skickas över så skickades två strömpulser i en kabal, fyra strömpulser i en annan och tre strömpulser i ytterligare en kabel [Goldstine96]. Det behövdes också strömförsörjningsenhet som gav de 174kW som datorn drog. Vid tidpunkten var det lika stor effekt som en hel stadsdel förbrukade. Datorn behövde också 7
kylas, vilket den gjordes med ett luftkonditioneringssystem [Kempf61]. 8
För att visa ENIAC:s status satt det små neon-lampor överallt på apparaten. Bilaga 2 visar en beskrivning av hur neon-lamporna på divisions/kvadratrotsenhet fungerade. Dessa blinkande lampor skulle påverka science fiction filmerna under 1950-talet, där alla framtidsdatorer hade blinkande lampor [Winegrad96]. Användning Sex kvinnliga beräknare anställdes för att programmera och sköta ENIAC. Däremot var det bara män som hade med utvecklingen av datorn att göra och det var också bara män som reparerade den. [Moye96] Figur 7: Ester Gerston och Gloria R. Gorden programmerar ENIAC I slutet av 1946 flyttades datorn till BRL i Aberdeen Proving Ground, Maryland. Där användes den huvudsakligen till ballistiska beräkningar men också i väderberäkningar, atomenergiberäkningar, beräkningar av kosmisk strålning, slumptals studier, vindtunneldesign och andra vetenskapliga beräkningar [Moye96, Weik61]. Förbättringar En betydande person som kom in i projektet under sommaren 1944 var John von Neumann, som var forskare vid BRL. Han utvecklade tillsammans med ingenjörerna bakom ENIAC ett koncept för att lösa den tidskrävande programmeringen av datorn. Tanken på ett programmerbart programminne som styrde datorn blev senare datorn Electronic Discrete Variable Computer (EDVAC). [Moye96] Utvecklingen av ENIAC var tvungen att avbrytas p.g.a. att behovet att få en fungerande dator var akut. Det gjorde att när ENIAC var färdig för användning så menade flera av utvecklarna att den redan var omodern. [Grier96] Den första förbättringen på ENIAC, som gjordes 1948, var därför en Converter Code -enhet. Den gjorde om ENIAC till en seriell instruktionsdator [Weik61]. Den fick alltså ett programminne vilket gjorde att set-up tiden minimerades radikalt. 1952 installerades en höghastighetsskiftare som gjorde att datorn blev fem gånger snabbare [Weik61]. Flera andra förbättringar gjordes också för att stabilisera användandet av datorn. 9
Tillförlitlighet ENIAC var inte en tillförlitlig maskin. Hälften av tiden som skulle användas för att göra nyttiga beräkningar gick åt till att antingen förbereda maskinen för problemet eller för att underhålla och reparera den. De vanligaste felen var av följande typer: Fel orsakat av trasiga vakuumrör och elektroniskkretsar. Dessa fel stod för 20 procent av reparations och underhållstiden. Fel orsakat av kretsfel av mekaniskt slag som t.ex. dåliga lödningar, trasiga ledningar och kortslutningar. Dessa fel stod för 40 procent av reparationstiden. Fel på elektromekaniska I/O enheter stod för 20 procent av reparationstiden. Fel på nätaggregat och likriktarrör. 10 procent av repatationstiden gick åt för att reparera dessa fel. Fel på ventilationsutrustning och skyddsutrustning stod för 10 procent av reparationstiden. För att förhindra att fel förstörde beräkningarna användes testprogram innan och efter en körning. Dessutom byggdes kontroller in i programmen, termer eller en del av problemet skulle vara lika med en viss konstant t.ex. 1. På så sätt kunde kontrolloperationer läggas in i programmet för att kontrollera att svaret var lika med denna konstant. Dessutom kördes varje program oftast två gånger. [Brainerd48] Slutet ENIAC blev snabbt för dyr att använda när den fick konkurrens av andra datorer. Det var både höga energikostnader och ett konstant reparationsbehov som gjorde att den blev oekonomisk. Den 2 oktober 1955 användes ENIAC för sista gången. [Kempf61] Idag finns delar av ENIAC bevarad på Smithsonian Institution i Washington D.C och på Moore School for Electrical Engineering vid University of Pennsylvania. Figur 8: ENIAC idag på Moore School for Electrical Engineering 10
Datorerna efter ENIAC De två stora efterföljarna till ENIAC var EDVAC och Ordnance Discrete Variable Automatic Computer (ORDVAC). Båda datorerna var utvecklade för BRL. EDVAC stod klar i augusti 1949 men fungerade aldrig tillfredställande, däremot fungerade datorn ORDVAC, som byggde på samma teknologi som EDVAC, bra från 1952 då den blev färdig. [Moye96] Även om det inte byggdes mer än en ENIAC så påverkade de rapporter som skrevs om den och lektioner som hölls vid Moore School den kommande utvecklingen av datorer. Särskilt viktig var tekniken med stored memory programs d.v.s. programmerbart programminne. [Grier96] Figur 9: Datorn ORDVAC vid BRL Jämförelse med dagens dator Utvecklingen från ENIAC har gått fort och dagens datorer är betydligt bättre. Här följer en jämförelse mellan en modern dator och ENIAC för att få en förståelse av skillnaden. ENIAC Modern dator 2004 Faktor Vikt 30 ton 15 kg 2000:1 Yta 140 m 2 0,5 m 2 280:1 Effekt 174 000W 350 W 500:1 Pris $486.804 (1945) $1.000 3900:1 * Hastighet 100 khz 3 GHz 1:30 000 Beräkningar/sek 5 000 2*10 9 1:400 000 Minne 200 tecken 512 Mb 1:2 500 000 *Inflationen har tagits med i beräkningen. Som kan ses av tabellen ligger den största skillnaden mellan ENIAC och dagens dator i minnet. Det är också med stor tacksamhet som vi kan konstatera att datorns vikt, storlek och energiförbrukning har minskat. 11
SLUTSATSER ENIAC var en revolutionerande maskin. Även om utvecklingen av den var tvungen att frysas p.g.a. tidsbrist hittade ingenjörerna många områden som ENIAC kunde förbättras på. Den viktigaste förändringen var det programmerbara programminnet. Detta blev sedan grunden för den efterföljaren datorn EDVAC. Den utbildning som hölls vid Moore School efter ENIAC:s lansering skulle bli normgivande för den kommande datorutvecklingen. Även idag har vi strukturer i datorerna som bygger på samma principer som undervisades då. Alltså var ENIAC en föregångare som har påverkat utvecklingen av beräkningsmaskiner och datorer. ENIAC var den första datorn och den bästa beräkningsmaskinen vid den tidpunkten men den blev snabbt omodern. Den var dyr i drift och var till en början svårprogrammerad. Även med de förbättringar som gjordes kunde den inte nå upp till de konkurrerande datorerna. Den användes dock nio år vid BRL för ballistiska och andra vetenskapliga beräkningar. Som för många andra genombrytande teknologier var kriget en pådrivande faktor för utvecklandet av den elektroniska datorn. Samtidigt begränsade krigets slut utvecklingen av datorn. Men ENIAC var ändå startskottet på den nya dataåldern. 12
REFERENSER [Brainerd48] Brainerd J.G. ; Sharpless T.K, The ENIAC, Proceedings of the IEEE, Vol. 87, No. 6, sidorna 1031-1041, 1999. [Goldstine96] Goldstine, H.H. ; Goldstine, Adele. The electronic numerical integrator and computer (ENIAC), IEEE Annals of the History of Computing, Vol. 18, No. 1, sidorna 10-18, 1996. [Grier96] David Allan Grier, The ENIAC, the Verb to program and the Emergence of Digital Computers, IEEE Annals of the History of Computing, Vol 18, No 1, sidorna 51-55, 1996. [Kempf61] Karl Kempf, Electronic Computers Within The Ordnance Corps, 1961, Army Research Laboratory web site, <http://ftp.arl.mil/~mike/comphist/61ordnance/chap2.html> (8 okt. 2004). [Martin96] Martin C.D, ENIAC: press conference that shook the world, IEEE Technology and Society Magazine, Vol 14, sidorna 3-10, 1996. [McCartney99] McCartney, Scott. ENIAC, The Triumphs and Tragedies of the World s First Computer, Walker Publishing Company, ISBN 0-8027-1348-3, 1999. [Moye96] William T. Moye, ENIAC: The Army-Sponsored Revolution, Army Research Laboratory web site, 1996, <http://ftp.arl.army.mil/~mike/comphist/96summary/index.html> (8 okt. 2004). [Weik61] Martin H. Weik, The ENIAC Story, Army Research Laboratory web site, 1961, <http://ftp.arl.army.mil/~mike/comphist/eniac-story.html> (8 okt. 2004). [Wilkes95] Maurice V. Wilkes, A tribute to Presper Eckert, Communications of the ACM, Vol. 38, No. 9, sidorna 20-22, 1995. [Winegrad96] Dilys Winegrad, Celebrating the birth of modern computing: The fiftieth anniversary of a Discovery At The Moore School of Engineering of the University of Pennsylvania, IEEE Annals of the History of Computing, Vol 18, sidorna 5-10, 1996. Bilder Figur 1, hämtad den 8 oktober 2004 från: http://ftp.arl.army.mil/ftp/historic-computers/gif/eniac1.gif Figur 2, hämtad den 6 oktober 2004 från: http://www.facilities.upenn.edu/mapsbldgs/view_bldg.php3?id=77 Figur 3, hämtad den 6 oktober 2004 från: http://www.kerryr.net/pioneers/analyser_pic.htm Figur 4, hämtad den 8 oktober 2004 från: http://accad.osu.edu/~waynec/history/images/mau0-1a.jpeg 13
Figur 5, hämtad den 7 oktober 2004 från: http://ftp.arl.army.mil/ftp/historic-computers/gif/eniac3.gif Figur 6, hämtad den 7 oktober 2004 från: http://www.library.upenn.edu/exhibits/rbm/mauchly/jwm6.html Figur 7, hämtad den 7 oktober 2004 från: http://ftp.arl.army.mil/ftp/historic-computers/gif/eniac4.gif Figur 8, hämtad den 8 oktober 2004 från: http://www.seas.upenn.edu/~museum/ Figur 9, hämtad den 7 oktober 2004 från: http://ftp.arl.army.mil/ftp/historic-computers/gif/ordvac1.gif Bilaga 1 och 2, hämtad den 7 oktober 2004 från: http://ftp.arl.army.mil/~mike/comphist/46eniac-report/chap1.html 14
BILAGOR Bilaga 1 - ENIAC:s uppbyggnad 15
Bilaga 2 Neon-lampor på ENIAC 16