07.06.2013 Views

LEZIONE #05 del 12-Mag-2008 (2 ore) - Dipartimento di Ingegneria ...

LEZIONE #05 del 12-Mag-2008 (2 ore) - Dipartimento di Ingegneria ...

LEZIONE #05 del 12-Mag-2008 (2 ore) - Dipartimento di Ingegneria ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Branch Mispre<strong>di</strong>ction Recovery (2)<br />

• Come si recupera (recovery) in questo caso<br />

• Vorremmo recuperare da una situazione <strong>di</strong> mispre<strong>di</strong>ction multipli<br />

• Situazione piu’ complessa: primo branch mispre<strong>di</strong>cted, secondo giusto<br />

• Esempio: stiamo speculando su 3 branch, b1, b2, b3<br />

- Le pre<strong>di</strong>zioni sono evidenziate con la linee tratteggiata<br />

- Le istruzioni <strong>di</strong> ogni ramo predetto sono residenti nel process<strong>ore</strong><br />

• Idea: a ogni istruzione su un dato ramo speculativo si assegna in TAG<br />

- Ogni ramo speculativo ha il proprio tag (Tag1, Tag2, Tag3)<br />

NT<br />

NT T NT<br />

Roberto Giorgi, Universita’ <strong>di</strong> Siena, C208L05, Slide 3<br />

T<br />

NT<br />

T<br />

T<br />

(Tag 2)<br />

(Tag 1)<br />

NT<br />

T<br />

NT T NT<br />

(Tag 3)<br />

Branch Mispre<strong>di</strong>ction Recovery (3)<br />

• Validazione dei branch<br />

• Quando il branch e’ risolto (<strong>di</strong>rezione e target sono noti)<br />

- CASO DI PREDIZIONE CORRETTA<br />

-Il tag viene rimosso e le istruzioni su quel ramo <strong>di</strong>vengono non-speculative<br />

- CASO DI PREDIZIONE ERRATA (MISPREDICTION)<br />

-Il ramo errato viene bloccato ed eliminato dalla pipeline<br />

-Devono essere rimossi anche tutti i rami speculativi successivi<br />

-Il ramo corretto viene eseguito dall’inizio inserendolo in pipeline<br />

• Esempio<br />

- Il secondo branch non e’ stato azzeccato<br />

- Tutte le istruzioni con Tag2 e Tag3 devono essere rimosse<br />

NT<br />

NT T NT<br />

Roberto Giorgi, Universita’ <strong>di</strong> Siena, C208L05, Slide 4<br />

T<br />

NT<br />

T<br />

T<br />

(Tag 2)<br />

NT<br />

T<br />

NT T NT<br />

(Tag 3)<br />

T<br />

T<br />

Ricominciare<br />

da qui!

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!