La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

12 ottobre 20001 1.2 I modelli di comportamento dei sistemi digitali Comportamento combinatorio o sequenziale?

Presentazioni simili


Presentazione sul tema: "12 ottobre 20001 1.2 I modelli di comportamento dei sistemi digitali Comportamento combinatorio o sequenziale?"— Transcript della presentazione:

1

2 12 ottobre I modelli di comportamento dei sistemi digitali Comportamento combinatorio o sequenziale?

3 12 ottobre Il processo di elaborazione a) Linterazione uomo/macchina MACCHINA Dati Risultati astrazione b) Il modello del blocco P i(t) I (alfabeto di ingresso) u(t) U (alfabeto di uscita) e la relazione ingresso/uscita U(t) = P(t, i(t))

4 12 ottobre Esempio di comportamento di un sistema digitale iu = t dato risultato u = P(i) u(t) = P(i(t)) Luscita allistante t è funzione dellingresso in quellistante Luscita u(t) non dipende da i( ) con < t Luscita non risente della storia passata degli ingressi Il sistema non ha memoria possiamo scrivere: oppure Questo comportamento è detto: combinatorio Questo comportamento può essere descritto da una tabella della verità Le reti logiche che realizzano questo tipo di comportamento si chiamano: reti logiche combinatorie

5 12 ottobre In una macchina combinatoria, Se I è linsieme delle informazioni in ingresso e U è linsieme delle informazioni in uscita il comportamento della macchina è descritto mediante la funzione F: I U La macchina combinatoria Un sistema digitale in cui luscita dipende solo dal valore contemporaneo dellingresso è detto macchina combinatoria. U(t) = f (I(t)) La funzione F può essere assegnata mediante una tabella che associa a ogni simbolo di ingresso il corrispondente simbolo in uscita

6 12 ottobre Un altro esempio di macchina combinatoria: il campanello i: Pulsante u: Suoneria PremutoSuono RilasciatoNessun Suono u = F(i) Tabella del comportamento

7 12 ottobre t VGR Altro esempio di comportamento u(t) = P(t) Il sistema non ha ingressi ma deve tener conto dello scorrere del tempo Il tempo deve essere discretizzato (cioè suddiviso in intervalli T n ) Il sistema ha memoria: deve sapere quanti intervalli di tempo sono passati, quindi deve saper contare Il valore del conteggio riassume la storia passata del sistema Il riassunto della storia passata (o memoria del sistema) si chiama anche: stato interno presente del sistema Luscita u(T n ) dipende dallo stato interno nello stesso intervallo T n Questo comportamento è detto: sequenziale sincrono sequenziale significa con stato interno che influenza luscita sincrono significa che lo stato interno può cambiare solo in determinati istanti di tempo (quelli che separano T n da T n+1 ) Le reti logiche che realizzano questo tipo di comportamento si chiamano: reti logiche sequenziali sincrone

8 12 ottobre Approfondiamo lesempio: u(t n ) = P(s( t n )) Il semaforo resta verde per 60 sec, giallo per 20 sec e rosso per 60 sec, poi torna verde; quindi ha un comportamento periodico con periodo 140 sec. Se dividiamo il tempo in intervalli di durata T = 20 sec, allora il semaforo resta verde in T 0, T 1, T 2, giallo in T3 T3 e rosso in T 4, T 5, T 6, poi torna verde Si ha che u(t n+7 ) = u(t n ): luscita è periodica con periodo 7 T Allora possiamo dire quanto segue: luscita dipende dallintervallo Ti Ti in cui ci troviamo lintervallo in cui ci troviamo identifica lo stato interno presente s lo stato interno si ripete con periodo 7 T; se associamo uno stato interno a ciascuno dei 7 intervalli T in cui è suddiviso il periodo di funzionamento del semaforo, allora possiamo far corrispondere a ogni stato interno un suo valore delluscita: u = P(s) dunque possiamo dire che in questa macchina sequenziale sincrona luscita è una funzione combinatoria dello stato presente t VGR V t3t3 t5t5 t6t6 t0t0 t1t1 t2t2 T0T0 T1T1 T2T2 T3T3 T4T4 T5T5 T6T6 t7t7 t8t8 t9t9 T7T7 T8T8 T9T9

