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 ...
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!