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. Arkitekturen är uppkallad efter matematikern John von Neumann†, men andra forskare var med och utvecklade principerna. De första datorerna som tillämpade von Neumann‑arkitekturen var brittiska Small-scale experimental machine† (SSEM) från 1948 och amerikanska IAS machine† från 1952, som blev mönsterbildande. – von Neumann kände till Alan Turings† idéer, men han ville göra ett datorsystem som var mindre intellektuellt krävande för programmerarna. Principerna 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 huvuddelar, nämligen (med moderna termer) processor, 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 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, 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 sekventiella 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 Harvardarkitekturen. John von Neumann insåg fördelarna med parallell databehandling, men han ansåg att det skulle bli för besvärligt att genomföra. Numera är parallellism vanligt, eftersom datorer ofta har flera processorer, eller flerkärniga processorer. Principen om gemensamt minne har också ifrågasatts, eftersom programspråk tydligt skiljer mellan data och instruktioner. – Eftersom 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öjligheten.
[datorer] [it-historia] [ändrad 23 september 2021]