La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Comportamento combinatorio o sequenziale?

Presentazioni simili


Presentazione sul tema: "Comportamento combinatorio o sequenziale?"— Transcript della presentazione:

1 Comportamento combinatorio o sequenziale?
1. Sistemi digitali 1.2 I modelli di comportamento dei sistemi digitali Comportamento combinatorio o sequenziale? 12 ottobre 2000

2 Il processo di elaborazione
1. Sistemi digitali Il processo di elaborazione 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)) a) L’interazione uomo/macchina MACCHINA Dati Risultati 12 ottobre 2000

3 Esempio di comportamento di un sistema digitale
1. Sistemi digitali i u = t dato risultato 3 9 5 25 7 49 L’uscita all’istante t è funzione dell’ingresso in quell’istante L’uscita u(t) non dipende da i() con  < t L’uscita non risente della storia passata degli ingressi Il sistema non ha memoria possiamo scrivere: u = P(i) u(t) = P(i(t)) 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 12 ottobre 2000

4 La macchina combinatoria
1. Sistemi digitali La macchina combinatoria Un sistema digitale in cui l’uscita dipende solo dal valore contemporaneo dell’ingresso è detto macchina combinatoria. U(t) = f (I(t)) In una macchina combinatoria, Se I è l’insieme delle informazioni in ingresso e U è l’insieme delle informazioni in uscita il comportamento della macchina è descritto mediante la funzione F: I ® U La funzione F può essere assegnata mediante una tabella che associa a ogni simbolo di ingresso il corrispondente simbolo in uscita 12 ottobre 2000

5 Un altro esempio di macchina combinatoria: il campanello
1. Sistemi digitali Un altro esempio di macchina combinatoria: il campanello i: Pulsante u: Suoneria Premuto Suono Rilasciato Nessun Suono u = F(i) Tabella del comportamento 12 ottobre 2000

6 Altro esempio di comportamento
1. Sistemi digitali Altro esempio di comportamento t V G R 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 Tn) 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 L’uscita u(Tn) dipende dallo stato interno nello stesso intervallo Tn Questo comportamento è detto: sequenziale sincrono sequenziale significa “con stato interno che influenza l’uscita” sincrono significa che lo stato interno può cambiare solo in determinati istanti di tempo (quelli che separano Tn da Tn+1) Le reti logiche che realizzano questo tipo di comportamento si chiamano: reti logiche sequenziali sincrone 12 ottobre 2000

7 Approfondiamo l’esempio: u(tn) = P(s( tn))
1. Sistemi digitali Approfondiamo l’esempio: u(tn) = P(s( tn)) t V G R t3 t5 t6 t0 t1 t2 T0 T1 T2 T3 T4 T5 T6 t7 t8 t9 T7 T8 T9 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 T0, T1, T2 , giallo in T3 e rosso in T4, T5, T6 , poi torna verde Si ha che u(tn+7) = u(tn): l’uscita è periodica con periodo 7 T Allora possiamo dire quanto segue: l’uscita dipende dall’intervallo Ti in cui ci troviamo l’intervallo 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 dell’uscita: u = P(s) dunque possiamo dire che in questa macchina sequenziale sincrona l’uscita è una funzione combinatoria dello stato presente 12 ottobre 2000

8 Ecco la tabella che associa l’uscita allo stato interno presente
1. Sistemi digitali Ecco la tabella che associa l’uscita allo stato interno presente t V G R t3 t5 t6 t0 t1 t2 T0 T1 T2 T3 T4 T5 T6 t7 t8 t9 T7 T8 T9 A B C D E F G Stato presente: 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 l’insieme dei sette stati e U l’insieme dei valori possibili dell’uscita, e se chiamiamo F la corrispondenza tra S e U, allora possiamo scrivere: Stato presente uscita A B C E F G D verde rosso giallo F: S  U 12 ottobre 2000

9 La tabella descrive la funzione G: S  S
1. Sistemi digitali E’ sufficiente assegnare la funzione F: S  U per descrivere il funzionamento del semaforo? t V G R t3 t5 t6 t0 t1 t2 T0 T1 T2 T3 T4 T5 T6 t7 t8 t9 T7 T8 T9 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 Stato presente Stato futuro A B C E F G D La tabella descrive la funzione G: S  S 12 ottobre 2000

