MEMORIAS
Contenido
MEMORIAS
Las computadoras y otros tipos de sistemas requieren el almacenamiento permanente o semipermanente de un gran número de datos binarios. Los sistemas basados en microprocesadores necesitan de la memoria para almacenar los programas y datos generados durante el procesamiento y disponer de ellos cuando sea necesario. Las memorias son dispositivos de almacenamiento de datos binarios de largo o corto plazo.
Existen tres tipos principales de memoria:
a) Memorias semiconductoras
b) Memorias magnéticas
c) Memorias ópticas
MEMORIAS SEMICONDUCTORAS
Las memorias semiconductoras están formadas por matrices de elementos de almacenamiento que pueden ser latches o flip-flops, condensadores, transistores, o cualquier otro elemento de almacenamiento de carga eléctrica.
Unidades de datos binarios.
Como sabemos, la menor unidad de datos binarios es el bit. Las memorias almacenan datos en unidades que tienen de uno a ocho bits dependiendo del fabricante. Una unidad completa de información se denomina word o palabra y esta formada generalmente por uno o más bytes. Las palabras también pueden estar constituidas por grupos de menos de ocho bits.
Organización de la memoria semiconductora.
Básicamente las memorias semiconductoras están formadas por matrices de celdas; en la cuál cada celda está constituida por un elemento de almacenamiento (latch o flip-flops, condensador etc.) que puede almacenar un 1 o un 0 (señal alta o señal baja). Véase la figura de abajo, se utilizan 64 celdas a modo de ejemplo pudiendo ser más. Cada bloque de la matriz de memoria representa una celda de almacenamiento y su ubicación se puede determinar mediante una fila y una columna.
La figura (a) es una matriz de 8 filas por 8 columnas, que se puede entender como una memoria de 64 bits o como una memoria de 8 bytes. La figura (b) es una matriz 32x4 que es una memoria de 128 bits o memoria de 16 bytes. La figura (c) es una matriz 32x1 que es una memoria de 32 bits. La memoria se identifica mediante el número de palabras que puede almacenar, multiplicado por el tamaño de la palabra. Por ejemplo, una memoria de 32 k b x 8 puede almacenar 32.768 palabras de 8 bits cada uno.
Dirección y capacidad de las memorias.
La ubicación de una unidad de datos en una matriz de memoria se denomina dirección. La dirección de una unidad de datos se especifica mediante la fila y la columna que ocupa. Véase las figuras de abajo:
En la figura (a), la dirección de un bit en la matriz corresponde a la fila 4, columna 5. En la figura (b) obsérvese que hay ocho bits o 1 byte en la matriz. La dirección de un byte se especifica únicamente mediante la fila que ocupa; en este caso corresponde a la fila 4. Como puede ver, la dirección depende de cómo se organice la memoria en unidades de datos (en bit, en byte etc.).
La capacidad de una memoria es el número total de unidades de datos que puede almacenar. Por ejemplo en la matriz organizada en bits de la figura (a), la capacidad total es 64 bits. En la matriz de memoria organizada en byte de la figura (b) la capacidad es de 8 bytes.
Operaciones básicas de las memorias.
Como ya sabemos una memoria almacena datos binarios (1 o 0), los datos deben introducirse en la memoria y deben poder recurperarse cuando sea necesario. La operación de escritura coloca los datos en una posición específica de la memoria y la operación de lectura extrae los datos de una dirección específica de memoria. La operación de direccionamiento, que forma parte tanto de la operación de lectura como de la escritura, selecciona la dirección de memoria a la que se quiere acceder. Los datos se introducen y se extraen de la memoria durante las operaciones de escritura y lectura respectivamente a través de un conjunto de líneas que se denominan bus de datos. De lo anterior se deduce que el bus de datos es bi-direccional, lo que significa que los datos pueden ir en cualquiera de las dos direcciones, es decir, hacia la memoria o desde la memoria. En el caso de una memoria organizada en byte, el bus de datos debe poseer ocho líneas de manera que los ocho bits de un byte de datos seleccionados se transmitan en paralelo.
Antes de las operaciones de lectura y escritura, se tiene que seleccionar una dirección introduciendo un código binario, que representa la dirección deseada (fila y columna), en un conjunto de líneas denominadas bus de direcciones. El código de dirección se decodifica mediante el decodificador de direcciones y de esa manera se selecciona la dirección especificada. El bus de direcciones es unidireccional, es decir, tiene un sólo sentido que es hacia la memoria. El número de líneas del bus de direcciones depende de la capacidad de memoria. Por ejemplo, un código de dirección de 8 bits puede seleccionar (28)=256 posiciones o direcciones de memoria; un código de dirección de 16 bits puede seleccionar (216)= 65536 direcciones de memoria, etc.
OPERACION DE ESCRITURA
En la figura de abajo se muestra el funcionamiento básico de la operación de escritura. Por ejemplo para almacenar un byte de datos en memoria, se introduce en el bus de direcciones un código de dirección, que se encuentra almacenado en el registro de direcciones. Cuando el código de dirección está ya en el bus, el decodificador de direcciones decodifica la dirección y selecciona la posición de memoria a la que se quiere acceder. La memoria recibe entonces una orden de escritura y los datos almacenados en el registro de datos se introducen en el bus de datos, y se almacenan en la dirección de memoria especificada. La escritura es destructiva, es decir; si se escribe un nuevo byte de datos en una dirección de memoria, se destruye el byte de datos que se encontraba almacenado en esa dirección.
OPERACION DE LECTURA
En la figura de abajo se muestra el funcionamiento básico de la operación de lectura. Por ejemplo para leer un byte de datos de memoria, se introduce en el bus de direcciones un código de dirección, que se encuentra almacenado en el registro de direcciones. Cuando el código de dirección está ya en el bus, decodificador de direcciones decodifica la dirección y selecciona la posición especificada. La memoria recibe entonces una orden de lectura y una "copia" de byte de datos, almacenado en la dirección especificada, se introduce en el bus de datos y se carga en el registro de datos, finalizando así la operación de lectura. La lectura no es destructiva, es decir; si se lee un byte de datos de una dirección de memoria, este sigue almacenado en dicha dirección y su contenido no se ve afectado.
RAMs Y ROMs
Las dos principales categorías de memorias semiconductoras son las memorias ROM y RAM.
La memoria RAM (Random-Access Memory, memoria de acceso aleatorio) es un tipo de memoria de acceso directo; es decir; el tiempo que se tarda en acceder a cualquier dirección de memoria es la misma y estas se pueden seleccionar en cualquier orden, tanto en una operación de escritura como de lectura. Todas las RAMs poseen la capacidad de lectura y escritura. Debido a que las memorias RAM pierden los datos almacenados cuando se desconecta la alimentación, reciben el nombre de memorias volátiles.
La memoria ROM (Read-Only Memory, memoria de solo lectura) es un tipo de memoria en la que los datos se almacenan de forma permanente o semipermanente. Los datos se pueden leer de una ROM, pero no existe la operación de escritura como en las RAMs. Debido a que las ROMS mantienen los datos almacenados incluso cuando se desconecta la alimentación, reciben el nombre de memorias no volátiles.
MEMORIAS DE SOLO LECTURA (ROMs)
Coma ya habíamos dicho anteriormente, una ROM mantiene de forma permanente o semipermanente los datos almacenados en él, que pueden ser leídos pero no se pueden cambiar en absoluto, o se requiere un equipo especial para ello. Una ROM almacena datos que se utilizan repetidamente en las aplicaciones, tales como tablas, instrucciones programadas para la inicialización y el funcionamiento de un sistema.
La familia de las memorias ROM
ROM de máscara.
La ROM de máscara, denominada sencillamente ROM. Es una memoria programada de forma permanente durante el proceso de fabricación para proporcionar funciones estándar de uso extendido, tales como conversiones populares o para proporcionar funciones especificadas por el usuario. Una vez que la memoria se programa, su contenido no puede cambiarse. La mayoría de los Circuitos Integrados ROM utilizan la presencia o ausencia de un transistor en una unión fila/columna para representar un 1 o un 0.
Tiempo de acceso de la ROM.
El tiempo de acceso a la ROM, es el tiempo que transcurre desde que se aplica un código de dirección válido en las líneas de entrada hasta que los datos validos aparezcan en las líneas de salida.
Las memorias ROM en las computadoras.
Las ROM se utilizan en los ordenadores personales IBM, por ejemplo, para almacenar lo que se conoce como BIOS (Basic Input/Output Services, Servicios Básicos de entrada/salida). Estos son programas que se utilizan para realizar tareas fundamentales de control y soporte en las computadoras como por ejemplo controlar ciertas funciones del monitor de vídeo, permitir el formateo de los discos, explorar si se ha pulsado el teclado, controlar ciertas funciones de impresión, permitir pasar el control al sistema operativo etc. Otro uso de las ROMs en las computadoras es el almacenamiento de los programas en lenguajes interpretes, como el BASIC.
ROMs PROGRAMABLES (PROMs Y EPROMs).
Las PROMs son básicamente iguales que las ROMs de mascara, una vez que han sido programadas. La diferencia consiste en que las PROMs salen de fábrica sin estar programadas y las programa el usuario a medida, de acuerdo a sus necesidades.
Programación de PROMs.
Normalmente, una PROM se programa insertándola en un dispositivo especial denominado programador de PROMs, que es controlado por software.
EPROMs.
Una EPROM es una PROM borrable. A diferencia de una PROM ordinaria, una EPROM puede ser reprogramada si antes se borra el programa existente en la matriz de memoria. Los dos tipos fundamentales de EPROMs son las PROMs borrables por rayos ultravioletas (UV EPROM) y las PROMs borrables eléctricamente (EEPROM).
UV EPROMs.
Una UV EPROM se puede reconocer por la ventana de cuarzo transparente de su encapsulado. El borrado se realiza mediante la exposición del chip de la matriz de memoria a una radiación ultravioleta de alta intensidad, a través de la ventana de cuarzo en la parte superior del encapsulado, en un periodo de tiempo de entre unos minutos y una hora de exposición.
EEPROMs.
Las PROMs borrables eléctricamente se pueden borrar y programar mediante impulsos electricos. La ventaja de las EEPROMs es que se pueden reprogramar dentro del propio circuito final, sin tener que sacarlo del mismo. Esto permite reconfigurar cualquier sistema fácil y rapidamente.
MEMORIAS DE LECTURA/ESCRITURA DE ACCESO ALEATORIO (RAMs).
Como ya habíamos dicho anteriormente, en una memoria RAM los datos se pueden leer y escribir rápidamente en cualquier dirección especificada y en cualquier orden. También dijimos que la operación de escritura es destructiva, y la operación de lectura es no destructiva. Esta operación no destructiva de lectura se puede entender como una copia del contenido de una dirección, dejando intacto dicho contenido. La RAM se utiliza para almacenamiento de datos a corto plazo, ya que no puede retener los datos cuando se desconecta la alimentación.
La familia de las memorias RAMs.
Los dos principales tipos de memoria RAM son las RAMs estáticas (SRAM,Static RAM) y las RAMs dinámicas (DRAM,Dinamic RAM).
Memorias SRAM.
Denominadas así porque utilizan elementos de almacenamiento tales como latches, para datos, que pueden almacenarse durante un periodo de tiempo indefinido mientras que esté conectada la alimentación o que se escriba un nuevo bit de datos. La SRAM es una memoria volátil.
Memorias DRAM
Una memoria RAM dinámica (DRAM) es aquella en la que los datos se almacenan en condensadores, que requieren recargarse (refrescarse) periódicamente para mantener el dato. La ventaja de este tipo de celda es que es muy sencilla, lo que permite construir matrices de memorias muy grandes en un chip, a un coste por bit más bajo que el de las memorias estáticas. La desventaja es que el condensador de almacenamiento no puede mantenerse cargado más que un periodo de tiempo, y el dato almacenado se pierde si su carga no se refresca periódicamente. La operación de refresco requiere circuiteria de memoria adicional y complica el funcionamiento de la DRAM. Por ejemplo cuando se quiere acceder a una dirección de memoria cuando se está ejecutando la operación de refresco; primero hay que esperar que éste termine para poder acceder a la dirección deseada.
Ciclos de refrescos de una DRAM
Como ya sabemos, las DRAMs se basan en el almacenamiento de carga en un condensador para cada bit de memoria de la matriz. Esta carga se degrada o se pierde con el tiempo y la temperatura; por lo que cada bit se debe refrescar (recargar) periódicamente para mantener el estado correcto de bit. Generalmente, una DRAM se debe refrescar cada 8 ms o 16 ms, aunque en algunos dispositivos puede exceder 100 ms. Una operación de lectura refresca automáticamente todas las direcciones de la fila seleccionada. Sin embargo, no siempre se puede predecir cuán a menudo se producirá un ciclo de lectura y, por lo tanto no se puede depender de que un ciclo de lectura se efectúe constantemente para mantener los datos.
MEMORIAS FLASH
Las memorias FLASH son memorias de lectura/escritura de alta densidad (gran capacidad de almacenamiento de bits) que son no volátiles, lo que significa que los datos se pueden guardar indefinidamente sin necesidad de alimentación. Alta densidad significa que se pueden empaquetar en una pequeña superficie del chip, gran cantidad de celdas, lo que implica que cuanto mayor sea la densidad, más bits se pueden almacenar en un chip de tamaño determinado. La memoria FLASH es la memoria ideal porque posee una capacidad de almacenamiento alta, es no volátil, tiene capacidad de lectura y escritura, rapidez de operación comparativamente alta, buena relación calidad-precio. Las tecnologías tradicionales de memoria como la ROM, PROM, EPROM, EEPROM, SRAM, DRAM, poseen una o más características pero ninguna de ellas tiene todas, excepto las memorias FLASH.
Actualmente se utilizan en la fabricacion de BIOS para computadoras, generalmente conocidos como FLASH BIOS. La ventaja de esta tecnología es que permite actualizar el BIOS con un software proporcionado por el fabricante, sin necesidad de desmontar el chip del circuito final, ni usar aparatos especiales.
Usted
es el visitante N°: |
Ultima revisión: 18 de septiembre de 1999
© 1999 Cergio Aquino