A.S.E.26.1 ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 26 Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse EsempioEsempio ALUALU Parte di controlloParte di controllo –Microaddress-based –Microinstruction-based
A.S.E.26.2 Richiami 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.26.3 Macchina di Mealy Ritardata Le uscite sono funzioni delle variabili di stato e degli ingressi, ma risultano sincronizzateLe uscite sono funzioni delle variabili di stato e degli ingressi, ma risultano sincronizzate Riduce il numero delle variabili di statoRiduce il numero delle variabili di stato R R’ X1X1 XnXn z1z1 sp1sp1 s Pk s n1 s nk a1a1 anan a n+1 a n+ k z1z1 zmzm z m+1 z m+k zmzm Ck
A.S.E.26.4 Interpretazione diversa Il registro può essere visto come più registri che svolgono funzioni diverseIl registro può essere visto come più registri che svolgono funzioni diverse RCRC IN OUT SR DR n DR 0 Ck X
A.S.E.26.5 Osservazione 2 La suddivisione dei registri è funzionale al fatto di ridurre considerevolmente gli stati interni della macchina (solo SR da luogo a variabili di stato)La suddivisione dei registri è funzionale al fatto di ridurre considerevolmente gli stati interni della macchina (solo SR da luogo a variabili di stato) Anche la rete combinatoria può essere interpretata come più reti combinatorieAnche la rete combinatoria può essere interpretata come più reti combinatorie
A.S.E.26.6 Scomposizione della “RC” Parte Operativa IN OUT SR DR n DR 0 Ck X Parte di Controllo CB
A.S.E.26.7 Osservazioni La parte operativa esegue determinate operazioni sulle variabili d’ingresso, in funzione delle variabili d’uscita e delle informazioni fornite dalla parte di controllo (B) microistruzioniLa parte operativa esegue determinate operazioni sulle variabili d’ingresso, in funzione delle variabili d’uscita e delle informazioni fornite dalla parte di controllo (B) microistruzioni Genera le variabili di condizionamento (C) e le nuove uscitaGenera le variabili di condizionamento (C) e le nuove uscita La parte di controllo determina i vari passi da eseguire, in funzione delle variabili di stato e delle variabili di controlloLa parte di controllo determina i vari passi da eseguire, in funzione delle variabili di stato e delle variabili di controllo
A.S.E.26.8 Ulteriore suddivisione La parte operativa può essere ulteriormente suddivisa in due partiLa parte operativa può essere ulteriormente suddivisa in due parti RC Operativa IN Ck RC Condizionamento Parte Operativa BC
A.S.E.26.9 Osservazioni La suddivisione vista è dettata da:La suddivisione vista è dettata da: –Le reti sequenziali complesse sono difficili ad essere gestite –Le funzioni della parte operativa solitamente sono. OPERAZIONI ARITMETICHEOPERAZIONI ARITMETICHE OPERAZIONI LOGICHEOPERAZIONI LOGICHE SHIFTSHIFT MULTIPLEXMULTIPLEX –Una soluzione “guidata” è solitamente più veloce e più efficiente –(i criteri d’ottimizzazione sono scelti dal progettista)
A.S.E Esempio Riconoscitore di due sequenze in cascataRiconoscitore di due sequenze in cascata –Ingressi X 1, X 0X 1, X 0 –Uscite Z 3, Z 2, Z 1, Z 0Z 3, Z 2, Z 1, Z 0 DescrizioneDescrizione –prima riconosce la sequenza 00, 01,10 –dopo riconosce la sequenza 11, 01,10 –Incrementa l’uscita tutte le volte che una sequenza viene riconosciuta (modulo 16)
A.S.E Diagramma di flusso Y Z=1 Y Z=2 Y Y Y Y Y Y Y Y Occorrono 8 blocchi simili al seguente
A.S.E OSSERVAZIONI Le uscite possono essere fornite da un contatore modulo 16Le uscite possono essere fornite da un contatore modulo 16 –condizioni di conteggio –ingressiX 1 = 1, X 0 = 0 –Parte di controllo verifica che le precedenti due configurazioni formano la sequenza voluta (B) La parte di condizionamento deve riconoscere i primi due termini delle sequenzeLa parte di condizionamento deve riconoscere i primi due termini delle sequenze –C 0 = 1 se X 1,X 0 = 00 e Z 0 = 0 e se X 1,X 0 = 11 e Z 0 = 1 –C 1 = 1 se X 1,X 0 = 01
A.S.E Rete combinatoria operativa MUXMUX MUXMUX 1 X1 X0 0 0 Ck B Z W
A.S.E Rete Combinatoria di condizionamento Tabella di veritàTabella di verità X1X0Z0C0C
A.S.E Rete Combinatoria di condizionamento X1 X0 Z0 C0C1
A.S.E Parte di controllo Diagramma di Flusso Variabili d’ingresso C 1 C 0, variabili di stato S 1 S 0Variabili d’ingresso C 1 C 0, variabili di stato S 1 S 0 Y X B 10 Y Y Y Y a00 b01 c10
A.S.E Parte di controllo Tabella delle transizioni C1C0S1S0S1S0B C1C0S1S0S1S0B
A.S.E Minimizzazione S N0 C1C0C1C0C1C0C1C0 S1S0S1S0S1S0S1S S N1 C1C0C1C0C1C0C1C0 S1S0S1S0S1S0S1S B S N0 S N1
A.S.E Parte di Controllo OsservazioniOsservazioni –La variabile B coincide con S N1 –La rete può essere sintetizzata in modo classico come una macchina di MOORE RC 1 RC 2 SR C0 C1B
A.S.E Riconoscitore di Sequenze RC Op RC Con RC 2 RC 1 DR Z X SR Parte di Controllo Parte Operativa B C
A.S.E Temporizzazione Ck X1 X0 W C1 C0 S0 S1 Z1 Z0 B
A.S.E Requisiti della Parte Operativa Funzioni che deve eseguire fra 2 parole di k bitFunzioni che deve eseguire fra 2 parole di k bit –Somma –Differenza –Negazione –And –Or –Shift –…… Possibilità di essere “PROGRAMMATA”Possibilità di essere “PROGRAMMATA” Eventuale memorizzazione del risultatoEventuale memorizzazione del risultato
A.S.E Multiplex 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 AB X0 X1 X2 X3 U
A.S.E Soluzione 1 A B X3 X1 X2 X0 U
A.S.E Soluzione 2 Decoded 2 to 4 X0 B A U X1 X2 X3
A.S.E Interpretazione diversa 1 Ingressi A e B controllo X 0, X 1, X 2, X 3Ingressi A e B controllo X 0, X 1, X 2, X 3 Decoded 2 to 4 0 B A U ABU X0 X1 X2 X3
A.S.E Interpretazione diversa 2 A e B ingressi, X0 – X3 variabili di controlloA e B ingressi, X0 – X3 variabili di controllo –Primi 8 casi
A.S.E Interpretazione diversa 3 A e B ingressi, X0 – X3 variabili di controlloA e B ingressi, X0 – X3 variabili di controllo –Secondi 8 casi
A.S.E.26.29
A.S.E Blocco programmabile XX A B X1X2X3 U X0 X1X2X3X0 A B
A.S.E Carry Look - Ahead Adder - Definite le funzioni GenerateG i = A i B iGenerateG i = A i B i Propagate P i = A i B iPropagate P i = A i B i - Risulta - Risulta Somma S i = P i C iSomma S i = P i C i CarryC i+1 =G i +P i C iCarryC i+1 =G i +P i C i
A.S.E Sommatore a 3 bit C A R Y G E N. P G S P G S P G S G0G0 P0P0 P0P0 C0C0 C0C0 G1G1 P1P1 P1P1 C1C1 G2G2 P2P2 P2P2 C2C2 A0A0 B0B0 A1A1 B1B1 A2A2 B2B2 P = 6 G = 8 S = 6 S2S2 S1S1 S0S0
A.S.E Osservazioni 1 Struttura modulare PROGRAMMABILEStruttura modulare PROGRAMMABILE Bit di programmazione:Bit di programmazione: C 0 PG S C 0 PG S Alcuni esempiAlcuni esempi CoPGSFunzione 0686A+B 1946A-B 1926B-A 080A A and B 0E0A A or B
A.S.E Osservazioni 2 L’unità realizzata esegue sia funzioni logiche che aritmeticheL’unità realizzata esegue sia funzioni logiche che aritmetiche ALU (Arithmetic Logic Unit) ProgrammabileALU (Arithmetic Logic Unit) 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 sia gli ingressi che l’uscitaSi possono aggiungere dei MUX per instradare sia gli ingressi che l’uscita Si possono aggiungere dei registri per memorizzare i risultatiSi possono aggiungere dei registri per memorizzare i risultati Si può aggiungere uno shift register per moltiplicare o dividere per 2Si può aggiungere uno shift register per moltiplicare o dividere per 2
A.S.E Parte Operativa Reg. B A L U Reg. A Reg. U MUX AMUX BMUX A Shift AShift B R0 R1 R31
A.S.E Architettura di Rete sequenziale complessa RC Op RC Con RC 2 RC 1 DR Z X SR Parte di Controllo Parte Operativa B C
A.S.E Osservazioni La parte operativa ha una soluzione generaleLa parte operativa ha una soluzione generale –Rete combinatoria operativa (ALU) –Rete combinatoria di condizionamento (Carry etc.) Soluzione non ottimizzata per la particolare esigenzaSoluzione non ottimizzata per la particolare esigenza La parte di controllo è ottimizzataLa parte di controllo è ottimizzata Si può trovare soluzioni più generali non ottimizzateSi può trovare soluzioni più generali non ottimizzate Una rete combinatoria si può sempre realizzare con una ROMUna rete combinatoria si può sempre realizzare con una ROM
A.S.E Parte di controllo Microaddress-basedMicroaddress-based ROMROM S R B C microindirizzo microcodice eff microindirizzo T microindirizzo F
A.S.E Parte di controllo Microinstruction-basedMicroinstruction-based ROMROM S R B C microindirizzo microcodice eff microindirizzo T microindirizzo F
A.S.E Osservazioni Microaddress-basedMicroaddress-based –il registro di stato è piccolo –la ROM è in serie alla parte operativa Microinstruction-basedMicroinstruction-based –il registro di stato è grande –fra ROM e parte operativa c’è il registro di stato Consente la presenza di un solo blocco di decisione fra due stati contiguiConsente la presenza di un solo blocco di decisione fra due stati contigui
A.S.E Osservazione sui microsalti SiNO SiNO
A.S.E Architettura Tot. ROMROM S R B C Reg. B A L U Reg. A Reg. U MUX AMUX BMUX A Shift AShift B R0 R1 R31 Parte di controllo Parte operativa
A.S.E Osservazioni L’architettura della parte di controllo Microinstruction-based evita di avere due reti combinatorie in cascataL’architettura della parte di controllo Microinstruction-based evita di avere due reti combinatorie in cascata La parte operativa è general purposeLa parte operativa è general purpose La parte di controllo ha una architettura generale, ma è progettata per la particolare applicazioneLa parte di controllo ha una architettura generale, ma è progettata per la particolare applicazione L’elemento che personalizza l’applicazione è la ROML’elemento che personalizza l’applicazione è la ROM
A.S.E Conclusioni Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse ALUALU Parte di controlloParte di controllo –Microaddress-based –Microinstruction-based