10 1. Sistemi digitali Conclusione: il comportamento del semaforo è descritto dalle due funzioni F: S  U e G: S  S t V G R t3 t5 t6 t0 t1 t2 T0 T1 T2 T3 T4 T5 T6 t7 t8 t9 T7 T8 T9 Stato presente uscita A B C E F G D verde rosso giallo Stato presente Stato futuro A B C E F G D F G T u s* s F e G sono due blocchi combinatori T è l’intervallo tra due aggiornamenti successivi dello stato interno F: S  U G: S  S 12 ottobre 2000

11 1. Sistemi digitali Le tabelle che descrivono le due funzioni F e G si possono raggruppare in un’unica tabella detta Tabella di Flusso t V G R t3 t5 t6 t0 t1 t2 T0 T1 T2 T3 T4 T5 T6 t7 t8 t9 T7 T8 T9 Stato presente Stato futuro A B C E F G D F: S  U uscita verde rosso giallo G: S  S 12 ottobre 2000

12 Il sistema di elaborazione che controlla il semaforo
1. Sistemi digitali 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 z1 z2 z3 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” 12 ottobre 2000

13 Codifica degli stati e delle uscite
1. Sistemi digitali Codifica degli stati e delle uscite t V G R t3 t5 t6 t0 t1 t2 T0 T1 T2 T3 T4 T5 T6 t7 t8 t9 T7 T8 T9 Per codificare 7 informazioni sono necessarie 3 variabili binarie La codifica è arbitraria Le uscite sono codificate in modo ridondante (basterebbero anche due bit) Stato Codifica y2 y1 y0 A B C E F G D 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 0 Uscita Codifica z3 z2 z1 Acceso verde 1 0 0 Acceso giallo Acceso rosso 0 1 0 0 0 1 12 ottobre 2000

14 La tabella delle transizioni
1. Sistemi digitali 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 y2 y1 y0 Stato futuro 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 0 1 1 001 000 110 101 100 010 011 F: S  U Uscita z3 z2 z1 G: S  S Si pone ora il problema di progettare le 6 reti combinatorie che realizzano le sei funzioni binarie Y2 Y1 Y0 e z3 z2 z1 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 Y2 Y1 Y0 e z3 z2 z1 è necessario studiare l’algebra di comutazione 12 ottobre 2000

15 La rete logica sequenziale sincrona che controlla il semaforo
uscita u z1 z2 z3 u = F(s) Rete logica combinatoria y2 y1 y0 stato presente s Y2 Y1 Y0 stato futuro S = G(s) T s(tn+1) = S(tn) 12 ottobre 2000

16 Disegnamo a titolo di esempio il grafo degli stati del semaforo
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 12 ottobre 2000

17 Il grafo degli stati del semaforo
1. Sistemi digitali Il grafo degli stati del semaforo A,V B,V C,V E,R F,R G,R D,G Ogni nodo rappresenta uno stato All’interno di ogni nodo sono indicati i simboli dello stato e dell’uscita 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 12 ottobre 2000

18 A,V B,V C,V E,R F,R G,R D,G H,R Soluzione 1
1. Sistemi digitali 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. Soluzione 1 A,V B,V C,V E,R F,R G,R D,G H,R 1 Analizzare attentamente, quindi ricavare la tabella di flusso e la tabella delle transizioni 12 ottobre 2000

19 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) S0,V S1,V S2,V S4,R S5,R S6,R S3,G - 1 12 ottobre 2000

20 Altri esempi di comportamento
1. Sistemi digitali Altri esempi di comportamento CPU istruzione operando risultato istruzione operando risultato t Il risultato dipende anche dalle istruzioni e dai dati precedenti 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 L’attività precedente viene riassunta nello stato interno del sistema Il tempo viene discretizzato (cioè suddiviso in intervalli Tn) L’uscita u(Tn) dipende dallo stato interno e dagli ingressi nello stesso intervallo Tn Questo comportamento è analogo a quello del lucido precedente, quindi anche la CPU è una rete logica sequenziale sincrona 12 ottobre 2000

21 Anche i processori si comportano come specificato dal loro dds
1. Sistemi digitali Anche i processori si comportano come specificato dal loro dds CPU o Processore BUS Fase di fetch Fase di execute La durata della fase di execute dipende dall’istruzione che la fase di fetch ha reperito in memoria. clock Il processore usa il periodo del clock come “unità di misura” del tempo. 12 ottobre 2000

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

