64
AUTRONICA AUTRONICA 16. 16.1 Autronica Autronica LEZIONE N° 16 LEZIONE N° 16 Memorie Memorie Definizioni Definizioni Memoria RAM Memoria RAM Organizzazione Organizzazione Temporizzazione Temporizzazione Cella base Cella base Tipi di indirizzamento Tipi di indirizzamento Reti sequenziali sincronizzate complesse Reti sequenziali sincronizzate complesse Macchina di Mealy ritardata Macchina di Mealy ritardata Registro di stato Registro di stato Registro operativo Registro operativo Parte operativa Parte operativa Parte di controllo Parte di controllo ALU ALU Registri interni Registri interni Architetture della parte di controllo Architetture della parte di controllo Architetture di un processore Architetture di un processore

AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

Embed Size (px)

Citation preview

Page 1: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 2: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 3: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 4: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 5: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 6: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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)

Page 7: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 8: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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]

Page 9: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 10: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

AUTRONICAAUTRONICA 16.16.1010

Cella di Memoria RAM STATICACella di Memoria RAM STATICA

R S

Q

Write Din

Word select

Dout

Page 11: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 12: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 13: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 14: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 15: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 16: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 17: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 18: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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 ]

Page 19: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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 !!!!!)

Page 20: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 21: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 22: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 23: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 24: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 25: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 26: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 27: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

AUTRONICAAUTRONICA 16.16.2727

Scomposizione della “RC”Scomposizione della “RC”

ParteOperativa

INOUT

SR

DRn

DR0

Ck

X

Parte diControllo

C B

Page 28: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 29: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 30: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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)

Page 31: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 32: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 33: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 34: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 35: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

AUTRONICAAUTRONICA 16.16.3535

Parte di controlloParte di controllo

• Microaddress-basedMicroaddress-based

ROM

S R

B

C

microindirizzo

microcodice

eff

microindirizzo T

microindirizzo F

Page 36: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

AUTRONICAAUTRONICA 16.16.3636

Parte di controlloParte di controllo

• Microinstruction-basedMicroinstruction-based

ROM

S R

B

C

microindirizzo

microcodice

eff

microindirizzo T

microindirizzo F

Page 37: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 38: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 39: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 40: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 41: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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)

Page 42: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 43: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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)

Page 44: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 45: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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)

Page 46: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 47: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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)

Page 48: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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à

Page 49: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 50: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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)

Page 51: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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)

Page 52: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 53: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 54: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 55: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 56: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 57: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 58: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 59: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 60: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 61: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 62: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 63: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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

Page 64: AUTRONICA16.1 Autronica LEZIONE N° 16 MemorieMemorie –Definizioni –Memoria RAM –Organizzazione –Temporizzazione –Cella base –Tipi di indirizzamento Reti

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