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