23 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 dell’ingresso, ma dipende anche dai valori assunti dall’ingresso 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 ti che delimitano detti intervalli. Gli intervalli elementari possono essere contati ed è quindi possibile misurare il tempo. Pertanto nelle macchine sequenziali sincrone il valore dell’uscita 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 dell’uscita dipende dalla sequenza dei valori in ingresso, ma non può dipendere dalla relativa durata. 12 ottobre 2000

24 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 dell’ingresso) Le variazioni dell’uscita (lampadina) sono dovute a variazioni dell’ingresso (pulsante) Il valore dell’uscita non dipende dalla durata delle configurazioni di ingresso, quindi non dipende dal valore di t, ma dipende solo dalla sequenza con cui è variato l’ingresso Nelle M.S.A. la storia passata è rappresentata solo dalla sequenza con cui è variato l’ingresso, e non dalla durata di ogni configurazione di ingresso u(t) = P(i(t-))   0 12 ottobre 2000

25 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 dell’uscita sono dovute al trascorrere del tempo u(t) = P(t, i(t-))   0 istruzione operando istruzione CPU Dipende anche dalle istruzioni e dai dati precedenti risultato operando risultato t 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 l’unità di misura del tempo 12 ottobre 2000

26 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 12 ottobre 2000

27 La macchina digitale e la rete logica
1. Sistemi digitali La macchina digitale e la rete logica i(t)  I (alfabeto di ingresso) u(t)  U (alfabeto di uscita) Macchina digitale 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 X[0..(n-1)] (var. di ingresso) Z[0..(n-1)] (var. di uscita) 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 l’andamento 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. 12 ottobre 2000

28 Il modello delle M.S.S. la discretizzazione del tempo e le funzioni F,G
Ritardo T i(tn) u(tn) s(tn+1) s(tn) u(t) = P(t, i(t-))   0 u(tn ) = P (i ,i(t0),i(t1), …., i(tn-1), i(tn)) u(tn ) = F(s(tn),i(tn)) s(tn+1) = G(s(tn),i(tn)) Ti : intervalli di durata T ti : istanti stato interno: il riassunto della “storia passata” t0 t1 t2 t3 tn tn+1 T0 T1 T2 T3 Tn-1 Tn Tn+1 s(t0) = i 12 ottobre 2000

29 Il modello delle M.S.A. la retroazione diretta dello stato interno (T=0)
i(t) u(t) = P(t, i(t-))   0 F u(t) u(t ) = F(s(t),i(t)) S(t) = G(s(t),i(t)) G S(t) stato interno: il riassunto della “storia passata” s(t0) = stato iniziale 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 s(t) Ritardo T=0 12 ottobre 2000

30 Astrazione di un modello per M. S. S. e M. S. A
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 La funzione F: S x I ® U S I U La funzione G: S x I ® S 12 ottobre 2000

31 Il modello astratto della macchina sequenziale
1. Sistemi digitali Il modello astratto della macchina sequenziale Sistema matematico M = {I, U, S, F, G} formato da 3 INSIEMI I: i1, i2, …, in alfabeto di ingresso U: u1, u2, …, um alfabeto di uscita S: s1, s2, …, sk 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) F G memoria i u s* s Alla fine di tutto, commento sull’introduzione della memoria: Dal punto di vista puramente matematico non sarebbe necessario introdurre la memoria; però se vogliamo usare poi questo modello per sintetizzare delle macchine reali non possiamo fare a meno di osservare che il modello puramente matematico fatto dalle due funzioni precedenti è fisicamente irrealizzabile: difatti le funzioni sono delle pure trasformazioni che associano all’elemento di un insieme quello di un altro insieme non implicano “un ritardo di calcolo”: allora se proviamo a togliere la memoria ci accorgiamo che il nostro modello richiederebbe che nello stesso istante in cui lo stato presente viene utilizzato esso va a cambiare. Quindi affinchè il modello sia fisicamente realizzabile è necessario introdurre una memoria che renda possibile la contemporanea presenza di stato presente e stato futuro; Come vedremo questa memoria ci consnete di modellare in modo unificato i diversi meccasnismi di aggiornamento dello stato delle diverse macchine sequenziali. 12 ottobre 2000

