You are on page 1of 21

Memorijska hijerarhija

Organizacija priručne memorije


• Način smještaja blokova određuje kako se riječi iz glavne
memorije preslikavaju u riječi priručne memorije i određuju tri
glavne organizacije priručne memorije
1. Potpuno asocijativna memorija koja upotrebljava asocijativno
preslikavanje za smještaj blokova iz glavne u priručnu.
2. Izravna priručna memorija koja upotrebljava izravno preslikavanje
za smještaj blokova
3. Skupna asocijativna priručna memorija koja upotrebljava
kombinaciju dva načina smještanja blokova.
Potpuna asocijativna priručna memorija
• Blok veličine b iz glavne memorije može se smjestiti na bilo koji
slobodni bločni priključak priručne memorije.
• Stvarna adresa kojom se naslovljava memorija sastoji se od dva
dijela:
 K značajnijih bitova koji čine adresnu značku odnosno tag i
predstavljaju bločni broj bloka u glavnoj memoriji, na temelju kojeg se
utvrđuje da li se memorijski blok nalazi u priručnoj memoriji
 w manje značajnih bitova koji označavaju jednu od b riječi u izabranom
bloku
• Zahtjeva se složeno sklopovlje i povećava cijenu
Potpuno asocijativna priručna memorija - primjer
• Glavna memorija je kapaciteta 64 MB (B = bajt). Potpuno
asocijativna priručna memorija ima kapacitet 64 KB. Veličina bloka
neka je 16 B.
• a) Odredite broj blokova u glavnoj memoriji (NB, MM) i broj
blokova u priručnoj memoriji (NB, CM). Za izražavanje brojeva, po
potrebi koristite računarske prefikse.
• b) Odredite broj bitova potrebnih za adresnu značku
• c) Neka je procesor adresirao podatak s adresom A = 0052A622h
. Odredite adresnu značku pripadnog bloka, te najmanju i najveću
adresu unutar tog bloka.
Rješenje:
• a) CMM = 64 MB,
(NB, MM) = 226B / 24B = 222 = 4 M;
CCM = 64 KB,
(NB, CM) = 216B / 24B = 212 = 4 K = 4096;
• b) ntag = 26 – 4 = 22 bit
 c) 0052A622h
Ukupna adresa: 0000 0000 0101 0010 1010 0110 0010 |0010
Adresna značka: 0000 0000 0101 0010 1010 0110 0010
• Amin = 0000 0000 0101 0010 1010 0110 0010 0000(2) = 0052A620(16)
• Amax = 0000 0000 0101 0010 1010 0110 0010 1111(2) = 0052A62F(16)
Izravna priručna memorija
• Svaki blok iz glavne memorije može se smjestiti samo na određeni
bločni priključak i to prema sljedećem pravilu:
• Blok iz glavne memorije s bločnim brojem i smješta se na bločni
priključak priručne memorije j tako da je j=i (modulo Bp), gdje je
Bp broj bločnih priključaka priručne memorije.
• Nedostatak: u svakom trenutku na pojedinom bločnom priključku
može biti samo jedan blok.
Izravna priručna memorija - primjer
• Neka izravna priručna memorija može primiti 64 bloka i veličina
jednog bloka neka je 16 bajta. Na koji broj bločnog priključka se
preslikava bajt sa adresom 1423?
Rješenje:
• Formula za određivanje broja bločnog priključka je:
(Bločni broj bloka) modulo (Broj bločnih priključaka u priručnoj memoriji)
• Gdje je Bločni broj bloka:
(Adresa bajta)/(broj bajta po bloku)
• Bločni broj bloka=1423/16=88.9375=>88 (decimale se
odbacuju)
• Broj bločnog priključka=88 modulo 64 =24
Virtualna memorija
• Za računalo koje koristi virtualni memorijski sustav imamo
sljedeće podatke: i) sustav je jednokorisnički, ii) adresna zrnatost
je bajtna (B), iii) sekundarna memorija je kapaciteta 16 GB, iv)
primarna (radna) memorija je kapaciteta 256 MB, v) stranica je
veličine 4096 B, vi) sustav koristi potpuno asocijativno
preslikavanje. Odredite:
1. Format virtualne adrese;
2. Format fizičke adrese;
3. Veličinu tablice koja podržava adresno preslikavanje.
Rješenje:
1. Format virtualne adrese:

22 bita (za adresiranje stranice) 12 bita

 16GB=234B=> 34 bita ukupno za virtualnu adresu.


 1 stranica=4KB=4K riječi=212 riječi=> 12 bita za adresiranje riječi
unutar stranice na manje značajnijim bitovima virtualne adrese
 Od toga 34-12=22 bitova za adresiranje stranica na više značajnijim
bitovima virtualne adrese =>222=4M stranica
2. Format fizičke adrese:

16 bita (za adresiranje okvira) 12 bita

 256MB=228B=>28 bita za fizičku adresu.


 1 stranica=4KB=4K riječi=212 riječi=>12 bita za adresiranje riječi
unutar stranice
 O toga 28-12=16 bitova za adresiranje okvira =>216 =64K okvira
