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

64
12 ottobre 2000 1 1.2 I modelli di comportamento dei sistemi digitali Comportamento combinatorio o sequenzia

Transcript of 12 ottobre 20001 1.2 I modelli di comportamento dei sistemi digitali Comportamento combinatorio o...

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

12 ottobre 2000 1

1.2 I modelli di

comportamentodei sistemi digitali

Comportamento combinatorio o sequenziale?

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

12 ottobre 2000 2

Il processo di elaborazione

a) L’interazione uomo/macchina

MACCHINADati

Risultati

astrazione

b) Il modello del blocco

Pi(t) I

(alfabeto di ingresso)u(t) U

(alfabeto di uscita)

e la relazione ingresso/uscita

U(t) = P(t, i(t))

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

12 ottobre 2000 3

Esempio di comportamento di un sistema digitale

iu =

t

dato

risultato 3

9

5

25

7

49

u = P(i)u(t) = P(i(t))

L’uscita all’istante t è funzione dell’ingresso in quell’istanteL’uscita u(t) non dipende da i() con < tL’uscita non risente della storia passata degli ingressiIl sistema non ha memoriapossiamo scrivere:

oppure

Questo comportamento è detto: combinatorioQuesto comportamento può essere descritto da una tabella della veritàLe reti logiche che realizzano questo tipo di comportamentosi chiamano: reti logiche combinatorie

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

12 ottobre 2000 4

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 macchina combinatoria

Un sistema digitale in cui l’uscita dipende solo dal valore contemporaneo dell’ingresso è 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

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

12 ottobre 2000 5

Un altro esempio di macchina combinatoria: il campanello

i: Pulsante u: Suoneria

Premuto Suono

Rilasciato Nessun Suono

u = F(i)

Tabella del comportamento

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

12 ottobre 2000 6

t

V G R

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 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 comportamentosi chiamano: reti logiche sequenziali sincrone

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

12 ottobre 2000 7

Approfondiamo l’esempio: u(tn) = P(s( tn))

• 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

t

V G R V

t3 t5 t6t0 t1 t2

T0 T1 T2 T3 T4 T5 T6

t7 t8 t9

T7 T8 T9

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

12 ottobre 2000 8

Ecco la tabella che associa l’uscita allo stato interno presente

t

V G R V

t3 t5 t6t0 t1 t2

T0 T1 T2 T3 T4 T5 T6

t7 t8 t9

T7 T8 T9

Stato presente uscita

AB

C

E

F

G

D

verde

rossorossorossogiallo

verdeverde

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:

F: S U

A B C D E F G AStato presente:

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

12 ottobre 2000 9

E’ sufficiente assegnare la funzione F: S U per descrivere il funzionamento del semaforo?

t

V G R V

t3 t5 t6t0 t1 t2

T0 T1 T2 T3 T4 T5 T6

t7 t8 t9

T7 T8 T9

Stato presente

Stato futuro

AB

C

E

F

G

D

B

AGFE

CD

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

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

12 ottobre 2000 10

Conclusione: il comportamento del semaforo è descritto dalle due funzioni F: S U e G: S S

t

V G R V

t3 t5 t6t0 t1 t2

T0 T1 T2 T3 T4 T5 T6

t7 t8 t9

T7 T8 T9

Stato presente

Stato futuro

AB

C

E

F

G

D

B

AGFE

CD

F: S U

Stato presente uscita

AB

C

E

F

G

D

verde

rossorossorossogiallo

verdeverde

G: S S

F

G

T

u

s*s

F e G sono due blocchi combinatoriT è l’intervallo tra due aggiornamenti

successivi dello stato interno

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

12 ottobre 2000 11

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 V

t3 t5 t6t0 t1 t2

T0 T1 T2 T3 T4 T5 T6

t7 t8 t9

T7 T8 T9

Stato presente

Stato futuro

AB

C

E

F

G

D

B

AGFE

CD

F: S U

uscita

verde

rossorossorossogiallo

verdeverde

G: S S

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

12 ottobre 2000 12

Il sistema di elaborazione che controlla il semaforo

Il comportamento del semaforo è specificato dalle funzioni F: S U e G: S S

retesequenziale

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”

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

12 ottobre 2000 13

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

V G R V

t3 t5 t6t0 t1 t2

T0 T1 T2 T3 T4 T5 T6

t7 t8 t9

T7 T8 T9

Stato Codifica

y2 y1 y0

AB

C

E

F

G

D

0 0 0

1 1 01 0 11 0 00 1 1

0 0 10 1 0

Uscita Codifica

z3 z2 z1

Acceso verde 1 0 0

Acceso giallo

Acceso rosso

0 1 0

0 0 1

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

12 ottobre 2000 14

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

Statopresente

AB

C

E

F

G

D

Stato presentey2 y1 y0

Stato futuro

0 0 00 0 1

0 1 0

1 0 0

1 0 1

1 1 0

0 1 1

001

