Elettronica II Corso di Laurea in Informatica Crema, 22 maggio 2002 (1) Department of Electrical Engineering The University of Texas at Dallas P.O. Box 830688 Richardson, Texas 75083 E-mail: stefano@utdallas.edu 1
Argomenti introduzione circuiti di memoria elementari: latch, flip-flop, registri memorie a semiconduttore struttura e funzionamento delle memorie 2
Memorizzare l informazione 1 byte = 8 bit 1 kbyte = 2 10 byte 1 Mbyte = 2 20 byte 1 Gbyte = 2 30 byte 1 Tbyte = 2 40 byte 1 Pbyte = 2 50 byte 1 Ebyte = 2 60 byte 1 bit 1 bit: una singola unità binaria d'informazione 1 byte: un carattere dell'alfabeto 10 byte: una parola 100 byte: un messaggio SMS (short message service) 2 kilobyte: una pagina dattiloscritta 50 kilobyte: un racconto 100 kilobyte: un'immagine 1 megabyte: un libro (senza immagini) 10 megabyte: una tesi di laurea con immagini e grafici 100 megabyte: il contenuto di un CD audio (74,5 minuti di musica) 650 megabyte: il contenuto di un CD-ROM 2 gigabyte: un film compresso in formato MPEG 17 gigabyte: il contenuto di un DVD-ROM 50 gigabyte: il contenuto di una libreria 500 gigabyte: il contenuto di un grosso sito FTP (file transfer protocol) 1 terabyte: tutte le lastre a raggi X di un grosso ospedale 10 terabyte: il contenuto della più grande biblioteca del mondo 8 petabyte: tutte le informazioni disponibili sul world-wide web 200 petabyte: tutto ciò che è stampato nel mondo 8 exabyte: tutte le informazioni memorizzate in un anno nel mondo 71 exabyte: il totale dell'informazione archiviata nel mondo (escluse le duplicazioni) Ogni anno sono memorizzati 8 miliardi di miliardi di byte di nuovi dati. Memorizzare un informazione significa trasmetterla attraverso il tempo (serve un supporto per registrarla, un codice di rappresentazione e una codifica di messaggio). I supporti più usati sono: carta pellicole fotografiche supporti magnetici supporti ottici memorie a semiconduttore 3
La funzione di memoria In ogni sistema per l elaborazione dell informazione è necessario memorizzare dei dati (risultati di elaborazioni intermedie, dati dell utente, impostazioni, valori di calibrazione, ). I dati possono essere memorizzati in formato analogico o in formato digitale, per periodi di tempo molto brevi o molto lunghi. I circuiti elettronici digitali che svolgono la funzione di memoria sono chiamati reti sequenziali. L elevata potenza di calcolo dei moderni sistemi elettronici dipende dalla disponibilità di memorie veloci, poco ingombranti ed economiche come le memorie a semiconduttore. 4
Modello di rete sequenziale Le reti sequenziali sono caratterizzate dalla presenza di anelli. Una rete con k anelli ha al massimo 2 k possibili stati interni (i valori assunti da y 1,, y k ). Le uscite dipendono non solo dagli ingressi x 1,, x n, ma anche dallo stato interno. x 1 R z 1 x n z C m y 1 y' 1 y k y' k Nel funzionamento del circuito giocano un ruolo essenziale i ritardi d z1,, d zm, d y1,, d yk, con cui si formano le uscite in funzione degli ingressi applicati al tempo t. z i (t + d zi ) = f zi (x 1 (t),, x n (t), y 1 (t),, y k (t)) y j '(t + d zj ) = f yj (x 1 (t),, x n (t), y 1 (t),, y k (t)) 1 i m, 1 j k 5
Circuiti bistabili I circuiti bistabili (detti anche latch o flip-flop) sono le reti sequenziali con la minima capacità di memoria. Hanno due stati, quindi un solo anello e sono utilizzati per memorizzare un bit. Il latch più semplice è formato da due inverter. y y' z y il latch ha 3 stati stazionari: 2 stati stabili ( ) 1 stato metastabile ( ) y' 6
Circuiti bistabili caratteristica di trasferimento ad anello aperto del latch 7
Punti di lavoro del latch Per verificare la stabilità degli stati stazionari si può studiare come evolve lo stato del circuito. Per semplificare lo studio si può considerare un comportamento tempo-discreto. y iniziale = 0,499 se y iniziale < 0,5 il circuito raggiunge lo stato stabile a tensione bassa y iniziale = 0,501 se y iniziale > 0,5 il circuito raggiunge lo stato stabile a tensione alta 8
Punti di lavoro del latch y iniziale = 0,02 lo stato stabile a tensione bassa è raggiunto anche partendo da tensioni inferiori (analogamente lo stato stabile a tensione alta) y iniziale = 0,5 lo stato y = 0,5 è uno stato stazionario metastabile: uno spostamento comunque piccolo fa evolvere il circuito verso uno stato stabile 9
Punti di lavoro del latch per decidere se uno stato stazionario y 0 sia o meno stabile si può studiare come evolvono piccole variazioni del tipo δ n = y n+1 - y n linearizzando la funzione di trasferimento y n+1 = α (y n - y 0 ) + y 0 si ha che δ n = y n+1 - y n = α (y n - y 0 ) + y 0 - y n = (α - 1) (y n - y 0 ) δ n+1 = (α - 1) (y n+1 - y 0 ) = α (α - 1) (y n - y 0 ) quindi δ n+1 = α δ n ne segue che lo stato è stabile se α < 1 (in generale lo stato è stabile se la derivata della funzione di trasferimento nel punto considerato è minore di 1) 10
D latch D -Q CLK Q Il D latch (o flip-flop delay) è costituito da due inverter e un multiplexer a due ingressi. D è il dato in ingresso, CLK è il segnale di clock in ingresso, Q e -Q sono le uscite. 11
D latch D latch realizzato con porte NAND. Q CLK D y' CLK D 0 1 0 1 y y 0 1 12
Flip-flop set reset R S y C y' z y' R S 0 0 1 y 1 1 0 - Flip-flop set reset realizzato con porte NOR. R S y' Q y 13
Flip-flop set reset Flip-flop set reset realizzato interconnettendo due porte NOR in tecnologia CMOS con carico a svuotamento. V DD V DD Q Q S R 14
D register Il D register è costituito da due D latch, il primo chiamato master e il secondo chiamato slave. D -QM Q CLK 15
Flip-flop delay master slave Schema logico di un flip-flop delay master slave implementato con porte NOR. CLK S Q CLK CLK CLK D Q CLK CLK CLK CLK R 16
Flip-flop a valvole flip-flop a valvole elettroniche (circuito di Eccles-Jordan) flip-flop a valvole elettroniche autopolarizzato da: W. C. Elmore, M. Sands, Electronics, Experimental Techniques, McGraw-Hill 1949 da: J. Millman, H. Taub, Pulse and Digital Circuits, McGraw-Hill 1956 17
Flip-flop a BJT flip-flop a transistori bipolari da: D. Dewitt, A. L. Rossoff, Transistor Electronics, McGraw-Hill 1957 18
1) MEMORIE AD ACCESSO CASUALE memorie a lettura e scrittura (RAM), volatili: RAM statiche e RAM dinamiche memorie prevalentemente a sola lettura (ROM), non volatili: ROM, PROM, EPROM, E²PROM, Flash 2) MEMORIE AD ACCESSO SERIALE (SAM) 3) MEMORIE INDIRIZZABILI PER CONTENUTO (CAM) 19
memorie ad accesso casuale RAM ROM dinamiche statiche PROM memorie non volatili memorie volatili EPROM fusibili Flash E²PROM 20
Divisione del mercato delle memorie a semiconduttore in tecnologia CMOS DRAM 68% altre 2,0% EPROM 0,8% ROM 3,3% EEPROM 4,2% Flash 9,1% SRAM 12% 21
Caratteristiche Memoria Caratteristiche riscrivibilità EEPROM FLASH non volatilità FLASH ROM Read-Only Memory SRAM Static Random-Access Memory basso costo, alta densità; bassa potenza, elevata affidabilità tecnologia matura, altissima densità, affidabilità, basso costo; adatte per grandi produzioni con codice stabile massima velocità, elevata potenza, bassa densità; la bassa densità fa crescere i prezzi DRAM alta densità ROM EPROM Electrically Programmable Read- Only Memory alta densità; devono essere esposte a radiazione ultravioletta per la cancellazione E²PROM Electrically Erasable Programmable Read-Only Memory cancellabili elettricamente per byte; bassa affidabilità, alto costo, bassa densità DRAM Dynamic Random Access Memory alta densità, basso costo, alta velocità, alta potenza 22
Decodificatore n bit n bit s 0 word 0 word 0 s 1 word 1 word 1 m word s 2 word 2 cella a 0 a 1 a 2 decodificatore word 2 cella s m 2 word m 2 a k 1 word m 2 s m 1 word m 1 word m 1 input-output (n bit) input-output (n bit) Se a m word corrispondessero m segnali di selezione, i segnali di selezione sarebbero troppi. Il decodificatore riduce il numero dei segnali di selezione a k = log 2 m 23
Decodificatore b 0 b 1 b 2 esempio: k = 3 indirizzo k bit decodificatore 2 k linee w 0 w 1 w 2 w 3 può essere realizzato con 2 k porte AND a k ingressi w 4 w 5 w 6 w 7 24
Organizzazione 1D indirizzo k bit decodificatore 2D indirizzo di riga k/2 bit decodificatore di riga linea di indirizzamento (word line) linea dati (bit line) I/O decodificatore di colonna k/2 bit I/O complessità decodificatore P = k 2 k (k ingressi, 2 k uscite) complessità celle C = 2 k (un interruttore per ogni cella) P+C = (k+1) 2 k ad esempio con k=16, 2 k =65536, P+C 10 6 indirizzo di colonna complessità decodificatori P = k 2 k/2 complessità celle C = 2 k +k/2 P+C = k 2 k/2 +2 k +k/2 ad esempio con k=16, 2 k =65536, P+C 7 10 4 25
Organizzazione a matrice cella di memoria indirizzo k bit MAR (k c) bit decodificatore di riga bit line word line matrice di memoria c bit decodificatore di colonna sense amplifier e driver MBR n bit input-output 26
Organizzazione gerarchica indirizzo di riga indirizzo di colonna indirizzo di blocco bus dati sense amplifier e driver I/O Vantaggi: minore lunghezza delle linee di interconnessione all interno dei blocchi riduzione della potenza attivando un solo blocco 27
Temporizzazione lettura scrittura dati ciclo di lettura tempo di accesso in lettura dato valido ciclo di scrittura tempo di accesso in scrittura dato valido dato letto dato scritto buffer in decodifica buffer out lettura buffer in decodifica scrittura 28
Temporizzazione TEMPO D ACCESSO: tempo che intercorre da quando è scritto l indirizzo a quando è disponibile il dato TEMPO DI CICLO: tempo che intercorre tra due letture successive indirizzi tempo di ciclo dati in uscita tempo d accesso 29