Hierarhija pomnilnikov

Milan Ojster ek

Lastnosti 
      

Lokacija Kapaciteta Enota informacije, ki se naenkrat prena a Metoda dostopa Zmogljivost Tip pomnilnika Fizi ne lastnosti Organizacija

Lokacija 
 

CPE Notranji Zunanji

Kapaciteta 


Velikost pomnilni ke besede tevilo pomnilni kih besed ali Bytov

Enota prenosa 

Notranji pomnilnik 

Obi ajno je omejena z velikostjo vodila Obi ajno blok, ki je mnogo dalj i od ene pomnilni ke besede 

Zunanji pomnilnik 

Metoda dostopa 

Zaporedni  

 

Za nemo od za etne lokacije in beremo do kon ne lokacije Gostota zapisa (bpi bit per inch) as dostopa odvisen od lokacije pomnilni ke besede Npr. trak Vsak blok ima svoj naslov Dostop je direkten do sledi, nato je odvisen od tega kje se nahaja glava diska Npr. disk 

Direktni ali kro ni 
 

Metoda dostopa 

Naklju no 
 

Naslov pove to no lokacijo v pomnilniku as dostopa je neodvisen od lokacije v pomnilniku Npr. RAM Podatke dobimo na podlagi primerjave vsebin v primerjalnem registru as dostopa je neodvisen od lokacije v pomnilniku Npr. predpomnilnik 

Asociativno  



Fizi ni tipi 

Polprevodniki 

RAM Disk & Trak CD & DVD Bubble Hologram 

Magnetni materiali  

Opti ni  

Drugi 


Princip branja pri magnetnih materialih

Organizacija na disku

Zapis sektorjev na disku

Organizacija pri Winchester disku Seagate ST506

Disk z ve plo ami

Kako se izvede dostop do diska

SCSI diski

Zgradba CD in DVD Roma

Zapis bloka na CD Romu

Organizacija sledi na CD in DVD romu

Tri razli ne organizacije RAM-a

Little in big Edian organizacija pomnilni kih celic

Pomnilni ka hierarhija 
  

Registri v CPE Izravnalniki v CPE Preslikovalna tabela Notranji ali glavni (main) pomnilnik 


Ve nivojev predpomnilnikov RAM , ROM, Diski Tra ne enote, CD-romi, DVD romi 

Zunanji pomnilnik 


Hierarhija 
      

Registri L1 predpomnilnik L2 predpomnilnik Pomnilnik Diskovni predpomnilnk Disk CD, DVD Trak

Hierarhija pomnilnikov
Imamo mno ico pomnilnikov: {M1, M2, M3, Mn} Za to mno ico velja: Cena/bit: Ci > Ci+1 as dostopa: tai<tai+1 Velikost: si <si+1

Fizi ne lastnosti 
  

ivljenjska doba Trajnost podatkov Ali je mo no ve kratno pisanje Poraba toka

Lokalnost referenc 

asovna lokalnost 


zaporedja naslovov

Zanke Zan ne spremenljivke Zaporedno izvr evanje ukazov Zaporeden dostop do podatkovnih struktur 

Zaporedna lokalnost 


Predpomnilnik 
 

Zelo hiter pomnilnik Lociran je lahko znotraj CPE ali kot poseben pomnilni ki modul Lo imo homogen in nehomogen predpomnilnik

Zaporedje operacij dostopa do podatkov v predpomnilniku 
   



CPE zahteva podatke iz pomnilni ke lokacije Preveri, e podatki obstajajo v predpomnilniku e podatki obstajajo v predpomnilniku, jih CPE vzame iz predpomnilnika e podatki ne obstajajo, se prenesejo iz glavnega pomnilnika v predpomnilnik Nato se podatki prenesejo v CPE Predpomnilnik vsebuje polje zna k, ki povedo kje v predpomnilniku se nahaja dolo en blokec iz glavnega pomnilnika

Na rtovanje predpomnilnika 
   



