1. Inledning
2. RAM 3. ROM 4. BIOS och PRAM 5. Vad händer vid uppstarten? 6. Adressering och organisering 1. InledningDen här sidan tar i detalj upp datorns systemminnen och fördjupar det som sades på sidan Så fungerar datorn. Den som tycker att texten är svår bör kanske först läsa några av de mer grundläggande tekniska sidorna. Du hittar en innehållsförteckning under denna länk. 2. RAMRAM är ett läs- och skrivminne. RAM betyder "Random Access Memory", vilket kan översättas med "slumpmässig minnesåtkomst". Accesstiden till en bit eller ett binärt uttryck i minnet är alltså lika stor, oberoende av var i minnet biten eller uttrycket finns. Accesstiden är den tid det tar att skriva eller läsa in data i minnet. Tiden mäts i nanosekunder, vilket är miljarddelar av sekunder. Accesstiden till RAM-minnet brukar vara på mellan 5 och 50 ns (=nanosekunder). Som jämförelse mäter man accesstiden till hårddiskar i millisekunder, alltså blott tusendelar av sekunder. Alla RAM-minnen är läs- och skrivbara och kallas ibland därför också RWM-minnen. RWM står då för "Read-Write-Memory". Nästan alla RAM-minnen är flyktiga, vilket betyder att datan försvinner när strömmen till minneskretsen bryts. Det finns batteridrivna RAM-minnen, vilka behåller informationen även efter att strömmen slagits av. Det finns även NV-RAM-minnen, som klarar detta även utan en batteribackup. RAM-minnen delas upp i två olika familjer. De statiska kallas SRAM och de dynamiska kallas DRAM. SRAM lanserades i början av 80-talet och var länge snabbare än DRAM, men också dyrare. Accesstiden för SRAM är c:a 5-35 ns, medan den ligger kring 50-100 ns för DRAM. Det finns faktiskt också snabbare minnestyper, med en accesstid på 0-5 ns, men de bygger på en annan teknik, som kallas ECL. RAM-minnenas konstruktion kunde du läsa om på sidorna Integrerade kretsar och Elektroniska komponenter. DRAM kom några år efter SRAM. Det speciella med DRAM är att det bara kan behålla sin laddning under några få ms (=millisekunder). Minnescellerna måste därför ständigt uppdateras - 100 gånger i sekunden eller mer - en process som kallas refresh. Fördelen med DRAM är att det tar mindre plats på chipet än SRAM, eftersom varje minnescell i stort sett utgörs av en enda MOS-transistor. Man säger därför att DRAM har högre packningstäthet, vilket alltså betyder att de kan lagra mer data och därmed bli mer kostnadseffektiva, räknat per lagrad bit. Utvecklingen av RAM-minnen går dithän att man försöker kombinera snabbheten hos SRAM med lagringskapaciteten hos DRAM. EDRAM (Enhanced DRAM) är ett sådant exempel, som bl.a används till cacheminnen.
3. ROMROM står för "Read Only Memory" och kan översättas med "läsminne". Det går alltså bara att läsa från minnet, men inte att skriva till det. ROM-minnet är inte flyktigt utan datan stannar kvar även sedan strömmen slagits av. ROM fyller därför andra funktioner i datorn än RAM, oftast att innehålla sådana data som datorn behöver för att kunna starta och ladda in ett operativsystem.
De flesta ROM-minnen består av MOS- eller CMOS-kretsar. Oftast är det tillverkaren som har präglat informationen i minnet, t.ex olika koder, startrutiner, program, eller annan information som inte behöver ändras. Det finns även ROM-minnen som kan kompletteras med ytterligare information än den som redan bränts in. PROM (Programmable ROM) kallas sådana minnen där tillägg kan göras en enda gång. Vill man kunna göra kontinuerliga ändringar i ROM, måste man använda ett EPROM (Erasable Programmable ROM). Själva programmeringen (raderingen) brukar ske med hjälp av ultraviolett ljus, som lyser in genom ett litet fönster på toppen av minneskretsen. Ibland ser man därför beteckningen UV-EPROM på sådana kretsar. Idag har EPROM nästan helt ersatt vanliga PROM, dels beroende på att de är raderbara och dels på att de faktiskt också är billigare. Alla EPROM är dock inte av UV-typ. Det finns också de som kan programmeras på elektrisk väg. E-EPROM eller E2-PROM kallas sådana kretsar för. EE står för "Electrically Erasable". Det finns också en variant av EEPROM som kallas Flash-EPROM. Skillnaden är att hela Flash-kretsen omprogrammeras på samma gång, i stället för selektivt, som fallet är med EEPROM. Man använder inte skrivbara ROM-minnen om man inte måste. Att ändra informationen i en ROM-krets tar nämligen 100-1000 gånger längre tid än att skriva till en RAM-krets. Det finns därför också kombinationer av RAM och ROM, t.ex NVRAM-minnen. "NV" står för "Non-Volatile" och betyder "icke-flyktigt". Sådana kretsar innehåller både ett RAM- och ett ROM-minne, t.ex EPROM. Det fungerar som ett vanligt RAM-minne, men kretsen känner av ett spänningsfall (t.ex om strömmen bryts) och kopierar då innehållet i RAM-kretsen till ROM-kretsen. När strömmen slås på laddas datan på nytt över i RAM-minnet igen. 4. BIOS och PRAMI datorer med Intel-processor sitter en ROM-krets som innehåller BIOS. BIOS står för "Basic Input Output System". Motsvarande funktioner finns i datorer med andra processorer. I en Macintosh är PRAM parameterminnet jämförbar med BIOS. BIOS är ett litet program som aktiveras av processorn vid uppstart. Det innehåller information om vilken hårdvara som finns i datorn, t.ex minnets storlek och grafikkortets kapacitet. BIOS arbetar vid uppstarten och styr den grundläggande kommunikationen mellan hårdvaran och operativsystemet. För att man skall kunna uppgradera sin dator är det viktigt att även BIOS kan ändras. Därför använder man idag ofta Flash-EPROM till BIOS. Flash-BIOS kallar man därför ibland denna lösning. Minnet i BIOS behålls genom det lilla batteri som sitter inne i datorn. För att radera BIOS tar man alltså bara ur batteriet och väntar ett tag. Sedan sätter man in det igen och startar datorn. 5. Vad händer vid uppstarten?Först görs ett självtest, som brukar kallas POST eller "Power-On Self Test". Då kontrolleras alla datorns huvudfunktioner. Det är denna kontroll som låter när du startar datorn, t.ex som en klang eller ton. Sedan startas bildskärmen, där BIOS redovisar vad som händer vid uppstarten. Minnet kontrolleras, ansluten hårdvara anropas och drivrutiner läses in. I det här läget kan man trycka på en eller flera tangenter, för att komma in i BIOS och göra ändringar. Man kan t.ex ställa in vilken enhet datorn skall läsa från först, hur många hårddiskar eller partitioner som finns, osv. Hur man kommer in i BIOS brukar stå i manualen för respektive dator. Det varierar nämligen mellan olika tillverkare. Efter att den grundläggande kontrollen blivit klar, börjar operativsystemet läsas in i RAM. BIOS letar först upp alla startfiler. Om man inte ändrat i BIOS letar datorn först i diskettstationen. Det är därför den surrar. Har man en diskett med sina textfiler i diskettstationen stoppas uppstarten och ett felmeddelande kommer upp om att det inte är någon giltig systemdiskett. Motsvarande felmeddelande kan man få upp om man har en CD-skiva i CD-läsaren. När startfilerna hittats läses startsektorn in. Den kallas även MBR - "Master Boot Record". Informationen i denna kopieras till RAM och operativsystemet är nu färdigt att börja användas. Om fel påträffas hörs en varningssignal (ibland) och ett kontrollprogram körs igång. I Windows heter det ScanDisc och i Mac Skivkontroll. Felaktiga filer rättas till. Hittas inga fel fortsätter uppstarten, ofta med flera mindre pip. Man ser ganska tydligt på skärmen vad som händer och kan (men bör inte) avbryta kontrollprogrammet. 6. Adressering och organiseringFör att man skall kunna lagra och hämta information från minnet måste de olika minnescellerna kunna väljas ut. Detta kallas för att adressera minnet. Man kan likna en minneskrets vid ett koordinatsystem, med minnescellerna ordnade efter x- och y-axlarna. För att peka ut en cell anger man alltså dess kolumn (column address) och dess radnummer (row address). Minnescellernas plats kan sedan anges med ett binärt tal och minnet i cellen kan hämtas eller ändras. Det finns även ett annat sätt att beskriva datorns systemminne på och det är genom att tala om RAM-minnets organisation. Bilden visar en skiss över hur det fungerar i MS-DOS. Exakt hur delarna ser ut och hur mycket utrymme de tar av minnet i anspråk, beror på vilket operativsystem man använder.
Denna organisation finns därför i mer än 100 miljoner datorer världen över och har sett likadan ut i mer än 20 år. Men helt säkert kommer den inte att bestå i ytterligare 20 år. Nya operativsystem kräver helt andra tilldelningar av minne. Varför har man försökt använda samma organisation i datorerna? Jo, därför att man då lättare kan göra dem kompatibla med andra system. De ursprungliga Intel-baserade datorerna hade ett minne om blott 640 Kb. Detta minne kallar man därför för det konventionella minnet. Detta minne utökades så småningom till 1 Mb och de 360 Kb extra kallades för det övre minnesområdet eller UMA (Upper Memory Area). Detta minne användes av bl.a grafikkorten. I 286:an och dess efterföljare blev ett internminne på över 1 Mb verklighet och därför skapade man möjligheten att ha ett utökat minne eller "extended memory". För att detta skulle kunna utnyttjas krävdes vissa rutiner, som att samordna kommunikationen mellan de olika delarna av minnet. Sådana rutiner lades i det höga minnesområdet, som även kallas HMA (High Memory Area). Minnesladdaren HIMEM.sys i DOS laddas t.ex här. Det utökade minnet kallas ibland extended eller expanded. EMS är en annan beteckning, som står för "Expanded memory Specification". |