Autronica LEZIONE N° 16 AUTRONICA Memorie Definizioni Memoria RAM Organizzazione Temporizzazione Cella base Tipi di indirizzamento Reti sequenziali sincronizzate complesse Macchina di Mealy ritardata Registro di stato Registro operativo Parte operativa Parte di controllo ALU Registri interni Architetture della parte di controllo Architetture di un processore AUTRONICA
Richiami Reti sequenziali, concetto di memoria, anelli di reazione Esempio, Flip-Flop R-S Tecniche di descrizione Grafo orientato Diagramma di flusso Altri Flip –Flop Flip – Flop D trasparente Flip – Flop D edge-triggered AUTRONICA
Definizioni MEMORIE Memoria = elemento in grado di conservare un’informazione Memorie Volatili = in grado di conservare l’informazione solo se alimentate Memorie Non Volatili = non perdono l’informazione anche se non alimentate AUTRONICA
Definizioni MEMORIE NON VOLATILI ROM = Read Only Memory Programmata in fabbrica PROM = Programmable Read Only Memory Programmabile una sola volta dall’utente [OTP] EPROM =Erasable Programmable ROM Prog. elettricamente, Cancellazione UV E2PROM = Electrical Erasable PROM Programmazione e cancellazione elettrica AUTRONICA
Definizioni MEMORIE VOLATILI RAM = Random Access Memory Memoria nella quale e possibile Scrivere WRITE (W) Leggere READ (R) RAM Statica = se alimentata, conserva l’informazione per un tempo infinito RAM Dinamica = anche se alimenta, dopo un certo tempo perde l’informazione AUTRONICA
Organizzazione di una RAM Memoria RAM di “H” parole di “N” bit H è una potenza del 2 N solitamente può valere 1, 4, 8 Osservazione 210 = 1,024 1K (Kilo) 220 = 1,048,576 1M (Mega) 230 = 1,073,741,824 1G (Giga) AUTRONICA
Descrizione ai terminali Memoria RAM 64K x 4 64K x 4 A0 D0 D3 A15 CS R/W AUTRONICA
Legenda A0 : A15 = indirizzi (ADDRESS) D0 : D3 = dati (DATE) CS = Attivatore (Chip Select) [attivo basso] R/W = scrittura / lettura (Read/Write) [1 = legge, 0 = scrive] AUTRONICA
Temporizzazzione Ciclo di lettura Ciclo di scrittura A0:A15 CS R/W D0:D3 A0:A15 CS R/W D0:D3 AUTRONICA
Cella di Memoria RAM STATICA Word select Q R S Write Din Dout AUTRONICA
Parola (Word) Din-3 Dout-3 Din-2 Dout-2 Din-1 Dout-1 Din-0 Dout-0 W s Q Din-3 Dout-3 R S Q Din-2 Dout-2 R S Q Din-1 Dout-1 R S Q Din-0 Dout-0 W s Write AUTRONICA
Organizzazione Ws-0 Write Ws-1 Write Din-3 Dout-3 Din-2 Dout-2 Din-1 Q Q Q Q R S R S R S R S Write Ws-1 Q Q Q Q R S R S R S R S Write Din-3 Dout-3 Din-2 Dout-2 Din-1 Dout-1 Din-0 Dout-0 AUTRONICA
Tecniche di accesso La singola word ha N ingressi = Data In N uscite =Data Out 1 selettore di parola All’esterno sono necessari N Data I/O (bidirezionale) Chip Select (CS) Selezione Read/ Write (R/W) K indirizzi AUTRONICA
Osservazione Gli indirizzi sono codificati in binario È necessario un decodificatire K – 2K D E C . K 2K AUTRONICA
Schema completo D E C M M M M 16 M M M M M M M M A0:A16 AUTRONICA 1 D E C M M M M 16 1 M M M M A0:A16 M M M M 216-1 W R D3 D2 D1 D0 AUTRONICA
Osservazioni Architettura non quadrata Complessità del Decoder N = 2N occorrono 2N AND a N ingressi Esempio: Memoria da 1Mbit (220) Complessità del Decoder 21 milioni di Transistori !! Si ricorre a memorie a singolo bit e a struttura a matrice AUTRONICA
Organizzazione a Matrice Celle di memoria organizzate a quadrato 1 X RAM 2N/2 1 2N/2 N/2 Y N/2 AUTRONICA
Osservazioni Sono presenti due decodificatori Decodificatore di riga decodificatore di colonna A ciascun decodificatore arriva N/2 indirizzi Complessità totale dei Decoder 2 decodificatori N/2 – 2N/2 occorrono 2x2N/2 AND a N/2 ingressi [per memoria da 1 Mbit (220) occorrono 2 x 210 x 11 =22528 transistori ] AUTRONICA
Reti Sequenziali Complesse Vantaggi delle soluzioni euristiche Esempio Moltiplicatore di interi positivi 16 x 16 Rete combinatoria con 32 ingressi e 32 uscite Tutte le possibili combinazioni degli ingressi sono necessarie Risultato della sintesi automatica una memoria ROM con 32 bit di indirizzo e parole di 32 bit Complessità globale 4 G parole da da 32 bit ( 16 G BYTE !!!!!) AUTRONICA
Macchina di MEALY Le variabili d’uscita, in un determinato istante, sono funzione del valore degli ingressi e delle variabili di stato R X1 a1 z1 z1 Xn an zm s1 R’ s’1 zm an+1 zm+1 sk s’k an+k zm+k La rete R’ è una rete combinatoria AUTRONICA
Macchina di Mealy sincronizzata Le uscite sono funzioni delle variabili di stato e degli ingressi z1 z1 X1 a1 Xn zm zm an sp1 R’ sn1 an+1 zm+1 R sPk snk an+k zm+k Ck AUTRONICA
Macchina di MOORE Le variabili d’uscita, in un determinato istante, sono funzione del sole variabili di stato R s’1 z1 X1 a1 z1 CN2 Xn CN1 an zm zW s1 an+1 zm+1 s’k sk zk an+k Ck AUTRONICA
Macchina di Mealy Ritardata Le uscite sono funzioni delle variabili di stato e degli ingressi, ma risultano sincronizzate z1 z1 X1 a1 Xn zm zm an sp1 R’ sn1 an+1 zm+1 R sPk snk an+k zm+k Ck AUTRONICA
Interpretazione diversa Il registro può essere visto come più registri che svolgono funzioni diverse DR0 R C IN OUT DRn X SR Ck AUTRONICA
Osservazioni 1 Registro SR (Status Register) Contiene le variabili di stato Registro DR0 (Data Register) Contiene parte delle variabili d’uscita (Dati) ….. Registro RDn (Data Register) NOTE La suddivisione in vari “registri dati” è funzionale al progetto Non tutti gli RD servono per le variabili d’uscita AUTRONICA
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 AUTRONICA
Scomposizione della “RC” DR0 Parte Operativa IN OUT DRn X C B SR Parte di Controllo Ck AUTRONICA
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 AUTRONICA
Ulteriore suddivisione La parte operativa può essere ulteriormente suddivisa in due parti RC Operativa IN RC Condizionamento Parte Operativa C B AUTRONICA 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) AUTRONICA
Requisiti della Parte OperativaRichiami Funzioni che deve eseguire fra 2 parole di k bit Somma Differenza Negazione And Or Shift …… Possibilità di essere “PROGRAMMATA” Eventuale memorizzazione del risultato AUTRONICA
Parte Operativa A L U AUTRONICA Shift A Shift B R0 R1 R31 MUX A MUX A MUX B Reg. A Reg. B A L U Reg. U AUTRONICA
Architettura di Rete sequenziale complessa X DR RC 2 B RC Op Z RC 1 RC Con SR C Parte di Controllo Parte Operativa AUTRONICA
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 AUTRONICA
Parte di controllo Microaddress-based B R O M S R C AUTRONICA microcodice S R eff microindirizzo T microindirizzo F microindirizzo C AUTRONICA
Parte di controllo Microinstruction-based R O M S R B C AUTRONICA microcodice eff microindirizzo T microindirizzo F microindirizzo C AUTRONICA
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 AUTRONICA
Architettura Tot. R O M B C Parte di controllo Parte operativa 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 AUTRONICA
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 AUTRONICA
Architettura modificata 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 AUTRONICA
Osservazioni 1 Inconvenienti La nuova architettura consente di personalizzare il sistema per varie applicazioni Inconvenienti La memoria di personalizzazione, la ROM, presenta una lunghezza di parola eccessiva Microcodice (> di 100 bit) Microindirizzi T (> di 10 bit) Microindirizzi F (> di 10 bit) Condizionamento eff (8 bit) AUTRONICA
Osservazione 2 Tecniche di realizzazione di una rete logica Logica cablata Viene progettata una particolare architettura (ottimizzata) per la risoluzione dello specifico problema Si usano blocchi base standard, le interconnessioni (cablaggio) realizzano la particolare architettura Logica a controllo di programma Viene progettata una architettura che è in grado di svolgere varie funzioni La personalizzazione è ottenuta mediante la particolare sequenza di operazioni svolte dalla macchina Programma AUTRONICA
Osservazione 3 Si mappano nella ROM di microprogramma tutte le funzioni possibili della parte operativa Si codificano in modo compatto le varie funzioni in una ROM di mappatura Il programma di personalizzazione dell’applicazione, scritto in un linguaggi opportuno (ASSEMBLER), risiede in una memoria esterna Sono necessari alcuni altri registri e una opportuna rete di controllo (SEQUENZIALIZZATORE) AUTRONICA
Architettura a controllo di programma D In M i c r o C d R O M i c r o C d R e g Parte operativa P R O G A M I n s t R e g M a p R O M I SHIFT SHIFT MUX A MUX B R0 R1 R31 REG. A REG. A A L U P r o g C u n Sequenzer (control logic) A C R e g REG. U Parte di controllo D Out AUTRONICA
Osservazioni Sequenzializzatore Program Counter Status Register Gestisce sia il microprogramma, sia il programma Program Counter Contiene l’indirizzo successivo della locazione di memoria di programma Status Register Contiene informazioni sulle funzioni eseguite dalla parte operativa Inconveniente Elevato numero di terminali (PED) AUTRONICA
Architettura a controllo di programma D In M i c r o C d R O M i c r o C d R e g Parte operativa P R O G A M I n s t R e g M a p R O M I SHIFT SHIFT MUX A MUX B R0 R1 R31 REG. A REG. A A L U P r o g C u n Sequenzer (control logic) A C R e g REG. U Parte di controllo D Out AUTRONICA
Osservazioni Sequenzializzatore Program Counter Status Register Gestisce sia il microprogramma, sia il programma Program Counter Contiene l’indirizzo successivo della locazione di memoria di programma Status Register Contiene informazioni sulle funzioni eseguite dalla parte operativa Inconveniente Elevato numero di terminali (PED) AUTRONICA
BUS Utilizzando porte TRE STATE bidirezionali si può utilizzare lo stesso Filo per collegare, in istanti diversi, vari componenti BUS Percorso informatico condiviso fra più unità AUTRONICA
Architettura von Neumann B U S Unità Aritmetica Dati Memoria Stato Istruzioni Unità di Controllo Indirizzi Istruzioni AUTRONICA
Descrizione Unita Aritmetica: ALU Unita di Controllo: Memoria Blocco che “esegue” le operazioni richieste Unita di Controllo: MSF (+ eventuali registri) Memoria Unica per Dati e Programma (RAM) AUTRONICA
Osservazioni Macchina di ridotta complessità ========================================= Criterio di valutazione di una architettura Individuazione dei blocchi “congestionati” Limiti Unica memoria Unico BUS (Collo di Bottiglia) AUTRONICA
Architettura Harvard Dati Unità Memoria Aritmetica Dati Indirizzi Stato Istruzioni Unità di Controllo Istruzioni Memoria Istruzioni Indirizzi AUTRONICA
Descrizione Memoria Dati Memoria Istruzioni Accesso diretto alla ALU Realizzazione: RAM Memoria Istruzioni Il contenuto rimane invariato Realizzazione con memoria non volatile: ROM AUTRONICA
Osservazioni Non presenta particolari “Colli di bottiglia” Può essere migliorata per aumentarne la conccorrenzialità Architettura alla quale si ispirano gli attuali microprocessori e DSP AUTRONICA
Architettura di un Microprocessore Data Bus MUX 1 MUX 2 ROM di Mappatura Sequenzializzatore Microprogramma A L U Memoria ROM Microprogramma DEMUX Address Control AUTRONICA
Descrizione (1) ROM di Mappatura Sequenzializzatore Converte il codice macchina in codice interno Sequenzializzatore Rete di controllo effettiva Memoria di Microprogramma Converte il codice interno nei codici di controllo dei vari blocchi AUTRONICA
Descrizione (2) ALU MUX 1 e MUX 2 DEMUX Unità Logica Aritmetica Multiplex di scelta su gli ingressi della ALU DEMUX Gestisce l’indirizzamento del risultato AUTRONICA
Osservazioni Funzionamento totalmente in sequenza Interpretazione Esecuzione Assenza di registri interni Contatore di programma, Registro di stato Accumulatori Generazione degli indirizzi mediante ALU Collo di bottiglia DATA BUS AUTRONICA
PIPE-LINE Alcune operazioni possono essere fatte in parallelo Necessità di disporre di REGISTRI intermedi Mentre la ALU esegue le operazioni richieste, il Sistema di controllo può decodificare l’istruzione successiva Aggiungere una ALU per il calcolo degli indirizzi AUTRONICA
Architettura di un Microprocessore (2) Data Bus Istruc. Reg. MUX + Register R E G ROM 1 A L U Sequenzializzatore DEMUX +Reg. Microprog. ROM MUX + Register Mcropog. Reg. A L U DEMUX +Reg. Address Control AUTRONICA
Osservazioni Possibilità di sovrapposizione fra fase di interpretazione ed esecuzione dell’istruzione Possibilità di memorizzazione di risultati intermedi Salvataggio dei registri di controllo Possibili ulteriori modifiche in funzione delle esigenze AUTRONICA
Architettura di un calcolatore DATA BUS ADDRESS BUS CONTROL BUS I / O DATA (RAM) PROG (ROM) CPU AUTRONICA
Tipi di architetture in funzione delle istruzioni RISC => Reduced Instructions Set Computer ridotto numero di istruzioni si effettuano in un numero ridotto di cicli CISC => Complex Instructions Set Computer Istruzioni di elevata capacità si effettuano in un numero grande di cicli AUTRONICA
Conclusioni Parte di controllo programmabile Bus Mapping ROM Instruction Register Sequenzializzatore di microprogramma Sequenzializzatore di programma Bus Architettura Von Neuman Architettura Harvard Architettura di un CALCOLATORE AUTRONICA