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

07.06.2013 Views

ALPHA 21264 Branch Prediction case study Roberto Giorgi, Universita’ di Siena, C208L01, Slide 19 Processore Alpha 21264 • 500-600 MHz, 15x10 6 transistors, 2.2V, 0.35µ CMOS • Processore a 64-bit • Processore Superscalare a 4 vie • Puo’ prelevare ed eseguire fino a 4 istruzioni per ciclo • L’esecuzione avviene “fuori ordine” (out-of-order) • Secondo Hennessy e Patterson ha il predittore piu’ sofisticato implmentato fino al 2003 Roberto Giorgi, Universita’ di Siena, C208L05, Slide 20

Predittore dell’Alpha 21264 [Alpha99] • Tournament Predictor • Sceglie dinamicamente fra due predittori - Il “predittore locale” (sinistra) – equivalente ad uno schena PAg - Il “predittore globale” (destra) – equivalente ad uno schema Gag - La selezione del predittore avviene attraverso una storia degli esiti competitivi data in pasto al solito contatore a saturazione a 2 bit. Local predictor Local history table (1024 x 10) Program counter Roberto Giorgi, Universita’ di Siena, C208L05, Slide 21 Local prediction (1024 x 3) branch prediction MUX Global prediction (4096 x 2) Alpha 21264 - Predittore Locale • Local History Table (LHT) Choice prediction (4096 x 2) Path history • Equivalente alla BHT dello schema PAg (k=10, 1024 entry BHT (m=10)) • Mantiene gli ultimi 10 esiti per un massimo di 1024 branch • E’ indicizzato dall’indirizzo dell’istruzione di salto (BIA) • Local Prediction Table (LPT) • Equivalente a una PHT dello schema PAg (j=3, 1024 entries(k=10)) • E’ indicizzata dall’elemento di storia della LHT • La FSM e’ un contatore a saturazione a 3 bit • La predizione coincide col bit piu’ significativo dello stato (1=T) • La LHT e la LPT sono aggiornate dopo che il branch viene risolto • Funziona bene per sequenze alternativamente T e N Roberto Giorgi, Universita’ di Siena, C208L05, Slide 22

Pre<strong>di</strong>tt<strong>ore</strong> <strong>del</strong>l’Alpha 2<strong>12</strong>64 [Alpha99]<br />

• Tournament Pre<strong>di</strong>ctor<br />

• Sceglie <strong>di</strong>namicamente fra due pre<strong>di</strong>ttori<br />

- Il “pre<strong>di</strong>tt<strong>ore</strong> locale” (sinistra) – equivalente ad uno schena PAg<br />

- Il “pre<strong>di</strong>tt<strong>ore</strong> globale” (destra) – equivalente ad uno schema Gag<br />

- La selezione <strong>del</strong> pre<strong>di</strong>tt<strong>ore</strong> avviene attraverso una storia degli esiti<br />

competitivi data in pasto al solito contat<strong>ore</strong> a saturazione a 2 bit.<br />

Local pre<strong>di</strong>ctor<br />

Local<br />

history<br />

table<br />

(1024 x 10)<br />

Program<br />

counter<br />

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

Local<br />

pre<strong>di</strong>ction<br />

(1024 x 3)<br />

branch<br />

pre<strong>di</strong>ction<br />

MUX<br />

Global pre<strong>di</strong>ction<br />

(4096 x 2)<br />

Alpha 2<strong>12</strong>64 - Pre<strong>di</strong>tt<strong>ore</strong> Locale<br />

• Local History Table (LHT)<br />

Choice pre<strong>di</strong>ction<br />

(4096 x 2)<br />

Path history<br />

• Equivalente alla BHT <strong>del</strong>lo schema PAg (k=10, 1024 entry BHT (m=10))<br />

• Mantiene gli ultimi 10 esiti per un massimo <strong>di</strong> 1024 branch<br />

• E’ in<strong>di</strong>cizzato dall’in<strong>di</strong>rizzo <strong>del</strong>l’istruzione <strong>di</strong> salto (BIA)<br />

• Local Pre<strong>di</strong>ction Table (LPT)<br />

• Equivalente a una PHT <strong>del</strong>lo schema PAg (j=3, 1024 entries(k=10))<br />

• E’ in<strong>di</strong>cizzata dall’elemento <strong>di</strong> storia <strong>del</strong>la LHT<br />

• La FSM e’ un contat<strong>ore</strong> a saturazione a 3 bit<br />

• La pre<strong>di</strong>zione coincide col bit piu’ significativo <strong>del</strong>lo stato (1=T)<br />

• La LHT e la LPT sono aggiornate dopo che il branch viene<br />

risolto<br />

• Funziona bene per sequenze alternativamente T e N<br />

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

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

Saved successfully!

Ooh no, something went wrong!