Lezione X.ppt.pdf - Dipartimento di Fisica
Lezione X.ppt.pdf - Dipartimento di Fisica
Lezione X.ppt.pdf - Dipartimento di Fisica
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Laboratorio <strong>di</strong> <strong>Fisica</strong> V<br />
Corso B<br />
Prof. G. Punzi
Verso sistemi logici<br />
piu’ piu complessi
Operazioni Aritmetiche<br />
Abbiamo <strong>di</strong>scusso somma e sottrazione <strong>di</strong> interi<br />
Consideriamo ora moltiplicazione e <strong>di</strong>visione<br />
Tabella <strong>di</strong> verita’ verita<br />
Moltiplicazione a 1 bit:<br />
A B<br />
0 0<br />
0 1<br />
1 0<br />
1 1<br />
Y<br />
0<br />
0<br />
0<br />
1<br />
= AND<br />
Moltiplicazione a piu’ piu bits
Moltiplicatore 3x3
Divisioni<br />
La <strong>di</strong>visione e’ e l’operazione l operazione piu’ piu complessa<br />
Esiste una varieta’ varieta <strong>di</strong> implementazioni possibili: possibili<br />
Semplici-> Semplici->lente<br />
lente , Veloci->complicate<br />
Veloci->complicate<br />
Molte sono analoghe all’algoritmo all algoritmo che si adopera per la<br />
<strong>di</strong>visione a mano, mano,<br />
pero’ pero si adopera spesso una ra<strong>di</strong>ce 2N invece che 2.<br />
Si fa uso del complemento a 2 per la sottrazione<br />
Esempio semplice (molto lento)<br />
Contare sottrazioni ripetute
Co<strong>di</strong>ficatore ( (Encoder Encoder)<br />
Un encoder (co<strong>di</strong>ficatore<br />
( co<strong>di</strong>ficatore) e’ e un circuito che rappresenta con<br />
un co<strong>di</strong>ce binario l’arrivo l arrivo <strong>di</strong> un segnale su una tra N possibili<br />
linee. linee.<br />
(Es. applicazione:<br />
applicazione:<br />
tastiera) tastiera<br />
1<br />
0<br />
0<br />
0<br />
3<br />
2<br />
1<br />
0<br />
E<br />
1<br />
1 = no 3 !<br />
La co<strong>di</strong>fica non e’ e necessariamente il numero or<strong>di</strong>nale, or<strong>di</strong>nale,<br />
ad es. es<br />
potrebbe essere conveniente che rappresenti il carattere
Tabella verita’ verita <strong>di</strong> Encoder<br />
Se assumo che ho sempre un solo input alto, posso usare dei<br />
semplici OR (risparmio ( risparmio molte porte per gli AND e i NOT)
Implementazione a matrice <strong>di</strong><br />
<strong>di</strong>o<strong>di</strong> (Diode Logic)
Deco<strong>di</strong>ficatore (decoder)<br />
Il decoder (deco<strong>di</strong>ficatore<br />
( deco<strong>di</strong>ficatore) ) effettua l’operazione<br />
l operazione<br />
inversa: inversa dato un co<strong>di</strong>ce binario in ingresso, ingresso invia un<br />
segnale su un output da esso in<strong>di</strong>viduato.<br />
in<strong>di</strong>viduato<br />
(Es. Applicazione: Applicazione abilitare un <strong>di</strong>spositivo scelto) scelto<br />
n o 3 ⇒<br />
1<br />
1<br />
D<br />
3<br />
2<br />
1<br />
0<br />
1<br />
0<br />
0<br />
0<br />
Al <strong>di</strong>spositivo n o 3
Esempio: Esempio:<br />
Decoder 4→10 4 10
Selettore ( (multiplexer<br />
multiplexer)<br />
Un multiplexer permette <strong>di</strong> convogliare su una linea <strong>di</strong> uscita uno tra<br />
piu’ piu input a scelta<br />
(applicazione<br />
applicazione: : trasmettere molti segnali su poche linee <strong>di</strong>stinte) <strong>di</strong>stinte<br />
Agisce come un “deviatore deviatore logico” logico<br />
Inputs Output
Sel In1 In2<br />
0 0<br />
0<br />
0 0 1<br />
0 1 0<br />
0 1 1<br />
1 0 0<br />
1 0 1<br />
1 1 0<br />
1 1 1<br />
Es. Multiplex 2x1<br />
Out<br />
0<br />
0<br />
1<br />
1<br />
0<br />
1<br />
0<br />
1<br />
In 1<br />
In 2<br />
Si puo’ puo costruire con puri strumenti logici<br />
Sel<br />
Out
Multiplexer molti input<br />
MUX
Multiplexer 4x1 (da ( da Decoder)<br />
Enable<br />
INPUTS<br />
CONTROL<br />
Come si puo’ puo realizzare un Demultiplexer ?
Memorie<br />
I moderni sistemi <strong>di</strong>gitali fanno uso <strong>di</strong> notevoli quantita’ quantita <strong>di</strong><br />
memoria, memoria ben al <strong>di</strong> la’ la <strong>di</strong> pochi FF<br />
Le memorie “esterne esterne” sono <strong>di</strong>sponibili in una varieta’ varieta <strong>di</strong><br />
supporti: supporti:<br />
nastri, nastri,<br />
Hard Disks, <strong>di</strong>schi ottici….ad ottici .ad accesso<br />
casuale o sequenziale,<br />
sequenziale,<br />
sono accessibili tramite interfacce<br />
piu’ piu o meno veloci, veloci,<br />
servono per archiviare files per una<br />
varieta’ varieta <strong>di</strong> scopi. scopi<br />
Ora ci occupiamo <strong>di</strong> memoria “in in linea”: linea imme<strong>di</strong>atamente<br />
<strong>di</strong>sponibile ad alta velocita’. velocita . E’ E utilizzata per memorizzare:<br />
In modo temporaneo dati interme<strong>di</strong> dell’elaborazione<br />
dell elaborazione o buffers <strong>di</strong><br />
informazioni destinate o provenienti da memorie esterne<br />
in modo permanente dati, dati,<br />
co<strong>di</strong>ce eseguibile, eseguibile,<br />
tabelle <strong>di</strong> conversione,<br />
conversione<br />
funzioni predefinite
Read ead Only nly Memory emory (ROM)<br />
Ha un certo numero <strong>di</strong> linee <strong>di</strong> input (in<strong>di</strong>rizzo ( in<strong>di</strong>rizzo, , address) address<br />
un certo numero <strong>di</strong> output ( (data data)<br />
Funziona come una tabella. tabella.<br />
Si puo’ puo usare per<br />
implementare una funzione logica qualunque con il dato<br />
numero <strong>di</strong> inputs e outputs<br />
address address<br />
data<br />
data
ROM<br />
Una ROM puo’ puo essere costruita come la combinazione <strong>di</strong><br />
un deco<strong>di</strong>ficatore (dell dell’in<strong>di</strong>rizzo in<strong>di</strong>rizzo) che pilota un opportuno<br />
co<strong>di</strong>ficatore (del dato memorizzato nella locazione data)
Esempio implementazione ROM
Address Address<br />
(8 (8 bits)<br />
bits)<br />
ROM con in<strong>di</strong>rizzamento X-Y<br />
data data (4 (4 bits) bits)
Tipi <strong>di</strong> ROM<br />
Alcune ROM sono costruite con una struttura “immutabile immutabile” una volta<br />
costruite, ma l’esigenza esigenza <strong>di</strong> poterle programmare ha condotto a una<br />
varieta’ varieta <strong>di</strong> <strong>di</strong>spositivi. <strong>di</strong>spositivi<br />
PROM: PROM:<br />
Programmabile dall’utente dall utente una sola volta, volta,<br />
con un<br />
<strong>di</strong>spositivo apposito. apposito<br />
EPROM: “erasable erasable PROM”: PROM : Puo’ Puo essere “cancellata cancellata”<br />
tramite esposizione a luce ultravioletta.<br />
ultravioletta<br />
EEPROM: (E 2PROM) PROM) “electrically electrically erasable”” erasable puo’ puo essere<br />
“cancellata cancellata” con applicazione <strong>di</strong> opportune tensioni<br />
elettriche agli input.
RAM<br />
Random andom Access ccess Memory. emory. Utilizzabile sia in lettura e<br />
scrittura tramite le stesse linee <strong>di</strong> address address e data. data.<br />
SRAM (Static (Static<br />
RAM). Memoria statica: statica:<br />
l’informazione informazione e’ e<br />
memorizzata in Flip-Flops, e permane finche’ finche e’ e presente<br />
la alimentazione.<br />
alimentazione.<br />
Veloce ma costosa. costosa<br />
DRAM (Dinamic ( inamic RAM). Piu’ Piu economica,<br />
economica,<br />
l’informazione informazione e’ e<br />
memorizzata come carica <strong>di</strong> condensatori,<br />
condensatori,<br />
puo’ puo essere<br />
prodotta in quantita’ quantita maggiori. maggiori.<br />
Richiede pero’ pero frequenti<br />
cicli <strong>di</strong> refresh refresh per mantenere la memorizzazione.<br />
memorizzazione<br />
NVRAM (Non (Non<br />
Volatile Volatile<br />
RAM). Mantiene l’informazione<br />
l informazione<br />
anche in assenza <strong>di</strong> alimentazione.<br />
alimentazione<br />
Sistemi a basso consumo con batteria <strong>di</strong> backup<br />
“FLASH FLASH RAM”: RAM Si tratta in realta’ realta <strong>di</strong> una variante <strong>di</strong> EEPROM, EEPROM<br />
con maggiore velocita’ velocita e flessibilita’.<br />
flessibilita
ADDRESS(HI)<br />
Chip Enable<br />
Write Enable<br />
RAM (1024x4 bits)<br />
DATA<br />
(In)<br />
ADDRESS(LO)<br />
3-state<br />
buffers<br />
DATA<br />
(Out)