Datorernas verkliga pionjärer

Nu revideras historien om de första datorerna. Teorierna och vetenskapsmännen tonas ner. Ingenjörerna och tekniken lyfts fram.

Den viktigaste matematikmaskinen på väg mot datorrevolutionen hette ENIAC. Många kallar den för världens första dator.
– När vi först hörde talas om den sa vi att det var en orimlighet. Det gjorde nog alla. Dåtidens radiorör klarade helt enkelt inte de krav som ställdes, säger Erik Stemme, ingenjören som några år senare konstruerade Sveriges första dator.

Men ENIACs konstruktörer John Mauchly och Presper Eckert hade en konstruktionsprincip som fungerade. Den byggde på försiktiga beräkningar och att rören inte belastades fullt ut.

De som vågade ta risken och satsa på ett till synes vansinnigt projekt var militären. Det var mitt under andra världskriget, och man behövde snabbt räkna fram projektilbanor för nya artilleripjäser.

Regnet gick inte att beräkna

John Mauchlys favoritsysselsättning var väderförutsägelser. För 75 dollar köpte han en mekanisk bordsräknare för att räkna statistik. Han engagerade studenter på högskolan där han arbetade för att räkna ut om det finns ett samband mellan regnmängden i USA och solens rotation. Men det var så många variabler och så mycket data att det skulle ta år att komma fram till ett resultat.

I stället för att ge upp tog Mauchly det som en utmaning. Han skulle bygga maskinen som gjorde det möjligt för honom att bevisa sin hypotes!

I juni 1941 kom han in på en kurs i elektronik vid Moores tekniska högskola. Kursen var ett led i de amerikanska krigsförberedelserna. Armén ville lära akademiker praktisk elektronik eftersom man såg att sådan kunskap blev allt viktigare i kriget i Europa. Mauchly hade sökt till kursen eftersom han trodde att han skulle lära sig mer om hur han kunde bygga sin väderprognosmaskin.

Som laboratorieassistent fick John Mauchly den 21-åriga Presper Eckert. Eckert var påhittig, otålig och energisk. Mauchly var tvärtom lugn, intellektuell och överblickande.

Moores tekniska högskola var en av de finaste i USA, inte långt efter MIT. I källaren fanns till och med en av Vannevar Bushs mekaniska maskiner. Harvardprofessorn Vannevar Bush hade 1930 utvecklat en slags gigantiska räknemaskiner som kunde räkna på differentialekvationer (bild 2). De var ett fantastiskt genomslag för räknemaskinerna, men de var helt mekaniska och mycket långsamma. Elektriciteten användes bara för att driva kugghjulen.

Mauchly och Eckert ägnade mycket tid till att fundera på hur de skulle kunna bygga ut den med elektronik så att den blev snabbare och allsidigare. De kom snart fram till att det nog var bättre att skapa en helt ny maskin. En som byggde på radiorör, snarare än kugghjul eller reläer.

Efter kursens slut blev Mauchly anställd vid Moore, och i augusti 1942 skrev han en rapport om hur man skulle kunna bygga en elektronisk maskin med hjälp av vakuumrör. Idén var dock alltför revolutionerande och Mauchly alltför nyanställd, och förslaget kastades i papperskorgen.

Betydligt mer etablerad var Howard Aiken. Vid Harvard konstruerade han vid samma tid den första helautomatiska räknemaskinen. Till sin hjälp att bygga maskinen hade Aiken en stab av ingenjörer från ett företag som så småningom skulle bli världsledande på datorer, IBM.

Idolen hette Babbage

Howard Aiken var starkt inspirerad av en engelsman som levde i början av 1800-talet, Charles Babbage. År 1833 ritade Babbage en maskin som i princip innehöll alla de delar som en modern dator består av. Men tekniken på 1800-talet räckte inte, och maskinen blev aldrig färdigbyggd.

