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.

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

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

Saved successfully!

Ooh no, something went wrong!