Datorminne
Den här artikeln behöver källhänvisningar för att kunna verifieras. (2020-04) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
Ett datorminne är en enhet som lagrar data i en dator. Beroende på minnets typ och syfte kan lagringstiden variera från bråkdelen av en sekund till flera år.
Datorminnen kan delas in i olika minnestyper enligt ett antal kriterier.
Användning
redigeraArbetsminnen är snabba men dyra och tappar i regel sitt innehåll när datorn stängs av. Dessa minnen används för att lagra datorprogram och dess data när programmen körs. En del processorer, ofta i en mikrokontroller, har ett separat programminne för lagring av program.
Lagringsminnen är i regel långsamma men billiga och beständiga. De används för att lagra datorprogram och dess data när programmen inte körs, samt i vissa fall för att möjliggöra virtuellt minne. Exempel på lagringsminnen är hårddiskar, dvd-skivor och flashminnen.
Arbetsminne kallas också primärminne, eftersom dessa minnen kan användas av datorns processor direkt och utan avancerad mellanliggande logik eller långsamma anslutningar. Detta står då i kontrast till sekundärminne, vilket avser lagringsminne. Enligt en liknande princip kallas arbetsminne ofta för internminne och lagringsminne för externminne, då lagringsminnen historiskt sett ofta var fristående från själva datorn.
I realtidssystem där sekundärminnen skulle medföra alltför stora fördröjningar används ofta mer processornära lagringsminnen, som då närmast är att beteckna som primärminnen. I dessa tillämpningar är sådana minnen ofta små och mer eller mindre skrivskyddade (ROM).
Minnespyramiden
redigeraEn dators förmåga att utföra beräkningar snabbt är i stor del beroende på hur snabbt minnet är. Snabba minnen är dock kostsamma, och dessutom begränsas möjligheten till stora snabba minnen av fysikaliska hinder, framför allt av ljusets hastighet som styr hur fort elektriska signaler kan skickas till och från minnet. Därför har det med tiden utvecklats olika sorters minnen som kan tänkas sorterade i en pyramid, vars topp består av mycket snabba men också mycket dyra minnen med begränsad kapacitet, och vars bas består av långsamma men billiga minnen med i princip obegränsad kapacitet.
Register
redigeraDen snabbaste formen av minne är mikroprocessorns register, vilka processorn använder direkt för att utföra sitt arbete. Processorns instruktioner bearbetar data i registren eller flyttar data mellan register och övrigt minne. Registren befinner sig fysiskt så nära man kan komma processorn, men deras antal är begränsat till vad som rimligtvis kan få plats på processorns integrerade krets. Exempel på särskilda register är programräknare och stackpekare. En typisk registeraccess tar c:a 1 klockcykel; en typisk modern processor kan ha några dussin register.
Cacheminnen
redigeraUnder 1980-talet och 1990-talet ökade processorernas klockfrekvenser dramatiskt, medan primärminnenas drifthastighet nästan helt stod stilla. Detta innebar att processorn fick ofta vänta väldigt länge på att hämta från eller lagra i primärminnet (den så kallade von Neumann-flaskhalsen). För att åtgärda detta utvecklades cacheminnen, vars funktion är att lagra ofta använda data i ett snabbare minne än primärminnet. Dessa har betydligt större kapacitet än processorregistren, men är i gengäld något långsammare. Några cacheminnen byggs in i processorns IC-krets, medan andra förekommer som separata IC-kretsar som placeras nära processorn på datorns moderkort. Typiska cacheminnesaccesser kan ta från 1 till 30 klockcykler; cacheminnens storlek kan variera från några få kilobyte (kB) till flera megabyte (MB).
Primärminnet
redigeraEtt steg ner i minnespyramiden finns primärminnet som är det huvudsakliga arbetsminnet i en dator. Primärminnet består idag av olika sorters DRAM-minnen, som är långsammare än cacheminnen, men i gengäld är de något billigare att framställa i större kapaciteter. En primärminnesaccess kan ta 60 - 200 klockcykler att genomföra; typiska primärminnen idag (2018) kan vara 2 GB till 32 GB
Sekundärminnet
redigeraVanliga exempel på sekundär- eller lagringsminnen är hårddiskar, CD-ROM, magnetband och flashminnen. Dessa är mycket långsamma i förhållande till de tidigare nämnda minnestyperna, men i gengäld är de billigare och kapaciteten nästan obegränsad. En typisk hårddisk idag (2011) kan lagra upp emot 3000 gigabyte, men har en accestid på några millisekunder, vilket motsvarar runt en miljon klockcykler!
Beständighet
redigeraArbetsminne är vanligtvis flyktigt, vilket innebär att dess innehåll går förlorat när datorn stängs av.
Lagringsminne är beständigt. För att en dator uppbyggd enligt von Neumann-arkitekturen ska kunna starta måste den ha lagringsminne för kunna lagra program även när den är avstängd. I persondatorer lagras bios, det mest grundläggande programmet som gör det möjligt att starta datorn, vanligtvis i ett litet men relativt snabbt, beständigt minne. Tidigare var skrivskyddade minnen vanliga, men utvecklingen går mot alltmer skrivbara flashminnen.
Åtkomst
redigeraDatorn hämtar data från sitt minne genom att specificera adressen till den önskade delen av minnet. Vissa minnestyper medger direkt åtkomst till alla adresser, medan andra kräver sekventiell sökning tills den angivna adressen nås.
Arbetsminne medger alltid direktåtkomst och kallas därför ofta för RAM (för Random Access Memory, "minne med slumpmässig åtkomst"). Magnetband är typexemplet på minne med sekventiell åtkomst, då det måste spolas framåt eller bakåt från läshuvudets faktiska position för att komma till den önskade positionen. Hårddiskar medger direktåtkomst för sektorer, men dessa sektorer måste sedan läsas sekventiellt för att nå en angiven adress.
Skrivbarhet
redigeraVissa minnestyper är skrivskyddade efter att de tillverkats. Dessa kallas ROM (för Read-Only Memory, "endast läsbart minne"). Exempel på sådana minnen är cd-rom-skivor och minnen som lagrar fasta program i inbyggda system.
Många minnen som tidigare oftast varit skrivskyddade har blivit alltmer skrivbara. Flashminnen som kan raderas och skrivas om flera gånger blir allt vanligare i inbyggda system, vilket medger uppdatering av fasta program. CD-R-tekniken gjorde det möjligt för vanliga användare att skriva egen data på cd-skivor, och dessa skivor klassas således som worm (Write Once, Read Many, "skriv en gång, läs många gånger"). Senare kom även CD-RW-tekniken som gjorde det möjligt att skriva över en skiva flera gånger.