Memorie Dinamiche
Transcript
Memorie Dinamiche
DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria: Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche 1 • • • • • • Memoria centrale: è costituita da una sequenza ordinata di registri; ciascun registro è individuato da un indirizzo; se l’indirizzo è specificato con N bit, sono indirizzabili 2N registri e i loro indirizzi sono i numeri naturali da 0 a 2 N-1 (con N=32 bit, è possibile indirizzare una memoria contenente 4G registri); nei calcolatori attuali i registri di memoria indirizzabili sono registri da 8 bit (un byte); ma generalmente il numero di linee dati del bus che accede alla memoria è tale da consentire di scrivere e leggere, con un unico accesso alla memoria, anche coppie di byte (word, da 16 bit), quaterne di byte (long word, da 32 bit) e, in alcuni calcolatori più recenti, anche gruppi di 8 byte (quadword, da 64 bit); si definisce tempo di accesso ta il tempo necessario per completare un’operazione di lettura o di scrittura; i valori dei tempi di accesso per le memorie attualmente utilizzate sono: - memorie statiche (SRAM): - 1.4 ÷15 ns (high speed) - 35 ÷ 100 ns (low power) - memorie dinamiche (DRAM): - 50 ÷70 ns (DRAM asincrone) - 7 ÷ 12 ns (SDRAM sincrone) (+ latenza: per il primo dato ci vuole un tempo 4-5 volte quello per i dati successivi) Classificazioni delle memorie • Tecnologia: o BIPOLARI (BIT) o MOS (FET) • Principio di funzionamento: + veloci +estese o STATICHE (SRAM) flip-flop o DINAMICHE (DRAM) carica di un condensatore (refresh) • Funzioni: o RAM (rwm) o ROM − − − − PROM EPROM E2PROM FLASH erase 20 m (chip) 5 ms (byte) 1 s (sector) read-write read-only write 100 µs 5 ms 100 µs Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche read 200 ns 35 ns 200 ns 2 esempi d’uso bios, monitor, … cellulari, sintonizzatori, … foto digitali, mp3, bios, … Memorie dinamiche (DRAM) cella DRAM: row select transistor condensatore bit line Operazione di scrittura: 1. imposta il valore (H o L) nella bit line, 2. seleziona la riga (attiva row select): il transistor diventa un interruttore chiuso e la tensione della bit line si trasferisce ai capi del condensatore (caricandolo o scaricandolo); quando il row select viene disattivato, il transistor diventa un interruttore aperto e il condensatore conserva la carica (mantiene memorizzato il bit). Operazione di lettura: 1. precarica la bit line a circa metà della tensione H, 2. seleziona la riga (attiva row select): il transistor diventa un interruttore chiuso e la corrente che circola tra il condensatore e la bit line rivela il bit memorizzato (rivela se il condensatore memorizzava un valore H o L); così però viene alterata la carica del condensatore; 3. riscrivi il valore (H o L) letto (ripristina la carica del condensatore). Operazione di refresh: 1. esegui un’operazione di lettura su tutte le celle della stessa riga. Esempio di refresh: si consideri un chip DRAM da 64k ×1 (256 righe × 256 colonne) con ta = 60 ns; sia necessario operare il refresh di ciascuna cella ogni 4 ms. Poiché una operazione di refresh interessa una intera riga alla volta, ne vanno fatte 256 ogni 4 ms; cioè una ogni 4/256 ms ≈16 µs (periodo di refresh) Per il refresh viene usato un ciclo di memoria (da 60 ns) ogni circa 16 µs, cioè ogni 16000/60 = 267 cicli. Il ciclo impegnato per il refresh non è disponibile per le altre operazioni di accesso alla memoria “normali”. Pertanto, in questo esempio, l’operazione di refresh impegna meno del 0.4% dei cicli di memoria. Se l’operazione di refresh dovesse essere eseguita su ciascun singolo elemento, anziché su tutti gli elementi di una riga, servirebbe un refresh ogni 4/(256×256) ms ≈61 ns: verrebbero così impegnati per il refresh tutti i cicli della memoria (la quale, non essendo possibile accedervi per leggere o scrivere, non servirebbe a nulla!) Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche 3 Memorie dinamiche (DRAM) Interfaccia asincrona Il processore deve attendere idle il completamento dell'operazione su memoria Page Mode Address Architettura base, accesso a locazioni successive, segnali RAS\ e CAS\ Fast Page Mode (FPM DRAM) Realizzazione effettiva, RAS\ rimane attivo per l'intero ciclo di pagina, l'output si spegne quando CAS\ si disattiva, bus a 66MHz, timing 6-3-3-3 o 5-3-3-3 con celle da 70ns, 60ns Extended Data Output (EDO DRAM) L'output rimane impostato durante l'accesso alla colonna successiva, bus a 66MHz, timing 5-2-2-2 con celle da 50..70 ns Burst Extended Data Output (BEDO DRAM) Viene aggiunto un contatore interno per i successivi accessi a colonna, bus a 66MHz timing 5-1-1-1 con celle da 50..70 ns (poco sviluppato) Interfaccia sincrona I segnali sono direttamente in sincronia con il bus e, con l'uso di opportuni latch, si aumenta il parallelismo con la CPU (bus oltre i 66MHz) CasLatency * ClockPeriod ≥ ColumnAccessTime JEDEC Synchronous RAM (SDRAM) Tipo base di SDRAM, architettura a banco doppio, regolazione del CAS latency (1,2 o 3), bus a 66 MHz, timing 5-1-1-1 con celle da 35..60 ns PC100 SDRAM Standard Intel per sistemi con bus a 100 MHz, timing 4-1-1-1 Double Data Rate (DDR SDRAM) L'output ha luogo su entrambi i fronti del clock Enhanced SDRAM (ESDRAM) SDRAM con una porzione di cache statica on-chip per (fino a 200 MHz) Interfaccia basata su protocollo Per ridurre i tempi di trasmissione, indirizzi e dati vengono codificati sul medesimo bus. Direct Rambus DRAM (DRDRAM) Soluzione proprietaria con promessa fino a 800 MHz; ha presentato svariati problemi e attualmente supporta una velocità circa doppia delle attuali SDRAM SyncLink DRAM (SLDRAM) Soluzione open-standard, a costi più bassi di DRDRAM, con velocità di almeno 200 MHz, output sui due fronti del clock (vedi: http://www6.tomshardware.com/mainboard/index.html http://www6.tomshardware.com/mainboard/19981024/) Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche 4 PRINCIPALI PRODUTTORI DI CHIP DI MEMORIA SAMSUNG (Sud Corea) MICRON (USA) HYNIX (ex HYUNDAI) (Sud Corea) NEC (Giappone) ELPIDA HITACHI (Giappone) MITSUBISHI TOSHIBA FUJITSU INFINEON (Germania) 1999: Giappone > 50% 2001 Gippone ~26% MERCATO DEI SEMICONDUTTORI USA ~35% USA ~53% TECNOLOGIA (µm) 0.35 - 0.25 - 0.22 - 0.18 → 0.15 → 0.13 - 0.11 DENSITÀ DEI CHIP SDRAM 64 Mb $2-3 128 Mb 256 Mb 512 Mb 1 Gb 4 Gb $0.25/Mbyte $3-5 $4-7 (0.18-0.13 µm) in produzione, 0.13 - 0.11 µm in produzione, 0.13 - 0.11 µm, campioni, 0.11 µm Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche 5 Esempio di chip di memoria dinamica SDRAM da 64 Mbit (disponibikle in tre versioni: 4M×4, 2M×8, 1M×16): Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche 6 Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche 7 Calcolatori Elettronici 2002/2003 - Diagr. temp. e Mem. dinamiche 8