Sistemi Complessi di reti sequenziali Pipeline

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

description

Sistemi Complessi di reti sequenziali Pipeline. Corso ASE - Prof. Antonino Mazzeo Ing. Valentina Casola 2009/2010. Tempificazione dei sistemi sequenziali complessi. I. U. X. Y. CK. Il segnale di clock. - PowerPoint PPT Presentation

Transcript of Sistemi Complessi di reti sequenziali Pipeline

Page 1: Sistemi Complessi di reti sequenziali  Pipeline

1

Sistemi Complessi di reti sequenziali

PipelineCorso ASE - Prof. Antonino Mazzeo

Ing. Valentina Casola2009/2010

Page 2: Sistemi Complessi di reti sequenziali  Pipeline

2

Tempificazione dei sistemi sequenziali complessi

I

X

U

Y

CK

Page 3: Sistemi Complessi di reti sequenziali  Pipeline

3

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

periodo di clock (o ciclo di clock) TCK.• Frequenza del clock: fCK= 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

Page 4: Sistemi Complessi di reti sequenziali  Pipeline

4

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)

Page 5: Sistemi Complessi di reti sequenziali  Pipeline

5

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 retetsetup è il tempo di set-up del registro

Vincolo sui FF:

tq + τc,min >th

Page 6: Sistemi Complessi di reti sequenziali  Pipeline

6

Note: clock skew

M M

ΔCK CK’

Y W

T + Δ ≥ tq + τc,max +tsetup

tq + τc,min >th + Δ

Page 7: Sistemi Complessi di reti sequenziali  Pipeline

7

Interconnessione fra reti sequenziali

Rete1

Rete4

Rete2

Rete3

Page 8: Sistemi Complessi di reti sequenziali  Pipeline

8

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).

Page 9: Sistemi Complessi di reti sequenziali  Pipeline

9

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

Page 10: Sistemi Complessi di reti sequenziali  Pipeline

10

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.

Rete Combin.

Rete Combin.

Page 11: Sistemi Complessi di reti sequenziali  Pipeline

11

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

I

S

U

S’

CK

I

S

U

S’

CK

Rete di Mealy Rete di Moore

Page 12: Sistemi Complessi di reti sequenziali  Pipeline

12

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.

Page 13: Sistemi Complessi di reti sequenziali  Pipeline

13

Catena aperta di macchine di Mealy

I

S

U

S’

CK

I

S

U

S’

I

S

U

S’

Page 14: Sistemi Complessi di reti sequenziali  Pipeline

14

Determinazione del ciclo di clock per catena aperta Mealy

• Esiste più di un percorso libero che connette l’ingresso con l’uscita:

– ω1(i1,s1), ω2(i2,s2),…….. ωn(in,sn)

– ω1(i1,s1), ω2(i2,s2),…….. δn(in,sn)

T ≥ (n-1) tω,max + max (tω,max , tδ,max ) ≈ n tω,max

Page 15: Sistemi Complessi di reti sequenziali  Pipeline

15

Catena aperta di macchine di Mealy-Moore

I

S

U

S’

CK

I

S

U

S’

I

S

U

S’

I

S

U

S’

Page 16: Sistemi Complessi di reti sequenziali  Pipeline

16

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, tratta Moore– Tratta Moore, tratte Mealy, uscita

– Il T sarà calcolato considerando il tempo di propagazione massimo tra tutti i percorsi liberi

Page 17: Sistemi Complessi di reti sequenziali  Pipeline

17

Catena aperta di macchine di Moore

I

S

U

S’

CK

I

S

U

S’

I

S

U

S’

Page 18: Sistemi Complessi di reti sequenziali  Pipeline

18

Determinazione del ciclo di clock per catena aperta Moore

• Caso particolare del precedente, i percorsi liberi sono:– Ingresso esterno, tratta δ – Tratta ω, 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 nT

Page 19: Sistemi Complessi di reti sequenziali  Pipeline

19

Catena chiusa di macchine di Mealy

I

S

U

S’

CK

I

S

U

S’

I

S

U

S’

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(u1,s1)),sn)

Page 20: Sistemi Complessi di reti sequenziali  Pipeline

20

Catena chiusa Mealy-Moore

I

S

U

S’

CK

I

S

U

S’

I

S

U

S’

I

S

U

S’

Page 21: Sistemi Complessi di reti sequenziali  Pipeline

21

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

Page 22: Sistemi Complessi di reti sequenziali  Pipeline

22

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

I

S

U

S’

CK

I

S

U

S’

M

Percorsi:- ω2,δ1- ω2, ω1- δ2

Page 23: Sistemi Complessi di reti sequenziali  Pipeline

23

Catena aperta di reti combinatorie

F G HD D

CK

A Y

Tmin = tq + ts + tpF + tpG + tpH ≈ 3 tp,comb

Page 24: Sistemi Complessi di reti sequenziali  Pipeline

24

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

Page 25: Sistemi Complessi di reti sequenziali  Pipeline

25

Pipeline di reti combinatorie

GF HM M M M

Ck

A XF YF XG

Page 26: Sistemi Complessi di reti sequenziali  Pipeline

26

Tempificazione di una Pipeline

Tmin ≈ max( tpF , tpG , tpH )

Il fattore guadagnato è pari al numero di stadi della pipe

Page 27: Sistemi Complessi di reti sequenziali  Pipeline

27

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

Page 28: Sistemi Complessi di reti sequenziali  Pipeline

28

Architettura pipeline con reti paralleloφ/2

C1 C2 CnM

M

M M

M

T-FF

φ

φ/2

!φ/2

!φ/2

φ/2

Page 29: Sistemi Complessi di reti sequenziali  Pipeline

29

Calcolo del tempo di ciclo

• T per la rete lenta è vincolato da2T ≥ tf + 2τcmax + τmux+ tsetup

da cui T ≥ τcmax + ½(tf + 2τmux+ tsetup)

• T per la rete veloce è vincolato daT ≥ tf + τcmax + tsetup

• Va scelto il massimo fra i due:T ≥ τcmax + max(½(tf + τmux+ tsetup), (tf + tsetup))

Page 30: Sistemi Complessi di reti sequenziali  Pipeline

30

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

Page 31: Sistemi Complessi di reti sequenziali  Pipeline

31

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

Page 32: Sistemi Complessi di reti sequenziali  Pipeline

32

Modello di riferimento del DLX

Istruzione i IF ID EX MEM WB    

istruzione i+1   IF ID EX MEM WB  

istruzione i+2     IF ID EX MEM WB

IF ID EX MEM WB    

istruzione i+1   IF ID EX MEM WB  

istruzione i+2     IF ID EX MEM WB

Page 33: Sistemi Complessi di reti sequenziali  Pipeline

33

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 pipeNstage 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

Page 34: Sistemi Complessi di reti sequenziali  Pipeline

34

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

Page 35: Sistemi Complessi di reti sequenziali  Pipeline

35

Esempio: Sistemi Superscalari con più Pipeline

Addizione: Addizione e Moltiplicazione:

Page 36: Sistemi Complessi di reti sequenziali  Pipeline

36

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