недеља, 25. децембар 2011.

Cache memorija


Registri opste namene su se koristili kao operandi instrukcija. Program mora da se nalazi kao niz instr. u operativnoj memoriji. Da bi se ubrzao proces obrade prilikom ciklusa izvlacenja instrukcije i time prevazisli problemi koji poticu od spore dinamicke memorije, na plocici procesora se pravi mala brza prihvatna memorija statickog tipa (Cache memorija). Velicina ove memorije je tipicno 256kb, a moze biti i nekoliko MB.
Posebnim algoritmima predvidjanja, deo programa iz operativne memorije prenosi se u Cache memoriju. Procesor umesto da se obraca operativnoj memoriji u cilju izvlacenja instrukcija obraca se cache memoriji cija je brzina ravna brzini rada procesora. Idealno bi bilo da procesor uvek nadje u cache memoriji instrukciju koja mu treba. U stvarnosti ovo se ne desava uvek. Da bi se verovatnoca pronalaska instrukcije u cache memoriji povecala koriste se algoritmi predvidjanja koji na bazi izvrsavanja tekuceg dela programa zakljucuju koji deo programa ce procesoru trebati u buducnosti i onda ga automatski donose iz operativne memorije.
Cache memorija se pravi u nivoima:
            *Nivo L1 je majmanjeg kapaciteta i u principu najbrza, ravna brzini procesora.
            *Nivo L2 je veceg kapaciteta i u nekim slucajevima zbog toga sporija u odnosu na L1 (vece memorije su sporije jer imaju vece latentno vreme).
            *Nivo L3 je jos veceg kapaciteta. Broj nivoa zavisi od proizvodjaca i tipa procesora.
Procesor prvo trazi instrukciju u memoriji L1, a ako je ne nadje trazi u sledecem nivou. Kod procesora sa vise jezgara po pravilu svako jezgro ima svoju cache memoriju. Jezgra cache memorije viseg nivoa mogu da se dele.

Нема коментара:

Постави коментар