Rješenje:
3. Veličinu tablice koja podržava adresno preslikavanje:
 Sekundarna memorija ima kapacitet 16GB =>234 memorijskih lokacija
od 1 B
 Stranica je veličine 4KB => 212 riječi od 1B
 Veličinu tablice koja podržava adresno preslikavanje = 234 / 212 = 222
=4M riječi
 Stvarna veličina tablice ovisi koliko bajtova zauzima jedna riječ u
tablici (bit prisutnosti, fizička adresa i sl.)
Algoritmi zamjene stranica
• FIFO (First In First Out) – algoritam zamjene najstarije stranice
• LRU (Least Recently Used)- zamjenjuje stranicu koja najdulje nije
bila korištena
• LFU (Least Frequently Used) – izbacuje stranicu koja je bila
najmanje puta upotrebljavana
• RND (Random) – slučajni izbor stranice koja se izbacuje
• OPT – zamjenjuje stranicu koja će se najmanje koristiti u
budućnosti
Algoritmi zamjene stranice- primjer

Sustav za upravljanje memorijom kod straničenja na zahtjev


raspolaže sa 3 okvira. Proces ima slijedeći niz poziva stranica:

13435235421

Utvrdite koliko ima zahtjeva za učitavanje stranica za algoritme


FIFO, OPT, LFU i LRU, te ispišite rang listu.
FIFO (First in First Out)

1 3 4 3 5 2 3 5 4 2 1
- - - + - - - + - + -
1 1 1 5 5 5 + 4 4
3 3 + 3 2 2 2 + 1
4 4 4 3 3 3

Iz spremnika se izbacuje ona stranica koja je u


spremnik prva ušla.

8 zahtjeva za učitavanje
3 pogotka
LRU (Least Recently Used)
1 3 4 3 5 2 3 5 4 2 1
- - - + - - + + - - -
1 1 1 5 5 + 5 5 1
3 3 + 3 3 + 3 2 2
4 4 2 4 4 4

Iz spremnika se izbacuje ona stranica koje se


najmanje u prošlosti koristila tj. u spremniku ostaju
stranice koje su se zadnje koristile.

8 zahtjeva za učitavanje
3 pogotka
LFU (Least Frequently Used)

1 3 4 3 5 2 3 5 4 2 1
- - - + - - + + - - -
1 1 1 5 5 + 5 5 5
3 3 + 3 3 + 3 3 3
4 4 2 4 2 1

Iz spremnika se izbacuje ona stranica koja se najmanje


puta u prošlosti koristila. Ukoliko postoji više stranica
koje su se isti broj puta najmanje koristile izbacuje se
ona stranica od njih koja je prva ušla u spremnik.
Frekvencija korištenja jedne stranice se određuje samo za
vrijeme od kada je stavljena u okvir tj.ne računa se
prošlost (npr. kod drugog pojavljivanja stranica 4 u
trećem redu se ona koristi samo jedanput)

8 zahtjeva za učitavanje
3 pogotka
OPT

1 3 4 3 5 2 3 5 4 2 1
- - - + - - + + - + -
1 1 1 5 5 + 5 1
3 3 + 3 3 + 4 4
4 4 2 2 + 2

Iz spremnika se izbacuje ona stranica koja će se u


budućnosti najkasnije koristiti. NIJE GA MOGUĆE
REALIZIRATI U STVARNOSTI!!!.

7 zahtjeva za učitavanje
4 pogotka
Zadatak za studente

Sustav za upravljanje memorijom kod straničenja na zahtjev


raspolaže sa 3 okvira. Proces ima slijedeći niz poziva stranica:

2345413242521

Utvrdite koliko ima zahtjeva za učitavanje stranica za algoritme


FIFO, OPT, LFU i LRU, te ispišite rang listu.
FIFO (First in First Out)

2 3 4 5 4 1 3 2 4 2 5 2 1
- - - - + - - - - + - + -
2 2 2 5 5 5 2 2 + 2 + 1
3 3 3 1 1 1 4 4 4
4 4 + 4 3 3 3 5 5

10 zahtjeva za učitavanje
3 pogotka
LRU (Least Recently Used)

2 3 4 5 4 1 3 2 4 2 5 2 1
- - - - + - - - - + - + -
2 2 2 5 5 3 3 3 5 5
3 3 3 1 1 1 4 4 1
4 4 + 4 4 2 2 + 2 + 2

10 zahtjeva za učitavanje
3 pogotka
LFU (Least Frequently Used)

2 3 4 5 4 1 3 2 4 2 5 2 1
- - - - + - - - + + - + -
2 2 2 5 5 3 3 5 1
3 3 3 1 1 2 + 2 + 2
4 4 + 4 4 4 + 4 4

9 zahtjeva za učitavanje
4 pogotka
OPT

2 3 4 5 4 1 3 2 4 2 5 2 1
- - - - + - + - + + - + +
2 2 2 5 1 1 1 +
3 3 3 3 + 2 + 2 +
4 4 + 4 4 + 5

7 zahtjeva za učitavanje
6 pogotka

You might also like