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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!