Sistemi Complessi di reti sequenziali Pipeline Corso ASE

  • Slides: 36
Download presentation
Sistemi Complessi di reti sequenziali Pipeline Corso ASE - Prof. Antonino Mazzeo Ing. Valentina

Sistemi Complessi di reti sequenziali Pipeline Corso ASE - Prof. Antonino Mazzeo Ing. Valentina Casola 2009/2010 1

Tempificazione dei sistemi sequenziali complessi I U X Y CK 2

Tempificazione dei sistemi sequenziali complessi I U X Y CK 2

Il segnale di clock • Il clock è un segnale indipendente caratterizzato da un

Il segnale di clock • Il clock è un segnale indipendente caratterizzato da un periodo di clock (o ciclo di clock) TCK. • Frequenza del clock: f. CK= 1/TCK; • Nel periodo TCK il segnale assume Il valore logico 1 per un tempo TH e il valore logico 0 per un tempo TL • Il rapporto TH / TCK è detto duty-cycle • Il passaggio dal valore 0 al valore 1 è detto fronte di salita • Il passaggio dal valore 1 al valore 0 è detto fronte di discesa 3

Tempi caratteristici di un flip-flop • Per essere riconosciuto correttamente, l’ingresso deve rimanere stabile

Tempi caratteristici di un flip-flop • Per essere riconosciuto correttamente, l’ingresso deve rimanere stabile all’interno di una finestra di tempo nell’intorno di un fronte del clock • Tempo di Set-Up (Ts) – Intervallo minimo che precede l’evento di clock durante il quale l’ingresso deve essere mantenuto stabile; • Tempo di Hold (TH) – Intervallo minimo che segue l’evento di clock durante il quale l’ingresso deve essere mantenuto stabile • Tempo di propagazione (Tq) 4

Tempificazione di un sistema sequenziale: vincoli T deve soddisfare la condizione: T ≥ tq

Tempificazione di un sistema sequenziale: vincoli T deve soddisfare la condizione: T ≥ tq + τc, max +tsetup tq è il tempo di commutazione τc, max è il tempo di calcolo della rete tsetup è il tempo di set-up del registro Vincolo sui FF: tq + τc, min >th 5

Note: clock skew M Y W CK M CK’ Δ T + Δ ≥

Note: clock skew M Y W CK M CK’ Δ T + Δ ≥ tq + τc, max +tsetup tq + τc, min >th + Δ 6

Interconnessione fra reti sequenziali Rete 1 Rete 3 Rete 2 Rete 4 7

Interconnessione fra reti sequenziali Rete 1 Rete 3 Rete 2 Rete 4 7

Ciascuna rete sequenziale può essere Una rete di Mealy Una rete di Moore Ciascuna

Ciascuna rete sequenziale può essere Una rete di Mealy Una rete di Moore Ciascuna rete può essere di tipo impulsivo o asincrona Se le reti sono di tipo differente la descrizione del funzionamento del sistema dipende dal tipo di ogni singola rete e dalla loro interconnessione • Se le reti sono omogenee e di tipo LLC è possibile descrivere il loro comportamento in modo sistematico con metodi di specifica e verifica ben consolidati nel mondo industriale (i sistemi digitali complessi sono di questo tipo). • • 8

Determinazione del tempo di ciclo • In una rete level input, level output, clocked

Determinazione del tempo di ciclo • In una rete level input, level output, clocked (LLC) occorre determinare il periodo del clock, ovvero il tempo di ciclo (intervallo minimo tra due impulsi di abilitazione della rete) • Il tempo di ciclo dipende dalla tipologia delle macchine adottate (Mealy, Moore) e dalla topologia della loro interconnessione; • Analizziamo: – Catene a ciclo aperto, – Catene a ciclo chiuso 9

Catene aperte e catene chiuse di reti sequenziali • Una catena aperta è costituita

Catene aperte e catene chiuse di reti sequenziali • Una catena aperta è costituita da una cascata di reti sequenziali in cui l’uscita dell’una è applicata all’ingresso della successiva, fatta eccezione della prima e dell’ultima Rete Combin. 10

Reti di Mealy e di Moore e dipendenza dalle informazioni (input e stato) Rete

Reti di Mealy e di Moore e dipendenza dalle informazioni (input e stato) Rete di Mealy I Rete di Moore U S S’ CK I U S S’ CK 11

Definizioni e determinazione del ciclo di clock • Per classificare le reti si introduce

Definizioni e determinazione del ciclo di clock • Per classificare le reti si introduce il concetto di percorso, fatto da diverse tratte connesse in cascata: – Percorso libero è fatto di tratte libere, ovvero costituite da sole reti combinatorie (es. funzione uscita e funzione stato prossimo); – Percorso condizionato, se è presente almeno una tratta condizionata, ovvero che contiene almeno un registro. 12

