Dataminne

En dator består av olika minnestyper och dessa benäms Primärminne och Sekundärminne. Det finns även ett antal ytterligare minnestyper t.ex. Cashe, Bios, Firmware och Register.

Med primärminne (ibland även kallad internminne, arbetsminne eller kärnminne) menas det minne som alla program och allt data som skall exekveras och bearbetas tillfälligt ligger lagrat i. Får inte allt data plats i primärminnet samtidigt så flyttas datat in och ut från sekundärminnet i stora block efterhand som data efterfrågas av det program som körs för tillfälligt. Denna teknik för omflyttning av data mellan primär- och sekundär- minnet kallas ”Paging” (små omflyttningar i förutbestämda blockstorlekar) eller ”Swaping” (stora omflyttningar där hela program flyttas). ”Swap prefetch ” är en teknik där operativsystemet i förväg försöker avgöra vilka delar av programkoder och dataareor som processorn kommer att adressera , för att på så sätt göra omflyttningar mellan primär och sekundär minnet i förväg.

Om en dator utsätts för en för hög belastning kommer all datakraft att gå åt till ”Paging”, ”Swaping” och ”Swap prefetch” och användaren uppfattas det som att datorn har hängt sig. Detta tillstånd kallas för ”Trashing”. En viktig uppgift för ett operativsystem är att kunna känna av när datorn har hamnat i ”Trashing” och när detta tillstånd har identifierats byta teknik för minneshantering för att på så sätt låsa upp hängningen.

Från början bestod primärminnet av reläer där varje relä kunde vara påslagen (etta) eller frånslagen (nolla). Reläerna bestod av radiorör vilket var ett hinder när man försökte bygga stora och komplexa minnen, på grund av den relativt korta livstiden för ett enskilt radiorör.
Från tidigt 1950-tal tillverkades primärminnet av små kuber (kärnor) tillverkade av ett magnetiskt material, som var placerade i en stor tredimensionell matris.
Varje kärna representerade en ”bit” som kunde lagra en nolla (omagnitiserad kärna) eller en etta (magnetiserad kärna).
Från mitten av 1970-talet används nästan uteslutande primärminnen av halvledarteknik, dvs tätt integrerade transistorer på ett kisel- eller silicon- chip. Utvecklingen av dessa halvledarminnen pågår ständigt och denna utveckling har för med sig en mängd nya begrepp för olika tekniker t.ex: DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory), SDRAM (Synchronous Dynamic Random Access Memory), DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory)

Sekundärminnet kallas även för bl.a. massminne, skivminne, hårddisk, diskminne, disktrumma, Winchester disk och en mängd andra olika namn som har med den aktuella tekniken för sekundärminnet att göra. I sekundärminnet lagras alla program, datafiler och databaser och detta minne klarar av att behålla all information även när strömmen är frånslagen.

Skälet till att man delar upp dataminnet i primärminne och sekundärminne beror på de olika egenskaperna hos de båda minnestyperna. Primärminnet är snabbt men dyrbart, medan Sekundärminnet är betydligt långsammare men billigare. Primärminnet klarar inte av att behålla informationen när strömmen är frånslagen men sekundärminnet klarar det. I framtiden kommer, med hjälp av teknikutvecklingen, gränsen mellan primärminne och sekundärminne att bli mer diffus ut. Allt minne blir snabbt och billigt. Primärminnet kommer då förmodligen att fungera som ett stort casheminne (se nedan).
Nyckelord Dataminne Ett modernt sekundärminne består idag av skivminnen (hårddiskar) antingen kopplade direkt till själva datorn eller i företag och organisationer, som ingående komponenter i stora datalagringsstrukturer som t.ex. ”HP Enterprise Virtual Array” (EVA). Varje disk, eller controllern till disken, har ofta ett eget litet snabbt cacheminne vilket gör att när någon begär informationen från en disk så är det väldigt hög sannolikhet att denna information i praktiken hittas direkt i cacheminnet så att själva skivminnet i hårddisken inte behöver adresseras. Andra typer av sekundärminne är magnetbandsstationer och andra flyttbara medier t.ex CD-läsare och DVD-läsare. Dessa typer av sekundärminne är oftast betydligt långsammare än skivminne och används till backup och långtidsförvaring av data.

Cache (eller cacheminne) är ett minne med väldigt korta läs och skriv tider där de senaste bearbetade datat , eller delar av den senaste exekverade programkoden, tillfälligt ligger lagrat. I de allra flesta praktiska tillämpningar kommer mer än 50% av det data som precis har bearbetats av processorn direkt att adresseras igen och detta data kommer därför med stor sannolikhet att finnas kvar i cacheminnet med väldigt kort åtkomsttid. Cacheminne finns dels inne i själva processorn, Level 1 cache, och dels på datorns moderkort, Level 2 cache. Ett cacheminne är oftast tillverkad med en halvledarteknik som kallas SRAM (Static Random Access Memory).

Bios (förkortning av "Basic Input/Output System" är ett grundläggande program som ligger i ett separat minne i datorn. Ett minne som bevarar sitt innehåll även när spänningen är frånslagen. Bios innehåller information om datorns grundläggande struktur och uppbyggnad t.ex vilka hårddiskar som är kopplade till datorn, hur ser dessa ser ut och var själva operativsystemet ligger lagrat i diskstrukturen. Bios är den funktion i uppstartsögonblicket som ser till att operativsystemet laddas och startar upp.

En del av funktionaliteten i en separat datorkomponent består av inbyggd programvara. Denna programvara med tillhörande elektronik kan liknas vid ett eget litet inbyggt datorsystem. Minnet som detta program ligger lagrat kallas Firmware. Fördelen med att konstruera utrustning, t.ex. hårddiskar, med firmware teknik är att man kan underhålla och vidareutveckla funktionaliteten i själva maskinutrustningen.

Det allra snabbaste minnet i en dator är Registren som ligger tätt integrerat med datorns aritmetiska och logiska enheter, ALU.
I processorns Register läggs i varje givet ögonblick det data som processorn som skall bearbeta. Register klassificeras ibland inte som ett minne utan bara som en ingående komponent i datorns processor. Kompilatorer (programvara för att skapa körbar programkod från ett program skrivet i ett högnivåspråk) som är bra på att optimera den färdiga programkoden, försöker använder sig av datorns register för att lagra små korta datamängder som används flitigt, t.ex. index (pekare till annan datamängd som programmet utnyttjar) och på så sätt snabba upp programmet.
Läs mer om cache minne på Wikipedia >> Läs mer om SRAM (Static Random Access Memory) på Wikipedia >> Läs mer om DRAM (Dynamic Random Access Memory)
på Wikipedia >>