9 12 ottobre Ecco la tabella che associa luscita allo stato interno presente t VGR V t3t3 t5t5 t6t6 t0t0 t1t1 t2t2 T0T0 T1T1 T2T2 T3T3 T4T4 T5T5 T6T6 t7t7 t8t8 t9t9 T7T7 T8T8 T9T9 Stato presente uscita A B C E F G D verde rosso giallo verde Questa è una corrispondenza tra un insieme finito di simboli di ingresso ( i sette valori dello stato interno) e un insieme finito di simboli di uscita ( i tre colori); se chiamiamo S linsieme dei sette stati e U linsieme dei valori possibili delluscita, e se chiamiamo F la corrispondenza tra S e U, allora possiamo scrivere: F: S U ABCDEFGA Stato presente:

10 12 ottobre E sufficiente assegnare la funzione F: S U per descrivere il funzionamento del semaforo? t VGR V t3t3 t5t5 t6t6 t0t0 t1t1 t2t2 T0T0 T1T1 T2T2 T3T3 T4T4 T5T5 T6T6 t7t7 t8t8 t9t9 T7T7 T8T8 T9T9 Stato presente Stato futuro A B C E F G D B A G F E C D No, perché non abbiamo ancora detto come viene aggiornato lo stato presente che rappresenta la memoria del sistema; la stato presente ci dice a che punto siamo del ciclo; dunque deve essere aggiornato ad ogni istante di clock. La tabella di fianco ci dice, per ogni stato qual è il successivo. Se ad ogni istante di clock facciamo passare lo stato presente dal valore della colonna di sinistra al valore della colonna di destra, allora otteniamo il corretto funzionamento del nostro semaforo La tabella descrive la funzione G: S S

11 12 ottobre Conclusione: il comportamento del semaforo è descritto dalle due funzioni F: S U e G: S S t VGR V t3t3 t5t5 t6t6 t0t0 t1t1 t2t2 T0T0 T1T1 T2T2 T3T3 T4T4 T5T5 T6T6 t7t7 t8t8 t9t9 T7T7 T8T8 T9T9 Stato presente Stato futuro A B C E F G D B A G F E C D F: S U Stato presente uscita A B C E F G D verde rosso giallo verde G: S S F G T u s* s F e G sono due blocchi combinatori T è lintervallo tra due aggiornamenti successivi dello stato interno

12 12 ottobre Le tabelle che descrivono le due funzioni F e G si possono raggruppare in ununica tabella detta Tabella di Flusso t VGR V t3t3 t5t5 t6t6 t0t0 t1t1 t2t2 T0T0 T1T1 T2T2 T3T3 T4T4 T5T5 T6T6 t7t7 t8t8 t9t9 T7T7 T8T8 T9T9 Stato presente Stato futuro A B C E F G D B A G F E C D F: S U uscita verde rosso giallo verde G: S S

13 12 ottobre Il sistema di elaborazione che controlla il semaforo Il comportamento del semaforo è specificato dalle funzioni F: S U e G: S S rete sequenziale sincrona z1z2z3z1z2z3 clock Il sistema di elaborazione che dobbiamo progettare è un sistema BINARIO; è cioè un sistema in grado di trattare solamente variabili binarie. Quindi è necessario che tutti le informazioni trattate (gli insiemi S e U) siano tradotte in sequenze di zeri e uni. Questa operazione è detta codifica dobbiamo dunque codificare gli stati con variabili binarie che chiameremo variabili di stato interno dobbiamo codificare i simboli di uscita con variabili binarie di uscita

14 12 ottobre Codifica degli stati e delle uscite Per codificare 7 informazioni sono necessarie 3 variabili binarie La codifica è arbitraria Le uscite sono codificate in modo ridondante (basterebbero anche due bit) t VGR V t3t3 t5t5 t6t6 t0t0 t1t1 t2t2 T0T0 T1T1 T2T2 T3T3 T4T4 T5T5 T6T6 t7t7 t8t8 t9t9 T7T7 T8T8 T9T9 Stato Codifica y 2 y 1 y 0 A B C E F G D Uscita Codifica z 3 z 2 z 1 Acceso verde Acceso giallo Acceso rosso

15 12 ottobre La tabella delle transizioni Se si applica alla tabella di flusso la codifica degli stati e delle uscite si ottiene una nuova tabella detta tabella delle transizioni La tabella delle transizioni esprime in forma binaria le funzioni F e G!! Le funzioni F e G sono combinatorie Stato presente A B C E F G D Stato presente y 2 y 1 y 0 Stato futuro F: S U Uscita z 3 z 2 z G: S S Si pone ora il problema di progettare le 6 reti combinatorie che realizzano le sei funzioni binarie Y 2 Y 1 Y 0 e z 3 z 2 z 1 Si noti che le variabili di stato presente si indicano con y minuscola mentre le variabilidi stato futuro (uscite della rete G) si indicano con la Y maiuscola Per poter realizzare le sei funzioni Y 2 Y 1 Y 0 e z 3 z 2 z 1 è necessario studiare lalgebra di comutazione

