Dator med lagrade program
En dator med lagrade program (engelska: stored-program computer) är en dator där programinstruktioner lagras i ett elektroniskt, elektromagnetiskt eller optiskt åtkomligt minne som datorn kan läsa under körning.[1] Detta skiljer sig från tidigare system där ”programmet” i praktiken bestod av omkopplingar (t.ex. via kopplingspaneler) eller fysiskt matades in via exempelvis hålremsa.[1]
Begreppet används ofta i en snävare betydelse för datorer där instruktioner och data lagras i ett och samma minne (så att program och data kan hanteras mer enhetligt), men i praktiken förekommer även varianter med separata minnen för instruktioner och data.[2]
Beskrivning
[redigera | redigera wikitext]En dator med lagrade program behöver (i princip) ett minne som kan lagra både programinstruktioner och den data som programmet arbetar med. Detta möjliggör att datorn kan byta uppgift genom att ladda in ett annat program, i stället för att byggas om fysiskt.
Två vanliga arkitekturprinciper kopplas ofta till hur minnet organiseras:
- von Neumann-arkitekturen - instruktioner och data delar normalt samma minne och samma ”väg” (buss) till processorn.
- Harvardarkitektur - instruktioner och data ligger i separata minnen och/eller separata bussar.
I facklitteratur används ibland ”dator med lagrade program” som synonym till en von Neumann-maskin, men historiker har påpekat att lagrat-program-idén och von Neumann-arkitekturen inte alltid bör sammanblandas.[3]
Historia
[redigera | redigera wikitext]Idéns bakgrund
[redigera | redigera wikitext]Som teoretisk föregångare nämns ofta universell Turingmaskin (1936), som visar att en maskin kan beskrivas av en ändlig beskrivning (”program”) och därmed i princip kan emulera andra beräkningar.[4]
Tidiga praktiska datorer kunde vara:
- icke omprogrammerbara (en enda ”fast” funktion), eller
- omprogrammerbara men med programmet lagrat utanför maskinens arbetsminne, till exempel på hålremsa, eller
- omprogrammerbara via omkopplingar och kablage.
Tidiga maskiner med lagrade program
[redigera | redigera wikitext]En tidig milstolpe är Manchester Baby (SSEM), som i Wikipedia-litteraturen ofta beskrivs som den första digitala datorn som kunde lagra program i minne (d.v.s. var ”programlagringsbar”).
En annan central maskin är EDSAC i Cambridge, som i svensk Wikipedia beskrivs som den första datorn med lagrade program i reguljär användning och som gjorde sin första beräkning 6 maj 1949.
Vilken dator som ska räknas som ”först” beror på kriterier (t.ex. elektronisk/elektromekanisk, fullskalig drift, var programmet lagras och i vilken mening instruktioner kan behandlas som data). Detta har gjort att vissa påståenden - exempelvis om IBM SSEC - har diskuterats och ifrågasatts i datorhistorisk litteratur.[5]
Telekommunikation
[redigera | redigera wikitext]När en växel eller en kopplingsanläggning styrs av ett lagrat program brukar detta kallas stored program control (SPC). Sådan programstyrning blev viktig i utvecklingen av elektroniska växelsystem under 1900-talets andra hälft.[6]
Se även
[redigera | redigera wikitext]Referenser
[redigera | redigera wikitext]- 1 2 Allison, Joanne (19 augusti 1997). ”Stored-program Computers” (på engelska). computer50.org (arkiverad). Arkiverad från originalet den 27 september 2011. https://web.archive.org/web/20110927012816/http://www.computer50.org/mark1/stored.html. Läst 28 januari 2026.
- ↑ Gilreath, William F.; Laplante, Phillip A. (2003) (på engelska). Computer Architecture: A Minimalist Perspective. sid. 24. ISBN 978-1-4020-7416-5
- ↑ Copeland, Jack (19 augusti 2000). ”A Brief History of Computing (avsnittet om ENIAC/EDVAC)” (på engelska). Stanford Encyclopedia of Philosophy. https://plato.stanford.edu/entries/computing-history/#ENIAC. Läst 28 januari 2026.
- ↑ Copeland, B. Jack (2006) (på engelska). Colossus: The Secrets of Bletchley Park's Codebreaking Computers. sid. 104. ISBN 978-0-19-284055-4
- ↑ Olley, A. (2010). "Existence Precedes Essence – Meaning of the Stored-Program Concept". {{{booktitle}}} 325: 169–178. DOI:10.1007/978-3-642-15199-6_17.
- ↑ Carbaugh, D. H.; Marselos, N. L. (1983). ”Switching System Software”. i McDonald, J. C. (på engelska). Fundamentals of Digital Switching Systems. ISBN 0-306-41224-1