32 Macchine sequenziali e automi a stati finiti
1. Sistemi digitali Macchine sequenziali e automi a stati finiti 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 L’insieme di 5 elementi M è detto Automa a Stati Finiti Nelle macchine sequenziali sincrone lo stato interno viene aggiornato in tutti gli istanti ti , e l’uscita 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 12 ottobre 2000

33 Descrizione del comportamento con tabella di flusso
1. Sistemi digitali Descrizione del comportamento con tabella di flusso s1 s2 sk . insieme degli stati ii sj stato presente stato futuro, uscita ingresso sp,uq i1 i2 in …. alfabeto d’ingresso . …. 12 ottobre 2000

34 Descrizione con grafo degli stati
S j S 1 S p S 2 S k Per ogni stato e per ogni valore di ingresso lecito si devono individuare stato futuro e valore dell’uscita i1, um ii, uq in, un 12 ottobre 2000

35 1: una variazione di ingresso determina (al più) una
Classificazione dei comportamenti e quindi del grafo degli stati delle Macchine Sequenziali a i1, u1 i2, u2 b 1: una variazione di ingresso determina (al più) una variazione di uscita a i1, u1 g i2, u3 2: una variazione di ingresso determina un numero limitato di variazioni di uscita b i2, u2 3: una variazione di ingresso determina continue variazioni di uscita a i2, u1 b i2, u2 g i2, u3 12 ottobre 2000

36 Esempio di comportamento 1: una lampada da tavolo
u: lampadina U : {spenta, accesa} a rilasciato,spenta rilasciato, accesa rilasciato, accesa g b premuto,accesa premuto, d premuto, spenta spenta 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. 12 ottobre 2000

37 La macchina sequenziale asincrona
Per ottenere il comportamento 1 (al più una variazione dell’uscita a fronte di una variazione dell’ingresso) è sufficiente progettare la macchina in modo che lo stato d’arrivo non vari in corrispondenza del nuovo ingresso: se s j = G( s i, i) allora s j = G( s j, i) Lo stato viene aggiornato con il ritardo della rete G Una volta aggiornato, lo stato resta stabile e immutato fino all’arrivo della prossima configurazione di ingresso (infatti lo stato futuro resta uguale allo stato presente) 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. 12 ottobre 2000

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

39 Esempio di comportamento n. 3: il semaforo
u(tn) = P(tn) t colore Le variazioni dell’uscita (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 ti 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 d’onda periodiche. Se il periodo della forma d’onda è T = k * Tck, allora solitamente si avrà: numero degli stati nel dds = k (tn - tn-1) = Tck 12 ottobre 2000

40 La macchina sequenziale sincrona
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. La macchina deve allora essere in grado di misurare il trascorrere del tempo. Ciò viene ottenuto inserendo un ritardo costante, Tck, sul ramo di retroazione della funzione G Questo ritardo, solitamente chiamato “periodo di clock”, diventa l’unità di misura del tempo della macchina Macchine di questo tipo sono dette sincrone perché il loro comportamento dipende sia dal trascorrere del tempo sia dal verificarsi di “eventi”. Nelle macchine sincrone con ingressi sincroni la “durata” di un simbolo di uscita è sempre un multiplo di Tck . Per ottenere una durata pari a k Tck occorrono k transizioni di stato 12 ottobre 2000

41 Analisi e sintesi di reti logiche sequenziali
12 ottobre 2000

42 Modello formale di ogni rete che riceve e fornisce segnali binari
1: Schema logico (struttura) x1(t) x2(t) x3(t) xn(t) z1(t) z2(t) zm(t) Rete logica 2: Espressioni (comportamento) xi(t), zj(t)  B0,1 zj(t) = Fj (t, x1(t) , x2(t), …, xn(t)) per j=1,..,m 12 ottobre 2000

43 IL CASO GENERALE di rete logica sequenziale
ingresso i x1 x2 xn uscita u z1 z2 zm u = F(i,s) Rete logica combinatoria yk y2 y1 stato presente s Yk Y2 Y1 stato futuro S = G(i,s) ritardo s(t+Dt) = S(t) 12 ottobre 2000

44 Dalla macchina sequenziale sincrona alla rete sequenziale sincrona (1/2) la discretizzazione del tempo e le funzioni F,G e il ritardo sulla retroazione F u(tn) u(tn ) = P (i ,i(t0),i(t1), …., i(tn-1), i(tn)) i(tn) u(tn ) = F(s(tn),i(tn)) s(tn+1) = G(s(tn),i(tn)) G s(tn+1) t0 t1 t2 t3 tn tn+1 T0 T1 T2 T3 Tn-1 Tn Tn+1 Ti : iesimo periodo di clock (periodo = T) ti : iesimo istante di clock (ti - ti-1 = T) In corrispondenza degli istanti di clock ti lo stato interno si aggiorna e quindi rimane stabile per tutto il periodo Ti fino a ti+1 stato interno: il riassunto della “storia passata” Stato futuro s(tn) Ritardo T s(t0) = i 12 ottobre 2000

45 Dalla macchina sequenziale sincrona alla rete sequenziale sincrona (2/2): Una realizzazione della rete sequenziale sincrona Rete combinatoria ti Q D tk tj x1 xn y1 yk z1 zm Y1 Yk 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 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 12 ottobre 2000

46 Il flip-flop come elemento di ritardo
D Q Q’ Q n+1 = D n equazione caratteristica del FF “D” (n-1) . T0 n . T0 (n+1) .T0 clock C ingresso D D n-1 D n D n+1 uscita Q Q n-1 Q n Q n+1 12 ottobre 2000

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

48 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 12 ottobre 2000

49 Procedimento di sintesi di R. S. S
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) 12 ottobre 2000