Man kan dock bländas av den teoretiska tankegången kring Babbages maskin och många har lyft fram honom som datorns uppfinnare. En uppfattning som bland andra journalisten vid Wall Street Journal, Scott McCartney, vill dämpa något. I en bok kort och gott kallad ENIAC lyfter han i stället fram dess konstruktörer, John Mauchly och Presper Eckert, som datorns fäder. Och han får medhåll av Erik Stemme:
– I dag börjar Babbages insats att tonas ner, och det tycker jag är rätt. Det var ENIAC som var den tändande gnistan. Kugghjul har inte mycket med kisel att göra. Visserligen byggdes inte heller ENIAC med kisel, utan med radiorör. Men radiorören, som så småningom följdes av transistorerna, som i sin tur följdes av de integrerade kretsarna, fungerar på i princip samma sätt. Kugghjul är något helt annat.

Howard Aiken var dock bländad av Babbage. Han hade faktiskt hittat en del av Babbages halvfärdiga kalkylmaskin, skänkt 1886 till Harvard av Babbages son. Det var den som var förebild för hans maskin.

Den bestod av 750 000 rörliga delar och styrdes av ett program på en pappersremsa. Maskinen kunde gå i dagar och räkna och räkna. Om pappersremsan var tillräckligt lång. En stor nackdel var dock att hela problemet verkligen måste finnas på pappersremsan. Maskinen kunde inte själv fatta beslut, den hade inget Om, dvs ingen villkorsinstruktion.

Konstruktörerna av ENIAC hade aldrig läst om Babbage, men de förstod vikten av en villkorsinstruktion.

Kanonerna fick betala

Halvvägs mellan Philadelphia och Baltimore, i Aberdeen, ligger en av amerikanska arméns provskjutningsbanor för artilleripjäser. Att skjuta är en komplicerad konst. För att beräkna hur pjäsen ska riktas måste man ta hänsyn till en rad omständigheter utöver avståndet till målet: vindhastighet, luftfuktighet, temperatur, höjd över havet, lufttryck och så vidare. Alla dessa variabler fanns i artilleriets avfyrningstabeller. Varje ny pjäs, varje ny projektil krävde nya tabeller. Tabeller som beräknades i Aberdeen. Det tog mer än en månad att räkna fram en ny tabell, och det gjordes av en hel stab med kvinnor kallade ”computers”, räknare.

Herman Goldstine var en av de matematiker som fått i uppgift att ta fram nya tabeller. Han skulle använda Moores tekniska högskolas differentialmaskin, den som Bush byggt. Men med den hastighet som den mekaniska räknemaskinen räknade så skulle tabellerna inte hinna bli färdiga i tid.

Av en tillfällighet frågade en student om Goldstine hade hört talas om Mauchlys förslag att bygga en elektronisk matematikmaskin. En maskin som skulle klara Goldstines uppdrag från armén.

Med hjälp av gamla anteckningar rekonstruerade Goldstine, Mauchly och Eckert den slängda rapporten och fick armén att godkänna projektet. ENIAC, Electronic Numerical Integrator And Computer, kunde börja byggas.

Master programmer

ENIAC skulle bestå av tre delar. Den första var en matematikdel, med addition, subtraktion, multiplikation, division och kvadratroten. Den andra var en minnesdel för tal och instruktioner. Den tredje var en slags övervakningsdel, ”master programmer”, som såg till att instruktionerna utfördes. Det var denna tredje del som saknades i Howard Aikens och IBMs automatiska räknemaskin. Övervakaren kunde utföra den viktiga villkorsinstruktionen Om, vilken innebär t ex att maskinen kontrollerar om ett visst värde redan nåtts eller om beräkningen ska utföras ytterligare ett varv.

ENIAC skulle också vara digital, dvs arbeta med siffrorna lagrade i form av elektriska pulser. De flesta maskiner som konstruerats före ENIAC lagrade inte information som en modern dator. Maskinerna var analoga. Det var kugghjulens slutliga lägen som visade beräkningarnas resultat.

Det innebar att maskinerna var starkt begränsade i räknehastighet. Dessutom var maskinernas inställning och kugghjulens tillverkningsnoggrannhet avgörande för resultatens exakthet.

Med digital information skulle man kunna komma ifrån det. Inom telefonin hade en sådan utveckling redan skett. Ett telefonnummer som slås med en nummerskiva omvandlas till elektricitet som skickas i telefonledningen och ger upphov till olika många klick i ett relä.

Rören var flaskhalsen

