Documente Academic
Documente Profesional
Documente Cultură
Acest concept presupune ca blocurile ce vor veni din memoria principala sunt plasate selectiv,
fie in cache-ul principal sau in SVC, folosind un algoritm de predictie bazat pe istoria folosirii lor.
Predictia este folosita de asemenea in cazul unui miss in cache-ul principal pentru a determina
daca e nevoie de o interschimbare a blocurilor aflate in conflict.
Algoritmul foloseste doi biti de stare asociati fiecarui bloc din cache numiti hit bit si sticky bit.
Daca hit bit=1, inseamna ca a avut loc cel putin un acces cu hit pe bloc, cand acesta s-a aflat in
cache-ul principal ultima data.
Daca hit bit=0, inseamna ca blocul corespunzator nu a fost accesat niciodata, cand acesta s-a
aflat in cache-ul principal ultima data.
Atunci cand un bloc este adus in cache-ul principal, stick-bit pentru acel bloc va fi setat pe 1
Cazul 1 : Acces la blocul B, hit in SVC, A este Cazul 2: Acess la blocul B, miss atat in cache-ul
blocul conflictual din cache-ul principal principal cat si in SVC, A este blocul conflictual
din cache-ul principal.
daca sticky[A]=0 atunci
interschimba A cu B daca sticky[A]=0 atunci
sticky[B] <- 1; hit[B]<-1; muta A in victim cache
copiem B in blocul tranzitoriu transfera B in cache-ul principal
altfel sticky[B]<-1; hit[B]<-1;
daca hit[B]=0 atunci
sticky[A]<-0;
copiem B in blocul tranzit. (se reiau pasii de la cazul 1)
altfel
interschimba A cu B
sticky[B]<-1; hit[B]<-0;
2. De ce este dificil de predictionat un branch cu un comportament puternic
entropic si nepolarizat intr-un anumit context dinamic (binar) de aparitie (LHR,
GHR, etc.)? Ce strategii exista in vederea transformarii sale intr-un branch mai
polarizat si deci mai predictibil?
Dificultatea vine din faptul ca anumite branch-uri dinamice, intr-un anumit context binar de
aparitie, au un comportament nepolarizat, fiind atat Taken cat si Not Taken in proportii
semnificative.
Strategii:
Marimea PHT (pattern history table) determina costuri mari de implementare pentru a obtine predictii bune.
Dar multe intrari din PHT raman nefolosite. Se aplica un cache pentru a retine intrari de PHT care se folosesc
mai des, eliminand astfel costurile mari pentru implementare PHT.