Velikost Funkcija preslikovanja (direktni, set asociativni, asociativni) Funkcija zamenjave (LRU, LFU, FIFO, naklju na) Pisalna strategija (pisanje skozi (write through), pisanje nazaj (write back)) Velikost blokcev tevilo predpomnilnikov

Organizacija predpomnilnika

Primer, uporabljen pri funkcijah preslikovanja 


Velikost 64 Kbytov Blokec velikosti 4 byte 

Na predpomnilnik ima torej 16k (214) blokcev velikosti 4 byte 



16MBytov glavnega pomnilnika 24 bitni naslov 

(224=16M)

Direkni predpomnilnik 

Vsak blokec iz glavnega pomnilnika se lahko preslika v to no dolo en blokec v predpomnilniku
tevilka blokca v predpomnilniku tevilka blokca v glavnem pomnilniku tevilo blokcev v predpomnilniku

IJ M 

Mapiranje:
I=J MOD M

Direktno preslikovanje zgradba naslova
Zna ka s-r 8 tevilka blokca r 14

beseda w 2 

 

24 bitni naslov 2 bitni identifikator pomnilni ke besede (4 bytni blokec) 22 bit identifikator bloka 


8 bitna zna ka (=22-14) 14 bitna tevilka vrstice (blokca)

Direktno preslikovanje 
 

Blokec v predp. 0 1 m+1 m-1 1

Glavni pomnilnik 0, m, 2m, 3m 2s-m 1,m+1, 2m+1 2s- 

m-1, 2m-1,3m-1 2s-

Organizacija direktnega preslikovanja

Direktno preslikovanje  

Na podlagi tevilke blokca ( r ) dobimo naslov zna ke v predpomnilniku Zna ko v predpomnilniku primerjamo z zna ko v pomnilni kem naslovu, e se ujemata, je blokec v predpomnilniku, druga e je v glavnem pomnilniku

Primer direktnega preslikovanja

Prednosti in slabosti direktnega preslikovanja 
 

Enostavno Poceni Fiksna lokacija bloka 

e program dosega dva blokca v glavnem pomnilniku, ki se mapirata v isti blokec predpomnilnika vkratkih asovnih intervalih, se zelo pove a tevilo zgre itev

Asociativno preslikovanje  

Blokec iz glavnega pomnilnika se lahko preslika v katerikoli blokec Dra ja je realizacija

Asociativni predpomnilnik

Primer asociativnega mapiranja

Struktura naslova pri asociativnem mapiranju
Zna ka 22 bitov 


Beseda 2 bita 

22 bitna zna ka za vsak 32 bitni blokec Primerjava zna ke v predpomnilniku z zna ko v naslovu pomnilni ke besede, e se zna ki ujemata, je blokec v predpomnilniku, druga e je v glavnem pomnilniku Spodnja dva bita identificirata pomnilni ko besedo v blokcu

Set asociativni predpomnilnik 
 

Predpomnilnik je razdeljen v ve setov Vsak set vsebuje ve blokcev Vsak blokec iz glavnega pomnilnika se lahko mapira v katerikoli blokec znotraj njemu pripadajo ega seta

Struktura pomnilni kega naslova pri set asociativnem mapiranju
Zna ka 9 bit tevilka seta 13 bit Beseda 2 bit  

tevilka seta pove, v katerem setu se nahaja blokec v prepomnilniku Primerjava zna ke znotraj seta nam pove, e se blokec nahaja v predpomnilniku ali se nahaja v glavnem pomnilniku.

Primer set asociativnega preslikovanja 
 

13 bitna tevilka seta tevilka blokca v glavnem pomnilniku je velikost glavnega pomnilnika MOD 213 000000, 00A000, 00B000, 00C000 se preslikajo v isti set

Primer organizacije predpomnilnika z dvema setoma

Primer preslikave iz glavnega pomnilnika v predpomnilnik z dvema setoma

Strategije zamenjave direktni predpomnilnik 
 

Ni izbire Vsak blokec iz glavnega pomnilnika se lahko mapira v dolo en blokec predpomnilnika Pri zamenjavi blokcev, se zamenja obstoje i blokec z novim blokcem  

  