Mauchly och Eckert bestämde också att ENIAC skulle vara en parallell maskin. Det betydde att ett tal som 345 skulle skickas i form av tre pulser i en kabel, fyra pulser i en annan och fem pulser i ytterligare en parallell kabel. Alternativet, en seriell maskin, måste skicka trehundrafyrtiofem pulser i en kabel. Detta var ett viktigt val för att öka hastigheten i maskinen, men det betydde också betydligt fler kablar och elektroniska komponenter.

För att ändå minska antalet rör, och dessutom göra maskinen mer konventionell, använde man samma siffersystem som människor använder när vi räknar, med basen 10. Dagens datorer använder däremot basen 2. I ENIAC betydde det att varje kabel kunde skicka upp till nio pulser. I en modern dator kommer bara en puls, eller ingen. 1 eller 0.

Det största tekniska problemet var att få alla rör att fungera. Vakuumrör var opålitliga. Ändå planerade man att maskinen skulle innehålla 5 000 rör. Ingen hade tidigare byggt en maskin med så många vakuumrör. En TV-apparat innehöll på den tiden omkring 30 rör, en radio 5.

Ingenjören Eckert var den som löste problemet. Han letade först efter de säkraste rör som fanns att tillgå. Sedan testade han dem på betydligt lägre volt än de egentligen var avsedda för. Han fann att om han sänkte spänningen till en tiondel mot rekommenderad spänning så ökade han livslängden kraftigt.

Hela konstruktionen genomsyrades av samma feltoleransarbete. Eckert testade till och med kablarna på utsvultna möss för att se vilka kablar de ogillade mest. Det var de som skulle användas i ENIAC. I juni 1944 var det så dags för ett första test. Två delar, kallade ackumulatorer, var färdiga, bestående av omkring 1 000 rör vardera.

Multiplikation imponerade inte

Mauchly och Eckert kopplade ihop de två ackumulatorerna och bjöd sedan in två damer som arbetade med Bushs räknemaskin i källaren för en första inofficiell demonstration. De matade in talet 5 i en ackumulator och talet 1 000 i den andra och lät maskinen multiplicera dem. På tavlan lyste 5 000.

Reaktionen var jubel från konstruktörerna medan damerna förvånat konstaterade att det var väldigt mycket maskin för en så enkel uppgift.

För att programmera ENIAC valdes sex kvinnor av de flera hundra räknedamer som arbetade med att ta fram artilleritabeller åt armén.

Det var inget enkelt kontorsgöra som dessa världens första programmerare fick. Liksom för dagens datorer lämnade handböcker och användargränssnitt mycket övrigt att önska. De som konstruerat ENIAC hade fullt upp med att få maskinen att över huvud taget fungera. Det lades inte ner något arbete på att göra programmeringen enklare.

Ett år senare, den 14 februari 1946, var det dags att visa upp ENIAC för allmänheten. Den bestod nu av hela 17 468 vakuumrör och var 1 000 gånger snabbare än någon annan räknemaskin. På 30 sekunder kunde ENIAC beräkna en projektilbana, något som brukade ta 20 timmar med en bordsräknemaskin eller 15 minuter med Bushs maskin.

Några månader efter pressvisningen monterades ENIAC ner och skickades till armén i Aberdeen där den var igång i sju år. Den fick arbeta med vätebombsberäkningar och ryskt väder, den hjälpte till med strömningsberäkningar för vingar och givetvis massor med ballistiska beräkningar.

Var ENIAC en dator?

Det finns de som hävdar att inte ens ENIAC var en ”riktig” dator. En förutsättning för en dator är att den har ett program som den kan följa. För ENIACs del var programmet inte lagrat i något minne, utan kopplat genom omkopplare och sladdar. Varje nytt program krävde alltså omkopplingar. Det minne ENIAC hade lagrade nämligen bara de tal som användes i beräkningarna.

Redan när Eckert och Mauchly höll på att bygga ENIAC förstod de att en maskin med lagrat program skulle vara betydligt effektivare. Men det gick inte att konstruera programminnet med rör, utan något annat måste till för att lagra programmet elektroniskt. En fråga som kom att sysselsätta ingenjören Eckert en lång tid. Han löste problemet genom att använda samma teknik räknade tiden för ett radareko i en radaranläggning.