50 Procedimento di analisi di R. S. S
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 l’analisi 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 d’onda I passi 4 e 5 sono opzionali Sono ormai diffusi simulatori logici per Personal Computer che costruiscono l’andamento nel tempo delle variabili di uscita di una R.S.S. in funzione di pattern di ingresso scelti dall’operatore. 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 12 ottobre 2000

51 Riepilogo sulla classificazione delle macchine digitali
e sul loro comportamento nel tempo Forme d’onda di riferimento 12 ottobre 2000

52 Classificazione delle macchine
1. Sistemi digitali Classificazione delle macchine Macchina Comp. Evento Uscita Stato combinatoria nuovo ingresso i u = F(i) non occorre lo stato asincrona nuovo ingresso i u = F(s,i) s*=G(s,i) aggiorn. immediato = F(s*,i) s*=G(s*,i) sincrona , 3 intervallo n-esimo un = F(sn,in) s*n=G(sn,in) aggiorn. alla fine ° sn+1= s*n Asincrone: alfa-privativo del greco: priva di tempo. La macchina asincrona evolve solo per variazione degli ingressi, non esplicitamente per la variazione del tempo. Non esistono gli eventi: scadenza di un intervallo di tempo, solo quelli arrivo di un nuovo dato Fundamental Mode: è una condizione di “buon funzionamento” , rende la progettazione indipendente dai ritardi interni della rete (lo capiremo bene quando faremo il progetto delle reti asincrone) ° Un “orologio” esterno (clock) suddivide il tempo in intervalli tutti eguali, durante i quali ingresso, uscita e stato sono per ipotesi costanti. L’aggiornamento dello stato avviene nell’istante che delimita due intervalli consecutivi (istante di sincronismo). 12 ottobre 2000

53 La macchina combinatoria
1. Sistemi digitali La macchina combinatoria tp : intervallo di tempo impiegato per il calcolo di F tn ritardo tp tn+1 ingresso i j k uscita F(i) F(j) F(k) 12 ottobre 2000

54 1. Sistemi digitali La macchina asincrona tp : intervallo di tempo impiegato per il calcolo di F e di G tn tn+1 ritardo tp stato futuro s = G(j,s) s* = G(i,s) uscita F(j,s) F(i,s) ingresso j i stato presente s s* = F(i,s*) = G(i,s*) 12 ottobre 2000

55 Un esempio di macchina asincrona: la lampada da tavolo
1. Sistemi digitali Un esempio di macchina asincrona: la lampada da tavolo a rilasciato,spenta b premuto,accesa premuto, spenta rilasciato, accesa rilasciato, accesa g rilasciato, spenta d premuto, spenta premuto, accesa pulsante i  I:{rilasciato,premuto} lampadina u U:{spenta, accesa} rilasciato premuto a a , spenta b , spenta b g , accesa b , accesa g g , accesa d , accesa d a , spenta d , spenta Questa macchina ha un comportamento di “tipo 1” 12 ottobre 2000

