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 ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Esempio - PowerPC 604 (3)<br />
• Hit nel BTAC<br />
• In<strong>di</strong>ca la presenza <strong>di</strong> un branch nella coda <strong>di</strong> fetch<br />
• L’in<strong>di</strong>rizzo target prelevato dal BTAC viene usato al ciclo successivo<br />
• Al secondo ciclo viene consultato il BHT<br />
• La pre<strong>di</strong>zione deve essere “taken”, se avevo fatto hit in BTAC al ciclo prima<br />
• Se le due pre<strong>di</strong>zioni NON sono in accordo?<br />
• Si butta la pre<strong>di</strong>zione <strong>del</strong> BTAC (significa che BHT ha predetto “not-taken”)<br />
• Il fetch continua dal ramo in cascata<br />
• La pre<strong>di</strong>zione <strong>del</strong> BHT prevale su quella <strong>del</strong> BTAC<br />
• Dopo aver risolto il branch si devono aggiornare sia BTAC che BHT<br />
• Perche’ servono entrambi ?<br />
• Il BTAC e’ piu’ veloce: se la pre<strong>di</strong>zione e’ giusta non attendo alcun ciclo<br />
Roberto Giorgi, Universita’ <strong>di</strong> Siena, C208L05, Slide 7<br />
Esempio - PowerPC 604 (4)<br />
• Il PowerPC 604 e’ superscalare<br />
• Nelle reservation-station ci possono essere fino a 4 istruzioni <strong>di</strong> salto<br />
• E’ necessario usare dei tag a 2 bit per gestire la speculazione<br />
• Segue lo schema introdotto poco sopra<br />
• In particolare le risorse occupate dalle istruzioni speculative<br />
debbono essere liberate in caso <strong>di</strong> mispre<strong>di</strong>ction<br />
(es. Reorder Buffer, una struttura tipica dei processori superscalari)<br />
Roberto Giorgi, Universita’ <strong>di</strong> Siena, C208L05, Slide 8