Upload
-
View
265
Download
14
Embed Size (px)
DESCRIPTION
jkjhkkjjhk
Citation preview
PANEVROPSKI UNIVERZITET APEIRONFAKULTET POSLOVNE INFORMATIKE
Redovne studije Smer „Infomnatički inžinjering”
PredmetARHITEKTURA RAČUNARSKIH SISTEMA I MREŽA
“KEŠ MEMORIJA”
(seminarski rad)
Predmetni nastavnikProf. dr Zoran Avramović
Banja Luka, SEPTEMBAR 2010.
Sadržaj:
1.1 Uvod ........................................................................................................................................ 3 2.1 Keš memorija .......................................................................................................................... 4
2.2 Veličina keša ............................................................................................................... 8
2.3 Realni keš ……………………………….…………………………………..…….... 8
2.4 Virtuelni keš ………………………………………………………………...……… 9
3.1 Tehniike preslikavanja ........................................................................................................... 11
3.2 Direktno preslikavanje ............................................................................................... 11
3.3 Asocijativno preslikavanje .......................................................................................... 13
3.4 Set-asocijativno preslikavanje .................................................................................... 14
4.1 Algoritmi zamjene .................................................................................................................. 16
4.2 Veličina reda ............................................................................................................... 17
5.1 Broj keš memorija ................................................................................................................... 17
6.1 Performanse keš memorije ..................................................................................................... 19
6.2 Smanjenje hit time-a ........................................................................................... 19
6.3 Mala i jednostavna keš memorija ......................................................................... 20
7.1 Problemi korišćenja keš memorija ......................................................................................... 20
8.1 Keš memorija diska ................................................................................................................ 21
9.1 Zaključak ................................................................................................................................ 23
Literatura ...................................................................................................................................... 24
2
1.Uvod
Sve češće je potrebno da računari obrade sve komplikovanije aplikacije koje obuhvataju
velike količine podataka, proračuna, vektora i matrica. Proektovanje keša je različito za
različite platforme i primjene. Hijerarhija keša može da bude korisna u poboljšavanju
perfomanse ako se aplikacioni softver podesi da eksploatise keš. Postoji veliki broj
implementacija keš memorije.
Danas, veličina keš memorije je jedan od bitnijih faktora u cjeni centralnog procesora.S
obzirom da je keš memorija realizovana unutar centralnog procesora i s obzirom na to da
je bit keš memotije skuplji od bilo kog bita druge memorije, kada je cijena u pitanju,
možemo zaključiti da moć centralnog procesora u mnogome zavisi od ove memorije.
Uloga ove memorije je da spregne rad centralnog procesora i operativne memmorije.Zbog
svoje uloge i zbog visoke cijene, ova memorija je veoma malog kapaciteta.Ti kapaciteti su
se u početcima bili reda samo nekoliko bita, dok dans veličina keša se mjeri u
megabajtima.
3
2.1 Keš memorija (cache)
Keš memorija je veoma brzi prostor za smeštanje podataka koji je manji od glavnog
prostora za smeštanje podataka. U keš memoriju se privremeno smeštaju instrukcije i
podaci iz glavnog skladišta koje će CPU verovatno sledeće koristiti.
Smještanje odredenih podataka u cache ubrzava operacije kompjutera. Postoje dve vrste
cachea:unutrašnji (ili memorijski cache) i spoljni (ili cache na disku). Unutrašnji cache je
ugraden u CPU, a spoljni cache se nalazi na matičnoj ploči. Kada se poziva određeni
element, kompjuter najpre proverava unutrašnji cache, zatim spoljni cache, a tek na kraju
sporije glavne zapise.
Verovatno svi iskusniji korisnici računara znaju šta je keš memorija i čemu ona služi. Za
sve one koji nisu upućeni u ovu tematiku daćemo kraće objašnjenje. Keš memorija je deo
memorije u koji se privremeno upisuju podaci pre njihovog prebacivanja u glavnu
memoriju. Zavisno od toga koliko imate slobodnog keša, vaš računar će raditi brže ili
sporije.
Baš zato je poželjno da količina keš memorije bude što veća, ali i da se taj prostor što
bolje iskoristi.Keš memorija je slična operativnoj meoriji,ali znatno brža.Zadatak keš
memorije je da amortizuje brzinu izmedju operativne memorije I procesora.Za
memorisanje podataka koriste se isti elementi koji se upotrebljavaju u procesoru.Takve
momorije nazivaju se statičke RAM memorije.
Brzina RAM memorije je sve više zaostajala za brzinom mikroprocesora.Da bi se ta
nesrazmera smanjila, uvedena je takozvana keš memorija. Za razliku od radne RAM
memorije koja je dinamičkog tipa, keš memorija je statičkog tipa i ima za red veličine
(oko 10 puta) kraće vreme pristupa.Keš memorija je postavljena između mikroprocesora i
radne memorije, a njenim radom je upravljao posebni kes kontroler.
Ovaj kontroler je na osnovu podataka koje je mikroprocesor tražio iz memorije pokušavao
da predvidi koji će sledeći podatak biti potreban mikroprocesoru,pa je
4
unaprijed,nečekajući zahtjev,taj podatak očitavao iz radne memorije i smeštao ga u keš
memoriju.
Slika 1. Princip rada keš memorije
Operativna i keš-memorija su podeljene na jedinice koje se nazivaju blokovi. Blok
(ponekad se naziva i linija) predstavlja skup od n sukcesivnih memorijskih lokacija koji se
uvek kao celina prenosi između operativne i keš-memorije. To znači da se svi podaci (ili
instrukcije) u nekom bloku istovremeno nalaze ili ne nalaze u keš memoriji.
Jedinica prenosa između centralnog procesora i keš-memorije je fizička reč. Jedinica
prenosa između keš-memorije i operativne memorije je blok. Veličina bloka obično iznosi
između 4 i 128 bajtova. Broj blokova operativne memorije je znatno veći od broja
blokova keš-memorije, tako da se u keš-memoriji u istom trenutku nalaze kopije samo
malog broja blokova operativne memorije. Kada centralni procesor generiše adresu
memorijske lokacije, formira se upravljački signal za pristup keš-memoriji.
Ukoliko se podatak sa traženom adresom nalazi u kešmemoriji, on se prenosi u procesor
radi obrade ili se zamenjuje novom vrednošću iz procesora koja predstavlja rezultat
obrade. Ukoliko u keš memoriji nema bloka sa traženom adresom, aktivira se procedura
kojom se iz keš-memorije jedan blok šalje u operativnu memoriju, a na njegovo mesto se
iz operativne memorije poziva traženi blok.
Drugi uzrok ubrzanja rada računara je u tome kada mikroprocesor treba da smesti neke
podatke u memoriju,on ih predaje brzoj keš memoriji,odakle se ti podaci upravljanjem keš
5
kontrolera šalju u radnu memoriju.Za to vreme je procesor slobodan da obavlja neke
druge poslove.Keš memorija se prvobitno smeštala na matičnu ploču,ali je već od 486
procesora delimočno premeštena u sam mikroprocesor.
Postoje i razna softverska rješenja za upravljanje keš memorijom, a sve to u cilju
efikasnijeg i boljeg iskorištenja keš memorije, sto za posledicu ima ifikasniji rad računara
u cjelini.
Jedan od takvih program je „Cacheman“, program koji kontroliše keš memoriju na
računaru na više načina. Nezahvalno je očekivati od ovog programa da ubrza računar za
100 procenata, ali treba imati na umu da će od keša pokušati da izvuče maksimum.
Komandni interfejs je jednostavan, a funkcije su grupisane u četiri grupe: Info, Settings,
Options i Support.
Ona omogućava povećanje brzine obrade, jer se u njoj nalaze tekući podaci i tekuće
instrukcije programa kojima procesor pristupa znatno brže. Cilj efikasnog memorijskog
sistema je da efektivno vreme pristupa procesora podacima bude vrlo blisko vremenu
pristupa kešmemoriji.
U okviru dela za kontrolu RAM-a moguće je isprazniti memoriju, odrediti maksimalnu
veličinu memorije ili uključiti automatsko „čišćenje” RAM-a, ukoliko slobodni prostor
„padne” ispod unapred određene veličine.
Klikom miša na dugme Recover memory now program oslobađa određenu količinu
memorije, a rezultat oslobađanja se ispisuje na statusnoj liniji.
Shodno velikom broju podešavanja, programeri su ubacili i te kako korisnu opciju
snimanja profila podešavanja (Profiles), a kako bi korisnicima olakšali posao, autori su
ubacili nekoliko profila koji bi trebalo da zadovolje svakog korisnika (desktop računar,
server, igre, sistem sa malo RAM-a i mobilni sistem).
6
Slika 2. Interni i eksterni keš
7
2.2 Veličina keša
Kada pomenem pojam veličine keša mislim na njegovu fizičku veličinu tj. na fizički
prostor na ploči koji zauzima ova memorija.Postoji nekoliko motivacija za minimiziranje
veličine keša. Rezultat je da su velike keš memorije sklone da budu nešto sporije od onih
malih-čak i kad se prave sa istom tehnologijom integrisanih kola i stave na isto mjesto na
čipu i štampanoj ploči. Raspoložive površine čipa i ploče takođe ograničavaju veličinu
keša. Sa obzirom na to da je perfomansa keša vrlo osetljiva na prirodu opterećenja,
nemoguće je doći do jedne „optimalne“ veličine keša.
2.3 Virtuelni keš
Prvi problem je posledica činjenice da različiti korisnici imaju iste virtuelne adrese koje
se preslikavaju na različite fizičke adrese. Na primer, svaki korisnik u slučaju stranične
organizacije virtuelne memorije ima stranice broj nula, jedan, itd. koje se, međutim,
preslikavaju u različite blokove. Isto to važi i za segmente sa brojevima nula, jedan itd.
koji se, međutim, preslikavaju u različite delove memorije. Stoga bi po porebacivanju
procesora sa korisnika na korisnika novi korisnik mogao da utvrdi da se potreban blok,
recimo stranica 54 nula, nalazi u kešu i da mu pogrešno pristupi, kako je to blok sa istim
brojem stranice nula koji je u kešu ostao od prethodnog korisnika.
Tu postoje dva rešenja. Prvo je da se svi ulazi keš memorije proglase za nevažeće pri
prebacivanju procesora sa korisnika na korisnika. Drugo je da se tag proširi sa PID
(proces identifikator) brojem. U prvom slučaju se kvari “miss rate,” a u drugom povećava
dužina “tag”-a. Drugi problem sa virtuelnim kešom se sastoji u tome da različiti korisnici
mogu da koriste različite virtuelne adrese za istu fizičku adresu. To se dešava u slučaju
stranične organizacije virtuelne memorije u slučaju deljivih segmenata. Ove dvostruke
adrese, nazvane sinonimi ili aliasi, mogu da dovedu do toga da se u virtuelnom kešu
8
pojave dve kopije istog podatka. U slučaju realnog keša ovo ne može da se desi, zato što
bi različite virtuelne adrese uvek bile prevedene na istu fizičku adresu.
Ovaj problem se može rešiti kombinacijom hardvera i softvera, korišćenjem tehnike
bojenja stranica (page colouring). Kod page colouring-a softverski se obezbeđuje da
aliasi imaju određen broj bitova virtuelnih adresa (identične). Ako je taj broj l i ako je
kapacitet keš memorije 2l bajta ili manji i koristi direktno preslikavanje, tada će blokovi
stranica aliasa zauzimati isti ulaz u virtuelnom kešu. Stoga se ne može desiti da se u
virtuelnom kešu nađu dve kopije fizičkog podatka.
Kod ulaza/izlaza se obično radi sa fizičkim adresama, pa bi za interakciju sa virtuelnim
kešom bilo potrebno njihovo preslikavanje u virtuelne adrese.
2.4 Realni keš
U slučaju realnog keša pre pristupa kešu mora, najpre, da se izvrši prevođenje virtuelnih u
realne adrese. To bi povećalo “hit time” i usporilo rad procesora. Stoga se u procesorima
sa realnim kešom koriste određene tehnike kojima se ovaj negativan efekat ublažava.
Kod jedne od tih tehnika se istovremeno i vrši preslikavanje virtuelne u realnu adresu i
pristupa realnom kešu. Da bi to moglo da se realizuje uvodi se ograničenje da
veličina keš memorije ne bude veća od veličine stranice. To omogućava da se
istovremeno pristupa i jedinici za ubrzavanje preslikavanja i keš memoriji. Jedinici za
ubrzavanje i preslikavanja se pristupa na osnovu broja stranice da bi se dobio broj bloka
realne adrese.
Keš memoriji se pristupa na osnovu adrese reči da bi se dobio “tag” koji je realan. Ove
operacije se realizuju paralelno. Po njihovom kompletiranju vrši se upoređivanje realnog
“tag”-a dobijenog iz realne keš memorije i “tag” bitova realne adrese dobijene iz jedinice
za ubrzavanje preslikavanja. Ako postoji saglasnost pristupa se keš memoriji, a ako ne
postoji, anulira se sadržaj keš memorije.
9
Slika 3 Realni keš
Još jedno moguće ubrzanje pristupa realnom kešu je da se u jedinici za ubrzavanje
preslikavanja virtuelnih u realne adrese po prvom prevođenju u dva posebna registra
upamte broj stranice i broj bloka. Kod svake sledeće virtuelne adrese ide se paralelno sa
prevođenjem broja stranice u broj bloka i proverava da li je ovo pristup istoj stranici,
upamćenoj u registru stranice, kao i kod prethodnog pristupa.
Ukoliko se otkrije da jeste, ne čeka se da se prevođenje kompletira u jedinici za
ubrzavanje preslikavanja, već se na osnovu broja bloka, upamćenog u registru bloka, kao i
kod prethodnog pristupa formira realna adresa i pristupa realnoj keš memoriji. Ukoliko se
otkrije da nije, čeka se da se prevođenje kompletira u jedinici za ubrzavanje preslikavanja,
pa se paralelno pristupa realnoj keš memoriji i pamte broj stranice i broj bloka u
odgovarajućim registrima.
10
3.1 Tehnike preslikavanja
S obzirom na to da ima manje redova keša od blokova u glavnoj memoriji, potreban je
algoritam za preslikavanje blokova glavne memorije u redove keša. Pored toga, potreban
je način za određivanje koji blok glavne memorije trenutno zauzima red keša. Izbor
fukcije preslikavanja diktira kako je keš organizovan. Mogu da se koriste tri tehnike:
direktno preslikavanje,asocialno preslikavanje i set-asocijativno preslikavanje
skupa.
3.2 Direktno preslikavanje
Najjednostavnija tehnika, poznata kao direktno preslikavanje, preslikava svaki blok
glavne memorije u samo jedan mogući red keša.
Preslikavanje se izražava kao i=j modulo m
Gdje je:
i =broj reda
j=broj bloka glavne memorije
m= broj redova u kešu.
Funkcije preslikavanja se lako implementira koristeći adrese. Kada se pristupa kešu,
svaka adresa glavne memorije može da se posmatra kao da se sastoji od tri polja.
Najmanje značnih w bitova indetifikuju jednostavnu riječ ili bajt unutar bloka glavne
memorije;u većini savremenih mašina, adresa je na nivou bajta. Ostalih s bitovaodređuju
blokova glavne memorije. Logika keša interpretira tih s bitova kao tag od s-r bitova i
polje rada od r bitova.
11
Slika 4 Direktno preslikavanje
Efekat ovog preslikavanja je da se blokovi glavne memorije dodjeljuju redovima keša.
Dakle upotreba dijela adrese kao broja reda objezbjeđuje jednostavno preslikavanje
svakog bloka memorije u keš.
Kada se blok stvarno učita u njemu dodijeljen red, potrbno je da se obelježe podaci kako
bi se razlikovali od drugih blokova koji staju u taj red.
Tehnika direktnog preslikavanja je jednostavna i jeftina za implementaciju. Njen glavni
nedostatak je to čto postoji fiksirana lokacija u kešu za svaki dati blok.
Dakle ako se dogodi da program ponovljivo referencira riječ iz dva različita bloka koji se
preslikavaju u isti red, onda će se blokovi stalno izbacivati iz keša i vjerovatnoća pogotka
če biti mala.
12
3.3 Asocijativno preslikavanje
Asocijativno preslikavanje skupa je kompromis koji pokazuje snagu i direktnog i
asocijativnog pristupa,dok smanjuje njihove nedostatke. U tom slučaju keš je podijeljen
na v skupova od kojih se svaki sastoji od k redova.
Odnosi su:
m=vxk
i=jmodulov
Gdje je:
i =broj reda
j=broj bloka glavne memorije
m= broj redova u kešu.
To se zove k-struko asocijativno preslikavanje skupa. Kod asocijativnog preslikavanje
skupa blok B može da se preslika u bilo koji od redova skupa. U tom slučaju upravljačka
logika keša interpretira memorijsku adresu jednostavno kao tri polja za tag. Skup i riječ.
Kod potpuno asocijativnog preslikavanja, tag u memoriskoj adresi je prilično dugačak i
mora da se poredi sa tegom svakog reda u kešu.
Kod tehnike asocijativnog preslikavanja kešmemorija se sastoji iz sledećih delova
• memorije DATA i
• memorije TAG.
U memoriju DATA se smeštaju blokovi preneti izoperativne u keš memoriju. U memoriju
TAG se smeštaju brojevi blokova, koji se nazivaju TAG-ovi, za blokove prenete iz
operativne u keš memoriju. Za realizaciju memorija DATA i TAG koriste se RAM i
asocijativna memorija, respektivno. Ukolikou memoriju DATA može da se smesti 2n
blokova kaže se da keš memorija ima 2n ulaza
13
Slika 5 Keš memorija sa asocijativnim preslikavanjem
3.4 Set-aocijativno preslikavanje
Tehnika set−asocijativnog preslikavanja predstavlja kombinaciju prethodne dve tehnike
preslikavanja. Kod set−asocijativnog preslikavanja se može uzeti da se keš memorija
sastojiod 2b identičnih manjih keš memorija realizovanih tehnikom direktnog
preslikavanja i da je operativna memorija podeljena na više grupa. Pri tome, broj blokova
u grupi operativne memorije odgovara broju blokova jedne manje keš memorije. Pošto je
14
uzeto da se keš memorija sastoji od 2b manjih keš memorija, i−ti blok bilo koje grupe
operativne memorije može da se preslika u i−ti blok bilo koje od 2b manjih keš memorija.
Time je stvoreno onoliko setova keš memorije koliko ima blokova u grupi operativne
memorije, sa onoliko blokova po setu keš memorije koliko ima manjih keš memorija.
Na nivou seta preslikavanje je direktno, jer je brojem bloka u grupi operativne memorije
jednoznačno određen set keš memorije u koji se dati blok preslikava. Unutar seta
preslikavanje je asocijativno, jer se dati blok operativne memorije može smestiti u bilo
koji od 2b blokova seta keš memorije.
Slika 7 Set-asocijativno preslikavanje
Kod tehnike set−asocijativnog preslikavanja, keš memorija se sastoji iz 2b manjih keš
15
memorija i to keš memorije blokova 0, u kojoj se za sve setove čuvaju samo blokovi 0,
keš memorije blokova 1, u kojoj se za sve setove čuvaju samo blokovi 1, i tako redom do
keš 19 memorije blokova (2b–1), u kojoj se za sve setove čuvaju samo blokovi (2b–1).
Svaka od 2b manjih keš memorija se sastoji od DATA MEMORIJE i TAG MEMORIJE.
U DATA MEMORIJE se smeštaju blokovi preneti iz operativne u keš memoriju, a u
TAG MEMORIJE se smeštaju brojevi grupa, koji se nazivaju tag−ovi, za blokove prenete
iz operativne u keš memoriju. Za realizaciju DATA MEMORIJA i TAG MEMORIJA,
koristi se RAM memorija.
4.1 Algoritmi zamjene
Jednom kada je keš memorija napunjena a u nju se donosi novi blok, jedan od postojećih
blokova mora da se zamijeni. Kod direktrnog preslikavanja postoji samo jedan mogući
red za svaki pojedinačni blok, pa nema nikakvog izbora. Kod tehnika asocijativnog
preslikavanja skupa potreban je algoritam za zamjenu. Da biu se postigla velika brzina
takav algoritam mora da se implementira u hardver. Isproban je veliki broj
algorita.Vjerovatno najefikasniji je da se zamijeni najmanje skoro korišćen blok. Mijenja
se onaj blok u sklopu koji je najduže bio u kešu a da nije refenciran. Za asocijativno
preslikavanje dvostrukih skupova to se lako implementira. Svaki red uključuje biti
USE(biti u uptrebi).
Postoji više algoritama zamjene.
Pri izboru algoritma zamene treba voditi računa o dva zahteva. Prvi je da on treba da
obezbedi minimalnu verovatnoću da će blok koji je odabran za zamenu i vraćen iz keš u
operativnu memoriju ubrzo morati ponovo da se dovuče iz operativne u keš memoriju.
Drugi je da cena hardvera potrebnog za njegovu realizaciju bude što je moguće niža. Ova
dva zahteva su kontradiktorna, jer je cena hardvera algoritama zamene koji bolje
ispunjavaju prvi zahtev viša u odnosu na cenu hardvera algoritama zamene koji to čine
lošije. Ovde se razmatraju četiri algoritma zamene i to RANDOM, FIFO, LRU i
PSEUDO LRU i daju njihova moguća realizacija
16
4.2 Veličina reda
Drugi element proektovanja je veličina reda. Kada se izdvoji blok podataka i smjesti u
keš, pozvana ja ne samo željena riječ nego i nekoliko susjednih riječi, Kada se veličina
bloka povećava od veoma malih ka većim vjerovatnoća pogotka će najprije rasti zbog
principa lokalnosti koji tvrdi da će se podaci u susedstvu referencirane riječi vjerovatno i
sami pozvati u bliskoj budućnosti.
Kada se blok povećava, korisniji podaci se donose u keš. Međutim,vjerovatnoća pogotka
će početi da se smanjuje kada blok postane još veći i vjerovatnoća upotrbe
novodonesenih informacija postane manja od vjerovatnoće ponovne upotrebe informacija
koje treba zamijene.
5.1 Broj keš memorija
Pojavom Pentijum procesora, pojavila su se i dva nivoa keš memorije.
Kako se gustina povećava postalo je moguće imati keš memoriju na istom čipu kao i
procesor. U poređenju sa kešom dostižnim preko spoljašne magistrale keš na čipu
smanjuje spoljašne aktivnosti procesora i na taj način ubrzava vrijeme izvršenja i
povećava ukupnu perfomansu sistema.
Najjednostvnija organizacija je organizacija u 2 nivoa sa internim kešom označen kao
nivo 1 ili L1 i spoljašnjim lešom označenim kao 2 ili L2. Razlog uključenja keša L“ je
ako nema keša L2 i procesor pravi zahtjev za pristupom memoriskoj lokaciji koja nije L1
onda procesor mora da pristupi DRAM ili ROM memoriji preko magistrale. Zahvaljujući
maloj brzini magistrale i dugom vremenskom pristupu to rezultuje slabom perfomansom.
Sa druge strane ako se koristi L2 onda često pomiješana informacija može da se pozove
ako je RAM memorija dovoljno brza da odgovori brzini procesoru.
17
Keš memorija prvog nivoa (L1 nivo) je smeštena u samo jezgro mikroprocesora. Ova
veoma brza memorija ima relativno mali kapacitet i podeljna je na dva bloka, jedan služi
za instrukcije a drugi za podatke. Ona obično radi na istom taktu kao i sam procesor.
Keš memorija drugog nivoa (L2 nivo) ima znatno veći kapacitet i kod današnjih
mikroprocesora je takođe smeštena unutar samog procesorskog čipa. Zavisno od tipa
procesora, ova keš memorija može da radi na punom taktu procesora ili na nižem taktu
(obično polovina učestanosti takta procesora).
Slika 8 Dvonivoske keš memorije
Uvođenjem keš memorije u sam mikoprocesor dobilo se dalje povećanje brzine rada
računara, sa tim da ta brzina dosta zavisi od kvaliteta keš kontrolera, odnosno od toga
koliko dobro on predviđa sledeće podatke kojo će biti potrebni mikroprocesoru, da bi
mogao unapred da ih pripremi
18
6.1 Performanse
Moguća mera performanse keš memorije je miss rate koja predstavlja je vrednostprocentualnih promašaja. Ona je privlačna jer ne zavisi od brzine hardvera i obično je manja od 5%. Kao moguća mera performanse keš memorije je i prosečno vreme pristupa memorije(average memory access time). Ono zavisi od:
• vremena pristupa keš memoriji pri “hit”-u (hit time),• procenta promašaja (miss rate) i• prosečnog gubitka vremena pri promašaju (miss penalty)i dato je formulom:
average memory access time = hit time + miss rate * miss penalty
Ona odražava brzinu hardvera i po njoj je poboljšanje performansi keš memorije mogućeostvariti smanjivanjem sva tri elementa. Tehnike kojima je to moguće realizovati su predmet daljih razmatranja.
6.2 Smanjenje hit time-a
Hit-time je veoma važan element kod projektovanja procesora jer ne utiče samo naprosečno vreme pristupa memorije već i na periodu signala takta procesora. Ovo je posledica činjenice da se u toku izvršavanja jedne instrukcije procesor više puta obraća memoriji i da ta obraćanja memoriji čine značajan deo ukupnog vremena izvršavanja instrukcije. Stoga se perioda signala takta tako bira da odgovara hit-time-u ili da neki njen umnožak bude hit-time.Ukoliko je hit-time manji moguće je periodu signala takta finije podešavati. Hit-time jemoguće smanjiti korišćenjem male i jednostavne keš memorije i izbegavanjem prevođenja virtuelne u realnu adresu.
19
6.3 Mala i jednostavna keš memorija
Na hit time utiče vreme potrebno da se deo generisane adrese uzme i na osnovu njegaizvrši provera tag-ova u keš memoriji i očita podatak. To je najbrže kod keš memorije sadirektnim, nešto sporije kod keš memorije sa set-asocijativnim, a najsporije kod keš memorije sa asocijativnim preslikavanjem.
7.1 Problemi korišćenja keš memorija
Pri korišćenju keš-memorije treba rešiti sledeća četiri osnovna problema:
• smeštanje blokova – gde će u kešmemoriji biti smešten novi blok pročitan iz operativne
memorije;
• identifikacija bloka – kako će biti nađen blok koji se nalazi u keš-memoriji;
• zamena blokova – koji blok će biti zamenjen, ako se traženi blok ne nalazi u keš-
memoriji;
strategija upisa – kako će se postupiti kod upisa novog podatka u keš-memoriju,jer se
tada modifikuje blok i postaje različit od odgovarajućeg bloka u operativnoj
memoriji.Najbolji način za smeštanje blokova pročitanih iz operativne memorije jeste tzv.
Asocijativno preslikavanje – svaki se blok može smestiti bilo gde u keš-memoriju.
Međutim u tom slučaju radi identifikacije blokova (drugi problem) pogodno je kao keš-
memoriju koristiti asocijativnu memoriju u kojoj ključ predstavlja memorijsku adresu
bloka a informacioni deo podatke iz operativne memorije.
20
8.1 Keš memorija diska
Operativna memorija savremenih računara odgovara na zahteve u desetinama
nanosekundi, a disk odgovara na zahteve u desetinama milisekundi, što znači da je razlika
u brzini oko milion puta. Kako keš memorije značajno poboljšavaju vreme pristupa
operativnoj memoriji, isti se koncept uspešno koristi i za diskove, značajno smanjujući
saobraćaj sa diskom I prosečno vreme pristupa diska.
Keš-memorija diska (keš-bafer diska) ima slicnu ulogu kao keš-memorija u sistemu keš-
memorija – glavna memorija To je memorijski bafer koji pamti poslednje korišćene
delove adresnog prostora diska, smanjujući tako zahtevani broj pristupa I efektivno vreme
pristupa disku, odnosno povećavajući efektivnu brzinu diska. Procesor uvek pristupa
podacima predhodno smešteni u keš-memoriju diska kad god mu zatrebaju.
Slika 9 Princip rada keš memorije diska
Keš-memorija diska je veličine od jednog do više megabajta. Jedinica prenosa između
diska i keš-memorije diska obično sadrži jednu ili više staza diska. Keš-memorija diska
može se pridružiti ulazno-izlaznom uređaju, kontroleru tog uređaja ili operativnoj
memoriji procesora.
21
Ispitivanja su pokazala da je efikasnost kešmemorije diska najbolja kada je ona uključena
kao deo operativne memorije.
Keš memoriju hard diska je moguće kontrolisati ograničavanjem maksimalnog i
minimalnog keša ili jednostavno korišćenjem neke od opcija koje su ponuđene u
programu (maksimalno korišćenje memorije, balansirano, maksimalna propustljivost za
deljenje fajlova i maksimalna propustljivost za mrežne aplikacije).
22
9.1 Zaključak
Verovatno svi iskusniji korisnici računara znaju šta je keš memorija i čemu ona služi. Za
sve one koji nisu upućeni u ovu tematiku daćemo kraće objašnjenje. Keš memorija je deo
memorije u koji se privremeno upisuju podaci pre njihovog prebacivanja u glavnu
memoriju. Zavisno od toga koliko imate slobodnog keša, vaš računar će raditi brže ili
sporije.I zato bih preporučio svima koji se odlučuju na kupovinu računara da pri kupovini
odaberu dovoljno keš memorije jer smo se uverili da je brza keš memorija nešto bez čega
bi se odredjeni posao mnogo sporije obavljao.
23
Literatura
[1] http://www.link-elearning.com/linkdl/elearning/jedinica.php?IDJedinice=405
[2] Elektrosko izdanje udzbenika za elektrotehnčke fakultete „Računarske tehnike i memorije u računarima“ http://rti.etf.rs/rti/ri3aor/lab/KES_OPIS.pdf
[3] Elektornsko izdanje knjige „Memorije“http://rti.etf.rs/rti/ri3aor/literatura/predavanja/Memorija_iz_AOR1_2005_2006_v2.pdf
24