16 12 ottobre La rete logica sequenziale sincrona che controlla il semaforo Rete logica combinatoria uscita u z 1 z 2 z 3 u = F(s) Y 2 Y 1 Y 0 stato futuro S = G(s) y 2 y 1 y 0 stato presente s T T T s(t n+1 ) = S(t n )

17 12 ottobre Una importante e comoda tecnica di descrizione del comportamento di una macchina sequenziale: il grafo degli stati Disegnamo a titolo di esempio il grafo degli stati del semaforo

18 12 ottobre Il grafo degli stati del semaforo A,VB,VC,V E,R F,R G,R D,G Ogni nodo rappresenta uno stato Allinterno di ogni nodo sono indicati i simboli dello stato e delluscita Ogni ramo rappresenta la transizione da stato presente a stato futuro Dal grafo è possibile ricavare le funzioni F e G, e quindi la T. d. F. Le transizioni avvengono in corrispondenza degli impulsi di clock

19 12 ottobre A,VB,VC,V E,RF,R G,R D,G 00 H,R Soluzione 1 Analizzare attentamente, quindi ricavare la tabella di flusso e la tabella delle transizioni Come cambia il d.d.s. se aggiungiamo al semaforo un ingresso binario che, quando è attivo, fa diventare rosso il semaforo al prossimo impulso di clock? Successivamente, il semaforo dovrà tornare verde al primo impulso di clock in cui questo ingresso non sarà attivo.

20 12 ottobre S0,VS1,VS2,V S4,RS5,R S6,R S3,G Soluzione 2: Con riferimento alla Soluzione 1, gli stati G e H sono indistinguibili tra loro in quanto hanno la stessa uscita e per ogni configurazione di ingresso hanno lo stesso stato futuro; quindi possono essere sostituiti da un solo stato (soluzione 2)

21 12 ottobre CPU istruzione operando risultato istruzione operando risultato t Il risultato dipende anche dalle istruzioni e dai dati precedenti Altri esempi di comportamento u(t) = P(t, i(t)) Il sistema ha ingressi esterni oltre allo stato interno Il sistema ha memoria: il risultato dipende anche da istruzioni e dati precedenti Lattività precedente viene riassunta nello stato interno del sistema Il tempo viene discretizzato (cioè suddiviso in intervalli T n ) Luscita u(T n ) dipende dallo stato interno e dagli ingressi nello stesso intervallo T n Questo comportamento è analogo a quello del lucido precedente, quindi anche la CPU è una rete logica sequenziale sincrona

22 12 ottobre Fase di fetchFase di execute Anche i processori si comportano come specificato dal loro dds CPU o Processore BUS La durata della fase di execute dipende dallistruzione che la fase di fetch ha reperito in memoria. clock Il processore usa il periodo del clock come unità di misura del tempo.

23 12 ottobre Generalità sulle macchine sequenziali Nei prossimi lucidi verranno generalizzati gli esempi di descrizione e struttura di R.S. visti nei lucidi precedenti

24 12 ottobre Macchine sequenziali Le macchine sequenziali sono modelli matematici che descrivono sistemi digitali in cui il valore della grandezza presente in uscita non dipende solamente dal valore contemporaneo dellingresso, ma dipende anche dai valori assunti dallingresso nel passato; le macchine sequenziali descrivono dunque sistemi dotati di memoria le macchine sequenziali si suddividono in: –Macchine sequenziali sincrone –Macchine sequenziali asincrone Nelle macchine sequenziali sincrone il tempo viene suddiviso in intervalli elementari di durata costante T e vengono considerati solamente gli istanti di tempo t i che delimitano detti intervalli. Gli intervalli elementari possono essere contati ed è quindi possibile misurare il tempo. Pertanto nelle macchine sequenziali sincrone il valore delluscita può dipendere sia dalla sequenza dei valori in ingresso, sia dalla relativa durata Nelle macchine sequenziali asincrone non viene fissata una base dei tempi di riferimento; pertanto le macchine S.A. non sono in grado di tener conto della durata dei valori in ingresso; il valore delluscita dipende dalla sequenza dei valori in ingresso, ma non può dipendere dalla relativa durata.