Catena aperta di macchine di Mealy I U I U S S’ CK 13

Catena aperta di macchine di Mealy I U I U S S’ CK 13

Determinazione del ciclo di clock per catena aperta Mealy • Esiste più di un

Determinazione del ciclo di clock per catena aperta Mealy • Esiste più di un percorso libero che connette l’ingresso con l’uscita: – ω1(i 1, s 1), ω2(i 2, s 2), ……. . ωn(in, sn) – ω1(i 1, s 1), ω2(i 2, s 2), ……. . δn(in, sn) T ≥ (n-1) tω, max + max (tω, max , tδ, max ) ≈ n tω, max 14

Catena aperta di macchine di Mealy-Moore I U I U S S’ CK 15

Catena aperta di macchine di Mealy-Moore I U I U S S’ CK 15

Determinazione del ciclo di clock per catena aperta Mealy- Moore • Esiste più di

Determinazione del ciclo di clock per catena aperta Mealy- Moore • Esiste più di un percorso libero che connette l’ingresso con l’uscita; le tipologie di tratte libere: – Ingresso, tratte Mealy, tratta Moore – Tratta Moore, tratte Mealy, uscita – Il T sarà calcolato considerando il tempo di propagazione massimo tra tutti i percorsi liberi 16

Catena aperta di macchine di Moore I U I U S S’ CK 17

Catena aperta di macchine di Moore I U I U S S’ CK 17

Determinazione del ciclo di clock per catena aperta Moore • Caso particolare del precedente,

Determinazione del ciclo di clock per catena aperta Moore • Caso particolare del precedente, i percorsi liberi sono: – Ingresso esterno, tratta δ – Tratta ω, uscita • Il tempo di propagazione massimo è dato al più dalla somma di due reti combinatorie MA: l’ingresso applicato all’ingresso condiziona l’uscita solo dopo n cicli di clock, dunque è sempre necessario attendere n. T 18

Catena chiusa di macchine di Mealy I U I U S S’ CK Queste

Catena chiusa di macchine di Mealy I U I U S S’ CK Queste macchine possono non funzionare correttamente, l’uscita dipende da se stessa e Il sistema può non stabilizzarsi: un= ωn(in, sn) = ωn(ωn-1(in-1, sn-1), sn) = ωn(ωn-1( ……. ω1(u 1, s 1)), sn) 19

Catena chiusa Mealy-Moore I U I U S S’ CK 20

Catena chiusa Mealy-Moore I U I U S S’ CK 20

Determinazione del ciclo di clock per catena chiusa Moore Come nel caso di catena

Determinazione del ciclo di clock per catena chiusa Moore Come nel caso di catena chiusa ma senza ingressi ed uscite esterne: – Una tratta δ – Una tratta ωmoore – Zero, una o più tratte ωmealy • Il tempo di propagazione massimo è dimensionato dal massimo tra i tempi dei vari percorsi possibili 21

Realizzare una catena chiusa avendo solo macchine di Mealy: aggiunta registro I U M

Realizzare una catena chiusa avendo solo macchine di Mealy: aggiunta registro I U M S S’ CK Percorsi: -ω2, δ 1 -ω2, ω1 -δ 2 22

Catena aperta di reti combinatorie A D F G H D Y CK Tmin

Catena aperta di reti combinatorie A D F G H D Y CK Tmin = tq + ts + tp. F + tp. G + tp. H ≈ 3 tp, comb 23

Pipeline: Introduzione • Il miglioramento delle prestazioni di un generico circuito digitale è legato

Pipeline: Introduzione • Il miglioramento delle prestazioni di un generico circuito digitale è legato principalmente alla riduzione della profondità combinatoria • Tale riduzione si può ottenere: – Ottimizzando le parti puramente combinatorie del circuito – Frazionando opportunamente le parti combinatorie per mezzo di registri • Un generico data-path è costituito da una sequenza di operazioni eseguite in cascata: questa struttura si presta molto bene al frazionamento • Una architettura in cui sono presenti registri con lo scopo di frazionare la computazione viene detta pipeline • Nelle architetture dei calcolatori l’introduzione di pipeline aumenta il numero di istruzioni eseguite nell’unità di tempo 24

Pipeline di reti combinatorie A M XF F YF M XG G M H

Pipeline di reti combinatorie A M XF F YF M XG G M H M Ck 25

