Kurs: Arhitektura računarskih sistema Materijali vezani uz ovu lekciju: - Test keš memorija Keš memorija Naziv keš memorije potiče od reči cache memory, što u prevodu znači skrivena memorija. Skrivena u smislu da je realizovana hardverski, da je skrivena od programera, tj. programer ne može da utiče na keš memoriju. Razlog uvođenja keš memorije je relativno veliko vreme pristupa radnoj memoriji. Keš memorija se koristi za ubrzavanje pristupa radnoj memoriji, a samim tim i za ubrzavanje rada računara. Kapacitet keš memorije je znatno manji od kapaciteta radne memorije. Vreme pristupa keš memoriji je za red veličine manji od vremena pristupa radnoj memoriji.
U keš memoriji se nalaze oni sadržaji iz radne memorije kojima se najčešće pristupa. Pri čitanju ili upisu najpre se proverava da li je traženi sadržaj u keš memoriji. Ako jeste, pristupa se keš memoriji, a ako nije, pristupa se radnoj memoriji. Lokalitet Prostorni lokalitet predstavlja dovlačenje iz određene memorijske lokacije i iz nekoliko susednih lokacija. Pristup adresama koje su prostorno bliske sa onima kojima je već pristupano. Primer je sekvencijalno izvršavanje programa. Pokušavamo da dovučemo iz memorije adrese koje su prostorno blizu onima koje su već generisane. Vremenski lokalitet predstavlja u jednom vremenskom periodu pristup određenim lokacijama, koje će se verovatno ponovo koristiti. Drugim rečima, pristup adresama koje prostorno ne moraju da budu bliske i koje se javljaju u određenim vremenskim razmacima. Na primer, kod poziva potprograma izražen je vremenski lokalitet. Karakteristike keš memorije Osnovne karakteristike keš memorije su: · Vreme pristupa · Kapacitet keš memorije · Dimenzija bloka keš memorije · Tehnika preslikavanja · Algoritam zamene · Način ažuriranja radne memorije Keš memorija radi na nivou blokova. Ako blok koji se traži nije u keš memoriji, mora da se dovuče iz radne memorije. Kada procesor traži neki podatak i ako traži jedan ili dva bajta, nikad se neće oni sami prenositi do keš memorije nego ceo blok u kome se nalaze. Tehnika preslikavanja Za svaki sadržaj u keš memoriji mora da se vodi evidencija koji je sadržaj iz radne memorije u keš memoriji. Taj postupak se zove mehanizam ili tehnika preslikavanja. Postoje tri tehnike preslikavanja : · Direktno · Asocijativno · Set-asocijativno preslikavanje. Algoritam zamene Da bi se dovukao novi blok iz memorije mora se odrediti koji se izbacuje. Ako radimo upis u neki od blokova, koje smo dovukli iz memorije i onda moramo da ažuriramo radnu memoriju, pre nego što taj blok izbacimo iz keša. Postoje tri algoritma zamene: • LRU - Least Recently Used, koji izbacuje onaj blok kojem nije skoro pristupano, što podrazumeva postojanje logike za vođenje evidencije, setovanje odgovarajućih LRU bita pri svakom pristupu kešu • Random, kojim se slučajno bira blok koji se izbacuje da bi se oslobodilo mesto za novi blok, nema logike za vođenje evidencije, jednostavnost i veća brzina • FIFO - First IN First OUT, koji izbacuje blok koji je najduže u keš memoriji, jednostavan za realizaciju Ažuriranje radne memorije Najčešće se koriste dva načina ažuriranja radne memorije: · WRITE-BACK • upisuje se samo u keš memoriju, a posle se vraćaju blokovi u radnu memoriju • prednost je da nema čestog pristupa radnoj memoriji, radnoj memoriji se pristupa samo kada se blok izbacuje iz keš memorije • mana je što nema ažurnosti sadržaja • mora se prvo vratiti neki blok pre nego što se dovuče novi · WRITE-THROUGH • upis i u keš i u radnu memoriju • prednost je istovremena ažurnost i u kešu i u radnoj memoriji • prednost je i primena kod više procesorskih platformi • mana je pristup radnoj memoriji svaki put kada ima upisa Ako se traženi podatak nalazi u keš memoriji, kaže se da je došlo do pogotka keša (Cache Hit). Ako se traženi podatak ne nalazi u keš memoriji došlo je do promašaja (Cache Miss) i u tom slučaju, dovlači se podatak iz radne memorije. Ako je potrebno keš kontroler može da postavi READY signal procesoru. Keš se projektuje tako da ima preko 90% pogodaka.
|