calcolatori elettronici parte iii - webalice.it sequenziali1.pdf · calcolatori elettronici parte...

Post on 15-Feb-2019

231 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

τ

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

top related