25 12 ottobre Un esempio di sistema digitale con memoria che non ha bisogno di misurare la durata degli intervalli di tempo Il comportamento di una lampada da tavolo che si accende e si spegne premendo un pulsante è riconducibile al modello delle Macchine Sequenziali Asincrone: lo stato della lampada non dipende dalla posizione del pulsante (premuto o rilasciato), né dalla durata degli intervalli di tempo in cui il pulsante è stato premuto o rilasciato; dipende invece dal numero di volte in cui il pulsante è stato premuto nel passato, dipende cioè solamente dalla sequenza con cui è cambiato lo stato del pulsante (i. e. il valore dellingresso) u(t) = P(i(t- )) 0 Le variazioni delluscita (lampadina) sono dovute a variazioni dellingresso (pulsante) Il valore delluscita non dipende dalla durata delle configurazioni di ingresso, quindi non dipende dal valore di t, ma dipende solo dalla sequenza con cui è variato lingresso Nelle M.S.A. la storia passata è rappresentata solo dalla sequenza con cui è variato lingresso, e non dalla durata di ogni configurazione di ingresso

26 12 ottobre u(t) = P(t, i(t- )) 0 CPU istruzione operando risultato istruzione operando risultato t Dipende anche dalle istruzioni e dai dati precedenti Esempi di sistemi digitali con memoria in cui è necessario (o opportuno) misurare la durata degli intervalli di tempo u(t) = P(t) t colore Le variazioni delluscita sono dovute al trascorrere del tempo La storia passata è rappresentata dal tempo trascorso, dalla sequenza con cui sono variati gli ingressi e dalla loro durata Il comportamento di questi sistemi è riconducibile al modello delle Macchine Sequenziali Sincrone Al fine di misurare la durata degli intervalli di tempo, il tempo viene discretizzato cioè viene suddiviso in intervallini di durata costante T (vedi diapositiva n. 7) T rappresenta lunità di misura del tempo

27 12 ottobre Macchine digitali e reti logiche Un modello matematico che descrive un sistema capace di elaborare grandezze discrete si chiama anche macchina digitale E possibile realizzare reti logiche che si comportano come una macchina digitale assegnata passando attraverso un procedimento di codifica binaria delle grandezze discrete elaborate dalla macchina data Si viene così a definire una corrispondenza tra macchina digitale e rete logica

28 12 ottobre La macchina digitale e la rete logica Ingressi e uscite sono: vettori di variabili binarie con cui gli alfabeti di cui sopra sono codificati è necessario codificare anche gli stati interni landamento delle variabili binarie z in funzione delle x e delle eventuali variabili di stato interno è descritto dalla tabella delle transizioni Si ottiene la rete logica ad essa associata sintetizzando le variabili di uscita e le variabili di stato futuro indicate dalla T.d.T. Ingressi e uscite sono simboli appartenenti a un alfabeto assegnato Si può descrivere la M.D. con il diagramma degli stati e con la tabella di flusso Macchina digitale Rete logica X[0..(n-1)] (var. di ingresso) Z[0..(n-1)] (var. di uscita) i(t) I (alfabeto di ingresso) u(t) U (alfabeto di uscita)

29 12 ottobre u(t) = P(t, i(t- )) 0 u(t n ) = P (i,i(t 0 ),i(t 1 ), …., i(t n-1 ), i(t n )) stato interno: il riassunto della storia passata u(t n ) = F(s(t n ),i(t n )) s(t n+1 ) = G(s(t n ),i(t n )) F G Ritardo T i(t n ) u(t n ) s(t n+1 ) s(t n ) s(t 0 ) = i Il modello delle M.S.S. la discretizzazione del tempo e le funzioni F,G t0t0 t1t1 t2t2 t3t3 tntn t n+1 T0T0 T1T1 T2T2 T3T3 T n-1 TnTn T n+1 T i : intervalli di durata T t i : istanti

30 12 ottobre u(t) = P(t, i(t- )) 0 stato interno: il riassunto della storia passata u(t ) = F(s(t),i(t)) S(t) = G(s(t),i(t)) F G Ritardo T=0 i(t) u(t) S(t) s(t) s(t 0 ) = stato iniziale Il modello delle M.S.A. la retroazione diretta dello stato interno (T=0) s(t): stato interno presente S(t): stato interno futuro La variazione di i (ingresso) si ripercuote immediatamente sullo stato interno Il modello non riesce a misurare la durata delle configurazioni di ingresso Il modello riesce a ricordare la sequenza delle configurazioni di ingresso

