Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
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
2
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
3
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
4
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
5
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
6
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
7
Descrizione ai terminali
Memoria RAM 64K x 4 64K x 4 A0 D0 D3 A15 CS R/W AUTRONICA
8
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
9
Temporizzazzione Ciclo di lettura Ciclo di scrittura A0:A15 CS R/W
D0:D3 A0:A15 CS R/W D0:D3 AUTRONICA
10
Cella di Memoria RAM STATICA
Word select Q R S Write Din Dout AUTRONICA
11
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
12
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
13
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
14
Osservazione Gli indirizzi sono codificati in binario
È necessario un decodificatire K – 2K D E C . K 2K AUTRONICA
15
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
16
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
17
Organizzazione a Matrice
Celle di memoria organizzate a quadrato 1 X RAM 2N/2 1 2N/2 N/2 Y N/2 AUTRONICA
18
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 = transistori ] AUTRONICA
19
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
20
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
21
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
22
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
23
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
24
Interpretazione diversa
Il registro può essere visto come più registri che svolgono funzioni diverse DR0 R C IN OUT DRn X SR Ck AUTRONICA
25
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
26
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
27
Scomposizione della “RC”
DR0 Parte Operativa IN OUT DRn X C B SR Parte di Controllo Ck AUTRONICA
28
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
29
Ulteriore suddivisione
La parte operativa può essere ulteriormente suddivisa in due parti RC Operativa IN RC Condizionamento Parte Operativa C B AUTRONICA Ck
30
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
31
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
32
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
33
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
34
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
35
Parte di controllo Microaddress-based B R O M S R C AUTRONICA
microcodice S R eff microindirizzo T microindirizzo F microindirizzo C AUTRONICA
36
Parte di controllo Microinstruction-based R O M S R B C AUTRONICA
microcodice eff microindirizzo T microindirizzo F microindirizzo C AUTRONICA
37
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
38
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
39
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
40
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
41
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
42
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
43
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
44
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
45
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
46
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
47
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
48
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
49
Architettura von Neumann
B U S Unità Aritmetica Dati Memoria Stato Istruzioni Unità di Controllo Indirizzi Istruzioni AUTRONICA
50
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
51
Osservazioni Macchina di ridotta complessità
========================================= Criterio di valutazione di una architettura Individuazione dei blocchi “congestionati” Limiti Unica memoria Unico BUS (Collo di Bottiglia) AUTRONICA
52
Architettura Harvard Dati Unità Memoria Aritmetica Dati Indirizzi
Stato Istruzioni Unità di Controllo Istruzioni Memoria Istruzioni Indirizzi AUTRONICA
53
Descrizione Memoria Dati Memoria Istruzioni Accesso diretto alla ALU
Realizzazione: RAM Memoria Istruzioni Il contenuto rimane invariato Realizzazione con memoria non volatile: ROM AUTRONICA
54
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
55
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
56
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
57
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
58
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
59
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
60
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
61
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
62
Architettura di un calcolatore
DATA BUS ADDRESS BUS CONTROL BUS I / O DATA (RAM) PROG (ROM) CPU AUTRONICA
63
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
64
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.