a.s.e.25.1 architettura dei sistemi elettronici lezione n° 25 reti sequenziali sincronizzate...
TRANSCRIPT
A.S.E.A.S.E. 25.25.11
ARCHITETTURA DEI SISTEMI ARCHITETTURA DEI SISTEMI ELETTRONICIELETTRONICI
LEZIONE N° 25LEZIONE N° 25
• Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse• ALUALU• Parte di controlloParte di controllo
– Microaddress-basedMicroaddress-based– Microinstruction-basedMicroinstruction-based
A.S.E.A.S.E. 25.25.22
RichiamiRichiami
• Macchina di Mealy ritardataMacchina di Mealy ritardata• Registro di statoRegistro di stato• Registro operativoRegistro operativo• Parte operativaParte operativa• Parte di controlloParte di controllo
A.S.E.A.S.E. 25.25.33
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
• Riduce il numero delle variabili di statoRiduce il numero delle variabili di stato
R
R’
X1
Xn
z1
sp
1sPk
sn1
snk
a1
anan+1
an+
k
z1
zm
zm+1
zm+k
zm
Ck
A.S.E.A.S.E. 25.25.44
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. 25.25.55
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. 25.25.66
Scomposizione della “RC”Scomposizione della “RC”
ParteOperativa
INOUT
SR
DRn
DR0
Ck
X
Parte diControllo
C B
A.S.E.A.S.E. 25.25.77
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. 25.25.88
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. 25.25.99
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. 25.25.1010
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. 25.25.1111
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. 25.25.1212
Requisiti dellaRequisiti dellaParte OperativaParte Operativa
• Funzioni che deve eseguire fra 2 parole di Funzioni che deve eseguire fra 2 parole di k bitk bit– SommaSomma– DifferenzaDifferenza– NegazioneNegazione– AndAnd– OrOr– ShiftShift– …………
• Possibilità di essere “PROGRAMMATA”Possibilità di essere “PROGRAMMATA”• Eventuale memorizzazione del risultatoEventuale memorizzazione del risultato
A.S.E.A.S.E. 25.25.1313
Multiplex 4 a 1Multiplex 4 a 1
• 4 ingressi X0, X1, X2, X34 ingressi X0, X1, X2, X3• 2 segnali di controllo A, B2 segnali di controllo A, B
A B
X0
X1
X2
X3
U
BAX311BAX201BAX110BAX000
UBA
A.S.E.A.S.E. 25.25.1414
Soluzione 1Soluzione 1
AA
BB 11
22
33
00
11
22
33
00
X3X3
X1X1
X2X2
X0X0
UU
A.S.E.A.S.E. 25.25.1515
Soluzione 2Soluzione 2
Decoded 2 to 4
X0
B
A
UX1
X2
X3
A.S.E.A.S.E. 25.25.1616
Interpretazione diversa 1Interpretazione diversa 1
• Ingressi A e B controllo XIngressi A e B controllo X00, X, X11, X, X22, X, X33
Decoded 2 to 4
0
B
A
U1
1
0
00 01 10 11
AA BB UU
00 00 00
00 11 11
11 00 11
11 11 00
X0
X1
X2
X3
BAU
X
0110 ioneProgrammaz
A.S.E.A.S.E. 25.25.1717
Interpretazione diversa 2Interpretazione diversa 2
• A e B ingressi, X0 – X3 variabili di A e B ingressi, X0 – X3 variabili di controllocontrollo– Primi 8 casiPrimi 8 casi
BABABABA11107BABABA01106
BBABA10105BABA00104
ABABA11003BABA01002BABA10001
0000000U'UX0X1X2X3N
BAX311BAX201BAX110BAX000
UBA
A.S.E.A.S.E. 25.25.1818
Interpretazione diversa 3Interpretazione diversa 3
• A e B ingressi, X0 – X3 variabili di A e B ingressi, X0 – X3 variabili di controllocontrollo– Secondi 8 casiSecondi 8 casi
111111FBABABABA0111EBABABABA1011D
ABABA0011CBABABABA1101B
BBABA0101ABABABA10019
BABA00018U'UX0X1X2X3N
A.S.E.A.S.E. 25.25.1919
111111FBABABABA0111EBABABABA1011D
ABABA0011CBABABABA1101B
BBABA0101ABABABA10019
BABA00018BABABABA11107BABABA01106
BBABA10105BABA00104
ABABA11003BABA01002BABA10001
0000000U'UX0X1X2X3N
A.S.E.A.S.E. 25.25.2020
Blocco programmabileBlocco programmabile
XX
A
B
X1X2X3
U
X0
X1X2X3 X0
A
B
A.S.E.A.S.E. 25.25.2121
Carry Look - Ahead AdderCarry Look - Ahead Adder
- Definite le funzioni- Definite le funzioni
• GenerateGenerate GGii = A = Aii B Bi i
• PropagatePropagate PPi i = = AAii B Bii
- Risulta- Risulta
• SommaSomma SSi i = = PPii C Cii
• CarryCarry CCi+1i+1=G=Gii+P+Pii• C• Cii
A.S.E.A.S.E. 25.25.2222
Sommatore a 3 bitSommatore a 3 bit
CARRY
GEN.P G S
P G S
P G S
G0
P0
P0
C0
C0
G1
P1
P1
C1
G2
P2
P2
C2
A0
B0
A1
B1
A2
B2
P = 6
G = 8
S = 6
S2
S1
S0
A.S.E.A.S.E. 25.25.2323
Osservazioni 1Osservazioni 1
• Struttura modulare PROGRAMMABILEStruttura modulare PROGRAMMABILE• Bit di programmazione:Bit di programmazione:
• CC00 PP G G SS
• Alcuni esempiAlcuni esempiCoCo PP GG SS FunzioneFunzione
00 66 88 66 A+BA+B
11 99 44 66 A-BA-B
11 99 22 66 B-AB-A
00 88 00 AA A and BA and B
00 EE 00 AA A or BA or B
A.S.E.A.S.E. 25.25.2424
Osservazioni 2Osservazioni 2
• L’unità realizzata esegue sia funzioni logiche L’unità realizzata esegue sia funzioni logiche che aritmeticheche aritmetiche
• ALU (ALU (Arithmetic Logic UnitArithmetic Logic Unit) Programmabile) Programmabile• Bit di programmazione 13Bit di programmazione 13• Non tutte le combinazioni hanno significatoNon tutte le combinazioni hanno significato• Si possono aggiungere dei MUX per instradare Si possono aggiungere dei MUX per instradare
sia gli ingressi che l’uscitasia gli ingressi che l’uscita• Si possono aggiungere dei registri per Si possono aggiungere dei registri per
memorizzare i risultatimemorizzare i risultati• Si può aggiungere uno shift register per Si può aggiungere uno shift register per
moltiplicare o dividere per 2moltiplicare o dividere per 2
A.S.E.A.S.E. 25.25.2525
Parte OperativaParte Operativa
Reg. B
A L U
Reg. A
Reg. U
MUX A MUX BMUX A
Shift A Shift BR0R1
R31
A.S.E.A.S.E. 25.25.2626
Architettura di Architettura di Rete sequenziale complessaRete sequenziale complessa
RCOp
RCCon
RC2
RC1
DR
Z
X
SR
Parte di Controllo Parte Operativa
B
C
A.S.E.A.S.E. 25.25.2727
OsservazioniOsservazioni
• La parte operativa ha una soluzione La parte operativa ha una soluzione generalegenerale– Rete combinatoria operativa (ALU)Rete combinatoria operativa (ALU)– Rete combinatoria di condizionamento (Carry Rete combinatoria di condizionamento (Carry
etc.)etc.)
• Soluzione non ottimizzata per la Soluzione non ottimizzata per la particolare esigenzaparticolare esigenza
• La parte di controllo è ottimizzataLa parte di controllo è ottimizzata• Si può trovare soluzioni più generali non Si può trovare soluzioni più generali non
ottimizzateottimizzate• Una rete combinatoria si può sempre Una rete combinatoria si può sempre
realizzare con una ROMrealizzare con una ROM
A.S.E.A.S.E. 25.25.2828
Parte di controlloParte di controllo
• Microaddress-basedMicroaddress-based
ROM
S R
B
C
microindirizzo
microcodice
eff
microindirizzo T
microindirizzo F
A.S.E.A.S.E. 25.25.2929
Parte di controlloParte di controllo
• Microinstruction-basedMicroinstruction-based
ROM
S R
B
C
microindirizzo
microcodice
eff
microindirizzo T
microindirizzo F
A.S.E.A.S.E. 25.25.3030
OsservazioniOsservazioni
• Microaddress-basedMicroaddress-based– il registro di stato è piccoloil registro di stato è piccolo– la ROM è in serie alla parte operativala ROM è in serie alla parte operativa
• Microinstruction-basedMicroinstruction-based– il registro di stato è grandeil registro di stato è grande– fra ROM e parte operativa c’è il registro di fra ROM e parte operativa c’è il registro di
statostato
• Consente la presenza di un solo blocco di Consente la presenza di un solo blocco di decisione fra due stati contiguidecisione fra due stati contigui
A.S.E.A.S.E. 25.25.3131
Osservazione sui microsaltiOsservazione sui microsalti
• SiSi NONO
A.S.E.A.S.E. 25.25.3232
Architettura Tot.Architettura Tot.
ROM
S R
B
C
Reg. B
A L U
Reg. A
Reg. U
MUX A MUX BMUX A
Shift A Shift B
R0R1
R31
Parte di controllo Parte operativa
A.S.E.A.S.E. 25.25.3333
OsservazioniOsservazioni
• L’architettura della parte di controllo L’architettura della parte di controllo Microinstruction-based Microinstruction-based evita di avere evita di avere due reti combinatorie in cascatadue reti combinatorie in cascata
• La parte operativa è La parte operativa è general purposegeneral purpose • La parte di controllo ha una architettura La parte di controllo ha una architettura
generale, ma è progettata per la generale, ma è progettata per la particolare applicazioneparticolare applicazione
• L’elemento che personalizza L’elemento che personalizza l’applicazione è la ROMl’applicazione è la ROM
A.S.E.A.S.E. 25.25.3434
ConclusioniConclusioni
• Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse• ALUALU• Parte di controlloParte di controllo
– Microaddress-basedMicroaddress-based– Microinstruction-basedMicroinstruction-based