Tempificazione di una Pipeline Tmin ≈ max( tp. F , tp. G , tp.

Tempificazione di una Pipeline Tmin ≈ max( tp. F , tp. G , tp. H ) Il fattore guadagnato è pari al numero di stadi della pipe 26

Architetture pipeline parallele • 3 reti con tempi di calcolo di 50 ns e

Architetture pipeline parallele • 3 reti con tempi di calcolo di 50 ns e una rete con tempo di calcolo di 100 ns – Frequenza di pipe non può essere migliore di 100 MHz (T=1/f=100 ns) e le tre reti più veloci sono sfruttate al 50% • Soluzione parallela che duplica rete a 100 ns, con reti funzionanti in controfase, multiplate nel tempo 27

Architettura pipeline con reti parallelo φ/2 M C 1 M !φ/2 C 2 M

Architettura pipeline con reti parallelo φ/2 M C 1 M !φ/2 C 2 M Cn M M φ φ/2 T-FF !φ/2 28

Calcolo del tempo di ciclo • T per la rete lenta è vincolato da

Calcolo del tempo di ciclo • T per la rete lenta è vincolato da 2 T ≥ tf + 2τcmax + τmux+ tsetup da cui T ≥ τcmax + ½(tf + 2τmux+ tsetup) • T per la rete veloce è vincolato da T ≥ tf + τcmax + tsetup • Va scelto il massimo fra i due: T ≥ τcmax + max(½(tf + τmux+ tsetup), (tf + tsetup)) 29

Applicazioni delle pipeline alle CPU • L’esecuzione di una istruzione assembler consiste nello svolgimento

Applicazioni delle pipeline alle CPU • L’esecuzione di una istruzione assembler consiste nello svolgimento di alcune operazioni in sequenza • E’ possibile scomporre una istruzione in un numero variabile di operazioni: – Una scelta comune consiste nella decomposizione in 5 operazioni – Le architetture moderne arrivano fino a 20 operazioni • Le varie operazioni, dette fasi o stadi, possono essere eseguite: – Nello stesso ciclo di clock – In cicli di clock successivi • Nel secondo caso si parla di una architettura pipeline 30

Esempio: Fasi di esecuzione del Processore DLX • La decomposizione in 5 fasi consiste

Esempio: Fasi di esecuzione del Processore DLX • La decomposizione in 5 fasi consiste in – Fetch: Lettura dell’istruzione (una o più parole) dalla memoria di programma. L’istruzione viene memorizzata nel registro IR – Decode: Scomposizione dell’istruzione in campi (codice operativo, registro, costante, ecc), a seconda del formato e delle modalità di indirazzamento – Execute: Esecuzione delle operazioni aritmetico-logiche oppure calcolo dell’indirizzo di destinazione di un salto – Memory access: Accesso in lettura o scrittura alla memoria o ad una periferica – Write back: Salvataggio del risultato prodotto dall’istruzione nel registro destinazione 31

Modello di riferimento del DLX Istruzione i istruzione i+1 istruzione i+2 IF ID EX

Modello di riferimento del DLX Istruzione i istruzione i+1 istruzione i+2 IF ID EX MEM WB 32

Pipeline: Speed up e latenza • Teoricamente, se gli stage della pipe sono perfettamente

Pipeline: Speed up e latenza • Teoricamente, se gli stage della pipe sono perfettamente bilanciati e non si verificano condizioni di stallo, il tempo per ogni singola istruzione è: Ti = tempo per istruzione senza pipe Nstage della pipe • Il tempo per avere la prima istruzione è detto tempo di latenza ( si ha ogni qual volta si verifica uno stallo) • In realtà bisogna considerare il tempo di setup dei latch tra i vari stadi della pipe ed il bus skew 33

Fasi di esecuzione • Si noti che: – Non tutte le fasi devono essere

Fasi di esecuzione • Si noti che: – Non tutte le fasi devono essere sempre presenti. Alcune istruzioni possono necessitare solo di alcune delle fasi descritte – Non tutte le fasi devono essere sempre distinte. Alcune istruzioni possono raggruppare due o più fasi in una sola – La fase di fetch è sempre presente – Fasi diverse possono avere durate diverse 34

Esempio: Sistemi Superscalari con più Pipeline Addizione: Addizione e Moltiplicazione: 35

Esempio: Sistemi Superscalari con più Pipeline Addizione: Addizione e Moltiplicazione: 35

Conclusioni • Throghput: quantità di dati elaborati nell’unità di tempo • Thoughput = Noperations

Conclusioni • Throghput: quantità di dati elaborati nell’unità di tempo • Thoughput = Noperations / T • Latenza: ritardo tra l’ingresso e l’uscita (tempo necessario da attendere per l’esecuzione della prima istruzione) • Latenza = Ty - Tx = T • L’introduzione di pipelining è vantaggioso in quanto: • Throughputpipe >>Throughput no pipe • Latenzapipe ≈ Latenzano pipe 36