Predictor țintă ramură

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

În arhitectura microprocesoarelor, predictorul țintă de ramură este o unitate funcțională dedicată prezicerii adresei de destinație a unei ramuri condiționate sau a unei ramuri necondiționate înainte ca instrucțiunea să fie încărcată din memoria cache de instrucțiuni. Cache-ul de instrucțiuni este un cache specializat.

Predictorul țintei ramurii nu trebuie confundat cu unitatea de predicție a ramurii , deoarece această unitate încearcă să prezică dacă ramura va fi urmată sau nu.

În multe procesoare paralele, memoria cache a instrucțiunilor are o latență relativ mare și, prin urmare, găsirea adresei de destinație a saltului reprezintă un blocaj. Procedura de identificare a acestuia efectuează următoarele operațiuni:

  • Cache-ul de instrucțiuni oferă un bloc de instrucțiuni
  • Blocul de declarații este scanat pentru a găsi sucursale
  • Unitatea de predicție a ramurilor identifică primul salt care ar trebui efectuat
  • Adresa destinației de salt este calculată
  • Instrucțiunile sunt încărcate începând de la adresa respectivă

În multe procesoare, aceste operații necesită două cicluri de ceas și, prin urmare, procesorul pierde un ciclu complet de ceas pentru a încărca instrucțiuni noi după fiecare salt prevăzut. Deoarece, în medie, este prezent un salt anticipat pentru fiecare zece instrucțiuni executate, pierderea de performanță poate fi semnificativă. Unele procesoare au o latență mare a cache-ului de instrucțiuni și, prin urmare, degradarea performanței este chiar mai mare. Pentru a reduce pierderea de performanță, multe procesoare includ o unitate de predicție a țintei ramificate, având în vedere adresa de salt, această unitate prezice destinația de salt. O îmbunătățire a ideii prezice începutul instrucțiunilor secvențiale începând de la adresa blocului anterior de instrucțiuni secvențiale.

Predicția reduce operațiunile de efectuat care devin:

  • Hash-ul adresei primei instrucțiuni secvențiale
  • Încărcare de la predictorul adresei salturilor prezente în blocul de instrucțiuni în execuție
  • Selectarea adresei de destinație a primului salt anticipat

Predictorul ocupă aproximativ 5-10% din spațiul cache al instrucțiunilor, dar încărcarea instrucțiunilor după salt este accelerată considerabil. Dacă nu ar fi suficient de rapid, ar fi posibil să se paralelizeze predicția adreselor salturilor și predicția salturilor.

Procentul de predicție al unui salt este de aproximativ 93% din succese.

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT