Upload
vuongkhuong
View
231
Download
0
Embed Size (px)
Citation preview
Calcolatori ElettroniciParte III
Macchine Sequenziali: definizioni fondamentaliMacchine Asincrone e SincroneEsempi: Flip Flop Esempi: Flip FlopMacchina a stati ridottiProgettazione Macchine sincrone Registri
.. Dalle MC alle MSConcetto di Stato
Q= insieme degli StatiI= insieme degli ingressiU= insieme delle Uscite
QxI
Dτ
τ
q’=τ(q,i)
Q
.. Dalle MC alle MS (2)M={Q,I,U,τ,ω}=macchina sequenziale
Dτ=Dω=QxI = Macchine Completamente specificate
QxIω
u=ω(q,i)
U
Dω Modello di MealyUscita f(stato, ing)
… Mealy and Moore
Mealy: u=ω(q,i)Moore: u=ω’(q), q∈Q’⊆Q
Modelli equivalentiMEALY: la sequenza di uscita è contemporanea alla sequenza di ingressoMOORE: l’uscita varia quando la macchina assume lo stato successivo
EsempioTabella di Huffman
q1q3
q2
?
I2/u1I1/-
I1/u1I1/u2
I2/u1
Q2/u2Q1/u1Q3
-/-Q1/-Q2
Q1/u1-/u2Q1
I2I1
τ ωDiagrammi stati
Modello a Blocchi (1)Interpretazione del modello fondamentale
{ }[ ][ ])(),()(
)(),()(,......,, Spazio dei tempi
Modello a Blocchi (2)
Una macchina macchina sequenzialesequenzialepuò essere realizzata con una macchina combinatoriaed un elemento di ritardo
M Cω,τ
∆
i(tk) u(tk)
q’(tk)q(tk)
Osservazione[ ]
[ ][ ]
),(),(
))(),....(),((....)(,)(),()(),()(
01
0
0011
kk
kk
kkkk
kkk
JqqJqu
tititqtititqtitqtu
δλ
λτωω
==
====
+
−−
…. Se la sequenza Jk è applicabile allo stato iniziale , ovvero se è definita una uscita finale
Macchine AsincroneDef. Uno stato q si dice stabile per l’ingresso i se τ(q,i)=qDef. Una macchina si dice asincrona se, ∀i, ∀qi1, la sequenzaτ(qi1, i)= qi2
τ(qi2, i)= qi3
…..τ(qin, i)= qin
termina in uno stato stabile
Macchina AsincronaUna Macchina con sequenza di ingressi a livelli Funziona solo se è asincrona
QjQj
QjQ”j
Q”iQi’
Q’iQiQi
I2I1 •Una transizione Orizzontale•K transizioni verticaliCICLO LUNGO KCICLO LUNGO K(k>1)
gli stati instabiliConducono la macchinaVerso uno stato stabile
tempificazione
M Cω,τ
∆s
i(tk) u(tk)
q’(tk)q(tk)
Εc
∆s= ∆c+ ∆l∆c=ritardo combinatorio puro∆l=ritardo sulle linee di reaz.Ec=ritardo inerziale della MC
d > k(d > k(∆∆ss ++EEcc))
Macchine SincroneUna macchina è sincrona se non è asincrona.
… in altre parole, in una macchina asincrona è la variazione di un segnale preente ad uno degli ingressi che può determinare l’evoluzine della macchina imponendo un cambiamento di stato …… in una macchina sincrona, le variazioni degli ingressi dati vengono campionate dal segnale presente sull’ingresso di sincronismo, e solo quando tale segnale assume un particolare valore, la macchina può evolvere ….
Esempio: Flip Flop RS fondamentale
S0-S1S1S1
S0-S1S0S010110100
RSS
FFRS
R
SF
F’
S0 S101
10
00,10
00,01
-111
-1010110100
RSFp
0=+=
RSRFpSF
Analisi del FFRS
''
XRXXSX
↓=
↓=
00000011
0000010101
1000011100
1000001010
10110100X’XRS
00
tempificazione
D > 2 R, K = 2… ma che succede se cio’ non si verifica? …
00000011
0000010101
1000011100
1000001010
10110100X’XRS
00
oscillazione
Sintesi di FF RS fondamentale
S0-S1S1S1
S0-S1S0S010110100RS
S Per evitare un alea multipla, aggiungo uno stato neutro Sn per passare da un set 01 ad un reset 10
S0 Sn S1
?
01
10
01
10
00
00,1000,01
Sintesi di FF RS (2)
-001010
----11
00-010101
10-01-00
10110100X’XRS
10
xSxSx ↓== .'''. xRxRx ↓==
Sn=00S1=01S0=10
…. Ritrovo il circuitoa NOR incrociate
Esempio: Flip Flop T sincrono
S0 S11
10
0
T
11
1010Fp
TFFTF pp +=
TFRFTS
TFFFTFFTFFTF
pp
ppppppp
==
++=++=
e ; posto
)(
RTFTF pp ==+Ricavo l’eq. del FF RS
T.. Toogle, Trigger
Esempio: Flip Flop T asincronoA commutazione sul fronte
Di salitaDi discesa
0
1
1
0
U
1
1
0
0
u
S3S0S3
S3S2S2
S1S2S1
S1S0S0
10Ts
T
1 1
0 0F
S0 S1 S2 S3
CONTATORE MOD 2!!
Alee essenziali
Dati i ed i’:τ(q,i)=q
τ(q,i’)=q’
τ(q’,i)=q’’
τ(q’’,i’)=q’’’
Se q’’’≠q’ si dice che la macchina contiene un alea essenziale.
… intuitivamenteMacchina composta da “sezioni” differenti“Esiste sempre una combinazione di valori dei ritardi delle macchine componenti tale che, se è verificata la rel. prec.,la macchina termina nello stato q’’’ “(Unger)L’alea essenziale è legata alla struttura della tabella degli stati e NON E’ quindi eliminabile tramite adeguato progetto delle RC
Si può rendere sufficientemente elevati i ritardi sulla linea di reazione per evitare alee di regime
∆l>∆c+Ec
Opp ∆l =0
Equivalenza tra statiPer Macchine Completamente Specificate
… due stati q e q’ di M e M’ sono equivalenti se per ogni sequenza di ingresso applicata a tali stati, le uscite finali sono uguali
JJqJqMqMq ∀=⇔≡ ),'(),()'(')( λλ
Equivalenza tra macchineDue macchine M e M’ sono equivalentise per ciascun stato di M esiste almento uno stato di M’ ad esso equivalente e viceversa
≡∈∃∈∀≡∈∃∈∀
⇔≡qqMqMqqqMqMq
MM': ''
':'' '
CompatibilitàMacchine non compl. Specificate
Non ha senso applicare a ciascun stato tutte le possibili sequenze di ingresso!
IncompatibilitàDue stati q e q1 sono incompatibili se esiste almeno una sequenza di ingresso applicabile sia a q che a q1 per la quale le uscite sono differenti
),(),(:~ 11 JqJqJqq λλ ≠∃⇔Due stati sono Compatibili se … NON SONO incopatibili!
Compatibilità (0ss)
1) La compatibilità gode diProprietà riflessivaProprietà simmetrica
NON VALE LA PROPRIETA’ TRANSITIVA
313221 ~,~,~ qqqqqq
2) q1 e q2 sono compatibili se:Sono compatibili per sequenze di lunghezza 1 (se le uscite sono definite)Gli stati seguenti sono compatibili
… proprietà 2) è alla base di algoritmi per individuare la compatibilità tra stati.Si può dimostrare la (2) applicando ricorsivamente la definizione a stati correnti e agli stati seguenti
Q1 Q'1 Q'’1 Q'’’1I1/u1
Q2 Q’2 Q”2 Q’’’2I1/u1
J[1] J[1] J[1]
Stessa uscitaStato prossimoCompatibile …
Inclusione in uno statoUna macchina M’ in q’ include una macchina M in q se qualsiasi sequenza di ingresso applicabile ad M in q lo è anche per M’ in q’ e le uscite finali sono uguali
q(M) a eapplicabil ),'(),()()'('
JJqJqMqMq
∀=⇔⊇ λλ
Inclusione tra macchineUna macchina M’ include una macchina M se per qualsiasi stato q di M ne esiste uno q’ di M’ tale che M’ in q’ include M in q
qqMqMqMM ⊇∈∃∈∀⇔⊇ ':'''… due macchine M ed M’ sono dunque equivalenti se M include M’ ed M’ include M
Macchina a stati ridottiMinimizzare una macchina M significa trovare una M’ con un numero ridotto di stati tale che
M’ ⊇ M (macchine n.c.s) opp M’≡M (c.s.)Def. Un insieme di stati è compatibile se tutti gli stati sono compatibili tra loroUn insieme compatibile è massimo se non è contenuto in nessun altro insieme compatibileEs:
QA=(q1,q2,q4) QB (q1,q2,q4,q5)
… minimizzazioneData una macchina M(Q,I,U,ω,τ), sia Fla famiglia delle classi di compatibilità massima di M,
F(S1,S2,….Sk) Si compat. Max
F è “copertura” di Q, Q=∪i Si
…. Se M è c.s, F è una partizione, ovveroSi ∩ Sj = ∅ ∀i≠j
ovvero
S1S1
S2S2 QQ
S3S3
partizionecopertura
Proprietà di F
definita è se ,),( kkiki uSquiq ∈∀=ω1)
Copertura chiusa ),(, kiki SsiqSq ∈=∈∀ τ2)
Data una macchina M(Q,I,U,ω,τ), la macchina M’(F,I,U,ω’,τ’) è una macchina a stati ridotti che include M
ω’ e τ’ definite con 1) e 2)…. Anche se occorre verificare che il numero di stati sia realmente ridotto ……
Metodo ricorsivoMacchina c.s.
… riflettendo sulle uscite ….
I1 (1,3,5,7)(2,4,6)I2 (1,3,5,6,7)(2,4)… 6 appartiene a 2
insieme diversi …(1,3,5,7)(2,4)(6)
Q5/u2Q5/u1Q7Q2/u2Q1/u2Q6Q3/u2Q4/u1Q5Q3/u1Q2/u2Q4Q5/u2Q1/u1Q3Q7/u1Q4/u2Q2Q7/u2Q2/u1Q1
I2I1
Metodo ricorsivo
Verifica comp. Stati prossimi
(1,3,5,7) (2,1,4,5)NC!NC!(1,5)(3,7) CC(2,4) (3,7) CC(2,4)(6)(1,5)(3,7)(2,4)(6)(1,5)(3,7)so, s1, s2, s3so, s1, s2, s3
Q5/u2Q5/u1Q7Q2/u2Q1/u2Q6Q3/u2Q4/u1Q5Q3/u1Q2/u2Q4Q5/u2Q1/u1Q3Q7/u1Q4/u2Q2Q7/u2Q2/u1Q1
I2I1(1,3,5,7)(2,4)(6)
Metodo ricorsivo
(2,4)(6)(1,5)(3,7)(2,4)(6)(1,5)(3,7)s0, s1, s2, s3
Q5/u2Q5/u1Q7Q2/u2Q1/u2Q6Q3/u2Q4/u1Q5Q3/u1Q2/u2Q4Q5/u2Q1/u1Q3Q7/u1Q4/u2Q2Q7/u2Q2/u1Q1
I2I1s0, s1, s2, s3
s2/u2s2/u1s3s3/u2s0/u1s2s0/u2s2/u2s1s3/u1s0/u2s0
I2I1
Metodo Tabellare (Paul&Unger)
Q5/u2Q5/u1Q7Q2/u2Q1/u2Q6Q3/u2Q4/u1Q5Q3/u1Q2/u2Q4Q5/u2Q1/u1Q3Q7/u1Q4/u2Q2Q7/u2Q2/u1Q1
I2I1
216324742557345513721I2I1
Analizzando le uscite divido in tre classiincompatibili
Metodo Tabellare (2)
216324742557345513721I2I1
654321
X4-53-5
X1-55-5
X2-57-5
7
XXXXX6
X1-45-3
X2-47-3
5
X4-27-3
X4
X2-17-5
3
X2
Metodo Tabellare (3)
216324742557345513721I2I1
654321
X4-53-5
X1-55-5
X2-57-5
7
XXXXX6
X1-45-3
X2-47-3
5
X4-27-3
X4
X2-17-5
3
2-1, 2-5, 1-4,4-5 NCNCX2
X
X
X
X
Metodo Tabellare (4)
654321
X4-53-5
X1-55-5
X2-57-5
7
XXXXX6
X1-45-3
X2-47-3
5
X4-27-3
X4
X2-17-5
3
X2
X
X
X
X
(6),(3,7),(2,4),(1,5)
65
437
2
1
Grafo diGrafo dicompatibilitàcompatibilità
Stati ridotti per M. N.C.S.
Copertura… i punti di n.s. sono utili per individuare gli insiemi di compatibilità
7/u4
-/-
7/-
4/u2
4/-
2/u2
2/-
I2
5/-
5/-
5/u3
5/-
-/-
5/-
-/-
I3
-/-3/-7
6/u43/-6
6/--/-5
-/-1/-4
6/-3/u13
-/-1/-2
6/-1/u11
I4I1
Macchine n.c.s. (stati rid)(1,2,3,4,5,6,7)
i1
Tutti comp.(2,4) e (7) sono inc(2,4) e (7) sono inc., ma la presenza di n.s. ……
i3
ok
i4
ok.i2
(1,2,3,4,5,6), (1,3,5,67)AnalisiUscite
Macchine n.c.s. (stati rid)(2)(1,3,5,6,7)
i1 i2
(1,3,-,3,3) =(1,3)COMP
(2,4,7,-,7)INCOMP
Passo passo …3 NC con 5 e 7
(1,3,6)(1,5,6,7)
i2 AnalisiStato Prossimo
Macchine n.c.s. (stati rid)(3)(1,3,6)(1,5,6,7) (1,2,4,5,6)(1,2,3,4,6)
(1,3,6)⊂ (1,2,3,4,6) si cancella (1,3,6)
(1,5,6,7) (1,2,4,5,6)(1,2,3,4,6)
I2 2 e 7 sono NC 1 NC con (5,7)
(2,7,-,7)
(1,6) (5,6,7) (1,2,3,4,6)(1,2,4,6)(2,4,5,6)AnalisiStato Prossimo(1,6)⊂ (1,2,3,4,6) si cancella (1,6)
(1,2,4,6) ⊂ (1,2,3,4,6) si cancella (1,2,4,6)
Macchine n.c.s. (stati rid)(4)(5,6,7) (1,2,3,4,6)(2,4,5,6)
I2 I2
(7,-,7) (2,4,7,-)
5 NC con 2 e con 4
(5,6,7) (1,2,3,4,6)(2,4,6)(5,6) (5,6) ⊂ (5,6,7) si cancella (5,6)(2,4,6) ⊂ (1,2,3,4,6) si cancella (2,4,6)
… ovvero ….Non essendovi altre incompatibilità, si haS1=(1,2,3,4,6) S2=(5,6,7);
S2/u4
S1/u2
I2
S2/u3
S2/-
I3
S2/u4S1/-S2
S2/u4S1/u1S1
I4I1
S2/u4
S1/u2
I2
S2/u3
S2/-
I3
S1/u4S1/-S2
S1/u4S1/u1S1
I4I1
Con il metodo tabellare
B/-A/-EA/1A/1DC/-E/-CB/0D/0BA/0E/0A10
A/1A/1D
B/-A/-EC/-E/-C
B/0D/0BA/0E/0A10
Potenziale compatibilitàPer le uscite non specificate
Paul&Unger con m.n.c.s.
A/1A/1D
B/-A/-EC/-E/-C
B/0D/0BA/0E/0A10
DCBA
A-BA-EB-C
A-DA-BE
A-EA-C
XXD
E-D√C
E-DB
X
√ = compatibili assegnando opp. L’uscita n.s.
Attenzione: la Attenzione: la compacompatibilitàtibilità NON è transitivaNON è transitiva
Paul&Unger con m.n.c.s.
DCBA
A-BA-EB-C
A-DA-BE
A-EA-C
XXD
E-D√C
E-DB B
A C
E D
ED ED
AEAC
AEBC
AB
AB
Classi di comp. Massima: (ABC) | DE(ACE) |AB, AE, BC(CDE)|AB
Algoritmo euristicoB
A C
1. Si sceglie una classe di comp. Massima2. Si rimuovono dal grafo tutti i nodidi questa classe ed i rel. Archi3. Se ho ancora poligoni chiusi, ritorna ad 1.
E D
ED ED
AEAC
AEBC
AB
AB
2. Rimuovo i nodi1. Scelgo (ABC) | ED DE AB S0=ABC
S1=DE3. Non ho poligoni
osservazioni
5/c-/a63/-1/-52/d6/b43/d-/b3-/-4/-25/c3/a1I2I1 S=(1,2,3,4,5,6)
Si ottieneS1(1,2,6)S2(5,6)S3(2,3)S4(3,4,5)Ma S1∪S4 mi forniscono S.Posso eliminare S2 ed S3?
osservazioniNO:NO:
infatti:I1:
S1(126) (34-)S4S2(56) (1-)⊂S1S3(23) (4-) ⊂S4S4(345) (-61) ⊂S1
I2:S1(126) (5-5) ⊂ S2,S4S2(56) (35)⊂S4S3(23) (-3) ⊂S4,S3S4(345) (323) ⊂S35/c-/a6
3/-1/-52/d6/b43/d-/b3-/-4/-25/c3/a1I2I1
Se elimino S3, per i2 su S4 finisco in uno stato di non Se elimino S3, per i2 su S4 finisco in uno stato di non determinazionedeterminazione
Esercizi da fare a casaDeterm la macchina a stati ridotti della macchinac.s. descritta dalla seguente tabella
0/007/007/007/007
2/11
2/00
6/00
6/00
2/11
6/00
6/01
I2
5/00
5/00
6/11
6/11
5/00
4/11
2/00
I3
6/003/106
6/002/015
3/002/014
3/002/013
6/003/102
5/012/011
7/113/000
I4I1
MetodoRicorsivoE metodoDi P&U
Esercizi da fare a casaDeterm la macchina a stati ridotti della macchinan.c.s. descritta dalla seguente tabella
F/-
E/0
-/-
-/-
B/-
E/1
I2
-/-
F/-
C/0
-/-
E/1
A/-
I3
-/-D/0F
-/-A/-E
-/--/-D
B/1F/0C
F/1-/-B
C/1-/-A
I4I1
MetodoRicorsivoE metodoDi P&U
Macchine Sincrone
1) Macchine AsincroneIngressi a livelli
E per le macchine Sincrone?Posso avere ingressi a livelli per le MS sincr?
q0 q1 Q2I1/u1 I2/u2 Non ho stati stabili
Non è asincronaChe succede se hoI1 ed I2 a livelli?
Macchine Sincrone a livelli (modello teorico)
q0 q1 Q2I1/u1 I2/u2
t0 lo stato è q0t1=to+∆ lo stato varia da q0 a q1 …
In PERFETTO sincronismo con la variazione di I1 I2!Se ciò non accade, o sto ancora in q0 e applico I2, o sto gia in q2 ma applico I1.SU (qo,I2) e (q1,I1) la macchina è non Specificata
PER la macchina Sincrona si ipotizzano seuqenze impulsive di ingressi
… e particolari organi di memoria per lo schema di ritardo
Macchine a ingressiImpulsivi
Sequenza di ingresso del tipoBase, impulso, base …. Nx>Nb≥1
Ipotesi: per ciascun ingresso a livello, gli stati interni sono tutti stabili
STATI STABILI per gli ingressi a livelloSTATI QUALSIASI per gli ingressi impulsiviMACCHINA SINCRONA o MACCHINA ASINCRONA a seconda delle proprietà della parte della tabella relativa agli ingressi impulsivi
Per Macchine Asincrone, la durata dell’impulso deve essere tale da garantirne l’voluzionePer Macchine Sincrone, l’impulso deve avere durata sufficiente a che avvenga la transizione al nuovo stato
Macchina Asincrona ad Ing. Impulsivi
Q2Q3Q0Q3Q3Q3Q3
Q2Q1Q2Q3Q2Q2Q2
Q0Q1Q2Q1Q1Q1Q1
Q0Q3Q0Q1Q0Q0Q0
I’2I’1I2I1I02I01
IimpI0
Macchina Sincrona ad Ing. Impulsivi
Q3
Q2
Q1
Q0
I01
I0
Q3
Q2
Q1
Q0
I02
Q2
Q1
Q0
Q3
I2
Q0
Q3
Q2
Q1
I1
I imp
Q3
Q2
Q1
Q0
FLIP FLOP RS ABILITATO
A=1A=0
10Q0-Q1Q1Q1-Q1Q1Q1
01Q0-Q1Q0Q0-Q0Q0Q0
u1011010010110100
Flip Flop DSe a = 1 e D=0
Memorizza 0
Se a = 1 e D = 1Memorizza 1…. Latch
F
F’
D
a
S0S1S1S1S1
S0S1S0S0S010110100aD
S
01111
01010110100aD
S
Flip Flop D
DaRaDS
=
=Se pongo
aDaFF p +=
01111
01010110100aD
Fp
aFaD
aDFDaFaFaDaaDFaFaD
DaFaDDaFaDF
p
ppppp
pp
+
=+++=+++
=++=+=
)(
)()(
Implicanti già compresi
D con RS fondamentale
D a variazione sul fronte
Il flip flop edge edge triggeredtriggered acquisisce il segnale di posizionamento da D solo all’atto delle variazione 0 1 (fronte di salita) opp 1 0 (fronte di discesa) di D
11↑
00↑
Fp-0
DA
usciteingressi
D edge triggered (flusso)
D
A
00111010111111101111-01000100000100001010
D
-
A=0 A=1
00101100 01
Flip Flop JK
k=KAj=JA
S0S0S1S1S1
S0S1S1S0S010110100kj
S
A=1
Si comporta comeFF RSSi comporta
Come FF T
Flip Flop JK (2)
S0S0S1S1S1
S0S1S1S0S010110100kj
S
00111
011010110100kj
Fp
JAFAFKFJAFAKFF
jFkFF
ppppp
pp
++=++=
+=
)(
Flip Flop JK (2)
)()(
;
AKFJAFFAKFJAF
RFSF
KAFRJAFS
ppppp
p
pp
++=+++=
+=
==
Set, reset pre-caricano uno statoIniziale al flip/flop
Master SlaveS
MS
R
F
F’S
S
R
F
F’R
c
c
Slave porta in uscitaMasteracquisisce
Master Slave
Esempi di Flip Flop
A comm. Del fronte d’ab.
A comm. Del fronte d’ab.
A comm. Delfronte
Edge Triggered
Impulsivo
ImpulsivoImpulsivoImpulsivoAbilitato
fondamentaleSincronofondamentalefondamentale
JKTDRS
Master Slave, Master Slave, LatchLatch, Misti, Misti