34
PANEVROPSKI UNIVERZITET APEIRON FAKULTET POSLOVNE INFORMATIKE Redovne studije Smer „Infomnatički inžinjering” Predmet ARHITEKTURA RAČUNARSKIH SISTEMA I MREŽA “KEŠ MEMORIJA” (seminarski rad) Predmetni nastavnik Prof. dr Zoran Avramović

“KEŠ MEMORIJA”jkjhk

  • Upload
    -

  • View
    265

  • Download
    14

Embed Size (px)

DESCRIPTION

jkjhkkjjhk

Citation preview

Page 1: “KEŠ MEMORIJA”jkjhk

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.

Page 2: “KEŠ MEMORIJA”jkjhk

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

Page 3: “KEŠ MEMORIJA”jkjhk

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

Page 4: “KEŠ MEMORIJA”jkjhk

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

Page 5: “KEŠ MEMORIJA”jkjhk

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

Page 6: “KEŠ MEMORIJA”jkjhk

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

Page 7: “KEŠ MEMORIJA”jkjhk

Slika 2. Interni i eksterni keš

7

Page 8: “KEŠ MEMORIJA”jkjhk

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

Page 9: “KEŠ MEMORIJA”jkjhk

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

Page 10: “KEŠ MEMORIJA”jkjhk

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

Page 11: “KEŠ MEMORIJA”jkjhk

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

Page 12: “KEŠ MEMORIJA”jkjhk

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

Page 13: “KEŠ MEMORIJA”jkjhk

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

Page 14: “KEŠ MEMORIJA”jkjhk

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

Page 15: “KEŠ MEMORIJA”jkjhk

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

Page 16: “KEŠ MEMORIJA”jkjhk

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

Page 17: “KEŠ MEMORIJA”jkjhk

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

Page 18: “KEŠ MEMORIJA”jkjhk

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

Page 19: “KEŠ MEMORIJA”jkjhk

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

Page 20: “KEŠ MEMORIJA”jkjhk

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

Page 21: “KEŠ MEMORIJA”jkjhk

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

Page 22: “KEŠ MEMORIJA”jkjhk

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

Page 23: “KEŠ MEMORIJA”jkjhk

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

Page 24: “KEŠ MEMORIJA”jkjhk

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