La Tecnica PIPELINE
OVERVIEW
• Significato
• Presupposti Operativi
– Sincronismo
• Presupposti per una Pipeline efficiente
– Bilanciamento delle fasi
• Under e Super Pipeline
• Vantaggi
• Svantaggi
Significato
Pipeline come una Catena di Montaggio
N: num Unità Operative
T: tempo massimo per operazione
SpeedOperative
– Up: N
Unità
dopo
unacomplesse
latenza NxT
meno
completo
processo
menoogni
costose
in un tempo
T
facilmente
riproducibili
Unità
Architettura
di Controllo
centralizzato
complessità
Henry
Ford,
proprietario
non
troppo
complesso
proporzionale
aN
dell’omonima fabbrica
automobilistica
di Detroit,
Invece di utilizzare piu unità operative specializzate
su tutte
le fasi
nel 1927 indipendenti,
costruisce la prima
dell’intero processo impiega più unità operative
non
catena
di montaggio
interscambiaili e specializzate su diverse fasi
dell’intero
processo
Significato
Pipeline come una Catena di Montaggio
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 istruzione
Ogni unità preleva dall’unità precedente l’istruzione trasformata e la trasforma
ulteriormente passandola all’unità successiva
Programma
4 Istr.
3 Istr.
2 Istr.
1 Istr.
21
5
4
3
Fasi Non
Bilanciate
e Atomiche
54321 Istr.
4321 Istr.
321 Istr.
1 Istr.
2
3
4
5
6
1
2
3
4
Risultato
dell’esecuzione
21 Istr.
5
Processore Pipeline con 5 unità operative parallele
51
4
3
2
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
Gestione della Pipeline
Presupposti Operativi: Sincronismo
Fasi Non Bilanciate e Atomiche
2
1
3
4
5
La 1Fase
3 più
Lenta
fissa la
2
3
4 5
NO
latenza T anche
per
le
altre
Fasi
1 2
3
4 5
Contesto
Sincrono
2
1
1
1
T
2
1
3
2
T
2
1
3
T
4
4
4
4
5
5
3
2
1
3
4
3
2
1
5
5
4
3
2
5
4
5
3
1
2
1
4
5
3
2
4
5
3
5
Bilanciamento delle Fasi
Fase unione di più fasi atomiche
Fasi Non Bilanciate e Atomiche
1
2
1’
3
2’
4
5
3’
Fasi Bilanciate e Non Atomiche
Hardware più semplice (costruisco 3 fasi indipendenti)
Basso Speed-Up (sovrappongo fino a 3 istruzioni)
UNDER – Pipeline (DSP)
Bilanciamento delle Fasi
SottoFasi come scomposizione di Fasi
Fasi Non Bilanciate e non Atomiche
1
1a
2
1b
2
3
4
3a 3b 3c 4a 4b
5
5
Fasi Bilanciate e Atomiche
Hardware più complesso (costruisco 9 fasi indipendenti)
Alto Speed-Up (sovrappongo fino a 9 istruzioni)
SUPER – Pipeline
Bilanciamento delle Fasi
Ridondanza Hardware
Fasi Non Bilanciate e Atomiche
1
2
3
4
5
4
5
3
1
2
3
Duplico le risorse ma ne Dimezzo la latenza
Aumenta lo Speed-Up
Complico poco l’architettura
Vantaggi
La 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)
T minimo è intimamente legato alla tecnologia utilizzata
Ridurre il tempo di fase T (aumentando la lunghezza
della pipeline k oppure utilizzando la ridondanza
hardware) fa aumentare lo Speed-Up del processore
Svantaggi
Aumentare la lunghezza della pipeline k fa sì
aumentare lo Speed-Up del processore ma:
Aumenta il numero di Conflitti (rallentandone
l’esecuzione) e aumenta la Gestione del processore (che
volutamente non risolve ogni tipo di conflitto)
Architettura Pipeline
VECTOR Processor
Calcolo Vettoriale su CPU Pipeline:
DLX
DSP-TI
Calcolo eseguito
su CPU parallela
Calcolo eseguito
su CPU pipeline
Il processore Deluxe - DLX
Architettura Pipeline a 5 fasi
Scarica

Document