Datorns historia

Jag ger full cred till Wikipedia som denna text är hämtad ifrån.

Räknemaskiner har funnits i flera hundra år, men det var först på 1900-talet som de blev elektriska.

Föregångare och stickspår

Blaise Pascal uppfann 1642 den första mekaniska räknemaskinen, vilken kunde addera och subtrahera och kan ses som en föregångare till datorn. Tre decennier senare konstruerade Gottfried Wilhelm von Leibniz en maskin som dessutom klarade multiplikation och division.

Därefter stagnerade utvecklingen fram till 1820-talet, då Charles Babbage presenterade ritningarna till differensmaskinen, i princip en mekanisk dator vars program var förutbestämt av själva utformningen. Babbage uppfann därefter den analytiska maskinen 1834, en fullt programmerbar mekanisk dator med arbetsminne, processor, hålkortsläsare för inmatning samt utdataenhter för skrift och stansning av hålkort. Ada Lovelace skrev de första datorprogrammen för den analytiska maskinen. Dock led konstruktionen av mekaniska problem och färdigställdes aldrig.

År 1936 konstruerade den tyska ingenjörsstudenten Konrad Zuse den första elektromekaniska datorn, Z1, samt en rad andra datorer baserade på elektromagnetiska reläer. Apparaterna förstördes 1944 när de allierade bombade Berlin under andra världskriget, och hans verk påverkade därför inte utformningen av senare datorer nämnvärt.

Den brittiska regeringen lät under stor sekretess bygga Colossus för att avkoda Tysklands enigmakrypterade meddelanden, ett arbete som Alan Turing deltog i. Maskinen var i bruk 1943, men påverkade inte heller den övriga utvecklingen, eftersom den var sekretessbelagd i tre decennier.

År 1944 skapade Howard Aiken vid Harvarduniversitet i USA den decimala datorn Mark I, inspirerad av Babbages verk.

Eniac

ENIAC, Electronic Numerical Integrator And Calculator) började utvecklas 1942 av amerikanerna Presper Eckert och John Mauchly. Syftet med projektet var att snabbt kunna göra beräkningar av militär natur, däribland väderprognoser och analyser av projektilbanor. ENIAC var en av de första helelektroniska, turingkompletta, digitala datorerna men den var inte först. Colossus i England och Z3 i Tyskland var före.

Man övervägde att bygga en analog maskin, men en maskin som arbetade enligt den principen skulle inte klara av uträkningarna tillräckligt snabbt. Lösningen var en digital maskin. Den snabbaste komponent som fanns att åtgå på den tiden var elektronröret (även kallat radiorör), tyvärr så var detta ganska omständligt att använda sig av, mer om detta längre ned. Eniac stod klar 1946. Den vägde 27 ton och tog upp en golvyta på 130 m2. Vidare bestod den av omkring 18 000 elektronrör, 70 000 resistorer, 10 000 kondensatorer, 6 000 strömbrytare och 1 500 reläer.

Nackdelarna med Eniac var att maskinen var väldigt effektkrävande och att delar i den gick sönder två till tre gånger i veckan. Den var mycket omständlig att programmera om från en uppgift till en annan. När den skulle göra väderprognoser för 24 timmar tog det nästan 24 timmar att ta fram prognosen. Därför använde man Eniac endast för att göra militära och tekniskt vetenskapliga uträkningar. Den hade en kapacitet av 5000 additioner per sekund. Den krångliga programmeringen som bestod av att koppla om sladdar i maskinens inre byttes år 1948 ut mot en enklare metod.

ENIAC var inte en binär maskin, den räknade med det decimala talsystemet. Detta gjorde att man inte behövde konvertera några tal efter att man räknat färdigt, däremot så försvårade det konstruktionen avsevärt. Den första binära datorn som kunde lagra sina egna instruktioner i sitt internminne var Manchester Baby som den 21 juni 1946 kunde göra sina första beräkningar.

von Neumann-arkitekturen

John von Neumann, som varit inblandad i eniacprojektet, insåg att i stället för att programmeras genom inställningar av reläer och kabeldragningar skulle datorprogram kunna lagras i datorns minne tillsammans med data. Baserat på detta skapade han designen för IAS-maskinen, som byggdes 1952, och principen användes även i Maurice Wilkes dator Edsac 1949.

von Neumann-arkitekturen är grunden för den uppbyggnad av datorer som har varit standard sedan 1940-talet. Den är uppkallad efter matematikern John von Neumann, men flera andra forskare var med och utvecklade principerna. John von Neumann delade in datorn i fyra huvuddelar, nämligen (med moderna termer):

– aritmetikenhet (matematik-enhet)
– minne
– styrenhet
– användargränssnitt

Detta var inget nytt – samma delar ingår i alla datorer, inklusive Charles Babbages differensmaskin, som är hundra år äldre. Mer specifikt är att von Neumann-arkitekturen har ett gemensamt minne för programinstruktioner och data. Vad som är vad avgörs av sammanhanget. Ett annat kännetecken för von Neumann-arkitekturen är att beräkningarna sker sekventiellt.

