Von Neuman datormodell

En av de få som jobbade med att utveckla ENIAC var en ungersk matematiker, John von Neumann. Han ville ändra konceptet av datorarkitekturen, i hans tid startade datormaskiner utan någon lagrade program. Istället ville John Von Neumann ha datorer som kunde behålla program.

Bild 1: ENIAC 1943 – 1945

Neumanns datorarkitektur är en konceptuell modell som visar hur en dator fungerar. Datorn är programmerbar, kan bearbeta information, kan tillhandahålla resultat och kan behålla det. En sådan dator består av tre hårdvarusystem:

  • En central processorenhet (CPU) 
  • Ett huvudminnessystem som innehåller program som styr datorns funktioner.
  • Ett I / O-system.
Bild 2: Von Neumann datorarkitektur

Central Processing Unit

I CPU finns  styrenhet (Control Unit), en aritmetisk logikenhet (ALU), register (små lagringsområden) och en programräknare (Program Counter).

  • Control unit  eller styrenheten avkodar vad varje instruktion betyder och kan sedan styra hur de andra komponenterna fungerar. Styrenheten innehåller också en klocka. Detta är en liten oscillerande kristall, som styr hastigheten med vilken beräkningar utförs av CPU: n.
  • Arithmetic-logic unit eller ALU är kärnan i CPU: n. Den består av alla de logiska kretsar för att utföra en mängd olika operationer. Det kan exekvera additionen av binära tal eller andra aritmetiska operationer, såsom subtraktion mm. ALU kan också utföra logiska operationer, till exempel att jämföra två binära tal för att se om de är lika eller inte. Det vardagliga språket ”dator pratar ettor och nollor” speglar just hur dessa kretsar används i en dator.
Bild 3: Logiska kretsar – grindar
  • Register är delar av processorn som kan lagra data. De fungerar lite som RAM dock kan register inte hålla så mycket data som RAM kan, men det fungerar betydligt snabbare. Det finns fem olika typer av register inom CPU.

Primärminne (Main memory)

Genom åren har idéerna i von Neumann-arkitekturen utvidgats så att program och data som lagras i ett långsamt åtkomstlagringsmedium, såsom en hårddisk, kan kopieras till ett snabbt åtkomligt, flyktigt lagringsmedium som RAM före exekvering. Denna arkitektur inkluderar specialiserade bussar, flyttalspunkter, och cacheminnen bland flera komponenter till.

Ett minne är en uppsättning av flera minnesceller som var och en har en unikt indexnummer eller identifikationsnummer som kallas för minnesadress. Det är processorn som är ansvarig att välja minnesceller för att läsa eller skriva data. Mer om datorns minne i kommande sidor.

Input och Output

Bild 4: Datorns systembuss

Databussen flyttar data från huvudminnet till CPU-registren (och vice versa). Adressbussen innehåller adressen till de data som databussen för närvarande har åtkomst till. Styrbussen bär nödvändiga styrsignaler som anger hur informationsöverföringen ska ske.

Andra förbättringar av von Neumann-arkitekturen inkluderar att använda indexregister för adressering, lägga till flytpunktsdata, använda avbrott och asynkron I/O, lägga till virtuellt minne och lägga till allmänna register.

Icke-Von Neuman datormodeller

Von Neumanns flaskhalsen (en enda vägg till ett gemensamt minne för instruktioner och data) har genererat andra datormodeller, till exempel Harvardarkitektur. I en Harvardarkitekturen skiljs instruktioner och data som lagras i olika minne och som har egen väg till CPU:d styrenheten.

Bild 5: Datorarkitektur

Flera alternativsutvecklingar tar ifrån sig Neumanns konceptuella datormodellen och andra tankar om hur datorer ska fungera därmed hur CPU ska byggas upp. Idag är ingen konstighet att tänka sig datormaskiner med 32, 64 och ännu många hundra till, nej tusentals och inklusive miljon processorer. Sådana datormaskiner är kända som parallella datorer.

Hur nära är den tiden där vi vanliga datoranvändare ska ha datorer med 32 processorer för hemanvändning?