Fundamentos de la Memoria en Sistemas Digitales: RAM, ROM y Arquitectura
Clasificado en Informática
Escrito el en
español con un tamaño de 6,14 KB
Pila de Memoria (Stack)
La pila de memoria (o stack) es una región que almacena el programa de arranque, tablas de datos, direcciones y datos temporales que la CPU necesita para ejecutar ciertas instrucciones.
Clasificación de Memorias Integradas
Las memorias integradas son componentes fundamentales en cualquier sistema digital. Se clasifican principalmente en dos grandes grupos según su volatilidad.
Memorias RAM (Random Access Memory)
Son memorias volátiles, lo que significa que pierden la información si se interrumpe la alimentación eléctrica. Permiten operaciones tanto de lectura como de escritura de forma rápida.
Memorias ROM (Read-Only Memory)
Son memorias no volátiles, por lo que no pierden los datos al cortar la alimentación. Generalmente, solo permiten la lectura de datos, aunque existen variantes que pueden ser reprogramadas.
Tipos de Memorias ROM
- ROM (Read-Only Memory): Los datos se graban de forma permanente durante su fabricación.
- PROM (Programmable Read-Only Memory): Pueden ser programadas por el usuario una única vez mediante un dispositivo especial.
- EPROM (Erasable Programmable Read-Only Memory): Similares a las PROM, pero su contenido puede ser borrado (generalmente con luz ultravioleta) y reprogramado varias veces.
- EEPROM (Electrically Erasable Programmable Read-Only Memory): Permiten que su contenido sea leído y modificado eléctricamente sin necesidad de un dispositivo externo y sin perder la información al cortar la alimentación.
Características de la Memoria
Capacidad
Se refiere a la cantidad total de información que se puede almacenar en una memoria. La unidad básica es el byte, que equivale a 8 bits. Sus múltiplos más comunes son:
- Kilobyte (KB): Equivale a 210 bytes (1,024 bytes).
- Megabyte (MB): Equivale a 220 bytes (1,048,576 bytes).
- Gigabyte (GB): Equivale a 230 bytes (1,073,741,824 bytes).
Modo de Acceso
Define el método que se emplea para acceder a la información almacenada. Los más importantes son:
- Acceso Aleatorio: Permite acceder a cualquier posición de memoria directamente, sin pasar por las anteriores. El tiempo de acceso es constante para cualquier posición.
- Acceso Secuencial: Para acceder a una posición, es necesario recorrer todas las posiciones previas desde el inicio.
- Acceso Cíclico: Es una combinación de los dos anteriores, común en dispositivos de almacenamiento magnético como los discos duros.
Estructura de un Circuito Integrado de Memoria
Un chip de memoria se comunica con la CPU y otros componentes a través de un conjunto de pines o patillas con funciones específicas.
Pines de un Circuito Integrado
- Alimentación (VCC y GND): Proporcionan la tensión necesaria para el funcionamiento del chip (ej. 5V o 3.3V).
- Bus de Direcciones (A0, A1... An): Es un bus unidireccional. La CPU lo utiliza para especificar la dirección de la celda de memoria a la que desea acceder.
- Bus de Datos (D0, D1... Dn): Es un bus bidireccional. En operaciones de lectura, se comporta como una salida (la memoria envía datos a la CPU). En operaciones de escritura, se comporta como una entrada (la CPU envía datos a la memoria).
- Señal de Lectura/Escritura (R/W): Indica la operación a realizar. Típicamente, un nivel alto (1) indica lectura (Read) y un nivel bajo (0) indica escritura (Write).
- Selección de Chip (CS - Chip Select): Activa o desactiva el circuito integrado. Cuando está activo, el chip responde a las señales en los buses. Si no está activo, los buffers de datos se ponen en alta impedancia, permitiendo que otros dispositivos usen el bus.
Procesos de Acceso a la Memoria
Proceso de Lectura
- La CPU coloca la dirección de la celda que quiere leer en el bus de direcciones.
- La CPU activa la entrada de Selección de Chip (CS) de la memoria correspondiente.
- La CPU pone la línea R/W en estado de lectura (nivel alto, 1).
- La memoria deposita el dato de la dirección seleccionada en el bus de datos, y la CPU lo recoge.
Proceso de Escritura
- La CPU coloca la dirección de la celda donde quiere escribir en el bus de direcciones.
- La CPU activa la entrada de Selección de Chip (CS).
- La CPU pone la línea R/W en estado de escritura (nivel bajo, 0).
- La CPU coloca el dato que se va a escribir en el bus de datos. La memoria lo almacena en la dirección indicada. Este proceso está controlado por tiempos específicos, como el tiempo de escritura y el tiempo de mantenimiento del dato.
Mapa de Memoria
Es la representación gráfica de todo el rango de direcciones que un microprocesador puede gestionar. Existen dos tipos principales:
Tipos de Mapas de Memoria
- Mapa de Memoria Funcional: Indica el uso que el sistema asigna a cada rango de direcciones de memoria (ej. RAM, ROM, periféricos).
- Mapa de Memoria Físico: Muestra la correspondencia entre cada dirección lógica y el chip (o "pastilla") físico que la contiene.
Implementación de un Mapa de Memoria
Para implementar un mapa de memoria, se diseña un circuito combinacional, llamado lógica de selección, que sirve para que la CPU active en cada momento los pines de selección (CS) del chip o tarjeta de memoria correctos. Esto se puede realizar con:
- Mapas implementados con decodificadores.
- Mapas implementados con chips de puertas lógicas.