a.s.e.24.1 architettura dei sistemi elettronici lezione n° 24 reti sequenziali sincronizzate...
TRANSCRIPT
A.S.E.A.S.E. 24.24.11
ARCHITETTURA DEI SISTEMI ARCHITETTURA DEI SISTEMI ELETTRONICIELETTRONICI
LEZIONE N° 24LEZIONE N° 24
• Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse– Macchina di Mealy ritardataMacchina di Mealy ritardata– Registro di statoRegistro di stato– Registro operativoRegistro operativo– Parte operativaParte operativa– Parte di controlloParte di controllo
• EsempioEsempio
A.S.E.A.S.E. 24.24.22
RichiamiRichiami
• Reti combinatorieReti combinatorie– Tecnica di sintesi (minimizzazione) strutturataTecnica di sintesi (minimizzazione) strutturata– Sintesi euristicaSintesi euristica
• SommatoreSommatore• SottrattoreSottrattore• …………....
• Reti sequenzialiReti sequenziali– Variabili di statoVariabili di stato– Tecnica di sintesi (minimizzazione degli stati) Tecnica di sintesi (minimizzazione degli stati)
strutturata strutturata – Sintesi euristicaSintesi euristica
• ContatoriContatori• Shift registerShift register• …………....
A.S.E.A.S.E. 24.24.33
Vantaggi delle soluzioni Vantaggi delle soluzioni euristicheeuristiche
• Esempio Esempio – Moltiplicatore di interi positivi 16 x 16Moltiplicatore di interi positivi 16 x 16
– Rete combinatoria con 32 ingressi e 32 usciteRete combinatoria con 32 ingressi e 32 uscite• Tutte le possibili combinazioni degli ingressi sono Tutte le possibili combinazioni degli ingressi sono
necessarienecessarie
– Risultato della sintesi automaticaRisultato della sintesi automatica• una memoria ROM con 32 bit di indirizzo e parole di una memoria ROM con 32 bit di indirizzo e parole di
32 bit32 bit• Complessità globale Complessità globale • 4 G parole da da 32 bit ( 16 GBYTE !!!!!)4 G parole da da 32 bit ( 16 GBYTE !!!!!)
A.S.E.A.S.E. 24.24.44
Macchina di Mealy sincronizzataMacchina di Mealy sincronizzata
• Le uscite sono funzioni delle variabili di Le uscite sono funzioni delle variabili di stato e degli ingressistato e degli ingressi
R
R’
X1
Xn
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Ck
La rete R’ è una rete combinatoria
A.S.E.A.S.E. 24.24.55
Macchina di MOOREMacchina di MOORE• Le variabili d’uscita, in un determinato istante, Le variabili d’uscita, in un determinato istante,
sono funzione del sole variabili di statosono funzione del sole variabili di statoR
CN1
X1
Xn
z1
zWs1
sks’k
s’1a1
an
an+1
an+k
z1
zm
zm+1
zk
CN2
Ck
A.S.E.A.S.E. 24.24.66
Macchina di Mealy RitardataMacchina di Mealy Ritardata
• Le uscite sono funzioni delle variabili di Le uscite sono funzioni delle variabili di stato e degli ingressi, ma risultano stato e degli ingressi, ma risultano sincronizzatesincronizzate
R
R’
X1
Xn
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Ck
A.S.E.A.S.E. 24.24.77
OsservazioniOsservazioni
• La macchina di Mealy ritardata ha le La macchina di Mealy ritardata ha le uscite sincronizzate come quella di uscite sincronizzate come quella di MooreMoore
• La macchina di Mealy ritardata presenta La macchina di Mealy ritardata presenta meno stati interni di quella di Mooremeno stati interni di quella di Moore
• Nelle reti sequenziali complesse ha Nelle reti sequenziali complesse ha particolare importanza ridurre il numero particolare importanza ridurre il numero delle variabili di statodelle variabili di stato
• Quindi la macchina di Mealy ritardata è Quindi la macchina di Mealy ritardata è da preferirsi a quella di Mooreda preferirsi a quella di Moore
A.S.E.A.S.E. 24.24.88
Interpretazione diversaInterpretazione diversa
• Il registro può essere visto come più Il registro può essere visto come più registri che svolgono funzioni diverseregistri che svolgono funzioni diverse
RC
IN OUT
SR
DRn
DR0
Ck
X
A.S.E.A.S.E. 24.24.99
Osservazioni 1Osservazioni 1
• Registro SRRegistro SR ((Status Register) Status Register) – Contiene le variabili di stato Contiene le variabili di stato
• Registro DRRegistro DR00 (Data Register)(Data Register)– Contiene parte delle variabili d’uscita (Dati)Contiene parte delle variabili d’uscita (Dati)
• ……....
• Registro RDRegistro RDnn (Data Register)(Data Register)– Contiene parte delle variabili d’uscita (Dati)Contiene parte delle variabili d’uscita (Dati)
• NOTENOTE• La suddivisione in vari “registri dati” è funzionale al La suddivisione in vari “registri dati” è funzionale al
progettoprogetto• Non tutti gli RD servono per le variabili d’uscitaNon tutti gli RD servono per le variabili d’uscita
A.S.E.A.S.E. 24.24.1010
Osservazione 2Osservazione 2
• La suddivisione dei registri è funzionale La suddivisione dei registri è funzionale al fatto di ridurre considerevolmente gli al fatto di ridurre considerevolmente gli stati interni della macchina (solo SR da stati interni della macchina (solo SR da luogo a variabili di stato)luogo a variabili di stato)
• Anche la rete combinatoria può essere Anche la rete combinatoria può essere interpretata come più reti combinatorie interpretata come più reti combinatorie
A.S.E.A.S.E. 24.24.1111
Scomposizione della “RC”Scomposizione della “RC”
ParteOperativa
INOUT
SR
DRn
DR0
Ck
X
Parte diControllo
C B
A.S.E.A.S.E. 24.24.1212
OsservazioniOsservazioni
• La parte operativa esegue determinate La parte operativa esegue determinate operazioni sulle variabili d’ingresso, in operazioni sulle variabili d’ingresso, in funzione delle variabili d’uscita e delle funzione delle variabili d’uscita e delle informazioni fornite dalla parte di informazioni fornite dalla parte di controllo (B) controllo (B) microistruzionimicroistruzioni
• Genera le variabili di condizionamento Genera le variabili di condizionamento (C) e le nuove uscita(C) e le nuove uscita
• La parte di controllo determina i vari La parte di controllo determina i vari passi da eseguire, in funzione delle passi da eseguire, in funzione delle variabili di stato e delle variabili di variabili di stato e delle variabili di controllocontrollo
A.S.E.A.S.E. 24.24.1313
Ulteriore suddivisioneUlteriore suddivisione
• La parte operativa può essere La parte operativa può essere ulteriormente suddivisa in due parti ulteriormente suddivisa in due parti
RCOperativa
IN
Ck
RCCondizionamento
Parte Operativa
BC
A.S.E.A.S.E. 24.24.1414
OsservazioniOsservazioni
• La suddivisione vista è dettata da:La suddivisione vista è dettata da:– Le reti sequenziali complesse sono difficili ad Le reti sequenziali complesse sono difficili ad
essere gestiteessere gestite– Le funzioni della parte operativa solitamente Le funzioni della parte operativa solitamente
sono.sono.• OPERAZIONI ARITMETICHEOPERAZIONI ARITMETICHE• OPERAZIONI LOGICHEOPERAZIONI LOGICHE• SHIFTSHIFT• MULTIPLEXMULTIPLEX
– Una soluzione “guidata” è solitamente più Una soluzione “guidata” è solitamente più veloce e più efficienteveloce e più efficiente
– (i criteri d’ottimizzazione sono scelti dal (i criteri d’ottimizzazione sono scelti dal progettista)progettista)
A.S.E.A.S.E. 24.24.1515
EsempioEsempio
– XX11 = 1, = 1, XX00 = 0 = 0
• Riconoscitore di due sequenze in cascataRiconoscitore di due sequenze in cascata– IngressiIngressi
• XX11, X, X00
– UsciteUscite• ZZ33, Z, Z22, Z, Z11, Z, Z00
• DescrizioneDescrizione– prima riconosce la sequenza 00, 01,10prima riconosce la sequenza 00, 01,10– dopo riconosce la sequenza 11, 01,10dopo riconosce la sequenza 11, 01,10– Incrementa l’uscita tutte le volte che una Incrementa l’uscita tutte le volte che una
sequenza viene riconosciuta (modulo 16)sequenza viene riconosciuta (modulo 16)
A.S.E.A.S.E. 24.24.1616
Diagramma di flusso Diagramma di flusso
YY
0000
0000
0101
0000
1010
Z=1
YY
1111
Z=1Z=1
1111
Z=1Z=1
0101
1111
Z=1Z=1
1010
Z=2YY
YY YY
YY
YY
YY
YY
YY
Occorrono 8 blocchi simili al seguenteOccorrono 8 blocchi simili al seguente
{00-01-10}_ {11-01-10}
A.S.E.A.S.E. 24.24.1717
OsservazioniOsservazioni
• In totale si hanno 6 x 8 = 48 stati interniIn totale si hanno 6 x 8 = 48 stati interni• Occorrono 6 variabili di stato Occorrono 6 variabili di stato
• 2266 = 64, potenza del 2 immediatamente superiore a = 64, potenza del 2 immediatamente superiore a 4848
• Rete combinatoria a 6 + 2 = 8 ingressi e Rete combinatoria a 6 + 2 = 8 ingressi e 4 uscite4 uscite
• Non è possibile ottimizzarla manualmenteNon è possibile ottimizzarla manualmente
• __________________________________________________________________________________• Considerando la macchina come Considerando la macchina come
macchina sequenziale complessa si ha macchina sequenziale complessa si ha
A.S.E.A.S.E. 24.24.1818
Macchina sequenziale complessaMacchina sequenziale complessaParte operativaParte operativa
• La parte operativa può essere un La parte operativa può essere un contatore modulo 16 che si incrementa contatore modulo 16 che si incrementa quandoquando– La parte di controllo ha verificato che sono La parte di controllo ha verificato che sono
passati due termini della sequenza giusta passati due termini della sequenza giusta
– EE gli ingressi assumono il valore X gli ingressi assumono il valore X11 = 1, = 1, XX00 = 0= 0
A.S.E.A.S.E. 24.24.1919
Schema della parte operativaSchema della parte operativa
• Incrementa se (XIncrementa se (X11 = 1 e X = 1 e X00 = 0) e se il = 0) e se il segnale “B”, della parte di controllo vale segnale “B”, della parte di controllo vale 11
ContatoreMod 16
X0
X1
B
Ck
E
Ck
Z3
Z2
Z1
Z1
{00-01-10}_ {11-01-10}
A.S.E.A.S.E. 24.24.2020
Parte operativaParte operativaSoluzione alternativa Soluzione alternativa
Soluzione che evidenzia la rete Soluzione che evidenzia la rete combinatoria combinatoria
MUX
MUX
1
X1
X0
0
0
Ck
B
44 44
4 Z
W
A.S.E.A.S.E. 24.24.2121
Parte di controlloParte di controllo• Il diagramma ASM delle parte di Il diagramma ASM delle parte di
controllo divienecontrollo diviene
YY
0000
0000
0101
0000
1010
B=1
YY
1111
1111
0101
1111
1010
B=1YY
YY YY
YY
YY
YY
YY
YY
A.S.E.A.S.E. 24.24.2222
OSSERVAZIONIOSSERVAZIONI
• Sono ora necessari 6 stati interni Sono ora necessari 6 stati interni – 3 variabili di stato + 2 ingessi3 variabili di stato + 2 ingessi
• Rete combinatoria sempre troppo grossaRete combinatoria sempre troppo grossa
• Si può provare ad eseguire un Si può provare ad eseguire un precondizinamento degli ingressiprecondizinamento degli ingressi
A.S.E.A.S.E. 24.24.2323
Considerazioni sulla sequenzaConsiderazioni sulla sequenza
• Si definiscono due variabili di Si definiscono due variabili di condizionamentocondizionamento– CC00 e C e C11
– La sequenza che inizia con 00 deve essere La sequenza che inizia con 00 deve essere riconosciuta quando l’uscita è pari riconosciuta quando l’uscita è pari Z Z00 = 0 = 0
– La sequenza che inizia con 11 deve essere La sequenza che inizia con 11 deve essere riconosciuta quando l’uscita è dispari riconosciuta quando l’uscita è dispari Z Z00 = 1 = 1
• Si poneSi pone– CC00 = 1 se X = 1 se X11,X,X00 = 00 e Z = 00 e Z00 = 0 e se X = 0 e se X11,X,X00 = 11 e Z = 11 e Z00
= 1 = 1
– CC11 = 1 se X = 1 se X11,X,X00 = 01 = 01 {00-01-10} _ {11-01-10}
A.S.E.A.S.E. 24.24.2424
Rete Combinatoria di Rete Combinatoria di condizionamentocondizionamento
• Tabella di veritàTabella di verità
X1X1 X0X0 Z0Z0 C0C0 C1C1
00 00 00 11 00
00 00 11 00 00
00 11 00 00 11
00 11 11 00 11
11 00 00 00 00
11 00 11 00 00
11 11 00 00 00
11 11 11 11 00
A.S.E.A.S.E. 24.24.2525
Rete Combinatoria di Rete Combinatoria di condizionamentocondizionamento
X1
X0
Z0
C0 C1
A.S.E.A.S.E. 24.24.2626
Parte di controlloParte di controllo
• Ricordando che la parte di condizionamento fornisceRicordando che la parte di condizionamento fornisce– CC00 = 1 se X = 1 se X11,X,X00 = 00 e Z = 00 e Z00 = 0 e se X = 0 e se X11,X,X00 = 11 e Z = 11 e Z00 = 1 = 1
– CC11 = 1 se X = 1 se X11,X,X00 = 01 = 01
• Gli ingressi della parte di controllo sono CGli ingressi della parte di controllo sono C00 e e CC11
• Le sequenze iniziano quando è CLe sequenze iniziano quando è C00 = 1 = 1
• Il secondo passo della sequenza si ha per CIl secondo passo della sequenza si ha per C11 = = 1 1 – Il caso CIl caso C00 ee C C11 = 1 non si può mai verificare = 1 non si può mai verificare
• Ora si attiva la parte operativa B = 1Ora si attiva la parte operativa B = 1
A.S.E.A.S.E. 24.24.2727
Diagramma di Flusso dellaDiagramma di Flusso dellaParte di controlloParte di controllo
• Variabili d’ingresso CVariabili d’ingresso C11CC00, variabili di stato S, variabili di stato S11SS00
YY
X0X0
0101
0101
BB
0000YY
YY
YY
aa 0000
bb 0101
cc 1010
{00-01-10} _ {11-01-10}
X1X1 X0X0 Z0Z0 C1C1 C0C0
00 00 00 00 11
00 00 11 00 00
00 11 00 11 00
00 11 11 11 00
11 00 00 00 00
11 00 11 00 00
11 11 00 00 00
11 11 11 00 11
A.S.E.A.S.E. 24.24.2828
Tabella delle transizioniTabella delle transizioni
S1S1 S0S0 C1C1 C0C0 S1S1 S0S0 BB00 00 00 00 00 00 0000 00 00 11 00 11 0000 00 11 00 00 00 0000 00 11 11 ---- ---- ----00 11 00 00 00 00 0000 11 00 11 00 11 0000 11 11 00 11 00 1100 11 11 11 ---- ---- ----11 00 00 00 00 00 0011 00 00 11 00 11 0011 00 11 00 00 00 0011 00 11 11 ---- ---- ----11 11 00 00 ---- ---- ----11 11 00 11 ---- ---- ----11 11 11 00 ---- ---- ----11 11 11 11 ---- ---- ----
YY
X0X0
0101
0101
BB
0000YY
YY
YY
aa 0000
bb 0101
cc 1010
A.S.E.A.S.E. 24.24.2929
MinimizzazioneMinimizzazione
• 0000 0101 1111 1010
0000 11 ----
0101 11 ----
1111 ---- ---- ---- ----
1010 11 ----
SSN0N0 CC11CC00
SS11SS00
0000 0101 1111 1010
0000 ----
0101 ---- 11
1111 ---- ---- ---- ----
1010 ----
SSN1N1 CC11CC00
SS11SS00
00 11
00
11 11 ----
BBSSN0N0
SSN1N1
S1S1 S0S0 C1C1 C0C0 S1S1 S0S0 BB
00 00 00 00 00 00 0000 00 00 11 00 11 0000 00 11 00 00 00 0000 00 11 11 ---- ---- ----00 11 00 00 00 00 0000 11 00 11 00 11 0000 11 11 00 11 00 1100 11 11 11 ---- ---- ----11 00 00 00 00 00 0011 00 00 11 00 11 0011 00 11 00 00 00 0011 00 11 11 ---- ---- ----11 11 00 00 ---- ---- ----11 11 00 11 ---- ---- ----11 11 11 00 ---- ---- ----11 11 11 11 ---- ---- ----
A.S.E.A.S.E. 24.24.3030
Parte di ControlloParte di Controllo
• OsservazioniOsservazioni– La variabile B coincide con SLa variabile B coincide con SN1N1
– La rete può essere sintetizzata in modo La rete può essere sintetizzata in modo classico come una macchina di MOOREclassico come una macchina di MOORE
RC 1
RC 2SRC0
C1 B
A.S.E.A.S.E. 24.24.3131
Riconoscitore di SequenzeRiconoscitore di Sequenze
RCOp
RCCon
RC2
RC1
DR
Z
X
SR
Parte di Controllo Parte Operativa
B
C
A.S.E.A.S.E. 24.24.3232
TemporizzazioneTemporizzazione
00
10
01
11
10
01
00
01
Ck
X1
X0
W
C1
C0
S0
S1
Z1
Z0
B
A.S.E.A.S.E. 24.24.3333
ConclusioniConclusioni
• Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse– Macchina di Mealy ritardataMacchina di Mealy ritardata– Registro di statoRegistro di stato– Registro operativoRegistro operativo– Parte operativaParte operativa– Parte di controlloParte di controllo
• EsempioEsempio