31 12 ottobre La funzione F: S x I U S I U I S S La funzione G: S x I S Astrazione di un modello per M.S.S. e M.S.A. Le variabili discrete s S, i I, u U e le funzioni F e G

32 12 ottobre Sistema matematico M = {I, U, S, F, G} formato da 3 INSIEMI I: i 1, i 2, …, i n alfabeto di ingresso U: u 1, u 2, …, u m alfabeto di uscita S: s 1, s 2, …, s k insieme degli stati da 2 FUNZIONI F : S I U funzione di uscita G : S I S funzione di aggiornamento dello stato interno e da una MEMORIA che mantiene il vecchio stato s fino a quando non è necessario sostituirlo con il nuovo stato s* (il prossimo istante di clock nelle reti SINCRONE) Il modello astratto della macchina sequenziale F G memoria i u s* s

33 12 ottobre Il comportamento complessivo di un sistema digitale è descritto dal sistema matematico M = {I,U,S,F,G} formato da 3 INSIEMI I: alfabeto di ingresso U: alfabeto di uscita S: insieme degli stati interni e da 2 FUNZIONI F: funzione di uscita G: funzione di aggiornamento dello stato interno Linsieme di 5 elementi M è detto Automa a Stati Finiti Nelle macchine sequenziali sincrone lo stato interno viene aggiornato in tutti gli istanti t i, e luscita viene aggiornata tutte le volte che cambia la configurazione di ingresso o lo stato interno Nelle macchine sequenziali asincrone uscita stato interno e uscita vengono aggiornati ad ogni cambiamento della configurazione di ingresso o dello stato interno Macchine sequenziali e automi a stati finiti

34 12 ottobre Descrizione del comportamento con tabella di flusso … i1i1 i2i2 inin alfabeto dingresso s1s1 s2s2 sksk insieme degli stati i sjsj stato presente stato futuro, uscita ingresso s p,u q

35 12 ottobre Descrizione con grafo degli stati S j S 1 S p S 2 S k i 1, u m i i, u q i n, u n Per ogni stato e per ogni valore di ingresso lecito si devono individuare stato futuro e valore delluscita

36 12 ottobre Classificazione dei comportamenti e quindi del grafo degli stati delle Macchine Sequenziali 1: una variazione di ingresso determina (al più) una variazione di uscita 2: una variazione di ingresso determina un numero limitato di variazioni di uscita 3: una variazione di ingresso determina continue variazioni di uscita i 1, u 1 i 2, u 2 i 2, u 2 i 1, u 1 i 2, u 2 i 2, u 3 i 2, u 1 i 2, u 2 i 2, u 3

37 12 ottobre Esempio di comportamento 1: una lampada da tavolo rilasciato,spenta rilasciato, accesa rilasciato, accesa premuto,accesa premuto, accesa premuto, spenta premuto, spenta rilasciato, spenta u: lampadinaU : {spenta, accesa} i: pulsante I : {rilasciato,premuto} Questo comportamento può essere convenientemente realizzato con una R.S.A. E comunque possibile realizzare questo comportamento con una R.S.S.

38 12 ottobre La macchina sequenziale asincrona Lo stato viene aggiornato con il ritardo della rete G Una volta aggiornato, lo stato resta stabile e immutato fino allarrivo della prossima configurazione di ingresso (infatti lo stato futuro resta uguale allo stato presente) Per ottenere il comportamento 1 (al più una variazione delluscita a fronte di una variazione dellingresso) è sufficiente progettare la macchina in modo che lo stato darrivo non vari in corrispondenza del nuovo ingresso: se s j = G( s i, i) allora s j = G( s j, i) Macchine di questo tipo sono dette asincrone perché il loro comportamento dipende dal verificarsi di eventi (le variazioni degli ingressi) e non dal trascorrere del tempo.

39 12 ottobre Esempio di comportamento 2: una lavapiatti Riposo stop I cambiamenti di stato avvengono quando il timer segnala che è scaduto il tempo previsto per la fase del ciclo associato allo stato presente. Riscalda- mento Detersivo & getti Scarico acqua Immissio- ne acqua Getti Scarico acqua Immissio- ne acqua start Controllo Timer