Algoritmi zamenjave pri set asociativnem in asociatevnem pomnilniku Algoritmi so implementirani s strojno opremo Least Recently used (LRU) First in first out (FIFO) Least frequently used (LFU) Naklju no

Pisalna strategija 

Vsak blokec v predpomnilniku ima e dodatna bita in sicer:  

Umazani bit postavlja se v primeru, e se blokec spremeni Bit veljavnosti postavlja se v primeru, ko je blokec uporabljen 



Ve CPE ima svoje predpomnilnike V/I enote zapisujejo v glavni pomnilnik direktno

Pisanje skozi (Write through) 
  

Vsa pisanja se izvajajo so asno v glavni pomnilnik in v predpomnilnik e ve CPE uporablja glavni pomnilnik, imajo pa vsaka svoj predpomnilnik, le te opazujejo prenose v glavni pomnilnik in v primeru sprememb osve ujejo svoje predpomnilnike. Izvaja se precej prometa med predpomnilnikom in glavnim pomnilnikom Upo asni pisanje v predpomnilnik

Pisanje nazaj (Write back) 
   

A uriranje blokcev se izvaja samo v predpomnilniku Umazani bit se postavi, ko se izvede a uriranje blokca Blokec se ob zamenjavi zapi e v predpomnilnik, e je postavljen njegov umazani bit, V/I enote morajo spreminjati predpomnilnik samo prek glavnega pomnilnika Povpr. 15% zahtev po pomnilniku je pisalnih

Kako veliki naj bodo bloki v predpomnilniku
Verjetnost zadetka

Velikost bloka

Primerjava velikosti predpomnilnikov
Processor IBM 360/85 PDP-11/70 VAX 11/780 IBM 3033 IBM 3090 Intel 80486 Pentium PowerPC 601 PowerPC 620 PowerPC G4 IBM S/390 G4 IBM S/390 G6 Pentium 4 IBM SP CRAY MTAb Itanium SGI Origin 2001 Itanium 2 IBM POWER5 CRAY XD-1 Type Mainframe Minicomputer Minicomputer Mainframe Mainframe PC PC PC PC PC/server Mainframe Mainframe PC/server High-end server/ supercomputer Supercomputer PC/server High-end server PC/server High-end server Supercomputer Year of Introduction 1968 1975 1978 1978 1985 1989 1993 1993 1996 1999 1997 1999 2000 2000 2000 2001 2001 2002 2003 2004 L1 cachea 16 to 32 KB 1 KB 16 KB 64 KB 128 to 256 KB 8 KB 8 KB/8 KB 32 KB 32 KB/32 KB 32 KB/32 KB 32 KB 256 KB 8 KB/8 KB 64 KB/32 KB 8 KB 16 KB/16 KB 32 KB/32 KB 32 KB 64 KB 64 KB/64 KB L2 cache ² ² ² ² ² ² 256 to 512 KB ² ² 256 KB to 1 MB 256 KB 8 MB 256 KB 8 MB 2 MB 96 KB 4 MB 256 KB 1.9 MB 1MB L3 cache ² ² ² ² ² ² ² ² ² 2 MB 2 MB ² ² ² ² 4 MB ² 6 MB 36 MB ²

Navidezno naslavljanje 
  

Ra unalni ki program razdelimo v bloke Vsak naslov v programu opi emo z navideznim naslovom, ki je sestavljen iz tevilke bloka in odmika od za etka bloka Preslikovalnik na podlagi tabele blokov preslikuje navidezne naslove v dejanske (fizi ne) e je podatek iz dolo enega naslova v pomnilniku ali v predpomnilniku, ga preslika v fizi ni naslov, druga e spro i zahtevo po prenosu ustreznega bloka iz diska v pomnilnik

Delitev pomnilnika na enako in razli no velike particije

Pri izvajanju programov nastajalo luknje v pomnilniku

Strategije polnjenja lukenj 
   

Zamenjava (Swapping) First fit Best Fit Worst Fit Kompakcija zapolnjevanje lukenj

Ostranjevanje   

