Upload
efisio-antonucci
View
214
Download
1
Embed Size (px)
Citation preview
AUTRONICAAUTRONICA 16.16.11
AutronicaAutronica
LEZIONE N° 16LEZIONE N° 16• MemorieMemorie
– Definizioni Definizioni – Memoria RAMMemoria RAM– OrganizzazioneOrganizzazione– TemporizzazioneTemporizzazione– Cella baseCella base– Tipi di indirizzamentoTipi di indirizzamento
• Reti sequenziali sincronizzate complesseReti sequenziali sincronizzate complesse– Macchina di Mealy ritardataMacchina di Mealy ritardata– Registro di statoRegistro di stato– Registro operativoRegistro operativo– Parte operativaParte operativa– Parte di controlloParte di controllo
• ALUALU• Registri interniRegistri interni• Architetture della parte di controlloArchitetture della parte di controllo• Architetture di un processoreArchitetture di un processore
AUTRONICAAUTRONICA 16.16.22
RichiamiRichiami
• Reti sequenziali, concetto di memoria, Reti sequenziali, concetto di memoria, anelli di reazioneanelli di reazione
• Esempio, Flip-Flop R-SEsempio, Flip-Flop R-S• Tecniche di descrizioneTecniche di descrizione
– Grafo orientatoGrafo orientato– Diagramma di flussoDiagramma di flusso
• Altri Flip –FlopAltri Flip –Flop• Flip – Flop D trasparenteFlip – Flop D trasparente• Flip – Flop D edge-triggeredFlip – Flop D edge-triggered
AUTRONICAAUTRONICA 16.16.33
Definizioni Definizioni MEMORIEMEMORIE
• Memoria = elemento in grado di Memoria = elemento in grado di conservare un’informazioneconservare un’informazione
• Memorie Volatili = in grado di Memorie Volatili = in grado di conservare l’informazione solo se conservare l’informazione solo se alimentatealimentate
• Memorie Non Volatili = non perdono Memorie Non Volatili = non perdono l’informazione anche se non alimentatel’informazione anche se non alimentate
AUTRONICAAUTRONICA 16.16.44
DefinizioniDefinizioniMEMORIE NON VOLATILIMEMORIE NON VOLATILI
• ROM = Read Only MemoryROM = Read Only Memory• Programmata in fabbricaProgrammata in fabbrica
• PROM = Programmable Read Only MemoryPROM = Programmable Read Only Memory• Programmabile Programmabile una sola voltauna sola volta dall’utente dall’utente
[OTP][OTP]
• EPROM =Erasable Programmable ROMEPROM =Erasable Programmable ROM• Prog. elettricamente, Cancellazione UVProg. elettricamente, Cancellazione UV
• EE22PROM = Electrical Erasable PROMPROM = Electrical Erasable PROM• Programmazione e cancellazione elettricaProgrammazione e cancellazione elettrica
AUTRONICAAUTRONICA 16.16.55
DefinizioniDefinizioniMEMORIE VOLATILIMEMORIE VOLATILI
• RAM = Random Access MemoryRAM = Random Access Memory• Memoria nella quale e possibileMemoria nella quale e possibile
– ScrivereScrivere WRITE WRITE (W)(W)– LeggereLeggere READREAD (R)(R)
• RAM Statica = se alimentata, conserva RAM Statica = se alimentata, conserva l’informazione per un tempo infinitol’informazione per un tempo infinito
• RAM Dinamica = anche se alimenta, RAM Dinamica = anche se alimenta, dopo un certo tempo perde dopo un certo tempo perde l’informazionel’informazione
AUTRONICAAUTRONICA 16.16.66
Organizzazione di una RAMOrganizzazione di una RAM
• Memoria RAM di “H” parole di “N” bitMemoria RAM di “H” parole di “N” bit– H è una potenza del 2H è una potenza del 2– N solitamente può valere 1, 4, 8N solitamente può valere 1, 4, 8
• OsservazioneOsservazione• 221010 = = 1,0241,024 1K1K (Kilo)(Kilo)• 222020 = = 1,048,576 1,048,576 1M1M
(Mega)(Mega)• 223030 = = 1,073,741,8241,073,741,824 1G1G
(Giga)(Giga)
AUTRONICAAUTRONICA 16.16.77
Descrizione ai terminaliDescrizione ai terminali
• Memoria RAM 64K x 4Memoria RAM 64K x 4
64K x 464K x 4
A0
A15
D0
D3
CS R/W
AUTRONICAAUTRONICA 16.16.88
LegendaLegenda
• A0 : A15A0 : A15 = indirizzi= indirizzi (ADDRESS)(ADDRESS)
• D0 : D3D0 : D3 = dati= dati (DATE)(DATE)
• CSCS = Attivatore (Chip Select) = Attivatore (Chip Select)
[attivo basso][attivo basso]• R/WR/W = scrittura / lettura (Read/Write)= scrittura / lettura (Read/Write)
[1 = legge, 0 = scrive][1 = legge, 0 = scrive]
AUTRONICAAUTRONICA 16.16.99
TemporizzazzioneTemporizzazzione• Ciclo di letturaCiclo di lettura
• Ciclo di scritturaCiclo di scrittura
A0:A15
CS
R/W
D0:D3
A0:A15
CS
R/W
D0:D3
AUTRONICAAUTRONICA 16.16.1010
Cella di Memoria RAM STATICACella di Memoria RAM STATICA
R S
Q
Write Din
Word select
Dout
AUTRONICAAUTRONICA 16.16.1111
Parola (Word)Parola (Word)
Write
W s
R SQ
Din-3 Dout-3
R SQ
Din-2 Dout-2
R SQ
Din-1 Dout-1
R SQ
Din-0 Dout-0
AUTRONICAAUTRONICA 16.16.1212
OrganizzazioneOrganizzazione
Ws-0
R SQ
R SQ
R SQ
R SQ
Write
Write
R SQ
Din-3 Dout-3
R SQ
Din-2 Dout-2
R SQ
Din-1 Dout-1
R SQ
Din-0 Dout-0
Ws-1
AUTRONICAAUTRONICA 16.16.1313
Tecniche di accessoTecniche di accesso
• La singola word ha La singola word ha •N ingressi = Data InN ingressi = Data In•N uscite =Data Out N uscite =Data Out •1 selettore di parola1 selettore di parola
• All’esterno sono necessariAll’esterno sono necessari•N Data I/O (bidirezionale)N Data I/O (bidirezionale)•Chip Select (CS)Chip Select (CS)•Selezione Read/ Write (R/W)Selezione Read/ Write (R/W)•K indirizziK indirizzi
AUTRONICAAUTRONICA 16.16.1414
OsservazioneOsservazione
• Gli indirizzi sono codificati in binarioGli indirizzi sono codificati in binario• È necessario un decodificatire K – 2È necessario un decodificatire K – 2KK
DEC
K.....
0
2K
AUTRONICAAUTRONICA 16.16.1515
Schema completoSchema completo
M M M M
M M M M
M M M M
DEC
16
0
216-1
A0:A16
1
D3 D2 D1 D0
W
R
AUTRONICAAUTRONICA 16.16.1616
OsservazioniOsservazioni
• Architettura non quadrataArchitettura non quadrata• Complessità del Decoder N = 2Complessità del Decoder N = 2NN
• occorrono 2occorrono 2NN AND a N AND a N ingressiingressi
– Esempio: Memoria da 1Mbit (2Esempio: Memoria da 1Mbit (22020))– Complessità del Decoder 21 milioni di Complessità del Decoder 21 milioni di
Transistori !!Transistori !!
• Si ricorre a memorie a singolo bit e a Si ricorre a memorie a singolo bit e a struttura a matricestruttura a matrice
AUTRONICAAUTRONICA 16.16.1717
RAMRAMRAMRAM
Organizzazione a MatriceOrganizzazione a Matrice
• Celle di memoria organizzate a Celle di memoria organizzate a quadratoquadrato
XXXX
YYYY
11
22N/N/
22
N/2N/211 22N/N/
22
N/2N/2
AUTRONICAAUTRONICA 16.16.1818
OsservazioniOsservazioni
• Sono presenti due decodificatoriSono presenti due decodificatori– Decodificatore di riga Decodificatore di riga – decodificatore di colonnadecodificatore di colonna
• A ciascun decodificatore arriva N/2 A ciascun decodificatore arriva N/2 indirizziindirizzi
• Complessità totale dei Decoder Complessità totale dei Decoder
2 decodificatori N/2 – 22 decodificatori N/2 – 2N/2N/2
occorrono 2x2occorrono 2x2N/2N/2 AND a N/2 AND a N/2 ingressiingressi
[per memoria da 1 Mbit (2[per memoria da 1 Mbit (22020) occorrono ) occorrono
2 x 22 x 21010 x 11 =22528 transistori ] x 11 =22528 transistori ]
AUTRONICAAUTRONICA 16.16.1919
Reti Sequenziali ComplesseReti Sequenziali ComplesseVantaggi delle soluzioni euristicheVantaggi delle soluzioni euristiche
• Esempio Esempio – Moltiplicatore di interi positivi 16 x 16Moltiplicatore di interi positivi 16 x 16
– Rete combinatoria con 32 ingressi e 32 usciteRete combinatoria con 32 ingressi e 32 uscite• Tutte le possibili combinazioni degli ingressi sono Tutte le possibili combinazioni degli ingressi sono
necessarienecessarie
– Risultato della sintesi automaticaRisultato della sintesi automatica• una memoria ROM con 32 bit di indirizzo e parole di una memoria ROM con 32 bit di indirizzo e parole di
32 bit32 bit• Complessità globale Complessità globale • 4 G parole da da 32 bit ( 16 G BYTE !!!!!)4 G parole da da 32 bit ( 16 G BYTE !!!!!)
AUTRONICAAUTRONICA 16.16.2020
Macchina di MEALYMacchina di MEALY• Le variabili d’uscita, in un determinato istante, Le variabili d’uscita, in un determinato istante,
sono funzione del valore degli ingressi e delle sono funzione del valore degli ingressi e delle variabili di statovariabili di stato
R
R’
X1
Xn
z1
zm
s1
sk
s’1
s’k
a1
La rete R’ è una rete combinatoria
an
an+1
an+k
z1
zm
zm+1
zm+k
AUTRONICAAUTRONICA 16.16.2121
Macchina di Mealy sincronizzataMacchina di Mealy sincronizzata
• Le uscite sono funzioni delle variabili di Le uscite sono funzioni delle variabili di stato e degli ingressistato e degli ingressi
R
R’
X1
Xn
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Ck
AUTRONICAAUTRONICA 16.16.2222
Macchina di MOOREMacchina di MOORE• Le variabili d’uscita, in un determinato istante, Le variabili d’uscita, in un determinato istante,
sono funzione del sole variabili di statosono funzione del sole variabili di statoR
CN1
X1
Xn
z1
zWs1
sks’k
s’1a1
an
an+1
an+k
z1
zm
zm+1
zk
CN2
Ck
AUTRONICAAUTRONICA 16.16.2323
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
R
R’
X1
Xn
z1
sp1
sPk
sn1
snk
a1
an
an+1
an+k
z1
zm
zm+1
zm+k
zm
Ck
AUTRONICAAUTRONICA 16.16.2424
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
AUTRONICAAUTRONICA 16.16.2525
Osservazioni 1Osservazioni 1
• Registro SRRegistro SR ((Status Register) Status Register) – Contiene le variabili di stato Contiene le variabili di stato
• Registro DRRegistro DR00 (Data Register)(Data Register)– Contiene parte delle variabili d’uscita (Dati)Contiene parte delle variabili d’uscita (Dati)
• ……....
• Registro RDRegistro RDnn (Data Register)(Data Register)– Contiene parte delle variabili d’uscita (Dati)Contiene parte delle variabili d’uscita (Dati)
• NOTENOTE• La suddivisione in vari “registri dati” è funzionale al La suddivisione in vari “registri dati” è funzionale al
progettoprogetto• Non tutti gli RD servono per le variabili d’uscitaNon tutti gli RD servono per le variabili d’uscita
AUTRONICAAUTRONICA 16.16.2626
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
AUTRONICAAUTRONICA 16.16.2727
Scomposizione della “RC”Scomposizione della “RC”
ParteOperativa
INOUT
SR
DRn
DR0
Ck
X
Parte diControllo
C B
AUTRONICAAUTRONICA 16.16.2828
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
AUTRONICAAUTRONICA 16.16.2929
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
AUTRONICAAUTRONICA 16.16.3030
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)
AUTRONICAAUTRONICA 16.16.3131
Requisiti dellaRequisiti dellaParte OperativaRichiamiParte OperativaRichiami
• Funzioni che deve eseguire fra 2 parole di k Funzioni che deve eseguire fra 2 parole di k bitbit– SommaSomma– DifferenzaDifferenza– NegazioneNegazione– AndAnd– OrOr– ShiftShift– …………
• Possibilità di essere “PROGRAMMATA”Possibilità di essere “PROGRAMMATA”• Eventuale memorizzazione del risultatoEventuale memorizzazione del risultato
AUTRONICAAUTRONICA 16.16.3232
Parte OperativaParte Operativa
Reg. B
A L U
Reg. A
Reg. U
MUX A MUX BMUX A
Shift A Shift BR0R1
R31
AUTRONICAAUTRONICA 16.16.3333
Architettura di Architettura di Rete sequenziale complessaRete sequenziale complessa
RCOp
RCCon
RC2
RC1
DR
Z
X
SR
Parte di Controllo Parte Operativa
B
C
AUTRONICAAUTRONICA 16.16.3434
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
AUTRONICAAUTRONICA 16.16.3535
Parte di controlloParte di controllo
• Microaddress-basedMicroaddress-based
ROM
S R
B
C
microindirizzo
microcodice
eff
microindirizzo T
microindirizzo F
AUTRONICAAUTRONICA 16.16.3636
Parte di controlloParte di controllo
• Microinstruction-basedMicroinstruction-based
ROM
S R
B
C
microindirizzo
microcodice
eff
microindirizzo T
microindirizzo F
AUTRONICAAUTRONICA 16.16.3737
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 Consente la presenza di un solo blocco di decisione fra due stati contiguidi decisione fra due stati contigui
AUTRONICAAUTRONICA 16.16.3838
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
AUTRONICAAUTRONICA 16.16.3939
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
AUTRONICAAUTRONICA 16.16.4040
Architettura modificataArchitettura modificata
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
ROM
AUTRONICAAUTRONICA 16.16.4141
Osservazioni 1Osservazioni 1
– La nuova architettura consente di La nuova architettura consente di personalizzare il sistema per varie personalizzare il sistema per varie applicazioniapplicazioni
• InconvenientiInconvenienti– La memoria di personalizzazione, la ROM, La memoria di personalizzazione, la ROM,
presenta una lunghezza di parola eccessivapresenta una lunghezza di parola eccessiva• Microcodice Microcodice (> di 100 bit)(> di 100 bit)• Microindirizzi T Microindirizzi T (> di 10 bit)(> di 10 bit)• Microindirizzi FMicroindirizzi F (> di 10 bit)(> di 10 bit)• Condizionamento Condizionamento effeff (8 bit)(8 bit)
AUTRONICAAUTRONICA 16.16.4242
Osservazione 2Osservazione 2
• Tecniche di realizzazione di una rete logicaTecniche di realizzazione di una rete logica– Logica cablataLogica cablata
• Viene progettata una particolare architettura Viene progettata una particolare architettura (ottimizzata) per la risoluzione dello specifico problema(ottimizzata) per la risoluzione dello specifico problema
• Si usano blocchi base standard, le interconnessioni Si usano blocchi base standard, le interconnessioni (cablaggio) realizzano la particolare architettura(cablaggio) realizzano la particolare architettura
– Logica a controllo di programma Logica a controllo di programma • Viene progettata una architettura che è in grado di Viene progettata una architettura che è in grado di
svolgere varie funzionisvolgere varie funzioni• La personalizzazione è ottenuta mediante la particolare La personalizzazione è ottenuta mediante la particolare
sequenza di operazioni svolte dalla macchinasequenza di operazioni svolte dalla macchina• ProgrammaProgramma
AUTRONICAAUTRONICA 16.16.4343
Osservazione 3Osservazione 3
• Si mappano nella ROM di Si mappano nella ROM di microprogramma tutte le funzioni microprogramma tutte le funzioni possibili della parte operativapossibili della parte operativa
• Si codificano in modo compatto le varie Si codificano in modo compatto le varie funzioni in una ROM di mappaturafunzioni in una ROM di mappatura
• Il programma di personalizzazione Il programma di personalizzazione dell’applicazione, scritto in un linguaggi dell’applicazione, scritto in un linguaggi opportuno (ASSEMBLER), risiede in una opportuno (ASSEMBLER), risiede in una memoria esterna memoria esterna
• Sono necessari alcuni altri registri e una Sono necessari alcuni altri registri e una opportuna rete di controllo opportuna rete di controllo (SEQUENZIALIZZATORE)(SEQUENZIALIZZATORE)
AUTRONICAAUTRONICA 16.16.4444
Architettura a controllo di Architettura a controllo di programmaprogramma
Micro
Cod
Reg
I
A
R0R1
R31Parte di controllo
Parte operativa
A L U
REG. AREG. A
MUX B
REG. U
MUX A
SHIFTSHIFT
Micro
Cod
ROM
C
Reg
Prog
Coun
Inst
Reg
Map
ROM
Sequenzer(control logic)
D In
D Out
PROGRAM
ROM
AUTRONICAAUTRONICA 16.16.4545
OsservazioniOsservazioni
• Sequenzializzatore Sequenzializzatore – Gestisce sia il microprogramma, sia il Gestisce sia il microprogramma, sia il
programmaprogramma
• Program CounterProgram Counter– Contiene l’indirizzo Contiene l’indirizzo successivosuccessivo della locazione della locazione
di memoria di programmadi memoria di programma
• Status RegisterStatus Register– Contiene informazioni sulle funzioni eseguite Contiene informazioni sulle funzioni eseguite
dalla parte operativadalla parte operativa
• InconvenienteInconveniente– Elevato numero di terminali (PED)Elevato numero di terminali (PED)
AUTRONICAAUTRONICA 16.16.4646
Architettura a controllo di Architettura a controllo di programmaprogramma
Micro
Cod
Reg
I
A
R0R1
R31Parte di controllo
Parte operativa
A L U
REG. AREG. A
MUX B
REG. U
MUX A
SHIFTSHIFT
Micro
Cod
ROM
C
Reg
Prog
Coun
Inst
Reg
Map
ROM
Sequenzer(control logic)
D In
D Out
PROGRAM
ROM
AUTRONICAAUTRONICA 16.16.4747
OsservazioniOsservazioni
• Sequenzializzatore Sequenzializzatore – Gestisce sia il microprogramma, sia il Gestisce sia il microprogramma, sia il
programmaprogramma
• Program CounterProgram Counter– Contiene l’indirizzo Contiene l’indirizzo successivosuccessivo della locazione della locazione
di memoria di programmadi memoria di programma
• Status RegisterStatus Register– Contiene informazioni sulle funzioni eseguite Contiene informazioni sulle funzioni eseguite
dalla parte operativadalla parte operativa
• InconvenienteInconveniente– Elevato numero di terminali (PED)Elevato numero di terminali (PED)
AUTRONICAAUTRONICA 16.16.4848
BUSBUS
• Utilizzando porte TRE STATE Utilizzando porte TRE STATE bidirezionali si può utilizzare lo stesso bidirezionali si può utilizzare lo stesso FiloFilo per collegare, in istanti diversi, vari per collegare, in istanti diversi, vari componenticomponenti
• BUSBUS Percorso informatico condiviso fra Percorso informatico condiviso fra più unitàpiù unità
AUTRONICAAUTRONICA 16.16.4949
Architettura von NeumannArchitettura von Neumann
UnitàUnitàdi Controllodi Controllo
UnitàUnitàdi Controllodi Controllo
UnitàUnitàAritmeticaAritmetica
UnitàUnitàAritmeticaAritmetica MemoriaMemoriaMemoriaMemoria
IstruzioniIstruzioni
BBUUSS
DatiDati
IndirizziIndirizziIstruzioniIstruzioni
StatoStato
AUTRONICAAUTRONICA 16.16.5050
DescrizioneDescrizione
• Unita Aritmetica:Unita Aritmetica:•ALUALU
– Blocco che “esegue” le operazioni Blocco che “esegue” le operazioni richiesterichieste
• Unita di Controllo:Unita di Controllo:• MSF (+ eventuali registri)MSF (+ eventuali registri)
• MemoriaMemoria• Unica per Dati e Programma (RAM)Unica per Dati e Programma (RAM)
AUTRONICAAUTRONICA 16.16.5151
OsservazioniOsservazioni
• Macchina di ridotta complessitàMacchina di ridotta complessità========================================================
==========================• Criterio di valutazione di una Criterio di valutazione di una
architetturaarchitettura• Individuazione dei blocchi “congestionati”Individuazione dei blocchi “congestionati”
==================================================================================
• LimitiLimiti– Unica memoriaUnica memoria– Unico BUS (Collo di Bottiglia)Unico BUS (Collo di Bottiglia)
AUTRONICAAUTRONICA 16.16.5252
Architettura HarvardArchitettura Harvard
UnitàUnitàdi Controllodi Controllo
UnitàUnitàdi Controllodi Controllo
UnitàUnitàAritmeticaAritmetica
UnitàUnitàAritmeticaAritmetica
MemoriaMemoriaDatiDati
MemoriaMemoriaDatiDati
IstruzionIstruzionii
DatiDati
MemoriaMemoriaIstruzioniIstruzioniMemoriaMemoriaIstruzioniIstruzioni
IndirizziIndirizzi
IstruzioniIstruzioni
IndirizziIndirizzi
StatoStato
AUTRONICAAUTRONICA 16.16.5353
DescrizioneDescrizione
• Memoria DatiMemoria Dati» Accesso diretto alla ALUAccesso diretto alla ALU» Realizzazione: RAMRealizzazione: RAM
• Memoria IstruzioniMemoria Istruzioni» Il contenuto rimane invariatoIl contenuto rimane invariato» Realizzazione con memoria non Realizzazione con memoria non
volatile: ROMvolatile: ROM
AUTRONICAAUTRONICA 16.16.5454
OsservazioniOsservazioni
• Non presenta particolari “Colli di Non presenta particolari “Colli di bottiglia”bottiglia”
• Può essere migliorata per aumentarne Può essere migliorata per aumentarne la conccorrenzialitàla conccorrenzialità
• Architettura alla quale si ispirano gli Architettura alla quale si ispirano gli attuali microprocessori e DSPattuali microprocessori e DSP
AUTRONICAAUTRONICA 16.16.5555
Architettura di un Architettura di un MicroprocessoreMicroprocessore
Data BusData Bus
ROMROMdi Mappaturadi Mappatura
ROMROMdi Mappaturadi Mappatura
Memoria ROMMemoria ROMMicroprogrammaMicroprogramma
Memoria ROMMemoria ROMMicroprogrammaMicroprogramma
SequenzializzatoreSequenzializzatoreMicroprogrammaMicroprogramma
SequenzializzatoreSequenzializzatoreMicroprogrammaMicroprogramma
MUX 1MUX 1MUX 1MUX 1 MUX 2MUX 2MUX 2MUX 2
DEMUXDEMUXDEMUXDEMUX
A L UA L U
AddressAddress
ControlControl
AUTRONICAAUTRONICA 16.16.5656
Descrizione (1)Descrizione (1)
• ROM di MappaturaROM di Mappatura– Converte il codice macchina in codice Converte il codice macchina in codice
internointerno
• SequenzializzatoreSequenzializzatore– Rete di controllo effettivaRete di controllo effettiva
• Memoria di MicroprogrammaMemoria di Microprogramma– Converte il codice interno nei codici di Converte il codice interno nei codici di
controllo dei vari blocchicontrollo dei vari blocchi
AUTRONICAAUTRONICA 16.16.5757
Descrizione (2)Descrizione (2)
• ALUALU– Unità Logica AritmeticaUnità Logica Aritmetica
• MUX 1 e MUX 2MUX 1 e MUX 2– Multiplex di scelta su gli ingressi della ALUMultiplex di scelta su gli ingressi della ALU
• DEMUXDEMUX– Gestisce l’indirizzamento del risultatoGestisce l’indirizzamento del risultato
AUTRONICAAUTRONICA 16.16.5858
OsservazioniOsservazioni
• Funzionamento totalmente in sequenzaFunzionamento totalmente in sequenza•Interpretazione Interpretazione EsecuzioneEsecuzione
• Assenza di registri interniAssenza di registri interni•Contatore di programma, Registro di Contatore di programma, Registro di statostato
•AccumulatoriAccumulatori• Generazione degli indirizzi mediante ALUGenerazione degli indirizzi mediante ALU• Collo di bottigliaCollo di bottiglia DATA BUSDATA BUS
AUTRONICAAUTRONICA 16.16.5959
PIPE-LINEPIPE-LINE
• Alcune operazioni possono essere fatte Alcune operazioni possono essere fatte in parallelo in parallelo – Necessità di disporre di REGISTRI intermediNecessità di disporre di REGISTRI intermedi
• Mentre la ALU Mentre la ALU esegueesegue le operazioni le operazioni richieste, il Sistema di controllo può richieste, il Sistema di controllo può decodificaredecodificare l’istruzione successiva l’istruzione successiva
• Aggiungere una ALU per il calcolo degli Aggiungere una ALU per il calcolo degli indirizziindirizzi
AUTRONICAAUTRONICA 16.16.6060
Architettura di un Architettura di un Microprocessore (2)Microprocessore (2)
Data BusData Bus
ROM 1ROM 1ROM 1ROM 1
SequenzializzatoreSequenzializzatoreSequenzializzatoreSequenzializzatore
MUX + RegisterMUX + RegisterMUX + RegisterMUX + Register
DEMUX +Reg.DEMUX +Reg.DEMUX +Reg.DEMUX +Reg.
A L A L UU
AddressAddress
ControlControl
Istruc. Reg.Istruc. Reg.Istruc. Reg.Istruc. Reg.
Microprog. ROMMicroprog. ROMMicroprog. ROMMicroprog. ROM
Mcropog. Reg.Mcropog. Reg.Mcropog. Reg.Mcropog. Reg.
MUX + RegisterMUX + RegisterMUX + RegisterMUX + Register
DEMUX +Reg.DEMUX +Reg.DEMUX +Reg.DEMUX +Reg.
A L A L UU
RREEGG
RREEGG
AUTRONICAAUTRONICA 16.16.6161
OsservazioniOsservazioni
• Possibilità di sovrapposizione fra fase di Possibilità di sovrapposizione fra fase di interpretazione ed esecuzione interpretazione ed esecuzione dell’istruzionedell’istruzione
• Possibilità di memorizzazione di risultati Possibilità di memorizzazione di risultati intermediintermedi
• Salvataggio dei registri di controlloSalvataggio dei registri di controllo– Possibili ulteriori modifiche in funzione delle Possibili ulteriori modifiche in funzione delle
esigenzeesigenze
AUTRONICAAUTRONICA 16.16.6262
Architettura di un calcolatoreArchitettura di un calcolatore
DATA BUS
ADDRESS BUS
CONTROL BUS
I / OI / O DATADATA(RAM)(RAM)
PROGPROG(ROM)(ROM) CPUCPU
AUTRONICAAUTRONICA 16.16.6363
Tipi di architetture in funzione Tipi di architetture in funzione delle istruzionidelle istruzioni
• RISC =>RISC => Reduced Instructions Set Reduced Instructions Set ComputerComputer– ridotto numero di istruzioni ridotto numero di istruzioni – si effettuano in un numero ridotto di ciclisi effettuano in un numero ridotto di cicli
• CISC =>CISC => Complex Instructions Set Complex Instructions Set ComputerComputer– Istruzioni di elevata capacità Istruzioni di elevata capacità – si effettuano in un numero grande di ciclisi effettuano in un numero grande di cicli
AUTRONICAAUTRONICA 16.16.6464
ConclusioniConclusioni
• Parte di controllo programmabileParte di controllo programmabile– Mapping ROMMapping ROM– Instruction RegisterInstruction Register– Sequenzializzatore di microprogrammaSequenzializzatore di microprogramma– Sequenzializzatore di programmaSequenzializzatore di programma
• BusBus• Architettura Von NeumanArchitettura Von Neuman• Architettura HarvardArchitettura Harvard• Architettura di un CALCOLATOREArchitettura di un CALCOLATORE