40 12 ottobre Esempio di comportamento n. 3: il semaforo u(t n ) = P(t n ) t colore Le variazioni delluscita (colore) sono dovute al trascorrere del tempo Il grafo degli stati del semaforo corrisponde al comportamento 3 indicato nel lucido 32 (il semaforo passa ciclicamente e con continuità per più stati senza che vi siano ingressi che cambiano) Il grafo degli stati del semaforo è stato visto a lezione Questo comportamento può essere realizzato solamente con una rete sequenziale sincrona, cioè con una rete che cambia stato solo in corrispondenza degli istanti t i Se si realizzasse il grafo del semaforo secondo il modello delle R.S.A. (cioè con retroazione diretta dello stato futuro sullo stato presente, lo stato interno e le uscite oscillerebbero e quindi non assumerebbero mai un valore stabile e definito. Saremmo dunque in presenza di un funzionamento erroneo Il d.d.s. del semaforo è un esempio di grafo degli stati di un generatore di forme donda periodiche. Se il periodo della forma donda è T = k * T ck, allora solitamente si avrà: numero degli stati nel dds = k (t n - t n-1 ) = T ck

41 12 ottobre La macchina sequenziale sincrona Nelle macchine sincrone con ingressi sincroni la durata di un simbolo di uscita è sempre un multiplo di T ck. Per ottenere una durata pari a k T ck occorrono k transizioni di stato Nei comportamenti 2 e 3 (definiti nel lucido 15) si hanno variazioni di uscita e stato anche con ingresso costante. Tali variazioni quindi non possono che essere dovute al trascorrere del tempo. Macchine di questo tipo sono dette sincrone perché il loro comportamento dipende sia dal trascorrere del tempo sia dal verificarsi di eventi. La macchina deve allora essere in grado di misurare il trascorrere del tempo. Ciò viene ottenuto inserendo un ritardo costante, T ck, sul ramo di retroazione della funzione G Questo ritardo, solitamente chiamato periodo di clock, diventa lunità di misura del tempo della macchina

42 12 ottobre Analisi e sintesi di reti logiche sequenziali

43 12 ottobre x i (t), z j (t) B 0,1 z j (t) = F j (t, x 1 (t), x 2 (t), …, x n (t)) per j=1,..,m Modello formale di ogni rete che riceve e fornisce segnali binari x 1 (t) x 2 (t) x 3 (t) x n (t) z 1 (t) z 2 (t) z m (t) Rete logica 1: Schema logico (struttura) 2: Espressioni (comportamento)

44 12 ottobre IL CASO GENERALE di rete logica sequenziale Rete logica combinatoria uscita u z 1 z 2 z m u = F(i,s) Y k Y 2 Y 1 stato futuro S = G(i,s) y k y 2 y 1 stato presente s ingresso i x 1 x 2 x n ritardo s(t+ t) = S(t)

45 12 ottobre u(t n ) = P (i,i(t 0 ),i(t 1 ), …., i(t n-1 ), i(t n )) stato interno: il riassunto della storia passata u(t n ) = F(s(t n ),i(t n )) s(t n+1 ) = G(s(t n ),i(t n )) F G Ritardo T i(t n ) u(t n ) s(t n+1 ) s(t n ) s(t 0 ) = i Dalla macchina sequenziale sincrona alla rete sequenziale sincrona (1/2) la discretizzazione del tempo e le funzioni F,G e il ritardo sulla retroazione t0t0 t1t1 t2t2 t3t3 tntn t n+1 T0T0 T1T1 T2T2 T3T3 T n-1 TnTn T n+1 T i : iesimo periodo di clock (periodo = T) t i : iesimo istante di clock (t i - t i-1 = T) In corrispondenza degli istanti di clock t i lo stato interno si aggiorna e quindi rimane stabile per tutto il periodo T i fino a t i+1 Stato futuro

46 12 ottobre Dalla macchina sequenziale sincrona alla rete sequenziale sincrona (2/2): Una realizzazione della rete sequenziale sincrona Rete combinatoria i Q D k j x1xny1ykx1xny1yk z1zmY1Ykz1zmY1Yk z i n = F i (x 1,.., x n, y 1,.., y k ) n per i = 1,.., m y i n+1 = Y i n = G i (x 1,.., x n, y 1,.., y k ) n per i = 1,.., k Il ritardo sulla retroazione viene realizzato con una rete logica detta Flip Flop D (FF-D) Ci vuole un FF-D per ogni variabile di stato

47 12 ottobre Il flip-flop come elemento di ritardo Q n+1 = D n equazione caratteristica del FF D (n-1). T 0 n. T 0 (n+1).T 0 clock C D Q Q uscita Q Q n-1 Q n Q n+1 ingresso D D n-1 D n D n+1

48 12 ottobre Vincolo per il corretto funzionamento di una rete sequenziale sincrona R : tempo max. di risposta dei FF RC : tempo max. di risposta della rete comb. SU : tempo max. di set up dei FF T 0 R + RC + SU Campionamento dei D i Fronte di salita del clock t

49 12 ottobre I problemi di sintesi e di analisi per le reti sequenziali sincrone SINTESI - Dato un comportamento di tipo 1, 2 o 3 (lucido 32), individuare: la più opportuna frequenza del clock, il n° minimo di stati la migliore realizzazione delle reti di uscita e di aggiornamento dello stato interno ANALISI - Dato uno schema logico con gate e flip-flop sincroni, individuare: il grafo degli stati una descrizione a parole del comportamento

50 12 ottobre Procedimento di sintesi di R.S.S.: dalla DESCRIZIONE A PAROLE alla RETE LOGICA Si può passare da una descrizione a parole del funzionamento di una macchina sequenziale sincrona alla R.S.S. corrispondente eseguendo in sequenza i seguenti passi: 1 - si costruisce il diagramma degli stati 2 - si ricava la tabella di flusso 3 - si individua la tabella di flusso minima (cioè la tabella col numero minimo di stati) 4 - si codificano gli stati con variabili binarie (variabili di stato) 5 - si ricava la tabella delle transizioni 6 - si disegnano le mappe di Karnaugh o le t.d.v. delle variabili di stato e di uscita (funzioni F e G) 7 - si scrivono le espressioni di costo minimo dello stato futuro e delle uscite (sintesi di F e G) 8 - si disegna lo schema logico inserendo un FF-D sul ramo di retroazione di ogni variabile di stato 9 - si individua la massima frequenza di clock compatibile con il corretto funzionamente della rete 10 - si realizza il circuito con FF-D e operatori elementari, oppure con dispositivi programmabili Il passo 3 e la minimizzazione nel passo 7 non sono strettamente necessari; se effettuati portano alla sintesi minima della R.S.S. con FF-D; è sempre possibile, ma ormai in disuso, utilizzare altri tipi di flip flop al posto dei FF-D Sono ormai di uso comune strumenti di sintesi logica automatica che consentono di passare direttamente dal diagramma degli stati al file di configurazione di circuiti logici programmabili (es. FPGA)

51 12 ottobre Procedimento di analisi di R.S.S.: dalla RETE LOGICA alla DESCRIZIONE A PAROLE Si può passare dallo schema logico di una R.S.S. (con ritardi sulla retroazione realizzati con FF-D) alla descrizione a parole del suo comportamento eseguendo in sequenza i seguenti passi: 1 - si scrivono le espressioni di G ed F, cioè le espressioni delle variabili di stato stato futuro (ingressi D dei FF) e delle uscite 2 - si esegue lanalisi delle espressioni di G e F (si disegnano cioè le mappe di Karnaugh o le t.d.v. delle variabili di stato futuro e di uscita) 3 - si ricava la tabella delle transizioni (t.d.t) 4 - si assegna un nome simbolico ad ogni configurazione delle variabili di stato interno presente (una configurazione, cioè uno stato per ogni riga della t.d.t.) 5 - si ricava la tabella di flusso (t.d.f.) 6 - si disegna il diagramma degli stati (d.d.s.) 7 - si descrive a parole il funzionamento della macchina sequenziale sincrona a cui corrisponde il d.d.s. disegnato aiutandosi eventualmente con forme donda I passi 4 e 5 sono opzionali Sono ormai diffusi simulatori logici per Personal Computer che costruiscono landamento nel tempo delle variabili di uscita di una R.S.S. in funzione di pattern di ingresso scelti dalloperatore. Il simulatore può essere utilizzato sia in fase di sintesi di una R.S.S. per verificarne il corretto funzionamneto, sia in analisi per individuare il comportamento di una R.S.S. assegnata

52 12 ottobre Riepilogo sulla classificazione delle macchine digitali e sul loro comportamento nel tempo Forme donda di riferimento

53 12 ottobre Classificazione delle macchine ° Un orologio esterno (clock) suddivide il tempo in intervalli tutti eguali, durante i quali ingresso, uscita e stato sono per ipotesi costanti. Laggiornamento dello stato avviene nellistante che delimita due intervalli consecutivi (istante di sincronismo). Macchina Comp. Evento Uscita Stato combinatoria 1 nuovo ingresso i u = F(i) non occorre lo stato asincrona 1 nuovo ingresso i u = F(s,i) s*=G(s,i) aggiorn. immediato = F(s*,i) s*=G(s*,i) sincrona 2, 3 intervallo n-esimo u n = F(s n,i n ) s* n =G(s n,i n ) aggiorn. alla fine ° s n+1 = s* n

54 12 ottobre La macchina combinatoria ingresso i j k uscita F(i) F(j) F(k) p : intervallo di tempo impiegato per il calcolo di F tntn ritardo p t n+1

55 12 ottobre La macchina asincrona stato presente singresso j is* = F(i,s*) = G(i,s*) p : intervallo di tempo impiegato per il calcolo di F e di G tntn t n+1 ritardo p stato futuro s = G(j,s) s* = G(i,s) uscita F(j,s) F(i,s)

56 12 ottobre Un esempio di macchina asincrona: la lampada da tavolo rilasciato,spenta rilasciato, accesa rilasciato, accesa premuto,accesa premuto, spenta premuto, spenta premuto, accesa rilasciato, spenta pulsante i I:{rilasciato,premuto} lampadina u U:{spenta, accesa} rilasciatopremuto, spenta, spenta, accesa, accesa, spenta, spenta Questa macchina ha un comportamento di tipo 1

57 12 ottobre La macchina sincrona T 0 : intervallo di tempo in cui la macchina non modifica il suo stato tntn t n+1 = t n + T 0 ingresso i n-1 i n i n+1 stato presente s n-1 s n s n+1 ritardo p stato futuro G(i n,s n ) uscita F(i n,s n ) p : intervallo di tempo impiegato dal calcolo di F e di G

58 12 ottobre Una macchina sincrona di tipo 2: la lavapiatti Riposo stop Detersivo & getti t2 Scarico acqua t3 Immis. acqua t4 Getti t5 Scarico acqua t6 t7 Controllo start/stop Immis. acqua start Timer durata fase I cambiamenti di stato avvengono quando il timer segnala che è scaduto il tempo di attesa richiesto per la fase associata allo stato presente. Riscalda- mento t1 tempo scaduto

59 12 ottobre Fase di fetchFase di execute Una macchina sincrona di tipo 3: il processore CPU o Processore BUS La durata della fase di execute dipende dallistruzione che la fase di fetch ha reperito in memoria. clock La macchina usa il periodo del clock come unità di misura del tempo.

60 12 ottobre La proprietà di decomposizione

61 12 ottobre Decomposizione M iu M1M1 M2M2 Una macchina sequenziale M con N stati può essere decomposta in due macchine più semplici M 1 e M 2, rispettivamente con N 1 e N 2 stati (N 1 < N, N 2 < N, N 1 N 2 N). La proprietà di decomposizione in sottomacchine vale fino a quando si arriva ad identificare un componente primitivo. F

62 12 ottobre dato risultato richiesta notifica Il Controllo ed il Percorso dei dati controllo comandi stato percorso dei dati

63 12 ottobre Elaborazione dato risultato richiesta notifica OutputInput protocollo di uscita operandi operazioni risultati protocollo di ingresso il Percorso dei dati: Elaborazione e I/O controllo

64 12 ottobre Elaborazione dato risultato richiesta notifica OutputInput protocollo di uscita operandi operazioni risultati protocollo di ingresso il Controllo: Programma ed Interprete controllo interprete memoria istruzioni

65 12 ottobre Regole elementari di decomposizione u=M 2 (M 1 (i)) Deve operare prima il blocco a sinistra, poi quello a destra. I due blocchi operano contemporaneamente. u 1 =M 1 (i) u 2 =M 2 (i) { u=M 1 (i, s) s=M 2 (u) u=M 1 (i, M 2 (u)) È necessario che lanello completi un calcolo prima di avviarne uno nuovo. M1M1 M2M2 i u2u2 u1u1 c) in retroazione b) in parallelo a) in serie M1M1 M2M2 iu M1M1 iu s M2M2


Scaricare ppt "12 ottobre 20001 1.2 I modelli di comportamento dei sistemi digitali Comportamento combinatorio o sequenziale?"

Presentazioni simili


Annunci Google