Diseño de circuitos digitales y tecnología de computadores/Memorias
Memoria es la sección de un sistema digital encargada del almacenamiento permanente o temporal de la información del sistema.
Sobre la memoria se pueden hacer dos operaciones:
- Lectura: la memoria presenta en sus terminales de salida el contenido de la localidad seleccionada. La lectura se puede hacer en todos los tipos de memoria.
- Escritura: se escribe el dato presente en los terminales de entrada en la localidad seleccionada. No todos los tipos de memoria permiten la escritura.
La ejecución de una operación de lectura o escritura se denomina acceso a memoria.
Tipos de memorias semiconductoras
editarDependiendo de cómo se asocien las localidades, las memorias pueden ser:
de acceso aleatorio o directo (RAM, Random Access Memory): las localidades se direccionan físicamente de manera individual; basta indicar la dirección de una localidad para operar sobre ella. A su vez se clasifican en:
- Memorias de lectura/escritura (L/E) volátil (RAM volátil o activa, RWM)
- L/E simultánea o no simultánea
- Estáticas (SRAM) o dinámicas (DRAM)
- Memorias L/E no volátil (NVRAM)
- L/E volátil + batería
- L/E volátil + EEPROM (NVRAM)
- Memorias de lectura no volátil (RAM no volátil o pasiva)
- Totalmente pasivas (MROM)
- Pasivas programables (PROM)
- ROM reprogramables (RPROM)
- borrables con rayos ultravioleta (EPROM)
- borrables eléctricamente (EEPROM)
- Memorias de lectura/escritura (L/E) volátil (RAM volátil o activa, RWM)
de acceso secuencial (SAM, Sequential Access Memory): las localidades están en posiciones contigüas de manera que el acceso a cada localidad depende del lugar que ocupe en la memoria. Teniendo en cuenta la forma en que se acceda a las localidades pueden ser:
- Registros de desplazamiento
- Memorias FIFO (First In First Out), filas o colas
- Memorias LIFO (Last Int First Out) o pilas
Memorias de acceso aleatorio
editarCaracterísticas comunes de las RAM
editarEl tiempo de acceso (lectura o escritura) es constante e independiente de la posición de la localidad sobre la que se opere.
Los terminales de una RAM se dividen en tres grupos:
- Terminales de dirección
- Indican la localidad sobre la que se quiere operar.
- Terminales de datos
- Presentan del dato de una operación de lectura o proporcionan el dato de una operación de escritura.
- Terminales de control
- Indican a la memoria la operación a realizar (lectura o escritura). También incluyen un terminal que inhibe las salidas forzándolas al tercer estado. En los sistemas electrónicos, las memorias se conectan con un bus de datos, por lo que deben estar dotadas de tercer estado.
Memoria RAM con salidas triestado |
Bloque funcional de una RAM 8x4 |
Memorias RAM volátiles
editarLas memorias volátiles pierden la información cuando no tienen alimentación eléctrica.
Las RAM volátiles se pueden clasificar por el tiempo que permanece la información aunque se mantenga alimentadas eléctricamente en:
- estáticas (SRAM, Static RAM)
- Mantienen la información siempre y cuando estén alimentadas eléctricamente. Funcionalmente las celdas de estas memorias son biestables D.
- dinámicas (DRAM; Dinamic RAM)
- Aunque se mantenga el suministro eléctrio pierden la información, por lo que se reescriben constantemente (refresco). Las celdas son condensadores MOS.
Otro criterio clasificatorio es por la simultaneidad de las operaciones de lectura y escritura (L/E):
- L/E no simultáneas
- En un determinado instante sólo se pueden leer o escribir. Disponen de los siguientes terminales de control:
- Chip enable (CE o CS): inhibe (0) o habilita (1) la memoria
- Out Enable (OE): inhibe (0) las salidas al tercer estado o las habilita (1) si CE=1
- Write Enable (WE): inhibe (0) o habilita (1) la escritura si CE=1 y OE=0
- L/E simultáneas
- Se puede leer en una localidad y simultáneamente escribir en otra. La memoria debe disponer de terminales independientes de dirección de escritura, dirección de lectura, líneas de entrada (escritura) y líneas de salida (lectura).
Memorias ROM no volátiles
editarMemorias no volátiles son las que conservan la información aún sin energía eléctrica. Se aplican en aquellos casos en que la información no va a cambiar con seguridad o cambia en muy pocas ocasiones. Se usan para:
- Generación o simulación de funciones lógicas. Cuando el número de variables de las funciones y el número de funciones de una multifunción es muy elevado, se programa la tabla de verdad de la multifunción en una ROM (memoria de sólo lectura).
- Memoria de un programa no modificable al que se denomina firmware en contraposición al software, que sí es modificable.
Existen varios tipos de memorias no volátiles:
- Memoria de sólo lectura (ROM totalmente pasiva, MROM)
- Las programa el fabricante a través de un negativo fotográfico llamado máscara, de ahí la M de MROM. Cada celda de una MROM es un semiconductor, y su presencia o ausencia determina si hay un 1 o un 0.
- Memoria ROM programable (PROM)
- Pueden ser programadas por el usuario una sola vez a través de un equipo especial. Una vez programada sólo se puede leer y no se puede volver a programar; la escritura es destructiva.
- Memorias ROM reprogramables. Pueden ser:
-
- Memoria ROM programable y borrable (EPROM)
- Es una memoria CMOS, es decir, las celdas son transistores MOS. El proceso de grabación requiere un equipo especial que para grabar un uno produce una concentración de carga en una zona de la EPROM, elevando el nivel de alimentación. Para el borrado se utiliza un equipo distinto que somete al chip a una radiación ultravioleta que dispersa la carga en los '1'.
- Memoria ROM programable y borrable eléctricamente (EEPROM)
- Se pueden programar y borrar eléctricamente sin necesidad de un equipo especial. Además el borrado puede ser discriminado, mientras que el proceso de borrado de las EPROM es indiscriminado.
- Memorias de lectura/escritura no volátiles (NVRAM)
- No pierden la información al desconectar la alimentación. Para obtener una NVRAM existen dos procedimientos:
- Utilizar una batería. La RAM es de tipo CMOS para prolongar la vida de la batería. En ocasiones, las baterías van encapsuladas en el mismo chip.
- Usar un chip NVRAM: contiene una RAM más una EEPROM, tal que cada cenda de la EEPROM respalda a una celda RAM, y entre ellas la trasferencia es bidireccional. Durante el funcionamiento normal, la NVRAM es una RAM. Cuando se desconecta la alimentación, la información permanece en la EEPROM; cuando se conecta, la RAM recupera la información de la EEPROM.
Memorias de acceso secuencial
editarOrganización de las SAM
editarOrganización en serie
editarTodas las celdas están en serie. La memoria está formada por un conjunto de localidades cuyas celdas están conectadas en serie, y a su vez, la última celda de una localidad se conecta con la primera celda de la siguiente localidad. El esquema siguiente muestra una SAM organizada en serie de m×n bits (m localidades de n bits cada una).
Una SAM serie puede implementarse usando registros de desplazamiento. La figura siguiente muestra el esquema general de una SAM serie de m×n bits realizada con registros de desplazamiento:
Organización en paralelo
editarLas celdas de cada localidad son independientes entre sí. Las localidades se conectan en serie conectando en serie las celdas del mismo peso o índice, conservando el paralelismo entre las de distinto peso. El esquema siguiente muestra una SAM organizada en paralelo de m×n bits (m localidades de n bits cada una).
El diagrama siguiente representa de forma simplificada el esquema anterior:
Una SAM paralelo puede implementarse utilizando registros con entradas y salidas en paralelo. La figura siguiente muestra el esquema general de una SAM paralelo de m×n bits realizada con registros de desplazamiento:
Memoria FIFO (fila/cola)
editarEl primer dato que entra en la memoria (en ser escrito) es el primero en salir (en ser leído). Los terminales de entrada de la fila se corresponden con los de la primera posición de la memoria SAM. Los terminales de salida de la fila se corresponden con los de la última localidad de la memoria SAM. La operación de lectura es destructiva: al leer un dato desaparece de la memoria.
Memoria LIFO (pila)
editarEl último dato que ha sido escrito es el primero en salir de la memoria. Los terminales de entrada y de salida de la memoria LIFO se corresponden con los de la primera posición de la memoria SAM. La operación de lectura es destructiva: al leer un dato desaparece de la memoria.