000110101100

010011

F: S U

Uscitaz3 z2 z1

100

001001001010

100100

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

minuscolamentre 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

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

12 ottobre 2000 15

La rete logica sequenziale sincrona che controlla il semaforo

Retelogica

combinatoria

uscita uz1

z2

z3

u = F(s)

Y2

Y1

Y0

stato futuro S = G(s)

y2

y1

y0

stato presente s

T

T

T

s(tn+1) = S(tn)

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

12 ottobre 2000 16

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

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

12 ottobre 2000 17

Il grafo degli stati del semaforo

A,V B,V C,V

E,RF,RG,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

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

12 ottobre 2000 18

A,V B,V C,V

E,RF,R

G,R D,G

00

H,R

0

0

0

0

01

11

1

11

1

1

0

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.

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

12 ottobre 2000 19

S0,V S1,V S2,V

S4,RS5,R

S6,R S3,G

00

0

0

0

-

01

11

1

1

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)

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

12 ottobre 2000 20

CPU

istruzione

operando

risultatoistruzione operando

risultato

tIl risultatodipende anche dalleistruzioni e dai datiprecedenti

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

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

12 ottobre 2000 21

Fase di fetch Fase di execute

Anche i processori si comportanocome specificato dal loro dds

CPUo

Processore

BUS

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.

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

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

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

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

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

12 ottobre 2000 24

Un esempio di sistema digitale con memoria chenon 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)

u(t) = P(i(t-)) 0

• 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 sequenzacon 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

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

12 ottobre 2000 25

u(t) = P(t, i(t-)) 0

CPU

istruzione

operando risultato

istruzione operando

risultato

t

Dipende anche dalle istruzioni e dai datiprecedenti

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

• La storia passata è rappresentata dal tempo trascorso, dalla sequenza con cui sonovariati 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

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

12 ottobre 2000 26

Macchine digitali ereti 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

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

12 ottobre 2000 27

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

•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 logicaX[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)

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

12 ottobre 2000 28

u(t) = P(t, i(t-)) 0

u(tn ) = P (i ,i(t0),i(t1), …., i(tn-1), i(tn))

stato interno: il riassunto della “storia passata”

u(tn ) = F(s(tn),i(tn))s(tn+1) = G(s(tn),i(tn))

F

G

Ritardo T

i(tn)u(tn)

s(tn+1)

s(tn)

s(t0) = i

Il modello delle M.S.S. la discretizzazione del tempo e le funzioni F,G

t0 t1 t2 t3 tn tn+1

T0 T1 T2 T3 Tn-1 Tn Tn+1

Ti : intervalli di durata T ti : istanti

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

12 ottobre 2000 29

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(t0) = 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

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

12 ottobre 2000 30

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 sS, iI, uU e le funzioni F e G

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

12 ottobre 2000 31

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 internoe da una MEMORIA che mantiene il “vecchio stato” sfino a quando non è necessariosostituirlo 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

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

12 ottobre 2000 32

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

Macchine sequenziali eautomi a stati finiti

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

12 ottobre 2000 33

Descrizione del comportamentocon tabella di flusso

........

…. ….

........

........

........

....

....

....

....

….

….

….

….

…. ….

….

i1 i2 in…. ….alfabeto

d’ingressos1

s2

sk

....

....

insiemedegli stati ii

sjstato

presente

stato futuro, uscita

ingresso

sp,uq

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

12 ottobre 2000 34

Descrizione con grafo degli stati

S j

S 1

S p

S 2S k

i1, um

ii, uq

in, un

Per ogni stato e per ogni valore di ingresso lecito si devono individuarestato futuro e valore dell’uscita

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

12 ottobre 2000 35

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

i1, u1

i2, u2

i2, u2

i1, u1

i2, u2

i2, u3

i2, u3

i2, u1

i2, u2

i2, u3

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

12 ottobre 2000 36

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: lampadina U : {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.

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

12 ottobre 2000 37

La macchina sequenziale asincrona

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)

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)

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.

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

12 ottobre 2000 38

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

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

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

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

12 ottobre 2000 40

La macchina sequenziale sincrona

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

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, Tck, sul ramo di retroazione della funzione GQuesto ritardo, solitamente chiamato “periodo di clock”, diventa l’unità di misura del tempo della macchina

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

12 ottobre 2000 41

Analisi e sintesi di reti logiche sequenziali

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

12 ottobre 2000 42

xi(t), zj(t) B0,1zj(t) = Fj (t, x1(t) , x2(t), …, xn(t)) per j=1,..,m

Modello formale di ogni rete che riceve e fornisce segnali binari

x1(t)x2(t)

x3(t)

xn(t)

z1(t)z2(t)

zm(t)

Rete logica

1: Schema logico (struttura)

2: Espressioni (comportamento)

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

12 ottobre 2000 43

IL CASO GENERALEdi rete logica sequenziale

Retelogica

combinatoria

uscita uz1

z2