Programinstruktionerna verkställs en i taget, data och instruktioner hämtas från minnet ett i taget. Under 1940-talet fanns en konkurrerande arkitektur, baserad på Alan Turings principer, som tydligt skiljer mellan instruktioner och data. Det har gjorts många försök att utveckla nya arkitekturer. Främst gäller det att komma ifrån ”von Neumann-flaskhalsen”, den sekventiella inläsningen av data från minnet. (von Neumann insåg fördelarna med parallell databehandling, men ansåg att det skulle bli för besvärligt att genomföra.)

Principen om gemensamt minne har också ifrågasatts, eftersom alla programspråk tydligt skiljer mellan data och instruktioner. von Neumann-arkitekturen tillåter att man skriver program som förändrar sin egen programkod, men den möjligheten uttnyttjas vanligtvis inte. Å andra sidan är samma princip en förutsättning för något som alla moderna datorer använder sig av dagligen: ett program kan skapa ett annat program och lagra det i minnet.

I en modern dator är oftast de centrala delarna av datorn: aritmetikenheten och styrenheten samlad i ett chip i form av en processor (CPU). Det kan också nämnas att i allmänhet har processorn cacheminnen, och att i alla fall vissa nivåer av dessa ofta skiljer mellan data och instruktioner. Instruktionscachen kan, i princip, inte acceptera skrivning. Kodförändringar innebär i stället att delar av cachen töms och att det ändrade innehållet läses tillbaka från datacache eller primärminnet. I vissa datorarkitekturer krävs till och med en speciell instruktion för att meddela processorn att instruktionscachen kan behöva uppdateras.

Transistorbaserade datorer

Den första generationens datorer var baserade på vakuumrör. När John Bardeen, Walter Brattain och William Shockley vid Bell Labs uppfann transistorn 1948 (vilket de senare mottog Nobelpriset i fysik för) utgjorde detta grunden för den andra generationens datorer.

Den första transistorbaserade datorn var TX-0, som utvecklades vid MITs Lincolnlaboratorium med inspiration från det tidigare MIT-projektet Whirlwind I från 1952. En av ingenjörerna vid laboratoriet, Kenneth Olsen, grundade DEC som 1961 började sälja PDP-1, en kommersiell minidator som liknade TX-0. PDP-1 konkurrerade främst med IBM 7090, en transistorbaserad dator från företaget a-in-a-circle.com
IBM, som börjat intressera sig för datorer allt mer efter att tidigare ha finansierat Aikens Mark I. PDP-1 hade visserligen bara hälften av prestandan jämfört med IBM 7090, men den kostade också mindre än en tiondel så mycket. Den blev en stor succé och såldes i 50 exemplar. Efterföljaren PDP-8 som kom 1965 blev en ännu större succé och såldes i 50 000 exemplar.

Integrerade kretsar

Nästa stora framsteg kom 1958, då Robert Noyce uppfann den integrerade kretsen, vilken medförde ännu effektivare miniatyrisering. Denna era, som pågick fram till 1980-talets början dominerades av IBM System 360, den första standardiserade datorserien med maskiner i olika prestandaklasser. Även DECs konkurrerande serie PDP-11 hade stora framgångar, återigen genom att många gånger vara något mindre kraftfull och betydligt billigare än motsvarande IBM-modell.

VLSI, IBM PC och hemdatorerna

Integreringstrenden fortsatte och vid 1980-talets början hade man nått vad som brukar kallas VLSI (Very Large Scale Integration, ”mycket storskalig integrering”) med miljontals transistorer på ett integrerat kretskort. Detta gjorde att datorerna började bli tillräckligt små för att användas privat och detta gav upphov till hemdatortrenden.

År 1977 släppte Commodore en 8-bitars dator (PET) och ungefär samtidigt släppte Apple sin Apple II. 1981 släppte IBM persondatorn IBM PC med en öppen standard för instickskort och andra komponenter. Några veckor innan släpptes dock en annan PC-dator vid namn Sirius I och som var skapad av Chuck Peddle. IBM PC är dock den dator som blev känd och inom kort växte det fram en industri för tillverkning av vad man kallade IBM PC-kompatibla persondatorer. 1984 fick denna en konkurrent från Apple (Macintosh 128k) som hade ett för den tiden väldigt lättanvänt grafiskt gränssnitt som ännu har många likheter med moderna operativsystem.

PC

Uttrycket PC kommer från engelskans personal computer, ”persondator”. Uttrycket har använts i oförkortad form sedan 1960-talet, men förkortningen blev känd när IBM registrerade och marknadsförde varumärket IBM PC. Specifikationen för denna tidiga hemdator publicerades öppet, och IBM pc-kompatibla datorer blev vanliga. Dessa kom ofta att kallas för enbart PC, så att begreppet idag ofta syftar på en sorts dator vars delar är kompatibla med andra PC-datorer. En konkurrerande grupp är den så kallade Mac-familjen, som marknadsförs av företaget Apple. Samtidigt har den mer generella betydelsen persondator bibehållits parallellt.