Pre-preluare
Această intrare sau secțiune despre subiectul computerelor nu citează sursele necesare sau cei prezenți sunt insuficienți . |
Prefetch (din latinescul pre , „before” și fetch , în engleză „to fetch”) este o tehnică utilizată în microprocesoare pentru a accelera execuția programelor prin reducerea stărilor de așteptare .
Microprocesoarele moderne sunt de fapt mult mai rapide decât memoria RAM care conține programe și date, astfel încât instrucțiunile programului nu pot fi citite suficient de rapid pentru a menține procesorul ocupat.
Operațiune
Activitatea de pre-preluare ar putea consta în preîncărcarea următoarei instrucțiuni a programului în timpul executării instrucțiunii curente; de fapt, s-a limitat la aceasta în primele sale implementări (ca în cazul Intel 8086 ). Cu toate acestea, atunci când instrucțiunea de executat a fost o instrucțiune de salt, munca depusă s-a dovedit total inutilă și preluarea cozii a fost golită, cu pierderea eficienței.
În cele mai avansate procesoare, activitatea de pre-preluare se realizează prin intermediul unui algoritm complex de predicție, cu care procesorul încearcă să identifice următoarea instrucțiune corectă de încărcat. În cazul familiei Intel , această tehnică se numește Branch Target Buffer și poate ajunge la predicții exacte în 90% din cazuri.
Plăci grafice
În cazul hardware-ului dedicat (cum ar fi CPU-urile plăcilor grafice sau GPU-urile ), instrucțiunea de pre-preluare poate beneficia de procesul de coerență spațială prezent de obicei în maparea texturilor . În acest caz, datele încărcate de activitatea de preluare nu sunt instrucțiuni, ci elemente de textură ( texeluri ) care pot fi mapate pe un poligon.