von Neumann-arkitektur

den uppbyggnad av datorer som har varit standard sedan 1940-talet. – von Neumann-arkitektur innebär att data och program lagras i samma minne – sammanhanget avgör vad som är vad. Arki­tek­turen är upp­kallad efter mate­ma­tikern John von Neumann†, men andra forskare var med och utvecklade principerna. De första datorerna som tillämp­ade von Neumann‑arkitekturen var brittiska Small-scale experimental machine† (SSEM) från 1948 och ameri­kan­ska IAS machine† från 1952, som blev mönsterbildande. – von Neumann kände till Alan Turings† idéer, men han ville göra ett dator­system som var mindre intellektuellt krävande för program­merarna. Prin­ciperna beskrevs först i rapporten First draft on the Edvac (länk) från 1945 (se Edvac†). – John von Neumann delade in datorn i fyra huvud­­delar, nämligen (med moderna termer) pro­cessor, minne, styrning och användargränssnitt. Detta var inget nytt: samma delar ingår i alla datorer, inklusive Charles Babbages† analysmaskin, som ritades hundra år tidigare (men aldrig förverkligades). Mer specifikt för von Neumann‑arkitekturen är att den:

  • – har ett gemensamt minne för program­instruktioner och data. Vad som är vad avgörs av sammanhanget. Ett annat känne­tecken för von Neumann‑arkitekturen är:
  • – att beräkningarna sker sekventiellt. Programinstruktionerna verk­ställs en i taget, data och instruktioner hämtas från minnet ett i taget.

– Under 1940-talet fanns en konkurrerande arkitektur, Harvardarkitekturen, som tydligt skilde 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 sek­ven­ti­ella inläsningen av data och instruktioner från minnet. Det går ju inte att läsa in instruktioner och data samtidigt, vilket gick i Harvard­arkitekturen. John von Neumann insåg för­delarna med parallell data­behandling, men han ansåg att det skulle bli för besvärligt att genom­föra. Numera är parallellism vanligt, eftersom datorer ofta har flera processorer, eller flerkärniga processorer. Principen om gemen­samt minne har också ifråga­­satts, eftersom programspråk tydligt skiljer mellan data och instruktioner. – Efter­­som von Neumann‑arkitekturen hanterar instruktioner och data i samma minne skulle man kunna skriva program som för­ändrar sin egen kod, men knappast någon utnyttjar den möjlig­heten.

[datorer] [it-historia] [ändrad 23 september 2021]