56 1. Sistemi digitali La macchina sincrona T0 : intervallo di tempo in cui la macchina non modifica il suo stato tn tn+1= tn + T0 ingresso i n i n i n+1 stato presente s n s n s n+1 ritardo tp stato futuro G(in,sn) uscita F(in,sn) tp : intervallo di tempo impiegato dal calcolo di F e di G 12 ottobre 2000

57 Una macchina sincrona di tipo 2: la lavapiatti
1. Sistemi digitali Una macchina sincrona di tipo 2: la lavapiatti Riposo stop Controllo start/stop 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 Immis. acqua start Timer durata fase Scarico acqua t6 t7 Detersivo & getti t2 Scarico acqua t3 Fare il diagramma degli stati prima in modo puramente sincrono ; poi introdurre il timer come componente aggiuntivo usato per una realizzazione più flessibile Getti t5 Immis. acqua t4 12 ottobre 2000

58 Una macchina sincrona di tipo 3: il processore
1. Sistemi digitali Una macchina sincrona di tipo 3: il processore CPU o Processore BUS Fase di fetch Fase di execute La durata della fase di execute dipende dall’istruzione che la fase di fetch ha reperito in memoria. clock La macchina usa il periodo del clock come “unità di misura” del tempo. 12 ottobre 2000

59 1.3 La proprietà di decomposizione
1. Sistemi digitali 1.3 La proprietà di decomposizione 12 ottobre 2000

60 1. Sistemi digitali Decomposizione Una macchina sequenziale M con N stati può essere decomposta in due macchine più semplici M1 e M2, rispettivamente con N1 e N2 stati (N1 < N, N2 < N, N1  N2  N). La proprietà di decomposizione in sottomacchine vale fino a quando si arriva ad identificare un componente primitivo. M i u M1 M2 F Vediamo un esempio concreto, considerando ancora il caso del semaforo. Dopo il semaforo: Dopo questo principio generale, vediamo 3 esempi di decomposizione che si rivelano utili nella pratica progettuale. 12 ottobre 2000

61 Il Controllo ed il Percorso dei dati
1. Sistemi digitali Il Controllo ed il Percorso dei dati dato risultato richiesta notifica controllo comandi stato percorso dei dati In questa decomposizione gli ingressi sono stati divisi in dati e richieste di compiere una determinata elaborazione e le uscite in risultati notifica dell’avevnuta esecuzione dell’elaborazione richiesta. Vantaggi flessibilità: si possono progettare ed anche modificare separatamente 12 ottobre 2000

62 il Percorso dei dati: Elaborazione e I/O
1. Sistemi digitali il Percorso dei dati: Elaborazione e I/O Elaborazione dato risultato richiesta notifica Output Input protocollo di uscita operandi operazioni risultati ingresso controllo controllo Suddivisione del percosro dati in I/O ed elaborazione, introduzione di unità specifiche per la conversione di formato e che colloquina con il mondo esteno controllo prima centralizzato, poi distribuito. 12 ottobre 2000

63 il Controllo: Programma ed Interprete
1. Sistemi digitali il Controllo: Programma ed Interprete Elaborazione dato risultato richiesta notifica Output Input protocollo di uscita operandi operazioni risultati ingresso controllo interprete memoria istruzioni controllo Con questa modifica la nostra macchina viene resa general-purpose 12 ottobre 2000

64 Regole “elementari” di decomposizione
1. Sistemi digitali Regole “elementari” di decomposizione c) in retroazione b) in parallelo a) in serie u=M2(M1(i)) Deve operare prima il blocco a sinistra, poi quello a destra. M1 M2 i u I due blocchi operano contemporaneamente. u1=M1(i) u2 =M2(i) { M1 M2 i u2 u1 u=M1(i, s) s=M2(u) u=M1(i, M2(u)) È necessario che l’anello completi un calcolo prima di avviarne uno nuovo. M1 i u s M2 12 ottobre 2000


Scaricare ppt "Comportamento combinatorio o sequenziale?"

Presentazioni simili


Annunci Google