Sistemi Complessi di reti sequenziali Pipeline Corso ASE
- Slides: 36
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
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 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 + τ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 + Δ ≥ tq + τc, max +tsetup tq + τc, min >th + Δ 6
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 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 (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 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 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 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
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
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
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 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
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 S S’ CK Percorsi: -ω2, δ 1 -ω2, ω1 -δ 2 22
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 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 M Ck 25
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 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 Cn M M φ φ/2 T-FF !φ/2 28
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 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 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 MEM WB 32
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 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
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
- Reti sequenziali
- Fisica dei sistemi complessi cos'è
- Dispense del corso di sistemi energetici
- Difference between linear and nonlinear control system ppt
- Scalar pipeline
- Macchine sequenziali
- Processi sequenziali
- Processi sequenziali
- Circuiti combinatori e sequenziali
- Automa di moore esempio
- File sequenziali
- Monitoring troubleshooting apparati reti
- Italgas reti
- Reti
- Progettazione rete lan
- Reti som
- Reti di calcolatori unibo
- Reti prefix
- Reti di calcolatori e internet
- Reti dei calcolatori
- Reti di petri
- Javax.sip
- Reti neurali bioinformatica
- Reti di calcolatori
- Reti dei calcolatori
- Le reti informatiche slide
- Reti di calcolatori polito
- I
- Tabella costanti di formazione complessi
- Numeri complessi zanichelli
- Bisogni comunicativi complessi
- Lipidi semplici e complessi
- Quali sono i carboidrati
- Numeri indici complessi
- Storia dei numeri complessi
- Complessi sopramolecolari
- Language