Memorias Índice Características: escritura y persistencia Tipos de memorias Construcción de memorias Jerarquía de memorias RAM avanzada Memorias Almacenamiento de bits m x n: m palabras de n bits Señales de direcciones k = Log2(m) o m = 2^k posiciones Ej: memoria 4096 x 8: 32,768 bits 12 líneas de direcciones 8 líneas de datos Señales de acceso a memoria RD/WR: lectura o escritura Enable o chip select: habilitación Multipuerto: accesos simultáneos a diferentes posiciones También acceso serie o paralelo Estructuras de memorias Memoria m × n … R/W Memoria 2k × n /CS A0 m posic iones … … Ak-1 … n bits por posición Qn-1 Q0 Persistencia Escritura y persistencia ROM Vida del producto OTP ROM EPROM Decenas de años Duración de la batería (~10 años) Memoria ideal EEPROM FLASH NVRAM No volátiles Programables en campo Casi nada SRAM/DRAM Escritura En la ProgramadorProgramador En campo En campo fabricación (1 vez) (1000s veces) (1000s) (1000s ciclos) por bloques En campo sin límite de ciclos Escritura Capacidad de escritura Alta Media Es necesario un “programador” (equipo específico) Ej: EPROM, OTP ROM Nula El micro escribe a la memoria, más lentamente Ej: FLASH, EEPROM Baja El micro escribe a la memoria de forma directa, rápida y fácil Ej: RAM Sólo se escribe durante la fabricación Ej: ROM de máscara Programación en campo El micro puede escribir en el funcionamiento normal del sistema Memorias en el nivel alto o medio de capacidad Persistencia Persistencia del almacenamiento Alta Media La información permanece mientras haya alimentación Ej: SRAM Muy baja La información se mantiene durante días, meses o años sin alimentación Ej: NVRAM Baja Nunca pierde la información Ej: ROM de máscara La información se empieza a perder justamente tras ser escrita Ej: DRAM Memoria no volátil Mantiene la información sin alimentación Nivel alto o medio de persistencia ROM: Read-Only Memory Memoria no volátil Se puede leer en campo, pero no escribir Lo normal es escribirla antes de insertarla en el sistema Usos Programa (software )de un sistema empotrado Cada instrucción puede ocupar una o más direcciones Constantes necesarias en el sistema o LUTs Circuito combinacional Ejemplo: ROM 8x4 Horizontal = palabra Vertical = dato Sólo hay conexiones en los puntos Si A=010, el DEC pone a la línea horiz. 2 a 1 Las líneas de datos Q3 y Q1 se ponen a 1 por las conexiones programadas con la línea 2 La línea 2 no está conectada con Q2 ni Q0 La salida es 1010 Internal view 8 × 4 ROM enable word 0 3×8 decoder word 1 word 2 A0 A1 A2 word line data line programmable connection wired-OR Q3 Q2 Q1 Q0 ROM de máscara Las conexiones se programan al fabricarse Más baja capacidad de escritura 1 vez Más alta persistencia Máscaras de fotolitografía Nunca pierde la información salvo daño físico Se usa para el producto final en grandes tiradas OTP ROM Las conexiones se programan por el usuario Fichero de conexiones. Programador de ROM Cada conexión programable es un fusible Donde no debe haber conexión el fusible se funde Capacidad escritura muy baja Persistencia muy alta Sólo una vez Los bits permanecen mientras no se fundan más fusibles Usada en producto final Barata, difícil de modificar accidentalmente EPROM Transistor MOS programable (FAMOS) floating gate Puerta flotante y aislante drain source (a) Los electrones forman el canal. Se almacena un 1 (b) Tensión alta en la puerta. Los electrones quedan atrapados en la puerta flotante. El transistor no conduce. Se almacena un 0 (c) (Borrado) UV en la puerta flotante. Los electrones vuelven al canal. Se vuelve a almacenar un 1 +15V (b) source drain (d) Chip EPROM con ventana 5-30 min Se puede borrar y programar miles de veces source (c) Persistencia media (a) Capacidad de escritura media 0V Persiste 10 años, pero es sensible a la radiación y al ruido eléctrico Se usa en la fase de diseño (d) drain EEPROM Programación y borrado eléctrico Tensión más elevada Se pueden borrar palabras o bloques de una vez Capacidad de escritura Programable en campo si hay un circuito de generación de tensiones altas Muy lentas de programar y borrar Suelen tener un controlador de memoria para gestionar el ciclo de programación Suelen tener una señal de “ocupado” Se pueden programar y borrar decenas de miles de veces Persistencia 10 años (como EPROM) Mucho más caras que EPROM Flash Extensión de las EEPROM Similar estructura de puerta flotante, aunque diferente efecto físico Misma capacidad de escritura y persistencia Borrado rápido La escritura puede ser más lenta Se pueden borrar bloques (decenas de kilobits) de una vez Leer bloque, modificar un valor, escribir el bloque entero Se usa en sistemas que necesiten gran capacidad de almacenamiento Ej: cámaras digitales, móviles, grabadores vídeo,... Flash NAND y NOR NAND: mayor densidad (aprox. el doble), menor tiempo de escritura, acceso secuencial o por bloques Memoria de almacenamiento NOR: mucho menor tiempo de lectura, acceso aleatorio Memoria de arranque o de ejecución RAM Memoria volátil La información se pierde si falla la alimentación e xt er n al 2k × n read and vi write memory e w r/w enable A0 … Ak-1 … Fácil lectura y escritura en funcionamiento Qn-1 Q0 internal view I3 I2 I1 I0 La estructura interna es más compleja 4×4 RAM enable 2×4 decoder A0 A1 rd/wr Memory cell To every cell Q3 Q2 Q Q 1 0 Tipos de RAM SRAM: Static RAM Cada bit se almacena en un biestable 6 transistores por bit Mantiene el dato si hay alimentación SRAM Data' Data W DRAM: Dynamic RAM Se usa un transistor y un condensador por bit Mucho más compacta que SRAM Necesita refresco debido a las pérdidas del C Las celdas se refrescan al leerse Tiempo de refresco típico 15.625us Más lentas que SRAM DRAM Data W Estructura interna RAM Expansión de memorias Expansión del tamaño de palabra Expansión de la capacidad RAM avanzada Hoy día DRAM es la memoria principal en la mayoría de sistemas empotrados (alta capacidad, bajo coste) Variantes de DRAM Mejora al mismo ritmo que la velocidad de los micros FPM DRAM: Fast Page Mode DRAM EDO DRAM: Extended Data Out DRAM SDRAM/ESDRAM: Synchronous and Enhanced Synchronous DRAM. SDR, DDR, DDR2, DDR3, DDR4 RDRAM: RAMBUS DRAM DRAM El circuito de refresco se deshabilita en los ciclos de lectura o escritura address Sense Amplifiers cas ras Col Decoder cas,ras, clock Lee direcciones consecutivas periódicamente, forzando el refresco de las celdas Refresh Circuit Row Decoder rd/wr ColAddr . Bufer El circuito de refresco puede ser externo o interno data RowAddr.Bufer Se captura la fila y la columna, secuencialmente, indicado por las señales RAS y CAS DataIn Bufer Bus de direcciones multiplexado en filas y columnas DataOut Bufer Bit storage array Problemas con DRAM La SRAM se integra en el chip del micro Pero la DRAM no: Proceso de fabricación diferente En la fabricación CMOS normal: En la fabricación de DRAM: Se trata de minimizar las capacidades parásitas para reducir las pérdidas y los retrasos Se trata de hacer condensadores grandes Hay algunos procesos capaces de integrar ambos Memory Management Unit (MMU) Trata los detalles de acceso a DRAM Señales RAS, CAS y otras Mapeado direcciones lógicas a físicas Muchos micros la traen ya integrada Permite el acceso a DRAM de forma transparente al programador