La Tecnica PIPELINE Il DLX - Pipeline 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 Henry Ford, proprietario in un tempo T facilmente riproducibili dell’omonima fabbrica automobilistica di Detroit, nel 1927Unità costruisce la prima Architettura di Controllo catena di montaggio centralizzato complessità non troppo complesso proporzionale aN 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 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 Fase1 32più3Lenta 4 5fissa la NO latenza T anche 1 2per3 le altre 4 5 Fasi Contesto Sincrono 2 1 1 T 2 1 3 2 1 T T 4 4 4 5 5 3 2 1 3 4 3 2 1 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: Conflitti 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