Upload
mirko-mirkovic
View
112
Download
15
Embed Size (px)
DESCRIPTION
k
Citation preview
9-1
9.
KE MEMORIJA
Namena ke memorije je da prui brzinu koja je blizu onoj koju imaju najbre
raspoloive memorije, a u isto vreme da obezbedi veliki kapacitet memorije po ceni jeftinih
vrsta poluprovodnikih memorija.
Ke memorija sadri kopiju delova glavne memorije. Kada procesor pokua da ita rei
iz memorije, prvo se proverava da li je ta re u keu, i ako jeste, re se isporuuje procesoru.
Ako nije, blok glavne memorije, koji se sastoji od nekog fiksnog broja rei, se uitava u ke i
onda se re isporuuje procesoru (slika 1). Zbog fenomena lokalnosti reference, kada se blok
podataka donese u ke da bi se zadovoljila jedna referenca memorije, verovatno e biti
buduih referenci na tu istu memorijsku lokaciju ili na drugu re u bloku.
Slika 1. Odnos procesora, kea i glavne memorije
Glavna memorija se sastoji od 2n adresibilnih rei, gde svaka lokacija (re) ima
jedinstvenu n-bitnu adresu (slika 2). U svrhu preslikavanja, ta memorija je zamiljena da se
sastoji od izvesnog broja blokova fiksne duine, svaki po k rei. To znai da postoji M = 2n/k
blokova u glavnoj memoriji.
Ke memorija se sastoji od C redova. Svaki red sadri k rei, plus tag od nekoliko
bitova. Broj rei u redu se zove veliina reda. Broj redova u keu je mnogo manji od broja
blokova u glavnoj memoriji (C
9-2
Slika 2. Organizacija kea i glavne memorije
U bilo kom trenutku, neki podskup blokova memorije se nalazi u redovima u keu. Ako
se ita re u bloku memorije, taj blok se prenosi u jedan od redova kea. S obzirom na to da
ima vie blokova od redova, pojedinani red se ne moe jedinstveno i trajno dodeliti
odreenom bloku. Prema tome, svaki red poseduje tag, koji predstavlja deo adrese glavne
memorije i koji identifikuje blok koji je trenutno uskladiten u keu. Organizacija kea je
prikazana na slici 3.
Slika 3. Organizacija ke memorije
S obzirom na to da ima manje redova kea od blokova u glavnoj memoriji, potreban je
algoritam za preslikavanje blokova glavne memorije u redove kea. Pored toga, potreban je
nain na koji se odreuje koji blok glavne memorije trenutno zauzima red u keu. Najee se
koriste tri tehnike preslikavanja:
- Direktno preslikavanje,
9-3
- Asocijativno preslikavanje,
- Asocijativno preslikavanje skupa (set-asocijativno preslikavanje).
9.1 Direktno preslikavanje
Ovo je najjednostavnija tehnika preslikavanja gde se svaki blok glavne memorije moe
preslikati samo u jedan mogui red kea (slika 4). Preslikavanje se izvrava po sledeem
obrascu:
i = j moduo m,
gde je:
i broj reda u keu,
j broj bloka u glavnoj memoriji,
m broj redova u keu.
Slika 4. Direktno preslikavanje kea
Funkcija preslikavanja se lako implementira koristei adrese. Kada se pristupa keu,
svaka adresa glavne memorije moe da se posmatra kao da se sastoji iz tri dela.
Najmanje znaajnih w bitova identifikuju jedinstvenu re unutar bloka glavne memorije.
To znai da jedan blok glavne memorije sadri 2w rei. Ostalih s bitova odreuju 2s blokova
glavne memorije. Logika kea interpretira tih s bitova kao tag od s-r bitova i polje reda od r
bitova. Polje reda identifikuje jedan od m = 2r redova kea.
Kod direktnog preslikavanja, prvo se ita red u adresi i tag u keu koji odgovara tom
redu (slika 5). Tag se poredi sa tagom u memorijskoj adresi. Ako su isti, blok se nalazi u keu
i re se ita. Ako nisu isti, kaemo da je dolo do promaaja u keu i pristupa se glavnoj
memoriji. Blok iz glavne memorije u kojem se nalazi traena re se prebacuje u ke
memoriju. Tada se ita blok s i re na adresi w iz tog bloka.
9-4
Slika 5. Organizacija kea kod direktnog preslikavanja
Rezime:
- Duina adrese: s + w bitova,
- Kapacitet memorije: 2s+w rei,
- Veliina bloka (ili reda): 2w rei,
- Broj blokova u glavnoj memoriji: 2s,
- Broj redova u ke memoriji: 2r,
- Veliina taga: s r bitova.
Tehnika direktnog preslikavanja je jednostavna i jeftina za implementaciju. Njen glavni
nedostatak je to to postoji fiksna lokacija u keu za svaki blok glavne memorije. Ako se
dogodi da program stalno trai rei iz dva razliita bloka koji se preslikavaju u isti red, onda
e se blokovi stalno izbacivati iz kea, a verovatnoa pogotka e biti mala.
U tabeli 1 su dati redovi kea u koje se preslikavaju blokovi operativne memorije
Tabela 1. Redovi kea u koje se preslikavaju blokovi operativne memorije
9-5
Zadatak 1. Raunar poseduje operativnu memoriju veliine 4 kB i ke memoriju veliine 64
B. Veliina bloka u memoriji je 8 B. Prikazati organizaciju glavne memorije, kea i polje
fizike adrese, ako je u pitanju direktno preslikavanje kea.
2 10 124 kB = 2 2 2 BMC duina memorijske adrese je n = 12 bita.
38 B = 2 BK w = 3 bita
129
3
22 512 blokova
2
MCMK
s = 9 bitova
8KC
CK
postoji 8 redova u keu r = 3 bita
Zadatak 2. Raunar poseduje memorijski podsistem koji se sastoji iz operativne memorije i
kea sa direktnim preslikavanjem. Odrediti kapacitet glavne memorije i kea, ako su polja
fizike adrese prikazana na slici.
9-6
32 2 302 2 b = 2 2 4 GBnMC kapacitet glavne memorije je 4 GB
12 2 102 2 B = 2 2 4 kBwK veliina bloka (ili reda) je 4 kB
202MC
MK
broj blokova u operativnoj memoriji
92 2 512rC broj redova u keu
212 B = 2 MBKC C K kapacitet ke memorije.
9.2 Asocijativno preslikavanje
Asocijativno preslikavanje prevazilazi nedostatak direktnog preslikavanja
dozvoljavajui svakom memorijskom bloku da se uita u bilo koji red u keu (slika 6). U tom
sluaju, upravljaka logika kea interpretira memorijsku adresu kao polje za tag i polje rei.
Polje za tag jedinstveno identifikuje blok glavne memorije. Da bi odredila da li je blok u keu,
upravljaka logika kea mora istovremeno da ispita tag svakog reda radi pronalaenja
podudarnosti.
Slika 6. Asocijativno preslikavanje
Kod asocijativnog preslikavanja postoji fleksibilnost u pogledu toga koji blok treba
zameniti kada se novi blok uitava u ke. Osnovni nedostatak ovog preslikavanja su sloena
elektronska kola koja su potrebna da bi se paralelno ispitivali tagovi svih redova u keu.
Organizacija kea kod asocijativnog preslikavanja je prikazana na slici 7.
9-7
Slika 7. Organizacija kea kod asocijativnog preslikavanja
Dakle, kod asocijativnog preslikavanja vai:
- Duina adrese: n = s + w bita,
- Duina taga: s bitova,
- Duina rei: w bitova,
- Kapacitet glavne memorije: 2n rei,
- Veliina bloka (ili reda): 2w rei,
- Broj blokova u glavnoj memoriji: 2s.
Zadatak 3. Raunar poseduje operativnu memoriju kapaciteta 2 KB i ke memoriju
kapaciteta 256 B koji poseduje asocijativno preslikavanje. Nacrtati organizaciju operativne i
ke memorije i odrediti polje fizike adrese, ako je veliina bloka u operativnoj memoriji 64
B.
1 10 122 kB = 2 2 2 BMC duina memorijske adrese je n = 11 bita
664 B = 2 BK w = 6 bitova
115
6
22 32
2
MCMK
broj blokova u operativnoj memoriji
2564
64
KCCK
broj redova u ke memoriji
9-8
9.3 Asocijativno preslikavanje skupa
Ovo je kompromis izmeu direktnog i asocijativnog pristupa, pri emu do izraaja
dolaze njihove prednosti, a umanjuju se njihovi nedostaci. U sluaju asocijativnog
preslikavanja skupa, ke je podeljen na v skupova, od kojih se svaki sastoji od k redova. Ovo
preslikavanje se vri prema sledeem obrascu:
moduo
m v k
i j v
gde je:
i redni broj skupa u ke memoriji,
j redni broj bloka u glavnoj memoriji,
m broj redova u ke memoriji,
v broj skupova u ke memoriji,
k broj redova u svakom skupu.
Ako jedan skup sadri k redova, onda za preslikavanje kaemo da je k-tostruko
asocijativno preslikavanje skupa.
Kod ovog preslikavanja, blok Bj moe da se preslika u bilo koji od redova skupa j (slika
8). U tom sluaju, upravljaka logika kea interpretira memorijsku adresu kao tri polja: tag,
skup i re. Pomou d bitova skupa se odreuje jedan od v = 2d skupova. Jedan od 2s blokova
glavne memorije se odreuje pomou s bitova polja za tag i polja za skup.
9-9
Slika 8. Asocijativno preslikavanje skupa
Kod potpuno asocijativnog preslikavanja, tag u memorijskoj adresi je prilino dugaak i
mora da se poredi sa tagom od svakog reda u keu. Kod k-tostrukog asocijativnog
preslikavanja skupa, tag u memorijskoj adresi je mnogo manji i poredi se samo sa k tagova
unutar jednog skupa (slika 9).
Slika 9. Organizacija kea kod asocijativnog preslikavanja skupa
Kod asocijativnog preslikavanja skupa vai sledee:
- Duina memorijske adrese: n = s + w bitova,
- Kapacitet memorije: 2n rei,
- Veliina bloka: 2w rei,
- Broj blokova u glavnoj memoriji: 2s,
9-10
- Broj redova u skupu: k,
- Broj skupova: v = 2d,
- Broj redova u ke memoriji: C = k v.
U ekstremnom sluaju kada je v = m, k = 1, asocijativno preslikavanje skupa postaje
direktno preslikavanje, a kada je v = 1, k = m, postaje asocijativno preslikavanje. Najea
organizacija ovog preslikavanja je korienje dva reda po skupu (v = m/2, k = 2).
Zadatak 4. Raunar poseduje operativnu memoriju kapaciteta 4 kB podeljenu u blokove
veliine 16 B, a ke je veliine 512 B i koristi 8-struko asocijativno preslikavanje skupa.
Prikazati organizaciju operativne i ke memorije, kao i format fizike adrese.
2 10 122 2 2 BMC duina memorijske adrese n = 12 bitova
416 B = 2 BK w = 4 bita
52 32MC
MK
broj redova u ke memoriji
22 4C
vk
broj skupova u ke memoriji d = 2 bita
s d = 6 bitova veliina taga
9-11
Zadatak 5. Raunar poseduje operativnu memoriju kapaciteta 4 GB i ke memoriju
kapaciteta 2 MB. Veliina bloka u operativnoj memoriji je 512 B. Nacrtati emu organizacije
operativne i ke memorije i prikazati format fizike adrese u sluaju: a) direktnog
preslikavanja, b) asocijativnog preslikavanja, c) 16-tostrukog asocijativnog preslikavanja
skupa.
324 GB = 2 BMC duina memorijske adrese n = 32 bita
9512 B = 2 BK w = 9 bitova
3223
9
22
2
MCMK
broj blokova u operativnoj memoriji s = 23 bita
Napomena: Organizacija glavne memorije je ista za sva tri tipa preslikavanja
a) 21
12
9
2 MB 22
512 B 2
KCCK
r = 12 bitova (12 bitova adrese bloka se odvaja za
adresiranje reda, a preostalih 11 bitova predstavljaju tag)
9-12
b)
c) Broj redova u skupu: k = 16
84096 redova 2 25616 redova/skupu
Cv
k broj skupova u ke memoriji d = 8 bita
9-13
9.4 Zamena blokova ke memorije
Pri generisanju zahteva za upis ili itanje od strane procesora moe se utvrditi da se blok
u kome je zahtevana re ne nalazi u bloku ke memorije koji je predvien odabranom
tehnikom preslikavanja. Tada se jedan blok ke memorije mora vratiti u operativnu memoriju,
da bi se u ke memoriji napravio prostor za blok iz operativne memorije u kome se zahtevana
re nalazi. Ovaj blok se odreuje korienjem jednog od algoritama zamene koji se hardverski
realizuju u ke memoriji.
Kod ke memorije sa direktnim preslikavanjem algoritam zamene je trivijalan jer je
blok za zamenu odreen brojem bloka generisane adrese. Kod ke memorije sa asocijativnim i
asocijativnim preslikavanjem skupa, algoritmom zamene se za zamenu bira jedan od svih
blokova ke memorije sa asocijativnim preslikavanjem i jedan od svih blokova skupa,
odreenog brojem skupa generisane adrese, ke memorije sa asocijativnim preslikavanjem
skupa. Stoga se algoritam zamene realizuje za celu ke memoriju sa asocijativnim
preslikavanjem, a posebno za svaki skup ke memorije sa asocijativnim preslikavanjem
skupa.
Pri izboru algoritma zamene treba voditi rauna o dva zahteva. Prvi je da on treba da
obezbedi minimalnu verovatnou da e blok koji je odabran za zamenu i vraen iz ke u
operativnu memoriju ubrzo morati ponovo da se dovue iz operativne u ke memoriju. Drugi
je da cena hardvera potrebnog za njegovu realizaciju bude to je mogue nia. Ova dva
zahteva su kontradiktorna, jer je cena hardvera algoritama zamene koji bolje ispunjavaju prvi
9-14
zahtev via u odnosu na cenu hardvera algoritama zamene koji to ine loije. Ovde se
razmatraju etiri algoritma zamene i to RANDOM, FIFO, LRU i PSEUDO. Razmatranja se
odnose na ke memoriju sa asocijativnim preslikavanjem i vae i za jedan skup ke memorije
sa asocijativnim preslikavanjem skupa.
9.4.1 RANDOM
RANDOM algoritmom zamene za zamenu se sluajno bira blok korienjem jednog od
postojeih generatora sluajnih brojeva. Mogui nain realizacije je da se koristi broja po
modulu 2n, gde 2n predstavlja broj ulaza ke memorije sa asocijativnim preslikavanjem i broj
ulaza po skupu ke memorije sa asocijativnim preslikavanjem skupa. Moe se odabrati neki
proizvoljan signal i koristiti za inkrementiranje brojaa. U trenutku kada nema saglasnosti i
treba odabrati blok za zamenu, trenutna vrednost brojaa odreuje ulaz za zamenu. Posle toga
se produava se inkrementiranje brojaa do sledeeg trenutka kada nema saglasnosti i kada
ponovo na osnovu vrednosti brojaa treba odabrati ulaz za zamenu.
Ovaj algoritam ne vodi rauna o tome da e blok koji je odabran za zamenu i vraen iz
ke u operativnu memoriju moda ubrzo morati ponovo da se dovue iz operativne u ke
memoriju. Meutim, hardver za njegovu realizaciju je jednostavan.
9.4.2 FIFO
FIFO (First InFirst Out) algoritmom zamene za zamenu se bira blok koji je najranije
unet iz operativne memorije u ke memoriju. Mogui nain realizacije je da se koristi broja
po modulu 2n, gde 2n predstavlja broj ulaza ke memorije sa asocijativnim preslikavanjem i
broj ulaza po skupu ke memorije sa asocijativnim preslikavanjem skupa. U trenutku kada
nema saglasnosti i treba odabrati blok za zamenu, trenutna vrednost brojaa odreuje ulaz za
zamenu. Pri tome se i vri inkrementiranje brojaa.
Ovaj algoritam ne vodi rauna o tome da e blok koji je odabran za zamenu i vraen iz
ke u operativnu memoriju moda ubrzo morati ponovo da se dovue iz operativne u ke
memoriju, ve za zamenu bira blokove po onom redosledu po kome su i dovlaeni iz
operativne memorije u ke memoriju. Meutim, hardver za njegovu realizaciju je jednostavan.
9.4.3 LRU
LRU (Least Recently Used) algoritmom zamene za zamenu se bira blok kome se
najdue vremena nije pristupalo. Mogui nain realizacije je da se koristi 2n brojaa po
modulu 2n, gde 2n predstavlja broj ulaza ke memorije sa asocijativnim preslikavanjem i broj
ulaza po skupu ke memorije sa asocijativnim preslikavanjem skupa. Svakom od 2n ulaza ke
9-15
memorije dodeljuje se jedan od 2n brojaa po modulu 2n. Brojai se tokom rada tako auriraju
da je u njima uvek 2n razliitih vrednosti i da broja ulaza kome se najdue vremena nije
pristupalo ima sve jedinice i time vrednost 2n-1. U trenutku kada ima saglasnosti sadraj
brojaa ulaza u kome je otkrivena saglasnost se uporeuje sa sadrajima brojaa svih
preostalih ulaza. Brojai koji imaju manju vrednost od brojaa ulaza u kome je otkrivena
saglasnost se inkrementiraju, brojai koji imaju veu vrednost od brojaa ulaza u kome je
otkrivena saglasnost se ne menjaju i broja ulaza u kome je otkrivena saglasnost se postavlja
na nulu. U trenutku kada nema saglasnosti za zamenu se bira ulaz iji broja ima sve jedinice
i time vrednost 2n-1, brojai svih preostalih ulaza imaju manju vrednost od brojaa ulaza koji
je odabran za zamenu pa se inkrementiraju i broja ulaza koji je odabran za zamenu se
postavlja na nulu. Na poetku rada brojai 2n ulaza treba tako da se inicijalizuju da u njima
bude 2n razliitih vrednosti, pri emu brojae ulaza treba inicijalizovati na vrednosti 2n-1, 2n-
2, ..., 1 i 0 saglasno redosledu po kome se eli popunjavanje ulaza. Time se i za popunjavanje
ke memorije i za zamenu blokova popunjene ke memorije koristi isti mehanizam.
9.4.4 PSEUDO LRU
PSEUDO LRU algoritmom zamene se pokuava realizacija principa LRU algoritma
zamene sa jednostavnijim hardverom. Mogui nain realizacije je dat za ke memorije sa
asocijativnim preslikavanjem i etiri ulaza i ke memorije sa asocijativnim preslikavanjem
skupa i etiri ulaza po skupu. Ovaj algoritam zamene esto se koristi kod asocijativnog
preslikavanja skupa kod koga je broj ulaza po skupu najee dva, etiri ili osam.
Ulazi 0 do 3 su upareni u dve grupe, pri emu ulazi 0 i 1 jedan ine jednu grupu i ulazi 2
i 3 drugu grupu. Ovim grupama se dodeljuje indikator I2 koji se postavlja na 0 kad god se
pristupi ulazu 0 ili 1 i na 1 kod god se pristupi ulazu 2 ili 3. Ulazima iz grupe koju ine ulazi 0
i 1 dodeljuje se indikator I1 koji se postavlja na 0 kad god se pristupi ulazu 0 i na 1 kod god se
pristupi ulazu 1. Ulazima iz grupe koju ine ulazi 2 i 3 dodeljuje se indikator I0 koji se
postavlja na 0 kad god se pristupi ulazu 2 i na 1 kod god se pristupi ulazu 3. Dijagram toka
PSEUDO LRU algoritma zamene pri auriranju je dat na slici 9.
Slika 10. Dijagram toka PSEUDO LRU algoritma zamene
9-16
9.5 Auriranje operativne memorije
Auriranje operativne memorije odreuje kako se kod operacije upisa menja sadraj u
operativnoj memoriji. Pri tome se, kod zahteva za upis, mogu javiti dve situacije. Prva je da u
ke memoriji postoji saglasnost, a druga da nema saglasnosti.
Za sluaj kada je u ke memoriji otkrivena saglasnost, postoje dva pristupa i to upii
skroz (write through ili store through) i vrati nazad (write back ili copy back). Kod pristupa
upii skroz, pri svakom zahtevu za upis istovremeno se vri upis i u ke memoriju i u
operativnu memoriju. Kod pristupa vrati nazad, pri svakom zahtevu za upis vri se upis samo
u ke memoriju, pa odgovarajui sadraj u operativnoj memoriji nije auran. Zbog toga se za
svaki blok u ke memoriji vodi evidencija o tome da li je modifikovan ili ne. Ukoliko je
kasnije potrebno dovui novi blok iz operativne memorije na mesto nekog bloka u ke
memoriji koji je nekim od prethodni upisa modifikovan, potrebno je, najpre, dati blok ke
memorije vratiti u operativnu memoriju i time obezbediti da i sadraj u operativnoj memoriji
bude auran. Pored toga, kada se nekom procesu oduzima procesor, treba proveriti koji su
blokovi u ke memoriji modifikovani, pa ih, radi auriranja sadraja u operativnoj memoriji,
vratiti iz ke memorije u operativnu memoriju. Stoga kod ke memorija koje koriste ovaj
pristup auriranja sadraja operativne memorije, pored zahteva za itanje i upis, postoje i
zahtevi za selektivno i kompletno vraanje blokova iz ke memorije u operativnu memoriju
(flush).
Prednost pristupa upii skroz je u tome da je operativna memorija uvek aurna ime je
obezbeena konzistentnost sadraja operativne i ke memorije. Nedostatak ovog pristupa je u
obraanju operativnoj memoriji pri svakom upisu u ke memoriju, ime se bespotrebno
optereuje magistrala upisivanjem meurezultata u operativnu memoriju.
Prednost pristupa vrati nazad je u tome to se operativnoj memoriji i magistrali pristupa
samo onda kada se blok vraa iz ke memorije u operativnu memoriju to rezultuje u manjem
saobraaju na magistrali. Nedostatak ovog pristupa je potreba da se blok koji se izbacuje iz
ke memorije mora najpre vratiti u operativnu memoriju, pa tek onda dovui novi, to znatno
usporava odziv ke memorije u sluaju promaaja.
Ovde se vidi da su sve prednosti jednog pristupa ujedno i nedostaci drugog. Stoga se
pristup vrati nazad koristi tamo gde je magistrala usko grlo sistema, a pristup upii skroz gde
magistrala to nije.
Za sluaj kada je u ke memoriji nije otkrivena saglasnost, postoje dva pristupa i to
dovuci blok (write allocate) i ne dovlai blok (no write allocate). Kod pristupa dovuci blok,
blok se dovlai iz operativne u ke memoriju, ime se obezbeuje da se sada u ke memoriji
9-17
otkriva saglasnost. Dalji postupak odgovara prethodno opisanoj situaciji za operaciju upisa i
otkrivenu saglasnost, u kojoj se upis vri u ke memoriju, a za auriranje sadraja operativne
memorije koristi pristup upii skroz ili vrati nazad. Kod pristupa ne dovlai blok, blok se ne
dovlai iz operativne u ke memoriju, ve se upis vri samo u operativnu memoriju. Obino se
uz pristup vrati nazad (write back ili copy back) koristi pristup dovuci blok (write allocate),
dok se uz pristup upii skroz (write through ili store through) koristi pristup ne dovlai blok
(no write allocate).
9.6 Neka razmatranja u vezi realizacije ke memorije
U osnovni mehanizam funkcionisanja ke memorije mogue je uvesti neka poboljanja
koja skrauju vreme itanja iz i upisa u ke memoriju.
Mogue poboljanje je u tome da ke memorija, ako se radi o operaciji upisa, odmah
dozvoli procesoru da produi sa izvravanjem tekue instrukcije bez obzira na to da li je upis
zaista izvren ili nije. Time e paralelno ke memorija obavljati upis a procesor izvravati
instrukciju. Ke memorija nee moi da prihvati novi zahtev za upis ili itanje ukoliko se
prethodno zapoeti upis nije zavrio.
Poboljanje je mogue uiniti i u sluaju operacije itanja kada traeni blok nije u ke
memoriji, ve ga treba dovui iz operativne memorije. Tada procesor ne mora da eka da ceo
blok bude prenesen iz operativne u ke memoriju i da tek tada dobije traeni sadraj. Ke
memorija moe procesoru dostaviti traeni sadraj im on stigne iz operativne u ke
memoriju. U tom sluaju procesor moe ranije da nastavi izvravanje tekue instrukcije, a da
se paralelno s time ostatak bloka prenese iz operativne u ke memoriju. Pri tome dovlaenje
rei bloka treba zapoeti od rei ije je itanje zahtevano. Kao u prethodnom sluaju, ke
memorija opet ne moe prihvatiti novi zahtev za itanje ili upis sve dok se prenos prethodnog
bloka ne obavi do kraja. Ova tehnika naziva se by-pass.
Sledee poboljanje je mogue ostvariti u sluajevima kada je potrebno izvriti vraanje
modifikovanog bloka u operativnu memoriju. Da bi se ubrzao taj postupak mogue je u
poseban bafer privremeno smestiti ceo blok koji se vraa i odmah prei na dovlaenje novog
bloka iz operativne memorije. Tek po zavretku dovlaenja novog bloka prelazi se na
vraanje u operativnu memoriju bloka koji se nalazi u baferu. I ovde ke memorija ne moe
prihvatiti novi zahtev za itanje ili upis sve dok se cela operacija ne zavri do kraja. Ovo
poboljanje se naziva baferisanje.
Sva navedena poboljanja imaju za cilj da se procesor to manje zadrava prilikom
obraanja ke memoriji. Pri tome se pretpostavlja da se procesor vrlo verovatno nee uskoro
9-18
ponovo obraati ke memoriji, pa e do sledeeg obraanja procesora ke memoriji, ke
memorija moi da obavi prethodno zapoetu operaciju do kraja.
U sluaju operacije upisa postoji vie naina da se promene sadraja operativne i ke
memorije realizuju. Ako se koristi pristup vrati nazad onda se promena u operativnoj
memoriji ostvaruje samo u sluaju vraanja bloka u operativnu memoriju. to se tie ke
memorije kod ovog pristupa se promena u ke memoriji ostvaruje uvek i to i u sluaju da ima
saglasnosti i u sluaju da nema saglasnosti, pri emu se u drugom sluaju to ini tek poto se
blok prenese iz operativne u ke memoriju. Ako se koristi pristup upii skroz onda se promena
u operativnoj memoriji ostvaruje uvek. to se tie ke memorije kod ovog pristupa se u
sluaju saglasnosti ili upisuje novi sadraj u ke memoriju ili se ulaz ke memorije proglaava
nevaeim. U sluaju da nema saglasnosti u nekim situacijama aurirani blok operativne
memorije se dovlai u ke memoriju, dok se u drugim aurirani blok operativne memorije ne
dovlai u ke memoriju.
U osnovni mehanizam funkcionisanja ke memorije je mogue uvesti neka poboljanja,
koja skrauju vreme itanja iz i upisa u ke memoriju. Mogue poboljanje je u tome da ke
memorija, ako se radi o operaciji upisa, upis izvri u bafer podatka i odmah dozvoli procesoru
da produi sa izvravanjem tekue instrukcije. Time e se paralelno obavljati upis iz bafera
podatka u operativnu memoriju i izvravati instrukcije procesora. Ove tehnike se nazivaju
baferovanje podatka i rani start procesora.
Poboljanje je mogue uiniti i u sluaju operacije itanja kada traeni blok nije u ke
memoriji, ve ga treba dovui iz operativne memorije. Tada procesor ne mora da eka da ceo
blok bude dovuen iz operativne memorije u ke memoriju i da tek tada dobije traeni sadraj.
Ke memorija moe procesoru dostaviti traeni sadraj im on stigne iz operativne u ke
memoriju. U tom sluaju, procesor moe ranije da nastavi izvravanje tekue instrukcije i da
se paralelno ostatak bloka prenosi iz operativne u ke memoriju. Pri tome, dovlaenje rei
bloka treba zapoeti od rei ije je itanje zahtevano. Ove tehnike se nazivaju prosleivanje i
rani start procesora.
Sledee poboljanje je mogue ostvariti u sluajevima kada je potrebno izvriti vraanje
modifikovanog bloka odabranog za zamenu iz ke memorije u operativnu memoriju. Da bi se
ubrzao taj postupak, mogue je postaviti bafer bloka, koji e prihvatiti ceo blok koji se vraa, i
odmah prei na dovlaenje bloka iz operativne memorije. Tek po zavretku dovlaenja bloka
iz operativne u ke memoriju, prelazi se na vraanje bloka iz bafera bloka u operativnu
memoriju. Ovo poboljanje se naziva baferovanje bloka podataka.