Keš memorija

S Vikipedije, slobodne enciklopedije

Keš memorija je memorija malog kapaciteta koja služi za zapis podataka koji se često koriste. U nju se, za razliku od bafer memorije može pisati na koje mesto se želi upisati i s kojeg mesta se želi čitati.

Zašto keš memorija[uredi | uredi izvor]

Dijagram CPU keš memorije

Kada procesor dobavlja podatke iz RAM-a, treba mu prosečno oko 60 nanosekundi. Kako mikroprocesor radi puno brže (u ciklusima od 2 ns) znači da gubi jako puno vremena čekajući na podatke iz RAM-a. Problem se pojavio zbog nesrazmernosti u povećanju brzine rada između procesora i memorije. Naime, veći broj komponenti na jedinici površine integrisanog sklopa rezultuje većim povećanjem brzine rada procesora u odnosu na memoriju, a da bi se na neki način donekle anulirala ta razlika u brzini između brzog mikroprocesora i sporih memorija i ostalih komponenti računala, uvodi se keš memorija.

Zbog toga je trebalo postojeći sastav sistemske memorije poboljšati ili ugradnjom brže memorije, što bi značajno poskupilo cenu računara ili odgovarajućim tehničkim inovacijama. U ovom slučaju, hijerarhijska organizacija memorije, pokazala se kao idealna jer je dodavanjem malog kapaciteta brze memorije (SRAM tehnologije) trebalo ubrzati veliku količinu spore i manje skupe memorije. Tako je na samom procesoru ugrađen tzv. L1 keš, mala memorija čiji sadržaj sa lokacije procesora preuzima jednako brzo kao i iz svojih registara, a izvan procesora ugrađuje se u računarski sistem tzv. L2 keš, brza memorija u koji se smešta deo podataka iz RAM-a za koje se pretpostavlja da će ih procesor ubrzo zatražiti. L2 keš otprilike je duplo brži od RAM-a.

Efikasnost keš memorije[uredi | uredi izvor]

Efikasnost keš memorije određuje broj koji govori koliko je puta procesoru stvarno i isporučen podatak nakon što ga je zatražio. U tom kontekstu često se koriste termini kao što je pogodak (hit) koji označava da je podatak kojeg procesor traži stvarno i pronađen u keš memoriji. U slučaju da ga tamo nema kažemo da je reč o promašaju (mis).

Postoje tri različita tipa promašaja:

  • Nezaobilazni promašaj pri prvom posezanju za podacima iz memorije kada je keš još prazan;
  • Kapacitetni promašaj koji se javlja ako se svi potrebni blokovi ne mogu smestiti odmah u keš
    nego ih se dobavlja kasnije. Uzrok promašaja je nedostatna veličina keš memorije.
  • Konfliktni promašaj je onaj koji nastaje zbog primenjene strategije prebacivanja podataka u
    keš. Naime ukoliko više blokova iz RAM-a pokušava na isto mesto u keš memoriji, ne mogu se
    svi učitati odmah nego ih se dobavlja kasnije. Ponekad se ova vrsta promašaja zove promašajem
    kolizije ili interferencije;

Vidi još[uredi | uredi izvor]

Spoljašnje veze[uredi | uredi izvor]