Men den som skulle få äran av idén till det lagrade programminnet var varken Eckert eller Mauchly.

von Neumann tar över

John von Neumann var matematiker och arbetade under andra världskriget i flera hemliga projekt som förutsatte avancerade matematiska beräkningar, bland annat det projekt som skulle komma att tillverka den första atombomben. Liksom Mauchly intresserade han sig för matematiken i väderprognoser, men i sina militärprojekt kom han också i kontakt med kärnfysik, förbränning, ballistik och stötvågsanalys, som samtliga krävde omfattande matematiska beräkningar. Det var också genom militären som han kom till Moores tekniska högskola.

När John von Neumann såg ENIAC första gången var den nästan färdig. Och konstruktionen av dess efterföljare, EDVAC, hade redan påbörjats. Det var tänkt att bli en betydligt enklare, men elegantare maskin än ENIAC, och en dator med lagrat program.

Men med von Neumann med i leken kom både Eckert och Mauchly i skymundan, bland annat för att de gjorde så mycket grundarbete, de testade, lödde och byggde. Något som vetenskapsmannen von Neumann höll sig för god för.

John von Neumanns styrka låg inte på det ingenjörsmässiga planet. Han var den som kunde plocka upp idéer och artikulera dem. Han stod inte för EDVACs design, däremot kom han att formulera den på papper.

Splittringen mellan Eckert, Mauchly och von Neumann kom 1945 när John von Neumann skrev en första rapport om EDVACs design. Titeln lyder: ”First draft of a report on the EDVAC by John von Neumann”.

Rapporten beskriver grunderna för en dator med lagrat program och kom att bli stilbildande. Problemet var bara att von Neumann stod som ensam författare. Och trots att det var ett utkast skickades det ut det till 24 framstående akademiker runt om i världen. Ryktet spred sig, och ytterligare ett hundratal exemplar skickades ut.

Mauchly och Eckert insåg för sent att deras namn borde funnits med, och de skrev nu en egen och mer teknisk rapport. Inte lika elegant som von Neumanns men med rätt upphovsmän angivna. Den rapporten blev dock hemligstämplad.

Och så kommer det sig att den datorarkitektur som vi fortfarande till stor del använder kallas von Neumann-arkitektur.

Inga patent på ENIAC

Och det var inte bara äran som Eckert och Mauchly missade. De lyckades också missa patenten. När ENIACs storhet blev uppenbar, då ville alla de som tidigare inte trott på projektet plötsligt vara med. Till dem hörde Moores tekniska högskola.

Det ledde till en sådan kris att både Eckert och Mauchly sade upp sig från högskolan bara fem veckor efter ENIACs offentliga visning. Det patent som de senare lyckades få igenom bestreds i en process som slutade med att Eckert och Mauchly varken fick behålla något patent på den moderna datorn, eller ens kunde titulera sig som upphovsmän till den.

När de lämnade Moores tekniska högskola höll EDVAC på att byggas, men eftersom konstruktörerna Eckert och Mauchly slutade blev projektet kraftigt försenat. Det är skälet till att den första moderna datorn med lagrat program byggdes i England, konstruerad efter von Neumanns första utkast.

Eckert och Mauchly startade ett eget företag. Det tillverkade två datorer, men förstod inte att ta tillräckligt betalt. De var ingenjörer, inte affärsmän och företaget blev senare uppköpt.

Artikeln är delvis baserad på böckerna ”Eniac” av Scott Mccartney, ”På väg mot datasamhället” av Hans de Geer och ”Från kula till data” av Jörgen Lund.

Differentialanalysator

Tabellen på sidan 11 över banbrytande maskiner har tyvärr drabbats av några fel. Vannevar Bushs maskin från 1927 kallades för Differential Analyzer, eller på svenska differentialanalysator. Både Z3 från 1941 och Mark I från 1944 saknade lagrat program. Mark I var digital och byggd med räknehjul och reläer. Trask färdigställdes 1965. Ett tack till Göran Kjellberg som uppmärksammat felen.

Upptäck F&F:s arkiv!

Se alla utgåvor