ARCHITETTURA DEI SISTEMI ELETTRONICI LEZIONE N° 25 Reti sequenziali sincronizzate complesse ALU Parte di controllo Microaddress-based Microinstruction-based A.S.E.
Richiami Macchina di Mealy ritardata Registro di stato Registro operativo Parte operativa Parte di controllo A.S.E.
Macchina di Mealy Ritardata Le uscite sono funzioni delle variabili di stato e degli ingressi, ma risultano sincronizzate Riduce il numero delle variabili di stato R R’ X1 Xn z1 sp1 sPk sn1 snk a1 an an+1 an+k zm zm+1 zm+k Ck A.S.E.
Interpretazione diversa Il registro può essere visto come più registri che svolgono funzioni diverse DR0 R C IN OUT DRn X SR Ck A.S.E.
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) Anche la rete combinatoria può essere interpretata come più reti combinatorie A.S.E.
Scomposizione della “RC” DR0 Parte Operativa IN OUT DRn X C B SR Parte di Controllo Ck A.S.E.
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) microistruzioni Genera 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 controllo A.S.E.
Ulteriore suddivisione La parte operativa può essere ulteriormente suddivisa in due parti RC Operativa IN RC Condizionamento Parte Operativa C B A.S.E. Ck
Osservazioni La suddivisione vista è dettata da: Le reti sequenziali complesse sono difficili ad essere gestite Le funzioni della parte operativa solitamente sono. OPERAZIONI ARITMETICHE OPERAZIONI LOGICHE SHIFT MULTIPLEX Una soluzione “guidata” è solitamente più veloce e più efficiente (i criteri d’ottimizzazione sono scelti dal progettista) A.S.E.
Parte di Controllo Osservazioni La variabile B coincide con SN1 La rete può essere sintetizzata in modo classico come una macchina di MOORE SR C0 RC 1 RC 2 C1 B A.S.E.
Riconoscitore di Sequenze X DR RC 2 B RC Op Z RC 1 RC Con SR C Parte di Controllo Parte Operativa A.S.E.
Requisiti della Parte Operativa Funzioni che deve eseguire fra 2 parole di k bit Somma Differenza Negazione And Or Shift …… Possibilità di essere “PROGRAMMATA” Eventuale memorizzazione del risultato A.S.E.
Multiplex 4 a 1 4 ingressi X0, X1, X2, X3 2 segnali di controllo A, B A.S.E.
Soluzione 1 X0 X1 1 U X2 2 X3 3 A B 1 2 3 A.S.E.
Soluzione 2 X0 X1 U X2 X3 A Decoded 2 to 4 B A.S.E.
Interpretazione diversa 1 Ingressi A e B controllo X0, X1, X2, X3 A B U 1 X0 X1 1 U X2 1 X3 00 01 10 11 A Decoded 2 to 4 B A.S.E.
Interpretazione diversa 2 A 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 controllo Secondi 8 casi A.S.E.
A.S.E.
Blocco programmabile X3 X2 X1 X0 XX U B B A A X3 X2 X1 X0 A.S.E.
Carry Look - Ahead Adder - Definite le funzioni Generate Gi = Ai Bi Propagate Pi = Ai Å Bi - Risulta Somma Si = Pi Å Ci Carry Ci+1=Gi+Pi• Ci A.S.E.
Sommatore a 3 bit P G S C A R Y G E N. P G S P G S A.S.E. S2 B2 A2 S1
Osservazioni 1 Struttura modulare PROGRAMMABILE Bit di programmazione: C0 P G S Alcuni esempi Co P G S Funzione 6 8 A+B 1 9 4 A-B 2 B-A A A and B E A or B A.S.E.
Osservazioni 2 L’unità realizzata esegue sia funzioni logiche che aritmetiche ALU (Arithmetic Logic Unit) Programmabile Bit di programmazione 13 Non tutte le combinazioni hanno significato Si possono aggiungere dei MUX per instradare sia gli ingressi che l’uscita Si possono aggiungere dei registri per memorizzare i risultati Si può aggiungere uno shift register per moltiplicare o dividere per 2 A.S.E.
Parte Operativa A L U A.S.E. Shift A Shift B R0 R1 R31 MUX A MUX A MUX B Reg. A Reg. B A L U Reg. U A.S.E.
Architettura di Rete sequenziale complessa X DR RC 2 B RC Op Z RC 1 RC Con SR C Parte di Controllo Parte Operativa A.S.E.
Osservazioni La parte operativa ha una soluzione generale Rete combinatoria operativa (ALU) Rete combinatoria di condizionamento (Carry etc.) Soluzione non ottimizzata per la particolare esigenza La parte di controllo è ottimizzata Si può trovare soluzioni più generali non ottimizzate Una rete combinatoria si può sempre realizzare con una ROM A.S.E.
Parte di controllo Microaddress-based B R O M S R C A.S.E. microcodice eff microindirizzo T microindirizzo F microindirizzo C A.S.E.
Parte di controllo Microinstruction-based R O M S R B C A.S.E. microcodice eff microindirizzo T microindirizzo F microindirizzo C A.S.E.
Osservazioni Microaddress-based Microinstruction-based il registro di stato è piccolo la ROM è in serie alla parte operativa Microinstruction-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 contigui A.S.E.
Osservazione sui microsalti Si NO A.S.E.
Architettura Tot. R O M B C Parte di controllo Parte operativa A.S.E. S R B Shift A Shift B MUX A MUX A MUX B R0 R1 R31 Reg. A Reg. B A L U Reg. U C Parte di controllo Parte operativa A.S.E.
Osservazioni L’architettura della parte di controllo Microinstruction-based evita di avere due reti combinatorie in cascata La parte operativa è general purpose La parte di controllo ha una architettura generale, ma è progettata per la particolare applicazione L’elemento che personalizza l’applicazione è la ROM A.S.E.
Conclusioni Reti sequenziali sincronizzate complesse ALU Parte di controllo Microaddress-based Microinstruction-based A.S.E.