La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una...

12
La Tecnica PIPELINE

Transcript of La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una...

Page 1: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

La Tecnica PIPELINE

Page 2: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

OVERVIEW

• Significato• Presupposti Operativi

– Sincronismo• Presupposti per una Pipeline efficiente

– Bilanciamento delle fasi• UnderUnder e SuperSuper Pipeline

• Vantaggi• Svantaggi

Page 3: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

SignificatoPipelinePipeline come una Catena di MontaggioCatena di Montaggio

Invece di utilizzare piu unità operative specializzate su tutte le fasi dell’intero processo impiega più unità operative indipendenti, non interscambiaili e specializzate su diverse fasi dell’intero processo

meno complessemeno costose

facilmente riproducibili

Unità OperativeUnità Operative

centralizzatonon troppo complesso

Unità di ControlloUnità di Controllo

dopo una latenza NxT completo ogni processo

in un tempo T

Speed – Up: Speed – Up: NNN: num Unità OperativeT: tempo massimo per operazione

complessità proporzionale a N

ArchitetturaArchitettura

Henry Ford, proprietario dell’omonima fabbrica

automobilistica di Detroit, nel 1927 costruisce la prima

catena di montaggio

Page 4: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

554433

Significato

2211

Fasi Non BilanciateNon Bilanciate e AtomicheAtomiche

Il processore è costruito da più Unità Differenti e Indipendenti che lavorano: in Parallelo su fasi differenti di istruzioni differenti in Serie su diverse fasi dell’esecuzione della medesima istruzioneOgni unità preleva dall’unità precedente l’istruzione trasformata e la trasforma ulteriormente passandola all’unità successiva

PipelinePipeline come una Catena di MontaggioCatena di Montaggio

Le diverse Fasi dell’Esecuzione le possiamo identificare in corrispondenza delle differenti unità o macro unità hardware

(Memoria, ALU, Registri ...) interessate dall’esecuzione dell’istruzione

Risultato dell’esecuzione

Programma

Processore Pipeline con 5 unità operative parallele

1 Istr.1 Istr.22 Istr.Istr.

33 Istr.Istr.44 Istr.Istr.

112233441122334455 55

1 Istr.1 Istr. 1 Istr.1 Istr. 1 Istr.1 Istr. 1 Istr.1 Istr. 1 Istr.1 Istr.2 Istr.2 Istr.3 Istr.3 Istr. 2 Istr.2 Istr.4 Istr.4 Istr. 3 Istr.3 Istr. 2 Istr.2 Istr.5 Istr.5 Istr. 4 Istr.4 Istr. 3 Istr.3 Istr. 2 Istr.2 Istr.6 Istr.6 Istr. 5 Istr.5 Istr. 4 Istr.4 Istr. 3 Istr.3 Istr. 2 Istr.2 Istr.

Page 5: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

Gestione della Pipeline

5544332211

5544332211

5544332211

4411 22 33 554411 22 33 55

4411 22 33 554411 22 33 55

4411 22 33 554411 22 33 55

NONO

5544332211

Fasi Non BilanciateNon Bilanciate e AtomicheAtomiche

La Fase 3 più Lenta fissa la latenza T anche per le altre FasiContestoContesto

SincronoSincrono

1122

33 4455 4411 22 33 55

TT TT TT

Presupposti Operativi:Presupposti Operativi: Sincronismo Sincronismo

Page 6: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

5544332211

Fasi Non BilanciateNon Bilanciate e AtomicheAtomiche

Hardware più sempliceHardware più semplice (costruisco 3 fasi indipendenti)Basso Speed-UpBasso Speed-Up (sovrappongo fino a 3 istruzioni)

3’3’

Fasi BilanciateBilanciate e Non AtomicheAtomiche

Fase unione di più fasi atomicheFase unione di più fasi atomiche

Bilanciamento delle FasiBilanciamento delle Fasi

2’2’1’1’

UNDER – Pipeline UNDER – Pipeline ((DSP))

Page 7: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

5544332211

Fasi Non BilanciateNon Bilanciate e non AtomicheAtomiche

Hardware più complessoHardware più complesso (costruisco 9 fasi indipendenti)Alto Speed-UpAlto Speed-Up (sovrappongo fino a 9 istruzioni)

Fasi BilanciateBilanciate e AtomicheAtomiche

SottoFasi come scomposizione di FasiSottoFasi come scomposizione di Fasi

Bilanciamento delle FasiBilanciamento delle Fasi

SUPER – PipelineSUPER – Pipeline

554b4b4a4a3c3c3b3b3a3a221b1b1a1a

Page 8: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

554433

332211

Duplico le risorseDuplico le risorse ma ne Dimezzo la latenzaDimezzo la latenza

Ridondanza HardwareRidondanza Hardware

Bilanciamento delle FasiBilanciamento delle Fasi

5544332211

Fasi Non BilanciateNon Bilanciate e AtomicheAtomiche

Aumenta lo Speed-UpAumenta lo Speed-Up Complico poco l’architettura

Page 9: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

VantaggiVantaggiLa tecnica pipeline (con K fasi) al crescere del numero di istruzioni (N>>K) impiega un tempo complessivo di

esecuzione N x T (dove T è il tempo di fase)

Ridurre il tempo di fase T Ridurre il tempo di fase T (aumentando la lunghezza della pipeline k oppure utilizzando la ridondanza

hardware) fa aumentare lo Speed-Up del processore fa aumentare lo Speed-Up del processore

T minimo T minimo è intimamente legato alla tecnologia utilizzata tecnologia utilizzata

Page 10: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

SvantaggiSvantaggi

Aumentare la lunghezza della pipeline k fa sì aumentare lo Speed-Up del processore ma:

Aumenta il numero di Conflitti Aumenta il numero di Conflitti (rallentandone l’esecuzione) e aumenta la Gestione del processore aumenta la Gestione del processore (che

volutamente non risolve ogni tipo di conflitto)

Page 11: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

Architettura PipelineArchitettura PipelineVECTOR ProcessorVECTOR Processor

Calcolo Vettoriale su CPU PipelinePipeline:

Calcolo eseguitosu CPU parallela

Calcolo eseguitosu CPU pipeline

DSP-TI

DLX

Page 12: La Tecnica PIPELINE. OVERVIEW Significato Presupposti Operativi – Sincronismo Presupposti per una Pipeline efficiente – Bilanciamento delle fasi UnderSuper.

Il processore Deluxe - DLXDLXIl processore Deluxe - DLXDLXArchitettura Pipeline a 5 fasiPipeline a 5 fasi