zm

u = F(i,s)

Yk

Y2

Y1

stato futuro S = G(i,s)

yk

y2

y1

stato presente s

ingresso ix1

x2

xn

ritardo

ritardo

ritardo

s(t+t) = S(t)

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

12 ottobre 2000 44

u(tn ) = P (i ,i(t0),i(t1), …., i(tn-1), i(tn))

stato interno: il riassunto della “storia passata”

u(tn ) = F(s(tn),i(tn))s(tn+1) = G(s(tn),i(tn))

F

G

Ritardo T

i(tn)u(tn)

s(tn+1)

s(tn)

s(t0) = i

Dalla macchina sequenziale sincronaalla rete sequenziale sincrona (1/2)

la discretizzazione del tempo e le funzioni F,G e il ritardo sulla retroazione

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 rimanestabile per tutto il periodo Ti fino a ti+1

Stato futuro

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

12 ottobre 2000 45

Dalla macchina sequenziale sincronaalla rete sequenziale sincrona (2/2):

Una realizzazione della rete sequenziale sincrona

Retecombinatoria

i

Q D

k

Q D

j

x1

xn

y1

yk

z1

zm

Y1

Yk

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

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

12 ottobre 2000 46

Il flip-flop come elemento di ritardo

Q n+1 = D n

equazionecaratteristicadel FF “D”

(n-1) . T0 n . T0 (n+1) .T0

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

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

12 ottobre 2000 47

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 Di

Frontedi salita

del clock

t

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

12 ottobre 2000 48

I problemi di sintesi e di analisiper 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

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

12 ottobre 2000 49

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)

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

12 ottobre 2000 50

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

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

12 ottobre 2000 51

Riepilogo sulla classificazione

delle macchine digitali

e sul loro comportamento nel tempo

Forme d’onda di riferimento

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

12 ottobre 2000 52

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. L’aggiornamento dello stato avviene nell’istante 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 un = F(sn,in) s*n=G(sn,in) aggiorn. alla fine ° sn+1= s*n

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

12 ottobre 2000 53

La macchina combinatoria

ingresso i j k

uscita F(i) F(j) F(k)

p : intervallo di tempo impiegato per il calcolo di F

tn

ritardo p

tn+1

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

12 ottobre 2000 54

La macchina asincrona

stato presente s

ingresso j i

s*

= F(i,s*)

= G(i,s*)

p : intervallo di tempo impiegato per il calcolo di F e di G

tn tn+1

ritardo p

stato futuro s = G(j,s) s* = G(i,s)

uscita F(j,s) F(i,s)

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

12 ottobre 2000 55

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}

rilasciato premuto , spenta , spenta , accesa , accesa , accesa , accesa , spenta , spenta

Questa macchina ha un comportamento di “tipo 1”

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

12 ottobre 2000 56

La macchina sincrona

T0 : intervallo di tempo in cui la macchina non modifica il suo stato

tn tn+1= tn + T0

ingresso i n-1 i n i n+1

stato presente s n-1 s n s n+1

ritardo p

stato futuro G(in,sn)

uscita F(in,sn)

p : intervallo di tempo impiegato dal calcolo di F e di G

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

12 ottobre 2000 57

Una macchina sincrona di tipo 2:la lavapiatti

Riposo

stop

Detersivo& getti

t2

Scarico acqua

t3

Immis. acqua

t4Getti t5

Scarico acqua

t6

t7

Controllo

start/stop

Immis.acqua

start

Timer

duratafase

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

temposcaduto

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

12 ottobre 2000 58

Fase di fetch Fase di execute

Una macchina sincrona di tipo 3:il processore

CPUo

Processore

BUS

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.

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

12 ottobre 2000 59

1.3 La proprietà didecomposizione

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

12 ottobre 2000 60

Decomposizione

M

i u

M1

M2

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.

F

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

12 ottobre 2000 61

dato risultato

richiesta notifica

Il Controllo ed il Percorso dei dati

controllo

comandi stato

percorso dei dati

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

12 ottobre 2000 62

Elaborazione

dato risultato

richiesta notifica

OutputInput

protocollodi

uscita

operandioperazioni

risultati

protocollodi

ingresso

il Percorso dei dati: Elaborazione e I/O

controllo

controllocontrollo

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

12 ottobre 2000 63

Elaborazione

dato risultato

richiesta notifica

OutputInput

protocollodi

uscita

operandioperazioni

risultati

protocollodi

ingresso

il Controllo: Programma ed Interprete

controllo

controllocontrollo interprete

memoriaistruzioni

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

12 ottobre 2000 64

Regole “elementari” di decomposizione

u=M2(M1(i))

Deve operare prima il blocco a sinistra, poi quello a destra.

I due blocchi operanocontemporaneamente.

u1=M1(i)u2 =M2(i)

{

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

M2

i

u2

u1

c) in retroazione

b) in parallelo

a) in serie

M1 M2i u

M1i u

s M2