Razdelitev pomnilnika v enako velike bloke - strani (page frames) Operacijski sistem opravlja preslikavo med stranmi v primarnem pomnilniku in stranmi v sekundarnem pomnilniku Preslikava se opravlja s pomo jo tabele strani - vsak proces ima svojo tabelo strani

Primer ostranjevanja

Element tabele strani 
 

  

V bit veljavnosti (0, e stran ni veljavna) R rezidentni bit (0, e stran ni v primarnem pomnilniku) RWX biti za ite dostopa do strani C - Umazani bit (1, e se je stran spremenila) S naslov v sekundarnem pomnilniku Naslov okvira strani (kje se nahaja stran v primarnem pomnilniku

Navidezni in fizi ni naslovi pri ostranjevanju

Navidezno naslavljanje 

Ostranjevanje na zahtevo (demand paging)  

Vse strani procesa niso so asno potrebne v pomnilniku Ko je zahtevana stran potrebna, se nalo i iz sekundarnega v primarni pomnilnik Zahtevana stran ni v primarnem pomnilniku Na zadnji strani programa ali njegovih podatkov ni celotna stran zasedena, saj niti program, niti podatki ne zasedajo ve kratnika velikosti strani 

Napaka strani (Page fault)  

Notranja fragmentacija 

Premetavanje (trashing) 
 

Preve procesov se so asno izvaja, zato je primarnega pomnilnika premalo Operacijski sistem ve ino asa porabi za zamenjavo strani CPE opravlja zelo malo koristnega dela Re itev 
  

Dobre strategije zamenjave strani Zmanj anje tevila procesov Pove anje primarnega pomnilnika

Struktura ostranjevanja

Segmentacija  

 

Program razdeljen v bloke razli ne dol ine (programski segment, podatkovni segment, sistemski segment) Bloki predstavljajo logi ne celote Zunanja fragmentacija (med segmenti v glavnem pomnilniku nastajajo luknje, po zamenjavi segmentov) Lo imo: 


Lokalne segmente Globalne segmente

Element tabele segmentov 
  

 

R rezidentni bit (0, e segment ni v primarnem pomnilniku) RWX biti za ite dostopa do strani C - Umazani bit (1, e se je segment spremenil) L Velikost segmenta S naslov v sekundarnem pomnilniku Naslov segmenta v primarnem pomnilniku (kje se nahaja segment v primarnem pomnilniku)

Virtualni naslov pri segmentaciji 


tevilka segmenta Odmik od za etne lokacije segmenta

Segmentacija
Bazni register
Naslov tevilka znotraj segmenta segmenta

Primarni pomnilnik

+
L

< +

Segmentacija z ostranjevanjem 

Potrebujemo 


Tabelo segmentov Tabelo strani

RAID 
   



Redundant Array of Independent Disks Redundant Array of Inexpensive Disks 6 nivojev Ve fizi nih diskov, ki so vidni iz nivoja operacijskega sistema kot en disk Podatki so porazdeljeni med ve fizi nih diskov Del kapacitete posameznih diskov je namenjen za nadzorne informacije (npr. parnost)

RAID 0 
  

Ni redundance Podatki se delijo (strip) med vse diske Round Robin deljenje Pove anje hitrosti dostopa do podatkov  

e je so asno ve dostopov do podatkov, hitreje pridemo do podatkov, saj so razpr eni med ve diskov Do diskov dostopamo paralelno

RAID 1 
   



Kopirani diski Bloki podatkov (stripes) se prenesejo na razli ne diske 2 kopiji vsakega bloka na dveh razli nih diskih) Blok lahko beremo iz kateregakoli izmed dveh diskov (ve ja paralelnost dostopa) Pi e se so asno na dva diska Okrevanje po napaki 


Zamenjamo pokvarjen disk Okrevanje izvedemo brez ponovnega zagona ra unalnika 

Realizacija relativno draga

RAID 0, 1, 2

RAID 3 in 4

RAID 5 in 6

Logi no preslikovanje blokov pri RAID 0

Sign up to vote on this title
UsefulNot useful