Mer datorarkitektur En titt I datorn Minnen
von Neumann-modellen
von Neumann-modellen CPU (Central Processing Unit) Styrenhet hämtar programinstruktioner ALU (Arithmetic and Logical Unit) utför beräkningar Register innehåller snabbtillgängliga data Minne innehåller både data och program Primärminne närmast CPU, korttidslagring Sekundärminne längre från CPU, långtidslagring Input/Output kommunikation med användaren Nätverksanslutning kommuniktion med andra datorer och system
Primärminne Sitter på moderkortet. Primärminnet laddas med Operativsystem. Program och data som används för tillfället. Olika typer av primärminne Random Access Memory (RAM). Read Only Memory (ROM). Programmable ROM (PROM). Erasable ROM (EPROM). Electrical EPROM (EEPROM). Ultra Violet EPROM (UVPROM). Flash-minne. Magnetic RAM (MRAM).
Sekundärminne Långtidslagring av program och data. I eller utanför datorlådan. Högre kapacitet än primärminnet. Oftast långsammare än primärminnet. Magnetiska och optiska minnen vanligast, ex.vis. hårddisk, CD mm.
Sekundärminne Primärminne Bios 6
Minneshierarki L agringsmedia M inneshierarki Sekund ärm inne -H årddisk Prim ärm inne -DRAM Niv å 2-cache Niv å 1-cache Processor Styr. A LU Reg
Prestanda - CPU vs. primärminne 1000 100 10 1 CPU D R A M 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
Minnesstorlek Storleken på en dators minne 1 Kilobyte = 2 10 bytes = 1 024 bytes 1000 bytes 1 Megabyte = 220 bytes = 1 048 576 bytes 1 miljon bytes 1 Gigabyte = 230 bytes 1 miljard bytes (am eng: 1 billion) 1 Terabyte = 240 bytes 1 biljon bytes (am eng: 1 trillion)
Organisation av primärminne Minnet kan ses som en tabell med rader och kolumner. Radnummer kallas adress. Ex. Ett (mycket litet) minne med 64 rader och 8 kolumner: Radnummer Decim alt Bin ärt 0 1 2 3 4 000000 000001 000010 000011 000100 K olumn-nummer 7 6 5 4 3 2 1 0 0 1 1 0 1 1 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 M innesceller 63 111111 0 1 0 0 0 1 0 1
Skrivning/läsning av SRAM A 5 Adressbuss K ontrollbuss Databuss (dubbelriktad) A 4 A 3 A 2 A 1 A 0 ChipSelect W rite D 7 D 6 D 5 D 4 D 3 D 2 SRAM Skriv-operation 1. Lägg utordetsom ska skrivas p å databussen och önskad skrivadress p å addressbussen 2. Chip Select= 1, W rite = 1 L äs-operation 1. Lägg utö nskad lsadress ä p å addressbussen 2. Chip Select= 1, W rite = 0 3. Läs in resulterande data fr ån databussen D 1 D 0
Minnen med rörliga delar (sekundärminnen) Långsammare åtkomst av data. Större kapacitet (än så länge). Generellt billigare.
Magnetband Ferromagnetisk yta magnetiseras eller avmagniseras. Gammal teknik, kassettband, videokassetter mm. Billig. Sekventiell åtkomst: spola framåt eller bakåt för att läsa eller skriva i önskad position. Lämpat för icke tidskritiska tillämpningar. Vanligast för backup.
Diskett Ferromagnetiskt skikt på roterande skiva. Lagringskapacitet < 2 MB. Utdöende teknik. Sektor Spå r Skriv/l äshuvud
Hårddisk Flera dubbelsidiga magnetskivor med egna skriv/läshuvuden i dammtätt hölje. Lagringskapacitet upp till cirka 250 GByte. Samma princip som disketter.
Optiska medier CD-ROM - Compact Disc Read Only Memory Laser bränner permanenta gropar i reflekterande metallskikt. Kapacitet 700 MB. CD-RW - Compact Disc Read Write Laser ändrar kristallstrukturen hos reflekterande yta. Kan både skrivas och raderas. Kapacitet 700 MB. DVD-ROM - Digital Versatile (video) Disc Read Only Memory Tätare packad än CD-ROM, finare laserstråle. Olika standarder med kapacitet större än 4.7 GB. Finns även som skrivbar DVD.
Cacheminne Prim ärm inne Snabb minnesåtkomst Cache Litet, dyrt, snabbt minne mellan CPU och primärminnet. Kan finnas i flera nivåer, där nivå 1 finns på samma chip som CPU (minst, dyrast och snabbast). Osynligt/transparant för CPU enda skillnad att läsning eller skrivning i minne går snabbare. Idag är cache-minne i två nivåer standard. Största delen av CPU-chip är cache-minne. CPU
Cache in action Läsa - CPU vill läsa en adress som hör till ett visst block i primärminnet: Finns blocket i cache-minnet? Ja cache-minnet läses. Nej Läs in blocket från primärminnet till cache-minnet. Gammalt block kastas ut om cache-minnet är fullt. Skriva - CPU vill skriva till en adress som hör till ett visst block i primärminnet: Läs in blocket från primärminne till cache-minne på samma sätt som vid läsning. Två alternativ: skriv alltid både till cache-minnet och primärminnet (writethrough). vänta med att skriva till primärminnet tills detta block kastas ut ur cache-minnet (write-back).
Varför cacheminne fungerar Minnesåtkomst i dator uppvisar lokalitet: Temporal lokalitet: Om en viss adress nyligen har använts är sannolikheten stor att samma adress snart kommer att användas igen. Spatial lokalitet: Om en viss adress nyligen har använts är sannolikheten stor att näraliggande adresser snart kommer att användas.
Virtuellt minne Större primärminne V irtuelltm inne M M U Prim ärm inne CPU Sekund ärm inne Cache Vad händer om en process behöver större minnesutrymme än primärminnet? => Virtuellt minne. Lurar CPU att primärminnet är större. Delas in i sidor. Transparent för CPU. Sidor som inte får plats i primärminnet flyttas till sekundärminnet av Memory Management Unit (MMU).